diff options
author | Karl Heuer <kwzh@gnu.org> | 1995-05-24 00:43:27 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1995-05-24 00:43:27 +0000 |
commit | c7aa5005849af7f5887b489ad899f6fa1152c6d2 (patch) | |
tree | bb4e4a46098626b90392ef80d291c8164bd147be /src | |
parent | f72df6ac010c0c725d76e8592f135edf6ad8fedd (diff) | |
download | emacs-c7aa5005849af7f5887b489ad899f6fa1152c6d2.tar.gz |
(set_buffer_internal_1): New subroutine.
(Fmove_overlay): Don't set windows_or_buffers_changed.
Diffstat (limited to 'src')
-rw-r--r-- | src/buffer.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/buffer.c b/src/buffer.c index bad812ba9e5..e743425052f 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -100,6 +100,7 @@ struct buffer buffer_local_types; 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 @@ DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0, return buf; } -/* Set the current buffer to b */ +/* Set the current buffer to B. */ void set_buffer_internal (b) @@ -1195,6 +1196,23 @@ set_buffer_internal (b) 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 @@ buffer.") /* 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. */ |