branch: externals/ivy-hydra
commit 0f57db8db74f3f40c4359ede55a4a17c1ea713e6
Author: Clemens Radermacher <[email protected]>
Commit: Oleh Krehel <[email protected]>

    ivy.el (ivy--reset-state): Ensure default values are prepended
    
    Fixes #2358
---
 ivy.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ivy.el b/ivy.el
index 5b5f165..6ad7d8e 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2330,11 +2330,6 @@ This is useful for recursive `ivy-read'."
              (setq coll (all-completions "" collection predicate))))
       (unless (ivy-state-dynamic-collection ivy-last)
         (setq coll (delete "" coll)))
-      (when def
-        (cond ((stringp (car-safe def))
-               (setq coll (cl-union def coll :test #'equal)))
-              ((and (stringp def) (not (member def coll)))
-               (push def coll))))
       (when (and sort
                  (or (functionp collection)
                      (not (eq history 'org-refile-history)))
@@ -2343,6 +2338,13 @@ This is useful for recursive `ivy-read'."
                  (listp coll)
                  (null (nthcdr ivy-sort-max-size coll)))
         (setq coll (sort (copy-sequence coll) sort-fn)))
+      (when def
+        (cond ((stringp (car-safe def))
+               (setq coll
+                     (delete-dups
+                      (append def coll))))
+              ((and (stringp def) (not (member def coll)))
+               (push def coll))))
       (setq coll (ivy--set-candidates coll))
       (setq ivy--old-re nil)
       (setq ivy--old-cands nil)

Reply via email to