Subject: bug#29002: it.first_visible_x is erroneously 0 while horizontal scrolling.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Nov 2017 12:44:39 +0200

On November 5, 2017 11:15:41 AM GMT+02:00, Keith David Bershatsky <[email-masked]> wrote:
> The new fix relating to #29002 has an unintended side-effect of
> causing a full redisplay too often, e.g., when using isearch.
> 
> I am uncertain why the current Emacs design sets
> w->suspend_auto_hscroll to *true* every command loop, but that is what
> causes the new condition to force a thorough redisplay much more often
> than is actually needed.
> 
> 
> 	  /* If the position of this window's point has explicitly
> 	     changed, no more suspend auto hscrolling.  */
> 	  if (w->suspend_auto_hscroll
> 	      && NILP (Fequal (Fwindow_point (window),
> 			       Fwindow_old_point (window))))
> 	    {
> 
> AUTO_STRING (my_string_one, "Hello world!");
> CALLN (Fmessage, my_string_one);
> 
> 	      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));
> 	    }

Please describe a recipe where you see suspend_auto_hscroll being
set true every command loop.