summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2013-08-08 08:42:40 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2013-08-08 08:42:40 +0400
commit628fdc567a63c5cc6959ca5a4e09eb9b1d3e6092 (patch)
tree607fa20231b352548121bc23f852936885211cd7
parentbd0c3c0b12b33988cf649f09d861b359387726cb (diff)
downloademacs-628fdc567a63c5cc6959ca5a4e09eb9b1d3e6092.tar.gz
Do not reset window modification event counters excessively.
These leftovers and poor man's tricky methods to catch extra redisplay's attention are no longer needed. * frame.c (set_menu_bar_lines_1): * minibuf.c (read_minibuf_unwind): * window.c (Fset_window_start, set_window_buffer, window_resize_apply) (grow_mini_window, shrink_mini_window, window_scroll_pixel_based) (window_scroll_line_based, Fset_window_configuration): * xdisp.c (redisplay_window): Do not reset last_modified and last_overlay_modified counters.
-rw-r--r--src/ChangeLog13
-rw-r--r--src/frame.c1
-rw-r--r--src/minibuf.c4
-rw-r--r--src/window.c27
-rw-r--r--src/xdisp.c5
5 files changed, 17 insertions, 33 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ead50fa0517..6cb69f776f1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,16 @@
+2013-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not reset window modification event counters excessively.
+ These leftovers and poor man's tricky methods to catch extra
+ redisplay's attention are no longer needed.
+ * frame.c (set_menu_bar_lines_1):
+ * minibuf.c (read_minibuf_unwind):
+ * window.c (Fset_window_start, set_window_buffer, window_resize_apply)
+ (grow_mini_window, shrink_mini_window, window_scroll_pixel_based)
+ (window_scroll_line_based, Fset_window_configuration):
+ * xdisp.c (redisplay_window): Do not reset last_modified and
+ last_overlay_modified counters.
+
2013-08-07 Jan Djärv <jan.h.d@swipnet.se>
* xselect.c (x_send_client_event): Set send_event and serial, memset
diff --git a/src/frame.c b/src/frame.c
index 813c97ffe3e..853ec441343 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -185,7 +185,6 @@ set_menu_bar_lines_1 (Lisp_Object window, int n)
{
struct window *w = XWINDOW (window);
- w->last_modified = 0;
w->top_line += n;
w->total_lines -= n;
diff --git a/src/minibuf.c b/src/minibuf.c
index b3648b8c1ae..7403fc6c32d 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -870,10 +870,8 @@ read_minibuf_unwind (void)
if (minibuf_level == 0)
resize_mini_window (XWINDOW (window), 0);
- /* Make sure minibuffer window is erased, not ignored. */
+ /* Enforce full redisplay. FIXME: make it more selective. */
windows_or_buffers_changed++;
- XWINDOW (window)->last_modified = 0;
- XWINDOW (window)->last_overlay_modified = 0;
/* In case the previous minibuffer displayed in this miniwindow is
dead, we may keep displaying this buffer (tho it's inactive), so reset it,
diff --git a/src/window.c b/src/window.c
index 118c5852275..8a514d64954 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1614,9 +1614,8 @@ overriding motion of point in order to display at this exact start. */)
if (NILP (noforce))
w->force_start = 1;
w->update_mode_line = 1;
- w->last_modified = 0;
- w->last_overlay_modified = 0;
if (!EQ (window, selected_window))
+ /* Enforce full redisplay. FIXME: make it more selective. */
windows_or_buffers_changed++;
return pos;
@@ -3215,8 +3214,6 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer,
buffer);
w->start_at_line_beg = 0;
w->force_start = 0;
- w->last_modified = 0;
- w->last_overlay_modified = 0;
}
/* Maybe we could move this into the `if' but it's not obviously safe and
I doubt it's worth the trouble. */
@@ -3677,10 +3674,6 @@ window_resize_apply (struct window *w, bool horflag)
c = NILP (c->next) ? 0 : XWINDOW (c->next);
}
}
-
- /* Clear out some redisplay caches. */
- w->last_modified = 0;
- w->last_overlay_modified = 0;
}
@@ -4199,9 +4192,7 @@ grow_mini_window (struct window *w, int delta)
/* Grow the mini-window. */
w->top_line = r->top_line + r->total_lines;
w->total_lines -= XINT (value);
- w->last_modified = 0;
- w->last_overlay_modified = 0;
-
+ /* Enforce full redisplay. FIXME: make it more selective. */
windows_or_buffers_changed++;
adjust_glyphs (f);
unblock_input ();
@@ -4235,10 +4226,7 @@ shrink_mini_window (struct window *w)
/* Shrink the mini-window. */
w->top_line = r->top_line + r->total_lines;
w->total_lines = 1;
-
- w->last_modified = 0;
- w->last_overlay_modified = 0;
-
+ /* Enforce full redisplay. FIXME: make it more selective. */
windows_or_buffers_changed++;
adjust_glyphs (f);
unblock_input ();
@@ -4464,8 +4452,6 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, int noerror)
w->contents);
w->start_at_line_beg = 1;
w->update_mode_line = 1;
- w->last_modified = 0;
- w->last_overlay_modified = 0;
/* Set force_start so that redisplay_window will run the
window-scroll-functions. */
w->force_start = 1;
@@ -4610,8 +4596,6 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, int noerror)
bytepos = marker_byte_position (w->start);
w->start_at_line_beg = (pos == BEGV || FETCH_BYTE (bytepos - 1) == '\n');
w->update_mode_line = 1;
- w->last_modified = 0;
- w->last_overlay_modified = 0;
/* Set force_start so that redisplay_window will run the
window-scroll-functions. */
w->force_start = 1;
@@ -4810,8 +4794,6 @@ window_scroll_line_based (Lisp_Object window, int n, bool whole, int noerror)
set_marker_restricted_both (w->start, w->contents, pos, pos_byte);
w->start_at_line_beg = !NILP (bolp);
w->update_mode_line = 1;
- w->last_modified = 0;
- w->last_overlay_modified = 0;
/* Set force_start so that redisplay_window will run
the window-scroll-functions. */
w->force_start = 1;
@@ -5743,9 +5725,6 @@ the return value is nil. Otherwise the value is t. */)
}
}
- w->last_modified = 0;
- w->last_overlay_modified = 0;
-
if (BUFFERP (p->buffer) && BUFFER_LIVE_P (XBUFFER (p->buffer)))
/* If saved buffer is alive, install it. */
{
diff --git a/src/xdisp.c b/src/xdisp.c
index 102eafbba49..d2dae3406d1 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15555,8 +15555,6 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
startp = run_window_scroll_functions (window, startp);
}
- w->last_modified = 0;
- w->last_overlay_modified = 0;
if (CHARPOS (startp) < BEGV)
SET_TEXT_POS (startp, BEGV, BEGV_BYTE);
else if (CHARPOS (startp) > ZV)
@@ -15802,9 +15800,6 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
try_to_scroll:
- w->last_modified = 0;
- w->last_overlay_modified = 0;
-
/* Redisplay the mode line. Select the buffer properly for that. */
if (!update_mode_line)
{