]> git.donarmstrong.com Git - lib.git/commitdiff
update iedit
authorDon Armstrong <don@donarmstrong.com>
Tue, 4 Dec 2012 01:39:03 +0000 (01:39 +0000)
committerDon Armstrong <don@donarmstrong.com>
Tue, 4 Dec 2012 01:39:03 +0000 (01:39 +0000)
emacs_el/iedit-lib.el
emacs_el/iedit-tests.el
emacs_el/iedit.el

index 5af1785733ebd502140d5fd9ecbc4bbe7a208efb..636c0bb3bca37b443d122af220c99788e3c676fb 100644 (file)
@@ -3,7 +3,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2012-09-07 16:28:18 Victor Ren>
+;; Time-stamp: <2012-10-17 08:48:28 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Keywords: occurrence region simultaneous rectangle refactoring
 ;; Version: 0.97
@@ -376,15 +376,14 @@ occurrence, it will abort Iedit mode."
                         (iedit-move-conjoined-overlays another-occurrence)))
                   ;; deletion
                   (dolist (another-occurrence (remove occurrence iedit-occurrences-overlays))
-                    (let* ((beginning (+ (overlay-start another-occurrence) offset))
-                           (ending (+ beginning change)))
-                      (delete-region beginning ending)
+                    (let ((beginning (+ (overlay-start another-occurrence) offset)))
+                      (delete-region beginning (+ beginning change))
                       (unless (eq beg end) ;; replacement
                         (goto-char beginning)
                         (insert-and-inherit value))
                       (run-hook-with-args 'after-change-functions
                                           beginning
-                                          ending
+                                          (+ beginning (- beg end))
                                           change)))))))))))))
 
 (defun iedit-next-occurrence ()
index 06d5fc90c171adc530d951c449eeb46da2906e16..916457d156c600754463d650054023dc3d09792d 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2012-08-09 17:17:03 Victor Ren>
+;; Time-stamp: <2012-10-22 14:01:57 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Version: 0.97
 ;; X-URL: http://www.emacswiki.org/emacs/Iedit
@@ -30,6 +30,7 @@
 ;;; Code:
 (require 'ert)
 (require 'iedit)
+(require 'iedit-rect)
 
 (ert-deftest iedit-compile-test ()
   (let ((byte-compile-error-on-warn t ))
@@ -128,6 +129,25 @@ foo"
  123foo456123foo456
  123foo456")))))
 
+(ert-deftest iedit-overlay-at-end-of-buffer ()
+  (with-iedit-test-fixture
+   "foo
+foo"
+   (lambda ()
+     (iedit-mode)
+     (highlight-changes-mode 1)
+     (goto-char (point-min))
+     (goto-char (point-at-eol))
+     (iedit-mode)
+     (delete-region (point) (1- (point)))
+     (should (string= (buffer-string)
+                      "fo
+fo"))
+     (insert "b")
+     (should (string= (buffer-string)
+                      "fob
+fob")))))
+
 (ert-deftest iedit-mode-start-from-isearch-test ()
   (with-iedit-test-fixture
 "foo
@@ -143,7 +163,7 @@ foo"
      (isearch-process-search-char ?f)
      (isearch-process-search-char ?o)
      (isearch-process-search-char ?o)
-     (iedit-mode)
+     (call-interactively 'iedit-mode-from-isearch)
      (should (string= iedit-initial-string-local "foo"))
      (should (= 4 (length iedit-occurrences-overlays)))
      (iedit-mode)
@@ -342,8 +362,7 @@ foo"
      (iedit-mode) ; turn off iedit
      (goto-char 2)
      (set-mark-command nil)
-     (forward-char 1)
-     (forward-line 1)
+     (goto-char 7)
      (iedit-rectangle-mode)
      (iedit-blank-occurrences)
      (should (string= (buffer-string) "f o
@@ -463,7 +482,7 @@ arfoo
       (should (= 1 (length iedit-occurrences-overlays)))
       (iedit-mode)
       (goto-char 13)
-      (iedit-mode-on-function)
+      (iedit-mode-toggle-on-function)
       (should (= 4 (length iedit-occurrences-overlays)))
       (iedit-mode)
       (iedit-mode)
index 9eea9c81c503170b394294378ce619dc9f7d911a..48d2122eb9c8e671c17c968cb2cde0e2d542da3f 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2012-09-12 15:22:33 Victor Ren>
+;; Time-stamp: <2012-10-22 14:14:53 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Keywords: occurrence region simultaneous refactoring
 ;; Version: 0.97
@@ -340,6 +340,7 @@ Keymap used within overlays:
       (setq iedit-only-complete-symbol-local complete-symbol)
       (setq mark-active nil)
       (run-hooks 'deactivate-mark-hook)
+      (setq iedit-initial-string-local occurrence)
       (iedit-start (iedit-regexp-quote occurrence) beg end))))
 
 (defun iedit-mode-from-isearch (regexp)
@@ -352,7 +353,12 @@ Keymap used within overlays:
                   (isearch-regexp isearch-string)
                   (t (regexp-quote isearch-string)))))
      (list regexp)))
+  (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)
@@ -363,7 +369,6 @@ Keymap used within overlays:
 (defun iedit-start (occurrence-regexp beg end)
   "Start Iedit mode for the `occurrence-regexp' in the current buffer."
   (setq iedit-unmatched-lines-invisible iedit-unmatched-lines-invisible-default)
-  (setq iedit-initial-string-local occurrence-regexp)
   (setq iedit-initial-region (list beg end))
   (iedit-start2 occurrence-regexp beg end)
   (run-hooks 'iedit-mode-hook)
@@ -401,6 +406,7 @@ the initial string globally."
 
   (iedit-cleanup)
 
+  (setq iedit-initial-string-local nil)
   (setq iedit-mode nil)
   (force-mode-line-update)
   (remove-hook 'kbd-macro-termination-hook 'iedit-done t)