]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/minibuffer.el (read-file-name-default): Fix bug#39057
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 16 Jan 2020 15:18:15 +0000 (10:18 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 16 Jan 2020 15:18:39 +0000 (10:18 -0500)
lisp/minibuffer.el

index a8b2a984c52851c8922cd103617f042c84cf4511..4831bf72e9d14d42a35e87cecd012428a396df43 100644 (file)
@@ -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.