changeset 50030:1ec92786c9eb

(query-replace-read-args): Use save-excursion. (map-query-replace-regexp): Use prefix-numeric-value.
author Richard M. Stallman <rms@gnu.org>
date Wed, 05 Mar 2003 20:51:10 +0000
parents 82685b3c615d
children 495a8fcebe80
files lisp/replace.el
diffstat 1 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/replace.el	Wed Mar 05 16:33:42 2003 +0000
+++ b/lisp/replace.el	Wed Mar 05 20:51:10 2003 +0000
@@ -70,10 +70,14 @@
   (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 @@
 	      (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 @@
 		       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)