1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

(isearch-query-replace, isearch-query-replace-regexp):

Add arg `delimited' as in `query-replace' for the case when
isearch-allow-scroll=t and the user types C-u M-%.  Doc fix.
Add more indicators to the prompt ("word" and "in region").
This commit is contained in:
Juri Linkov 2008-10-19 22:33:17 +00:00
parent 56b00ec786
commit 9d14752f31

View file

@ -1333,9 +1333,15 @@ Use `isearch-exit' to quit without signaling."
(sit-for 1)
(isearch-update))
(defun isearch-query-replace (&optional regexp-flag)
"Start `query-replace' with string to replace from last search string."
(interactive)
(defun isearch-query-replace (&optional delimited regexp-flag)
"Start `query-replace' with string to replace from last search string.
The arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries. Note that using the prefix arg
is possible only when `isearch-allow-scroll' is non-nil, and it don't
always provides the correct matches for `query-replace', so the preferred
way to run word replacements from Isearch is `M-s w ... M-%'."
(interactive
(list current-prefix-arg))
(barf-if-buffer-read-only)
(if regexp-flag (setq isearch-regexp t))
(let ((case-fold-search isearch-case-fold-search)
@ -1356,16 +1362,21 @@ Use `isearch-exit' to quit without signaling."
isearch-string
(query-replace-read-to
isearch-string
(if isearch-regexp "Query replace regexp" "Query replace")
(concat "Query replace"
(if (or delimited isearch-word) " word" "")
(if isearch-regexp " regexp" "")
(if (and transient-mark-mode mark-active) " in region" ""))
isearch-regexp)
t isearch-regexp isearch-word nil nil
t isearch-regexp (or delimited isearch-word) nil nil
(if (and transient-mark-mode mark-active) (region-beginning))
(if (and transient-mark-mode mark-active) (region-end)))))
(defun isearch-query-replace-regexp ()
"Start `query-replace-regexp' with string to replace from last search string."
(interactive)
(isearch-query-replace t))
(defun isearch-query-replace-regexp (&optional delimited)
"Start `query-replace-regexp' with string to replace from last search string.
See `isearch-query-replace' for more information."
(interactive
(list current-prefix-arg))
(isearch-query-replace delimited t))
(defun isearch-occur (regexp &optional nlines)
"Run `occur' with regexp to search from the current search string.