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

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

[nongnu] elpa/iedit 6e6d4bc478 151/301: Merge branch 'master' of https:/


From: ELPA Syncer
Subject: [nongnu] elpa/iedit 6e6d4bc478 151/301: Merge branch 'master' of https://github.com/mbneedham/iedit
Date: Mon, 10 Jan 2022 22:58:58 -0500 (EST)

branch: elpa/iedit
commit 6e6d4bc478bf8b8155456c53e6aba5dc0753521f
Merge: 22f4729ae9 95e7731a91
Author: Victor Ren <victorhge@gmail.com>
Commit: Victor Ren <victorhge@gmail.com>

    Merge branch 'master' of https://github.com/mbneedham/iedit
---
 iedit-lib.el | 30 ++++++++++++++++++------------
 iedit.el     | 21 ++++++++++++---------
 2 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/iedit-lib.el b/iedit-lib.el
index bac0451a51..7697543c3d 100644
--- a/iedit-lib.el
+++ b/iedit-lib.el
@@ -519,14 +519,18 @@ value of `iedit-occurrence-context-lines' is used for 
this time."
     (save-excursion
       (iedit-first-occurrence)
       (while (/= (point) (point-max))
-        (forward-line (- context-lines))
-        (let ((line-beginning (line-beginning-position)))
-          (if (> line-beginning prev-occurrence-end)
-              (push  (list prev-occurrence-end (1- line-beginning)) 
unmatched-lines)))
+        (let ((current-start (point)))
+          (forward-line (- context-lines))
+          (let ((line-beginning (line-beginning-position)))
+            (if (> line-beginning prev-occurrence-end)
+                (push  (list prev-occurrence-end (1- line-beginning)) 
unmatched-lines)))        
+          (goto-char current-start))
         ;; goto the end of the occurrence
         (goto-char (next-single-char-property-change (point) 
'iedit-occurrence-overlay-name))
-        (forward-line context-lines)
-        (setq prev-occurrence-end (line-end-position))
+        (let ((current-end (point)))
+          (forward-line context-lines)
+          (setq prev-occurrence-end (1+ (line-end-position)))
+          (goto-char current-end))
         ;; goto the beginning of next occurrence
         (goto-char (next-single-char-property-change (point) 
'iedit-occurrence-overlay-name)))
       (if (< prev-occurrence-end (point-max))
@@ -765,12 +769,14 @@ This function is supposed to be called in overlay keymap."
 (defun iedit-current-occurrence-string ()
   "Return current occurrence string.
 Return nil if occurrence string is empty string."
-  (let* ((ov (or (iedit-find-current-occurrence-overlay)
-                 (car iedit-occurrences-overlays)))
-         (beg (overlay-start ov))
-         (end (overlay-end ov)))
-    (if (and ov (/=  beg end))
-        (buffer-substring-no-properties beg end)
+  (let ((ov (or (iedit-find-current-occurrence-overlay)
+                 (car iedit-occurrences-overlays))))
+    (if ov
+        (let ((beg (overlay-start ov))
+              (end (overlay-end ov)))
+          (if (and ov (/=  beg end))
+              (buffer-substring-no-properties beg end)
+            nil))
       nil)))
 
 (defun iedit-occurrence-string-length ()
diff --git a/iedit.el b/iedit.el
index 7117ae1b82..d2aef7f43c 100644
--- a/iedit.el
+++ b/iedit.el
@@ -358,15 +358,18 @@ Keymap used within overlays:
   (if (or isearch-regexp isearch-word)
       nil
     (setq iedit-initial-string-local isearch-string))
-  (isearch-exit)
-  (setq mark-active nil)
-  (run-hooks 'deactivate-mark-hook)
-  (iedit-start regexp (point-min) (point-max))
-  ;; TODO: reconsider how to avoid the loop in iedit-same-length
-  (if (iedit-same-length)
-      nil
-    (iedit-done)
-    (message "Matches are not the same length.")))
+  (let ((iedit-case-sensitive (not isearch-case-fold-search)))
+    (isearch-exit)
+    (setq mark-active nil)
+    (run-hooks 'deactivate-mark-hook)
+    (iedit-start regexp (point-min) (point-max))
+    ;; TODO: reconsider how to avoid the loop in iedit-same-length
+    (cond ((not iedit-occurrences-overlays) 
+           (message "No matches found")
+           (iedit-done))
+          ((not (iedit-same-length))
+           (message "Matches are not the same length.")
+           (iedit-done)))))
 
 (defun iedit-start (occurrence-regexp beg end)
   "Start Iedit mode for the `occurrence-regexp' in the current buffer."



reply via email to

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