summaryrefslogtreecommitdiff
path: root/lisp/replace.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2019-07-05 22:11:34 +0300
committerJuri Linkov <juri@linkov.net>2019-07-05 22:11:34 +0300
commitdde0320020429a2d2917895fc0e2f5a24ffe6348 (patch)
tree565e314230e08f4334fc7c484322f1a5d3672270 /lisp/replace.el
parent44f199648b0c986a0ac7608f4e9d803c619ae2d6 (diff)
downloademacs-dde0320020429a2d2917895fc0e2f5a24ffe6348.tar.gz
* lisp/replace.el (replace-highlight): Add save-match-data (bug#36328)
* lisp/term/tty-colors.el (tty-color-canonicalize): Replace string-match with string-match-p. Thanks to Jayden Navarro <jayden@yugabyte.com> and Alan Mackenzie <acm@muc.de>
Diffstat (limited to 'lisp/replace.el')
-rw-r--r--lisp/replace.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/replace.el b/lisp/replace.el
index 9d1b7bf747d..db305adfd38 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -2316,7 +2316,11 @@ It is called with three arguments, as if it were
(isearch-forward (not backward))
(isearch-other-end match-beg)
(isearch-error nil))
- (isearch-lazy-highlight-new-loop range-beg range-end))))
+ (save-match-data
+ ;; Preserve match-data for perform-replace since
+ ;; isearch-lazy-highlight-new-loop calls `sit-for' that
+ ;; does redisplay that might clobber match data (bug#36328).
+ (isearch-lazy-highlight-new-loop range-beg range-end)))))
(defun replace-dehighlight ()
(when replace-overlay