# HG changeset patch # User Richard M. Stallman # Date 779877994 0 # Node ID b58ea8cae183f90bc93aaf8d444fb797a3360585 # Parent 0f20e5e19ed6793156862d88fa4dcddad32db093 (reset_buffer): Don't call reset_buffer_local_variables. (Fget_buffer_create): Call it here. (init_buffer_once): And here. diff -r 0f20e5e19ed6 -r b58ea8cae183 src/buffer.c --- 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);