]> git.eshelyaron.com Git - emacs.git/commitdiff
Only reset buffer-local buffer-stale-function in make-indirect-buffer
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 11 Jul 2022 14:05:08 +0000 (16:05 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 11 Jul 2022 14:05:08 +0000 (16:05 +0200)
* src/buffer.c (Fmake_indirect_buffer): Don't set the global
buffer-stale-function (bug#48348).

src/buffer.c

index 509ce51b55ea34e14d28156956235ba61f2cd448..a6d3604065e5da6a560cef59e2dbbfa57c3e1d1a 100644 (file)
@@ -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);
 }