bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#40919: 27.0.91; next-error-select-buffer does not always behave as d


From: Dmitry Gutov
Subject: bug#40919: 27.0.91; next-error-select-buffer does not always behave as documented
Date: Tue, 26 May 2020 02:17:34 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 25.05.2020 18:17, Eli Zaretskii wrote:

Yes, this will fix the reported problem of customizability.
Maybe Eli will agree to fix this in emacs-27.

I can post the corresponding patch, if it helps.

It's okay to add a defcustom and a new function, but the other part of
the patch changes the default behavior, and that is less okay.  Can we
do one without the other?

The defcustom already exists. It currently defaults to #'ignore (do nothing). It is called in case #1.

The attached patch moves case #2 into a new function and makes it the default value of the said defcustom (thus case #2 effectively moves into case #1). As a result, the default behavior doesn't change, but the user will have a much easier time turning off case #2.

(Btw, the textual descriptions of the options both in the patch and
those already in the code are confusingly obscure, so much so that I
don't think I could understand what each one does.)

Knowing the subject matter somewhat, I think the descriptions are meaningful enough, but to make sense of them one has to understand how the whole feature comes together. E.g. at what times next-error-find-buffer is called.

All in all, I feel (for quite some time) that this area is
over-engineered and keeps bumping into more and more unintended
consequences.  Maybe it's time to take a step back and rethink the
entire subject?  (But definitely not on the release branch.)

That's what we're doing here.

If the attached patch is accepted for emacs-27, then on master we'll change next-error-find-buffer-function's default back to #'ignore (thus reverting to the previous path that I sent). And see if we find problems with how the result is working.

So in the end, next-error-find-buffer-function will have three possible values:

- Pre Emacs 27 behavior.
- Emacs 27 behavior (extracted in the attached patch).
- Simplified behavior with less buffer-local state (Emacs 28, hopefully).

Attachment: next-error-extract-case-2-keep-current-behavior.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]