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

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

[elpa] master 6e50ab6 391/399: ivy-test.el (swiper-isearch-backward): Go


From: Oleh Krehel
Subject: [elpa] master 6e50ab6 391/399: ivy-test.el (swiper-isearch-backward): Goto old match on DEL
Date: Sat, 20 Jul 2019 14:58:06 -0400 (EDT)

branch: master
commit 6e50ab636a38d9957e5a70b83ae20ce3dd94376a
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    ivy-test.el (swiper-isearch-backward): Goto old match on DEL
    
    * ivy-test.el (swiper-isearch-backward-backspace): Add test.
    
    Fixes #2125
---
 ivy-test.el | 16 ++++++++++++++++
 swiper.el   | 10 ++++------
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/ivy-test.el b/ivy-test.el
index a83e728..c58d1a6 100644
--- a/ivy-test.el
+++ b/ivy-test.el
@@ -1149,6 +1149,22 @@ a buffer visiting a file."
      ("C-r" "defun\\|defvar" "C-n RET"))
     "(defun foo)\nasdf\n(|defvar bar)")))
 
+(ert-deftest swiper-isearch-backward-backspace ()
+  (should
+   (string=
+    (ivy-with-text
+     "(while (when |))"
+     (global-set-key (kbd "C-r") #'swiper-isearch-backward)
+     ("C-r" "whi" "" "RET"))
+    "(while (|when ))"))
+  (should
+   (string=
+    (ivy-with-text
+     "(while (when |))"
+     (global-set-key (kbd "C-r") #'isearch-backward-regexp)
+     ("C-r" "whi" "" "RET"))
+    "(while (|when ))")))
+
 (ert-deftest swiper-isearch-case-fold ()
   (should
    (string=
diff --git a/swiper.el b/swiper.el
index 4c201a1..123bd9c 100644
--- a/swiper.el
+++ b/swiper.el
@@ -1323,12 +1323,10 @@ come back to the same place as when \"a\" was initially 
entered.")
           (while (funcall (if swiper--isearch-backward #'re-search-backward 
#'re-search-forward) re nil t)
             (when (swiper-match-usable-p)
               (unless idx-found
-                (when (if swiper--isearch-backward
-                          ;; test if match is before point
-                          (<= (match-beginning 0) (cdar 
swiper--isearch-point-history))
-                        (or
-                         ;; test if match is at or after point
-                         (eq (match-beginning 0) pt-hist)
+                (when (or
+                       (eq (match-beginning 0) pt-hist)
+                       (if swiper--isearch-backward
+                           (<= (match-beginning 0) (cdar 
swiper--isearch-point-history))
                          (>= (match-beginning 0) (cdar 
swiper--isearch-point-history))))
                   (push (cons str (match-beginning 0)) 
swiper--isearch-point-history)
                   (setq idx-found idx)))



reply via email to

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