GNU bug report logs -
#65414
save-some-buffers-functions are unexpectedly called when save-some-buffers pred is non-nil
Previous Next
Full log
Message #14 received at 65414 <at> debbugs.gnu.org (full text, mbox):
> From: Joseph Turner <joseph <at> breatheoutbreathe.in>
> Cc: 65414 <at> debbugs.gnu.org, jonas <at> bernoul.li
> Date: Wed, 23 Aug 2023 16:57:06 -0700
>
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > Why is asking whether to save the abbrevs a problem in the case of
> > magit-save-repository-buffers?
>
> magit-save-repository-buffers docstring reads "Save file-visiting
> buffers belonging to the current repository." IIUC, prompting to save
> abbrevs here is an undesirable implementation side-effect.
Why is it undesirable? save-some-buffers always saved abbrevs, didn't
it? And it did so independently of PRED, right? So how did this
problem suddenly started affecting Magit?
IOW, I still don't have a clear idea what caused this problem, if
(AFAIU) it is a problem that started happening recently.
> Another example: hyperdrive.el adds to save-some-buffers-functions for
> saving hyperdrive file buffers:
>
> https://git.sr.ht/~ushin/hyperdrive.el/tree/d7dc7a08ba47761108cf98e21ffa2d8dad28f34a/item/hyperdrive.el#L99
>
> After this change, magit-save-repository-buffers now prompts to save
> irrelevant hyperdrive file buffers. I would like some way to tell
> hyperdrive--save-some-buffers not to prompt the user to save hyperdrive
> buffers from inside magit-save-repository-buffers.
Why do you want to do that? Whether or not to prompt the user abides
by the common protocol defined by save-some-buffers: if it's called
with the argument ARG non-nil (which should happen interactively when
the user invokes the command with a prefix argument), there's no
prompt, otherwise Emacs prompts. Why magit-save-repository-buffers
wants to break this common protocol?
I feel that I'm still missing something important, which causes you to
want a different behavior from magit-save-repository-buffers. For
starters, can you describe how magit-save-repository-buffers ends up
calling save-some-buffers-functions in enough detail for me to
understand why you think saving these buffers is deemed "undesirable"?
> > And are you saying that before the change which added
> > save-some-buffers-functions, Emacs was not saving the abbrevs when
> > save-some-buffers was called? If so, in what Emacs version was this
> > so?
>
> The behavior of saving abbrevs when a PRED function is passed to
> save-some-buffers has not changed in Emacs 29. I just think that there
> may be room for improvement now that save-some-buffers-functions allows
> any package to add to save-some-buffers-functions.
We could try thinking about some backward-compatible change to the
save-some-buffers-functions feature, but a better understanding of the
issue is still needed.
Thanks.
This bug report was last modified 1 year and 313 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.