]> git.eshelyaron.com Git - emacs.git/commitdiff
Use substitute-command-keys for literal key sequences
authorStefan Kangas <stefan@marxist.se>
Mon, 22 Nov 2021 10:45:44 +0000 (11:45 +0100)
committerStefan Kangas <stefan@marxist.se>
Mon, 22 Nov 2021 11:04:19 +0000 (12:04 +0100)
* lisp/abbrev.el (expand-region-abbrevs):
* lisp/calc/calc-graph.el (calc-graph-show-dumb):
* lisp/calc/calc-help.el (calc-help-for-help):
* lisp/calc/calc-mode.el (calc-auto-why):
* lisp/calc/calc.el (calc-do):
* lisp/calculator.el (calculator-mode):
* lisp/dired-aux.el (dired-create-files)
(dired-do-create-files-regexp, dired-create-files-non-directory):
* lisp/dired-x.el (dired-virtual):
* lisp/dired.el (dired-mark-region, dired-unmark-all-files):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
* lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
* lisp/epa-ks.el (epa-ks--display-keys):
* lisp/erc/erc.el (erc-toggle-debug-irc-protocol):
* lisp/files.el (save-some-buffers):
* lisp/gnus/gnus-dired.el (gnus-dired-find-file-mailcap)
(gnus-dired-print):
* lisp/gnus/gnus-group.el (gnus-keep-same-level):
* lisp/gnus/gnus-score.el (gnus-score-find-trace):
* lisp/gnus/gnus.el (to-list):
* lisp/gnus/message.el (message--send-mail-maybe-partially):
* lisp/mail/supercite.el (sc-set-variable):
* lisp/minibuffer.el (minibuffer-inactive-mode):
* lisp/progmodes/etags.el (select-tags-table):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode)
(idlwave-shell-char-mode-loop):
* lisp/replace.el (query-replace-help):
* lisp/simple.el (set-variable):
* lisp/subr.el (read-char-from-minibuffer):
* lisp/textmodes/ispell.el (ispell-help, ispell-message):
* lisp/textmodes/reftex-global.el (reftex-find-duplicate-labels):
* lisp/textmodes/reftex-vars.el
(reftex-toc-include-file-boundaries)
(reftex-toc-include-labels, reftex-toc-include-index-entries)
(reftex-toc-include-context, reftex-toc-follow-mode)
(reftex-index-include-context, reftex-index-follow-mode)
(reftex-enable-partial-scans)
(reftex-auto-update-selection-buffers)
(reftex-highlight-selection):
* lisp/time.el (display-time-update):
* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
* lisp/vc/ediff-init.el (ediff-keep-variants):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map)
(ediff-patch-file-internal):
* lisp/windmove.el (windmove-delete-default-keybindings): Use
'substitute-command-keys' for literal key sequences.

* lisp/userlock.el (userlock--fontify-key): Remove function.
(ask-user-about-lock, ask-user-about-lock-help)
(ask-user-about-supersession-threat)
(ask-user-about-supersession-help): Use 'substitute-command-keys' for
literal key sequences.

* lisp/ibuffer.el (ibuffer-unmark-all): Use 'substitute-command-keys'
for command.

37 files changed:
lisp/abbrev.el
lisp/calc/calc-graph.el
lisp/calc/calc-help.el
lisp/calc/calc-misc.el
lisp/calc/calc-mode.el
lisp/calc/calc.el
lisp/calculator.el
lisp/dired-aux.el
lisp/dired-x.el
lisp/dired.el
lisp/emacs-lisp/map-ynp.el
lisp/emacs-lisp/re-builder.el
lisp/epa-ks.el
lisp/erc/erc.el
lisp/files.el
lisp/gnus/gnus-dired.el
lisp/gnus/gnus-group.el
lisp/gnus/gnus-score.el
lisp/gnus/gnus.el
lisp/gnus/message.el
lisp/ibuffer.el
lisp/mail/supercite.el
lisp/minibuffer.el
lisp/progmodes/etags.el
lisp/progmodes/idlw-shell.el
lisp/replace.el
lisp/simple.el
lisp/subr.el
lisp/textmodes/ispell.el
lisp/textmodes/reftex-global.el
lisp/textmodes/reftex-vars.el
lisp/time.el
lisp/userlock.el
lisp/vc/ediff-help.el
lisp/vc/ediff-init.el
lisp/vc/ediff-ptch.el
lisp/windmove.el

