# HG changeset patch # User Gerd Moellmann # Date 957381808 0 # Node ID be3f5fa41e90f1c33d88b597200c0580ef2842e9 # Parent d10b6cddbf91a5c27eba8dc0abf2f9c78c0716d4 (query-replace-map): Add binding for `E'. (query-replace-help): Extend help text. (perform-replace): Allow editing the replacement string. diff -r d10b6cddbf91 -r be3f5fa41e90 lisp/replace.el --- a/lisp/replace.el Wed May 03 17:45:58 2000 +0000 +++ b/lisp/replace.el Wed May 03 19:23:28 2000 +0000 @@ -715,7 +715,8 @@ C-w to delete match and recursive edit, C-l to clear the screen, redisplay, and offer same replacement again, ! to replace all remaining matches with no more questions, -^ to move point back to previous match." +^ to move point back to previous match, +E to edit the replacement string" "Help message while in query-replace") (defvar query-replace-map (make-sparse-keymap) @@ -733,6 +734,7 @@ (define-key query-replace-map "n" 'skip) (define-key query-replace-map "Y" 'act) (define-key query-replace-map "N" 'skip) +(define-key query-replace-map "E" 'edit-replacement) (define-key query-replace-map "," 'act-and-show) (define-key query-replace-map "q" 'exit) (define-key query-replace-map "\r" 'exit) @@ -1011,6 +1013,16 @@ (if (and regexp-flag nonempty-match) (setq match-again (and (looking-at search-string) (match-data))))) + + ;; Edit replacement. + ((eq def 'edit-replacement) + (setq next-replacement + (read-input "Edit replacement string: " + next-replacement)) + (or replaced + (replace-match next-replacement nocasify literal)) + (setq done t)) + ((eq def 'delete-and-edit) (delete-region (match-beginning 0) (match-end 0)) (set-match-data