summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2021-01-29 10:55:16 +0200
committerJuri Linkov <juri@linkov.net>2021-01-29 10:55:16 +0200
commit840b1c66b4a686763c9288de8efb7ec48ccf06da (patch)
treef75d2ef0c9d2e12f0958a52637fce4e2dcac7ff6
parent4ce5646d592c8d998d066d56108e6dd92372e22b (diff)
downloademacs-840b1c66b4a686763c9288de8efb7ec48ccf06da.tar.gz
Use save-mark-and-excursion in query-replace-read-args (bug#45617)
-rw-r--r--lisp/replace.el17
1 files changed, 9 insertions, 8 deletions
diff --git a/lisp/replace.el b/lisp/replace.el
index cbf24bedef4..f13d27aff89 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -343,14 +343,15 @@ Prompt with PROMPT. REGEXP-FLAG non-nil means the response should a regexp."
(defun query-replace-read-args (prompt regexp-flag &optional noerror)
(unless noerror
(barf-if-buffer-read-only))
- (let* ((from (query-replace-read-from prompt regexp-flag))
- (to (if (consp from) (prog1 (cdr from) (setq from (car from)))
- (query-replace-read-to from prompt regexp-flag))))
- (list from to
- (or (and current-prefix-arg (not (eq current-prefix-arg '-)))
- (and (plist-member (text-properties-at 0 from) 'isearch-regexp-function)
- (get-text-property 0 'isearch-regexp-function from)))
- (and current-prefix-arg (eq current-prefix-arg '-)))))
+ (save-mark-and-excursion
+ (let* ((from (query-replace-read-from prompt regexp-flag))
+ (to (if (consp from) (prog1 (cdr from) (setq from (car from)))
+ (query-replace-read-to from prompt regexp-flag))))
+ (list from to
+ (or (and current-prefix-arg (not (eq current-prefix-arg '-)))
+ (and (plist-member (text-properties-at 0 from) 'isearch-regexp-function)
+ (get-text-property 0 'isearch-regexp-function from)))
+ (and current-prefix-arg (eq current-prefix-arg '-))))))
(defun query-replace (from-string to-string &optional delimited start end backward region-noncontiguous-p)
"Replace some occurrences of FROM-STRING with TO-STRING.