GNU bug report logs -
#34765
26.1; with-temp-buffer should not run buffer-list-update-hook
Previous Next
Reported by: Alexander Miller <alexanderm <at> web.de>
Date: Tue, 5 Mar 2019 22:58:02 UTC
Severity: normal
Tags: fixed
Found in version 26.1
Fixed in version 28.1
Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
> Cc: monnier <at> iro.umontreal.ca, rudalics <at> gmx.at, larsi <at> gnus.org,
> 34765 <at> debbugs.gnu.org, alexanderm <at> web.de
> Date: Sat, 19 Dec 2020 14:15:30 +0000
>
> >> +By default, undo information (@pxref{Undo}) is not recorded in the
> >> +buffer created by this macro (but @var{body} can enable that, if
> >> +needed). The temporary buffer also does not run the hooks
> >> +@code{kill-buffer-hook}, @code{kill-buffer-query-functions}
> >> +(@pxref{Killing Buffers}), and @code{buffer-list-update-hook}
> >> +(@pxref{Buffer List}).
> >
> > It would be good to have here index entries about undo and those hooks
> > not being used by default in temporary buffers.
>
> Something like this?
>
> @cindex undo in temporary buffers
> @cindex @code{kill-buffer-hook} in temporary buffers
> @cindex @code{kill-buffer-query-functions} in temporary buffers
> @cindex @code{buffer-list-update-hook} in temporary buffers
Yes.
> >> +Like @code{with-temp-buffer} (@pxref{Definition of with-temp-buffer,,
> > ^^^^^^^^^^
> > I think this word will look better if not capitalized.
>
> The printed label "see Current Buffer" should be displayed instead of
> this word, which is part of the anchor. Is that okay?
Sorry, I didn't see that this is an anchor. So I think the anchor
should not start with a capital letter, as it reads more naturally
that way, I think. And then the name should be used without
capitalization in the cross-references. Obviously, this is a minor
nit.
> >> +static void
> >> +run_buffer_list_update_hook (struct buffer *buf)
> >> +{
> >> + if (! (NILP (Vrun_hooks) || (buf && buf->inhibit_buffer_hooks)))
> > ^^^
> > Why this test? is it possible for this function to be called with buf
> > a NULL pointer?
>
> Yes, in Fmake_indirect_buffer, which doesn't check inhibit_buffer_hooks.
>
> The alternatives would be for Fmake_indirect_buffer to not call
> run_buffer_list_update_hook, or to not bother adding
> run_buffer_list_update_hook at all. Do you have a preference?
I think just having a comment there saying that make-indirect-buffer
calls this with NULL argument should be okay.
Thanks.
This bug report was last modified 4 years and 153 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.