Subject: bug#74208: 31.0.50; minibuffer read-file-name-default mutates global value of default-directory incorrectly

From: Madhu <[email-masked]>
Date: Sun, 08 Dec 2024 21:56:57 +0530 (IST)

*  Michael Albinus <[email-masked]> <[email-masked]>
Wrote on Sun, 08 Dec 2024 16:13:48 +0100
> Madhu <[email-masked]> writes:
>>> I've checked the problem in ffap.el. It looks like we could use a much
>>> simpler solution: implement unhandled-file-name-directory in
>>> ffap--url-file-handler. Something like
>>
>> In a quick test with the "M-! echo foo" (in a recursive minibuffer at
>> the ffap prompt), call-shell-region still fails "Setting current
>> directory" error,
>
> Indeed. The following patch seems to work better, could you pls test?

Yes this works, M-! pwd prints /tmp while in the recursive minibuffer
at the ffap prompt.

This looks like the right solution to the problem but perhaps use "~"
instead of /tmp in line with what the other code does. Thanks