Subject: Re: bug#18545: 24.4.50: Bug - forward-line inside with-selected-window

From: Stefan Monnier <[email-masked]>
Date: Fri, 26 Sep 2014 08:48:27 -0400

> I'm not sure this is related to this bug.  The problem here was that
> the display engine was not considering for redisplay the window
> showing the *Completions* buffer.  The patch below fixes that.

> === modified file 'src/window.c'
> --- src/window.c	2014-09-11 08:47:34 +0000
> +++ src/window.c	2014-09-26 07:28:02 +0000
> @@ -5897,6 +5897,8 @@ and redisplay normally--don't erase and 
w-> start_at_line_beg = (bytepos == BEGV_BYTE ||
>  			  FETCH_BYTE (bytepos - 1) == '\n');
 
> +  wset_redisplay (w);
> +
>    set_buffer_internal (obuf);
>    return Qnil;
>  }

Hmm... Now that make me wonder:
Why does

 (with-selected-window (get-buffer-window "*Completions*")
   (recenter 5))

require an explicit call to wset_redisplay from recenter, whereas

 (with-selected-window (get-buffer-window "*Completions*")
   (forward-line 1))

doesn't need an explicit call to wset_redisplay (or bset_redisplay) from
forward-line?

        Stefan