From d9be8704ae905e510cc4b657d267770deb816873 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 4 Nov 2017 11:30:10 +0200 Subject: [PATCH] Fix hscroll suspension after cursor motion * 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 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index dc23959aadb..b8bb6ba8dfc 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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, -- 2.39.2