emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 040dcbe: Fix current-line hscrolling when overlays change


From: Eli Zaretskii
Subject: emacs-27 040dcbe: Fix current-line hscrolling when overlays change
Date: Thu, 8 Oct 2020 07:48:28 -0400 (EDT)

branch: emacs-27
commit 040dcbe53e39a83fde9cbd09e47b6cfe575d2d52
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix current-line hscrolling when overlays change
    
    * src/xdisp.c (redisplay_internal): Disable "optimization 1" when
    auto-hscrolling current line and we're redisplaying the selected
    window.  (Bug#43835)
---
 src/xdisp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index 05f69b0..6c401d0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15581,7 +15581,12 @@ redisplay_internal (void)
              && CHARPOS (this_line_end_pos) == CHARPOS (tlendpos)
               /* Line has same height as before.  Otherwise other lines
                  would have to be shifted up or down.  */
-             && this_line_pixel_height == line_height_before)
+             && this_line_pixel_height == line_height_before
+             /* Cannot use this optimization if hscrolling current
+                line and this line is the current one, because
+                display_line above is not informed about the
+                current-line's vpos, and cannot DTRT in that case.  */
+             && !hscrolling_current_line_p (w))
            {
              /* If this is not the window's last line, we must adjust
                 the charstarts of the lines below.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]