kgk@CS.BROWN.EDU (11/14/89)
I would like to propose the addition of new functionality to query
replacement functions so that a user can change the replacement
string/regexp during the query replacement. By replacement
string/regexp, I mean the string/regexp to replace with, not the
string/regexp being replaced.
This comes in handy on occasions such as the following. You
duplicate a function definition or paragraph three times. In the
first copy, you replace all occurrences of x by y, and in the second
all occurrences of x by z, and so on.
The suggested change can be implemented by the following. I selected
C-c as the command character to stand for change, but of course, you
are welcome to change it as you see fit.
Keiji Kanazawa
diff -c replace.el-dist replace.el
*** replace.el-dist Mon Nov 13 11:27:28 1989
--- replace.el Mon Nov 13 11:30:06 1989
***************
*** 202,207 ****
--- 202,208 ----
C-r to enter recursive edit (\\[exit-recursive-edit] to get out again),
C-w to delete match and recursive edit,
C-l to clear the screen, redisplay, and offer same replacement again,
+ C-c to replace the string or regexp to replace with,
! to replace all remaining matches with no more questions,
^ to move point back to previous match."
"Help message while in query-replace")
***************
*** 282,287 ****
--- 283,296 ----
((or (= char ?\177)
(= char ?n))
(setq done t))
+ ((= char ?\C-c)
+ (setq to-string
+ (read-from-minibuffer (concat "Query replace "
+ (if regexp-flag
+ "regexp "
+ "")
+ from-string
+ " with: "))))
((= char ?\C-l)
(recenter nil))
((= char ?\C-r)