Subject: Re: bug#61613: 30.0.50; ffap-other-window ignores ffap-require-prefix

From: Ergus <[email-masked]>
Date: Mon, 20 Feb 2023 16:49:15 +0100

On Mon, Feb 20, 2023 at 02:50:18PM +0200, Eli Zaretskii wrote:
>> Date: Sun, 19 Feb 2023 22:32:55 +0100
>> From: Ergus <[email-masked]>
>> Cc: [email-masked]
>>
>> On Sun, Feb 19, 2023 at 12:15:49PM +0200, Eli Zaretskii wrote:
>> >> Date: Sun, 19 Feb 2023 11:09:04 +0100
>> >> From: Ergus <[email-masked]>
>> >> CC: [email-masked]
>> >>
>> >> emacs -Q
>> >> M-x ffap-bindings
>> >> M-: (setq ffap-require-prefix t)
>> >> Write /somedir
>> >>
>> >> C-x C-f  (you see: ~/)
>> >>
>> >> But
>> >>
>> >> C-x 4 f (you see /somedir)
>> >>
>> >> This seems to be related with the ffap-prompter called before the switch then?
>> >
>> >Yes, I think so.
>>
>> Hi Eli:
>>
>> So, what do you think? The fix may be to put the ffap-require-prefix
>> condition in ffap-read-file-or-url directly or in ffap-prompter??
>
>I don't understand what you want to achieve by that, so please
>elaborate.  ffap-file-finder's default value is a command that doesn't
>display the file in another window, so how will ffap-require-prefix
>help here?

 From the example above I expect that after:

(setq ffap-require-prefix t)
C-x 4 f

You see ~/ instead of /somedir. Like when we do C-x C-f.

As I said before, ffap-prompter is causing this because it is called
before switching window.

So ffap-file-finder is actually called at point before going to another
window. And it does not have any ffap-require-prefix condition. My
question is actually that.

We need to put the ffap-require-prefix condition somewhere in
ffap-read-file-or-url or ffap-prompter. Because this problem happens
with the other-frame and other-tab variants as well.