Mercurial > emacs
diff src/buffer.c @ 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 | 41981db9ad8e |
| children | 644f69fe736e |
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);
