branch: master
commit 8c7a7fc54053ce4d1b57df22f2f552fda0a37dd9
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
When reading file names, check preselect and initial-input compat
* ivy.el (ivy--reset-state): Prefer the directory of `initial-input',
rather than the directory of `preselect'.
Re #514
---
ivy.el | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/ivy.el b/ivy.el
index 8e03cc1..865a936 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1451,13 +1451,16 @@ This is useful for recursive `ivy-read'."
(require 'dired)
(when preselect
(let ((preselect-directory (file-name-directory preselect)))
- (unless (or (null preselect-directory)
- (string= preselect-directory
- default-directory))
- (setq ivy--directory preselect-directory))
- (setf
- (ivy-state-preselect state)
- (setq preselect (file-name-nondirectory preselect)))))
+ (if (not (equal (expand-file-name preselect-directory)
+ (expand-file-name ivy--directory)))
+ (setf (ivy-state-preselect state) (setq preselect nil))
+ (unless (or (null preselect-directory)
+ (string= preselect-directory
+ default-directory))
+ (setq ivy--directory preselect-directory))
+ (setf
+ (ivy-state-preselect state)
+ (setq preselect (file-name-nondirectory preselect))))))
(setq coll (ivy--sorted-files ivy--directory))
(when initial-input
(unless (or require-match