From 290ad346d793d42c654adbde87089b22f4aa0fa5 Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Sat, 26 Feb 2022 23:08:26 +0100 Subject: [PATCH] Expand help string in 'perform-replace' prompt * lisp/replace.el (query-replace-prompt-help): New variable, help string shown next to 'perform-replace' prompt. (query-replace-map): Reorder entries so that 'substitute-command-keys' does the right job. (perform-replace): Use 'query-replace-prompt-help. --- lisp/replace.el | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index 06be597855..49cf652ddc 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -2445,18 +2445,22 @@ query-replace-help in the current buffer." "Help message while in `query-replace'.") +(defvar query-replace-prompt-help + "\\(\\[act]/\\[skip], \\[act-and-exit] replace & exit, \\[backup] back up, \\[help] help)" + "Help string to show next to the `query-replace' prompt.") + (defvar query-replace-map (let ((map (make-sparse-keymap))) (define-key map " " 'act) (define-key map "\d" 'skip) (define-key map [delete] 'skip) (define-key map [backspace] 'skip) - (define-key map "y" 'act) - (define-key map "n" 'skip) (define-key map "Y" 'act) + (define-key map "y" 'act) (define-key map "N" 'skip) - (define-key map "e" 'edit-replacement) + (define-key map "n" 'skip) (define-key map "E" 'edit-replacement) + (define-key map "e" 'edit-replacement) (define-key map "," 'act-and-show) (define-key map "q" 'exit) (define-key map "\r" 'exit) @@ -2840,20 +2844,20 @@ perform-replace (match-again t) (message - (if query-flag - (apply #'propertize - (concat "Query replacing " - (if backward "backward " "") - (if delimited-flag - (or (and (symbolp delimited-flag) - (get delimited-flag - 'isearch-message-prefix)) - "word ") "") - (if regexp-flag "regexp " "") - "%s with %s: " - (substitute-command-keys - "(\\\\[help] for help) ")) - minibuffer-prompt-properties)))) + (when query-flag + (concat + (apply #'propertize + (concat "Query replacing " + (if backward "backward " "") + (if delimited-flag + (or (and (symbolp delimited-flag) + (get delimited-flag + 'isearch-message-prefix)) + "word ") "") + (if regexp-flag "regexp " "") + "%s with %s: ") + minibuffer-prompt-properties) + (substitute-command-keys query-replace-prompt-help))))) ;; Unless a single contiguous chunk is selected, operate on multiple chunks. (when region-noncontiguous-p -- 2.35.1