]> code.delx.au - gnu-emacs-elpa/commitdiff
Fix read-file-name with specified dir
authorOleh Krehel <ohwoeowho@gmail.com>
Sat, 16 Apr 2016 15:25:29 +0000 (17:25 +0200)
committerOleh Krehel <ohwoeowho@gmail.com>
Sat, 16 Apr 2016 15:25:29 +0000 (17:25 +0200)
* ivy.el (ivy--reset-state):
For a call (read-file-name prompt chosen default-file-name),
`ivy--directory' should be set to `chosen'.

Fixes #475

ivy.el

diff --git a/ivy.el b/ivy.el
index 18f9dca681977b0388a3d7adba3192eaf3d9e726..22deab9a5d3298ef0725480a5b46149af01e7034 100644 (file)
--- a/ivy.el
+++ b/ivy.el
@@ -1400,7 +1400,11 @@ This is useful for recursive `ivy-read'."
                                 :test #'equal)))
                (setq coll (all-completions "" collection predicate))))
             ((eq collection 'read-file-name-internal)
-             (setq ivy--directory default-directory)
+             (setq ivy--directory
+                   (if (file-directory-p initial-input)
+                       (prog1 initial-input
+                         (setq initial-input nil))
+                     default-directory))
              (require 'dired)
              (when preselect
                (let ((preselect-directory (file-name-directory preselect)))