summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2018-02-26 13:53:37 +0100
committerMichael Albinus <michael.albinus@gmx.de>2018-02-26 13:53:37 +0100
commit9743f48de7325bd95a42e1a27acbf6635f8d086b (patch)
tree364b474f9019fa2899befe6d3260f8b8e1ed64f6
parentce557a924a299650b5e0c93ba276f1ec651f7941 (diff)
downloademacs-9743f48de7325bd95a42e1a27acbf6635f8d086b.tar.gz
Mark keys consistently in manuals
* doc/emacs/killing.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/misc/calc.texi: * doc/misc/cc-mode.texi: * doc/misc/dired-x.texi: * doc/misc/ede.texi: * doc/misc/edt.texi: * doc/misc/efaq.texi: * doc/misc/erc.texi: * doc/misc/eshell.texi: * doc/misc/gnus-faq.texi: * doc/misc/gnus-news.texi: * doc/misc/idlwave.texi: * doc/misc/ido.texi: * doc/misc/mairix-el.texi: * doc/misc/message.texi: * doc/misc/mh-e.texi: * doc/misc/newsticker.texi: * doc/misc/org.texi: * doc/misc/pcl-cvs.texi: * doc/misc/ses.texi: * doc/misc/sieve.texi: * doc/misc/smtpmail.texi: * doc/misc/speedbar.texi: * doc/misc/srecode.texi: * doc/misc/vhdl-mode.texi: * doc/misc/vip.texi: * doc/misc/viper.texi: Mark keys consistently.
-rw-r--r--doc/emacs/killing.texi2
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi16
-rw-r--r--doc/misc/calc.texi14
-rw-r--r--doc/misc/cc-mode.texi8
-rw-r--r--doc/misc/dired-x.texi2
-rw-r--r--doc/misc/ede.texi32
-rw-r--r--doc/misc/edt.texi4
-rw-r--r--doc/misc/efaq.texi10
-rw-r--r--doc/misc/erc.texi24
-rw-r--r--doc/misc/eshell.texi18
-rw-r--r--doc/misc/gnus-faq.texi36
-rw-r--r--doc/misc/gnus-news.texi2
-rw-r--r--doc/misc/idlwave.texi2
-rw-r--r--doc/misc/ido.texi4
-rw-r--r--doc/misc/mairix-el.texi14
-rw-r--r--doc/misc/message.texi8
-rw-r--r--doc/misc/mh-e.texi6
-rw-r--r--doc/misc/newsticker.texi4
-rw-r--r--doc/misc/org.texi137
-rw-r--r--doc/misc/pcl-cvs.texi11
-rw-r--r--doc/misc/ses.texi8
-rw-r--r--doc/misc/sieve.texi10
-rw-r--r--doc/misc/smtpmail.texi2
-rw-r--r--doc/misc/speedbar.texi4
-rw-r--r--doc/misc/srecode.texi17
-rw-r--r--doc/misc/vhdl-mode.texi10
-rw-r--r--doc/misc/vip.texi8
-rw-r--r--doc/misc/viper.texi2
28 files changed, 212 insertions, 203 deletions
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 4118b752e62..35096cdf53c 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -857,7 +857,7 @@ region is active.
Unlike the standard region, the region-rectangle can have its corners
extended past the end of buffer, or inside stretches of white space
-that point normally cannot enter, like the TAB.
+that point normally cannot enter, like the @key{TAB}.
@findex rectangle-exchange-point-and-mark
@findex exchange-point-and-mark@r{, in rectangle-mark-mode}
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 79663408215..b79432e7196 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -13254,7 +13254,7 @@ If you are reading this inside of GNU Emacs and you want to see the
whole function, you can type @kbd{C-h f} (@code{describe-function})
and the name of the function. This gives you the function
documentation and the name of the library containing the function's
-source. Place point over the name of the library and press the RET
+source. Place point over the name of the library and press the @key{RET}
key; you will be taken directly to the source. (Be sure to install
your sources! Without them, you are like a person who tries to drive
a car with his eyes shut!)
@@ -14739,7 +14739,7 @@ In Emacs 22
"Edit file FILENAME.
Switch to a buffer visiting file FILENAME,
creating one if none already exists.
-Interactively, the default if you just type RET is the current directory,
+Interactively, the default if you just type @key{RET} is the current directory,
but the visited file name is available through the minibuffer history:
type M-n to pull it into the minibuffer.
@@ -15917,8 +15917,8 @@ a regular expression, including functions that are not interactive.
What we want to look for is some command that prints or inserts
columns. Very likely, the name of the function will contain either
the word ``print'' or the word ``insert'' or the word ``column''.
-Therefore, we can simply type @kbd{M-x apropos RET
-print\|insert\|column RET} and look at the result. On my system, this
+Therefore, we can simply type @kbd{M-x apropos @key{RET}
+print\|insert\|column @key{RET}} and look at the result. On my system, this
command once took quite some time, and then produced a list of 79
functions and variables. Now it does not take much time at all and
produces a list of 211 functions and variables. Scanning down the
@@ -18147,7 +18147,7 @@ You can enter the debugger when you call the function by calling
Type:
@smallexample
-M-x debug-on-entry RET triangle-bugged RET
+M-x debug-on-entry @key{RET} triangle-bugged @key{RET}
@end smallexample
@need 1250
@@ -18255,7 +18255,7 @@ To cancel the effect of @code{debug-on-entry}, call
@code{cancel-debug-on-entry} and the name of the function, like this:
@smallexample
-M-x cancel-debug-on-entry RET triangle-bugged RET
+M-x cancel-debug-on-entry @key{RET} triangle-bugged @key{RET}
@end smallexample
@noindent
@@ -18341,7 +18341,7 @@ this by positioning your cursor within or just after the definition
and typing
@smallexample
-M-x edebug-defun RET
+M-x edebug-defun @key{RET}
@end smallexample
@noindent
@@ -18552,7 +18552,7 @@ one of those long, but decipherable functions. You can look up
In this instance, since the code is Lisp, the @file{*Help*} buffer
contains the name of the library containing the function's source.
-You can put point over the name of the library and press the RET key,
+You can put point over the name of the library and press the @key{RET} key,
which in this situation is bound to @code{help-follow}, and be taken
directly to the source, in the same way as @kbd{M-.}
(@code{find-tag}).
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index cd2f66d24eb..1fe7948ab81 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -35348,13 +35348,13 @@ followed by @kbd{=}, @kbd{&}, @kbd{#}, @kbd{\}, @kbd{/}, @kbd{+} or
@kbd{-} as well as @kbd{*} to start Calc, and so in many cases the last
character of the prefix can simply be typed twice.
-Calc is controlled by many variables, most of which can be reset
-from within Calc. Some variables are less involved with actual
-calculation and can be set outside of Calc using Emacs's
-customization facilities. These variables are listed below.
-Typing @kbd{M-x customize-variable RET @var{variable-name} RET}
-will bring up a buffer in which the variable's value can be redefined.
-Typing @kbd{M-x customize-group RET calc RET} will bring up a buffer which
+Calc is controlled by many variables, most of which can be reset from
+within Calc. Some variables are less involved with actual calculation
+and can be set outside of Calc using Emacs's customization facilities.
+These variables are listed below. Typing @kbd{M-x customize-variable
+@key{RET} @var{variable-name} @key{RET}} will bring up a buffer in
+which the variable's value can be redefined. Typing @kbd{M-x
+customize-group @key{RET} calc @key{RET}} will bring up a buffer which
contains all of Calc's customizable variables. (These variables can
also be reset by putting the appropriate lines in your .emacs file;
@xref{Init File, ,Init File, emacs, The GNU Emacs Manual}.)
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 52cd97bca66..d0d39d44e95 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -577,9 +577,9 @@ for the latest information on Emacs version and package compatibility
@deffn Command c-version
@findex version @r{(c-)}
-You can find out what version of @ccmode{} you are using by visiting a C
-file and entering @kbd{M-x c-version RET}. You should see this message in
-the echo area:
+You can find out what version of @ccmode{} you are using by visiting a
+C file and entering @kbd{M-x c-version @key{RET}}. You should see
+this message in the echo area:
@example
Using CC Mode version 5.XX
@@ -1708,7 +1708,7 @@ nomenclature and treat them as separate words:
@item @kbd{M-b} @tab @code{backward-word} @tab @code{c-backward-subword}
@item @kbd{M-@@} @tab @code{mark-word} @tab @code{c-mark-subword}
@item @kbd{M-d} @tab @code{kill-word} @tab @code{c-kill-subword}
-@item @kbd{M-DEL} @tab @code{backward-kill-word} @tab @code{c-backward-kill-subword}
+@item @kbd{M-@key{DEL}} @tab @code{backward-kill-word} @tab @code{c-backward-kill-subword}
@item @kbd{M-t} @tab @code{transpose-words} @tab @code{c-transpose-subwords}
@item @kbd{M-c} @tab @code{capitalize-word} @tab @code{c-capitalize-subword}
@item @kbd{M-u} @tab @code{upcase-word} @tab @code{c-upcase-subword}
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index 130c06b40e8..60e978c9d91 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -995,7 +995,7 @@ If there are several Dired buffers for a directory, the most recently
used is chosen.
Dired avoids switching to the current buffer, so that if you have a
-normal and a wildcard buffer for the same directory, @kbd{C-x d RET}
+normal and a wildcard buffer for the same directory, @kbd{C-x d @key{RET}}
will toggle between those two.
@end table
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index fbe3ac6a10a..7feb5166fc8 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -160,8 +160,8 @@ First, lets create a directory for our project. For this example,
we'll start with something in @file{/tmp}.
@example
-C-x C-f /tmp/myproject/README RET
-M-x make-directory RET RET
+C-x C-f /tmp/myproject/README @key{RET}
+M-x make-directory @key{RET} @key{RET}
@end example
Now put some plain text in your README file to start.
@@ -169,7 +169,7 @@ Now put some plain text in your README file to start.
Now, lets create the project:
@example
-M-x ede-new RET Automake RET myproject RET
+M-x ede-new @key{RET} Automake @key{RET} myproject @key{RET}
@end example
@@ -191,8 +191,8 @@ We'll make a more complex project, so use dired to create some more
directories using the @kbd{+} key, and typing in new directories:
@example
-+ include RET
-+ src RET
++ include @key{RET}
++ src @key{RET}
@end example
Now I'll short-cut in this tutorial. Create the following files:
@@ -252,13 +252,13 @@ now create those projects.
With @file{main.cpp} as your current buffer, type:
@example
-M-x ede-new RET Automake RET src RET
+M-x ede-new @key{RET} Automake @key{RET} src @key{RET}
@end example
and in @file{myproj.hh} as your current buffer, type:
@example
-M-x ede-new RET Automake RET include RET
+M-x ede-new @key{RET} Automake @key{RET} include @key{RET}
@end example
These steps effectively only create the Project.ede file in which you
@@ -272,7 +272,7 @@ Projects. You can create targets either from a buffer, or from a
Note: If for some reason a directory list buffer, or file does not have the
@samp{Project} menu item, or if @ede{} keybindings don't work, just
-use @kbd{M-x revert-buffer RET} to force a refresh. Sometimes
+use @kbd{M-x revert-buffer @key{RET}} to force a refresh. Sometimes
creating a new project doesn't restart buffers correctly.
Lets start with the header file. In @file{include/myproj.hh}, you
@@ -280,7 +280,7 @@ could use the menu, but we will now start using the @ede{} command prefix
which is @kbd{C-c .}.
@example
-C-c . t includes RET miscellaneous RET y
+C-c . t includes @key{RET} miscellaneous @key{RET} y
@end example
@@ -292,7 +292,7 @@ Next, visit the @file{src} directory using dired. There should be a
@samp{Project} menu. You can create a new target with
@example
-. t myprogram RET program RET
+. t myprogram @key{RET} program @key{RET}
@end example
Note that @kbd{. t} is a command for creating a target. This command
@@ -304,7 +304,7 @@ Next, place the cursor on @file{main.cpp}, and use @kbd{. a} to add
that file to your target.
@example
-. a myprogram RET
+. a myprogram @key{RET}
@end example
Note that these prompts often have completion, so you can just press
@@ -316,8 +316,8 @@ all in your dired buffer, and add them all at the same time.
Next, do the same for the library by placing the cursor on @file{mylib.cpp}.
@example
-. t mylib RET sharedobject RET
-. a mylib RET
+. t mylib @key{RET} sharedobject @key{RET}
+. a mylib @key{RET}
@end example
@section Step 5: Compile, and fail
@@ -350,7 +350,7 @@ To fix the failed compile, we need to add
Visit @file{main.cpp}.
@example
-M-x customize-project RET
+M-x customize-project @key{RET}
@end example
Select the @samp{[Settings]} subgroup of options. Under
@@ -407,7 +407,7 @@ project. This is because variables such as the include path are
treated globally, whereas dependencies for a target are target specific.
@example
-M-x customize-target RET
+M-x customize-target @key{RET}
@end example
On the first page, you will see an Ldlibs-local section. Add mylib to
@@ -437,7 +437,7 @@ C-c . C
You can run your program directly from @ede{}.
@example
-C-c . R RET RET
+C-c . R @key{RET} @key{RET}
@end example
If your program takes command line arguments, you can type them in
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi
index ed486597a7b..754e3c82b23 100644
--- a/doc/misc/edt.texi
+++ b/doc/misc/edt.texi
@@ -195,10 +195,10 @@ EDT Emulation. (Note: In a few rare circumstances this does not work
properly. In particular, it does not work if a subset of the leading
@acronym{ASCII} characters in a key sequence are recognized by Emacs as
having an existing binding. For example, if the keypad 7 (@key{KP7})
-key generates the sequence @samp{<ESC>Ow} and @samp{<ESC>O} is already
+key generates the sequence @samp{@key{ESC}Ow} and @samp{@key{ESC}O} is already
bound to a function, pressing @key{KP7} when told to do so by
@file{edt-mapper.el} will result in @file{edt-mapper.el} incorrectly
-mapping @samp{<ESC>O} to @key{KP7} and @samp{w} to @key{KP8}. If
+mapping @samp{@key{ESC}O} to @key{KP7} and @samp{w} to @key{KP8}. If
something like this happens to you, it is probably a bug in the support
for your keyboard within Emacs @strong{or} a bug in the Unix
termcap/terminfo support for your terminal @strong{or} a bug in the
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index 0c979b1d3e6..6f4977779fd 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -173,7 +173,7 @@ Key sequences longer than one key (and some single-key sequences) are
written inside quotes or on lines by themselves, like this:
@display
- @kbd{M-x frobnicate-while-foo RET}
+ @kbd{M-x frobnicate-while-foo @key{RET}}
@end display
@noindent
@@ -3778,9 +3778,9 @@ defines the @kbd{M-@key{TAB}} key sequence.
@node Backspace invokes help
@section Why does the @key{Backspace} key invoke help?
-@cindex Backspace key invokes help
-@cindex Help invoked by Backspace
-@cindex DEL key does not delete
+@cindex @key{Backspace} key invokes help
+@cindex Help invoked by @key{Backspace}
+@cindex @key{DEL} key does not delete
The @key{Backspace} key (on most keyboards) generates @acronym{ASCII} code 8.
@kbd{C-h} sends the same code. In Emacs by default @kbd{C-h} invokes
@@ -4125,7 +4125,7 @@ This will disable the use of the extra keysyms systemwide, which may be
undesirable if you actually intend to use them.
@node SPC no longer completes file names
-@section Why doesn't SPC complete file names anymore?
+@section Why doesn't @key{SPC} complete file names anymore?
@cindex @kbd{SPC} file name completion
Starting with Emacs 22.1, @kbd{SPC} no longer completes file names in
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index 466a4fc4b85..55556c52810 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -117,10 +117,11 @@ connect to.
If you want to place ERC settings in their own file, you can place them
in @file{~/.emacs.d/.ercrc.el}, creating it if necessary.
-If you would rather use the Customize interface to change how ERC works,
-do @kbd{M-x customize-group RET erc RET}. In particular, ERC comes with
-lots of modules that may be enabled or disabled; to select which ones
-you want, do @kbd{M-x customize-variable RET erc-modules RET}.
+If you would rather use the Customize interface to change how ERC
+works, do @kbd{M-x customize-group @key{RET} erc @key{RET}}. In
+particular, ERC comes with lots of modules that may be enabled or
+disabled; to select which ones you want, do @kbd{M-x
+customize-variable @key{RET} erc-modules @key{RET}}.
@menu
* Sample Session:: Example of connecting to the #emacs channel
@@ -269,14 +270,14 @@ This is a summary of keystrokes available in every ERC buffer.
@item C-a or <home> (@code{erc-bol})
Go to beginning of line or end of prompt.
-@item RET (@code{erc-send-current-line})
+@item @key{RET} (@code{erc-send-current-line})
Send the current line
-@item TAB (@code{erc-complete-word})
+@item @key{TAB} (@code{erc-complete-word})
If at prompt, complete the current word.
Otherwise, move to the next link or button.
-@item M-TAB (@code{ispell-complete-word})
+@item M-@key{TAB} (@code{ispell-complete-word})
Complete the given word, using ispell.
@item C-c C-a (@code{erc-bol})
@@ -297,7 +298,7 @@ Toggle automatic CTCP replies (like VERSION and PING).
@item C-c C-f (@code{erc-toggle-flood-control})
Toggle use of flood control on sent messages.
-@item C-c TAB (@code{erc-invite-only-mode})
+@item C-c @key{TAB} (@code{erc-invite-only-mode})
Turn on the invite only mode (+i) for the current channel.
@item C-c C-j (@code{erc-join-channel})
@@ -349,8 +350,9 @@ One way to add functionality to ERC is to customize which of its many
modules are loaded.
There is a spiffy customize interface, which may be reached by typing
-@kbd{M-x customize-option erc-modules RET}. Alternatively, set
-@code{erc-modules} manually and then call @code{erc-update-modules}.
+@kbd{M-x customize-option @key{RET} erc-modules @key{RET}}.
+Alternatively, set @code{erc-modules} manually and then call
+@code{erc-update-modules}.
The following is a list of available modules.
@@ -743,7 +745,7 @@ stuff, to the current ERC buffer."
This section is extremely incomplete. For now, the easiest way to
check out all the available options for ERC is to do
-@kbd{M-x customize-group erc RET}.
+@kbd{M-x customize-group @key{RET} erc @key{RET}}.
@defopt erc-hide-list
If non, @code{nil}, this is a list of IRC message types to hide, e.g.:
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 1789767dbe2..80077e5ccdb 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -894,7 +894,7 @@ will happen as it should (albeit slowly).
@item Make sure syntax table is correct in Eshell mode
-So that @kbd{M-DEL} acts in a predictable manner, etc.
+So that @kbd{M-@key{DEL}} acts in a predictable manner, etc.
@item Allow all Eshell buffers to share the same history and list-dir
@@ -908,19 +908,19 @@ output from all subsequent commands is swallowed.
Make it similar to the way that @file{esh-arg.el} is structured.
Then add parsing of @samp{$[?\n]}.
-@item After pressing @kbd{M-RET}, redisplay before running the next command
+@item After pressing @kbd{M-@key{RET}}, redisplay before running the next command
@item Argument predicates and modifiers should work anywhere in a path
@example
-/usr/local/src/editors/vim $ vi **/CVS(/)/Root(.)
-Invalid regexp: "Unmatched ( or \\("
+/usr/local/src/editors/vim $ vi **/CVS(/)/Root(.) Invalid regexp:
+"Unmatched ( or \\("
@end example
With @command{zsh}, the glob above expands to all files named
@file{Root} in directories named @file{CVS}.
-@item Typing @samp{echo $@{locate locate@}/bin<TAB>} results in a Lisp error
+@item Typing @samp{echo $@{locate locate@}/bin@key{TAB}} results in a Lisp error
Perhaps it should interpolate all permutations, and make that the
globbing result, since otherwise hitting return here will result in
@@ -960,7 +960,7 @@ At the moment, this is not supported.
An error should be generated only if @code{eshell-error-if-no-glob} is
non-@code{nil}.
-@item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur
+@item @samp{(+ @key{RET} @key{SPC} @key{TAB}} does not cause @code{indent-according-to-mode} to occur
@item Create @code{eshell-auto-accumulate-list}
@@ -1172,8 +1172,8 @@ only. That way, it could be listed as a login shell.
@item Make @kbd{/} electric
So that it automatically expands and corrects pathnames. Or make
-pathname completion for Pcomplete auto-expand @samp{/u/i/std<TAB>} to
-@samp{/usr/include/std<TAB>}.
+pathname completion for Pcomplete auto-expand @samp{/u/i/std@key{TAB}} to
+@samp{/usr/include/std@key{TAB}}.
@item Write the @command{pushd} stack to disk along with @code{last-dir-ring}
@@ -1221,7 +1221,7 @@ If the first thing that I do after entering Emacs is to run
@code{eshell-command} and invoke @command{ls}, and then use @kbd{M-x
eshell}, it doesn't display anything.
-@item @kbd{M-RET} during a long command (using smart display) doesn't work
+@item @kbd{M-@key{RET}} during a long command (using smart display) doesn't work
Since it keeps the cursor up where the command was invoked.
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 4175c88754e..efef01f6978 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -397,7 +397,7 @@ The ~/ means the home directory where Gnus and Emacs look
for the configuration files. However, you don't really
need to know what this means, it suffices that Emacs knows
what it means :-) You can type
-@samp{C-x C-f ~/.gnus.el RET }
+@samp{C-x C-f ~/.gnus.el @key{RET}}
(yes, with the forward slash, even on Windows), and
Emacs will open the right file for you. (It will most
likely be new, and thus empty.)
@@ -422,7 +422,7 @@ possibility to set environment variables. Create a new one with
name HOME and value C:\myhome. Rebooting is not necessary.
Now to create @file{~/.gnus.el}, say
-@samp{C-x C-f ~/.gnus.el RET C-x C-s}.
+@samp{C-x C-f ~/.gnus.el @key{RET} C-x C-s}.
in Emacs.
@node FAQ 3-3
@@ -459,11 +459,11 @@ subscribe to a group.
@subsubheading Answer
If you know the name of the group say @samp{U
-name.of.group RET} in group buffer (use the
+name.of.group @key{RET}} in group buffer (use the
tab-completion Luke). Otherwise hit ^ in group buffer,
this brings you to the server buffer. Now place point (the
cursor) over the server which carries the group you want,
-hit @samp{RET}, move point to the group
+hit @samp{@key{RET}}, move point to the group
you want to subscribe to and say @samp{u}
to subscribe to it.
@@ -753,11 +753,11 @@ When I enter a group, all read messages are gone. How to view them again?
@subsubheading Answer
If you enter the group by saying
-@samp{RET}
+@samp{@key{RET}}
in group buffer with point over the group, only unread and ticked messages are loaded. Say
-@samp{C-u RET}
+@samp{C-u @key{RET}}
instead to load all available messages. If you want only the 300 newest say
-@samp{C-u 300 RET}
+@samp{C-u 300 @key{RET}}
Loading only unread messages can be annoying if you have threaded view enabled, say
@@ -1019,7 +1019,7 @@ back ends. Gnus thinks ``highest-article-number @minus{}
lowest-article-number = total-number-of-articles''. This
works OK for Usenet groups, but if you delete and move
many messages in mail groups, this fails. To cure the
-symptom, enter the group via @samp{C-u RET}
+symptom, enter the group via @samp{C-u @key{RET}}
(this makes Gnus get all messages), then
hit @samp{M P b} to mark all messages and
then say @samp{B m name.of.group} to move
@@ -1494,8 +1494,8 @@ place them in ~/.emacs:
@end example
@noindent
-Now you should be ready to go. Say @samp{M-x bbdb RET
-RET} to open a bbdb buffer showing all
+Now you should be ready to go. Say @samp{M-x bbdb @key{RET}
+@key{RET}} to open a bbdb buffer showing all
entries. Say @samp{c} to create a new
entry, @samp{b} to search your BBDB and
@samp{C-o} to add a new field to an
@@ -1734,15 +1734,15 @@ world, you may find tools at
Now you've got to import this mbox file into Gnus. To do
this, create a nndoc group based on the mbox file by
-saying @samp{G f /path/file.mbox RET} in
+saying @samp{G f /path/file.mbox @key{RET}} in
Group buffer. You now have read-only access to your
mail. If you want to import the messages to your normal
Gnus mail groups hierarchy, enter the nndoc group you've
-just created by saying @samp{C-u RET}
+just created by saying @samp{C-u @key{RET}}
(thus making sure all messages are retrieved), mark all
messages by saying @samp{M P b} and
either copy them to the desired group by saying
-@samp{B c name.of.group RET} or send them
+@samp{B c name.of.group @key{RET}} or send them
through nnmail-split-methods (respool them) by saying
@samp{B r}.
@@ -1809,7 +1809,7 @@ a Usenet group the easiest solution is probably to ask
@uref{http://groups.google.com, groups.google.com},
if you found the posting there, tell Google to display
the raw message, look for the message-id, and say
-@samp{M-^ the@@message.id RET} in a
+@samp{M-^ the@@message.id @key{RET}} in a
summary buffer.
Since Gnus 5.10 there's also a Gnus interface for
groups.google.com which you can call with
@@ -1853,7 +1853,7 @@ How to get rid of old unwanted mail?
You can of course just mark the mail you don't need
anymore by saying @samp{#} with point
-over the mail and then say @samp{B DEL}
+over the mail and then say @samp{B @key{DEL}}
to get rid of them forever. You could also instead of
actually deleting them, send them to a junk-group by
saying @samp{B m nnml:trash-bin} which
@@ -2089,7 +2089,7 @@ How to find information and help inside Emacs?
@subsubheading Answer
The first stop should be the Gnus manual (Say
-@samp{C-h i d m Gnus RET} to start the
+@samp{C-h i d m Gnus @key{RET}} to start the
Gnus manual, then walk through the menus or do a
full-text search with @samp{s}). Then
there are the general Emacs help commands starting with
@@ -2191,8 +2191,8 @@ The reason for this could be the way Gnus reads its
active file, see the node "The Active File" in the Gnus
manual for things you might try to speed the process up.
An other idea would be to byte compile your @file{~/.gnus.el} (say
-@samp{M-x byte-compile-file RET ~/.gnus.el
-RET} to do it). Finally, if you have require
+@samp{M-x byte-compile-file @key{RET} ~/.gnus.el
+@key{RET}} to do it). Finally, if you have require
statements in your .gnus, you could replace them with
@code{with-eval-after-load}, which loads the stuff not at startup
time, but when it's needed. Say you've got this in your
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi
index 91908584c96..171f59a3ad0 100644
--- a/doc/misc/gnus-news.texi
+++ b/doc/misc/gnus-news.texi
@@ -324,7 +324,7 @@ messages are deleted again).
@itemize @bullet
@item The tool bar has been updated to use GNOME icons.
-You can also customize the tool bars: @kbd{M-x customize-apropos RET
+You can also customize the tool bars: @kbd{M-x customize-apropos @key{RET}
-tool-bar$} should get you started. (Only for Emacs, not in XEmacs.)
@c FIXME: Document this in the manual
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index 44a3831b1c4..204a4499258 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -4064,7 +4064,7 @@ sure you check the following things:
@itemize @bullet
@item When you download the IDLWAVE distribution, make sure you save the
file under the names @file{idlwave.tar.gz}.
-@item M-TAB switches among running programs---use Esc-TAB
+@item M-@key{TAB} switches among running programs---use @key{ESC}-@key{TAB}
instead.
@item Other issues as yet unnamed...
@end itemize
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi
index bc374299730..098b28ee524 100644
--- a/doc/misc/ido.texi
+++ b/doc/misc/ido.texi
@@ -456,14 +456,14 @@ You can toggle display of the hidden buffers and files with @kbd{C-a}
You can customize the @code{ido} group to change Ido functionality:
@example
-M-x customize-group RET ido RET
+M-x customize-group @key{RET} ido @key{RET}
@end example
@noindent
or customize a certain variable:
@example
-M-x customize-variable RET ido-xxxxx
+M-x customize-variable @key{RET} ido-xxxxx @key{RET}
@end example
To modify the keybindings, use the @code{ido-setup-hook}. For example:
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi
index 401ba1d7b5e..8d620c720e6 100644
--- a/doc/misc/mairix-el.texi
+++ b/doc/misc/mairix-el.texi
@@ -169,13 +169,13 @@ the updates incrementally and hence is very fast.
First, put @code{mairix.el} in your Emacs search path and put
@code{(require 'mairix)} into your @file{.emacs} file. Then, use
-@kbd{M-x customize-group mairix RET} to set your preferences for
-mairix.el. The most important items are @emph{Mairix File Path},
-@emph{Mairix Search File} and @emph{Mairix Mail Program}. The latter
-specifies which mail program should be used to display the mairix search
-results. Currently, RMail, Gnus with mbox files, and VM are supported.
-If you use Gnus with maildir or mh, use the native Gnus back end
-nnmairix instead.
+@kbd{M-x customize-group @key{RET} mairix @key{RET}} to set your
+preferences for mairix.el. The most important items are @emph{Mairix
+File Path}, @emph{Mairix Search File} and @emph{Mairix Mail Program}.
+The latter specifies which mail program should be used to display the
+mairix search results. Currently, RMail, Gnus with mbox files, and VM
+are supported. If you use Gnus with maildir or mh, use the native
+Gnus back end nnmairix instead.
If you use another Emacs mail program which is not yet supported by
mairix.el, it is pretty easy to integrate it. @xref{Extending},
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index a1532bb614b..be1c806c824 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -104,7 +104,7 @@ sending it.
@end menu
You can customize the Message Mode tool bar, see @kbd{M-x
-customize-apropos RET message-tool-bar}. This feature is only available
+customize-apropos @key{RET} message-tool-bar}. This feature is only available
in Emacs.
@node New Mail Message
@@ -919,7 +919,7 @@ is fully available) @acronym{IDNA} encoding happens automatically.
@findex message-idna-to-ascii-rhs
If you want to experiment with the @acronym{IDNA} encoding, you can
-invoke @kbd{M-x message-idna-to-ascii-rhs RET} in the message buffer
+invoke @kbd{M-x message-idna-to-ascii-rhs @key{RET}} in the message buffer
to have the non-@acronym{ASCII} domain names encoded while you edit
the message.
@@ -1082,7 +1082,7 @@ Since signing and especially encryption often is used when sensitive
information is sent, you may want to have some way to ensure that your
mail is actually signed or encrypted. After invoking the above
sign/encrypt commands, it is possible to preview the raw article by
-using @kbd{C-u C-c RET P} (@code{mml-preview}). Then you can
+using @kbd{C-u C-c @key{RET} P} (@code{mml-preview}). Then you can
verify that your long rant about what your ex-significant other or
whomever actually did with that funny looking person at that strange
party the other night, actually will be sent encrypted.
@@ -1174,7 +1174,7 @@ without some kind of configuration. Especially, you need to tell it
where your private key and your certificate is stored. @acronym{MML}
uses an Emacs interface to OpenSSL, aptly named @code{smime.el}, and it
contain a @code{custom} group used for this configuration. So, try
-@kbd{M-x customize-group RET smime RET} and look around.
+@kbd{M-x customize-group @key{RET} smime @key{RET}} and look around.
Currently there is no support for talking to a CA (or RA) to create
your own certificate. None is planned either. You need to do this
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index 68d8b210ab9..74b17264d27 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -3844,9 +3844,9 @@ buffers that you would rather remove, you can use both
You can use dired to manipulate the folders themselves. For example, I
renamed my @samp{+out} folder to the more common @samp{+outbox} by
-running dired on my mail directory (@kbd{M-x dired RET ~/Mail RET}),
-moving my cursor to @samp{out} and using the command @kbd{R}
-(@code{dired-do-rename}).
+running dired on my mail directory (@kbd{M-x dired @key{RET} ~/Mail
+@key{RET}}), moving my cursor to @samp{out} and using the command
+@kbd{R} (@code{dired-do-rename}).
@node Sending Mail, Editing Drafts, Folders, Top
@chapter Sending Mail
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi
index f7a28d38277..ac29ced8fb7 100644
--- a/doc/misc/newsticker.texi
+++ b/doc/misc/newsticker.texi
@@ -397,8 +397,8 @@ Mark current item as immortal. Immortal items are kept forever.
@table @kbd
@cindex Get News
@item v
-@itemx RET
-@itemx <mouse-1>
+@itemx @key{RET}
+@itemx mouse-1
@findex newsticker-treeview-browse-url
Open the link to the full article (as contained in the current
headline) in your web browser @code{newsticker-treeview-browse-url}).
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index eeace47dbed..cd61259518f 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -749,7 +749,7 @@ Specific header arguments
Miscellaneous
-* Completion:: M-TAB guesses completions
+* Completion:: M-@key{TAB} guesses completions
* Easy templates:: Quick insertion of structural elements
* Speed keys:: Electric commands at the beginning of a headline
* Code evaluation security:: Org mode files evaluate inline code
@@ -884,7 +884,8 @@ We @b{strongly recommend} to stick to a single installation method.
@subsubheading Using Emacs packaging system
Recent Emacs distributions include a packaging system which lets you install
-Elisp libraries. You can install Org with @kbd{M-x package-install RET org}.
+Elisp libraries. You can install Org with @kbd{M-x package-install @key{RET}
+org}.
@noindent @b{Important}: you need to do this in a session where no @code{.org} file has
been visited, i.e., where no Org built-in function have been loaded.
@@ -1013,10 +1014,10 @@ version of Org available---if you are running an outdated version, it is
quite possible that the bug has been fixed already. If the bug persists,
prepare a report and provide as much information as possible, including the
version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org
-(@kbd{M-x org-version RET}), as well as the Org related setup in the Emacs
-init file. The easiest way to do this is to use the command
+(@kbd{M-x org-version @key{RET}}), as well as the Org related setup in the
+Emacs init file. The easiest way to do this is to use the command
@example
-@kbd{M-x org-submit-bug-report RET}
+@kbd{M-x org-submit-bug-report @key{RET}}
@end example
@noindent which will put all this information into an Emacs mail buffer so
that you only need to add your description. If you are not sending the Email
@@ -1076,7 +1077,7 @@ Reload uncompiled versions of all Org mode Lisp files. The backtrace
contains much more information if it is produced with uncompiled code.
To do this, use
@example
-@kbd{C-u M-x org-reload RET}
+@kbd{C-u M-x org-reload @key{RET}}
@end example
@noindent
or select @code{Org -> Refresh/Reload -> Reload Org uncompiled} from the
@@ -1875,7 +1876,7 @@ export output. Property drawers are not affected by this variable: configure
Org mode uses begin...end blocks for various purposes from including source
code examples (@pxref{Literal examples}) to capturing time logging
information (@pxref{Clocking work time}). These blocks can be folded and
-unfolded by pressing TAB in the begin line. You can also get all blocks
+unfolded by pressing @key{TAB} in the begin line. You can also get all blocks
folded at startup by configuring the option @code{org-hide-block-startup}
or on a per-file basis by using
@@ -1999,7 +2000,7 @@ a separate window. The window can be closed by pressing @kbd{C-c '}.
If you like the intuitive way the Org mode structure editing and list
formatting works, you might want to use these commands in other modes like
Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes
-this possible. Toggle the mode with @kbd{M-x orgstruct-mode RET}, or
+this possible. Toggle the mode with @kbd{M-x orgstruct-mode @key{RET}}, or
turn it on by default, for example in Message mode, with one of:
@lisp
@@ -2040,7 +2041,7 @@ file falls into one of the categories above.
To explore the abstract structure of an Org buffer, run this in a buffer:
@lisp
-M-: (org-element-parse-buffer) RET
+M-: (org-element-parse-buffer) @key{RET}
@end lisp
It will output a list containing the buffer's content represented as an
@@ -2134,10 +2135,10 @@ table. But it is easier just to start typing, like
@orgcmd{C-c C-c,org-table-align}
Re-align the table and don't move to another field.
@c
-@orgcmd{C-c SPC,org-table-blank-field}
+@orgcmd{C-c @key{SPC},org-table-blank-field}
Blank the field at point.
@c
-@orgcmd{TAB,org-table-next-field}
+@orgcmd{@key{TAB},org-table-next-field}
Re-align the table, move to the next field. Creates a new row if
necessary.
@c
@@ -2252,7 +2253,7 @@ window follow the cursor through the table and always show the current
field. The follow mode exits automatically when the cursor leaves the table,
or when you repeat this command with @kbd{C-u C-u C-c `}.
@c
-@item M-x org-table-import RET
+@item M-x org-table-import @key{RET}
Import a file as a table. The table should be TAB or whitespace
separated. Use, for example, to import a spreadsheet table or data
from a database, because these programs generally can write
@@ -2265,7 +2266,7 @@ Tables can also be imported by pasting tabular text into the Org
buffer, selecting the pasted text with @kbd{C-x C-x} and then using the
@kbd{C-c |} command (see above under @i{Creation and conversion}).
@c
-@item M-x org-table-export RET
+@item M-x org-table-export @key{RET}
@findex org-table-export
@vindex org-table-export-default-format
Export the table, by default as a TAB-separated file. Use for data
@@ -2390,11 +2391,11 @@ every vertical line you would like to have:
@cindex Orgtbl mode
@cindex minor mode for tables
-If you like the intuitive way the Org table editor works, you
-might also want to use it in other modes like Text mode or Mail mode.
-The minor mode Orgtbl mode makes this possible. You can always toggle
-the mode with @kbd{M-x orgtbl-mode RET}. To turn it on by default, for
-example in Message mode, use
+If you like the intuitive way the Org table editor works, you might also want
+to use it in other modes like Text mode or Mail mode. The minor mode Orgtbl
+mode makes this possible. You can always toggle the mode with @kbd{M-x
+orgtbl-mode @key{RET}}. To turn it on by default, for example in Message
+mode, use
@lisp
(add-hook 'message-mode-hook 'turn-on-orgtbl)
@@ -3133,10 +3134,10 @@ hline are left alone, assuming that these are part of the table header.
Iterate the table by recomputing it until no further changes occur.
This may be necessary if some computed fields use the value of other
fields that are computed @i{later} in the calculation sequence.
-@item M-x org-table-recalculate-buffer-tables RET
+@item M-x org-table-recalculate-buffer-tables @key{RET}
@findex org-table-recalculate-buffer-tables
Recompute all tables in the current buffer.
-@item M-x org-table-iterate-buffer-tables RET
+@item M-x org-table-iterate-buffer-tables @key{RET}
@findex org-table-iterate-buffer-tables
Iterate all tables in the current buffer, in order to converge table-to-table
dependencies.
@@ -4231,8 +4232,8 @@ each keyword, in parentheses@footnote{All characters are allowed except
@end lisp
@vindex org-fast-tag-selection-include-todo
-If you then press @kbd{C-c C-t} followed by the selection key, the entry
-will be switched to this state. @kbd{SPC} can be used to remove any TODO
+If you then press @kbd{C-c C-t} followed by the selection key, the entry will
+be switched to this state. @kbd{@key{SPC}} can be used to remove any TODO
keyword from an entry.@footnote{Check also the option
@code{org-fast-tag-selection-include-todo}, it allows you to change the TODO
state through the tags interface (@pxref{Setting tags}), in case you like to
@@ -4421,7 +4422,7 @@ Then each time you turn an entry from a TODO (not-done) state into any of the
DONE states, a line @samp{CLOSED: [timestamp]} will be inserted just after
the headline. If you turn the entry back into a TODO item through further
state cycling, that line will be removed again. If you turn the entry back
-to a non-TODO state (by pressing @key{C-c C-t SPC} for example), that line
+to a non-TODO state (by pressing @key{C-c C-t @key{SPC}} for example), that line
will also be removed, unless you set @code{org-closed-keep-when-no-todo} to
non-@code{nil}. If you want to record a note along with the timestamp,
use@footnote{The corresponding in-buffer setting is: @code{#+STARTUP:
@@ -4451,8 +4452,8 @@ headline as an itemized list, newest first@footnote{See the option
want to get the notes out of the way into a drawer (@pxref{Drawers}).
Customize @code{org-log-into-drawer} to get this behavior---the recommended
drawer for this is called @code{LOGBOOK}@footnote{Note that the
-@code{LOGBOOK} drawer is unfolded when pressing @key{SPC} in the agenda to
-show an entry---use @key{C-u SPC} to keep it folded here}. You can also
+@code{LOGBOOK} drawer is unfolded when pressing @kbd{@key{SPC}} in the agenda to
+show an entry---use @kbd{C-u @key{SPC}} to keep it folded here}. You can also
overrule the setting of this variable for a subtree by setting a
@code{LOG_INTO_DRAWER} property.
@@ -5385,7 +5386,7 @@ in the current file will be offered as possible completions.
@orgcmd{C-c C-x p,org-set-property}
Set a property. This prompts for a property name and a value. If
necessary, the property drawer is created as well.
-@item C-u M-x org-insert-drawer RET
+@item C-u M-x org-insert-drawer @key{RET}
@cindex @code{org-insert-drawer}
Insert a property drawer into the current entry. The drawer will be
inserted early in the entry, but after the lines with planning
@@ -5792,7 +5793,7 @@ global @r{make a global view, including all headings in the file}
@r{run column view at the top of this file}
"@var{ID}" @r{call column view in the tree that has an @code{:ID:}}
@r{property with the value @i{label}. You can use}
- @r{@kbd{M-x org-id-copy RET} to create a globally unique @code{ID} for}
+ @r{@kbd{M-x org-id-copy @key{RET}} to create a globally unique @code{ID} for}
@r{the current entry and copy it to the kill-ring.}
@end example
@item :hlines
@@ -6806,7 +6807,8 @@ identical to dealing with away time due to idleness; it is just happening due
to a recovery event rather than a set amount of idle time.
You can also check all the files visited by your Org agenda for dangling
-clocks at any time using @kbd{M-x org-resolve-clocks RET} (or @kbd{C-c C-x C-z}).
+clocks at any time using @kbd{M-x org-resolve-clocks @key{RET}} (or @kbd{C-c
+C-x C-z}).
@subsubheading Continuous clocking
@cindex continuous clocking
@@ -6966,7 +6968,7 @@ If your configuration depends on @file{org-remember.el}, you need to update
it and use the setup described below. To convert your
@code{org-remember-templates}, run the command
@example
-@kbd{M-x org-capture-import-remember-templates RET}
+@kbd{M-x org-capture-import-remember-templates @key{RET}}
@end example
@noindent and then customize the new variable with @kbd{M-x
customize-variable org-capture-templates}, check the result, and save the
@@ -7910,7 +7912,7 @@ To do this, each subtree is checked for open TODO entries. If none are
found, the command offers to set the ARCHIVE tag for the child. If the
cursor is @emph{not} on a headline when this command is invoked, the
level 1 trees will be checked.
-@orgcmd{C-@kbd{TAB},org-force-cycle-archived}
+@orgcmd{C-@key{TAB},org-force-cycle-archived}
Cycle a tree even if it is tagged with ARCHIVE.
@orgcmd{C-c C-x A,org-archive-to-archive-sibling}
Move the current entry to the @emph{Archive Sibling}. This is a sibling of
@@ -8022,7 +8024,7 @@ Remove current file from the list of agenda files.
@orgcmd{C-',org-cycle-agenda-files}
@itemx C-,
Cycle through agenda file list, visiting one file after the other.
-@item M-x org-iswitchb RET
+@item M-x org-iswitchb @key{RET}
Command to use an @code{iswitchb}-like interface to switch to and between Org
buffers.
@end table
@@ -8788,12 +8790,13 @@ excluding the next tag.
Org also supports automatic, context-aware tag filtering. If the variable
@code{org-agenda-auto-exclude-function} is set to a user-defined function,
that function can decide which tags should be excluded from the agenda
-automatically. Once this is set, the @kbd{/} command then accepts @kbd{RET}
-as a sub-option key and runs the auto exclusion logic. For example, let's
-say you use a @code{Net} tag to identify tasks which need network access, an
-@code{Errand} tag for errands in town, and a @code{Call} tag for making phone
-calls. You could auto-exclude these tags based on the availability of the
-Internet, and outside of business hours, with something like this:
+automatically. Once this is set, the @kbd{/} command then accepts
+@kbd{@key{RET}} as a sub-option key and runs the auto exclusion logic. For
+example, let's say you use a @code{Net} tag to identify tasks which need
+network access, an @code{Errand} tag for errands in town, and a @code{Call}
+tag for making phone calls. You could auto-exclude these tags based on the
+availability of the Internet, and outside of business hours, with something
+like this:
@smalllisp
@group
@@ -9004,7 +9007,7 @@ Delete other windows.
@xorgcmd{v t,org-agenda-fortnight-view}
@xorgcmd{v m,org-agenda-month-view}
@xorgcmd{v y,org-agenda-year-view}
-@xorgcmd{v SPC,org-agenda-reset-view}
+@xorgcmd{v @key{SPC},org-agenda-reset-view}
@vindex org-agenda-span
Switch to day/week/month/year view. When switching to day or week view, this
setting becomes the default for subsequent agenda refreshes. Since month and
@@ -9423,7 +9426,7 @@ calendars.
@orgcmd{H,org-agenda-holidays}
Show holidays for three months around the cursor date.
-@item M-x org-icalendar-combine-agenda-files RET
+@item M-x org-icalendar-combine-agenda-files @key{RET}
Export a single iCalendar file containing entries from all agenda files.
This is a globally available command, and also available in the agenda menu.
@@ -10407,14 +10410,14 @@ To disable it, simply use
CD@LaTeX{} mode is a minor mode that is normally used in combination with a
major @LaTeX{} mode like AUC@TeX{} in order to speed-up insertion of
-environments and math templates. Inside Org mode, you can make use of
-some of the features of CD@LaTeX{} mode. You need to install
-@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
-AUC@TeX{}) from @url{https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex}.
-Don't use CD@LaTeX{} mode itself under Org mode, but use the light
-version @code{org-cdlatex-mode} that comes as part of Org mode. Turn it
-on for the current buffer with @kbd{M-x org-cdlatex-mode RET}, or for all
-Org files with
+environments and math templates. Inside Org mode, you can make use of some
+of the features of CD@LaTeX{} mode. You need to install @file{cdlatex.el}
+and @file{texmathp.el} (the latter comes also with AUC@TeX{}) from
+@url{https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex}. Don't use
+CD@LaTeX{} mode itself under Org mode, but use the light version
+@code{org-cdlatex-mode} that comes as part of Org mode. Turn it on for the
+current buffer with @kbd{M-x org-cdlatex-mode @key{RET}}, or for all Org
+files with
@lisp
(add-hook 'org-mode-hook 'turn-on-org-cdlatex)
@@ -10438,7 +10441,8 @@ the second brace. Even outside fragments, @key{TAB} will expand
environment abbreviations at the beginning of a line. For example, if
you write @samp{equ} at the beginning of a line and press @key{TAB},
this abbreviation will be expanded to an @code{equation} environment.
-To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help RET}.
+To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help
+@key{RET}}.
@item
@kindex _
@kindex ^
@@ -10616,8 +10620,8 @@ inserted from the export dispatcher (@pxref{The export dispatcher}) using the
@code{Insert template} command by pressing @key{#}. To insert keywords
individually, a good way to make sure the keyword is correct is to type
@code{#+} and then to use @kbd{M-@key{TAB}}@footnote{Many desktops intercept
-@kbd{M-TAB} to switch windows. Use @kbd{C-M-i} or @kbd{@key{ESC} @key{TAB}}
-instead.} for completion.
+@kbd{M-@key{TAB}} to switch windows. Use @kbd{C-M-i} or @kbd{@key{ESC}
+@key{TAB}} instead.} for completion.
The export keywords available for every back-end, and their equivalent global
variables, include:
@@ -12847,7 +12851,7 @@ generic commands:
@vindex org-odt-convert
@table @kbd
-@item M-x org-odt-convert RET
+@item M-x org-odt-convert @key{RET}
Convert an existing document from one format to another. With a prefix
argument, opens the newly produced file.
@end table
@@ -13122,10 +13126,10 @@ To quickly verify the reliability of the @LaTeX{}-to-MathML converter, use
the following commands:
@table @kbd
-@item M-x org-odt-export-as-odf RET
+@item M-x org-odt-export-as-odf @key{RET}
Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file.
-@item M-x org-odt-export-as-odf-and-open RET
+@item M-x org-odt-export-as-odf-and-open @key{RET}
Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file
and open the formula file with the system-registered application.
@end table
@@ -14429,7 +14433,7 @@ In-place conversions are particularly handy for quick conversion of tables
and lists in foreign buffers. For example, turn on the minor mode @code{M-x
orgstruct-mode} in an HTML buffer, then use the convenient Org keyboard
commands to create a list, select it, and covert it to HTML with @code{M-x
-org-html-convert-region-to-html RET}.
+org-html-convert-region-to-html @key{RET}}.
@node Publishing
@@ -16146,7 +16150,7 @@ Interpreted as raw Org mode. Inserted directly into the buffer. Aligned if
it is a table. Usage example: @code{:results value raw}.
@item @code{org}
Results enclosed in a @code{BEGIN_SRC org} block. For comma-escape, either
-@kbd{TAB} in the block, or export the file. Usage example: @code{:results
+@key{TAB} in the block, or export the file. Usage example: @code{:results
value org}.
@item @code{html}
Results enclosed in a @code{BEGIN_EXPORT html} block. Usage example:
@@ -16233,7 +16237,7 @@ output file, @code{:dir} specifies the default directory during @samp{src}
code block execution. If it is absent, then the directory associated with
the current buffer is used. In other words, supplying @code{:dir path}
temporarily has the same effect as changing the current directory with
-@kbd{M-x cd path RET}, and then not supplying @code{:dir}. Under the
+@kbd{M-x cd path @key{RET}}, and then not supplying @code{:dir}. Under the
surface, @code{:dir} simply sets the value of the Emacs variable
@code{default-directory}.
@@ -17247,7 +17251,7 @@ emacs -Q --batch --eval "
@chapter Miscellaneous
@menu
-* Completion:: M-TAB guesses completions
+* Completion:: M-@key{TAB} guesses completions
* Easy templates:: Quick insertion of structural elements
* Speed keys:: Electric commands at the beginning of a headline
* Code evaluation security:: Org mode files evaluate inline code
@@ -17457,8 +17461,8 @@ Org executes formulas in tables (@pxref{The spreadsheet}) either through the
@cindex variables, for customization
Org has more than 500 variables for customization. They can be accessed
-through the usual @kbd{M-x org-customize RET} command. Or through the Org
-menu, @code{Org->Customization->Browse Org Group}. Org also has per-file
+through the usual @kbd{M-x org-customize @key{RET}} command. Or through the
+Org menu, @code{Org->Customization->Browse Org Group}. Org also has per-file
settings for some variables (@pxref{In-buffer settings}).
@node In-buffer settings
@@ -17912,7 +17916,8 @@ one of the following lines:
@end example
To switch between single and double stars layouts, use @kbd{M-x
-org-convert-to-odd-levels RET} and @kbd{M-x org-convert-to-oddeven-levels}.
+org-convert-to-odd-levels @key{RET}} and @kbd{M-x
+org-convert-to-oddeven-levels @key{RET}}.
@end enumerate
@node TTY keys
@@ -18058,9 +18063,9 @@ bindings in Org files, and in the agenda buffer (but not during date
selection).
@example
-S-UP @result{} M-p S-DOWN @result{} M-n
-S-LEFT @result{} M-- S-RIGHT @result{} M-+
-C-S-LEFT @result{} M-S-- C-S-RIGHT @result{} M-S-+
+S-@key{UP} @result{} M-p S-@key{DOWN} @result{} M-n
+S-@key{LEFT} @result{} M-- S-@key{RIGHT} @result{} M-+
+C-S-@key{LEFT} @result{} M-S-- C-S-@key{RIGHT} @result{} M-S-+
@end example
@vindex org-disputed-keys
@@ -18465,7 +18470,7 @@ Put the table after an @samp{END} statement. For example @samp{\bye} in
@TeX{} and @samp{\end@{document@}} in @LaTeX{}.
@item
Comment and uncomment each line of the table during edits. The @kbd{M-x
-orgtbl-toggle-comment RET} command makes toggling easy.
+orgtbl-toggle-comment @key{RET}} command makes toggling easy.
@end itemize
@node A @LaTeX{} example
@@ -18478,8 +18483,8 @@ provided by @file{comment.sty}. To activate it, put
radio table skeleton@footnote{By default this works only for @LaTeX{}, HTML,
and Texinfo. Configure the variable @code{orgtbl-radio-table-templates} to
install templates for other export formats.} with the command @kbd{M-x
-orgtbl-insert-radio-table RET}, which prompts for a table name. For example,
-if @samp{salesfigures} is the name, the template inserts:
+orgtbl-insert-radio-table @key{RET}}, which prompts for a table name. For
+example, if @samp{salesfigures} is the name, the template inserts:
@cindex @code{#+ORGTBL}, @samp{SEND}
@example
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index 1163530e7a2..4c61aed5b3e 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -63,10 +63,11 @@ modify this GNU manual.''
@node Top
@top PCL-CVS
-This manual describes PCL-CVS, the GNU Emacs front-end to CVS@. It
-is nowhere near complete, so you are advised to use @kbd{M-x
-customize-group RET pcl-cvs @key{RET}} and to look at the documentation strings
-of the various commands and major modes for further information.
+This manual describes PCL-CVS, the GNU Emacs front-end to CVS@. It is
+nowhere near complete, so you are advised to use @kbd{M-x
+customize-group @key{RET} pcl-cvs @key{RET}} and to look at the
+documentation strings of the various commands and major modes for
+further information.
@c This manual is updated to release 2.5 of PCL-CVS.
@insertcopying
@@ -1109,7 +1110,7 @@ Tag all selected files by running @samp{cvs tag} on
them (@code{cvs-mode-tag}). It's usually preferable to tag a directory
at a time. Rather than selecting all files (which too often doesn't
select all files but only the few that are displayed), clear the
-selection with @kbd{M-DEL} (@code{cvs-mode-unmark-all-files}), position
+selection with @kbd{M-@key{DEL}} (@code{cvs-mode-unmark-all-files}), position
the cursor on the directory you want to tag and hit @kbd{t}.
@end table
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index 4db5fda34a4..aa4fe81ba52 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -209,7 +209,7 @@ remove blank cells from the returned list, which allows to use
@findex keyboard-quit
To create a new spreadsheet, visit a nonexistent file whose name ends
- with ".ses". For example, @kbd{C-x C-f test.ses RET}.
+with ".ses". For example, @kbd{C-x C-f test.ses @key{RET}}.
A @dfn{cell identifier} is a symbol with a column letter and a row
@@ -310,7 +310,7 @@ To enter something else (e.g., a vector), begin with a digit, then
erase the digit and type whatever you want.
@table @kbd
-@item RET
+@item @key{RET}
Edit the existing formula in the current cell (@code{ses-edit-cell}).
@item C-c C-c
@@ -357,7 +357,7 @@ Basic commands:
@item w
(@code{ses-set-column-width})
-@item TAB
+@item @key{TAB}
Moves point to the next rightward cell, or inserts a new column if
already at last cell on line, or inserts a new row if at endline
(@code{ses-forward-or-insert}).
@@ -639,7 +639,7 @@ or a non-string is displayed as an error by using @code{#} filling.
These commands set both formula and printer to @code{nil}:
@table @kbd
-@item DEL
+@item @key{DEL}
Clear cell and move left (@code{ses-clear-cell-backward}).
@item C-d
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi
index 37bb707f63a..2d290b36885 100644
--- a/doc/misc/sieve.texi
+++ b/doc/misc/sieve.texi
@@ -123,7 +123,7 @@ bindings to manage Sieve scripts remotely. @xref{Managing Sieve}.
@table @kbd
-@item C-c RET
+@item C-c @key{RET}
@kindex C-c RET
@findex sieve-manage
@cindex manage remote sieve script
@@ -160,8 +160,8 @@ press RET on <new script> to create a new script.
@end example
One of the scripts are highlighted, and standard point navigation
-commands (@kbd{<up>}, @kbd{<down>} etc.)@: can be used to navigate the
-list.
+commands (@kbd{@key{UP}}, @kbd{@key{DOWN}} etc.)@: can be used to
+navigate the list.
The following commands are available in the Manage Sieve buffer:
@@ -187,7 +187,7 @@ Deactivates all scripts.
@findex sieve-remove
Remove currently highlighted script.
-@item RET
+@item @key{RET}
@item mouse-2
@item f
@kindex RET
@@ -272,7 +272,7 @@ The @file{sieve-manage.el} library contains low-level functionality
for talking to a server with the @sc{managesieve} protocol.
A number of user-visible variables exist, which all can be customized
-in the @code{sieve} group (@kbd{M-x customize-group RET sieve RET}):
+in the @code{sieve} group (@kbd{M-x customize-group @key{RET} sieve @key{RET}}):
@table @code
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi
index 6da51f798d6..c3387054baf 100644
--- a/doc/misc/smtpmail.texi
+++ b/doc/misc/smtpmail.texi
@@ -354,7 +354,7 @@ directory to hold queued messages. It defaults to
The function @code{smtpmail-send-queued-mail} can be used to send
any queued mail when @code{smtpmail-queue-mail} is enabled. It is
typically invoked interactively with @kbd{M-x
-smtpmail-send-queued-mail RET} when you are connected to the internet.
+smtpmail-send-queued-mail @key{RET}} when you are connected to the internet.
@node Server workarounds
@chapter Server workarounds
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index 6286ac12a9e..1c1b014f54e 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -87,7 +87,7 @@ on. @xref{Basic Navigation}.
@chapter Introduction
@cindex introduction
-To start using speedbar use the command @kbd{M-x speedbar RET} or
+To start using speedbar use the command @kbd{M-x speedbar @key{RET}} or
select it from the @samp{Options->Show/Hide} sub-menu. This command
will open a new frame to summarize the local files. On X Window
systems or on MS-Windows, speedbar's frame is twenty characters wide,
@@ -188,7 +188,7 @@ these are available, some additional common bindings are available.
@cindex common keys
@table @kbd
-@item RET
+@item @key{RET}
@itemx e
Edit/Open the current group or tag. This behavior is dependent on the
mode. In general, files or buffers are opened in the attached frame,
diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi
index afa3af10352..2987f629747 100644
--- a/doc/misc/srecode.texi
+++ b/doc/misc/srecode.texi
@@ -105,11 +105,11 @@ item should appear.
To toggle @srecode{} minor mode on and off use:
@example
-M-x srecode-minor-mode RET
+M-x srecode-minor-mode @key{RET}
@end example
or
@example
-M-x global-srecode-minor-mode RET
+M-x global-srecode-minor-mode @key{RET}
@end example
or add
@@ -276,7 +276,8 @@ If the variable @code{srecode-insert-ask-variable-method} is set to
instead create ``fields'' in the buffer. A field-editing layer
provides simple interaction through the fields. Typing in a field
will cause all variable locations that are the same to edit at the
-same time. Pressing TAB on a field will move you to the next field.
+same time. Pressing @kbd{@key{TAB}} on a field will move you to the
+next field.
@node SRecode Minor Mode
@chapter SRecode Minor Mode
@@ -284,17 +285,17 @@ same time. Pressing TAB on a field will move you to the next field.
The Semantic Recode minor mode enables a keymap and menu that provides
simple access to different templates or template applications.
-The key prefix is @key{C-c /}.
+The key prefix is @kbd{C-c /}.
If the variable @code{srecode-takeover-INS-key} is set, then the key
-@key{<insert>} can also be used.
+@kbd{@key{INSERT}} can also be used.
The most important key is bound to @code{srecode-insert} which is
-@key{C-c / /}, or @key{insert insert}. @ref{Quick Start}.
+@kbd{C-c / /}, or @kbd{@key{INSERT} @key{INSERT}}. @ref{Quick Start}.
Major keybindings are:
-@table @key
+@table @kbd
@item C-c / /
Insert a template whose name is typed into the minibuffer.
@item C-c / <lower case letter>
@@ -338,7 +339,7 @@ will not be prompted to fill in values while the template is
inserted. Instead, short regions will be highlighted, and the cursor
placed in a field. Typing in the field will then fill in the value.
Several fields might be linked together. In that case, typing in one
-area will modify the other linked areas. Pressing TAB will move
+area will modify the other linked areas. Pressing @key{TAB} will move
between editable fields in the template.
Once the cursor moves out of the are inserted by the template, all the
diff --git a/doc/misc/vhdl-mode.texi b/doc/misc/vhdl-mode.texi
index c061fb8e43e..8fc75106d52 100644
--- a/doc/misc/vhdl-mode.texi
+++ b/doc/misc/vhdl-mode.texi
@@ -100,7 +100,7 @@ How to customize the indentation engine.
The major version number was incremented to 3 with the addition of
many new features for editing VHDL code to the new indentation engine,
which was introduced in major version 2. To find the minor revision
-number of this release, use @kbd{M-x vhdl-version RET}.
+number of this release, use @kbd{M-x vhdl-version @key{RET}}.
A special word of thanks goes to Rod Whitby, who wrote the
VHDL Mode indentation engine, and to Barry Warsaw, who wrote
@@ -119,7 +119,7 @@ makes everything highly self-explaining.
@cindex Getting Connected
To get started, simply visit a @file{.vhd} file in Emacs; or type
-@kbd{M-x vhdl-mode RET}.
+@kbd{M-x vhdl-mode @key{RET}}.
@node New Indentation Engine
@chapter New Indentation Engine
@@ -302,11 +302,11 @@ being used.
@vindex vhdl-echo-syntactic-information-p
@vindex echo-syntactic-information-p @r{(vhdl-)}
-@cindex TAB
+@cindex @key{TAB}
To help you configure VHDL Mode, you can set the variable
@code{vhdl-echo-syntactic-information-p} to non-@code{nil} so that the
syntactic component list and calculated offset will always be echoed in
-the minibuffer when you hit @kbd{TAB}.
+the minibuffer when you hit @kbd{@key{TAB}}.
@ignore
@@ -548,7 +548,7 @@ already built-in. These include:
@findex vhdl-set-style
@findex set-style @r{(vhdl-)}
If you'd like to experiment with these built-in styles you can simply
-type @kbd{M-x vhdl-set-style RET} in a VHDL Mode buffer.
+type @kbd{M-x vhdl-set-style @key{RET}} in a VHDL Mode buffer.
You will be prompted for one of the above styles (with completion).
Enter one of the styles and hit @kbd{RET}. Note however that setting a
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 5efd6ed684e..59df7492315 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -553,7 +553,7 @@ details.
In Vi, @kbd{C-g} is used to get information about the file associated to
the current buffer. Here, @kbd{g} will do that, and @kbd{C-g} is
used to abort a command (this is for compatibility with emacs mode.)
-@item SPC
+@item @key{SPC}
@itemx @key{RET}
@kindex 040 SPC @r{(}@code{vip-scroll}@r{)}
@kindex 015 RET @r{(}@code{vip-scroll-back}@r{)}
@@ -1258,7 +1258,7 @@ Search forward incrementally. See GNU Emacs Manual for details
Search backward incrementally (@code{isearch-backward}).
@cindex vanilla (replacement)
@cindex regular expression (replacement)
-@item R @var{string} RET @var{newstring}
+@item R @var{string} @key{RET} @var{newstring}
@kindex 122 R @r{(}@code{vip-replace-string}@r{)}
There are two modes of replacement, @dfn{vanilla} and @dfn{regular expression}.
If the mode is @i{vanilla} you will get a prompt @samp{Replace string:},
@@ -1269,7 +1269,7 @@ vanilla, this command replaces every occurrence of @var{string} with
@var{newstring}. If the mode is regular expression, @var{string} is
treated as a regular expression and every string matching the regular
expression is replaced with @var{newstring} (@code{vip-replace-string}).
-@item Q @var{string} RET @var{newstring}
+@item Q @var{string} @key{RET} @var{newstring}
@kindex 121 Q @r{(}@code{vip-query-replace}@r{)}
Same as @kbd{R} except that you will be asked form confirmation before each
replacement
@@ -1569,7 +1569,7 @@ keymap. See GNU Emacs Manual for details.
@item C-@@
@kindex 000 C-@@ @r{(}@code{set-mark-command}@r{)}
Set mark and push previous mark on mark ring (@code{set-mark-command}).
-@item TAB
+@item @key{TAB}
@kindex 011 TAB @r{(}@code{indent-for-tab-command}@r{)}
Indent line for current major mode (@code{indent-for-tab-command}).
@item C-j
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index e1c45fb40e2..2b300f6493c 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -1083,7 +1083,7 @@ remembered (This is called ``learn mode'' in some editors.)
where @samp{register} is any character from @samp{a} through @samp{z}. Then
you can execute this macro using @kbd{@@register}. It is, of course,
possible to yank some text into a register and execute it using
-@kbd{@@register}. Typing @kbd{@@@@}, @kbd{@@RET}, or @kbd{@@C-j} will
+@kbd{@@register}. Typing @kbd{@@@@}, @kbd{@@@key{RET}}, or @kbd{@@C-j} will
execute the last macro that was executed using @kbd{@@register}.
Viper will automatically lowercase the register, so that pressing the