[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/m-buffer 643fbef4bf 078/115: replace-match now saves po
From: |
ELPA Syncer |
Subject: |
[elpa] externals/m-buffer 643fbef4bf 078/115: replace-match now saves point |
Date: |
Tue, 19 Jul 2022 15:58:50 -0400 (EDT) |
branch: externals/m-buffer
commit 643fbef4bf0d8aa5a2b0c1c9b1c887241aa095da
Author: Phillip Lord <phillip.lord@newcastle.ac.uk>
Commit: Phillip Lord <phillip.lord@newcastle.ac.uk>
replace-match now saves point
Previously, the replace-match functions moved point. This has now been
fixed.
---
Makefile | 2 +-
m-buffer.el | 22 ++++++++++++----------
test/m-buffer-test.el | 17 +++++++++++++++++
3 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
index d78ddf2820..50524b2d5b 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ all: install test
install:
cask install
-test:
+test: install
cask exec ert-runner
diff --git a/m-buffer.el b/m-buffer.el
index 637f736118..ecf884cf98 100644
--- a/m-buffer.el
+++ b/m-buffer.el
@@ -538,19 +538,21 @@ Returns markers to the start and end of the replacement.
These
markers are part of MATCH-DATA, so niling them will percolate backward.
See also `replace-match'."
- (-map
- (lambda (match)
- (with-current-buffer
- (marker-buffer (car match))
- (save-match-data
- (set-match-data match)
- (replace-match
- replacement fixedcase literal nil
- (or subexp 0)))))
- match-data)
+ (save-excursion
+ (-map
+ (lambda (match)
+ (with-current-buffer
+ (marker-buffer (car match))
+ (save-match-data
+ (set-match-data match)
+ (replace-match
+ replacement fixedcase literal nil
+ (or subexp 0)))))
+ match-data))
;; we have match-data
(m-buffer-match-nth-group (or subexp 0) match-data))
+
(defun m-buffer-delete-match (match-data &optional subexp)
"Delete all MATCH-DATA.
SUBEXP should be a number indicating the regexp group to delete.
diff --git a/test/m-buffer-test.el b/test/m-buffer-test.el
index a0e9ae3eea..fcb3d66960 100644
--- a/test/m-buffer-test.el
+++ b/test/m-buffer-test.el
@@ -384,4 +384,21 @@
(19 31 19 19))
'((1 18))))))
+
+(ert-deftest replace-point-unmoved ()
+ "After a replace-match has happened point
+should not have moved."
+ (should
+ (equal
+ (m-buffer-wtb-of-file
+ "match-data.txt"
+ (point-min))
+ (m-buffer-wtb-of-file
+ "match-data.txt"
+ (m-buffer-replace-match
+ (m-buffer-match
+ (current-buffer) "two")
+ "one")
+ (point)))))
+
;;; m-buffer-test.el ends here
- [elpa] externals/m-buffer 22ef3ac985 005/115: Emacs 24 only!, (continued)
- [elpa] externals/m-buffer 22ef3ac985 005/115: Emacs 24 only!, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer cbd9d12b3d 023/115: Functions for colourizing text. Improved documentation., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 6e8e29e12d 022/115: Fix some typos, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 05846a92bc 035/115: Removed "-data" from m-buffer-match-data., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 11990bba65 045/115: Version 0.5 release., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer bc7dd63016 051/115: Emacs 24.4 Unit testing., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 115663a882 056/115: Updates for 0.6., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 02feebf931 058/115: Test update due to function private namechange., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 7c5eef2304 067/115: More org documentation changes., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer b67897c833 070/115: Reduce Emacs versions in testing., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 643fbef4bf 078/115: replace-match now saves point,
ELPA Syncer <=
- [elpa] externals/m-buffer 18d086666c 083/115: Lentic-doc completed., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 62df9235a1 087/115: v0.11 release., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 184fe5f609 101/115: Prepare for next iteration., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 9dcfcd69d8 106/115: Update Emacs version requirement, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer e2d5a416ce 113/115: Move back to melpa-stable, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 8681342aaf 114/115: Renamespace assess-discover, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer f76c2d205b 025/115: Merge branch 'master' of github.com:phillord/m-buffer-el, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer fff98c95e3 030/115: Return type of replace-match changed to start end markers. New function `clone-markers', ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 32c3077044 031/115: Bump to snapshot version (rather late!), ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 71a712044e 033/115: v0.3 release, ELPA Syncer, 2022/07/19