# HG changeset patch # User Karl Heuer # Date 801276207 0 # Node ID 1067ddd12dfca082bb19272eb53f7337a83ffb3e # Parent 23ec1c1938106fc8b75d1f6149847316da54ac01 (set_buffer_internal_1): New subroutine. (Fmove_overlay): Don't set windows_or_buffers_changed. diff -r 23ec1c193810 -r 1067ddd12dfc src/buffer.c --- a/src/buffer.c Wed May 24 00:42:21 1995 +0000 +++ b/src/buffer.c Wed May 24 00:43:27 1995 +0000 @@ -100,6 +100,7 @@ Lisp_Object Fset_buffer (); void set_buffer_internal (); +void set_buffer_internal_1 (); static void call_overlay_mod_hooks (); static void swap_out_buffer_local_variables (); @@ -1181,7 +1182,7 @@ return buf; } -/* Set the current buffer to b */ +/* Set the current buffer to B. */ void set_buffer_internal (b) @@ -1195,6 +1196,23 @@ return; windows_or_buffers_changed = 1; + set_buffer_internal_1 (b); +} + +/* Set the current buffer to B, and do not set windows_or_buffers_changed. + This is used by redisplay. */ + +void +set_buffer_internal_1 (b) + register struct buffer *b; +{ + register struct buffer *old_buf; + register Lisp_Object tail, valcontents; + Lisp_Object tem; + + if (current_buffer == b) + return; + old_buf = current_buffer; current_buffer = b; last_known_column_point = -1; /* invalidate indentation cache */ @@ -2429,9 +2447,6 @@ /* Redisplay where the overlay is going to be. */ redisplay_region (b, XINT (beg), XINT (end)); - - /* Don't limit redisplay to the selected window. */ - windows_or_buffers_changed = 1; } else /* Redisplay the area the overlay has just left, or just enclosed. */