emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-26 5d36f22: Fix last change in hscroll_window_tree


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-26 5d36f22: Fix last change in hscroll_window_tree
Date: Sun, 5 Nov 2017 13:11:26 -0500 (EST)

branch: emacs-26
commit 5d36f2227f1d9eaf6c08b26ad889c3ae343c3580
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Fix last change in hscroll_window_tree
    
    * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
    being disabled, set the frame's garbaged flag less eagerly.
    (Bug#29002)
---
 src/xdisp.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index baf075b..69b74dc 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13179,9 +13179,14 @@ hscroll_window_tree (Lisp_Object window)
                               Fwindow_old_point (window))))
            {
              w->suspend_auto_hscroll = false;
-             /* Force thorough redisplay of this window, to show the
-                effect of disabling hscroll suspension immediately.  */
-             SET_FRAME_GARBAGED (XFRAME (w->frame));
+             /* When hscrolling just the current line, and the rest
+                of lines were temporarily hscrolled, but no longer
+                are, force thorough redisplay of this window, to show
+                the effect of disabling hscroll suspension immediately.  */
+             if (w->min_hscroll == 0 && w->hscroll > 0
+                 && EQ (Fbuffer_local_value (Qauto_hscroll_mode, w->contents),
+                        Qcurrent_line))
+               SET_FRAME_GARBAGED (XFRAME (w->frame));
            }
 
          /* Remember window point.  */



reply via email to

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