Fix bug #14170 with window-end returning a stale value.
This bug was introduced in 2012-10-15T09:03:56Z!rudalics@gmx.at while solving bug #12600. src/window.c (Fwindow_end): Test more flags, including the buffer's last_overlay_modified flag, to determine whether the window's display is really up-to-date. Prevents the function from returning a stale value. (Fwindow_line_height): Fix the test for up-to-date-ness of the current matrix.
This commit is contained in:
parent
f07accae65
commit
fcc1fe8541
2 changed files with 18 additions and 3 deletions
|
@ -1,3 +1,12 @@
|
|||
2013-04-11 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* window.c (Fwindow_end): Test more flags, including the buffer's
|
||||
last_overlay_modified flag, to determine whether the window's
|
||||
display is really up-to-date. Prevents the function from
|
||||
returning a stale value. (Bug#14170)
|
||||
(Fwindow_line_height): Fix the test for up-to-date-ness of the
|
||||
current matrix.
|
||||
|
||||
2013-04-10 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* frame.c (do_switch_frame): Mark the TTY frame we switch to as
|
||||
|
|
12
src/window.c
12
src/window.c
|
@ -1493,7 +1493,12 @@ if it isn't already recorded. */)
|
|||
b = XBUFFER (buf);
|
||||
|
||||
if (! NILP (update)
|
||||
&& (windows_or_buffers_changed || !w->window_end_valid)
|
||||
&& (windows_or_buffers_changed
|
||||
|| !w->window_end_valid
|
||||
|| b->clip_changed
|
||||
|| b->prevent_redisplay_optimizations_p
|
||||
|| w->last_modified < BUF_MODIFF (b)
|
||||
|| w->last_overlay_modified < BUF_OVERLAY_MODIFF (b))
|
||||
&& !noninteractive)
|
||||
{
|
||||
struct text_pos startp;
|
||||
|
@ -1702,8 +1707,9 @@ Return nil if window display is not up-to-date. In that case, use
|
|||
|
||||
/* Fail if current matrix is not up-to-date. */
|
||||
if (!w->window_end_valid
|
||||
|| current_buffer->clip_changed
|
||||
|| current_buffer->prevent_redisplay_optimizations_p
|
||||
|| windows_or_buffers_changed
|
||||
|| b->clip_changed
|
||||
|| b->prevent_redisplay_optimizations_p
|
||||
|| w->last_modified < BUF_MODIFF (b)
|
||||
|| w->last_overlay_modified < BUF_OVERLAY_MODIFF (b))
|
||||
return Qnil;
|
||||
|
|
Loading…
Add table
Reference in a new issue