emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 2fb8d86 260/272: ivy.el (ivy-done): Allow ivy-dispatching-


From: Oleh Krehel
Subject: [elpa] master 2fb8d86 260/272: ivy.el (ivy-done): Allow ivy-dispatching-done to exit with no cands
Date: Mon, 25 Apr 2016 10:13:29 +0000

branch: master
commit 2fb8d86b5fa7d621f89cd758ebd6b831089fdd4c
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    ivy.el (ivy-done): Allow ivy-dispatching-done to exit with no cands
    
    Example of use:
    
    (defun ivy-recentf-with-last-input (_x)
      (ivy-read "Recentf: " recentf-list
                :action (lambda (f)
                          (with-ivy-window (find-file f)))
                :initial-input ivy-text
                :caller 'ivy-recentf))
    
    (ivy-set-actions t '(("r" ivy-recentf-with-last-input "recentf")))
    
    The input may match no candidates, but it's still good for
    `ivy-recentf-with-last-input', since it uses `ivy-text' instead of
    `ivy--current'.
---
 ivy.el |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ivy.el b/ivy.el
index e07fa53..7d705c8 100644
--- a/ivy.el
+++ b/ivy.el
@@ -457,7 +457,10 @@ When non-nil, it should contain at least one %d.")
   "Exit the minibuffer with the selected candidate."
   (interactive)
   (delete-minibuffer-contents)
-  (cond ((> ivy--length 0)
+  (cond ((or (> ivy--length 0)
+             ;; the action from `ivy-dispatching-done' may not need a
+             ;; candidate at all
+             (eq this-command 'ivy-dispatching-done))
          (ivy--done ivy--current))
         ((memq (ivy-state-collection ivy-last)
                '(read-file-name-internal internal-complete-buffer))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]