Mercurial > emacs
changeset 11889:1067ddd12dfc
(set_buffer_internal_1): New subroutine.
(Fmove_overlay): Don't set windows_or_buffers_changed.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Wed, 24 May 1995 00:43:27 +0000 |
parents | 23ec1c193810 |
children | 543a76aa50b9 |
files | src/buffer.c |
diffstat | 1 files changed, 19 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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. */