GNU bug report logs - #34765
26.1; with-temp-buffer should not run buffer-list-update-hook

Previous Next

Package: emacs;

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: Eli Zaretskii <eliz <at> gnu.org>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: 34765 <at> debbugs.gnu.org, rudalics <at> gmx.at, larsi <at> gnus.org, monnier <at> iro.umontreal.ca, alexanderm <at> web.de
Subject: bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook
Date: Sat, 19 Dec 2020 18:06:04 +0200
> 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.