diff options
author | Juri Linkov <juri@linkov.net> | 2021-01-29 10:55:16 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2021-01-29 10:55:16 +0200 |
commit | 840b1c66b4a686763c9288de8efb7ec48ccf06da (patch) | |
tree | f75d2ef0c9d2e12f0958a52637fce4e2dcac7ff6 | |
parent | 4ce5646d592c8d998d066d56108e6dd92372e22b (diff) | |
download | emacs-840b1c66b4a686763c9288de8efb7ec48ccf06da.tar.gz |
Use save-mark-and-excursion in query-replace-read-args (bug#45617)
-rw-r--r-- | lisp/replace.el | 17 |
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. |