]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix hscroll suspension after cursor motion
authorEli Zaretskii <eliz@gnu.org>
Sat, 4 Nov 2017 09:30:10 +0000 (11:30 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 4 Nov 2017 09:30:10 +0000 (11:30 +0200)
* src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
of the window when temporary suspension of hscrolling is
disabled.  (Bug#29002)

src/xdisp.c

index dc23959aadbc8a891cfd60782af0bf284f759e8e..b8bb6ba8dfc76ca87e5e3d3b2c3eae21d7197106 100644 (file)
@@ -13174,8 +13174,15 @@ hscroll_window_tree (Lisp_Object window)
 
          /* If the position of this window's point has explicitly
             changed, no more suspend auto hscrolling.  */
-         if (NILP (Fequal (Fwindow_point (window), Fwindow_old_point (window))))
-           w->suspend_auto_hscroll = false;
+         if (w->suspend_auto_hscroll
+             && NILP (Fequal (Fwindow_point (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));
+           }
 
          /* Remember window point.  */
          Fset_marker (w->old_pointm,