diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/replace.el | 23 |
2 files changed, 20 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d949e91ee8b..38c4f64ff36 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2003-03-05 Richard M. Stallman <rms@gnu.org> + + * replace.el (query-replace-read-args): Use save-excursion. + (map-query-replace-regexp): Use prefix-numeric-value. + 2003-03-05 Juanma Barranquero <lektu@terra.es> * term/w32-win.el (x-handle-geometry): Put sizes on diff --git a/lisp/replace.el b/lisp/replace.el index 5fc68fa9408..82dfb0e4056 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -70,10 +70,14 @@ strings or patterns." (let (from to) (if query-replace-interactive (setq from (car (if regexp-flag regexp-search-ring search-ring))) - (setq from (read-from-minibuffer (format "%s: " string) - nil nil nil - query-replace-from-history-variable - nil t)) + ;; The save-excursion here is in case the user marks and copies + ;; a region in order to specify the minibuffer input. + ;; That should not clobber the region for the query-replace itself. + (save-excursion + (setq from (read-from-minibuffer (format "%s: " string) + nil nil nil + query-replace-from-history-variable + nil t))) ;; Warn if user types \n or \t, but don't reject the input. (if (string-match "\\\\[nt]" from) (let ((match (match-string 0 from))) @@ -84,9 +88,10 @@ strings or patterns." (message "Note: `\\t' here doesn't match a tab; to do that, just type TAB"))) (sit-for 2)))) - (setq to (read-from-minibuffer (format "%s %s with: " string from) - nil nil nil - query-replace-to-history-variable from t)) + (save-excursion + (setq to (read-from-minibuffer (format "%s %s with: " string from) + nil nil nil + query-replace-to-history-variable from t))) (list from to current-prefix-arg))) (defun query-replace (from-string to-string &optional delimited start end) @@ -252,7 +257,9 @@ Fourth and fifth arg START and END specify the region to operate on." from) nil nil nil 'query-replace-history from t)) - (list from to current-prefix-arg + (list from to + (and current-prefix-arg + (prefix-numeric-value current-prefix-arg)) (if (and transient-mark-mode mark-active) (region-beginning)) (if (and transient-mark-mode mark-active) |