changeset 8873:b58ea8cae183

(reset_buffer): Don't call reset_buffer_local_variables. (Fget_buffer_create): Call it here. (init_buffer_once): And here.
author Richard M. Stallman <rms@gnu.org>
date Sun, 18 Sep 1994 08:46:34 +0000
parents 0f20e5e19ed6
children 716969785d08
files src/buffer.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/buffer.c	Sun Sep 18 08:45:56 1994 +0000
+++ b/src/buffer.c	Sun Sep 18 08:46:34 1994 +0000
@@ -260,6 +260,7 @@
     b->undo_list = Qt;
 
   reset_buffer (b);
+  reset_buffer_local_variables (b);
 
   /* Put this in the alist of all live buffers.  */
   XSET (buf, Lisp_Buffer, b);
@@ -291,7 +292,8 @@
   return unbind_to (count, buf);
 }
 
-/* Reinitialize everything about a buffer except its name and contents.  */
+/* Reinitialize everything about a buffer except its name and contents
+   and local variables.  */
 
 void
 reset_buffer (b)
@@ -315,10 +317,13 @@
 
   /* Only defined if Emacs is compiled with USE_TEXT_PROPERTIES */
   INITIALIZE_INTERVAL (b, NULL_INTERVAL);
-
-  reset_buffer_local_variables(b);
 }
 
+/* Reset buffer B's local variables info.
+   Don't use this on a buffer that has already been in use;
+   it does not treat permanent locals consistently.
+   Instead, use Fkill_all_local_variables.  */
+
 reset_buffer_local_variables (b)
      register struct buffer *b;
 {
@@ -2374,7 +2379,9 @@
   /* Make sure all markable slots in buffer_defaults
      are initialized reasonably, so mark_buffer won't choke.  */
   reset_buffer (&buffer_defaults);
+  reset_buffer_local_variables (&buffer_defaults);
   reset_buffer (&buffer_local_symbols);
+  reset_buffer_local_variables (&buffer_local_symbols);
   XSET (Vbuffer_defaults, Lisp_Buffer, &buffer_defaults);
   XSET (Vbuffer_local_symbols, Lisp_Buffer, &buffer_local_symbols);