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

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

[elpa] externals/wrap-search 9e2fd9c704 2/4: Mon 19 Sep 2022 09:38:11 AM


From: ELPA Syncer
Subject: [elpa] externals/wrap-search 9e2fd9c704 2/4: Mon 19 Sep 2022 09:38:11 AM CEST
Date: Wed, 20 Sep 2023 12:59:57 -0400 (EDT)

branch: externals/wrap-search
commit 9e2fd9c704fef0b6ddf5fb61984e17e0cab9cbef
Author: Emanuel Berg <moasenwood@zoho.eu>
Commit: Emanuel Berg <moasenwood@zoho.eu>

    Mon 19 Sep 2022 09:38:11 AM CEST
---
 wrap-search.el | 54 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/wrap-search.el b/wrap-search.el
index 7619c21bc5..a38693ea11 100644
--- a/wrap-search.el
+++ b/wrap-search.el
@@ -5,7 +5,7 @@
 ;; Keywords: matching
 ;; License: GPL3+
 ;; URL: https://dataswamp.org/~incal/emacs-init/wrap-search.el
-;; Version: 4.9.10
+;; Version: 4.10.10
 ;;
 ;;; Commentary:
 ;;
@@ -76,30 +76,34 @@ Do \\[wrap-search-again] to repeat, with 
`wrap-search-again'."
        ,(member current-prefix-arg '((16) (64)))
        ,@(when (use-region-p)
            (list (region-beginning) (region-end)) )))
-    (or beg (setq beg (point-min)))
-    (or end (setq end (point-max)))
-    (if (string= "" str)
-        (wrap-search-again)
-      (setq prev-str  str)
-      (setq prev-case case)
-      (setq prev-rev  rev)
-      (setq prev-beg  beg)
-      (setq prev-end  end)
-      (pcase-let ((case-fold-search (not case))
-                  (pos (point))
-                  (`(,search-f ,search-beg ,search-end)
-                   (if rev
-                       (list #'search-backward end beg)
-                     (list #'search-forward beg end) )))
-        (if (funcall search-f str search-end t)
-            (message "hit: %s" (point))
-          (goto-char search-beg)
-          (if (funcall search-f str (+ pos (if rev 0 (length str))) t)
-              (if (= pos (point))
-                  (message "this is the one occurrence")
-                (message "hit: %s (wrap)" (point)) )
-            (goto-char pos)
-            (message "no hit") ))) ))
+    (let ((pos (point)))
+      (when (or (not beg)
+                (and rev (< pos beg)) )
+        (setq beg (point-min)) )
+      (when (or (not end)
+                (and (not rev) (> pos end)) )
+        (setq end (point-max)) )
+      (if (string= "" str)
+          (wrap-search-again)
+        (setq prev-str  str)
+        (setq prev-case case)
+        (setq prev-rev  rev)
+        (setq prev-beg  beg)
+        (setq prev-end  end)
+        (pcase-let ((case-fold-search (not case))
+                    (`(,search-f ,search-beg ,search-end)
+                     (if rev
+                         (list #'search-backward end beg)
+                       (list #'search-forward beg end) )))
+          (if (funcall search-f str search-end t)
+              (message "hit: %s" (point))
+            (goto-char search-beg)
+            (if (funcall search-f str (+ pos (if rev 0 (length str))) t)
+                (if (= pos (point))
+                    (message "this is the one occurrence")
+                  (message "hit: %s (wrap)" (point)) )
+              (goto-char pos)
+              (message "no hit") ))) )))
   (declare-function wrap-search nil) )
 
 (provide 'wrap-search)



reply via email to

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