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 #94 received at 74208-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Madhu <enometh <at> meer.net>
Cc: 74208-done <at> debbugs.gnu.org
Subject: Re: bug#74208: 31.0.50; minibuffer read-file-name-default mutates
 global value of default-directory incorrectly
Date: Mon, 09 Dec 2024 09:17:20 +0100
Version: 31.1

Madhu <enometh <at> meer.net> writes:

Hi Madhu,

> I meant the defaulting use in the call to get_current_directory in
> callproc.c

I see. But as said, it isn't a robust setting:

--8<---------------cut here---------------start------------->8---
# env HOME=/foo emacs -Q --batch --eval '(let ((default-directory (expand-file-name "~"))) (shell-command "ls"))'

Error: file-missing ("Setting current directory" "No such file or directory" "/foo")
  call-shell-region(1 1 "ls" nil #<buffer *Shell Command Output*>)
  shell-command-on-region(1 1 "ls" nil nil nil)
  shell-command("ls")
  (let ((default-directory (expand-file-name "~"))) (shell-command "ls"))
  eval((let ((default-directory (expand-file-name "~"))) (shell-command "ls")) t)
  command-line-1(("--eval" "(let ((default-directory (expand-file-name \"~\"))) (shell-command \"ls\"))"))
  command-line()
  normal-top-level()

(Shell command failed with error)
Setting current directory: No such file or directory, /foo
--8<---------------cut here---------------end--------------->8---

> Speaking for myself: no. I'm a bit dissapointed that the setq doesn't
> get fixed, but I think the main problem has been addressed.

Thanks, so I'm closing the bug.

Best regards, Michael.




This bug report was last modified 161 days ago.

Previous Next


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