summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2012-10-15 11:03:56 +0200
committerMartin Rudalics <rudalics@gmx.at>2012-10-15 11:03:56 +0200
commitdca778d53aad12df44dbac8f99c288fa4f9f04b2 (patch)
tree2f33b5d4c67298a64b319c8ff62a81f11b2f9f35 /src/window.c
parentd18a0d2460cbcf73f9bd136912006fc0c11f55e0 (diff)
downloademacs-dca778d53aad12df44dbac8f99c288fa4f9f04b2.tar.gz
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.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c8
1 files changed, 5 insertions, 3 deletions
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 ();
}