[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook
From: |
martin rudalics |
Subject: |
bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook |
Date: |
Wed, 24 Apr 2019 09:27:59 +0200 |
>> Stefan asked me to add a variable 'inhibit-buffer-list-update-hook'
>> and I came up with the attached. WDYT?
>
> Did he also ask you to remove the inhibit_buffer_hooks flag of the
> buffer object? I'd rather prefer that you set that flag for temporary
> buffers. In any case, removing the flag will get back the problem
> with hidden buffers used by coding.c, right? I don't want to lose
> that.
FWIW handling of the the inhibit_buffer_hooks flag is unaffected by my
patch. Note that I special cased the call from 'make-indirect-buffer'
which is the only one that doesn't check that flag.
> More generally, I don't understand the need for this variable. If we
> just want to inhibit the hooks for temporary buffers, we don't need to
> provide a variable, we can do that internally and unconditionally.
> The variable assumes there are other legitimate use cases where a Lisp
> program would want to inhibit the hooks, and that we agree to let Lisp
> programs do that. What are those use cases?
I don't know. The one we care about in the case at hand is that of
'with-temp-buffer' which seems innocuous enough for being used in the
body of a function run by 'buffer-list-update-hook'. Since that macro
is in subr.el and as such cannnot easily set the inhibit_buffer_hooks
flag, the 'inhibit-buffer-list-update-hook' variable provides a simple
workaround. But maybe Stefan himself can explain the rationale for
such a variable. IIUC his main motivation was that by rebinding
'inhibit-buffer-list-update-hook' to nil one can from Lisp relax the
restrictions provided by my patch.
martin
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, martin rudalics, 2019/04/23
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Eli Zaretskii, 2019/04/23
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook,
martin rudalics <=
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Eli Zaretskii, 2019/04/24
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Stefan Monnier, 2019/04/24
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, martin rudalics, 2019/04/25
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Eli Zaretskii, 2019/04/25
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, martin rudalics, 2019/04/25
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Eli Zaretskii, 2019/04/25
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, martin rudalics, 2019/04/26
- bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Eli Zaretskii, 2019/04/26
bug#34765: 26.1; with-temp-buffer should not run buffer-list-update-hook, Stefan Monnier, 2019/04/25