index d3daf637cc62583854ccd357896cc8f0476c0027..386aff162706842915d2cc1b5e40443d80a4c7da 100644 (file)
@@ -403,7 +403,7 @@ argument."
 
 (defun expand-region-abbrevs (start end &optional noquery)
   "For abbrev occurrence in the region, offer to expand it.
-The user is asked to type `y' or `n' for each occurrence.
+The user is asked to type \\`y' or \\`n' for each occurrence.
 A prefix argument means don't query; expand all abbrevs."
   (interactive "r\nP")
   (save-excursion
index 7891e35c40f067194f63a3dbf960b490d2425732..b6ee124a72fbb4c9cd781dde84a0c3bbfec86628 100644 (file)
@@ -969,7 +969,8 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
          (define-key calc-dumb-map "\C-c\C-c" 'exit-recursive-edit)))
     (use-local-map calc-dumb-map)
     (setq truncate-lines t)
-    (message "Type `q' or `C-c C-c' to return to Calc")
+    (message (substitute-command-keys
+              "Type \\`q' or \\`C-c C-c' to return to Calc"))
     (recursive-edit)
     (bury-buffer "*Gnuplot Trail*")))
 
index 8481d0b5e9da24d136df0dc09a2f74f1ce8bfefd..2633d64fe427341d651fc97a35fd68dd65b2c580 100644 (file)
       (beep))))
 
 (defun calc-help-for-help (arg)
-  "You have typed `h', the Calc help character.  Type a Help option:
+  "You have typed \\`h', the Calc help character.  Type a Help option:
 
-B  calc-describe-bindings.  Display a table of all key bindings.
-H  calc-full-help.  Display all `?' key messages at once.
+\\`B'  calc-describe-bindings.  Display a table of all key bindings.
+\\`H'  calc-full-help.  Display all \\`?' key messages at once.
 
-I  calc-info.  Read the Calc manual using the Info system.
-T  calc-tutorial.  Read the Calc tutorial using the Info system.
-S  calc-info-summary.  Read the Calc summary using the Info system.
+\\`I'  calc-info.  Read the Calc manual using the Info system.
+\\`T'  calc-tutorial.  Read the Calc tutorial using the Info system.
+\\`S'  calc-info-summary.  Read the Calc summary using the Info system.
 
-C  calc-describe-key-briefly.  Look up the command name for a given key.
-K  calc-describe-key.  Look up a key's documentation in the manual.
-F  calc-describe-function.  Look up a function's documentation in the manual.
-V  calc-describe-variable.  Look up a variable's documentation in the manual.
+\\`C'  calc-describe-key-briefly.  Look up the command name for a given key.
+\\`K'  calc-describe-key.  Look up a key's documentation in the manual.
+\\`F'  calc-describe-function.  Look up a function's documentation in the manual.
+\\`V'  calc-describe-variable.  Look up a variable's documentation in the manual.
 
-N  calc-view-news.  Display Calc history of changes.
+\\`N'  calc-view-news.  Display Calc history of changes.
 
-C-c  Describe conditions for copying Calc.
-C-d  Describe how you can get a new copy of Calc or report a bug.
-C-w  Describe how there is no warranty for Calc."
+\\`C-c'  Describe conditions for copying Calc.
+\\`C-d'  Describe how you can get a new copy of Calc or report a bug.
+\\`C-w'  Describe how there is no warranty for Calc."
   (interactive "P")
   (if calc-dispatch-help
       (let (key)
index c8394e8c2fab1b92664da4a5ee6676984cdbb67c..1c4438e7f7ab8b375cab353da2605b02445349bf 100644 (file)
@@ -216,26 +216,28 @@ Calc user interface as before (either C-x * C or C-x * K; initially C-x * C)."
 (defun calc-help ()
   (interactive)
   (let ((msgs
-        '("Press `h' for complete help; press `?' repeatedly for a summary"
-          "Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit"
-          "Letter keys: SHIFT + Undo, reDo; Inverse, Hyperbolic, Option"
-          "Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB"
-          "Letter keys: SHIFT + Floor, Round; Abs, conJ, arG; Pi"
-          "Letter keys: SHIFT + Num-eval; More-recn; eXec-kbd-macro; Keep-args"
-          "Other keys: +, -, *, /, ^, \\ (int div), : (frac div)"
-          "Other keys: & (1/x), | (concat), % (modulo), ! (factorial)"
-          "Other keys: \\=' (alg-entry), = (eval), \\=` (edit); M-RET (last-args)"
-          "Other keys: SPC/RET (enter/dup), LFD (over); < > (scroll horiz)"
-          "Other keys: DEL (drop), M-DEL (drop-above); { } (scroll vert)"
-          "Other keys: TAB (swap/roll-dn), M-TAB (roll-up)"
-          "Other keys: [ , ; ] (vector), ( , ) (complex), ( ; ) (polar)"
-          "Prefix keys: Algebra, Binary/business, Convert, Display"
-          "Prefix keys: Functions, Graphics, Help, J (select)"
-          "Prefix keys: Kombinatorics/statistics, Modes, Store/recall"
-          "Prefix keys: Trail/time, Units/statistics, Vector/matrix"
-          "Prefix keys: Z (user), SHIFT + Z (define)"
-          "Prefix keys: prefix + ? gives further help for that prefix"
-           "  Calc by Dave Gillespie, daveg@synaptics.com")))
+         ;; FIXME: Change these to `substitute-command-keys' syntax.
+         (mapcar #'substitute-command-keys
+          '("Press \\`h' for complete help; press \\`?' repeatedly for a summary"
+            "Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit"
+            "Letter keys: SHIFT + Undo, reDo; Inverse, Hyperbolic, Option"
+            "Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB"
+            "Letter keys: SHIFT + Floor, Round; Abs, conJ, arG; Pi"
+            "Letter keys: SHIFT + Num-eval; More-recn; eXec-kbd-macro; Keep-args"
+            "Other keys: +, -, *, /, ^, \\ (int div), : (frac div)"
+            "Other keys: & (1/x), | (concat), % (modulo), ! (factorial)"
+            "Other keys: \\=' (alg-entry), = (eval), \\=` (edit); M-RET (last-args)"
+            "Other keys: \\`SPC'/\\`RET' (enter/dup), LFD (over); < > (scroll horiz)"
+            "Other keys: \\`DEL' (drop), \\`M-DEL' (drop-above); { } (scroll vert)"
+            "Other keys: \\`TAB' (swap/roll-dn), \\`M-TAB' (roll-up)"
+            "Other keys: [ , ; ] (vector), ( , ) (complex), ( ; ) (polar)"
+            "Prefix keys: Algebra, Binary/business, Convert, Display"
+            "Prefix keys: Functions, Graphics, Help, J (select)"
+            "Prefix keys: Kombinatorics/statistics, Modes, Store/recall"
+            "Prefix keys: Trail/time, Units/statistics, Vector/matrix"
+            "Prefix keys: Z (user), SHIFT + Z (define)"
+            "Prefix keys: prefix + ? gives further help for that prefix"
+            "  Calc by Dave Gillespie, daveg@synaptics.com"))))
     (if calc-full-help-flag
        msgs
       (if (or calc-inverse-flag calc-hyperbolic-flag)
index 68c8b90ac3bbd2b7ccd2ee09ba55da9f9c74df02..211b8e661fd8895abd9bbde9b38064f6cc251890 100644 (file)
      (setq n (and (not (eq calc-auto-why t)) (if calc-auto-why t 1))))
    (calc-change-mode 'calc-auto-why n nil)
    (cond ((null n)
-         (message "User must press `w' to explain unsimplified results"))
+         (message (substitute-command-keys
+                    "User must press \\`w' to explain unsimplified results")))
         ((eq n t)
-         (message "Automatically doing `w' to explain unsimplified results"))
+          (message (substitute-command-keys
+                    "Automatically doing \\`w' to explain unsimplified results")))
         (t
-         (message "Automatically doing `w' only for unusual messages")))))
+          (message (substitute-command-keys
+                    "Automatically doing \\`w' only for unusual messages"))))))
 
 (defun calc-group-digits (n)
   (interactive "P")
index bd4ec4ff2f0940c25c9ec21eba91644c2dae7dcb..9774ddff402bcb9ea5db88c318bf938e4dbc4073 100644 (file)
@@ -1621,7 +1621,8 @@ See calc-keypad for details."
                    (stringp (nth 1 err))
                    (string-match "max-specpdl-size\\|max-lisp-eval-depth"
                                  (nth 1 err)))
