From: Lars Ingebrigtsen Date: Mon, 11 Jul 2022 14:05:08 +0000 (+0200) Subject: Only reset buffer-local buffer-stale-function in make-indirect-buffer X-Git-Tag: emacs-29.0.90~1447^2~1004 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b2e6e9558165eff1d6e51fb48cbfbc8c5f7bc1ca;p=emacs.git Only reset buffer-local buffer-stale-function in make-indirect-buffer * src/buffer.c (Fmake_indirect_buffer): Don't set the global buffer-stale-function (bug#48348). --- diff --git a/src/buffer.c b/src/buffer.c index 509ce51b55e..a6d3604065e 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -911,7 +911,8 @@ does not run the hooks `kill-buffer-hook', set_buffer_internal_1 (b); Fset (intern ("buffer-save-without-query"), Qnil); Fset (intern ("buffer-file-number"), Qnil); - Fset (intern ("buffer-stale-function"), Qnil); + if (!NILP (Flocal_variable_p (Qbuffer_stale_function, base_buffer))) + Fset (Qbuffer_stale_function, Qbuffer_stale__default_function); /* Cloned buffers need extra setup, to do things such as deep variable copies for list variables that might be mangled due to destructive operations in the indirect buffer. */ @@ -6478,5 +6479,8 @@ will run for `clone-indirect-buffer' calls as well. */); DEFSYM (Qkill_buffer__possibly_save, "kill-buffer--possibly-save"); + DEFSYM (Qbuffer_stale_function, "buffer-stale-function"); + DEFSYM (Qbuffer_stale__default_function, "buffer-stale--default-function"); + Fput (intern_c_string ("erase-buffer"), Qdisabled, Qt); }