aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-05-24 00:43:27 +0000
committerKarl Heuer1995-05-24 00:43:27 +0000
commitc7aa5005849af7f5887b489ad899f6fa1152c6d2 (patch)
treebb4e4a46098626b90392ef80d291c8164bd147be /src
parentf72df6ac010c0c725d76e8592f135edf6ad8fedd (diff)
downloademacs-c7aa5005849af7f5887b489ad899f6fa1152c6d2.tar.gz
emacs-c7aa5005849af7f5887b489ad899f6fa1152c6d2.zip
(set_buffer_internal_1): New subroutine.
(Fmove_overlay): Don't set windows_or_buffers_changed.
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c23
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;
100 100
101Lisp_Object Fset_buffer (); 101Lisp_Object Fset_buffer ();
102void set_buffer_internal (); 102void set_buffer_internal ();
103void set_buffer_internal_1 ();
103static void call_overlay_mod_hooks (); 104static void call_overlay_mod_hooks ();
104static void swap_out_buffer_local_variables (); 105static void swap_out_buffer_local_variables ();
105 106
@@ -1181,7 +1182,7 @@ DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0,
1181 return buf; 1182 return buf;
1182} 1183}
1183 1184
1184/* Set the current buffer to b */ 1185/* Set the current buffer to B. */
1185 1186
1186void 1187void
1187set_buffer_internal (b) 1188set_buffer_internal (b)
@@ -1195,6 +1196,23 @@ set_buffer_internal (b)
1195 return; 1196 return;
1196 1197
1197 windows_or_buffers_changed = 1; 1198 windows_or_buffers_changed = 1;
1199 set_buffer_internal_1 (b);
1200}
1201
1202/* Set the current buffer to B, and do not set windows_or_buffers_changed.
1203 This is used by redisplay. */
1204
1205void
1206set_buffer_internal_1 (b)
1207 register struct buffer *b;
1208{
1209 register struct buffer *old_buf;
1210 register Lisp_Object tail, valcontents;
1211 Lisp_Object tem;
1212
1213 if (current_buffer == b)
1214 return;
1215
1198 old_buf = current_buffer; 1216 old_buf = current_buffer;
1199 current_buffer = b; 1217 current_buffer = b;
1200 last_known_column_point = -1; /* invalidate indentation cache */ 1218 last_known_column_point = -1; /* invalidate indentation cache */
@@ -2429,9 +2447,6 @@ buffer.")
2429 2447
2430 /* Redisplay where the overlay is going to be. */ 2448 /* Redisplay where the overlay is going to be. */
2431 redisplay_region (b, XINT (beg), XINT (end)); 2449 redisplay_region (b, XINT (beg), XINT (end));
2432
2433 /* Don't limit redisplay to the selected window. */
2434 windows_or_buffers_changed = 1;
2435 } 2450 }
2436 else 2451 else
2437 /* Redisplay the area the overlay has just left, or just enclosed. */ 2452 /* Redisplay the area the overlay has just left, or just enclosed. */