branch: master
commit 80d4dde8c6e80b3c9ea92b275dce8c1b058a10ce
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
Fix broken candidate index in ivy-resume
* ivy.el (ivy--reset-state): When given initial-input, call
`ivy--preselect-index' on candidates filtered by initial-input. This
is important for `ivy-resume'.
---
ivy.el | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/ivy.el b/ivy.el
index 050f460..321c420 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1194,19 +1194,23 @@ This is useful for recursive `ivy-read'."
(cl-find-if (lambda (x) (string-match re x))
coll)))
(setq coll (cons preselect coll))))
- (setq ivy--index (or
- (and dynamic-collection
- ivy--index)
- (and preselect
- (ivy--preselect-index preselect coll))
- 0))
(setq ivy--old-re nil)
(setq ivy--old-cands nil)
(when initial-input
;; Needed for anchor to work
(setq ivy--old-cands coll)
(setq ivy--old-cands (ivy--filter initial-input coll)))
- (setq ivy--all-candidates coll))
+ (setq ivy--all-candidates coll)
+ (setq ivy--index (or
+ (and dynamic-collection
+ ivy--index)
+ (and preselect
+ (ivy--preselect-index
+ preselect
+ (if initial-input
+ ivy--old-cands
+ coll)))
+ 0)))
(setq ivy-exit nil)
(setq ivy--default (or
(thing-at-point 'url)