From: Richard M. Stallman Date: Sun, 18 Sep 1994 08:46:34 +0000 (+0000) Subject: (reset_buffer): Don't call reset_buffer_local_variables. X-Git-Tag: emacs-19.34~6981 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bcd40520863a594cacce49e6a9bc682a86cb2032;p=emacs.git (reset_buffer): Don't call reset_buffer_local_variables. (Fget_buffer_create): Call it here. (init_buffer_once): And here. --- diff --git a/src/buffer.c b/src/buffer.c index 8ade7e82199..e132f77da93 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -260,6 +260,7 @@ The value is never nil.") 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 @@ The value is never nil.") 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 @@ reset_buffer (b) /* 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 @@ init_buffer_once () /* 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);