GNU bug report logs - #74208
31.0.50; minibuffer read-file-name-default mutates global value of default-directory incorrectly

Previous Next

Package: emacs;

Reported by: Madhu <enometh <at> meer.net>

Date: Tue, 5 Nov 2024 02:10:01 UTC

Severity: normal

Found in version 31.0.50

Fixed in version 31.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #80 received at 74208 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Madhu <enometh <at> meer.net>
Cc: 74208 <at> debbugs.gnu.org
Subject: Re: bug#74208: 31.0.50; minibuffer read-file-name-default mutates
 global value of default-directory incorrectly
Date: Sun, 08 Dec 2024 16:13:48 +0100
[Message part 1 (text/plain, inline)]
Madhu <enometh <at> meer.net> writes:

Hi Madhu,

>> 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?

[Message part 2 (text/x-patch, inline)]
diff --git a/lisp/ffap.el b/lisp/ffap.el
index 6a4915fb5a3..180fe408104 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -1512,6 +1512,7 @@ ffap--url-file-handler
       ;; We mainly just want to disable these bits:
       (substitute-in-file-name (car args))
       (expand-file-name (car args))
+      (unhandled-file-name-directory temporary-file-directory)
       (otherwise
        (apply operation args)))))

[Message part 3 (text/plain, inline)]
> -- Regards, Madhu

Best regards, Michael.

This bug report was last modified 159 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.