]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge branch 'feature/long-lines-and-font-locking'
authorGregory Heytings <gregory@heytings.org>
Fri, 29 Jul 2022 08:22:03 +0000 (10:22 +0200)
committerGregory Heytings <gregory@heytings.org>
Fri, 29 Jul 2022 08:22:03 +0000 (10:22 +0200)
1  2 
doc/lispref/display.texi
etc/NEWS
src/process.c
src/xdisp.c

Simple merge
diff --cc etc/NEWS
index b6d22fdf2b5199447ff4e0165752576c1937a66e,2d1ca8e98dde4ef32638931bbf57ecd5c5c26792..43f057a407b45a28040f5b0062951494eb5e4fbb
+++ b/etc/NEWS
@@@ -2514,12 -2459,16 +2520,19 @@@ and can be used as a more detailed alte
  ** 'save-some-buffers' can now be extended to save other things.
  Traditionally, 'save-some-buffers' saved buffers, and also saved
  abbrevs.  This has been generalized via the
 -'save-some-buffers-functions', and packages can now register things to
 -be saved.
 +'save-some-buffers-functions' variable, and packages can now register
 +things to be saved.
 +
 +** New function 'string-equal-ignore-case'.
 +This compares strings ignoring case differences.
  
+ +++
+ ** New argument LOCK of 'narrow-to-region'.
+ If 'narrow-to-region' is called from Lisp with the new optional
+ argument LOCK non-nil, then calls to 'widen' and calls to
+ 'narrow-to-region' with the optional argument LOCK nil or omitted do
+ not produce any effect until the end of the current body form.
  ** Themes
  
  ---
diff --cc src/process.c
Simple merge
diff --cc src/xdisp.c
index e998df32a6a52e27b28c717e3aacea43bc289d87,e13d68eab9ded5867eb8a267421a496974574d97..2c889586cd60fa1c4aebf1422a5a15cdd0812b1b
@@@ -18930,14 -19101,12 +19101,15 @@@ set_vertical_scroll_bar (struct window 
          && NILP (echo_area_buffer[0])))
      {
        struct buffer *buf = XBUFFER (w->contents);
 -      ptrdiff_t window_end_pos = w->window_end_pos;
 +
 +      whole = BUF_ZV (buf) - BUF_BEGV (buf);
 +      start = marker_position (w->start) - BUF_BEGV (buf);
 +      end = BUF_Z (buf) - w->window_end_pos - BUF_BEGV (buf);
  
        /* If w->window_end_pos cannot be trusted, recompute it "the
-        hard way".  */
-       if (!MINI_WINDOW_P (w))
+        hard way".  But don't bother to be too accurate when
+        long-line shortcuts are in effect.  */
+       if (!w->window_end_valid && !buf->long_line_optimizations_p)
        {
          struct it it;
          struct text_pos start_pos;