From: Dmitry Antipov Date: Thu, 8 Aug 2013 04:42:40 +0000 (+0400) Subject: Do not reset window modification event counters excessively. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1686^2~370 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=628fdc567a63c5cc6959ca5a4e09eb9b1d3e6092;p=emacs.git 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. --- 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 + + 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 * 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) {