]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix current-line hscrolling when overlays change
authorEli Zaretskii <eliz@gnu.org>
Thu, 8 Oct 2020 11:45:16 +0000 (14:45 +0300)
committerEli Zaretskii <eliz@gnu.org>
Thu, 8 Oct 2020 11:45:16 +0000 (14:45 +0300)
* 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

index 05f69b0321fb3719a388229b7d6f6db01597791e..6c401d0abb9579925df214c6ba565e64a957ec0a 100644 (file)
@@ -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.  */