branch: externals/ivy-hydra
commit af51ffdb56aa4337aece6bc450e5e18123bcadc8
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
ivy.el (ivy-read-action-ivy): Don't reset ivy-marked-candidates to nil
Fixes #2430
---
ivy.el | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/ivy.el b/ivy.el
index 8da4939..0f464f1 100644
--- a/ivy.el
+++ b/ivy.el
@@ -960,20 +960,28 @@ selection, non-nil otherwise."
(setcar actions (1+ action-idx))
(ivy-set-action actions)))))
+(defvar ivy-marked-candidates nil
+ "List of marked candidates.
+Use `ivy-mark' to populate this.
+
+When this list is non-nil at the end of the session, the action
+will be called for each element of this list.")
+
(defun ivy-read-action-ivy (actions)
"Select an action from ACTIONS using Ivy."
(let ((enable-recursive-minibuffers t))
(if (and (> (minibuffer-depth) 1)
(eq (ivy-state-caller ivy-last) 'ivy-read-action-ivy))
(minibuffer-keyboard-quit)
- (ivy-read (format "action (%s): " (ivy-state-current ivy-last))
- (cl-mapcar
- (lambda (a i) (cons (format "[%s] %s" (nth 0 a) (nth 2 a)) i))
- (cdr actions) (number-sequence 1 (length (cdr actions))))
- :action (lambda (a)
- (setcar actions (cdr a))
- (ivy-set-action actions))
- :caller 'ivy-read-action-ivy))))
+ (let ((ivy-marked-candidates ivy-marked-candidates))
+ (ivy-read (format "action (%s): " (ivy-state-current ivy-last))
+ (cl-mapcar
+ (lambda (a i) (cons (format "[%s] %s" (nth 0 a) (nth 2 a))
i))
+ (cdr actions) (number-sequence 1 (length (cdr actions))))
+ :action (lambda (a)
+ (setcar actions (cdr a))
+ (ivy-set-action actions))
+ :caller 'ivy-read-action-ivy)))))
(defun ivy-shrink-after-dispatching ()
"Shrink the window after dispatching when action list is too large."
@@ -1467,13 +1475,6 @@ See variable `ivy-recursive-restore' for further
information."
(not (eq ivy-last ivy-recursive-last)))
(ivy--reset-state (setq ivy-last ivy-recursive-last))))
-(defvar ivy-marked-candidates nil
- "List of marked candidates.
-Use `ivy-mark' to populate this.
-
-When this list is non-nil at the end of the session, the action
-will be called for each element of this list.")
-
(defvar ivy-mark-prefix ">"
"Prefix used by `ivy-mark'.")