-              (error "Computation got stuck or ran too long.  Type `M' to increase the limit")
+               (error (substitute-command-keys
+                       "Computation got stuck or ran too long.  Type \\`M' to increase the limit"))
             (setq calc-aborted-prefix nil)
             (signal (car err) (cdr err)))))
       (when calc-aborted-prefix
index 6bcea2d885e1c9ec2514c2d317ef46735eca33f9..0c255c0cf9dd21ed5de698f5c6aca1316352bd85 100644 (file)
@@ -593,15 +593,15 @@ except when using a non-decimal radix mode for input (in this case `e'
 will be the hexadecimal digit).
 
 Here are the editing keys:
-* `RET' `='      evaluate the current expression
-* `C-insert'     copy the whole current expression to the `kill-ring'
-* `C-return'     evaluate, save result the `kill-ring' and exit
-* `insert'       paste a number if the one was copied (normally)
-* `delete' `C-d' clear last argument or whole expression (hit twice)
-* `backspace'    delete a digit or a previous expression element
-* `h' `?'        pop-up a quick reference help
-* `ESC' `q'      exit (`ESC' can be used if `calculator-bind-escape' is
-                 non-nil, otherwise use three consecutive `ESC's)
+* \\`RET' \\`='          evaluate the current expression
+* \\`C-<insert>'     copy the whole current expression to the `kill-ring'
+* \\`C-<return>'     evaluate, save result the `kill-ring' and exit
+* \\`<insert>'       paste a number if the one was copied (normally)
+* \\`<delete>' \\`C-d'   clear last argument or whole expression (hit twice)
+* \\`<backspace>'    delete a digit or a previous expression element
+* \\`h' \\`?'            pop-up a quick reference help
+* \\`ESC' \\`q'          exit (\\`ESC' can be used if `calculator-bind-escape' is
+                 non-nil, otherwise use three consecutive \\`ESC's)
 
 These operators are pre-defined:
 * `+' `-' `*' `/' the common binary operators
@@ -623,10 +623,10 @@ argument.
 hex/oct/bin modes can be set for input and for display separately.
 Another toggle-able mode is for using degrees instead of radians for
 trigonometric functions.
-The keys to switch modes are (both `H' and `X' are for hex):
-* `D'             switch to all-decimal mode, or toggle degrees/radians
-* `B' `O' `H' `X' binary/octal/hexadecimal modes for input & display
-* `i' `o'         followed by one of `D' `B' `O' `H' `X' (case
+The keys to switch modes are (both \\`H' and \\`X' are for hex):
+* \\`D'             switch to all-decimal mode, or toggle degrees/radians
+* \\`B' \\`O' \\`H' \\`X'       binary/octal/hexadecimal modes for input & display
+* \\`i' \\`o'         followed by one of \\`D' \\`B' \\`O' \\`H' \\`X' (case
                   insensitive) sets only the input or display radix mode
 The prompt indicates the current modes:
 * \"==\": decimal mode (using radians);
@@ -649,17 +649,17 @@ collected data.  It is possible to navigate in this list, and if the
 value shown is the current one on the list, an indication is displayed
 as \"[N]\" if this is the last number and there are N numbers, or
 \"[M/N]\" if the M-th value is shown.
-* `SPC'            evaluate the current value as usual, but also adds
+* \\`SPC'            evaluate the current value as usual, but also adds
                    the result to the list of saved values
-* `l' `v'          computes total / average of saved values
-* `up' `C-p'       browse to the previous value in the list
-* `down' `C-n'     browse to the next value in the list
-* `delete' `C-d'   remove current value from the list (if it is on it)
-* `C-delete' `C-c' delete the whole list
+* \\`l' \\`v'            computes total / average of saved values
+* \\`<up>' \\`C-p'       browse to the previous value in the list
+* \\`<down>' \\`C-n'     browse to the next value in the list
+* \\`<delete>' \\`C-d'   remove current value from the list (if it is on it)
+* \\`C-<delete>' \\`C-c' delete the whole list
 
 Registers are variable-like place-holders for values:
-* `s' followed by a character attach the current value to that character
-* `g' followed by a character fetches the attached value
+* \\`s' followed by a character attach the current value to that character
+* \\`g' followed by a character fetches the attached value
 
 There are many variables that can be used to customize the calculator.
 Some interesting customization variables are:
