--- Begin Message ---
Subject: |
25.3.50; next-error-no-select does select |
Date: |
Mon, 16 Oct 2017 22:07:39 +0900 |
X-Debbugs-CC: Dmitry Gutov <address@hidden>
;; Start emacs in the emacs root source dir
emacs -Q
M-x grep-find RET
;; Use following command:
find . -type f -name ChangeLog\* -exec grep --color -nH -e baz {} +
C-x o n ; This selects the source (shouldn't)
;; If doesn't select the source, try 'n' a few times more; eventually
;; you will be in the source.
In GNU Emacs 25.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
of 2017-09-20
Repository revision: c3ff6712ad24fcf45874dc0665a8606e9b2208a4
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#28864: 25.3.50; next-error-no-select does select |
Date: |
Mon, 06 Nov 2017 23:41:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
>>> I'm not sure either can be congruent to all next-error-function
>>> applications. Some next-error source buffers contain their own errors (so
>>> buffer-local is natural), and others point to errors in other buffers
>>> (supposing they can learn to open those in the same window, window-local
>>> might be fitting). But both kinds are there, and all users deal with both.
>>
>> They can learn to open those in the same window by the patch below.
>
> If 'next-error', from any source, opens its target in the same window, does
> that make window-local storage essentially the same as frame-local
> in practice?
Not necessarily. It's possible to have several pairs of next-error
source and target windows, each navigating in its own corresponding window,
e.g. *grep* visiting files in one window, and *compilation* in another.
>>>> 3. frame-local - old implicit default now separated into its own function
>>>
>>> That doesn't sound like a sufficient description: the old default also
>>> includes visibility-based logic. So it's not just one value per frame.
>>
>> Do you think we should use the real frame-parameter?
>
> I almost never use more than one frame, so I wouldn't know. But if you use
> a frame-parameter only, won't that break backward compatibility?
I don't use more than one frame too, so I can't say how useful it would be.
So let's leave only the previous code as an option.
>>> is the new next-error-find-buffer stuff necessary to
>>> fix the current bug? Or is suppressing the change to next-error-last-buffer
>>> during next-error-function calls enough for that?
>>
>> The key point is (setq next-error-last-buffer) after
>> (funcall next-error-function), not before.
>
> Thanks. So maybe we can split your patch into two parts: one that fixes the
> complaint in just this bug report, and the rest that aims to improve the
> general behavior.
>
> We could push the first one right away, and continue discussing the second
> one. I'd like to see some new voices too, not just us two.
Good point. Closed to be continued in bug#20489.
--- End Message ---