aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac2
-rw-r--r--doc/emacs/ChangeLog78
-rw-r--r--doc/emacs/anti.texi6
-rw-r--r--doc/emacs/basic.texi32
-rw-r--r--doc/emacs/buffers.texi11
-rw-r--r--doc/emacs/building.texi2
-rw-r--r--doc/emacs/calendar.texi12
-rw-r--r--doc/emacs/commands.texi18
-rw-r--r--doc/emacs/custom.texi14
-rw-r--r--doc/emacs/dired.texi8
-rw-r--r--doc/emacs/display.texi2
-rw-r--r--doc/emacs/files.texi19
-rw-r--r--doc/emacs/frames.texi4
-rw-r--r--doc/emacs/glossary.texi28
-rw-r--r--doc/emacs/help.texi10
-rw-r--r--doc/emacs/killing.texi10
-rw-r--r--doc/emacs/kmacro.texi20
-rw-r--r--doc/emacs/mark.texi2
-rw-r--r--doc/emacs/mini.texi12
-rw-r--r--doc/emacs/misc.texi8
-rw-r--r--doc/emacs/msdog-xtra.texi30
-rw-r--r--doc/emacs/msdog.texi20
-rw-r--r--doc/emacs/mule.texi14
-rw-r--r--doc/emacs/picture-xtra.texi4
-rw-r--r--doc/emacs/programs.texi12
-rw-r--r--doc/emacs/rmail.texi2
-rw-r--r--doc/emacs/screen.texi4
-rw-r--r--doc/emacs/search.texi6
-rw-r--r--doc/emacs/sending.texi28
-rw-r--r--doc/emacs/text.texi8
-rw-r--r--doc/emacs/trouble.texi22
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/processes.texi8
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/Makefile.in4
-rw-r--r--lisp/ChangeLog32
-rw-r--r--lisp/battery.el17
-rw-r--r--lisp/desktop.el7
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/faces.el18
-rw-r--r--lisp/mail/rmail.el5
-rw-r--r--lisp/textmodes/rst.el7
-rw-r--r--nt/ChangeLog5
-rw-r--r--nt/cmdproxy.c8
-rw-r--r--src/ChangeLog20
-rw-r--r--src/process.c6
-rw-r--r--src/term.c20
48 files changed, 411 insertions, 211 deletions
diff --git a/ChangeLog b/ChangeLog
index e8f586bbca5..3927dcc2e47 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12014-04-30 Glenn Morris <rgm@gnu.org>
2
3 * configure.ac: Treat MirBSD as OpenBSD. (Bug#17339)
4
12014-04-21 Daniel Colascione <dancol@dancol.org> 52014-04-21 Daniel Colascione <dancol@dancol.org>
2 6
3 * .bzrignore: Add a.out to bzr ignore list (a test generates this 7 * .bzrignore: Add a.out to bzr ignore list (a test generates this
diff --git a/configure.ac b/configure.ac
index 8250d89b669..d27c2676bb6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -505,7 +505,7 @@ case "${canonical}" in
505 ;; 505 ;;
506 506
507 ## OpenBSD ports 507 ## OpenBSD ports
508 *-*-openbsd* ) 508 *-*-openbsd* | *-*-mirbsd* )
509 opsys=openbsd 509 opsys=openbsd
510 ;; 510 ;;
511 511
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 70a9a0f1090..d7fa9c66729 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,81 @@
12014-04-30 Eli Zaretskii <eliz@gnu.org>
2
3 * trouble.texi (Quitting, DEL Does Not Delete, Emergency Escape)
4 (Bug Criteria): Fix usage of @kbd and @key. (Bug#17362)
5
6 * text.texi (Words, Pages, Foldout, HTML Mode): Fix usage of @kbd
7 and @key.
8
9 * search.texi (Special Isearch, Regexp Search): Fix usage of @kbd
10 and @key.
11
12 * screen.texi (Echo Area, Menu Bar): Fix usage of @kbd and @key.
13
14 * rmail.texi (Rmail Scrolling): Fix usage of @kbd and @key.
15
16 * programs.texi (Hungry Delete, Other C Commands): Fix usage of
17 @kbd and @key.
18
19 * picture-xtra.texi (Insert in Picture): Fix usage of @kbd and
20 @key.
21
22 * mule.texi (Unibyte Mode, Bidirectional Editing): Fix usage of
23 @kbd and @key.
24
25 * msdog.texi (Windows Keyboard, Windows Processes): Fix usage of
26 @kbd and @key.
27
28 * msdog-xtra.texi (MS-DOS Keyboard, MS-DOS Printing)
29 (MS-DOS Processes): Fix usage of @kbd and @key.
30
31 * misc.texi (Shell Ring, Printing Package): Fix usage of @kbd and
32 @key.
33
34 * mini.texi (Completion Commands, Minibuffer History): Fix usage
35 of @kbd and @key.
36
37 * kmacro.texi (Keyboard Macro Step-Edit): Fix usage of @kbd and
38 @key.
39
40 * killing.texi (Deletion, Rectangles, CUA Bindings): Fix usage of
41 @kbd and @key.
42
43 * indent.texi (Indentation Commands): Fix usage of @kbd and @key.
44
45 * help.texi (Help Mode, Misc Help): Fix usage of @kbd and @key.
46
47 * glossary.texi (Glossary): Fix usage of @kbd and @key.
48
49 * frames.texi (Speedbar): Fix usage of @kbd and @key.
50
51 * files.texi (Misc File Ops, File Name Cache, File Conveniences)
52 (Filesets): Fix usage of @kbd and @key.
53
54 * display.texi (View Mode): Fix usage of @kbd and @key.
55
56 * dired.texi (Image-Dired): Fix usage of @kbd and @key.
57
58 * custom.texi (Modifier Keys, Function Keys, Named ASCII Chars)
59 (Init Syntax): Fix usage of @kbd and @key.
60
61 * commands.texi (User Input): Fix usage of @kbd and @key.
62
63 * calendar.texi (Counting Days, General Calendar): Fix usage of
64 @kbd and @key.
65
66 * building.texi (Threads Buffer): Fix usage of @kbd and @key.
67
68 * buffers.texi (Select Buffer, Icomplete): Fix usage of @kbd and
69 @key.
70
71 * basic.texi (Inserting Text, Erasing, Arguments): Fix usage of
72 @kbd and @key.
73
74 * anti.texi (Antinews): Fix usage of @kbd and @key.
75
76 * sending.texi (Mail Signature): Document signature variables used
77 by Message mode. (Bug#17308)
78
12014-04-22 Eli Zaretskii <eliz@gnu.org> 792014-04-22 Eli Zaretskii <eliz@gnu.org>
2 80
3 * buffers.texi (Uniquify): Clarify the default uniquification. 81 * buffers.texi (Uniquify): Clarify the default uniquification.
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi
index dcab8b57aef..d0de90690a7 100644
--- a/doc/emacs/anti.texi
+++ b/doc/emacs/anti.texi
@@ -17,8 +17,8 @@ Support for displaying and editing ``bidirectional'' text has been
17removed. Text is now always displayed on the screen in a single 17removed. Text is now always displayed on the screen in a single
18consistent direction---left to right---regardless of the underlying 18consistent direction---left to right---regardless of the underlying
19script. Similarly, @kbd{C-f} and @kbd{C-b} always move the text 19script. Similarly, @kbd{C-f} and @kbd{C-b} always move the text
20cursor to the right and left respectively. Also, @key{right} and 20cursor to the right and left respectively. Also, @key{RIGHT} and
21@key{left} are now equivalent to @kbd{C-f} and @kbd{C-b}, as you might 21@key{LEFT} are now equivalent to @kbd{C-f} and @kbd{C-b}, as you might
22expect, rather than moving forward or backward based on the underlying 22expect, rather than moving forward or backward based on the underlying
23``paragraph direction''. 23``paragraph direction''.
24 24
@@ -36,7 +36,7 @@ and/or README file for details.
36 36
37@item 37@item
38The option @code{delete-active-region} has been deleted. When the 38The option @code{delete-active-region} has been deleted. When the
39region is active, typing @key{DEL} or @key{delete} no longer deletes 39region is active, typing @key{DEL} or @key{Delete} no longer deletes
40the text in the region; it deletes a single character instead. 40the text in the region; it deletes a single character instead.
41 41
42@item 42@item
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index c5ded11c62e..bec7774f2a9 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -67,7 +67,7 @@ instead of shoving it to the right. @xref{Minor Modes}.
67@findex quoted-insert 67@findex quoted-insert
68 Only graphic characters can be inserted by typing the associated 68 Only graphic characters can be inserted by typing the associated
69key; other keys act as editing commands and do not insert themselves. 69key; other keys act as editing commands and do not insert themselves.
70For instance, @kbd{DEL} runs the command @code{delete-backward-char} 70For instance, @key{DEL} runs the command @code{delete-backward-char}
71by default (some modes bind it to a different command); it does not 71by default (some modes bind it to a different command); it does not
72insert a literal @samp{DEL} character (@acronym{ASCII} character code 72insert a literal @samp{DEL} character (@acronym{ASCII} character code
73127). 73127).
@@ -139,8 +139,8 @@ how many copies of the character to insert (@pxref{Arguments}).
139point (@pxref{Point}). The keyboard commands @kbd{C-f}, @kbd{C-b}, 139point (@pxref{Point}). The keyboard commands @kbd{C-f}, @kbd{C-b},
140@kbd{C-n}, and @kbd{C-p} move point to the right, left, down, and up, 140@kbd{C-n}, and @kbd{C-p} move point to the right, left, down, and up,
141respectively. You can also move point using the @dfn{arrow keys} 141respectively. You can also move point using the @dfn{arrow keys}
142present on most keyboards: @kbd{@key{right}}, @kbd{@key{left}}, 142present on most keyboards: @key{RIGHT}, @key{LEFT},
143@kbd{@key{down}}, and @kbd{@key{up}}; however, many Emacs users find 143@key{DOWN}, and @key{UP}; however, many Emacs users find
144that it is slower to use the arrow keys than the control keys, because 144that it is slower to use the arrow keys than the control keys, because
145you need to move your hand to the area of the keyboard where those 145you need to move your hand to the area of the keyboard where those
146keys are located. 146keys are located.
@@ -156,7 +156,7 @@ keyboard commands that move point in more sophisticated ways.
156@findex forward-char 156@findex forward-char
157Move forward one character (@code{forward-char}). 157Move forward one character (@code{forward-char}).
158 158
159@item @key{right} 159@item @key{RIGHT}
160@kindex RIGHT 160@kindex RIGHT
161@findex right-char 161@findex right-char
162@vindex visual-order-cursor-movement 162@vindex visual-order-cursor-movement
@@ -176,7 +176,7 @@ away, depending on the surrounding bidirectional context.
176@findex backward-char 176@findex backward-char
177Move backward one character (@code{backward-char}). 177Move backward one character (@code{backward-char}).
178 178
179@item @key{left} 179@item @key{LEFT}
180@kindex LEFT 180@kindex LEFT
181@findex left-char 181@findex left-char
182This command (@code{left-char}) behaves like @kbd{C-b}, except it 182This command (@code{left-char}) behaves like @kbd{C-b}, except it
@@ -187,7 +187,7 @@ left of the current screen position, moving to the previous or next
187screen line as appropriate. 187screen line as appropriate.
188 188
189@item C-n 189@item C-n
190@itemx @key{down} 190@itemx @key{DOWN}
191@kindex C-n 191@kindex C-n
192@kindex DOWN 192@kindex DOWN
193@findex next-line 193@findex next-line
@@ -196,7 +196,7 @@ to keep the horizontal position unchanged, so if you start in the
196middle of one line, you move to the middle of the next. 196middle of one line, you move to the middle of the next.
197 197
198@item C-p 198@item C-p
199@itemx @key{up} 199@itemx @key{UP}
200@kindex C-p 200@kindex C-p
201@kindex UP 201@kindex UP
202@findex previous-line 202@findex previous-line
@@ -222,8 +222,8 @@ Move to the end of the line (@code{move-end-of-line}).
222@findex forward-word 222@findex forward-word
223Move forward one word (@code{forward-word}). 223Move forward one word (@code{forward-word}).
224 224
225@item C-@key{right} 225@item C-@key{RIGHT}
226@itemx M-@key{right} 226@itemx M-@key{RIGHT}
227@kindex C-RIGHT 227@kindex C-RIGHT
228@kindex M-RIGHT 228@kindex M-RIGHT
229@findex right-word 229@findex right-word
@@ -236,8 +236,8 @@ right-to-left. @xref{Bidirectional Editing}.
236@findex backward-word 236@findex backward-word
237Move backward one word (@code{backward-word}). 237Move backward one word (@code{backward-word}).
238 238
239@item C-@key{left} 239@item C-@key{LEFT}
240@itemx M-@key{left} 240@itemx M-@key{LEFT}
241@kindex C-LEFT 241@kindex C-LEFT
242@kindex M-LEFT 242@kindex M-LEFT
243@findex left-word 243@findex left-word
@@ -366,7 +366,7 @@ moves down into it.
366 366
367@table @kbd 367@table @kbd
368@item @key{DEL} 368@item @key{DEL}
369@itemx @key{Backspace} 369@itemx @key{BACKSPACE}
370Delete the character before point, or the region if it is active 370Delete the character before point, or the region if it is active
371(@code{delete-backward-char}). 371(@code{delete-backward-char}).
372 372
@@ -394,20 +394,20 @@ the preceding newline, joining this line to the previous one.
394 If, however, the region is active, @kbd{@key{DEL}} instead deletes 394 If, however, the region is active, @kbd{@key{DEL}} instead deletes
395the text in the region. @xref{Mark}, for a description of the region. 395the text in the region. @xref{Mark}, for a description of the region.
396 396
397 On most keyboards, @key{DEL} is labeled @key{Backspace}, but we 397 On most keyboards, @key{DEL} is labeled @key{BACKSPACE}, but we
398refer to it as @key{DEL} in this manual. (Do not confuse @key{DEL} 398refer to it as @key{DEL} in this manual. (Do not confuse @key{DEL}
399with the @key{Delete} key; we will discuss @key{Delete} momentarily.) 399with the @key{Delete} key; we will discuss @key{Delete} momentarily.)
400On some text terminals, Emacs may not recognize the @key{DEL} key 400On some text terminals, Emacs may not recognize the @key{DEL} key
401properly. @xref{DEL Does Not Delete}, if you encounter this problem. 401properly. @xref{DEL Does Not Delete}, if you encounter this problem.
402 402
403 The @key{delete} (@code{delete-forward-char}) command deletes in the 403 The @key{Delete} (@code{delete-forward-char}) command deletes in the
404``opposite direction'': it deletes the character after point, i.e., the 404``opposite direction'': it deletes the character after point, i.e., the
405character under the cursor. If point was at the end of a line, this 405character under the cursor. If point was at the end of a line, this
406joins the following line onto this one. Like @kbd{@key{DEL}}, it 406joins the following line onto this one. Like @kbd{@key{DEL}}, it
407deletes the text in the region if the region is active (@pxref{Mark}). 407deletes the text in the region if the region is active (@pxref{Mark}).
408 408
409 @kbd{C-d} (@code{delete-char}) deletes the character after point, 409 @kbd{C-d} (@code{delete-char}) deletes the character after point,
410similar to @key{delete}, but regardless of whether the region is 410similar to @key{Delete}, but regardless of whether the region is
411active. 411active.
412 412
413 @xref{Deletion}, for more detailed information about the above 413 @xref{Deletion}, for more detailed information about the above
@@ -723,7 +723,7 @@ M-5 C-n
723moves down five lines. The keys @kbd{M-1}, @kbd{M-2}, and so on, as 723moves down five lines. The keys @kbd{M-1}, @kbd{M-2}, and so on, as
724well as @kbd{M--}, are bound to commands (@code{digit-argument} and 724well as @kbd{M--}, are bound to commands (@code{digit-argument} and
725@code{negative-argument}) that set up an argument for the next 725@code{negative-argument}) that set up an argument for the next
726command. @kbd{Meta--} without digits normally means @minus{}1. 726command. @kbd{M--} without digits normally means @minus{}1.
727 727
728If you enter more than one digit, you need not hold down the 728If you enter more than one digit, you need not hold down the
729@key{META} key for the second and subsequent digits. Thus, to move 729@key{META} key for the second and subsequent digits. Thus, to move
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index 3f55cf7076e..89b56da7723 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -661,17 +661,18 @@ element among the possible completions in a minibuffer. When enabled, typing
661in the minibuffer continuously displays a list of possible completions that 661in the minibuffer continuously displays a list of possible completions that
662match the string you have typed. 662match the string you have typed.
663 663
664 At any time, you can type @key{C-j} to select the first completion in 664 At any time, you can type @kbd{C-j} to select the first completion in
665the list. So the way to select a particular completion is to make it the 665the list. So the way to select a particular completion is to make it the
666first in the list. There are two ways to do this. You can type more 666first in the list. There are two ways to do this. You can type more
667of the completion name and thus narrow down the list, excluding unwanted 667of the completion name and thus narrow down the list, excluding unwanted
668completions above the desired one. Alternatively, you can use @kbd{C-.} 668completions above the desired one. Alternatively, you can use @kbd{C-.}
669and @kbd{C-,} to rotate the list until the desired buffer is first. 669and @kbd{C-,} to rotate the list until the desired buffer is first.
670 670
671 @key{M-TAB} will select the first completion in the list, like @key{C-j} but 671 @kbd{M-@key{TAB}} will select the first completion in the list, like
672without exiting the minibuffer, so you can edit it further. This is typically 672@kbd{C-j} but without exiting the minibuffer, so you can edit it
673used when entering a file name, where @key{M-TAB} can be used a few times to 673further. This is typically used when entering a file name, where
674descend in the hierarchy of directories. 674@kbd{M-@key{TAB}} can be used a few times to descend in the hierarchy
675of directories.
675 676
676 To enable Icomplete mode, type @kbd{M-x icomplete-mode}, or customize 677 To enable Icomplete mode, type @kbd{M-x icomplete-mode}, or customize
677the variable @code{icomplete-mode} to @code{t} (@pxref{Easy 678the variable @code{icomplete-mode} to @code{t} (@pxref{Easy
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index a0ef9e80c8d..e0ed11ff862 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -1005,7 +1005,7 @@ non-@code{nil}, the GDB Threads buffer is the one shown by default.
1005 The GDB Threads buffer displays a summary of the threads in the 1005 The GDB Threads buffer displays a summary of the threads in the
1006debugged program. @xref{Threads, Threads, Debugging programs with 1006debugged program. @xref{Threads, Threads, Debugging programs with
1007multiple threads, gdb, The GNU debugger}. To select a thread, move 1007multiple threads, gdb, The GNU debugger}. To select a thread, move
1008point there and type @key{RET} (@code{gdb-select-thread}), or click on 1008point there and press @key{RET} (@code{gdb-select-thread}), or click on
1009it with @kbd{Mouse-2}. This also displays the associated source 1009it with @kbd{Mouse-2}. This also displays the associated source
1010buffer, and updates the contents of the other GDB buffers. 1010buffer, and updates the contents of the other GDB buffers.
1011 1011
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index ef6d44a968f..07226883c99 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -288,7 +288,7 @@ Display the number of days in the current region
288@kindex M-= @r{(Calendar mode)} 288@kindex M-= @r{(Calendar mode)}
289@findex calendar-count-days-region 289@findex calendar-count-days-region
290 To determine the number of days in a range, set the mark on one 290 To determine the number of days in a range, set the mark on one
291date using @kbd{C-SPC}, move point to another date, and type @kbd{M-=} 291date using @kbd{C-@key{SPC}}, move point to another date, and type @kbd{M-=}
292(@code{calendar-count-days-region}). The numbers of days shown is 292(@code{calendar-count-days-region}). The numbers of days shown is
293@emph{inclusive}; that is, it includes the days specified by mark and 293@emph{inclusive}; that is, it includes the days specified by mark and
294point. 294point.
@@ -301,10 +301,10 @@ point.
301Display day-in-year (@code{calendar-print-day-of-year}). 301Display day-in-year (@code{calendar-print-day-of-year}).
302@item C-c C-l 302@item C-c C-l
303Regenerate the calendar window (@code{calendar-redraw}). 303Regenerate the calendar window (@code{calendar-redraw}).
304@item SPC 304@item @key{SPC}
305Scroll the next window up (@code{scroll-other-window}). 305Scroll the next window up (@code{scroll-other-window}).
306@item DEL 306@item @key{DEL}
307@itemx S-SPC 307@itemx S-@key{SPC}
308Scroll the next window down (@code{scroll-other-window-down}). 308Scroll the next window down (@code{scroll-other-window-down}).
309@item q 309@item q
310Exit from calendar (@code{calendar-exit}). 310Exit from calendar (@code{calendar-exit}).
@@ -327,8 +327,8 @@ date.
327non-Calendar-mode editing commands.) 327non-Calendar-mode editing commands.)
328 328
329@kindex SPC @r{(Calendar mode)} 329@kindex SPC @r{(Calendar mode)}
330 In Calendar mode, you can use @kbd{SPC} (@code{scroll-other-window}) 330 In Calendar mode, you can use @key{SPC} (@code{scroll-other-window})
331and @kbd{DEL} (@code{scroll-other-window-down}) to scroll the other 331and @key{DEL} (@code{scroll-other-window-down}) to scroll the other
332window (if there is one) up or down, respectively. This is handy when 332window (if there is one) up or down, respectively. This is handy when
333you display a list of holidays or diary entries in another window. 333you display a list of holidays or diary entries in another window.
334 334
diff --git a/doc/emacs/commands.texi b/doc/emacs/commands.texi
index 1c9b7fc220d..d9eba2d5a00 100644
--- a/doc/emacs/commands.texi
+++ b/doc/emacs/commands.texi
@@ -35,35 +35,35 @@ Therefore, this manual mainly documents how to edit with the keyboard.
35@samp{3}, @samp{=}, and the space character (denoted as @key{SPC}), 35@samp{3}, @samp{=}, and the space character (denoted as @key{SPC}),
36are entered by typing the corresponding key. @dfn{Control 36are entered by typing the corresponding key. @dfn{Control
37characters}, such as @key{RET}, @key{TAB}, @key{DEL}, @key{ESC}, 37characters}, such as @key{RET}, @key{TAB}, @key{DEL}, @key{ESC},
38@key{F1}, @key{Home}, and @key{left}, are also entered this way, as 38@key{F1}, @key{Home}, and @key{LEFT}, are also entered this way, as
39are certain characters found on non-English keyboards 39are certain characters found on non-English keyboards
40(@pxref{International}). 40(@pxref{International}).
41 41
42@cindex modifier keys 42@cindex modifier keys
43@cindex Control 43@cindex Control
44@cindex C- 44@cindex C-
45@cindex Meta 45@cindex META
46@cindex M- 46@cindex M-
47 Emacs also recognizes control characters that are entered using 47 Emacs also recognizes control characters that are entered using
48@dfn{modifier keys}. Two commonly-used modifier keys are 48@dfn{modifier keys}. Two commonly-used modifier keys are
49@key{Control} (usually labeled @key{Ctrl}), and @key{Meta} (usually 49@key{Control} (usually labeled @key{Ctrl}), and @key{META} (usually
50labeled @key{Alt})@footnote{We refer to @key{Alt} as @key{Meta} for 50labeled @key{Alt})@footnote{We refer to @key{Alt} as @key{META} for
51historical reasons.}. For example, @kbd{Control-a} is entered by 51historical reasons.}. For example, @kbd{Control-a} is entered by
52holding down the @key{Ctrl} key while pressing @kbd{a}; we will refer 52holding down the @key{Ctrl} key while pressing @kbd{a}; we will refer
53to this as @kbd{C-a} for short. Similarly @kbd{Meta-a}, or @kbd{M-a} 53to this as @kbd{C-a} for short. Similarly @kbd{@key{META}-a}, or @kbd{M-a}
54for short, is entered by holding down the @key{Alt} key and pressing 54for short, is entered by holding down the @key{Alt} key and pressing
55@kbd{a}. Modifier keys can also be applied to non-alphanumerical 55@kbd{a}. Modifier keys can also be applied to non-alphanumerical
56characters, e.g., @kbd{C-@key{F1}} or @kbd{M-@key{left}}. 56characters, e.g., @kbd{C-@key{F1}} or @kbd{M-@key{LEFT}}.
57 57
58@cindex @key{ESC} replacing @key{Meta} key 58@cindex @key{ESC} replacing @key{META} key
59 You can also type Meta characters using two-character sequences 59 You can also type Meta characters using two-character sequences
60starting with @key{ESC}. Thus, you can enter @kbd{M-a} by typing 60starting with @key{ESC}. Thus, you can enter @kbd{M-a} by typing
61@kbd{@key{ESC} a}. You can enter @kbd{C-M-a} by typing @kbd{@key{ESC} 61@kbd{@key{ESC} a}. You can enter @kbd{C-M-a} by typing @kbd{@key{ESC}
62C-a}. Unlike @key{Meta}, @key{ESC} is entered as a separate 62C-a}. Unlike @key{META}, @key{ESC} is entered as a separate
63character. You don't hold down @key{ESC} while typing the next 63character. You don't hold down @key{ESC} while typing the next
64character; instead, press @key{ESC} and release it, then enter the 64character; instead, press @key{ESC} and release it, then enter the
65next character. This feature is useful on certain text terminals 65next character. This feature is useful on certain text terminals
66where the @key{Meta} key does not function reliably. 66where the @key{META} key does not function reliably.
67 67
68@cindex keys stolen by window manager 68@cindex keys stolen by window manager
69@cindex window manager, keys stolen by 69@cindex window manager, keys stolen by
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 5dbcac77f86..0d0013f5ace 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1766,11 +1766,11 @@ historical.
1766characters case-sensitive when you customize Emacs. For instance, you 1766characters case-sensitive when you customize Emacs. For instance, you
1767could make @kbd{M-a} and @kbd{M-A} run different commands. 1767could make @kbd{M-a} and @kbd{M-A} run different commands.
1768 1768
1769 Although only the @key{Control} and @key{Meta} modifier keys are 1769 Although only the @key{Control} and @key{META} modifier keys are
1770commonly used, Emacs supports three other modifier keys. These are 1770commonly used, Emacs supports three other modifier keys. These are
1771called @key{Super}, @key{Hyper} and @key{Alt}. Few terminals provide 1771called @key{Super}, @key{Hyper} and @key{Alt}. Few terminals provide
1772ways to use these modifiers; the key labeled @key{Alt} on most 1772ways to use these modifiers; the key labeled @key{Alt} on most
1773keyboards usually issues the @key{Meta} modifier, not @key{Alt}. The 1773keyboards usually issues the @key{META} modifier, not @key{Alt}. The
1774standard key bindings in Emacs do not include any characters with 1774standard key bindings in Emacs do not include any characters with
1775these modifiers. However, you can customize Emacs to assign meanings 1775these modifiers. However, you can customize Emacs to assign meanings
1776to them. The modifier bits are labeled as @samp{s-}, @samp{H-} and 1776to them. The modifier bits are labeled as @samp{s-}, @samp{H-} and
@@ -1795,10 +1795,10 @@ the corresponding Lisp symbol. Here are the conventional Lisp names for
1795common function keys: 1795common function keys:
1796 1796
1797@table @asis 1797@table @asis
1798@item @code{left}, @code{up}, @code{right}, @code{down} 1798@item @code{LEFT}, @code{UP}, @code{RIGHT}, @code{DOWN}
1799Cursor arrow keys. 1799Cursor arrow keys.
1800 1800
1801@item @code{begin}, @code{end}, @code{home}, @code{next}, @code{prior} 1801@item @code{Begin}, @code{End}, @code{Home}, @code{next}, @code{prior}
1802Other cursor repositioning keys. 1802Other cursor repositioning keys.
1803 1803
1804@item @code{select}, @code{print}, @code{execute}, @code{backtab} 1804@item @code{select}, @code{print}, @code{execute}, @code{backtab}
@@ -1860,7 +1860,7 @@ started out as names for certain @acronym{ASCII} control characters,
1860used so often that they have special keys of their own. For instance, 1860used so often that they have special keys of their own. For instance,
1861@key{TAB} was another name for @kbd{C-i}. Later, users found it 1861@key{TAB} was another name for @kbd{C-i}. Later, users found it
1862convenient to distinguish in Emacs between these keys and the ``same'' 1862convenient to distinguish in Emacs between these keys and the ``same''
1863control characters typed with the @key{CTRL} key. Therefore, on most 1863control characters typed with the @key{Ctrl} key. Therefore, on most
1864modern terminals, they are no longer the same: @key{TAB} is different 1864modern terminals, they are no longer the same: @key{TAB} is different
1865from @kbd{C-i}. 1865from @kbd{C-i}.
1866 1866
@@ -2187,8 +2187,8 @@ sequences are mandatory.
2187 2187
2188@samp{\C-} can be used as a prefix for a control character, as in 2188@samp{\C-} can be used as a prefix for a control character, as in
2189@samp{\C-s} for @acronym{ASCII} control-S, and @samp{\M-} can be used as a prefix for 2189@samp{\C-s} for @acronym{ASCII} control-S, and @samp{\M-} can be used as a prefix for
2190a Meta character, as in @samp{\M-a} for @kbd{Meta-A} or @samp{\M-\C-a} for 2190a Meta character, as in @samp{\M-a} for @kbd{@key{META}-A} or
2191@kbd{Control-Meta-A}. 2191@samp{\M-\C-a} for @kbd{@key{Ctrl}-@key{META}-A}.
2192 2192
2193@xref{Init Non-ASCII}, for information about including 2193@xref{Init Non-ASCII}, for information about including
2194non-@acronym{ASCII} in your init file. 2194non-@acronym{ASCII} in your init file.
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index f0db7b69205..4e9dfd5d12a 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -1312,19 +1312,19 @@ takes a long time if the directory contains many image files, and it
1312asks for confirmation if the number of image files exceeds 1312asks for confirmation if the number of image files exceeds
1313@code{image-dired-show-all-from-dir-max-files}. 1313@code{image-dired-show-all-from-dir-max-files}.
1314 1314
1315 With point in the thumbnail buffer, you can type @kbd{RET} 1315 With point in the thumbnail buffer, you can type @key{RET}
1316(@code{image-dired-display-thumbnail-original-image}) to display a 1316(@code{image-dired-display-thumbnail-original-image}) to display a
1317sized version of it in another window. This sizes the image to fit 1317sized version of it in another window. This sizes the image to fit
1318the window. Use the arrow keys to move around in the buffer. For 1318the window. Use the arrow keys to move around in the buffer. For
1319easy browsing, use @kbd{SPC} 1319easy browsing, use @key{SPC}
1320(@code{image-dired-display-next-thumbnail-original}) to advance and 1320(@code{image-dired-display-next-thumbnail-original}) to advance and
1321display the next image. Typing @kbd{DEL} 1321display the next image. Typing @key{DEL}
1322(@code{image-dired-display-previous-thumbnail-original}) backs up to 1322(@code{image-dired-display-previous-thumbnail-original}) backs up to
1323the previous thumbnail and displays that instead. 1323the previous thumbnail and displays that instead.
1324 1324
1325@vindex image-dired-external-viewer 1325@vindex image-dired-external-viewer
1326 To view and the image in its original size, either provide a prefix 1326 To view and the image in its original size, either provide a prefix
1327argument (@kbd{C-u}) before pressing @kbd{RET}, or type 1327argument (@kbd{C-u}) before pressing @key{RET}, or type
1328@kbd{C-@key{RET}} (@code{image-dired-thumbnail-display-external}) to 1328@kbd{C-@key{RET}} (@code{image-dired-thumbnail-display-external}) to
1329display the image in an external viewer. You must first configure 1329display the image in an external viewer. You must first configure
1330@code{image-dired-external-viewer}. 1330@code{image-dired-external-viewer}.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 03de755aff3..bdcb185a5f3 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -428,7 +428,7 @@ it. @xref{Disabling}.
428screenfuls. It provides commands for scrolling through the buffer 428screenfuls. It provides commands for scrolling through the buffer
429conveniently but not for changing it. Apart from the usual Emacs 429conveniently but not for changing it. Apart from the usual Emacs
430cursor motion commands, you can type @key{SPC} to scroll forward one 430cursor motion commands, you can type @key{SPC} to scroll forward one
431windowful, @key{S-SPC} or @key{DEL} to scroll backward, and @kbd{s} to 431windowful, @key{S-@key{SPC}} or @key{DEL} to scroll backward, and @kbd{s} to
432start an incremental search. 432start an incremental search.
433 433
434@kindex q @r{(View mode)} 434@kindex q @r{(View mode)}
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 9310c44f1e6..894e61d0f04 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1569,10 +1569,11 @@ old meaning of the name @var{new} to be lost. If @var{old} and
1569@var{new} are on different file systems, the file @var{old} is copied 1569@var{new} are on different file systems, the file @var{old} is copied
1570and deleted. If the argument @var{new} is just a directory name, the 1570and deleted. If the argument @var{new} is just a directory name, the
1571real new name is in that directory, with the same non-directory 1571real new name is in that directory, with the same non-directory
1572component as @var{old}. For example, @kbd{M-x rename-file RET ~/foo 1572component as @var{old}. For example, @kbd{M-x rename-file @key{RET}
1573RET /tmp RET} renames @file{~/foo} to @file{/tmp/foo}. The same rule 1573~/foo @key{RET} /tmp @key{RET}} renames @file{~/foo} to
1574applies to all the remaining commands in this section. All of them 1574@file{/tmp/foo}. The same rule applies to all the remaining commands
1575ask for confirmation when the new file name already exists, too. 1575in this section. All of them ask for confirmation when the new file
1576name already exists, too.
1576 1577
1577@ifnottex 1578@ifnottex
1578 If a file is under version control (@pxref{Version Control}), you 1579 If a file is under version control (@pxref{Version Control}), you
@@ -1887,11 +1888,11 @@ then specifying @file{/tmp/foo*bar} will visit only
1887@findex file-cache-minibuffer-complete 1888@findex file-cache-minibuffer-complete
1888 You can use the @dfn{file name cache} to make it easy to locate a 1889 You can use the @dfn{file name cache} to make it easy to locate a
1889file by name, without having to remember exactly where it is located. 1890file by name, without having to remember exactly where it is located.
1890When typing a file name in the minibuffer, @kbd{C-@key{tab}} 1891When typing a file name in the minibuffer, @kbd{C-@key{TAB}}
1891(@code{file-cache-minibuffer-complete}) completes it using the file 1892(@code{file-cache-minibuffer-complete}) completes it using the file
1892name cache. If you repeat @kbd{C-@key{tab}}, that cycles through the 1893name cache. If you repeat @kbd{C-@key{TAB}}, that cycles through the
1893possible completions of what you had originally typed. (However, note 1894possible completions of what you had originally typed. (However, note
1894that the @kbd{C-@key{tab}} character cannot be typed on most text 1895that the @kbd{C-@key{TAB}} character cannot be typed on most text
1895terminals.) 1896terminals.)
1896 1897
1897 The file name cache does not fill up automatically. Instead, you 1898 The file name cache does not fill up automatically. Instead, you
@@ -1971,7 +1972,7 @@ previous image file in the same directory, respectively.
1971@vindex image-animate-loop 1972@vindex image-animate-loop
1972@cindex image animation 1973@cindex image animation
1973@cindex animated images 1974@cindex animated images
1974 If the image can be animated, the command @kbd{RET} 1975 If the image can be animated, the command @key{RET}
1975(@code{image-toggle-animation}) starts or stops the animation. 1976(@code{image-toggle-animation}) starts or stops the animation.
1976Animation plays once, unless the option @code{image-animate-loop} is 1977Animation plays once, unless the option @code{image-animate-loop} is
1977non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b} 1978non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b}
@@ -2024,7 +2025,7 @@ adds a @samp{Filesets} menu to the menu bar.
2024@findex filesets-remove-buffer 2025@findex filesets-remove-buffer
2025 The simplest way to define a fileset is by adding files to it one at 2026 The simplest way to define a fileset is by adding files to it one at
2026a time. To add a file to fileset @var{name}, visit the file and type 2027a time. To add a file to fileset @var{name}, visit the file and type
2027@kbd{M-x filesets-add-buffer @kbd{RET} @var{name} @kbd{RET}}. If 2028@kbd{M-x filesets-add-buffer @key{RET} @var{name} @key{RET}}. If
2028there is no fileset @var{name}, this creates a new one, which 2029there is no fileset @var{name}, this creates a new one, which
2029initially contains only the current file. The command @kbd{M-x 2030initially contains only the current file. The command @kbd{M-x
2030filesets-remove-buffer} removes the current file from a fileset. 2031filesets-remove-buffer} removes the current file from a fileset.
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index b9925e57f4a..8dd387b5fa0 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -802,8 +802,8 @@ When a file or directory is expanded, the @samp{[+]} changes to
802hiding its contents. 802hiding its contents.
803 803
804 You navigate through the speedbar using the keyboard, too. Typing 804 You navigate through the speedbar using the keyboard, too. Typing
805@kbd{RET} while point is on a line in the speedbar is equivalent to 805@key{RET} while point is on a line in the speedbar is equivalent to
806clicking the item on the current line, and @kbd{SPC} expands or 806clicking the item on the current line, and @key{SPC} expands or
807contracts the item. @kbd{U} displays the parent directory of the 807contracts the item. @kbd{U} displays the parent directory of the
808current directory. To copy, delete, or rename the file on the current 808current directory. To copy, delete, or rename the file on the current
809line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a 809line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index 4384a02cd6f..9da83bb1f74 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -26,10 +26,10 @@ When the mark is active, we call the region an active region.
26 26
27@item Alt 27@item Alt
28Alt is the name of a modifier bit that a keyboard input character may 28Alt is the name of a modifier bit that a keyboard input character may
29have. To make a character Alt, type it while holding down the @key{ALT} 29have. To make a character Alt, type it while holding down the @key{Alt}
30key. Such characters are given names that start with @kbd{Alt-} 30key. Such characters are given names that start with @kbd{@key{Alt}-}
31(usually written @kbd{A-} for short). (Note that many terminals have a 31(usually written @kbd{A-} for short). (Note that many terminals have a
32key labeled @key{ALT} that is really a @key{META} key.) @xref{User 32key labeled @key{Alt} that is really a @key{META} key.) @xref{User
33Input, Alt}. 33Input, Alt}.
34 34
35@item Argument 35@item Argument
@@ -269,8 +269,8 @@ lines. @xref{Continuation Lines}. A related Emacs feature is
269 269
270@item Control Character 270@item Control Character
271A control character is a character that you type by holding down the 271A control character is a character that you type by holding down the
272@key{CTRL} key. Some control characters also have their own keys, so 272@key{Ctrl} key. Some control characters also have their own keys, so
273that you can type them without using @key{CTRL}. For example, 273that you can type them without using @key{Ctrl}. For example,
274@key{RET}, @key{TAB}, @key{ESC} and @key{DEL} are all control 274@key{RET}, @key{TAB}, @key{ESC} and @key{DEL} are all control
275characters. @xref{User Input}. 275characters. @xref{User Input}.
276 276
@@ -284,8 +284,8 @@ around to empower users and encourage them to cooperate.
284The particular form of copyleft used by the GNU project is called the 284The particular form of copyleft used by the GNU project is called the
285GNU General Public License. @xref{Copying}. 285GNU General Public License. @xref{Copying}.
286 286
287@item @key{CTRL} 287@item @key{Ctrl}
288The @key{CTRL} or ``control'' key is what you hold down 288The @key{Ctrl} or ``control'' key is what you hold down
289in order to enter a control character (q.v.). @xref{Glossary---C-}. 289in order to enter a control character (q.v.). @xref{Glossary---C-}.
290 290
291@item Current Buffer 291@item Current Buffer
@@ -356,7 +356,7 @@ A defun is a major definition at the top level in a program. The name
356 356
357@item @key{DEL} 357@item @key{DEL}
358@key{DEL} is a character that runs the command to delete one character 358@key{DEL} is a character that runs the command to delete one character
359of text before the cursor. It is typically either the @key{DELETE} 359of text before the cursor. It is typically either the @key{Delete}
360key or the @key{BACKSPACE} key, whichever one is easy to type. 360key or the @key{BACKSPACE} key, whichever one is easy to type.
361@xref{Erasing,DEL}. 361@xref{Erasing,DEL}.
362 362
@@ -687,7 +687,7 @@ changing any of its code. @xref{Hooks}.
687@item Hyper 687@item Hyper
688Hyper is the name of a modifier bit that a keyboard input character may 688Hyper is the name of a modifier bit that a keyboard input character may
689have. To make a character Hyper, type it while holding down the 689have. To make a character Hyper, type it while holding down the
690@key{HYPER} key. Such characters are given names that start with 690@key{Hyper} key. Such characters are given names that start with
691@kbd{Hyper-} (usually written @kbd{H-} for short). @xref{User Input}. 691@kbd{Hyper-} (usually written @kbd{H-} for short). @xref{User Input}.
692 692
693@item Iff 693@item Iff
@@ -842,7 +842,7 @@ A local value of a variable (q.v.@:) applies to only one buffer.
842@xref{Locals}. 842@xref{Locals}.
843 843
844@item @kbd{M-} 844@item @kbd{M-}
845@kbd{M-} in the name of a character is an abbreviation for @key{META}, 845@kbd{M-} in the name of a character is an abbreviation for @key{Meta},
846one of the modifier keys that can accompany any character. 846one of the modifier keys that can accompany any character.
847@xref{User Input,M-}. 847@xref{User Input,M-}.
848 848
@@ -900,16 +900,16 @@ a keyboard interface to navigate it. @xref{Menu Bars}.
900 900
901@item Meta 901@item Meta
902Meta is the name of a modifier bit which you can use in a command 902Meta is the name of a modifier bit which you can use in a command
903character. To enter a meta character, you hold down the @key{META} 903character. To enter a meta character, you hold down the @key{Meta}
904key while typing the character. We refer to such characters with 904key while typing the character. We refer to such characters with
905names that start with @kbd{Meta-} (usually written @kbd{M-} for 905names that start with @kbd{Meta-} (usually written @kbd{M-} for
906short). For example, @kbd{M-<} is typed by holding down @key{META} 906short). For example, @kbd{M-<} is typed by holding down @key{Meta}
907and at the same time typing @kbd{<} (which itself is done, on most 907and at the same time typing @kbd{<} (which itself is done, on most
908terminals, by holding down @key{SHIFT} and typing @kbd{,}). 908terminals, by holding down @key{SHIFT} and typing @kbd{,}).
909@xref{User Input,Meta}. 909@xref{User Input,Meta}.
910 910
911On some terminals, the @key{META} key is actually labeled @key{ALT} 911On some terminals, the @key{Meta} key is actually labeled @key{Alt}
912or @key{EDIT}. 912or @key{Edit}.
913 913
914@item Meta Character 914@item Meta Character
915A Meta character is one whose character code includes the Meta bit. 915A Meta character is one whose character code includes the Meta bit.
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index fcc0cf15046..e6cf46acbe5 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -378,7 +378,7 @@ alphabetical order, change the variable
378 378
379 Help buffers provide the same commands as View mode (@pxref{View 379 Help buffers provide the same commands as View mode (@pxref{View
380Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} or 380Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} or
381@kbd{S-SPC} scrolls backward. A few special commands are also 381@kbd{S-@key{SPC}} scrolls backward. A few special commands are also
382provided: 382provided:
383 383
384@table @kbd 384@table @kbd
@@ -553,13 +553,13 @@ Emacs Lisp Reference Manual}).
553 553
554@findex describe-prefix-bindings 554@findex describe-prefix-bindings
555 You can get a list of subcommands for a particular prefix key by 555 You can get a list of subcommands for a particular prefix key by
556typing @kbd{C-h}, @kbd{?}, or @kbd{F1} 556typing @kbd{C-h}, @kbd{?}, or @key{F1}
557(@code{describe-prefix-bindings}) after the prefix key. (There are a 557(@code{describe-prefix-bindings}) after the prefix key. (There are a
558few prefix keys for which not all of these keys work---those that 558few prefix keys for which not all of these keys work---those that
559provide their own bindings for one of them. One of these prefix keys 559provide their own bindings for one of them. One of these prefix keys
560is @key{ESC} in combination with @kbd{C-h}, because @kbd{ESC C-h} is 560is @key{ESC} in combination with @kbd{C-h}, because @kbd{@key{ESC} C-h} is
561actually @kbd{C-M-h}, which marks a defun. However, @kbd{ESC F1} and 561actually @kbd{C-M-h}, which marks a defun. However, @kbd{@key{ESC} @key{F1}}
562@kbd{ESC ?} work fine.) 562and @kbd{@key{ESC} ?} work fine.)
563 563
564@node Help Files 564@node Help Files
565@section Help Files 565@section Help Files
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 48d7f93396b..45dbd5727ac 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -78,7 +78,7 @@ erase just one character or only whitespace.
78 78
79@table @kbd 79@table @kbd
80@item @key{DEL} 80@item @key{DEL}
81@itemx @key{Backspace} 81@itemx @key{BACKSPACE}
82Delete the previous character, or the text in the region if it is 82Delete the previous character, or the text in the region if it is
83active (@code{delete-backward-char}). 83active (@code{delete-backward-char}).
84 84
@@ -841,7 +841,7 @@ shifting the original text to the right.
841 841
842@findex rectangle-mark-mode 842@findex rectangle-mark-mode
843@cindex rectangular region 843@cindex rectangular region
844 The command @kbd{C-x SPC} (@code{rectangle-mark-mode}) makes a 844 The command @kbd{C-x @key{SPC}} (@code{rectangle-mark-mode}) makes a
845@dfn{rectangular region}. It is a new feature introduced in GNU Emacs 845@dfn{rectangular region}. It is a new feature introduced in GNU Emacs
84624.4, and most commands now are still unaware of it, but kill and yank 84624.4, and most commands now are still unaware of it, but kill and yank
847(@pxref{Killing}) do work on the rectangle. 847(@pxref{Killing}) do work on the rectangle.
@@ -879,9 +879,9 @@ behavior, set the variable @code{cua-delete-selection} to @code{nil}.
879 879
880@cindex rectangle highlighting 880@cindex rectangle highlighting
881 CUA mode provides enhanced rectangle support with visible 881 CUA mode provides enhanced rectangle support with visible
882rectangle highlighting. Use @kbd{C-RET} to start a rectangle, 882rectangle highlighting. Use @kbd{C-@key{RET}} to start a rectangle,
883extend it using the movement commands, and cut or copy it using 883extend it using the movement commands, and cut or copy it using
884@kbd{C-x} or @kbd{C-c}. @kbd{RET} moves the cursor to the next 884@kbd{C-x} or @kbd{C-c}. @key{RET} moves the cursor to the next
885(clockwise) corner of the rectangle, so you can easily expand it in 885(clockwise) corner of the rectangle, so you can easily expand it in
886any direction. Normal text you type is inserted to the left or right 886any direction. Normal text you type is inserted to the left or right
887of each line in the rectangle (on the same side as the cursor). 887of each line in the rectangle (on the same side as the cursor).
@@ -896,7 +896,7 @@ and yank commands, e.g., @kbd{C-1 C-c} copies the region into register
896 896
897@cindex global mark 897@cindex global mark
898 CUA mode also has a global mark feature which allows easy moving and 898 CUA mode also has a global mark feature which allows easy moving and
899copying of text between buffers. Use @kbd{C-S-SPC} to toggle the 899copying of text between buffers. Use @kbd{C-S-@key{SPC}} to toggle the
900global mark on and off. When the global mark is on, all text that you 900global mark on and off. When the global mark is on, all text that you
901kill or copy is automatically inserted at the global mark, and text 901kill or copy is automatically inserted at the global mark, and text
902you type is inserted at the global mark rather than at the current 902you type is inserted at the global mark rather than at the current
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi
index bc62faf7694..881c7ead933 100644
--- a/doc/emacs/kmacro.texi
+++ b/doc/emacs/kmacro.texi
@@ -506,7 +506,7 @@ keyboard input that you would use to invoke the macro---@kbd{C-x e} or
506@findex kmacro-step-edit-macro 506@findex kmacro-step-edit-macro
507@kindex C-x C-k SPC 507@kindex C-x C-k SPC
508 You can interactively replay and edit the last keyboard 508 You can interactively replay and edit the last keyboard
509macro, one command at a time, by typing @kbd{C-x C-k SPC} 509macro, one command at a time, by typing @kbd{C-x C-k @key{SPC}}
510(@code{kmacro-step-edit-macro}). Unless you quit the macro using 510(@code{kmacro-step-edit-macro}). Unless you quit the macro using
511@kbd{q} or @kbd{C-g}, the edited macro replaces the last macro on the 511@kbd{q} or @kbd{C-g}, the edited macro replaces the last macro on the
512macro ring. 512macro ring.
@@ -518,15 +518,15 @@ options. These actions are available:
518 518
519@itemize @bullet{} 519@itemize @bullet{}
520@item 520@item
521@kbd{SPC} and @kbd{y} execute the current command, and advance to the 521@key{SPC} and @kbd{y} execute the current command, and advance to the
522next command in the keyboard macro. 522next command in the keyboard macro.
523@item 523@item
524@kbd{n}, @kbd{d}, and @kbd{DEL} skip and delete the current command. 524@kbd{n}, @kbd{d}, and @key{DEL} skip and delete the current command.
525@item 525@item
526@kbd{f} skips the current command in this execution of the keyboard 526@kbd{f} skips the current command in this execution of the keyboard
527macro, but doesn't delete it from the macro. 527macro, but doesn't delete it from the macro.
528@item 528@item
529@kbd{@key{TAB}} executes the current command, as well as all similar 529@key{TAB} executes the current command, as well as all similar
530commands immediately following the current command; for example, @key{TAB} 530commands immediately following the current command; for example, @key{TAB}
531may be used to insert a sequence of characters (corresponding to a 531may be used to insert a sequence of characters (corresponding to a
532sequence of @code{self-insert-command} commands). 532sequence of @code{self-insert-command} commands).
@@ -542,31 +542,31 @@ with the edited macro.
542@kbd{q} and @kbd{C-g} cancels the step-editing of the keyboard macro; 542@kbd{q} and @kbd{C-g} cancels the step-editing of the keyboard macro;
543discarding any changes made to the keyboard macro. 543discarding any changes made to the keyboard macro.
544@item 544@item
545@kbd{i KEY... C-j} reads and executes a series of key sequences (not 545@kbd{i @var{key}@dots{} C-j} reads and executes a series of key sequences (not
546including the final @kbd{C-j}), and inserts them before the current 546including the final @kbd{C-j}), and inserts them before the current
547command in the keyboard macro, without advancing over the current 547command in the keyboard macro, without advancing over the current
548command. 548command.
549@item 549@item
550@kbd{I KEY...} reads one key sequence, executes it, and inserts it 550@kbd{I @var{key}@dots{}} reads one key sequence, executes it, and inserts it
551before the current command in the keyboard macro, without advancing 551before the current command in the keyboard macro, without advancing
552over the current command. 552over the current command.
553@item 553@item
554@kbd{r KEY... C-j} reads and executes a series of key sequences (not 554@kbd{r @var{key}@dots{} C-j} reads and executes a series of key sequences (not
555including the final @kbd{C-j}), and replaces the current command in 555including the final @kbd{C-j}), and replaces the current command in
556the keyboard macro with them, advancing over the inserted key 556the keyboard macro with them, advancing over the inserted key
557sequences. 557sequences.
558@item 558@item
559@kbd{R KEY...} reads one key sequence, executes it, and replaces the 559@kbd{R @var{key}@dots{}} reads one key sequence, executes it, and replaces the
560current command in the keyboard macro with that key sequence, 560current command in the keyboard macro with that key sequence,
561advancing over the inserted key sequence. 561advancing over the inserted key sequence.
562@item 562@item
563@kbd{a KEY... C-j} executes the current command, then reads and 563@kbd{a @var{key}@dots{} C-j} executes the current command, then reads and
564executes a series of key sequences (not including the final 564executes a series of key sequences (not including the final
565@kbd{C-j}), and inserts them after the current command in the keyboard 565@kbd{C-j}), and inserts them after the current command in the keyboard
566macro; it then advances over the current command and the inserted key 566macro; it then advances over the current command and the inserted key
567sequences. 567sequences.
568@item 568@item
569@kbd{A KEY... C-j} executes the rest of the commands in the keyboard 569@kbd{A @var{key}@dots{} C-j} executes the rest of the commands in the keyboard
570macro, then reads and executes a series of key sequences (not 570macro, then reads and executes a series of key sequences (not
571including the final @kbd{C-j}), and appends them at the end of the 571including the final @kbd{C-j}), and appends them at the end of the
572keyboard macro; it then terminates the step-editing and replaces the 572keyboard macro; it then terminates the step-editing and replaces the
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 2f7ea3b4e9b..e3cda04ce51 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -133,7 +133,7 @@ detailed description of these mouse commands.
133 133
134@cindex shift-selection 134@cindex shift-selection
135 Finally, you can set the mark by holding down the shift key while 135 Finally, you can set the mark by holding down the shift key while
136typing certain cursor motion commands (such as @kbd{S-@key{right}}, 136typing certain cursor motion commands (such as @kbd{S-@key{RIGHT}},
137@kbd{S-C-f}, @kbd{S-C-n}, etc.). This is called @dfn{shift-selection}. 137@kbd{S-C-f}, @kbd{S-C-n}, etc.). This is called @dfn{shift-selection}.
138It sets the mark at point before moving point, but only if there is no 138It sets the mark at point before moving point, but only if there is no
139active mark set via shift-selection. The mark set by mouse commands 139active mark set via shift-selection. The mark set by mouse commands
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index b575e4adbd3..a87aff0e135 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -357,12 +357,12 @@ While in the completion list buffer, this chooses the completion at
357point (@code{choose-completion}). 357point (@code{choose-completion}).
358 358
359@findex next-completion 359@findex next-completion
360@item @key{Right} 360@item @key{RIGHT}
361While in the completion list buffer, this moves point to the following 361While in the completion list buffer, this moves point to the following
362completion alternative (@code{next-completion}). 362completion alternative (@code{next-completion}).
363 363
364@findex previous-completion 364@findex previous-completion
365@item @key{Left} 365@item @key{LEFT}
366While in the completion list buffer, this moves point to the previous 366While in the completion list buffer, this moves point to the previous
367completion alternative (@code{previous-completion}). 367completion alternative (@code{previous-completion}).
368@end table 368@end table
@@ -587,11 +587,11 @@ argument into the minibuffer:
587 587
588@table @kbd 588@table @kbd
589@item M-p 589@item M-p
590@itemx @key{Up} 590@itemx @key{UP}
591Move to the previous item in the minibuffer history, an earlier 591Move to the previous item in the minibuffer history, an earlier
592argument (@code{previous-history-element}). 592argument (@code{previous-history-element}).
593@item M-n 593@item M-n
594@itemx @key{Down} 594@itemx @key{DOWN}
595Move to the next item in the minibuffer history 595Move to the next item in the minibuffer history
596(@code{next-history-element}). 596(@code{next-history-element}).
597@item M-r @var{regexp} @key{RET} 597@item M-r @var{regexp} @key{RET}
@@ -608,11 +608,11 @@ Move to a later item in the minibuffer history that matches
608@kindex DOWN @r{(minibuffer history)} 608@kindex DOWN @r{(minibuffer history)}
609@findex next-history-element 609@findex next-history-element
610@findex previous-history-element 610@findex previous-history-element
611 While in the minibuffer, @kbd{M-p} or @key{Up} 611 While in the minibuffer, @kbd{M-p} or @key{UP}
612(@code{previous-history-element}) moves through the minibuffer history 612(@code{previous-history-element}) moves through the minibuffer history
613list, one item at a time. Each @kbd{M-p} fetches an earlier item from 613list, one item at a time. Each @kbd{M-p} fetches an earlier item from
614the history list into the minibuffer, replacing its existing contents. 614the history list into the minibuffer, replacing its existing contents.
615Typing @kbd{M-n} or @key{Down} (@code{next-history-element}) moves 615Typing @kbd{M-n} or @key{DOWN} (@code{next-history-element}) moves
616through the minibuffer history list in the opposite direction, 616through the minibuffer history list in the opposite direction,
617fetching later entries into the minibuffer. 617fetching later entries into the minibuffer.
618 618
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index d444b6f8195..a2813f8b197 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -999,8 +999,8 @@ can reexecute several successive commands by typing @kbd{C-c C-x
999@key{RET}} over and over. 999@key{RET}} over and over.
1000 1000
1001 The command @kbd{C-c .}@: (@code{comint-input-previous-argument}) 1001 The command @kbd{C-c .}@: (@code{comint-input-previous-argument})
1002copies an individual argument from a previous command, like @kbd{ESC 1002copies an individual argument from a previous command, like
1003.} in Bash. The simplest use copies the last argument from the 1003@kbd{@key{ESC} .} in Bash. The simplest use copies the last argument from the
1004previous shell command. With a prefix argument @var{n}, it copies the 1004previous shell command. With a prefix argument @var{n}, it copies the
1005@var{n}th argument instead. Repeating @kbd{C-c .} copies from an 1005@var{n}th argument instead. Repeating @kbd{C-c .} copies from an
1006earlier shell command instead, always using the same value of @var{n} 1006earlier shell command instead, always using the same value of @var{n}
@@ -1918,11 +1918,11 @@ used.
1918init file (@pxref{Init File}), followed by @code{(pr-update-menus)}. 1918init file (@pxref{Init File}), followed by @code{(pr-update-menus)}.
1919This function replaces the usual printing commands in the menu bar 1919This function replaces the usual printing commands in the menu bar
1920with a @samp{Printing} submenu that contains various printing options. 1920with a @samp{Printing} submenu that contains various printing options.
1921You can also type @kbd{M-x pr-interface RET}; this creates a 1921You can also type @kbd{M-x pr-interface @key{RET}}; this creates a
1922@file{*Printing Interface*} buffer, similar to a customization buffer, 1922@file{*Printing Interface*} buffer, similar to a customization buffer,
1923where you can set the printing options. After selecting what and how 1923where you can set the printing options. After selecting what and how
1924to print, you start the print job using the @samp{Print} button (click 1924to print, you start the print job using the @samp{Print} button (click
1925@kbd{mouse-2} on it, or move point over it and type @kbd{RET}). For 1925@kbd{Mouse-2} on it, or move point over it and type @key{RET}). For
1926further information on the various options, use the @samp{Interface 1926further information on the various options, use the @samp{Interface
1927Help} button. 1927Help} button.
1928 1928
diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi
index 5543926fafd..876be52282a 100644
--- a/doc/emacs/msdog-xtra.texi
+++ b/doc/emacs/msdog-xtra.texi
@@ -53,13 +53,13 @@ about Emacs's special handling of text files under MS-DOS (and Windows).
53 The key that is called @key{DEL} in Emacs (because that's how it is 53 The key that is called @key{DEL} in Emacs (because that's how it is
54designated on most workstations) is known as @key{BS} (backspace) on a 54designated on most workstations) is known as @key{BS} (backspace) on a
55PC@. That is why the PC-specific terminal initialization remaps the 55PC@. That is why the PC-specific terminal initialization remaps the
56@key{BS} key to act as @key{DEL}; the @key{DELETE} key is remapped to act 56@key{BS} key to act as @key{DEL}; the @key{Delete} key is remapped to act
57as @kbd{C-d} for the same reasons. 57as @kbd{C-d} for the same reasons.
58 58
59@kindex C-g @r{(MS-DOS)} 59@kindex C-g @r{(MS-DOS)}
60@kindex C-BREAK @r{(MS-DOS)} 60@kindex C-Break @r{(MS-DOS)}
61@cindex quitting on MS-DOS 61@cindex quitting on MS-DOS
62 Emacs built for MS-DOS recognizes @kbd{C-@key{BREAK}} as a quit 62 Emacs built for MS-DOS recognizes @kbd{C-@key{Break}} as a quit
63character, just like @kbd{C-g}. This is because Emacs cannot detect 63character, just like @kbd{C-g}. This is because Emacs cannot detect
64that you have typed @kbd{C-g} until it is ready for more input. As a 64that you have typed @kbd{C-g} until it is ready for more input. As a
65consequence, you cannot use @kbd{C-g} to stop a running command 65consequence, you cannot use @kbd{C-g} to stop a running command
@@ -69,7 +69,7 @@ consequence, you cannot use @kbd{C-g} to stop a running command
69@ifnottex 69@ifnottex
70(@pxref{Quitting}). 70(@pxref{Quitting}).
71@end ifnottex 71@end ifnottex
72By contrast, @kbd{C-@key{BREAK}} @emph{is} detected as soon as you 72By contrast, @kbd{C-@key{Break}} @emph{is} detected as soon as you
73type it (as @kbd{C-g} is on other systems), so it can be used to stop 73type it (as @kbd{C-g} is on other systems), so it can be used to stop
74a running command and for emergency escape 74a running command and for emergency escape
75@iftex 75@iftex
@@ -84,17 +84,17 @@ a running command and for emergency escape
84@cindex Super (under MS-DOS) 84@cindex Super (under MS-DOS)
85@vindex dos-super-key 85@vindex dos-super-key
86@vindex dos-hyper-key 86@vindex dos-hyper-key
87 The PC keyboard maps use the left @key{ALT} key as the @key{META} key. 87 The PC keyboard maps use the left @key{Alt} key as the @key{META} key.
88You have two choices for emulating the @key{SUPER} and @key{HYPER} keys: 88You have two choices for emulating the @key{SUPER} and @key{HYPER} keys:
89choose either the right @key{CTRL} key or the right @key{ALT} key by 89choose either the right @key{Ctrl} key or the right @key{Alt} key by
90setting the variables @code{dos-hyper-key} and @code{dos-super-key} to 1 90setting the variables @code{dos-hyper-key} and @code{dos-super-key} to 1
91or 2 respectively. If neither @code{dos-super-key} nor 91or 2 respectively. If neither @code{dos-super-key} nor
92@code{dos-hyper-key} is 1, then by default the right @key{ALT} key is 92@code{dos-hyper-key} is 1, then by default the right @key{Alt} key is
93also mapped to the @key{META} key. However, if the MS-DOS international 93also mapped to the @key{META} key. However, if the MS-DOS international
94keyboard support program @file{KEYB.COM} is installed, Emacs will 94keyboard support program @file{KEYB.COM} is installed, Emacs will
95@emph{not} map the right @key{ALT} to @key{META}, since it is used for 95@emph{not} map the right @key{Alt} to @key{META}, since it is used for
96accessing characters like @kbd{~} and @kbd{@@} on non-US keyboard 96accessing characters like @kbd{~} and @kbd{@@} on non-US keyboard
97layouts; in this case, you may only use the left @key{ALT} as @key{META} 97layouts; in this case, you may only use the left @key{Alt} as @key{META}
98key. 98key.
99 99
100@kindex C-j @r{(MS-DOS)} 100@kindex C-j @r{(MS-DOS)}
@@ -398,11 +398,11 @@ though they are connected to a Windows machine that uses a different
398encoding for the same locale. For example, in the Latin-1 locale, DOS 398encoding for the same locale. For example, in the Latin-1 locale, DOS
399uses codepage 850 whereas Windows uses codepage 1252. @xref{MS-DOS and 399uses codepage 850 whereas Windows uses codepage 1252. @xref{MS-DOS and
400MULE}. When you print to such printers from Windows, you can use the 400MULE}. When you print to such printers from Windows, you can use the
401@kbd{C-x RET c} (@code{universal-coding-system-argument}) command before 401@kbd{C-x @key{RET} c} (@code{universal-coding-system-argument}) command
402@kbd{M-x lpr-buffer}; Emacs will then convert the text to the DOS 402before @kbd{M-x lpr-buffer}; Emacs will then convert the text to the DOS
403codepage that you specify. For example, @kbd{C-x RET c cp850-dos RET 403codepage that you specify. For example,
404M-x lpr-region RET} will print the region while converting it to the 404@kbd{C-x @key{RET} c cp850-dos @key{RET} M-x lpr-region @key{RET}}
405codepage 850 encoding. 405will print the region while converting it to the codepage 850 encoding.
406 406
407@vindex dos-printer 407@vindex dos-printer
408@vindex dos-ps-printer 408@vindex dos-ps-printer
@@ -597,7 +597,7 @@ work in MS-DOS by sending the output to one of the printer ports.
597program terminates and does not try to read keyboard input. If the 597program terminates and does not try to read keyboard input. If the
598program does not terminate on its own, you will be unable to terminate 598program does not terminate on its own, you will be unable to terminate
599it, because MS-DOS provides no general way to terminate a process. 599it, because MS-DOS provides no general way to terminate a process.
600Pressing @kbd{C-c} or @kbd{C-@key{BREAK}} might sometimes help in these 600Pressing @kbd{C-c} or @kbd{C-@key{Break}} might sometimes help in these
601cases. 601cases.
602 602
603 Accessing files on other machines is not supported on MS-DOS@. Other 603 Accessing files on other machines is not supported on MS-DOS@. Other
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 7708b8fe860..4787f98c7ed 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -479,7 +479,7 @@ the variable @code{w32-alt-is-meta} to a @code{nil} value.
479@findex w32-register-hot-key 479@findex w32-register-hot-key
480@findex w32-unregister-hot-key 480@findex w32-unregister-hot-key
481 MS-Windows reserves certain key combinations, such as 481 MS-Windows reserves certain key combinations, such as
482@kbd{Alt-@key{TAB}}, for its own use. These key combinations are 482@kbd{@key{Alt}-@key{TAB}}, for its own use. These key combinations are
483intercepted by the system before Emacs can see them. You can use the 483intercepted by the system before Emacs can see them. You can use the
484@code{w32-register-hot-key} function to allow a key sequence to be 484@code{w32-register-hot-key} function to allow a key sequence to be
485seen by Emacs instead of being grabbed by Windows. This function 485seen by Emacs instead of being grabbed by Windows. This function
@@ -491,7 +491,7 @@ other Windows applications.)
491 491
492 The argument to @code{w32-register-hot-key} must be a single key, 492 The argument to @code{w32-register-hot-key} must be a single key,
493with or without modifiers, in vector form that would be acceptable to 493with or without modifiers, in vector form that would be acceptable to
494@code{define-key}. The meta modifier is interpreted as the @key{ALT} 494@code{define-key}. The meta modifier is interpreted as the @key{Alt}
495key if @code{w32-alt-is-meta} is @code{t} (the default), and the hyper 495key if @code{w32-alt-is-meta} is @code{t} (the default), and the hyper
496modifier is always interpreted as the Windows key (usually labeled 496modifier is always interpreted as the Windows key (usually labeled
497with @key{start} and the Windows logo). If the function succeeds in 497with @key{start} and the Windows logo). If the function succeeds in
@@ -499,10 +499,10 @@ registering the key sequence, it returns the hotkey ID, a number;
499otherwise it returns @code{nil}. 499otherwise it returns @code{nil}.
500 500
501@kindex M-TAB@r{, (MS-Windows)} 501@kindex M-TAB@r{, (MS-Windows)}
502@cindex @kbd{M-@key{TAB}} vs @kbd{Alt-@key{TAB}} (MS-Windows) 502@cindex @kbd{M-@key{TAB}} vs @kbd{@key{Alt}-@key{TAB}} (MS-Windows)
503@cindex @kbd{Alt-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows) 503@cindex @kbd{@key{Alt}-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows)
504 For example, @code{(w32-register-hot-key [M-tab])} lets you use 504 For example, @code{(w32-register-hot-key [M-tab])} lets you use
505@kbd{M-TAB} normally in Emacs; for instance, to complete the word or 505@kbd{M-@key{TAB}} normally in Emacs; for instance, to complete the word or
506symbol at point at top level, or to complete the current search string 506symbol at point at top level, or to complete the current search string
507against previously sought strings during incremental search. 507against previously sought strings during incremental search.
508 508
@@ -558,14 +558,14 @@ produces the symbol @code{scroll}.
558@cindex Windows system menu 558@cindex Windows system menu
559@cindex @code{Alt} key invokes menu (Windows) 559@cindex @code{Alt} key invokes menu (Windows)
560 Emacs compiled as a native Windows application normally turns off 560 Emacs compiled as a native Windows application normally turns off
561the Windows feature that tapping the @key{ALT} key invokes the Windows 561the Windows feature that tapping the @key{Alt} key invokes the Windows
562menu. The reason is that the @key{ALT} serves as @key{META} in Emacs. 562menu. The reason is that the @key{Alt} serves as @key{META} in Emacs.
563When using Emacs, users often press the @key{META} key temporarily and 563When using Emacs, users often press the @key{META} key temporarily and
564then change their minds; if this has the effect of bringing up the 564then change their minds; if this has the effect of bringing up the
565Windows menu, it alters the meaning of subsequent commands. Many 565Windows menu, it alters the meaning of subsequent commands. Many
566users find this frustrating. 566users find this frustrating.
567 567
568 You can re-enable Windows's default handling of tapping the @key{ALT} 568 You can re-enable Windows's default handling of tapping the @key{Alt}
569key by setting @code{w32-pass-alt-to-system} to a non-@code{nil} 569key by setting @code{w32-pass-alt-to-system} to a non-@code{nil}
570value. 570value.
571 571
@@ -595,7 +595,7 @@ the combination of the right @key{Alt} and left @key{Ctrl} keys
595pressed together, is recognized as the @key{AltGr} key. The default 595pressed together, is recognized as the @key{AltGr} key. The default
596is @code{t}, which means these keys produce @code{AltGr}; setting it 596is @code{t}, which means these keys produce @code{AltGr}; setting it
597to @code{nil} causes @key{AltGr} or the equivalent key combination to 597to @code{nil} causes @key{AltGr} or the equivalent key combination to
598be interpreted as the combination of @key{CTRL} and @key{META} 598be interpreted as the combination of @key{Ctrl} and @key{META}
599modifiers. 599modifiers.
600@end ifnottex 600@end ifnottex
601 601
@@ -674,7 +674,7 @@ subprocesses).
674 674
675If you have to reboot Windows 9X in this situation, do not use the 675If you have to reboot Windows 9X in this situation, do not use the
676@code{Shutdown} command on the @code{Start} menu; that usually hangs the 676@code{Shutdown} command on the @code{Start} menu; that usually hangs the
677system. Instead, type @kbd{CTL-ALT-@key{DEL}} and then choose 677system. Instead, type @kbd{@key{Ctrl}-@key{Alt}-@key{DEL}} and then choose
678@code{Shutdown}. That usually works, although it may take a few minutes 678@code{Shutdown}. That usually works, although it may take a few minutes
679to do its job. 679to do its job.
680 680
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 217d0af8fc4..839bd95ae5e 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -1671,11 +1671,11 @@ use these keys; they should simply work. On a text terminal, you
1671should use the command @code{M-x set-keyboard-coding-system} or customize the 1671should use the command @code{M-x set-keyboard-coding-system} or customize the
1672variable @code{keyboard-coding-system} to specify which coding system 1672variable @code{keyboard-coding-system} to specify which coding system
1673your keyboard uses (@pxref{Terminal Coding}). Enabling this feature 1673your keyboard uses (@pxref{Terminal Coding}). Enabling this feature
1674will probably require you to use @kbd{ESC} to type Meta characters; 1674will probably require you to use @key{ESC} to type Meta characters;
1675however, on a console terminal or in @code{xterm}, you can arrange for 1675however, on a console terminal or in @code{xterm}, you can arrange for
1676Meta to be converted to @kbd{ESC} and still be able type 8-bit 1676Meta to be converted to @key{ESC} and still be able type 8-bit
1677characters present directly on the keyboard or using @kbd{Compose} or 1677characters present directly on the keyboard or using @key{Compose} or
1678@kbd{AltGr} keys. @xref{User Input}. 1678@key{AltGr} keys. @xref{User Input}.
1679 1679
1680@kindex C-x 8 1680@kindex C-x 8
1681@cindex @code{iso-transl} library 1681@cindex @code{iso-transl} library
@@ -1689,8 +1689,8 @@ well as other buffers), for searching, and in any other context where
1689a key sequence is allowed. 1689a key sequence is allowed.
1690 1690
1691@kbd{C-x 8} works by loading the @code{iso-transl} library. Once that 1691@kbd{C-x 8} works by loading the @code{iso-transl} library. Once that
1692library is loaded, the @key{ALT} modifier key, if the keyboard has 1692library is loaded, the @key{Alt} modifier key, if the keyboard has
1693one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together 1693one, serves the same purpose as @kbd{C-x 8}: use @key{Alt} together
1694with an accent character to modify the following letter. In addition, 1694with an accent character to modify the following letter. In addition,
1695if the keyboard has keys for the Latin-1 ``dead accent characters'', 1695if the keyboard has keys for the Latin-1 ``dead accent characters'',
1696they too are defined to compose with the following character, once 1696they too are defined to compose with the following character, once
@@ -1815,7 +1815,7 @@ inserting special formatting characters in front of the paragraph.
1815The special character @code{RIGHT-TO-LEFT MARK}, or @sc{rlm}, forces 1815The special character @code{RIGHT-TO-LEFT MARK}, or @sc{rlm}, forces
1816the right-to-left direction on the following paragraph, while 1816the right-to-left direction on the following paragraph, while
1817@code{LEFT-TO-RIGHT MARK}, or @sc{lrm} forces the left-to-right 1817@code{LEFT-TO-RIGHT MARK}, or @sc{lrm} forces the left-to-right
1818direction. (You can use @kbd{C-x 8 RET} to insert these characters.) 1818direction. (You can use @kbd{C-x 8 @key{RET}} to insert these characters.)
1819In a GUI session, the @sc{lrm} and @sc{rlm} characters display as very 1819In a GUI session, the @sc{lrm} and @sc{rlm} characters display as very
1820thin blank characters; on text terminals they display as blanks. 1820thin blank characters; on text terminals they display as blanks.
1821 1821
diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi
index ba36faad709..6f29e92732c 100644
--- a/doc/emacs/picture-xtra.texi
+++ b/doc/emacs/picture-xtra.texi
@@ -163,14 +163,14 @@ Move up after insertion (@code{picture-movement-up}).
163@itemx C-c @key{DOWN} 163@itemx C-c @key{DOWN}
164Move down after insertion (@code{picture-movement-down}). 164Move down after insertion (@code{picture-movement-down}).
165@item C-c ` 165@item C-c `
166@itemx C-c @key{HOME} 166@itemx C-c @key{Home}
167Move up and left (``northwest'') after insertion (@code{picture-movement-nw}). 167Move up and left (``northwest'') after insertion (@code{picture-movement-nw}).
168@item C-c ' 168@item C-c '
169@itemx C-c @key{prior} 169@itemx C-c @key{prior}
170Move up and right (``northeast'') after insertion 170Move up and right (``northeast'') after insertion
171(@code{picture-movement-ne}). 171(@code{picture-movement-ne}).
172@item C-c / 172@item C-c /
173@itemx C-c @key{END} 173@itemx C-c @key{End}
174Move down and left (``southwest'') after insertion 174Move down and left (``southwest'') after insertion
175@*(@code{picture-movement-sw}). 175@*(@code{picture-movement-sw}).
176@item C-c \ 176@item C-c \
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 55031e673dc..82bde754909 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -1675,12 +1675,12 @@ preprocessor commands.
1675Delete the entire block of whitespace preceding point (@code{c-hungry-delete-backwards}). 1675Delete the entire block of whitespace preceding point (@code{c-hungry-delete-backwards}).
1676 1676
1677@item C-c C-d 1677@item C-c C-d
1678@itemx C-c C-@key{DELETE} 1678@itemx C-c C-@key{Delete}
1679@itemx C-c @key{DELETE} 1679@itemx C-c @key{Delete}
1680@findex c-hungry-delete-forward 1680@findex c-hungry-delete-forward
1681@kindex C-c C-d (C Mode) 1681@kindex C-c C-d (C Mode)
1682@kindex C-c C-@key{DELETE} (C Mode) 1682@kindex C-c C-@key{Delete} (C Mode)
1683@kindex C-c @key{DELETE} (C Mode) 1683@kindex C-c @key{Delete} (C Mode)
1684Delete the entire block of whitespace after point (@code{c-hungry-delete-forward}). 1684Delete the entire block of whitespace after point (@code{c-hungry-delete-forward}).
1685@end table 1685@end table
1686 1686
@@ -1688,7 +1688,7 @@ Delete the entire block of whitespace after point (@code{c-hungry-delete-forward
1688delete mode}. When this feature is enabled (indicated by @samp{/h} in 1688delete mode}. When this feature is enabled (indicated by @samp{/h} in
1689the mode line after the mode name), a single @key{DEL} deletes all 1689the mode line after the mode name), a single @key{DEL} deletes all
1690preceding whitespace, not just one space, and a single @kbd{C-c C-d} 1690preceding whitespace, not just one space, and a single @kbd{C-c C-d}
1691(but @emph{not} plain @key{DELETE}) deletes all following whitespace. 1691(but @emph{not} plain @key{Delete}) deletes all following whitespace.
1692 1692
1693@table @kbd 1693@table @kbd
1694@item M-x c-toggle-hungry-state 1694@item M-x c-toggle-hungry-state
@@ -1717,7 +1717,7 @@ inserts a @samp{\} at the line break, and within comments it's like
1717 1717
1718@code{c-context-line-break} isn't bound to a key by default, but it 1718@code{c-context-line-break} isn't bound to a key by default, but it
1719needs a binding to be useful. The following code will bind it to 1719needs a binding to be useful. The following code will bind it to
1720@kbd{RET}. We use @code{c-initialization-hook} here to make sure 1720@key{RET}. We use @code{c-initialization-hook} here to make sure
1721the keymap is loaded before we try to change it. 1721the keymap is loaded before we try to change it.
1722 1722
1723@example 1723@example
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 2f823a757fe..6ba252393f6 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -101,7 +101,7 @@ frequent that it deserves to be easier.
101@item @key{SPC} 101@item @key{SPC}
102Scroll forward (@code{scroll-up-command}). 102Scroll forward (@code{scroll-up-command}).
103@item @key{DEL} 103@item @key{DEL}
104@itemx @key{S-SPC} 104@itemx S-@key{SPC}
105Scroll backward (@code{scroll-down-command}). 105Scroll backward (@code{scroll-down-command}).
106@item . 106@item .
107Scroll to start of message (@code{rmail-beginning-of-message}). 107Scroll to start of message (@code{rmail-beginning-of-message}).
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index 13a4c922c4d..d26b3bb49ff 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -123,7 +123,7 @@ beeping or by flashing the screen.
123you what the command has done, or to provide you with some specific 123you what the command has done, or to provide you with some specific
124information. These @dfn{informative} messages, unlike error messages, 124information. These @dfn{informative} messages, unlike error messages,
125are not accompanied with a beep or flash. For example, @kbd{C-x =} 125are not accompanied with a beep or flash. For example, @kbd{C-x =}
126(hold down @key{CTRL} and type @kbd{x}, then let go of @key{CTRL} and 126(hold down @key{Ctrl} and type @kbd{x}, then let go of @key{Ctrl} and
127type @kbd{=}) displays a message describing the character at point, 127type @kbd{=}) displays a message describing the character at point,
128its position in the buffer, and its current column in the window. 128its position in the buffer, and its current column in the window.
129Commands that take a long time often display messages ending in 129Commands that take a long time often display messages ending in
@@ -304,7 +304,7 @@ the usual way (@pxref{Key Help}).
304item by pressing @key{F10} (to run the command @code{menu-bar-open}). 304item by pressing @key{F10} (to run the command @code{menu-bar-open}).
305You can then navigate the menus with the arrow keys. To activate a 305You can then navigate the menus with the arrow keys. To activate a
306selected menu item, press @key{RET}; to cancel menu navigation, press 306selected menu item, press @key{RET}; to cancel menu navigation, press
307@kbd{C-g} or @kbd{ESC ESC ESC}. 307@kbd{C-g} or @kbd{@key{ESC} @key{ESC} @key{ESC}}.
308 308
309@findex tmm-menubar 309@findex tmm-menubar
310@vindex tty-menu-open-use-tmm 310@vindex tty-menu-open-use-tmm
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 99a05313890..5331f7da1b9 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -233,7 +233,7 @@ search string to a regular expression specified by the variable
233sequences of newlines as well as spaces, set it to 233sequences of newlines as well as spaces, set it to
234@samp{"[[:space:]\n]+"}. 234@samp{"[[:space:]\n]+"}.
235 235
236 To toggle lax space matching, type @kbd{M-s SPC} 236 To toggle lax space matching, type @kbd{M-s @key{SPC}}
237(@code{isearch-toggle-lax-whitespace}). To disable this feature 237(@code{isearch-toggle-lax-whitespace}). To disable this feature
238entirely, change @code{search-whitespace-regexp} to @code{nil}; then 238entirely, change @code{search-whitespace-regexp} to @code{nil}; then
239each space in the search string matches exactly one space. 239each space in the search string matches exactly one space.
@@ -261,7 +261,7 @@ Type @kbd{C-q}, followed by a non-graphic character or a sequence of
261octal digits. This adds a character to the search string, similar to 261octal digits. This adds a character to the search string, similar to
262inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For 262inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For
263example, @kbd{C-q C-s} during incremental search adds the 263example, @kbd{C-q C-s} during incremental search adds the
264@key{control-S} character to the search string. 264@samp{control-S} character to the search string.
265 265
266@item 266@item
267Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point. 267Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point.
@@ -605,7 +605,7 @@ They also have separate search rings, which you can access with
605 Just as in ordinary incremental search, any @key{SPC} typed in 605 Just as in ordinary incremental search, any @key{SPC} typed in
606incremental regexp search matches any sequence of one or more 606incremental regexp search matches any sequence of one or more
607whitespace characters. The variable @code{search-whitespace-regexp} 607whitespace characters. The variable @code{search-whitespace-regexp}
608specifies the regexp for the lax space matching, and @kbd{M-s SPC} 608specifies the regexp for the lax space matching, and @kbd{M-s @key{SPC}}
609(@code{isearch-toggle-lax-whitespace}) toggles the feature. 609(@code{isearch-toggle-lax-whitespace}) toggles the feature.
610@xref{Special Isearch}. 610@xref{Special Isearch}.
611 611
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi
index 95f3c6b661b..02b38cc6748 100644
--- a/doc/emacs/sending.texi
+++ b/doc/emacs/sending.texi
@@ -592,31 +592,37 @@ are inserted.
592@section Mail Signature 592@section Mail Signature
593 593
594@cindex mail signature 594@cindex mail signature
595@vindex mail-signature-file 595@vindex message-signature-file
596@vindex mail-signature 596@vindex message-signature
597 You can add a standard piece of text---your @dfn{mail 597 You can add a standard piece of text---your @dfn{mail
598signature}---to the end of every message. This signature may contain 598signature}---to the end of every message. This signature may contain
599information such as your telephone number or your physical location. 599information such as your telephone number or your physical location.
600The variable @code{mail-signature} determines how Emacs handles the 600The variable @code{message-signature} determines how Emacs handles the
601mail signature. 601mail signature.
602 602
603 The default value of @code{mail-signature} is @code{t}; this means 603 The default value of @code{message-signature} is @code{t}; this
604to look for your mail signature in the file @file{~/.signature}. If 604means to look for your mail signature in the file @file{~/.signature}.
605this file exists, its contents are automatically inserted into the end 605If this file exists, its contents are automatically inserted into the
606of the mail buffer. You can change the signature file via the 606end of the mail buffer. You can change the signature file via the
607variable @code{mail-signature-file}. 607variable @code{message-signature-file}.
608 608
609 If you change @code{mail-signature} to a string, that specifies the 609 If you change @code{message-signature} to a string, that specifies
610text of the signature directly. 610the text of the signature directly.
611 611
612@kindex C-c C-w @r{(Message mode)} 612@kindex C-c C-w @r{(Message mode)}
613@findex message-insert-signature 613@findex message-insert-signature
614 If you change @code{mail-signature} to @code{nil}, Emacs will not 614 If you change @code{message-signature} to @code{nil}, Emacs will not
615insert your mail signature automatically. You can insert your mail 615insert your mail signature automatically. You can insert your mail
616signature by typing @kbd{C-c C-w} (@code{message-insert-signature}) in 616signature by typing @kbd{C-c C-w} (@code{message-insert-signature}) in
617the mail buffer. Emacs will look for your signature in the signature 617the mail buffer. Emacs will look for your signature in the signature
618file. 618file.
619 619
620@vindex mail-signature-file
621@vindex mail-signature
622 If you use Mail mode rather than Message mode for composing your
623mail, the corresponding variables that determine how your signature is
624sent are @code{mail-signature} and @code{mail-signature-file} instead.
625
620 By convention, a mail signature should be marked by a line whose 626 By convention, a mail signature should be marked by a line whose
621contents are @samp{-- }. If your signature lacks this prefix, it is 627contents are @samp{-- }. If your signature lacks this prefix, it is
622added for you. The remainder of your signature should be no more than 628added for you. The remainder of your signature should be no more than
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 9eb8f467883..cebbdf9d95b 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -116,7 +116,7 @@ cognate to @kbd{C-@@}, which is an alias for @kbd{C-@key{SPC}}.
116@findex backward-word 116@findex backward-word
117 The commands @kbd{M-f} (@code{forward-word}) and @kbd{M-b} 117 The commands @kbd{M-f} (@code{forward-word}) and @kbd{M-b}
118(@code{backward-word}) move forward and backward over words. These 118(@code{backward-word}) move forward and backward over words. These
119@key{Meta}-based key sequences are analogous to the key sequences 119@key{META}-based key sequences are analogous to the key sequences
120@kbd{C-f} and @kbd{C-b}, which move over single characters. The 120@kbd{C-f} and @kbd{C-b}, which move over single characters. The
121analogy extends to numeric arguments, which serve as repeat counts. 121analogy extends to numeric arguments, which serve as repeat counts.
122@kbd{M-f} with a negative argument moves backward, and @kbd{M-b} with 122@kbd{M-f} with a negative argument moves backward, and @kbd{M-b} with
@@ -330,7 +330,7 @@ in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[
330@cindex formfeed character 330@cindex formfeed character
331 Within some text files, text is divided into @dfn{pages} delimited 331 Within some text files, text is divided into @dfn{pages} delimited
332by the @dfn{formfeed character} (@acronym{ASCII} code 12, also denoted 332by the @dfn{formfeed character} (@acronym{ASCII} code 12, also denoted
333as @key{control-L}), which is displayed in Emacs as the escape 333as @samp{control-L}), which is displayed in Emacs as the escape
334sequence @samp{^L} (@pxref{Text Display}). Traditionally, when such 334sequence @samp{^L} (@pxref{Text Display}). Traditionally, when such
335text files are printed to hardcopy, each formfeed character forces a 335text files are printed to hardcopy, each formfeed character forces a
336page break. Most Emacs commands treat it just like any other 336page break. Most Emacs commands treat it just like any other
@@ -1250,7 +1250,7 @@ quad click: exit all folds and hide text.
1250@c FIXME not marked as a user variable 1250@c FIXME not marked as a user variable
1251@vindex foldout-mouse-modifiers 1251@vindex foldout-mouse-modifiers
1252 You can specify different modifier keys (instead of 1252 You can specify different modifier keys (instead of
1253@kbd{Control-Meta-}) by setting @code{foldout-mouse-modifiers}; but if 1253@kbd{@key{Ctrl}-@key{META}-}) by setting @code{foldout-mouse-modifiers}; but if
1254you have already loaded the @file{foldout.el} library, you must reload 1254you have already loaded the @file{foldout.el} library, you must reload
1255it in order for this to take effect. 1255it in order for this to take effect.
1256 1256
@@ -1910,7 +1910,7 @@ characters themselves (@code{sgml-name-8bit-mode}).
1910Run a shell command (which you must specify) to validate the current 1910Run a shell command (which you must specify) to validate the current
1911buffer as SGML (@code{sgml-validate}). 1911buffer as SGML (@code{sgml-validate}).
1912 1912
1913@item C-c TAB 1913@item C-c @key{TAB}
1914@kindex C-c TAB @r{(SGML mode)} 1914@kindex C-c TAB @r{(SGML mode)}
1915@findex sgml-tags-invisible 1915@findex sgml-tags-invisible
1916Toggle the visibility of existing tags in the buffer. This can be 1916Toggle the visibility of existing tags in the buffer. This can be
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 52e5b9c4045..bf7c6175dcb 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -21,7 +21,7 @@ also considered.
21 21
22@table @kbd 22@table @kbd
23@item C-g 23@item C-g
24@itemx C-@key{BREAK} @r{(MS-DOS only)} 24@itemx C-@key{Break} @r{(MS-DOS only)}
25Quit: cancel running or partially typed command. 25Quit: cancel running or partially typed command.
26@item C-] 26@item C-]
27Abort innermost recursive editing level and cancel the command which 27Abort innermost recursive editing level and cancel the command which
@@ -58,11 +58,11 @@ incremental search, @kbd{C-g} behaves specially; it may take two
58successive @kbd{C-g} characters to get out of a search. 58successive @kbd{C-g} characters to get out of a search.
59@xref{Incremental Search}, for details. 59@xref{Incremental Search}, for details.
60 60
61 On MS-DOS, the character @kbd{C-@key{BREAK}} serves as a quit character 61 On MS-DOS, the character @kbd{C-@key{Break}} serves as a quit character
62like @kbd{C-g}. The reason is that it is not feasible, on MS-DOS, to 62like @kbd{C-g}. The reason is that it is not feasible, on MS-DOS, to
63recognize @kbd{C-g} while a command is running, between interactions 63recognize @kbd{C-g} while a command is running, between interactions
64with the user. By contrast, it @emph{is} feasible to recognize 64with the user. By contrast, it @emph{is} feasible to recognize
65@kbd{C-@key{BREAK}} at all times. 65@kbd{C-@key{Break}} at all times.
66@iftex 66@iftex
67@xref{MS-DOS Keyboard,,,emacs-xtra, Specialized Emacs Features}. 67@xref{MS-DOS Keyboard,,,emacs-xtra, Specialized Emacs Features}.
68@end iftex 68@end iftex
@@ -159,13 +159,13 @@ Emacs.
159@cindex @key{DEL} vs @key{BACKSPACE} 159@cindex @key{DEL} vs @key{BACKSPACE}
160@cindex @key{BACKSPACE} vs @key{DEL} 160@cindex @key{BACKSPACE} vs @key{DEL}
161 161
162 Every keyboard has a large key, usually labeled @key{Backspace}, 162 Every keyboard has a large key, usually labeled @key{BACKSPACE},
163which is ordinarily used to erase the last character that you typed. 163which is ordinarily used to erase the last character that you typed.
164In Emacs, this key is supposed to be equivalent to @key{DEL}. 164In Emacs, this key is supposed to be equivalent to @key{DEL}.
165 165
166 When Emacs starts up on a graphical display, it determines 166 When Emacs starts up on a graphical display, it determines
167automatically which key should be @key{DEL}. In some unusual cases, 167automatically which key should be @key{DEL}. In some unusual cases,
168Emacs gets the wrong information from the system, and @key{Backspace} 168Emacs gets the wrong information from the system, and @key{BACKSPACE}
169ends up deleting forwards instead of backwards. 169ends up deleting forwards instead of backwards.
170 170
171 Some keyboards also have a @key{Delete} key, which is ordinarily 171 Some keyboards also have a @key{Delete} key, which is ordinarily
@@ -173,9 +173,9 @@ used to delete forwards. If this key deletes backward in Emacs, that
173too suggests Emacs got the wrong information---but in the opposite 173too suggests Emacs got the wrong information---but in the opposite
174sense. 174sense.
175 175
176 On a text terminal, if you find that @key{Backspace} prompts for a 176 On a text terminal, if you find that @key{BACKSPACE} prompts for a
177Help command, like @kbd{Control-h}, instead of deleting a character, 177Help command, like @kbd{Control-h}, instead of deleting a character,
178it means that key is actually sending the @key{BS} character. Emacs 178it means that key is actually sending the @samp{BS} character. Emacs
179ought to be treating @key{BS} as @key{DEL}, but it isn't. 179ought to be treating @key{BS} as @key{DEL}, but it isn't.
180 180
181@findex normal-erase-is-backspace-mode 181@findex normal-erase-is-backspace-mode
@@ -189,8 +189,8 @@ sends character code 127.
189 189
190 To fix the problem in every Emacs session, put one of the following 190 To fix the problem in every Emacs session, put one of the following
191lines into your initialization file (@pxref{Init File}). For the 191lines into your initialization file (@pxref{Init File}). For the
192first case above, where @key{Backspace} deletes forwards instead of 192first case above, where @key{BACKSPACE} deletes forwards instead of
193backwards, use this line to make @key{Backspace} act as @key{DEL}: 193backwards, use this line to make @key{BACKSPACE} act as @key{DEL}:
194 194
195@lisp 195@lisp
196(normal-erase-is-backspace-mode 0) 196(normal-erase-is-backspace-mode 0)
@@ -438,7 +438,7 @@ state. The quit you requested will happen by and by.
438displays, you can use the mouse to kill Emacs or switch to another 438displays, you can use the mouse to kill Emacs or switch to another
439program. 439program.
440 440
441 On MS-DOS, you must type @kbd{C-@key{BREAK}} (twice) to cause 441 On MS-DOS, you must type @kbd{C-@key{Break}} (twice) to cause
442emergency escape---but there are cases where it won't work, when 442emergency escape---but there are cases where it won't work, when
443system call hangs or when Emacs is stuck in a tight loop in C code. 443system call hangs or when Emacs is stuck in a tight loop in C code.
444 444
@@ -541,7 +541,7 @@ buffer or change how it is displayed, are not responsible.
541 541
542 Taking forever to complete a command can be a bug, but you must make 542 Taking forever to complete a command can be a bug, but you must make
543sure that it is really Emacs's fault. Some commands simply take a 543sure that it is really Emacs's fault. Some commands simply take a
544long time. Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then 544long time. Type @kbd{C-g} (@kbd{C-@key{Break}} on MS-DOS) and then
545@kbd{C-h l} to see whether the input Emacs received was what you 545@kbd{C-h l} to see whether the input Emacs received was what you
546intended to type; if the input was such that you @emph{know} it should 546intended to type; if the input was such that you @emph{know} it should
547have been processed quickly, report a bug. If you don't know whether 547have been processed quickly, report a bug. If you don't know whether
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 9d15f65480c..0475635e958 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
12014-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * processes.texi (Filter Functions, Sentinels): Advertise add-function.
4
12014-04-29 Stefan Monnier <monnier@iro.umontreal.ca> 52014-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * windows.texi (Window Configurations, Window Configurations): 7 * windows.texi (Window Configurations, Window Configurations):
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index ad62b4fff63..c91afdffdeb 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1364,6 +1364,10 @@ which inserts the process output into the process buffer.
1364This function returns the filter function of @var{process}. 1364This function returns the filter function of @var{process}.
1365@end defun 1365@end defun
1366 1366
1367In case the process's output needs to be passed to several filters, you can
1368use @code{add-function} to combine an existing filter with a new one.
1369@xref{Advising Functions}.
1370
1367 Here is an example of the use of a filter function: 1371 Here is an example of the use of a filter function:
1368 1372
1369@smallexample 1373@smallexample
@@ -1617,6 +1621,10 @@ sentinel, the eventual call to the sentinel will use the new one.
1617This function returns the sentinel of @var{process}. 1621This function returns the sentinel of @var{process}.
1618@end defun 1622@end defun
1619 1623
1624In case a process status changes need to be passed to several sentinels, you
1625can use @code{add-function} to combine an existing sentinel with a new one.
1626@xref{Advising Functions}.
1627
1620@defun waiting-for-user-input-p 1628@defun waiting-for-user-input-p
1621While a sentinel or filter function is running, this function returns 1629While a sentinel or filter function is running, this function returns
1622non-@code{nil} if Emacs was waiting for keyboard input from the user at 1630non-@code{nil} if Emacs was waiting for keyboard input from the user at
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 0acdeecff8f..94ba8f4a9c2 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
12014-04-30 Glenn Morris <rgm@gnu.org>
2
3 * Makefile.in ($(DESTDIR)${archlibdir}):
4 Avoid non-portable "`\" nesting. (Bug#17339)
5
12014-04-16 Eli Zaretskii <eliz@gnu.org> 62014-04-16 Eli Zaretskii <eliz@gnu.org>
2 7
3 * update-game-score.c (write_scores): Condition fchmod call on 8 * update-game-score.c (write_scores): Condition fchmod call on
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 91d13231f39..6f25d75db76 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -247,8 +247,8 @@ $(DESTDIR)${archlibdir}: all
247 chown ${gameuser} "$(DESTDIR)${gamedir}"; \ 247 chown ${gameuser} "$(DESTDIR)${gamedir}"; \
248 chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"; \ 248 chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"; \
249 fi 249 fi
250 if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" \ 250 exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
251 != "`cd ${srcdir} && /bin/pwd`" ]; then \ 251 if [ "$$exp_archlibdir" != "`cd ${srcdir} && /bin/pwd`" ]; then \
252 for file in ${SCRIPTS}; do \ 252 for file in ${SCRIPTS}; do \
253 $(INSTALL_SCRIPT) ${srcdir}/$$file "$(DESTDIR)${archlibdir}/$$file"; \ 253 $(INSTALL_SCRIPT) ${srcdir}/$$file "$(DESTDIR)${archlibdir}/$$file"; \
254 done ; \ 254 done ; \
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d58fd9cdc08..04d57aa8125 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,35 @@
12014-04-30 Eli Zaretskii <eliz@gnu.org>
2
3 * dired.el (dired-initial-position-hook, dired-initial-position):
4 Doc string fixes.
5
62014-04-30 Glenn Morris <rgm@gnu.org>
7
8 * mail/rmail.el (rmail-quit): Handle killed summaries. (Bug#17283)
9
102014-04-30 Matthias Dahl <matthias.dahl@binary-island.eu>
11
12 * faces.el (face-spec-recalc): Apply X resources only after the
13 defface spec has been applied. Thus, X resources are no longer
14 overriden by the defface spec which also fixes issues on win32 where
15 the toolbar coloring was wrong because it is set through X resources
16 and was (wrongfully) overriden. (Bug#16694)
17
182014-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
19
20 * textmodes/rst.el (electric-pair-pairs): Declare.
21 (rst-mode): Set it (bug#17131).
22
232014-04-30 Juri Linkov <juri@jurta.org>
24
25 * desktop.el (desktop-value-to-string): Let-bind `print-length'
26 and `print-level' to nil. (Bug#17351)
27
282014-04-30 Nicolas Richard <theonewiththeevillook@yahoo.fr>
29
30 * battery.el (battery-update): Handle the case where battery
31 status is "N/A" (bug#17319).
32
12014-04-28 Stefan Monnier <monnier@iro.umontreal.ca> 332014-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
2 34
3 * progmodes/ps-mode.el: Use SMIE. Move string and comment recognition 35 * progmodes/ps-mode.el: Use SMIE. Move string and comment recognition
diff --git a/lisp/battery.el b/lisp/battery.el
index 1eef80ab339..b49363489a8 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -201,19 +201,18 @@ seconds."
201 201
202(defun battery-update () 202(defun battery-update ()
203 "Update battery status information in the mode line." 203 "Update battery status information in the mode line."
204 (let ((data (and battery-status-function (funcall battery-status-function)))) 204 (let* ((data (and battery-status-function (funcall battery-status-function)))
205 (percentage (car (read-from-string (cdr (assq ?p data))))))
205 (setq battery-mode-line-string 206 (setq battery-mode-line-string
206 (propertize (if (and battery-mode-line-format 207 (propertize (if (and battery-mode-line-format
207 (<= (car (read-from-string (cdr (assq ?p data)))) 208 (numberp percentage)
208 battery-mode-line-limit)) 209 (<= percentage battery-mode-line-limit))
209 (battery-format 210 (battery-format battery-mode-line-format data)
210 battery-mode-line-format
211 data)
212 "") 211 "")
213 'face 212 'face
214 (and (<= (car (read-from-string (cdr (assq ?p data)))) 213 (and (numberp percentage)
215 battery-load-critical) 214 (<= percentage battery-load-critical)
216 'error) 215 'error)
217 'help-echo "Battery status information"))) 216 'help-echo "Battery status information")))
218 (force-mode-line-update)) 217 (force-mode-line-update))
219 218
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 5e43c03ade7..ded73c065f0 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -844,12 +844,13 @@ QUOTE may be `may' (value may be quoted),
844 "Convert VALUE to a string that when read evaluates to the same value. 844 "Convert VALUE to a string that when read evaluates to the same value.
845Not all types of values are supported." 845Not all types of values are supported."
846 (let* ((print-escape-newlines t) 846 (let* ((print-escape-newlines t)
847 (print-length nil)
848 (print-level nil)
847 (float-output-format nil) 849 (float-output-format nil)
848 (quote.sexp (desktop--v2s value)) 850 (quote.sexp (desktop--v2s value))
849 (quote (car quote.sexp)) 851 (quote (car quote.sexp))
850 (txt 852 (print-quoted t)
851 (let ((print-quoted t)) 853 (txt (prin1-to-string (cdr quote.sexp))))
852 (prin1-to-string (cdr quote.sexp)))))
853 (if (eq quote 'must) 854 (if (eq quote 'must)
854 (concat "'" txt) 855 (concat "'" txt)
855 txt))) 856 txt)))
diff --git a/lisp/dired.el b/lisp/dired.el
index fd897b9f7b5..364975e7a2b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -222,7 +222,7 @@ with the buffer narrowed to the listing."
222 222
223(defcustom dired-initial-position-hook nil 223(defcustom dired-initial-position-hook nil
224 "This hook is used to position the point. 224 "This hook is used to position the point.
225It is run the function `dired-initial-position'." 225It is run by the function `dired-initial-position'."
226 :group 'dired 226 :group 'dired
227 :type 'hook 227 :type 'hook
228 :version "24.4") 228 :version "24.4")
@@ -2768,7 +2768,7 @@ as returned by `dired-get-filename'. LIMIT is the search limit."
2768;; FIXME document whatever dired-x is doing. 2768;; FIXME document whatever dired-x is doing.
2769(defun dired-initial-position (dirname) 2769(defun dired-initial-position (dirname)
2770 "Where point should go in a new listing of DIRNAME. 2770 "Where point should go in a new listing of DIRNAME.
2771Point assumed at beginning of new subdir line. 2771Point is assumed to be at the beginning of new subdir line.
2772It runs the hook `dired-initial-position-hook'." 2772It runs the hook `dired-initial-position-hook'."
2773 (end-of-line) 2773 (end-of-line)
2774 (and (featurep 'dired-x) dired-find-subdir 2774 (and (featurep 'dired-x) dired-find-subdir
diff --git a/lisp/faces.el b/lisp/faces.el
index 9c115473542..d8b3c7a6b0f 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1652,18 +1652,22 @@ function for its other effects."
1652 1652
1653(defun face-spec-recalc (face frame) 1653(defun face-spec-recalc (face frame)
1654 "Reset the face attributes of FACE on FRAME according to its specs. 1654 "Reset the face attributes of FACE on FRAME according to its specs.
1655After the reset, the specs are applied from the following sources in this order: 1655The following sources are applied in this order:
1656 X resources (if applicable) 1656
1657 face reset to default values if it's the default face, otherwise set
1658 to unspecified (through `face-spec-reset-face')
1657 | 1659 |
1658 (theme and user customization) 1660 (theme and user customization)
1659 or, if nonexistent or does not match the current frame, 1661 or: if none of the above exist, and none match the current frame or
1662 inherited from the defface spec instead of overwriting it
1663 entirely, the following is applied instead:
1660 (defface default spec) 1664 (defface default spec)
1665 (X resources (if applicable))
1661 | 1666 |
1662 defface override spec" 1667 defface override spec"
1663 (while (get face 'face-alias) 1668 (while (get face 'face-alias)
1664 (setq face (get face 'face-alias))) 1669 (setq face (get face 'face-alias)))
1665 (face-spec-reset-face face frame) 1670 (face-spec-reset-face face frame)
1666 (make-face-x-resource-internal face frame)
1667 ;; If FACE is customized or themed, set the custom spec from 1671 ;; If FACE is customized or themed, set the custom spec from
1668 ;; `theme-face' records. 1672 ;; `theme-face' records.
1669 (let ((theme-faces (get face 'theme-face)) 1673 (let ((theme-faces (get face 'theme-face))
@@ -1677,10 +1681,12 @@ After the reset, the specs are applied from the following sources in this order:
1677 (setq theme-face-applied t)))) 1681 (setq theme-face-applied t))))
1678 ;; If there was a spec applicable to FRAME, that overrides the 1682 ;; If there was a spec applicable to FRAME, that overrides the
1679 ;; defface spec entirely (rather than inheriting from it). If 1683 ;; defface spec entirely (rather than inheriting from it). If
1680 ;; there was no spec applicable to FRAME, apply the defface spec. 1684 ;; there was no spec applicable to FRAME, apply the defface spec
1685 ;; as well as any applicable X resources.
1681 (unless theme-face-applied 1686 (unless theme-face-applied
1682 (setq spec (face-spec-choose (face-default-spec face) frame)) 1687 (setq spec (face-spec-choose (face-default-spec face) frame))
1683 (face-spec-set-2 face frame spec)) 1688 (face-spec-set-2 face frame spec)
1689 (make-face-x-resource-internal face frame))
1684 (setq spec (face-spec-choose (get face 'face-override-spec) frame)) 1690 (setq spec (face-spec-choose (get face 'face-override-spec) frame))
1685 (face-spec-set-2 face frame spec))) 1691 (face-spec-set-2 face frame spec)))
1686 1692
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 3146e28e1ca..673a85dc4c7 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1,7 +1,6 @@
1;;; rmail.el --- main code of "RMAIL" mail reader for Emacs 1;;; rmail.el --- main code of "RMAIL" mail reader for Emacs
2 2
3;; Copyright (C) 1985-1988, 1993-1998, 2000-2014 Free Software 3;; Copyright (C) 1985-1988, 1993-1998, 2000-2014 Free Software Foundation, Inc.
4;; Foundation, Inc.
5 4
6;; Maintainer: emacs-devel@gnu.org 5;; Maintainer: emacs-devel@gnu.org
7;; Keywords: mail 6;; Keywords: mail
@@ -1573,7 +1572,7 @@ Hook `rmail-quit-hook' is run after expunging."
1573 (when (boundp 'rmail-quit-hook) 1572 (when (boundp 'rmail-quit-hook)
1574 (run-hooks 'rmail-quit-hook)) 1573 (run-hooks 'rmail-quit-hook))
1575 ;; Don't switch to the summary buffer even if it was recently visible. 1574 ;; Don't switch to the summary buffer even if it was recently visible.
1576 (when rmail-summary-buffer 1575 (when (rmail-summary-exists)
1577 (with-current-buffer rmail-summary-buffer 1576 (with-current-buffer rmail-summary-buffer
1578 (set-buffer-modified-p nil)) 1577 (set-buffer-modified-p nil))
1579 (replace-buffer-in-windows rmail-summary-buffer) 1578 (replace-buffer-in-windows rmail-summary-buffer)
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index d4a3438ce97..b05a5e5a7e3 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -784,11 +784,9 @@ This inherits from Text mode.")
784 (modify-syntax-entry ?\u2019 "." st) 784 (modify-syntax-entry ?\u2019 "." st)
785 (modify-syntax-entry ?\u201c "." st) 785 (modify-syntax-entry ?\u201c "." st)
786 (modify-syntax-entry ?\u201d "." st) 786 (modify-syntax-entry ?\u201d "." st)
787
788 st) 787 st)
789 "Syntax table used while in `rst-mode'.") 788 "Syntax table used while in `rst-mode'.")
790 789
791
792(defcustom rst-mode-hook nil 790(defcustom rst-mode-hook nil
793 "Hook run when `rst-mode' is turned on. 791 "Hook run when `rst-mode' is turned on.
794The hook for `text-mode' is run before this one." 792The hook for `text-mode' is run before this one."
@@ -799,6 +797,8 @@ The hook for `text-mode' is run before this one."
799;; Pull in variable definitions silencing byte-compiler. 797;; Pull in variable definitions silencing byte-compiler.
800(require 'newcomment) 798(require 'newcomment)
801 799
800(defvar electric-pair-pairs)
801
802;; Use rst-mode for *.rst and *.rest files. Many ReStructured-Text files 802;; Use rst-mode for *.rst and *.rest files. Many ReStructured-Text files
803;; use *.txt, but this is too generic to be set as a default. 803;; use *.txt, but this is too generic to be set as a default.
804;;;###autoload (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) 804;;;###autoload (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
@@ -860,6 +860,9 @@ highlighting.
860 (set (make-local-variable 'uncomment-region-function) 860 (set (make-local-variable 'uncomment-region-function)
861 'rst-uncomment-region) 861 'rst-uncomment-region)
862 862
863 (set (make-local-variable 'electric-pair-pairs)
864 '((?\" . ?\") (?\* . ?\*) (?\` . ?\`)))
865
863 ;; Imenu and which function. 866 ;; Imenu and which function.
864 ;; FIXME: Check documentation of `which-function' for alternative ways to 867 ;; FIXME: Check documentation of `which-function' for alternative ways to
865 ;; determine the current function name. 868 ;; determine the current function name.
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 9e7773a7421..f31d2619319 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,8 @@
12014-04-30 Eli Zaretskii <eliz@gnu.org>
2
3 * cmdproxy.c (make_absolute): Don't copy more characters from PATH
4 than a single directory name can hold. (Bug#17334)
5
12014-04-22 Eli Zaretskii <eliz@gnu.org> 62014-04-22 Eli Zaretskii <eliz@gnu.org>
2 7
3 * inc/ms-w32.h (lseek): Define only if not already a macro. 8 * inc/ms-w32.h (lseek): Define only if not already a macro.
diff --git a/nt/cmdproxy.c b/nt/cmdproxy.c
index f3433f63684..e48ca63a257 100644
--- a/nt/cmdproxy.c
+++ b/nt/cmdproxy.c
@@ -292,11 +292,15 @@ make_absolute (const char *prog)
292 292
293 while (*path) 293 while (*path)
294 { 294 {
295 size_t len;
296
295 /* Get next directory from path. */ 297 /* Get next directory from path. */
296 p = path; 298 p = path;
297 while (*p && *p != ';') p++; 299 while (*p && *p != ';') p++;
298 strncpy (dir, path, p - path); 300 /* A broken PATH could have too long directory names in it. */
299 dir[p - path] = '\0'; 301 len = min (p - path, sizeof (dir) - 1);
302 strncpy (dir, path, len);
303 dir[len] = '\0';
300 304
301 /* Search the directory for the program. */ 305 /* Search the directory for the program. */
302 if (search_dir (dir, prog, MAX_PATH, absname) > 0) 306 if (search_dir (dir, prog, MAX_PATH, absname) > 0)
diff --git a/src/ChangeLog b/src/ChangeLog
index 0fba7894443..152bcad9470 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,23 @@
12014-04-30 Paul Eggert <eggert@cs.ucla.edu>
2
3 * term.c (tty_menu_activate): Don't assume row and col are initialized.
4 GCC 4.9.0 warned about this, and I couldn't easily prove to my own
5 satisfaction that they would always be initialized.
6
72014-04-30 Eli Zaretskii <eliz@gnu.org>
8
9 * term.c (tty_menu_display): Move the cursor to the active menu item.
10 (tty_menu_activate): Return the cursor to the active menu item
11 after displaying the menu and after displaying help-echo. See
12 http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
13 for the details of why this is needed by screen readers and
14 Braille displays.
15
162014-04-30 Glenn Morris <rgm@gnu.org>
17
18 * process.c (handle_child_signal):
19 Handle systems without WCONTINUED. (Bug#15110, 17339)
20
12014-04-29 Stefan Monnier <monnier@iro.umontreal.ca> 212014-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
2 22
3 * window.c (struct saved_window): Remove mark. 23 * window.c (struct saved_window): Remove mark.
diff --git a/src/process.c b/src/process.c
index fdb0501f9ec..655f083fc33 100644
--- a/src/process.c
+++ b/src/process.c
@@ -6226,7 +6226,11 @@ handle_child_signal (int sig)
6226 int status; 6226 int status;
6227 6227
6228 if (p->alive 6228 if (p->alive
6229 && child_status_changed (p->pid, &status, WUNTRACED | WCONTINUED)) 6229#ifndef WCONTINUED
6230 && child_status_changed (p->pid, &status, WUNTRACED))
6231#else
6232 && child_status_changed (p->pid, &status, WUNTRACED | WCONTINUED))
6233#endif
6230 { 6234 {
6231 /* Change the status of the process that was found. */ 6235 /* Change the status of the process that was found. */
6232 p->tick = ++process_tick; 6236 p->tick = ++process_tick;
diff --git a/src/term.c b/src/term.c
index 6ea9a4eba9a..c636b8cac8b 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2924,6 +2924,13 @@ tty_menu_display (tty_menu *menu, int x, int y, int pn, int *faces,
2924 menu_help_paneno = pn - 1; 2924 menu_help_paneno = pn - 1;
2925 menu_help_itemno = j; 2925 menu_help_itemno = j;
2926 } 2926 }
2927 /* Take note of the coordinates of the active menu item, to
2928 display the cursor there. */
2929 if (mousehere)
2930 {
2931 row = y + i;
2932 col = x;
2933 }
2927 display_tty_menu_item (menu->text[j], max_width, face, x, y + i, 2934 display_tty_menu_item (menu->text[j], max_width, face, x, y + i,
2928 menu->submenu[j] != NULL); 2935 menu->submenu[j] != NULL);
2929 } 2936 }
@@ -3204,6 +3211,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
3204 bool first_time; 3211 bool first_time;
3205 Lisp_Object selectface; 3212 Lisp_Object selectface;
3206 int first_item = 0; 3213 int first_item = 0;
3214 int col, row;
3207 3215
3208 /* Don't allow non-positive x0 and y0, lest the menu will wrap 3216 /* Don't allow non-positive x0 and y0, lest the menu will wrap
3209 around the display. */ 3217 around the display. */
@@ -3391,7 +3399,14 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
3391 faces, x, y, first_item, 1); 3399 faces, x, y, first_item, 1);
3392 tty_hide_cursor (tty); 3400 tty_hide_cursor (tty);
3393 fflush (tty->output); 3401 fflush (tty->output);
3402 /* The call to display help-echo below will move the cursor,
3403 so remember its current position as computed by
3404 tty_menu_display. */
3405 col = cursorX (tty);
3406 row = cursorY (tty);
3394 } 3407 }
3408 else
3409 row = -1;
3395 3410
3396 /* Display the help-echo message for the currently-selected menu 3411 /* Display the help-echo message for the currently-selected menu
3397 item. */ 3412 item. */
@@ -3400,6 +3415,11 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
3400 { 3415 {
3401 help_callback (menu_help_message, 3416 help_callback (menu_help_message,
3402 menu_help_paneno, menu_help_itemno); 3417 menu_help_paneno, menu_help_itemno);
3418 /* Move the cursor to the beginning of the current menu
3419 item, so that screen readers and other accessibility aids
3420 know where the active region is. */
3421 if (0 <= row)
3422 cursor_to (sf, row, col);
3403 tty_hide_cursor (tty); 3423 tty_hide_cursor (tty);
3404 fflush (tty->output); 3424 fflush (tty->output);
3405 prev_menu_help_message = menu_help_message; 3425 prev_menu_help_message = menu_help_message;