# HG changeset patch # User Karl Heuer # Date 879218815 0 # Node ID b87f3ba0e1d79b3c3a949a9156eccfbfdf1bc19c # Parent 7cb27e61a1d5f310a179576837f47658ef35a3b9 (perform-replace): In Transient Mark mode, if region is active, only search the region. (query-replace, etc.): Doc fixes. diff -r 7cb27e61a1d5 -r b87f3ba0e1d7 lisp/replace.el --- a/lisp/replace.el Tue Nov 11 03:24:18 1997 +0000 +++ b/lisp/replace.el Tue Nov 11 03:26:55 1997 +0000 @@ -54,6 +54,9 @@ As each match is found, the user must type a character saying what to do with it. For directions, type \\[help-command] at that time. +In Transient Mark mode, if the mark is active, operate on the contents +of the region. Otherwise, operate from point to the end of the buffer. + If `query-replace-interactive' is non-nil, the last incremental search string is used as FROM-STRING--you don't have to specify it with the minibuffer. @@ -69,6 +72,7 @@ To customize possible responses, change the \"bindings\" in `query-replace-map'." (interactive (query-replace-read-args "Query replace" nil)) (perform-replace from-string to-string t nil arg)) + (define-key esc-map "%" 'query-replace) (defun query-replace-regexp (regexp to-string &optional arg) @@ -76,6 +80,9 @@ As each match is found, the user must type a character saying what to do with it. For directions, type \\[help-command] at that time. +In Transient Mark mode, if the mark is active, operate on the contents +of the region. Otherwise, operate from point to the end of the buffer. + If `query-replace-interactive' is non-nil, the last incremental search regexp is used as REGEXP--you don't have to specify it with the minibuffer. @@ -97,6 +104,9 @@ that each successive replacement uses the next successive replacement string, wrapping around from the last such string to the first. +In Transient Mark mode, if the mark is active, operate on the contents +of the region. Otherwise, operate from point to the end of the buffer. + Non-interactively, TO-STRINGS may be a list of replacement strings. If `query-replace-interactive' is non-nil, the last incremental search @@ -139,6 +149,9 @@ \(Preserving case means that if the string matched is all caps, or capitalized, then its replacement is upcased or capitalized.) +In Transient Mark mode, if the mark is active, operate on the contents +of the region. Otherwise, operate from point to the end of the buffer. + Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace only matches surrounded by word boundaries. @@ -166,6 +179,9 @@ and `\\=\\N' (where N is a digit) stands for whatever what matched the Nth `\\(...\\)' in REGEXP. +In Transient Mark mode, if the mark is active, operate on the contents +of the region. Otherwise, operate from point to the end of the buffer. + If `query-replace-interactive' is non-nil, the last incremental search regexp is used as REGEXP--you don't have to specify it with the minibuffer. @@ -650,6 +666,9 @@ (replace-count 0) (nonempty-match nil) + ;; If non-nil, it is marker saying where in the buffer to stop. + (limit nil) + ;; Data for the next match. If a cons, it has the same format as ;; (match-data); otherwise it is t if a match is possible at point. (match-again t) @@ -658,6 +677,13 @@ (if query-flag (substitute-command-keys "Query replacing %s with %s: (\\\\[help] for help) ")))) + + ;; If region is active, in Transient Mark mode, operate on region. + (if (and transient-mark-mode mark-active) + (progn + (setq limit (copy-marker (region-end))) + (goto-char (region-beginning)) + (deactivate-mark))) (if (stringp replacements) (setq next-replacement replacements) (or repeat-count (setq repeat-count 1))) @@ -684,7 +710,7 @@ (progn (forward-char 1) (not (eobp)))) - (funcall search-function search-string nil t) + (funcall search-function search-string limit t) ;; For speed, use only integers and ;; reuse the list used last time. (match-data t real-match-data)))))