emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 52080b5: * lisp/minibuffer.el (read-file-name-default): Fix bug


From: Stefan Monnier
Subject: emacs-27 52080b5: * lisp/minibuffer.el (read-file-name-default): Fix bug#39057
Date: Thu, 16 Jan 2020 10:18:45 -0500 (EST)

branch: emacs-27
commit 52080b5778cbe535c331fa14539aecd88f2be0a0
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/minibuffer.el (read-file-name-default): Fix bug#39057
---
 lisp/minibuffer.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index a8b2a98..4831bf7 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2737,8 +2737,13 @@ See `read-file-name' for the meaning of the arguments."
   (unless dir (setq dir (or default-directory "~/")))
   (unless (file-name-absolute-p dir) (setq dir (expand-file-name dir)))
   (unless default-filename
-    (setq default-filename (if initial (expand-file-name initial dir)
-                             buffer-file-name)))
+    (setq default-filename
+          (cond
+           ((null initial) buffer-file-name)
+           ;; Special-case "" because (expand-file-name "" "/tmp/") returns
+           ;; "/tmp" rather than "/tmp/" (bug#39057).
+           ((equal "" initial) dir)
+           (t (expand-file-name initial dir)))))
   ;; If dir starts with user's homedir, change that to ~.
   (setq dir (abbreviate-file-name dir))
   ;; Likewise for default-filename.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]