index 92409db33ea25ef4bad76e2f86ec836e2530c3ed..588551a64172fcdfa5ca6a3811e830d1be1477c3 100644 (file)
@@ -1989,11 +1989,12 @@ or with the current marker character if MARKER-CHAR is t."
           (let* ((overwrite (file-exists-p to))
                  (dired-overwrite-confirmed ; for dired-handle-overwrite
                   (and overwrite
-                       (let ((help-form (format-message "\
-Type SPC or `y' to overwrite file `%s',
-DEL or `n' to skip to next,
-ESC or `q' to not overwrite any of the remaining files,
-`!' to overwrite all remaining files with no more questions." to)))
+                       (let ((help-form (format-message
+                                         (substitute-command-keys "\
+Type \\`SPC' or \\`y' to overwrite file `%s',
+\\`DEL' or \\`n' to skip to next,
+\\`ESC' or \\`q' to not overwrite any of the remaining files,
+\\`!' to overwrite all remaining files with no more questions.") to)))
                          (dired-query 'overwrite-query
                                       "Overwrite `%s'?" to))))
                  ;; must determine if FROM is marked before file-creator
@@ -2486,11 +2487,12 @@ Also see `dired-do-revert-buffer'."
   ;; Optional arg MARKER-CHAR as in dired-create-files.
   (let* ((fn-list (dired-get-marked-files nil arg))
         (operation-prompt (concat operation " `%s' to `%s'?"))
-        (rename-regexp-help-form (format-message "\
-Type SPC or `y' to %s one match, DEL or `n' to skip to next,
-`!' to %s all remaining matches with no more questions."
-                                                 (downcase operation)
-                                                 (downcase operation)))
+         (rename-regexp-help-form (format-message
+                                   (substitute-command-keys "\
+Type \\`SPC' or \\`y' to %s one match, \\`DEL' or \\`n' to skip to next,
+\\`!' to %s all remaining matches with no more questions.")
+                                   (downcase operation)
+                                   (downcase operation)))
         (regexp-name-constructor
          ;; Function to construct new filename using REGEXP and NEWNAME:
          (if whole-name                ; easy (but rare) case
@@ -2611,11 +2613,12 @@ See function `dired-do-rename-regexp' for more info."
        (let ((to (concat (file-name-directory from)
                         (funcall basename-constructor
                                  (file-name-nondirectory from)))))
-        (and (let ((help-form (format-message "\
-Type SPC or `y' to %s one file, DEL or `n' to skip to next,
-`!' to %s all remaining matches with no more questions."
-                                              (downcase operation)
-                                              (downcase operation))))
+         (and (let ((help-form (format-message
+                                (substitute-command-keys "\
+Type \\`SPC' or \\`y' to %s one file, \\`DEL' or \\`n' to skip to next,
+\\`!' to %s all remaining matches with no more questions.")
+                                (downcase operation)
+                                (downcase operation))))
                (dired-query 'rename-non-directory-query
                             (concat operation " `%s' to `%s'")
                             (dired-make-relative from)
index fc626aa76b51a62701fd87903e3e8c7dd0d31802..de21dcf7a60c1adc307f52e43f69b418af881ad6 100644 (file)
@@ -596,7 +596,7 @@ If you have saved a Dired buffer in a file you can use \\[dired-virtual] to
 resume it in a later session.
 
 Type \\<dired-mode-map>\\[revert-buffer] \
-in the Virtual Dired buffer and answer `y' to convert
+in the Virtual Dired buffer and answer \\`y' to convert
 the virtual to a real Dired buffer again.  You don't have to do this, though:
 you can relist single subdirs using \\[dired-do-redisplay]."
 
index a0fa917891139ade82f75b906652a341156310d8..9280c080a4c8b3360ca68e5b9965674822031d12 100644 (file)
@@ -345,11 +345,11 @@ When `file', the region marking is based on the file name.
 This means don't mark the file if the end of the region is
 before the file name displayed on the Dired line, so the file name
 is visually outside the region.  This behavior is consistent with
-marking files without the region using the key `m' that advances
+marking files without the region using the key \\`m' that advances
 point to the next line after marking the file.  Thus the number
 of keys used to mark files is the same as the number of keys
-used to select the region, e.g. `M-2 m' marks 2 files, and
-`C-SPC M-2 n m' marks 2 files, and `M-2 S-down m' marks 2 files.
+used to select the region, for example \\`M-2 m' marks 2 files, and
+\\`C-SPC M-2 n m' marks 2 files, and \\`M-2 S-<down> m' marks 2 files.
 
 When `line', the region marking is based on Dired lines,
 so include the file into marking if the end of the region
@@ -4102,9 +4102,9 @@ Type \\[help-command] at that time for help."
           (inhibit-read-only t) case-fold-search
            dired-unmark-all-files-query
           (string (format "\n%c" mark))
-          (help-form "\
-Type SPC or `y' to unmark one file, DEL or `n' to skip to next,
-`!' to unmark all remaining files with no more questions."))
+           (help-form (substitute-command-keys "\
+Type \\`SPC' or \\`y' to unmark one file, \\`DEL' or \\`n' to skip to next,
+\\`!' to unmark all remaining files with no more questions.")))
       (goto-char (point-min))
       (while (if (eq mark ?\r)
                 (re-search-forward dired-re-mark nil t)
index b95f11eab64bad7eeaf6343e6bb7ccc4a099fa2f..2f2f96ca0da4111726e8427eca40577b5f212711 100644 (file)
@@ -215,12 +215,12 @@ The function's value is the number of actions taken."
                                    (action  (or (nth 2 help) "act on")))
                               (concat
                                 (format-message
-                                 "\
-Type SPC or `y' to %s the current %s;
-DEL or `n' to skip the current %s;
-RET or `q' to skip the current and all remaining %s;
-C-g to quit (cancel the whole command);
-! to %s all remaining %s;\n"
+                                 (substitute-command-keys "\
+Type \\`SPC' or \\`y' to %s the current %s;
+\\`DEL' or \\`n' to skip the current %s;
+\\`RET' or \\`q' to skip the current and all remaining %s;
+\\`C-g' to quit (cancel the whole command);
+\\`!' to %s all remaining %s;\n")
                                  action object object objects action objects)
                                 (mapconcat (lambda (elt)
                                              (format "%s to %s;\n"
index aec438ed9943ef31f0fa4e74f952e9d62a019411..5516b2a81f4c51cb905dd092cedd3df0c01caecf 100644 (file)
@@ -448,7 +448,8 @@ provided in the Commentary section of this library."
   (setq reb-subexp-mode t)
   (reb-update-modestring)
   (use-local-map reb-subexp-mode-map)
-  (message "`0'-`9' to display subexpressions  `q' to quit subexp mode"))
+  (message (substitute-command-keys
+            "\\`0'-\\`9' to display subexpressions  \\`q' to quit subexp mode")))
 
 (defun reb-show-subexp (subexp &optional pause)
   "Visually show limit of subexpression SUBEXP of recent search.
index 35caa1a93c5b39268a39e2de2b763921e5eb0a5b..5dd6ad34d741e62590715476d42f629ace52f4dc 100644 (file)
@@ -210,7 +210,8 @@ KEYS is a list of `epa-ks-key' structures, as parsed by
       (with-current-buffer buf
         (setq tabulated-list-entries entries)
         (tabulated-list-print t t))
-      (message "Press `f' to mark a key, `x' to fetch all marked keys."))))
+      (message (substitute-command-keys
+                "Press \\`f' to mark a key, \\`x' to fetch all marked keys.")))))
 
 (defun epa-ks--restart-search ()
   (when epa-ks-last-query
index c5a4fbe5a0932e87c2939e40971c8376ef7fdfb9..df6c3c09d90e75da693dbdc7df67a2780cbacf40 100644 (file)
@@ -2405,7 +2405,8 @@ If ARG is non-nil, show the *erc-protocol* buffer."
                      (concat "This buffer displays all IRC protocol "
                              "traffic exchanged with servers."))
                     (erc-make-notice "Kill it to disable logging.")
-                    (erc-make-notice "Press `t' to toggle."))))
+                    (erc-make-notice (substitute-command-keys
+                                      "Press \\`t' to toggle.")))))
           (insert (string-join msg "\r\n")))
         (use-local-map (make-sparse-keymap))
         (local-set-key (kbd "t") 'erc-toggle-debug-irc-protocol))
index 1979f1bbe3db262dc00417cce4a615b7dc5d5ae4..f72723ab7dd2d31cf41030e5e0c055440ac0dc98 100644 (file)
@@ -5806,13 +5806,13 @@ of the directory that was default during command invocation."
 
 (defun save-some-buffers (&optional arg pred)
   "Save some modified file-visiting buffers.  Asks user about each one.
-You can answer `y' or SPC to save, `n' or DEL not to save, `C-r'
+You can answer \\`y' or \\`SPC' to save, \\`n' or \\`DEL' not to save, \\`C-r'
 to look at the buffer in question with `view-buffer' before
-deciding, `d' to view the differences using
-`diff-buffer-with-file', `!' to save the buffer and all remaining
-buffers without any further querying, `.' to save only the
-current buffer and skip the remaining ones and `q' or RET to exit
-the function without saving any more buffers.  `C-h' displays a
+deciding, \\`d' to view the differences using
+`diff-buffer-with-file', \\`!' to save the buffer and all remaining
+buffers without any further querying, \\`.' to save only the
+current buffer and skip the remaining ones and \\`q' or \\`RET' to exit
+the function without saving any more buffers.  \\`C-h' displays a
 help message describing these options.
 
 This command first saves any buffers where `buffer-save-without-query' is
index 1d16e007007b320f77dbcb3e88628fb9dda30b70..00769a5da6e6ef2fa4d2e29c90a5c1761f136ff5 100644 (file)
@@ -204,7 +204,8 @@ If ARG is non-nil, open it in a new buffer."
          (find-file file-name)))
     (if (file-symlink-p file-name)
        (error "File is a symlink to a nonexistent target")
-      (error "File no longer exists; type `g' to update Dired buffer"))))
+      (error (substitute-command-keys
+              "File no longer exists; type \\`g' to update Dired buffer")))))
 
 (defun gnus-dired-print (&optional file-name print-to)
   "In dired, print FILE-NAME according to the mailcap file.
@@ -244,9 +245,10 @@ of the file to save in."
            (error "MIME print only implemented via Gnus")))
        (ps-despool print-to))))
    ((file-symlink-p file-name)
-     (error "File is a symlink to a nonexistent target"))
-    (t
-     (error "File no longer exists; type `g' to update Dired buffer"))))
+    (error "File is a symlink to a nonexistent target"))
+   (t
+    (error (substitute-command-keys
+            "File no longer exists; type \\`g' to update Dired buffer")))))
 
 (provide 'gnus-dired)
 
index f0b0ca58796ed5e793f38e0b8332e85952e204f3..2ec001faee743745c49a2cbde092b4a6a93d16ab 100644 (file)
@@ -62,7 +62,7 @@
 
 (defcustom gnus-keep-same-level nil
   "Non-nil means that the newsgroup after this one will be on the same level.
-When you type, for instance, `n' after reading the last article in the
+When you type, for instance, \\`n' after reading the last article in the
 current newsgroup, you will go to the next newsgroup.  If this variable
 is nil, the next newsgroup will be the next from the group
 buffer.
index 2ca258029574adb04bbb8d6923914ab5ff27f4ce..d031047804acdceea84297bf4053b5d00ce3764c 100644 (file)
@@ -2562,16 +2562,17 @@ score in `gnus-newsgroup-scored' by SCORE."
                               (or (caddr s)
                                   gnus-score-interactive-default-score))
                             trace))))
-       (insert
-        "\n\nQuick help:
+        (insert
+         (substitute-command-keys
+          "\n\nQuick help:
 
-Type `e' to edit score file corresponding to the score rule on current line,
-`f' to format (pretty print) the score file and edit it,
-`t' toggle to truncate long lines in this buffer,
-`q' to quit, `k' to kill score trace buffer.
+Type \\`e' to edit score file corresponding to the score rule on current line,
+\\`f' to format (pretty print) the score file and edit it,
+\\`t' toggle to truncate long lines in this buffer,
+\\`q' to quit, \\`k' to kill score trace buffer.
 
 The first sexp on each line is the score rule, followed by the file name of
-the score file and its full name, including the directory.")
+the score file and its full name, including the directory."))
        (goto-char (point-min))
        (gnus-configure-windows 'score-trace)))
     (set-buffer gnus-summary-buffer)
index 4519d65aa84111afbe5561921da2fd902d34e9ce..56934dfa15d0041f26bf9ca36750a9051813e984 100644 (file)
@@ -1467,11 +1467,11 @@ address was listed in gnus-group-split Addresses (see below).")
  :variable-group gnus-group-parameter
  :parameter-type '(gnus-email-address :tag "To List")
  :parameter-document "\
-This address will be used when doing a `a' in the group.
+This address will be used when doing a \\`a' in the group.
 
 It is totally ignored when doing a followup--except that if it is
 present in a news group, you'll get mail group semantics when doing
-`f'.
+\\`f'.
 
 The gnus-group-split mail splitting mechanism will behave as if this
 address was listed in gnus-group-split Addresses (see below).")
index 4a0ea59586c61d2675d1c6fd3219fbdf5f1da347..562bc64f6fbf7671ef2664f05a9c8ec401fd5a90 100644 (file)
@@ -4763,23 +4763,25 @@ Valid types are `send', `return', `exit', `kill' and `postpone'."
                 t
                 "\
 The message size, "
-                (/ (buffer-size) 1000) "KB, is too large.
+                (/ (buffer-size) 1000)
+                (substitute-command-keys "KB, is too large.
 
 Some mail gateways (MTA's) bounce large messages.  To avoid the
-problem, answer `y', and the message will be split into several
-smaller pieces, the size of each is about "
+problem, answer \\`y', and the message will be split into several
+smaller pieces, the size of each is about ")
                 (/ message-send-mail-partially-limit 1000)
-                "KB except the last
+                (substitute-command-keys
+                 "KB except the last
 one.
 
 However, some mail readers (MUA's) can't read split messages, i.e.,
-mails in message/partially format.  Answer `n', and the message
+mails in message/partially format.  Answer \\`n', and the message
 will be sent in one piece.
 
 The size limit is controlled by `message-send-mail-partially-limit'.
 If you always want Gnus to send messages in one piece, set
 `message-send-mail-partially-limit' to nil.
-")))
+"))))
       (progn
         (message "Sending via mail...")
         (if message-send-mail-real-function
index 233127b01128ba8e90a5325aa1e3264a72862055..b461197abe9a2ecad7d1066a29904c45177b21aa 100644 (file)
@@ -1257,7 +1257,9 @@ Otherwise, toggle lock status."
   "Unmark all buffers with mark MARK."
   (interactive "cRemove marks (RET means all):")
   (if (= (ibuffer-count-marked-lines t) 0)
-      (message "No buffers marked; use `m' to mark a buffer")
+      (message (substitute-command-keys
+                "No buffers marked; use \\<ibuffer-mode-map>\
+\\[ibuffer-mark-forward] to mark a buffer"))
     (let ((fn (lambda (_buf mk)
                 (unless (eq mk ?\s)
                   (ibuffer-set-mark-1 ?\s)) t)))
index f393ac773f57b9debb77c82dea6d9cab4b7fbb65..b3080ac416b2f6c0c527bbfe830e0c4e0eb6e94b 100644 (file)
@@ -1767,7 +1767,7 @@ is determined non-interactively.  The value is queried for in the
 minibuffer exactly the same way that `set-variable' does it.
 
 You can see the current value of the variable when the minibuffer is
-querying you by typing `C-h'.  Note that the format is changed
+querying you by typing \\`C-h'.  Note that the format is changed
 slightly from that used by `set-variable' -- the current value is
 printed just after the variable's name instead of at the bottom of the
 help window."
index 0fea057d1cb76fe2e9a49c9c1d407d9325a8ffdc..c2a6b01fc8ef0ab41db36d0b1ab0c0fed1b0e75a 100644 (file)
@@ -2734,7 +2734,7 @@ not active.")
 This is only used when the minibuffer area has no active minibuffer.
 
 Note that the minibuffer may change to this mode more often than
-you might expect.  For instance, typing `M-x' may change the
+you might expect.  For instance, typing \\`M-x' may change the
 buffer to this mode, then to a different mode, and then back
 again to this mode upon exit.  Code running from
 `minibuffer-inactive-mode-hook' has to be prepared to run
index d833612cd90e7d8c495c7cc594cb9034ccc290a1..d7dbaa06505cbc1dfb870d06fa9a11141148e615 100644 (file)
@@ -1992,7 +1992,8 @@ see the doc of that variable if you want to add names to the list."
       (setq set-list (delete (car set-list) set-list)))
     (goto-char (point-min))
     (insert-before-markers
-     "Type `t' to select a tags table or set of tags tables:\n\n")
+     (substitute-command-keys
+      "Type \\`t' to select a tags table or set of tags tables:\n\n"))
     (if desired-point
        (goto-char desired-point))
     (set-window-start (selected-window) 1 t))
index 5a31ad350874253880512bde4963d44d21db6887..ded3a9c463c885bddc73fd9791c0c7da5972a8cf 100644 (file)
@@ -817,7 +817,7 @@ IDL has currently stepped.")
 
    Command history, searching of previous commands, command line
    editing are available via the comint-mode key bindings, by default
-   mostly on the key `C-c'.  Command history is also available with
+   mostly on the key \\`C-c'.  Command history is also available with
    the arrow keys UP and DOWN.
 
 2. Completion
@@ -1327,7 +1327,7 @@ See also the variable `idlwave-shell-input-mode-spells'."
 Characters are sent one by one, without newlines.  The loop is blocking
 and intercepts all input events to Emacs.  You can use this command
 to interact with the IDL command GET_KBRD.
-The loop can be aborted by typing `C-g'.  The loop also exits automatically
+The loop can be aborted by typing \\[keyboard-quit].  The loop also exits automatically
 when the IDL prompt gets displayed again after the current IDL command."
   (interactive)
 
@@ -1342,7 +1342,8 @@ when the IDL prompt gets displayed again after the current IDL command."
        (funcall errf "No IDL program seems to be waiting for input"))
 
     ;; OK, start the loop
-    (message "Character mode on:  Sending single chars (`C-g' to exit)")
+    (message (substitute-command-keys
+              "Character mode on:  Sending single chars (\\[keyboard-quit] to exit)"))
     (message
      (catch 'exit
        (while t
index 5287be2c5244162571be46b2e7630d792e6ba658..0e81b15a09732ae101ce03ff0be409e6a4559505 100644 (file)
@@ -2402,20 +2402,20 @@ To be added to `context-menu-functions'."
 ;; It would be nice to use \\[...], but there is no reasonable way
 ;; to make that display both SPC and Y.
 (defconst query-replace-help
-  "Type Space or `y' to replace one match, Delete or `n' to skip to next,
-RET or `q' to exit, Period to replace one match and exit,
-Comma to replace but not move point immediately,
-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,
-! to replace all remaining matches in this buffer with no more questions,
-^ to move point back to previous match,
-u to undo previous replacement,
-U to undo all replacements,
-E to edit the replacement string.
-In multi-buffer replacements type `Y' to replace all remaining
+  "Type \\`SPC' or \\`y' to replace one match, Delete or \\`n' to skip to next,
+\\`RET' or \\`q' to exit, Period to replace one match and exit,
+\\`,' to replace but not move point immediately,
+\\`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,
+\\`!' to replace all remaining matches in this buffer with no more questions,
+\\`^' to move point back to previous match,
+\\`u' to undo previous replacement,
+\\`U' to undo all replacements,
+\\`E' to edit the replacement string.
+In multi-buffer replacements type \\`Y' to replace all remaining
 matches in all remaining buffers with no more questions,
-`N' to skip to the next buffer without replacing remaining matches
+\\`N' to skip to the next buffer without replacing remaining matches
 in the current buffer."
   "Help message while in `query-replace'.")
 
index 58283e7b7fdf500398447346d20ff35e147761d3..84928caa310925a3408115025c4ad409293eaf8d 100644 (file)
@@ -8912,7 +8912,7 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally.
 
 When called interactively, the user is prompted for VARIABLE and
 then VALUE.  The current value of VARIABLE will be put in the
-minibuffer history so that it can be accessed with `M-n', which
+minibuffer history so that it can be accessed with \\`M-n', which
 makes it easier to edit it."
   (interactive
    (let* ((default-var (variable-at-point))
index 7ba764880ef438ea1bbb8b8b2c13896741a25328..867db47a47e7cf332060d81a06c396176e19fedb 100644 (file)
@@ -3120,7 +3120,7 @@ Optional argument CHARS, if non-nil, should be a list of characters;
 the function will ignore any input that is not one of CHARS.
 Optional argument HISTORY, if non-nil, should be a symbol that
 specifies the history list variable to use for navigating in input
-history using `M-p' and `M-n', with `RET' to select a character from
+history using \\`M-p' and \\`M-n', with \\`RET' to select a character from
 history.
 If you bind the variable `help-form' to a non-nil value
 while calling this function, then pressing `help-char'
index 0a3a49d868a7b9904b5fbf55f0853f56eb4a0e62..4087f7e5f29153bc45e6948f459381e86f43e01b 100644 (file)
@@ -2398,24 +2398,24 @@ Global `ispell-quit' set to start location to continue spell session."
 
 Selections are:
 
-DIGIT: Replace the word with a digit offered in the *Choices* buffer.
-SPC:   Accept word this time.
-`i':   Accept word and insert into private dictionary.
-`a':   Accept word for this session.
-`A':   Accept word and place in `buffer-local dictionary'.
-`r':   Replace word with typed-in value.  Rechecked.
-`R':   Replace word with typed-in value.  Query-replaced in buffer.  Rechecked.
-`?':   Show these commands.
-`x':   Exit spelling buffer.  Move cursor to original point.
-`X':   Exit spelling buffer.  Leaves cursor at the current point, and permits
+\\`0'..\\`9'  Replace the word with a digit offered in the *Choices* buffer.
+\\`SPC'   Accept word this time.
+\\`i'     Accept word and insert into private dictionary.
+\\`a'     Accept word for this session.
+\\`A'     Accept word and place in `buffer-local dictionary'.
+\\`r'     Replace word with typed-in value.  Rechecked.
+\\`R'     Replace word with typed-in value.  Query-replaced in buffer.  Rechecked.
+\\`?'     Show these commands.
+\\`x'     Exit spelling buffer.  Move cursor to original point.
+\\`X'     Exit spelling buffer.  Leaves cursor at the current point, and permits
         the aborted check to be completed later.
-`q':   Quit spelling session (Kills ispell process).
-`l':   Look up typed-in replacement in alternate dictionary.  Wildcards okay.
-`u':   Like `i', but the word is lower-cased first.
-`m':   Place typed-in value in personal dictionary, then recheck current word.
-`C-l':  Redraw screen.
-`C-r':  Recursive edit.
-`C-z':  Suspend Emacs or iconify frame."
+\\`q'     Quit spelling session (Kills ispell process).
+\\`l'     Look up typed-in replacement in alternate dictionary.  Wildcards okay.
+\\`u'     Like \\`i', but the word is lower-cased first.
+\\`m'     Place typed-in value in personal dictionary, then recheck current word.
+\\`C-l'   Redraw screen.
+\\`C-r'   Recursive edit.
+\\`C-z'   Suspend Emacs or iconify frame."
 
   (if (equal ispell-help-in-bufferp 'electric)
       (progn
@@ -2428,26 +2428,28 @@ SPC:   Accept word this time.
            ;;(if (< (window-height) 15)
            ;;   (enlarge-window
            ;;    (- 15 (ispell-adjusted-window-height))))
-           (princ "Selections are:
-
-DIGIT: Replace the word with a digit offered in the *Choices* buffer.
-SPC:   Accept word this time.
-`i':   Accept word and insert into private dictionary.
-`a':   Accept word for this session.
-`A':   Accept word and place in `buffer-local dictionary'.
-`r':   Replace word with typed-in value.  Rechecked.
-`R':   Replace word with typed-in value.  Query-replaced in buffer.  Rechecked.
-`?':   Show these commands.
-`x':   Exit spelling buffer.  Move cursor to original point.
-`X':   Exit spelling buffer.  Leaves cursor at the current point, and permits
-        the aborted check to be completed later.
-`q':   Quit spelling session (Kills ispell process).
-`l':   Look up typed-in replacement in alternate dictionary.  Wildcards okay.
-`u':   Like `i', but the word is lower-cased first.
-`m':   Place typed-in value in personal dictionary, then recheck current word.
-`C-l':  Redraw screen.
-`C-r':  Recursive edit.
-`C-z':  Suspend Emacs or iconify frame.")
+           (princ
+            (substitute-command-keys
+             "Selections are:
+
+\\`0'..\\`9'  Replace the word with a digit offered in the *Choices* buffer.
+\\`SPC'   Accept word this time.
+\\`i'     Accept word and insert into private dictionary.
+\\`a'     Accept word for this session.
+\\`A'     Accept word and place in `buffer-local dictionary'.
+\\`r'     Replace word with typed-in value.  Rechecked.
+\\`R'     Replace word with typed-in value.  Query-replaced in buffer.  Rechecked.
+\\`?'     Show these commands.
+\\`x'     Exit spelling buffer.  Move cursor to original point.
+\\`X'     Exit spelling buffer.  Leaves cursor at the current point, and permits
+          the aborted check to be completed later.
+\\`q'     Quit spelling session (Kills ispell process).
+\\`l'     Look up typed-in replacement in alternate dictionary.  Wildcards okay.
+\\`u'     Like \\`i', but the word is lower-cased first.
+\\`m'     Place typed-in value in personal dictionary, then recheck current word.
+\\`C-l'   Redraw screen.
+\\`C-r'   Recursive edit.
+\\`C-z'   Suspend Emacs or iconify frame."))
            nil)))
 
 
@@ -3883,8 +3885,8 @@ Don't check spelling of message headers except the Subject field.
 Don't check included messages.
 
 To abort spell checking of a message region and send the message anyway,
-use the `x' command.  (Any subsequent regions will be checked.)
-The `X' command aborts sending the message so that you can edit the buffer.
+use the \\`x' command.  (Any subsequent regions will be checked.)
+The \\`X' command aborts sending the message so that you can edit the buffer.
 
 To spell-check whenever a message is sent, include the appropriate lines
 in your init file:
index b90c21339cc5c2db9d40e8eeee48f9ef8eb5c69c..f787f5f3e56e1ebb17a31460b1fd30cadf9cfef2 100644 (file)
@@ -148,8 +148,10 @@ No active TAGS table is required."
     (erase-buffer)
     (insert "                MULTIPLE LABELS IN CURRENT DOCUMENT:\n")
     (insert
-     " Move point to label and type `r' to run a query-replace on the label\n"
-     " and its references.  Type `q' to exit this buffer.\n\n")
+     (substitute-command-keys
+      " Move point to label and type \\`r' to run a query-replace on the label\n")
+     (substitute-command-keys
+      " and its references.  Type \\`q' to exit this buffer.\n\n"))
     (insert " LABEL               FILE\n")
     (insert " -------------------------------------------------------------\n")
     (use-local-map (make-sparse-keymap))
index d57a7678553f3283240eec085e4b56bd015105fc..eedc067b868ed982b4efe9e4f0b75d48f5176814 100644 (file)
@@ -392,19 +392,19 @@ that the *toc* window fills half the frame."
 
 (defcustom reftex-toc-include-file-boundaries nil
   "Non-nil means, include file boundaries in *toc* buffer.
-This flag can be toggled from within the *toc* buffer with the `F' key."
+This flag can be toggled from within the *toc* buffer with the \\`F' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
 (defcustom reftex-toc-include-labels nil
   "Non-nil means, include labels in *toc* buffer.
-This flag can be toggled from within the *toc* buffer with the `l' key."
+This flag can be toggled from within the *toc* buffer with the \\`l' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
 (defcustom reftex-toc-include-index-entries nil
   "Non-nil means, include index entries in *toc* buffer.
-This flag can be toggled from within the *toc* buffer with the `i' key."
+This flag can be toggled from within the *toc* buffer with the \\`i' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
@@ -422,14 +422,14 @@ changed."
 (defcustom reftex-toc-include-context nil
   "Non-nil means, include context with labels in the *toc* buffer.
 Context will only be shown when labels are visible as well.
-This flag can be toggled from within the *toc* buffer with the `c' key."
+This flag can be toggled from within the *toc* buffer with the \\`c' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
 (defcustom reftex-toc-follow-mode nil
   "Non-nil means, point in *toc* buffer will cause other window to follow.
 The other window will show the corresponding part of the document.
-This flag can be toggled from within the *toc* buffer with the `f' key."
+This flag can be toggled from within the *toc* buffer with the \\`f' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
@@ -1627,14 +1627,14 @@ to that section."
 
 (defcustom reftex-index-include-context nil
   "Non-nil means, display the index definition context in the index buffer.
-This flag may also be toggled from the index buffer with the `c' key."
+This flag may also be toggled from the index buffer with the \\`c' key."
   :group 'reftex-index-support
   :type 'boolean)
 
 (defcustom reftex-index-follow-mode nil
   "Non-nil means, point in *Index* buffer will cause other window to follow.
 The other window will show the corresponding part of the document.
-This flag can be toggled from within the *Index* buffer with the `f' key."
+This flag can be toggled from within the *Index* buffer with the \\`f' key."
   :group 'reftex-table-of-contents-browser
   :type 'boolean)
 
@@ -1863,10 +1863,11 @@ of the regular expressions in this list, that file is not parsed by RefTeX."
 (defcustom reftex-enable-partial-scans nil
   "Non-nil means, re-parse only 1 file when asked to re-parse.
 Re-parsing is normally requested with a \\[universal-argument] prefix to many RefTeX commands,
-or with the `r' key in menus.  When this option is t in a multifile document,
+or with the \\`r' key in menus.  When this option is t in a multifile document,
 we will only parse the current buffer, or the file associated with the label
 or section heading near point in a menu.  Requesting re-parsing of an entire
-multifile document then requires a \\[universal-argument] \\[universal-argument] prefix or the capital `R' key
+multifile document then requires a \\[universal-argument] \
+\\[universal-argument] prefix or the capital \\`R' key
 in menus."
   :group 'reftex-optimizations-for-large-documents
   :type 'boolean)
@@ -1912,7 +1913,7 @@ when new labels in its category are added.  See the variable
 When a new label is defined with `reftex-label', all selection buffers
 associated with that label category are emptied, in order to force an
 update upon next use.  When nil, the buffers are left alone and have to be
-updated by hand, with the `g' key from the label selection process.
+updated by hand, with the \\`g' key from the label selection process.
 The value of this variable will only have any effect when
 `reftex-use-multiple-selection-buffers' is non-nil."
   :group 'reftex-optimizations-for-large-documents
@@ -1964,7 +1965,7 @@ instead or as well.  The variable may have one of these values:
    both     Both cursor and mouse trigger highlighting.
 
 Changing this variable requires rebuilding the selection and *toc* buffers
-to become effective (keys `g' or `r')."
+to become effective (keys \\`g' or \\`r')."
   :group 'reftex-fontification-configurations
   :type '(choice
           (const :tag "Never" nil)
index 8496adec22867ba8e149a655b3e5b6af1c3a7763..4f302caa674a6b8d403b32b04b5e41eab80cf745 100644 (file)
@@ -343,7 +343,7 @@ Switches from the 1 to 5 to 15 minute load average, and then back to 1."
   "Update the `display-time' info for the mode line.
 However, don't redisplay right now.
 
-This is used for things like Rmail `g' that want to force an
+This is used for things like Rmail \\`g' that want to force an
 update which can wait for the next redisplay."
   (let* ((now (current-time))
          (time (current-time-string now))
index 348ccc6f8ec930bdaab2de4a8c53f9e70925da1d..9a2d45a84684be0556acba2b33d8e723ea81cdcb 100644 (file)
 
 (define-error 'file-locked "File is locked" 'file-error)
 
-(defun userlock--fontify-key (key)
-  "Add the `help-key-binding' face to string KEY."
-  (propertize key 'face 'help-key-binding))
-
 ;;;###autoload
 (defun ask-user-about-lock (file opponent)
   "Ask user what to do when he wants to edit FILE but it is locked by OPPONENT.
@@ -68,12 +64,9 @@ in any way you like."
                          (match-string 0 opponent)))
              opponent))
       (while (null answer)
-        (message "%s locked by %s: (%s, %s, %s, %s)? "
-                 short-file short-opponent
-                 (userlock--fontify-key "s")
-                 (userlock--fontify-key "q")
-                 (userlock--fontify-key "p")
-                 (userlock--fontify-key "?"))
+        (message (substitute-command-keys
+                  "%s locked by %s: (\\`s', \\`q', \\`p', \\`?'? ")
+                 short-file short-opponent)
        (if noninteractive (error "Cannot resolve lock conflict in batch mode"))
        (let ((tem (let ((inhibit-quit t)
                         (cursor-in-echo-area t))
@@ -88,12 +81,9 @@ in any way you like."
                                      (?? . help))))
            (cond ((null answer)
                   (beep)
-                   (message "Please type %s, %s, or %s; or %s for help"
-                            (userlock--fontify-key "q")
-                            (userlock--fontify-key "s")
-                            (userlock--fontify-key "p")
-                            ;; FIXME: Why do we use "?" here and "C-h" below?
-                            (userlock--fontify-key "?"))
+                   ;; FIXME: Why do we use "?" here and "C-h" below?
+                   (message (substitute-command-keys
+                             "Please type \\`q', \\`s', or \\`p'; or \\`?' for help"))
                   (sit-for 3))
                  ((eq (cdr answer) 'help)
                   (ask-user-about-lock-help)
@@ -106,17 +96,14 @@ in any way you like."
   (with-output-to-temp-buffer "*Help*"
     (with-current-buffer standard-output
       (insert
-       (format
+       (substitute-command-keys
         "It has been detected that you want to modify a file that someone else has
 already started modifying in Emacs.
 
-You can <%s>teal the file; the other user becomes the
+You can <\\`s'>teal the file; the other user becomes the
   intruder if (s)he ever unmodifies the file and then changes it again.
-You can <%s>roceed; you edit at your own (and the other user's) risk.
-You can <%s>uit; don't modify this file."
-        (userlock--fontify-key "s")
-        (userlock--fontify-key "p")
-        (userlock--fontify-key "q")))
+You can <\\`p'>roceed; you edit at your own (and the other user's) risk.
+You can <\\`q'>uit; don't modify this file."))
       (help-mode))))
 
 (define-error 'file-supersession nil 'file-error)
@@ -169,14 +156,11 @@ The buffer in question is current when this function is called."
   (discard-input)
   (save-window-excursion
     (let ((prompt
-          (format "%s changed on disk; \
-really edit the buffer? (%s, %s, %s or %s) "
-                   (file-name-nondirectory filename)
-                   (userlock--fontify-key "y")
-                   (userlock--fontify-key "n")
-                   (userlock--fontify-key "r")
-                   ;; FIXME: Why do we use "C-h" here and "?" above?
-                   (userlock--fontify-key "C-h")))
+           ;; FIXME: Why do we use "C-h" here and "?" above?
+           (format (substitute-command-keys
+                    "%s changed on disk; \
+really edit the buffer? (\\`y', \\`n', \\`r' or \\`C-h') ")
+                   (file-name-nondirectory filename)))
          (choices '(?y ?n ?r ?? ?\C-h))
          answer)
       (when noninteractive
@@ -205,22 +189,18 @@ really edit the buffer? (%s, %s, %s or %s) "
   (with-output-to-temp-buffer "*Help*"
     (with-current-buffer standard-output
       (insert
-       (format
+       (substitute-command-keys
         "You want to modify a buffer whose disk file has changed
 since you last read it in or saved it with this buffer.
 
-If you say %s to go ahead and modify this buffer,
+If you say \\`y' to go ahead and modify this buffer,
 you risk ruining the work of whoever rewrote the file.
-If you say %s to revert, the contents of the buffer are refreshed
+If you say \\`r' to revert, the contents of the buffer are refreshed
 from the file on disk.
-If you say %s, the change you started to make will be aborted.
-
-Usually, you should type %s to get the latest version of the
-file, then make the change again."
-        (userlock--fontify-key "y")
-        (userlock--fontify-key "r")
-        (userlock--fontify-key "n")
-        (userlock--fontify-key "r")))
+If you say \\`n', the change you started to make will be aborted.
+
+Usually, you should type \\`r' to get the latest version of the
+file, then make the change again."))
       (help-mode))))
 
 ;;;###autoload
index 0450cd7f23ba3b8f5102bccda9ea1af1eb2210db..48e1f15f05cca06a0dcc3ef942f7816014f908a2 100644 (file)
@@ -227,7 +227,9 @@ the value of this variable and the variables `ediff-help-message-*' in
            ((string= cmd "s") (re-search-forward "^['`‘]s['’]"))
            ((string= cmd "+") (re-search-forward "^['`‘]\\+['’]"))
            ((string= cmd "=") (re-search-forward "^['`‘]=['’]"))
-           (t (user-error "Undocumented command! Type `G' in Ediff Control Panel to drop a note to the Ediff maintainer")))
+            (t (user-error (substitute-command-keys
+                            "Undocumented command! Type \\`G' in Ediff Control \
+Panel to drop a note to the Ediff maintainer"))))
       ) ; let case-fold-search
     ))
 
index eaccb7a98c7b9c49010ded43fbd5252382b6a062..4b352bd34fcef49960ab6e00ebbb37fcb4a49a64 100644 (file)
@@ -615,8 +615,8 @@ Actually, Ediff restores the scope of visibility that existed at startup.")
 
 (defcustom ediff-keep-variants t
   "Nil means prompt to remove unmodified buffers A/B/C at session end.
-Supplying a prefix argument to the quit command `q' temporarily reverses the
-meaning of this variable."
+Supplying a prefix argument to the quit command \\`q' temporarily
+reverses the meaning of this variable."
   :type 'boolean
   :group 'ediff)
 
index 7622cf4c196485988b0cb8b58c116ef610260074..a03c6a5ed7ea8be77d85fdd63849534d08f5886b 100644 (file)
@@ -415,7 +415,9 @@ other files, enter `/dev/null'.
                  (with-output-to-temp-buffer ediff-msg-buffer
                    (ediff-with-current-buffer standard-output
                      (fundamental-mode))
-                   (princ (format-message "
+                    (with-current-buffer standard-output
+                      (insert (format-message
+                              (substitute-command-keys "
 Ediff has inferred that
        %s
        %s
@@ -423,10 +425,10 @@ are two possible targets for applying the patch.
 Both files seem to be plausible alternatives.
 
 Please advise:
-    Type `y' to use %s as the target;
-    Type `n' to use %s as the target.
-"
-                                  file1 file2 file1 file2)))
+    Type \\`y' to use %s as the target;
+    Type \\`n' to use %s as the target.
+")
+                                            file1 file2 file1 file2))))
                  (setcar session-file-object
                          (if (y-or-n-p (format "Use %s ? " file1))
                              (progn
@@ -823,7 +825,8 @@ you can still examine the changes via M-x ediff-files"
            ediff-patch-diagnostics patch-diagnostics))
 
     (bury-buffer patch-diagnostics)
-    (message "Type `P', if you need to see patch diagnostics")
+    (message (substitute-command-keys
+              "Type \\`P', if you need to see patch diagnostics"))
     ctl-buf))
 
 (defun ediff-multi-patch-internal (patch-buf &optional startup-hooks)
index 658e59af198e5e5a577aa1eaed0fd493b64d6c93..8904f5cbf7008ca9753e0c459fdc1c575bea95b6 100644 (file)
@@ -700,7 +700,7 @@ where PREFIX is a prefix key and MODIFIERS is either a list of modifiers or
 a single modifier.
 If PREFIX is `none', no prefix is used.  If MODIFIERS is `none',
 the keybindings are directly bound to the arrow keys.
-Default value of PREFIX is `C-x' and MODIFIERS is `shift'."
+Default value of PREFIX is \\`C-x' and MODIFIERS is `shift'."
   (interactive)
   (unless prefix (setq prefix '(?\C-x)))
   (when (eq prefix 'none) (setq prefix nil))