From dca778d53aad12df44dbac8f99c288fa4f9f04b2 Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Mon, 15 Oct 2012 11:03:56 +0200 Subject: [PATCH] Fix Fwindow_end's handling of cached position (Bug#12600). * window.c (Fwindow_end): Rewrite check whether cached position can be used (Bug#12600). (resize_frame_windows, grow_mini_window, shrink_mini_window): Set windows_or_buffers_changed. --- src/ChangeLog | 7 +++++++ src/window.c | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e142cad7bf6..6acc22a1b27 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2012-10-15 Martin Rudalics + + * window.c (Fwindow_end): Rewrite check whether cached position + can be used (Bug#12600). + (resize_frame_windows, grow_mini_window, shrink_mini_window): + Set windows_or_buffers_changed. + 2012-10-15 Daniel Colascione * dbusbind.c: Fix cygw32 build break when compiling with dbus diff --git a/src/window.c b/src/window.c index 61d2a8b073f..b4fee61cac8 100644 --- a/src/window.c +++ b/src/window.c @@ -1464,9 +1464,7 @@ if it isn't already recorded. */) #endif if (! NILP (update) - && ! (! NILP (w->window_end_valid) - && w->last_modified >= BUF_MODIFF (b) - && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b)) + && (windows_or_buffers_changed || NILP (w->window_end_valid)) && !noninteractive) { struct text_pos startp; @@ -3795,6 +3793,8 @@ resize_frame_windows (struct frame *f, int size, int horflag) (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); } } + + windows_or_buffers_changed++; } @@ -4208,6 +4208,7 @@ grow_mini_window (struct window *w, int delta) w->last_modified = 0; w->last_overlay_modified = 0; + windows_or_buffers_changed++; adjust_glyphs (f); unblock_input (); } @@ -4245,6 +4246,7 @@ shrink_mini_window (struct window *w) w->last_modified = 0; w->last_overlay_modified = 0; + windows_or_buffers_changed++; adjust_glyphs (f); unblock_input (); } -- 2.39.2