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

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

[elpa] master 1c436f6 347/399: ivy.el (ivy-reverse-i-search): Don't call


From: Oleh Krehel
Subject: [elpa] master 1c436f6 347/399: ivy.el (ivy-reverse-i-search): Don't call another ivy-reverse-i-search
Date: Sat, 20 Jul 2019 14:57:54 -0400 (EDT)

branch: master
commit 1c436f64436257ce8a2af522032e60990f008001
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    ivy.el (ivy-reverse-i-search): Don't call another ivy-reverse-i-search
    
    If you're already in reverse-i-search, doesn't make sense to go in
    deeper.
---
 ivy.el | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/ivy.el b/ivy.el
index 0bc863b..4bd2458 100644
--- a/ivy.el
+++ b/ivy.el
@@ -4370,17 +4370,20 @@ The selected history element will be inserted into the 
minibuffer.
 \\<ivy-reverse-i-search-map>
 You can also delete an emement from history with 
\\[ivy-reverse-i-search-kill]."
   (interactive)
-  (let ((enable-recursive-minibuffers t)
-        (old-last ivy-last))
-    (ivy-read "Reverse-i-search: "
-              (ivy-history-contents (ivy-state-history ivy-last))
-              :keymap ivy-reverse-i-search-map
-              :action (lambda (x)
-                        (ivy--reset-state
-                         (setq ivy-last old-last))
-                        (delete-minibuffer-contents)
-                        (insert (substring-no-properties x))
-                        (ivy--cd-maybe)))))
+  (unless (and (> (minibuffer-depth) 1)
+               (eq (ivy-state-caller ivy-last) 'ivy-reverse-i-search))
+    (let ((enable-recursive-minibuffers t)
+          (old-last ivy-last))
+      (ivy-read "Reverse-i-search: "
+                (ivy-history-contents (ivy-state-history ivy-last))
+                :keymap ivy-reverse-i-search-map
+                :action (lambda (x)
+                          (ivy--reset-state
+                           (setq ivy-last old-last))
+                          (delete-minibuffer-contents)
+                          (insert (substring-no-properties x))
+                          (ivy--cd-maybe))
+                :caller 'ivy-reverse-i-search))))
 
 (defun ivy-restrict-to-matches ()
   "Restrict candidates to current input and erase input."



reply via email to

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