aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2015-09-15 08:46:48 -0700
committerPaul Eggert2015-09-15 08:48:44 -0700
commitef7dbdf5873bf0a1f3f0e64e5d019e74d5b15b9e (patch)
tree5b1d35e609ce4481816662709ac677db1468495b
parentc051487fcf379febf4ce5b38de7017609c84a106 (diff)
downloademacs-ef7dbdf5873bf0a1f3f0e64e5d019e74d5b15b9e.tar.gz
emacs-ef7dbdf5873bf0a1f3f0e64e5d019e74d5b15b9e.zip
Quote less in manuals
The manuals often used quotes ``...'' when it is better to use @dfn or @code or capitalized words or no quoting at all. For example, there is no need for the `` and '' in “if a variable has one effect for @code{nil} values and another effect for ``non-@code{nil}'' values”. Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate unnecessary quoting like this, and to use @dfn etc. instead when called for (Bug#21472).
-rw-r--r--doc/emacs/abbrevs.texi6
-rw-r--r--doc/emacs/ack.texi39
-rw-r--r--doc/emacs/anti.texi10
-rw-r--r--doc/emacs/arevert-xtra.texi4
-rw-r--r--doc/emacs/basic.texi6
-rw-r--r--doc/emacs/buffers.texi4
-rw-r--r--doc/emacs/building.texi14
-rw-r--r--doc/emacs/cal-xtra.texi4
-rw-r--r--doc/emacs/calendar.texi32
-rw-r--r--doc/emacs/cmdargs.texi18
-rw-r--r--doc/emacs/commands.texi2
-rw-r--r--doc/emacs/custom.texi42
-rw-r--r--doc/emacs/dired.texi26
-rw-r--r--doc/emacs/display.texi50
-rw-r--r--doc/emacs/emacs.texi20
-rw-r--r--doc/emacs/emerge-xtra.texi4
-rw-r--r--doc/emacs/entering.texi4
-rw-r--r--doc/emacs/files.texi46
-rw-r--r--doc/emacs/fixit.texi4
-rw-r--r--doc/emacs/fortran-xtra.texi14
-rw-r--r--doc/emacs/frames.texi32
-rw-r--r--doc/emacs/glossary.texi20
-rw-r--r--doc/emacs/help.texi6
-rw-r--r--doc/emacs/indent.texi6
-rw-r--r--doc/emacs/killing.texi48
-rw-r--r--doc/emacs/kmacro.texi8
-rw-r--r--doc/emacs/macos.texi6
-rw-r--r--doc/emacs/maintaining.texi48
-rw-r--r--doc/emacs/mark.texi6
-rw-r--r--doc/emacs/mini.texi22
-rw-r--r--doc/emacs/misc.texi42
-rw-r--r--doc/emacs/modes.texi4
-rw-r--r--doc/emacs/msdos-xtra.texi2
-rw-r--r--doc/emacs/mule.texi22
-rw-r--r--doc/emacs/package.texi4
-rw-r--r--doc/emacs/picture-xtra.texi20
-rw-r--r--doc/emacs/programs.texi29
-rw-r--r--doc/emacs/regs.texi6
-rw-r--r--doc/emacs/rmail.texi16
-rw-r--r--doc/emacs/screen.texi12
-rw-r--r--doc/emacs/search.texi10
-rw-r--r--doc/emacs/sending.texi10
-rw-r--r--doc/emacs/text.texi29
-rw-r--r--doc/emacs/trouble.texi26
-rw-r--r--doc/emacs/vc1-xtra.texi2
-rw-r--r--doc/emacs/windows.texi12
-rw-r--r--doc/emacs/xresources.texi14
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi352
-rw-r--r--doc/lispref/abbrevs.texi6
-rw-r--r--doc/lispref/anti.texi4
-rw-r--r--doc/lispref/back.texi2
-rw-r--r--doc/lispref/backups.texi2
-rw-r--r--doc/lispref/buffers.texi8
-rw-r--r--doc/lispref/commands.texi20
-rw-r--r--doc/lispref/compile.texi6
-rw-r--r--doc/lispref/control.texi14
-rw-r--r--doc/lispref/customize.texi16
-rw-r--r--doc/lispref/debugging.texi4
-rw-r--r--doc/lispref/display.texi111
-rw-r--r--doc/lispref/edebug.texi12
-rw-r--r--doc/lispref/elisp.texi14
-rw-r--r--doc/lispref/eval.texi10
-rw-r--r--doc/lispref/files.texi34
-rw-r--r--doc/lispref/frames.texi68
-rw-r--r--doc/lispref/functions.texi16
-rw-r--r--doc/lispref/hash.texi26
-rw-r--r--doc/lispref/help.texi32
-rw-r--r--doc/lispref/hooks.texi2
-rw-r--r--doc/lispref/internals.texi6
-rw-r--r--doc/lispref/intro.texi8
-rw-r--r--doc/lispref/keymaps.texi54
-rw-r--r--doc/lispref/lay-flat.texi4
-rw-r--r--doc/lispref/lists.texi14
-rw-r--r--doc/lispref/loading.texi6
-rw-r--r--doc/lispref/macros.texi6
-rw-r--r--doc/lispref/markers.texi14
-rw-r--r--doc/lispref/minibuf.texi20
-rw-r--r--doc/lispref/modes.texi42
-rw-r--r--doc/lispref/nonascii.texi4
-rw-r--r--doc/lispref/numbers.texi37
-rw-r--r--doc/lispref/objects.texi32
-rw-r--r--doc/lispref/os.texi16
-rw-r--r--doc/lispref/package.texi2
-rw-r--r--doc/lispref/positions.texi14
-rw-r--r--doc/lispref/processes.texi44
-rw-r--r--doc/lispref/searching.texi14
-rw-r--r--doc/lispref/sequences.texi4
-rw-r--r--doc/lispref/streams.texi6
-rw-r--r--doc/lispref/strings.texi12
-rw-r--r--doc/lispref/symbols.texi6
-rw-r--r--doc/lispref/syntax.texi10
-rw-r--r--doc/lispref/text.texi74
-rw-r--r--doc/lispref/tips.texi6
-rw-r--r--doc/lispref/variables.texi41
-rw-r--r--doc/lispref/windows.texi52
95 files changed, 1063 insertions, 1055 deletions
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi
index a3cb989320a..23d7e28f4e3 100644
--- a/doc/emacs/abbrevs.texi
+++ b/doc/emacs/abbrevs.texi
@@ -20,7 +20,7 @@ to expand the letters in the buffer before point by looking for other
20words in the buffer that start with those letters. @xref{Dynamic 20words in the buffer that start with those letters. @xref{Dynamic
21Abbrevs}. 21Abbrevs}.
22 22
23 ``Hippie'' expansion generalizes abbreviation expansion. 23 A third kind, @dfn{hippie expansion}, generalizes abbreviation expansion.
24@xref{Hippie Expand, , Hippie Expansion, autotype, Features for 24@xref{Hippie Expand, , Hippie Expansion, autotype, Features for
25Automatic Typing}. 25Automatic Typing}.
26 26
@@ -250,10 +250,10 @@ keeps track of this to help you see which abbrevs you actually use, so
250that you can eliminate those that you don't use often. The string at 250that you can eliminate those that you don't use often. The string at
251the end of the line is the expansion. 251the end of the line is the expansion.
252 252
253 Some abbrevs are marked with @samp{(sys)}. These ``system'' abbrevs 253 Some abbrevs are marked with @samp{(sys)}. These @dfn{system abbrevs}
254(@pxref{Abbrevs,,, elisp, The Emacs Lisp Reference Manual}) are 254(@pxref{Abbrevs,,, elisp, The Emacs Lisp Reference Manual}) are
255pre-defined by various modes, and are not saved to your abbrev file. 255pre-defined by various modes, and are not saved to your abbrev file.
256To disable a ``system'' abbrev, define an abbrev of the same name that 256To disable a system abbrev, define an abbrev of the same name that
257expands to itself, and save it to your abbrev file. 257expands to itself, and save it to your abbrev file.
258 258
259@findex edit-abbrevs 259@findex edit-abbrevs
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index f612a7b04d8..f34de976a05 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -155,7 +155,7 @@ directory changes in shell buffers; @file{filecache.el}, which records
155which directories your files are in; @file{locate.el}, which 155which directories your files are in; @file{locate.el}, which
156interfaces to the @code{locate} command; @file{find-lisp.el}, an Emacs 156interfaces to the @code{locate} command; @file{find-lisp.el}, an Emacs
157Lisp emulation of the @command{find} program; @file{net-utils.el}; and 157Lisp emulation of the @command{find} program; @file{net-utils.el}; and
158the ``generic mode'' feature. 158the generic mode feature.
159 159
160@item 160@item
161Emmanuel Briot wrote @file{xml.el}, an XML parser for Emacs; and 161Emmanuel Briot wrote @file{xml.el}, an XML parser for Emacs; and
@@ -196,7 +196,8 @@ for editing IDL and WAVE CL.
196Bob Chassell wrote @file{texnfo-upd.el}, @file{texinfo.el}, and 196Bob Chassell wrote @file{texnfo-upd.el}, @file{texinfo.el}, and
197@file{makeinfo.el}, modes and utilities for working with Texinfo files; 197@file{makeinfo.el}, modes and utilities for working with Texinfo files;
198and @file{page-ext.el}, commands for extended page handling. He also 198and @file{page-ext.el}, commands for extended page handling. He also
199wrote the ``Introduction to programming in Emacs Lisp'' manual. 199wrote the Emacs Lisp introduction. @xref{,,,eintr, Introduction to
200Programming in Emacs Lisp}.
200 201
201@item 202@item
202Jihyun Cho wrote @file{hanja-util.el} and @file{hangul.el}, utilities 203Jihyun Cho wrote @file{hanja-util.el} and @file{hangul.el}, utilities
@@ -247,10 +248,10 @@ for compiled Emacs Lisp code.
247 248
248@item 249@item
249Mathias Dahl wrote @file{image-dired.el}, a package for viewing image 250Mathias Dahl wrote @file{image-dired.el}, a package for viewing image
250files as ``thumbnails''. 251files as thumbnails.
251 252
252@item 253@item
253Julien Danjou wrote an implementation of ``Desktop Notifications'' 254Julien Danjou wrote an implementation of desktop notifications
254(@file{notifications.el}, and related packages for ERC and Gnus); 255(@file{notifications.el}, and related packages for ERC and Gnus);
255and @file{color.el}, a library for general color manipulation. 256and @file{color.el}, a library for general color manipulation.
256He also made various contributions to Gnus. 257He also made various contributions to Gnus.
@@ -544,11 +545,11 @@ diary entries to and from the iCalendar format;
544@file{bubbles.el}, a puzzle game. 545@file{bubbles.el}, a puzzle game.
545 546
546@item 547@item
547Kyle Jones wrote @file{life.el}, a package to play Conway's ``life'' game. 548Kyle Jones wrote @file{life.el}, a package to play Conway's Game of Life.
548 549
549@item 550@item
550Terry Jones wrote @file{shadow.el}, a package for finding potential 551Terry Jones wrote @file{shadow.el}, a package for finding potential
551load-path problems when some Lisp file ``shadows'' another. 552load-path problems when some Lisp file shadows another.
552 553
553@item 554@item
554Simon Josefsson wrote @file{dns-mode.el}, an editing mode for Domain 555Simon Josefsson wrote @file{dns-mode.el}, an editing mode for Domain
@@ -708,7 +709,7 @@ Leo Liu wrote @file{pcmpl-x.el}, providing completion for
708miscellaneous external tools; and revamped support for Octave in Emacs 24.4. 709miscellaneous external tools; and revamped support for Octave in Emacs 24.4.
709 710
710@item 711@item
711Károly Lőrentey wrote the ``multi-terminal'' code, which allows 712Károly Lőrentey wrote the multi-terminal code, which allows
712Emacs to run on graphical and text terminals simultaneously. 713Emacs to run on graphical and text terminals simultaneously.
713 714
714@item 715@item
@@ -726,7 +727,7 @@ Autoconf files; @file{cfengine.el}, a mode for editing Cfengine files;
726@file{elide-head.el}, a package for eliding boilerplate text from file 727@file{elide-head.el}, a package for eliding boilerplate text from file
727headers; @file{hl-line.el}, a minor mode for highlighting the line in 728headers; @file{hl-line.el}, a minor mode for highlighting the line in
728the current window on which point is; @file{cap-words.el}, a minor mode 729the current window on which point is; @file{cap-words.el}, a minor mode
729for motion in ``CapitalizedWordIdentifiers''; @file{latin1-disp.el}, a 730for motion in @code{CapitalizedWordIdentifiers}; @file{latin1-disp.el}, a
730package that lets you display ISO 8859 characters on Latin-1 terminals 731package that lets you display ISO 8859 characters on Latin-1 terminals
731by setting up appropriate display tables; the version of 732by setting up appropriate display tables; the version of
732@file{python.el} used prior to Emacs 24.3; @file{smiley.el}, a 733@file{python.el} used prior to Emacs 24.3; @file{smiley.el}, a
@@ -822,7 +823,7 @@ command with its arguments.
822 823
823@item 824@item
824Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting 825Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting
825Common Lisp code; @file{ebuff-menu.el}, an ``electric'' browser for 826Common Lisp code; @file{ebuff-menu.el}, an electric browser for
826buffer listings; @file{ehelp.el}, bindings for browsing help screens; 827buffer listings; @file{ehelp.el}, bindings for browsing help screens;
827and @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, 828and @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format,
828used in mail messages and news articles. 829used in mail messages and news articles.
@@ -848,7 +849,7 @@ text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3}
848conflicts; @file{diff-mode.el}, a mode for viewing and editing context 849conflicts; @file{diff-mode.el}, a mode for viewing and editing context
849diffs; @file{css-mode.el} for Cascading Style Sheets; 850diffs; @file{css-mode.el} for Cascading Style Sheets;
850@file{bibtex-style.el} for Bib@TeX{} Style files; @file{mpc.el}, a 851@file{bibtex-style.el} for Bib@TeX{} Style files; @file{mpc.el}, a
851client for the ``Music Player Daemon''; @file{smie.el}, a generic 852client for the Music Player Daemon (MPD); @file{smie.el}, a generic
852indentation engine; and @file{pcase.el}, implementing ML-style pattern 853indentation engine; and @file{pcase.el}, implementing ML-style pattern
853matching. In Emacs 24, he integrated the lexical binding code, 854matching. In Emacs 24, he integrated the lexical binding code,
854cleaned up the CL namespace (making it acceptable to use CL 855cleaned up the CL namespace (making it acceptable to use CL
@@ -930,7 +931,7 @@ Jeff Peck wrote @file{sun.el}, key bindings for sunterm keys.
930 931
931@item 932@item
932Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of 933Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of
933the ``Towers of Hanoi'' puzzle. 934the Towers of Hanoi puzzle.
934 935
935@item 936@item
936William M. Perry wrote @file{mailcap.el} (with Lars Magne 937William M. Perry wrote @file{mailcap.el} (with Lars Magne
@@ -1003,7 +1004,7 @@ source code version control systems, with Paul Eggert; @file{gud.el},
1003a package for running source-level debuggers like GDB and SDB in 1004a package for running source-level debuggers like GDB and SDB in
1004Emacs; @file{asm-mode.el}, a mode for editing assembly language code; 1005Emacs; @file{asm-mode.el}, a mode for editing assembly language code;
1005@file{AT386.el}, terminal support package for IBM's AT keyboards; 1006@file{AT386.el}, terminal support package for IBM's AT keyboards;
1006@file{cookie1.el}, support for ``fortune-cookie'' programs like 1007@file{cookie1.el}, support for fortune-cookie programs like
1007@file{yow.el} and @file{spook.el}; @file{finder.el}, a package for 1008@file{yow.el} and @file{spook.el}; @file{finder.el}, a package for
1008finding Emacs Lisp packages by keyword and topic; @file{keyswap.el}, 1009finding Emacs Lisp packages by keyword and topic; @file{keyswap.el},
1009code to swap the @key{BS} and @key{DEL} keys; @file{loadhist.el}, 1010code to swap the @key{BS} and @key{DEL} keys; @file{loadhist.el},
@@ -1055,7 +1056,7 @@ DSSSL code.
1055 1056
1056@item 1057@item
1057Martin Rudalics implemented improved display-buffer handling in Emacs 24; 1058Martin Rudalics implemented improved display-buffer handling in Emacs 24;
1058and implemented ``pixel-wise'' resizing of windows and frames. 1059and implemented pixel-wise resizing of windows and frames.
1059 1060
1060@item 1061@item
1061Ivar Rummelhoff wrote @file{winner.el}, which records recent window 1062Ivar Rummelhoff wrote @file{winner.el}, which records recent window
@@ -1177,7 +1178,7 @@ selecting regions to follow many other systems.
1177@item 1178@item
1178Richard Stallman invented Emacs. He is the original author of GNU 1179Richard Stallman invented Emacs. He is the original author of GNU
1179Emacs, and has been Emacs maintainer over several non-contiguous 1180Emacs, and has been Emacs maintainer over several non-contiguous
1180periods. In addition to much of the ``core'' Emacs code, he has 1181periods. In addition to much of the core Emacs code, he has
1181written @file{easymenu.el}, a facility for defining Emacs menus; 1182written @file{easymenu.el}, a facility for defining Emacs menus;
1182@file{image-mode.el}, support for visiting image files; 1183@file{image-mode.el}, support for visiting image files;
1183@file{menu-bar.el}, the Emacs menu bar support code; 1184@file{menu-bar.el}, the Emacs menu bar support code;
@@ -1193,8 +1194,8 @@ Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
1193browsing indices made from buffer contents. 1194browsing indices made from buffer contents.
1194 1195
1195@item 1196@item
1196Peter Stephenson wrote @file{vcursor.el}, which implements a ``virtual 1197Peter Stephenson wrote @file{vcursor.el}, which implements a virtual
1197cursor'' that you can move with the keyboard and use for copying text. 1198cursor that you can move with the keyboard and use for copying text.
1198 1199
1199@item 1200@item
1200Ken Stevens wrote @file{ispell.el}, a spell-checker interface. 1201Ken Stevens wrote @file{ispell.el}, a spell-checker interface.
@@ -1230,7 +1231,7 @@ the keyboard.
1230 1231
1231@item 1232@item
1232Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing 1233Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing
1233image files as ``thumbnails''. 1234image files as thumbnails.
1234 1235
1235@item 1236@item
1236Spencer Thomas wrote the original @file{dabbrev.el}, providing a command 1237Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
@@ -1274,7 +1275,7 @@ for Gnus; and @file{timezone.el}, providing functions for dealing with
1274time zones. 1275time zones.
1275 1276
1276@item 1277@item
1277Neil W. Van Dyke wrote @file{webjump.el}, a ``hot links'' package. 1278Neil W. Van Dyke wrote @file{webjump.el}, a Web hotlist package.
1278 1279
1279@item 1280@item
1280Didier Verna wrote @file{rect.el}, a package of functions for 1281Didier Verna wrote @file{rect.el}, a package of functions for
@@ -1373,7 +1374,7 @@ manual pages without the @code{man} command.
1373@item 1374@item
1374Masatake Yamato wrote @file{ld-script.el}, an editing mode for GNU 1375Masatake Yamato wrote @file{ld-script.el}, an editing mode for GNU
1375linker scripts, and contributed subword handling and style 1376linker scripts, and contributed subword handling and style
1376``guessing'' in CC mode. 1377guessing in CC mode.
1377 1378
1378@item 1379@item
1379Jonathan Yavner wrote @file{testcover.el}, a package for keeping track 1380Jonathan Yavner wrote @file{testcover.el}, a package for keeping track
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi
index def5411064c..72452a501a6 100644
--- a/doc/emacs/anti.texi
+++ b/doc/emacs/anti.texi
@@ -13,21 +13,21 @@ greater simplicity that results from the absence of many Emacs
13 13
14@itemize @bullet 14@itemize @bullet
15@item 15@item
16Support for displaying and editing ``bidirectional'' text has been 16Support 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''. 23paragraph direction.
24 24
25Users of ``right-to-left'' languages, like Arabic and Hebrew, may 25Users of right-to-left languages, like Arabic and Hebrew, may
26adapt by reading and/or editing text in left-to-right order. 26adapt by reading and/or editing text in left-to-right order.
27 27
28@item 28@item
29The Emacs Lisp package manager has been removed. Instead of using a 29The Emacs Lisp package manager has been removed. Instead of using a
30``user interface'' (@kbd{M-x list-packages}), additional Lisp packages 30user interface (@kbd{M-x list-packages}), additional Lisp packages
31must now be installed by hand, which is the most flexible and 31must now be installed by hand, which is the most flexible and
32``Lispy'' method anyway. Typically, this just involves editing your 32``Lispy'' method anyway. Typically, this just involves editing your
33init file to add the package installation directory to the load path 33init file to add the package installation directory to the load path
@@ -43,7 +43,7 @@ the text in the region; it deletes a single character instead.
43We have reworked how Emacs handles the clipboard and the X primary 43We have reworked how Emacs handles the clipboard and the X primary
44selection. Commands for killing and yanking, like @kbd{C-w} and 44selection. Commands for killing and yanking, like @kbd{C-w} and
45@kbd{C-y}, use the primary selection and not the clipboard, so you can 45@kbd{C-y}, use the primary selection and not the clipboard, so you can
46use these commands without interfering with ``cutting'' or ``pasting'' 46use these commands without interfering with cutting or pasting
47in other programs. The @samp{Cut}/@samp{Copy}/@samp{Paste} menu items 47in other programs. The @samp{Cut}/@samp{Copy}/@samp{Paste} menu items
48are bound to separate clipboard commands, not to the same commands as 48are bound to separate clipboard commands, not to the same commands as
49@kbd{C-w}/@kbd{M-w}/@kbd{C-y}. 49@kbd{C-w}/@kbd{M-w}/@kbd{C-y}.
diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi
index 9d356108677..69431c65983 100644
--- a/doc/emacs/arevert-xtra.texi
+++ b/doc/emacs/arevert-xtra.texi
@@ -17,13 +17,13 @@ of buffers for which it is implemented (listed in the menu below).
17Like file buffers, non-file buffers should normally not revert while 17Like file buffers, non-file buffers should normally not revert while
18you are working on them, or while they contain information that might 18you are working on them, or while they contain information that might
19get lost after reverting. Therefore, they do not revert if they are 19get lost after reverting. Therefore, they do not revert if they are
20``modified''. This can get tricky, because deciding when a non-file 20modified. This can get tricky, because deciding when a non-file
21buffer should be marked modified is usually more difficult than for 21buffer should be marked modified is usually more difficult than for
22file buffers. 22file buffers.
23 23
24Another tricky detail is that, for efficiency reasons, Auto Revert 24Another tricky detail is that, for efficiency reasons, Auto Revert
25often does not try to detect all possible changes in the buffer, only 25often does not try to detect all possible changes in the buffer, only
26changes that are ``major'' or easy to detect. Hence, enabling 26changes that are major or easy to detect. Hence, enabling
27auto-reverting for a non-file buffer does not always guarantee that 27auto-reverting for a non-file buffer does not always guarantee that
28all information in the buffer is up-to-date, and does not necessarily 28all information in the buffer is up-to-date, and does not necessarily
29make manual reverts useless. 29make manual reverts useless.
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index 0a4391094b3..40daf56a3a1 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -424,7 +424,7 @@ On some text terminals, Emacs may not recognize the @key{DEL} key
424properly. @xref{DEL Does Not Delete}, if you encounter this problem. 424properly. @xref{DEL Does Not Delete}, if you encounter this problem.
425 425
426 The @key{Delete} (@code{delete-forward-char}) command deletes in the 426 The @key{Delete} (@code{delete-forward-char}) command deletes in the
427``opposite direction'': it deletes the character after point, i.e., the 427opposite direction: it deletes the character after point, i.e., the
428character under the cursor. If point was at the end of a line, this 428character under the cursor. If point was at the end of a line, this
429joins the following line onto this one. Like @kbd{@key{DEL}}, it 429joins the following line onto this one. Like @kbd{@key{DEL}}, it
430deletes the text in the region if the region is active (@pxref{Mark}). 430deletes the text in the region if the region is active (@pxref{Mark}).
@@ -762,7 +762,7 @@ down one line, as you might expect---the @samp{0} is treated as part
762of the prefix argument. 762of the prefix argument.
763 763
764(What if you do want to insert five copies of @samp{0}? Type @kbd{M-5 764(What if you do want to insert five copies of @samp{0}? Type @kbd{M-5
765C-u 0}. Here, @kbd{C-u} ``terminates'' the prefix argument, so that 765C-u 0}. Here, @kbd{C-u} terminates the prefix argument, so that
766the next keystroke begins the command that you want to execute. Note 766the next keystroke begins the command that you want to execute. Note
767that this meaning of @kbd{C-u} applies only to this case. For the 767that this meaning of @kbd{C-u} applies only to this case. For the
768usual role of @kbd{C-u}, see below.) 768usual role of @kbd{C-u}, see below.)
@@ -780,7 +780,7 @@ multiplies the argument for the next command by four. @kbd{C-u C-u}
780multiplies it by sixteen. Thus, @kbd{C-u C-u C-f} moves forward 780multiplies it by sixteen. Thus, @kbd{C-u C-u C-f} moves forward
781sixteen characters. Other useful combinations are @kbd{C-u C-n}, 781sixteen characters. Other useful combinations are @kbd{C-u C-n},
782@kbd{C-u C-u C-n} (move down a good fraction of a screen), @kbd{C-u 782@kbd{C-u C-u C-n} (move down a good fraction of a screen), @kbd{C-u
783C-u C-o} (make ``a lot'' of blank lines), and @kbd{C-u C-k} (kill four 783C-u C-o} (make sixteen blank lines), and @kbd{C-u C-k} (kill four
784lines). 784lines).
785 785
786 You can use a numeric argument before a self-inserting character to 786 You can use a numeric argument before a self-inserting character to
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index c217c09aa42..5a4d1abfc39 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -94,7 +94,7 @@ now displayed in any window.
94 94
95 While entering the buffer name, you can use the usual completion and 95 While entering the buffer name, you can use the usual completion and
96history commands (@pxref{Minibuffer}). Note that @kbd{C-x b}, and 96history commands (@pxref{Minibuffer}). Note that @kbd{C-x b}, and
97related commands, use ``permissive completion with confirmation'' for 97related commands, use @dfn{permissive completion with confirmation} for
98minibuffer completion: if you type @key{RET} immediately after 98minibuffer completion: if you type @key{RET} immediately after
99completing up to a nonexistent buffer name, Emacs prints 99completing up to a nonexistent buffer name, Emacs prints
100@samp{[Confirm]} and you must type a second @key{RET} to submit that 100@samp{[Confirm]} and you must type a second @key{RET} to submit that
@@ -180,7 +180,7 @@ buffers that were current most recently come first.
180 180
181 @samp{.} in the first field of a line indicates that the buffer is 181 @samp{.} in the first field of a line indicates that the buffer is
182current. @samp{%} indicates a read-only buffer. @samp{*} indicates 182current. @samp{%} indicates a read-only buffer. @samp{*} indicates
183that the buffer is ``modified''. If several buffers are modified, it 183that the buffer is modified. If several buffers are modified, it
184may be time to save some with @kbd{C-x s} (@pxref{Save Commands}). 184may be time to save some with @kbd{C-x s} (@pxref{Save Commands}).
185Here is an example of a buffer list: 185Here is an example of a buffer list:
186 186
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index 1d40a2dd12d..fbef9feb5a6 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -322,7 +322,7 @@ nohup @var{command}; sleep 1
322@end example 322@end example
323 323
324@ifnottex 324@ifnottex
325 On the MS-DOS ``operating system'', asynchronous subprocesses are 325 On MS-DOS, asynchronous subprocesses are
326not supported, so @kbd{M-x compile} runs the compilation command 326not supported, so @kbd{M-x compile} runs the compilation command
327synchronously (i.e., you must wait until the command finishes before 327synchronously (i.e., you must wait until the command finishes before
328you can do anything else in Emacs). @xref{MS-DOS}. 328you can do anything else in Emacs). @xref{MS-DOS}.
@@ -334,7 +334,7 @@ you can do anything else in Emacs). @xref{MS-DOS}.
334 Just as you can run a compiler from Emacs and then visit the lines 334 Just as you can run a compiler from Emacs and then visit the lines
335with compilation errors, you can also run @command{grep} and then 335with compilation errors, you can also run @command{grep} and then
336visit the lines on which matches were found. This works by treating 336visit the lines on which matches were found. This works by treating
337the matches reported by @command{grep} as if they were ``errors''. 337the matches reported by @command{grep} as if they were errors.
338The output buffer uses Grep mode, which is a variant of Compilation 338The output buffer uses Grep mode, which is a variant of Compilation
339mode (@pxref{Compilation Mode}). 339mode (@pxref{Compilation Mode}).
340 340
@@ -800,12 +800,12 @@ the command to @kbd{C-c @var{binding}} in the GUD buffer's mode and to
800@table @samp 800@table @samp
801@item %f 801@item %f
802The name of the current source file. If the current buffer is the GUD 802The name of the current source file. If the current buffer is the GUD
803buffer, then the ``current source file'' is the file that the program 803buffer, then the current source file is the file that the program
804stopped in. 804stopped in.
805 805
806@item %l 806@item %l
807The number of the current source line. If the current buffer is the GUD 807The number of the current source line. If the current buffer is the GUD
808buffer, then the ``current source line'' is the line that the program 808buffer, then the current source line is the line that the program
809stopped in. 809stopped in.
810 810
811@item %e 811@item %e
@@ -848,7 +848,7 @@ GUD}). You must use this if you want to debug multiple programs
848within one Emacs session, as that is currently unsupported by @kbd{M-x 848within one Emacs session, as that is currently unsupported by @kbd{M-x
849gdb}. 849gdb}.
850 850
851 Internally, @kbd{M-x gdb} informs GDB that its ``screen size'' is 851 Internally, @kbd{M-x gdb} informs GDB that its screen size is
852unlimited; for correct operation, you must not change GDB's screen 852unlimited; for correct operation, you must not change GDB's screen
853height and width values during the debugging session. 853height and width values during the debugging session.
854 854
@@ -893,8 +893,8 @@ displays the following frame layout:
893 893
894@findex gdb-restore-windows 894@findex gdb-restore-windows
895@findex gdb-many-windows 895@findex gdb-many-windows
896 If you ever change the window layout, you can restore the ``many 896 If you ever change the window layout, you can restore the many-windows
897windows'' layout by typing @kbd{M-x gdb-restore-windows}. To toggle 897layout by typing @kbd{M-x gdb-restore-windows}. To toggle
898between the many windows layout and a simple layout with just the GUD 898between the many windows layout and a simple layout with just the GUD
899interaction buffer and a source file, type @kbd{M-x gdb-many-windows}. 899interaction buffer and a source file, type @kbd{M-x gdb-many-windows}.
900 900
diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi
index ed850456c8b..3b5b3c58a65 100644
--- a/doc/emacs/cal-xtra.texi
+++ b/doc/emacs/cal-xtra.texi
@@ -143,7 +143,7 @@ all) of the variables @code{calendar-bahai-all-holidays-flag},
143 Each of the holiday variables is a list of @dfn{holiday forms}, each 143 Each of the holiday variables is a list of @dfn{holiday forms}, each
144form describing a holiday (or sometimes a list of holidays). Here is 144form describing a holiday (or sometimes a list of holidays). Here is
145a table of the possible kinds of holiday form. Day numbers and month 145a table of the possible kinds of holiday form. Day numbers and month
146numbers count starting from 1, but ``dayname'' numbers count Sunday as 146numbers count starting from 1, but @dfn{dayname} numbers count Sunday as
1470. The argument @var{string} is always the description of the 1470. The argument @var{string} is always the description of the
148holiday, as a string. 148holiday, as a string.
149 149
@@ -840,7 +840,7 @@ Renew medication (5th time)
840@noindent 840@noindent
841in the fancy diary display on September 7, 2012. 841in the fancy diary display on September 7, 2012.
842 842
843 There is an ``early reminder'' diary sexp that includes its entry in the 843 There is an early-reminder diary sexp that includes its entry in the
844diary not only on the date of occurrence, but also on earlier dates. 844diary not only on the date of occurrence, but also on earlier dates.
845For example, if you want a reminder a week before your anniversary, you 845For example, if you want a reminder a week before your anniversary, you
846can use 846can use
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index e9c8b7356aa..bc13d4ba296 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -57,7 +57,7 @@ For more advanced topics,
57 Calendar mode provides commands to move through the calendar in 57 Calendar mode provides commands to move through the calendar in
58logical units of time such as days, weeks, months, and years. If you 58logical units of time such as days, weeks, months, and years. If you
59move outside the three months originally displayed, the calendar 59move outside the three months originally displayed, the calendar
60display ``scrolls'' automatically through time to make the selected 60display scrolls automatically through time to make the selected
61date visible. Moving to a date lets you view its holidays or diary 61date visible. Moving to a date lets you view its holidays or diary
62entries, or convert it to other calendars; moving by long time periods 62entries, or convert it to other calendars; moving by long time periods
63is also useful simply to scroll the calendar. 63is also useful simply to scroll the calendar.
@@ -269,7 +269,7 @@ contents one month backwards in time.
269@kindex M-v @r{(Calendar mode)} 269@kindex M-v @r{(Calendar mode)}
270@findex calendar-scroll-right-three-months 270@findex calendar-scroll-right-three-months
271 The commands @kbd{C-v} and @kbd{M-v} scroll the calendar by an entire 271 The commands @kbd{C-v} and @kbd{M-v} scroll the calendar by an entire
272``screenful''---three months---in analogy with the usual meaning of 272screenful---three months---in analogy with the usual meaning of
273these commands. @kbd{C-v} makes later dates visible and @kbd{M-v} makes 273these commands. @kbd{C-v} makes later dates visible and @kbd{M-v} makes
274earlier dates visible. These commands take a numeric argument as a 274earlier dates visible. These commands take a numeric argument as a
275repeat count; in particular, since @kbd{C-u} multiplies the next command 275repeat count; in particular, since @kbd{C-u} multiplies the next command
@@ -432,8 +432,8 @@ Generate a Filofax-style calendar for one year
432(@code{cal-tex-cursor-filofax-year}). 432(@code{cal-tex-cursor-filofax-year}).
433@end table 433@end table
434 434
435 Some of these commands print the calendar sideways (in ``landscape 435 Some of these commands print the calendar sideways (in landscape
436mode''), so it can be wider than it is long. Some of them use Filofax 436mode), so it can be wider than it is long. Some of them use Filofax
437paper size (3.75in x 6.75in). All of these commands accept a prefix 437paper size (3.75in x 6.75in). All of these commands accept a prefix
438argument, which specifies how many days, weeks, months or years to print 438argument, which specifies how many days, weeks, months or years to print
439(starting always with the selected one). 439(starting always with the selected one).
@@ -631,8 +631,8 @@ for all users in a @file{default.el} file. @xref{Init File}.
631 631
632 These calendar commands display the dates and times of the phases of 632 These calendar commands display the dates and times of the phases of
633the moon (new moon, first quarter, full moon, last quarter). This 633the moon (new moon, first quarter, full moon, last quarter). This
634feature is useful for debugging problems that ``depend on the phase of 634feature is useful for debugging problems that depend on the phase of
635the moon''. 635the moon.
636 636
637@table @kbd 637@table @kbd
638@item M 638@item M
@@ -665,7 +665,7 @@ See the discussion in the previous section. @xref{Sunrise/Sunset}.
665 665
666@cindex Gregorian calendar 666@cindex Gregorian calendar
667 The Emacs calendar displayed is @emph{always} the Gregorian calendar, 667 The Emacs calendar displayed is @emph{always} the Gregorian calendar,
668sometimes called the ``new style'' calendar, which is used in most of 668sometimes called the New Style calendar, which is used in most of
669the world today. However, this calendar did not exist before the 669the world today. However, this calendar did not exist before the
670sixteenth century and was not widely used before the eighteenth century; 670sixteenth century and was not widely used before the eighteenth century;
671it did not fully displace the Julian calendar and gain universal 671it did not fully displace the Julian calendar and gain universal
@@ -759,13 +759,13 @@ official calendar of Iran will be at that time.
759into solar years. The years go in cycles of sixty, each year containing 759into solar years. The years go in cycles of sixty, each year containing
760either twelve months in an ordinary year or thirteen months in a leap 760either twelve months in an ordinary year or thirteen months in a leap
761year; each month has either 29 or 30 days. Years, ordinary months, and 761year; each month has either 29 or 30 days. Years, ordinary months, and
762days are named by combining one of ten ``celestial stems'' with one of 762days are named by combining one of ten @dfn{celestial stems} with one of
763twelve ``terrestrial branches'' for a total of sixty names that are 763twelve @dfn{terrestrial branches} for a total of sixty names that are
764repeated in a cycle of sixty. 764repeated in a cycle of sixty.
765 765
766@cindex Bahá'í calendar 766@cindex Bahá'í calendar
767 The Bahá'í calendar system is based on a solar cycle of 19 months with 767 The Bahá'í calendar system is based on a solar cycle of 19 months with
76819 days each. The four remaining ``intercalary'' days are placed 76819 days each. The four remaining intercalary days are placed
769between the 18th and 19th months. 769between the 18th and 19th months.
770 770
771@node To Other Calendar 771@node To Other Calendar
@@ -908,7 +908,7 @@ Islamic, or French names.
908@findex calendar-hebrew-list-yahrzeits 908@findex calendar-hebrew-list-yahrzeits
909@cindex yahrzeits 909@cindex yahrzeits
910 One common issue concerning the Hebrew calendar is the computation 910 One common issue concerning the Hebrew calendar is the computation
911of the anniversary of a date of death, called a ``yahrzeit''. The Emacs 911of the anniversary of a date of death, called a @dfn{yahrzeit}. The Emacs
912calendar includes a facility for such calculations. If you are in the 912calendar includes a facility for such calculations. If you are in the
913calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for 913calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for
914a range of years and then displays a list of the yahrzeit dates for those 914a range of years and then displays a list of the yahrzeit dates for those
@@ -1463,11 +1463,11 @@ variable @code{diary-outlook-formats}. Other mail clients can set
1463@c FIXME the name of the RFC is hardly very relevant. 1463@c FIXME the name of the RFC is hardly very relevant.
1464@cindex iCalendar support 1464@cindex iCalendar support
1465 The icalendar package allows you to transfer data between your Emacs 1465 The icalendar package allows you to transfer data between your Emacs
1466diary file and iCalendar files, which are defined in ``RFC 1466diary file and iCalendar files, which are defined in @cite{RFC
14672445---Internet Calendaring and Scheduling Core Object Specification 14672445---Internet Calendaring and Scheduling Core Object Specification
1468(iCalendar)'' (as well as the earlier vCalendar format). 1468(iCalendar)} (as well as the earlier vCalendar format).
1469 1469
1470@c Importing works for ``ordinary'' (i.e., non-recurring) events, but 1470@c Importing works for ordinary (i.e., non-recurring) events, but
1471@c (at present) may not work correctly (if at all) for recurring events. 1471@c (at present) may not work correctly (if at all) for recurring events.
1472@c Exporting of diary files into iCalendar files should work correctly 1472@c Exporting of diary files into iCalendar files should work correctly
1473@c for most diary entries. This feature is a work in progress, so the 1473@c for most diary entries. This feature is a work in progress, so the
@@ -1601,11 +1601,11 @@ timeclock-change}.
1601 Once you've collected data from a number of time intervals, you can use 1601 Once you've collected data from a number of time intervals, you can use
1602@kbd{M-x timeclock-workday-remaining} to see how much time is left to 1602@kbd{M-x timeclock-workday-remaining} to see how much time is left to
1603work today (assuming a typical average of 8 hours a day), and @kbd{M-x 1603work today (assuming a typical average of 8 hours a day), and @kbd{M-x
1604timeclock-when-to-leave} which will calculate when you're ``done''. 1604timeclock-when-to-leave} which will calculate when you're done.
1605 1605
1606@vindex timeclock-modeline-display 1606@vindex timeclock-modeline-display
1607@findex timeclock-modeline-display 1607@findex timeclock-modeline-display
1608 If you want Emacs to display the amount of time ``left'' of your 1608 If you want Emacs to display the amount of time left of your
1609workday in the mode line, either customize the 1609workday in the mode line, either customize the
1610@code{timeclock-modeline-display} variable and set its value to 1610@code{timeclock-modeline-display} variable and set its value to
1611@code{t}, or invoke the @kbd{M-x timeclock-modeline-display} command. 1611@code{t}, or invoke the @kbd{M-x timeclock-modeline-display} command.
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index 60fe97720c3..1385fefaead 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -443,8 +443,8 @@ some other programs. Emacs does not require any of these environment
443variables to be set, but it uses their values if they are set. 443variables to be set, but it uses their values if they are set.
444 444
445@c This used to be @vtable, but that enters the variables alone into 445@c This used to be @vtable, but that enters the variables alone into
446@c the Variable Index, which in some cases, like ``HOME'', might be 446@c the Variable Index, which in some cases, like HOME, might be
447@c confused with keys by that name, and other cases, like ``NAME'', 447@c confused with keys by that name, and other cases, like NAME,
448@c might be confused with general-purpose phrases. 448@c might be confused with general-purpose phrases.
449@table @env 449@table @env
450@item CDPATH 450@item CDPATH
@@ -582,7 +582,7 @@ The name of the news server. Used by the mh and Gnus packages.
582@item ORGANIZATION 582@item ORGANIZATION
583@vindex ORGANIZATION, environment variable 583@vindex ORGANIZATION, environment variable
584The name of the organization to which you belong. Used for setting the 584The name of the organization to which you belong. Used for setting the
585``Organization:'' header in your posts from the Gnus package. 585@samp{Organization:} header in your posts from the Gnus package.
586@item PATH 586@item PATH
587@vindex PATH, environment variable 587@vindex PATH, environment variable
588A colon-separated list of directories containing executable files. 588A colon-separated list of directories containing executable files.
@@ -808,7 +808,7 @@ Use @var{font} as the default font.
808@end table 808@end table
809 809
810When passing a font name to Emacs on the command line, you may need to 810When passing a font name to Emacs on the command line, you may need to
811``quote'' it, by enclosing it in quotation marks, if it contains 811quote it, by enclosing it in quotation marks, if it contains
812characters that the shell treats specially (e.g., spaces). For 812characters that the shell treats specially (e.g., spaces). For
813example: 813example:
814 814
@@ -1036,7 +1036,7 @@ tool bar when it processes the specified geometry.
1036 When using one of @samp{--fullscreen}, @samp{--maximized}, 1036 When using one of @samp{--fullscreen}, @samp{--maximized},
1037@samp{--fullwidth} or @samp{--fullheight}, some window managers require 1037@samp{--fullwidth} or @samp{--fullheight}, some window managers require
1038you to set the variable @code{frame-resize-pixelwise} to a non-@code{nil} 1038you to set the variable @code{frame-resize-pixelwise} to a non-@code{nil}
1039value to make a frame appear truly ``maximized'' or ``fullscreen''. 1039value to make a frame appear truly maximized or fullscreen.
1040 1040
1041 Some window managers have options that can make them ignore both 1041 Some window managers have options that can make them ignore both
1042program-specified and user-specified positions. If these are set, 1042program-specified and user-specified positions. If these are set,
@@ -1115,7 +1115,7 @@ for the initial Emacs frame.
1115@opindex --iconic 1115@opindex --iconic
1116@itemx --iconic 1116@itemx --iconic
1117@cindex start iconified, command-line argument 1117@cindex start iconified, command-line argument
1118Start Emacs in an iconified (``minimized'') state. 1118Start Emacs in an iconified state.
1119 1119
1120@item -nbi 1120@item -nbi
1121@opindex -nbi 1121@opindex -nbi
@@ -1125,12 +1125,12 @@ Start Emacs in an iconified (``minimized'') state.
1125Disable the use of the Emacs icon. 1125Disable the use of the Emacs icon.
1126@end table 1126@end table
1127 1127
1128 Most window managers allow you to ``iconify'' (or ``minimize'') an 1128 Most window managers allow you to iconify (or minimize) an
1129Emacs frame, hiding it from sight. Some window managers replace 1129Emacs frame, hiding it from sight. Some window managers replace
1130iconified windows with tiny ``icons'', while others remove them 1130iconified windows with tiny icons, while others remove them
1131entirely from sight. The @samp{-iconic} option tells Emacs to begin 1131entirely from sight. The @samp{-iconic} option tells Emacs to begin
1132running in an iconified state, rather than showing a frame right away. 1132running in an iconified state, rather than showing a frame right away.
1133The text frame doesn't appear until you deiconify (or ``un-minimize'') 1133The text frame doesn't appear until you deiconify (or un-minimize)
1134it. 1134it.
1135 1135
1136 By default, Emacs uses an icon containing the Emacs logo. On 1136 By default, Emacs uses an icon containing the Emacs logo. On
diff --git a/doc/emacs/commands.texi b/doc/emacs/commands.texi
index fb77c77358f..98e12531253 100644
--- a/doc/emacs/commands.texi
+++ b/doc/emacs/commands.texi
@@ -70,7 +70,7 @@ where the @key{META} key does not function reliably.
70 On graphical displays, the window manager might block some keyboard 70 On graphical displays, the window manager might block some keyboard
71inputs, including @kbd{M-@key{TAB}}, @kbd{M-@key{SPC}}, @kbd{C-M-d} 71inputs, including @kbd{M-@key{TAB}}, @kbd{M-@key{SPC}}, @kbd{C-M-d}
72and @kbd{C-M-l}. If you have this problem, you can either customize 72and @kbd{C-M-l}. If you have this problem, you can either customize
73your window manager to not block those keys, or ``rebind'' the 73your window manager to not block those keys, or rebind the
74affected Emacs commands (@pxref{Customization}). 74affected Emacs commands (@pxref{Customization}).
75 75
76@cindex input event 76@cindex input event
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 43c61d769c7..0d11f12dfc0 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -28,7 +28,7 @@ Reference Manual}.
28 to decide what to do; by setting variables, 28 to decide what to do; by setting variables,
29 you can control their functioning. 29 you can control their functioning.
30* Key Bindings:: The keymaps say what command each key runs. 30* Key Bindings:: The keymaps say what command each key runs.
31 By changing them, you can ``redefine keys''. 31 By changing them, you can redefine keys.
32* Init File:: How to write common customizations in the 32* Init File:: How to write common customizations in the
33 initialization file. 33 initialization file.
34@end menu 34@end menu
@@ -728,7 +728,7 @@ maximum length of the kill ring (@pxref{Earlier Kills}); if you give
728@code{kill-ring-max} a string value, commands such as @kbd{C-y} 728@code{kill-ring-max} a string value, commands such as @kbd{C-y}
729(@code{yank}) will signal an error. On the other hand, some variables 729(@code{yank}) will signal an error. On the other hand, some variables
730don't care about type; for instance, if a variable has one effect for 730don't care about type; for instance, if a variable has one effect for
731@code{nil} values and another effect for ``non-@code{nil}'' values, 731@code{nil} values and another effect for non-@code{nil} values,
732then any value that is not the symbol @code{nil} induces the second 732then any value that is not the symbol @code{nil} induces the second
733effect, regardless of its type (by convention, we usually use the 733effect, regardless of its type (by convention, we usually use the
734value @code{t}---a symbol which stands for ``true''---to specify a 734value @code{t}---a symbol which stands for ``true''---to specify a
@@ -773,22 +773,22 @@ C-h v fill-column @key{RET}
773displays something like this: 773displays something like this:
774 774
775@example 775@example
776fill-column is a variable defined in `C source code'. 776fill-column is a variable defined in C source code.
777fill-column's value is 70 777Its value is 70
778 778
779Automatically becomes buffer-local when set. 779 Automatically becomes buffer-local when set.
780This variable is safe as a file local variable if its value 780 This variable is safe as a file local variable if its value
781satisfies the predicate @code{integerp}. 781 satisfies the predicate integerp.
782 782
783Documentation: 783Documentation:
784Column beyond which automatic line-wrapping should happen. 784Column beyond which automatic line-wrapping should happen.
785Interactively, you can set the local value with C-x f. 785Interactively, you can set the buffer local value using C-x f.
786 786
787You can customize this variable. 787You can customize this variable.
788@end example 788@end example
789 789
790@noindent 790@noindent
791The line that says ``You can customize the variable'' indicates that 791The line that says @samp{You can customize the variable} indicates that
792this variable is a user option. @kbd{C-h v} is not restricted to user 792this variable is a user option. @kbd{C-h v} is not restricted to user
793options; it allows non-customizable variables too. 793options; it allows non-customizable variables too.
794 794
@@ -1156,7 +1156,7 @@ the list. Here is an example:
1156# End: 1156# End:
1157@end example 1157@end example
1158 1158
1159 Some ``variable names'' have special meanings in a local variables 1159 Some names have special meanings in a local variables
1160list: 1160list:
1161 1161
1162@itemize 1162@itemize
@@ -1761,7 +1761,7 @@ and @kbd{C-c p} in Texinfo mode:
1761alphabetical characters are case-insensitive. In other words, 1761alphabetical characters are case-insensitive. In other words,
1762@kbd{C-A} does the same thing as @kbd{C-a}, and @kbd{M-A} does the 1762@kbd{C-A} does the same thing as @kbd{C-a}, and @kbd{M-A} does the
1763same thing as @kbd{M-a}. This concerns only alphabetical characters, 1763same thing as @kbd{M-a}. This concerns only alphabetical characters,
1764and does not apply to ``shifted'' versions of other keys; for 1764and does not apply to shifted versions of other keys; for
1765instance, @kbd{C-@@} is not the same as @kbd{C-2}. 1765instance, @kbd{C-@@} is not the same as @kbd{C-2}.
1766 1766
1767 A @key{Control}-modified alphabetical character is always considered 1767 A @key{Control}-modified alphabetical character is always considered
@@ -1784,9 +1784,9 @@ to them. The modifier bits are labeled as @samp{s-}, @samp{H-} and
1784@samp{A-} respectively. 1784@samp{A-} respectively.
1785 1785
1786 Even if your keyboard lacks these additional modifier keys, you can 1786 Even if your keyboard lacks these additional modifier keys, you can
1787enter it using @kbd{C-x @@}: @kbd{C-x @@ h} adds the ``hyper'' flag to 1787enter it using @kbd{C-x @@}: @kbd{C-x @@ h} adds the Hyper flag to
1788the next character, @kbd{C-x @@ s} adds the ``super'' flag, and 1788the next character, @kbd{C-x @@ s} adds the Super flag, and
1789@kbd{C-x @@ a} adds the ``alt'' flag. For instance, @kbd{C-x @@ h 1789@kbd{C-x @@ a} adds the Alt flag. For instance, @kbd{C-x @@ h
1790C-a} is a way to enter @kbd{Hyper-Control-a}. (Unfortunately, there 1790C-a} is a way to enter @kbd{Hyper-Control-a}. (Unfortunately, there
1791is no way to add two modifiers by using @kbd{C-x @@} twice for the 1791is no way to add two modifiers by using @kbd{C-x @@} twice for the
1792same character, because the first one goes to work on the @kbd{C-x}.) 1792same character, because the first one goes to work on the @kbd{C-x}.)
@@ -1836,7 +1836,7 @@ key.
1836 @xref{Init Rebinding}, for examples of binding function keys. 1836 @xref{Init Rebinding}, for examples of binding function keys.
1837 1837
1838@cindex keypad 1838@cindex keypad
1839 Many keyboards have a ``numeric keypad'' on the right hand side. 1839 Many keyboards have a numeric keypad on the right hand side.
1840The numeric keys in the keypad double up as cursor motion keys, 1840The numeric keys in the keypad double up as cursor motion keys,
1841toggled by a key labeled @samp{Num Lock}. By default, Emacs 1841toggled by a key labeled @samp{Num Lock}. By default, Emacs
1842translates these keys to the corresponding keys in the main keyboard. 1842translates these keys to the corresponding keys in the main keyboard.
@@ -1866,13 +1866,13 @@ prefix arguments.
1866started out as names for certain @acronym{ASCII} control characters, 1866started out as names for certain @acronym{ASCII} control characters,
1867used so often that they have special keys of their own. For instance, 1867used so often that they have special keys of their own. For instance,
1868@key{TAB} was another name for @kbd{C-i}. Later, users found it 1868@key{TAB} was another name for @kbd{C-i}. Later, users found it
1869convenient to distinguish in Emacs between these keys and the ``same'' 1869convenient to distinguish in Emacs between these keys and the corresponding
1870control characters typed with the @key{Ctrl} key. Therefore, on most 1870control characters typed with the @key{Ctrl} key. Therefore, on most
1871modern terminals, they are no longer the same: @key{TAB} is different 1871modern terminals, they are no longer the same: @key{TAB} is different
1872from @kbd{C-i}. 1872from @kbd{C-i}.
1873 1873
1874 Emacs can distinguish these two kinds of input if the keyboard does. 1874 Emacs can distinguish these two kinds of input if the keyboard does.
1875It treats the ``special'' keys as function keys named @code{tab}, 1875It treats the special keys as function keys named @code{tab},
1876@code{return}, @code{backspace}, @code{linefeed}, @code{escape}, and 1876@code{return}, @code{backspace}, @code{linefeed}, @code{escape}, and
1877@code{delete}. These function keys translate automatically into the 1877@code{delete}. These function keys translate automatically into the
1878corresponding @acronym{ASCII} characters @emph{if} they have no 1878corresponding @acronym{ASCII} characters @emph{if} they have no
@@ -1882,7 +1882,7 @@ need to pay attention to the distinction unless they care to.
1882 If you do not want to distinguish between (for example) @key{TAB} and 1882 If you do not want to distinguish between (for example) @key{TAB} and
1883@kbd{C-i}, make just one binding, for the @acronym{ASCII} character @key{TAB} 1883@kbd{C-i}, make just one binding, for the @acronym{ASCII} character @key{TAB}
1884(octal code 011). If you do want to distinguish, make one binding for 1884(octal code 011). If you do want to distinguish, make one binding for
1885this @acronym{ASCII} character, and another for the ``function key'' @code{tab}. 1885this @acronym{ASCII} character, and another for the function key @code{tab}.
1886 1886
1887 With an ordinary @acronym{ASCII} terminal, there is no way to distinguish 1887 With an ordinary @acronym{ASCII} terminal, there is no way to distinguish
1888between @key{TAB} and @kbd{C-i} (and likewise for other such pairs), 1888between @key{TAB} and @kbd{C-i} (and likewise for other such pairs),
@@ -1937,7 +1937,7 @@ single click definition has run when the first click was received.
1937 This constrains what you can do with double clicks, but user interface 1937 This constrains what you can do with double clicks, but user interface
1938designers say that this constraint ought to be followed in any case. A 1938designers say that this constraint ought to be followed in any case. A
1939double click should do something similar to the single click, only 1939double click should do something similar to the single click, only
1940``more so''. The command for the double-click event should perform the 1940more so. The command for the double-click event should perform the
1941extra work for the double click. 1941extra work for the double click.
1942 1942
1943 If a double-click event has no binding, it changes to the 1943 If a double-click event has no binding, it changes to the
@@ -1984,8 +1984,8 @@ or @samp{triple-}, which always precede @samp{drag-} or @samp{down-}.
1984 1984
1985 A frame includes areas that don't show text from the buffer, such as 1985 A frame includes areas that don't show text from the buffer, such as
1986the mode line and the scroll bar. You can tell whether a mouse button 1986the mode line and the scroll bar. You can tell whether a mouse button
1987comes from a special area of the screen by means of dummy ``prefix 1987comes from a special area of the screen by means of dummy prefix
1988keys''. For example, if you click the mouse in the mode line, you get 1988keys. For example, if you click the mouse in the mode line, you get
1989the prefix key @code{mode-line} before the ordinary mouse-button symbol. 1989the prefix key @code{mode-line} before the ordinary mouse-button symbol.
1990Thus, here is how to define the command for clicking the first button in 1990Thus, here is how to define the command for clicking the first button in
1991a mode line to run @code{scroll-up-command}: 1991a mode line to run @code{scroll-up-command}:
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index 4adb698450b..b00c974ef2c 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -14,7 +14,7 @@ optionally some of its subdirectories as well. You can use the normal
14Emacs commands to move around in this buffer, and special Dired 14Emacs commands to move around in this buffer, and special Dired
15commands to operate on the listed files. 15commands to operate on the listed files.
16 16
17 The Dired buffer is ``read-only'', and inserting text in it is not 17 The Dired buffer is read-only, and inserting text in it is not
18allowed. Ordinary printing characters such as @kbd{d} and @kbd{x} are 18allowed. Ordinary printing characters such as @kbd{d} and @kbd{x} are
19redefined for special Dired commands. Some Dired commands @dfn{mark} 19redefined for special Dired commands. Some Dired commands @dfn{mark}
20or @dfn{flag} the @dfn{current file} (that is, the file on the current 20or @dfn{flag} the @dfn{current file} (that is, the file on the current
@@ -924,7 +924,7 @@ from the name of the old file.
924 The four regular-expression substitution commands effectively 924 The four regular-expression substitution commands effectively
925perform a search-and-replace on the selected file names. They read 925perform a search-and-replace on the selected file names. They read
926two arguments: a regular expression @var{from}, and a substitution 926two arguments: a regular expression @var{from}, and a substitution
927pattern @var{to}; they match each ``old'' file name against 927pattern @var{to}; they match each old file name against
928@var{from}, and then replace the matching part with @var{to}. You can 928@var{from}, and then replace the matching part with @var{to}. You can
929use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to all or 929use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to all or
930part of what the pattern matched in the old file name, as in 930part of what the pattern matched in the old file name, as in
@@ -1262,7 +1262,7 @@ and erases all flags and marks.
1262@findex wdired-change-to-wdired-mode 1262@findex wdired-change-to-wdired-mode
1263 Wdired is a special mode that allows you to perform file operations 1263 Wdired is a special mode that allows you to perform file operations
1264by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands 1264by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands
1265for ``writable''.) To enter Wdired mode, type @kbd{C-x C-q} 1265for ``writable''). To enter Wdired mode, type @kbd{C-x C-q}
1266(@code{dired-toggle-read-only}) while in a Dired buffer. 1266(@code{dired-toggle-read-only}) while in a Dired buffer.
1267Alternatively, use the @samp{Immediate / Edit File Names} menu item. 1267Alternatively, use the @samp{Immediate / Edit File Names} menu item.
1268 1268
@@ -1307,7 +1307,7 @@ buffer containing image-dired, corresponding to the marked files.
1307 You can also enter Image-Dired directly by typing @kbd{M-x 1307 You can also enter Image-Dired directly by typing @kbd{M-x
1308image-dired}. This prompts for a directory; specify one that has 1308image-dired}. This prompts for a directory; specify one that has
1309image files. This creates thumbnails for all the images in that 1309image files. This creates thumbnails for all the images in that
1310directory, and displays them all in the ``thumbnail buffer''. This 1310directory, and displays them all in the thumbnail buffer. This
1311takes a long time if the directory contains many image files, and it 1311takes 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}.
@@ -1348,9 +1348,9 @@ with a certain tag, you can use @kbd{C-t d} to view them.
1348 1348
1349 You can also tag a file directly from the thumbnail buffer by typing 1349 You can also tag a file directly from the thumbnail buffer by typing
1350@kbd{t t} and you can remove a tag by typing @kbd{t r}. There is also 1350@kbd{t t} and you can remove a tag by typing @kbd{t r}. There is also
1351a special ``tag'' called ``comment'' for each file (it is not a tag in 1351a special tag called ``comment'' for each file (it is not a tag in
1352the exact same sense as the other tags, it is handled slightly 1352the exact same sense as the other tags, it is handled slightly
1353different). That is used to enter a comment or description about the 1353differently). That is used to enter a comment or description about the
1354image. You comment a file from the thumbnail buffer by typing 1354image. You comment a file from the thumbnail buffer by typing
1355@kbd{c}. You will be prompted for a comment. Type @kbd{C-t c} to add 1355@kbd{c}. You will be prompted for a comment. Type @kbd{C-t c} to add
1356a comment from Dired (@code{image-dired-dired-comment-files}). 1356a comment from Dired (@code{image-dired-dired-comment-files}).
@@ -1375,7 +1375,7 @@ the directory already exists.
1375@findex dired-do-isearch 1375@findex dired-do-isearch
1376@findex dired-do-isearch-regexp 1376@findex dired-do-isearch-regexp
1377 The command @kbd{M-s a C-s} (@code{dired-do-isearch}) begins a 1377 The command @kbd{M-s a C-s} (@code{dired-do-isearch}) begins a
1378``multi-file'' incremental search on the marked files. If a search 1378multi-file incremental search on the marked files. If a search
1379fails at the end of a file, typing @kbd{C-s} advances to the next 1379fails at the end of a file, typing @kbd{C-s} advances to the next
1380marked file and repeats the search; at the end of the last marked 1380marked file and repeats the search; at the end of the last marked
1381file, the search wraps around to the first marked file. The command 1381file, the search wraps around to the first marked file. The command
@@ -1425,21 +1425,21 @@ will operate on the selected files.
1425@findex dired-compare-directories 1425@findex dired-compare-directories
1426 The command @kbd{M-x dired-compare-directories} is used to compare 1426 The command @kbd{M-x dired-compare-directories} is used to compare
1427the current Dired buffer with another directory. It marks all the files 1427the current Dired buffer with another directory. It marks all the files
1428that are ``different'' between the two directories. It puts these marks 1428that differ between the two directories. It puts these marks
1429in all Dired buffers where these files are listed, which of course includes 1429in all Dired buffers where these files are listed, which of course includes
1430the current buffer. 1430the current buffer.
1431 1431
1432 The default comparison method (used if you type @key{RET} at the 1432 The default comparison method (used if you type @key{RET} at the
1433prompt) is to compare just the file names---each file name that does 1433prompt) is to compare just the file names---file names differ if
1434not appear in the other directory is ``different''. You can specify 1434they do not appear in the other directory. You can specify
1435more stringent comparisons by entering a Lisp expression, which can 1435more stringent comparisons by entering a Lisp expression, which can
1436refer to the variables @code{size1} and @code{size2}, the respective 1436refer to the variables @code{size1} and @code{size2}, the respective
1437file sizes; @code{mtime1} and @code{mtime2}, the last modification 1437file sizes; @code{mtime1} and @code{mtime2}, the last modification
1438times in seconds, as floating point numbers; and @code{fa1} and 1438times in seconds, as floating point numbers; and @code{fa1} and
1439@code{fa2}, the respective file attribute lists (as returned by the 1439@code{fa2}, the respective file attribute lists (as returned by the
1440function @code{file-attributes}). This expression is evaluated for 1440function @code{file-attributes}). This expression is evaluated for
1441each pair of like-named files, and if the expression's value is 1441each pair of like-named files, and files differ if the expression's
1442non-@code{nil}, those files are considered ``different''. 1442value is non-@code{nil}.
1443 1443
1444 For instance, the sequence @code{M-x dired-compare-directories 1444 For instance, the sequence @code{M-x dired-compare-directories
1445@key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this 1445@key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this
@@ -1448,7 +1448,7 @@ directory than in this one. It also marks files with no counterpart,
1448in both directories, as always. 1448in both directories, as always.
1449 1449
1450@cindex drag and drop, Dired 1450@cindex drag and drop, Dired
1451 On the X Window System, Emacs supports the ``drag and drop'' 1451 On the X Window System, Emacs supports the drag and drop
1452protocol. You can drag a file object from another program, and drop 1452protocol. You can drag a file object from another program, and drop
1453it onto a Dired buffer; this either moves, copies, or creates a link 1453it onto a Dired buffer; this either moves, copies, or creates a link
1454to the file in that directory. Precisely which action is taken is 1454to the file in that directory. Precisely which action is taken is
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 92b0002990f..7b90e19991b 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -47,18 +47,18 @@ the text is displayed.
47displays only a portion of it. @dfn{Scrolling} commands change which 47displays only a portion of it. @dfn{Scrolling} commands change which
48portion of the buffer is displayed. 48portion of the buffer is displayed.
49 49
50 Scrolling ``forward'' or ``up'' advances the portion of the buffer 50 Scrolling forward or up advances the portion of the buffer
51displayed in the window; equivalently, it moves the buffer text 51displayed in the window; equivalently, it moves the buffer text
52upwards relative to the window. Scrolling ``backward'' or ``down'' 52upwards relative to the window. Scrolling backward or down
53displays an earlier portion of the buffer, and moves the text 53displays an earlier portion of the buffer, and moves the text
54downwards relative to the window. 54downwards relative to the window.
55 55
56 In Emacs, scrolling ``up'' or ``down'' refers to the direction that 56 In Emacs, scrolling up or down refers to the direction that
57the text moves in the window, @emph{not} the direction that the window 57the text moves in the window, @emph{not} the direction that the window
58moves relative to the text. This terminology was adopted by Emacs 58moves relative to the text. This terminology was adopted by Emacs
59before the modern meaning of ``scrolling up'' and ``scrolling down'' 59before the modern meaning of ``scrolling up'' and ``scrolling down''
60became widespread. Hence, the strange result that @key{PageDown} 60became widespread. Hence, the strange result that @key{PageDown}
61scrolls ``up'' in the Emacs sense. 61scrolls up in the Emacs sense.
62 62
63 The portion of a buffer displayed in a window always contains point. 63 The portion of a buffer displayed in a window always contains point.
64If you move point past the bottom or top of the window, scrolling 64If you move point past the bottom or top of the window, scrolling
@@ -468,7 +468,7 @@ and visits it with View mode enabled.
468@cindex synchronizing windows 468@cindex synchronizing windows
469 469
470 @dfn{Follow mode} is a minor mode that makes two windows, both 470 @dfn{Follow mode} is a minor mode that makes two windows, both
471showing the same buffer, scroll as a single tall ``virtual window''. 471showing the same buffer, scroll as a single tall virtual window.
472To use Follow mode, go to a frame with just one window, split it into 472To use Follow mode, go to a frame with just one window, split it into
473two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x 473two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x
474follow-mode}. From then on, you can edit the buffer in either of the 474follow-mode}. From then on, you can edit the buffer in either of the
@@ -637,7 +637,7 @@ This face is used to highlight the current Isearch match
637This face is used to highlight the current Query Replace match 637This face is used to highlight the current Query Replace match
638(@pxref{Replace}). 638(@pxref{Replace}).
639@item lazy-highlight 639@item lazy-highlight
640This face is used to highlight ``lazy matches'' for Isearch and Query 640This face is used to highlight lazy matches for Isearch and Query
641Replace (matches other than the current one). 641Replace (matches other than the current one).
642@item region 642@item region
643This face is used for displaying an active region (@pxref{Mark}). 643This face is used for displaying an active region (@pxref{Mark}).
@@ -654,7 +654,7 @@ Whitespace}).
654The face for displaying control characters and escape sequences 654The face for displaying control characters and escape sequences
655(@pxref{Text Display}). 655(@pxref{Text Display}).
656@item nobreak-space 656@item nobreak-space
657The face for displaying ``no-break'' space characters (@pxref{Text 657The face for displaying no-break space characters (@pxref{Text
658Display}). 658Display}).
659@end table 659@end table
660 660
@@ -667,7 +667,7 @@ frame:
667@cindex faces for mode lines 667@cindex faces for mode lines
668This face is used for the mode line of the currently selected window, 668This face is used for the mode line of the currently selected window,
669and for menu bars when toolkit menus are not used. By default, it's 669and for menu bars when toolkit menus are not used. By default, it's
670drawn with shadows for a ``raised'' effect on graphical displays, and 670drawn with shadows for a raised effect on graphical displays, and
671drawn as the inverse of the default face on non-windowed terminals. 671drawn as the inverse of the default face on non-windowed terminals.
672@item mode-line-inactive 672@item mode-line-inactive
673@cindex mode-line-inactive face 673@cindex mode-line-inactive face
@@ -1073,16 +1073,16 @@ variable @code{fringe-mode}.
1073 The most common use of the fringes is to indicate a continuation 1073 The most common use of the fringes is to indicate a continuation
1074line (@pxref{Continuation Lines}). When one line of text is split 1074line (@pxref{Continuation Lines}). When one line of text is split
1075into multiple screen lines, the left fringe shows a curving arrow for 1075into multiple screen lines, the left fringe shows a curving arrow for
1076each screen line except the first, indicating that ``this is not the 1076each screen line except the first, indicating that this is not the
1077real beginning''. The right fringe shows a curving arrow for each 1077real beginning. The right fringe shows a curving arrow for each
1078screen line except the last, indicating that ``this is not the real 1078screen line except the last, indicating that this is not the real
1079end''. If the line's direction is right-to-left (@pxref{Bidirectional 1079end. If the line's direction is right-to-left (@pxref{Bidirectional
1080Editing}), the meanings of the curving arrows in the fringes are 1080Editing}), the meanings of the curving arrows in the fringes are
1081swapped. 1081swapped.
1082 1082
1083 The fringes indicate line truncation (@pxref{Line Truncation}) with 1083 The fringes indicate line truncation (@pxref{Line Truncation}) with
1084short horizontal arrows meaning ``there's more text on this line which 1084short horizontal arrows meaning there's more text on this line which
1085is scrolled horizontally out of view''. Clicking the mouse on one of 1085is scrolled horizontally out of view. Clicking the mouse on one of
1086the arrows scrolls the display horizontally in the direction of the 1086the arrows scrolls the display horizontally in the direction of the
1087arrow. 1087arrow.
1088 1088
@@ -1145,8 +1145,8 @@ setting the buffer-local variable @code{show-trailing-whitespace} to
1145@code{trailing-whitespace}. 1145@code{trailing-whitespace}.
1146 1146
1147 This feature does not apply when point is at the end of the line 1147 This feature does not apply when point is at the end of the line
1148containing the whitespace. Strictly speaking, that is ``trailing 1148containing the whitespace. Strictly speaking, that is trailing
1149whitespace'' nonetheless, but displaying it specially in that case 1149whitespace nonetheless, but displaying it specially in that case
1150looks ugly while you are typing in new text. In this special case, 1150looks ugly while you are typing in new text. In this special case,
1151the location of point is enough to show you that the spaces are 1151the location of point is enough to show you that the spaces are
1152present. 1152present.
@@ -1178,7 +1178,7 @@ indicate-empty-lines t)}.
1178@findex whitespace-mode 1178@findex whitespace-mode
1179@vindex whitespace-style 1179@vindex whitespace-style
1180 Whitespace mode is a buffer-local minor mode that lets you 1180 Whitespace mode is a buffer-local minor mode that lets you
1181``visualize'' many kinds of whitespace in the buffer, by either 1181visualize many kinds of whitespace in the buffer, by either
1182drawing the whitespace characters with a special face or displaying 1182drawing the whitespace characters with a special face or displaying
1183them as special glyphs. To toggle this mode, type @kbd{M-x 1183them as special glyphs. To toggle this mode, type @kbd{M-x
1184whitespace-mode}. The kinds of whitespace visualized are determined 1184whitespace-mode}. The kinds of whitespace visualized are determined
@@ -1358,7 +1358,7 @@ the mail indicator prominent. Use @code{display-time-mail-file} to
1358specify the mail file to check, or set 1358specify the mail file to check, or set
1359@code{display-time-mail-directory} to specify the directory to check 1359@code{display-time-mail-directory} to specify the directory to check
1360for incoming mail (any nonempty regular file in the directory is 1360for incoming mail (any nonempty regular file in the directory is
1361considered as ``newly arrived mail''). 1361considered to be newly arrived mail).
1362 1362
1363@cindex battery status (on mode line) 1363@cindex battery status (on mode line)
1364@findex display-battery-mode 1364@findex display-battery-mode
@@ -1496,8 +1496,8 @@ displayed are shown as their @acronym{ASCII} approximations @samp{`},
1496@vindex visible-cursor 1496@vindex visible-cursor
1497 On a text terminal, the cursor's appearance is controlled by the 1497 On a text terminal, the cursor's appearance is controlled by the
1498terminal, largely out of the control of Emacs. Some terminals offer 1498terminal, largely out of the control of Emacs. Some terminals offer
1499two different cursors: a ``visible'' static cursor, and a ``very 1499two different cursors: a visible static cursor, and a very
1500visible'' blinking cursor. By default, Emacs uses the very visible 1500visible blinking cursor. By default, Emacs uses the very visible
1501cursor, and switches to it when you start or resume Emacs. If the 1501cursor, and switches to it when you start or resume Emacs. If the
1502variable @code{visible-cursor} is @code{nil} when Emacs starts or 1502variable @code{visible-cursor} is @code{nil} when Emacs starts or
1503resumes, it uses the normal cursor. 1503resumes, it uses the normal cursor.
@@ -1537,7 +1537,7 @@ altogether, change the variable @code{blink-cursor-mode} to @code{nil}
1537 1537
1538@noindent 1538@noindent
1539to your init file. Alternatively, you can change how the cursor 1539to your init file. Alternatively, you can change how the cursor
1540looks when it ``blinks off'' by customizing the list variable 1540looks when it blinks off by customizing the list variable
1541@code{blink-cursor-alist}. Each element in the list should have the 1541@code{blink-cursor-alist}. Each element in the list should have the
1542form @code{(@var{on-type} . @var{off-type})}; this means that if the 1542form @code{(@var{on-type} . @var{off-type})}; this means that if the
1543cursor is displayed as @var{on-type} when it blinks on (where 1543cursor is displayed as @var{on-type} when it blinks on (where
@@ -1546,7 +1546,7 @@ displayed as @var{off-type} when it blinks off.
1546 1546
1547@vindex x-stretch-cursor 1547@vindex x-stretch-cursor
1548@cindex wide block cursor 1548@cindex wide block cursor
1549 Some characters, such as tab characters, are ``extra wide''. When 1549 Some characters, such as tab characters, are extra wide. When
1550the cursor is positioned over such a character, it is normally drawn 1550the cursor is positioned over such a character, it is normally drawn
1551with the default character width. You can make the cursor stretch to 1551with the default character width. You can make the cursor stretch to
1552cover wide characters, by changing the variable 1552cover wide characters, by changing the variable
@@ -1671,14 +1671,14 @@ there is something to echo. @xref{Echo Area}.
1671 On graphical displays, Emacs displays the mouse pointer as an 1671 On graphical displays, Emacs displays the mouse pointer as an
1672hourglass if Emacs is busy. To disable this feature, set the variable 1672hourglass if Emacs is busy. To disable this feature, set the variable
1673@code{display-hourglass} to @code{nil}. The variable 1673@code{display-hourglass} to @code{nil}. The variable
1674@code{hourglass-delay} determines the number of seconds of ``busy 1674@code{hourglass-delay} determines the number of seconds of busy
1675time'' before the hourglass is shown; the default is 1. 1675time before the hourglass is shown; the default is 1.
1676 1676
1677@vindex make-pointer-invisible 1677@vindex make-pointer-invisible
1678 If the mouse pointer lies inside an Emacs frame, Emacs makes it 1678 If the mouse pointer lies inside an Emacs frame, Emacs makes it
1679invisible each time you type a character to insert text, to prevent it 1679invisible each time you type a character to insert text, to prevent it
1680from obscuring the text. (To be precise, the hiding occurs when you 1680from obscuring the text. (To be precise, the hiding occurs when you
1681type a ``self-inserting'' character. @xref{Inserting Text}.) Moving 1681type a self-inserting character. @xref{Inserting Text}.) Moving
1682the mouse pointer makes it visible again. To disable this feature, 1682the mouse pointer makes it visible again. To disable this feature,
1683set the variable @code{make-pointer-invisible} to @code{nil}. 1683set the variable @code{make-pointer-invisible} to @code{nil}.
1684 1684
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index ec82a071001..8275da91a06 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -160,7 +160,7 @@ Fundamental Editing Commands
160* Help:: Commands for asking Emacs about its commands. 160* Help:: Commands for asking Emacs about its commands.
161 161
162Important Text-Changing Commands 162Important Text-Changing Commands
163* Mark:: The mark: how to delimit a ``region'' of text. 163* Mark:: The mark: how to delimit a region of text.
164* Killing:: Killing (cutting) and yanking (copying) text. 164* Killing:: Killing (cutting) and yanking (copying) text.
165* Registers:: Saving a text string or a location in the buffer. 165* Registers:: Saving a text string or a location in the buffer.
166* Display:: Controlling what text is displayed. 166* Display:: Controlling what text is displayed.
@@ -172,7 +172,7 @@ Major Structures of Emacs
172* Files:: All about handling files. 172* Files:: All about handling files.
173* Buffers:: Multiple buffers; editing several files at once. 173* Buffers:: Multiple buffers; editing several files at once.
174* Windows:: Viewing multiple pieces of text in one frame. 174* Windows:: Viewing multiple pieces of text in one frame.
175* Frames:: Using multiple ``windows'' on your display. 175* Frames:: Using multiple windows on your display.
176* International:: Using non-@acronym{ASCII} character sets. 176* International:: Using non-@acronym{ASCII} character sets.
177 177
178Advanced Features 178Advanced Features
@@ -200,7 +200,7 @@ Advanced Features
200@end ifnottex 200@end ifnottex
201* Editing Binary Files:: Editing binary files with Hexl mode. 201* Editing Binary Files:: Editing binary files with Hexl mode.
202* Saving Emacs Sessions:: Saving Emacs state from one session to the next. 202* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
203* Recursive Edit:: Performing edits while ``within another command''. 203* Recursive Edit:: Performing edits while within another command.
204* Hyperlinking:: Following links in buffers. 204* Hyperlinking:: Following links in buffers.
205* Amusements:: Various games and hacks. 205* Amusements:: Various games and hacks.
206* Packages:: Installing additional features. 206* Packages:: Installing additional features.
@@ -301,7 +301,7 @@ Help
301* Language Help:: Help relating to international language support. 301* Language Help:: Help relating to international language support.
302* Misc Help:: Other help commands. 302* Misc Help:: Other help commands.
303* Help Files:: Commands to display auxiliary help files. 303* Help Files:: Commands to display auxiliary help files.
304* Help Echo:: Help on active text and tooltips (``balloon help''). 304* Help Echo:: Help on active text and tooltips.
305 305
306The Mark and the Region 306The Mark and the Region
307 307
@@ -337,7 +337,7 @@ Yanking
337* Earlier Kills:: Yanking something killed some time ago. 337* Earlier Kills:: Yanking something killed some time ago.
338* Appending Kills:: Several kills in a row all yank together. 338* Appending Kills:: Several kills in a row all yank together.
339 339
340``Cut and Paste'' Operations on Graphical Displays 340Cut and Paste Operations on Graphical Displays
341 341
342* Clipboard:: How Emacs uses the system clipboard. 342* Clipboard:: How Emacs uses the system clipboard.
343* Primary Selection:: The temporarily selected text selection. 343* Primary Selection:: The temporarily selected text selection.
@@ -464,7 +464,7 @@ Saving Files
464* Customize Save:: Customizing the saving of files. 464* Customize Save:: Customizing the saving of files.
465* Interlocking:: How Emacs protects against simultaneous editing 465* Interlocking:: How Emacs protects against simultaneous editing
466 of one file by two users. 466 of one file by two users.
467* File Shadowing:: Copying files to ``shadows'' automatically. 467* File Shadowing:: Copying files to shadows automatically.
468* Time Stamps:: Emacs can update time stamps on saved files. 468* Time Stamps:: Emacs can update time stamps on saved files.
469 469
470Backup Files 470Backup Files
@@ -597,7 +597,7 @@ Commands for Human Languages
597* TeX Mode:: Editing TeX and LaTeX files. 597* TeX Mode:: Editing TeX and LaTeX files.
598* HTML Mode:: Editing HTML and SGML files. 598* HTML Mode:: Editing HTML and SGML files.
599* Nroff Mode:: Editing input to the nroff formatter. 599* Nroff Mode:: Editing input to the nroff formatter.
600* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc. 600* Enriched Text:: Editing text enriched with fonts, colors, etc.
601* Text Based Tables:: Commands for editing text-based tables. 601* Text Based Tables:: Commands for editing text-based tables.
602* Two-Column:: Splitting text columns into separate windows. 602* Two-Column:: Splitting text columns into separate windows.
603 603
@@ -638,7 +638,7 @@ Enriched Text
638* Enriched Indentation:: Changing the left and right margins. 638* Enriched Indentation:: Changing the left and right margins.
639* Enriched Justification:: Centering, setting text flush with the 639* Enriched Justification:: Centering, setting text flush with the
640 left or right margin, etc. 640 left or right margin, etc.
641* Enriched Properties:: The ``special'' text properties submenu. 641* Enriched Properties:: The special text properties submenu.
642 642
643@c The automatic texinfo menu update inserts some duplicate items here 643@c The automatic texinfo menu update inserts some duplicate items here
644@c (faces, colors, indentation, justification, properties), because 644@c (faces, colors, indentation, justification, properties), because
@@ -895,7 +895,7 @@ Editing Pictures
895 895
896* Basic Picture:: Basic concepts and simple commands of Picture Mode. 896* Basic Picture:: Basic concepts and simple commands of Picture Mode.
897* Insert in Picture:: Controlling direction of cursor motion 897* Insert in Picture:: Controlling direction of cursor motion
898 after ``self-inserting'' characters. 898 after self-inserting characters.
899* Tabs in Picture:: Various features for tab stops and indentation. 899* Tabs in Picture:: Various features for tab stops and indentation.
900* Rectangles in Picture:: Clearing and superimposing rectangles. 900* Rectangles in Picture:: Clearing and superimposing rectangles.
901@end ifnottex 901@end ifnottex
@@ -1092,7 +1092,7 @@ Customization
1092 to decide what to do; by setting variables, 1092 to decide what to do; by setting variables,
1093 you can control their functioning. 1093 you can control their functioning.
1094* Key Bindings:: The keymaps say what command each key runs. 1094* Key Bindings:: The keymaps say what command each key runs.
1095 By changing them, you can ``redefine'' keys. 1095 By changing them, you can redefine keys.
1096* Init File:: How to write common customizations in the 1096* Init File:: How to write common customizations in the
1097 initialization file. 1097 initialization file.
1098 1098
diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi
index 25bbcaae396..836b27c5002 100644
--- a/doc/emacs/emerge-xtra.texi
+++ b/doc/emacs/emerge-xtra.texi
@@ -151,7 +151,7 @@ input. The mode line indicates Auto Advance mode with @samp{A}.
151 If Skip Prefers mode is in effect, the @kbd{n} and @kbd{p} commands 151 If Skip Prefers mode is in effect, the @kbd{n} and @kbd{p} commands
152skip over differences in states ``prefer-A'' and ``prefer-B'' 152skip over differences in states ``prefer-A'' and ``prefer-B''
153(@pxref{State of Difference}). Thus you see only differences for 153(@pxref{State of Difference}). Thus you see only differences for
154which neither version is presumed ``correct''. The mode line 154which neither version is presumed correct. The mode line
155indicates Skip Prefers mode with @samp{S}. This mode is only relevant 155indicates Skip Prefers mode with @samp{S}. This mode is only relevant
156when there is an ancestor. 156when there is an ancestor.
157 157
@@ -183,7 +183,7 @@ produces this state; the mode line indicates it with @samp{B}.
183The difference is showing the A or the B state by default, because you 183The difference is showing the A or the B state by default, because you
184haven't made a choice. All differences start in the default-A state 184haven't made a choice. All differences start in the default-A state
185(and thus the merge buffer is a copy of the A buffer), except those for 185(and thus the merge buffer is a copy of the A buffer), except those for
186which one alternative is ``preferred'' (see below). 186which one alternative is preferred (see below).
187 187
188When you select a difference, its state changes from default-A or 188When you select a difference, its state changes from default-A or
189default-B to plain A or B@. Thus, the selected difference never has 189default-B to plain A or B@. Thus, the selected difference never has
diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi
index fc9ea38fdcd..afe2b115a93 100644
--- a/doc/emacs/entering.texi
+++ b/doc/emacs/entering.texi
@@ -100,7 +100,7 @@ display them initially.
100Kill Emacs (@code{save-buffers-kill-terminal}). 100Kill Emacs (@code{save-buffers-kill-terminal}).
101@item C-z 101@item C-z
102On a text terminal, suspend Emacs; on a graphical display, 102On a text terminal, suspend Emacs; on a graphical display,
103``minimize'' the selected frame (@code{suspend-emacs}). 103iconify or minimize the selected frame (@code{suspend-emacs}).
104@end table 104@end table
105 105
106@kindex C-x C-c 106@kindex C-x C-c
@@ -116,7 +116,7 @@ subprocesses are still running, since killing Emacs will also kill the
116subprocesses (@pxref{Shell}). 116subprocesses (@pxref{Shell}).
117 117
118 @kbd{C-x C-c} behaves specially if you are using Emacs as a server. 118 @kbd{C-x C-c} behaves specially if you are using Emacs as a server.
119If you type it from a ``client frame'', it closes the client 119If you type it from a client frame, it closes the client
120connection. @xref{Emacs Server}. 120connection. @xref{Emacs Server}.
121 121
122 Emacs can, optionally, record certain session information when you 122 Emacs can, optionally, record certain session information when you
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 5985d8b840e..4bd2553b82f 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -55,8 +55,8 @@ the file name, using the minibuffer (@pxref{Minibuffer File}).
55history commands (@pxref{Minibuffer}). Note that file name completion 55history commands (@pxref{Minibuffer}). Note that file name completion
56ignores file names whose extensions appear in the variable 56ignores file names whose extensions appear in the variable
57@code{completion-ignored-extensions} (@pxref{Completion Options}). 57@code{completion-ignored-extensions} (@pxref{Completion Options}).
58Note also that most commands use ``permissive completion with 58Note also that most commands use permissive completion with
59confirmation'' for reading file names: you are allowed to submit a 59confirmation for reading file names: you are allowed to submit a
60nonexistent file name, but if you type @key{RET} immediately after 60nonexistent file name, but if you type @key{RET} immediately after
61completing up to a nonexistent file name, Emacs prints 61completing up to a nonexistent file name, Emacs prints
62@samp{[Confirm]} and you must type a second @key{RET} to confirm. 62@samp{[Confirm]} and you must type a second @key{RET} to confirm.
@@ -96,9 +96,9 @@ minibuffer, with a directory omitted, specifies the file
96@file{/u/rms/gnu/new/foo}. 96@file{/u/rms/gnu/new/foo}.
97 97
98 When typing a file name into the minibuffer, you can make use of a 98 When typing a file name into the minibuffer, you can make use of a
99couple of shortcuts: a double slash is interpreted as ``ignore 99couple of shortcuts: a double slash ignores everything before the
100everything before the second slash in the pair'', and @samp{~/} is 100second slash in the pair, and @samp{~/} is your home directory.
101interpreted as your home directory. @xref{Minibuffer File}. 101@xref{Minibuffer File}.
102 102
103@cindex environment variables in file names 103@cindex environment variables in file names
104@cindex expansion of environment variables 104@cindex expansion of environment variables
@@ -232,7 +232,7 @@ after the directory part; this is convenient if you made a slight
232error in typing the name. 232error in typing the name.
233 233
234@vindex find-file-run-dired 234@vindex find-file-run-dired
235 If you ``visit'' a file that is actually a directory, Emacs invokes 235 If you visit a file that is actually a directory, Emacs invokes
236Dired, the Emacs directory browser. @xref{Dired}. You can disable 236Dired, the Emacs directory browser. @xref{Dired}. You can disable
237this behavior by setting the variable @code{find-file-run-dired} to 237this behavior by setting the variable @code{find-file-run-dired} to
238@code{nil}; in that case, it is an error to try to visit a directory. 238@code{nil}; in that case, it is an error to try to visit a directory.
@@ -274,13 +274,13 @@ new frame, or selects any existing frame showing the specified file.
274 On graphical displays, there are two additional methods for visiting 274 On graphical displays, there are two additional methods for visiting
275files. Firstly, when Emacs is built with a suitable GUI toolkit, 275files. Firstly, when Emacs is built with a suitable GUI toolkit,
276commands invoked with the mouse (by clicking on the menu bar or tool 276commands invoked with the mouse (by clicking on the menu bar or tool
277bar) use the toolkit's standard ``File Selection'' dialog instead of 277bar) use the toolkit's standard file selection dialog instead of
278prompting for the file name in the minibuffer. On GNU/Linux and Unix 278prompting for the file name in the minibuffer. On GNU/Linux and Unix
279platforms, Emacs does this when built with GTK, LessTif, and Motif 279platforms, Emacs does this when built with GTK, LessTif, and Motif
280toolkits; on MS-Windows and Mac, the GUI version does that by default. 280toolkits; on MS-Windows and Mac, the GUI version does that by default.
281For information on how to customize this, see @ref{Dialog Boxes}. 281For information on how to customize this, see @ref{Dialog Boxes}.
282 282
283 Secondly, Emacs supports ``drag and drop'': dropping a file into an 283 Secondly, Emacs supports drag and drop: dropping a file into an
284ordinary Emacs window visits the file using that window. As an 284ordinary Emacs window visits the file using that window. As an
285exception, dropping a file into a window displaying a Dired buffer 285exception, dropping a file into a window displaying a Dired buffer
286moves or copies the file into the displayed directory. For details, 286moves or copies the file into the displayed directory. For details,
@@ -288,7 +288,7 @@ see @ref{Drag and Drop}, and @ref{Misc Dired Features}.
288 288
289 On text-mode terminals and on graphical displays when Emacs was 289 On text-mode terminals and on graphical displays when Emacs was
290built without a GUI toolkit, you can visit files via the menu-bar 290built without a GUI toolkit, you can visit files via the menu-bar
291``File'' menu, which has a ``Visit New File'' item. 291@samp{File} menu, which has a @samp{Visit New File} item.
292 292
293 Each time you visit a file, Emacs automatically scans its contents 293 Each time you visit a file, Emacs automatically scans its contents
294to detect what character encoding and end-of-line convention it uses, 294to detect what character encoding and end-of-line convention it uses,
@@ -340,7 +340,7 @@ that was visited in the buffer.
340* Customize Save:: Customizing the saving of files. 340* Customize Save:: Customizing the saving of files.
341* Interlocking:: How Emacs protects against simultaneous editing 341* Interlocking:: How Emacs protects against simultaneous editing
342 of one file by two users. 342 of one file by two users.
343* Shadowing: File Shadowing. Copying files to ``shadows'' automatically. 343* Shadowing: File Shadowing. Copying files to shadows automatically.
344* Time Stamps:: Emacs can update time stamps on saved files. 344* Time Stamps:: Emacs can update time stamps on saved files.
345@end menu 345@end menu
346 346
@@ -443,7 +443,7 @@ minibuffer. Then it marks the buffer as visiting that file name, and
443changes the buffer name correspondingly. @code{set-visited-file-name} 443changes the buffer name correspondingly. @code{set-visited-file-name}
444does not save the buffer in the newly visited file; it just alters the 444does not save the buffer in the newly visited file; it just alters the
445records inside Emacs in case you do save later. It also marks the 445records inside Emacs in case you do save later. It also marks the
446buffer as ``modified'' so that @kbd{C-x C-s} in that buffer 446buffer as modified so that @kbd{C-x C-s} in that buffer
447@emph{will} save. 447@emph{will} save.
448 448
449@kindex C-x C-w 449@kindex C-x C-w
@@ -902,7 +902,7 @@ way that, if the file was edited only slightly, you will be at
902approximately the same part of the text as before. But if you have 902approximately the same part of the text as before. But if you have
903made major changes, point may end up in a totally different location. 903made major changes, point may end up in a totally different location.
904 904
905 Reverting marks the buffer as ``not modified''. It also clears the 905 Reverting marks the buffer as not modified. It also clears the
906buffer's undo history (@pxref{Undo}). Thus, the reversion cannot be 906buffer's undo history (@pxref{Undo}). Thus, the reversion cannot be
907undone---if you change your mind yet again, you can't use the undo 907undone---if you change your mind yet again, you can't use the undo
908commands to bring the reverted changes back. 908commands to bring the reverted changes back.
@@ -941,7 +941,7 @@ buffers, type @kbd{M-x global-auto-revert-mode} to enable Global
941Auto-Revert mode. These minor modes do not check or revert remote 941Auto-Revert mode. These minor modes do not check or revert remote
942files, because that is usually too slow. 942files, because that is usually too slow.
943 943
944 One use of Auto-Revert mode is to ``tail'' a file such as a system 944 One use of Auto-Revert mode is to tail a file such as a system
945log, so that changes made to that file by other programs are 945log, so that changes made to that file by other programs are
946continuously displayed. To do this, just move the point to the end of 946continuously displayed. To do this, just move the point to the end of
947the buffer, and it will stay there as the file contents change. 947the buffer, and it will stay there as the file contents change.
@@ -1167,7 +1167,7 @@ implies the effect of @code{find-file-existing-other-name}.
1167@cindex directory name abbreviation 1167@cindex directory name abbreviation
1168@vindex directory-abbrev-alist 1168@vindex directory-abbrev-alist
1169 Sometimes, a directory is ordinarily accessed through a symbolic 1169 Sometimes, a directory is ordinarily accessed through a symbolic
1170link, and you may want Emacs to preferentially show its ``linked'' 1170link, and you may want Emacs to preferentially show its linked
1171name. To do this, customize @code{directory-abbrev-alist}. Each 1171name. To do this, customize @code{directory-abbrev-alist}. Each
1172element in this list should have the form @code{(@var{from} 1172element in this list should have the form @code{(@var{from}
1173. @var{to})}, which means to replace @var{from} with @var{to} whenever 1173. @var{to})}, which means to replace @var{from} with @var{to} whenever
@@ -1255,8 +1255,8 @@ this, it runs the program specified by
1255 The command @kbd{M-x delete-directory} prompts for a directory name 1255 The command @kbd{M-x delete-directory} prompts for a directory name
1256using the minibuffer, and deletes the directory if it is empty. If 1256using the minibuffer, and deletes the directory if it is empty. If
1257the directory is not empty, you will be asked whether you want to 1257the directory is not empty, you will be asked whether you want to
1258delete it recursively. On systems that have a ``Trash'' (or ``Recycle 1258delete it recursively. On systems that have a Trash (or Recycle
1259Bin'') feature, you can make this command move the specified directory 1259Bin) feature, you can make this command move the specified directory
1260to the Trash instead of deleting it outright, by changing the variable 1260to the Trash instead of deleting it outright, by changing the variable
1261@code{delete-by-moving-to-trash} to @code{t}. @xref{Misc File Ops}, 1261@code{delete-by-moving-to-trash} to @code{t}. @xref{Misc File Ops},
1262for more information about using the Trash. 1262for more information about using the Trash.
@@ -1325,7 +1325,7 @@ prefix argument turns that off.
1325 You can use @kbd{M-x smerge-mode} to turn on Smerge mode, a minor 1325 You can use @kbd{M-x smerge-mode} to turn on Smerge mode, a minor
1326mode for editing output from the @command{diff3} program. This is 1326mode for editing output from the @command{diff3} program. This is
1327typically the result of a failed merge from a version control system 1327typically the result of a failed merge from a version control system
1328``update'' outside VC, due to conflicting changes to a file. Smerge 1328update outside VC, due to conflicting changes to a file. Smerge
1329mode provides commands to resolve conflicts by selecting specific 1329mode provides commands to resolve conflicts by selecting specific
1330changes. 1330changes.
1331 1331
@@ -1364,10 +1364,10 @@ contents of the hunk.
1364read-only, you need to make it writable first. @xref{Misc Buffer}.) 1364read-only, you need to make it writable first. @xref{Misc Buffer}.)
1365Whenever you change a hunk, Diff mode attempts to automatically 1365Whenever you change a hunk, Diff mode attempts to automatically
1366correct the line numbers in the hunk headers, to ensure that the patch 1366correct the line numbers in the hunk headers, to ensure that the patch
1367remains ``correct''. To disable automatic line number correction, 1367remains correct. To disable automatic line number correction,
1368change the variable @code{diff-update-on-the-fly} to @code{nil}. 1368change the variable @code{diff-update-on-the-fly} to @code{nil}.
1369 1369
1370 Diff mode treats each hunk as an ``error message'', similar to 1370 Diff mode treats each hunk as an error message, similar to
1371Compilation mode. Thus, you can use commands such as @kbd{C-x `} to 1371Compilation mode. Thus, you can use commands such as @kbd{C-x `} to
1372visit the corresponding source locations. @xref{Compilation Mode}. 1372visit the corresponding source locations. @xref{Compilation Mode}.
1373 1373
@@ -1585,7 +1585,7 @@ rename-file}. @xref{VC Delete/Rename}.
1585@cindex hard links (creation) 1585@cindex hard links (creation)
1586 @kbd{M-x add-name-to-file} adds an additional name to an existing 1586 @kbd{M-x add-name-to-file} adds an additional name to an existing
1587file without removing its old name. The new name is created as a 1587file without removing its old name. The new name is created as a
1588``hard link'' to the existing file. The new name must belong on the 1588hard link to the existing file. The new name must belong on the
1589same file system that the file is on. On MS-Windows, this command 1589same file system that the file is on. On MS-Windows, this command
1590works only if the file resides in an NTFS file system. On MS-DOS, it 1590works only if the file resides in an NTFS file system. On MS-DOS, it
1591works by copying the file. 1591works by copying the file.
@@ -1612,7 +1612,7 @@ mark (@pxref{Mark Ring}).
1612 1612
1613@findex insert-file-literally 1613@findex insert-file-literally
1614 @kbd{M-x insert-file-literally} is like @kbd{M-x insert-file}, 1614 @kbd{M-x insert-file-literally} is like @kbd{M-x insert-file},
1615except the file is inserted ``literally'': it is treated as a sequence 1615except the file is inserted literally: it is treated as a sequence
1616of @acronym{ASCII} characters with no special encoding or conversion, 1616of @acronym{ASCII} characters with no special encoding or conversion,
1617similar to the @kbd{M-x find-file-literally} command 1617similar to the @kbd{M-x find-file-literally} command
1618(@pxref{Visiting}). 1618(@pxref{Visiting}).
@@ -2008,7 +2008,7 @@ enable ImageMagick for all possible image types, change
2008@code{imagemagick-types-inhibit} lists the image types which should 2008@code{imagemagick-types-inhibit} lists the image types which should
2009never be rendered using ImageMagick, regardless of the value of 2009never be rendered using ImageMagick, regardless of the value of
2010@code{imagemagick-enabled-types} (the default list includes types like 2010@code{imagemagick-enabled-types} (the default list includes types like
2011@code{C} and @code{HTML}, which ImageMagick can render as an ``image'' 2011@code{C} and @code{HTML}, which ImageMagick can render as an image
2012but Emacs should not). To disable ImageMagick entirely, change 2012but Emacs should not). To disable ImageMagick entirely, change
2013@code{imagemagick-types-inhibit} to @code{t}. 2013@code{imagemagick-types-inhibit} to @code{t}.
2014 2014
@@ -2055,7 +2055,7 @@ files in a fileset, and @kbd{M-x filesets-close} to close them. Use
2055a fileset. These commands are also available from the @samp{Filesets} 2055a fileset. These commands are also available from the @samp{Filesets}
2056menu, where each existing fileset is represented by a submenu. 2056menu, where each existing fileset is represented by a submenu.
2057 2057
2058 @xref{Version Control}, for a different concept of ``filesets'': 2058 @xref{Version Control}, for a different concept of filesets:
2059groups of files bundled together for version control operations. 2059groups of files bundled together for version control operations.
2060Filesets of that type are unnamed, and do not persist across Emacs 2060Filesets of that type are unnamed, and do not persist across Emacs
2061sessions. 2061sessions.
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi
index 953b22f7d54..993f0dce1cc 100644
--- a/doc/emacs/fixit.texi
+++ b/doc/emacs/fixit.texi
@@ -286,7 +286,7 @@ messages. @xref{Sending Mail}.
286 286
287 When one of these commands encounters what appears to be an 287 When one of these commands encounters what appears to be an
288incorrect word, it asks you what to do. It usually displays a list of 288incorrect word, it asks you what to do. It usually displays a list of
289numbered ``near-misses''---words that are close to the incorrect word. 289numbered @dfn{near-misses}---words that are close to the incorrect word.
290Then you must type a single-character response. Here are the valid 290Then you must type a single-character response. Here are the valid
291responses: 291responses:
292 292
@@ -331,7 +331,7 @@ file.
331 331
332@item l @var{word} @key{RET} 332@item l @var{word} @key{RET}
333Look in the dictionary for words that match @var{word}. These words 333Look in the dictionary for words that match @var{word}. These words
334become the new list of ``near-misses''; you can select one of them as 334become the new list of near-misses; you can select one of them as
335the replacement by typing a digit. You can use @samp{*} in @var{word} as a 335the replacement by typing a digit. You can use @samp{*} in @var{word} as a
336wildcard. 336wildcard.
337 337
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi
index 155e998180c..870bfcd2169 100644
--- a/doc/emacs/fortran-xtra.texi
+++ b/doc/emacs/fortran-xtra.texi
@@ -13,9 +13,9 @@
13@cindex Fortran 77 and Fortran 90, 95, 2003, 2008 13@cindex Fortran 77 and Fortran 90, 95, 2003, 2008
14@findex f90-mode 14@findex f90-mode
15@findex fortran-mode 15@findex fortran-mode
16 Fortran mode is meant for editing ``fixed form'' (and also ``tab 16 Fortran mode is meant for editing fixed form (and also tab
17format'') source code (normally Fortran 77). For editing more modern 17format) source code (normally Fortran 77). For editing more modern
18``free form'' source code (Fortran 90, 95, 2003, 2008), use F90 mode 18free-form source code (Fortran 90, 95, 2003, 2008), use F90 mode
19(@code{f90-mode}). Emacs normally uses Fortran mode for files with 19(@code{f90-mode}). Emacs normally uses Fortran mode for files with
20extension @samp{.f}, @samp{.F} or @samp{.for}, and F90 mode for the 20extension @samp{.f}, @samp{.F} or @samp{.for}, and F90 mode for the
21extensions @samp{.f90}, @samp{.f95}, @samp{.f03} and @samp{.f08}. 21extensions @samp{.f90}, @samp{.f95}, @samp{.f03} and @samp{.f08}.
@@ -70,7 +70,7 @@ command runs the hook @code{fortran-mode-hook}.
70@subsection Motion Commands 70@subsection Motion Commands
71 71
72 In addition to the normal commands for moving by and operating on 72 In addition to the normal commands for moving by and operating on
73``defuns'' (Fortran subprograms---functions and subroutines, as well 73defuns (Fortran subprograms---functions and subroutines, as well
74as modules for F90 mode, using the commands @code{fortran-end-of-subprogram} 74as modules for F90 mode, using the commands @code{fortran-end-of-subprogram}
75and @code{fortran-beginning-of-subprogram}), Fortran mode provides 75and @code{fortran-beginning-of-subprogram}), Fortran mode provides
76special commands to move by statements and other program units. 76special commands to move by statements and other program units.
@@ -207,8 +207,8 @@ the Fortran standard counts from 1.) The variable
207@code{fortran-continuation-string} specifies what character to put in 207@code{fortran-continuation-string} specifies what character to put in
208column 5. A line that starts with a tab character followed by any digit 208column 5. A line that starts with a tab character followed by any digit
209except @samp{0} is also a continuation line. We call this style of 209except @samp{0} is also a continuation line. We call this style of
210continuation @dfn{tab format}. (Fortran 90 introduced ``free form'', 210continuation @dfn{tab format}. (Fortran 90 introduced free-form
211with another style of continuation lines). 211continuation lines.)
212 212
213@vindex indent-tabs-mode @r{(Fortran mode)} 213@vindex indent-tabs-mode @r{(Fortran mode)}
214@vindex fortran-analyze-depth 214@vindex fortran-analyze-depth
@@ -499,7 +499,7 @@ will confuse font-lock.)
499 499
500@table @kbd 500@table @kbd
501@item C-c C-r 501@item C-c C-r
502Display a ``column ruler'' momentarily above the current line 502Display a column ruler momentarily above the current line
503(@code{fortran-column-ruler}). 503(@code{fortran-column-ruler}).
504@item C-c C-w 504@item C-c C-w
505Split the current window horizontally temporarily so that it is 505Split the current window horizontally temporarily so that it is
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 2ae7300e897..22f9f0eb5e5 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -7,7 +7,7 @@
7@cindex frames 7@cindex frames
8 8
9 When Emacs is started on a graphical display, e.g., on the X Window 9 When Emacs is started on a graphical display, e.g., on the X Window
10System, it occupies a graphical system-level ``window''. In this 10System, it occupies a graphical system-level display region. In this
11manual, we call this a @dfn{frame}, reserving the word ``window'' for 11manual, we call this a @dfn{frame}, reserving the word ``window'' for
12the part of the frame used for displaying a buffer. A frame initially 12the part of the frame used for displaying a buffer. A frame initially
13contains one window, but it can be subdivided into multiple windows 13contains one window, but it can be subdivided into multiple windows
@@ -28,7 +28,7 @@ displays (@pxref{Exiting}). To close just the selected frame, type
28 This chapter describes Emacs features specific to graphical displays 28 This chapter describes Emacs features specific to graphical displays
29(particularly mouse commands), and features for managing multiple 29(particularly mouse commands), and features for managing multiple
30frames. On text terminals, many of these features are unavailable. 30frames. On text terminals, many of these features are unavailable.
31However, it is still possible to create multiple ``frames'' on text 31However, it is still possible to create multiple frames on text
32terminals; such frames are displayed one at a time, filling the entire 32terminals; such frames are displayed one at a time, filling the entire
33terminal screen (@pxref{Non-Window Terminals}). It is also possible 33terminal screen (@pxref{Non-Window Terminals}). It is also possible
34to use the mouse on some text terminals (@pxref{Text-Only Mouse}, for 34to use the mouse on some text terminals (@pxref{Text-Only Mouse}, for
@@ -110,7 +110,7 @@ the window and sets the cursor position.
110 110
111@cindex mouse, dragging 111@cindex mouse, dragging
112@findex mouse-set-region 112@findex mouse-set-region
113 Holding down @kbd{Mouse-1} and ``dragging'' the mouse over a stretch 113 Holding down @kbd{Mouse-1} and dragging the mouse over a stretch
114of text activates the region around that text 114of text activates the region around that text
115(@code{mouse-set-region}), placing the mark where you started holding 115(@code{mouse-set-region}), placing the mark where you started holding
116down the mouse button, and point where you release it (@pxref{Mark}). 116down the mouse button, and point where you release it (@pxref{Mark}).
@@ -197,7 +197,7 @@ deactivating the mark. @xref{Shift Selection}.
197@vindex mouse-wheel-follow-mouse 197@vindex mouse-wheel-follow-mouse
198@vindex mouse-wheel-scroll-amount 198@vindex mouse-wheel-scroll-amount
199@vindex mouse-wheel-progressive-speed 199@vindex mouse-wheel-progressive-speed
200 Some mice have a ``wheel'' which can be used for scrolling. Emacs 200 Some mice have a wheel which can be used for scrolling. Emacs
201supports scrolling windows with the mouse wheel, by default, on most 201supports scrolling windows with the mouse wheel, by default, on most
202graphical displays. To toggle this feature, use @kbd{M-x 202graphical displays. To toggle this feature, use @kbd{M-x
203mouse-wheel-mode}. The variables @code{mouse-wheel-follow-mouse} and 203mouse-wheel-mode}. The variables @code{mouse-wheel-follow-mouse} and
@@ -217,7 +217,7 @@ also copied to the kill ring.
217@item Double-Mouse-1 217@item Double-Mouse-1
218Select the text around the word which you click on. 218Select the text around the word which you click on.
219 219
220Double-clicking on a character with ``symbol'' syntax (such as 220Double-clicking on a character with symbol syntax (such as
221underscore, in C mode) selects the symbol surrounding that character. 221underscore, in C mode) selects the symbol surrounding that character.
222Double-clicking on a character with open- or close-parenthesis syntax 222Double-clicking on a character with open- or close-parenthesis syntax
223selects the parenthetical grouping which that character starts or 223selects the parenthetical grouping which that character starts or
@@ -388,9 +388,9 @@ boundary to the left or right.
388 The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}. Whereas 388 The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}. Whereas
389each @kbd{C-x 4} command pops up a buffer in a different window in the 389each @kbd{C-x 4} command pops up a buffer in a different window in the
390selected frame (@pxref{Pop Up Window}), the @kbd{C-x 5} commands use a 390selected frame (@pxref{Pop Up Window}), the @kbd{C-x 5} commands use a
391different frame. If an existing visible or iconified (``minimized'') 391different frame. If an existing visible or iconified (minimized)
392frame already displays the requested buffer, that frame is raised and 392frame already displays the requested buffer, that frame is raised and
393deiconified (``un-minimized''); otherwise, a new frame is created on 393deiconified (un-minimized); otherwise, a new frame is created on
394the current display terminal. 394the current display terminal.
395 395
396 The various @kbd{C-x 5} commands differ in how they find or create the 396 The various @kbd{C-x 5} commands differ in how they find or create the
@@ -444,7 +444,7 @@ error if there is only one frame.
444@item C-z 444@item C-z
445@kindex C-z @r{(X windows)} 445@kindex C-z @r{(X windows)}
446@findex suspend-frame 446@findex suspend-frame
447Minimize (or ``iconify'') the selected Emacs frame 447Minimize (or iconify) the selected Emacs frame
448(@code{suspend-frame}). @xref{Exiting}. 448(@code{suspend-frame}). @xref{Exiting}.
449 449
450@item C-x 5 o 450@item C-x 5 o
@@ -468,7 +468,7 @@ maximized, it fills the screen.
468@kindex <F11> 468@kindex <F11>
469@findex toggle-frame-fullscreen 469@findex toggle-frame-fullscreen
470Toggle fullscreen mode for the current frame. (The difference 470Toggle fullscreen mode for the current frame. (The difference
471between ``fullscreen'' and ``maximized'' is normally that the former 471between fullscreen and maximized is normally that the former
472hides window manager decorations, giving slightly more screen space to 472hides window manager decorations, giving slightly more screen space to
473Emacs itself.) 473Emacs itself.)
474@end table 474@end table
@@ -476,7 +476,7 @@ Emacs itself.)
476@vindex frame-resize-pixelwise 476@vindex frame-resize-pixelwise
477 Note that with some window managers you may have to customize the 477 Note that with some window managers you may have to customize the
478variable @code{frame-resize-pixelwise} to a non-@code{nil} value in 478variable @code{frame-resize-pixelwise} to a non-@code{nil} value in
479order to make a frame truly ``maximized'' or ``fullscreen''. This 479order to make a frame truly maximized or fullscreen. This
480variable, when set to a non-@code{nil} value, in general allows 480variable, when set to a non-@code{nil} value, in general allows
481resizing frames at pixel resolution, rather than in integral multiples 481resizing frames at pixel resolution, rather than in integral multiples
482of lines and columns. 482of lines and columns.
@@ -485,7 +485,7 @@ of lines and columns.
485frame. However, it will refuse to delete the last frame in an Emacs 485frame. However, it will refuse to delete the last frame in an Emacs
486session, to prevent you from losing the ability to interact with the 486session, to prevent you from losing the ability to interact with the
487Emacs session. Note that when Emacs is run as a daemon (@pxref{Emacs 487Emacs session. Note that when Emacs is run as a daemon (@pxref{Emacs
488Server}), there is always a ``virtual frame'' that remains after all 488Server}), there is always a virtual frame that remains after all
489the ordinary, interactive frames are deleted. In this case, @kbd{C-x 489the ordinary, interactive frames are deleted. In this case, @kbd{C-x
4905 0} can delete the last interactive frame; you can use 4905 0} can delete the last interactive frame; you can use
491@command{emacsclient} to reconnect to the Emacs session. 491@command{emacsclient} to reconnect to the Emacs session.
@@ -565,7 +565,7 @@ command can be helpful. It describes the character at point, and
565names the font that it's rendered in. 565names the font that it's rendered in.
566 566
567@cindex fontconfig 567@cindex fontconfig
568 On X, there are four different ways to express a ``font name''. The 568 On X, there are four different ways to express a font name. The
569first is to use a @dfn{Fontconfig pattern}. Fontconfig patterns have 569first is to use a @dfn{Fontconfig pattern}. Fontconfig patterns have
570the following form: 570the following form:
571 571
@@ -738,8 +738,8 @@ have. Normally you should use @samp{iso8859} for @var{registry} and
738@samp{1} for @var{encoding}. 738@samp{1} for @var{encoding}.
739@end table 739@end table
740 740
741 The fourth and final method of specifying a font is to use a ``font 741 The fourth and final method of specifying a font is to use a font
742nickname''. Certain fonts have shorter nicknames, which you can use 742nickname. Certain fonts have shorter nicknames, which you can use
743instead of a normal font specification. For instance, @samp{6x13} is 743instead of a normal font specification. For instance, @samp{6x13} is
744equivalent to 744equivalent to
745 745
@@ -1138,8 +1138,8 @@ suppressed all dialog boxes with the variable @code{use-dialog-box}.
1138@vindex x-gtk-file-dialog-help-text 1138@vindex x-gtk-file-dialog-help-text
1139@cindex hidden files, in GTK+ file chooser 1139@cindex hidden files, in GTK+ file chooser
1140@cindex help text, in GTK+ file chooser 1140@cindex help text, in GTK+ file chooser
1141 When Emacs is compiled with GTK+ support, it uses the GTK+ ``file 1141 When Emacs is compiled with GTK+ support, it uses the GTK+ file
1142chooser'' dialog. Emacs adds an additional toggle button to this 1142chooser dialog. Emacs adds an additional toggle button to this
1143dialog, which you can use to enable or disable the display of hidden 1143dialog, which you can use to enable or disable the display of hidden
1144files (files starting with a dot) in that dialog. If you want this 1144files (files starting with a dot) in that dialog. If you want this
1145toggle to be activated by default, change the variable 1145toggle to be activated by default, change the variable
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index 9101f1c1331..ef186723d6b 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -100,7 +100,7 @@ A base buffer is a buffer whose text is shared by an indirect buffer
100Some human languages, such as English, are written from left to right. 100Some human languages, such as English, are written from left to right.
101Others, such as Arabic, are written from right to left. Emacs 101Others, such as Arabic, are written from right to left. Emacs
102supports both of these forms, as well as any mixture of them---this 102supports both of these forms, as well as any mixture of them---this
103is ``bidirectional text''. @xref{Bidirectional Editing}. 103is bidirectional text. @xref{Bidirectional Editing}.
104 104
105@item Bind 105@item Bind
106To bind a key sequence means to give it a binding (q.v.). 106To bind a key sequence means to give it a binding (q.v.).
@@ -135,7 +135,7 @@ X}). Borders are not the same as fringes (q.v.).
135@item Buffer 135@item Buffer
136The buffer is the basic editing unit; one buffer corresponds to one text 136The buffer is the basic editing unit; one buffer corresponds to one text
137being edited. You normally have several buffers, but at any time you are 137being edited. You normally have several buffers, but at any time you are
138editing only one, the ``current buffer'', though several can be visible 138editing only one, the current buffer, though several can be visible
139when you are using multiple windows or frames (q.v.). Most buffers 139when you are using multiple windows or frames (q.v.). Most buffers
140are visiting (q.v.@:) some file. @xref{Buffers}. 140are visiting (q.v.@:) some file. @xref{Buffers}.
141 141
@@ -265,7 +265,7 @@ normally (but see @ref{Glossary---Truncation}) takes up more than one
265screen line when displayed. We say that the text line is continued, and all 265screen line when displayed. We say that the text line is continued, and all
266screen lines used for it after the first are called continuation 266screen lines used for it after the first are called continuation
267lines. @xref{Continuation Lines}. A related Emacs feature is 267lines. @xref{Continuation Lines}. A related Emacs feature is
268``filling'' (q.v.). 268filling (q.v.).
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
@@ -285,7 +285,7 @@ The 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
@@ -367,8 +367,8 @@ Deletion means erasing text without copying it into the kill ring
367@anchor{Glossary---Deletion of Files} 367@anchor{Glossary---Deletion of Files}
368@item Deletion of Files 368@item Deletion of Files
369Deleting a file means erasing it from the file system. 369Deleting a file means erasing it from the file system.
370(Note that some systems use the concept of a ``trash can'', or ``recycle 370(Note that some systems use the concept of a trash can, or recycle
371bin'', to allow you to ``undelete'' files.) 371bin, to allow you to undelete files.)
372@xref{Misc File Ops,Misc File Ops,Miscellaneous File Operations}. 372@xref{Misc File Ops,Misc File Ops,Miscellaneous File Operations}.
373 373
374@item Deletion of Messages 374@item Deletion of Messages
@@ -396,7 +396,7 @@ Variables}.
396 396
397@item Dired 397@item Dired
398Dired is the Emacs facility that displays the contents of a file 398Dired is the Emacs facility that displays the contents of a file
399directory and allows you to ``edit the directory'', performing 399directory and allows you to edit the directory, performing
400operations on the files in the directory. @xref{Dired}. 400operations on the files in the directory. @xref{Dired}.
401 401
402@item Disabled Command 402@item Disabled Command
@@ -580,7 +580,7 @@ For more information, see @uref{http://fsf.org/, the FSF website}.
580@item Fringe 580@item Fringe
581On a graphical display (q.v.), there's a narrow portion of the frame 581On a graphical display (q.v.), there's a narrow portion of the frame
582(q.v.@:) between the text area and the window's border. These 582(q.v.@:) between the text area and the window's border. These
583``fringes'' are used to display symbols that provide information about 583fringes are used to display symbols that provide information about
584the buffer text (@pxref{Fringes}). Emacs displays the fringe using a 584the buffer text (@pxref{Fringes}). Emacs displays the fringe using a
585special face (q.v.@:) called @code{fringe}. @xref{Faces,fringe}. 585special face (q.v.@:) called @code{fringe}. @xref{Faces,fringe}.
586 586
@@ -1076,7 +1076,7 @@ command, using @kbd{C-g} (or @kbd{C-@key{BREAK}} on MS-DOS). @xref{Quitting}.
1076Quoting means depriving a character of its usual special significance. 1076Quoting means depriving a character of its usual special significance.
1077The most common kind of quoting in Emacs is with @kbd{C-q}. What 1077The most common kind of quoting in Emacs is with @kbd{C-q}. What
1078constitutes special significance depends on the context and on 1078constitutes special significance depends on the context and on
1079convention. For example, an ``ordinary'' character as an Emacs command 1079convention. For example, an ordinary character as an Emacs command
1080inserts itself; so in this context, a special character is any character 1080inserts itself; so in this context, a special character is any character
1081that does not normally insert itself (such as @key{DEL}, for example), 1081that does not normally insert itself (such as @key{DEL}, for example),
1082and quoting it makes it insert itself as if it were not special. Not 1082and quoting it makes it insert itself as if it were not special. Not
@@ -1121,7 +1121,7 @@ Many commands operate on the text of the region. @xref{Mark,Region}.
1121@item Register 1121@item Register
1122Registers are named slots in which text, buffer positions, or 1122Registers are named slots in which text, buffer positions, or
1123rectangles can be saved for later use. @xref{Registers}. A related 1123rectangles can be saved for later use. @xref{Registers}. A related
1124Emacs feature is ``bookmarks'' (q.v.). 1124Emacs feature is bookmarks (q.v.).
1125 1125
1126@anchor{Glossary---Regular Expression} 1126@anchor{Glossary---Regular Expression}
1127@item Regular Expression 1127@item Regular Expression
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 69842500e92..0489325184e 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -72,7 +72,7 @@ inputs, but they all support @key{F1}.)
72* Language Help:: Help relating to international language support. 72* Language Help:: Help relating to international language support.
73* Misc Help:: Other help commands. 73* Misc Help:: Other help commands.
74* Help Files:: Commands to display auxiliary help files. 74* Help Files:: Commands to display auxiliary help files.
75* Help Echo:: Help on active text and tooltips (``balloon help''). 75* Help Echo:: Help on active text and tooltips.
76@end menu 76@end menu
77 77
78@iftex 78@iftex
@@ -614,7 +614,7 @@ Project (@code{describe-gnu-project}).
614Display information about ordering printed copies of Emacs manuals 614Display information about ordering printed copies of Emacs manuals
615(@code{view-order-manuals}). 615(@code{view-order-manuals}).
616@item C-h C-n 616@item C-h C-n
617Display the ``news'' file, which lists the new features in this 617Display the news, which lists the new features in this
618version of Emacs (@code{view-emacs-news}). 618version of Emacs (@code{view-emacs-news}).
619@item C-h C-o 619@item C-h C-o
620Display how to order or download the latest version of 620Display how to order or download the latest version of
@@ -634,7 +634,7 @@ Emacs (@code{describe-no-warranty}).
634 634
635@cindex tooltips 635@cindex tooltips
636@cindex balloon help 636@cindex balloon help
637 In Emacs, stretches of ``active text'' (text that does something 637 In Emacs, stretches of active text (text that does something
638special in response to mouse clicks or @key{RET}) often have 638special in response to mouse clicks or @key{RET}) often have
639associated help text. This includes hyperlinks in Emacs buffers, as 639associated help text. This includes hyperlinks in Emacs buffers, as
640well as parts of the mode line. On graphical displays, as well as 640well as parts of the mode line. On graphical displays, as well as
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi
index b45839e664f..76dfa55211d 100644
--- a/doc/emacs/indent.texi
+++ b/doc/emacs/indent.texi
@@ -35,7 +35,7 @@ mode and related major modes, @key{TAB} normally inserts some
35combination of space and tab characters to advance point to the next 35combination of space and tab characters to advance point to the next
36tab stop (@pxref{Tab Stops}). For this purpose, the position of the 36tab stop (@pxref{Tab Stops}). For this purpose, the position of the
37first non-whitespace character on the preceding line is treated as an 37first non-whitespace character on the preceding line is treated as an
38additional tab stop, so you can use @key{TAB} to ``align'' point with 38additional tab stop, so you can use @key{TAB} to align point with
39the preceding line. If the region is active (@pxref{Using Region}), 39the preceding line. If the region is active (@pxref{Using Region}),
40@key{TAB} acts specially: it indents each line in the region so that 40@key{TAB} acts specially: it indents each line in the region so that
41its first non-whitespace character is aligned with the preceding line. 41its first non-whitespace character is aligned with the preceding line.
@@ -98,7 +98,7 @@ argument, in which case do nothing.
98@kindex M-^ 98@kindex M-^
99@findex delete-indentation 99@findex delete-indentation
100Merge the previous and the current line (@code{delete-indentation}). 100Merge the previous and the current line (@code{delete-indentation}).
101This ``joins'' the two lines cleanly, by replacing any indentation at 101This joins the two lines cleanly, by replacing any indentation at
102the front of the current line, together with the line boundary, with a 102the front of the current line, together with the line boundary, with a
103single space. 103single space.
104 104
@@ -123,7 +123,7 @@ that column number.
123@findex indent-rigidly 123@findex indent-rigidly
124@cindex remove indentation 124@cindex remove indentation
125This command is used to change the indentation of all lines that begin 125This command is used to change the indentation of all lines that begin
126in the region, moving the affected lines as a ``rigid'' unit. 126in the region, moving the affected lines as a rigid unit.
127 127
128If called with no argument, the command activates a transient mode for 128If called with no argument, the command activates a transient mode for
129adjusting the indentation of the affected lines interactively. While 129adjusting the indentation of the affected lines interactively. While
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 7581f34ead0..d629349b983 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -306,7 +306,7 @@ e.g., @kbd{C-u 4 C-y} reinserts the fourth most recent kill.
306 On graphical displays, @kbd{C-y} first checks if another application 306 On graphical displays, @kbd{C-y} first checks if another application
307has placed any text in the system clipboard more recently than the 307has placed any text in the system clipboard more recently than the
308last Emacs kill. If so, it inserts the clipboard's text instead. 308last Emacs kill. If so, it inserts the clipboard's text instead.
309Thus, Emacs effectively treats ``cut'' or ``copy'' clipboard 309Thus, Emacs effectively treats cut or copy clipboard
310operations performed in other applications like Emacs kills, except 310operations performed in other applications like Emacs kills, except
311that they are not recorded in the kill ring. @xref{Cut and Paste}, 311that they are not recorded in the kill ring. @xref{Cut and Paste},
312for details. 312for details.
@@ -358,34 +358,34 @@ So, to recover the text of the next-to-the-last kill, first use
358with the previous kill. @kbd{M-y} is allowed only after a @kbd{C-y} 358with the previous kill. @kbd{M-y} is allowed only after a @kbd{C-y}
359or another @kbd{M-y}. 359or another @kbd{M-y}.
360 360
361 You can understand @kbd{M-y} in terms of a ``last yank'' pointer which 361 You can understand @kbd{M-y} in terms of a last-yank pointer which
362points at an entry in the kill ring. Each time you kill, the ``last 362points at an entry in the kill ring. Each time you kill, the last-yank
363yank'' pointer moves to the newly made entry at the front of the ring. 363pointer moves to the newly made entry at the front of the ring.
364@kbd{C-y} yanks the entry which the ``last yank'' pointer points to. 364@kbd{C-y} yanks the entry which the last-yank pointer points to.
365@kbd{M-y} moves the ``last yank'' pointer to a different entry, and the 365@kbd{M-y} moves the last-yank pointer to a different entry, and the
366text in the buffer changes to match. Enough @kbd{M-y} commands can move 366text in the buffer changes to match. Enough @kbd{M-y} commands can move
367the pointer to any entry in the ring, so you can get any entry into the 367the pointer to any entry in the ring, so you can get any entry into the
368buffer. Eventually the pointer reaches the end of the ring; the next 368buffer. Eventually the pointer reaches the end of the ring; the next
369@kbd{M-y} loops back around to the first entry again. 369@kbd{M-y} loops back around to the first entry again.
370 370
371 @kbd{M-y} moves the ``last yank'' pointer around the ring, but it does 371 @kbd{M-y} moves the last-yank pointer around the ring, but it does
372not change the order of the entries in the ring, which always runs from 372not change the order of the entries in the ring, which always runs from
373the most recent kill at the front to the oldest one still remembered. 373the most recent kill at the front to the oldest one still remembered.
374 374
375 @kbd{M-y} can take a numeric argument, which tells it how many entries 375 @kbd{M-y} can take a numeric argument, which tells it how many entries
376to advance the ``last yank'' pointer by. A negative argument moves the 376to advance the last-yank pointer by. A negative argument moves the
377pointer toward the front of the ring; from the front of the ring, it 377pointer toward the front of the ring; from the front of the ring, it
378moves ``around'' to the last entry and continues forward from there. 378moves around to the last entry and continues forward from there.
379 379
380 Once the text you are looking for is brought into the buffer, you can 380 Once the text you are looking for is brought into the buffer, you can
381stop doing @kbd{M-y} commands and it will stay there. It's just a copy 381stop doing @kbd{M-y} commands and it will stay there. It's just a copy
382of the kill ring entry, so editing it in the buffer does not change 382of the kill ring entry, so editing it in the buffer does not change
383what's in the ring. As long as no new killing is done, the ``last 383what's in the ring. As long as no new killing is done, the last-yank
384yank'' pointer remains at the same place in the kill ring, so repeating 384pointer remains at the same place in the kill ring, so repeating
385@kbd{C-y} will yank another copy of the same previous kill. 385@kbd{C-y} will yank another copy of the same previous kill.
386 386
387 When you call @kbd{C-y} with a numeric argument, that also sets the 387 When you call @kbd{C-y} with a numeric argument, that also sets the
388``last yank'' pointer to the entry that it yanks. 388last-yank pointer to the entry that it yanks.
389 389
390@node Appending Kills 390@node Appending Kills
391@subsection Appending Kills 391@subsection Appending Kills
@@ -445,7 +445,7 @@ be yanked back in one place.
445append to the text that @kbd{M-w} copied into the kill ring. 445append to the text that @kbd{M-w} copied into the kill ring.
446 446
447@node Cut and Paste 447@node Cut and Paste
448@section ``Cut and Paste'' Operations on Graphical Displays 448@section Cut and Paste Operations on Graphical Displays
449@cindex cut 449@cindex cut
450@cindex copy 450@cindex copy
451@cindex paste 451@cindex paste
@@ -476,7 +476,7 @@ different data type by customizing @code{x-select-request-type}.
476@cindex clipboard 476@cindex clipboard
477 477
478 The @dfn{clipboard} is the facility that most graphical applications 478 The @dfn{clipboard} is the facility that most graphical applications
479use for ``cutting and pasting''. When the clipboard exists, the kill 479use for cutting and pasting. When the clipboard exists, the kill
480and yank commands in Emacs make use of it. 480and yank commands in Emacs make use of it.
481 481
482 When you kill some text with a command such as @kbd{C-w} 482 When you kill some text with a command such as @kbd{C-w}
@@ -493,7 +493,7 @@ losing the old clipboard data---at the risk of high memory consumption
493if that data turns out to be large. 493if that data turns out to be large.
494 494
495 Yank commands, such as @kbd{C-y} (@code{yank}), also use the 495 Yank commands, such as @kbd{C-y} (@code{yank}), also use the
496clipboard. If another application ``owns'' the clipboard---i.e., if 496clipboard. If another application owns the clipboard---i.e., if
497you cut or copied text there more recently than your last kill command 497you cut or copied text there more recently than your last kill command
498in Emacs---then Emacs yanks from the clipboard instead of the kill 498in Emacs---then Emacs yanks from the clipboard instead of the kill
499ring. 499ring.
@@ -512,7 +512,7 @@ change the variable @code{x-select-enable-clipboard} to @code{nil}.
512@vindex x-select-enable-clipboard-manager 512@vindex x-select-enable-clipboard-manager
513 Many X desktop environments support a feature called the 513 Many X desktop environments support a feature called the
514@dfn{clipboard manager}. If you exit Emacs while it is the current 514@dfn{clipboard manager}. If you exit Emacs while it is the current
515``owner'' of the clipboard data, and there is a clipboard manager 515owner of the clipboard data, and there is a clipboard manager
516running, Emacs transfers the clipboard data to the clipboard manager 516running, Emacs transfers the clipboard data to the clipboard manager
517so that it is not lost. In some circumstances, this may cause a delay 517so that it is not lost. In some circumstances, this may cause a delay
518when exiting Emacs; if you wish to prevent Emacs from transferring 518when exiting Emacs; if you wish to prevent Emacs from transferring
@@ -546,9 +546,9 @@ containing the last stretch of text selected in an X application
546(usually by dragging the mouse). Typically, this text can be inserted 546(usually by dragging the mouse). Typically, this text can be inserted
547into other X applications by @kbd{mouse-2} clicks. The primary 547into other X applications by @kbd{mouse-2} clicks. The primary
548selection is separate from the clipboard. Its contents are more 548selection is separate from the clipboard. Its contents are more
549``fragile''; they are overwritten each time you select text with the 549fragile; they are overwritten each time you select text with the
550mouse, whereas the clipboard is only overwritten by explicit ``cut'' 550mouse, whereas the clipboard is only overwritten by explicit cut
551or ``copy'' commands. 551or copy commands.
552 552
553 Under X, whenever the region is active (@pxref{Mark}), the text in 553 Under X, whenever the region is active (@pxref{Mark}), the text in
554the region is saved in the primary selection. This applies regardless 554the region is saved in the primary selection. This applies regardless
@@ -727,9 +727,9 @@ rectangle, depending on the command that uses them.
727@table @kbd 727@table @kbd
728@item C-x r k 728@item C-x r k
729Kill the text of the region-rectangle, saving its contents as the 729Kill the text of the region-rectangle, saving its contents as the
730``last killed rectangle'' (@code{kill-rectangle}). 730last killed rectangle (@code{kill-rectangle}).
731@item C-x r M-w 731@item C-x r M-w
732Save the text of the region-rectangle as the ``last killed rectangle'' 732Save the text of the region-rectangle as the last killed rectangle
733(@code{copy-rectangle-as-kill}). 733(@code{copy-rectangle-as-kill}).
734@item C-x r d 734@item C-x r d
735Delete the text of the region-rectangle (@code{delete-rectangle}). 735Delete the text of the region-rectangle (@code{delete-rectangle}).
@@ -776,7 +776,7 @@ region-rectangle is like erasing the specified text on each line of
776the rectangle; if there is any following text on the line, it moves 776the rectangle; if there is any following text on the line, it moves
777backwards to fill the gap. 777backwards to fill the gap.
778 778
779 ``Killing'' a rectangle is not killing in the usual sense; the 779 Killing a rectangle is not killing in the usual sense; the
780rectangle is not stored in the kill ring, but in a special place that 780rectangle is not stored in the kill ring, but in a special place that
781only records the most recent rectangle killed. This is because 781only records the most recent rectangle killed. This is because
782yanking a rectangle is so different from yanking linear text that 782yanking a rectangle is so different from yanking linear text that
@@ -786,8 +786,8 @@ for rectangles.
786@kindex C-x r M-w 786@kindex C-x r M-w
787@findex copy-rectangle-as-kill 787@findex copy-rectangle-as-kill
788 @kbd{C-x r M-w} (@code{copy-rectangle-as-kill}) is the equivalent of 788 @kbd{C-x r M-w} (@code{copy-rectangle-as-kill}) is the equivalent of
789@kbd{M-w} for rectangles: it records the rectangle as the ``last 789@kbd{M-w} for rectangles: it records the rectangle as the last
790killed rectangle'', without deleting the text from the buffer. 790killed rectangle, without deleting the text from the buffer.
791 791
792@kindex C-x r y 792@kindex C-x r y
793@findex yank-rectangle 793@findex yank-rectangle
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi
index 039358b6a97..2cbcc8b3d54 100644
--- a/doc/emacs/kmacro.texi
+++ b/doc/emacs/kmacro.texi
@@ -194,9 +194,9 @@ C-x C-k C-p C-p C-k C-k C-k C-n C-n C-k C-p C-k C-d
194@end example 194@end example
195 195
196@noindent 196@noindent
197will rotate the keyboard macro ring to the ``second previous'' macro, 197will rotate the keyboard macro ring to the second-previous macro,
198execute the resulting head macro three times, rotate back to the 198execute the resulting head macro three times, rotate back to the
199original head macro, execute that once, rotate to the ``previous'' 199original head macro, execute that once, rotate to the previous
200macro, execute that, and finally delete it from the macro ring. 200macro, execute that, and finally delete it from the macro ring.
201 201
202@findex kmacro-end-or-call-macro-repeat 202@findex kmacro-end-or-call-macro-repeat
@@ -224,8 +224,8 @@ immediately by repeating just @kbd{C-n} and @kbd{C-p} until the
224desired macro is at the head of the ring. To execute the new macro 224desired macro is at the head of the ring. To execute the new macro
225ring head immediately, just type @kbd{C-k}. 225ring head immediately, just type @kbd{C-k}.
226 226
227 Note that Emacs treats the head of the macro ring as the ``last 227 Note that Emacs treats the head of the macro ring as the last
228defined keyboard macro''. For instance, @key{F4} will execute that 228defined keyboard macro. For instance, @key{F4} will execute that
229macro, and @kbd{C-x C-k n} will give it a name. 229macro, and @kbd{C-x C-k n} will give it a name.
230 230
231@vindex kmacro-ring-max 231@vindex kmacro-ring-max
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 97d423e1e4b..c04682586ce 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -66,7 +66,7 @@ file names.
66 On GNUstep, in an X-windows environment you need to use @kbd{Cmd-c} 66 On GNUstep, in an X-windows environment you need to use @kbd{Cmd-c}
67instead of one of the @kbd{C-w} or @kbd{M-w} commands to transfer text 67instead of one of the @kbd{C-w} or @kbd{M-w} commands to transfer text
68to the X primary selection; otherwise, Emacs will use the 68to the X primary selection; otherwise, Emacs will use the
69``clipboard'' selection. Likewise, @kbd{Cmd-y} (instead of @kbd{C-y}) 69clipboard selection. Likewise, @kbd{Cmd-y} (instead of @kbd{C-y})
70yanks from the X primary selection instead of the kill-ring or 70yanks from the X primary selection instead of the kill-ring or
71clipboard. 71clipboard.
72 72
@@ -131,9 +131,9 @@ at the command-line before starting Emacs:
131@section Windowing System Events under Mac OS / GNUstep 131@section Windowing System Events under Mac OS / GNUstep
132 132
133 Nextstep applications receive a number of special events which have 133 Nextstep applications receive a number of special events which have
134no X equivalent. These are sent as specially defined ``keys'', which 134no X equivalent. These are sent as specially defined key events, which
135do not correspond to any sequence of keystrokes. Under Emacs, these 135do not correspond to any sequence of keystrokes. Under Emacs, these
136``key'' events can be bound to functions just like ordinary 136key events can be bound to functions just like ordinary
137keystrokes. Here is a list of these events. 137keystrokes. Here is a list of these events.
138 138
139@table @key 139@table @key
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 8ec1cd223c3..b1c5297e7db 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -8,7 +8,7 @@
8 This chapter describes Emacs features for maintaining large 8 This chapter describes Emacs features for maintaining large
9programs. If you are maintaining a large Lisp program, then in 9programs. If you are maintaining a large Lisp program, then in
10addition to the features described here, you may find 10addition to the features described here, you may find
11the @file{ERT} (``Emacs Lisp Regression Testing'') library useful 11the Emacs Lisp Regression Testing (ERT) library useful
12(@pxref{Top,,ERT,ert, Emacs Lisp Regression Testing}). 12(@pxref{Top,,ERT,ert, Emacs Lisp Regression Testing}).
13 13
14@menu 14@menu
@@ -395,7 +395,7 @@ instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}.
395to the master repository. 395to the master repository.
396 396
397 On a graphical display, you can move the mouse over this mode line 397 On a graphical display, you can move the mouse over this mode line
398indicator to pop up a ``tool-tip'', which displays a more verbose 398indicator to pop up a tool-tip, which displays a more verbose
399description of the version control status. Pressing @kbd{Mouse-1} 399description of the version control status. Pressing @kbd{Mouse-1}
400over the indicator pops up a menu of VC commands, identical to 400over the indicator pops up a menu of VC commands, identical to
401@samp{Tools / Version Control} on the menu bar. 401@samp{Tools / Version Control} on the menu bar.
@@ -441,14 +441,14 @@ VC fileset.
441@findex vc-next-action 441@findex vc-next-action
442@kindex C-x v v 442@kindex C-x v v
443 The principal VC command is a multi-purpose command, @kbd{C-x v v} 443 The principal VC command is a multi-purpose command, @kbd{C-x v v}
444(@code{vc-next-action}), which performs the ``most appropriate'' 444(@code{vc-next-action}), which performs the most appropriate
445action on the current VC fileset: either registering it with a version 445action on the current VC fileset: either registering it with a version
446control system, or committing it, or unlocking it, or merging changes 446control system, or committing it, or unlocking it, or merging changes
447into it. The precise actions are described in detail in the following 447into it. The precise actions are described in detail in the following
448subsections. You can use @kbd{C-x v v} either in a file-visiting 448subsections. You can use @kbd{C-x v v} either in a file-visiting
449buffer or in a VC Directory buffer. 449buffer or in a VC Directory buffer.
450 450
451 Note that VC filesets are distinct from the ``named filesets'' used 451 Note that VC filesets are distinct from the named filesets used
452for viewing and visiting files in functional groups 452for viewing and visiting files in functional groups
453(@pxref{Filesets}). Unlike named filesets, VC filesets are not named 453(@pxref{Filesets}). Unlike named filesets, VC filesets are not named
454and don't persist across sessions. 454and don't persist across sessions.
@@ -469,8 +469,8 @@ and don't persist across sessions.
469@item 469@item
470If there is more than one file in the VC fileset and the files have 470If there is more than one file in the VC fileset and the files have
471inconsistent version control statuses, signal an error. (Note, 471inconsistent version control statuses, signal an error. (Note,
472however, that a fileset is allowed to include both ``newly-added'' 472however, that a fileset is allowed to include both newly-added
473files and ``modified'' files; @pxref{Registering}.) 473files and modified files; @pxref{Registering}.)
474 474
475@item 475@item
476If none of the files in the VC fileset are registered with a version 476If none of the files in the VC fileset are registered with a version
@@ -502,7 +502,7 @@ if each work file in the VC fileset is up-to-date. If any file has
502been changed in the repository, offer to update it. 502been changed in the repository, offer to update it.
503@end itemize 503@end itemize
504 504
505 These rules also apply when you use RCS in its ``non-locking'' mode, 505 These rules also apply when you use RCS in its non-locking mode,
506except that changes are not automatically merged from the repository. 506except that changes are not automatically merged from the repository.
507Nothing informs you if another user has committed changes in the same 507Nothing informs you if another user has committed changes in the same
508file since you began editing it; when you commit your revision, his 508file since you began editing it; when you commit your revision, his
@@ -547,7 +547,7 @@ the lock and make the file read-only again.
547 547
548@item 548@item
549If each file is locked by another user, ask whether you want to 549If each file is locked by another user, ask whether you want to
550``steal the lock''. If you say yes, the file becomes locked by you, 550steal the lock. If you say yes, the file becomes locked by you,
551and a warning message is sent to the user who had formerly locked the 551and a warning message is sent to the user who had formerly locked the
552file. 552file.
553@end itemize 553@end itemize
@@ -582,11 +582,11 @@ If the fileset is unmodified (and unlocked), this checks the specified
582revision into the working tree. You can also specify a revision on 582revision into the working tree. You can also specify a revision on
583another branch by giving its revision or branch ID (@pxref{Switching 583another branch by giving its revision or branch ID (@pxref{Switching
584Branches}). An empty argument (i.e., @kbd{C-u C-x v v @key{RET}}) 584Branches}). An empty argument (i.e., @kbd{C-u C-x v v @key{RET}})
585checks out the latest (``head'') revision on the current branch. 585checks out the latest (head) revision on the current branch.
586 586
587This signals an error on a decentralized version control system. 587This signals an error on a decentralized version control system.
588Those systems do not let you specify your own revision IDs, nor do 588Those systems do not let you specify your own revision IDs, nor do
589they use the concept of ``checking out'' individual files. 589they use the concept of checking out individual files.
590@end itemize 590@end itemize
591 591
592@node Log Buffer 592@node Log Buffer
@@ -634,7 +634,7 @@ support it, the header is treated as part of the log entry.
634@findex log-edit-show-files 634@findex log-edit-show-files
635@kindex C-c C-d @r{(Log Edit mode)} 635@kindex C-c C-d @r{(Log Edit mode)}
636@findex log-edit-show-diff 636@findex log-edit-show-diff
637 While in the @file{*vc-log*} buffer, the ``current VC fileset'' is 637 While in the @file{*vc-log*} buffer, the current VC fileset is
638considered to be the fileset that will be committed if you type 638considered to be the fileset that will be committed if you type
639@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset, 639@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset,
640type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}). To view a diff 640type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}). To view a diff
@@ -710,7 +710,7 @@ under, it prompts for a repository type, creates a new repository, and
710registers the file into that repository. 710registers the file into that repository.
711 711
712 On most version control systems, registering a file with @kbd{C-x v 712 On most version control systems, registering a file with @kbd{C-x v
713i} or @kbd{C-x v v} adds it to the ``working tree'' but not to the 713i} or @kbd{C-x v v} adds it to the working tree but not to the
714repository. Such files are labeled as @samp{added} in the VC 714repository. Such files are labeled as @samp{added} in the VC
715Directory buffer, and show a revision ID of @samp{@@@@} in the mode 715Directory buffer, and show a revision ID of @samp{@@@@} in the mode
716line. To make the registration take effect in the repository, you 716line. To make the registration take effect in the repository, you
@@ -824,8 +824,8 @@ window.
824@kindex C-x v g 824@kindex C-x v g
825 Many version control systems allow you to view files @dfn{annotated} 825 Many version control systems allow you to view files @dfn{annotated}
826with per-line revision information, by typing @kbd{C-x v g} 826with per-line revision information, by typing @kbd{C-x v g}
827(@code{vc-annotate}). This creates a new buffer (the ``annotate 827(@code{vc-annotate}). This creates a new annotate buffer
828buffer'') displaying the file's text, with each line colored to show 828displaying the file's text, with each line colored to show
829how old it is. Red text is new, blue is old, and intermediate colors 829how old it is. Red text is new, blue is old, and intermediate colors
830indicate intermediate ages. By default, the color is scaled over the 830indicate intermediate ages. By default, the color is scaled over the
831full range of ages, such that the oldest changes are blue, and the 831full range of ages, such that the oldest changes are blue, and the
@@ -941,13 +941,13 @@ revision at point. A second @key{RET} hides it again.
941 On a decentralized version control system, the @kbd{C-x v I} 941 On a decentralized version control system, the @kbd{C-x v I}
942(@code{vc-log-incoming}) command displays a log buffer showing the 942(@code{vc-log-incoming}) command displays a log buffer showing the
943changes that will be applied, the next time you run the version 943changes that will be applied, the next time you run the version
944control system's ``pull'' command to get new revisions from another 944control system's pull command to get new revisions from another
945repository (@pxref{Pulling / Pushing}). This other repository is the default 945repository (@pxref{Pulling / Pushing}). This other repository is the default
946one from which changes are pulled, as defined by the version control 946one from which changes are pulled, as defined by the version control
947system; with a prefix argument, @code{vc-log-incoming} prompts for a 947system; with a prefix argument, @code{vc-log-incoming} prompts for a
948specific repository. Similarly, @kbd{C-x v O} 948specific repository. Similarly, @kbd{C-x v O}
949(@code{vc-log-outgoing}) shows the changes that will be sent to 949(@code{vc-log-outgoing}) shows the changes that will be sent to
950another repository, the next time you run the ``push'' command; with a 950another repository, the next time you run the push command; with a
951prefix argument, it prompts for a specific destination repository. 951prefix argument, it prompts for a specific destination repository.
952 952
953 In the @file{*vc-change-log*} buffer, you can use the following keys 953 In the @file{*vc-change-log*} buffer, you can use the following keys
@@ -1104,7 +1104,7 @@ PCL-CVS, pcl-cvs, PCL-CVS---The Emacs Front-End to CVS}.
1104 The VC Directory buffer contains a list of version-controlled files 1104 The VC Directory buffer contains a list of version-controlled files
1105and their version control statuses. It lists files in the current 1105and their version control statuses. It lists files in the current
1106directory (the one specified when you called @kbd{C-x v d}) and its 1106directory (the one specified when you called @kbd{C-x v d}) and its
1107subdirectories, but only those with a ``noteworthy'' status. Files 1107subdirectories, but only those with a noteworthy status. Files
1108that are up-to-date (i.e., the same as in the repository) are 1108that are up-to-date (i.e., the same as in the repository) are
1109omitted. If all the files in a subdirectory are up-to-date, the 1109omitted. If all the files in a subdirectory are up-to-date, the
1110subdirectory is not listed either. As an exception, if a file has 1110subdirectory is not listed either. As an exception, if a file has
@@ -1169,7 +1169,7 @@ directories that are used internally by version control systems.
1169@subsubsection VC Directory Commands 1169@subsubsection VC Directory Commands
1170 1170
1171 Emacs provides several commands for navigating the VC Directory 1171 Emacs provides several commands for navigating the VC Directory
1172buffer, and for ``marking'' files as belonging to the current VC 1172buffer, and for marking files as belonging to the current VC
1173fileset. 1173fileset.
1174 1174
1175@table @kbd 1175@table @kbd
@@ -1291,8 +1291,8 @@ bring them back at a later time).
1291 1291
1292 One use of version control is to support multiple independent lines 1292 One use of version control is to support multiple independent lines
1293of development, which are called @dfn{branches}. Amongst other 1293of development, which are called @dfn{branches}. Amongst other
1294things, branches can be used for maintaining separate ``stable'' and 1294things, branches can be used for maintaining separate stable and
1295``development'' versions of a program, and for developing unrelated 1295development versions of a program, and for developing unrelated
1296features in isolation from one another. 1296features in isolation from one another.
1297 1297
1298 VC's support for branch operations is currently fairly limited. For 1298 VC's support for branch operations is currently fairly limited. For
@@ -1355,13 +1355,13 @@ commit will be committed to that specific branch.
1355@table @kbd 1355@table @kbd
1356@item C-x v + 1356@item C-x v +
1357On a decentralized version control system, update the current branch 1357On a decentralized version control system, update the current branch
1358by ``pulling in'' changes from another location. 1358by pulling in changes from another location.
1359 1359
1360On a centralized version control system, update the current VC 1360On a centralized version control system, update the current VC
1361fileset. 1361fileset.
1362 1362
1363@item C-x v P 1363@item C-x v P
1364On a decentralized version control system, ``push'' changes from the 1364On a decentralized version control system, push changes from the
1365current branch to another location. This concept does not exist 1365current branch to another location. This concept does not exist
1366for centralized version control systems. 1366for centralized version control systems.
1367@end table 1367@end table
@@ -2407,11 +2407,11 @@ information about the project.
2407 2407
2408 A project may contain one or more @dfn{targets}. A target can be an 2408 A project may contain one or more @dfn{targets}. A target can be an
2409object file, executable program, or some other type of file, which is 2409object file, executable program, or some other type of file, which is
2410``built'' from one or more of the files in the project. 2410built from one or more of the files in the project.
2411 2411
2412 To add a new @dfn{target} to a project, type @kbd{C-c . t} 2412 To add a new @dfn{target} to a project, type @kbd{C-c . t}
2413(@code{M-x ede-new-target}). This command also asks if you wish to 2413(@code{M-x ede-new-target}). This command also asks if you wish to
2414``add'' the current file to that target, which means that the target 2414add the current file to that target, which means that the target
2415is to be built from that file. After you have defined a target, you 2415is to be built from that file. After you have defined a target, you
2416can add more files to it by typing @kbd{C-c . a} 2416can add more files to it by typing @kbd{C-c . a}
2417(@code{ede-add-file}). 2417(@code{ede-add-file}).
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index c975f6ebe6b..09c766be504 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -43,7 +43,7 @@ Ordinarily, only the selected window highlights its region; however,
43if the variable @code{highlight-nonselected-windows} is 43if the variable @code{highlight-nonselected-windows} is
44non-@code{nil}, each window highlights its own region. 44non-@code{nil}, each window highlights its own region.
45 45
46 There is another kind of region: the ``rectangular region''. 46 There is another kind of region: the rectangular region.
47@xref{Rectangles}. 47@xref{Rectangles}.
48 48
49@menu 49@menu
@@ -105,7 +105,7 @@ region also automatically deactivate the mark, like @kbd{C-x C-u} in
105the above example. 105the above example.
106 106
107 Instead of setting the mark in order to operate on a region, you can 107 Instead of setting the mark in order to operate on a region, you can
108also use it to ``remember'' a position in the buffer (by typing 108also use it to remember a position in the buffer (by typing
109@kbd{C-@key{SPC} C-@key{SPC}}), and later jump back there (by typing 109@kbd{C-@key{SPC} C-@key{SPC}}), and later jump back there (by typing
110@kbd{C-u C-@key{SPC}}). @xref{Mark Ring}, for details. 110@kbd{C-u C-@key{SPC}}). @xref{Mark Ring}, for details.
111 111
@@ -275,7 +275,7 @@ active. If you change the value to @code{kill}, these commands
275behavior. Such commands usually have the word @code{region} in their 275behavior. Such commands usually have the word @code{region} in their
276names, like @kbd{C-w} (@code{kill-region}) and @code{C-x C-u} 276names, like @kbd{C-w} (@code{kill-region}) and @code{C-x C-u}
277(@code{upcase-region}). If the mark is inactive, they operate on the 277(@code{upcase-region}). If the mark is inactive, they operate on the
278``inactive region''---that is, on the text between point and the 278@dfn{inactive region}---that is, on the text between point and the
279position at which the mark was last set (@pxref{Mark Ring}). To 279position at which the mark was last set (@pxref{Mark Ring}). To
280disable this behavior, change the variable 280disable this behavior, change the variable
281@code{mark-even-if-inactive} to @code{nil}. Then these commands will 281@code{mark-even-if-inactive} to @code{nil}. Then these commands will
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index f0bedf8854d..7357372f994 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -108,8 +108,8 @@ Find file: /u2/emacs/src//etc/termcap
108@cindex double slash in file name 108@cindex double slash in file name
109@cindex slashes repeated in file name 109@cindex slashes repeated in file name
110@findex file-name-shadow-mode 110@findex file-name-shadow-mode
111Emacs interprets a double slash as ``ignore everything before the 111A double slash causes Emacs to ignore everything before the
112second slash in the pair''. In the example above, 112second slash in the pair. In the example above,
113@file{/u2/emacs/src/} is ignored, so the argument you supplied is 113@file{/u2/emacs/src/} is ignored, so the argument you supplied is
114@file{/etc/termcap}. The ignored part of the file name is dimmed if 114@file{/etc/termcap}. The ignored part of the file name is dimmed if
115the terminal allows it. (To disable this dimming, turn off File Name 115the terminal allows it. (To disable this dimming, turn off File Name
@@ -435,10 +435,10 @@ This behavior is used by most commands that read file names, like
435@cindex completion style 435@cindex completion style
436 436
437 Completion commands work by narrowing a large list of possible 437 Completion commands work by narrowing a large list of possible
438completion alternatives to a smaller subset that ``matches'' what you 438completion alternatives to a smaller subset that matches what you
439have typed in the minibuffer. In @ref{Completion Example}, we gave a 439have typed in the minibuffer. In @ref{Completion Example}, we gave a
440simple example of such matching. The procedure of determining what 440simple example of such matching. The procedure of determining what
441constitutes a ``match'' is quite intricate. Emacs attempts to offer 441constitutes a match is quite intricate. Emacs attempts to offer
442plausible completions under most circumstances. 442plausible completions under most circumstances.
443 443
444 Emacs performs completion using one or more @dfn{completion 444 Emacs performs completion using one or more @dfn{completion
@@ -545,7 +545,7 @@ ignored as a completion alternative. Any element ending in a slash
545@code{".o"}, @code{".elc"}, and @code{"~"}. For example, if a 545@code{".o"}, @code{".elc"}, and @code{"~"}. For example, if a
546directory contains @samp{foo.c} and @samp{foo.elc}, @samp{foo} 546directory contains @samp{foo.c} and @samp{foo.elc}, @samp{foo}
547completes to @samp{foo.c}. However, if @emph{all} possible 547completes to @samp{foo.c}. However, if @emph{all} possible
548completions end in ``ignored'' strings, they are not ignored: in the 548completions end in otherwise-ignored strings, they are not ignored: in the
549previous example, @samp{foo.e} completes to @samp{foo.elc}. Emacs 549previous example, @samp{foo.e} completes to @samp{foo.elc}. Emacs
550disregards @code{completion-ignored-extensions} when showing 550disregards @code{completion-ignored-extensions} when showing
551completion alternatives in the completion list. 551completion alternatives in the completion list.
@@ -564,7 +564,7 @@ completion list buffer.
564 564
565@vindex completion-cycle-threshold 565@vindex completion-cycle-threshold
566 If @code{completion-cycle-threshold} is non-@code{nil}, completion 566 If @code{completion-cycle-threshold} is non-@code{nil}, completion
567commands can ``cycle'' through completion alternatives. Normally, if 567commands can cycle through completion alternatives. Normally, if
568there is more than one completion alternative for the text in the 568there is more than one completion alternative for the text in the
569minibuffer, a completion command completes up to the longest common 569minibuffer, a completion command completes up to the longest common
570substring. If you change @code{completion-cycle-threshold} to 570substring. If you change @code{completion-cycle-threshold} to
@@ -620,7 +620,7 @@ fetching later entries into the minibuffer.
620entries in the minibuffer history (e.g., if you haven't previously 620entries in the minibuffer history (e.g., if you haven't previously
621typed @kbd{M-p}), Emacs tries fetching from a list of default 621typed @kbd{M-p}), Emacs tries fetching from a list of default
622arguments: values that you are likely to enter. You can think of this 622arguments: values that you are likely to enter. You can think of this
623as moving through the ``future history'' list. 623as moving through the future history.
624 624
625 If you edit the text inserted by the @kbd{M-p} or @kbd{M-n} 625 If you edit the text inserted by the @kbd{M-p} or @kbd{M-n}
626minibuffer history commands, this does not change its entry in the 626minibuffer history commands, this does not change its entry in the
@@ -754,12 +754,12 @@ input is ignored.
754@node Yes or No Prompts 754@node Yes or No Prompts
755@section Yes or No Prompts 755@section Yes or No Prompts
756 756
757 An Emacs command may require you to answer a ``yes or no'' question 757 An Emacs command may require you to answer a yes-or-no question
758during the course of its execution. Such queries come in two main 758during the course of its execution. Such queries come in two main
759varieties. 759varieties.
760 760
761@cindex y or n prompt 761@cindex y or n prompt
762 For the first type of ``yes or no'' query, the prompt ends with 762 For the first type of yes-or-no query, the prompt ends with
763@samp{(y or n)}. Such a query does not actually use the minibuffer; 763@samp{(y or n)}. Such a query does not actually use the minibuffer;
764the prompt appears in the echo area, and you answer by typing either 764the prompt appears in the echo area, and you answer by typing either
765@samp{y} or @samp{n}, which immediately delivers the response. For 765@samp{y} or @samp{n}, which immediately delivers the response. For
@@ -768,7 +768,7 @@ buffer, and enter the name of an existing file, Emacs issues a prompt
768like this: 768like this:
769 769
770@smallexample 770@smallexample
771File `foo.el' exists; overwrite? (y or n) 771File foo.el exists; overwrite? (y or n)
772@end smallexample 772@end smallexample
773 773
774@noindent 774@noindent
@@ -783,7 +783,7 @@ window; and @kbd{C-M-S-v} scrolls backward in the next window. Typing
783(@pxref{Quitting}). 783(@pxref{Quitting}).
784 784
785@cindex yes or no prompt 785@cindex yes or no prompt
786 The second type of ``yes or no'' query is typically employed if 786 The second type of yes-or-no query is typically employed if
787giving the wrong answer would have serious consequences; it uses the 787giving the wrong answer would have serious consequences; it uses the
788minibuffer, and features a prompt ending with @samp{(yes or no)}. For 788minibuffer, and features a prompt ending with @samp{(yes or no)}. For
789example, if you invoke @kbd{C-x k} (@code{kill-buffer}) on a 789example, if you invoke @kbd{C-x k} (@code{kill-buffer}) on a
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index db096c7ebf7..2eee3dd33e1 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -331,7 +331,7 @@ Certificate Authorities which issue new certificates for third-party
331services, you may want to keep track of these changes. 331services, you may want to keep track of these changes.
332 332
333@item Diffie-Hellman low prime bits 333@item Diffie-Hellman low prime bits
334When doing the public key exchange, the number of ``prime bits'' 334When doing the public key exchange, the number of prime bits
335should be high to ensure that the channel can't be eavesdropped on by 335should be high to ensure that the channel can't be eavesdropped on by
336third parties. If this number is too low, you will be warned. 336third parties. If this number is too low, you will be warned.
337 337
@@ -1486,8 +1486,8 @@ this buffer just like it does with a terminal in ordinary Term mode.
1486most common speed is 9600 bits per second. You can change the speed 1486most common speed is 9600 bits per second. You can change the speed
1487interactively by clicking on the mode line. 1487interactively by clicking on the mode line.
1488 1488
1489 A serial port can be configured even more by clicking on ``8N1'' in 1489 A serial port can be configured even more by clicking on @samp{8N1} in
1490the mode line. By default, a serial port is configured as ``8N1'', 1490the mode line. By default, a serial port is configured as @samp{8N1},
1491which means that each byte consists of 8 data bits, No parity check 1491which means that each byte consists of 8 data bits, No parity check
1492bit, and 1 stopbit. 1492bit, and 1 stopbit.
1493 1493
@@ -1515,7 +1515,7 @@ command history, or other kinds of information with any existing Emacs
1515process. 1515process.
1516 1516
1517 You can solve this problem by setting up Emacs as an @dfn{edit 1517 You can solve this problem by setting up Emacs as an @dfn{edit
1518server}, so that it ``listens'' for external edit requests and acts 1518server}, so that it listens for external edit requests and acts
1519accordingly. There are two ways to start an Emacs server: 1519accordingly. There are two ways to start an Emacs server:
1520 1520
1521@itemize 1521@itemize
@@ -1548,7 +1548,7 @@ variable to @samp{emacsclient +%d %s}.}
1548 1548
1549@vindex server-name 1549@vindex server-name
1550 You can run multiple Emacs servers on the same machine by giving 1550 You can run multiple Emacs servers on the same machine by giving
1551each one a unique ``server name'', using the variable 1551each one a unique @dfn{server name}, using the variable
1552@code{server-name}. For example, @kbd{M-x set-variable @key{RET} 1552@code{server-name}. For example, @kbd{M-x set-variable @key{RET}
1553server-name @key{RET} foo @key{RET}} sets the server name to 1553server-name @key{RET} foo @key{RET}} sets the server name to
1554@samp{foo}. The @code{emacsclient} program can specify a server by 1554@samp{foo}. The @code{emacsclient} program can specify a server by
@@ -1605,7 +1605,7 @@ still use Emacs to edit the file.
1605@kbd{C-x #} (@code{server-edit}) in its buffer. This saves the file 1605@kbd{C-x #} (@code{server-edit}) in its buffer. This saves the file
1606and sends a message back to the @command{emacsclient} program, telling 1606and sends a message back to the @command{emacsclient} program, telling
1607it to exit. Programs that use @env{EDITOR} usually wait for the 1607it to exit. Programs that use @env{EDITOR} usually wait for the
1608``editor''---in this case @command{emacsclient}---to exit before doing 1608editor---in this case @command{emacsclient}---to exit before doing
1609something else. 1609something else.
1610 1610
1611 You can also call @command{emacsclient} with multiple file name 1611 You can also call @command{emacsclient} with multiple file name
@@ -1625,7 +1625,7 @@ create it. However, if you set @code{server-kill-new-buffers} to
1625@code{nil}, then a different criterion is used: finishing with a 1625@code{nil}, then a different criterion is used: finishing with a
1626server buffer kills it if the file name matches the regular expression 1626server buffer kills it if the file name matches the regular expression
1627@code{server-temp-file-regexp}. This is set up to distinguish certain 1627@code{server-temp-file-regexp}. This is set up to distinguish certain
1628``temporary'' files. 1628temporary files.
1629 1629
1630 Each @kbd{C-x #} checks for other pending external requests to edit 1630 Each @kbd{C-x #} checks for other pending external requests to edit
1631various files, and selects the next such file. You can switch to a 1631various files, and selects the next such file. You can switch to a
@@ -1716,8 +1716,8 @@ evaluate, @emph{not} as a list of files to visit.
1716@cindex @env{EMACS_SERVER_FILE} environment variable 1716@cindex @env{EMACS_SERVER_FILE} environment variable
1717Specify a @dfn{server file} for connecting to an Emacs server via TCP. 1717Specify a @dfn{server file} for connecting to an Emacs server via TCP.
1718 1718
1719An Emacs server usually uses an operating system feature called a 1719An Emacs server usually uses a
1720``local socket'' to listen for connections. Some operating systems, 1720local socket to listen for connections. Some operating systems,
1721such as Microsoft Windows, do not support local sockets; in that case, 1721such as Microsoft Windows, do not support local sockets; in that case,
1722the server communicates with @command{emacsclient} via TCP. 1722the server communicates with @command{emacsclient} via TCP.
1723 1723
@@ -1808,10 +1808,10 @@ as detailed below, or using the @samp{File} menu on the menu bar.
1808@findex htmlfontify-buffer 1808@findex htmlfontify-buffer
1809 Aside from the commands described in this section, you can also 1809 Aside from the commands described in this section, you can also
1810print hardcopies from Dired (@pxref{Operating on Files}) and the diary 1810print hardcopies from Dired (@pxref{Operating on Files}) and the diary
1811(@pxref{Displaying the Diary}). You can also ``print'' an Emacs 1811(@pxref{Displaying the Diary}). You can also print an Emacs
1812buffer to HTML with the command @kbd{M-x htmlfontify-buffer}, which 1812buffer to HTML with the command @kbd{M-x htmlfontify-buffer}, which
1813converts the current buffer to a HTML file, replacing Emacs faces with 1813converts the current buffer to a HTML file, replacing Emacs faces with
1814CSS-based markup. Furthermore, Org mode allows you to ``print'' Org 1814CSS-based markup. Furthermore, Org mode allows you to print Org
1815files to a variety of formats, such as PDF (@pxref{Org Mode}). 1815files to a variety of formats, such as PDF (@pxref{Org Mode}).
1816 1816
1817@table @kbd 1817@table @kbd
@@ -1984,7 +1984,7 @@ additional paper sizes by changing the variable
1984@vindex ps-landscape-mode 1984@vindex ps-landscape-mode
1985 The variable @code{ps-landscape-mode} specifies the orientation of 1985 The variable @code{ps-landscape-mode} specifies the orientation of
1986printing on the page. The default is @code{nil}, which stands for 1986printing on the page. The default is @code{nil}, which stands for
1987``portrait'' mode. Any non-@code{nil} value specifies ``landscape'' 1987portrait mode. Any non-@code{nil} value specifies landscape
1988mode. 1988mode.
1989 1989
1990@vindex ps-number-of-columns 1990@vindex ps-number-of-columns
@@ -2232,10 +2232,10 @@ Insert a byte with a code typed in octal.
2232Insert a byte with a code typed in hex. 2232Insert a byte with a code typed in hex.
2233 2233
2234@item C-x [ 2234@item C-x [
2235Move to the beginning of a 1k-byte ``page''. 2235Move to the beginning of a 1k-byte page.
2236 2236
2237@item C-x ] 2237@item C-x ]
2238Move to the end of a 1k-byte ``page''. 2238Move to the end of a 1k-byte page.
2239 2239
2240@item M-g 2240@item M-g
2241Move to an address specified in hex. 2241Move to an address specified in hex.
@@ -2316,7 +2316,7 @@ usually turned on.
2316However, this may be slow if there are a lot of buffers in the 2316However, this may be slow if there are a lot of buffers in the
2317desktop. You can specify the maximum number of buffers to restore 2317desktop. You can specify the maximum number of buffers to restore
2318immediately with the variable @code{desktop-restore-eager}; the 2318immediately with the variable @code{desktop-restore-eager}; the
2319remaining buffers are restored ``lazily'', when Emacs is idle. 2319remaining buffers are restored lazily, when Emacs is idle.
2320 2320
2321@findex desktop-clear 2321@findex desktop-clear
2322@vindex desktop-globals-to-clear 2322@vindex desktop-globals-to-clear
@@ -2391,7 +2391,7 @@ stack overflow) from time to time. So remember to exit or abort the
2391recursive edit when you no longer need it. 2391recursive edit when you no longer need it.
2392 2392
2393 In general, we try to minimize the use of recursive editing levels in 2393 In general, we try to minimize the use of recursive editing levels in
2394GNU Emacs. This is because they constrain you to ``go back'' in a 2394GNU Emacs. This is because they constrain you to go back in a
2395particular order---from the innermost level toward the top level. When 2395particular order---from the innermost level toward the top level. When
2396possible, we present different activities in separate buffers so that 2396possible, we present different activities in separate buffers so that
2397you can switch between them as you please. Some commands switch to a 2397you can switch between them as you please. Some commands switch to a
@@ -2401,7 +2401,7 @@ the order you choose.
2401 2401
2402@ignore 2402@ignore
2403@c Apart from edt and viper, this is all obsolete. 2403@c Apart from edt and viper, this is all obsolete.
2404@c (Can't believe we were saying ``most other editors'' into 2014!) 2404@c (Can't believe we were saying "most other editors" into 2014!)
2405@c There seems no point having a node just for those, which both have 2405@c There seems no point having a node just for those, which both have
2406@c their own manuals. 2406@c their own manuals.
2407@node Emulation 2407@node Emulation
@@ -2460,8 +2460,8 @@ Viper, viper}.
2460@findex vi-mode 2460@findex vi-mode
2461@kbd{M-x vi-mode} enters a major mode that replaces the previously 2461@kbd{M-x vi-mode} enters a major mode that replaces the previously
2462established major mode. All of the vi commands that, in real vi, enter 2462established major mode. All of the vi commands that, in real vi, enter
2463``input'' mode are programmed instead to return to the previous major 2463input mode are programmed instead to return to the previous major
2464mode. Thus, ordinary Emacs serves as vi's ``input'' mode. 2464mode. Thus, ordinary Emacs serves as vi's input mode.
2465 2465
2466Because vi emulation works through major modes, it does not work 2466Because vi emulation works through major modes, it does not work
2467to switch buffers during emulation. Return to normal Emacs first. 2467to switch buffers during emulation. Return to normal Emacs first.
@@ -2472,7 +2472,7 @@ to the @code{vi-mode} command.
2472@item vi (alternate emulator) 2472@item vi (alternate emulator)
2473@findex vip-mode 2473@findex vip-mode
2474@kbd{M-x vip-mode} invokes another vi emulator, said to resemble real vi 2474@kbd{M-x vip-mode} invokes another vi emulator, said to resemble real vi
2475more thoroughly than @kbd{M-x vi-mode}. ``Input'' mode in this emulator 2475more thoroughly than @kbd{M-x vi-mode}. Input mode in this emulator
2476is changed from ordinary Emacs so you can use @key{ESC} to go back to 2476is changed from ordinary Emacs so you can use @key{ESC} to go back to
2477emulated vi command mode. To get from emulated vi command mode back to 2477emulated vi command mode. To get from emulated vi command mode back to
2478ordinary Emacs, type @kbd{C-z}. 2478ordinary Emacs, type @kbd{C-z}.
@@ -2704,7 +2704,7 @@ bored, try an argument of 9. Sit back and watch.
2704 2704
2705@findex life 2705@findex life
2706@cindex Life 2706@cindex Life
2707 @kbd{M-x life} runs Conway's ``Life'' cellular automaton. 2707 @kbd{M-x life} runs Conway's Game of Life cellular automaton.
2708 2708
2709@findex landmark 2709@findex landmark
2710@cindex landmark game 2710@cindex landmark game
diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi
index d442f8546fc..3bba577a5f7 100644
--- a/doc/emacs/modes.texi
+++ b/doc/emacs/modes.texi
@@ -251,7 +251,7 @@ In Binary Overwrite mode, digits after @kbd{C-q} specify an octal
251character code, as usual. 251character code, as usual.
252 252
253@item 253@item
254Visual Line mode performs ``word wrapping'', causing long lines to be 254Visual Line mode performs word wrapping, causing long lines to be
255wrapped at word boundaries. @xref{Visual Line Mode}. 255wrapped at word boundaries. @xref{Visual Line Mode}.
256@end itemize 256@end itemize
257 257
@@ -451,6 +451,6 @@ the file's @samp{-*-} line or local variables list (if any).
451a new major mode if the new file name implies a mode (@pxref{Saving}). 451a new major mode if the new file name implies a mode (@pxref{Saving}).
452(@kbd{C-x C-s} does this too, if the buffer wasn't visiting a file.) 452(@kbd{C-x C-s} does this too, if the buffer wasn't visiting a file.)
453However, this does not happen if the buffer contents specify a major 453However, this does not happen if the buffer contents specify a major
454mode, and certain ``special'' major modes do not allow the mode to 454mode, and certain special major modes do not allow the mode to
455change. You can turn off this mode-changing feature by setting 455change. You can turn off this mode-changing feature by setting
456@code{change-major-mode-with-file-name} to @code{nil}. 456@code{change-major-mode-with-file-name} to @code{nil}.
diff --git a/doc/emacs/msdos-xtra.texi b/doc/emacs/msdos-xtra.texi
index 9996158f161..c8e266915f0 100644
--- a/doc/emacs/msdos-xtra.texi
+++ b/doc/emacs/msdos-xtra.texi
@@ -9,7 +9,7 @@
9@cindex MS-DOS peculiarities 9@cindex MS-DOS peculiarities
10 10
11 This section briefly describes the peculiarities of using Emacs on 11 This section briefly describes the peculiarities of using Emacs on
12the MS-DOS ``operating system''. 12MS-DOS.
13@iftex 13@iftex
14Information about Emacs and Microsoft's current operating system 14Information about Emacs and Microsoft's current operating system
15Windows is in the main Emacs manual 15Windows is in the main Emacs manual
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 477f24e56c0..88bbccd5b11 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -172,9 +172,9 @@ system encodes the character safely and with a single byte
172one byte, Emacs shows @samp{file ...}. 172one byte, Emacs shows @samp{file ...}.
173 173
174 As a special case, if the character lies in the range 128 (0200 174 As a special case, if the character lies in the range 128 (0200
175octal) through 159 (0237 octal), it stands for a ``raw'' byte that 175octal) through 159 (0237 octal), it stands for a raw byte that
176does not correspond to any specific displayable character. Such a 176does not correspond to any specific displayable character. Such a
177``character'' lies within the @code{eight-bit-control} character set, 177character lies within the @code{eight-bit-control} character set,
178and is displayed as an escaped octal character code. In this case, 178and is displayed as an escaped octal character code. In this case,
179@kbd{C-x =} shows @samp{part of display ...} instead of @samp{file}. 179@kbd{C-x =} shows @samp{part of display ...} instead of @samp{file}.
180 180
@@ -642,7 +642,7 @@ automatically. For example:
642@end lisp 642@end lisp
643 643
644@noindent 644@noindent
645This automatically activates the input method ``german-prefix'' in 645This automatically activates the input method @code{german-prefix} in
646Text mode. 646Text mode.
647 647
648@findex quail-set-keyboard-layout 648@findex quail-set-keyboard-layout
@@ -696,8 +696,8 @@ system; for example, to visit a file encoded in codepage 850, type
696 In addition to converting various representations of non-@acronym{ASCII} 696 In addition to converting various representations of non-@acronym{ASCII}
697characters, a coding system can perform end-of-line conversion. Emacs 697characters, a coding system can perform end-of-line conversion. Emacs
698handles three different conventions for how to separate lines in a file: 698handles three different conventions for how to separate lines in a file:
699newline (``unix''), carriage-return linefeed (``dos''), and just 699newline (Unix), carriage-return linefeed (DOS), and just
700carriage-return (``mac''). 700carriage-return (Mac).
701 701
702@table @kbd 702@table @kbd
703@item C-h C @var{coding} @key{RET} 703@item C-h C @var{coding} @key{RET}
@@ -1647,7 +1647,7 @@ so far.
1647@cindex 8-bit display 1647@cindex 8-bit display
1648 Normally non-ISO-8859 characters (decimal codes between 128 and 159 1648 Normally non-ISO-8859 characters (decimal codes between 128 and 159
1649inclusive) are displayed as octal escapes. You can change this for 1649inclusive) are displayed as octal escapes. You can change this for
1650non-standard ``extended'' versions of ISO-8859 character sets by using the 1650non-standard extended versions of ISO-8859 character sets by using the
1651function @code{standard-display-8bit} in the @code{disp-table} library. 1651function @code{standard-display-8bit} in the @code{disp-table} library.
1652 1652
1653 There are two ways to input single-byte non-@acronym{ASCII} 1653 There are two ways to input single-byte non-@acronym{ASCII}
@@ -1681,7 +1681,7 @@ characters present directly on the keyboard or using @key{Compose} or
1681@cindex compose character 1681@cindex compose character
1682@cindex dead character 1682@cindex dead character
1683@item 1683@item
1684You can use the key @kbd{C-x 8} as a ``compose character'' prefix for 1684You can use the key @kbd{C-x 8} as a compose-character prefix for
1685entry of non-@acronym{ASCII} Latin-1 and a few other printing 1685entry of non-@acronym{ASCII} Latin-1 and a few other printing
1686characters. @kbd{C-x 8} is good for insertion (in the minibuffer as 1686characters. @kbd{C-x 8} is good for insertion (in the minibuffer as
1687well as other buffers), for searching, and in any other context where 1687well as other buffers), for searching, and in any other context where
@@ -1691,7 +1691,7 @@ a key sequence is allowed.
1691library is loaded, the @key{Alt} modifier key, if the keyboard has 1691library is loaded, the @key{Alt} modifier key, if the keyboard has
1692one, serves the same purpose as @kbd{C-x 8}: use @key{Alt} together 1692one, serves the same purpose as @kbd{C-x 8}: use @key{Alt} together
1693with an accent character to modify the following letter. In addition, 1693with an accent character to modify the following letter. In addition,
1694if the keyboard has keys for the Latin-1 ``dead accent characters'', 1694if the keyboard has keys for the Latin-1 dead accent characters,
1695they too are defined to compose with the following character, once 1695they too are defined to compose with the following character, once
1696@code{iso-transl} is loaded. 1696@code{iso-transl} is loaded.
1697 1697
@@ -1709,13 +1709,13 @@ addition to some charsets of its own (such as @code{emacs},
1709@code{unicode-bmp}, and @code{eight-bit}). All supported characters 1709@code{unicode-bmp}, and @code{eight-bit}). All supported characters
1710belong to one or more charsets. 1710belong to one or more charsets.
1711 1711
1712 Emacs normally ``does the right thing'' with respect to charsets, so 1712 Emacs normally does the right thing with respect to charsets, so
1713that you don't have to worry about them. However, it is sometimes 1713that you don't have to worry about them. However, it is sometimes
1714helpful to know some of the underlying details about charsets. 1714helpful to know some of the underlying details about charsets.
1715 1715
1716 One example is font selection (@pxref{Fonts}). Each language 1716 One example is font selection (@pxref{Fonts}). Each language
1717environment (@pxref{Language Environments}) defines a ``priority 1717environment (@pxref{Language Environments}) defines a priority
1718list'' for the various charsets. When searching for a font, Emacs 1718list for the various charsets. When searching for a font, Emacs
1719initially attempts to find one that can display the highest-priority 1719initially attempts to find one that can display the highest-priority
1720charsets. For instance, in the Japanese language environment, the 1720charsets. For instance, in the Japanese language environment, the
1721charset @code{japanese-jisx0208} has the highest priority, so Emacs 1721charset @code{japanese-jisx0208} has the highest priority, so Emacs
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 19d861a8395..1a6a735d3ae 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -111,7 +111,7 @@ Remove any installation or deletion mark previously added to the
111current line by an @kbd{i} or @kbd{d} command. 111current line by an @kbd{i} or @kbd{d} command.
112 112
113@item U 113@item U
114Mark all package with a newer available version for ``upgrading'' 114Mark all package with a newer available version for upgrading
115(@code{package-menu-mark-upgrades}). This places an installation mark 115(@code{package-menu-mark-upgrades}). This places an installation mark
116on the new available versions, and a deletion mark on the old 116on the new available versions, and a deletion mark on the old
117installed versions. 117installed versions.
@@ -246,7 +246,7 @@ version @var{version} of the package named @var{name}. Here,
246@var{version} should be a version string (corresponding to a specific 246@var{version} should be a version string (corresponding to a specific
247version of the package), or @code{t} (which means to load any 247version of the package), or @code{t} (which means to load any
248installed version), or @code{nil} (which means no version; this 248installed version), or @code{nil} (which means no version; this
249``disables'' the package, preventing it from being loaded). A list 249disables the package, preventing it from being loaded). A list
250element can also be the symbol @code{all}, which means to load the 250element can also be the symbol @code{all}, which means to load the
251latest installed version of any package not named by the other list 251latest installed version of any package not named by the other list
252elements. The default value is just @code{'(all)}. 252elements. The default value is just @code{'(all)}.
diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi
index a9ad2d5d2e3..4e22d754f38 100644
--- a/doc/emacs/picture-xtra.texi
+++ b/doc/emacs/picture-xtra.texi
@@ -53,7 +53,7 @@ Additional extensions to Picture mode can be found in
53@menu 53@menu
54* Basic Picture:: Basic concepts and simple commands of Picture Mode. 54* Basic Picture:: Basic concepts and simple commands of Picture Mode.
55* Insert in Picture:: Controlling direction of cursor motion 55* Insert in Picture:: Controlling direction of cursor motion
56 after ``self-inserting'' characters. 56 after self-inserting characters.
57* Tabs in Picture:: Various features for tab stops and indentation. 57* Tabs in Picture:: Various features for tab stops and indentation.
58* Rectangles in Picture:: Clearing and superimposing rectangles. 58* Rectangles in Picture:: Clearing and superimposing rectangles.
59@end menu 59@end menu
@@ -143,10 +143,10 @@ Picture}).
143@kindex C-c ' @r{(Picture mode)} 143@kindex C-c ' @r{(Picture mode)}
144@kindex C-c / @r{(Picture mode)} 144@kindex C-c / @r{(Picture mode)}
145@kindex C-c \ @r{(Picture mode)} 145@kindex C-c \ @r{(Picture mode)}
146 Since ``self-inserting'' characters in Picture mode overwrite and move 146 Since self-inserting characters in Picture mode overwrite and move
147point, there is no essential restriction on how point should be moved. 147point, there is no essential restriction on how point should be moved.
148Normally point moves right, but you can specify any of the eight 148Normally point moves right, but you can specify any of the eight
149orthogonal or diagonal directions for motion after a ``self-inserting'' 149orthogonal or diagonal directions for motion after a self-inserting
150character. This is useful for drawing lines in the buffer. 150character. This is useful for drawing lines in the buffer.
151 151
152@table @kbd 152@table @kbd
@@ -164,18 +164,18 @@ Move up after insertion (@code{picture-movement-up}).
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 \
177@itemx C-c @key{next} 177@itemx C-c @key{next}
178Move down and right (``southeast'') after insertion 178Move down and right (southeast) after insertion
179@*(@code{picture-movement-se}). 179@*(@code{picture-movement-se}).
180@end table 180@end table
181 181
@@ -185,7 +185,7 @@ Move down and right (``southeast'') after insertion
185@findex picture-motion-reverse 185@findex picture-motion-reverse
186 Two motion commands move based on the current Picture insertion 186 Two motion commands move based on the current Picture insertion
187direction. The command @kbd{C-c C-f} (@code{picture-motion}) moves in the 187direction. The command @kbd{C-c C-f} (@code{picture-motion}) moves in the
188same direction as motion after ``insertion'' currently does, while @kbd{C-c 188same direction as motion after insertion currently does, while @kbd{C-c
189C-b} (@code{picture-motion-reverse}) moves in the opposite direction. 189C-b} (@code{picture-motion-reverse}) moves in the opposite direction.
190 190
191@node Tabs in Picture 191@node Tabs in Picture
@@ -197,12 +197,12 @@ C-b} (@code{picture-motion-reverse}) moves in the opposite direction.
197 Two kinds of tab-like action are provided in Picture mode. Use 197 Two kinds of tab-like action are provided in Picture mode. Use
198@kbd{M-@key{TAB}} (@code{picture-tab-search}) for context-based tabbing. 198@kbd{M-@key{TAB}} (@code{picture-tab-search}) for context-based tabbing.
199With no argument, it moves to a point underneath the next 199With no argument, it moves to a point underneath the next
200``interesting'' character that follows whitespace in the previous 200interesting character that follows whitespace in the previous
201nonblank line. ``Next'' here means ``appearing at a horizontal position 201nonblank line. ``Next'' here means ``appearing at a horizontal position
202greater than the one point starts out at''. With an argument, as in 202greater than the one point starts out at''. With an argument, as in
203@kbd{C-u M-@key{TAB}}, this command moves to the next such interesting 203@kbd{C-u M-@key{TAB}}, this command moves to the next such interesting
204character in the current line. @kbd{M-@key{TAB}} does not change the 204character in the current line. @kbd{M-@key{TAB}} does not change the
205text; it only moves point. ``Interesting'' characters are defined by 205text; it only moves point. Interesting characters are defined by
206the variable @code{picture-tab-chars}, which should define a set of 206the variable @code{picture-tab-chars}, which should define a set of
207characters. The syntax for this variable is like the syntax used inside 207characters. The syntax for this variable is like the syntax used inside
208of @samp{[@dots{}]} in a regular expression---but without the @samp{[} 208of @samp{[@dots{}]} in a regular expression---but without the @samp{[}
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index ea8f82fa2ea..00454551281 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -741,10 +741,10 @@ because of the parentheses.
741 The following commands move over groupings delimited by parentheses 741 The following commands move over groupings delimited by parentheses
742(or whatever else serves as delimiters in the language you are working 742(or whatever else serves as delimiters in the language you are working
743with). They ignore strings and comments, including any parentheses 743with). They ignore strings and comments, including any parentheses
744within them, and also ignore parentheses that are ``quoted'' with an 744within them, and also ignore parentheses that are quoted with an
745escape character. These commands are mainly intended for editing 745escape character. These commands are mainly intended for editing
746programs, but can be useful for editing any text containing 746programs, but can be useful for editing any text containing
747parentheses. They are referred to internally as ``list'' commands 747parentheses. They are referred to internally as ``list commands''
748because in Lisp these groupings are lists. 748because in Lisp these groupings are lists.
749 749
750 These commands assume that the starting point is not inside a string 750 These commands assume that the starting point is not inside a string
@@ -766,7 +766,7 @@ Move down in parenthesis structure (@code{down-list}).
766@kindex C-M-p 766@kindex C-M-p
767@findex forward-list 767@findex forward-list
768@findex backward-list 768@findex backward-list
769 The ``list'' commands @kbd{C-M-n} (@code{forward-list}) and 769 The list commands @kbd{C-M-n} (@code{forward-list}) and
770@kbd{C-M-p} (@code{backward-list}) move forward or backward over one 770@kbd{C-M-p} (@code{backward-list}) move forward or backward over one
771(or @var{n}) parenthetical groupings. 771(or @var{n}) parenthetical groupings.
772 772
@@ -940,7 +940,7 @@ you use it.
940 940
941 When a region is active (@pxref{Mark}), @kbd{M-;} either adds 941 When a region is active (@pxref{Mark}), @kbd{M-;} either adds
942comment delimiters to the region, or removes them. If every line in 942comment delimiters to the region, or removes them. If every line in
943the region is already a comment, it ``uncomments'' each of those lines 943the region is already a comment, it uncomments each of those lines
944by removing their comment delimiters. Otherwise, it adds comment 944by removing their comment delimiters. Otherwise, it adds comment
945delimiters to enclose the text in the region. 945delimiters to enclose the text in the region.
946 946
@@ -1134,7 +1134,7 @@ You can also use @kbd{M-x info-lookup-file} to look for documentation
1134for a file name. 1134for a file name.
1135 1135
1136 If you use @kbd{C-h S} in a major mode that does not support it, 1136 If you use @kbd{C-h S} in a major mode that does not support it,
1137it asks you to specify the ``symbol help mode''. You should enter 1137it asks you to specify the symbol help mode. You should enter
1138a command such as @code{c-mode} that would select a major 1138a command such as @code{c-mode} that would select a major
1139mode which @kbd{C-h S} does support. 1139mode which @kbd{C-h S} does support.
1140 1140
@@ -1340,7 +1340,7 @@ based on the spell-checker's dictionary. @xref{Spelling}.
1340@section MixedCase Words 1340@section MixedCase Words
1341@cindex camel case 1341@cindex camel case
1342 1342
1343 Some programming styles make use of mixed-case (or ``CamelCase'') 1343 Some programming styles make use of mixed-case (or CamelCase)
1344symbols like @samp{unReadableSymbol}. (In the GNU project, we recommend 1344symbols like @samp{unReadableSymbol}. (In the GNU project, we recommend
1345using underscores to separate words within an identifier, rather than 1345using underscores to separate words within an identifier, rather than
1346using case distinctions.) Emacs has various features to make it easier 1346using case distinctions.) Emacs has various features to make it easier
@@ -1381,8 +1381,8 @@ see @ref{Top, Semantic,, semantic, Semantic}.
1381see the Semantic Info manual, which is distributed with Emacs. 1381see the Semantic Info manual, which is distributed with Emacs.
1382@end iftex 1382@end iftex
1383 1383
1384 Most of the ``language aware'' features in Emacs, such as Font Lock 1384 Most of the language-aware features in Emacs, such as Font Lock
1385mode (@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular 1385mode (@pxref{Font Lock}), rely on rules of thumb@footnote{Regular
1386expressions and syntax tables.} that usually give good results but are 1386expressions and syntax tables.} that usually give good results but are
1387never completely exact. In contrast, the parsers used by Semantic 1387never completely exact. In contrast, the parsers used by Semantic
1388have an exact understanding of programming language syntax. This 1388have an exact understanding of programming language syntax. This
@@ -1478,15 +1478,16 @@ support Outline minor mode (@pxref{Outline Mode}), which can be used
1478with the Foldout package (@pxref{Foldout}). 1478with the Foldout package (@pxref{Foldout}).
1479 1479
1480@ifinfo 1480@ifinfo
1481 The ``automatic typing'' features may be useful for writing programs. 1481 The automatic typing features may be useful for writing programs.
1482@xref{Top,,Autotyping, autotype, Autotyping}. 1482@xref{Top,,Autotyping, autotype, Autotyping}.
1483@end ifinfo 1483@end ifinfo
1484 1484
1485@findex prettify-symbols-mode 1485@findex prettify-symbols-mode
1486 Prettify Symbols mode is a buffer-local minor mode that replaces 1486 Prettify Symbols mode is a buffer-local minor mode that replaces
1487certain strings with more ``attractive'' versions for display 1487certain strings with more attractive versions for display
1488purposes. For example, in Emacs Lisp mode, it replaces the string 1488purposes. For example, in Emacs Lisp mode, it replaces the string
1489``lambda'' with the Greek lambda character. You may wish to use this 1489@samp{lambda} with the Greek lambda character @samp{λ}. You may wish
1490to use this
1490in non-programming modes as well. You can customize the mode by 1491in non-programming modes as well. You can customize the mode by
1491adding more entries to @code{prettify-symbols-alist}. There is also a 1492adding more entries to @code{prettify-symbols-alist}. There is also a
1492global version, @code{global-prettify-symbols-mode}, which enables the 1493global version, @code{global-prettify-symbols-mode}, which enables the
@@ -1600,7 +1601,7 @@ Move point to the end of the innermost C statement or sentence; like
1600 In C mode and related modes, certain printing characters are 1601 In C mode and related modes, certain printing characters are
1601@dfn{electric}---in addition to inserting themselves, they also 1602@dfn{electric}---in addition to inserting themselves, they also
1602reindent the current line, and optionally also insert newlines. The 1603reindent the current line, and optionally also insert newlines. The
1603``electric'' characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#}, 1604electric characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#},
1604@kbd{;}, @kbd{,}, @kbd{<}, @kbd{>}, @kbd{/}, @kbd{*}, @kbd{(}, and 1605@kbd{;}, @kbd{,}, @kbd{<}, @kbd{>}, @kbd{/}, @kbd{*}, @kbd{(}, and
1605@kbd{)}. 1606@kbd{)}.
1606 1607
@@ -1797,7 +1798,7 @@ it work.
1797Hide-ifdef minor mode hides selected code within @samp{#if} and 1798Hide-ifdef minor mode hides selected code within @samp{#if} and
1798@samp{#ifdef} preprocessor blocks. If you change the variable 1799@samp{#ifdef} preprocessor blocks. If you change the variable
1799@code{hide-ifdef-shadow} to @code{t}, Hide-ifdef minor mode 1800@code{hide-ifdef-shadow} to @code{t}, Hide-ifdef minor mode
1800``shadows'' preprocessor blocks by displaying them with a less 1801shadows preprocessor blocks by displaying them with a less
1801prominent face, instead of hiding them entirely. See the 1802prominent face, instead of hiding them entirely. See the
1802documentation string of @code{hide-ifdef-mode} for more information. 1803documentation string of @code{hide-ifdef-mode} for more information.
1803 1804
@@ -1805,7 +1806,7 @@ documentation string of @code{hide-ifdef-mode} for more information.
1805@cindex related files 1806@cindex related files
1806@findex ff-find-related-file 1807@findex ff-find-related-file
1807@vindex ff-related-file-alist 1808@vindex ff-related-file-alist
1808Find a file ``related'' in a special way to the file visited by the 1809Find a file related in a special way to the file visited by the
1809current buffer. Typically this will be the header file corresponding 1810current buffer. Typically this will be the header file corresponding
1810to a C/C++ source file, or vice versa. The variable 1811to a C/C++ source file, or vice versa. The variable
1811@code{ff-related-file-alist} specifies how to compute related file 1812@code{ff-related-file-alist} specifies how to compute related file
diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi
index fd48f3412bf..d8841caa311 100644
--- a/doc/emacs/regs.texi
+++ b/doc/emacs/regs.texi
@@ -32,7 +32,7 @@ Display a description of what register @var{r} contains.
32@vindex register-preview-delay 32@vindex register-preview-delay
33@cindex preview of registers 33@cindex preview of registers
34 All of the commands that prompt for a register will display a 34 All of the commands that prompt for a register will display a
35``preview'' window that lists the existing registers (if there are 35preview window that lists the existing registers (if there are
36any) after a short delay. To change the length of the delay, 36any) after a short delay. To change the length of the delay,
37customize @code{register-preview-delay}. To prevent this display, set 37customize @code{register-preview-delay}. To prevent this display, set
38that option to @code{nil}. You can explicitly request a preview 38that option to @code{nil}. You can explicitly request a preview
@@ -121,7 +121,7 @@ reactivates the mark where it was last set. The mark is deactivated
121at the end of this command. @xref{Mark}. @kbd{C-u C-x r s @var{r}}, 121at the end of this command. @xref{Mark}. @kbd{C-u C-x r s @var{r}},
122the same command with a prefix argument, copies the text into register 122the same command with a prefix argument, copies the text into register
123@var{r} and deletes the text from the buffer as well; you can think of 123@var{r} and deletes the text from the buffer as well; you can think of
124this as ``moving'' the region text into the register. 124this as moving the region text into the register.
125 125
126@findex append-to-register 126@findex append-to-register
127@findex prepend-to-register 127@findex prepend-to-register
@@ -285,7 +285,7 @@ restore a frameset.)
285 @dfn{Bookmarks} are somewhat like registers in that they record 285 @dfn{Bookmarks} are somewhat like registers in that they record
286positions you can jump to. Unlike registers, they have long names, and 286positions you can jump to. Unlike registers, they have long names, and
287they persist automatically from one Emacs session to the next. The 287they persist automatically from one Emacs session to the next. The
288prototypical use of bookmarks is to record ``where you were reading'' in 288prototypical use of bookmarks is to record where you were reading in
289various files. 289various files.
290 290
291@table @kbd 291@table @kbd
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 6cad28099a6..6e2a60b6378 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -82,7 +82,7 @@ file after merging new mail from an inbox file (@pxref{Rmail Inbox}).
82 You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges 82 You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges
83and saves the Rmail file, then buries the Rmail buffer as well as its 83and saves the Rmail file, then buries the Rmail buffer as well as its
84summary buffer, if present (@pxref{Rmail Summary}). But there is no 84summary buffer, if present (@pxref{Rmail Summary}). But there is no
85need to ``exit'' formally. If you switch from Rmail to editing in 85need to exit formally. If you switch from Rmail to editing in
86other buffers, and never switch back, you have exited. Just make sure 86other buffers, and never switch back, you have exited. Just make sure
87to save the Rmail file eventually (like any other file you have 87to save the Rmail file eventually (like any other file you have
88changed). @kbd{C-x s} is a suitable way to do this (@pxref{Save 88changed). @kbd{C-x s} is a suitable way to do this (@pxref{Save
@@ -794,7 +794,7 @@ message as the text, and a subject of the form @code{[@var{from}:
794@var{subject}]}, where @var{from} and @var{subject} are the sender and 794@var{subject}]}, where @var{from} and @var{subject} are the sender and
795subject of the original message. All you have to do is fill in the 795subject of the original message. All you have to do is fill in the
796recipients and send. When you forward a message, recipients get a 796recipients and send. When you forward a message, recipients get a
797message which is ``from'' you, and which has the original message in 797message which is from you, and which has the original message in
798its contents. 798its contents.
799 799
800@vindex rmail-enable-mime-composing 800@vindex rmail-enable-mime-composing
@@ -817,7 +817,7 @@ following the current one.
817 817
818@findex rmail-resend 818@findex rmail-resend
819 @dfn{Resending} is an alternative similar to forwarding; the 819 @dfn{Resending} is an alternative similar to forwarding; the
820difference is that resending sends a message that is ``from'' the 820difference is that resending sends a message that is from the
821original sender, just as it reached you---with a few added header fields 821original sender, just as it reached you---with a few added header fields
822(@samp{Resent-From} and @samp{Resent-To}) to indicate that it came via 822(@samp{Resent-From} and @samp{Resent-To}) to indicate that it came via
823you. To resend a message in Rmail, use @kbd{C-u f}. (@kbd{f} runs 823you. To resend a message in Rmail, use @kbd{C-u f}. (@kbd{f} runs
@@ -1213,14 +1213,14 @@ Toggle between @acronym{MIME} display and raw message
1213immediately after its tagline, as part of the Rmail buffer, while 1213immediately after its tagline, as part of the Rmail buffer, while
1214@acronym{MIME} parts of other types are represented only by their 1214@acronym{MIME} parts of other types are represented only by their
1215taglines, with their actual contents hidden. In either case, you can 1215taglines, with their actual contents hidden. In either case, you can
1216toggle a @acronym{MIME} part between its ``displayed'' and ``hidden'' 1216toggle a @acronym{MIME} part between its displayed and hidden
1217states by typing @key{RET} anywhere in the part---or anywhere in its 1217states by typing @key{RET} anywhere in the part---or anywhere in its
1218tagline (except for buttons for other actions, if there are any). Type 1218tagline (except for buttons for other actions, if there are any). Type
1219@key{RET} (or click with the mouse) to activate a tagline button, and 1219@key{RET} (or click with the mouse) to activate a tagline button, and
1220@key{TAB} to cycle point between tagline buttons. 1220@key{TAB} to cycle point between tagline buttons.
1221 1221
1222 The @kbd{v} (@code{rmail-mime}) command toggles between the default 1222 The @kbd{v} (@code{rmail-mime}) command toggles between the default
1223@acronym{MIME} display described above, and a ``raw'' display showing 1223@acronym{MIME} display described above, and a raw display showing
1224the undecoded @acronym{MIME} data. With a prefix argument, this 1224the undecoded @acronym{MIME} data. With a prefix argument, this
1225command toggles the display of only an entity at point. 1225command toggles the display of only an entity at point.
1226 1226
@@ -1372,8 +1372,8 @@ which applies the code when displaying the text.
1372your Rmail file (@pxref{Rmail Inbox}). When loaded for the first time, 1372your Rmail file (@pxref{Rmail Inbox}). When loaded for the first time,
1373Rmail attempts to locate the @code{movemail} program and determine its 1373Rmail attempts to locate the @code{movemail} program and determine its
1374version. There are two versions of the @code{movemail} program: the 1374version. There are two versions of the @code{movemail} program: the
1375native one, shipped with GNU Emacs (the ``emacs version'') and the one 1375native one, shipped with GNU Emacs (the Emacs version) and the one
1376included in GNU mailutils (the ``mailutils version'', 1376included in GNU mailutils (the mailutils version,
1377@pxref{movemail,,,mailutils,GNU mailutils}). They support the same 1377@pxref{movemail,,,mailutils,GNU mailutils}). They support the same
1378command line syntax and the same basic subset of options. However, the 1378command line syntax and the same basic subset of options. However, the
1379Mailutils version offers additional features. 1379Mailutils version offers additional features.
@@ -1489,7 +1489,7 @@ versions of POP.
1489@cindex POP mailboxes 1489@cindex POP mailboxes
1490 No matter which flavor of @code{movemail} you use, you can specify 1490 No matter which flavor of @code{movemail} you use, you can specify
1491a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}). A POP 1491a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}). A POP
1492@acronym{URL} is a ``file name'' of the form 1492@acronym{URL} is of the form
1493@samp{pop://@var{username}@@@var{hostname}}, where 1493@samp{pop://@var{username}@@@var{hostname}}, where
1494@var{hostname} is the host name or IP address of the remote mail 1494@var{hostname} is the host name or IP address of the remote mail
1495server and @var{username} is the user name on that server. 1495server and @var{username} is the user name on that server.
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index 920aa089758..37e0e7e067b 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -8,7 +8,7 @@
8@cindex frame 8@cindex frame
9 9
10 On a graphical display, such as on GNU/Linux using the X Window 10 On a graphical display, such as on GNU/Linux using the X Window
11System, Emacs occupies a ``graphical window''. On a text terminal, 11System, Emacs occupies a graphical window. On a text terminal,
12Emacs occupies the entire terminal screen. We will use the term 12Emacs occupies the entire terminal screen. We will use the term
13@dfn{frame} to mean a graphical window or terminal screen occupied by 13@dfn{frame} to mean a graphical window or terminal screen occupied by
14Emacs. Emacs behaves very similarly on both kinds of frames. It 14Emacs. Emacs behaves very similarly on both kinds of frames. It
@@ -27,7 +27,7 @@ information when Emacs asks for it.
27above the echo area, is called @dfn{the window}. Henceforth in this 27above the echo area, is called @dfn{the window}. Henceforth in this
28manual, we will use the word ``window'' in this sense. Graphical 28manual, we will use the word ``window'' in this sense. Graphical
29display systems commonly use the word ``window'' with a different 29display systems commonly use the word ``window'' with a different
30meaning; but, as stated above, we refer to those ``graphical windows'' 30meaning; but, as stated above, we refer to those graphical windows
31as ``frames''. 31as ``frames''.
32 32
33 An Emacs window is where the @dfn{buffer}---the text you are 33 An Emacs window is where the @dfn{buffer}---the text you are
@@ -206,11 +206,11 @@ terminal output. Furthermore, if you are using an input method,
206string is displayed, that indicates a nontrivial end-of-line 206string is displayed, that indicates a nontrivial end-of-line
207convention for encoding a file. Usually, lines of text are separated 207convention for encoding a file. Usually, lines of text are separated
208by @dfn{newline characters} in a file, but two other conventions are 208by @dfn{newline characters} in a file, but two other conventions are
209sometimes used. The MS-DOS convention uses a ``carriage-return'' 209sometimes used. The MS-DOS convention uses a carriage-return
210character followed by a ``linefeed'' character; when editing such 210character followed by a linefeed character; when editing such
211files, the colon changes to either a backslash (@samp{\}) or 211files, the colon changes to either a backslash (@samp{\}) or
212@samp{(DOS)}, depending on the operating system. Another convention, 212@samp{(DOS)}, depending on the operating system. Another convention,
213employed by older Macintosh systems, uses a ``carriage-return'' 213employed by older Macintosh systems, uses a carriage-return
214character instead of a newline; when editing such files, the colon 214character instead of a newline; when editing such files, the colon
215changes to either a forward slash (@samp{/}) or @samp{(Mac)}. On some 215changes to either a forward slash (@samp{/}) or @samp{(Mac)}. On some
216systems, Emacs displays @samp{(Unix)} instead of the colon for files 216systems, Emacs displays @samp{(Unix)} instead of the colon for files
@@ -219,7 +219,7 @@ that use newline as the line separator.
219 The next element on the mode line is the string indicated by 219 The next element on the mode line is the string indicated by
220@var{ch}. This shows two dashes (@samp{--}) if the buffer displayed 220@var{ch}. This shows two dashes (@samp{--}) if the buffer displayed
221in the window has the same contents as the corresponding file on the 221in the window has the same contents as the corresponding file on the
222disk; i.e., if the buffer is ``unmodified''. If the buffer is 222disk; i.e., if the buffer is unmodified. If the buffer is
223modified, it shows two stars (@samp{**}). For a read-only buffer, it 223modified, it shows two stars (@samp{**}). For a read-only buffer, it
224shows @samp{%*} if the buffer is modified, and @samp{%%} otherwise. 224shows @samp{%*} if the buffer is modified, and @samp{%%} otherwise.
225 225
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index a0dfe226324..9b91421a7e6 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -146,8 +146,8 @@ you don't like this feature, you can disable it by setting
146 146
147 After exiting a search, you can search for the same string again by 147 After exiting a search, you can search for the same string again by
148typing just @kbd{C-s C-s}. The first @kbd{C-s} is the key that 148typing just @kbd{C-s C-s}. The first @kbd{C-s} is the key that
149invokes incremental search, and the second @kbd{C-s} means ``search 149invokes incremental search, and the second @kbd{C-s} means to search
150again''. Similarly, @kbd{C-r C-r} searches backward for the last 150again. Similarly, @kbd{C-r C-r} searches backward for the last
151search string. In determining the last search string, it doesn't 151search string. In determining the last search string, it doesn't
152matter whether the string was searched for with @kbd{C-s} or 152matter whether the string was searched for with @kbd{C-s} or
153@kbd{C-r}. 153@kbd{C-r}.
@@ -423,7 +423,7 @@ because that is used to display the minibuffer.
423 423
424If an incremental search fails in the minibuffer, it tries searching 424If an incremental search fails in the minibuffer, it tries searching
425the minibuffer history. @xref{Minibuffer History}. You can visualize 425the minibuffer history. @xref{Minibuffer History}. You can visualize
426the minibuffer and its history as a series of ``pages'', with the 426the minibuffer and its history as a series of pages, with the
427earliest history element on the first page and the current minibuffer 427earliest history element on the first page and the current minibuffer
428on the last page. A forward search, @kbd{C-s}, searches forward to 428on the last page. A forward search, @kbd{C-s}, searches forward to
429later pages; a reverse search, @kbd{C-r}, searches backwards to 429later pages; a reverse search, @kbd{C-r}, searches backwards to
@@ -893,11 +893,11 @@ This last application is not a consequence of the idea of a
893parenthetical grouping; it is a separate feature that is assigned as a 893parenthetical grouping; it is a separate feature that is assigned as a
894second meaning to the same @samp{\( @dots{} \)} construct. In practice 894second meaning to the same @samp{\( @dots{} \)} construct. In practice
895there is usually no conflict between the two meanings; when there is 895there is usually no conflict between the two meanings; when there is
896a conflict, you can use a ``shy'' group. 896a conflict, you can use a shy group.
897 897
898@item \(?: @dots{} \) 898@item \(?: @dots{} \)
899@cindex shy group, in regexp 899@cindex shy group, in regexp
900specifies a ``shy'' group that does not record the matched substring; 900specifies a shy group that does not record the matched substring;
901you can't refer back to it with @samp{\@var{d}} (see below). This is 901you can't refer back to it with @samp{\@var{d}} (see below). This is
902useful in mechanically combining regular expressions, so that you can 902useful in mechanically combining regular expressions, so that you can
903add groups for syntactic purposes without interfering with the 903add groups for syntactic purposes without interfering with the
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi
index 49a4aa7c7f3..c5ca73b40a8 100644
--- a/doc/emacs/sending.texi
+++ b/doc/emacs/sending.texi
@@ -136,7 +136,7 @@ Use both address and full name, as in:@*
136Use both address and full name, as in:@* 136Use both address and full name, as in:@*
137@samp{Elvis Parsley <king@@grassland.com>}. 137@samp{Elvis Parsley <king@@grassland.com>}.
138@item any other value 138@item any other value
139Use @code{angles} normally. But if the address must be ``quoted'' to 139Use @code{angles} normally. But if the address must be quoted to
140remain syntactically valid under the @code{angles} format but not 140remain syntactically valid under the @code{angles} format but not
141under the @code{parens} format, use @code{parens} instead. This is 141under the @code{parens} format, use @code{parens} instead. This is
142the default. 142the default.
@@ -159,7 +159,7 @@ directed at them.
159 159
160@item BCC 160@item BCC
161Additional mailing address(es) to send the message to, which should 161Additional mailing address(es) to send the message to, which should
162not appear in the header of the message actually sent. ``BCC'' stands 162not appear in the header of the message actually sent. @samp{BCC} stands
163for @dfn{blind carbon copies}. 163for @dfn{blind carbon copies}.
164 164
165@item FCC 165@item FCC
@@ -276,7 +276,7 @@ of the address, such as the person's full name. Emacs puts them in if
276they are needed. For instance, it inserts the above address as 276they are needed. For instance, it inserts the above address as
277@samp{"John Q. Smith" <none@@example.com>}. 277@samp{"John Q. Smith" <none@@example.com>}.
278 278
279 Emacs also recognizes ``include'' commands in @file{.mailrc}. They 279 Emacs also recognizes include commands in @file{.mailrc}. They
280look like this: 280look like this:
281 281
282@example 282@example
@@ -341,7 +341,7 @@ Send the message, and leave the mail buffer selected (@code{message-send}).
341@vindex message-kill-buffer-on-exit 341@vindex message-kill-buffer-on-exit
342 The usual command to send a message is @kbd{C-c C-c} 342 The usual command to send a message is @kbd{C-c C-c}
343(@code{mail-send-and-exit}). This sends the message and then 343(@code{mail-send-and-exit}). This sends the message and then
344``buries'' the mail buffer, putting it at the lowest priority for 344buries the mail buffer, putting it at the lowest priority for
345reselection. If you want it to kill the mail buffer instead, change 345reselection. If you want it to kill the mail buffer instead, change
346the variable @code{message-kill-buffer-on-exit} to @code{t}. 346the variable @code{message-kill-buffer-on-exit} to @code{t}.
347 347
@@ -648,7 +648,7 @@ it all. Whether or not this is true, it at least amuses some people.
648 648
649@findex fortune-to-signature 649@findex fortune-to-signature
650@cindex fortune cookies 650@cindex fortune cookies
651 You can use the @code{fortune} program to put a ``fortune cookie'' 651 You can use the @code{fortune} program to put a fortune cookie
652message into outgoing mail. To do this, add 652message into outgoing mail. To do this, add
653@code{fortune-to-signature} to @code{mail-setup-hook}: 653@code{fortune-to-signature} to @code{mail-setup-hook}:
654 654
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 389ef5ec8d6..0ade392634d 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -33,7 +33,7 @@ publish them in many formats.
33@cindex mode, XML 33@cindex mode, XML
34@cindex mode, nXML 34@cindex mode, nXML
35@findex nxml-mode 35@findex nxml-mode
36 Emacs has other major modes for text which contains ``embedded'' 36 Emacs has other major modes for text which contains embedded
37commands, such as @TeX{} and @LaTeX{} (@pxref{TeX Mode}); HTML and 37commands, such as @TeX{} and @LaTeX{} (@pxref{TeX Mode}); HTML and
38SGML (@pxref{HTML Mode}); XML 38SGML (@pxref{HTML Mode}); XML
39@ifinfo 39@ifinfo
@@ -45,9 +45,8 @@ SGML (@pxref{HTML Mode}); XML
45and Groff and Nroff (@pxref{Nroff Mode}). 45and Groff and Nroff (@pxref{Nroff Mode}).
46 46
47@cindex ASCII art 47@cindex ASCII art
48 If you need to edit pictures made out of text characters (commonly 48 If you need to edit ASCII art pictures made out of text characters,
49referred to as ``ASCII art''), use Picture mode, a special major mode 49use Picture mode, a special major mode for editing such pictures.
50for editing such pictures.
51@iftex 50@iftex
52@xref{Picture Mode,,, emacs-xtra, Specialized Emacs Features}. 51@xref{Picture Mode,,, emacs-xtra, Specialized Emacs Features}.
53@end iftex 52@end iftex
@@ -60,7 +59,7 @@ for editing such pictures.
60@cindex templates 59@cindex templates
61@cindex autotyping 60@cindex autotyping
62@cindex automatic typing 61@cindex automatic typing
63 The ``automatic typing'' features may be useful when writing text. 62 The automatic typing features may be useful when writing text.
64@inforef{Top,The Autotype Manual,autotype}. 63@inforef{Top,The Autotype Manual,autotype}.
65@end ifinfo 64@end ifinfo
66 65
@@ -78,7 +77,7 @@ for editing such pictures.
78* TeX Mode:: Editing TeX and LaTeX files. 77* TeX Mode:: Editing TeX and LaTeX files.
79* HTML Mode:: Editing HTML and SGML files. 78* HTML Mode:: Editing HTML and SGML files.
80* Nroff Mode:: Editing input to the nroff formatter. 79* Nroff Mode:: Editing input to the nroff formatter.
81* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc. 80* Enriched Text:: Editing text enriched with fonts, colors, etc.
82* Text Based Tables:: Commands for editing text-based tables. 81* Text Based Tables:: Commands for editing text-based tables.
83* Two-Column:: Splitting text columns into separate windows. 82* Two-Column:: Splitting text columns into separate windows.
84@end menu 83@end menu
@@ -683,7 +682,7 @@ delimiter on each line.
683prefix for each paragraph automatically. This command divides the 682prefix for each paragraph automatically. This command divides the
684region into paragraphs, treating every change in the amount of 683region into paragraphs, treating every change in the amount of
685indentation as the start of a new paragraph, and fills each of these 684indentation as the start of a new paragraph, and fills each of these
686paragraphs. Thus, all the lines in one ``paragraph'' have the same 685paragraphs. Thus, all the lines in one paragraph have the same
687amount of indentation. That indentation serves as the fill prefix for 686amount of indentation. That indentation serves as the fill prefix for
688that paragraph. 687that paragraph.
689 688
@@ -1073,7 +1072,7 @@ revealing parts of the buffer, based on the outline structure. These
1073commands are not undoable; their effects are simply not recorded by 1072commands are not undoable; their effects are simply not recorded by
1074the undo mechanism, so you can undo right past them (@pxref{Undo}). 1073the undo mechanism, so you can undo right past them (@pxref{Undo}).
1075 1074
1076 Many of these commands act on the ``current'' heading line. If 1075 Many of these commands act on the current heading line. If
1077point is on a heading line, that is the current heading line; if point 1076point is on a heading line, that is the current heading line; if point
1078is on a body line, the current heading line is the nearest preceding 1077is on a body line, the current heading line is the nearest preceding
1079header line. 1078header line.
@@ -1205,7 +1204,7 @@ buffers.
1205 1204
1206@cindex folding editing 1205@cindex folding editing
1207 The Foldout package extends Outline mode and Outline minor mode with 1206 The Foldout package extends Outline mode and Outline minor mode with
1208``folding'' commands. The idea of folding is that you zoom in on a 1207folding commands. The idea of folding is that you zoom in on a
1209nested portion of the outline, while hiding its relatives at higher 1208nested portion of the outline, while hiding its relatives at higher
1210levels. 1209levels.
1211 1210
@@ -1235,7 +1234,7 @@ show-subtree}), by specifying a zero argument: @kbd{M-0 C-c C-z}.
1235 1234
1236 While you're zoomed in, you can still use Outline mode's exposure and 1235 While you're zoomed in, you can still use Outline mode's exposure and
1237hiding functions without disturbing Foldout. Also, since the buffer is 1236hiding functions without disturbing Foldout. Also, since the buffer is
1238narrowed, ``global'' editing actions will only affect text under the 1237narrowed, global editing actions will only affect text under the
1239zoomed-in heading. This is useful for restricting changes to a 1238zoomed-in heading. This is useful for restricting changes to a
1240particular chapter or section of your document. 1239particular chapter or section of your document.
1241 1240
@@ -1967,7 +1966,7 @@ used as a cheap preview (@code{sgml-tags-invisible}).
1967 The major mode for editing XML documents is called nXML mode. This 1966 The major mode for editing XML documents is called nXML mode. This
1968is a powerful major mode that can recognize many existing XML schema 1967is a powerful major mode that can recognize many existing XML schema
1969and use them to provide completion of XML elements via 1968and use them to provide completion of XML elements via
1970@kbd{M-@key{TAB}}, as well as ``on-the-fly'' XML 1969@kbd{M-@key{TAB}}, as well as on-the-fly XML
1971validation with error highlighting. To enable nXML mode in an 1970validation with error highlighting. To enable nXML mode in an
1972existing buffer, type @kbd{M-x nxml-mode}, or, equivalently, @kbd{M-x 1971existing buffer, type @kbd{M-x nxml-mode}, or, equivalently, @kbd{M-x
1973xml-mode}. Emacs uses nXML mode for files which have the extension 1972xml-mode}. Emacs uses nXML mode for files which have the extension
@@ -2048,7 +2047,7 @@ number (the header level).
2048@cindex text/enriched MIME format 2047@cindex text/enriched MIME format
2049 2048
2050 Enriched mode is a minor mode for editing formatted text files in a 2049 Enriched mode is a minor mode for editing formatted text files in a
2051WYSIWYG (``what you see is what you get'') fashion. When Enriched 2050WYSIWYG (What You See Is What You Get) fashion. When Enriched
2052mode is enabled, you can apply various formatting properties to the 2051mode is enabled, you can apply various formatting properties to the
2053text in the buffer, such as fonts and colors; upon saving the buffer, 2052text in the buffer, such as fonts and colors; upon saving the buffer,
2054those properties are saved together with the text, using the MIME 2053those properties are saved together with the text, using the MIME
@@ -2072,7 +2071,7 @@ serves as an example of the features of Enriched mode.
2072* Enriched Indentation:: Changing the left and right margins. 2071* Enriched Indentation:: Changing the left and right margins.
2073* Enriched Justification:: Centering, setting text flush with the 2072* Enriched Justification:: Centering, setting text flush with the
2074 left or right margin, etc. 2073 left or right margin, etc.
2075* Enriched Properties:: The ``special'' text properties submenu. 2074* Enriched Properties:: The special text properties submenu.
2076@end menu 2075@end menu
2077 2076
2078@node Enriched Mode 2077@node Enriched Mode
@@ -2832,8 +2831,8 @@ puts the text after the separator into the right-hand buffer, and
2832deletes the separator. Lines that don't have the column separator at 2831deletes the separator. Lines that don't have the column separator at
2833the proper place remain unsplit; they stay in the left-hand buffer, and 2832the proper place remain unsplit; they stay in the left-hand buffer, and
2834the right-hand buffer gets an empty line to correspond. (This is the 2833the right-hand buffer gets an empty line to correspond. (This is the
2835way to write a line that ``spans both columns while in two-column 2834way to write a line that spans both columns while in two-column
2836mode'': write it in the left-hand buffer, and put an empty line in the 2835mode: write it in the left-hand buffer, and put an empty line in the
2837right-hand buffer.) 2836right-hand buffer.)
2838 2837
2839@kindex F2 RET 2838@kindex F2 RET
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 2233376755a..35272509dbb 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -78,8 +78,8 @@ actually executed as a command if you type it while Emacs is waiting for
78input. In that case, the command it runs is @code{keyboard-quit}. 78input. In that case, the command it runs is @code{keyboard-quit}.
79 79
80 On a text terminal, if you quit with @kbd{C-g} a second time before 80 On a text terminal, if you quit with @kbd{C-g} a second time before
81the first @kbd{C-g} is recognized, you activate the ``emergency 81the first @kbd{C-g} is recognized, you activate the emergency-escape
82escape'' feature and return to the shell. @xref{Emergency Escape}. 82feature and return to the shell. @xref{Emergency Escape}.
83 83
84@cindex NFS and quitting 84@cindex NFS and quitting
85 There are some situations where you cannot quit. When Emacs is 85 There are some situations where you cannot quit. When Emacs is
@@ -118,7 +118,7 @@ it executes as an ordinary command, and Emacs doesn't notice it until
118it is ready for the next command. 118it is ready for the next command.
119 119
120@findex top-level 120@findex top-level
121 The command @kbd{M-x top-level} is equivalent to ``enough'' 121 The command @kbd{M-x top-level} is equivalent to enough
122@kbd{C-]} commands to get you out of all the levels of recursive edits 122@kbd{C-]} commands to get you out of all the levels of recursive edits
123that you are in; it also exits the minibuffer if it is active. 123that you are in; it also exits the minibuffer if it is active.
124@kbd{C-]} gets you out one level at a time, but @kbd{M-x top-level} 124@kbd{C-]} gets you out one level at a time, but @kbd{M-x top-level}
@@ -507,7 +507,7 @@ by the Emacs maintainers, are shown by @kbd{M-x debbugs-gnu-usertags}.
507The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup 507The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
508@samp{gnu.emacs.bug}). You can read the list archives at 508@samp{gnu.emacs.bug}). You can read the list archives at
509@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. This list 509@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. This list
510works as a ``mirror'' of the Emacs bug reports and follow-up messages 510works as a mirror of the Emacs bug reports and follow-up messages
511which are sent to the bug tracker. It also contains old bug reports 511which are sent to the bug tracker. It also contains old bug reports
512from before the bug tracker was introduced (in early 2008). 512from before the bug tracker was introduced (in early 2008).
513 513
@@ -538,10 +538,10 @@ not feel obliged to read this list before reporting a bug.
538@cindex bug criteria 538@cindex bug criteria
539@cindex what constitutes an Emacs bug 539@cindex what constitutes an Emacs bug
540 540
541 If Emacs accesses an invalid memory location (``segmentation 541 If Emacs accesses an invalid memory location or exits with an
542fault''), or exits with an operating system error message that 542operating system error message that indicates a problem in the program
543indicates a problem in the program (as opposed to something like 543(as opposed to something like ``disk full''), then it is certainly a
544``disk full''), then it is certainly a bug. 544bug.
545 545
546 If the Emacs display does not correspond properly to the contents of 546 If the Emacs display does not correspond properly to the contents of
547the buffer, then it is a bug. But you should check that features like 547the buffer, then it is a bug. But you should check that features like
@@ -618,7 +618,7 @@ large file, and Emacs displayed @samp{I feel pretty today}.'' This is
618what we mean by ``guessing explanations''. The problem might be due 618what we mean by ``guessing explanations''. The problem might be due
619to the fact that there is a @samp{z} in the file name. If this is so, 619to the fact that there is a @samp{z} in the file name. If this is so,
620then when we got your report, we would try out the problem with some 620then when we got your report, we would try out the problem with some
621``large file'', probably with no @samp{z} in its name, and not see any 621large file, probably with no @samp{z} in its name, and not see any
622problem. There is no way we could guess that we should try visiting a 622problem. There is no way we could guess that we should try visiting a
623file with a @samp{z} in its name. 623file with a @samp{z} in its name.
624 624
@@ -964,7 +964,7 @@ More detailed advice and other useful techniques for debugging Emacs
964are available in the file @file{etc/DEBUG} in the Emacs distribution. 964are available in the file @file{etc/DEBUG} in the Emacs distribution.
965That file also includes instructions for investigating problems 965That file also includes instructions for investigating problems
966whereby Emacs stops responding (many people assume that Emacs is 966whereby Emacs stops responding (many people assume that Emacs is
967``hung'', whereas in fact it might be in an infinite loop). 967hung, whereas in fact it might be in an infinite loop).
968 968
969To find the file @file{etc/DEBUG} in your Emacs installation, use the 969To find the file @file{etc/DEBUG} in your Emacs installation, use the
970directory name stored in the variable @code{data-directory}. 970directory name stored in the variable @code{data-directory}.
@@ -1345,16 +1345,16 @@ Emacs has additional style and coding conventions:
1345@item 1345@item
1346@ifset WWW_GNU_ORG 1346@ifset WWW_GNU_ORG
1347@ifhtml 1347@ifhtml
1348the ``Tips'' Appendix in the Emacs Lisp Reference 1348the ``Tips and Conventions'' Appendix in the Emacs Lisp Reference
1349@url{http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html}. 1349@url{http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html}.
1350@end ifhtml 1350@end ifhtml
1351@ifnothtml 1351@ifnothtml
1352@xref{Tips, ``Tips'' Appendix in the Emacs Lisp Reference, Tips 1352@xref{Tips, ``Tips and Conventions'' Appendix in the Emacs Lisp Reference, Tips
1353Appendix, elisp, Emacs Lisp Reference}. 1353Appendix, elisp, Emacs Lisp Reference}.
1354@end ifnothtml 1354@end ifnothtml
1355@end ifset 1355@end ifset
1356@ifclear WWW_GNU_ORG 1356@ifclear WWW_GNU_ORG
1357@xref{Tips, ``Tips'' Appendix in the Emacs Lisp Reference, Tips 1357@xref{Tips, ``Tips and Conventions'' Appendix in the Emacs Lisp Reference, Tips
1358Appendix, elisp, Emacs Lisp Reference}. 1358Appendix, elisp, Emacs Lisp Reference}.
1359@end ifclear 1359@end ifclear
1360 1360
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi
index 8dccbf9f81c..3eb9b035823 100644
--- a/doc/emacs/vc1-xtra.texi
+++ b/doc/emacs/vc1-xtra.texi
@@ -430,7 +430,7 @@ that @kbd{C-x v ~} saves old versions to
430@end ifnottex 430@end ifnottex
431except for the additional dot (@samp{.}) after the version. The 431except for the additional dot (@samp{.}) after the version. The
432relevant VC commands can use both kinds of version backups. The main 432relevant VC commands can use both kinds of version backups. The main
433difference is that the ``manual'' version backups made by @kbd{C-x v 433difference is that the manual version backups made by @kbd{C-x v
434~} are not deleted automatically when you commit. 434~} are not deleted automatically when you commit.
435 435
436@cindex locking (CVS) 436@cindex locking (CVS)
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi
index 24cc946ac12..cb37222e967 100644
--- a/doc/emacs/windows.texi
+++ b/doc/emacs/windows.texi
@@ -334,18 +334,18 @@ heights of all the windows in the selected frame.
334@node Displaying Buffers 334@node Displaying Buffers
335@section Displaying a Buffer in a Window 335@section Displaying a Buffer in a Window
336 336
337 It is a common Emacs operation to display or ``pop up'' some buffer 337 It is a common Emacs operation to display or pop up some buffer
338in response to a user command. There are several different ways in 338in response to a user command. There are several different ways in
339which commands do this. 339which commands do this.
340 340
341 Many commands, like @kbd{C-x C-f} (@code{find-file}), display the 341 Many commands, like @kbd{C-x C-f} (@code{find-file}), display the
342buffer by ``taking over'' the selected window, expecting that the 342buffer by taking over the selected window, expecting that the
343user's attention will be diverted to that buffer. These commands 343user's attention will be diverted to that buffer. These commands
344usually work by calling @code{switch-to-buffer} internally 344usually work by calling @code{switch-to-buffer} internally
345(@pxref{Select Buffer}). 345(@pxref{Select Buffer}).
346 346
347@findex display-buffer 347@findex display-buffer
348 Some commands try to display ``intelligently'', trying not to take 348 Some commands try to display intelligently, trying not to take
349over the selected window, e.g., by splitting off a new window and 349over the selected window, e.g., by splitting off a new window and
350displaying the desired buffer there. Such commands, which include the 350displaying the desired buffer there. Such commands, which include the
351various help commands (@pxref{Help}), work by calling 351various help commands (@pxref{Help}), work by calling
@@ -398,7 +398,7 @@ variables are @code{nil}, so this step is skipped.
398 398
399@item 399@item
400Otherwise, if the buffer is already displayed in an existing window, 400Otherwise, if the buffer is already displayed in an existing window,
401``reuse'' that window. Normally, only windows on the selected frame 401reuse that window. Normally, only windows on the selected frame
402are considered, but windows on other frames are also reusable if you 402are considered, but windows on other frames are also reusable if you
403change @code{pop-up-frames} (see below) to @code{t}. 403change @code{pop-up-frames} (see below) to @code{t}.
404 404
@@ -444,7 +444,7 @@ and display the buffer there.
444@cindex window configuration changes, undoing 444@cindex window configuration changes, undoing
445 Winner mode is a global minor mode that records the changes in the 445 Winner mode is a global minor mode that records the changes in the
446window configuration (i.e., how the frames are partitioned into 446window configuration (i.e., how the frames are partitioned into
447windows), so that you can ``undo'' them. You can toggle Winner mode 447windows), so that you can undo them. You can toggle Winner mode
448with @kbd{M-x winner-mode}, or by customizing the variable 448with @kbd{M-x winner-mode}, or by customizing the variable
449@code{winner-mode}. When the mode is enabled, @kbd{C-c left} 449@code{winner-mode}. When the mode is enabled, @kbd{C-c left}
450(@code{winner-undo}) undoes the last window configuration change. If 450(@code{winner-undo}) undoes the last window configuration change. If
@@ -462,7 +462,7 @@ buffer. @xref{Follow Mode}.
462 The Windmove package defines commands for moving directionally 462 The Windmove package defines commands for moving directionally
463between neighboring windows in a frame. @kbd{M-x windmove-right} 463between neighboring windows in a frame. @kbd{M-x windmove-right}
464selects the window immediately to the right of the currently selected 464selects the window immediately to the right of the currently selected
465one, and similarly for the ``left'', ``up'', and ``down'' 465one, and similarly for the left, up, and down
466counterparts. @kbd{M-x windmove-default-keybindings} binds these 466counterparts. @kbd{M-x windmove-default-keybindings} binds these
467commands to @kbd{S-right} etc.; doing so disables shift selection for 467commands to @kbd{S-right} etc.; doing so disables shift selection for
468those keys (@pxref{Shift Selection}). 468those keys (@pxref{Shift Selection}).
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi
index 25552d1e895..afd27669967 100644
--- a/doc/emacs/xresources.texi
+++ b/doc/emacs/xresources.texi
@@ -12,10 +12,10 @@ resources, as is usual for programs that use X.
12graphical widgets, such as the menu-bar, scroll-bar, and dialog boxes, 12graphical widgets, such as the menu-bar, scroll-bar, and dialog boxes,
13is determined by 13is determined by
14@ifnottex 14@ifnottex
15``GTK resources'', which we will also describe. 15GTK resources, which we will also describe.
16@end ifnottex 16@end ifnottex
17@iftex 17@iftex
18``GTK resources''. 18GTK resources.
19@end iftex 19@end iftex
20When Emacs is built without GTK+ support, the appearance of these 20When Emacs is built without GTK+ support, the appearance of these
21widgets is determined by additional X resources. 21widgets is determined by additional X resources.
@@ -238,8 +238,8 @@ this way.
238 238
239@ifnottex 239@ifnottex
240@item @code{privateColormap} (class @code{PrivateColormap}) 240@item @code{privateColormap} (class @code{PrivateColormap})
241If @samp{on}, use a private color map, in the case where the ``default 241If @samp{on}, use a private color map, in the case where the default
242visual'' of class PseudoColor and Emacs is using it. 242visual of class PseudoColor and Emacs is using it.
243 243
244@item @code{reverseVideo} (class @code{ReverseVideo}) 244@item @code{reverseVideo} (class @code{ReverseVideo})
245Switch foreground and background default colors if @samp{on}, use colors as 245Switch foreground and background default colors if @samp{on}, use colors as
@@ -677,7 +677,7 @@ class @code{GtkDialog}. For file selection, Emacs uses a widget named
677@code{emacs-filedialog}, of class @code{GtkFileSelection}. 677@code{emacs-filedialog}, of class @code{GtkFileSelection}.
678 678
679 Because the widgets for pop-up menus and dialogs are free-standing 679 Because the widgets for pop-up menus and dialogs are free-standing
680windows and not ``contained'' in the @code{Emacs} widget, their GTK+ 680windows and not contained in the @code{Emacs} widget, their GTK+
681absolute names do not start with @samp{Emacs}. To customize these 681absolute names do not start with @samp{Emacs}. To customize these
682widgets, use wildcards like this: 682widgets, use wildcards like this:
683 683
@@ -747,8 +747,8 @@ This is the default state for widgets.
747@item ACTIVE 747@item ACTIVE
748This is the state for a widget that is ready to do something. It is 748This is the state for a widget that is ready to do something. It is
749also for the trough of a scroll bar, i.e., @code{bg[ACTIVE] = "red"} 749also for the trough of a scroll bar, i.e., @code{bg[ACTIVE] = "red"}
750sets the scroll bar trough to red. Buttons that have been pressed but 750sets the scroll bar trough to red. Buttons that have been armed
751not released yet (``armed'') are in this state. 751(pressed but not released yet) are in this state.
752@item PRELIGHT 752@item PRELIGHT
753This is the state for a widget that can be manipulated, when the mouse 753This is the state for a widget that can be manipulated, when the mouse
754pointer is over it---for example when the mouse is over the thumb in 754pointer is over it---for example when the mouse is over the thumb in
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index d353241c34a..4be0eec13e2 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -808,7 +808,7 @@ In addition, I have written several programs as extended examples.
808Although these are examples, the programs are real. I use them. 808Although these are examples, the programs are real. I use them.
809Other people use them. You may use them. Beyond the fragments of 809Other people use them. You may use them. Beyond the fragments of
810programs used for illustrations, there is very little in here that is 810programs used for illustrations, there is very little in here that is
811``just for teaching purposes''; what you see is used. This is a great 811just for teaching purposes; what you see is used. This is a great
812advantage of Emacs Lisp: it is easy to learn to use it for work. 812advantage of Emacs Lisp: it is easy to learn to use it for work.
813@end ignore 813@end ignore
814 814
@@ -854,12 +854,12 @@ information so you won't be surprised later when the additional
854information is formally introduced.) 854information is formally introduced.)
855 855
856When you read this text, you are not expected to learn everything the 856When you read this text, you are not expected to learn everything the
857first time. Frequently, you need only make, as it were, a ``nodding 857first time. Frequently, you need make only a nodding
858acquaintance'' with some of the items mentioned. My hope is that I have 858acquaintance with some of the items mentioned. My hope is that I have
859structured the text and given you enough hints that you will be alert to 859structured the text and given you enough hints that you will be alert to
860what is important, and concentrate on it. 860what is important, and concentrate on it.
861 861
862You will need to ``dive into'' some paragraphs; there is no other way 862You will need to dive into some paragraphs; there is no other way
863to read them. But I have tried to keep down the number of such 863to read them. But I have tried to keep down the number of such
864paragraphs. This book is intended as an approachable hill, rather than 864paragraphs. This book is intended as an approachable hill, rather than
865as a daunting mountain. 865as a daunting mountain.
@@ -928,7 +928,7 @@ along with the key that is labeled @key{ALT} and, at the same time,
928press the @key{\} key. 928press the @key{\} key.
929 929
930In addition to typing a lone keychord, you can prefix what you type 930In addition to typing a lone keychord, you can prefix what you type
931with @kbd{C-u}, which is called the ``universal argument''. The 931with @kbd{C-u}, which is called the @dfn{universal argument}. The
932@kbd{C-u} keychord passes an argument to the subsequent command. 932@kbd{C-u} keychord passes an argument to the subsequent command.
933Thus, to indent a region of plain text by 6 spaces, mark the region, 933Thus, to indent a region of plain text by 6 spaces, mark the region,
934and then type @w{@kbd{C-u 6 M-C-\}}. (If you do not specify a number, 934and then type @w{@kbd{C-u 6 M-C-\}}. (If you do not specify a number,
@@ -1265,9 +1265,9 @@ hand parenthesis of the following list and then type @kbd{C-x C-e}:
1265 1265
1266@c use code for the number four, not samp. 1266@c use code for the number four, not samp.
1267@noindent 1267@noindent
1268You will see the number @code{4} appear in the echo area. (In the 1268You will see the number @code{4} appear in the echo area. (What
1269jargon, what you have just done is ``evaluate the list.'' The echo area 1269you have just done is evaluate the list. The echo area
1270is the line at the bottom of the screen that displays or ``echoes'' 1270is the line at the bottom of the screen that displays or echoes
1271text.) Now try the same thing with a quoted list: place the cursor 1271text.) Now try the same thing with a quoted list: place the cursor
1272right after the following list and type @kbd{C-x C-e}: 1272right after the following list and type @kbd{C-x C-e}:
1273 1273
@@ -1284,7 +1284,7 @@ In both cases, what you are doing is giving a command to the program
1284inside of GNU Emacs called the @dfn{Lisp interpreter}---giving the 1284inside of GNU Emacs called the @dfn{Lisp interpreter}---giving the
1285interpreter a command to evaluate the expression. The name of the Lisp 1285interpreter a command to evaluate the expression. The name of the Lisp
1286interpreter comes from the word for the task done by a human who comes 1286interpreter comes from the word for the task done by a human who comes
1287up with the meaning of an expression---who ``interprets'' it. 1287up with the meaning of an expression---who interprets it.
1288 1288
1289You can also evaluate an atom that is not part of a list---one that is 1289You can also evaluate an atom that is not part of a list---one that is
1290not surrounded by parentheses; again, the Lisp interpreter translates 1290not surrounded by parentheses; again, the Lisp interpreter translates
@@ -1307,7 +1307,7 @@ signposts to a traveler in a strange country; deciphering them can be
1307hard, but once understood, they can point the way. 1307hard, but once understood, they can point the way.
1308 1308
1309The error message is generated by a built-in GNU Emacs debugger. We 1309The error message is generated by a built-in GNU Emacs debugger. We
1310will ``enter the debugger''. You get out of the debugger by typing @code{q}. 1310will enter the debugger. You get out of the debugger by typing @code{q}.
1311 1311
1312What we will do is evaluate a list that is not quoted and does not 1312What we will do is evaluate a list that is not quoted and does not
1313have a meaningful command as its first element. Here is a list almost 1313have a meaningful command as its first element. Here is a list almost
@@ -1405,7 +1405,7 @@ definition of any set of instructions for the computer to carry out.
1405The slightly odd word, @samp{void-function}, is designed to cover the 1405The slightly odd word, @samp{void-function}, is designed to cover the
1406way Emacs Lisp is implemented, which is that when a symbol does not 1406way Emacs Lisp is implemented, which is that when a symbol does not
1407have a function definition attached to it, the place that should 1407have a function definition attached to it, the place that should
1408contain the instructions is ``void''. 1408contain the instructions is void.
1409 1409
1410On the other hand, since we were able to add 2 plus 2 successfully, by 1410On the other hand, since we were able to add 2 plus 2 successfully, by
1411evaluating @code{(+ 2 2)}, we can infer that the symbol @code{+} must 1411evaluating @code{(+ 2 2)}, we can infer that the symbol @code{+} must
@@ -1596,16 +1596,15 @@ instructions it found in the function definition, or perhaps it will
1596give up on that function and produce an error message. (The interpreter 1596give up on that function and produce an error message. (The interpreter
1597may also find itself tossed, so to speak, to a different function or it 1597may also find itself tossed, so to speak, to a different function or it
1598may attempt to repeat continually what it is doing for ever and ever in 1598may attempt to repeat continually what it is doing for ever and ever in
1599what is called an ``infinite loop''. These actions are less common; and 1599an infinite loop. These actions are less common; and
1600we can ignore them.) Most frequently, the interpreter returns a value. 1600we can ignore them.) Most frequently, the interpreter returns a value.
1601 1601
1602@cindex @samp{side effect} defined 1602@cindex @samp{side effect} defined
1603At the same time the interpreter returns a value, it may do something 1603At the same time the interpreter returns a value, it may do something
1604else as well, such as move a cursor or copy a file; this other kind of 1604else as well, such as move a cursor or copy a file; this other kind of
1605action is called a @dfn{side effect}. Actions that we humans think are 1605action is called a @dfn{side effect}. Actions that we humans think are
1606important, such as printing results, are often ``side effects'' to the 1606important, such as printing results, are often side effects to the
1607Lisp interpreter. The jargon can sound peculiar, but it turns out that 1607Lisp interpreter. It is fairly easy to learn to use side effects.
1608it is fairly easy to learn to use side effects.
1609 1608
1610In summary, evaluating a symbolic expression most commonly causes the 1609In summary, evaluating a symbolic expression most commonly causes the
1611Lisp interpreter to return a value and perhaps carry out a side effect; 1610Lisp interpreter to return a value and perhaps carry out a side effect;
@@ -1642,8 +1641,8 @@ evaluate, the interpreter prints that value in the echo area.
1642Now it is easy to understand the name of the command invoked by the 1641Now it is easy to understand the name of the command invoked by the
1643keystrokes @kbd{C-x C-e}: the name is @code{eval-last-sexp}. The 1642keystrokes @kbd{C-x C-e}: the name is @code{eval-last-sexp}. The
1644letters @code{sexp} are an abbreviation for ``symbolic expression'', and 1643letters @code{sexp} are an abbreviation for ``symbolic expression'', and
1645@code{eval} is an abbreviation for ``evaluate''. The command means 1644@code{eval} is an abbreviation for ``evaluate''. The command
1646``evaluate last symbolic expression''. 1645evaluates the last symbolic expression.
1647 1646
1648As an experiment, you can try evaluating the expression by putting the 1647As an experiment, you can try evaluating the expression by putting the
1649cursor at the beginning of the next line immediately following the 1648cursor at the beginning of the next line immediately following the
@@ -1948,8 +1947,9 @@ following:
1948@noindent 1947@noindent
1949The value produced by evaluating this expression is @code{"abcdef"}. 1948The value produced by evaluating this expression is @code{"abcdef"}.
1950 1949
1950@cindex substring
1951A function such as @code{substring} uses both a string and numbers as 1951A function such as @code{substring} uses both a string and numbers as
1952arguments. The function returns a part of the string, a substring of 1952arguments. The function returns a part of the string, a @dfn{substring} of
1953the first argument. This function takes three arguments. Its first 1953the first argument. This function takes three arguments. Its first
1954argument is the string of characters, the second and third arguments 1954argument is the string of characters, the second and third arguments
1955are numbers that indicate the beginning (inclusive) and end 1955are numbers that indicate the beginning (inclusive) and end
@@ -1973,7 +1973,7 @@ Note that the string passed to @code{substring} is a single atom even
1973though it is made up of several words separated by spaces. Lisp counts 1973though it is made up of several words separated by spaces. Lisp counts
1974everything between the two quotation marks as part of the string, 1974everything between the two quotation marks as part of the string,
1975including the spaces. You can think of the @code{substring} function as 1975including the spaces. You can think of the @code{substring} function as
1976a kind of ``atom smasher'' since it takes an otherwise indivisible atom 1976a kind of atom smasher since it takes an otherwise indivisible atom
1977and extracts a part. However, @code{substring} is only able to extract 1977and extracts a part. However, @code{substring} is only able to extract
1978a substring from an argument that is a string, not from another type of 1978a substring from an argument that is a string, not from another type of
1979atom such as a number or symbol. 1979atom such as a number or symbol.
@@ -2403,7 +2403,7 @@ list. This latter way of thinking is very common and in forthcoming
2403chapters we shall come upon at least one symbol that has ``pointer'' as 2403chapters we shall come upon at least one symbol that has ``pointer'' as
2404part of its name. The name is chosen because the symbol has a value, 2404part of its name. The name is chosen because the symbol has a value,
2405specifically a list, attached to it; or, expressed another way, 2405specifically a list, attached to it; or, expressed another way,
2406the symbol is set to ``point'' to the list. 2406the symbol is set to point to the list.
2407 2407
2408@node Counting 2408@node Counting
2409@subsection Counting 2409@subsection Counting
@@ -2508,8 +2508,8 @@ of which the function is the first element.
2508 2508
2509@item 2509@item
2510A function always returns a value when it is evaluated (unless it gets 2510A function always returns a value when it is evaluated (unless it gets
2511an error); in addition, it may also carry out some action called a 2511an error); in addition, it may also carry out some action that is a
2512``side effect''. In many cases, a function's primary purpose is to 2512side effect. In many cases, a function's primary purpose is to
2513create a side effect. 2513create a side effect.
2514@end itemize 2514@end itemize
2515 2515
@@ -2870,7 +2870,7 @@ there until the command finishes running).
2870Also, we have just introduced another jargon term, the word @dfn{call}. 2870Also, we have just introduced another jargon term, the word @dfn{call}.
2871When you evaluate a list in which the first symbol is a function, you 2871When you evaluate a list in which the first symbol is a function, you
2872are calling that function. The use of the term comes from the notion of 2872are calling that function. The use of the term comes from the notion of
2873the function as an entity that can do something for you if you ``call'' 2873the function as an entity that can do something for you if you call
2874it---just as a plumber is an entity who can fix a leak if you call him 2874it---just as a plumber is an entity who can fix a leak if you call him
2875or her. 2875or her.
2876 2876
@@ -3156,7 +3156,7 @@ to evaluate this yet!
3156 3156
3157@noindent 3157@noindent
3158The symbol @code{number}, specified in the function definition in the 3158The symbol @code{number}, specified in the function definition in the
3159next section, is given or ``bound to'' the value 3 in the actual use of 3159next section, is bound to the value 3 in the actual use of
3160the function. Note that although @code{number} was inside parentheses 3160the function. Note that although @code{number} was inside parentheses
3161in the function definition, the argument passed to the 3161in the function definition, the argument passed to the
3162@code{multiply-by-seven} function is not in parentheses. The 3162@code{multiply-by-seven} function is not in parentheses. The
@@ -3167,7 +3167,7 @@ definition begins.
3167If you evaluate this example, you are likely to get an error message. 3167If you evaluate this example, you are likely to get an error message.
3168(Go ahead, try it!) This is because we have written the function 3168(Go ahead, try it!) This is because we have written the function
3169definition, but not yet told the computer about the definition---we have 3169definition, but not yet told the computer about the definition---we have
3170not yet installed (or ``loaded'') the function definition in Emacs. 3170not yet loaded the function definition in Emacs.
3171Installing a function is the process that tells the Lisp interpreter the 3171Installing a function is the process that tells the Lisp interpreter the
3172definition of the function. Installation is described in the next 3172definition of the function. Installation is described in the next
3173section. 3173section.
@@ -3257,8 +3257,8 @@ add the number to itself seven times instead of multiplying the number
3257by seven. It produces the same answer, but by a different path. At 3257by seven. It produces the same answer, but by a different path. At
3258the same time, we will add a comment to the code; a comment is text 3258the same time, we will add a comment to the code; a comment is text
3259that the Lisp interpreter ignores, but that a human reader may find 3259that the Lisp interpreter ignores, but that a human reader may find
3260useful or enlightening. The comment is that this is the ``second 3260useful or enlightening. The comment is that this is the second
3261version''. 3261version.
3262 3262
3263@smallexample 3263@smallexample
3264@group 3264@group
@@ -3361,7 +3361,7 @@ it could not be used as an example of key binding.)
3361(@xref{Keybindings, , Some Keybindings}, to learn how to bind a command 3361(@xref{Keybindings, , Some Keybindings}, to learn how to bind a command
3362to a key.) 3362to a key.)
3363 3363
3364A prefix argument is passed to an interactive function by typing the 3364A @dfn{prefix argument} is passed to an interactive function by typing the
3365@key{META} key followed by a number, for example, @kbd{M-3 M-e}, or by 3365@key{META} key followed by a number, for example, @kbd{M-3 M-e}, or by
3366typing @kbd{C-u} and then a number, for example, @kbd{C-u 3 M-e} (if you 3366typing @kbd{C-u} and then a number, for example, @kbd{C-u 3 M-e} (if you
3367type @kbd{C-u} without a number, it defaults to 4). 3367type @kbd{C-u} without a number, it defaults to 4).
@@ -3460,7 +3460,7 @@ is
3460 3460
3461The first part of the argument to @code{interactive} is @samp{p}, with 3461The first part of the argument to @code{interactive} is @samp{p}, with
3462which you are already familiar. This argument tells Emacs to 3462which you are already familiar. This argument tells Emacs to
3463interpret a ``prefix'', as a number to be passed to the function. You 3463interpret a prefix, as a number to be passed to the function. You
3464can specify a prefix either by typing @kbd{C-u} followed by a number 3464can specify a prefix either by typing @kbd{C-u} followed by a number
3465or by typing @key{META} followed by a number. The prefix is the 3465or by typing @key{META} followed by a number. The prefix is the
3466number of specified characters. Thus, if your prefix is three and the 3466number of specified characters. Thus, if your prefix is three and the
@@ -3616,14 +3616,14 @@ Another way to think about @code{let} is that it is like a @code{setq}
3616that is temporary and local. The values set by @code{let} are 3616that is temporary and local. The values set by @code{let} are
3617automatically undone when the @code{let} is finished. The setting 3617automatically undone when the @code{let} is finished. The setting
3618only affects expressions that are inside the bounds of the @code{let} 3618only affects expressions that are inside the bounds of the @code{let}
3619expression. In computer science jargon, we would say ``the binding of 3619expression. In computer science jargon, we would say the binding of
3620a symbol is visible only in functions called in the @code{let} form; 3620a symbol is visible only in functions called in the @code{let} form;
3621in Emacs Lisp, scoping is dynamic, not lexical.'' 3621in Emacs Lisp, scoping is dynamic, not lexical.
3622 3622
3623@code{let} can create more than one variable at once. Also, 3623@code{let} can create more than one variable at once. Also,
3624@code{let} gives each variable it creates an initial value, either a 3624@code{let} gives each variable it creates an initial value, either a
3625value specified by you, or @code{nil}. (In the jargon, this is called 3625value specified by you, or @code{nil}. (In the jargon, this is
3626``binding the variable to the value''.) After @code{let} has created 3626binding the variable to the value.) After @code{let} has created
3627and bound the variables, it executes the code in the body of the 3627and bound the variables, it executes the code in the body of the
3628@code{let}, and returns the value of the last expression in the body, 3628@code{let}, and returns the value of the last expression in the body,
3629as the value of the whole @code{let} expression. (``Execute'' is a jargon 3629as the value of the whole @code{let} expression. (``Execute'' is a jargon
@@ -3790,8 +3790,8 @@ make decisions. You can write function definitions without using
3790included here. It is used, for example, in the code for the 3790included here. It is used, for example, in the code for the
3791function @code{beginning-of-buffer}. 3791function @code{beginning-of-buffer}.
3792 3792
3793The basic idea behind an @code{if}, is that ``@emph{if} a test is true, 3793The basic idea behind an @code{if}, is that @emph{if} a test is true,
3794@emph{then} an expression is evaluated.'' If the test is not true, the 3794@emph{then} an expression is evaluated. If the test is not true, the
3795expression is not evaluated. For example, you might make a decision 3795expression is not evaluated. For example, you might make a decision
3796such as, ``if it is warm and sunny, then go to the beach!'' 3796such as, ``if it is warm and sunny, then go to the beach!''
3797 3797
@@ -3815,7 +3815,7 @@ argument is often called the @dfn{then-part}.
3815 3815
3816Also, when an @code{if} expression is written, the true-or-false-test 3816Also, when an @code{if} expression is written, the true-or-false-test
3817is usually written on the same line as the symbol @code{if}, but the 3817is usually written on the same line as the symbol @code{if}, but the
3818action to carry out if the test is true, the ``then-part'', is written 3818action to carry out if the test is true, the then-part, is written
3819on the second and subsequent lines. This makes the @code{if} 3819on the second and subsequent lines. This makes the @code{if}
3820expression easier to read. 3820expression easier to read.
3821 3821
@@ -4612,7 +4612,7 @@ file, you can use the @code{find-tag} function to jump to it.
4612Lisp, and C, and it works with non-programming text as well. For 4612Lisp, and C, and it works with non-programming text as well. For
4613example, @code{find-tag} will jump to the various nodes in the 4613example, @code{find-tag} will jump to the various nodes in the
4614Texinfo source file of this document. 4614Texinfo source file of this document.
4615The @code{find-tag} function depends on ``tags tables'' that record 4615The @code{find-tag} function depends on @dfn{tags tables} that record
4616the locations of the functions, variables, and other items to which 4616the locations of the functions, variables, and other items to which
4617@code{find-tag} jumps. 4617@code{find-tag} jumps.
4618 4618
@@ -4630,7 +4630,7 @@ screen. To switch back to your current buffer, type @kbd{C-x b
4630@cindex TAGS table, specifying 4630@cindex TAGS table, specifying
4631@findex find-tag 4631@findex find-tag
4632Depending on how the initial default values of your copy of Emacs are 4632Depending on how the initial default values of your copy of Emacs are
4633set, you may also need to specify the location of your ``tags table'', 4633set, you may also need to specify the location of your tags table,
4634which is a file called @file{TAGS}. For example, if you are 4634which is a file called @file{TAGS}. For example, if you are
4635interested in Emacs sources, the tags table you will most likely want, 4635interested in Emacs sources, the tags table you will most likely want,
4636if it has already been created for you, will be in a subdirectory of 4636if it has already been created for you, will be in a subdirectory of
@@ -4964,8 +4964,7 @@ current buffer to a specified buffer.
4964The @code{append-to-buffer} command uses the 4964The @code{append-to-buffer} command uses the
4965@code{insert-buffer-substring} function to copy the region. 4965@code{insert-buffer-substring} function to copy the region.
4966@code{insert-buffer-substring} is described by its name: it takes a 4966@code{insert-buffer-substring} is described by its name: it takes a
4967string of characters from part of a buffer, a ``substring'', and 4967substring from a buffer, and inserts it into another buffer.
4968inserts them into another buffer.
4969 4968
4970Most of @code{append-to-buffer} is 4969Most of @code{append-to-buffer} is
4971concerned with setting up the conditions for 4970concerned with setting up the conditions for
@@ -5712,8 +5711,8 @@ then the buffer itself must be got.
5712 5711
5713You can imagine yourself at a conference where an usher is wandering 5712You can imagine yourself at a conference where an usher is wandering
5714around holding a list with your name on it and looking for you: the 5713around holding a list with your name on it and looking for you: the
5715usher is ``bound'' to your name, not to you; but when the usher finds 5714usher is bound to your name, not to you; but when the usher finds
5716you and takes your arm, the usher becomes ``bound'' to you. 5715you and takes your arm, the usher becomes bound to you.
5717 5716
5718@need 800 5717@need 800
5719In Lisp, you might describe this situation like this: 5718In Lisp, you might describe this situation like this:
@@ -5764,8 +5763,7 @@ so the true-or-false-test looks like this:
5764@noindent 5763@noindent
5765@code{not} is a function that returns true if its argument is false 5764@code{not} is a function that returns true if its argument is false
5766and false if its argument is true. So if @code{(bufferp buffer)} 5765and false if its argument is true. So if @code{(bufferp buffer)}
5767returns true, the @code{not} expression returns false and vice versa: 5766returns true, the @code{not} expression returns false and vice versa.
5768what is ``not true'' is false and what is ``not false'' is true.
5769 5767
5770Using this test, the @code{if} expression works as follows: when the 5768Using this test, the @code{if} expression works as follows: when the
5771value of the variable @code{buffer} is actually a buffer rather than 5769value of the variable @code{buffer} is actually a buffer rather than
@@ -6163,7 +6161,7 @@ was that function called several times, it gave the size of the whole
6163buffer, not the accessible part. The computation makes much more 6161buffer, not the accessible part. The computation makes much more
6164sense when it handles just the accessible part. (@xref{Narrowing & 6162sense when it handles just the accessible part. (@xref{Narrowing &
6165Widening, , Narrowing and Widening}, for more information on focusing 6163Widening, , Narrowing and Widening}, for more information on focusing
6166attention to an ``accessible'' part.) 6164attention to an accessible part.)
6167 6165
6168@need 800 6166@need 800
6169The line looks like this: 6167The line looks like this:
@@ -6191,8 +6189,8 @@ This expression is a multiplication, with two arguments to the function
6191 6189
6192The first argument is @code{(prefix-numeric-value arg)}. When 6190The first argument is @code{(prefix-numeric-value arg)}. When
6193@code{"P"} is used as the argument for @code{interactive}, the value 6191@code{"P"} is used as the argument for @code{interactive}, the value
6194passed to the function as its argument is passed a ``raw prefix 6192passed to the function as its argument is passed a @dfn{raw prefix
6195argument'', and not a number. (It is a number in a list.) To perform 6193argument}, and not a number. (It is a number in a list.) To perform
6196the arithmetic, a conversion is necessary, and 6194the arithmetic, a conversion is necessary, and
6197@code{prefix-numeric-value} does the job. 6195@code{prefix-numeric-value} does the job.
6198 6196
@@ -6411,7 +6409,7 @@ tenths of the way through the buffer, which is a nicety that is,
6411perhaps, not necessary, but which, if it did not occur, would be sure 6409perhaps, not necessary, but which, if it did not occur, would be sure
6412to draw complaints. (The @code{(not (consp arg))} portion is so that 6410to draw complaints. (The @code{(not (consp arg))} portion is so that
6413if you specify the command with a @kbd{C-u}, but without a number, 6411if you specify the command with a @kbd{C-u}, but without a number,
6414that is to say, if the ``raw prefix argument'' is simply a cons cell, 6412that is to say, if the raw prefix argument is simply a cons cell,
6415the command does not put you at the beginning of the second line.) 6413the command does not put you at the beginning of the second line.)
6416 6414
6417@node Second Buffer Related Review 6415@node Second Buffer Related Review
@@ -6440,7 +6438,7 @@ is optional; this means that the function can be evaluated without the
6440argument, if desired. 6438argument, if desired.
6441 6439
6442@item prefix-numeric-value 6440@item prefix-numeric-value
6443Convert the ``raw prefix argument'' produced by @code{(interactive 6441Convert the raw prefix argument produced by @code{(interactive
6444"P")} to a numeric value. 6442"P")} to a numeric value.
6445 6443
6446@item forward-line 6444@item forward-line
@@ -6946,10 +6944,10 @@ non-destructive---that is, they do not modify or change lists to which
6946they are applied. This is very important for how they are used. 6944they are applied. This is very important for how they are used.
6947 6945
6948Also, in the first chapter, in the discussion about atoms, I said that 6946Also, in the first chapter, in the discussion about atoms, I said that
6949in Lisp, ``certain kinds of atom, such as an array, can be separated 6947in Lisp, certain kinds of atom, such as an array, can be separated
6950into parts; but the mechanism for doing this is different from the 6948into parts; but the mechanism for doing this is different from the
6951mechanism for splitting a list. As far as Lisp is concerned, the 6949mechanism for splitting a list. As far as Lisp is concerned, the
6952atoms of a list are unsplittable.'' (@xref{Lisp Atoms}.) The 6950atoms of a list are unsplittable. (@xref{Lisp Atoms}.) The
6953@code{car} and @code{cdr} functions are used for splitting lists and 6951@code{car} and @code{cdr} functions are used for splitting lists and
6954are considered fundamental to Lisp. Since they cannot split or gain 6952are considered fundamental to Lisp. Since they cannot split or gain
6955access to the parts of an array, an array is considered an atom. 6953access to the parts of an array, an array is considered an atom.
@@ -6983,8 +6981,8 @@ appear in the echo area. @code{cons} causes the creation of a new
6983list in which the element is followed by the elements of the original 6981list in which the element is followed by the elements of the original
6984list. 6982list.
6985 6983
6986We often say that ``@code{cons} puts a new element at the beginning of 6984We often say that @code{cons} puts a new element at the beginning of
6987a list; it attaches or pushes elements onto the list'', but this 6985a list, or that it attaches or pushes elements onto the list, but this
6988phrasing can be misleading, since @code{cons} does not change an 6986phrasing can be misleading, since @code{cons} does not change an
6989existing list, but creates a new one. 6987existing list, but creates a new one.
6990 6988
@@ -7281,9 +7279,9 @@ This can be very convenient.
7281 7279
7282Note that the elements are numbered from zero, not one. That is to 7280Note that the elements are numbered from zero, not one. That is to
7283say, the first element of a list, its @sc{car} is the zeroth element. 7281say, the first element of a list, its @sc{car} is the zeroth element.
7284This is called ``zero-based'' counting and often bothers people who 7282This zero-based counting often bothers people who
7285are accustomed to the first element in a list being number one, which 7283are accustomed to the first element in a list being number one, which
7286is ``one-based''. 7284is one-based.
7287 7285
7288@need 1250 7286@need 1250
7289For example: 7287For example:
@@ -7422,7 +7420,7 @@ variable which has a list as its value, and the list to which the
7422@noindent 7420@noindent
7423If you evaluate this expression, the list @code{(cat dog)} will appear 7421If you evaluate this expression, the list @code{(cat dog)} will appear
7424in the echo area. This is the value returned by the function. The 7422in the echo area. This is the value returned by the function. The
7425result we are interested in is the ``side effect'', which we can see by 7423result we are interested in is the side effect, which we can see by
7426evaluating the variable @code{domesticated-animals}: 7424evaluating the variable @code{domesticated-animals}:
7427 7425
7428@smallexample 7426@smallexample
@@ -7454,9 +7452,9 @@ fish. Replace the rest of that list with a list of other fish.
7454@cindex Erasing text 7452@cindex Erasing text
7455@cindex Deleting text 7453@cindex Deleting text
7456 7454
7457Whenever you cut or clip text out of a buffer with a ``kill'' command in 7455Whenever you cut or clip text out of a buffer with a @dfn{kill} command in
7458GNU Emacs, it is stored in a list and you can bring it back with a 7456GNU Emacs, it is stored in a list and you can bring it back with a
7459``yank'' command. 7457@dfn{yank} command.
7460 7458
7461(The use of the word ``kill'' in Emacs for processes which specifically 7459(The use of the word ``kill'' in Emacs for processes which specifically
7462@emph{do not} destroy the values of the entities is an unfortunate 7460@emph{do not} destroy the values of the entities is an unfortunate
@@ -7537,7 +7535,7 @@ than nothing at all.
7537The list that holds the pieces of text is called the @dfn{kill ring}. 7535The list that holds the pieces of text is called the @dfn{kill ring}.
7538This chapter leads up to a description of the kill ring and how it is 7536This chapter leads up to a description of the kill ring and how it is
7539used by first tracing how the @code{zap-to-char} function works. This 7537used by first tracing how the @code{zap-to-char} function works. This
7540function uses (or ``calls'') a function that invokes a function that 7538function calls a function that invokes a function that
7541manipulates the kill ring. Thus, before reaching the mountains, we 7539manipulates the kill ring. Thus, before reaching the mountains, we
7542climb the foothills. 7540climb the foothills.
7543 7541
@@ -7648,7 +7646,7 @@ The part within quotation marks, @code{"p\ncZap to char:@: "}, specifies
7648two different things. First, and most simply, is the @samp{p}. 7646two different things. First, and most simply, is the @samp{p}.
7649This part is separated from the next part by a newline, @samp{\n}. 7647This part is separated from the next part by a newline, @samp{\n}.
7650The @samp{p} means that the first argument to the function will be 7648The @samp{p} means that the first argument to the function will be
7651passed the value of a ``processed prefix''. The prefix argument is 7649passed the value of a @dfn{processed prefix}. The prefix argument is
7652passed by typing @kbd{C-u} and a number, or @kbd{M-} and a number. If 7650passed by typing @kbd{C-u} and a number, or @kbd{M-} and a number. If
7653the function is called interactively without a prefix, 1 is passed to 7651the function is called interactively without a prefix, 1 is passed to
7654this argument. 7652this argument.
@@ -7719,7 +7717,7 @@ function @code{char-to-string} to ensure that the computer treats that
7719character as a string.) If the search is backwards, 7717character as a string.) If the search is backwards,
7720@code{search-forward} leaves point just before the first character in 7718@code{search-forward} leaves point just before the first character in
7721the target. Also, @code{search-forward} returns @code{t} for true. 7719the target. Also, @code{search-forward} returns @code{t} for true.
7722(Moving point is therefore a ``side effect''.) 7720(Moving point is therefore a side effect.)
7723 7721
7724@need 1250 7722@need 1250
7725In @code{zap-to-char}, the @code{search-forward} function looks like this: 7723In @code{zap-to-char}, the @code{search-forward} function looks like this:
@@ -8219,7 +8217,7 @@ Technically speaking, @code{when} is a Lisp macro. A Lisp macro
8219enables you to define new control constructs and other language 8217enables you to define new control constructs and other language
8220features. It tells the interpreter how to compute another Lisp 8218features. It tells the interpreter how to compute another Lisp
8221expression which will in turn compute the value. In this case, the 8219expression which will in turn compute the value. In this case, the
8222``other expression'' is an @code{if} expression. 8220other expression is an @code{if} expression.
8223 8221
8224The @code{kill-region} function definition also has an @code{unless} 8222The @code{kill-region} function definition also has an @code{unless}
8225macro; it is the converse of @code{when}. The @code{unless} macro is 8223macro; it is the converse of @code{when}. The @code{unless} macro is
@@ -8253,7 +8251,7 @@ The then-part is evaluated if the previous command was another call to
8253 8251
8254@code{yank-handler} is an optional argument to @code{kill-region} that 8252@code{yank-handler} is an optional argument to @code{kill-region} that
8255tells the @code{kill-append} and @code{kill-new} functions how deal 8253tells the @code{kill-append} and @code{kill-new} functions how deal
8256with properties added to the text, such as ``bold'' or ``italics''. 8254with properties added to the text, such as bold or italics.
8257 8255
8258@code{last-command} is a variable that comes with Emacs that we have 8256@code{last-command} is a variable that comes with Emacs that we have
8259not seen before. Normally, whenever a function is executed, Emacs 8257not seen before. Normally, whenever a function is executed, Emacs
@@ -8341,7 +8339,7 @@ document from the beginning, understanding these parts of a function is
8341almost becoming routine. 8339almost becoming routine.
8342 8340
8343The documentation is somewhat confusing unless you remember that the 8341The documentation is somewhat confusing unless you remember that the
8344word ``kill'' has a meaning different from usual. The ``Transient Mark'' 8342word ``kill'' has a meaning different from usual. The Transient Mark
8345and @code{interprogram-cut-function} comments explain certain 8343and @code{interprogram-cut-function} comments explain certain
8346side-effects. 8344side-effects.
8347 8345
@@ -8493,8 +8491,8 @@ a moment.
8493 8491
8494(Also, the function provides an optional argument called 8492(Also, the function provides an optional argument called
8495@code{yank-handler}; when invoked, this argument tells the function 8493@code{yank-handler}; when invoked, this argument tells the function
8496how to deal with properties added to the text, such as ``bold'' or 8494how to deal with properties added to the text, such as bold or
8497``italics''.) 8495italics.)
8498 8496
8499@c !!! bug in GNU Emacs 22 version of kill-append ? 8497@c !!! bug in GNU Emacs 22 version of kill-append ?
8500It has a @code{let*} function to set the value of the first element of 8498It has a @code{let*} function to set the value of the first element of
@@ -8652,7 +8650,7 @@ As usual, we can look at this function in parts.
8652 8650
8653The function definition has an optional @code{yank-handler} argument, 8651The function definition has an optional @code{yank-handler} argument,
8654which when invoked tells the function how to deal with properties 8652which when invoked tells the function how to deal with properties
8655added to the text, such as ``bold'' or ``italics''. We will skip that. 8653added to the text, such as bold or italics. We will skip that.
8656 8654
8657@need 1200 8655@need 1200
8658The first line of the documentation makes sense: 8656The first line of the documentation makes sense:
@@ -8896,7 +8894,7 @@ It starts with an @code{if} expression
8896In this case, the expression tests first to see whether 8894In this case, the expression tests first to see whether
8897@code{menu-bar-update-yank-menu} exists as a function, and if so, 8895@code{menu-bar-update-yank-menu} exists as a function, and if so,
8898calls it. The @code{fboundp} function returns true if the symbol it 8896calls it. The @code{fboundp} function returns true if the symbol it
8899is testing has a function definition that ``is not void''. If the 8897is testing has a function definition that is not void. If the
8900symbol's function definition were void, we would receive an error 8898symbol's function definition were void, we would receive an error
8901message, as we did when we created errors intentionally (@pxref{Making 8899message, as we did when we created errors intentionally (@pxref{Making
8902Errors, , Generate an Error Message}). 8900Errors, , Generate an Error Message}).
@@ -8970,7 +8968,7 @@ expression is true, @code{kill-append} prepends the string to the just
8970previously clipped text. For a detailed discussion, see 8968previously clipped text. For a detailed discussion, see
8971@ref{kill-append function, , The @code{kill-append} function}.) 8969@ref{kill-append function, , The @code{kill-append} function}.)
8972 8970
8973If you then yank back the text, i.e., ``paste'' it, you get both 8971If you then yank back the text, i.e., paste it, you get both
8974pieces of text at once. That way, if you delete two words in a row, 8972pieces of text at once. That way, if you delete two words in a row,
8975and then yank them back, you get both words, in their proper order, 8973and then yank them back, you get both words, in their proper order,
8976with one yank. (The @w{@code{(< end beg))}} expression makes sure the 8974with one yank. (The @w{@code{(< end beg))}} expression makes sure the
@@ -9076,7 +9074,7 @@ The sixth part is nearly like the argument that follows the
9076@code{interactive} declaration in a function written in Lisp: a letter 9074@code{interactive} declaration in a function written in Lisp: a letter
9077followed, perhaps, by a prompt. The only difference from the Lisp is 9075followed, perhaps, by a prompt. The only difference from the Lisp is
9078when the macro is called with no arguments. Then you write a @code{0} 9076when the macro is called with no arguments. Then you write a @code{0}
9079(which is a ``null string''), as in this macro. 9077(which is a null string), as in this macro.
9080 9078
9081If you were to specify arguments, you would place them between 9079If you were to specify arguments, you would place them between
9082quotation marks. The C macro for @code{goto-char} includes 9080quotation marks. The C macro for @code{goto-char} includes
@@ -9088,13 +9086,13 @@ and provides a prompt.
9088The seventh part is a documentation string, just like the one for a 9086The seventh part is a documentation string, just like the one for a
9089function written in Emacs Lisp. This is written as a C comment. (When 9087function written in Emacs Lisp. This is written as a C comment. (When
9090you build Emacs, the program @command{lib-src/make-docfile} extracts 9088you build Emacs, the program @command{lib-src/make-docfile} extracts
9091these comments and uses them to make the ``real'' documentation.) 9089these comments and uses them to make the documentation.)
9092@end itemize 9090@end itemize
9093 9091
9094@need 1200 9092@need 1200
9095In a C macro, the formal parameters come next, with a statement of 9093In a C macro, the formal parameters come next, with a statement of
9096what kind of object they are, followed by what might be called the ``body'' 9094what kind of object they are, followed by the body
9097of the macro. For @code{delete-and-extract-region} the ``body'' 9095of the macro. For @code{delete-and-extract-region} the body
9098consists of the following four lines: 9096consists of the following four lines:
9099 9097
9100@smallexample 9098@smallexample
@@ -9126,7 +9124,7 @@ also be a C union instead of an integer type.}.
9126In early versions of Emacs, these two numbers were thirty-two bits 9124In early versions of Emacs, these two numbers were thirty-two bits
9127long, but the code is slowly being generalized to handle other 9125long, but the code is slowly being generalized to handle other
9128lengths. Three of the available bits are used to specify the type of 9126lengths. Three of the available bits are used to specify the type of
9129information; the remaining bits are used as ``content''. 9127information; the remaining bits are used as content.
9130 9128
9131@samp{XINT} is a C macro that extracts the relevant number from the 9129@samp{XINT} is a C macro that extracts the relevant number from the
9132longer collection of bits; the three other bits are discarded. 9130longer collection of bits; the three other bits are discarded.
@@ -9822,7 +9820,7 @@ and in one of its drawers you found a map giving you directions to
9822where the buried treasure lies. 9820where the buried treasure lies.
9823 9821
9824(In addition to its name, symbol definition, and variable value, a 9822(In addition to its name, symbol definition, and variable value, a
9825symbol has a ``drawer'' for a @dfn{property list} which can be used to 9823symbol has a drawer for a @dfn{property list} which can be used to
9826record other information. Property lists are not discussed here; see 9824record other information. Property lists are not discussed here; see
9827@ref{Property Lists, , Property Lists, elisp, The GNU Emacs Lisp 9825@ref{Property Lists, , Property Lists, elisp, The GNU Emacs Lisp
9828Reference Manual}.) 9826Reference Manual}.)
@@ -9916,8 +9914,8 @@ What does the @code{more-flowers} list now contain?
9916@cindex Retrieving text 9914@cindex Retrieving text
9917@cindex Pasting text 9915@cindex Pasting text
9918 9916
9919Whenever you cut text out of a buffer with a ``kill'' command in GNU Emacs, 9917Whenever you cut text out of a buffer with a kill command in GNU Emacs,
9920you can bring it back with a ``yank'' command. The text that is cut out of 9918you can bring it back with a yank command. The text that is cut out of
9921the buffer is put in the kill ring and the yank commands insert the 9919the buffer is put in the kill ring and the yank commands insert the
9922appropriate contents of the kill ring back into a buffer (not necessarily 9920appropriate contents of the kill ring back into a buffer (not necessarily
9923the original buffer). 9921the original buffer).
@@ -10073,7 +10071,7 @@ These two ways of talking about the same thing sound confusing at first but
10073make sense on reflection. The kill ring is generally thought of as the 10071make sense on reflection. The kill ring is generally thought of as the
10074complete structure of data that holds the information of what has recently 10072complete structure of data that holds the information of what has recently
10075been cut out of the Emacs buffers. The @code{kill-ring-yank-pointer} 10073been cut out of the Emacs buffers. The @code{kill-ring-yank-pointer}
10076on the other hand, serves to indicate---that is, to ``point to''---that part 10074on the other hand, serves to indicate---that is, to point to---that part
10077of the kill ring of which the first element (the @sc{car}) will be 10075of the kill ring of which the first element (the @sc{car}) will be
10078inserted. 10076inserted.
10079 10077
@@ -10157,7 +10155,7 @@ their kin; but you can use recursion, which provides a very powerful
10157way to think about and then to solve problems@footnote{You can write 10155way to think about and then to solve problems@footnote{You can write
10158recursive functions to be frugal or wasteful of mental or computer 10156recursive functions to be frugal or wasteful of mental or computer
10159resources; as it happens, methods that people find easy---that are 10157resources; as it happens, methods that people find easy---that are
10160frugal of ``mental resources''---sometimes use considerable computer 10158frugal of mental resources---sometimes use considerable computer
10161resources. Emacs was designed to run on machines that we now consider 10159resources. Emacs was designed to run on machines that we now consider
10162limited and its default settings are conservative. You may want to 10160limited and its default settings are conservative. You may want to
10163increase the values of @code{max-specpdl-size} and 10161increase the values of @code{max-specpdl-size} and
@@ -10220,7 +10218,7 @@ evaluated. This process is called a loop since the Lisp interpreter
10220repeats the same thing again and again, like an airplane doing a loop. 10218repeats the same thing again and again, like an airplane doing a loop.
10221When the result of evaluating the true-or-false-test is false, the 10219When the result of evaluating the true-or-false-test is false, the
10222Lisp interpreter does not evaluate the rest of the @code{while} 10220Lisp interpreter does not evaluate the rest of the @code{while}
10223expression and ``exits the loop''. 10221expression and exits the loop.
10224 10222
10225Clearly, if the value returned by evaluating the first argument to 10223Clearly, if the value returned by evaluating the first argument to
10226@code{while} is always true, the body following will be evaluated 10224@code{while} is always true, the body following will be evaluated
@@ -10381,7 +10379,7 @@ expression, @code{(print-elements-of-list animals)}, by typing
10381to be printed in the @file{*scratch*} buffer instead of being printed 10379to be printed in the @file{*scratch*} buffer instead of being printed
10382in the echo area. (Otherwise you will see something like this in your 10380in the echo area. (Otherwise you will see something like this in your
10383echo area: @code{^Jgazelle^J^Jgiraffe^J^Jlion^J^Jtiger^Jnil}, in which 10381echo area: @code{^Jgazelle^J^Jgiraffe^J^Jlion^J^Jtiger^Jnil}, in which
10384each @samp{^J} stands for a ``newline''.) 10382each @samp{^J} stands for a newline.)
10385 10383
10386@need 1500 10384@need 1500
10387In a recent instance of GNU Emacs, you can evaluate these expressions 10385In a recent instance of GNU Emacs, you can evaluate these expressions
@@ -10950,8 +10948,8 @@ provide for looping. Sometimes these are quicker to write than the
10950equivalent @code{while} loop. Both are Lisp macros. (@xref{Macros, , 10948equivalent @code{while} loop. Both are Lisp macros. (@xref{Macros, ,
10951Macros, elisp, The GNU Emacs Lisp Reference Manual}. ) 10949Macros, elisp, The GNU Emacs Lisp Reference Manual}. )
10952 10950
10953@code{dolist} works like a @code{while} loop that ``@sc{cdr}s down a 10951@code{dolist} works like a @code{while} loop that @sc{cdr}s down a
10954list'': @code{dolist} automatically shortens the list each time it 10952list: @code{dolist} automatically shortens the list each time it
10955loops---takes the @sc{cdr} of the list---and binds the @sc{car} of 10953loops---takes the @sc{cdr} of the list---and binds the @sc{car} of
10956each shorter version of the list to the first of its arguments. 10954each shorter version of the list to the first of its arguments.
10957 10955
@@ -11052,7 +11050,7 @@ of the work you have to do when writing a @code{while} expression.
11052 11050
11053Like a @code{while} loop, a @code{dolist} loops. What is different is 11051Like a @code{while} loop, a @code{dolist} loops. What is different is
11054that it automatically shortens the list each time it loops---it 11052that it automatically shortens the list each time it loops---it
11055``@sc{cdr}s down the list'' on its own---and it automatically binds 11053@sc{cdr}s down the list on its own---and it automatically binds
11056the @sc{car} of each shorter version of the list to the first of its 11054the @sc{car} of each shorter version of the list to the first of its
11057arguments. 11055arguments.
11058 11056
@@ -11127,8 +11125,8 @@ the same name. However, even though the program has the same name, it
11127is not the same entity. It is different. In the jargon, it is a 11125is not the same entity. It is different. In the jargon, it is a
11128different ``instance''. 11126different ``instance''.
11129 11127
11130Eventually, if the program is written correctly, the ``slightly 11128Eventually, if the program is written correctly, the slightly
11131different arguments'' will become sufficiently different from the first 11129different arguments will become sufficiently different from the first
11132arguments that the final instance will stop. 11130arguments that the final instance will stop.
11133 11131
11134@menu 11132@menu
@@ -11168,8 +11166,8 @@ install a function definition, that is, when you evaluate a
11168@code{defun} macro, you install the necessary equipment to build 11166@code{defun} macro, you install the necessary equipment to build
11169robots. It is as if you were in a factory, setting up an assembly 11167robots. It is as if you were in a factory, setting up an assembly
11170line. Robots with the same name are built according to the same 11168line. Robots with the same name are built according to the same
11171blueprints. So they have, as it were, the same ``model number'', but a 11169blueprints. So they have the same model number, but a
11172different ``serial number''. 11170different serial number.
11173 11171
11174We often say that a recursive function ``calls itself''. What we mean 11172We often say that a recursive function ``calls itself''. What we mean
11175is that the instructions in a recursive function cause the Lisp 11173is that the instructions in a recursive function cause the Lisp
@@ -11282,7 +11280,7 @@ Uses recursion."
11282The @code{print-elements-recursively} function first tests whether 11280The @code{print-elements-recursively} function first tests whether
11283there is any content in the list; if there is, the function prints the 11281there is any content in the list; if there is, the function prints the
11284first element of the list, the @sc{car} of the list. Then the 11282first element of the list, the @sc{car} of the list. Then the
11285function ``invokes itself'', but gives itself as its argument, not the 11283function invokes itself, but gives itself as its argument, not the
11286whole list, but the second and subsequent elements of the list, the 11284whole list, but the second and subsequent elements of the list, the
11287@sc{cdr} of the list. 11285@sc{cdr} of the list.
11288 11286
@@ -11298,7 +11296,7 @@ a different individual from the first, but is the same model.
11298When the second evaluation occurs, the @code{when} expression is 11296When the second evaluation occurs, the @code{when} expression is
11299evaluated and if true, prints the first element of the list it 11297evaluated and if true, prints the first element of the list it
11300receives as its argument (which is the second element of the original 11298receives as its argument (which is the second element of the original
11301list). Then the function ``calls itself'' with the @sc{cdr} of the list 11299list). Then the function calls itself with the @sc{cdr} of the list
11302it is invoked with, which (the second time around) is the @sc{cdr} of 11300it is invoked with, which (the second time around) is the @sc{cdr} of
11303the @sc{cdr} of the original list. 11301the @sc{cdr} of the original list.
11304 11302
@@ -11307,7 +11305,7 @@ mean is that the Lisp interpreter assembles and instructs a new
11307instance of the program. The new instance is a clone of the first, 11305instance of the program. The new instance is a clone of the first,
11308but is a separate individual. 11306but is a separate individual.
11309 11307
11310Each time the function ``invokes itself'', it invokes itself on a 11308Each time the function invokes itself, it does so on a
11311shorter version of the original list. It creates a new instance that 11309shorter version of the original list. It creates a new instance that
11312works on a shorter list. 11310works on a shorter list.
11313 11311
@@ -11725,7 +11723,7 @@ the @code{accumulate} recursive pattern, an action is performed on
11725every element of a list and the result of that action is accumulated 11723every element of a list and the result of that action is accumulated
11726with the results of performing the action on the other elements. 11724with the results of performing the action on the other elements.
11727 11725
11728This is very like the ``every'' pattern using @code{cons}, except that 11726This is very like the @code{every} pattern using @code{cons}, except that
11729@code{cons} is not used, but some other combiner. 11727@code{cons} is not used, but some other combiner.
11730 11728
11731@need 1500 11729@need 1500
@@ -11776,7 +11774,7 @@ In the @code{keep} recursive pattern, each element of a list is tested;
11776the element is acted on and the results are kept only if the element 11774the element is acted on and the results are kept only if the element
11777meets a criterion. 11775meets a criterion.
11778 11776
11779Again, this is very like the ``every'' pattern, except the element is 11777Again, this is very like the @code{every} pattern, except the element is
11780skipped unless it meets a criterion. 11778skipped unless it meets a criterion.
11781 11779
11782@need 1500 11780@need 1500
@@ -11926,12 +11924,12 @@ more steps.
11926The solution to the problem of deferred operations is to write in a 11924The solution to the problem of deferred operations is to write in a
11927manner that does not defer operations@footnote{The phrase @dfn{tail 11925manner that does not defer operations@footnote{The phrase @dfn{tail
11928recursive} is used to describe such a process, one that uses 11926recursive} is used to describe such a process, one that uses
11929``constant space''.}. This requires 11927constant space.}. This requires
11930writing to a different pattern, often one that involves writing two 11928writing to a different pattern, often one that involves writing two
11931function definitions, an ``initialization'' function and a ``helper'' 11929function definitions, an initialization function and a helper
11932function. 11930function.
11933 11931
11934The ``initialization'' function sets up the job; the ``helper'' function 11932The initialization function sets up the job; the helper function
11935does the work. 11933does the work.
11936 11934
11937@need 1200 11935@need 1200
@@ -11942,7 +11940,7 @@ so simple, I find them hard to understand.
11942@group 11940@group
11943(defun triangle-initialization (number) 11941(defun triangle-initialization (number)
11944 "Return the sum of the numbers 1 through NUMBER inclusive. 11942 "Return the sum of the numbers 1 through NUMBER inclusive.
11945This is the `initialization' component of a two function 11943This is the initialization component of a two function
11946duo that uses recursion." 11944duo that uses recursion."
11947 (triangle-recursive-helper 0 0 number)) 11945 (triangle-recursive-helper 0 0 number))
11948@end group 11946@end group
@@ -11952,7 +11950,7 @@ duo that uses recursion."
11952@group 11950@group
11953(defun triangle-recursive-helper (sum counter number) 11951(defun triangle-recursive-helper (sum counter number)
11954 "Return SUM, using COUNTER, through NUMBER inclusive. 11952 "Return SUM, using COUNTER, through NUMBER inclusive.
11955This is the helper component of a two function duo 11953This is the helper component of a two function duo
11956that uses recursion." 11954that uses recursion."
11957 (if (> counter number) 11955 (if (> counter number)
11958 sum 11956 sum
@@ -11973,18 +11971,18 @@ Install both function definitions by evaluating them, then call
11973@end group 11971@end group
11974@end smallexample 11972@end smallexample
11975 11973
11976The ``initialization'' function calls the first instance of the ``helper'' 11974The initialization function calls the first instance of the helper
11977function with three arguments: zero, zero, and a number which is the 11975function with three arguments: zero, zero, and a number which is the
11978number of rows in the triangle. 11976number of rows in the triangle.
11979 11977
11980The first two arguments passed to the ``helper'' function are 11978The first two arguments passed to the helper function are
11981initialization values. These values are changed when 11979initialization values. These values are changed when
11982@code{triangle-recursive-helper} invokes new instances.@footnote{The 11980@code{triangle-recursive-helper} invokes new instances.@footnote{The
11983jargon is mildly confusing: @code{triangle-recursive-helper} uses a 11981jargon is mildly confusing: @code{triangle-recursive-helper} uses a
11984process that is iterative in a procedure that is recursive. The 11982process that is iterative in a procedure that is recursive. The
11985process is called iterative because the computer need only record the 11983process is called iterative because the computer need only record the
11986three values, @code{sum}, @code{counter}, and @code{number}; the 11984three values, @code{sum}, @code{counter}, and @code{number}; the
11987procedure is recursive because the function ``calls itself''. On the 11985procedure is recursive because the function calls itself. On the
11988other hand, both the process and the procedure used by 11986other hand, both the process and the procedure used by
11989@code{triangle-recursively} are called recursive. The word 11987@code{triangle-recursively} are called recursive. The word
11990``recursive'' has different meanings in the two contexts.} 11988``recursive'' has different meanings in the two contexts.}
@@ -12338,7 +12336,7 @@ search is successful, it leaves point immediately after the last
12338character in the target. If the search is backwards, it leaves point 12336character in the target. If the search is backwards, it leaves point
12339just before the first character in the target. You may tell 12337just before the first character in the target. You may tell
12340@code{re-search-forward} to return @code{t} for true. (Moving point 12338@code{re-search-forward} to return @code{t} for true. (Moving point
12341is therefore a ``side effect''.) 12339is therefore a side effect.)
12342 12340
12343Like @code{search-forward}, the @code{re-search-forward} function takes 12341Like @code{search-forward}, the @code{re-search-forward} function takes
12344four arguments: 12342four arguments:
@@ -12640,7 +12638,7 @@ evaluates its then-part; otherwise, the Emacs Lisp interpreter
12640evaluates the else-part. The true-or-false-test of the @code{if} 12638evaluates the else-part. The true-or-false-test of the @code{if}
12641expression is the regular expression search. 12639expression is the regular expression search.
12642 12640
12643It may seem odd to have what looks like the ``real work'' of 12641It may seem odd to have what looks like the real work of
12644the @code{forward-sentence} function buried here, but this is a common 12642the @code{forward-sentence} function buried here, but this is a common
12645way this kind of operation is carried out in Lisp. 12643way this kind of operation is carried out in Lisp.
12646 12644
@@ -13372,7 +13370,7 @@ of which I load 12---you can create a @file{TAGS} file for the Emacs
13372Lisp files in that directory. 13370Lisp files in that directory.
13373 13371
13374@need 1250 13372@need 1250
13375The @code{etags} program takes all the usual shell ``wildcards''. For 13373The @code{etags} program takes all the usual shell wildcards. For
13376example, if you have two directories for which you want a single 13374example, if you have two directories for which you want a single
13377@file{TAGS} file, type @w{@code{etags *.el ../elisp/*.el}}, where 13375@file{TAGS} file, type @w{@code{etags *.el ../elisp/*.el}}, where
13378@file{../elisp/} is the second directory: 13376@file{../elisp/} is the second directory:
@@ -13411,7 +13409,7 @@ program to attempt to find it.
13411Type @w{@kbd{M-x locate @key{RET} TAGS @key{RET}}} and Emacs will list 13409Type @w{@kbd{M-x locate @key{RET} TAGS @key{RET}}} and Emacs will list
13412for you the full path names of all your @file{TAGS} files. On my 13410for you the full path names of all your @file{TAGS} files. On my
13413system, this command lists 34 @file{TAGS} files. On the other hand, a 13411system, this command lists 34 @file{TAGS} files. On the other hand, a
13414``plain vanilla'' system I recently installed did not contain any 13412plain vanilla system I recently installed did not contain any
13415@file{TAGS} files. 13413@file{TAGS} files.
13416 13414
13417If the tags table you want has been created, you can use the @code{M-x 13415If the tags table you want has been created, you can use the @code{M-x
@@ -13724,7 +13722,7 @@ single backslash has special meaning to the Emacs Lisp interpreter.
13724It indicates that the following character is interpreted differently 13722It indicates that the following character is interpreted differently
13725than usual. For example, the two characters, @samp{\n}, stand for 13723than usual. For example, the two characters, @samp{\n}, stand for
13726@samp{newline}, rather than for a backslash followed by @samp{n}. Two 13724@samp{newline}, rather than for a backslash followed by @samp{n}. Two
13727backslashes in a row stand for an ordinary, ``unspecial'' backslash, so 13725backslashes in a row stand for an ordinary, unspecial backslash, so
13728Emacs Lisp interpreter ends of seeing a single backslash followed by a 13726Emacs Lisp interpreter ends of seeing a single backslash followed by a
13729letter. So it discovers the letter is special.) 13727letter. So it discovers the letter is special.)
13730 13728
@@ -14116,8 +14114,8 @@ the region, as returned by the recursive call; and then the
14116user. 14114user.
14117 14115
14118Often, one thinks of the binding within a @code{let} expression as 14116Often, one thinks of the binding within a @code{let} expression as
14119somehow secondary to the ``primary'' work of a function. But in this 14117somehow secondary to the primary work of a function. But in this
14120case, what you might consider the ``primary'' job of the function, 14118case, what you might consider the primary job of the function,
14121counting words, is done within the @code{let} expression. 14119counting words, is done within the @code{let} expression.
14122 14120
14123@need 1250 14121@need 1250
@@ -14158,8 +14156,8 @@ Using @code{let}, the function definition looks like this:
14158 14156
14159Next, we need to write the recursive counting function. 14157Next, we need to write the recursive counting function.
14160 14158
14161A recursive function has at least three parts: the ``do-again-test'', the 14159A recursive function has at least three parts: the do-again-test, the
14162``next-step-expression'', and the recursive call. 14160next-step-expression, and the recursive call.
14163 14161
14164The do-again-test determines whether the function will or will not be 14162The do-again-test determines whether the function will or will not be
14165called again. Since we are counting words in a region and can use a 14163called again. Since we are counting words in a region and can use a
@@ -14183,7 +14181,7 @@ the expression that moves point forward, word by word.
14183 14181
14184The third part of a recursive function is the recursive call. 14182The third part of a recursive function is the recursive call.
14185 14183
14186Somewhere, also, we also need a part that does the ``work'' of the 14184Somewhere, also, we also need a part that does the work of the
14187function, a part that does the counting. A vital part! 14185function, a part that does the counting. A vital part!
14188 14186
14189@need 1250 14187@need 1250
@@ -14511,7 +14509,7 @@ When we first start thinking about how to count the words in a
14511function definition, the first question is (or ought to be) what are 14509function definition, the first question is (or ought to be) what are
14512we going to count? When we speak of ``words'' with respect to a Lisp 14510we going to count? When we speak of ``words'' with respect to a Lisp
14513function definition, we are actually speaking, in large part, of 14511function definition, we are actually speaking, in large part, of
14514``symbols''. For example, the following @code{multiply-by-seven} 14512symbols. For example, the following @code{multiply-by-seven}
14515function contains the five symbols @code{defun}, 14513function contains the five symbols @code{defun},
14516@code{multiply-by-seven}, @code{number}, @code{*}, and @code{7}. In 14514@code{multiply-by-seven}, @code{number}, @code{*}, and @code{7}. In
14517addition, in the documentation string, it contains the four words 14515addition, in the documentation string, it contains the four words
@@ -14572,9 +14570,9 @@ character. (For more information, @pxref{Syntax Tables, , Syntax
14572Tables, elisp, The GNU Emacs Lisp Reference Manual}.) 14570Tables, elisp, The GNU Emacs Lisp Reference Manual}.)
14573 14571
14574Syntax tables specify which characters belong to which categories. 14572Syntax tables specify which characters belong to which categories.
14575Usually, a hyphen is not specified as a ``word constituent character''. 14573Usually, a hyphen is not specified as a word constituent character.
14576Instead, it is specified as being in the ``class of characters that are 14574Instead, it is specified as being in the class of characters that are
14577part of symbol names but not words.'' This means that the 14575part of symbol names but not words. This means that the
14578@code{@value{COUNT-WORDS}} function treats it in the same way it treats 14576@code{@value{COUNT-WORDS}} function treats it in the same way it treats
14579an interword white space, which is why @code{@value{COUNT-WORDS}} 14577an interword white space, which is why @code{@value{COUNT-WORDS}}
14580counts @samp{multiply-by-seven} as three words. 14578counts @samp{multiply-by-seven} as three words.
@@ -14593,8 +14591,8 @@ Alternatively, we can redefine the regexp used in the
14593procedure has the merit of clarity, but the task is a little tricky. 14591procedure has the merit of clarity, but the task is a little tricky.
14594 14592
14595@need 1200 14593@need 1200
14596The first part is simple enough: the pattern must match ``at least one 14594The first part is simple enough: the pattern must match at least one
14597character that is a word or symbol constituent''. Thus: 14595character that is a word or symbol constituent. Thus:
14598 14596
14599@smallexample 14597@smallexample
14600"\\(\\w\\|\\s_\\)+" 14598"\\(\\w\\|\\s_\\)+"
@@ -14610,8 +14608,8 @@ following the group indicates that the word or symbol constituent
14610characters must be matched at least once. 14608characters must be matched at least once.
14611 14609
14612However, the second part of the regexp is more difficult to design. 14610However, the second part of the regexp is more difficult to design.
14613What we want is to follow the first part with ``optionally one or more 14611What we want is to follow the first part with optionally one or more
14614characters that are not constituents of a word or symbol''. At first, 14612characters that are not constituents of a word or symbol. At first,
14615I thought I could define this with the following: 14613I thought I could define this with the following:
14616 14614
14617@smallexample 14615@smallexample
@@ -14977,7 +14975,7 @@ The task is easy: use @code{find-file-noselect} and @code{set-buffer}.
14977@section @code{lengths-list-file} in Detail 14975@section @code{lengths-list-file} in Detail
14978 14976
14979The core of the @code{lengths-list-file} function is a @code{while} 14977The core of the @code{lengths-list-file} function is a @code{while}
14980loop containing a function to move point forward ``defun by defun'' and 14978loop containing a function to move point forwar,d defun by defun, and
14981a function to count the number of words and symbols in each defun. 14979a function to count the number of words and symbols in each defun.
14982This core must be surrounded by functions that do various other tasks, 14980This core must be surrounded by functions that do various other tasks,
14983including finding the file, and ensuring that point starts out at the 14981including finding the file, and ensuring that point starts out at the
@@ -15043,14 +15041,14 @@ Next comes a call to widen the buffer if it is narrowed. This
15043function is usually not needed---Emacs creates a fresh buffer if none 15041function is usually not needed---Emacs creates a fresh buffer if none
15044already exists; but if a buffer visiting the file already exists Emacs 15042already exists; but if a buffer visiting the file already exists Emacs
15045returns that one. In this case, the buffer may be narrowed and must 15043returns that one. In this case, the buffer may be narrowed and must
15046be widened. If we wanted to be fully ``user-friendly'', we would 15044be widened. If we wanted to be fully user-friendly, we would
15047arrange to save the restriction and the location of point, but we 15045arrange to save the restriction and the location of point, but we
15048won't. 15046won't.
15049 15047
15050The @code{(goto-char (point-min))} expression moves point to the 15048The @code{(goto-char (point-min))} expression moves point to the
15051beginning of the buffer. 15049beginning of the buffer.
15052 15050
15053Then comes a @code{while} loop in which the ``work'' of the function is 15051Then comes a @code{while} loop in which the work of the function is
15054carried out. In the loop, Emacs determines the length of each 15052carried out. In the loop, Emacs determines the length of each
15055definition and constructs a lengths' list containing the information. 15053definition and constructs a lengths' list containing the information.
15056 15054
@@ -15271,11 +15269,11 @@ Besides a @code{while} loop, you can work on each of a list of files
15271with recursion. A recursive version of @code{lengths-list-many-files} 15269with recursion. A recursive version of @code{lengths-list-many-files}
15272is short and simple. 15270is short and simple.
15273 15271
15274The recursive function has the usual parts: the ``do-again-test'', the 15272The recursive function has the usual parts: the do-again-test, the
15275``next-step-expression'', and the recursive call. The ``do-again-test'' 15273next-step-expression, and the recursive call. The do-again-test
15276determines whether the function should call itself again, which it 15274determines whether the function should call itself again, which it
15277will do if the @code{list-of-files} contains any remaining elements; 15275will do if the @code{list-of-files} contains any remaining elements;
15278the ``next-step-expression'' resets the @code{list-of-files} to the 15276the next-step-expression resets the @code{list-of-files} to the
15279@sc{cdr} of itself, so eventually the list will be empty; and the 15277@sc{cdr} of itself, so eventually the list will be empty; and the
15280recursive call calls itself on the shorter list. The complete 15278recursive call calls itself on the shorter list. The complete
15281function is shorter than this description! 15279function is shorter than this description!
@@ -15376,7 +15374,7 @@ numbers.
15376@end ifnottex 15374@end ifnottex
15377 15375
15378Based on what we have done before, we can readily foresee that it 15376Based on what we have done before, we can readily foresee that it
15379should not be too hard to write a function that ``@sc{cdr}s'' down the 15377should not be too hard to write a function that @sc{cdr}s down the
15380lengths' list, looks at each element, determines which length range it 15378lengths' list, looks at each element, determines which length range it
15381is in, and increments a counter for that range. 15379is in, and increments a counter for that range.
15382 15380
@@ -15396,7 +15394,7 @@ that we will need.
15396Emacs contains a function to sort lists, called (as you might guess) 15394Emacs contains a function to sort lists, called (as you might guess)
15397@code{sort}. The @code{sort} function takes two arguments, the list 15395@code{sort}. The @code{sort} function takes two arguments, the list
15398to be sorted, and a predicate that determines whether the first of 15396to be sorted, and a predicate that determines whether the first of
15399two list elements is ``less'' than the second. 15397two list elements is less than the second.
15400 15398
15401As we saw earlier (@pxref{Wrong Type of Argument, , Using the Wrong 15399As we saw earlier (@pxref{Wrong Type of Argument, , Using the Wrong
15402Type Object as an Argument}), a predicate is a function that 15400Type Object as an Argument}), a predicate is a function that
@@ -15515,7 +15513,7 @@ as a list that looks like this (but with more elements):
15515The @code{directory-files-and-attributes} function returns a list of 15513The @code{directory-files-and-attributes} function returns a list of
15516lists. Each of the lists within the main list consists of 13 15514lists. Each of the lists within the main list consists of 13
15517elements. The first element is a string that contains the name of the 15515elements. The first element is a string that contains the name of the
15518file---which, in GNU/Linux, may be a ``directory file'', that is to 15516file---which, in GNU/Linux, may be a @dfn{directory file}, that is to
15519say, a file with the special attributes of a directory. The second 15517say, a file with the special attributes of a directory. The second
15520element of the list is @code{t} for a directory, a string 15518element of the list is @code{t} for a directory, a string
15521for symbolic link (the string is the name linked to), or @code{nil}. 15519for symbolic link (the string is the name linked to), or @code{nil}.
@@ -15580,8 +15578,8 @@ the function comes upon a sub-directory, it should go into that
15580sub-directory and repeat its actions. 15578sub-directory and repeat its actions.
15581 15579
15582However, we should note that every directory contains a name that 15580However, we should note that every directory contains a name that
15583refers to itself, called @file{.}, (``dot'') and a name that refers to 15581refers to itself, called @file{.} (``dot''), and a name that refers to
15584its parent directory, called @file{..} (``double dot''). (In 15582its parent directory, called @file{..} (``dot dot''). (In
15585@file{/}, the root directory, @file{..} refers to itself, since 15583@file{/}, the root directory, @file{..} refers to itself, since
15586@file{/} has no parent.) Clearly, we do not want our 15584@file{/} has no parent.) Clearly, we do not want our
15587@code{files-in-below-directory} function to enter those directories, 15585@code{files-in-below-directory} function to enter those directories,
@@ -15614,7 +15612,7 @@ Let's write a function definition to do these tasks. We will use a
15614@code{while} loop to move from one filename to another within a 15612@code{while} loop to move from one filename to another within a
15615directory, checking what needs to be done; and we will use a recursive 15613directory, checking what needs to be done; and we will use a recursive
15616call to repeat the actions on each sub-directory. The recursive 15614call to repeat the actions on each sub-directory. The recursive
15617pattern is ``accumulate'' 15615pattern is Accumulate
15618(@pxref{Accumulate}), 15616(@pxref{Accumulate}),
15619using @code{append} as the combiner. 15617using @code{append} as the combiner.
15620 15618
@@ -15866,7 +15864,7 @@ produces:
15866(4 3 2 1) 15864(4 3 2 1)
15867@end smallexample 15865@end smallexample
15868 15866
15869Note that the @code{nreverse} function is ``destructive''---that is, 15867Note that the @code{nreverse} function is destructive---that is,
15870it changes the list to which it is applied; this contrasts with the 15868it changes the list to which it is applied; this contrasts with the
15871@code{car} and @code{cdr} functions, which are non-destructive. In 15869@code{car} and @code{cdr} functions, which are non-destructive. In
15872this case, we do not want the original @code{defuns-per-range-list}, 15870this case, we do not want the original @code{defuns-per-range-list},
@@ -16072,7 +16070,7 @@ the function to label the axes automatically.
16072 16070
16073Since Emacs is designed to be flexible and work with all kinds of 16071Since Emacs is designed to be flexible and work with all kinds of
16074terminals, including character-only terminals, the graph will need to 16072terminals, including character-only terminals, the graph will need to
16075be made from one of the ``typewriter'' symbols. An asterisk will do; as 16073be made from one of the typewriter symbols. An asterisk will do; as
16076we enhance the graph-printing function, we can make the choice of 16074we enhance the graph-printing function, we can make the choice of
16077symbol a user option. 16075symbol a user option.
16078 16076
@@ -16239,7 +16237,7 @@ Wrong type of argument: number-or-marker-p, (3 4 6 5 7 3)
16239 16237
16240@findex apply 16238@findex apply
16241We need a function that passes a list of arguments to a function. 16239We need a function that passes a list of arguments to a function.
16242This function is @code{apply}. This function ``applies'' its first 16240This function is @code{apply}. This function applies its first
16243argument (a function) to its remaining arguments, the last of which 16241argument (a function) to its remaining arguments, the last of which
16244may be a list. 16242may be a list.
16245 16243
@@ -16257,7 +16255,7 @@ returns 8.
16257without a book such as this. It is possible to discover other 16255without a book such as this. It is possible to discover other
16258functions, like @code{search-forward} or @code{insert-rectangle}, by 16256functions, like @code{search-forward} or @code{insert-rectangle}, by
16259guessing at a part of their names and then using @code{apropos}. Even 16257guessing at a part of their names and then using @code{apropos}. Even
16260though its base in metaphor is clear---``apply'' its first argument to 16258though its base in metaphor is clear---apply its first argument to
16261the rest---I doubt a novice would come up with that particular word 16259the rest---I doubt a novice would come up with that particular word
16262when using @code{apropos} or other aid. Of course, I could be wrong; 16260when using @code{apropos} or other aid. Of course, I could be wrong;
16263after all, the function was first named by someone who had to invent 16261after all, the function was first named by someone who had to invent
@@ -16345,7 +16343,7 @@ returns
16345 16343
16346As written, @code{column-of-graph} contains a major flaw: the symbols 16344As written, @code{column-of-graph} contains a major flaw: the symbols
16347used for the blank and for the marked entries in the column are 16345used for the blank and for the marked entries in the column are
16348``hard-coded'' as a space and asterisk. This is fine for a prototype, 16346hard-coded as a space and asterisk. This is fine for a prototype,
16349but you, or another user, may wish to use other symbols. For example, 16347but you, or another user, may wish to use other symbols. For example,
16350in testing the graph function, you many want to use a period in place 16348in testing the graph function, you many want to use a period in place
16351of the space, to make sure the point is being repositioned properly 16349of the space, to make sure the point is being repositioned properly
@@ -16424,7 +16422,7 @@ is no more than a bar graph in which the part of each bar that is
16424below the top is blank. To construct a column for a line graph, the 16422below the top is blank. To construct a column for a line graph, the
16425function first constructs a list of blanks that is one shorter than 16423function first constructs a list of blanks that is one shorter than
16426the value, then it uses @code{cons} to attach a graph symbol to the 16424the value, then it uses @code{cons} to attach a graph symbol to the
16427list; then it uses @code{cons} again to attach the ``top blanks'' to 16425list; then it uses @code{cons} again to attach the top blanks to
16428the list. 16426the list.
16429 16427
16430It is easy to see how to write such a function, but since we don't 16428It is easy to see how to write such a function, but since we don't
@@ -16540,7 +16538,7 @@ The one unexpected expression in this function is the
16540@w{@code{(sit-for 0)}} expression in the @code{while} loop. This 16538@w{@code{(sit-for 0)}} expression in the @code{while} loop. This
16541expression makes the graph printing operation more interesting to 16539expression makes the graph printing operation more interesting to
16542watch than it would be otherwise. The expression causes Emacs to 16540watch than it would be otherwise. The expression causes Emacs to
16543``sit'' or do nothing for a zero length of time and then redraw the 16541@dfn{sit} or do nothing for a zero length of time and then redraw the
16544screen. Placed here, it causes Emacs to redraw the screen column by 16542screen. Placed here, it causes Emacs to redraw the screen column by
16545column. Without it, Emacs would not redraw the screen until the 16543column. Without it, Emacs would not redraw the screen until the
16546function exits. 16544function exits.
@@ -16602,14 +16600,14 @@ Emacs will print a graph like this:
16602@findex recursive-graph-body-print 16600@findex recursive-graph-body-print
16603 16601
16604The @code{graph-body-print} function may also be written recursively. 16602The @code{graph-body-print} function may also be written recursively.
16605The recursive solution is divided into two parts: an outside ``wrapper'' 16603The recursive solution is divided into two parts: an outside wrapper
16606that uses a @code{let} expression to determine the values of several 16604that uses a @code{let} expression to determine the values of several
16607variables that need only be found once, such as the maximum height of 16605variables that need only be found once, such as the maximum height of
16608the graph, and an inside function that is called recursively to print 16606the graph, and an inside function that is called recursively to print
16609the graph. 16607the graph.
16610 16608
16611@need 1250 16609@need 1250
16612The ``wrapper'' is uncomplicated: 16610The wrapper is uncomplicated:
16613 16611
16614@smallexample 16612@smallexample
16615@group 16613@group
@@ -16627,13 +16625,13 @@ The numbers-list consists of the Y-axis values."
16627@end smallexample 16625@end smallexample
16628 16626
16629The recursive function is a little more difficult. It has four parts: 16627The recursive function is a little more difficult. It has four parts:
16630the ``do-again-test'', the printing code, the recursive call, and the 16628the do-again-test, the printing code, the recursive call, and the
16631``next-step-expression''. The ``do-again-test'' is a @code{when} 16629next-step-expression. The do-again-test is a @code{when}
16632expression that determines whether the @code{numbers-list} contains 16630expression that determines whether the @code{numbers-list} contains
16633any remaining elements; if it does, the function prints one column of 16631any remaining elements; if it does, the function prints one column of
16634the graph using the printing code and calls itself again. The 16632the graph using the printing code and calls itself again. The
16635function calls itself again according to the value produced by the 16633function calls itself again according to the value produced by the
16636``next-step-expression'' which causes the call to act on a shorter 16634next-step-expression which causes the call to act on a shorter
16637version of the @code{numbers-list}. 16635version of the @code{numbers-list}.
16638 16636
16639@smallexample 16637@smallexample
@@ -16709,8 +16707,8 @@ Write a line graph version of the graph printing functions.
16709@cindex Initialization file 16707@cindex Initialization file
16710 16708
16711``You don't have to like Emacs to like it''---this seemingly 16709``You don't have to like Emacs to like it''---this seemingly
16712paradoxical statement is the secret of GNU Emacs. The plain, ``out of 16710paradoxical statement is the secret of GNU Emacs. The plain, out-of-the-box
16713the box'' Emacs is a generic tool. Most people who use it, customize 16711Emacs is a generic tool. Most people who use it, customize
16714it to suit themselves. 16712it to suit themselves.
16715 16713
16716GNU Emacs is mostly written in Emacs Lisp; this means that by writing 16714GNU Emacs is mostly written in Emacs Lisp; this means that by writing
@@ -16748,7 +16746,7 @@ person hopes to do with an unadorned file? Fundamental mode is the
16748right default for such a file, just as C mode is the right default for 16746right default for such a file, just as C mode is the right default for
16749editing C code. (Enough programming languages have syntaxes 16747editing C code. (Enough programming languages have syntaxes
16750that enable them to share or nearly share features, so C mode is 16748that enable them to share or nearly share features, so C mode is
16751now provided by CC mode, the ``C Collection''.) 16749now provided by CC mode, the C Collection.)
16752 16750
16753But when you do know who is going to use Emacs---you, 16751But when you do know who is going to use Emacs---you,
16754yourself---then it makes sense to customize Emacs. 16752yourself---then it makes sense to customize Emacs.
@@ -16793,8 +16791,8 @@ have the same form as your @file{.emacs} file, but are loaded by
16793everyone. 16791everyone.
16794 16792
16795Two site-wide initialization files, @file{site-load.el} and 16793Two site-wide initialization files, @file{site-load.el} and
16796@file{site-init.el}, are loaded into Emacs and then ``dumped'' if a 16794@file{site-init.el}, are loaded into Emacs and then dumped if a
16797``dumped'' version of Emacs is created, as is most common. (Dumped 16795dumped version of Emacs is created, as is most common. (Dumped
16798copies of Emacs load more quickly. However, once a file is loaded and 16796copies of Emacs load more quickly. However, once a file is loaded and
16799dumped, a change to it does not lead to a change in Emacs unless you 16797dumped, a change to it does not lead to a change in Emacs unless you
16800load it yourself or re-dump Emacs. @xref{Building Emacs, , Building 16798load it yourself or re-dump Emacs. @xref{Building Emacs, , Building
@@ -17077,7 +17075,7 @@ remember to look here to remind myself.
17077@node Text and Auto-fill 17075@node Text and Auto-fill
17078@section Text and Auto Fill Mode 17076@section Text and Auto Fill Mode
17079 17077
17080Now we come to the part that ``turns on'' Text mode and 17078Now we come to the part that turns on Text mode and
17081Auto Fill mode. 17079Auto Fill mode.
17082 17080
17083@smallexample 17081@smallexample
@@ -17109,7 +17107,7 @@ on C mode. Also, Emacs looks at first nonblank line of the file; if
17109the line says @w{@samp{-*- C -*-}}, Emacs turns on C mode. Emacs 17107the line says @w{@samp{-*- C -*-}}, Emacs turns on C mode. Emacs
17110possesses a list of extensions and specifications that it uses 17108possesses a list of extensions and specifications that it uses
17111automatically. In addition, Emacs looks near the last page for a 17109automatically. In addition, Emacs looks near the last page for a
17112per-buffer, ``local variables list'', if any. 17110per-buffer, local variables list, if any.
17113 17111
17114@ifinfo 17112@ifinfo
17115@xref{Choosing Modes, , How Major Modes are Chosen, emacs, The GNU 17113@xref{Choosing Modes, , How Major Modes are Chosen, emacs, The GNU
@@ -17162,7 +17160,7 @@ In this line, the @code{add-hook} command adds
17162@code{turn-on-auto-fill} is the name of a program, that, you guessed 17160@code{turn-on-auto-fill} is the name of a program, that, you guessed
17163it!, turns on Auto Fill mode. 17161it!, turns on Auto Fill mode.
17164 17162
17165Every time Emacs turns on Text mode, Emacs runs the commands ``hooked'' 17163Every time Emacs turns on Text mode, Emacs runs the commands hooked
17166onto Text mode. So every time Emacs turns on Text mode, Emacs also 17164onto Text mode. So every time Emacs turns on Text mode, Emacs also
17167turns on Auto Fill mode. 17165turns on Auto Fill mode.
17168 17166
@@ -17199,7 +17197,7 @@ fill commands to insert two spaces after a colon:
17199@node Mail Aliases 17197@node Mail Aliases
17200@section Mail Aliases 17198@section Mail Aliases
17201 17199
17202Here is a @code{setq} that ``turns on'' mail aliases, along with more 17200Here is a @code{setq} that turns on mail aliases, along with more
17203reminders. 17201reminders.
17204 17202
17205@smallexample 17203@smallexample
@@ -17219,7 +17217,7 @@ This @code{setq} command sets the value of the variable
17219says, in effect, ``Yes, use mail aliases.'' 17217says, in effect, ``Yes, use mail aliases.''
17220 17218
17221Mail aliases are convenient short names for long email addresses or 17219Mail aliases are convenient short names for long email addresses or
17222for lists of email addresses. The file where you keep your ``aliases'' 17220for lists of email addresses. The file where you keep your aliases
17223is @file{~/.mailrc}. You write an alias like this: 17221is @file{~/.mailrc}. You write an alias like this:
17224 17222
17225@smallexample 17223@smallexample
@@ -17294,9 +17292,9 @@ This also shows how to set a key globally, for all modes.
17294@findex global-set-key 17292@findex global-set-key
17295The command is @code{global-set-key}. It is followed by the 17293The command is @code{global-set-key}. It is followed by the
17296keybinding. In a @file{.emacs} file, the keybinding is written as 17294keybinding. In a @file{.emacs} file, the keybinding is written as
17297shown: @code{\C-c} stands for ``control-c'', which means ``press the 17295shown: @code{\C-c} stands for Control-C, which means to press the
17298control key and the @key{c} key at the same time''. The @code{w} means 17296control key and the @key{c} key at the same time. The @code{w} means
17299``press the @key{w} key''. The keybinding is surrounded by double 17297to press the @key{w} key. The keybinding is surrounded by double
17300quotation marks. In documentation, you would write this as 17298quotation marks. In documentation, you would write this as
17301@w{@kbd{C-c w}}. (If you were binding a @key{META} key, such as 17299@w{@kbd{C-c w}}. (If you were binding a @key{META} key, such as
17302@kbd{M-c}, rather than a @key{CTRL} key, you would write 17300@kbd{M-c}, rather than a @key{CTRL} key, you would write
@@ -17317,12 +17315,12 @@ adapt what is there.
17317As for the keybinding itself: @kbd{C-c w}. This combines the prefix 17315As for the keybinding itself: @kbd{C-c w}. This combines the prefix
17318key, @kbd{C-c}, with a single character, in this case, @kbd{w}. This 17316key, @kbd{C-c}, with a single character, in this case, @kbd{w}. This
17319set of keys, @kbd{C-c} followed by a single character, is strictly 17317set of keys, @kbd{C-c} followed by a single character, is strictly
17320reserved for individuals' own use. (I call these ``own'' keys, since 17318reserved for individuals' own use. (I call these @dfn{own} keys, since
17321these are for my own use.) You should always be able to create such a 17319these are for my own use.) You should always be able to create such a
17322keybinding for your own use without stomping on someone else's 17320keybinding for your own use without stomping on someone else's
17323keybinding. If you ever write an extension to Emacs, please avoid 17321keybinding. If you ever write an extension to Emacs, please avoid
17324taking any of these keys for public use. Create a key like @kbd{C-c 17322taking any of these keys for public use. Create a key like @kbd{C-c
17325C-w} instead. Otherwise, we will run out of ``own'' keys. 17323C-w} instead. Otherwise, we will run out of own keys.
17326 17324
17327@need 1250 17325@need 1250
17328Here is another keybinding, with a comment: 17326Here is another keybinding, with a comment:
@@ -17565,13 +17563,13 @@ first use such a function, while its containing file is evaluated.
17565Rarely used functions are frequently autoloaded. The 17563Rarely used functions are frequently autoloaded. The
17566@file{loaddefs.el} library contains thousands of autoloaded functions, 17564@file{loaddefs.el} library contains thousands of autoloaded functions,
17567from @code{5x5} to @code{zone}. Of course, you may 17565from @code{5x5} to @code{zone}. Of course, you may
17568come to use a ``rare'' function frequently. When you do, you should 17566come to use a rare function frequently. When you do, you should
17569load that function's file with a @code{load} expression in your 17567load that function's file with a @code{load} expression in your
17570@file{.emacs} file. 17568@file{.emacs} file.
17571 17569
17572In my @file{.emacs} file, I load 14 libraries that contain functions 17570In my @file{.emacs} file, I load 14 libraries that contain functions
17573that would otherwise be autoloaded. (Actually, it would have been 17571that would otherwise be autoloaded. (Actually, it would have been
17574better to include these files in my ``dumped'' Emacs, but I forgot. 17572better to include these files in my dumped Emacs, but I forgot.
17575@xref{Building Emacs, , Building Emacs, elisp, The GNU Emacs Lisp 17573@xref{Building Emacs, , Building Emacs, elisp, The GNU Emacs Lisp
17576Reference Manual}, and the @file{INSTALL} file for more about 17574Reference Manual}, and the @file{INSTALL} file for more about
17577dumping.) 17575dumping.)
@@ -17932,7 +17930,7 @@ This avoids problems with symbolic links.
17932@end group 17930@end group
17933@end smallexample 17931@end smallexample
17934 17932
17935If you want to write with Chinese ``GB'' characters, set this instead: 17933If you want to write with Chinese GB characters, set this instead:
17936 17934
17937@smallexample 17935@smallexample
17938@group 17936@group
@@ -18122,7 +18120,7 @@ window.)
18122@code{:eval} says to evaluate the following form and use the result as 18120@code{:eval} says to evaluate the following form and use the result as
18123a string to display. In this case, the expression displays the first 18121a string to display. In this case, the expression displays the first
18124component of the full system name. The end of the first component is 18122component of the full system name. The end of the first component is
18125a @samp{.} (``period''), so I use the @code{string-match} function to 18123a @samp{.} (period), so I use the @code{string-match} function to
18126tell me the length of the first component. The substring from the 18124tell me the length of the first component. The substring from the
18127zeroth character to that length is the name of the machine. 18125zeroth character to that length is the name of the machine.
18128 18126
@@ -18144,11 +18142,11 @@ or ``All''. (A lower case @samp{p} tell you the percentage above the
18144@emph{top} of the window.) @samp{%-} inserts enough dashes to fill 18142@emph{top} of the window.) @samp{%-} inserts enough dashes to fill
18145out the line. 18143out the line.
18146 18144
18147Remember, ``You don't have to like Emacs to like it''---your own 18145Remember, you don't have to like Emacs to like it---your own
18148Emacs can have different colors, different commands, and different 18146Emacs can have different colors, different commands, and different
18149keys than a default Emacs. 18147keys than a default Emacs.
18150 18148
18151On the other hand, if you want to bring up a plain ``out of the box'' 18149On the other hand, if you want to bring up a plain out-of-the-box
18152Emacs, with no customization, type: 18150Emacs, with no customization, type:
18153 18151
18154@smallexample 18152@smallexample
@@ -18249,9 +18247,9 @@ Debugger entered--Lisp error: (void-function 1=)
18249long lines. As usual, you can quit the debugger by typing @kbd{q} in 18247long lines. As usual, you can quit the debugger by typing @kbd{q} in
18250the @file{*Backtrace*} buffer.) 18248the @file{*Backtrace*} buffer.)
18251 18249
18252In practice, for a bug as simple as this, the ``Lisp error'' line will 18250In practice, for a bug as simple as this, the Lisp error line will
18253tell you what you need to know to correct the definition. The 18251tell you what you need to know to correct the definition. The
18254function @code{1=} is ``void''. 18252function @code{1=} is void.
18255 18253
18256@ignore 18254@ignore
18257@need 800 18255@need 800
@@ -18547,7 +18545,7 @@ beginning of the @code{if} line of the function. Also, you will see
18547an arrowhead at the left hand side of that line. The arrowhead marks 18545an arrowhead at the left hand side of that line. The arrowhead marks
18548the line where the function is executing. (In the following examples, 18546the line where the function is executing. (In the following examples,
18549we show the arrowhead with @samp{=>}; in a windowing system, you may 18547we show the arrowhead with @samp{=>}; in a windowing system, you may
18550see the arrowhead as a solid triangle in the window ``fringe''.) 18548see the arrowhead as a solid triangle in the window fringe.)
18551 18549
18552@smallexample 18550@smallexample
18553=>@point{}(if (= number 1) 18551=>@point{}(if (= number 1)
@@ -18582,7 +18580,7 @@ Result: 3 (#o3, #x3, ?\C-c)
18582 18580
18583@noindent 18581@noindent
18584This means the value of @code{number} is 3, which is octal three, 18582This means the value of @code{number} is 3, which is octal three,
18585hexadecimal three, and @sc{ascii} ``control-c'' (the third letter of the 18583hexadecimal three, and @sc{ascii} Control-C (the third letter of the
18586alphabet, in case you need to know this information). 18584alphabet, in case you need to know this information).
18587 18585
18588You can continue moving through the code until you reach the line with 18586You can continue moving through the code until you reach the line with
@@ -18629,7 +18627,7 @@ Lisp Reference Manual}.
18629Install the @code{@value{COUNT-WORDS}} function and then cause it to 18627Install the @code{@value{COUNT-WORDS}} function and then cause it to
18630enter the built-in debugger when you call it. Run the command on a 18628enter the built-in debugger when you call it. Run the command on a
18631region containing two words. You will need to press @kbd{d} a 18629region containing two words. You will need to press @kbd{d} a
18632remarkable number of times. On your system, is a ``hook'' called after 18630remarkable number of times. On your system, is a hook called after
18633the command finishes? (For information on hooks, see @ref{Command 18631the command finishes? (For information on hooks, see @ref{Command
18634Overview, , Command Loop Overview, elisp, The GNU Emacs Lisp Reference 18632Overview, , Command Loop Overview, elisp, The GNU Emacs Lisp Reference
18635Manual}.) 18633Manual}.)
@@ -18750,7 +18748,7 @@ customize the @code{interactive} expression without using the standard
18750character codes; and it shows how to create a temporary buffer. 18748character codes; and it shows how to create a temporary buffer.
18751 18749
18752(The @code{indent-to} function is written in C rather than Emacs Lisp; 18750(The @code{indent-to} function is written in C rather than Emacs Lisp;
18753it is a ``built-in'' function. @code{help-follow} takes you to its 18751it is a built-in function. @code{help-follow} takes you to its
18754source as does @code{find-tag}, when properly set up.) 18752source as does @code{find-tag}, when properly set up.)
18755 18753
18756You can look at a function's source using @code{find-tag}, which is 18754You can look at a function's source using @code{find-tag}, which is
@@ -19120,7 +19118,7 @@ The @code{if} expression has two parts, one if there exists
19120@code{interprogram-paste} and one if not. 19118@code{interprogram-paste} and one if not.
19121 19119
19122@need 2000 19120@need 2000
19123Let us consider the ``if not'' or else-part of the @code{current-kill} 19121Let us consider the else-part of the @code{current-kill}
19124function. (The then-part uses the @code{kill-new} function, which 19122function. (The then-part uses the @code{kill-new} function, which
19125we have already described. @xref{kill-new function, , The 19123we have already described. @xref{kill-new function, , The
19126@code{kill-new} function}.) 19124@code{kill-new} function}.)
@@ -19201,7 +19199,7 @@ not necessarily an error, and therefore should not be labeled as one,
19201even in the bowels of a computer. As it is, the code in Emacs implies 19199even in the bowels of a computer. As it is, the code in Emacs implies
19202that a human who is acting virtuously, by exploring his or her 19200that a human who is acting virtuously, by exploring his or her
19203environment, is making an error. This is bad. Even though the computer 19201environment, is making an error. This is bad. Even though the computer
19204takes the same steps as it does when there is an ``error'', a term such as 19202takes the same steps as it does when there is an error, a term such as
19205``cancel'' would have a clearer connotation. 19203``cancel'' would have a clearer connotation.
19206 19204
19207@ifnottex 19205@ifnottex
@@ -19817,9 +19815,9 @@ For example, if you evaluate the following, the result is 15:
19817(* (1+ (/ 12 5)) 5) 19815(* (1+ (/ 12 5)) 5)
19818@end smallexample 19816@end smallexample
19819 19817
19820All through this discussion, we have been using ``five'' as the value 19818All through this discussion, we have been using 5 as the value
19821for spacing labels on the Y axis; but we may want to use some other 19819for spacing labels on the Y axis; but we may want to use some other
19822value. For generality, we should replace ``five'' with a variable to 19820value. For generality, we should replace 5 with a variable to
19823which we can assign a value. The best name I can think of for this 19821which we can assign a value. The best name I can think of for this
19824variable is @code{Y-axis-label-spacing}. 19822variable is @code{Y-axis-label-spacing}.
19825 19823
@@ -20326,7 +20324,7 @@ First, we create a numbered element with blank spaces before each number:
20326@end smallexample 20324@end smallexample
20327 20325
20328Next, we create the function to print the numbered line, starting with 20326Next, we create the function to print the numbered line, starting with
20329the number ``1'' under the first column: 20327the number 1 under the first column:
20330 20328
20331@findex print-X-axis-numbered-line 20329@findex print-X-axis-numbered-line
20332@smallexample 20330@smallexample
@@ -20844,8 +20842,8 @@ Thus,
20844@end smallexample 20842@end smallexample
20845 20843
20846@noindent 20844@noindent
20847is a function definition that says ``return the value resulting from 20845is a function that returns the value resulting from
20848dividing whatever is passed to me as @code{arg} by 50''. 20846dividing whatever is passed to it as @code{arg} by 50.
20849 20847
20850@need 1200 20848@need 1200
20851Earlier, for example, we had a function @code{multiply-by-seven}; it 20849Earlier, for example, we had a function @code{multiply-by-seven}; it
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index 998f63ef279..bcbea87c04d 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -134,7 +134,7 @@ abbrev in an abbrev table.
134 134
135 When a major mode defines a system abbrev, it should call 135 When a major mode defines a system abbrev, it should call
136@code{define-abbrev} and specify @code{t} for the @code{:system} 136@code{define-abbrev} and specify @code{t} for the @code{:system}
137property. Be aware that any saved non-``system'' abbrevs are restored 137property. Be aware that any saved non-system abbrevs are restored
138at startup, i.e., before some major modes are loaded. Therefore, major 138at startup, i.e., before some major modes are loaded. Therefore, major
139modes should not assume that their abbrev tables are empty when they 139modes should not assume that their abbrev tables are empty when they
140are first loaded. 140are first loaded.
@@ -145,13 +145,13 @@ This function defines an abbrev named @var{name}, in
145with properties @var{props} (@pxref{Abbrev Properties}). The return 145with properties @var{props} (@pxref{Abbrev Properties}). The return
146value is @var{name}. The @code{:system} property in @var{props} is 146value is @var{name}. The @code{:system} property in @var{props} is
147treated specially here: if it has the value @code{force}, then it will 147treated specially here: if it has the value @code{force}, then it will
148overwrite an existing definition even for a non-``system'' abbrev of 148overwrite an existing definition even for a non-system abbrev of
149the same name. 149the same name.
150 150
151@var{name} should be a string. The argument @var{expansion} is 151@var{name} should be a string. The argument @var{expansion} is
152normally the desired expansion (a string), or @code{nil} to undefine 152normally the desired expansion (a string), or @code{nil} to undefine
153the abbrev. If it is anything but a string or @code{nil}, then the 153the abbrev. If it is anything but a string or @code{nil}, then the
154abbreviation ``expands'' solely by running @var{hook}. 154abbreviation expands solely by running @var{hook}.
155 155
156The argument @var{hook} is a function or @code{nil}. If @var{hook} is 156The argument @var{hook} is a function or @code{nil}. If @var{hook} is
157non-@code{nil}, then it is called with no arguments after the abbrev is 157non-@code{nil}, then it is called with no arguments after the abbrev is
diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi
index 2784fd9b3b1..2fc43da8e53 100644
--- a/doc/lispref/anti.texi
+++ b/doc/lispref/anti.texi
@@ -66,7 +66,7 @@ Internal windows are no longer visible to Lisp; functions such as
66and window-local buffer lists have all been removed. Functions for 66and window-local buffer lists have all been removed. Functions for
67resizing windows can delete windows if they become too small. 67resizing windows can delete windows if they become too small.
68 68
69The ``action function'' feature for controlling buffer display has 69The action-function feature for controlling buffer display has
70been removed, including @code{display-buffer-overriding-action} and 70been removed, including @code{display-buffer-overriding-action} and
71related variables, as well as the @var{action} argument to 71related variables, as well as the @var{action} argument to
72@code{display-buffer} and other functions. The way to 72@code{display-buffer} and other functions. The way to
@@ -78,7 +78,7 @@ other variables.
78The standard completion interface has been simplified, eliminating the 78The standard completion interface has been simplified, eliminating the
79@code{completion-extra-properties} variable, the @code{metadata} 79@code{completion-extra-properties} variable, the @code{metadata}
80action flag for completion functions, and the concept of 80action flag for completion functions, and the concept of
81``completion categories''. Lisp programmers may now find the choice 81completion categories. Lisp programmers may now find the choice
82of methods for tuning completion less bewildering, but if a package 82of methods for tuning completion less bewildering, but if a package
83finds the streamlined interface insufficient for its needs, it must 83finds the streamlined interface insufficient for its needs, it must
84implement its own specialized completion feature. 84implement its own specialized completion feature.
diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi
index 3433277ca0f..c4f2b5eb852 100644
--- a/doc/lispref/back.texi
+++ b/doc/lispref/back.texi
@@ -17,7 +17,7 @@
17 Most of the GNU Emacs text editor is written in the programming 17 Most of the GNU Emacs text editor is written in the programming
18language called Emacs Lisp. You can write new code in Emacs Lisp and 18language called Emacs Lisp. You can write new code in Emacs Lisp and
19install it as an extension to the editor. However, Emacs Lisp is more 19install it as an extension to the editor. However, Emacs Lisp is more
20than a mere ``extension language''; it is a full computer programming 20than a mere extension language; it is a full computer programming
21language in its own right. You can use it as you would any other 21language in its own right. You can use it as you would any other
22programming language. 22programming language.
23 23
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index 0a1b5a24e4f..d37df25d267 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -398,7 +398,7 @@ those versions by excluding them from the @sc{cdr} of the value.
398@xref{Numbered Backups}. 398@xref{Numbered Backups}.
399 399
400In this example, the value says that @file{~rms/foo.~5~} is the name 400In this example, the value says that @file{~rms/foo.~5~} is the name
401to use for the new backup file, and @file{~rms/foo.~3~} is an ``excess'' 401to use for the new backup file, and @file{~rms/foo.~3~} is an excess
402version that the caller should consider deleting now. 402version that the caller should consider deleting now.
403 403
404@smallexample 404@smallexample
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 71261e08db7..45a21c8e806 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -23,7 +23,7 @@ not be displayed in any windows.
23* Buffer File Name:: The buffer file name indicates which file is visited. 23* Buffer File Name:: The buffer file name indicates which file is visited.
24* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 24* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
25* Modification Time:: Determining whether the visited file was changed 25* Modification Time:: Determining whether the visited file was changed
26 ``behind Emacs's back''. 26 behind Emacs's back.
27* Read Only Buffers:: Modifying text is not allowed in a read-only buffer. 27* Read Only Buffers:: Modifying text is not allowed in a read-only buffer.
28* Buffer List:: How to look at all the existing buffers. 28* Buffer List:: How to look at all the existing buffers.
29* Creating Buffers:: Functions that create buffers. 29* Creating Buffers:: Functions that create buffers.
@@ -893,7 +893,7 @@ another buffer is shown in it. More precisely, if the selected window
893is dedicated (@pxref{Dedicated Windows}) and there are other windows on 893is dedicated (@pxref{Dedicated Windows}) and there are other windows on
894its frame, the window is deleted. If it is the only window on its frame 894its frame, the window is deleted. If it is the only window on its frame
895and that frame is not the only frame on its terminal, the frame is 895and that frame is not the only frame on its terminal, the frame is
896``dismissed'' by calling the function specified by 896dismissed by calling the function specified by
897@code{frame-auto-hide-function} (@pxref{Quitting Windows}). Otherwise, 897@code{frame-auto-hide-function} (@pxref{Quitting Windows}). Otherwise,
898it calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show 898it calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show
899another buffer in that window. If @var{buffer-or-name} is displayed in 899another buffer in that window. If @var{buffer-or-name} is displayed in
@@ -1032,7 +1032,7 @@ memory for other uses or to be returned to the operating system. If
1032buffer. 1032buffer.
1033 1033
1034Any processes that have this buffer as the @code{process-buffer} are 1034Any processes that have this buffer as the @code{process-buffer} are
1035sent the @code{SIGHUP} (``hangup'') signal, which normally causes them 1035sent the @code{SIGHUP} (hangup) signal, which normally causes them
1036to terminate. @xref{Signals to Processes}. 1036to terminate. @xref{Signals to Processes}.
1037 1037
1038If the buffer is visiting a file and contains unsaved changes, 1038If the buffer is visiting a file and contains unsaved changes,
@@ -1139,7 +1139,7 @@ be a live buffer or the name (a string) of an existing buffer. If
1139@var{name} is the name of an existing buffer, an error is signaled. 1139@var{name} is the name of an existing buffer, an error is signaled.
1140 1140
1141If @var{clone} is non-@code{nil}, then the indirect buffer originally 1141If @var{clone} is non-@code{nil}, then the indirect buffer originally
1142shares the ``state'' of @var{base-buffer} such as major mode, minor 1142shares the state of @var{base-buffer} such as major mode, minor
1143modes, buffer local variables and so on. If @var{clone} is omitted 1143modes, buffer local variables and so on. If @var{clone} is omitted
1144or @code{nil} the indirect buffer's state is set to the default state 1144or @code{nil} the indirect buffer's state is set to the default state
1145for new buffers. 1145for new buffers.
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 593054013e6..8642f6ae956 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -132,7 +132,7 @@ byte compiler to warn if the command is called from Lisp. The output
132of @code{describe-function} will include similar information. 132of @code{describe-function} will include similar information.
133The value of the property can be: a string, which the byte-compiler 133The value of the property can be: a string, which the byte-compiler
134will use directly in its warning (it should end with a period, and not 134will use directly in its warning (it should end with a period, and not
135start with a capital, e.g., ``use @dots{} instead.''); @code{t}; any 135start with a capital, e.g., @code{"use (system-name) instead."}); @code{t}; any
136other symbol, which should be an alternative function to use in Lisp 136other symbol, which should be an alternative function to use in Lisp
137code. 137code.
138 138
@@ -1557,8 +1557,8 @@ the command binding of the double click event to assume that the
1557single-click command has already run. It must produce the desired 1557single-click command has already run. It must produce the desired
1558results of a double click, starting from the results of a single click. 1558results of a double click, starting from the results of a single click.
1559 1559
1560This is convenient, if the meaning of a double click somehow ``builds 1560This is convenient, if the meaning of a double click somehow builds
1561on'' the meaning of a single click---which is recommended user interface 1561on the meaning of a single click---which is recommended user interface
1562design practice for double clicks. 1562design practice for double clicks.
1563 1563
1564If you click a button, then press it down again and start moving the 1564If you click a button, then press it down again and start moving the
@@ -2444,7 +2444,7 @@ same symbol that would normally represent that combination of mouse
2444button and modifier keys. The information about the window part is kept 2444button and modifier keys. The information about the window part is kept
2445elsewhere in the event---in the coordinates. But 2445elsewhere in the event---in the coordinates. But
2446@code{read-key-sequence} translates this information into imaginary 2446@code{read-key-sequence} translates this information into imaginary
2447``prefix keys'', all of which are symbols: @code{header-line}, 2447prefix keys, all of which are symbols: @code{header-line},
2448@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, 2448@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
2449@code{vertical-line}, and @code{vertical-scroll-bar}. You can define 2449@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
2450meanings for mouse clicks in special window parts by defining key 2450meanings for mouse clicks in special window parts by defining key
@@ -2587,7 +2587,7 @@ If you wish to read a single key taking these translations into
2587account, use the function @code{read-key}: 2587account, use the function @code{read-key}:
2588 2588
2589@defun read-key &optional prompt 2589@defun read-key &optional prompt
2590This function reads a single key. It is ``intermediate'' between 2590This function reads a single key. It is intermediate between
2591@code{read-key-sequence} and @code{read-event}. Unlike the former, it 2591@code{read-key-sequence} and @code{read-event}. Unlike the former, it
2592reads a single key, not a key sequence. Unlike the latter, it does 2592reads a single key, not a key sequence. Unlike the latter, it does
2593not return a raw event, but decodes and translates the user input 2593not return a raw event, but decodes and translates the user input
@@ -2621,7 +2621,7 @@ then continues to wait for a valid input character, or keyboard-quit.
2621from @code{read-event}. 2621from @code{read-event}.
2622 2622
2623@defvar extra-keyboard-modifiers 2623@defvar extra-keyboard-modifiers
2624This variable lets Lisp programs ``press'' the modifier keys on the 2624This variable lets Lisp programs press the modifier keys on the
2625keyboard. The value is a character. Only the modifiers of the 2625keyboard. The value is a character. Only the modifiers of the
2626character matter. Each time the user types a keyboard key, it is 2626character matter. Each time the user types a keyboard key, it is
2627altered as if those modifier keys were held down. For instance, if 2627altered as if those modifier keys were held down. For instance, if
@@ -2633,7 +2633,7 @@ character for this purpose, but as a character with no modifiers.
2633Thus, setting @code{extra-keyboard-modifiers} to zero cancels any 2633Thus, setting @code{extra-keyboard-modifiers} to zero cancels any
2634modification. 2634modification.
2635 2635
2636When using a window system, the program can ``press'' any of the 2636When using a window system, the program can press any of the
2637modifier keys in this way. Otherwise, only the @key{CTL} and @key{META} 2637modifier keys in this way. Otherwise, only the @key{CTL} and @key{META}
2638keys can be virtually pressed. 2638keys can be virtually pressed.
2639 2639
@@ -2783,7 +2783,7 @@ What character @kbd{1 7 7}-
2783@node Event Input Misc 2783@node Event Input Misc
2784@subsection Miscellaneous Event Input Features 2784@subsection Miscellaneous Event Input Features
2785 2785
2786This section describes how to ``peek ahead'' at events without using 2786This section describes how to peek ahead at events without using
2787them up, how to check for pending input, and how to discard pending 2787them up, how to check for pending input, and how to discard pending
2788input. See also the function @code{read-passwd} (@pxref{Reading a 2788input. See also the function @code{read-passwd} (@pxref{Reading a
2789Password}). 2789Password}).
@@ -3048,7 +3048,7 @@ usual result of this---a quit---is prevented. Eventually,
3048binding is unwound at the end of a @code{let} form. At that time, if 3048binding is unwound at the end of a @code{let} form. At that time, if
3049@code{quit-flag} is still non-@code{nil}, the requested quit happens 3049@code{quit-flag} is still non-@code{nil}, the requested quit happens
3050immediately. This behavior is ideal when you wish to make sure that 3050immediately. This behavior is ideal when you wish to make sure that
3051quitting does not happen within a ``critical section'' of the program. 3051quitting does not happen within a critical section of the program.
3052 3052
3053@cindex @code{read-quoted-char} quitting 3053@cindex @code{read-quoted-char} quitting
3054 In some functions (such as @code{read-quoted-char}), @kbd{C-g} is 3054 In some functions (such as @code{read-quoted-char}), @kbd{C-g} is
@@ -3311,7 +3311,7 @@ using the minibuffer. Usually it is more convenient for the user if you
3311change the major mode of the current buffer temporarily to a special 3311change the major mode of the current buffer temporarily to a special
3312major mode, which should have a command to go back to the previous mode. 3312major mode, which should have a command to go back to the previous mode.
3313(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to 3313(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
3314give the user different text to edit ``recursively'', create and select 3314give the user different text to edit recursively, create and select
3315a new buffer in a special mode. In this mode, define a command to 3315a new buffer in a special mode. In this mode, define a command to
3316complete the processing and go back to the previous buffer. (The 3316complete the processing and go back to the previous buffer. (The
3317@kbd{m} command in Rmail does this.) 3317@kbd{m} command in Rmail does this.)
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 4a246dd6b92..8c23086e8d1 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -140,7 +140,7 @@ definition of @var{symbol} (@pxref{Byte-Code Objects}).
140 140
141If @var{symbol}'s definition is a byte-code function object, 141If @var{symbol}'s definition is a byte-code function object,
142@code{byte-compile} does nothing and returns @code{nil}. It does not 142@code{byte-compile} does nothing and returns @code{nil}. It does not
143``compile the symbol's definition again'', since the original 143compile the symbol's definition again, since the original
144(non-compiled) code has already been replaced in the symbol's function 144(non-compiled) code has already been replaced in the symbol's function
145cell by the byte-compiled code. 145cell by the byte-compiled code.
146 146
@@ -242,7 +242,7 @@ $ emacs -batch -f batch-byte-compile *.el
242 242
243 When Emacs loads functions and variables from a byte-compiled file, 243 When Emacs loads functions and variables from a byte-compiled file,
244it normally does not load their documentation strings into memory. 244it normally does not load their documentation strings into memory.
245Each documentation string is ``dynamically'' loaded from the 245Each documentation string is dynamically loaded from the
246byte-compiled file only when needed. This saves memory, and speeds up 246byte-compiled file only when needed. This saves memory, and speeds up
247loading by skipping the processing of the documentation strings. 247loading by skipping the processing of the documentation strings.
248 248
@@ -280,7 +280,7 @@ Internally, the dynamic loading of documentation strings is
280accomplished by writing compiled files with a special Lisp reader 280accomplished by writing compiled files with a special Lisp reader
281construct, @samp{#@@@var{count}}. This construct skips the next 281construct, @samp{#@@@var{count}}. This construct skips the next
282@var{count} characters. It also uses the @samp{#$} construct, which 282@var{count} characters. It also uses the @samp{#$} construct, which
283stands for ``the name of this file, as a string''. Do not use these 283stands for the name of this file, as a string. Do not use these
284constructs in Lisp source files; they are not designed to be clear to 284constructs in Lisp source files; they are not designed to be clear to
285humans reading the file. 285humans reading the file.
286 286
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 421f5cc530f..fca16da5d3f 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -73,7 +73,7 @@ The value of the last form in the body becomes the value of the entire
73two or more forms in succession and use the value of the last of them. 73two or more forms in succession and use the value of the last of them.
74But programmers found they often needed to use a @code{progn} in the 74But programmers found they often needed to use a @code{progn} in the
75body of a function, where (at that time) only one form was allowed. So 75body of a function, where (at that time) only one form was allowed. So
76the body of a function was made into an ``implicit @code{progn}'': 76the body of a function was made into an implicit @code{progn}:
77several forms are allowed just as in the body of an actual @code{progn}. 77several forms are allowed just as in the body of an actual @code{progn}.
78Many other control structures likewise contain an implicit @code{progn}. 78Many other control structures likewise contain an implicit @code{progn}.
79As a result, @code{progn} is not used as much as it was many years ago. 79As a result, @code{progn} is not used as much as it was many years ago.
@@ -220,11 +220,11 @@ list is the @var{condition}; the remaining elements, if any, the
220 220
221@code{cond} tries the clauses in textual order, by evaluating the 221@code{cond} tries the clauses in textual order, by evaluating the
222@var{condition} of each clause. If the value of @var{condition} is 222@var{condition} of each clause. If the value of @var{condition} is
223non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its 223non-@code{nil}, the clause succeeds; then @code{cond} evaluates its
224@var{body-forms}, and returns the value of the last of @var{body-forms}. 224@var{body-forms}, and returns the value of the last of @var{body-forms}.
225Any remaining clauses are ignored. 225Any remaining clauses are ignored.
226 226
227If the value of @var{condition} is @code{nil}, the clause ``fails'', so 227If the value of @var{condition} is @code{nil}, the clause fails, so
228the @code{cond} moves on to the following clause, trying its @var{condition}. 228the @code{cond} moves on to the following clause, trying its @var{condition}.
229 229
230A clause may also look like this: 230A clause may also look like this:
@@ -571,7 +571,7 @@ The value of a @code{while} form is always @code{nil}.
571@end group 571@end group
572@end example 572@end example
573 573
574To write a ``repeat...until'' loop, which will execute something on each 574To write a repeat-until loop, which will execute something on each
575iteration and then do the end-test, put the body followed by the 575iteration and then do the end-test, put the body followed by the
576end-test in a @code{progn} as the first argument of @code{while}, as 576end-test in a @code{progn} as the first argument of @code{while}, as
577shown here: 577shown here:
@@ -673,7 +673,7 @@ the iterator's final value.
673 673
674It's important to note that generator function bodies only execute 674It's important to note that generator function bodies only execute
675inside calls to @code{iter-next}. A call to a function defined with 675inside calls to @code{iter-next}. A call to a function defined with
676@code{iter-defun} produces an iterator; you must ``drive'' this 676@code{iter-defun} produces an iterator; you must drive this
677iterator with @code{iter-next} for anything interesting to happen. 677iterator with @code{iter-next} for anything interesting to happen.
678Each call to a generator function produces a @emph{different} 678Each call to a generator function produces a @emph{different}
679iterator, each with its own state. 679iterator, each with its own state.
@@ -858,7 +858,7 @@ error is signaled with data @code{(@var{tag} @var{value})}.
858@subsection Examples of @code{catch} and @code{throw} 858@subsection Examples of @code{catch} and @code{throw}
859 859
860 One way to use @code{catch} and @code{throw} is to exit from a doubly 860 One way to use @code{catch} and @code{throw} is to exit from a doubly
861nested loop. (In most languages, this would be done with a ``goto''.) 861nested loop. (In most languages, this would be done with a @code{goto}.)
862Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} 862Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
863varying from 0 to 9: 863varying from 0 to 9:
864 864
@@ -972,7 +972,7 @@ returns to a point that is set up to handle the error
972(@pxref{Processing of Errors}). Here we describe how to signal an 972(@pxref{Processing of Errors}). Here we describe how to signal an
973error. 973error.
974 974
975 Most errors are signaled ``automatically'' within Lisp primitives 975 Most errors are signaled automatically within Lisp primitives
976which you call for other purposes, such as if you try to take the 976which you call for other purposes, such as if you try to take the
977@sc{car} of an integer or move forward a character at the end of the 977@sc{car} of an integer or move forward a character at the end of the
978buffer. You can also signal errors explicitly with the functions 978buffer. You can also signal errors explicitly with the functions
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index f984dbe5870..51d729f665c 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -365,7 +365,7 @@ should describe how to do the same job in hand-written Lisp code.
365Specify @var{getfunction} as the way to extract the value of this 365Specify @var{getfunction} as the way to extract the value of this
366option. The function @var{getfunction} should take one argument, a 366option. The function @var{getfunction} should take one argument, a
367symbol, and should return whatever customize should use as the 367symbol, and should return whatever customize should use as the
368``current value'' for that symbol (which need not be the symbol's Lisp 368current value for that symbol (which need not be the symbol's Lisp
369value). The default is @code{default-value}. 369value). The default is @code{default-value}.
370 370
371You have to really understand the workings of Custom to use 371You have to really understand the workings of Custom to use
@@ -441,7 +441,7 @@ those other variables already have their intended values.
441@end table 441@end table
442 442
443 It is useful to specify the @code{:require} keyword for an option 443 It is useful to specify the @code{:require} keyword for an option
444that ``turns on'' a certain feature. This causes Emacs to load the 444that turns on a certain feature. This causes Emacs to load the
445feature, if it is not already loaded, whenever the option is set. 445feature, if it is not already loaded, whenever the option is set.
446@xref{Common Keywords}. Here is an example, from the library 446@xref{Common Keywords}. Here is an example, from the library
447@file{saveplace.el}: 447@file{saveplace.el}:
@@ -723,7 +723,7 @@ simply atoms, which stand for themselves. For example:
723@end example 723@end example
724 724
725@noindent 725@noindent
726specifies that there are three ``known'' keys, namely @code{"foo"}, 726specifies that there are three known keys, namely @code{"foo"},
727@code{"bar"} and @code{"baz"}, which will always be shown first. 727@code{"bar"} and @code{"baz"}, which will always be shown first.
728 728
729You may want to restrict the value type for specific keys, for 729You may want to restrict the value type for specific keys, for
@@ -842,7 +842,7 @@ symbols, and symbols are not treated like other Lisp expressions.
842 842
843@item (radio @var{element-types}@dots{}) 843@item (radio @var{element-types}@dots{})
844This is similar to @code{choice}, except that the choices are displayed 844This is similar to @code{choice}, except that the choices are displayed
845using ``radio buttons'' rather than a menu. This has the advantage of 845using radio buttons rather than a menu. This has the advantage of
846displaying documentation for the choices when applicable and so is often 846displaying documentation for the choices when applicable and so is often
847a good choice for a choice between constant functions 847a good choice for a choice between constant functions
848(@code{function-item} customization types). 848(@code{function-item} customization types).
@@ -1378,8 +1378,8 @@ the theme; this is the description shown when the user invokes the
1378Themes*} buffer. 1378Themes*} buffer.
1379 1379
1380Two special theme names are disallowed (using them causes an error): 1380Two special theme names are disallowed (using them causes an error):
1381@code{user} is a ``dummy'' theme that stores the user's direct 1381@code{user} is a dummy theme that stores the user's direct
1382customization settings, and @code{changed} is a ``dummy'' theme that 1382customization settings, and @code{changed} is a dummy theme that
1383stores changes made outside of the Customize system. 1383stores changes made outside of the Customize system.
1384@end defmac 1384@end defmac
1385 1385
@@ -1422,7 +1422,7 @@ where the list entries have the same meanings as in
1422@end defun 1422@end defun
1423 1423
1424 In theory, a theme file can also contain other Lisp forms, which 1424 In theory, a theme file can also contain other Lisp forms, which
1425would be evaluated when loading the theme, but that is ``bad form''. 1425would be evaluated when loading the theme, but that is bad form.
1426To protect against loading themes containing malicious code, Emacs 1426To protect against loading themes containing malicious code, Emacs
1427displays the source file and asks for confirmation from the user 1427displays the source file and asks for confirmation from the user
1428before loading any non-built-in theme for the first time. 1428before loading any non-built-in theme for the first time.
@@ -1440,7 +1440,7 @@ it returns @code{nil}.
1440@defvar custom-known-themes 1440@defvar custom-known-themes
1441The value of this variable is a list of themes loaded into Emacs. 1441The value of this variable is a list of themes loaded into Emacs.
1442Each theme is represented by a Lisp symbol (the theme name). The 1442Each theme is represented by a Lisp symbol (the theme name). The
1443default value of this variable is a list containing two ``dummy'' 1443default value of this variable is a list containing two dummy
1444themes: @code{(user changed)}. The @code{changed} theme stores 1444themes: @code{(user changed)}. The @code{changed} theme stores
1445settings made before any Custom themes are applied (e.g., variables 1445settings made before any Custom themes are applied (e.g., variables
1446set outside of Customize). The @code{user} theme stores settings the 1446set outside of Customize). The @code{user} theme stores settings the
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 47b24997551..e82efbb0b72 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -684,11 +684,11 @@ If @var{frame-number} is out of range, @code{backtrace-frame} returns
684@cindex debugging invalid Lisp syntax 684@cindex debugging invalid Lisp syntax
685 685
686 The Lisp reader reports invalid syntax, but cannot say where the real 686 The Lisp reader reports invalid syntax, but cannot say where the real
687problem is. For example, the error ``End of file during parsing'' in 687problem is. For example, the error @samp{End of file during parsing} in
688evaluating an expression indicates an excess of open parentheses (or 688evaluating an expression indicates an excess of open parentheses (or
689square brackets). The reader detects this imbalance at the end of the 689square brackets). The reader detects this imbalance at the end of the
690file, but it cannot figure out where the close parenthesis should have 690file, but it cannot figure out where the close parenthesis should have
691been. Likewise, ``Invalid read syntax: ")"'' indicates an excess close 691been. Likewise, @samp{Invalid read syntax: ")"} indicates an excess close
692parenthesis or missing open parenthesis, but does not say where the 692parenthesis or missing open parenthesis, but does not say where the
693missing parenthesis belongs. How, then, to find what to change? 693missing parenthesis belongs. How, then, to find what to change?
694 694
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index b5ff9cb6e76..2ae2857afda 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -126,7 +126,7 @@ it waits for input, or when the function @code{redisplay} is called.
126@cindex @samp{\} in display 126@cindex @samp{\} in display
127 127
128 When a line of text extends beyond the right edge of a window, Emacs 128 When a line of text extends beyond the right edge of a window, Emacs
129can @dfn{continue} the line (make it ``wrap'' to the next screen 129can @dfn{continue} the line (make it wrap to the next screen
130line), or @dfn{truncate} the line (limit it to one screen line). The 130line), or @dfn{truncate} the line (limit it to one screen line). The
131additional screen lines used to display a long text line are called 131additional screen lines used to display a long text line are called
132@dfn{continuation} lines. Continuation is not the same as filling; 132@dfn{continuation} lines. Continuation is not the same as filling;
@@ -138,7 +138,7 @@ boundary. @xref{Filling}.
138indicate truncated and continued lines (@pxref{Fringes}). On a text 138indicate truncated and continued lines (@pxref{Fringes}). On a text
139terminal, a @samp{$} in the rightmost column of the window indicates 139terminal, a @samp{$} in the rightmost column of the window indicates
140truncation; a @samp{\} on the rightmost column indicates a line that 140truncation; a @samp{\} on the rightmost column indicates a line that
141``wraps''. (The display table can specify alternate characters to use 141wraps. (The display table can specify alternate characters to use
142for this; @pxref{Display Tables}). 142for this; @pxref{Display Tables}).
143 143
144@defopt truncate-lines 144@defopt truncate-lines
@@ -380,13 +380,13 @@ function.
380 380
381The arguments @var{min-value} and @var{max-value} should be numbers 381The arguments @var{min-value} and @var{max-value} should be numbers
382standing for the starting and final states of the operation. For 382standing for the starting and final states of the operation. For
383instance, an operation that ``scans'' a buffer should set these to the 383instance, an operation that scans a buffer should set these to the
384results of @code{point-min} and @code{point-max} correspondingly. 384results of @code{point-min} and @code{point-max} correspondingly.
385@var{max-value} should be greater than @var{min-value}. 385@var{max-value} should be greater than @var{min-value}.
386 386
387Alternatively, you can set @var{min-value} and @var{max-value} to 387Alternatively, you can set @var{min-value} and @var{max-value} to
388@code{nil}. In that case, the progress reporter does not report 388@code{nil}. In that case, the progress reporter does not report
389process percentages; it instead displays a ``spinner'' that rotates a 389process percentages; it instead displays a spinner that rotates a
390notch each time you update the progress reporter. 390notch each time you update the progress reporter.
391 391
392If @var{min-value} and @var{max-value} are numbers, you can give the 392If @var{min-value} and @var{max-value} are numbers, you can give the
@@ -439,13 +439,13 @@ presented to the user.
439 439
440@defun progress-reporter-done reporter 440@defun progress-reporter-done reporter
441This function should be called when the operation is finished. It 441This function should be called when the operation is finished. It
442prints the message of @var{reporter} followed by word ``done'' in the 442prints the message of @var{reporter} followed by word @samp{done} in the
443echo area. 443echo area.
444 444
445You should always call this function and not hope for 445You should always call this function and not hope for
446@code{progress-reporter-update} to print ``100%''. Firstly, it may 446@code{progress-reporter-update} to print @samp{100%}. Firstly, it may
447never print it, there are many good reasons for this not to happen. 447never print it, there are many good reasons for this not to happen.
448Secondly, ``done'' is more explicit. 448Secondly, @samp{done} is more explicit.
449@end defun 449@end defun
450 450
451@defmac dotimes-with-progress-reporter (var count [result]) message body@dots{} 451@defmac dotimes-with-progress-reporter (var count [result]) message body@dots{}
@@ -500,13 +500,13 @@ facility combines successive identical messages. It also combines
500successive related messages for the sake of two cases: question 500successive related messages for the sake of two cases: question
501followed by answer, and a series of progress messages. 501followed by answer, and a series of progress messages.
502 502
503 A ``question followed by an answer'' means two messages like the 503 A question followed by an answer has two messages like the
504ones produced by @code{y-or-n-p}: the first is @samp{@var{question}}, 504ones produced by @code{y-or-n-p}: the first is @samp{@var{question}},
505and the second is @samp{@var{question}...@var{answer}}. The first 505and the second is @samp{@var{question}...@var{answer}}. The first
506message conveys no additional information beyond what's in the second, 506message conveys no additional information beyond what's in the second,
507so logging the second message discards the first from the log. 507so logging the second message discards the first from the log.
508 508
509 A ``series of progress messages'' means successive messages like 509 A series of progress messages has successive messages like
510those produced by @code{make-progress-reporter}. They have the form 510those produced by @code{make-progress-reporter}. They have the form
511@samp{@var{base}...@var{how-far}}, where @var{base} is the same each 511@samp{@var{base}...@var{how-far}}, where @var{base} is the same each
512time, while @var{how-far} varies. Logging each message in the series 512time, while @var{how-far} varies. Logging each message in the series
@@ -1419,7 +1419,7 @@ The return value is @var{overlay}.
1419This is the only valid way to change the endpoints of an overlay. Do 1419This is the only valid way to change the endpoints of an overlay. Do
1420not try modifying the markers in the overlay by hand, as that fails to 1420not try modifying the markers in the overlay by hand, as that fails to
1421update other vital data structures and can cause some overlays to be 1421update other vital data structures and can cause some overlays to be
1422``lost''. 1422lost.
1423@end defun 1423@end defun
1424 1424
1425@defun remove-overlays &optional start end name value 1425@defun remove-overlays &optional start end name value
@@ -1496,7 +1496,7 @@ foo
1496@end example 1496@end example
1497 1497
1498 Emacs stores the overlays of each buffer in two lists, divided 1498 Emacs stores the overlays of each buffer in two lists, divided
1499around an arbitrary ``center position''. One list extends backwards 1499around an arbitrary center position. One list extends backwards
1500through the buffer from that center position, and the other extends 1500through the buffer from that center position, and the other extends
1501forwards from that center position. The center position can be anywhere 1501forwards from that center position. The center position can be anywhere
1502in the buffer. 1502in the buffer.
@@ -1796,10 +1796,9 @@ overlays that specify property @var{prop} for the character at point:
1796 1796
1797@defun overlays-in beg end 1797@defun overlays-in beg end
1798This function returns a list of the overlays that overlap the region 1798This function returns a list of the overlays that overlap the region
1799@var{beg} through @var{end}. ``Overlap'' means that at least one 1799@var{beg} through @var{end}. An overlay overlaps with a region if it
1800character is contained within the overlay and also contained within the 1800contains one or more characters in the region; empty overlays
1801specified region; however, empty overlays (@pxref{Managing Overlays, 1801(@pxref{Managing Overlays, empty overlay}) overlap if they are at
1802empty overlay}) are included in the result if they are located at
1803@var{beg}, strictly between @var{beg} and @var{end}, or at @var{end} 1802@var{beg}, strictly between @var{beg} and @var{end}, or at @var{end}
1804when @var{end} denotes the position at the end of the buffer. 1803when @var{end} denotes the position at the end of the buffer.
1805@end defun 1804@end defun
@@ -2729,8 +2728,8 @@ Manual}.
2729@item 2728@item
2730If the text lies within an overlay with a non-@code{nil} @code{face} 2729If the text lies within an overlay with a non-@code{nil} @code{face}
2731property, Emacs applies the face(s) specified by that property. If 2730property, Emacs applies the face(s) specified by that property. If
2732the overlay has a @code{mouse-face} property and the mouse is ``near 2731the overlay has a @code{mouse-face} property and the mouse is near
2733enough'' to the overlay, Emacs applies the face or face attributes 2732enough to the overlay, Emacs applies the face or face attributes
2734specified by the @code{mouse-face} property instead. @xref{Overlay 2733specified by the @code{mouse-face} property instead. @xref{Overlay
2735Properties}. 2734Properties}.
2736 2735
@@ -2836,7 +2835,7 @@ remappings for face @var{face} in the current buffer. The remaining
2836arguments, @var{specs}, should form either a list of face names, or a 2835arguments, @var{specs}, should form either a list of face names, or a
2837property list of attribute/value pairs. 2836property list of attribute/value pairs.
2838 2837
2839The return value is a Lisp object that serves as a ``cookie''; you can 2838The return value is a Lisp object that serves as a cookie; you can
2840pass this object as an argument to @code{face-remap-remove-relative} 2839pass this object as an argument to @code{face-remap-remove-relative}
2841if you need to remove the remapping later. 2840if you need to remove the remapping later.
2842 2841
@@ -2967,7 +2966,7 @@ If your Emacs Lisp program needs to assign some faces to text, it is
2967often a good idea to use certain existing faces or inherit from them, 2966often a good idea to use certain existing faces or inherit from them,
2968rather than defining entirely new faces. This way, if other users 2967rather than defining entirely new faces. This way, if other users
2969have customized the basic faces to give Emacs a certain look, your 2968have customized the basic faces to give Emacs a certain look, your
2970program will ``fit in'' without additional customization. 2969program will fit in without additional customization.
2971 2970
2972 Some of the basic faces defined in Emacs are listed below. In 2971 Some of the basic faces defined in Emacs are listed below. In
2973addition to these, you might want to make use of the Font Lock faces 2972addition to these, you might want to make use of the Font Lock faces
@@ -2992,14 +2991,14 @@ has a bold @code{:weight} attribute), with all other attributes
2992unspecified (and so given by @code{default}). 2991unspecified (and so given by @code{default}).
2993 2992
2994@item shadow 2993@item shadow
2995For ``dimmed out'' text. For example, it is used for the ignored 2994For dimmed-out text. For example, it is used for the ignored
2996part of a filename in the minibuffer (@pxref{Minibuffer File,, 2995part of a filename in the minibuffer (@pxref{Minibuffer File,,
2997Minibuffers for File Names, emacs, The GNU Emacs Manual}). 2996Minibuffers for File Names, emacs, The GNU Emacs Manual}).
2998 2997
2999@item link 2998@item link
3000@itemx link-visited 2999@itemx link-visited
3001For clickable text buttons that send the user to a different 3000For clickable text buttons that send the user to a different
3002buffer or ``location''. 3001buffer or location.
3003 3002
3004@item highlight 3003@item highlight
3005For stretches of text that should temporarily stand out. For example, 3004For stretches of text that should temporarily stand out. For example,
@@ -3193,7 +3192,7 @@ encoding of the font.
3193character codes. An individual font cannot display the whole range of 3192character codes. An individual font cannot display the whole range of
3194characters that Emacs supports, but a fontset can. Fontsets have names, 3193characters that Emacs supports, but a fontset can. Fontsets have names,
3195just as fonts do, and you can use a fontset name in place of a font name 3194just as fonts do, and you can use a fontset name in place of a font name
3196when you specify the ``font'' for a frame or a face. Here is 3195when you specify the font for a frame or a face. Here is
3197information about defining a fontset under Lisp program control. 3196information about defining a fontset under Lisp program control.
3198 3197
3199@defun create-fontset-from-fontset-spec fontset-spec &optional style-variant-p noerror 3198@defun create-fontset-from-fontset-spec fontset-spec &optional style-variant-p noerror
@@ -3481,13 +3480,13 @@ frame on which the fonts are to be displayed. The optional argument
3481maximum length of the returned list. The optional argument 3480maximum length of the returned list. The optional argument
3482@var{prefer}, if non-@code{nil}, should be another font spec, which is 3481@var{prefer}, if non-@code{nil}, should be another font spec, which is
3483used to control the order of the returned list; the returned font 3482used to control the order of the returned list; the returned font
3484entities are sorted in order of decreasing ``closeness'' to that font 3483entities are sorted in order of decreasing closeness to that font
3485spec. 3484spec.
3486@end defun 3485@end defun
3487 3486
3488 If you call @code{set-face-attribute} and pass a font spec, font 3487 If you call @code{set-face-attribute} and pass a font spec, font
3489entity, or font name string as the value of the @code{:font} 3488entity, or font name string as the value of the @code{:font}
3490attribute, Emacs opens the best ``matching'' font that is available 3489attribute, Emacs opens the best matching font that is available
3491for display. It then stores the corresponding font object as the 3490for display. It then stores the corresponding font object as the
3492actual value of the @code{:font} attribute for that face. 3491actual value of the @code{:font} attribute for that face.
3493 3492
@@ -4230,21 +4229,21 @@ frames.
4230@cindex right dividers 4229@cindex right dividers
4231@cindex bottom dividers 4230@cindex bottom dividers
4232 4231
4233Window dividers are bars drawn between a frame's windows. A ``right'' 4232Window dividers are bars drawn between a frame's windows. A right
4234divider is drawn between a window and any adjacent windows on the right. 4233divider is drawn between a window and any adjacent windows on the right.
4235Its width (thickness) is specified by the frame parameter 4234Its width (thickness) is specified by the frame parameter
4236@code{right-divider-width}. A ``bottom'' divider is drawn between a 4235@code{right-divider-width}. A bottom divider is drawn between a
4237window and adjacent windows on the bottom or the echo area. Its width 4236window and adjacent windows on the bottom or the echo area. Its width
4238is specified by the frame parameter @code{bottom-divider-width}. In 4237is specified by the frame parameter @code{bottom-divider-width}. In
4239either case, specifying a width of zero means to not draw such dividers. 4238either case, specifying a width of zero means to not draw such dividers.
4240@xref{Layout Parameters}. 4239@xref{Layout Parameters}.
4241 4240
4242 Technically, a right divider ``belongs'' to the window on its left, 4241 Technically, a right divider belongs to the window on its left,
4243which means that its width contributes to the total width of that 4242which means that its width contributes to the total width of that
4244window. A bottom divider ``belongs'' to the window above it, which 4243window. A bottom divider belongs to the window above it, which
4245means that its width contributes to the total height of that window. 4244means that its width contributes to the total height of that window.
4246@xref{Window Sizes}. When a window has both, a right and a bottom 4245@xref{Window Sizes}. When a window has both, a right and a bottom
4247divider, the bottom divider ``prevails''. This means that a bottom 4246divider, the bottom divider prevails. This means that a bottom
4248divider is drawn over the full total width of its window while the right 4247divider is drawn over the full total width of its window while the right
4249divider ends above the bottom divider. 4248divider ends above the bottom divider.
4250 4249
@@ -4332,8 +4331,8 @@ display specification, the first overrides the rest. Replacing
4332display specifications make most other display specifications 4331display specifications make most other display specifications
4333irrelevant, since those don't apply to the replacement. 4332irrelevant, since those don't apply to the replacement.
4334 4333
4335 For replacing display specifications, ``the text that has the 4334 For replacing display specifications, @dfn{the text that has the
4336property'' means all the consecutive characters that have the same 4335property} means all the consecutive characters that have the same
4337Lisp object as their @code{display} property; these characters are 4336Lisp object as their @code{display} property; these characters are
4338replaced as a single unit. If two characters have different Lisp 4337replaced as a single unit. If two characters have different Lisp
4339objects as their @code{display} properties (i.e., objects which are 4338objects as their @code{display} properties (i.e., objects which are
@@ -4559,7 +4558,7 @@ Here are the possibilities for @var{height}:
4559@table @asis 4558@table @asis
4560@item @code{(+ @var{n})} 4559@item @code{(+ @var{n})}
4561@c FIXME: Add an index for "step"? --xfq 4560@c FIXME: Add an index for "step"? --xfq
4562This means to use a font that is @var{n} steps larger. A ``step'' is 4561This means to use a font that is @var{n} steps larger. A @dfn{step} is
4563defined by the set of available fonts---specifically, those that match 4562defined by the set of available fonts---specifically, those that match
4564what was otherwise specified for this text, in all attributes except 4563what was otherwise specified for this text, in all attributes except
4565height. Each size for which a suitable font is available counts as 4564height. Each size for which a suitable font is available counts as
@@ -4645,7 +4644,7 @@ variables:
4645 4644
4646@defvar left-margin-width 4645@defvar left-margin-width
4647This variable specifies the width of the left margin, in character 4646This variable specifies the width of the left margin, in character
4648cell (a.k.a.@: ``column'') units. It is buffer-local in all buffers. 4647cell (a.k.a.@: column) units. It is buffer-local in all buffers.
4649A value of @code{nil} means no left marginal area. 4648A value of @code{nil} means no left marginal area.
4650@end defvar 4649@end defvar
4651 4650
@@ -4836,7 +4835,7 @@ which algorithm.
4836Specifies the Laplace edge detection algorithm, which blurs out small 4835Specifies the Laplace edge detection algorithm, which blurs out small
4837differences in color while highlighting larger differences. People 4836differences in color while highlighting larger differences. People
4838sometimes consider this useful for displaying the image for a 4837sometimes consider this useful for displaying the image for a
4839``disabled'' button. 4838disabled button.
4840 4839
4841@item (edge-detection :matrix @var{matrix} :color-adjust @var{adjust}) 4840@item (edge-detection :matrix @var{matrix} :color-adjust @var{adjust})
4842@cindex edge detection, images 4841@cindex edge detection, images
@@ -4901,7 +4900,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr
4901@end ifnottex 4900@end ifnottex
4902 4901
4903@item disabled 4902@item disabled
4904Specifies transforming the image so that it looks ``disabled''. 4903Specifies transforming the image so that it looks disabled.
4905@end table 4904@end table
4906 4905
4907@item :mask @var{mask} 4906@item :mask @var{mask}
@@ -5365,8 +5364,8 @@ This function inserts @var{image} in the current buffer at point, like
5365@code{insert-image}, but splits the image into @var{rows}x@var{cols} 5364@code{insert-image}, but splits the image into @var{rows}x@var{cols}
5366equally sized slices. 5365equally sized slices.
5367 5366
5368If an image is inserted ``sliced'', Emacs displays each slice as a 5367Emacs displays each slice as a
5369separate image, and allow more intuitive scrolling up/down, instead of 5368separate image, and allows more intuitive scrolling up/down, instead of
5370jumping up/down the entire image when paging through a buffer that 5369jumping up/down the entire image when paging through a buffer that
5371displays (large) images. 5370displays (large) images.
5372@end defun 5371@end defun
@@ -5443,7 +5442,7 @@ are multiple ``frames'' in the image. At present, Emacs supports
5443multiple frames for GIF, TIFF, and certain ImageMagick formats such as 5442multiple frames for GIF, TIFF, and certain ImageMagick formats such as
5444DJVM@. 5443DJVM@.
5445 5444
5446The frames can be used either to represent multiple ``pages'' (this is 5445The frames can be used either to represent multiple pages (this is
5447usually the case with multi-frame TIFF files, for example), or to 5446usually the case with multi-frame TIFF files, for example), or to
5448create animation (usually the case with multi-frame GIF files). 5447create animation (usually the case with multi-frame GIF files).
5449 5448
@@ -5666,7 +5665,7 @@ so that it's easy to define special-purpose types of buttons for
5666specific tasks. 5665specific tasks.
5667 5666
5668@defun define-button-type name &rest properties 5667@defun define-button-type name &rest properties
5669Define a ``button type'' called @var{name} (a symbol). 5668Define a button type called @var{name} (a symbol).
5670The remaining arguments 5669The remaining arguments
5671form a sequence of @var{property value} pairs, specifying default 5670form a sequence of @var{property value} pairs, specifying default
5672property values for buttons with this type (a button's type may be set 5671property values for buttons with this type (a button's type may be set
@@ -5819,7 +5818,7 @@ Return @code{t} if button-type @var{type} is a subtype of @var{supertype}.
5819These are commands and functions for locating and operating on 5818These are commands and functions for locating and operating on
5820buttons in an Emacs buffer. 5819buttons in an Emacs buffer.
5821 5820
5822@code{push-button} is the command that a user uses to actually ``push'' 5821@code{push-button} is the command that a user uses to actually push
5823a button, and is bound by default in the button itself to @key{RET} 5822a button, and is bound by default in the button itself to @key{RET}
5824and to @key{mouse-2} using a local keymap in the button's overlay or 5823and to @key{mouse-2} using a local keymap in the button's overlay or
5825text properties. Commands that are useful outside the buttons itself, 5824text properties. Commands that are useful outside the buttons itself,
@@ -5884,8 +5883,8 @@ in the search, instead of starting at the next button.
5884 5883
5885 The Ewoc package constructs buffer text that represents a structure 5884 The Ewoc package constructs buffer text that represents a structure
5886of Lisp objects, and updates the text to follow changes in that 5885of Lisp objects, and updates the text to follow changes in that
5887structure. This is like the ``view'' component in the 5886structure. This is like the view component in the
5888``model/view/controller'' design paradigm. Ewoc means ``Emacs's 5887model--view--controller design paradigm. Ewoc means ``Emacs's
5889Widget for Object Collections''. 5888Widget for Object Collections''.
5890 5889
5891 An @dfn{ewoc} is a structure that organizes information required to 5890 An @dfn{ewoc} is a structure that organizes information required to
@@ -5949,7 +5948,7 @@ new value in its place, like so:
5949 5948
5950@noindent 5949@noindent
5951You can also use, as the data element value, a Lisp object (list or 5950You can also use, as the data element value, a Lisp object (list or
5952vector) that is a container for the ``real'' value, or an index into 5951vector) that is a container for the real value, or an index into
5953some other structure. The example (@pxref{Abstract Display Example}) 5952some other structure. The example (@pxref{Abstract Display Example})
5954uses the latter approach. 5953uses the latter approach.
5955 5954
@@ -5985,7 +5984,7 @@ Normally, a newline is automatically inserted after the header,
5985the footer and every node's textual description. If @var{nosep} 5984the footer and every node's textual description. If @var{nosep}
5986is non-@code{nil}, no newline is inserted. This may be useful for 5985is non-@code{nil}, no newline is inserted. This may be useful for
5987displaying an entire ewoc on a single line, for example, or for 5986displaying an entire ewoc on a single line, for example, or for
5988making nodes ``invisible'' by arranging for @var{pretty-printer} 5987making nodes invisible by arranging for @var{pretty-printer}
5989to do nothing for those nodes. 5988to do nothing for those nodes.
5990 5989
5991An ewoc maintains its text in the buffer that is current when 5990An ewoc maintains its text in the buffer that is current when
@@ -6105,7 +6104,7 @@ Any @var{args} are passed to @var{map-function}.
6105@subsection Abstract Display Example 6104@subsection Abstract Display Example
6106 6105
6107 Here is a simple example using functions of the ewoc package to 6106 Here is a simple example using functions of the ewoc package to
6108implement a ``color components display'', an area in a buffer that 6107implement a @dfn{color components} display, an area in a buffer that
6109represents a vector of three integers (itself representing a 24-bit RGB 6108represents a vector of three integers (itself representing a 24-bit RGB
6110value) in various ways. 6109value) in various ways.
6111 6110
@@ -6164,10 +6163,10 @@ The buffer is in Color Components mode."
6164@end example 6163@end example
6165 6164
6166@cindex controller part, model/view/controller 6165@cindex controller part, model/view/controller
6167 This example can be extended to be a ``color selection widget'' (in 6166 This example can be extended to be a color selection widget (in
6168other words, the controller part of the ``model/view/controller'' 6167other words, the controller part of the model--view--controller
6169design paradigm) by defining commands to modify @code{colorcomp-data} 6168design paradigm) by defining commands to modify @code{colorcomp-data}
6170and to ``finish'' the selection process, and a keymap to tie it all 6169and to finish the selection process, and a keymap to tie it all
6171together conveniently. 6170together conveniently.
6172 6171
6173@smallexample 6172@smallexample
@@ -6417,9 +6416,9 @@ display the character @var{c} as those glyphs; @pxref{Glyphs}).
6417 6416
6418 @strong{Warning:} if you use the display table to change the display 6417 @strong{Warning:} if you use the display table to change the display
6419of newline characters, the whole buffer will be displayed as one long 6418of newline characters, the whole buffer will be displayed as one long
6420``line''. 6419line.
6421 6420
6422 The display table also has six ``extra slots'' which serve special 6421 The display table also has six @dfn{extra slots} which serve special
6423purposes. Here is a table of their meanings; @code{nil} in any slot 6422purposes. Here is a table of their meanings; @code{nil} in any slot
6424means to use the default for that slot, as stated below. 6423means to use the default for that slot, as stated below.
6425 6424
@@ -6686,7 +6685,7 @@ Non-@acronym{ASCII}, non-printing characters @code{U+0080} to
6686@samp{\230}). 6685@samp{\230}).
6687 6686
6688@item format-control 6687@item format-control
6689Characters of Unicode General Category ``Cf'', such as @samp{U+200E} 6688Characters of Unicode General Category [Cf], such as @samp{U+200E}
6690(Left-to-Right Mark), but excluding characters that have graphic 6689(Left-to-Right Mark), but excluding characters that have graphic
6691images, such as @samp{U+00AD} (Soft Hyphen). 6690images, such as @samp{U+00AD} (Soft Hyphen).
6692 6691
@@ -6733,8 +6732,8 @@ capability (@samp{vb}).
6733@end defopt 6732@end defopt
6734 6733
6735@defvar ring-bell-function 6734@defvar ring-bell-function
6736If this is non-@code{nil}, it specifies how Emacs should ``ring the 6735If this is non-@code{nil}, it specifies how Emacs should ring the
6737bell''. Its value should be a function of no arguments. If this is 6736bell. Its value should be a function of no arguments. If this is
6738non-@code{nil}, it takes precedence over the @code{visible-bell} 6737non-@code{nil}, it takes precedence over the @code{visible-bell}
6739variable. 6738variable.
6740@end defvar 6739@end defvar
@@ -6823,8 +6822,8 @@ positions do not increase monotonically with string or buffer
6823position. In performing this @dfn{bidirectional reordering}, Emacs 6822position. In performing this @dfn{bidirectional reordering}, Emacs
6824follows the Unicode Bidirectional Algorithm (a.k.a.@: @acronym{UBA}), 6823follows the Unicode Bidirectional Algorithm (a.k.a.@: @acronym{UBA}),
6825which is described in Annex #9 of the Unicode standard 6824which is described in Annex #9 of the Unicode standard
6826(@url{http://www.unicode.org/reports/tr9/}). Emacs provides a ``Full 6825(@url{http://www.unicode.org/reports/tr9/}). Emacs provides a Full
6827Bidirectionality'' class implementation of the @acronym{UBA}, 6826Bidirectionality class implementation of the @acronym{UBA},
6828consistent with the requirements of the Unicode Standard v7.0. 6827consistent with the requirements of the Unicode Standard v7.0.
6829 6828
6830@defvar bidi-display-reordering 6829@defvar bidi-display-reordering
@@ -6950,7 +6949,7 @@ The function returns the new buffer position as its value.
6950when two strings with bidirectional content are juxtaposed in a 6949when two strings with bidirectional content are juxtaposed in a
6951buffer, or otherwise programmatically concatenated into a string of 6950buffer, or otherwise programmatically concatenated into a string of
6952text. A typical problematic case is when a buffer consists of 6951text. A typical problematic case is when a buffer consists of
6953sequences of text ``fields'' separated by whitespace or punctuation 6952sequences of text fields separated by whitespace or punctuation
6954characters, like Buffer Menu mode or Rmail Summary Mode. Because the 6953characters, like Buffer Menu mode or Rmail Summary Mode. Because the
6955punctuation characters used as separators have @dfn{weak 6954punctuation characters used as separators have @dfn{weak
6956directionality}, they take on the directionality of surrounding text. 6955directionality}, they take on the directionality of surrounding text.
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 97bcf0db270..9080bf70ccf 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -363,7 +363,7 @@ at point, rather than at the stop point. If you want to execute one
363expression @emph{from the current stop point}, first type @kbd{w} 363expression @emph{from the current stop point}, first type @kbd{w}
364(@code{edebug-where}) to move point there, and then type @kbd{f}. 364(@code{edebug-where}) to move point there, and then type @kbd{f}.
365 365
366The @kbd{o} command continues ``out of'' an expression. It places a 366The @kbd{o} command continues out of an expression. It places a
367temporary breakpoint at the end of the sexp containing point. If the 367temporary breakpoint at the end of the sexp containing point. If the
368containing sexp is a function definition itself, @kbd{o} continues until 368containing sexp is a function definition itself, @kbd{o} continues until
369just before the last sexp in the definition. If that is where you are 369just before the last sexp in the definition. If that is where you are
@@ -875,7 +875,7 @@ lines inserted.
875frequency. 875frequency.
876 876
877 Coverage testing works by comparing the result of each expression with 877 Coverage testing works by comparing the result of each expression with
878the previous result; each form in the program is considered ``covered'' 878the previous result; each form in the program is considered covered
879if it has returned two different values since you began testing coverage 879if it has returned two different values since you began testing coverage
880in the current Emacs session. Thus, to do coverage testing on your 880in the current Emacs session. Thus, to do coverage testing on your
881program, execute it under various conditions and note whether it behaves 881program, execute it under various conditions and note whether it behaves
@@ -908,7 +908,7 @@ earlier expression on the same line.
908 908
909The character @samp{=} following the count for an expression says that 909The character @samp{=} following the count for an expression says that
910the expression has returned the same value each time it was evaluated. 910the expression has returned the same value each time it was evaluated.
911In other words, it is not yet ``covered'' for coverage testing purposes. 911In other words, it is not yet covered for coverage testing purposes.
912 912
913To clear the frequency count and coverage data for a definition, 913To clear the frequency count and coverage data for a definition,
914simply reinstrument it with @code{eval-defun}. 914simply reinstrument it with @code{eval-defun}.
@@ -978,14 +978,14 @@ unless @code{edebug-continue-kbd-macro} is non-@code{nil}.
978@c This paragraph is not filled, because LaLiberte's conversion script 978@c This paragraph is not filled, because LaLiberte's conversion script
979@c needs an xref to be on just one line. 979@c needs an xref to be on just one line.
980When Edebug needs to display something (e.g., in trace mode), it saves 980When Edebug needs to display something (e.g., in trace mode), it saves
981the current window configuration from ``outside'' Edebug 981the current window configuration from outside Edebug
982(@pxref{Window Configurations}). When you exit Edebug, it restores 982(@pxref{Window Configurations}). When you exit Edebug, it restores
983the previous window configuration. 983the previous window configuration.
984 984
985Emacs redisplays only when it pauses. Usually, when you continue 985Emacs redisplays only when it pauses. Usually, when you continue
986execution, the program re-enters Edebug at a breakpoint or after 986execution, the program re-enters Edebug at a breakpoint or after
987stepping, without pausing or reading input in between. In such cases, 987stepping, without pausing or reading input in between. In such cases,
988Emacs never gets a chance to redisplay the ``outside'' configuration. 988Emacs never gets a chance to redisplay the outside configuration.
989Consequently, what you see is the same window configuration as the last 989Consequently, what you see is the same window configuration as the last
990time Edebug was active, with no interruption. 990time Edebug was active, with no interruption.
991 991
@@ -1605,7 +1605,7 @@ and consider a macro of the form:
1605If you instrument the @code{test} macro and step through it, then by 1605If you instrument the @code{test} macro and step through it, then by
1606default the result of the @code{symbol-function} call has numerous 1606default the result of the @code{symbol-function} call has numerous
1607@code{edebug-after} and @code{edebug-before} forms, which can make it 1607@code{edebug-after} and @code{edebug-before} forms, which can make it
1608difficult to see the ``actual'' result. If 1608difficult to see the actual result. If
1609@code{edebug-unwrap-results} is non-@code{nil}, Edebug tries to remove 1609@code{edebug-unwrap-results} is non-@code{nil}, Edebug tries to remove
1610these forms from the result. 1610these forms from the result.
1611@end defopt 1611@end defopt
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 7b2b68a4fa6..5ca518ecd5f 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -453,7 +453,7 @@ Kinds of Forms
453 we find the real function via the symbol. 453 we find the real function via the symbol.
454* Function Forms:: Forms that call functions. 454* Function Forms:: Forms that call functions.
455* Macro Forms:: Forms that call macros. 455* Macro Forms:: Forms that call macros.
456* Special Forms:: ``Special forms'' are idiosyncratic primitives, 456* Special Forms:: Special forms are idiosyncratic primitives,
457 most of them extremely important. 457 most of them extremely important.
458* Autoloading:: Functions set up to load files 458* Autoloading:: Functions set up to load files
459 containing their real definitions. 459 containing their real definitions.
@@ -485,7 +485,7 @@ Errors
485Variables 485Variables
486 486
487* Global Variables:: Variable values that exist permanently, everywhere. 487* Global Variables:: Variable values that exist permanently, everywhere.
488* Constant Variables:: Certain ``variables'' have values that never change. 488* Constant Variables:: Variables that never change.
489* Local Variables:: Variable values that exist only temporarily. 489* Local Variables:: Variable values that exist only temporarily.
490* Void Variables:: Symbols that lack values. 490* Void Variables:: Symbols that lack values.
491* Defining Variables:: A definition says a symbol is used as a variable. 491* Defining Variables:: A definition says a symbol is used as a variable.
@@ -599,7 +599,7 @@ Loading
599* Repeated Loading:: Precautions about loading a file twice. 599* Repeated Loading:: Precautions about loading a file twice.
600* Named Features:: Loading a library if it isn't already loaded. 600* Named Features:: Loading a library if it isn't already loaded.
601* Where Defined:: Finding which file defined a certain symbol. 601* Where Defined:: Finding which file defined a certain symbol.
602* Unloading:: How to ``unload'' a library that was loaded. 602* Unloading:: How to unload a library that was loaded.
603* Hooks for Loading:: Providing code to be run when 603* Hooks for Loading:: Providing code to be run when
604 particular libraries are loaded. 604 particular libraries are loaded.
605 605
@@ -990,7 +990,7 @@ Buffers
990 is visited. 990 is visited.
991* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 991* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
992* Modification Time:: Determining whether the visited file was changed 992* Modification Time:: Determining whether the visited file was changed
993 ``behind Emacs's back''. 993 behind Emacs's back.
994* Read Only Buffers:: Modifying text is not allowed in a 994* Read Only Buffers:: Modifying text is not allowed in a
995 read-only buffer. 995 read-only buffer.
996* Buffer List:: How to look at all the existing buffers. 996* Buffer List:: How to look at all the existing buffers.
@@ -1117,8 +1117,8 @@ Markers
1117* Marker Insertion Types:: Two ways a marker can relocate when you 1117* Marker Insertion Types:: Two ways a marker can relocate when you
1118 insert where it points. 1118 insert where it points.
1119* Moving Markers:: Moving the marker to a new buffer or position. 1119* Moving Markers:: Moving the marker to a new buffer or position.
1120* The Mark:: How ``the mark'' is implemented with a marker. 1120* The Mark:: How the mark is implemented with a marker.
1121* The Region:: How to access ``the region''. 1121* The Region:: How to access the region.
1122 1122
1123Text 1123Text
1124 1124
@@ -1152,7 +1152,7 @@ Text
1152* Base 64:: Conversion to or from base 64 encoding. 1152* Base 64:: Conversion to or from base 64 encoding.
1153* Checksum/Hash:: Computing cryptographic hashes. 1153* Checksum/Hash:: Computing cryptographic hashes.
1154* Parsing HTML/XML:: Parsing HTML and XML. 1154* Parsing HTML/XML:: Parsing HTML and XML.
1155* Atomic Changes:: Installing several buffer changes ``atomically''. 1155* Atomic Changes:: Installing several buffer changes atomically.
1156* Change Hooks:: Supplying functions to be run when text is changed. 1156* Change Hooks:: Supplying functions to be run when text is changed.
1157 1157
1158The Kill Ring 1158The Kill Ring
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi
index f253e7007b4..a7c44c66ec3 100644
--- a/doc/lispref/eval.texi
+++ b/doc/lispref/eval.texi
@@ -104,9 +104,9 @@ interpretation. @xref{Command Loop}.
104 A Lisp object that is intended to be evaluated is called a 104 A Lisp object that is intended to be evaluated is called a
105@dfn{form} (or an @dfn{expression}). How Emacs evaluates a form 105@dfn{form} (or an @dfn{expression}). How Emacs evaluates a form
106depends on its data type. Emacs has three different kinds of form 106depends on its data type. Emacs has three different kinds of form
107that are evaluated differently: symbols, lists, and ``all other 107that are evaluated differently: symbols, lists, and all other
108types''. This section describes all three kinds, one by one, starting 108types. This section describes all three kinds, one by one, starting
109with the ``all other types'' which are self-evaluating forms. 109with the other types, which are self-evaluating forms.
110 110
111@menu 111@menu
112* Self-Evaluating Forms:: Forms that evaluate to themselves. 112* Self-Evaluating Forms:: Forms that evaluate to themselves.
@@ -116,7 +116,7 @@ with the ``all other types'' which are self-evaluating forms.
116 we find the real function via the symbol. 116 we find the real function via the symbol.
117* Function Forms:: Forms that call functions. 117* Function Forms:: Forms that call functions.
118* Macro Forms:: Forms that call macros. 118* Macro Forms:: Forms that call macros.
119* Special Forms:: ``Special forms'' are idiosyncratic primitives, 119* Special Forms:: Special forms are idiosyncratic primitives,
120 most of them extremely important. 120 most of them extremely important.
121* Autoloading:: Functions set up to load files 121* Autoloading:: Functions set up to load files
122 containing their real definitions. 122 containing their real definitions.
@@ -146,7 +146,7 @@ contents unchanged.
146 @result{} 123 146 @result{} 123
147@end group 147@end group
148@group 148@group
149(eval '123) ; @r{Evaluated ``by hand''---result is the same.} 149(eval '123) ; @r{Evaluated by hand---result is the same.}
150 @result{} 123 150 @result{} 123
151@end group 151@end group
152@group 152@group
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 91b0c96071e..735e08eb324 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -55,7 +55,7 @@ to locale @code{system-messages-locale}, and decoded using coding system
55 55
56 Visiting a file means reading a file into a buffer. Once this is 56 Visiting a file means reading a file into a buffer. Once this is
57done, we say that the buffer is @dfn{visiting} that file, and call the 57done, we say that the buffer is @dfn{visiting} that file, and call the
58file ``the visited file'' of the buffer. 58file @dfn{the visited file} of the buffer.
59 59
60 A file and a buffer are two different things. A file is information 60 A file and a buffer are two different things. A file is information
61recorded permanently in the computer (unless you delete it). A 61recorded permanently in the computer (unless you delete it). A
@@ -692,7 +692,7 @@ stored in the same directory as the file you are editing. (On file
692systems that do not support symbolic links, a regular file is used.) 692systems that do not support symbolic links, a regular file is used.)
693 693
694 When you access files using NFS, there may be a small probability that 694 When you access files using NFS, there may be a small probability that
695you and another user will both lock the same file ``simultaneously''. 695you and another user will both lock the same file simultaneously.
696If this happens, it is possible for the two users to make changes 696If this happens, it is possible for the two users to make changes
697simultaneously, but Emacs will still warn the user who saves second. 697simultaneously, but Emacs will still warn the user who saves second.
698Also, the detection of modification of a buffer visiting a file changed 698Also, the detection of modification of a buffer visiting a file changed
@@ -939,7 +939,7 @@ $ ls -l diffs
939@cindex MS-DOS and file modes 939@cindex MS-DOS and file modes
940@cindex file modes and MS-DOS 940@cindex file modes and MS-DOS
941@strong{MS-DOS note:} On MS-DOS, there is no such thing as an 941@strong{MS-DOS note:} On MS-DOS, there is no such thing as an
942``executable'' file mode bit. So @code{file-modes} considers a file 942executable file mode bit. So @code{file-modes} considers a file
943executable if its name ends in one of the standard executable 943executable if its name ends in one of the standard executable
944extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some 944extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some
945others. Files that begin with the Unix-standard @samp{#!} signature, 945others. Files that begin with the Unix-standard @samp{#!} signature,
@@ -1089,7 +1089,7 @@ If you may need to follow symbolic links preceding @samp{..}@:
1089appearing as a name component, call @code{file-truename} without prior 1089appearing as a name component, call @code{file-truename} without prior
1090direct or indirect calls to @code{expand-file-name}. Otherwise, the 1090direct or indirect calls to @code{expand-file-name}. Otherwise, the
1091file name component immediately preceding @samp{..} will be 1091file name component immediately preceding @samp{..} will be
1092``simplified away'' before @code{file-truename} is called. To 1092simplified away before @code{file-truename} is called. To
1093eliminate the need for a call to @code{expand-file-name}, 1093eliminate the need for a call to @code{expand-file-name},
1094@code{file-truename} handles @samp{~} in the same way that 1094@code{file-truename} handles @samp{~} in the same way that
1095@code{expand-file-name} does. @xref{File Name Expansion,, Functions 1095@code{expand-file-name} does. @xref{File Name Expansion,, Functions
@@ -1358,7 +1358,7 @@ On some operating systems, each file can be associated with arbitrary
1358and setting two specific sets of extended file attributes: Access 1358and setting two specific sets of extended file attributes: Access
1359Control Lists (ACLs) and SELinux contexts. These extended file 1359Control Lists (ACLs) and SELinux contexts. These extended file
1360attributes are used, on some systems, to impose more sophisticated 1360attributes are used, on some systems, to impose more sophisticated
1361file access controls than the basic ``Unix-style'' permissions 1361file access controls than the basic Unix-style permissions
1362discussed in the previous sections. 1362discussed in the previous sections.
1363 1363
1364@cindex access control list 1364@cindex access control list
@@ -1509,8 +1509,8 @@ replaces it with its (recursive) target.
1509@cindex file with multiple names 1509@cindex file with multiple names
1510@cindex file hard link 1510@cindex file hard link
1511This function gives the file named @var{oldname} the additional name 1511This function gives the file named @var{oldname} the additional name
1512@var{newname}. This means that @var{newname} becomes a new ``hard 1512@var{newname}. This means that @var{newname} becomes a new hard
1513link'' to @var{oldname}. 1513link to @var{oldname}.
1514 1514
1515In the first part of the following example, we list two files, 1515In the first part of the following example, we list two files,
1516@file{foo} and @file{foo3}. 1516@file{foo} and @file{foo3}.
@@ -1603,7 +1603,7 @@ file. This works only on some operating systems, and only if you have
1603the correct permissions to do so. 1603the correct permissions to do so.
1604 1604
1605If the optional argument @var{preserve-permissions} is non-@code{nil}, 1605If the optional argument @var{preserve-permissions} is non-@code{nil},
1606this function copies the file modes (or ``permissions'') of 1606this function copies the file modes (or permissions) of
1607@var{oldname} to @var{newname}, as well as the Access Control List and 1607@var{oldname} to @var{newname}, as well as the Access Control List and
1608SELinux context (if any). @xref{Information about Files}. 1608SELinux context (if any). @xref{Information about Files}.
1609 1609
@@ -1687,7 +1687,7 @@ Emacs and its subprocesses. Every file created with Emacs initially
1687has these permissions, or a subset of them (@code{write-region} will 1687has these permissions, or a subset of them (@code{write-region} will
1688not grant execute permissions even if the default file permissions 1688not grant execute permissions even if the default file permissions
1689allow execution). On Unix and GNU/Linux, the default permissions are 1689allow execution). On Unix and GNU/Linux, the default permissions are
1690given by the bitwise complement of the ``umask'' value. 1690given by the bitwise complement of the @samp{umask} value.
1691 1691
1692The argument @var{mode} should be an integer which specifies the 1692The argument @var{mode} should be an integer which specifies the
1693permissions, similar to @code{set-file-modes} above. Only the lowest 1693permissions, similar to @code{set-file-modes} above. Only the lowest
@@ -1908,7 +1908,7 @@ return value, but backup version numbers are kept.
1908@end defun 1908@end defun
1909 1909
1910@defun file-name-extension filename &optional period 1910@defun file-name-extension filename &optional period
1911This function returns @var{filename}'s final ``extension'', if any, 1911This function returns @var{filename}'s final extension, if any,
1912after applying @code{file-name-sans-versions} to remove any 1912after applying @code{file-name-sans-versions} to remove any
1913version/backup part. The extension, in a file name, is the part that 1913version/backup part. The extension, in a file name, is the part that
1914follows the last @samp{.} in the last name component (minus any 1914follows the last @samp{.} in the last name component (minus any
@@ -1918,7 +1918,7 @@ This function returns @code{nil} for extensionless file names such as
1918@file{foo}. It returns @code{""} for null extensions, as in 1918@file{foo}. It returns @code{""} for null extensions, as in
1919@file{foo.}. If the last component of a file name begins with a 1919@file{foo.}. If the last component of a file name begins with a
1920@samp{.}, that @samp{.} doesn't count as the beginning of an 1920@samp{.}, that @samp{.} doesn't count as the beginning of an
1921extension. Thus, @file{.emacs}'s ``extension'' is @code{nil}, not 1921extension. Thus, @file{.emacs}'s extension is @code{nil}, not
1922@samp{.emacs}. 1922@samp{.emacs}.
1923 1923
1924If @var{period} is non-@code{nil}, then the returned value includes 1924If @var{period} is non-@code{nil}, then the returned value includes
@@ -2198,7 +2198,7 @@ In some cases, a leading @samp{..} component can remain in the output:
2198 2198
2199@noindent 2199@noindent
2200This is for the sake of filesystems that have the concept of a 2200This is for the sake of filesystems that have the concept of a
2201``superroot'' above the root directory @file{/}. On other filesystems, 2201superroot above the root directory @file{/}. On other filesystems,
2202@file{/../} is interpreted exactly the same as @file{/}. 2202@file{/../} is interpreted exactly the same as @file{/}.
2203 2203
2204Note that @code{expand-file-name} does @emph{not} expand environment 2204Note that @code{expand-file-name} does @emph{not} expand environment
@@ -2257,7 +2257,7 @@ This function replaces environment variable references in
2257@var{filename} with the environment variable values. Following 2257@var{filename} with the environment variable values. Following
2258standard Unix shell syntax, @samp{$} is the prefix to substitute an 2258standard Unix shell syntax, @samp{$} is the prefix to substitute an
2259environment variable value. If the input contains @samp{$$}, that is 2259environment variable value. If the input contains @samp{$$}, that is
2260converted to @samp{$}; this gives the user a way to ``quote'' a 2260converted to @samp{$}; this gives the user a way to quote a
2261@samp{$}. 2261@samp{$}.
2262 2262
2263The environment variable name is the series of alphanumeric characters 2263The environment variable name is the series of alphanumeric characters
@@ -2619,7 +2619,7 @@ that can be read.
2619 2619
2620@defun directory-files-recursively directory match &optional include-directories 2620@defun directory-files-recursively directory match &optional include-directories
2621Return all files under @var{directory} whose file names match 2621Return all files under @var{directory} whose file names match
2622@var{match} recursively. The file names are returned ``depth first'', 2622@var{match} recursively. The file names are returned depth first,
2623meaning that contents of sub-directories are returned before contents 2623meaning that contents of sub-directories are returned before contents
2624of the directories. If @var{include-directories} is non-@code{nil}, 2624of the directories. If @var{include-directories} is non-@code{nil},
2625also return directory names that have matching names. 2625also return directory names that have matching names.
@@ -2753,7 +2753,7 @@ no prefix argument is given, and @code{nil} otherwise.
2753@end deffn 2753@end deffn
2754 2754
2755@node Magic File Names 2755@node Magic File Names
2756@section Making Certain File Names ``Magic'' 2756@section Making Certain File Names Magic
2757@cindex magic file names 2757@cindex magic file names
2758 2758
2759 You can implement special handling for certain file names. This is 2759 You can implement special handling for certain file names. This is
@@ -2943,7 +2943,7 @@ unlocking the buffer if it is locked.
2943possibly others to be added in the future. It need not implement all 2943possibly others to be added in the future. It need not implement all
2944these operations itself---when it has nothing special to do for a 2944these operations itself---when it has nothing special to do for a
2945certain operation, it can reinvoke the primitive, to handle the 2945certain operation, it can reinvoke the primitive, to handle the
2946operation ``in the usual way''. It should always reinvoke the primitive 2946operation in the usual way. It should always reinvoke the primitive
2947for an operation it does not recognize. Here's one way to do this: 2947for an operation it does not recognize. Here's one way to do this:
2948 2948
2949@smallexample 2949@smallexample
@@ -2976,7 +2976,7 @@ each have handlers.
2976 Handlers that don't really do anything special for actual access to the 2976 Handlers that don't really do anything special for actual access to the
2977file---such as the ones that implement completion of host names for 2977file---such as the ones that implement completion of host names for
2978remote file names---should have a non-@code{nil} @code{safe-magic} 2978remote file names---should have a non-@code{nil} @code{safe-magic}
2979property. For instance, Emacs normally ``protects'' directory names 2979property. For instance, Emacs normally protects directory names
2980it finds in @code{PATH} from becoming magic, if they look like magic 2980it finds in @code{PATH} from becoming magic, if they look like magic
2981file names, by prefixing them with @samp{/:}. But if the handler that 2981file names, by prefixing them with @samp{/:}. But if the handler that
2982would be used for them has a non-@code{nil} @code{safe-magic} 2982would be used for them has a non-@code{nil} @code{safe-magic}
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 1fcc7fd4ba1..db8ac756636 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -262,7 +262,7 @@ variable, or by the @samp{--display} option (@pxref{Initial Options,,,
262emacs, The GNU Emacs Manual}). Emacs can connect to other X displays 262emacs, The GNU Emacs Manual}). Emacs can connect to other X displays
263via the command @code{make-frame-on-display}. Each X display has its 263via the command @code{make-frame-on-display}. Each X display has its
264own selected frame and its own minibuffer windows; however, only one 264own selected frame and its own minibuffer windows; however, only one
265of those frames is ``@emph{the} selected frame'' at any given moment 265of those frames is @emph{the} selected frame at any given moment
266(@pxref{Input Focus}). Emacs can even connect to other text 266(@pxref{Input Focus}). Emacs can even connect to other text
267terminals, by interacting with the @command{emacsclient} program. 267terminals, by interacting with the @command{emacsclient} program.
268@xref{Emacs Server,,, emacs, The GNU Emacs Manual}. 268@xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
@@ -294,8 +294,8 @@ This function creates and returns a new frame on @var{display}, taking
294the other frame parameters from the alist @var{parameters}. 294the other frame parameters from the alist @var{parameters}.
295@var{display} should be the name of an X display (a string). 295@var{display} should be the name of an X display (a string).
296 296
297Before creating the frame, this function ensures that Emacs is ``set 297Before creating the frame, this function ensures that Emacs is set
298up'' to display graphics. For instance, if Emacs has not processed X 298up to display graphics. For instance, if Emacs has not processed X
299resources (e.g., if it was started on a text terminal), it does so at 299resources (e.g., if it was started on a text terminal), it does so at
300this time. In all other respects, this function behaves like 300this time. In all other respects, this function behaves like
301@code{make-frame} (@pxref{Creating Frames}). 301@code{make-frame} (@pxref{Creating Frames}).
@@ -336,7 +336,7 @@ on that display (@pxref{Deleting Frames}).
336@end defun 336@end defun
337 337
338@cindex multi-monitor 338@cindex multi-monitor
339 On some ``multi-monitor'' setups, a single X display outputs to more 339 On some multi-monitor setups, a single X display outputs to more
340than one physical monitor. You can use the functions 340than one physical monitor. You can use the functions
341@code{display-monitor-attributes-list} and @code{frame-monitor-attributes} 341@code{display-monitor-attributes-list} and @code{frame-monitor-attributes}
342to obtain information about such setups. 342to obtain information about such setups.
@@ -358,7 +358,7 @@ that, if the monitor is not the primary monitor, some of the
358coordinates might be negative. 358coordinates might be negative.
359 359
360@item workarea 360@item workarea
361Position of the top-left corner and size of the work area (``usable'' 361Position of the top-left corner and size of the work area (usable
362space) in pixels as @samp{(@var{x} @var{y} @var{width} @var{height})}. 362space) in pixels as @samp{(@var{x} @var{y} @var{width} @var{height})}.
363This may be different from @samp{geometry} in that space occupied by 363This may be different from @samp{geometry} in that space occupied by
364various window manager features (docks, taskbars, etc.)@: may be 364various window manager features (docks, taskbars, etc.)@: may be
@@ -489,7 +489,7 @@ of the frame. The @dfn{outer width} and @dfn{outer height} of the frame
489specify the size of that rectangle. 489specify the size of that rectangle.
490 490
491@cindex outer position 491@cindex outer position
492The upper left corner of the outer frame (indicated by ``(0)'' in the 492The upper left corner of the outer frame (indicated by @samp{(0)} in the
493drawing above) is the @dfn{outer position} or the frame. It is 493drawing above) is the @dfn{outer position} or the frame. It is
494specified by and settable via the @code{left} and @code{top} frame 494specified by and settable via the @code{left} and @code{top} frame
495parameters (@pxref{Position Parameters}) as well as the functions 495parameters (@pxref{Position Parameters}) as well as the functions
@@ -500,7 +500,7 @@ Position}).
500@cindex external border 500@cindex external border
501The @dfn{external border} is part of the decorations supplied by the 501The @dfn{external border} is part of the decorations supplied by the
502window manager. It's typically used for resizing the frame with the 502window manager. It's typically used for resizing the frame with the
503mouse. The external border is normally not shown on ``fullboth'' and 503mouse. The external border is normally not shown on fullboth and
504maximized frames (@pxref{Size Parameters}) and doesn't exist for text 504maximized frames (@pxref{Size Parameters}) and doesn't exist for text
505terminal frames. 505terminal frames.
506 506
@@ -514,7 +514,7 @@ on most platforms it is not covered here.
514The @dfn{title bar} is also part of the window manager's decorations and 514The @dfn{title bar} is also part of the window manager's decorations and
515typically displays the title of the frame (@pxref{Frame Titles}) as well 515typically displays the title of the frame (@pxref{Frame Titles}) as well
516as buttons for minimizing, maximizing and deleting the frame. The title 516as buttons for minimizing, maximizing and deleting the frame. The title
517bar is usually not displayed on ``fullboth'' (@pxref{Size Parameters}) 517bar is usually not displayed on fullboth (@pxref{Size Parameters})
518or tooltip frames. Title bars don't exist for text terminal frames. 518or tooltip frames. Title bars don't exist for text terminal frames.
519 519
520@item Menu Bar 520@item Menu Bar
@@ -689,11 +689,11 @@ Optional argument @var{type} specifies the type of the edges to return:
689@var{frame}, @code{native-edges} (or @code{nil}) means to return its 689@var{frame}, @code{native-edges} (or @code{nil}) means to return its
690native edges and @code{inner-edges} means to return its inner edges. 690native edges and @code{inner-edges} means to return its inner edges.
691 691
692Notice that the ``pixels at the positions'' @var{bottom} and @var{right} 692Notice that the pixels at the positions @var{bottom} and @var{right}
693lie immediately outside the corresponding frame. This means that if you 693lie immediately outside the corresponding frame. This means that if you
694have, for example, two side-by-side frames positioned such that the 694have, for example, two side-by-side frames positioned such that the
695right outer edge of the frame on the left equals the left outer edge of 695right outer edge of the frame on the left equals the left outer edge of
696the frame on the right, the pixels ``representing'' that edge are part 696the frame on the right, the pixels representing that edge are part
697of the frame on the right. 697of the frame on the right.
698@end defun 698@end defun
699 699
@@ -708,7 +708,7 @@ of the frame on the right.
708@cindex default height of character 708@cindex default height of character
709Each frame has a @dfn{default font} which specifies the default 709Each frame has a @dfn{default font} which specifies the default
710character size for that frame. This size is meant when retrieving or 710character size for that frame. This size is meant when retrieving or
711changing the size of a frame in terms of ``columns'' or ``lines'' 711changing the size of a frame in terms of columns or lines
712(@pxref{Size Parameters}). It is also used when resizing (@pxref{Window 712(@pxref{Size Parameters}). It is also used when resizing (@pxref{Window
713Sizes}) or splitting (@pxref{Splitting Windows}) windows. 713Sizes}) or splitting (@pxref{Splitting Windows}) windows.
714 714
@@ -841,7 +841,7 @@ of its character size, however, may: be ignored, cause a rounding
841(GTK+), or be accepted (Lucid, Motif, MS-Windows). 841(GTK+), or be accepted (Lucid, Motif, MS-Windows).
842 842
843With some window managers you may have to set this to non-@code{nil} in 843With some window managers you may have to set this to non-@code{nil} in
844order to make a frame appear truly ``maximized'' or ``fullscreen''. 844order to make a frame appear truly maximized or fullscreen.
845@end defopt 845@end defopt
846 846
847@defun set-frame-size frame width height pixelwise 847@defun set-frame-size frame width height pixelwise
@@ -867,7 +867,7 @@ actual height of the frame. This is only useful on text terminals.
867Using a smaller height than the terminal actually implements may be 867Using a smaller height than the terminal actually implements may be
868useful to reproduce behavior observed on a smaller screen, or if the 868useful to reproduce behavior observed on a smaller screen, or if the
869terminal malfunctions when using its whole screen. Setting the frame 869terminal malfunctions when using its whole screen. Setting the frame
870height ``for real'' does not always work, because knowing the correct 870height directly does not always work, because knowing the correct
871actual size may be necessary for correct cursor positioning on 871actual size may be necessary for correct cursor positioning on
872text terminals. 872text terminals.
873 873
@@ -1290,11 +1290,11 @@ the height shall be set to the size of the screen. The value
1290The difference between @code{maximized} and @code{fullboth} is that a 1290The difference between @code{maximized} and @code{fullboth} is that a
1291maximized frame usually keeps its title bar and the buttons for resizing 1291maximized frame usually keeps its title bar and the buttons for resizing
1292and closing the frame. Also, maximized frames typically avoid hiding 1292and closing the frame. Also, maximized frames typically avoid hiding
1293any task bar or panels displayed on the desktop. ``Fullboth'' frames, 1293any task bar or panels displayed on the desktop. A fullboth frame,
1294on the other hand, usually omit the title bar and occupy the entire 1294on the other hand, usually omits the title bar and occupies the entire
1295available screen space. 1295available screen space.
1296 1296
1297``Fullheight'' and ``fullwidth'' frames are more similar to maximized 1297Fullheight and fullwidth frames are more similar to maximized
1298frames in this regard. However, these typically display an external 1298frames in this regard. However, these typically display an external
1299border which might be absent with maximized frames. Hence the heights 1299border which might be absent with maximized frames. Hence the heights
1300of maximized and fullheight frames and the widths of maximized and 1300of maximized and fullheight frames and the widths of maximized and
@@ -1302,16 +1302,16 @@ fullwidth frames often differ by a few pixels.
1302 1302
1303With some window managers you may have to customize the variable 1303With some window managers you may have to customize the variable
1304@code{frame-resize-pixelwise} (@pxref{Size and Position}) in order to 1304@code{frame-resize-pixelwise} (@pxref{Size and Position}) in order to
1305make a frame truly appear ``maximized'' or ``fullscreen''. Moreover, 1305make a frame truly appear maximized or fullscreen. Moreover,
1306some window managers might not support smooth transition between the 1306some window managers might not support smooth transition between the
1307various fullscreen or maximization states. Customizing the variable 1307various fullscreen or maximization states. Customizing the variable
1308@code{x-frame-normalize-before-maximize} can help to overcome that. 1308@code{x-frame-normalize-before-maximize} can help to overcome that.
1309 1309
1310@vindex fullscreen-restore, a frame parameter 1310@vindex fullscreen-restore, a frame parameter
1311@item fullscreen-restore 1311@item fullscreen-restore
1312This parameter specifies the desired ``fullscreen'' state of the frame 1312This parameter specifies the desired fullscreen state of the frame
1313after invoking the @code{toggle-frame-fullscreen} command (@pxref{Frame 1313after invoking the @code{toggle-frame-fullscreen} command (@pxref{Frame
1314Commands,,, emacs, The GNU Emacs Manual}) in the ``fullboth'' state. 1314Commands,,, emacs, The GNU Emacs Manual}) in the fullboth state.
1315Normally this parameter is installed automatically by that command when 1315Normally this parameter is installed automatically by that command when
1316toggling the state to fullboth. If, however, you start Emacs in the 1316toggling the state to fullboth. If, however, you start Emacs in the
1317fullboth state, you have to specify the desired behavior in your initial 1317fullboth state, you have to specify the desired behavior in your initial
@@ -1580,7 +1580,7 @@ This variable specifies how to blink the cursor. Each element has the
1580form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor 1580form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
1581type equals @var{on-state} (comparing using @code{equal}), the 1581type equals @var{on-state} (comparing using @code{equal}), the
1582corresponding @var{off-state} specifies what the cursor looks like 1582corresponding @var{off-state} specifies what the cursor looks like
1583when it blinks ``off''. Both @var{on-state} and @var{off-state} 1583when it blinks off. Both @var{on-state} and @var{off-state}
1584should be suitable values for the @code{cursor-type} frame parameter. 1584should be suitable values for the @code{cursor-type} frame parameter.
1585 1585
1586There are various defaults for how to blink each type of cursor, if 1586There are various defaults for how to blink each type of cursor, if
@@ -1631,7 +1631,7 @@ used instead.
1631@vindex screen-gamma, a frame parameter 1631@vindex screen-gamma, a frame parameter
1632@item screen-gamma 1632@item screen-gamma
1633@cindex gamma correction 1633@cindex gamma correction
1634If this is a number, Emacs performs ``gamma correction'' which adjusts 1634If this is a number, Emacs performs gamma correction which adjusts
1635the brightness of all colors. The value should be the screen gamma of 1635the brightness of all colors. The value should be the screen gamma of
1636your display. 1636your display.
1637 1637
@@ -1903,13 +1903,13 @@ internals of Emacs.
1903@defun visible-frame-list 1903@defun visible-frame-list
1904This function returns a list of just the currently visible frames. 1904This function returns a list of just the currently visible frames.
1905@xref{Visibility of Frames}. Frames on text terminals always count as 1905@xref{Visibility of Frames}. Frames on text terminals always count as
1906``visible'', even though only the selected one is actually displayed. 1906visible, even though only the selected one is actually displayed.
1907@end defun 1907@end defun
1908 1908
1909@defun next-frame &optional frame minibuf 1909@defun next-frame &optional frame minibuf
1910This function lets you cycle conveniently through all the frames on 1910This function lets you cycle conveniently through all the frames on
1911the current display from an arbitrary starting point. It returns the 1911the current display from an arbitrary starting point. It returns the
1912``next'' frame after @var{frame} in the cycle. If @var{frame} is 1912next frame after @var{frame} in the cycle. If @var{frame} is
1913omitted or @code{nil}, it defaults to the selected frame (@pxref{Input 1913omitted or @code{nil}, it defaults to the selected frame (@pxref{Input
1914Focus}). 1914Focus}).
1915 1915
@@ -1981,7 +1981,7 @@ window always resides on the selected frame.
1981 1981
1982When Emacs displays its frames on several terminals (@pxref{Multiple 1982When Emacs displays its frames on several terminals (@pxref{Multiple
1983Terminals}), each terminal has its own selected frame. But only one 1983Terminals}), each terminal has its own selected frame. But only one
1984of these is ``@emph{the} selected frame'': it's the frame that belongs 1984of these is @emph{the} selected frame: it's the frame that belongs
1985to the terminal from which the most recent input came. That is, when 1985to the terminal from which the most recent input came. That is, when
1986Emacs runs a command that came from a certain terminal, the selected 1986Emacs runs a command that came from a certain terminal, the selected
1987frame is the one of that terminal. Since Emacs runs only a single 1987frame is the one of that terminal. Since Emacs runs only a single
@@ -2001,7 +2001,7 @@ way, Emacs automatically keeps track of which frame has the focus. To
2001explicitly switch to a different frame from a Lisp function, call 2001explicitly switch to a different frame from a Lisp function, call
2002@code{select-frame-set-input-focus}. 2002@code{select-frame-set-input-focus}.
2003 2003
2004Lisp programs can also switch frames ``temporarily'' by calling the 2004Lisp programs can also switch frames temporarily by calling the
2005function @code{select-frame}. This does not alter the window system's 2005function @code{select-frame}. This does not alter the window system's
2006concept of focus; rather, it escapes from the window manager's control 2006concept of focus; rather, it escapes from the window manager's control
2007until that control is somehow reasserted. 2007until that control is somehow reasserted.
@@ -2130,7 +2130,7 @@ This function returns the visibility status of frame @var{frame}. The
2130value is @code{t} if @var{frame} is visible, @code{nil} if it is 2130value is @code{t} if @var{frame} is visible, @code{nil} if it is
2131invisible, and @code{icon} if it is iconified. 2131invisible, and @code{icon} if it is iconified.
2132 2132
2133On a text terminal, all frames are considered ``visible'' for the 2133On a text terminal, all frames are considered visible for the
2134purposes of this function, even though only one frame is displayed. 2134purposes of this function, even though only one frame is displayed.
2135@xref{Raising and Lowering}. 2135@xref{Raising and Lowering}.
2136@end defun 2136@end defun
@@ -2891,7 +2891,7 @@ If you specify them, the key is
2891@defvar x-resource-class 2891@defvar x-resource-class
2892This variable specifies the application name that @code{x-get-resource} 2892This variable specifies the application name that @code{x-get-resource}
2893should look up. The default value is @code{"Emacs"}. You can examine X 2893should look up. The default value is @code{"Emacs"}. You can examine X
2894resources for application names other than ``Emacs'' by binding this 2894resources for other application names by binding this
2895variable to some other string, around a call to @code{x-get-resource}. 2895variable to some other string, around a call to @code{x-get-resource}.
2896@end defvar 2896@end defvar
2897 2897
@@ -2994,14 +2994,14 @@ way that's
2994different in appearance than the default face, and 2994different in appearance than the default face, and
2995 2995
2996@item 2996@item
2997``close in spirit'' to what the attributes specify, if not exact. 2997close in spirit to what the attributes specify, if not exact.
2998@end enumerate 2998@end enumerate
2999 2999
3000Point (2) implies that a @code{:weight black} attribute will be 3000Point (2) implies that a @code{:weight black} attribute will be
3001satisfied by any display that can display bold, as will 3001satisfied by any display that can display bold, as will
3002@code{:foreground "yellow"} as long as some yellowish color can be 3002@code{:foreground "yellow"} as long as some yellowish color can be
3003displayed, but @code{:slant italic} will @emph{not} be satisfied by 3003displayed, but @code{:slant italic} will @emph{not} be satisfied by
3004the tty display code's automatic substitution of a ``dim'' face for 3004the tty display code's automatic substitution of a dim face for
3005italic. 3005italic.
3006@end defun 3006@end defun
3007 3007
@@ -3026,7 +3026,7 @@ This function returns the number of screens associated with the display.
3026This function returns the height of the screen in pixels. 3026This function returns the height of the screen in pixels.
3027On a character terminal, it gives the height in characters. 3027On a character terminal, it gives the height in characters.
3028 3028
3029For graphical terminals, note that on ``multi-monitor'' setups this 3029For graphical terminals, note that on multi-monitor setups this
3030refers to the pixel height for all physical monitors associated with 3030refers to the pixel height for all physical monitors associated with
3031@var{display}. @xref{Multiple Terminals}. 3031@var{display}. @xref{Multiple Terminals}.
3032@end defun 3032@end defun
@@ -3035,7 +3035,7 @@ refers to the pixel height for all physical monitors associated with
3035This function returns the width of the screen in pixels. 3035This function returns the width of the screen in pixels.
3036On a character terminal, it gives the width in characters. 3036On a character terminal, it gives the width in characters.
3037 3037
3038For graphical terminals, note that on ``multi-monitor'' setups this 3038For graphical terminals, note that on multi-monitor setups this
3039refers to the pixel width for all physical monitors associated with 3039refers to the pixel width for all physical monitors associated with
3040@var{display}. @xref{Multiple Terminals}. 3040@var{display}. @xref{Multiple Terminals}.
3041@end defun 3041@end defun
@@ -3044,7 +3044,7 @@ refers to the pixel width for all physical monitors associated with
3044This function returns the height of the screen in millimeters, 3044This function returns the height of the screen in millimeters,
3045or @code{nil} if Emacs cannot get that information. 3045or @code{nil} if Emacs cannot get that information.
3046 3046
3047For graphical terminals, note that on ``multi-monitor'' setups this 3047For graphical terminals, note that on multi-monitor setups this
3048refers to the height for all physical monitors associated with 3048refers to the height for all physical monitors associated with
3049@var{display}. @xref{Multiple Terminals}. 3049@var{display}. @xref{Multiple Terminals}.
3050@end defun 3050@end defun
@@ -3053,7 +3053,7 @@ refers to the height for all physical monitors associated with
3053This function returns the width of the screen in millimeters, 3053This function returns the width of the screen in millimeters,
3054or @code{nil} if Emacs cannot get that information. 3054or @code{nil} if Emacs cannot get that information.
3055 3055
3056For graphical terminals, note that on ``multi-monitor'' setups this 3056For graphical terminals, note that on multi-monitor setups this
3057refers to the width for all physical monitors associated with 3057refers to the width for all physical monitors associated with
3058@var{display}. @xref{Multiple Terminals}. 3058@var{display}. @xref{Multiple Terminals}.
3059@end defun 3059@end defun
@@ -3120,7 +3120,7 @@ MS-Windows, this is the version of the Windows OS.
3120@end defun 3120@end defun
3121 3121
3122@defun x-server-vendor &optional display 3122@defun x-server-vendor &optional display
3123This function returns the ``vendor'' that provided the window system 3123This function returns the vendor that provided the window system
3124software (as a string). On GNU and Unix systems this really means 3124software (as a string). On GNU and Unix systems this really means
3125whoever distributes the X server. On MS-Windows this is the vendor ID 3125whoever distributes the X server. On MS-Windows this is the vendor ID
3126string of the Windows OS (Microsoft). 3126string of the Windows OS (Microsoft).
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index a853d2fbab5..895dca02621 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -118,7 +118,7 @@ Components}); such a @dfn{named command} can be invoked with
118 118
119@item closure 119@item closure
120A function object that is much like a lambda expression, except that 120A function object that is much like a lambda expression, except that
121it also encloses an ``environment'' of lexical variable bindings. 121it also encloses an environment of lexical variable bindings.
122@xref{Closures}. 122@xref{Closures}.
123 123
124@item byte-code function 124@item byte-code function
@@ -368,7 +368,7 @@ This is what @code{substring} does; @code{nil} as the third argument to
368@quotation 368@quotation
369@b{Common Lisp note:} Common Lisp allows the function to specify what 369@b{Common Lisp note:} Common Lisp allows the function to specify what
370default value to use when an optional argument is omitted; Emacs Lisp 370default value to use when an optional argument is omitted; Emacs Lisp
371always uses @code{nil}. Emacs Lisp does not support ``supplied-p'' 371always uses @code{nil}. Emacs Lisp does not support @code{supplied-p}
372variables that tell you whether an argument was explicitly passed. 372variables that tell you whether an argument was explicitly passed.
373@end quotation 373@end quotation
374 374
@@ -660,7 +660,7 @@ already been evaluated.
660 660
661The argument @var{function} must be either a Lisp function or a 661The argument @var{function} must be either a Lisp function or a
662primitive function. Special forms and macros are not allowed, because 662primitive function. Special forms and macros are not allowed, because
663they make sense only when given the ``unevaluated'' argument 663they make sense only when given the unevaluated argument
664expressions. @code{funcall} cannot provide these because, as we saw 664expressions. @code{funcall} cannot provide these because, as we saw
665above, it never knows them in the first place. 665above, it never knows them in the first place.
666 666
@@ -912,7 +912,7 @@ This macro returns an anonymous function with argument list
912@var{args}, documentation string @var{doc} (if any), interactive spec 912@var{args}, documentation string @var{doc} (if any), interactive spec
913@var{interactive} (if any), and body forms given by @var{body}. 913@var{interactive} (if any), and body forms given by @var{body}.
914 914
915In effect, this macro makes @code{lambda} forms ``self-quoting'': 915In effect, this macro makes @code{lambda} forms self-quoting:
916evaluating a form whose @sc{car} is @code{lambda} yields the form 916evaluating a form whose @sc{car} is @code{lambda} yields the form
917itself: 917itself:
918 918
@@ -1133,7 +1133,7 @@ argument list and body forms as the remaining elements:
1133 1133
1134@noindent 1134@noindent
1135However, the fact that the internal structure of a closure is 1135However, the fact that the internal structure of a closure is
1136``exposed'' to the rest of the Lisp world is considered an internal 1136exposed to the rest of the Lisp world is considered an internal
1137implementation detail. For this reason, we recommend against directly 1137implementation detail. For this reason, we recommend against directly
1138examining or altering the structure of closure objects. 1138examining or altering the structure of closure objects.
1139 1139
@@ -1720,7 +1720,7 @@ performed later on in the same file, just like macros.
1720@section The @code{declare} Form 1720@section The @code{declare} Form
1721@findex declare 1721@findex declare
1722 1722
1723 @code{declare} is a special macro which can be used to add ``meta'' 1723 @code{declare} is a special macro which can be used to add meta
1724properties to a function or macro: for example, marking it as 1724properties to a function or macro: for example, marking it as
1725obsolete, or giving its forms a special @key{TAB} indentation 1725obsolete, or giving its forms a special @key{TAB} indentation
1726convention in Emacs Lisp mode. 1726convention in Emacs Lisp mode.
@@ -1821,7 +1821,7 @@ example, byte-compiling @file{fortran.el} used to warn:
1821 1821
1822@example 1822@example
1823In end of data: 1823In end of data:
1824fortran.el:2152:1:Warning: the function `gud-find-c-expr' is not 1824fortran.el:2152:1:Warning: the function gud-find-c-expr is not
1825 known to be defined. 1825 known to be defined.
1826@end example 1826@end example
1827 1827
@@ -1912,7 +1912,7 @@ list of buffer-local bindings.
1912Being quick and simple, @code{unsafep} does a very light analysis and 1912Being quick and simple, @code{unsafep} does a very light analysis and
1913rejects many Lisp expressions that are actually safe. There are no 1913rejects many Lisp expressions that are actually safe. There are no
1914known cases where @code{unsafep} returns @code{nil} for an unsafe 1914known cases where @code{unsafep} returns @code{nil} for an unsafe
1915expression. However, a ``safe'' Lisp expression can return a string 1915expression. However, a safe Lisp expression can return a string
1916with a @code{display} property, containing an associated Lisp 1916with a @code{display} property, containing an associated Lisp
1917expression to be executed after the string is inserted into a buffer. 1917expression to be executed after the string is inserted into a buffer.
1918This associated expression can be a virus. In order to be safe, you 1918This associated expression can be a virus. In order to be safe, you
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi
index 9d60cc38c25..22b7217506f 100644
--- a/doc/lispref/hash.texi
+++ b/doc/lispref/hash.texi
@@ -31,10 +31,10 @@ the way two alists can share a common tail.
31with a series of functions for operating on them. Hash tables have a 31with a series of functions for operating on them. Hash tables have a
32special printed representation, which consists of @samp{#s} followed 32special printed representation, which consists of @samp{#s} followed
33by a list specifying the hash table properties and contents. 33by a list specifying the hash table properties and contents.
34@xref{Creating Hash}. (Note that the term ``hash notation'', which 34@xref{Creating Hash}.
35refers to the initial @samp{#} character used in the printed 35(Hash notation, the initial @samp{#} character used in the printed
36representations of objects with no read representation, has nothing to 36representations of objects with no read representation, has nothing to
37do with the term ``hash table''. @xref{Printed Representation}.) 37do with hash tables. @xref{Printed Representation}.)
38 38
39 Obarrays are also a kind of hash table, but they are a different type 39 Obarrays are also a kind of hash table, but they are a different type
40of object and are used only for recording interned symbols 40of object and are used only for recording interned symbols
@@ -71,16 +71,16 @@ alternatives:
71 71
72@table @code 72@table @code
73@item eql 73@item eql
74Keys which are numbers are ``the same'' if they are @code{equal}, that 74Keys which are numbers are the same if they are @code{equal}, that
75is, if they are equal in value and either both are integers or both 75is, if they are equal in value and either both are integers or both
76are floating point; otherwise, two distinct objects are never 76are floating point; otherwise, two distinct objects are never
77``the same''. 77the same.
78 78
79@item eq 79@item eq
80Any two distinct Lisp objects are ``different'' as keys. 80Any two distinct Lisp objects are different as keys.
81 81
82@item equal 82@item equal
83Two Lisp objects are ``the same'', as keys, if they are equal 83Two Lisp objects are the same, as keys, if they are equal
84according to @code{equal}. 84according to @code{equal}.
85@end table 85@end table
86 86
@@ -128,7 +128,7 @@ doing that takes some extra time.
128The default size is 65. 128The default size is 65.
129 129
130@item :rehash-size @var{rehash-size} 130@item :rehash-size @var{rehash-size}
131When you add an association to a hash table and the table is ``full'', 131When you add an association to a hash table and the table is full,
132it grows automatically. This value specifies how to make the hash table 132it grows automatically. This value specifies how to make the hash table
133larger, at that time. 133larger, at that time.
134 134
@@ -141,10 +141,10 @@ number.
141The default value is 1.5. 141The default value is 1.5.
142 142
143@item :rehash-threshold @var{threshold} 143@item :rehash-threshold @var{threshold}
144This specifies the criterion for when the hash table is ``full'' (so 144This specifies the criterion for when the hash table is full (so
145it should be made larger). The value, @var{threshold}, should be a 145it should be made larger). The value, @var{threshold}, should be a
146positive floating-point number, no greater than 1. The hash table is 146positive floating-point number, no greater than 1. The hash table is
147``full'' whenever the actual number of entries exceeds this fraction 147full whenever the actual number of entries exceeds this fraction
148of the nominal size. The default for @var{threshold} is 0.8. 148of the nominal size. The default for @var{threshold} is 0.8.
149@end table 149@end table
150@end defun 150@end defun
@@ -253,13 +253,13 @@ This function defines a new hash table test, named @var{name}.
253After defining @var{name} in this way, you can use it as the @var{test} 253After defining @var{name} in this way, you can use it as the @var{test}
254argument in @code{make-hash-table}. When you do that, the hash table 254argument in @code{make-hash-table}. When you do that, the hash table
255will use @var{test-fn} to compare key values, and @var{hash-fn} to compute 255will use @var{test-fn} to compare key values, and @var{hash-fn} to compute
256a ``hash code'' from a key value. 256a hash code from a key value.
257 257
258The function @var{test-fn} should accept two arguments, two keys, and 258The function @var{test-fn} should accept two arguments, two keys, and
259return non-@code{nil} if they are considered ``the same''. 259return non-@code{nil} if they are considered the same.
260 260
261The function @var{hash-fn} should accept one argument, a key, and return 261The function @var{hash-fn} should accept one argument, a key, and return
262an integer that is the ``hash code'' of that key. For good results, the 262an integer that is the hash code of that key. For good results, the
263function should use the whole range of integers for hash codes, 263function should use the whole range of integers for hash codes,
264including negative integers. 264including negative integers.
265 265
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index b3042d747b4..fe7c457f57e 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -242,6 +242,11 @@ Semipermanent goal column for vertical motion, as set by @dots{}
242@c That makes them incorrect. 242@c That makes them incorrect.
243 243
244@group 244@group
245minibuffer-temporary-goal-position Variable
246not documented
247@end group
248
249@group
245set-goal-column Keys: C-x C-n 250set-goal-column Keys: C-x C-n
246Set the current horizontal position as a goal for C-n and C-p. 251Set the current horizontal position as a goal for C-n and C-p.
247@end group 252@end group
@@ -249,17 +254,26 @@ Set the current horizontal position as a goal for C-n and C-p.
249@group 254@group
250Those commands will move to this position in the line moved to 255Those commands will move to this position in the line moved to
251rather than trying to keep the same horizontal position. 256rather than trying to keep the same horizontal position.
252With a non-nil argument, clears out the goal column 257With a non-nil argument ARG, clears out the goal column
253so that C-n and C-p resume vertical motion. 258so that C-n and C-p resume vertical motion.
254The goal column is stored in the variable `goal-column'. 259The goal column is stored in the variable ‘goal-column’.
260
261(fn ARG)
255@end group 262@end group
256 263
257@group 264@group
258temporary-goal-column Variable 265temporary-goal-column Variable
259Current goal column for vertical motion. 266Current goal column for vertical motion.
260It is the column where point was 267It is the column where point was at the start of the current run
261at the start of current run of vertical motion commands. 268of vertical motion commands.
262When the `track-eol' feature is doing its job, the value is 9999. 269
270When moving by visual lines via the function ‘line-move-visual’, it is a cons
271cell (COL . HSCROLL), where COL is the x-position, in pixels,
272divided by the default column width, and HSCROLL is the number of
273columns by which window is scrolled from left margin.
274
275When the ‘track-eol’ feature is doing its job, the value is
276‘most-positive-fixnum’.
263---------- Buffer: *Help* ---------- 277---------- Buffer: *Help* ----------
264@end group 278@end group
265@end smallexample 279@end smallexample
@@ -539,11 +553,11 @@ about them, see @ref{Help, , Help, emacs, The GNU Emacs Manual}. Here
539we describe some program-level interfaces to the same information. 553we describe some program-level interfaces to the same information.
540 554
541@deffn Command apropos pattern &optional do-all 555@deffn Command apropos pattern &optional do-all
542This function finds all ``meaningful'' symbols whose names contain a 556This function finds all meaningful symbols whose names contain a
543match for the apropos pattern @var{pattern}. An apropos pattern is 557match for the apropos pattern @var{pattern}. An apropos pattern is
544either a word to match, a space-separated list of words of which at 558either a word to match, a space-separated list of words of which at
545least two must match, or a regular expression (if any special regular 559least two must match, or a regular expression (if any special regular
546expression characters occur). A symbol is ``meaningful'' if it has a 560expression characters occur). A symbol is meaningful if it has a
547definition as a function, variable, or face, or has properties. 561definition as a function, variable, or face, or has properties.
548 562
549The function returns a list of elements that look like this: 563The function returns a list of elements that look like this:
@@ -608,7 +622,7 @@ subcommands of the prefix key.
608 622
609@defopt help-event-list 623@defopt help-event-list
610The value of this variable is a list of event types that serve as 624The value of this variable is a list of event types that serve as
611alternative ``help characters''. These events are handled just like the 625alternative help characters. These events are handled just like the
612event specified by @code{help-char}. 626event specified by @code{help-char}.
613@end defopt 627@end defopt
614 628
@@ -643,7 +657,7 @@ sequence. (The last event is, presumably, the help character.)
643@end deffn 657@end deffn
644 658
645 The following two functions are meant for modes that want to provide 659 The following two functions are meant for modes that want to provide
646help without relinquishing control, such as the ``electric'' modes. 660help without relinquishing control, such as the electric modes.
647Their names begin with @samp{Helper} to distinguish them from the 661Their names begin with @samp{Helper} to distinguish them from the
648ordinary help functions. 662ordinary help functions.
649 663
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi
index 279e78ebe7b..eb2e34318fd 100644
--- a/doc/lispref/hooks.texi
+++ b/doc/lispref/hooks.texi
@@ -104,7 +104,7 @@ Hook run when the buffer list changes (@pxref{Buffer List}).
104 104
105@item buffer-quit-function 105@item buffer-quit-function
106@vindex buffer-quit-function 106@vindex buffer-quit-function
107Function to call to ``quit'' the current buffer. 107Function to call to quit the current buffer.
108 108
109@item change-major-mode-hook 109@item change-major-mode-hook
110@xref{Creating Buffer-Local}. 110@xref{Creating Buffer-Local}.
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 2a314a596fb..20681c07d9a 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -258,7 +258,7 @@ accessible objects are also accessible.
258matter what the Lisp program or the user does, it is impossible to refer 258matter what the Lisp program or the user does, it is impossible to refer
259to them, since there is no longer a way to reach them. Their space 259to them, since there is no longer a way to reach them. Their space
260might as well be reused, since no one will miss them. The second 260might as well be reused, since no one will miss them. The second
261(``sweep'') phase of the garbage collector arranges to reuse them. 261(sweep) phase of the garbage collector arranges to reuse them.
262 262
263@c ??? Maybe add something describing weak hash tables here? 263@c ??? Maybe add something describing weak hash tables here?
264 264
@@ -1368,7 +1368,7 @@ The buffer's value of point, as of the last time a redisplay completed
1368in this window. 1368in this window.
1369 1369
1370@item last_had_star 1370@item last_had_star
1371A non-@code{nil} value means the window's buffer was ``modified'' when the 1371A non-@code{nil} value means the window's buffer was modified when the
1372window was last updated. 1372window was last updated.
1373 1373
1374@item vertical_scroll_bar 1374@item vertical_scroll_bar
@@ -1584,7 +1584,7 @@ fit in @code{int} range.
1584Do not assume that signed integer arithmetic wraps around on overflow. 1584Do not assume that signed integer arithmetic wraps around on overflow.
1585This is no longer true of Emacs porting targets: signed integer 1585This is no longer true of Emacs porting targets: signed integer
1586overflow has undefined behavior in practice, and can dump core or 1586overflow has undefined behavior in practice, and can dump core or
1587even cause earlier or later code to behave ``illogically''. Unsigned 1587even cause earlier or later code to behave illogically. Unsigned
1588overflow does wrap around reliably, modulo a power of two. 1588overflow does wrap around reliably, modulo a power of two.
1589 1589
1590@item 1590@item
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index 6158bf5aa65..865c6984864 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -9,7 +9,7 @@
9 Most of the GNU Emacs text editor is written in the programming 9 Most of the GNU Emacs text editor is written in the programming
10language called Emacs Lisp. You can write new code in Emacs Lisp and 10language called Emacs Lisp. You can write new code in Emacs Lisp and
11install it as an extension to the editor. However, Emacs Lisp is more 11install it as an extension to the editor. However, Emacs Lisp is more
12than a mere ``extension language''; it is a full computer programming 12than a mere extension language; it is a full computer programming
13language in its own right. You can use it as you would any other 13language in its own right. You can use it as you would any other
14programming language. 14programming language.
15 15
@@ -148,8 +148,8 @@ manual. You may want to skip this section and refer back to it later.
148printer'' refer to those routines in Lisp that convert textual 148printer'' refer to those routines in Lisp that convert textual
149representations of Lisp objects into actual Lisp objects, and vice 149representations of Lisp objects into actual Lisp objects, and vice
150versa. @xref{Printed Representation}, for more details. You, the 150versa. @xref{Printed Representation}, for more details. You, the
151person reading this manual, are thought of as ``the programmer'' and are 151person reading this manual, are thought of as the programmer and are
152addressed as ``you''. ``The user'' is the person who uses Lisp 152addressed as ``you''. The user is the person who uses Lisp
153programs, including those you write. 153programs, including those you write.
154 154
155@cindex typographic conventions 155@cindex typographic conventions
@@ -287,7 +287,7 @@ the echo area.
287@cindex buffer text notation 287@cindex buffer text notation
288 288
289 Some examples describe modifications to the contents of a buffer, by 289 Some examples describe modifications to the contents of a buffer, by
290showing the ``before'' and ``after'' versions of the text. These 290showing the before and after versions of the text. These
291examples show the contents of the buffer in question between two lines 291examples show the contents of the buffer in question between two lines
292of dashes containing the buffer name. In addition, @samp{@point{}} 292of dashes containing the buffer name. In addition, @samp{@point{}}
293indicates the location of point. (The symbol for point, of course, is 293indicates the location of point. (The symbol for point, of course, is
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 7752bf0617c..d665587dbf3 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -634,7 +634,7 @@ the current buffer's local keymap, and (iv) the global keymap, in that
634order. Emacs searches for each input key sequence in all these 634order. Emacs searches for each input key sequence in all these
635keymaps. 635keymaps.
636 636
637 Of these ``usual'' keymaps, the highest-precedence one is specified 637 Of these usual keymaps, the highest-precedence one is specified
638by the @code{keymap} text or overlay property at point, if any. (For 638by the @code{keymap} text or overlay property at point, if any. (For
639a mouse input event, Emacs uses the event position instead of point; 639a mouse input event, Emacs uses the event position instead of point;
640@iftex 640@iftex
@@ -669,7 +669,7 @@ keymaps in other buffers with the same major mode.
669defined regardless of the current buffer, such as @kbd{C-f}. It is 669defined regardless of the current buffer, such as @kbd{C-f}. It is
670always active, and is bound to the variable @code{global-map}. 670always active, and is bound to the variable @code{global-map}.
671 671
672 Apart from the above ``usual'' keymaps, Emacs provides special ways 672 Apart from the above usual keymaps, Emacs provides special ways
673for programs to make other keymaps active. Firstly, the variable 673for programs to make other keymaps active. Firstly, the variable
674@code{overriding-local-map} specifies a keymap that replaces the usual 674@code{overriding-local-map} specifies a keymap that replaces the usual
675active keymaps, except for the global keymap. Secondly, the 675active keymaps, except for the global keymap. Secondly, the
@@ -929,7 +929,7 @@ sequences entered using the menu bar, even if they do not affect the
929menu bar display. So if a menu bar key sequence comes in, you should 929menu bar display. So if a menu bar key sequence comes in, you should
930clear the variables before looking up and executing that key sequence. 930clear the variables before looking up and executing that key sequence.
931Modes that use the variables would typically do this anyway; normally 931Modes that use the variables would typically do this anyway; normally
932they respond to events that they do not handle by ``unreading'' them and 932they respond to events that they do not handle by unreading them and
933exiting. 933exiting.
934@end defvar 934@end defvar
935 935
@@ -944,7 +944,7 @@ This variable holds a list of keymap alists to use for emulation
944modes. It is intended for modes or packages using multiple minor-mode 944modes. It is intended for modes or packages using multiple minor-mode
945keymaps. Each element is a keymap alist which has the same format and 945keymaps. Each element is a keymap alist which has the same format and
946meaning as @code{minor-mode-map-alist}, or a symbol with a variable 946meaning as @code{minor-mode-map-alist}, or a symbol with a variable
947binding which is such an alist. The ``active'' keymaps in each alist 947binding which is such an alist. The active keymaps in each alist
948are used before @code{minor-mode-map-alist} and 948are used before @code{minor-mode-map-alist} and
949@code{minor-mode-overriding-map-alist}. 949@code{minor-mode-overriding-map-alist}.
950@end defvar 950@end defvar
@@ -983,7 +983,7 @@ not part of key lookup.
983the rest of the event is ignored. In fact, a key sequence used for key 983the rest of the event is ignored. In fact, a key sequence used for key
984lookup may designate a mouse event with just its types (a symbol) 984lookup may designate a mouse event with just its types (a symbol)
985instead of the entire event (a list). @xref{Input Events}. Such 985instead of the entire event (a list). @xref{Input Events}. Such
986a ``key sequence'' is insufficient for @code{command-execute} to run, 986a key sequence is insufficient for @code{command-execute} to run,
987but it is sufficient for looking up or rebinding a key. 987but it is sufficient for looking up or rebinding a key.
988 988
989 When the key sequence consists of multiple events, key lookup 989 When the key sequence consists of multiple events, key lookup
@@ -1069,7 +1069,7 @@ thing that is done automatically for an undefined key: it rings the bell
1069 1069
1070@cindex preventing prefix key 1070@cindex preventing prefix key
1071@code{undefined} is used in local keymaps to override a global key 1071@code{undefined} is used in local keymaps to override a global key
1072binding and make the key ``undefined'' locally. A local binding of 1072binding and make the key undefined locally. A local binding of
1073@code{nil} would fail to do this because it would not override the 1073@code{nil} would fail to do this because it would not override the
1074global binding. 1074global binding.
1075 1075
@@ -1108,7 +1108,7 @@ the other functions described in this chapter that look up keys use
1108@end example 1108@end example
1109 1109
1110If the string or vector @var{key} is not a valid key sequence according 1110If the string or vector @var{key} is not a valid key sequence according
1111to the prefix keys specified in @var{keymap}, it must be ``too long'' 1111to the prefix keys specified in @var{keymap}, it must be too long
1112and have extra events at the end that do not fit into a single key 1112and have extra events at the end that do not fit into a single key
1113sequence. Then the value is a number, the number of events at the front 1113sequence. Then the value is a number, the number of events at the front
1114of @var{key} that compose a complete key. 1114of @var{key} that compose a complete key.
@@ -1546,7 +1546,7 @@ and @code{key-translation-map} (in order of priority).
1546are used differently: they specify translations to make while reading 1546are used differently: they specify translations to make while reading
1547key sequences, rather than bindings for complete key sequences. As 1547key sequences, rather than bindings for complete key sequences. As
1548each key sequence is read, it is checked against each translation 1548each key sequence is read, it is checked against each translation
1549keymap. If one of the translation keymaps ``binds'' @var{k} to a 1549keymap. If one of the translation keymaps binds @var{k} to a
1550vector @var{v}, then whenever @var{k} appears as a sub-sequence 1550vector @var{v}, then whenever @var{k} appears as a sub-sequence
1551@emph{anywhere} in a key sequence, that sub-sequence is replaced with 1551@emph{anywhere} in a key sequence, that sub-sequence is replaced with
1552the events in @var{v}. 1552the events in @var{v}.
@@ -1554,7 +1554,7 @@ the events in @var{v}.
1554 For example, VT100 terminals send @kbd{@key{ESC} O P} when the 1554 For example, VT100 terminals send @kbd{@key{ESC} O P} when the
1555keypad key @key{PF1} is pressed. On such terminals, Emacs must 1555keypad key @key{PF1} is pressed. On such terminals, Emacs must
1556translate that sequence of events into a single event @code{pf1}. 1556translate that sequence of events into a single event @code{pf1}.
1557This is done by ``binding'' @kbd{@key{ESC} O P} to @code{[pf1]} in 1557This is done by binding @kbd{@key{ESC} O P} to @code{[pf1]} in
1558@code{input-decode-map}. Thus, when you type @kbd{C-c @key{PF1}} on 1558@code{input-decode-map}. Thus, when you type @kbd{C-c @key{PF1}} on
1559the terminal, the terminal emits the character sequence @kbd{C-c 1559the terminal, the terminal emits the character sequence @kbd{C-c
1560@key{ESC} O P}, and @code{read-key-sequence} translates this back into 1560@key{ESC} O P}, and @code{read-key-sequence} translates this back into
@@ -1615,7 +1615,7 @@ to @code{self-insert-command}.
1615@cindex key translation function 1615@cindex key translation function
1616You can use @code{input-decode-map}, @code{local-function-key-map}, 1616You can use @code{input-decode-map}, @code{local-function-key-map},
1617and @code{key-translation-map} for more than simple aliases, by using 1617and @code{key-translation-map} for more than simple aliases, by using
1618a function, instead of a key sequence, as the ``translation'' of a 1618a function, instead of a key sequence, as the translation of a
1619key. Then this function is called to compute the translation of that 1619key. Then this function is called to compute the translation of that
1620key. 1620key.
1621 1621
@@ -2071,7 +2071,7 @@ the GTK+ toolkit).
2071@end example 2071@end example
2072 2072
2073@noindent 2073@noindent
2074@var{help} specifies a ``help-echo'' string to display while the mouse 2074@var{help} specifies a help-echo string to display while the mouse
2075is on that item in the same way as @code{help-echo} text properties 2075is on that item in the same way as @code{help-echo} text properties
2076(@pxref{Help display}). 2076(@pxref{Help display}).
2077 2077
@@ -2088,7 +2088,7 @@ the menu but cannot be selected.
2088controls whether the menu item is enabled. Every time the keymap is 2088controls whether the menu item is enabled. Every time the keymap is
2089used to display a menu, Emacs evaluates the expression, and it enables 2089used to display a menu, Emacs evaluates the expression, and it enables
2090the menu item only if the expression's value is non-@code{nil}. When a 2090the menu item only if the expression's value is non-@code{nil}. When a
2091menu item is disabled, it is displayed in a ``fuzzy'' fashion, and 2091menu item is disabled, it is displayed in a fuzzy fashion, and
2092cannot be selected. 2092cannot be selected.
2093 2093
2094 The menu bar does not recalculate which items are enabled every time you 2094 The menu bar does not recalculate which items are enabled every time you
@@ -2144,7 +2144,7 @@ does not appear, then the menu is displayed as if this item were
2144not defined at all. 2144not defined at all.
2145 2145
2146@item :help @var{help} 2146@item :help @var{help}
2147The value of this property, @var{help}, specifies a ``help-echo'' string 2147The value of this property, @var{help}, specifies a help-echo string
2148to display while the mouse is on that item. This is displayed in the 2148to display while the mouse is on that item. This is displayed in the
2149same way as @code{help-echo} text properties (@pxref{Help display}). 2149same way as @code{help-echo} text properties (@pxref{Help display}).
2150Note that this must be a constant string, unlike the @code{help-echo} 2150Note that this must be a constant string, unlike the @code{help-echo}
@@ -2156,7 +2156,7 @@ The @sc{car}, @var{type}, says which: it should be @code{:toggle} or
2156@code{:radio}. The @sc{cdr}, @var{selected}, should be a form; the 2156@code{:radio}. The @sc{cdr}, @var{selected}, should be a form; the
2157result of evaluating it says whether this button is currently selected. 2157result of evaluating it says whether this button is currently selected.
2158 2158
2159A @dfn{toggle} is a menu item which is labeled as either ``on'' or ``off'' 2159A @dfn{toggle} is a menu item which is labeled as either on or off
2160according to the value of @var{selected}. The command itself should 2160according to the value of @var{selected}. The command itself should
2161toggle @var{selected}, setting it to @code{t} if it is @code{nil}, 2161toggle @var{selected}, setting it to @code{t} if it is @code{nil},
2162and to @code{nil} if it is @code{t}. Here is how the menu item 2162and to @code{nil} if it is @code{t}. Here is how the menu item
@@ -2174,7 +2174,7 @@ This works because @code{toggle-debug-on-error} is defined as a command
2174which toggles the variable @code{debug-on-error}. 2174which toggles the variable @code{debug-on-error}.
2175 2175
2176@dfn{Radio buttons} are a group of menu items, in which at any time one 2176@dfn{Radio buttons} are a group of menu items, in which at any time one
2177and only one is ``selected''. There should be a variable whose value 2177and only one is selected. There should be a variable whose value
2178says which one is selected at any time. The @var{selected} form for 2178says which one is selected at any time. The @var{selected} form for
2179each radio button in the group should check whether the variable has the 2179each radio button in the group should check whether the variable has the
2180right value for selecting that button. Clicking on the button should 2180right value for selecting that button. Clicking on the button should
@@ -2303,7 +2303,7 @@ displays a similar kind of separator that is supported.
2303@node Alias Menu Items 2303@node Alias Menu Items
2304@subsubsection Alias Menu Items 2304@subsubsection Alias Menu Items
2305 2305
2306 Sometimes it is useful to make menu items that use the ``same'' 2306 Sometimes it is useful to make menu items that use the same
2307command but with different enable conditions. The best way to do this 2307command but with different enable conditions. The best way to do this
2308in Emacs now is with extended menu items; before that feature existed, 2308in Emacs now is with extended menu items; before that feature existed,
2309it could be done by defining alias commands and using them in menu 2309it could be done by defining alias commands and using them in menu
@@ -2318,7 +2318,7 @@ items. Here's an example that makes two aliases for
2318@end example 2318@end example
2319 2319
2320When using aliases in menus, often it is useful to display the 2320When using aliases in menus, often it is useful to display the
2321equivalent key bindings for the ``real'' command name, not the aliases 2321equivalent key bindings for the real command name, not the aliases
2322(which typically don't have any key bindings except for the menu 2322(which typically don't have any key bindings except for the menu
2323itself). To request this, give the alias symbol a non-@code{nil} 2323itself). To request this, give the alias symbol a non-@code{nil}
2324@code{menu-alias} property. Thus, 2324@code{menu-alias} property. Thus,
@@ -2427,19 +2427,19 @@ Next we define the menu items:
2427@end smallexample 2427@end smallexample
2428 2428
2429@noindent 2429@noindent
2430Note the symbols which the bindings are ``made for''; these appear 2430Note the symbols which the bindings are made for; these appear
2431inside square brackets, in the key sequence being defined. In some 2431inside square brackets, in the key sequence being defined. In some
2432cases, this symbol is the same as the command name; sometimes it is 2432cases, this symbol is the same as the command name; sometimes it is
2433different. These symbols are treated as ``function keys'', but they are 2433different. These symbols are treated as function keys, but they are
2434not real function keys on the keyboard. They do not affect the 2434not real function keys on the keyboard. They do not affect the
2435functioning of the menu itself, but they are ``echoed'' in the echo area 2435functioning of the menu itself, but they are echoed in the echo area
2436when the user selects from the menu, and they appear in the output of 2436when the user selects from the menu, and they appear in the output of
2437@code{where-is} and @code{apropos}. 2437@code{where-is} and @code{apropos}.
2438 2438
2439 The menu in this example is intended for use with the mouse. If a 2439 The menu in this example is intended for use with the mouse. If a
2440menu is intended for use with the keyboard, that is, if it is bound to 2440menu is intended for use with the keyboard, that is, if it is bound to
2441a key sequence ending with a keyboard event, then the menu items 2441a key sequence ending with a keyboard event, then the menu items
2442should be bound to characters or ``real'' function keys, that can be 2442should be bound to characters or real function keys, that can be
2443typed with the keyboard. 2443typed with the keyboard.
2444 2444
2445 The binding whose definition is @code{("--")} is a separator line. 2445 The binding whose definition is @code{("--")} is a separator line.
@@ -2475,15 +2475,15 @@ can do it this way:
2475 2475
2476 Emacs usually shows a @dfn{menu bar} at the top of each frame. 2476 Emacs usually shows a @dfn{menu bar} at the top of each frame.
2477@xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu bar items are 2477@xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu bar items are
2478subcommands of the fake ``function key'' @code{menu-bar}, as defined 2478subcommands of the fake function key @code{menu-bar}, as defined
2479in the active keymaps. 2479in the active keymaps.
2480 2480
2481 To add an item to the menu bar, invent a fake ``function key'' of your 2481 To add an item to the menu bar, invent a fake function key of your
2482own (let's call it @var{key}), and make a binding for the key sequence 2482own (let's call it @var{key}), and make a binding for the key sequence
2483@code{[menu-bar @var{key}]}. Most often, the binding is a menu keymap, 2483@code{[menu-bar @var{key}]}. Most often, the binding is a menu keymap,
2484so that pressing a button on the menu bar item leads to another menu. 2484so that pressing a button on the menu bar item leads to another menu.
2485 2485
2486 When more than one active keymap defines the same ``function key'' 2486 When more than one active keymap defines the same function key
2487for the menu bar, the item appears just once. If the user clicks on 2487for the menu bar, the item appears just once. If the user clicks on
2488that menu bar item, it brings up a single, combined menu containing 2488that menu bar item, it brings up a single, combined menu containing
2489all the subcommands of that item---the global subcommands, the local 2489all the subcommands of that item---the global subcommands, the local
@@ -2574,7 +2574,7 @@ If the value is @code{grow-only}, the tool bar expands automatically,
2574but does not contract automatically. 2574but does not contract automatically.
2575 2575
2576 The tool bar contents are controlled by a menu keymap attached to a 2576 The tool bar contents are controlled by a menu keymap attached to a
2577fake ``function key'' called @code{tool-bar} (much like the way the menu 2577fake function key called @code{tool-bar} (much like the way the menu
2578bar is controlled). So you define a tool bar item using 2578bar is controlled). So you define a tool bar item using
2579@code{define-key}, like this: 2579@code{define-key}, like this:
2580 2580
@@ -2583,7 +2583,7 @@ bar is controlled). So you define a tool bar item using
2583@end example 2583@end example
2584 2584
2585@noindent 2585@noindent
2586where @var{key} is a fake ``function key'' to distinguish this item from 2586where @var{key} is a fake function key to distinguish this item from
2587other items, and @var{item} is a menu item key binding (@pxref{Extended 2587other items, and @var{item} is a menu item key binding (@pxref{Extended
2588Menu Items}), which says how to display this item and how it behaves. 2588Menu Items}), which says how to display this item and how it behaves.
2589 2589
@@ -2593,7 +2593,7 @@ tool bar bindings and have their normal meanings. The @var{real-binding}
2593in the item must be a command, not a keymap; in other words, it does not 2593in the item must be a command, not a keymap; in other words, it does not
2594work to define a tool bar icon as a prefix key. 2594work to define a tool bar icon as a prefix key.
2595 2595
2596 The @code{:help} property specifies a ``help-echo'' string to display 2596 The @code{:help} property specifies a help-echo string to display
2597while the mouse is on that item. This is displayed in the same way as 2597while the mouse is on that item. This is displayed in the same way as
2598@code{help-echo} text properties (@pxref{Help display}). 2598@code{help-echo} text properties (@pxref{Help display}).
2599 2599
diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi
index 947beeca23c..04aabd814fc 100644
--- a/doc/lispref/lay-flat.texi
+++ b/doc/lispref/lay-flat.texi
@@ -21,9 +21,9 @@
21 21
22We have bound this manual using a new @dfn{lay-flat} binding 22We have bound this manual using a new @dfn{lay-flat} binding
23technology. This type of binding allows you to open a soft cover book 23technology. This type of binding allows you to open a soft cover book
24so that it ``lays flat'' on a table without creasing the binding. 24so that it lays flat on a table without creasing the binding.
25 25
26In order to make the book lay flat properly, you need to ``crack'' the 26In order to make the book lay flat properly, you need to crack the
27binding. To do this, divide the book into two sections and bend it so 27binding. To do this, divide the book into two sections and bend it so
28that the front and back covers meet. Do not worry; the pages are 28that the front and back covers meet. Do not worry; the pages are
29sewn and glued to the binding, and will not fall out easily. 29sewn and glued to the binding, and will not fall out easily.
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index a2e70a680ea..48e1b57eede 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -41,7 +41,7 @@ pronounced ``could-er''.
41 We say that ``the @sc{car} of this cons cell is'' whatever object 41 We say that ``the @sc{car} of this cons cell is'' whatever object
42its @sc{car} slot currently holds, and likewise for the @sc{cdr}. 42its @sc{car} slot currently holds, and likewise for the @sc{cdr}.
43 43
44 A list is a series of cons cells ``chained together'', so that each 44 A list is a series of cons cells chained together, so that each
45cell refers to the next one. There is one cons cell for each element 45cell refers to the next one. There is one cons cell for each element
46of the list. By convention, the @sc{car}s of the cons cells hold the 46of the list. By convention, the @sc{car}s of the cons cells hold the
47elements of the list, and the @sc{cdr}s are used to chain the list 47elements of the list, and the @sc{cdr}s are used to chain the list
@@ -799,7 +799,7 @@ foo ;; @r{@code{foo} was changed.}
799@cindex destructive list operations 799@cindex destructive list operations
800 800
801 You can modify the @sc{car} and @sc{cdr} contents of a cons cell with the 801 You can modify the @sc{car} and @sc{cdr} contents of a cons cell with the
802primitives @code{setcar} and @code{setcdr}. We call these ``destructive'' 802primitives @code{setcar} and @code{setcdr}. These are destructive
803operations because they change existing list structure. 803operations because they change existing list structure.
804 804
805@cindex CL note---@code{rplaca} vs @code{setcar} 805@cindex CL note---@code{rplaca} vs @code{setcar}
@@ -1035,9 +1035,9 @@ x1
1035@cindex reordering, of elements in lists 1035@cindex reordering, of elements in lists
1036@cindex modification of lists 1036@cindex modification of lists
1037 1037
1038 Here are some functions that rearrange lists ``destructively'' by 1038 Here are some functions that rearrange lists destructively by
1039modifying the @sc{cdr}s of their component cons cells. We call these 1039modifying the @sc{cdr}s of their component cons cells. These functions
1040functions ``destructive'' because they chew up the original lists passed 1040are destructive because they chew up the original lists passed
1041to them as arguments, relinking their cons cells to form a new list that 1041to them as arguments, relinking their cons cells to form a new list that
1042is the returned value. 1042is the returned value.
1043 1043
@@ -1522,7 +1522,7 @@ a @sc{cdr} @code{equal} to @var{value}.
1522 1522
1523@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of 1523@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
1524each @var{alist} association instead of the @sc{car}. You can think of 1524each @var{alist} association instead of the @sc{car}. You can think of
1525this as ``reverse @code{assoc}'', finding the key for a given value. 1525this as reverse @code{assoc}, finding the key for a given value.
1526@end defun 1526@end defun
1527 1527
1528@defun assq key alist 1528@defun assq key alist
@@ -1563,7 +1563,7 @@ a @sc{cdr} @code{eq} to @var{value}.
1563 1563
1564@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of 1564@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
1565each @var{alist} association instead of the @sc{car}. You can think of 1565each @var{alist} association instead of the @sc{car}. You can think of
1566this as ``reverse @code{assq}'', finding the key for a given value. 1566this as reverse @code{assq}, finding the key for a given value.
1567 1567
1568For example: 1568For example:
1569 1569
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 91dc9a95390..f5352da59f7 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -40,7 +40,7 @@ For on-demand loading of external libraries, @pxref{Dynamic Libraries}.
40* Repeated Loading:: Precautions about loading a file twice. 40* Repeated Loading:: Precautions about loading a file twice.
41* Named Features:: Loading a library if it isn't already loaded. 41* Named Features:: Loading a library if it isn't already loaded.
42* Where Defined:: Finding which file defined a certain symbol. 42* Where Defined:: Finding which file defined a certain symbol.
43* Unloading:: How to ``unload'' a library that was loaded. 43* Unloading:: How to unload a library that was loaded.
44* Hooks for Loading:: Providing code to be run when 44* Hooks for Loading:: Providing code to be run when
45 particular libraries are loaded. 45 particular libraries are loaded.
46@end menu 46@end menu
@@ -456,7 +456,7 @@ Autoloading can also be triggered by looking up the documentation of
456the function or macro (@pxref{Documentation Basics}). 456the function or macro (@pxref{Documentation Basics}).
457 457
458 There are two ways to set up an autoloaded function: by calling 458 There are two ways to set up an autoloaded function: by calling
459@code{autoload}, and by writing a special ``magic'' comment in the 459@code{autoload}, and by writing a magic comment in the
460source before the real definition. @code{autoload} is the low-level 460source before the real definition. @code{autoload} is the low-level
461primitive for autoloading; any Lisp program can call @code{autoload} at 461primitive for autoloading; any Lisp program can call @code{autoload} at
462any time. Magic comments are the most convenient way to make a function 462any time. Magic comments are the most convenient way to make a function
@@ -668,7 +668,7 @@ value of this variable is @code{";;;###autoload"}.
668@defvar generated-autoload-file 668@defvar generated-autoload-file
669The value of this variable names an Emacs Lisp file where the autoload 669The value of this variable names an Emacs Lisp file where the autoload
670calls should go. The default value is @file{loaddefs.el}, but you can 670calls should go. The default value is @file{loaddefs.el}, but you can
671override that, e.g., in the ``Local Variables'' section of a 671override that, e.g., in the local variables section of a
672@file{.el} file (@pxref{File Local Variables}). The autoload file is 672@file{.el} file (@pxref{File Local Variables}). The autoload file is
673assumed to contain a trailer starting with a formfeed character. 673assumed to contain a trailer starting with a formfeed character.
674@end defvar 674@end defvar
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi
index 7bdfee0a4ad..a90c6f1da6f 100644
--- a/doc/lispref/macros.texi
+++ b/doc/lispref/macros.texi
@@ -307,7 +307,7 @@ program is actually run.
307 When defining a macro you must pay attention to the number of times 307 When defining a macro you must pay attention to the number of times
308the arguments will be evaluated when the expansion is executed. The 308the arguments will be evaluated when the expansion is executed. The
309following macro (used to facilitate iteration) illustrates the 309following macro (used to facilitate iteration) illustrates the
310problem. This macro allows us to write a ``for'' loop construct. 310problem. This macro allows us to write a for-loop construct.
311 311
312@findex for 312@findex for
313@example 313@example
@@ -345,7 +345,7 @@ For example, (for i from 1 to 10 do (print i))."
345 345
346@noindent 346@noindent
347The arguments @code{from}, @code{to}, and @code{do} in this macro are 347The arguments @code{from}, @code{to}, and @code{do} in this macro are
348``syntactic sugar''; they are entirely ignored. The idea is that you 348syntactic sugar; they are entirely ignored. The idea is that you
349will write noise words (such as @code{from}, @code{to}, and @code{do}) 349will write noise words (such as @code{from}, @code{to}, and @code{do})
350in those positions in the macro call. 350in those positions in the macro call.
351 351
@@ -568,7 +568,7 @@ If @code{initialize} is interpreted, a new list @code{(nil)} is
568constructed each time @code{initialize} is called. Thus, no side effect 568constructed each time @code{initialize} is called. Thus, no side effect
569survives between calls. If @code{initialize} is compiled, then the 569survives between calls. If @code{initialize} is compiled, then the
570macro @code{empty-object} is expanded during compilation, producing a 570macro @code{empty-object} is expanded during compilation, producing a
571single ``constant'' @code{(nil)} that is reused and altered each time 571single constant @code{(nil)} that is reused and altered each time
572@code{initialize} is called. 572@code{initialize} is called.
573 573
574One way to avoid pathological cases like this is to think of 574One way to avoid pathological cases like this is to think of
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index 4f25b91506e..3eaba419034 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -20,8 +20,8 @@ deleted, so that it stays with the two characters on either side of it.
20* Marker Insertion Types:: Two ways a marker can relocate when you 20* Marker Insertion Types:: Two ways a marker can relocate when you
21 insert where it points. 21 insert where it points.
22* Moving Markers:: Moving the marker to a new buffer or position. 22* Moving Markers:: Moving the marker to a new buffer or position.
23* The Mark:: How ``the mark'' is implemented with a marker. 23* The Mark:: How the mark is implemented with a marker.
24* The Region:: How to access ``the region''. 24* The Region:: How to access the region.
25@end menu 25@end menu
26 26
27@node Overview of Markers 27@node Overview of Markers
@@ -404,7 +404,7 @@ This is another name for @code{set-marker}.
404 404
405 Each buffer has a special marker, which is designated @dfn{the 405 Each buffer has a special marker, which is designated @dfn{the
406mark}. When a buffer is newly created, this marker exists but does 406mark}. When a buffer is newly created, this marker exists but does
407not point anywhere; this means that the mark ``doesn't exist'' in that 407not point anywhere; this means that the mark doesn't exist in that
408buffer yet. Subsequent commands can set the mark. 408buffer yet. Subsequent commands can set the mark.
409 409
410 The mark specifies a position to bound a range of text for many 410 The mark specifies a position to bound a range of text for many
@@ -424,7 +424,7 @@ sets the mark to the value of point before doing any replacements,
424because this enables the user to move back there conveniently after 424because this enables the user to move back there conveniently after
425the replace is finished. 425the replace is finished.
426 426
427 Once the mark ``exists'' in a buffer, it normally never ceases to 427 Once the mark exists in a buffer, it normally never ceases to
428exist. However, it may become @dfn{inactive}, if Transient Mark mode 428exist. However, it may become @dfn{inactive}, if Transient Mark mode
429is enabled. The buffer-local variable @code{mark-active}, if 429is enabled. The buffer-local variable @code{mark-active}, if
430non-@code{nil}, means that the mark is active. A command can call the 430non-@code{nil}, means that the mark is active. A command can call the
@@ -620,7 +620,7 @@ This piece of command_loop_1, run unless deactivating the mark:
620@end defvar 620@end defvar
621 621
622@defun handle-shift-selection 622@defun handle-shift-selection
623This function implements the ``shift-selection'' behavior of 623This function implements the shift-selection behavior of
624point-motion commands. @xref{Shift Selection,,, emacs, The GNU Emacs 624point-motion commands. @xref{Shift Selection,,, emacs, The GNU Emacs
625Manual}. It is called automatically by the Emacs command loop 625Manual}. It is called automatically by the Emacs command loop
626whenever a command with a @samp{^} character in its @code{interactive} 626whenever a command with a @samp{^} character in its @code{interactive}
@@ -661,8 +661,8 @@ more marks than this are pushed onto the @code{mark-ring},
661 661
662@node The Region 662@node The Region
663@section The Region 663@section The Region
664@c The index entry must be just ``region'' to make it the first hit 664@c The index entry must be just "region" to make it the first hit
665@c when the user types ``i region RET'', because otherwise the Info 665@c when the user types "i region RET", because otherwise the Info
666@c reader will present substring matches in alphabetical order, 666@c reader will present substring matches in alphabetical order,
667@c putting this one near the end, with something utterly unrelated as 667@c putting this one near the end, with something utterly unrelated as
668@c the first hit. 668@c the first hit.
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 2aec149524d..a035459abdb 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -81,7 +81,7 @@ there is an active minibuffer; such a minibuffer is called a
81incrementing the number at the end of the name. (The names begin with 81incrementing the number at the end of the name. (The names begin with
82a space so that they won't show up in normal buffer lists.) Of 82a space so that they won't show up in normal buffer lists.) Of
83several recursive minibuffers, the innermost (or most recently 83several recursive minibuffers, the innermost (or most recently
84entered) is the active minibuffer. We usually call this ``the'' 84entered) is the active minibuffer. We usually call this @emph{the}
85minibuffer. You can permit or forbid recursive minibuffers by setting 85minibuffer. You can permit or forbid recursive minibuffers by setting
86the variable @code{enable-recursive-minibuffers}, or by putting 86the variable @code{enable-recursive-minibuffers}, or by putting
87properties of that name on command symbols (@xref{Recursive Mini}.) 87properties of that name on command symbols (@xref{Recursive Mini}.)
@@ -143,7 +143,7 @@ reads the text and returns the resulting Lisp object, unevaluated.
143The argument @var{default} specifies default values to make available 143The argument @var{default} specifies default values to make available
144through the history commands. It should be a string, a list of 144through the history commands. It should be a string, a list of
145strings, or @code{nil}. The string or strings become the minibuffer's 145strings, or @code{nil}. The string or strings become the minibuffer's
146``future history'', available to the user with @kbd{M-n}. 146future history, available to the user with @kbd{M-n}.
147 147
148If @var{read} is non-@code{nil}, then @var{default} is also used 148If @var{read} is non-@code{nil}, then @var{default} is also used
149as the input to @code{read}, if the user enters empty input. 149as the input to @code{read}, if the user enters empty input.
@@ -194,8 +194,8 @@ in @code{read-from-minibuffer} it should be a string, a list of
194strings, or @code{nil}, which is equivalent to an empty string. When 194strings, or @code{nil}, which is equivalent to an empty string. When
195@var{default} is a string, that string is the default value. When it 195@var{default} is a string, that string is the default value. When it
196is a list of strings, the first string is the default value. (All 196is a list of strings, the first string is the default value. (All
197these strings are available to the user in the ``future minibuffer 197these strings are available to the user in the future minibuffer
198history''.) 198history.)
199 199
200This function works by calling the 200This function works by calling the
201@code{read-from-minibuffer} function: 201@code{read-from-minibuffer} function:
@@ -262,8 +262,8 @@ The last string or pattern used in query-replace commands.
262The function now has a list of regular expressions that it passes to 262The function now has a list of regular expressions that it passes to
263@code{read-from-minibuffer} to obtain the user's input. The first 263@code{read-from-minibuffer} to obtain the user's input. The first
264element of the list is the default result in case of empty input. All 264element of the list is the default result in case of empty input. All
265elements of the list are available to the user as the ``future 265elements of the list are available to the user as the future
266minibuffer history list'' (@pxref{Minibuffer History, future list,, 266minibuffer history list (@pxref{Minibuffer History, future list,,
267emacs, The GNU Emacs Manual}). 267emacs, The GNU Emacs Manual}).
268 268
269The optional argument @var{history}, if non-@code{nil}, is a symbol 269The optional argument @var{history}, if non-@code{nil}, is a symbol
@@ -895,7 +895,7 @@ pertains to the area after @code{"/usr/"} and before @code{"/doc"}.
895@end defun 895@end defun
896 896
897If you store a completion alist in a variable, you should mark the 897If you store a completion alist in a variable, you should mark the
898variable as ``risky'' by giving it a non-@code{nil} 898variable as risky by giving it a non-@code{nil}
899@code{risky-local-variable} property. @xref{File Local Variables}. 899@code{risky-local-variable} property. @xref{File Local Variables}.
900 900
901@defvar completion-ignore-case 901@defvar completion-ignore-case
@@ -1958,7 +1958,7 @@ the call.
1958This function asks the user a question, expecting input in the echo 1958This function asks the user a question, expecting input in the echo
1959area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the 1959area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
1960user types @kbd{n}. This function also accepts @key{SPC} to mean yes 1960user types @kbd{n}. This function also accepts @key{SPC} to mean yes
1961and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like 1961and @key{DEL} to mean no. It accepts @kbd{C-]} to quit, like
1962@kbd{C-g}, because the question might look like a minibuffer and for 1962@kbd{C-g}, because the question might look like a minibuffer and for
1963that reason the user might try to use @kbd{C-]} to get out. The answer 1963that reason the user might try to use @kbd{C-]} to get out. The answer
1964is a single character, with no @key{RET} needed to terminate it. Upper 1964is a single character, with no @key{RET} needed to terminate it. Upper
@@ -2049,7 +2049,7 @@ Do you really want to remove everything? (yes or no)
2049@cindex multiple yes-or-no questions 2049@cindex multiple yes-or-no questions
2050 2050
2051 When you have a series of similar questions to ask, such as ``Do you 2051 When you have a series of similar questions to ask, such as ``Do you
2052want to save this buffer'' for each buffer in turn, you should use 2052want to save this buffer?'' for each buffer in turn, you should use
2053@code{map-y-or-n-p} to ask the collection of questions, rather than 2053@code{map-y-or-n-p} to ask the collection of questions, rather than
2054asking each question individually. This gives the user certain 2054asking each question individually. This gives the user certain
2055convenient facilities such as the ability to answer the whole series at 2055convenient facilities such as the ability to answer the whole series at
@@ -2120,7 +2120,7 @@ answer); @var{function} is a function of one argument (an object from
2120 2120
2121When the user responds with @var{char}, @code{map-y-or-n-p} calls 2121When the user responds with @var{char}, @code{map-y-or-n-p} calls
2122@var{function}. If it returns non-@code{nil}, the object is considered 2122@var{function}. If it returns non-@code{nil}, the object is considered
2123``acted upon'', and @code{map-y-or-n-p} advances to the next object in 2123acted upon, and @code{map-y-or-n-p} advances to the next object in
2124@var{list}. If it returns @code{nil}, the prompt is repeated for the 2124@var{list}. If it returns @code{nil}, the prompt is repeated for the
2125same object. 2125same object.
2126 2126
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index a8b6bb19c5f..cbc8b78a0e8 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -116,7 +116,7 @@ This function runs an abnormal hook by calling all the hook functions in
116 116
117@defun run-hook-with-args-until-failure hook &rest args 117@defun run-hook-with-args-until-failure hook &rest args
118This function runs an abnormal hook by calling each hook function in 118This function runs an abnormal hook by calling each hook function in
119turn, stopping if one of them ``fails'' by returning @code{nil}. Each 119turn, stopping if one of them fails by returning @code{nil}. Each
120hook function is passed the arguments @var{args}. If this function 120hook function is passed the arguments @var{args}. If this function
121stops because one of the hook functions fails, it returns @code{nil}; 121stops because one of the hook functions fails, it returns @code{nil};
122otherwise it returns a non-@code{nil} value. 122otherwise it returns a non-@code{nil} value.
@@ -124,7 +124,7 @@ otherwise it returns a non-@code{nil} value.
124 124
125@defun run-hook-with-args-until-success hook &rest args 125@defun run-hook-with-args-until-success hook &rest args
126This function runs an abnormal hook by calling each hook function, 126This function runs an abnormal hook by calling each hook function,
127stopping if one of them ``succeeds'' by returning a non-@code{nil} 127stopping if one of them succeeds by returning a non-@code{nil}
128value. Each hook function is passed the arguments @var{args}. If this 128value. Each hook function is passed the arguments @var{args}. If this
129function stops because one of the hook functions returns a 129function stops because one of the hook functions returns a
130non-@code{nil} value, it returns that value; otherwise it returns 130non-@code{nil} value, it returns that value; otherwise it returns
@@ -305,7 +305,7 @@ which documentation to print.
305 305
306@item 306@item
307The major mode command should set the variable @code{mode-name} to the 307The major mode command should set the variable @code{mode-name} to the
308``pretty'' name of the mode, usually a string (but see @ref{Mode Line 308pretty name of the mode, usually a string (but see @ref{Mode Line
309Data}, for other possible forms). The name of the mode appears 309Data}, for other possible forms). The name of the mode appears
310in the mode line. 310in the mode line.
311 311
@@ -346,14 +346,14 @@ reserved for users.
346 346
347A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and 347A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and
348@kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally 348@kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally
349be some kind of ``moving forward and backward'', but this does not 349be some kind of moving forward and backward, but this does not
350necessarily mean cursor motion. 350necessarily mean cursor motion.
351 351
352It is legitimate for a major mode to rebind a standard key sequence if 352It is legitimate for a major mode to rebind a standard key sequence if
353it provides a command that does ``the same job'' in a way better 353it provides a command that does the same job in a way better
354suited to the text this mode is used for. For example, a major mode 354suited to the text this mode is used for. For example, a major mode
355for editing a programming language might redefine @kbd{C-M-a} to 355for editing a programming language might redefine @kbd{C-M-a} to
356``move to the beginning of a function'' in a way that works better for 356move to the beginning of a function in a way that works better for
357that language. 357that language.
358 358
359It is also legitimate for a major mode to rebind a standard key 359It is also legitimate for a major mode to rebind a standard key
@@ -901,7 +901,7 @@ such a major mode, please correct it to follow these conventions.
901 901
902 When you defined a major mode using @code{define-derived-mode}, it 902 When you defined a major mode using @code{define-derived-mode}, it
903automatically makes sure these conventions are followed. If you 903automatically makes sure these conventions are followed. If you
904define a major mode ``by hand'', not using @code{define-derived-mode}, 904define a major mode by hand, not using @code{define-derived-mode},
905use the following functions to handle these conventions automatically. 905use the following functions to handle these conventions automatically.
906 906
907@defun run-mode-hooks &rest hookvars 907@defun run-mode-hooks &rest hookvars
@@ -1003,7 +1003,7 @@ should have the form @w{@code{(@var{id} @var{contents})}}, where
1003@itemize 1003@itemize
1004@item 1004@item
1005@var{id} is either @code{nil}, or a Lisp object that identifies the 1005@var{id} is either @code{nil}, or a Lisp object that identifies the
1006entry. If the latter, the cursor stays on the ``same'' entry when 1006entry. If the latter, the cursor stays on the same entry when
1007re-sorting entries. Comparison is done with @code{equal}. 1007re-sorting entries. Comparison is done with @code{equal}.
1008 1008
1009@item 1009@item
@@ -1092,8 +1092,8 @@ documentation for the mode command. If you do not supply it,
1092The argument @var{comment-list} is a list in which each element is 1092The argument @var{comment-list} is a list in which each element is
1093either a character, a string of one or two characters, or a cons cell. 1093either a character, a string of one or two characters, or a cons cell.
1094A character or a string is set up in the mode's syntax table as a 1094A character or a string is set up in the mode's syntax table as a
1095``comment starter''. If the entry is a cons cell, the @sc{car} is set 1095comment starter. If the entry is a cons cell, the @sc{car} is set
1096up as a ``comment starter'' and the @sc{cdr} as a ``comment ender''. 1096up as a comment starter and the @sc{cdr} as a comment ender.
1097(Use @code{nil} for the latter if you want comments to end at the end 1097(Use @code{nil} for the latter if you want comments to end at the end
1098of the line.) Note that the syntax table mechanism has limitations 1098of the line.) Note that the syntax table mechanism has limitations
1099about what comment starters and enders are actually possible. 1099about what comment starters and enders are actually possible.
@@ -1782,7 +1782,7 @@ symbol whose value is void.
1782There is one exception: if the value of @var{symbol} is a string, it is 1782There is one exception: if the value of @var{symbol} is a string, it is
1783displayed verbatim: the @code{%}-constructs are not recognized. 1783displayed verbatim: the @code{%}-constructs are not recognized.
1784 1784
1785Unless @var{symbol} is marked as ``risky'' (i.e., it has a 1785Unless @var{symbol} is marked as risky (i.e., it has a
1786non-@code{nil} @code{risky-local-variable} property), all text 1786non-@code{nil} @code{risky-local-variable} property), all text
1787properties specified in @var{symbol}'s value are ignored. This includes 1787properties specified in @var{symbol}'s value are ignored. This includes
1788the text properties of strings in @var{symbol}'s value, as well as all 1788the text properties of strings in @var{symbol}'s value, as well as all
@@ -1974,7 +1974,7 @@ This variable is used to identify @code{emacsclient} frames.
1974 The following three variables are used in @code{mode-line-modes}: 1974 The following three variables are used in @code{mode-line-modes}:
1975 1975
1976@defvar mode-name 1976@defvar mode-name
1977This buffer-local variable holds the ``pretty'' name of the current 1977This buffer-local variable holds the pretty name of the current
1978buffer's major mode. Each major mode should set this variable so that 1978buffer's major mode. Each major mode should set this variable so that
1979the mode name will appear in the mode line. The value does not have 1979the mode name will appear in the mode line. The value does not have
1980to be a string, but can use any of the data types valid in a mode-line 1980to be a string, but can use any of the data types valid in a mode-line
@@ -2408,10 +2408,10 @@ variables @code{imenu-prev-index-position-function} and
2408 2408
2409@defvar imenu-prev-index-position-function 2409@defvar imenu-prev-index-position-function
2410If this variable is non-@code{nil}, its value should be a function that 2410If this variable is non-@code{nil}, its value should be a function that
2411finds the next ``definition'' to put in the buffer index, scanning 2411finds the next definition to put in the buffer index, scanning
2412backward in the buffer from point. It should return @code{nil} if it 2412backward in the buffer from point. It should return @code{nil} if it
2413doesn't find another ``definition'' before point. Otherwise it should 2413doesn't find another definition before point. Otherwise it should
2414leave point at the place it finds a ``definition'' and return any 2414leave point at the place it finds a definition and return any
2415non-@code{nil} value. 2415non-@code{nil} value.
2416 2416
2417Setting this variable makes it buffer-local in the current buffer. 2417Setting this variable makes it buffer-local in the current buffer.
@@ -3026,7 +3026,7 @@ default value is the symbol itself. Thus, the default value of
3026@code{font-lock-comment-face} is @code{font-lock-comment-face}. 3026@code{font-lock-comment-face} is @code{font-lock-comment-face}.
3027 3027
3028 The faces are listed with descriptions of their typical usage, and in 3028 The faces are listed with descriptions of their typical usage, and in
3029order of greater to lesser ``prominence''. If a mode's syntactic 3029order of greater to lesser prominence. If a mode's syntactic
3030categories do not fit well with the usage descriptions, the faces can be 3030categories do not fit well with the usage descriptions, the faces can be
3031assigned using the ordering as a guide. 3031assigned using the ordering as a guide.
3032 3032
@@ -3126,7 +3126,7 @@ Table Functions}).
3126 3126
3127@defvar font-lock-beginning-of-syntax-function 3127@defvar font-lock-beginning-of-syntax-function
3128If this variable is non-@code{nil}, it should be a function to move 3128If this variable is non-@code{nil}, it should be a function to move
3129point back to a position that is syntactically at ``top level'' and 3129point back to a position that is syntactically at top level and
3130outside of strings or comments. The value is normally set through an 3130outside of strings or comments. The value is normally set through an
3131@var{other-vars} element in @code{font-lock-defaults}. If it is 3131@var{other-vars} element in @code{font-lock-defaults}. If it is
3132@code{nil}, Font Lock uses @code{syntax-begin-function} to move back 3132@code{nil}, Font Lock uses @code{syntax-begin-function} to move back
@@ -3338,13 +3338,13 @@ indentation code will want to be somewhat friendly to syntactically
3338incorrect code. 3338incorrect code.
3339 3339
3340Good maintainable indentation functions usually fall into two categories: 3340Good maintainable indentation functions usually fall into two categories:
3341either parsing forward from some ``safe'' starting point until the 3341either parsing forward from some safe starting point until the
3342position of interest, or parsing backward from the position of interest. 3342position of interest, or parsing backward from the position of interest.
3343Neither of the two is a clearly better choice than the other: parsing 3343Neither of the two is a clearly better choice than the other: parsing
3344backward is often more difficult than parsing forward because 3344backward is often more difficult than parsing forward because
3345programming languages are designed to be parsed forward, but for the 3345programming languages are designed to be parsed forward, but for the
3346purpose of indentation it has the advantage of not needing to 3346purpose of indentation it has the advantage of not needing to
3347guess a ``safe'' starting point, and it generally enjoys the property 3347guess a safe starting point, and it generally enjoys the property
3348that only a minimum of text will be analyzed to decide the indentation 3348that only a minimum of text will be analyzed to decide the indentation
3349of a line, so indentation will tend to be less affected by syntax errors in 3349of a line, so indentation will tend to be less affected by syntax errors in
3350some earlier unrelated piece of code. Parsing forward on the other hand 3350some earlier unrelated piece of code. Parsing forward on the other hand
@@ -3370,8 +3370,8 @@ of Lisp sexps and adapts it to non-Lisp languages.
3370@cindex SMIE 3370@cindex SMIE
3371 3371
3372SMIE is a package that provides a generic navigation and indentation 3372SMIE is a package that provides a generic navigation and indentation
3373engine. Based on a very simple parser using an ``operator precedence 3373engine. Based on a very simple parser using an operator precedence
3374grammar'', it lets major modes extend the sexp-based navigation of Lisp 3374grammar, it lets major modes extend the sexp-based navigation of Lisp
3375to non-Lisp languages as well as provide a simple to use but reliable 3375to non-Lisp languages as well as provide a simple to use but reliable
3376auto-indentation. 3376auto-indentation.
3377 3377
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 8781cd6d696..99d128c0535 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -483,7 +483,7 @@ Corresponds to the Unicode @code{Numeric_Value} property for
483characters whose @code{Numeric_Type} is @samp{Decimal}. The value is 483characters whose @code{Numeric_Type} is @samp{Decimal}. The value is
484an integer, or @code{nil} if the character has no decimal digit value. 484an integer, or @code{nil} if the character has no decimal digit value.
485For unassigned codepoints, the value is @code{nil}, which means 485For unassigned codepoints, the value is @code{nil}, which means
486@acronym{NaN}, or ``not-a-number''. 486@acronym{NaN}, or not a number.
487 487
488@item digit-value 488@item digit-value
489Corresponds to the Unicode @code{Numeric_Value} property for 489Corresponds to the Unicode @code{Numeric_Value} property for
@@ -1956,7 +1956,7 @@ and @ref{Invoking the Input Method}.
1956@section Locales 1956@section Locales
1957@cindex locale 1957@cindex locale
1958 1958
1959 POSIX defines a concept of ``locales'' which control which language 1959 In POSIX, locales control which language
1960to use in language-related features. These Emacs variables control 1960to use in language-related features. These Emacs variables control
1961how Emacs interacts with these features. 1961how Emacs interacts with these features.
1962 1962
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 7b4a0a6d407..b329a10b084 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -224,7 +224,7 @@ distinguish them.
224@cindex NaN 224@cindex NaN
225 The @acronym{IEEE} floating-point standard supports positive 225 The @acronym{IEEE} floating-point standard supports positive
226infinity and negative infinity as floating-point values. It also 226infinity and negative infinity as floating-point values. It also
227provides for a class of values called NaN or ``not-a-number''; 227provides for a class of values called NaN or not a number;
228numerical functions return such values in cases where there is no 228numerical functions return such values in cases where there is no
229correct answer. For example, @code{(/ 0.0 0.0)} returns a NaN@. 229correct answer. For example, @code{(/ 0.0 0.0)} returns a NaN@.
230Although NaN values carry a sign, for practical purposes there is no other 230Although NaN values carry a sign, for practical purposes there is no other
@@ -812,7 +812,7 @@ Rounding a value equidistant between two integers returns the even integer.
812sequence of @dfn{bits} (digits which are either zero or one). A bitwise 812sequence of @dfn{bits} (digits which are either zero or one). A bitwise
813operation acts on the individual bits of such a sequence. For example, 813operation acts on the individual bits of such a sequence. For example,
814@dfn{shifting} moves the whole sequence left or right one or more places, 814@dfn{shifting} moves the whole sequence left or right one or more places,
815reproducing the same pattern ``moved over''. 815reproducing the same pattern moved over.
816 816
817 The bitwise operations in Emacs Lisp apply only to integers. 817 The bitwise operations in Emacs Lisp apply only to integers.
818 818
@@ -989,17 +989,16 @@ Here are other examples:
989@end defun 989@end defun
990 990
991@defun logand &rest ints-or-markers 991@defun logand &rest ints-or-markers
992This function returns the ``logical and'' of the arguments: the 992This function returns the bitwise AND of the arguments: the @var{n}th
993@var{n}th bit is set in the result if, and only if, the @var{n}th bit is 993bit is 1 in the result if, and only if, the @var{n}th bit is 1 in all
994set in all the arguments. (``Set'' means that the value of the bit is 1 994the arguments.
995rather than 0.)
996 995
997For example, using 4-bit binary numbers, the ``logical and'' of 13 and 996For example, using 4-bit binary numbers, the bitwise AND of 13 and
99812 is 12: 1101 combined with 1100 produces 1100. 99712 is 12: 1101 combined with 1100 produces 1100.
999In both the binary numbers, the leftmost two bits are set (i.e., they 998In both the binary numbers, the leftmost two bits are both 1
1000are 1's), so the leftmost two bits of the returned value are set. 999so the leftmost two bits of the returned value are both 1.
1001However, for the rightmost two bits, each is zero in at least one of 1000However, for the rightmost two bits, each is 0 in at least one of
1002the arguments, so the rightmost two bits of the returned value are 0's. 1001the arguments, so the rightmost two bits of the returned value are both 0.
1003 1002
1004@noindent 1003@noindent
1005Therefore, 1004Therefore,
@@ -1040,9 +1039,9 @@ because its binary representation consists entirely of ones. If
1040@end defun 1039@end defun
1041 1040
1042@defun logior &rest ints-or-markers 1041@defun logior &rest ints-or-markers
1043This function returns the ``inclusive or'' of its arguments: the @var{n}th bit 1042This function returns the bitwise inclusive OR of its arguments: the @var{n}th
1044is set in the result if, and only if, the @var{n}th bit is set in at least 1043bit is 1 in the result if, and only if, the @var{n}th bit is 1 in at
1045one of the arguments. If there are no arguments, the result is zero, 1044least one of the arguments. If there are no arguments, the result is 0,
1046which is an identity element for this operation. If @code{logior} is 1045which is an identity element for this operation. If @code{logior} is
1047passed just one argument, it returns that argument. 1046passed just one argument, it returns that argument.
1048 1047
@@ -1065,9 +1064,9 @@ passed just one argument, it returns that argument.
1065@end defun 1064@end defun
1066 1065
1067@defun logxor &rest ints-or-markers 1066@defun logxor &rest ints-or-markers
1068This function returns the ``exclusive or'' of its arguments: the 1067This function returns the bitwise exclusive OR of its arguments: the
1069@var{n}th bit is set in the result if, and only if, the @var{n}th bit is 1068@var{n}th bit is 1 in the result if, and only if, the @var{n}th bit is
1070set in an odd number of the arguments. If there are no arguments, the 10691 in an odd number of the arguments. If there are no arguments, the
1071result is 0, which is an identity element for this operation. If 1070result is 0, which is an identity element for this operation. If
1072@code{logxor} is passed just one argument, it returns that argument. 1071@code{logxor} is passed just one argument, it returns that argument.
1073 1072
@@ -1090,7 +1089,7 @@ result is 0, which is an identity element for this operation. If
1090@end defun 1089@end defun
1091 1090
1092@defun lognot integer 1091@defun lognot integer
1093This function returns the logical complement of its argument: the @var{n}th 1092This function returns the bitwise complement of its argument: the @var{n}th
1094bit is one in the result if, and only if, the @var{n}th bit is zero in 1093bit is one in the result if, and only if, the @var{n}th bit is zero in
1095@var{integer}, and vice-versa. 1094@var{integer}, and vice-versa.
1096 1095
@@ -1218,7 +1217,7 @@ fashion. The numbers are not truly random, but they have certain
1218properties that mimic a random series. For example, all possible 1217properties that mimic a random series. For example, all possible
1219values occur equally often in a pseudo-random series. 1218values occur equally often in a pseudo-random series.
1220 1219
1221 Pseudo-random numbers are generated from a ``seed''. Starting from 1220 Pseudo-random numbers are generated from a seed. Starting from
1222any given seed, the @code{random} function always generates the same 1221any given seed, the @code{random} function always generates the same
1223sequence of numbers. By default, Emacs initializes the random seed at 1222sequence of numbers. By default, Emacs initializes the random seed at
1224startup, in such a way that the sequence of values of @code{random} 1223startup, in such a way that the sequence of values of @code{random}
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index c4c74ec7556..4a0ccc86561 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -18,7 +18,7 @@ possible objects.
18have similar structures and may usually be used in the same contexts. 18have similar structures and may usually be used in the same contexts.
19Types can overlap, and objects can belong to two or more types. 19Types can overlap, and objects can belong to two or more types.
20Consequently, we can ask whether an object belongs to a particular type, 20Consequently, we can ask whether an object belongs to a particular type,
21but not for ``the'' type of an object. 21but not for @emph{the} type of an object.
22 22
23@cindex primitive type 23@cindex primitive type
24 A few fundamental object types are built into Emacs. These, from 24 A few fundamental object types are built into Emacs. These, from
@@ -310,7 +310,7 @@ vertical tab, formfeed, space, return, del, and escape as @samp{?\a},
310@samp{?\b}, @samp{?\t}, @samp{?\n}, @samp{?\v}, @samp{?\f}, 310@samp{?\b}, @samp{?\t}, @samp{?\n}, @samp{?\v}, @samp{?\f},
311@samp{?\s}, @samp{?\r}, @samp{?\d}, and @samp{?\e}, respectively. 311@samp{?\s}, @samp{?\r}, @samp{?\d}, and @samp{?\e}, respectively.
312(@samp{?\s} followed by a dash has a different meaning---it applies 312(@samp{?\s} followed by a dash has a different meaning---it applies
313the ``super'' modifier to the following character.) Thus, 313the super modifier to the following character.) Thus,
314 314
315@example 315@example
316?\a @result{} 7 ; @r{control-g, @kbd{C-g}} 316?\a @result{} 7 ; @r{control-g, @kbd{C-g}}
@@ -329,7 +329,7 @@ the ``super'' modifier to the following character.) Thus,
329@cindex escape sequence 329@cindex escape sequence
330 These sequences which start with backslash are also known as 330 These sequences which start with backslash are also known as
331@dfn{escape sequences}, because backslash plays the role of an 331@dfn{escape sequences}, because backslash plays the role of an
332``escape character''; this terminology has nothing to do with the 332escape character; this has nothing to do with the
333character @key{ESC}. @samp{\s} is meant for use in character 333character @key{ESC}. @samp{\s} is meant for use in character
334constants; in string constants, just write the space. 334constants; in string constants, just write the space.
335 335
@@ -556,7 +556,7 @@ do such a thing.
556@cindex CL note---case of letters 556@cindex CL note---case of letters
557@quotation 557@quotation
558@b{Common Lisp note:} In Common Lisp, lower case letters are always 558@b{Common Lisp note:} In Common Lisp, lower case letters are always
559``folded'' to upper case, unless they are explicitly escaped. In Emacs 559folded to upper case, unless they are explicitly escaped. In Emacs
560Lisp, upper case and lower case letters are distinct. 560Lisp, upper case and lower case letters are distinct.
561@end quotation 561@end quotation
562 562
@@ -644,7 +644,7 @@ same object, @code{nil}.
644 644
645 A @dfn{cons cell} is an object that consists of two slots, called 645 A @dfn{cons cell} is an object that consists of two slots, called
646the @sc{car} slot and the @sc{cdr} slot. Each slot can @dfn{hold} any 646the @sc{car} slot and the @sc{cdr} slot. Each slot can @dfn{hold} any
647Lisp object. We also say that ``the @sc{car} of this cons cell is'' 647Lisp object. We also say that the @sc{car} of this cons cell is
648whatever object its @sc{car} slot currently holds, and likewise for 648whatever object its @sc{car} slot currently holds, and likewise for
649the @sc{cdr}. 649the @sc{cdr}.
650 650
@@ -660,13 +660,13 @@ of lists, we refer to any structure made out of cons cells as a
660@quotation 660@quotation
661A note to C programmers: a Lisp list thus works as a @dfn{linked list} 661A note to C programmers: a Lisp list thus works as a @dfn{linked list}
662built up of cons cells. Because pointers in Lisp are implicit, we do 662built up of cons cells. Because pointers in Lisp are implicit, we do
663not distinguish between a cons cell slot ``holding'' a value versus 663not distinguish between a cons cell slot holding a value versus
664``pointing to'' the value. 664pointing to the value.
665@end quotation 665@end quotation
666 666
667@cindex atoms 667@cindex atoms
668 Because cons cells are so central to Lisp, we also have a word for 668 Because cons cells are so central to Lisp, we also have a word for
669``an object which is not a cons cell''. These objects are called 669an object which is not a cons cell. These objects are called
670@dfn{atoms}. 670@dfn{atoms}.
671 671
672@cindex parenthesis 672@cindex parenthesis
@@ -695,10 +695,10 @@ hold @code{nil}.
695 695
696 The names @sc{car} and @sc{cdr} derive from the history of Lisp. The 696 The names @sc{car} and @sc{cdr} derive from the history of Lisp. The
697original Lisp implementation ran on an @w{IBM 704} computer which 697original Lisp implementation ran on an @w{IBM 704} computer which
698divided words into two parts, called the ``address'' part and the 698divided words into two parts, the address and the
699``decrement''; @sc{car} was an instruction to extract the contents of 699decrement; @sc{car} was an instruction to extract the contents of
700the address part of a register, and @sc{cdr} an instruction to extract 700the address part of a register, and @sc{cdr} an instruction to extract
701the contents of the decrement. By contrast, ``cons cells'' are named 701the contents of the decrement. By contrast, cons cells are named
702for the function @code{cons} that creates them, which in turn was named 702for the function @code{cons} that creates them, which in turn was named
703for its purpose, the construction of cells. 703for its purpose, the construction of cells.
704 704
@@ -737,7 +737,7 @@ represents a reference to a Lisp object, either an atom or another cons
737cell. 737cell.
738 738
739 In this example, the first box, which holds the @sc{car} of the first 739 In this example, the first box, which holds the @sc{car} of the first
740cons cell, refers to or ``holds'' @code{rose} (a symbol). The second 740cons cell, refers to or holds @code{rose} (a symbol). The second
741box, holding the @sc{cdr} of the first cons cell, refers to the next 741box, holding the @sc{cdr} of the first cons cell, refers to the next
742pair of boxes, the second cons cell. The @sc{car} of the second cons 742pair of boxes, the second cons cell. The @sc{car} of the second cons
743cell is @code{violet}, and its @sc{cdr} is the third cons cell. The 743cell is @code{violet}, and its @sc{cdr} is the third cons cell. The
@@ -1176,7 +1176,7 @@ a whole character set.
1176@cindex @samp{#^} read syntax 1176@cindex @samp{#^} read syntax
1177 The printed representation of a char-table is like a vector 1177 The printed representation of a char-table is like a vector
1178except that there is an extra @samp{#^} at the beginning.@footnote{You 1178except that there is an extra @samp{#^} at the beginning.@footnote{You
1179may also encounter @samp{#^^}, used for ``sub-char-tables''.} 1179may also encounter @samp{#^^}, used for sub-char-tables.}
1180 1180
1181 @xref{Char-Tables}, for special functions to operate on char-tables. 1181 @xref{Char-Tables}, for special functions to operate on char-tables.
1182Uses of char-tables include: 1182Uses of char-tables include:
@@ -1204,7 +1204,7 @@ be @code{t} or @code{nil}.
1204 The printed representation of a bool-vector is like a string, except 1204 The printed representation of a bool-vector is like a string, except
1205that it begins with @samp{#&} followed by the length. The string 1205that it begins with @samp{#&} followed by the length. The string
1206constant that follows actually specifies the contents of the bool-vector 1206constant that follows actually specifies the contents of the bool-vector
1207as a bitmap---each ``character'' in the string contains 8 bits, which 1207as a bitmap---each character in the string contains 8 bits, which
1208specify the next 8 elements of the bool-vector (1 stands for @code{t}, 1208specify the next 8 elements of the bool-vector (1 stands for @code{t},
1209and 0 for @code{nil}). The least significant bits of the character 1209and 0 for @code{nil}). The least significant bits of the character
1210correspond to the lowest indices in the bool-vector. 1210correspond to the lowest indices in the bool-vector.
@@ -1423,7 +1423,7 @@ buffer}.
1423 The contents of a buffer are much like a string, but buffers are not 1423 The contents of a buffer are much like a string, but buffers are not
1424used like strings in Emacs Lisp, and the available operations are 1424used like strings in Emacs Lisp, and the available operations are
1425different. For example, you can insert text efficiently into an 1425different. For example, you can insert text efficiently into an
1426existing buffer, altering the buffer's contents, whereas ``inserting'' 1426existing buffer, altering the buffer's contents, whereas inserting
1427text into a string requires concatenating substrings, and the result 1427text into a string requires concatenating substrings, and the result
1428is an entirely new string object. 1428is an entirely new string object.
1429 1429
@@ -1715,7 +1715,7 @@ look alike but are not the same Lisp object. This shows the difference:
1715@end example 1715@end example
1716 1716
1717 You can also use the same syntax to make a circular structure, which 1717 You can also use the same syntax to make a circular structure, which
1718appears as an ``element'' within itself. Here is an example: 1718appears as an element within itself. Here is an example:
1719 1719
1720@example 1720@example
1721#1=(a #1#) 1721#1=(a #1#)
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 6ef87dfbd53..ca4b1f07403 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -725,7 +725,7 @@ another application without doing anything special to Emacs.
725@c have SIGTSTP? 725@c have SIGTSTP?
726@cindex SIGTSTP 726@cindex SIGTSTP
727 Some operating systems (those without @code{SIGTSTP}, or MS-DOS) do 727 Some operating systems (those without @code{SIGTSTP}, or MS-DOS) do
728not support suspension of jobs; on these systems, ``suspension'' 728not support suspension of jobs; on these systems, suspension
729actually creates a new shell temporarily as a subprocess of Emacs. 729actually creates a new shell temporarily as a subprocess of Emacs.
730Then you would exit the shell to return to Emacs. 730Then you would exit the shell to return to Emacs.
731 731
@@ -1013,9 +1013,9 @@ process-environment
1013@end group 1013@end group
1014@end smallexample 1014@end smallexample
1015 1015
1016If @code{process-environment} contains ``duplicate'' elements that 1016If @code{process-environment} contains multiple elements that
1017specify the same environment variable, the first of these elements 1017specify the same environment variable, the first of these elements
1018specifies the variable, and the other ``duplicates'' are ignored. 1018specifies the variable, and the others are ignored.
1019@end defvar 1019@end defvar
1020 1020
1021@defvar initial-environment 1021@defvar initial-environment
@@ -1167,7 +1167,7 @@ user-id or login name that isn't defined, it returns @code{nil}.
1167 The symbols @code{user-login-name}, @code{user-real-login-name} and 1167 The symbols @code{user-login-name}, @code{user-real-login-name} and
1168@code{user-full-name} are variables as well as functions. The functions 1168@code{user-full-name} are variables as well as functions. The functions
1169return the same values that the variables hold. These variables allow 1169return the same values that the variables hold. These variables allow
1170you to ``fake out'' Emacs by telling the functions what to return. The 1170you to fake out Emacs by telling the functions what to return. The
1171variables are also useful for constructing frame titles (@pxref{Frame 1171variables are also useful for constructing frame titles (@pxref{Frame
1172Titles}). 1172Titles}).
1173 1173
@@ -1545,13 +1545,13 @@ because that is how @samp{%S} normally pads to two positions.
1545 1545
1546The characters @samp{E} and @samp{O} act as modifiers when used between 1546The characters @samp{E} and @samp{O} act as modifiers when used between
1547@samp{%} and one of the letters in the table above. @samp{E} specifies 1547@samp{%} and one of the letters in the table above. @samp{E} specifies
1548using the current locale's ``alternative'' version of the date and time. 1548using the current locale's alternative version of the date and time.
1549In a Japanese locale, for example, @code{%Ex} might yield a date format 1549In a Japanese locale, for example, @code{%Ex} might yield a date format
1550based on the Japanese Emperors' reigns. @samp{E} is allowed in 1550based on the Japanese Emperors' reigns. @samp{E} is allowed in
1551@samp{%Ec}, @samp{%EC}, @samp{%Ex}, @samp{%EX}, @samp{%Ey}, and 1551@samp{%Ec}, @samp{%EC}, @samp{%Ex}, @samp{%EX}, @samp{%Ey}, and
1552@samp{%EY}. 1552@samp{%EY}.
1553 1553
1554@samp{O} means to use the current locale's ``alternative'' 1554@samp{O} means to use the current locale's alternative
1555representation of numbers, instead of the ordinary decimal digits. This 1555representation of numbers, instead of the ordinary decimal digits. This
1556is allowed with most letters, all the ones that output numbers. 1556is allowed with most letters, all the ones that output numbers.
1557 1557
@@ -1922,7 +1922,7 @@ This is a convenient way to test whether Emacs is idle.
1922@end defun 1922@end defun
1923 1923
1924 The main use of @code{current-idle-time} is when an idle timer 1924 The main use of @code{current-idle-time} is when an idle timer
1925function wants to ``take a break'' for a while. It can set up another 1925function wants to take a break for a while. It can set up another
1926idle timer to call the same function again, after a few seconds more 1926idle timer to call the same function again, after a few seconds more
1927idleness. Here's an example: 1927idleness. Here's an example:
1928 1928
@@ -2192,7 +2192,7 @@ To define system-specific X11 keysyms, set the variable
2192This variable's value should be an alist with one element for each 2192This variable's value should be an alist with one element for each
2193system-specific keysym. Each element has the form @code{(@var{code} 2193system-specific keysym. Each element has the form @code{(@var{code}
2194. @var{symbol})}, where @var{code} is the numeric keysym code (not 2194. @var{symbol})}, where @var{code} is the numeric keysym code (not
2195including the ``vendor specific'' bit, 2195including the vendor-specific bit,
2196@ifnottex 2196@ifnottex
2197@minus{}2**28), 2197@minus{}2**28),
2198@end ifnottex 2198@end ifnottex
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index 7136286f0ba..21a8ddd5d03 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -292,7 +292,7 @@ case for the default GNU archive).
292 292
293Otherwise, the base location should be a directory name. In this 293Otherwise, the base location should be a directory name. In this
294case, Emacs retrieves packages from this archive via ordinary file 294case, Emacs retrieves packages from this archive via ordinary file
295access. Such ``local'' archives are mainly useful for testing. 295access. Such local archives are mainly useful for testing.
296@end defopt 296@end defopt
297 297
298 A package archive is simply a directory in which the package files, 298 A package archive is simply a directory in which the package files,
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index 200935d5c60..75b29c1d395 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -22,11 +22,11 @@ be a position (an integer), but accept a marker as a substitute,
22normally ignore which buffer the marker points into; they convert the 22normally ignore which buffer the marker points into; they convert the
23marker to an integer, and use that integer, exactly as if you had 23marker to an integer, and use that integer, exactly as if you had
24passed the integer as the argument, even if the marker points to the 24passed the integer as the argument, even if the marker points to the
25``wrong'' buffer. A marker that points nowhere cannot convert to an 25wrong buffer. A marker that points nowhere cannot convert to an
26integer; using it instead of an integer causes an error. 26integer; using it instead of an integer causes an error.
27@xref{Markers}. 27@xref{Markers}.
28 28
29 See also the ``field'' feature (@pxref{Fields}), which provides 29 See also the field feature (@pxref{Fields}), which provides
30functions that are used by many cursor-motion commands. 30functions that are used by many cursor-motion commands.
31 31
32@menu 32@menu
@@ -227,7 +227,7 @@ backward until encountering the front of a word, rather than forward.
227@c Emacs 19 feature 227@c Emacs 19 feature
228This variable affects the behavior of @code{forward-word} and everything 228This variable affects the behavior of @code{forward-word} and everything
229that uses it. If it is non-@code{nil}, then characters in the 229that uses it. If it is non-@code{nil}, then characters in the
230``escape'' and ``character quote'' syntax classes count as part of 230escape and character-quote syntax classes count as part of
231words. Otherwise, they do not. 231words. Otherwise, they do not.
232@end defopt 232@end defopt
233 233
@@ -409,7 +409,7 @@ mentioned here only for completeness.
409@deffn Command previous-line count 409@deffn Command previous-line count
410@cindex goal column 410@cindex goal column
411This function moves point up @var{count} lines (down if @var{count} 411This function moves point up @var{count} lines (down if @var{count}
412is negative). In moving, it attempts to keep point in the ``goal column'' 412is negative). In moving, it attempts to keep point in the goal column
413(normally the same column that it was at the beginning of the move). 413(normally the same column that it was at the beginning of the move).
414 414
415If there is no character in the target line exactly under the current 415If there is no character in the target line exactly under the current
@@ -434,7 +434,7 @@ to use and more reliable (no dependence on goal column, etc.).
434 434
435@deffn Command next-line count 435@deffn Command next-line count
436This function moves point down @var{count} lines (up if @var{count} 436This function moves point down @var{count} lines (up if @var{count}
437is negative). In moving, it attempts to keep point in the ``goal column'' 437is negative). In moving, it attempts to keep point in the goal column
438(normally the same column that it was at the beginning of the move). 438(normally the same column that it was at the beginning of the move).
439 439
440If there is no character in the target line exactly under the current 440If there is no character in the target line exactly under the current
@@ -827,7 +827,7 @@ is zero or less.
827@section Excursions 827@section Excursions
828@cindex excursion 828@cindex excursion
829 829
830 It is often useful to move point ``temporarily'' within a localized 830 It is often useful to move point temporarily within a localized
831portion of the program. This is called an @dfn{excursion}, and it is 831portion of the program. This is called an @dfn{excursion}, and it is
832done with the @code{save-excursion} special form. This construct 832done with the @code{save-excursion} special form. This construct
833remembers the initial identity of the current buffer, and its value 833remembers the initial identity of the current buffer, and its value
@@ -862,7 +862,7 @@ consequences, so the byte compiler warns if you call @code{set-buffer}
862during an excursion: 862during an excursion:
863 863
864@example 864@example
865Warning: Use `with-current-buffer' rather than 865Warning: Use with-current-buffer rather than
866 save-excursion+set-buffer 866 save-excursion+set-buffer
867@end example 867@end example
868 868
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index c9509b0f216..a62a8b6b4ad 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -734,7 +734,7 @@ Initialize the process query flag to @var{query-flag}.
734 734
735@item :stop @var{stopped} 735@item :stop @var{stopped}
736If @var{stopped} is non-@code{nil}, start the process in the 736If @var{stopped} is non-@code{nil}, start the process in the
737``stopped'' state. 737stopped state.
738 738
739@item :filter @var{filter} 739@item :filter @var{filter}
740Initialize the process filter to @var{filter}. 740Initialize the process filter to @var{filter}.
@@ -786,7 +786,7 @@ Initialize the process query flag to @var{query-flag}.
786 786
787@item :stop @var{stopped} 787@item :stop @var{stopped}
788If @var{stopped} is non-@code{nil}, start the process in the 788If @var{stopped} is non-@code{nil}, start the process in the
789``stopped'' state. 789stopped state.
790 790
791@item :filter @var{filter} 791@item :filter @var{filter}
792Initialize the process filter to @var{filter}. 792Initialize the process filter to @var{filter}.
@@ -1070,7 +1070,7 @@ This function sets the process plist of @var{process} to @var{plist}.
1070 Asynchronous subprocesses receive input when it is sent to them by 1070 Asynchronous subprocesses receive input when it is sent to them by
1071Emacs, which is done with the functions in this section. You must 1071Emacs, which is done with the functions in this section. You must
1072specify the process to send input to, and the input data to send. The 1072specify the process to send input to, and the input data to send. The
1073data appears on the ``standard input'' of the subprocess. 1073data appears on the standard input of the subprocess.
1074 1074
1075@c FIXME which? 1075@c FIXME which?
1076 Some operating systems have limited space for buffered input in a 1076 Some operating systems have limited space for buffered input in a
@@ -1189,10 +1189,10 @@ job-control shells won't work when a pipe is used. See
1189 1189
1190@defun interrupt-process &optional process current-group 1190@defun interrupt-process &optional process current-group
1191This function interrupts the process @var{process} by sending the 1191This function interrupts the process @var{process} by sending the
1192signal @code{SIGINT}. Outside of Emacs, typing the ``interrupt 1192signal @code{SIGINT}. Outside of Emacs, typing the interrupt
1193character'' (normally @kbd{C-c} on some systems, and @key{DEL} on 1193character (normally @kbd{C-c} on some systems, and @key{DEL} on
1194others) sends this signal. When the argument @var{current-group} is 1194others) sends this signal. When the argument @var{current-group} is
1195non-@code{nil}, you can think of this function as ``typing @kbd{C-c}'' 1195non-@code{nil}, you can think of this function as typing @kbd{C-c}
1196on the terminal by which Emacs talks to the subprocess. 1196on the terminal by which Emacs talks to the subprocess.
1197@end defun 1197@end defun
1198 1198
@@ -1204,10 +1204,8 @@ and cannot be handled by the subprocess.
1204 1204
1205@defun quit-process &optional process current-group 1205@defun quit-process &optional process current-group
1206This function sends the signal @code{SIGQUIT} to the process 1206This function sends the signal @code{SIGQUIT} to the process
1207@var{process}. This signal is the one sent by the ``quit 1207@var{process}. This signal is the one sent by the quit
1208@c FIXME? Never heard of C-b being used for this. In readline, e.g., 1208character (usually @kbd{C-\}) when you are not inside
1209@c bash, that is backward-word.
1210character'' (usually @kbd{C-b} or @kbd{C-\}) when you are not inside
1211Emacs. 1209Emacs.
1212@end defun 1210@end defun
1213 1211
@@ -1216,10 +1214,10 @@ This function stops the process @var{process} by sending the
1216signal @code{SIGTSTP}. Use @code{continue-process} to resume its 1214signal @code{SIGTSTP}. Use @code{continue-process} to resume its
1217execution. 1215execution.
1218 1216
1219Outside of Emacs, on systems with job control, the ``stop character'' 1217Outside of Emacs, on systems with job control, the stop character
1220(usually @kbd{C-z}) normally sends this signal. When 1218(usually @kbd{C-z}) normally sends this signal. When
1221@var{current-group} is non-@code{nil}, you can think of this function as 1219@var{current-group} is non-@code{nil}, you can think of this function as
1222``typing @kbd{C-z}'' on the terminal Emacs uses to communicate with the 1220typing @kbd{C-z} on the terminal Emacs uses to communicate with the
1223subprocess. 1221subprocess.
1224@end defun 1222@end defun
1225 1223
@@ -1849,7 +1847,7 @@ interruptible sleep (waiting for some event)
1849@item "T" 1847@item "T"
1850stopped, e.g., by a job control signal 1848stopped, e.g., by a job control signal
1851@item "Z" 1849@item "Z"
1852``zombie'': a process that terminated, but was not reaped by its parent 1850zombie: a process that terminated, but was not reaped by its parent
1853@end table 1851@end table
1854 1852
1855@noindent 1853@noindent
@@ -2074,7 +2072,7 @@ server is stopped; a non-@code{nil} value means yes.
2074@cindex @acronym{STARTTLS} network connections 2072@cindex @acronym{STARTTLS} network connections
2075Emacs can create encrypted network connections, using either built-in 2073Emacs can create encrypted network connections, using either built-in
2076or external support. The built-in support uses the GnuTLS 2074or external support. The built-in support uses the GnuTLS
2077(``Transport Layer Security'') library; see 2075Transport Layer Security Library; see
2078@uref{http://www.gnu.org/software/gnutls/, the GnuTLS project page}. 2076@uref{http://www.gnu.org/software/gnutls/, the GnuTLS project page}.
2079If your Emacs was compiled with GnuTLS support, the function 2077If your Emacs was compiled with GnuTLS support, the function
2080@code{gnutls-available-p} is defined and returns non-@code{nil}. For 2078@code{gnutls-available-p} is defined and returns non-@code{nil}. For
@@ -2118,7 +2116,7 @@ The type of connection. Options are:
2118An ordinary, unencrypted connection. 2116An ordinary, unencrypted connection.
2119@item tls 2117@item tls
2120@itemx ssl 2118@itemx ssl
2121A @acronym{TLS} (``Transport Layer Security'') connection. 2119A @acronym{TLS} (Transport Layer Security) connection.
2122@item nil 2120@item nil
2123@itemx network 2121@itemx network
2124Start with a plain connection, and if parameters @samp{:success} 2122Start with a plain connection, and if parameters @samp{:success}
@@ -2306,7 +2304,7 @@ necessary to make it unique.
2306@item :type @var{type} 2304@item :type @var{type}
2307Specify the communication type. A value of @code{nil} specifies a 2305Specify the communication type. A value of @code{nil} specifies a
2308stream connection (the default); @code{datagram} specifies a datagram 2306stream connection (the default); @code{datagram} specifies a datagram
2309connection; @code{seqpacket} specifies a ``sequenced packet stream'' 2307connection; @code{seqpacket} specifies a sequenced packet stream
2310connection. Both connections and servers can be of these types. 2308connection. Both connections and servers can be of these types.
2311 2309
2312@item :server @var{server-flag} 2310@item :server @var{server-flag}
@@ -2373,7 +2371,7 @@ A local address is represented as a string, which specifies the address
2373in the local address space. 2371in the local address space.
2374 2372
2375@item 2373@item
2376An ``unsupported family'' address is represented by a cons 2374An unsupported-family address is represented by a cons
2377@code{(@var{f} . @var{av})}, where @var{f} is the family number and 2375@code{(@var{f} . @var{av})}, where @var{f} is the family number and
2378@var{av} is a vector specifying the socket address using one element 2376@var{av} is a vector specifying the socket address using one element
2379per address data byte. Do not rely on this format in portable code, 2377per address data byte. Do not rely on this format in portable code,
@@ -2392,7 +2390,7 @@ has succeeded or failed.
2392 2390
2393@item :stop @var{stopped} 2391@item :stop @var{stopped}
2394If @var{stopped} is non-@code{nil}, start the network connection or 2392If @var{stopped} is non-@code{nil}, start the network connection or
2395server in the ``stopped'' state. 2393server in the stopped state.
2396 2394
2397@item :buffer @var{buffer} 2395@item :buffer @var{buffer}
2398Use @var{buffer} as the process buffer. 2396Use @var{buffer} as the process buffer.
@@ -2540,7 +2538,7 @@ Non-@code{nil} if non-blocking connect is supported.
2540@item (:type datagram) 2538@item (:type datagram)
2541Non-@code{nil} if datagrams are supported. 2539Non-@code{nil} if datagrams are supported.
2542@item (:family local) 2540@item (:family local)
2543Non-@code{nil} if local (a.k.a.@: ``UNIX domain'') sockets are supported. 2541Non-@code{nil} if local (a.k.a.@: UNIX domain) sockets are supported.
2544@item (:family ipv6) 2542@item (:family ipv6)
2545Non-@code{nil} if IPv6 is supported. 2543Non-@code{nil} if IPv6 is supported.
2546@item (:service t) 2544@item (:service t)
@@ -2700,7 +2698,7 @@ Initialize the process query flag to @var{query-flag}. @xref{Query
2700Before Exit}. The flags defaults to @code{nil} if unspecified. 2698Before Exit}. The flags defaults to @code{nil} if unspecified.
2701 2699
2702@item :stop @var{bool} 2700@item :stop @var{bool}
2703Start process in the ``stopped'' state if @var{bool} is 2701Start process in the stopped state if @var{bool} is
2704non-@code{nil}. In the stopped state, a serial process does not 2702non-@code{nil}. In the stopped state, a serial process does not
2705accept incoming data, but you can send outgoing data. The stopped 2703accept incoming data, but you can send outgoing data. The stopped
2706state is cleared by @code{continue-process} and set by 2704state is cleared by @code{continue-process} and set by
@@ -2830,7 +2828,7 @@ specification}, a special nested list describing named and typed
2830@dfn{fields}. This specification controls the length of each field to be 2828@dfn{fields}. This specification controls the length of each field to be
2831processed, and how to pack or unpack it. We normally keep bindat specs 2829processed, and how to pack or unpack it. We normally keep bindat specs
2832in variables whose names end in @samp{-bindat-spec}; that kind of name 2830in variables whose names end in @samp{-bindat-spec}; that kind of name
2833is automatically recognized as ``risky''. 2831is automatically recognized as risky.
2834 2832
2835@cindex endianness 2833@cindex endianness
2836@cindex big endian 2834@cindex big endian
@@ -2839,8 +2837,8 @@ is automatically recognized as ``risky''.
2839 A field's @dfn{type} describes the size (in bytes) of the object 2837 A field's @dfn{type} describes the size (in bytes) of the object
2840that the field represents and, in the case of multibyte fields, how 2838that the field represents and, in the case of multibyte fields, how
2841the bytes are ordered within the field. The two possible orderings 2839the bytes are ordered within the field. The two possible orderings
2842are ``big endian'' (also known as ``network byte ordering'') and 2840are big endian (also known as network byte ordering) and
2843``little endian''. For instance, the number @code{#x23cd} (decimal 2841little endian. For instance, the number @code{#x23cd} (decimal
28449165) in big endian would be the two bytes @code{#x23} @code{#xcd}; 28429165) in big endian would be the two bytes @code{#x23} @code{#xcd};
2845and in little endian, @code{#xcd} @code{#x23}. Here are the possible 2843and in little endian, @code{#xcd} @code{#x23}. Here are the possible
2846type values: 2844type values:
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 60360cb98a9..6dc4a16c765 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -113,7 +113,7 @@ match.
113@end deffn 113@end deffn
114 114
115@deffn Command word-search-forward string &optional limit noerror repeat 115@deffn Command word-search-forward string &optional limit noerror repeat
116This function searches forward from point for a ``word'' match for 116This function searches forward from point for a word match for
117@var{string}. If it finds a match, it sets point to the end of the 117@var{string}. If it finds a match, it sets point to the end of the
118match found, and returns the new value of point. 118match found, and returns the new value of point.
119 119
@@ -359,7 +359,7 @@ preceding expression either once or not at all. For example,
359 359
360@item @samp{*?}, @samp{+?}, @samp{??} 360@item @samp{*?}, @samp{+?}, @samp{??}
361@cindex non-greedy repetition characters in regexp 361@cindex non-greedy repetition characters in regexp
362These are ``non-greedy'' variants of the operators @samp{*}, @samp{+} 362These are non-greedy variants of the operators @samp{*}, @samp{+}
363and @samp{?}. Where those operators match the largest possible 363and @samp{?}. Where those operators match the largest possible
364substring (consistent with matching the entire containing expression), 364substring (consistent with matching the entire containing expression),
365the non-greedy variants match the smallest possible substring 365the non-greedy variants match the smallest possible substring
@@ -1127,7 +1127,7 @@ avoids modifying the match data.
1127@defun looking-at regexp 1127@defun looking-at regexp
1128This function determines whether the text in the current buffer directly 1128This function determines whether the text in the current buffer directly
1129following point matches the regular expression @var{regexp}. ``Directly 1129following point matches the regular expression @var{regexp}. ``Directly
1130following'' means precisely that: the search is ``anchored'' and it can 1130following'' means precisely that: the search is anchored and it can
1131succeed only starting with the first character following point. The 1131succeed only starting with the first character following point. The
1132result is @code{t} if so, @code{nil} otherwise. 1132result is @code{t} if so, @code{nil} otherwise.
1133 1133
@@ -1759,18 +1759,18 @@ in two ways:
1759 1759
1760@itemize @bullet 1760@itemize @bullet
1761@item 1761@item
1762The ``key bindings'' are not commands, just symbols that are meaningful 1762The key bindings are not commands, just symbols that are meaningful
1763to the functions that use this map. 1763to the functions that use this map.
1764 1764
1765@item 1765@item
1766Prefix keys are not supported; each key binding must be for a 1766Prefix keys are not supported; each key binding must be for a
1767single-event key sequence. This is because the functions don't use 1767single-event key sequence. This is because the functions don't use
1768@code{read-key-sequence} to get the input; instead, they read a single 1768@code{read-key-sequence} to get the input; instead, they read a single
1769event and look it up ``by hand''. 1769event and look it up by hand.
1770@end itemize 1770@end itemize
1771@end defvar 1771@end defvar
1772 1772
1773Here are the meaningful ``bindings'' for @code{query-replace-map}. 1773Here are the meaningful bindings for @code{query-replace-map}.
1774Several of them are meaningful only for @code{query-replace} and 1774Several of them are meaningful only for @code{query-replace} and
1775friends. 1775friends.
1776 1776
@@ -1835,7 +1835,7 @@ Display some help, then ask again.
1835@defvar multi-query-replace-map 1835@defvar multi-query-replace-map
1836This variable holds a keymap that extends @code{query-replace-map} by 1836This variable holds a keymap that extends @code{query-replace-map} by
1837providing additional keybindings that are useful in multi-buffer 1837providing additional keybindings that are useful in multi-buffer
1838replacements. The additional ``bindings'' are: 1838replacements. The additional bindings are:
1839 1839
1840@table @code 1840@table @code
1841@item automatic-all 1841@item automatic-all
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index 18120dad575..f38aa350963 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -342,7 +342,7 @@ order elements according to different criteria.
342The argument @var{predicate} must be a function that accepts two 342The argument @var{predicate} must be a function that accepts two
343arguments. It is called with two elements of @var{sequence}. To get an 343arguments. It is called with two elements of @var{sequence}. To get an
344increasing order sort, the @var{predicate} should return non-@code{nil} if the 344increasing order sort, the @var{predicate} should return non-@code{nil} if the
345first element is ``less than'' the second, or @code{nil} if not. 345first element is less than the second, or @code{nil} if not.
346 346
347The comparison function @var{predicate} must give reliable results for 347The comparison function @var{predicate} must give reliable results for
348any given pair of arguments, at least within a single call to 348any given pair of arguments, at least within a single call to
@@ -1490,7 +1490,7 @@ deletion, rotation, and modulo-indexed reference and traversal. An
1490efficient ring data structure is implemented by the @code{ring} 1490efficient ring data structure is implemented by the @code{ring}
1491package. It provides the functions listed in this section. 1491package. It provides the functions listed in this section.
1492 1492
1493 Note that several ``rings'' in Emacs, like the kill ring and the 1493 Note that several rings in Emacs, like the kill ring and the
1494mark ring, are actually implemented as simple lists, @emph{not} using 1494mark ring, are actually implemented as simple lists, @emph{not} using
1495the @code{ring} package; thus the following functions won't work on 1495the @code{ring} package; thus the following functions won't work on
1496them. 1496them.
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi
index dfad2d83d54..025b0e95c4e 100644
--- a/doc/lispref/streams.texi
+++ b/doc/lispref/streams.texi
@@ -113,8 +113,8 @@ When it is called with no arguments, it should return the next character.
113When it is called with one argument (always a character), @var{function} 113When it is called with one argument (always a character), @var{function}
114should save the argument and arrange to return it on the next call. 114should save the argument and arrange to return it on the next call.
115This is called @dfn{unreading} the character; it happens when the Lisp 115This is called @dfn{unreading} the character; it happens when the Lisp
116reader reads one character too many and wants to ``put it back where it 116reader reads one character too many and wants to put it back where it
117came from''. In this case, it makes no difference what value 117came from. In this case, it makes no difference what value
118@var{function} returns. 118@var{function} returns.
119@end itemize 119@end itemize
120 120
@@ -701,7 +701,7 @@ returns @code{"The buffer is foo"}.
701 701
702@defun pp object &optional stream 702@defun pp object &optional stream
703This function outputs @var{object} to @var{stream}, just like 703This function outputs @var{object} to @var{stream}, just like
704@code{prin1}, but does it in a more ``pretty'' way. That is, it'll 704@code{prin1}, but does it in a prettier way. That is, it'll
705indent and fill the object to make it more readable for humans. 705indent and fill the object to make it more readable for humans.
706@end defun 706@end defun
707 707
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index f42250719e5..b2fe60c93cc 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -343,7 +343,7 @@ three previous examples are rarely relevant:
343@end example 343@end example
344 344
345Somewhat odd, but predictable, behavior can occur for certain 345Somewhat odd, but predictable, behavior can occur for certain
346``non-greedy'' values of @var{separators} that can prefer empty 346non-greedy values of @var{separators} that can prefer empty
347matches over non-empty matches. Again, such values rarely occur in 347matches over non-empty matches. Again, such values rarely occur in
348practice: 348practice:
349 349
@@ -644,7 +644,7 @@ string. Likewise, the specified part of @var{string2} runs from index
644@var{start2} up to index @var{end2}. 644@var{start2} up to index @var{end2}.
645 645
646The strings are compared by the numeric values of their characters. 646The strings are compared by the numeric values of their characters.
647For instance, @var{str1} is considered ``smaller than'' @var{str2} if 647For instance, @var{str1} is considered less than @var{str2} if
648its first differing character has a smaller numeric value. If 648its first differing character has a smaller numeric value. If
649@var{ignore-case} is non-@code{nil}, characters are converted to 649@var{ignore-case} is non-@code{nil}, characters are converted to
650lower-case before comparing them. Unibyte strings are converted to 650lower-case before comparing them. Unibyte strings are converted to
@@ -685,7 +685,7 @@ against a string, can be used for a kind of string comparison; see
685strings and integers. @code{format} (@pxref{Formatting Strings}) and 685strings and integers. @code{format} (@pxref{Formatting Strings}) and
686@code{prin1-to-string} (@pxref{Output Functions}) can also convert 686@code{prin1-to-string} (@pxref{Output Functions}) can also convert
687Lisp objects into strings. @code{read-from-string} (@pxref{Input 687Lisp objects into strings. @code{read-from-string} (@pxref{Input
688Functions}) can ``convert'' a string representation of a Lisp object 688Functions}) can convert a string representation of a Lisp object
689into an object. The functions @code{string-to-multibyte} and 689into an object. The functions @code{string-to-multibyte} and
690@code{string-to-unibyte} convert the text representation of a string 690@code{string-to-unibyte} convert the text representation of a string
691(@pxref{Converting Representations}). 691(@pxref{Converting Representations}).
@@ -990,7 +990,7 @@ numbers and negative numbers use the same number of columns. They are
990ignored except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}, and if 990ignored except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}, and if
991both flags are used, @samp{+} takes precedence. 991both flags are used, @samp{+} takes precedence.
992 992
993 The flag @samp{#} specifies an ``alternate form'' which depends on 993 The flag @samp{#} specifies an alternate form which depends on
994the format in use. For @samp{%o}, it ensures that the result begins 994the format in use. For @samp{%o}, it ensures that the result begins
995with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result 995with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result
996with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g}, 996with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g},
@@ -1245,8 +1245,8 @@ Exits}).
1245 1245
1246 Some language environments modify the case conversions of 1246 Some language environments modify the case conversions of
1247@acronym{ASCII} characters; for example, in the Turkish language 1247@acronym{ASCII} characters; for example, in the Turkish language
1248environment, the @acronym{ASCII} character @samp{I} is downcased into 1248environment, the @acronym{ASCII} capital I is downcased into
1249a Turkish ``dotless i''. This can interfere with code that requires 1249a Turkish dotless i (@samp{ı}). This can interfere with code that requires
1250ordinary @acronym{ASCII} case conversion, such as implementations of 1250ordinary @acronym{ASCII} case conversion, such as implementations of
1251@acronym{ASCII}-based network protocols. In that case, use the 1251@acronym{ASCII}-based network protocols. In that case, use the
1252@code{with-case-table} macro with the variable @var{ascii-case-table}, 1252@code{with-case-table} macro with the variable @var{ascii-case-table},
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index a6545eae732..e6dc4df629e 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -35,7 +35,7 @@ otherwise.
35@section Symbol Components 35@section Symbol Components
36@cindex symbol components 36@cindex symbol components
37 37
38 Each symbol has four components (or ``cells''), each of which 38 Each symbol has four components (or cells), each of which
39references another object: 39references another object:
40 40
41@table @asis 41@table @asis
@@ -176,7 +176,7 @@ cause complete confusion.
176@cindex obarray 176@cindex obarray
177@cindex bucket (in obarray) 177@cindex bucket (in obarray)
178 When the Lisp reader encounters a symbol, it reads all the characters 178 When the Lisp reader encounters a symbol, it reads all the characters
179of the name. Then it ``hashes'' those characters to find an index in a 179of the name. Then it hashes those characters to find an index in a
180table called an @dfn{obarray}. Hashing is an efficient method of 180table called an @dfn{obarray}. Hashing is an efficient method of
181looking something up. For example, instead of searching a telephone 181looking something up. For example, instead of searching a telephone
182book cover to cover when looking up Jan Jones, you start with the J's 182book cover to cover when looking up Jan Jones, you start with the J's
@@ -525,7 +525,7 @@ The value is an expression for determining whether the named menu item
525should be enabled in menus. @xref{Simple Menu Items}. 525should be enabled in menus. @xref{Simple Menu Items}.
526 526
527@item mode-class 527@item mode-class
528If the value is @code{special}, the named major mode is ``special''. 528If the value is @code{special}, the named major mode is special.
529@xref{Major Mode Conventions}. 529@xref{Major Mode Conventions}.
530 530
531@item permanent-local 531@item permanent-local
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index 5d9935dc556..7a984e3d87b 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -98,7 +98,7 @@ serves as the name of the class when you need to specify a class.
98Usually, this designator character is one that is often assigned that 98Usually, this designator character is one that is often assigned that
99class; however, its meaning as a designator is unvarying and 99class; however, its meaning as a designator is unvarying and
100independent of what syntax that character currently has. Thus, 100independent of what syntax that character currently has. Thus,
101@samp{\} as a designator character always means ``escape character'' 101@samp{\} as a designator character always stands for escape character
102syntax, regardless of whether the @samp{\} character actually has that 102syntax, regardless of whether the @samp{\} character actually has that
103syntax in the current syntax table. 103syntax in the current syntax table.
104@ifnottex 104@ifnottex
@@ -377,7 +377,7 @@ character does not have the @samp{b} flag.
377@end table 377@end table
378 378
379@item 379@item
380@samp{p} identifies an additional ``prefix character'' for Lisp syntax. 380@samp{p} identifies an additional prefix character for Lisp syntax.
381These characters are treated as whitespace when they appear between 381These characters are treated as whitespace when they appear between
382expressions. When they appear within an expression, they are handled 382expressions. When they appear within an expression, they are handled
383according to their usual syntax classes. 383according to their usual syntax classes.
@@ -640,7 +640,7 @@ expression prefix syntax class, and characters with the @samp{p} flag.
640expressions. We will refer to such expressions as @dfn{sexps}, 640expressions. We will refer to such expressions as @dfn{sexps},
641following the terminology of Lisp, even though these functions can act 641following the terminology of Lisp, even though these functions can act
642on languages other than Lisp. Basically, a sexp is either a balanced 642on languages other than Lisp. Basically, a sexp is either a balanced
643parenthetical grouping, a string, or a ``symbol'' (i.e., a sequence 643parenthetical grouping, a string, or a symbol (i.e., a sequence
644of characters whose syntax is either word constituent or symbol 644of characters whose syntax is either word constituent or symbol
645constituent). However, characters in the expression prefix syntax 645constituent). However, characters in the expression prefix syntax
646class (@pxref{Syntax Class Table}) are treated as part of the sexp if 646class (@pxref{Syntax Class Table}) are treated as part of the sexp if
@@ -654,7 +654,7 @@ higher-level functions for moving over balanced expressions.
654 A character's syntax controls how it changes the state of the 654 A character's syntax controls how it changes the state of the
655parser, rather than describing the state itself. For example, a 655parser, rather than describing the state itself. For example, a
656string delimiter character toggles the parser state between 656string delimiter character toggles the parser state between
657``in-string'' and ``in-code'', but the syntax of characters does not 657in-string and in-code, but the syntax of characters does not
658directly say whether they are inside a string. For example (note that 658directly say whether they are inside a string. For example (note that
65915 is the syntax code for generic string delimiters), 65915 is the syntax code for generic string delimiters),
660 660
@@ -731,7 +731,7 @@ number of complete comments. If @var{count} comments are found as
731expected, with nothing except whitespace between them, it returns 731expected, with nothing except whitespace between them, it returns
732@code{t}; otherwise it returns @code{nil}. 732@code{t}; otherwise it returns @code{nil}.
733 733
734This function cannot tell whether the ``comments'' it traverses are 734This function cannot tell whether the comments it traverses are
735embedded within a string. If they look like comments, it treats them 735embedded within a string. If they look like comments, it treats them
736as comments. 736as comments.
737 737
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 55e550a7b80..45e923218d7 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -58,7 +58,7 @@ the character after point.
58* Base 64:: Conversion to or from base 64 encoding. 58* Base 64:: Conversion to or from base 64 encoding.
59* Checksum/Hash:: Computing cryptographic hashes. 59* Checksum/Hash:: Computing cryptographic hashes.
60* Parsing HTML/XML:: Parsing HTML and XML. 60* Parsing HTML/XML:: Parsing HTML and XML.
61* Atomic Changes:: Installing several buffer changes ``atomically''. 61* Atomic Changes:: Installing several buffer changes atomically.
62* Change Hooks:: Supplying functions to be run when text is changed. 62* Change Hooks:: Supplying functions to be run when text is changed.
63@end menu 63@end menu
64 64
@@ -578,7 +578,7 @@ error; if some of the text in it is read-only, it signals a
578asking for any confirmation. It returns @code{nil}. 578asking for any confirmation. It returns @code{nil}.
579 579
580Normally, deleting a large amount of text from a buffer inhibits further 580Normally, deleting a large amount of text from a buffer inhibits further
581auto-saving of that buffer ``because it has shrunk''. However, 581auto-saving of that buffer because it has shrunk. However,
582@code{erase-buffer} does not do this, the idea being that the future 582@code{erase-buffer} does not do this, the idea being that the future
583text is not really related to the former text, and its size should not 583text is not really related to the former text, and its size should not
584be compared with that of the former text. 584be compared with that of the former text.
@@ -825,7 +825,7 @@ buffer if the variable @code{delete-trailing-lines} is non-@code{nil}.
825it so that the user can reinsert it by @dfn{yanking}. Most of these 825it so that the user can reinsert it by @dfn{yanking}. Most of these
826functions have @samp{kill-} in their name. By contrast, the functions 826functions have @samp{kill-} in their name. By contrast, the functions
827whose names start with @samp{delete-} normally do not save text for 827whose names start with @samp{delete-} normally do not save text for
828yanking (though they can still be undone); these are ``deletion'' 828yanking (though they can still be undone); these are deletion
829functions. 829functions.
830 830
831 Most of the kill commands are primarily for interactive use, and are 831 Most of the kill commands are primarily for interactive use, and are
@@ -846,8 +846,8 @@ that treat it as a ring.
846 846
847 Some people think this use of the word ``kill'' is unfortunate, since 847 Some people think this use of the word ``kill'' is unfortunate, since
848it refers to operations that specifically @emph{do not} destroy the 848it refers to operations that specifically @emph{do not} destroy the
849entities ``killed''. This is in sharp contrast to ordinary life, in 849entities killed. This is in sharp contrast to ordinary life, in
850which death is permanent and ``killed'' entities do not come back to 850which death is permanent and killed entities do not come back to
851life. Therefore, other metaphors have been proposed. For example, the 851life. Therefore, other metaphors have been proposed. For example, the
852term ``cut ring'' makes sense to people who, in pre-computer days, used 852term ``cut ring'' makes sense to people who, in pre-computer days, used
853scissors and paste to cut up and rearrange manuscripts. However, it 853scissors and paste to cut up and rearrange manuscripts. However, it
@@ -882,9 +882,9 @@ succession build up a single kill ring entry, which would be yanked as a
882unit; the second and subsequent consecutive kill commands add text to 882unit; the second and subsequent consecutive kill commands add text to
883the entry made by the first one. 883the entry made by the first one.
884 884
885 For yanking, one entry in the kill ring is designated the ``front'' of 885 For yanking, one entry in the kill ring is designated the front of
886the ring. Some yank commands ``rotate'' the ring by designating a 886the ring. Some yank commands rotate the ring by designating a
887different element as the ``front''. But this virtual rotation doesn't 887different element as the front. But this virtual rotation doesn't
888change the list itself---the most recent entry always comes first in the 888change the list itself---the most recent entry always comes first in the
889list. 889list.
890 890
@@ -892,7 +892,7 @@ list.
892@subsection Functions for Killing 892@subsection Functions for Killing
893 893
894 @code{kill-region} is the usual subroutine for killing text. Any 894 @code{kill-region} is the usual subroutine for killing text. Any
895command that calls this function is a ``kill command'' (and should 895command that calls this function is a kill command (and should
896probably have @samp{kill} in its name). @code{kill-region} puts the 896probably have @samp{kill} in its name). @code{kill-region} puts the
897newly killed text in a new element at the beginning of the kill ring or 897newly killed text in a new element at the beginning of the kill ring or
898adds it to the most recent element. It determines automatically (using 898adds it to the most recent element. It determines automatically (using
@@ -1101,7 +1101,7 @@ because they take care of interaction with window system selections
1101 1101
1102@defun current-kill n &optional do-not-move 1102@defun current-kill n &optional do-not-move
1103The function @code{current-kill} rotates the yanking pointer, which 1103The function @code{current-kill} rotates the yanking pointer, which
1104designates the ``front'' of the kill ring, by @var{n} places (from newer 1104designates the front of the kill ring, by @var{n} places (from newer
1105kills to older ones), and returns the text at that place in the ring. 1105kills to older ones), and returns the text at that place in the ring.
1106 1106
1107If the optional second argument @var{do-not-move} is non-@code{nil}, 1107If the optional second argument @var{do-not-move} is non-@code{nil},
@@ -1148,13 +1148,13 @@ programs, when you are using a window system. Its value should be
1148@code{nil} or a function of no arguments. 1148@code{nil} or a function of no arguments.
1149 1149
1150If the value is a function, @code{current-kill} calls it to get the 1150If the value is a function, @code{current-kill} calls it to get the
1151``most recent kill''. If the function returns a non-@code{nil} value, 1151most recent kill. If the function returns a non-@code{nil} value,
1152then that value is used as the ``most recent kill''. If it returns 1152then that value is used as the most recent kill. If it returns
1153@code{nil}, then the front of the kill ring is used. 1153@code{nil}, then the front of the kill ring is used.
1154 1154
1155To facilitate support for window systems that support multiple 1155To facilitate support for window systems that support multiple
1156selections, this function may also return a list of strings. In that 1156selections, this function may also return a list of strings. In that
1157case, the first string is used as the ``most recent kill'', and all 1157case, the first string is used as the most recent kill, and all
1158the other strings are pushed onto the kill ring, for easy access by 1158the other strings are pushed onto the kill ring, for easy access by
1159@code{yank-pop}. 1159@code{yank-pop}.
1160 1160
@@ -1186,7 +1186,7 @@ of the list.
1186 1186
1187 The @code{kill-ring-yank-pointer} variable points to a link in the 1187 The @code{kill-ring-yank-pointer} variable points to a link in the
1188kill ring list, whose @sc{car} is the text to yank next. We say it 1188kill ring list, whose @sc{car} is the text to yank next. We say it
1189identifies the ``front'' of the ring. Moving 1189identifies the front of the ring. Moving
1190@code{kill-ring-yank-pointer} to a different link is called 1190@code{kill-ring-yank-pointer} to a different link is called
1191@dfn{rotating the kill ring}. We call the kill ring a ``ring'' because 1191@dfn{rotating the kill ring}. We call the kill ring a ``ring'' because
1192the functions that move the yank pointer wrap around from the end of the 1192the functions that move the yank pointer wrap around from the end of the
@@ -1238,7 +1238,7 @@ killed first.
1238 1238
1239@defvar kill-ring-yank-pointer 1239@defvar kill-ring-yank-pointer
1240This variable's value indicates which element of the kill ring is at the 1240This variable's value indicates which element of the kill ring is at the
1241``front'' of the ring for yanking. More precisely, the value is a tail 1241front of the ring for yanking. More precisely, the value is a tail
1242of the value of @code{kill-ring}, and its @sc{car} is the kill string 1242of the value of @code{kill-ring}, and its @sc{car} is the kill string
1243that @kbd{C-y} should yank. 1243that @kbd{C-y} should yank.
1244@end defvar 1244@end defvar
@@ -1423,7 +1423,7 @@ cannot specify any other buffer. This function returns @code{nil}.
1423 1423
1424 As editing continues, undo lists get longer and longer. To prevent 1424 As editing continues, undo lists get longer and longer. To prevent
1425them from using up all available memory space, garbage collection trims 1425them from using up all available memory space, garbage collection trims
1426them back to size limits you can set. (For this purpose, the ``size'' 1426them back to size limits you can set. (For this purpose, the size
1427of an undo list measures the cons cells that make up the list, plus the 1427of an undo list measures the cons cells that make up the list, plus the
1428strings of deleted text.) Three variables control the range of acceptable 1428strings of deleted text.) Three variables control the range of acceptable
1429sizes: @code{undo-limit}, @code{undo-strong-limit} and 1429sizes: @code{undo-limit}, @code{undo-strong-limit} and
@@ -1648,8 +1648,8 @@ Manual}.
1648 1648
1649@defvar use-hard-newlines 1649@defvar use-hard-newlines
1650If this variable is non-@code{nil}, the filling functions do not delete 1650If this variable is non-@code{nil}, the filling functions do not delete
1651newlines that have the @code{hard} text property. These ``hard 1651newlines that have the @code{hard} text property. These hard
1652newlines'' act as paragraph separators. @xref{Hard and Soft 1652newlines act as paragraph separators. @xref{Hard and Soft
1653Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}. 1653Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}.
1654@end defvar 1654@end defvar
1655 1655
@@ -1823,7 +1823,7 @@ Used only in one-line paragraphs, this regular expression acts as an
1823additional check of the validity of the one available candidate fill 1823additional check of the validity of the one available candidate fill
1824prefix: the candidate must match this regular expression, or match 1824prefix: the candidate must match this regular expression, or match
1825@code{comment-start-skip}. If it doesn't, @code{fill-context-prefix} 1825@code{comment-start-skip}. If it doesn't, @code{fill-context-prefix}
1826replaces the candidate with a string of spaces ``of the same width'' 1826replaces the candidate with a string of spaces of the same width
1827as it. 1827as it.
1828 1828
1829The default value of this variable is @w{@code{"\\`[ \t]*\\'"}}, which 1829The default value of this variable is @w{@code{"\\`[ \t]*\\'"}}, which
@@ -1836,7 +1836,7 @@ whitespace.
1836You can specify more complex ways of choosing a fill prefix 1836You can specify more complex ways of choosing a fill prefix
1837automatically by setting this variable to a function. The function is 1837automatically by setting this variable to a function. The function is
1838called with point after the left margin (if any) of a line, and it 1838called with point after the left margin (if any) of a line, and it
1839must preserve point. It should return either ``that line's'' fill 1839must preserve point. It should return either that line's fill
1840prefix or @code{nil}, meaning it has failed to determine a prefix. 1840prefix or @code{nil}, meaning it has failed to determine a prefix.
1841@end defopt 1841@end defopt
1842 1842
@@ -2382,7 +2382,7 @@ a different meaning and does not use this variable.
2382@deffn Command indent-rigidly start end count 2382@deffn Command indent-rigidly start end count
2383This function indents all lines starting between @var{start} 2383This function indents all lines starting between @var{start}
2384(inclusive) and @var{end} (exclusive) sideways by @var{count} columns. 2384(inclusive) and @var{end} (exclusive) sideways by @var{count} columns.
2385This ``preserves the shape'' of the affected region, moving it as a 2385This preserves the shape of the affected region, moving it as a
2386rigid unit. 2386rigid unit.
2387 2387
2388This is useful not only for indenting regions of unindented text, but 2388This is useful not only for indenting regions of unindented text, but
@@ -2481,10 +2481,10 @@ column, this command does nothing.
2481@end deffn 2481@end deffn
2482 2482
2483@node Indent Tabs 2483@node Indent Tabs
2484@subsection Adjustable ``Tab Stops'' 2484@subsection Adjustable Tab Stops
2485@cindex tabs stops for indentation 2485@cindex tabs stops for indentation
2486 2486
2487 This section explains the mechanism for user-specified ``tab stops'' 2487 This section explains the mechanism for user-specified tab stops
2488and the mechanisms that use and set them. The name ``tab stops'' is 2488and the mechanisms that use and set them. The name ``tab stops'' is
2489used because the feature is similar to that of the tab stops on a 2489used because the feature is similar to that of the tab stops on a
2490typewriter. The feature works by inserting an appropriate number of 2490typewriter. The feature works by inserting an appropriate number of
@@ -3165,7 +3165,7 @@ This property says whether the text is ready for display. If
3165@code{nil}, Emacs's redisplay routine calls the functions in 3165@code{nil}, Emacs's redisplay routine calls the functions in
3166@code{fontification-functions} (@pxref{Auto Faces}) to prepare this 3166@code{fontification-functions} (@pxref{Auto Faces}) to prepare this
3167part of the buffer before it is displayed. It is used internally by 3167part of the buffer before it is displayed. It is used internally by
3168the ``just in time'' font locking code. 3168the just-in-time font locking code.
3169 3169
3170@item display 3170@item display
3171This property activates various features that change the 3171This property activates various features that change the
@@ -3487,7 +3487,7 @@ are used for representing formatted text. @xref{Filling}, and
3487 3487
3488@table @code 3488@table @code
3489@item hard 3489@item hard
3490If a newline character has this property, it is a ``hard'' newline. 3490If a newline character has this property, it is a hard newline.
3491The fill commands do not alter hard newlines and do not move words 3491The fill commands do not alter hard newlines and do not move words
3492across them. However, this property takes effect only if the 3492across them. However, this property takes effect only if the
3493@code{use-hard-newlines} minor mode is enabled. @xref{Hard and Soft 3493@code{use-hard-newlines} minor mode is enabled. @xref{Hard and Soft
@@ -3623,8 +3623,8 @@ once for the same part of the buffer, you can use the variable
3623@defvar buffer-access-fontified-property 3623@defvar buffer-access-fontified-property
3624If this variable's value is non-@code{nil}, it is a symbol which is used 3624If this variable's value is non-@code{nil}, it is a symbol which is used
3625as a text property name. A non-@code{nil} value for that text property 3625as a text property name. A non-@code{nil} value for that text property
3626means, ``the other text properties for this character have already been 3626means the other text properties for this character have already been
3627computed''. 3627computed.
3628 3628
3629If all the characters in the range specified for @code{buffer-substring} 3629If all the characters in the range specified for @code{buffer-substring}
3630have a non-@code{nil} value for this property, @code{buffer-substring} 3630have a non-@code{nil} value for this property, @code{buffer-substring}
@@ -3742,10 +3742,10 @@ controlled by the user option @code{mouse-1-click-follows-link}.
3742bind the @code{follow-link} event to a keymap (which can be a major 3742bind the @code{follow-link} event to a keymap (which can be a major
3743mode keymap or a local keymap specified via the @code{keymap} text 3743mode keymap or a local keymap specified via the @code{keymap} text
3744property). The value of the @code{follow-link} property, or the 3744property). The value of the @code{follow-link} property, or the
3745binding for the @code{follow-link} event, acts as a ``condition'' for 3745binding for the @code{follow-link} event, acts as a condition for
3746the link action. This condition tells Emacs two things: the 3746the link action. This condition tells Emacs two things: the
3747circumstances under which a @kbd{Mouse-1} click should be regarded as 3747circumstances under which a @kbd{Mouse-1} click should be regarded as
3748occurring ``inside'' the link, and how to compute an ``action code'' 3748occurring inside the link, and how to compute an action code
3749that says what to translate the @kbd{Mouse-1} click into. The link 3749that says what to translate the @kbd{Mouse-1} click into. The link
3750action condition can be one of the following: 3750action condition can be one of the following:
3751 3751
@@ -3911,7 +3911,7 @@ This function deletes the text of the field specified by @var{pos}.
3911@end defun 3911@end defun
3912 3912
3913@defun constrain-to-field new-pos old-pos &optional escape-from-edge only-in-line inhibit-capture-property 3913@defun constrain-to-field new-pos old-pos &optional escape-from-edge only-in-line inhibit-capture-property
3914This function ``constrains'' @var{new-pos} to the field that 3914This function constrains @var{new-pos} to the field that
3915@var{old-pos} belongs to---in other words, it returns the position 3915@var{old-pos} belongs to---in other words, it returns the position
3916closest to @var{new-pos} that is in the same field as @var{old-pos}. 3916closest to @var{new-pos} that is in the same field as @var{old-pos}.
3917 3917
@@ -3929,7 +3929,7 @@ after @var{old-pos}.) If @var{escape-from-edge} is non-@code{nil},
3929@var{new-pos} can be anywhere in the two adjacent fields. 3929@var{new-pos} can be anywhere in the two adjacent fields.
3930Additionally, if two fields are separated by another field with the 3930Additionally, if two fields are separated by another field with the
3931special value @code{boundary}, then any point within this special 3931special value @code{boundary}, then any point within this special
3932field is also considered to be ``on the boundary''. 3932field is also considered to be on the boundary.
3933 3933
3934Commands like @kbd{C-a} with no argument, that normally move backward 3934Commands like @kbd{C-a} with no argument, that normally move backward
3935to a specific kind of location and stay there once there, probably 3935to a specific kind of location and stay there once there, probably
@@ -3957,7 +3957,7 @@ You can cause @code{constrain-to-field} to ignore all field boundaries
3957@cindex intervals 3957@cindex intervals
3958 3958
3959 Some editors that support adding attributes to text in the buffer do 3959 Some editors that support adding attributes to text in the buffer do
3960so by letting the user specify ``intervals'' within the text, and adding 3960so by letting the user specify intervals within the text, and adding
3961the properties to the intervals. Those editors permit the user or the 3961the properties to the intervals. Those editors permit the user or the
3962programmer to determine where individual intervals start and end. We 3962programmer to determine where individual intervals start and end. We
3963deliberately provided a different sort of interface in Emacs Lisp to 3963deliberately provided a different sort of interface in Emacs Lisp to
@@ -3975,7 +3975,7 @@ Then if you yank back the killed text, you get two intervals with the
3975same properties. Thus, editing does not preserve the distinction 3975same properties. Thus, editing does not preserve the distinction
3976between one interval and two. 3976between one interval and two.
3977 3977
3978 Suppose we ``fix'' this problem by coalescing the two intervals when 3978 Suppose we attempt to fix this problem by coalescing the two intervals when
3979the text is inserted. That works fine if the buffer originally was a 3979the text is inserted. That works fine if the buffer originally was a
3980single interval. But suppose instead that we have two adjacent 3980single interval. But suppose instead that we have two adjacent
3981intervals with the same properties, and we kill the text of one interval 3981intervals with the same properties, and we kill the text of one interval
@@ -4277,7 +4277,7 @@ The decoding functions ignore newline characters in the encoded text.
4277@cindex cryptographic hash 4277@cindex cryptographic hash
4278 4278
4279 Emacs has built-in support for computing @dfn{cryptographic hashes}. 4279 Emacs has built-in support for computing @dfn{cryptographic hashes}.
4280A cryptographic hash, or @dfn{checksum}, is a digital ``fingerprint'' 4280A cryptographic hash, or @dfn{checksum}, is a digital fingerprint
4281of a piece of data (e.g., a block of text) which can be used to check 4281of a piece of data (e.g., a block of text) which can be used to check
4282that you have an unaltered copy of that data. 4282that you have an unaltered copy of that data.
4283 4283
@@ -4286,7 +4286,7 @@ that you have an unaltered copy of that data.
4286SHA-1, SHA-2, SHA-224, SHA-256, SHA-384 and SHA-512. MD5 is the 4286SHA-1, SHA-2, SHA-224, SHA-256, SHA-384 and SHA-512. MD5 is the
4287oldest of these algorithms, and is commonly used in @dfn{message 4287oldest of these algorithms, and is commonly used in @dfn{message
4288digests} to check the integrity of messages transmitted over a 4288digests} to check the integrity of messages transmitted over a
4289network. MD5 is not ``collision resistant'' (i.e., it is possible to 4289network. MD5 is not collision resistant (i.e., it is possible to
4290deliberately design different pieces of data which have the same MD5 4290deliberately design different pieces of data which have the same MD5
4291hash), so you should not used it for anything security-related. A 4291hash), so you should not used it for anything security-related. A
4292similar theoretical weakness also exists in SHA-1. Therefore, for 4292similar theoretical weakness also exists in SHA-1. Therefore, for
@@ -4347,7 +4347,7 @@ are available to parse HTML or XML text into Lisp object trees.
4347@defun libxml-parse-html-region start end &optional base-url discard-comments 4347@defun libxml-parse-html-region start end &optional base-url discard-comments
4348This function parses the text between @var{start} and @var{end} as 4348This function parses the text between @var{start} and @var{end} as
4349HTML, and returns a list representing the HTML @dfn{parse tree}. It 4349HTML, and returns a list representing the HTML @dfn{parse tree}. It
4350attempts to handle ``real world'' HTML by robustly coping with syntax 4350attempts to handle real-world HTML by robustly coping with syntax
4351mistakes. 4351mistakes.
4352 4352
4353The optional argument @var{base-url}, if non-@code{nil}, should be a 4353The optional argument @var{base-url}, if non-@code{nil}, should be a
@@ -4559,7 +4559,7 @@ lower-level functions that @code{atomic-change-group} uses.
4559 4559
4560@defun prepare-change-group &optional buffer 4560@defun prepare-change-group &optional buffer
4561This function sets up a change group for buffer @var{buffer}, which 4561This function sets up a change group for buffer @var{buffer}, which
4562defaults to the current buffer. It returns a ``handle'' that 4562defaults to the current buffer. It returns a handle that
4563represents the change group. You must use this handle to activate the 4563represents the change group. You must use this handle to activate the
4564change group and subsequently to finish it. 4564change group and subsequently to finish it.
4565@end defun 4565@end defun
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index 3bde0a877ab..aa78c735c3f 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -398,7 +398,7 @@ Enter the answer (default 42):
398 398
399@item 399@item
400In @code{interactive}, if you use a Lisp expression to produce a list 400In @code{interactive}, if you use a Lisp expression to produce a list
401of arguments, don't try to provide the ``correct'' default values for 401of arguments, don't try to provide the correct default values for
402region or position arguments. Instead, provide @code{nil} for those 402region or position arguments. Instead, provide @code{nil} for those
403arguments if they were not specified, and have the function body 403arguments if they were not specified, and have the function body
404compute the default value when the argument is @code{nil}. For 404compute the default value when the argument is @code{nil}. For
@@ -772,7 +772,7 @@ is indicative and has a proper subject.
772@item 772@item
773The documentation string for a function that is a yes-or-no predicate 773The documentation string for a function that is a yes-or-no predicate
774should start with words such as ``Return t if'', to indicate 774should start with words such as ``Return t if'', to indicate
775explicitly what constitutes ``truth''. The word ``return'' avoids 775explicitly what constitutes truth. The word ``return'' avoids
776starting the sentence with lower-case ``t'', which could be somewhat 776starting the sentence with lower-case ``t'', which could be somewhat
777distracting. 777distracting.
778 778
@@ -883,7 +883,7 @@ strings, though.
883Comments that start with three semicolons, @samp{;;;}, should start at 883Comments that start with three semicolons, @samp{;;;}, should start at
884the left margin. We use them 884the left margin. We use them
885for comments which should be considered a 885for comments which should be considered a
886``heading'' by Outline minor mode. By default, comments starting with 886heading by Outline minor mode. By default, comments starting with
887at least three semicolons (followed by a single space and a 887at least three semicolons (followed by a single space and a
888non-whitespace character) are considered headings, comments starting 888non-whitespace character) are considered headings, comments starting
889with two or fewer are not. Historically, triple-semicolon comments have 889with two or fewer are not. Historically, triple-semicolon comments have
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 369e8ddfc30..76dc8e8a81e 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -25,7 +25,7 @@ representing the variable.
25 25
26@menu 26@menu
27* Global Variables:: Variable values that exist permanently, everywhere. 27* Global Variables:: Variable values that exist permanently, everywhere.
28* Constant Variables:: Certain ``variables'' have values that never change. 28* Constant Variables:: Variables that never change.
29* Local Variables:: Variable values that exist only temporarily. 29* Local Variables:: Variable values that exist only temporarily.
30* Void Variables:: Symbols that lack values. 30* Void Variables:: Symbols that lack values.
31* Defining Variables:: A definition says a symbol is used as a variable. 31* Defining Variables:: A definition says a symbol is used as a variable.
@@ -131,7 +131,7 @@ starts with @samp{:}, interned in the standard obarray, and returns
131@code{nil} otherwise. 131@code{nil} otherwise.
132@end defun 132@end defun
133 133
134These constants are fundamentally different from the ``constants'' 134These constants are fundamentally different from the constants
135defined using the @code{defconst} special form (@pxref{Defining 135defined using the @code{defconst} special form (@pxref{Defining
136Variables}). A @code{defconst} form serves to inform human readers 136Variables}). A @code{defconst} form serves to inform human readers
137that you do not intend to change the value of a variable, but Emacs 137that you do not intend to change the value of a variable, but Emacs
@@ -178,7 +178,7 @@ It determines the value returned by evaluating the variable symbol,
178and it is the binding acted on by @code{setq}. 178and it is the binding acted on by @code{setq}.
179 179
180 For most purposes, you can think of the current binding as the 180 For most purposes, you can think of the current binding as the
181``innermost'' local binding, or the global binding if there is no 181innermost local binding, or the global binding if there is no
182local binding. To be more precise, a rule called the @dfn{scoping 182local binding. To be more precise, a rule called the @dfn{scoping
183rule} determines where in a program a local binding takes effect. The 183rule} determines where in a program a local binding takes effect. The
184default scoping rule in Emacs Lisp is called @dfn{dynamic scoping}, 184default scoping rule in Emacs Lisp is called @dfn{dynamic scoping},
@@ -263,7 +263,7 @@ Macro calls (@pxref{Macros}).
263Variables}); a few variables have terminal-local bindings 263Variables}); a few variables have terminal-local bindings
264(@pxref{Multiple Terminals}). These kinds of bindings work somewhat 264(@pxref{Multiple Terminals}). These kinds of bindings work somewhat
265like ordinary local bindings, but they are localized depending on 265like ordinary local bindings, but they are localized depending on
266``where'' you are in Emacs. 266where you are in Emacs.
267 267
268@defopt max-specpdl-size 268@defopt max-specpdl-size
269@anchor{Definition of max-specpdl-size} 269@anchor{Definition of max-specpdl-size}
@@ -287,7 +287,7 @@ has room to execute.
287@end defopt 287@end defopt
288 288
289@node Void Variables 289@node Void Variables
290@section When a Variable is ``Void'' 290@section When a Variable is Void
291@cindex @code{void-variable} error 291@cindex @code{void-variable} error
292@cindex void variable 292@cindex void variable
293 293
@@ -545,8 +545,7 @@ The value is a list of forms (expressions).
545 545
546@item @dots{}-predicate 546@item @dots{}-predicate
547The value is a predicate---a function of one argument that returns 547The value is a predicate---a function of one argument that returns
548non-@code{nil} for ``good'' arguments and @code{nil} for ``bad'' 548non-@code{nil} for success and @code{nil} for failure.
549arguments.
550 549
551@item @dots{}-flag 550@item @dots{}-flag
552The value is significant only as to whether it is @code{nil} or not. 551The value is significant only as to whether it is @code{nil} or not.
@@ -564,7 +563,7 @@ The value specifies options for a command.
564@end table 563@end table
565 564
566 When you define a variable, always consider whether you should mark 565 When you define a variable, always consider whether you should mark
567it as ``safe'' or ``risky''; see @ref{File Local Variables}. 566it as safe or risky; see @ref{File Local Variables}.
568 567
569 When defining and initializing a variable that holds a complicated 568 When defining and initializing a variable that holds a complicated
570value (such as a keymap with bindings in it), it's best to put the 569value (such as a keymap with bindings in it), it's best to put the
@@ -831,7 +830,7 @@ following example:
831(defvar x -99) ; @r{@code{x} receives an initial value of @minus{}99.} 830(defvar x -99) ; @r{@code{x} receives an initial value of @minus{}99.}
832 831
833(defun getx () 832(defun getx ()
834 x) ; @r{@code{x} is used ``free'' in this function.} 833 x) ; @r{@code{x} is used free in this function.}
835 834
836(let ((x 1)) ; @r{@code{x} is dynamically bound.} 835(let ((x 1)) ; @r{@code{x} is dynamically bound.}
837 (getx)) 836 (getx))
@@ -846,7 +845,7 @@ following example:
846@end example 845@end example
847 846
848@noindent 847@noindent
849The function @code{getx} refers to @code{x}. This is a ``free'' 848The function @code{getx} refers to @code{x}. This is a @dfn{free}
850reference, in the sense that there is no binding for @code{x} within 849reference, in the sense that there is no binding for @code{x} within
851that @code{defun} construct itself. When we call @code{getx} from 850that @code{defun} construct itself. When we call @code{getx} from
852within a @code{let} form in which @code{x} is (dynamically) bound, it 851within a @code{let} form in which @code{x} is (dynamically) bound, it
@@ -957,7 +956,7 @@ construct. Here is an example
957 @result{} 4 956 @result{} 4
958 957
959(defun getx () 958(defun getx ()
960 x) ; @r{@code{x} is used ``free'' in this function.} 959 x) ; @r{@code{x} is used free in this function.}
961 960
962(let ((x 1)) ; @r{@code{x} is lexically bound.} 961(let ((x 1)) ; @r{@code{x} is lexically bound.}
963 (getx)) 962 (getx))
@@ -992,7 +991,7 @@ environments in this way; only specialized programs like debuggers.)
992@cindex closures, example of using 991@cindex closures, example of using
993 Lexical bindings have indefinite extent. Even after a binding 992 Lexical bindings have indefinite extent. Even after a binding
994construct has finished executing, its lexical environment can be 993construct has finished executing, its lexical environment can be
995``kept around'' in Lisp objects called @dfn{closures}. A closure is 994kept around in Lisp objects called @dfn{closures}. A closure is
996created when you define a named or anonymous function with lexical 995created when you define a named or anonymous function with lexical
997binding enabled. @xref{Closures}, for details. 996binding enabled. @xref{Closures}, for details.
998 997
@@ -1094,10 +1093,10 @@ it is not inadvertently bound lexically.
1094 A simple way to find out which variables need a variable definition 1093 A simple way to find out which variables need a variable definition
1095is to byte-compile the source file. @xref{Byte Compilation}. If a 1094is to byte-compile the source file. @xref{Byte Compilation}. If a
1096non-special variable is used outside of a @code{let} form, the 1095non-special variable is used outside of a @code{let} form, the
1097byte-compiler will warn about reference or assignment to a ``free 1096byte-compiler will warn about reference or assignment to a free
1098variable''. If a non-special variable is bound but not used within a 1097variable. If a non-special variable is bound but not used within a
1099@code{let} form, the byte-compiler will warn about an ``unused lexical 1098@code{let} form, the byte-compiler will warn about an unused lexical
1100variable''. The byte-compiler will also issue a warning if you use a 1099variable. The byte-compiler will also issue a warning if you use a
1101special variable as a function argument. 1100special variable as a function argument.
1102 1101
1103 (To silence byte-compiler warnings about unused variables, just use 1102 (To silence byte-compiler warnings about unused variables, just use
@@ -1406,7 +1405,7 @@ buffer-local variables interactively.
1406@cindex local variables, killed by major mode 1405@cindex local variables, killed by major mode
1407@defun kill-all-local-variables 1406@defun kill-all-local-variables
1408This function eliminates all the buffer-local variable bindings of the 1407This function eliminates all the buffer-local variable bindings of the
1409current buffer except for variables marked as ``permanent'' and local 1408current buffer except for variables marked as permanent and local
1410hook functions that have a non-@code{nil} @code{permanent-local-hook} 1409hook functions that have a non-@code{nil} @code{permanent-local-hook}
1411property (@pxref{Setting Hooks}). As a result, the buffer will see 1410property (@pxref{Setting Hooks}). As a result, the buffer will see
1412the default values of most variables. 1411the default values of most variables.
@@ -1723,7 +1722,7 @@ values by files. Any value specified for one of these variables is
1723completely ignored. 1722completely ignored.
1724@end defvar 1723@end defvar
1725 1724
1726 The @samp{Eval:} ``variable'' is also a potential loophole, so Emacs 1725 The @samp{Eval:} variable is also a potential loophole, so Emacs
1727normally asks for confirmation before handling it. 1726normally asks for confirmation before handling it.
1728 1727
1729@defopt enable-local-eval 1728@defopt enable-local-eval
@@ -1736,7 +1735,7 @@ the user what to do for each file. The default value is @code{maybe}.
1736 1735
1737@defopt safe-local-eval-forms 1736@defopt safe-local-eval-forms
1738This variable holds a list of expressions that are safe to 1737This variable holds a list of expressions that are safe to
1739evaluate when found in the @samp{Eval:} ``variable'' in a file 1738evaluate when found in the @samp{Eval:} variable in a file
1740local variables list. 1739local variables list.
1741@end defopt 1740@end defopt
1742 1741
@@ -1997,7 +1996,7 @@ a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements
1997of arrays, properties of symbols, and many other locations are also 1996of arrays, properties of symbols, and many other locations are also
1998places where Lisp values are stored. 1997places where Lisp values are stored.
1999 1998
2000Generalized variables are analogous to ``lvalues'' in the C 1999Generalized variables are analogous to lvalues in the C
2001language, where @samp{x = a[i]} gets an element from an array 2000language, where @samp{x = a[i]} gets an element from an array
2002and @samp{a[i] = x} stores an element using the same notation. 2001and @samp{a[i] = x} stores an element using the same notation.
2003Just as certain forms like @code{a[i]} can be lvalues in C, there 2002Just as certain forms like @code{a[i]} can be lvalues in C, there
@@ -2170,7 +2169,7 @@ of Common Lisp. Consult the source file @file{gv.el} for more details.
2170@cindex CL note---no @code{setf} functions 2169@cindex CL note---no @code{setf} functions
2171@quotation 2170@quotation
2172@b{Common Lisp note:} Common Lisp defines another way to specify the 2171@b{Common Lisp note:} Common Lisp defines another way to specify the
2173@code{setf} behavior of a function, namely ``@code{setf} functions'', 2172@code{setf} behavior of a function, namely @code{setf} functions,
2174whose names are lists @code{(setf @var{name})} rather than symbols. 2173whose names are lists @code{(setf @var{name})} rather than symbols.
2175For example, @code{(defun (setf foo) @dots{})} defines the function 2174For example, @code{(defun (setf foo) @dots{})} defines the function
2176that is used when @code{setf} is applied to @code{foo}. Emacs does 2175that is used when @code{setf} is applied to @code{foo}. Emacs does
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 465693854eb..3479e180221 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -430,7 +430,7 @@ Format}); and the bottom divider (@pxref{Window Dividers}).
430width of a window. The return value of many of these functions can be 430width of a window. The return value of many of these functions can be
431specified either in units of pixels or in units of lines and columns. 431specified either in units of pixels or in units of lines and columns.
432On a graphical display, the latter actually correspond to the height and 432On a graphical display, the latter actually correspond to the height and
433width of a ``default'' character specified by the frame's default font 433width of a default character specified by the frame's default font
434as returned by @code{frame-char-height} and @code{frame-char-width} 434as returned by @code{frame-char-height} and @code{frame-char-width}
435(@pxref{Frame Font}). Thus, if a window is displaying text with a 435(@pxref{Frame Font}). Thus, if a window is displaying text with a
436different font or size, the reported line height and column width for 436different font or size, the reported line height and column width for
@@ -1050,7 +1050,7 @@ This section describes functions for creating a new window by
1050@defun split-window &optional window size side pixelwise 1050@defun split-window &optional window size side pixelwise
1051This function creates a new live window next to the window 1051This function creates a new live window next to the window
1052@var{window}. If @var{window} is omitted or @code{nil}, it defaults 1052@var{window}. If @var{window} is omitted or @code{nil}, it defaults
1053to the selected window. That window is ``split'', and reduced in 1053to the selected window. That window is split, and reduced in
1054size. The space is taken up by the new window, which is returned. 1054size. The space is taken up by the new window, which is returned.
1055 1055
1056The optional second argument @var{size} determines the sizes of 1056The optional second argument @var{size} determines the sizes of
@@ -1075,7 +1075,7 @@ check whether the emanating windows are large enough to encompass all
1075areas like a mode line or a scroll bar. The function 1075areas like a mode line or a scroll bar. The function
1076@code{window-min-size} (@pxref{Window Sizes}) can be used to determine 1076@code{window-min-size} (@pxref{Window Sizes}) can be used to determine
1077the minimum requirements of @var{window} in this regard. Since the new 1077the minimum requirements of @var{window} in this regard. Since the new
1078window usually ``inherits'' areas like the mode line or the scroll bar 1078window usually inherits areas like the mode line or the scroll bar
1079from @var{window}, that function is also a good guess for the minimum 1079from @var{window}, that function is also a good guess for the minimum
1080size of the new window. The caller should specify a smaller size only 1080size of the new window. The caller should specify a smaller size only
1081if it correspondingly removes an inherited area before the next 1081if it correspondingly removes an inherited area before the next
@@ -1661,7 +1661,7 @@ internal routines often temporarily select a window in order to simplify
1661coding. As a rule, such selections (including those made by the macros 1661coding. As a rule, such selections (including those made by the macros
1662@code{save-selected-window} and @code{with-selected-window} below) are 1662@code{save-selected-window} and @code{with-selected-window} below) are
1663not recorded thus avoiding to pollute @code{buffer-list-update-hook}. 1663not recorded thus avoiding to pollute @code{buffer-list-update-hook}.
1664Selections that ``really count'' are those causing a visible change in 1664Selections that really count are those causing a visible change in
1665the next redisplay of @var{window}'s frame and should be always 1665the next redisplay of @var{window}'s frame and should be always
1666recorded. This also means that to run a function each time a window 1666recorded. This also means that to run a function each time a window
1667gets selected, putting it on @code{buffer-list-update-hook} should be 1667gets selected, putting it on @code{buffer-list-update-hook} should be
@@ -1729,12 +1729,12 @@ nor the buffer list.
1729@cindex use time of window 1729@cindex use time of window
1730@cindex window order by time of last use 1730@cindex window order by time of last use
1731@defun window-use-time &optional window 1731@defun window-use-time &optional window
1732This functions returns the ``use time'' of window @var{window}. 1732This functions returns the use time of window @var{window}.
1733@var{window} must be a live window and defaults to the selected one. 1733@var{window} must be a live window and defaults to the selected one.
1734The @dfn{use time} of a window is not really a time value, but it does 1734The @dfn{use time} of a window is not really a time value, but it does
1735increase monotonically with each window selection, so the window with 1735increase monotonically with each window selection, so the window with
1736the lowest ``use time'' is the least recently selected one, and the 1736the lowest use time is the least recently selected one, and the
1737window with the highest ``use time'' is the most recently selected 1737window with the highest use time is the most recently selected
1738one. 1738one.
1739@end defun 1739@end defun
1740 1740
@@ -1765,7 +1765,7 @@ if omitted or @code{nil}, it defaults to the selected window.
1765The optional argument @var{minibuf} specifies whether minibuffer windows 1765The optional argument @var{minibuf} specifies whether minibuffer windows
1766should be included in the cyclic ordering. Normally, when @var{minibuf} 1766should be included in the cyclic ordering. Normally, when @var{minibuf}
1767is @code{nil}, a minibuffer window is included only if it is currently 1767is @code{nil}, a minibuffer window is included only if it is currently
1768``active''; this matches the behavior of @kbd{C-x o}. (Note that a 1768active; this matches the behavior of @kbd{C-x o}. (Note that a
1769minibuffer window is active as long as its minibuffer is in use; see 1769minibuffer window is active as long as its minibuffer is in use; see
1770@ref{Minibuffers}). 1770@ref{Minibuffers}).
1771 1771
@@ -1859,8 +1859,8 @@ criterion, without selecting it:
1859 1859
1860@cindex least recently used window 1860@cindex least recently used window
1861@defun get-lru-window &optional all-frames dedicated not-selected 1861@defun get-lru-window &optional all-frames dedicated not-selected
1862This function returns a live window which is heuristically the ``least 1862This function returns a live window which is heuristically the least
1863recently used'' window. The optional argument @var{all-frames} has 1863recently used. The optional argument @var{all-frames} has
1864the same meaning as in @code{next-window}. 1864the same meaning as in @code{next-window}.
1865 1865
1866If any full-width windows are present, only those windows are 1866If any full-width windows are present, only those windows are
@@ -1874,8 +1874,8 @@ function returns @code{nil} in that case.
1874 1874
1875@cindex most recently used window 1875@cindex most recently used window
1876@defun get-mru-window &optional all-frames dedicated not-selected 1876@defun get-mru-window &optional all-frames dedicated not-selected
1877This function is like @code{get-lru-window}, but it returns the ``most 1877This function is like @code{get-lru-window}, but it returns the most
1878recently used'' window instead. The meaning of the arguments is the 1878recently used window instead. The meaning of the arguments is the
1879same as described for @code{get-lru-window}. 1879same as described for @code{get-lru-window}.
1880@end defun 1880@end defun
1881 1881
@@ -2293,7 +2293,7 @@ corresponding display action to display the buffer.
2293 2293
2294@defopt display-buffer-base-action 2294@defopt display-buffer-base-action
2295The value of this option should be a display action. This option can 2295The value of this option should be a display action. This option can
2296be used to define a ``standard'' display action for calls to 2296be used to define a standard display action for calls to
2297@code{display-buffer}. 2297@code{display-buffer}.
2298@end defopt 2298@end defopt
2299 2299
@@ -2319,7 +2319,7 @@ to another buffer (@pxref{Dedicated Windows}). It also fails if
2319@end defun 2319@end defun
2320 2320
2321@defun display-buffer-reuse-window buffer alist 2321@defun display-buffer-reuse-window buffer alist
2322This function tries to ``display'' @var{buffer} by finding a window 2322This function tries to display @var{buffer} by finding a window
2323that is already displaying it. 2323that is already displaying it.
2324 2324
2325If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry, 2325If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry,
@@ -2365,7 +2365,7 @@ is added to the newly created frame's parameters.
2365@end defun 2365@end defun
2366 2366
2367@defun display-buffer-use-some-frame buffer alist 2367@defun display-buffer-use-some-frame buffer alist
2368This function tries to ``display'' @var{buffer} by trying to find a 2368This function tries to display @var{buffer} by trying to find a
2369frame that meets a predicate (by default any frame other than the 2369frame that meets a predicate (by default any frame other than the
2370current frame). 2370current frame).
2371 2371
@@ -2517,7 +2517,7 @@ buffer there. If all these steps fail, it will proceed using whatever
2517(provided *foo* was put by @code{display-buffer} there before) or a 2517(provided *foo* was put by @code{display-buffer} there before) or a
2518popped-up window as follows: If the window is part of a vertical 2518popped-up window as follows: If the window is part of a vertical
2519combination, it will set its height to ten lines. Note that if, instead 2519combination, it will set its height to ten lines. Note that if, instead
2520of the number ``10'', we specified the function 2520of the number 10, we specified the function
2521@code{fit-window-to-buffer}, @code{display-buffer} would come up with a 2521@code{fit-window-to-buffer}, @code{display-buffer} would come up with a
2522one-line window to fit the empty buffer. If the window is part of a 2522one-line window to fit the empty buffer. If the window is part of a
2523horizontal combination, it sets its width to 40 columns. Whether a new 2523horizontal combination, it sets its width to 40 columns. Whether a new
@@ -2558,7 +2558,7 @@ window below the selected window.
2558selected one is dedicated to its buffer, @code{display-buffer} will 2558selected one is dedicated to its buffer, @code{display-buffer} will
2559proceed as described in the previous example. Note, however, that when 2559proceed as described in the previous example. Note, however, that when
2560it tries to adjust the height of any reused or popped-up window, it will 2560it tries to adjust the height of any reused or popped-up window, it will
2561in any case try to set its number of lines to ``5'' since that value 2561in any case try to set its number of lines to 5 since that value
2562overrides the corresponding specification in the @var{action} argument 2562overrides the corresponding specification in the @var{action} argument
2563of @code{display-buffer}. 2563of @code{display-buffer}.
2564 2564
@@ -3025,7 +3025,7 @@ window's buffer) if that window were selected. The default for
3025 3025
3026When @var{window} is the selected window, the value returned is the 3026When @var{window} is the selected window, the value returned is the
3027value of point in that window's buffer. Strictly speaking, it would be 3027value of point in that window's buffer. Strictly speaking, it would be
3028more correct to return the ``top-level'' value of point, outside of any 3028more correct to return the top-level value of point, outside of any
3029@code{save-excursion} forms. But that value is hard to find. 3029@code{save-excursion} forms. But that value is hard to find.
3030@end defun 3030@end defun
3031 3031
@@ -3122,7 +3122,7 @@ screen. If this does place point off screen, the display routines move
3122point to the left margin on the middle line in the window. 3122point to the left margin on the middle line in the window.
3123 3123
3124For example, if point @w{is 1} and you set the start of the window 3124For example, if point @w{is 1} and you set the start of the window
3125@w{to 37}, the start of the next line, point will be ``above'' the top 3125@w{to 37}, the start of the next line, point will be above the top
3126of the window. The display routines will automatically move point if 3126of the window. The display routines will automatically move point if
3127it is still 1 when redisplay occurs. Here is an example: 3127it is still 1 when redisplay occurs. Here is an example:
3128 3128
@@ -3429,7 +3429,7 @@ only if point is already on that position do they signal an error.
3429@cindex centering point 3429@cindex centering point
3430This function scrolls the text in the selected window so that point is 3430This function scrolls the text in the selected window so that point is
3431displayed at a specified vertical position within the window. It does 3431displayed at a specified vertical position within the window. It does
3432not ``move point'' with respect to the text. 3432not move point with respect to the text.
3433 3433
3434If @var{count} is a non-negative number, that puts the line containing 3434If @var{count} is a non-negative number, that puts the line containing
3435point @var{count} lines down from the top of the window. If 3435point @var{count} lines down from the top of the window. If
@@ -3564,8 +3564,8 @@ times the normal character width. How many characters actually
3564disappear off to the left depends on their width, and could vary from 3564disappear off to the left depends on their width, and could vary from
3565line to line. 3565line to line.
3566 3566
3567 Because we read from side to side in the ``inner loop'', and from top 3567 Because we read from side to side in the inner loop, and from top
3568to bottom in the ``outer loop'', the effect of horizontal scrolling is 3568to bottom in the outer loop, the effect of horizontal scrolling is
3569not like that of textual or vertical scrolling. Textual scrolling 3569not like that of textual or vertical scrolling. Textual scrolling
3570involves selection of a portion of text to display, and vertical 3570involves selection of a portion of text to display, and vertical
3571scrolling moves the window contents contiguously; but horizontal 3571scrolling moves the window contents contiguously; but horizontal
@@ -3697,12 +3697,12 @@ Most of these functions report positions relative to an origin at the
3697native position of the window's frame (@pxref{Frame Geometry}). Some 3697native position of the window's frame (@pxref{Frame Geometry}). Some
3698functions report positions relative to the origin of the display of the 3698functions report positions relative to the origin of the display of the
3699window's frame. In any case, the origin has the coordinates (0, 0) and 3699window's frame. In any case, the origin has the coordinates (0, 0) and
3700X and Y coordinates increase ``rightward'' and ``downward'' 3700X and Y coordinates increase rightward and downward
3701respectively. 3701respectively.
3702 3702
3703 For the following functions, X and Y coordinates are reported in 3703 For the following functions, X and Y coordinates are reported in
3704integer character units, i.e., numbers of lines and columns 3704integer character units, i.e., numbers of lines and columns
3705respectively. On a graphical display, each ``line'' and ``column'' 3705respectively. On a graphical display, each line and column
3706corresponds to the height and width of a default character specified by 3706corresponds to the height and width of a default character specified by
3707the frame's default font (@pxref{Frame Font}). 3707the frame's default font (@pxref{Frame Font}).
3708 3708
@@ -3840,7 +3840,7 @@ argument because it always uses the frame that @var{window} is on.
3840 The following functions return window positions in pixels, rather 3840 The following functions return window positions in pixels, rather
3841than character units. Though mostly useful on graphical displays, 3841than character units. Though mostly useful on graphical displays,
3842they can also be called on text terminals, where the screen area of 3842they can also be called on text terminals, where the screen area of
3843each text character is taken to be ``one pixel''. 3843each text character is taken to be one pixel.
3844 3844
3845@defun window-pixel-edges &optional window 3845@defun window-pixel-edges &optional window
3846This function returns a list of pixel coordinates for the edges of 3846This function returns a list of pixel coordinates for the edges of
@@ -3903,7 +3903,7 @@ visible in some window:
3903@end group 3903@end group
3904@end example 3904@end example
3905 3905
3906On a graphical terminal this form ``warps'' the mouse cursor to the 3906On a graphical terminal this form warps the mouse cursor to the
3907upper left corner of the glyph at the selected window's point. A 3907upper left corner of the glyph at the selected window's point. A
3908position calculated this way can be also used to show a tooltip window 3908position calculated this way can be also used to show a tooltip window
3909there. 3909there.