aboutsummaryrefslogtreecommitdiffstats
path: root/lispref
diff options
context:
space:
mode:
authorKaroly Lorentey2006-07-29 09:59:12 +0000
committerKaroly Lorentey2006-07-29 09:59:12 +0000
commit251bc578cc636223d618d06cf2a2bb7d07db9cce (patch)
tree58e1c6b0a35bb4a77e6cb77876e4bc6a9d3f2ab2 /lispref
parent99715bbc447eb633e45ffa23b87284771ce3ac74 (diff)
parent0ed0527cb02180a50f6744086ce3a487740c73e4 (diff)
downloademacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.tar.gz
emacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-351 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-352 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-353 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-354 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-355 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-356 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-357 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-358 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-359 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-360 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-361 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-362 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-363 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-364 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-365 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-366 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-367 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-368 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-369 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-370 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-115 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-116 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-117 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-118 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-119 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-120 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-573
Diffstat (limited to 'lispref')
-rw-r--r--lispref/ChangeLog127
-rw-r--r--lispref/anti.texi27
-rw-r--r--lispref/buffers.texi2
-rw-r--r--lispref/commands.texi33
-rw-r--r--lispref/control.texi28
-rw-r--r--lispref/customize.texi4
-rw-r--r--lispref/display.texi16
-rw-r--r--lispref/doclicense.texi24
-rw-r--r--lispref/edebug.texi4
-rw-r--r--lispref/elisp.texi20
-rw-r--r--lispref/eval.texi4
-rw-r--r--lispref/files.texi6
-rw-r--r--lispref/frames.texi18
-rw-r--r--lispref/functions.texi8
-rw-r--r--lispref/gpl.texi6
-rw-r--r--lispref/hash.texi5
-rw-r--r--lispref/internals.texi2
-rw-r--r--lispref/intro.texi4
-rw-r--r--lispref/keymaps.texi2
-rw-r--r--lispref/lists.texi145
-rw-r--r--lispref/loading.texi6
-rw-r--r--lispref/maps.texi36
-rw-r--r--lispref/markers.texi4
-rw-r--r--lispref/minibuf.texi8
-rw-r--r--lispref/modes.texi17
-rw-r--r--lispref/numbers.texi9
-rw-r--r--lispref/objects.texi25
-rw-r--r--lispref/os.texi9
-rw-r--r--lispref/processes.texi13
-rw-r--r--lispref/sequences.texi4
-rw-r--r--lispref/streams.texi4
-rw-r--r--lispref/strings.texi17
-rw-r--r--lispref/symbols.texi2
-rw-r--r--lispref/syntax.texi6
-rw-r--r--lispref/text.texi55
-rw-r--r--lispref/tips.texi10
-rw-r--r--lispref/variables.texi115
-rw-r--r--lispref/vol1.texi8
-rw-r--r--lispref/vol2.texi8
-rw-r--r--lispref/windows.texi6
40 files changed, 526 insertions, 321 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 64a38096d64..09757fca10b 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,130 @@
12006-07-28 Kim F. Storm <storm@cua.dk>
2
3 * commands.texi (Reading One Event): Fix last change.
4
52006-07-26 Chong Yidong <cyd@stupidchicken.com>
6
7 * commands.texi (Reading One Event): Document SECONDS argument for
8 read-event, read-char, and read-char-exclusive.
9
102006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * modes.texi (Multiline Font Lock): Can't use jit-lock-defer-multiline
13 to ensure correct identification.
14
152006-07-24 Richard Stallman <rms@gnu.org>
16
17 * text.texi (Clickable Text): Clarify.
18
19 * sequences.texi (Vector Functions): Delete duplicate xref.
20
21 * objects.texi (Function Type): Clarify.
22
23 * modes.texi (Keymaps and Minor Modes): List punct chars for minor
24 modes.
25
26 * lists.texi (List Variables): New node.
27 Material moved from other nodes.
28
29 * variables.texi (Setting Variables): add-to-list and
30 add-to-ordered-list moved to List Variables node.
31
322006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
33
34 * text.texi (Links and Mouse-1):
35 For mouse-on-link-p, expand on arg POS.
36
372006-07-21 Kim F. Storm <storm@cua.dk>
38
39 * display.texi (Forcing Redisplay): Don't mention systems which
40 don't support sub-second timers for redisplay-preemption-period.
41
42 * os.texi (Terminal Output): Clarify text vs graphical terminal.
43
442006-07-21 Eli Zaretskii <eliz@gnu.org>
45
46 * frames.texi (Input Focus): Document that focus-follows-mouse has
47 no effect on MS-Windows.
48
492006-07-18 Richard Stallman <rms@gnu.org>
50
51 * display.texi (Forcing Redisplay): Cleanups in previous change.
52
53 * processes.texi (Low-Level Network): Make menu more convenient.
54
552006-07-18 Kim F. Storm <storm@cua.dk>
56
57 * display.texi (Forcing Redisplay): redisplay-preemption-period
58 only used on window systems. Add xref to Terminal Output.
59
60 * os.texi (Terminal Output): baud-rate only controls preemption on
61 non-window systems. Add xref to Forcing Redisplay.
62
63 * processes.texi (Low-Level Network): Rename node "Make Network"
64 to "Network Processes".
65
662006-07-18 Karl Berry <karl@gnu.org>
67
68 * variables.texi, functions.texi, customize.texi, loading.texi:
69 * edebug.texi, minibuf.texi: Fix page breaks through chapter 20.
70
712006-07-17 Chong Yidong <cyd@stupidchicken.com>
72
73 * commands.texi (Waiting): Document batch-mode sit-for behavior.
74
752006-07-17 Richard Stallman <rms@gnu.org>
76
77 * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus.
78 Put period and comma inside quotes.
79
80 * loading.texi, markers.texi: Use real doublequote inside menus.
81
82 * windows.texi: Put point and comma inside quotes.
83 (Textual Scrolling): Use @samp for error message.
84
85 * variables.texi, tips.texi, syntax.texi, symbols.texi:
86 * strings.texi, streams.texi, processes.texi, os.texi:
87 * objects.texi, numbers.texi, modes.texi, minibuf.texi:
88 * lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi:
89 * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi:
90 * display.texi, control.texi, commands.texi, buffers.texi, anti.texi:
91 Put point and comma inside quotes.
92
93 * control.texi (Processing of Errors): Add command-error-function.
94
95 * variables.texi (File Local Variables): Clarify that
96 file local variables make buffer-local bindings.
97
98 * modes.texi (Syntactic Font Lock): Give default for
99 font-lock-syntax-table.
100
1012006-07-17 Nick Roberts <nickrob@snap.net.nz>
102
103 * text.texi (Special Properties): Clean up previous change.
104
1052006-07-16 Karl Berry <karl@gnu.org>
106
107 * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi:
108 * control.texi: Fix bad page breaks through chapter 10 (control).
109
110 * anti.texi (Antinews): Reorder face-attribute fns to avoid
111 underfull hbox.
112
1132006-07-15 Nick Roberts <nickrob@snap.net.nz>
114
115 * text.texi (Special Properties): Describe fontified text property
116 in relation to a character (not text).
117
1182006-07-15 Kim F. Storm <storm@cua.dk>
119
120 * maps.texi (Standard Keymaps): Add xref for minibuffer maps.
121 Add apropos-mode-map, custom-mode-map, esc-map, global-map,
122 grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map.
123
124 * anti.texi (Antinews): Mention redisplay function.
125 The kbd macro existed, but was not documented, before 22.x.
126 Function pos-visible-in-window-p is not new in 22.x, just enhanced.
127
12006-07-14 Nick Roberts <nickrob@snap.net.nz> 1282006-07-14 Nick Roberts <nickrob@snap.net.nz>
2 129
3 * display.texi (Displaying Messages): Add anchor. 130 * display.texi (Displaying Messages): Add anchor.
diff --git a/lispref/anti.texi b/lispref/anti.texi
index 78152d7ab31..8636282a7c2 100644
--- a/lispref/anti.texi
+++ b/lispref/anti.texi
@@ -24,6 +24,12 @@ redisplay engine, which will be even simpler.)
24 24
25@itemize @minus 25@itemize @minus
26@item 26@item
27The function @code{redisplay} has been removed. To update the display
28without delay, call @code{(sit-for 0)}. Since it is generally
29considered wasteful to update the display if there are any pending
30input events, no replacement for @code{(redisplay t)} is provided.
31
32@item
27The function @code{force-window-update} has been removed. It 33The function @code{force-window-update} has been removed. It
28shouldn't be needed, since changes in window contents are detected 34shouldn't be needed, since changes in window contents are detected
29automatically. In case they aren't, call @code{redraw-display} to 35automatically. In case they aren't, call @code{redraw-display} to
@@ -80,8 +86,8 @@ removed. In @code{defface} specifications, the @code{supports}
80predicate is no longer supported. 86predicate is no longer supported.
81 87
82@item 88@item
83@code{face-attribute-relative-p} and @code{merge-face-attribute} have 89The functions @code{merge-face-attribute} and
84been removed. 90@code{face-attribute-relative-p} have been removed.
85 91
86@item 92@item
87The priority of faces in a list supplied by the @code{:inherit} face 93The priority of faces in a list supplied by the @code{:inherit} face
@@ -91,7 +97,7 @@ in a while, to keep Emacs Lisp programmers on their toes.
91@item 97@item
92The @code{min-colors} face attribute, used for tailoring faces to 98The @code{min-colors} face attribute, used for tailoring faces to
93limited-color displays, does not exist. If in doubt, use colors like 99limited-color displays, does not exist. If in doubt, use colors like
94``white'' and ``black'', which ought to be defined everywhere. 100``white'' and ``black,'' which ought to be defined everywhere.
95 101
96@item 102@item
97The @code{tty-color-mode} frame parameter does not exist. You should 103The @code{tty-color-mode} frame parameter does not exist. You should
@@ -126,9 +132,9 @@ and key sequences:
126 132
127@itemize @minus 133@itemize @minus
128@item 134@item
129The @code{kbd} macro has been removed. It isn't that difficult to 135The @code{kbd} macro is now obsolete and is no longer documented.
130write key sequences using the string and vector representations, and 136It isn't that difficult to write key sequences using the string and
131we want to encourage users to learn. 137vector representations, and we want to encourage users to learn.
132 138
133@item 139@item
134Emacs no longer supports key remapping. You can do pretty much the 140Emacs no longer supports key remapping. You can do pretty much the
@@ -164,7 +170,7 @@ the sentinel.
164 170
165@item 171@item
166Many programming shortcuts have been deleted, to provide you with the 172Many programming shortcuts have been deleted, to provide you with the
167enjoyment of ``rolling your own''. The macros @code{while-no-input}, 173enjoyment of ``rolling your own.'' The macros @code{while-no-input},
168@code{with-local-quit}, and @code{with-selected-window}, along with 174@code{with-local-quit}, and @code{with-selected-window}, along with
169@code{dynamic-completion-table} and @code{lazy-completion-table} no 175@code{dynamic-completion-table} and @code{lazy-completion-table} no
170longer exist. Also, there are no built-in progress reporters; 176longer exist. Also, there are no built-in progress reporters;
@@ -304,7 +310,7 @@ In @code{replace-match}, the replacement text now inherits properties
304from the surrounding text. 310from the surrounding text.
305 311
306@item 312@item
307@code{mode-line-format} no longer supports the @code{:propertize}, 313The variable @code{mode-line-format} no longer supports the @code{:propertize},
308@code{%i}, and @code{%I} constructs. The function 314@code{%i}, and @code{%I} constructs. The function
309@code{format-mode-line} has been removed. 315@code{format-mode-line} has been removed.
310 316
@@ -319,8 +325,9 @@ The functions @code{window-pixel-edges} and
319think in terms of lines and columns, not pixel coordinates. (Sometime 325think in terms of lines and columns, not pixel coordinates. (Sometime
320in the distant past, we will do away with graphical terminals 326in the distant past, we will do away with graphical terminals
321entirely, in favor of text terminals.) For similar reasons, the 327entirely, in favor of text terminals.) For similar reasons, the
322functions @code{posn-at-point}, @code{posn-at-x-y}, and 328functions @code{posn-at-point} and @code{posn-at-x-y} have been removed, and
323@code{pos-visible-in-window-p} have been removed. 329@code{pos-visible-in-window-p} no longer worries about partially
330visible rows.
324 331
325@item 332@item
326The macro @code{save-selected-window} only saves the selected window 333The macro @code{save-selected-window} only saves the selected window
diff --git a/lispref/buffers.texi b/lispref/buffers.texi
index 55e41e6b3e5..46a886eaea6 100644
--- a/lispref/buffers.texi
+++ b/lispref/buffers.texi
@@ -484,7 +484,7 @@ correspond to the new file name, unless the new name is already in
484use. 484use.
485 485
486If @var{filename} is @code{nil} or the empty string, that stands for 486If @var{filename} is @code{nil} or the empty string, that stands for
487``no visited file''. In this case, @code{set-visited-file-name} marks 487``no visited file.'' In this case, @code{set-visited-file-name} marks
488the buffer as having no visited file, without changing the buffer's 488the buffer as having no visited file, without changing the buffer's
489modified flag. 489modified flag.
490 490
diff --git a/lispref/commands.texi b/lispref/commands.texi
index 2aca1b19253..10cd97400f8 100644
--- a/lispref/commands.texi
+++ b/lispref/commands.texi
@@ -2165,7 +2165,7 @@ same symbol that would normally represent that combination of mouse
2165button and modifier keys. The information about the window part is kept 2165button and modifier keys. The information about the window part is kept
2166elsewhere in the event---in the coordinates. But 2166elsewhere in the event---in the coordinates. But
2167@code{read-key-sequence} translates this information into imaginary 2167@code{read-key-sequence} translates this information into imaginary
2168``prefix keys'', all of which are symbols: @code{header-line}, 2168``prefix keys,'' all of which are symbols: @code{header-line},
2169@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, 2169@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
2170@code{vertical-line}, and @code{vertical-scroll-bar}. You can define 2170@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
2171meanings for mouse clicks in special window parts by defining key 2171meanings for mouse clicks in special window parts by defining key
@@ -2199,7 +2199,7 @@ single event.
2199 2199
2200None of the three functions below suppresses quitting. 2200None of the three functions below suppresses quitting.
2201 2201
2202@defun read-event &optional prompt inherit-input-method 2202@defun read-event &optional prompt inherit-input-method seconds
2203This function reads and returns the next event of command input, waiting 2203This function reads and returns the next event of command input, waiting
2204if necessary until an event is available. Events can come directly from 2204if necessary until an event is available. Events can come directly from
2205the user or from a keyboard macro. 2205the user or from a keyboard macro.
@@ -2220,6 +2220,15 @@ If @code{cursor-in-echo-area} is non-@code{nil}, then @code{read-event}
2220moves the cursor temporarily to the echo area, to the end of any message 2220moves the cursor temporarily to the echo area, to the end of any message
2221displayed there. Otherwise @code{read-event} does not move the cursor. 2221displayed there. Otherwise @code{read-event} does not move the cursor.
2222 2222
2223If @var{seconds} is non-@code{nil}, it should be a number specifying
2224the maximum time to wait for input, in seconds. If no input arrives
2225within that time, @code{read-event} stops waiting and returns
2226@code{nil}. A floating-point value for @var{seconds} means to wait
2227for a fractional number of seconds. Some systems support only a whole
2228number of seconds; on these systems, @var{seconds} is rounded down.
2229If @var{seconds} is @code{nil}, @code{read-event} waits as long as
2230necessary for input to arrive.
2231
2223If @code{read-event} gets an event that is defined as a help character, 2232If @code{read-event} gets an event that is defined as a help character,
2224then in some cases @code{read-event} processes the event directly without 2233then in some cases @code{read-event} processes the event directly without
2225returning. @xref{Help Functions}. Certain other events, called 2234returning. @xref{Help Functions}. Certain other events, called
@@ -2237,7 +2246,7 @@ right-arrow function key:
2237@end example 2246@end example
2238@end defun 2247@end defun
2239 2248
2240@defun read-char &optional prompt inherit-input-method 2249@defun read-char &optional prompt inherit-input-method seconds
2241This function reads and returns a character of command input. If the 2250This function reads and returns a character of command input. If the
2242user generates an event which is not a character (i.e. a mouse click or 2251user generates an event which is not a character (i.e. a mouse click or
2243function key event), @code{read-char} signals an error. The arguments 2252function key event), @code{read-char} signals an error. The arguments
@@ -2269,7 +2278,7 @@ the echo area.
2269@end example 2278@end example
2270@end defun 2279@end defun
2271 2280
2272@defun read-char-exclusive &optional prompt inherit-input-method 2281@defun read-char-exclusive &optional prompt inherit-input-method seconds
2273This function reads and returns a character of command input. If the 2282This function reads and returns a character of command input. If the
2274user generates an event which is not a character, 2283user generates an event which is not a character,
2275@code{read-char-exclusive} ignores it and reads another event, until it 2284@code{read-char-exclusive} ignores it and reads another event, until it
@@ -2410,7 +2419,7 @@ individual events, which you can put in @code{unread-command-events}.
2410 2419
2411@defvar unread-command-char 2420@defvar unread-command-char
2412This variable holds a character to be read as command input. 2421This variable holds a character to be read as command input.
2413A value of -1 means ``empty''. 2422A value of -1 means ``empty.''
2414 2423
2415This variable is mostly obsolete now that you can use 2424This variable is mostly obsolete now that you can use
2416@code{unread-command-events} instead; it exists only to support programs 2425@code{unread-command-events} instead; it exists only to support programs
@@ -2534,9 +2543,10 @@ screen.
2534@defun sit-for seconds &optional nodisp 2543@defun sit-for seconds &optional nodisp
2535This function performs redisplay (provided there is no pending input 2544This function performs redisplay (provided there is no pending input
2536from the user), then waits @var{seconds} seconds, or until input is 2545from the user), then waits @var{seconds} seconds, or until input is
2537available. The value is @code{t} if @code{sit-for} waited the full 2546available. The usual purpose of @code{sit-for} is to give the user
2538time with no input arriving (see @code{input-pending-p} in @ref{Event 2547time to read text that you display. The value is @code{t} if
2539Input Misc}). Otherwise, the value is @code{nil}. 2548@code{sit-for} waited the full time with no input arriving
2549(@pxref{Event Input Misc}). Otherwise, the value is @code{nil}.
2540 2550
2541The argument @var{seconds} need not be an integer. If it is a floating 2551The argument @var{seconds} need not be an integer. If it is a floating
2542point number, @code{sit-for} waits for a fractional number of seconds. 2552point number, @code{sit-for} waits for a fractional number of seconds.
@@ -2551,8 +2561,9 @@ If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not
2551redisplay, but it still returns as soon as input is available (or when 2561redisplay, but it still returns as soon as input is available (or when
2552the timeout elapses). 2562the timeout elapses).
2553 2563
2554The usual purpose of @code{sit-for} is to give the user time to read 2564In batch mode (@pxref{Batch Mode}), @code{sit-for} cannot be
2555text that you display. 2565interrupted, even by input from the standard input descriptor. It is
2566thus equivalent to @code{sleep-for}, which is described below.
2556 2567
2557It is also possible to call @code{sit-for} with three arguments, 2568It is also possible to call @code{sit-for} with three arguments,
2558as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})}, 2569as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})},
@@ -2898,7 +2909,7 @@ using the minibuffer. Usually it is more convenient for the user if you
2898change the major mode of the current buffer temporarily to a special 2909change the major mode of the current buffer temporarily to a special
2899major mode, which should have a command to go back to the previous mode. 2910major mode, which should have a command to go back to the previous mode.
2900(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to 2911(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
2901give the user different text to edit ``recursively'', create and select 2912give the user different text to edit ``recursively,'' create and select
2902a new buffer in a special mode. In this mode, define a command to 2913a new buffer in a special mode. In this mode, define a command to
2903complete the processing and go back to the previous buffer. (The 2914complete the processing and go back to the previous buffer. (The
2904@kbd{m} command in Rmail does this.) 2915@kbd{m} command in Rmail does this.)
diff --git a/lispref/control.texi b/lispref/control.texi
index d64b03037d6..3ed0b7f90ec 100644
--- a/lispref/control.texi
+++ b/lispref/control.texi
@@ -221,7 +221,7 @@ non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its
221@var{body-forms}, and the value of the last of @var{body-forms} becomes 221@var{body-forms}, and the value of the last of @var{body-forms} becomes
222the value of the @code{cond}. The remaining clauses are ignored. 222the value of the @code{cond}. The remaining clauses are ignored.
223 223
224If the value of @var{condition} is @code{nil}, the clause ``fails'', so 224If the value of @var{condition} is @code{nil}, the clause ``fails,'' so
225the @code{cond} moves on to the following clause, trying its 225the @code{cond} moves on to the following clause, trying its
226@var{condition}. 226@var{condition}.
227 227
@@ -623,7 +623,7 @@ error is signaled with data @code{(@var{tag} @var{value})}.
623@subsection Examples of @code{catch} and @code{throw} 623@subsection Examples of @code{catch} and @code{throw}
624 624
625 One way to use @code{catch} and @code{throw} is to exit from a doubly 625 One way to use @code{catch} and @code{throw} is to exit from a doubly
626nested loop. (In most languages, this would be done with a ``go to''.) 626nested loop. (In most languages, this would be done with a ``go to.'')
627Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} 627Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
628varying from 0 to 9: 628varying from 0 to 9:
629 629
@@ -783,8 +783,11 @@ undesirable results. Instead, use @code{(error "%s" @var{string})}.
783@end defun 783@end defun
784 784
785@defun signal error-symbol data 785@defun signal error-symbol data
786This
786@anchor{Definition of signal} 787@anchor{Definition of signal}
787This function signals an error named by @var{error-symbol}. The 788@c unfortunately, a page break is allowed if the anchor immediately
789@c follows the @defun, due to hard-to-fix TeXnicalities.
790function signals an error named by @var{error-symbol}. The
788argument @var{data} is a list of additional Lisp objects relevant to the 791argument @var{data} is a list of additional Lisp objects relevant to the
789circumstances of the error. 792circumstances of the error.
790 793
@@ -846,11 +849,22 @@ executes in the environment of the @code{condition-case} that
846established it; all functions called within that @code{condition-case} 849established it; all functions called within that @code{condition-case}
847have already been exited, and the handler cannot return to them. 850have already been exited, and the handler cannot return to them.
848 851
849If there is no applicable handler for the error, the current command is 852If there is no applicable handler for the error, it terminates the
850terminated and control returns to the editor command loop, because the 853current command and returns control to the editor command loop. (The
851command loop has an implicit handler for all kinds of errors. The 854command loop has an implicit handler for all kinds of errors.) The
852command loop's handler uses the error symbol and associated data to 855command loop's handler uses the error symbol and associated data to
853print an error message. 856print an error message. You can use the variable
857@code{command-error-function} to control how this is done:
858
859@defvar command-error-function
860This variable, if non-@code{nil}, specifies a function to use to
861handle errors that return control to the Emacs command loop. The
862function should take three arguments: @var{data}, a list of the same
863form that @code{condition-case} would bind to its variable;
864@var{context}, a string describing the situation in which the error
865occurred, or (more often) @code{nil}; and @code{caller}, the Lisp
866function which called the primitive that signaled the error.
867@end defvar
854 868
855@cindex @code{debug-on-error} use 869@cindex @code{debug-on-error} use
856An error that has no explicit handler may call the Lisp debugger. The 870An error that has no explicit handler may call the Lisp debugger. The
diff --git a/lispref/customize.texi b/lispref/customize.texi
index da2b8a068f9..3aca1a90bcf 100644
--- a/lispref/customize.texi
+++ b/lispref/customize.texi
@@ -699,7 +699,7 @@ that you specify for it.
699 699
700@item (list @var{element-types}@dots{}) 700@item (list @var{element-types}@dots{})
701The value must be a list with exactly as many elements as the 701The value must be a list with exactly as many elements as the
702@var{element-types} you have specified; and each element must fit the 702@var{element-types} given; and each element must fit the
703corresponding @var{element-type}. 703corresponding @var{element-type}.
704 704
705For example, @code{(list integer string function)} describes a list of 705For example, @code{(list integer string function)} describes a list of
@@ -718,7 +718,7 @@ The value must fit at least one of @var{alternative-types}.
718For example, @code{(choice integer string)} allows either an 718For example, @code{(choice integer string)} allows either an
719integer or a string. 719integer or a string.
720 720
721In the customization buffer, the user selects one of the alternatives 721In the customization buffer, the user selects an alternative
722using a menu, and can then edit the value in the usual way for that 722using a menu, and can then edit the value in the usual way for that
723alternative. 723alternative.
724 724
diff --git a/lispref/display.texi b/lispref/display.texi
index 5687091a31f..678ca657b5b 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -103,8 +103,8 @@ processes the available input before trying again to redisplay.
103If this variable is @code{nil}, Emacs does not check for input during 103If this variable is @code{nil}, Emacs does not check for input during
104redisplay, and redisplay cannot be preempted by input. 104redisplay, and redisplay cannot be preempted by input.
105 105
106@emph{Note} that this variable is only available if Emacs is built 106This variable is only obeyed on graphical terminals. For
107with support for sub-second timers. 107text terminals, see @ref{Terminal Output}.
108@end defvar 108@end defvar
109 109
110@defvar redisplay-dont-pause 110@defvar redisplay-dont-pause
@@ -141,7 +141,7 @@ boundary. @xref{Filling}.
141indicate truncated and continued lines (@pxref{Fringes}). On a text 141indicate truncated and continued lines (@pxref{Fringes}). On a text
142terminal, a @samp{$} in the rightmost column of the window indicates 142terminal, a @samp{$} in the rightmost column of the window indicates
143truncation; a @samp{\} on the rightmost column indicates a line that 143truncation; a @samp{\} on the rightmost column indicates a line that
144``wraps''. (The display table can specify alternate characters to use 144``wraps.'' (The display table can specify alternate characters to use
145for this; @pxref{Display Tables}). 145for this; @pxref{Display Tables}).
146 146
147@defopt truncate-lines 147@defopt truncate-lines
@@ -1189,7 +1189,7 @@ The return value is @var{overlay}.
1189This is the only valid way to change the endpoints of an overlay. Do 1189This is the only valid way to change the endpoints of an overlay. Do
1190not try modifying the markers in the overlay by hand, as that fails to 1190not try modifying the markers in the overlay by hand, as that fails to
1191update other vital data structures and can cause some overlays to be 1191update other vital data structures and can cause some overlays to be
1192``lost''. 1192``lost.''
1193@end defun 1193@end defun
1194 1194
1195@defun remove-overlays &optional start end name value 1195@defun remove-overlays &optional start end name value
@@ -2013,7 +2013,7 @@ A non-@code{nil} value specifies a bold font.
2013A non-@code{nil} value specifies an italic font. 2013A non-@code{nil} value specifies an italic font.
2014@end table 2014@end table
2015 2015
2016 For compatibility, you can still set these ``attributes'', even 2016 For compatibility, you can still set these ``attributes,'' even
2017though they are not real face attributes. Here is what that does: 2017though they are not real face attributes. Here is what that does:
2018 2018
2019@table @code 2019@table @code
@@ -3767,7 +3767,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr
3767@end ifnottex 3767@end ifnottex
3768 3768
3769@item disabled 3769@item disabled
3770Specifies transforming the image so that it looks ``disabled''. 3770Specifies transforming the image so that it looks ``disabled.''
3771@end table 3771@end table
3772 3772
3773@item :mask @var{mask} 3773@item :mask @var{mask}
@@ -4804,7 +4804,7 @@ Any @var{args} are passed to @var{map-function}.
4804@subsection Abstract Display Example 4804@subsection Abstract Display Example
4805 4805
4806 Here is a simple example using functions of the ewoc package to 4806 Here is a simple example using functions of the ewoc package to
4807implement a ``color components display'', an area in a buffer that 4807implement a ``color components display,'' an area in a buffer that
4808represents a vector of three integers (itself representing a 24-bit RGB 4808represents a vector of three integers (itself representing a 24-bit RGB
4809value) in various ways. 4809value) in various ways.
4810 4810
@@ -5320,7 +5320,7 @@ variable.
5320@section Window Systems 5320@section Window Systems
5321 5321
5322 Emacs works with several window systems, most notably the X Window 5322 Emacs works with several window systems, most notably the X Window
5323System. Both Emacs and X use the term ``window'', but use it 5323System. Both Emacs and X use the term ``window,'' but use it
5324differently. An Emacs frame is a single window as far as X is 5324differently. An Emacs frame is a single window as far as X is
5325concerned; the individual Emacs windows are not known to X at all. 5325concerned; the individual Emacs windows are not known to X at all.
5326 5326
diff --git a/lispref/doclicense.texi b/lispref/doclicense.texi
index 9e191e0c0b8..f2f32aaa968 100644
--- a/lispref/doclicense.texi
+++ b/lispref/doclicense.texi
@@ -24,7 +24,7 @@ Secondarily, this License preserves for the author and publisher a way
24to get credit for their work, while not being considered responsible 24to get credit for their work, while not being considered responsible
25for modifications made by others. 25for modifications made by others.
26 26
27This License is a kind of ``copyleft'', which means that derivative 27This License is a kind of ``copyleft,'' which means that derivative
28works of the document must themselves be free in the same sense. It 28works of the document must themselves be free in the same sense. It
29complements the GNU General Public License, which is a copyleft 29complements the GNU General Public License, which is a copyleft
30license designed for free software. 30license designed for free software.
@@ -45,9 +45,9 @@ This License applies to any manual or other work, in any medium, that
45contains a notice placed by the copyright holder saying it can be 45contains a notice placed by the copyright holder saying it can be
46distributed under the terms of this License. Such a notice grants a 46distributed under the terms of this License. Such a notice grants a
47world-wide, royalty-free license, unlimited in duration, to use that 47world-wide, royalty-free license, unlimited in duration, to use that
48work under the conditions stated herein. The ``Document'', below, 48work under the conditions stated herein. The ``Document,'' below,
49refers to any such manual or work. Any member of the public is a 49refers to any such manual or work. Any member of the public is a
50licensee, and is addressed as ``you''. You accept the license if you 50licensee, and is addressed as ``you.'' You accept the license if you
51copy, modify or distribute the work in a way requiring permission 51copy, modify or distribute the work in a way requiring permission
52under copyright law. 52under copyright law.
53 53
@@ -114,8 +114,8 @@ preceding the beginning of the body of the text.
114A section ``Entitled XYZ'' means a named subunit of the Document whose 114A section ``Entitled XYZ'' means a named subunit of the Document whose
115title either is precisely XYZ or contains XYZ in parentheses following 115title either is precisely XYZ or contains XYZ in parentheses following
116text that translates XYZ in another language. (Here XYZ stands for a 116text that translates XYZ in another language. (Here XYZ stands for a
117specific section name mentioned below, such as ``Acknowledgements'', 117specific section name mentioned below, such as ``Acknowledgements,''
118``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' 118``Dedications,'' ``Endorsements,'' or ``History.'') To ``Preserve the Title''
119of such a section when you modify the Document means that it remains a 119of such a section when you modify the Document means that it remains a
120section ``Entitled XYZ'' according to this definition. 120section ``Entitled XYZ'' according to this definition.
121 121
@@ -211,7 +211,7 @@ F. Include, immediately after the copyright notices, a license notice
211G. Preserve in that license notice the full lists of Invariant Sections 211G. Preserve in that license notice the full lists of Invariant Sections
212 and required Cover Texts given in the Document's license notice.@* 212 and required Cover Texts given in the Document's license notice.@*
213H. Include an unaltered copy of this License.@* 213H. Include an unaltered copy of this License.@*
214I. Preserve the section Entitled ``History'', Preserve its Title, and add 214I. Preserve the section Entitled ``History,'' Preserve its Title, and add
215 to it an item stating at least the title, year, new authors, and 215 to it an item stating at least the title, year, new authors, and
216 publisher of the Modified Version as given on the Title Page. If 216 publisher of the Modified Version as given on the Title Page. If
217 there is no section Entitled ``History'' in the Document, create one 217 there is no section Entitled ``History'' in the Document, create one
@@ -225,7 +225,7 @@ J. Preserve the network location, if any, given in the Document for
225 You may omit a network location for a work that was published at 225 You may omit a network location for a work that was published at
226 least four years before the Document itself, or if the original 226 least four years before the Document itself, or if the original
227 publisher of the version it refers to gives permission.@* 227 publisher of the version it refers to gives permission.@*
228K. For any section Entitled ``Acknowledgements'' or ``Dedications'', 228K. For any section Entitled ``Acknowledgements'' or ``Dedications,''
229 Preserve the Title of the section, and preserve in the section all 229 Preserve the Title of the section, and preserve in the section all
230 the substance and tone of each of the contributor acknowledgements 230 the substance and tone of each of the contributor acknowledgements
231 and/or dedications given therein.@* 231 and/or dedications given therein.@*
@@ -245,7 +245,7 @@ of these sections as invariant. To do this, add their titles to the
245list of Invariant Sections in the Modified Version's license notice. 245list of Invariant Sections in the Modified Version's license notice.
246These titles must be distinct from any other section titles. 246These titles must be distinct from any other section titles.
247 247
248You may add a section Entitled ``Endorsements'', provided it contains 248You may add a section Entitled ``Endorsements,'' provided it contains
249nothing but endorsements of your Modified Version by various 249nothing but endorsements of your Modified Version by various
250parties--for example, statements of peer review or that the text has 250parties--for example, statements of peer review or that the text has
251been approved by an organization as the authoritative definition of a 251been approved by an organization as the authoritative definition of a
@@ -286,7 +286,7 @@ Invariant Sections in the license notice of the combined work.
286 286
287In the combination, you must combine any sections Entitled ``History'' 287In the combination, you must combine any sections Entitled ``History''
288in the various original documents, forming one section Entitled 288in the various original documents, forming one section Entitled
289``History''; likewise combine any sections Entitled ``Acknowledgements'', 289``History''; likewise combine any sections Entitled ``Acknowledgements,''
290and any sections Entitled ``Dedications.'' You must delete all sections 290and any sections Entitled ``Dedications.'' You must delete all sections
291Entitled ``Endorsements.'' 291Entitled ``Endorsements.''
292@sp 1 292@sp 1
@@ -340,8 +340,8 @@ of those notices and disclaimers. In case of a disagreement between
340the translation and the original version of this License or a notice 340the translation and the original version of this License or a notice
341or disclaimer, the original version will prevail. 341or disclaimer, the original version will prevail.
342 342
343If a section in the Document is Entitled ``Acknowledgements'', 343If a section in the Document is Entitled ``Acknowledgements,''
344``Dedications'', or ``History'', the requirement (section 4) to Preserve 344``Dedications,'' or ``History,'' the requirement (section 4) to Preserve
345its Title (section 1) will typically require changing the actual 345its Title (section 1) will typically require changing the actual
346title. 346title.
347@sp 1 347@sp 1
@@ -390,7 +390,7 @@ under the terms of the GNU Free Documentation License, Version 1.2
390or any later version published by the Free Software Foundation; 390or any later version published by the Free Software Foundation;
391with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 391with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
392A copy of the license is included in the section entitled ``GNU 392A copy of the license is included in the section entitled ``GNU
393Free Documentation License''. 393Free Documentation License.''
394@end group 394@end group
395@end smallexample 395@end smallexample
396 396
diff --git a/lispref/edebug.texi b/lispref/edebug.texi
index 731e04c5d1d..b2bab6030ed 100644
--- a/lispref/edebug.texi
+++ b/lispref/edebug.texi
@@ -1541,12 +1541,10 @@ The default value is @code{step}.
1541@end defopt 1541@end defopt
1542 1542
1543@defopt edebug-trace 1543@defopt edebug-trace
1544Non-@code{nil} means display a trace of function entry and exit. 1544If this is non-@code{nil}, trace each function entry and exit.
1545Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one 1545Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
1546function entry or exit per line, indented by the recursion level. 1546function entry or exit per line, indented by the recursion level.
1547 1547
1548The default value is @code{nil}.
1549
1550Also see @code{edebug-tracing}, in @ref{Trace Buffer}. 1548Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
1551@end defopt 1549@end defopt
1552 1550
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index 9f029924e5e..db92bdc97ee 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -47,10 +47,10 @@ Inc.
47Permission is granted to copy, distribute and/or modify this document 47Permission is granted to copy, distribute and/or modify this document
48under the terms of the GNU Free Documentation License, Version 1.2 or 48under the terms of the GNU Free Documentation License, Version 1.2 or
49any later version published by the Free Software Foundation; with the 49any later version published by the Free Software Foundation; with the
50Invariant Sections being ``GNU General Public License'', with the 50Invariant Sections being ``GNU General Public License,'' with the
51Front-Cover texts being ``A GNU Manual'', and with the Back-Cover 51Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
52Texts as in (a) below. A copy of the license is included in the 52Texts as in (a) below. A copy of the license is included in the
53section entitled ``GNU Free Documentation License''. 53section entitled ``GNU Free Documentation License.''
54 54
55(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify 55(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
56this GNU Manual, like GNU software. Copies published by the Free 56this GNU Manual, like GNU software. Copies published by the Free
@@ -338,7 +338,7 @@ Kinds of Forms
338 we find the real function via the symbol. 338 we find the real function via the symbol.
339* Function Forms:: Forms that call functions. 339* Function Forms:: Forms that call functions.
340* Macro Forms:: Forms that call macros. 340* Macro Forms:: Forms that call macros.
341* Special Forms:: ``Special forms'' are idiosyncratic primitives, 341* Special Forms:: "Special forms" are idiosyncratic primitives,
342 most of them extremely important. 342 most of them extremely important.
343* Autoloading:: Functions set up to load files 343* Autoloading:: Functions set up to load files
344 containing their real definitions. 344 containing their real definitions.
@@ -457,7 +457,7 @@ Loading
457* Repeated Loading:: Precautions about loading a file twice. 457* Repeated Loading:: Precautions about loading a file twice.
458* Named Features:: Loading a library if it isn't already loaded. 458* Named Features:: Loading a library if it isn't already loaded.
459* Where Defined:: Finding which file defined a certain symbol. 459* Where Defined:: Finding which file defined a certain symbol.
460* Unloading:: How to ``unload'' a library that was loaded. 460* Unloading:: How to "unload" a library that was loaded.
461* Hooks for Loading:: Providing code to be run when 461* Hooks for Loading:: Providing code to be run when
462 particular libraries are loaded. 462 particular libraries are loaded.
463 463
@@ -741,7 +741,7 @@ Buffers
741 is visited. 741 is visited.
742* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 742* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
743* Modification Time:: Determining whether the visited file was changed 743* Modification Time:: Determining whether the visited file was changed
744 ``behind Emacs's back''. 744 "behind Emacs's back".
745* Read Only Buffers:: Modifying text is not allowed in a 745* Read Only Buffers:: Modifying text is not allowed in a
746 read-only buffer. 746 read-only buffer.
747* The Buffer List:: How to look at all the existing buffers. 747* The Buffer List:: How to look at all the existing buffers.
@@ -830,8 +830,8 @@ Markers
830* Marker Insertion Types:: Two ways a marker can relocate when you 830* Marker Insertion Types:: Two ways a marker can relocate when you
831 insert where it points. 831 insert where it points.
832* Moving Markers:: Moving the marker to a new buffer or position. 832* Moving Markers:: Moving the marker to a new buffer or position.
833* The Mark:: How ``the mark'' is implemented with a marker. 833* The Mark:: How "the mark" is implemented with a marker.
834* The Region:: How to access ``the region''. 834* The Region:: How to access "the region".
835 835
836Text 836Text
837 837
@@ -862,8 +862,8 @@ Text
862* Registers:: How registers are implemented. Accessing 862* Registers:: How registers are implemented. Accessing
863 the text or position stored in a register. 863 the text or position stored in a register.
864* Base 64:: Conversion to or from base 64 encoding. 864* Base 64:: Conversion to or from base 64 encoding.
865* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. 865* MD5 Checksum:: Compute the MD5 "message digest"/"checksum".
866* Atomic Changes:: Installing several buffer changes ``atomically''. 866* Atomic Changes:: Installing several buffer changes "atomically".
867* Change Hooks:: Supplying functions to be run when text is changed. 867* Change Hooks:: Supplying functions to be run when text is changed.
868 868
869The Kill Ring 869The Kill Ring
diff --git a/lispref/eval.texi b/lispref/eval.texi
index 803f3d4a70d..05229c1b7c0 100644
--- a/lispref/eval.texi
+++ b/lispref/eval.texi
@@ -106,7 +106,7 @@ described below (@pxref{Forms}).
106 A Lisp object that is intended to be evaluated is called a @dfn{form}. 106 A Lisp object that is intended to be evaluated is called a @dfn{form}.
107How Emacs evaluates a form depends on its data type. Emacs has three 107How Emacs evaluates a form depends on its data type. Emacs has three
108different kinds of form that are evaluated differently: symbols, lists, 108different kinds of form that are evaluated differently: symbols, lists,
109and ``all other types''. This section describes all three kinds, one by 109and ``all other types.'' This section describes all three kinds, one by
110one, starting with the ``all other types'' which are self-evaluating 110one, starting with the ``all other types'' which are self-evaluating
111forms. 111forms.
112 112
@@ -118,7 +118,7 @@ forms.
118 we find the real function via the symbol. 118 we find the real function via the symbol.
119* Function Forms:: Forms that call functions. 119* Function Forms:: Forms that call functions.
120* Macro Forms:: Forms that call macros. 120* Macro Forms:: Forms that call macros.
121* Special Forms:: ``Special forms'' are idiosyncratic primitives, 121* Special Forms:: "Special forms" are idiosyncratic primitives,
122 most of them extremely important. 122 most of them extremely important.
123* Autoloading:: Functions set up to load files 123* Autoloading:: Functions set up to load files
124 containing their real definitions. 124 containing their real definitions.
diff --git a/lispref/files.texi b/lispref/files.texi
index dbcf37b5c8d..03e5db318f4 100644
--- a/lispref/files.texi
+++ b/lispref/files.texi
@@ -658,7 +658,7 @@ The file lock is really a file, a symbolic link with a special name,
658stored in the same directory as the file you are editing. 658stored in the same directory as the file you are editing.
659 659
660 When you access files using NFS, there may be a small probability that 660 When you access files using NFS, there may be a small probability that
661you and another user will both lock the same file ``simultaneously''. 661you and another user will both lock the same file ``simultaneously.''
662If this happens, it is possible for the two users to make changes 662If this happens, it is possible for the two users to make changes
663simultaneously, but Emacs will still warn the user who saves second. 663simultaneously, but Emacs will still warn the user who saves second.
664Also, the detection of modification of a buffer visiting a file changed 664Also, the detection of modification of a buffer visiting a file changed
@@ -1681,7 +1681,7 @@ return value, but backup version numbers are kept.
1681@end defun 1681@end defun
1682 1682
1683@defun file-name-extension filename &optional period 1683@defun file-name-extension filename &optional period
1684This function returns @var{filename}'s final ``extension'', if any, 1684This function returns @var{filename}'s final ``extension,'' if any,
1685after applying @code{file-name-sans-versions} to remove any 1685after applying @code{file-name-sans-versions} to remove any
1686version/backup part. The extension, in a file name, is the part that 1686version/backup part. The extension, in a file name, is the part that
1687starts with the last @samp{.} in the last name component (minus 1687starts with the last @samp{.} in the last name component (minus
@@ -2653,7 +2653,7 @@ unlocking the buffer if it is locked.
2653possibly others to be added in the future. It need not implement all 2653possibly others to be added in the future. It need not implement all
2654these operations itself---when it has nothing special to do for a 2654these operations itself---when it has nothing special to do for a
2655certain operation, it can reinvoke the primitive, to handle the 2655certain operation, it can reinvoke the primitive, to handle the
2656operation ``in the usual way''. It should always reinvoke the primitive 2656operation ``in the usual way.'' It should always reinvoke the primitive
2657for an operation it does not recognize. Here's one way to do this: 2657for an operation it does not recognize. Here's one way to do this:
2658 2658
2659@smallexample 2659@smallexample
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 6652c0d6eb7..08b4c3be531 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -641,7 +641,7 @@ This variable specifies how to blink the cursor. Each element has the
641form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor 641form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
642type equals @var{on-state} (comparing using @code{equal}), the 642type equals @var{on-state} (comparing using @code{equal}), the
643corresponding @var{off-state} specifies what the cursor looks like 643corresponding @var{off-state} specifies what the cursor looks like
644when it blinks ``off''. Both @var{on-state} and @var{off-state} 644when it blinks ``off.'' Both @var{on-state} and @var{off-state}
645should be suitable values for the @code{cursor-type} frame parameter. 645should be suitable values for the @code{cursor-type} frame parameter.
646 646
647There are various defaults for how to blink each type of cursor, if 647There are various defaults for how to blink each type of cursor, if
@@ -967,7 +967,7 @@ internals of Emacs.
967@defun visible-frame-list 967@defun visible-frame-list
968This function returns a list of just the currently visible frames. 968This function returns a list of just the currently visible frames.
969@xref{Visibility of Frames}. (Terminal frames always count as 969@xref{Visibility of Frames}. (Terminal frames always count as
970``visible'', even though only the selected one is actually displayed.) 970``visible,'' even though only the selected one is actually displayed.)
971@end defun 971@end defun
972 972
973@defun next-frame &optional frame minibuf 973@defun next-frame &optional frame minibuf
@@ -1189,7 +1189,9 @@ change it.
1189This option is how you inform Emacs whether the window manager transfers 1189This option is how you inform Emacs whether the window manager transfers
1190focus when the user moves the mouse. Non-@code{nil} says that it does. 1190focus when the user moves the mouse. Non-@code{nil} says that it does.
1191When this is so, the command @code{other-frame} moves the mouse to a 1191When this is so, the command @code{other-frame} moves the mouse to a
1192position consistent with the new selected frame. 1192position consistent with the new selected frame. (This option has no
1193effect on MS-Windows, where the mouse pointer is always automatically
1194moved by the OS to the selected frame.)
1193@end defopt 1195@end defopt
1194 1196
1195@node Visibility of Frames 1197@node Visibility of Frames
@@ -1251,7 +1253,7 @@ changes. @xref{Misc Events}.
1251 Most window systems use a desktop metaphor. Part of this metaphor is 1253 Most window systems use a desktop metaphor. Part of this metaphor is
1252the idea that windows are stacked in a notional third dimension 1254the idea that windows are stacked in a notional third dimension
1253perpendicular to the screen surface, and thus ordered from ``highest'' 1255perpendicular to the screen surface, and thus ordered from ``highest''
1254to ``lowest''. Where two windows overlap, the one higher up covers 1256to ``lowest.'' Where two windows overlap, the one higher up covers
1255the one underneath. Even a window at the bottom of the stack can be 1257the one underneath. Even a window at the bottom of the stack can be
1256seen if no other window overlaps it. 1258seen if no other window overlaps it.
1257 1259
@@ -1259,7 +1261,7 @@ seen if no other window overlaps it.
1259@cindex lowering a frame 1261@cindex lowering a frame
1260 A window's place in this ordering is not fixed; in fact, users tend 1262 A window's place in this ordering is not fixed; in fact, users tend
1261to change the order frequently. @dfn{Raising} a window means moving 1263to change the order frequently. @dfn{Raising} a window means moving
1262it ``up'', to the top of the stack. @dfn{Lowering} a window means 1264it ``up,'' to the top of the stack. @dfn{Lowering} a window means
1263moving it to the bottom of the stack. This motion is in the notional 1265moving it to the bottom of the stack. This motion is in the notional
1264third dimension only, and does not change the position of the window 1266third dimension only, and does not change the position of the window
1265on the screen. 1267on the screen.
@@ -1519,7 +1521,7 @@ the menu keymap as necessary.
1519 A dialog box is a variant of a pop-up menu---it looks a little 1521 A dialog box is a variant of a pop-up menu---it looks a little
1520different, it always appears in the center of a frame, and it has just 1522different, it always appears in the center of a frame, and it has just
1521one level and one or more buttons. The main use of dialog boxes is 1523one level and one or more buttons. The main use of dialog boxes is
1522for asking questions that the user can answer with ``yes'', ``no'', 1524for asking questions that the user can answer with ``yes,'' ``no,''
1523and a few other alternatives. With a single button, they can also 1525and a few other alternatives. With a single button, they can also
1524force the user to acknowledge important information. The functions 1526force the user to acknowledge important information. The functions
1525@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the 1527@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the
@@ -1780,7 +1782,7 @@ colors.)
1780 These functions provide a way to determine which color names are 1782 These functions provide a way to determine which color names are
1781valid, and what they look like. In some cases, the value depends on the 1783valid, and what they look like. In some cases, the value depends on the
1782@dfn{selected frame}, as described below; see @ref{Input Focus}, for the 1784@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
1783meaning of the term ``selected frame''. 1785meaning of the term ``selected frame.''
1784 1786
1785@defun color-defined-p color &optional frame 1787@defun color-defined-p color &optional frame
1786This function reports whether a color name is meaningful. It returns 1788This function reports whether a color name is meaningful. It returns
@@ -2150,7 +2152,7 @@ software (as a string). Really this means whoever distributes the X
2150server. 2152server.
2151 2153
2152When the developers of X labelled software distributors as 2154When the developers of X labelled software distributors as
2153``vendors'', they showed their false assumption that no system could 2155``vendors,'' they showed their false assumption that no system could
2154ever be developed and distributed noncommercially. 2156ever be developed and distributed noncommercially.
2155@end defun 2157@end defun
2156 2158
diff --git a/lispref/functions.texi b/lispref/functions.texi
index 7068b385ecf..a4c0b4b8fe4 100644
--- a/lispref/functions.texi
+++ b/lispref/functions.texi
@@ -485,7 +485,7 @@ more convenient than making the function definition point to itself
485practice). 485practice).
486 486
487 We often identify functions with the symbols used to name them. For 487 We often identify functions with the symbols used to name them. For
488example, we often speak of ``the function @code{car}'', not 488example, we often speak of ``the function @code{car},'' not
489distinguishing between the symbol @code{car} and the primitive 489distinguishing between the symbol @code{car} and the primitive
490subr-object that is its function definition. For most purposes, the 490subr-object that is its function definition. For most purposes, the
491distinction is not important. 491distinction is not important.
@@ -766,12 +766,10 @@ in turn, and returns a list of the results.
766The argument @var{sequence} can be any kind of sequence except a 766The argument @var{sequence} can be any kind of sequence except a
767char-table; that is, a list, a vector, a bool-vector, or a string. The 767char-table; that is, a list, a vector, a bool-vector, or a string. The
768result is always a list. The length of the result is the same as the 768result is always a list. The length of the result is the same as the
769length of @var{sequence}. 769length of @var{sequence}. For example:
770 770
771@smallexample 771@smallexample
772@group 772@group
773@exdent @r{For example:}
774
775(mapcar 'car '((a b) (c d) (e f))) 773(mapcar 'car '((a b) (c d) (e f)))
776 @result{} (a c e) 774 @result{} (a c e)
777(mapcar '1+ [1 2 3]) 775(mapcar '1+ [1 2 3])
@@ -846,7 +844,7 @@ bool-vector, or a string.
846 844
847 In Lisp, a function is a list that starts with @code{lambda}, a 845 In Lisp, a function is a list that starts with @code{lambda}, a
848byte-code function compiled from such a list, or alternatively a 846byte-code function compiled from such a list, or alternatively a
849primitive subr-object; names are ``extra''. Although usually functions 847primitive subr-object; names are ``extra.'' Although usually functions
850are defined with @code{defun} and given names at the same time, it is 848are defined with @code{defun} and given names at the same time, it is
851occasionally more concise to use an explicit lambda expression---an 849occasionally more concise to use an explicit lambda expression---an
852anonymous function. Such a list is valid wherever a function name is. 850anonymous function. Such a list is valid wherever a function name is.
diff --git a/lispref/gpl.texi b/lispref/gpl.texi
index d3ffb26719b..ac5c9938381 100644
--- a/lispref/gpl.texi
+++ b/lispref/gpl.texi
@@ -75,13 +75,13 @@ modification follow.
75@item 75@item
76This License applies to any program or other work which contains 76This License applies to any program or other work which contains
77a notice placed by the copyright holder saying it may be distributed 77a notice placed by the copyright holder saying it may be distributed
78under the terms of this General Public License. The ``Program'', below, 78under the terms of this General Public License. The ``Program,'' below,
79refers to any such program or work, and a ``work based on the Program'' 79refers to any such program or work, and a ``work based on the Program''
80means either the Program or any derivative work under copyright law: 80means either the Program or any derivative work under copyright law:
81that is to say, a work containing the Program or a portion of it, 81that is to say, a work containing the Program or a portion of it,
82either verbatim or with modifications and/or translated into another 82either verbatim or with modifications and/or translated into another
83language. (Hereinafter, translation is included without limitation in 83language. (Hereinafter, translation is included without limitation in
84the term ``modification''.) Each licensee is addressed as ``you''. 84the term ``modification.'') Each licensee is addressed as ``you.''
85 85
86Activities other than copying, distribution and modification are not 86Activities other than copying, distribution and modification are not
87covered by this License; they are outside its scope. The act of 87covered by this License; they are outside its scope. The act of
@@ -274,7 +274,7 @@ address new problems or concerns.
274 274
275Each version is given a distinguishing version number. If the Program 275Each version is given a distinguishing version number. If the Program
276specifies a version number of this License which applies to it and ``any 276specifies a version number of this License which applies to it and ``any
277later version'', you have the option of following the terms and conditions 277later version,'' you have the option of following the terms and conditions
278either of that version or of any later version published by the Free 278either of that version or of any later version published by the Free
279Software Foundation. If the Program does not specify a version number of 279Software Foundation. If the Program does not specify a version number of
280this License, you may choose any version ever published by the Free Software 280this License, you may choose any version ever published by the Free Software
diff --git a/lispref/hash.texi b/lispref/hash.texi
index 1913905af8d..4c2c3469c86 100644
--- a/lispref/hash.texi
+++ b/lispref/hash.texi
@@ -79,13 +79,13 @@ alternatives:
79Keys which are numbers are ``the same'' if they are @code{equal}, that 79Keys which are numbers are ``the same'' if they are @code{equal}, that
80is, if they are equal in value and either both are integers or both 80is, if they are equal in value and either both are integers or both
81are floating point numbers; otherwise, two distinct objects are never 81are floating point numbers; otherwise, two distinct objects are never
82``the same''. 82``the same.''
83 83
84@item eq 84@item eq
85Any two distinct Lisp objects are ``different'' as keys. 85Any two distinct Lisp objects are ``different'' as keys.
86 86
87@item equal 87@item equal
88Two Lisp objects are ``the same'', as keys, if they are equal 88Two Lisp objects are ``the same,'' as keys, if they are equal
89according to @code{equal}. 89according to @code{equal}.
90@end table 90@end table
91 91
@@ -269,7 +269,6 @@ compared case-insensitively.
269@example 269@example
270(defun case-fold-string= (a b) 270(defun case-fold-string= (a b)
271 (compare-strings a nil nil b nil nil t)) 271 (compare-strings a nil nil b nil nil t))
272
273(defun case-fold-string-hash (a) 272(defun case-fold-string-hash (a)
274 (sxhash (upcase a))) 273 (sxhash (upcase a)))
275 274
diff --git a/lispref/internals.texi b/lispref/internals.texi
index a4ee6223b35..db7694585aa 100644
--- a/lispref/internals.texi
+++ b/lispref/internals.texi
@@ -1270,7 +1270,7 @@ Non-@code{nil} means current value of @code{start} was the beginning of a line
1270when it was chosen. 1270when it was chosen.
1271 1271
1272@item too_small_ok 1272@item too_small_ok
1273Non-@code{nil} means don't delete this window for becoming ``too small''. 1273Non-@code{nil} means don't delete this window for becoming ``too small.''
1274 1274
1275@item height_fixed_p 1275@item height_fixed_p
1276This field is temporarily set to 1 to fix the height of the selected 1276This field is temporarily set to 1 to fix the height of the selected
diff --git a/lispref/intro.texi b/lispref/intro.texi
index 7e1b6155b35..cd9b36ced85 100644
--- a/lispref/intro.texi
+++ b/lispref/intro.texi
@@ -160,7 +160,7 @@ printer'' refer to those routines in Lisp that convert textual
160representations of Lisp objects into actual Lisp objects, and vice 160representations of Lisp objects into actual Lisp objects, and vice
161versa. @xref{Printed Representation}, for more details. You, the 161versa. @xref{Printed Representation}, for more details. You, the
162person reading this manual, are thought of as ``the programmer'' and are 162person reading this manual, are thought of as ``the programmer'' and are
163addressed as ``you''. ``The user'' is the person who uses Lisp 163addressed as ``you.'' ``The user'' is the person who uses Lisp
164programs, including those you write. 164programs, including those you write.
165 165
166@cindex fonts in this manual 166@cindex fonts in this manual
@@ -233,7 +233,7 @@ the examples in this manual, this is indicated with @samp{@result{}}:
233@end example 233@end example
234 234
235@noindent 235@noindent
236You can read this as ``@code{(car '(1 2))} evaluates to 1''. 236You can read this as ``@code{(car '(1 2))} evaluates to 1.''
237 237
238 When a form is a macro call, it expands into a new form for Lisp to 238 When a form is a macro call, it expands into a new form for Lisp to
239evaluate. We show the result of the expansion with 239evaluate. We show the result of the expansion with
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 38f7fbac77c..f93c94b8dfe 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -2232,7 +2232,7 @@ Next we define the menu items:
2232Note the symbols which the bindings are ``made for''; these appear 2232Note the symbols which the bindings are ``made for''; these appear
2233inside square brackets, in the key sequence being defined. In some 2233inside square brackets, in the key sequence being defined. In some
2234cases, this symbol is the same as the command name; sometimes it is 2234cases, this symbol is the same as the command name; sometimes it is
2235different. These symbols are treated as ``function keys'', but they are 2235different. These symbols are treated as ``function keys,'' but they are
2236not real function keys on the keyboard. They do not affect the 2236not real function keys on the keyboard. They do not affect the
2237functioning of the menu itself, but they are ``echoed'' in the echo area 2237functioning of the menu itself, but they are ``echoed'' in the echo area
2238when the user selects from the menu, and they appear in the output of 2238when the user selects from the menu, and they appear in the output of
diff --git a/lispref/lists.texi b/lispref/lists.texi
index 7de4a6c6ab0..cb60baef900 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -20,6 +20,7 @@ the whole list.
20* List-related Predicates:: Is this object a list? Comparing two lists. 20* List-related Predicates:: Is this object a list? Comparing two lists.
21* List Elements:: Extracting the pieces of a list. 21* List Elements:: Extracting the pieces of a list.
22* Building Lists:: Creating list structure. 22* Building Lists:: Creating list structure.
23* List Variables:: Modifying lists stored in variables.
23* Modifying Lists:: Storing new pieces into an existing list. 24* Modifying Lists:: Storing new pieces into an existing list.
24* Sets And Lists:: A list can represent a finite mathematical set. 25* Sets And Lists:: A list can represent a finite mathematical set.
25* Association Lists:: A list can represent a finite relation or mapping. 26* Association Lists:: A list can represent a finite relation or mapping.
@@ -431,20 +432,6 @@ used in this example and the function named @code{list} described below;
431any symbol can serve both purposes. 432any symbol can serve both purposes.
432@end defun 433@end defun
433 434
434@defmac push newelt listname
435This macro provides an alternative way to write
436@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
437
438@example
439(setq l '(a b))
440 @result{} (a b)
441(push 'c l)
442 @result{} (c a b)
443l
444 @result{} (c a b)
445@end example
446@end defmac
447
448@defun list &rest objects 435@defun list &rest objects
449This function creates a list with @var{objects} as its elements. The 436This function creates a list with @var{objects} as its elements. The
450resulting list is always @code{nil}-terminated. If no @var{objects} 437resulting list is always @code{nil}-terminated. If no @var{objects}
@@ -704,6 +691,124 @@ Some examples:
704@end example 691@end example
705@end defun 692@end defun
706 693
694@node List Variables
695@section Modifying List Variables
696
697 These functions, and one macro, provide convenient ways
698to modify a list which is stored in a variable.
699
700@defmac push newelt listname
701This macro provides an alternative way to write
702@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
703
704@example
705(setq l '(a b))
706 @result{} (a b)
707(push 'c l)
708 @result{} (c a b)
709l
710 @result{} (c a b)
711@end example
712@end defmac
713
714 Two functions modify lists that are the values of variables.
715
716@defun add-to-list symbol element &optional append
717This function sets the variable @var{symbol} by consing @var{element}
718onto the old value, if @var{element} is not already a member of that
719value. It returns the resulting list, whether updated or not. The
720value of @var{symbol} had better be a list already before the call.
721Membership is tested using @code{equal}.
722
723Normally, if @var{element} is added, it is added to the front of
724@var{symbol}, but if the optional argument @var{append} is
725non-@code{nil}, it is added at the end.
726
727The argument @var{symbol} is not implicitly quoted; @code{add-to-list}
728is an ordinary function, like @code{set} and unlike @code{setq}. Quote
729the argument yourself if that is what you want.
730@end defun
731
732Here's a scenario showing how to use @code{add-to-list}:
733
734@example
735(setq foo '(a b))
736 @result{} (a b)
737
738(add-to-list 'foo 'c) ;; @r{Add @code{c}.}
739 @result{} (c a b)
740
741(add-to-list 'foo 'b) ;; @r{No effect.}
742 @result{} (c a b)
743
744foo ;; @r{@code{foo} was changed.}
745 @result{} (c a b)
746@end example
747
748 An equivalent expression for @code{(add-to-list '@var{var}
749@var{value})} is this:
750
751@example
752(or (member @var{value} @var{var})
753 (setq @var{var} (cons @var{value} @var{var})))
754@end example
755
756@defun add-to-ordered-list symbol element &optional order
757This function sets the variable @var{symbol} by inserting
758@var{element} into the old value, which must be a list, at the
759position specified by @var{order}. If @var{element} is already a
760member of the list, its position in the list is adjusted according
761to @var{order}. Membership is tested using @code{eq}.
762This function returns the resulting list, whether updated or not.
763
764The @var{order} is typically a number (integer or float), and the
765elements of the list are sorted in non-decreasing numerical order.
766
767@var{order} may also be omitted or @code{nil}. Then the numeric order
768of @var{element} stays unchanged if it already has one; otherwise,
769@var{element} has no numeric order. Elements without a numeric list
770order are placed at the end of the list, in no particular order.
771
772Any other value for @var{order} removes the numeric order of @var{element}
773if it already has one; otherwise, it is equivalent to @code{nil}.
774
775The argument @var{symbol} is not implicitly quoted;
776@code{add-to-ordered-list} is an ordinary function, like @code{set}
777and unlike @code{setq}. Quote the argument yourself if that is what
778you want.
779
780The ordering information is stored in a hash table on @var{symbol}'s
781@code{list-order} property.
782@end defun
783
784Here's a scenario showing how to use @code{add-to-ordered-list}:
785
786@example
787(setq foo '())
788 @result{} nil
789
790(add-to-ordered-list 'foo 'a 1) ;; @r{Add @code{a}.}
791 @result{} (a)
792
793(add-to-ordered-list 'foo 'c 3) ;; @r{Add @code{c}.}
794 @result{} (a c)
795
796(add-to-ordered-list 'foo 'b 2) ;; @r{Add @code{b}.}
797 @result{} (a b c)
798
799(add-to-ordered-list 'foo 'b 4) ;; @r{Move @code{b}.}
800 @result{} (a c b)
801
802(add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.}
803 @result{} (a c b d)
804
805(add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}.
806 @result{} (a c b e d)
807
808foo ;; @r{@code{foo} was changed.}
809 @result{} (a c b e d)
810@end example
811
707@node Modifying Lists 812@node Modifying Lists
708@section Modifying Existing List Structure 813@section Modifying Existing List Structure
709@cindex destructive list operations 814@cindex destructive list operations
@@ -1412,8 +1517,8 @@ the value @code{cones}; the key @code{oak} is associated with
1412@end group 1517@end group
1413@end example 1518@end example
1414 1519
1415 The associated values in an alist may be any Lisp objects; so may the 1520 Both the values and the keys in an alist may be any Lisp objects.
1416keys. For example, in the following alist, the symbol @code{a} is 1521For example, in the following alist, the symbol @code{a} is
1417associated with the number @code{1}, and the string @code{"b"} is 1522associated with the number @code{1}, and the string @code{"b"} is
1418associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of 1523associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of
1419the alist element: 1524the alist element:
@@ -1439,7 +1544,7 @@ below) to find the element containing a given value. When neither of
1439these considerations is important, the choice is a matter of taste, as 1544these considerations is important, the choice is a matter of taste, as
1440long as you are consistent about it for any given alist. 1545long as you are consistent about it for any given alist.
1441 1546
1442 Note that the same alist shown above could be regarded as having the 1547 The same alist shown above could be regarded as having the
1443associated value in the @sc{cdr} of the element; the value associated 1548associated value in the @sc{cdr} of the element; the value associated
1444with @code{rose} would be the list @code{(red)}. 1549with @code{rose} would be the list @code{(red)}.
1445 1550
@@ -1503,7 +1608,7 @@ a @sc{cdr} @code{equal} to @var{value}.
1503 1608
1504@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of 1609@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
1505each @var{alist} association instead of the @sc{car}. You can think of 1610each @var{alist} association instead of the @sc{car}. You can think of
1506this as ``reverse @code{assoc}'', finding the key for a given value. 1611this as ``reverse @code{assoc},'' finding the key for a given value.
1507@end defun 1612@end defun
1508 1613
1509@defun assq key alist 1614@defun assq key alist
@@ -1544,7 +1649,7 @@ a @sc{cdr} @code{eq} to @var{value}.
1544 1649
1545@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of 1650@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
1546each @var{alist} association instead of the @sc{car}. You can think of 1651each @var{alist} association instead of the @sc{car}. You can think of
1547this as ``reverse @code{assq}'', finding the key for a given value. 1652this as ``reverse @code{assq},'' finding the key for a given value.
1548 1653
1549For example: 1654For example:
1550 1655
@@ -1557,7 +1662,7 @@ For example:
1557 @result{} nil 1662 @result{} nil
1558@end smallexample 1663@end smallexample
1559 1664
1560Note that @code{rassq} cannot search for a value stored in the @sc{car} 1665@code{rassq} cannot search for a value stored in the @sc{car}
1561of the @sc{cdr} of an element: 1666of the @sc{cdr} of an element:
1562 1667
1563@smallexample 1668@smallexample
diff --git a/lispref/loading.texi b/lispref/loading.texi
index 81787082117..eb576f8fbbc 100644
--- a/lispref/loading.texi
+++ b/lispref/loading.texi
@@ -43,7 +43,7 @@ containing Lisp code.
43* Repeated Loading:: Precautions about loading a file twice. 43* Repeated Loading:: Precautions about loading a file twice.
44* Named Features:: Loading a library if it isn't already loaded. 44* Named Features:: Loading a library if it isn't already loaded.
45* Where Defined:: Finding which file defined a certain symbol. 45* Where Defined:: Finding which file defined a certain symbol.
46* Unloading:: How to ``unload'' a library that was loaded. 46* Unloading:: How to "unload" a library that was loaded.
47* Hooks for Loading:: Providing code to be run when 47* Hooks for Loading:: Providing code to be run when
48 particular libraries are loaded. 48 particular libraries are loaded.
49@end menu 49@end menu
@@ -155,8 +155,10 @@ file, and it is @code{nil} otherwise.
155@end defvar 155@end defvar
156 156
157@defvar load-read-function 157@defvar load-read-function
158This
158@anchor{Definition of load-read-function} 159@anchor{Definition of load-read-function}
159This variable specifies an alternate expression-reading function for 160@c do not allow page break at anchor; work around Texinfo deficiency.
161variable specifies an alternate expression-reading function for
160@code{load} and @code{eval-region} to use instead of @code{read}. 162@code{load} and @code{eval-region} to use instead of @code{read}.
161The function should accept one argument, just as @code{read} does. 163The function should accept one argument, just as @code{read} does.
162 164
diff --git a/lispref/maps.texi b/lispref/maps.texi
index 9ee1b52fa59..ec7728f7840 100644
--- a/lispref/maps.texi
+++ b/lispref/maps.texi
@@ -12,11 +12,17 @@ Some of these exist when Emacs is first started, others are
12loaded only when their respective mode is used. This is not 12loaded only when their respective mode is used. This is not
13an exhaustive list. 13an exhaustive list.
14 14
15Several keymaps are used in the minibuffer. @xref{Completion Commands}.
16
15Almost all of these maps are used as local maps. Indeed, of the modes 17Almost all of these maps are used as local maps. Indeed, of the modes
16that presently exist, only Vip mode and Terminal mode ever change the 18that presently exist, only Vip mode and Terminal mode ever change the
17global keymap. 19global keymap.
18 20
19@table @code 21@table @code
22@item apropos-mode-map
23@vindex apropos-mode-map
24A sparse keymap for @code{apropos} buffers.
25
20@item Buffer-menu-mode-map 26@item Buffer-menu-mode-map
21@vindex Buffer-menu-mode-map 27@vindex Buffer-menu-mode-map
22A full keymap used by Buffer Menu mode. 28A full keymap used by Buffer Menu mode.
@@ -38,6 +44,9 @@ A sparse keymap for subcommands of the prefix @kbd{C-x 5}.
38@item ctl-x-map 44@item ctl-x-map
39A full keymap for @kbd{C-x} commands. 45A full keymap for @kbd{C-x} commands.
40 46
47@item custom-mode-map
48A full keymap for Custom mode.
49
41@item debugger-mode-map 50@item debugger-mode-map
42@vindex debugger-mode-map 51@vindex debugger-mode-map
43A full keymap used by Debugger mode. 52A full keymap used by Debugger mode.
@@ -66,6 +75,10 @@ A full keymap used by Electric Command History mode.
66@vindex emacs-lisp-mode-map 75@vindex emacs-lisp-mode-map
67A sparse keymap used by Emacs Lisp mode. 76A sparse keymap used by Emacs Lisp mode.
68 77
78@item esc-map
79@vindex esc-map
80A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
81
69@item facemenu-menu 82@item facemenu-menu
70@vindex facemenu-menu 83@vindex facemenu-menu
71The sparse keymap that displays the Text Properties menu. 84The sparse keymap that displays the Text Properties menu.
@@ -109,6 +122,21 @@ If there are none, then it contains an empty sparse keymap.
109The sparse keymap for Fundamental mode.@* 122The sparse keymap for Fundamental mode.@*
110It is empty and should not be changed. 123It is empty and should not be changed.
111 124
125@item global-map
126The full keymap containing default global key bindings.@*
127Modes should not modify the Global map.
128
129@item grep-mode-map
130@vindex grep-mode-map
131The keymap for @code{grep-mode} buffers.
132
133@item help-map
134The sparse keymap for the keys that follow the help character @kbd{C-h}.
135
136@item help-mode-map
137@vindex help-mode-map
138The sparse keymap for Help mode.
139
112@item Helper-help-map 140@item Helper-help-map
113@vindex Helper-help-map 141@vindex Helper-help-map
114A full keymap used by the help utility package.@* 142A full keymap used by the help utility package.@*
@@ -132,6 +160,11 @@ search.
132A keymap for translating keys. This one overrides ordinary key 160A keymap for translating keys. This one overrides ordinary key
133bindings, unlike @code{function-key-map}. @xref{Translating Input}. 161bindings, unlike @code{function-key-map}. @xref{Translating Input}.
134 162
163@item kmacro-map
164@vindex kmacro-map
165A sparse keymap for keys that follows the @kbd{C-x C-k} prefix
166search.
167
135@item lisp-interaction-mode-map 168@item lisp-interaction-mode-map
136@vindex lisp-interaction-mode-map 169@vindex lisp-interaction-mode-map
137A sparse keymap used by Lisp Interaction mode. 170A sparse keymap used by Lisp Interaction mode.
@@ -184,6 +217,9 @@ time.
184@vindex text-mode-map 217@vindex text-mode-map
185A sparse keymap used by Text mode. 218A sparse keymap used by Text mode.
186 219
220@item tool-bar-map
221The keymap defining the contents of the tool bar.
222
187@item view-mode-map 223@item view-mode-map
188@vindex view-mode-map 224@vindex view-mode-map
189A full keymap used by View mode. 225A full keymap used by View mode.
diff --git a/lispref/markers.texi b/lispref/markers.texi
index 514b93a2df5..c3fdddc6aab 100644
--- a/lispref/markers.texi
+++ b/lispref/markers.texi
@@ -21,8 +21,8 @@ deleted, so that it stays with the two characters on either side of it.
21* Marker Insertion Types:: Two ways a marker can relocate when you 21* Marker Insertion Types:: Two ways a marker can relocate when you
22 insert where it points. 22 insert where it points.
23* Moving Markers:: Moving the marker to a new buffer or position. 23* Moving Markers:: Moving the marker to a new buffer or position.
24* The Mark:: How ``the mark'' is implemented with a marker. 24* The Mark:: How "the mark" is implemented with a marker.
25* The Region:: How to access ``the region''. 25* The Region:: How to access "the region".
26@end menu 26@end menu
27 27
28@node Overview of Markers 28@node Overview of Markers
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index d05329eeed7..d4f94e5269b 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -208,8 +208,10 @@ properties unconditionally, regardless of the value of this variable.
208@end defvar 208@end defvar
209 209
210@defvar minibuffer-local-map 210@defvar minibuffer-local-map
211This
211@anchor{Definition of minibuffer-local-map} 212@anchor{Definition of minibuffer-local-map}
212This is the default local keymap for reading from the minibuffer. By 213@c avoid page break at anchor; work around Texinfo deficiency
214is the default local keymap for reading from the minibuffer. By
213default, it makes the following bindings: 215default, it makes the following bindings:
214 216
215@table @asis 217@table @asis
@@ -1509,7 +1511,7 @@ the call.
1509This function asks the user a question, expecting input in the echo 1511This function asks the user a question, expecting input in the echo
1510area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the 1512area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
1511user types @kbd{n}. This function also accepts @key{SPC} to mean yes 1513user types @kbd{n}. This function also accepts @key{SPC} to mean yes
1512and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like 1514and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like
1513@kbd{C-g}, because the question might look like a minibuffer and for 1515@kbd{C-g}, because the question might look like a minibuffer and for
1514that reason the user might try to use @kbd{C-]} to get out. The answer 1516that reason the user might try to use @kbd{C-]} to get out. The answer
1515is a single character, with no @key{RET} needed to terminate it. Upper 1517is a single character, with no @key{RET} needed to terminate it. Upper
@@ -1699,7 +1701,7 @@ answer); @var{function} is a function of one argument (an object from
1699 1701
1700When the user responds with @var{char}, @code{map-y-or-n-p} calls 1702When the user responds with @var{char}, @code{map-y-or-n-p} calls
1701@var{function}. If it returns non-@code{nil}, the object is considered 1703@var{function}. If it returns non-@code{nil}, the object is considered
1702``acted upon'', and @code{map-y-or-n-p} advances to the next object in 1704``acted upon,'' and @code{map-y-or-n-p} advances to the next object in
1703@var{list}. If it returns @code{nil}, the prompt is repeated for the 1705@var{list}. If it returns @code{nil}, the prompt is repeated for the
1704same object. 1706same object.
1705 1707
diff --git a/lispref/modes.texi b/lispref/modes.texi
index c98039d7ae0..b0c057ec1c9 100644
--- a/lispref/modes.texi
+++ b/lispref/modes.texi
@@ -145,7 +145,7 @@ If @var{function} is already present in @var{hook} (comparing using
145 145
146It is best to design your hook functions so that the order in which they 146It is best to design your hook functions so that the order in which they
147are executed does not matter. Any dependence on the order is ``asking 147are executed does not matter. Any dependence on the order is ``asking
148for trouble''. However, the order is predictable: normally, 148for trouble.'' However, the order is predictable: normally,
149@var{function} goes at the front of the hook list, so it will be 149@var{function} goes at the front of the hook list, so it will be
150executed first (barring another @code{add-hook} call). If the optional 150executed first (barring another @code{add-hook} call). If the optional
151argument @var{append} is non-@code{nil}, the new hook function goes at 151argument @var{append} is non-@code{nil}, the new hook function goes at
@@ -1139,7 +1139,7 @@ it should not use @code{after-change-major-mode-hook} as of yet.
1139 1139
1140 When you defined a major mode using @code{define-derived-mode}, it 1140 When you defined a major mode using @code{define-derived-mode}, it
1141automatically makes sure these conventions are followed. If you 1141automatically makes sure these conventions are followed. If you
1142define a major mode ``from scratch'', not using 1142define a major mode ``from scratch,'' not using
1143@code{define-derived-mode}, make sure the major mode command follows 1143@code{define-derived-mode}, make sure the major mode command follows
1144these and other conventions. @xref{Major Mode Conventions}. You use 1144these and other conventions. @xref{Major Mode Conventions}. You use
1145these functions to do it properly. 1145these functions to do it properly.
@@ -1354,9 +1354,8 @@ substituting your own definition of @code{self-insert-command} for the
1354standard one. The editor command loop handles this function specially.) 1354standard one. The editor command loop handles this function specially.)
1355 1355
1356The key sequences bound in a minor mode should consist of @kbd{C-c} 1356The key sequences bound in a minor mode should consist of @kbd{C-c}
1357followed by a punctuation character @emph{other than} @kbd{@{}, 1357followed by one of @kbd{.,/?`'"[]\|~!#$%^&*()-_+=}. (The other
1358@kbd{@}}, @kbd{<}, @kbd{>}, @kbd{:}, and @kbd{;}. (Those few punctuation 1358punctuation characters are reserved for major modes.)
1359characters are reserved for major modes.)
1360 1359
1361@node Defining Minor Modes 1360@node Defining Minor Modes
1362@subsection Defining Minor Modes 1361@subsection Defining Minor Modes
@@ -1456,7 +1455,7 @@ See the command \\[hungry-electric-delete]."
1456@end smallexample 1455@end smallexample
1457 1456
1458@noindent 1457@noindent
1459This defines a minor mode named ``Hungry mode'', a command named 1458This defines a minor mode named ``Hungry mode,'' a command named
1460@code{hungry-mode} to toggle it, a variable named @code{hungry-mode} 1459@code{hungry-mode} to toggle it, a variable named @code{hungry-mode}
1461which indicates whether the mode is enabled, and a variable named 1460which indicates whether the mode is enabled, and a variable named
1462@code{hungry-mode-map} which holds the keymap that is active when the 1461@code{hungry-mode-map} which holds the keymap that is active when the
@@ -2918,7 +2917,8 @@ way for a mode to set this variable to @code{t} is with
2918@defvar font-lock-syntax-table 2917@defvar font-lock-syntax-table
2919This variable holds the syntax table to use for fontification of 2918This variable holds the syntax table to use for fontification of
2920comments and strings. Specify it using @var{syntax-alist} in 2919comments and strings. Specify it using @var{syntax-alist} in
2921@code{font-lock-defaults}. 2920@code{font-lock-defaults}. If this is @code{nil}, fontification uses
2921the buffer's syntax table.
2922@end defvar 2922@end defvar
2923 2923
2924@defvar font-lock-beginning-of-syntax-function 2924@defvar font-lock-beginning-of-syntax-function
@@ -3049,7 +3049,7 @@ constructs:
3049 3049
3050@itemize 3050@itemize
3051@item 3051@item
3052Place a @code{font-lock-multiline} or @code{jit-lock-defer-multiline} 3052Place a @code{font-lock-multiline}
3053property on the construct when it is added to the buffer. 3053property on the construct when it is added to the buffer.
3054@item 3054@item
3055Use @code{font-lock-fontify-region-function} hook to extend the scan 3055Use @code{font-lock-fontify-region-function} hook to extend the scan
@@ -3076,7 +3076,6 @@ this can be an attractive solution.
3076Place a @code{jit-lock-defer-multiline} property on the construct. 3076Place a @code{jit-lock-defer-multiline} property on the construct.
3077This works only if @code{jit-lock-contextually} is used, but it can 3077This works only if @code{jit-lock-contextually} is used, but it can
3078handle the case where highlighting depends on subsequent lines. 3078handle the case where highlighting depends on subsequent lines.
3079@item
3080@end itemize 3079@end itemize
3081 3080
3082@menu 3081@menu
diff --git a/lispref/numbers.texi b/lispref/numbers.texi
index bac3b0e114c..fd730420cc6 100644
--- a/lispref/numbers.texi
+++ b/lispref/numbers.texi
@@ -606,12 +606,11 @@ otherwise, it signals an @code{arith-error} error.
606 @result{} 2.5 606 @result{} 2.5
607(/ 25 3 2) 607(/ 25 3 2)
608 @result{} 4 608 @result{} 4
609@group
609(/ -17 6) 610(/ -17 6)
610 @result{} -2 611 @result{} -2 @r{(could in theory be @minus{}3 on some machines)}
612@end group
611@end example 613@end example
612
613The result of @code{(/ -17 6)} could in principle be -3 on some
614machines.
615@end defun 614@end defun
616 615
617@defun % dividend divisor 616@defun % dividend divisor
@@ -738,7 +737,7 @@ and returns that value as a floating point number.
738sequence of @dfn{bits} (digits which are either zero or one). A bitwise 737sequence of @dfn{bits} (digits which are either zero or one). A bitwise
739operation acts on the individual bits of such a sequence. For example, 738operation acts on the individual bits of such a sequence. For example,
740@dfn{shifting} moves the whole sequence left or right one or more places, 739@dfn{shifting} moves the whole sequence left or right one or more places,
741reproducing the same pattern ``moved over''. 740reproducing the same pattern ``moved over.''
742 741
743 The bitwise operations in Emacs Lisp apply only to integers. 742 The bitwise operations in Emacs Lisp apply only to integers.
744 743
diff --git a/lispref/objects.texi b/lispref/objects.texi
index 3b51b96c780..cfb3864e9c9 100644
--- a/lispref/objects.texi
+++ b/lispref/objects.texi
@@ -632,7 +632,7 @@ come to refer to any structure made out of cons cells.
632 632
633@cindex atom 633@cindex atom
634 Because cons cells are so central to Lisp, we also have a word for 634 Because cons cells are so central to Lisp, we also have a word for
635``an object which is not a cons cell''. These objects are called 635``an object which is not a cons cell.'' These objects are called
636@dfn{atoms}. 636@dfn{atoms}.
637 637
638@cindex parenthesis 638@cindex parenthesis
@@ -1195,18 +1195,19 @@ Hash tables have no read syntax, and print using hash notation.
1195@node Function Type 1195@node Function Type
1196@subsection Function Type 1196@subsection Function Type
1197 1197
1198 Just as functions in other programming languages are executable, 1198 Lisp functions are executable code, just like functions in other
1199@dfn{Lisp function} objects are pieces of executable code. However, 1199programming languages. In Lisp, unlike most languages, functions are
1200functions in Lisp are primarily Lisp objects, and only secondarily the 1200also Lisp objects. A non-compiled function in Lisp is a lambda
1201text which represents them. These Lisp objects are lambda expressions: 1201expression: that is, a list whose first element is the symbol
1202lists whose first element is the symbol @code{lambda} (@pxref{Lambda 1202@code{lambda} (@pxref{Lambda Expressions}).
1203Expressions}).
1204 1203
1205 In most programming languages, it is impossible to have a function 1204 In most programming languages, it is impossible to have a function
1206without a name. In Lisp, a function has no intrinsic name. A lambda 1205without a name. In Lisp, a function has no intrinsic name. A lambda
1207expression is also called an @dfn{anonymous function} (@pxref{Anonymous 1206expression can be called as a function even though it has no name; to
1208Functions}). A named function in Lisp is actually a symbol with a valid 1207emphasize this, we also call it an @dfn{anonymous function}
1209function in its function cell (@pxref{Defining Functions}). 1208(@pxref{Anonymous Functions}). A named function in Lisp is just a
1209symbol with a valid function in its function cell (@pxref{Defining
1210Functions}).
1210 1211
1211 Most of the time, functions are called when their names are written in 1212 Most of the time, functions are called when their names are written in
1212Lisp expressions in Lisp programs. However, you can construct or obtain 1213Lisp expressions in Lisp programs. However, you can construct or obtain
@@ -1238,7 +1239,7 @@ without qualification, we mean a Lisp macro, not a keyboard macro.
1238 A @dfn{primitive function} is a function callable from Lisp but 1239 A @dfn{primitive function} is a function callable from Lisp but
1239written in the C programming language. Primitive functions are also 1240written in the C programming language. Primitive functions are also
1240called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is 1241called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is
1241derived from ``subroutine''.) Most primitive functions evaluate all 1242derived from ``subroutine.'') Most primitive functions evaluate all
1242their arguments when they are called. A primitive function that does 1243their arguments when they are called. A primitive function that does
1243not evaluate all its arguments is called a @dfn{special form} 1244not evaluate all its arguments is called a @dfn{special form}
1244(@pxref{Special Forms}).@refill 1245(@pxref{Special Forms}).@refill
@@ -1822,12 +1823,14 @@ This function returns a symbol naming the primitive type of
1822@example 1823@example
1823(type-of 1) 1824(type-of 1)
1824 @result{} integer 1825 @result{} integer
1826@group
1825(type-of 'nil) 1827(type-of 'nil)
1826 @result{} symbol 1828 @result{} symbol
1827(type-of '()) ; @r{@code{()} is @code{nil}.} 1829(type-of '()) ; @r{@code{()} is @code{nil}.}
1828 @result{} symbol 1830 @result{} symbol
1829(type-of '(x)) 1831(type-of '(x))
1830 @result{} cons 1832 @result{} cons
1833@end group
1831@end example 1834@end example
1832@end defun 1835@end defun
1833 1836
diff --git a/lispref/os.texi b/lispref/os.texi
index 5451ec8ecfd..e3634746988 100644
--- a/lispref/os.texi
+++ b/lispref/os.texi
@@ -1836,10 +1836,11 @@ tells you what Emacs thinks is the output speed of the terminal.
1836This variable's value is the output speed of the terminal, as far as 1836This variable's value is the output speed of the terminal, as far as
1837Emacs knows. Setting this variable does not change the speed of actual 1837Emacs knows. Setting this variable does not change the speed of actual
1838data transmission, but the value is used for calculations such as 1838data transmission, but the value is used for calculations such as
1839padding. It also affects decisions about whether to scroll part of the 1839padding.
1840screen or repaint---even when using a window system. (We designed it 1840
1841this way despite the fact that a window system has no true ``output 1841 It also affects decisions about whether to scroll part of the
1842speed'', to give you a way to tune these decisions.) 1842screen or repaint on text terminals. @xref{Forcing Redisplay},
1843for the corresponding functionality on graphical terminals.
1843 1844
1844The value is measured in baud. 1845The value is measured in baud.
1845@end defvar 1846@end defvar
diff --git a/lispref/processes.texi b/lispref/processes.texi
index a97690c698b..a6f43cfa95d 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -23,7 +23,7 @@ subprocess, the Lisp program waits for the subprocess to terminate
23before continuing execution. When you create an asynchronous 23before continuing execution. When you create an asynchronous
24subprocess, it can run in parallel with the Lisp program. This kind of 24subprocess, it can run in parallel with the Lisp program. This kind of
25subprocess is represented within Emacs by a Lisp object which is also 25subprocess is represented within Emacs by a Lisp object which is also
26called a ``process''. Lisp programs can use this object to communicate 26called a ``process.'' Lisp programs can use this object to communicate
27with the subprocess or to control it. For example, you can send 27with the subprocess or to control it. For example, you can send
28signals, obtain status information, receive output from the process, or 28signals, obtain status information, receive output from the process, or
29send input to it. 29send input to it.
@@ -1724,13 +1724,14 @@ level that that of @code{open-network-stream}, using
1724@code{make-network-process}. 1724@code{make-network-process}.
1725 1725
1726@menu 1726@menu
1727* Make Network:: Using @code{make-network-process}. 1727* Proc: Network Processes. Using @code{make-network-process}.
1728* Network Options:: Further control over network connections. 1728* Options: Network Options. Further control over network connections.
1729* Network Feature Testing:: Determining which network features work on 1729* Features: Network Feature Testing.
1730 Determining which network features work on
1730 the machine you are using. 1731 the machine you are using.
1731@end menu 1732@end menu
1732 1733
1733@node Make Network 1734@node Network Processes
1734@subsection @code{make-network-process} 1735@subsection @code{make-network-process}
1735 1736
1736 The basic function for creating network connections and network 1737 The basic function for creating network connections and network
@@ -2106,7 +2107,7 @@ processed, and how to pack or unpack it.
2106that the field represents and, in the case of multibyte fields, how 2107that the field represents and, in the case of multibyte fields, how
2107the bytes are ordered within the field. The two possible orderings 2108the bytes are ordered within the field. The two possible orderings
2108are ``big endian'' (also known as ``network byte ordering'') and 2109are ``big endian'' (also known as ``network byte ordering'') and
2109``little endian''. For instance, the number @code{#x23cd} (decimal 2110``little endian.'' For instance, the number @code{#x23cd} (decimal
21109165) in big endian would be the two bytes @code{#x23} @code{#xcd}; 21119165) in big endian would be the two bytes @code{#x23} @code{#xcd};
2111and in little endian, @code{#xcd} @code{#x23}. Here are the possible 2112and in little endian, @code{#xcd} @code{#x23}. Here are the possible
2112type values: 2113type values:
diff --git a/lispref/sequences.texi b/lispref/sequences.texi
index 9efd38e3abe..35cff43739d 100644
--- a/lispref/sequences.texi
+++ b/lispref/sequences.texi
@@ -513,8 +513,8 @@ Functions}, @code{concat} in @ref{Creating Strings}, and @code{append}
513in @ref{Building Lists}. 513in @ref{Building Lists}.
514@end defun 514@end defun
515 515
516 The @code{append} function provides a way to convert a vector into a 516 The @code{append} function also provides a way to convert a vector into a
517list with the same elements (@pxref{Building Lists}): 517list with the same elements:
518 518
519@example 519@example
520@group 520@group
diff --git a/lispref/streams.texi b/lispref/streams.texi
index 8b28f06ac70..4fad9a2a3cd 100644
--- a/lispref/streams.texi
+++ b/lispref/streams.texi
@@ -116,7 +116,7 @@ When it is called with one argument (always a character), @var{function}
116should save the argument and arrange to return it on the next call. 116should save the argument and arrange to return it on the next call.
117This is called @dfn{unreading} the character; it happens when the Lisp 117This is called @dfn{unreading} the character; it happens when the Lisp
118reader reads one character too many and wants to ``put it back where it 118reader reads one character too many and wants to ``put it back where it
119came from''. In this case, it makes no difference what value 119came from.'' In this case, it makes no difference what value
120@var{function} returns. 120@var{function} returns.
121@end itemize 121@end itemize
122 122
@@ -620,7 +620,7 @@ spacing between calls.
620@defun terpri &optional stream 620@defun terpri &optional stream
621@cindex newline in print 621@cindex newline in print
622This function outputs a newline to @var{stream}. The name stands 622This function outputs a newline to @var{stream}. The name stands
623for ``terminate print''. 623for ``terminate print.''
624@end defun 624@end defun
625 625
626@defun write-char character &optional stream 626@defun write-char character &optional stream
diff --git a/lispref/strings.texi b/lispref/strings.texi
index 796090bb80c..46c01982f32 100644
--- a/lispref/strings.texi
+++ b/lispref/strings.texi
@@ -285,7 +285,7 @@ If @var{omit-nulls} is @code{nil}, the result contains null strings
285whenever there are two consecutive matches for @var{separators}, or a 285whenever there are two consecutive matches for @var{separators}, or a
286match is adjacent to the beginning or end of @var{string}. If 286match is adjacent to the beginning or end of @var{string}. If
287@var{omit-nulls} is @code{t}, these null strings are omitted from the 287@var{omit-nulls} is @code{t}, these null strings are omitted from the
288result list. 288result.
289 289
290If @var{separators} is @code{nil} (or omitted), 290If @var{separators} is @code{nil} (or omitted),
291the default is the value of @code{split-string-default-separators}. 291the default is the value of @code{split-string-default-separators}.
@@ -544,10 +544,11 @@ be a list of strings rather than an actual alist.
544@xref{Association Lists}. 544@xref{Association Lists}.
545@end defun 545@end defun
546 546
547 See also @code{compare-buffer-substrings} in @ref{Comparing Text}, for 547 See also the @code{compare-buffer-substrings} function in
548a way to compare text in buffers. The function @code{string-match}, 548@ref{Comparing Text}, for a way to compare text in buffers. The
549which matches a regular expression against a string, can be used 549function @code{string-match}, which matches a regular expression
550for a kind of string comparison; see @ref{Regexp Search}. 550against a string, can be used for a kind of string comparison; see
551@ref{Regexp Search}.
551 552
552@node String Conversion 553@node String Conversion
553@comment node-name, next, previous, up 554@comment node-name, next, previous, up
@@ -566,7 +567,7 @@ text representation of a string (@pxref{Converting Representations}).
566 @xref{Documentation}, for functions that produce textual descriptions 567 @xref{Documentation}, for functions that produce textual descriptions
567of text characters and general input events 568of text characters and general input events
568(@code{single-key-description} and @code{text-char-description}). These 569(@code{single-key-description} and @code{text-char-description}). These
569functions are used primarily for making help messages. 570are used primarily for making help messages.
570 571
571@defun char-to-string character 572@defun char-to-string character
572@cindex character to string 573@cindex character to string
@@ -809,7 +810,7 @@ operation} error.
809 810
810@cindex field width 811@cindex field width
811@cindex padding 812@cindex padding
812 All the specification characters allow an optional ``width'', which 813 All the specification characters allow an optional ``width,'' which
813is a digit-string between the @samp{%} and the character. If the 814is a digit-string between the @samp{%} and the character. If the
814printed representation of the object contains fewer characters than 815printed representation of the object contains fewer characters than
815this width, then it is padded. The padding is on the left if the 816this width, then it is padded. The padding is on the left if the
@@ -880,7 +881,7 @@ A space character inserts a space for positive numbers (otherwise
880nothing is inserted for positive numbers). This flag is ignored 881nothing is inserted for positive numbers). This flag is ignored
881except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}. 882except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}.
882 883
883The flag @samp{#} indicates ``alternate form''. For @samp{%o} it 884The flag @samp{#} indicates ``alternate form.'' For @samp{%o} it
884ensures that the result begins with a 0. For @samp{%x} and @samp{%X} 885ensures that the result begins with a 0. For @samp{%x} and @samp{%X}
885the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e}, 886the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e},
886@samp{%f}, and @samp{%g} a decimal point is always shown even if the 887@samp{%f}, and @samp{%g} a decimal point is always shown even if the
diff --git a/lispref/symbols.texi b/lispref/symbols.texi
index f484b0da067..a1b2b8855be 100644
--- a/lispref/symbols.texi
+++ b/lispref/symbols.texi
@@ -160,7 +160,7 @@ be customized, use @code{defcustom} (@pxref{Customization}).
160 @code{defun} defines a symbol as a function, creating a lambda 160 @code{defun} defines a symbol as a function, creating a lambda
161expression and storing it in the function cell of the symbol. This 161expression and storing it in the function cell of the symbol. This
162lambda expression thus becomes the function definition of the symbol. 162lambda expression thus becomes the function definition of the symbol.
163(The term ``function definition'', meaning the contents of the function 163(The term ``function definition,'' meaning the contents of the function
164cell, is derived from the idea that @code{defun} gives the symbol its 164cell, is derived from the idea that @code{defun} gives the symbol its
165definition as a function.) @code{defsubst} and @code{defalias} are two 165definition as a function.) @code{defsubst} and @code{defalias} are two
166other ways of defining a function. @xref{Functions}. 166other ways of defining a function. @xref{Functions}.
diff --git a/lispref/syntax.texi b/lispref/syntax.texi
index 305f347c9f6..54b0d4a0bc0 100644
--- a/lispref/syntax.texi
+++ b/lispref/syntax.texi
@@ -332,8 +332,8 @@ Emacs supports two comment styles simultaneously in any one syntax
332table. This is for the sake of C++. Each style of comment syntax has 332table. This is for the sake of C++. Each style of comment syntax has
333its own comment-start sequence and its own comment-end sequence. Each 333its own comment-start sequence and its own comment-end sequence. Each
334comment must stick to one style or the other; thus, if it starts with 334comment must stick to one style or the other; thus, if it starts with
335the comment-start sequence of style ``b'', it must also end with the 335the comment-start sequence of style ``b,'' it must also end with the
336comment-end sequence of style ``b''. 336comment-end sequence of style ``b.''
337 337
338The two comment-start sequences must begin with the same character; only 338The two comment-start sequences must begin with the same character; only
339the second character may differ. Mark the second character of the 339the second character may differ. Mark the second character of the
@@ -706,7 +706,7 @@ The minimum parenthesis depth encountered during this scan.
706@item 706@item
707What kind of comment is active: @code{nil} for a comment of style 707What kind of comment is active: @code{nil} for a comment of style
708``a'' or when not inside a comment, @code{t} for a comment of style 708``a'' or when not inside a comment, @code{t} for a comment of style
709``b'', and @code{syntax-table} for a comment that should be ended by a 709``b,'' and @code{syntax-table} for a comment that should be ended by a
710generic comment delimiter character. 710generic comment delimiter character.
711 711
712@item 712@item
diff --git a/lispref/text.texi b/lispref/text.texi
index c598a4c2010..898f33443b5 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -57,8 +57,8 @@ the character after point.
57* Registers:: How registers are implemented. Accessing the text or 57* Registers:: How registers are implemented. Accessing the text or
58 position stored in a register. 58 position stored in a register.
59* Base 64:: Conversion to or from base 64 encoding. 59* Base 64:: Conversion to or from base 64 encoding.
60* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. 60* MD5 Checksum:: Compute the MD5 "message digest"/"checksum".
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
@@ -566,7 +566,7 @@ error; if some of the text in it is read-only, it signals a
566asking for any confirmation. It returns @code{nil}. 566asking for any confirmation. It returns @code{nil}.
567 567
568Normally, deleting a large amount of text from a buffer inhibits further 568Normally, deleting a large amount of text from a buffer inhibits further
569auto-saving of that buffer ``because it has shrunk''. However, 569auto-saving of that buffer ``because it has shrunk.'' However,
570@code{erase-buffer} does not do this, the idea being that the future 570@code{erase-buffer} does not do this, the idea being that the future
571text is not really related to the former text, and its size should not 571text is not really related to the former text, and its size should not
572be compared with that of the former text. 572be compared with that of the former text.
@@ -817,7 +817,7 @@ that treat it as a ring.
817 817
818 Some people think this use of the word ``kill'' is unfortunate, since 818 Some people think this use of the word ``kill'' is unfortunate, since
819it refers to operations that specifically @emph{do not} destroy the 819it refers to operations that specifically @emph{do not} destroy the
820entities ``killed''. This is in sharp contrast to ordinary life, in 820entities ``killed.'' This is in sharp contrast to ordinary life, in
821which death is permanent and ``killed'' entities do not come back to 821which death is permanent and ``killed'' entities do not come back to
822life. Therefore, other metaphors have been proposed. For example, the 822life. Therefore, other metaphors have been proposed. For example, the
823term ``cut ring'' makes sense to people who, in pre-computer days, used 823term ``cut ring'' makes sense to people who, in pre-computer days, used
@@ -1106,8 +1106,8 @@ programs, when you are using a window system. Its value should be
1106@code{nil} or a function of no arguments. 1106@code{nil} or a function of no arguments.
1107 1107
1108If the value is a function, @code{current-kill} calls it to get the 1108If the value is a function, @code{current-kill} calls it to get the
1109``most recent kill''. If the function returns a non-@code{nil} value, 1109``most recent kill.'' If the function returns a non-@code{nil} value,
1110then that value is used as the ``most recent kill''. If it returns 1110then that value is used as the ``most recent kill.'' If it returns
1111@code{nil}, then the front of the kill ring is used. 1111@code{nil}, then the front of the kill ring is used.
1112 1112
1113The normal use of this hook is to get the window system's primary 1113The normal use of this hook is to get the window system's primary
@@ -3012,24 +3012,23 @@ that all text between the character and where the mouse is have the same
3012 3012
3013@item fontified 3013@item fontified
3014@kindex fontified @r{(text property)} 3014@kindex fontified @r{(text property)}
3015This property says whether the text has had faces assigned to it by 3015This property says whether the character has a face assigned to it by font
3016font locking. The display engine tests it to decide whether a buffer 3016locking. The display engine tests it to decide whether a buffer
3017portion needs refontifying before display. @xref{Auto Faces}. It 3017portion needs refontifying before display. @xref{Auto Faces}. It
3018takes one of these three values---other values are invalid: 3018takes one of three values:
3019 3019
3020@table @asis 3020@table @asis
3021@item @code{nil} 3021@item @code{nil}
3022Font locking is disabled, or the @code{face} properties on the text, 3022Font locking is disabled, or the character's @code{face} property, if
3023if any, are invalid. 3023any, is invalid.
3024 3024
3025@item The symbol @code{defer} 3025@item @code{defer}
3026This value states that the text's @code{face} properties are invalid 3026This value is only used when ``just in time'' font locking is enabled
3027and marks it for deferred fontification. It is used only when ``just 3027and it means that the character's @code{face} property is invalid and
3028in time'' font locking is enabled. 3028needs deferred fontification.
3029 3029
3030@item @code{t} 3030@item @code{t}
3031The @code{face} properties, or lack of them, on the text are currently 3031The character's @code{face} property, or absence of one, is valid.
3032valid.
3033@end table 3032@end table
3034 3033
3035@item display 3034@item display
@@ -3058,16 +3057,14 @@ argument is as follows:
3058 3057
3059@itemize @bullet{} 3058@itemize @bullet{}
3060@item 3059@item
3061If @var{object} is a buffer, @var{pos} is the position in the buffer 3060If @var{object} is a buffer, @var{pos} is the position in the buffer.
3062where the @code{help-echo} text property was found.
3063@item 3061@item
3064If @var{object} is an overlay, that overlay has a @code{help-echo} 3062If @var{object} is an overlay, that overlay has a @code{help-echo}
3065property, and @var{pos} is the position in the overlay's buffer under 3063property, and @var{pos} is the position in the overlay's buffer.
3066the mouse.
3067@item 3064@item
3068If @var{object} is a string (an overlay string or a string displayed 3065If @var{object} is a string (an overlay string or a string displayed
3069with the @code{display} property), @var{pos} is the position in that 3066with the @code{display} property), @var{pos} is the position in that
3070string under the mouse. 3067string.
3071@end itemize 3068@end itemize
3072 3069
3073If the value of the @code{help-echo} property is neither a function nor 3070If the value of the @code{help-echo} property is neither a function nor
@@ -3482,13 +3479,12 @@ being called over and over for the same text.
3482@subsection Defining Clickable Text 3479@subsection Defining Clickable Text
3483@cindex clickable text 3480@cindex clickable text
3484 3481
3485 There are two ways to set up @dfn{clickable text} in a buffer. 3482 There are two parts of setting up @dfn{clickable text} in a buffer:
3486There are typically two parts of this: to make the text highlight 3483(1) to make that text highlight when the mouse moves over it, and (2)
3487when the mouse is over it, and to make a mouse button do something 3484to make a mouse button do something when you click on that text.
3488when you click it on that part of the text.
3489 3485
3490 Highlighting is done with the @code{mouse-face} text property. 3486 For highlighting, use the @code{mouse-face} text property. Here is
3491Here is an example of how Dired does it: 3487an example of how Dired does it:
3492 3488
3493@smallexample 3489@smallexample
3494(condition-case nil 3490(condition-case nil
@@ -3666,7 +3662,8 @@ a @key{Mouse-1} click shall be translated to @key{RET}:
3666 3662
3667@defun mouse-on-link-p pos 3663@defun mouse-on-link-p pos
3668This function returns non-@code{nil} if position @var{pos} in the 3664This function returns non-@code{nil} if position @var{pos} in the
3669current buffer is on a link. 3665current buffer is on a link. @var{pos} can also be a mouse event
3666location, as returned by @code{event-start} (@pxref{Accessing Events}).
3670@end defun 3667@end defun
3671 3668
3672@node Fields 3669@node Fields
diff --git a/lispref/tips.texi b/lispref/tips.texi
index 4dc24196272..3a74aa62716 100644
--- a/lispref/tips.texi
+++ b/lispref/tips.texi
@@ -702,15 +702,15 @@ use @code{defvar} instead, start the doc string with a @samp{*}.
702 702
703@item 703@item
704The documentation string for a variable that is a yes-or-no flag should 704The documentation string for a variable that is a yes-or-no flag should
705start with words such as ``Non-nil means@dots{}'', to make it clear that 705start with words such as ``Non-nil means,'' to make it clear that
706all non-@code{nil} values are equivalent and indicate explicitly what 706all non-@code{nil} values are equivalent and indicate explicitly what
707@code{nil} and non-@code{nil} mean. 707@code{nil} and non-@code{nil} mean.
708 708
709@item 709@item
710The documentation string for a function that is a yes-or-no predicate 710The documentation string for a function that is a yes-or-no predicate
711should start with words such as ``Return t if @dots{}'', to indicate 711should start with words such as ``Return t if,'' to indicate
712explicitly what constitutes ``truth''. The word ``return'' avoids 712explicitly what constitutes ``truth.'' The word ``return'' avoids
713starting the sentence with lower-case ``t'', which is somewhat 713starting the sentence with lower-case ``t,'' which could be somewhat
714distracting. 714distracting.
715 715
716@item 716@item
@@ -736,7 +736,7 @@ have the form (KEY . VALUE). Here, KEY is ...
736 736
737@item 737@item
738Never change the case of a Lisp symbol when you mention it in a doc 738Never change the case of a Lisp symbol when you mention it in a doc
739string. If the symbol's name is @code{foo}, write ``foo'', not 739string. If the symbol's name is @code{foo}, write ``foo,'' not
740``Foo'' (which is a different symbol). 740``Foo'' (which is a different symbol).
741 741
742This might appear to contradict the policy of writing function 742This might appear to contradict the policy of writing function
diff --git a/lispref/variables.texi b/lispref/variables.texi
index 656224367ac..5c54701cdd4 100644
--- a/lispref/variables.texi
+++ b/lispref/variables.texi
@@ -726,7 +726,7 @@ has no local bindings.
726@end group 726@end group
727 727
728@group 728@group
729;; @r{Here the value of @code{abracadabra},} 729;; @r{Here, the value of @code{abracadabra},}
730;; @r{which is @code{foo},} 730;; @r{which is @code{foo},}
731;; @r{is the symbol whose value is examined.} 731;; @r{is the symbol whose value is examined.}
732(let ((abracadabra 'foo)) 732(let ((abracadabra 'foo))
@@ -858,105 +858,6 @@ always affects the most local existing binding.
858@end quotation 858@end quotation
859@end defun 859@end defun
860 860
861 One other function for setting a variable is designed to add
862an element to a list if it is not already present in the list.
863
864@defun add-to-list symbol element &optional append
865This function sets the variable @var{symbol} by consing @var{element}
866onto the old value, if @var{element} is not already a member of that
867value. It returns the resulting list, whether updated or not. The
868value of @var{symbol} had better be a list already before the call.
869Membership is tested using @code{equal}.
870
871Normally, if @var{element} is added, it is added to the front of
872@var{symbol}, but if the optional argument @var{append} is
873non-@code{nil}, it is added at the end.
874
875The argument @var{symbol} is not implicitly quoted; @code{add-to-list}
876is an ordinary function, like @code{set} and unlike @code{setq}. Quote
877the argument yourself if that is what you want.
878@end defun
879
880Here's a scenario showing how to use @code{add-to-list}:
881
882@example
883(setq foo '(a b))
884 @result{} (a b)
885
886(add-to-list 'foo 'c) ;; @r{Add @code{c}.}
887 @result{} (c a b)
888
889(add-to-list 'foo 'b) ;; @r{No effect.}
890 @result{} (c a b)
891
892foo ;; @r{@code{foo} was changed.}
893 @result{} (c a b)
894@end example
895
896 An equivalent expression for @code{(add-to-list '@var{var}
897@var{value})} is this:
898
899@example
900(or (member @var{value} @var{var})
901 (setq @var{var} (cons @var{value} @var{var})))
902@end example
903
904@defun add-to-ordered-list symbol element &optional order
905This function sets the variable @var{symbol} by inserting
906@var{element} into the old value, which must be a list, at the
907position specified by @var{order}. If @var{element} is already a
908member of the list, its position in the list is adjusted according
909to @var{order}. Membership is tested using @code{eq}.
910This function returns the resulting list, whether updated or not.
911
912The @var{order} is typically a number (integer or float), and the
913elements of the list are sorted in non-decreasing numerical order.
914
915@var{order} may also be omitted or @code{nil}. Then the numeric order
916of @var{element} stays unchanged if it already has one; otherwise,
917@var{element} has no numeric order. Elements without a numeric list
918order are placed at the end of the list, in no particular order.
919
920Any other value for @var{order} removes the numeric order of @var{element}
921if it already has one; otherwise, it is equivalent to @code{nil}.
922
923The argument @var{symbol} is not implicitly quoted;
924@code{add-to-ordered-list} is an ordinary function, like @code{set}
925and unlike @code{setq}. Quote the argument yourself if that is what
926you want.
927
928The ordering information is stored in a hash table on @var{symbol}'s
929@code{list-order} property.
930@end defun
931
932Here's a scenario showing how to use @code{add-to-ordered-list}:
933
934@example
935(setq foo '())
936 @result{} nil
937
938(add-to-ordered-list 'foo 'a 1) ;; @r{Add @code{a}.}
939 @result{} (a)
940
941(add-to-ordered-list 'foo 'c 3) ;; @r{Add @code{c}.}
942 @result{} (a c)
943
944(add-to-ordered-list 'foo 'b 2) ;; @r{Add @code{b}.}
945 @result{} (a b c)
946
947(add-to-ordered-list 'foo 'b 4) ;; @r{Move @code{b}.}
948 @result{} (a c b)
949
950(add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.}
951 @result{} (a c b d)
952
953(add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}.
954 @result{} (a c b e d)
955
956foo ;; @r{@code{foo} was changed.}
957 @result{} (a c b e d)
958@end example
959
960@node Variable Scoping 861@node Variable Scoping
961@section Scoping Rules for Variable Bindings 862@section Scoping Rules for Variable Bindings
962 863
@@ -1096,7 +997,7 @@ is no longer bound to the actual argument 2.
1096@end example 997@end example
1097 998
1098@cindex closures not available 999@cindex closures not available
1099 Some Lisp dialects have ``closures'', objects that are like functions 1000 Some Lisp dialects have ``closures,'' objects that are like functions
1100but record additional variable bindings. Emacs Lisp does not have 1001but record additional variable bindings. Emacs Lisp does not have
1101closures. 1002closures.
1102 1003
@@ -1459,7 +1360,7 @@ buffer-local variables interactively.
1459 1360
1460@defun kill-all-local-variables 1361@defun kill-all-local-variables
1461This function eliminates all the buffer-local variable bindings of the 1362This function eliminates all the buffer-local variable bindings of the
1462current buffer except for variables marked as ``permanent''. As a 1363current buffer except for variables marked as ``permanent.'' As a
1463result, the buffer will see the default values of most variables. 1364result, the buffer will see the default values of most variables.
1464 1365
1465This function also resets certain other information pertaining to the 1366This function also resets certain other information pertaining to the
@@ -1744,10 +1645,12 @@ local bindings, we will provide it in a subsequent Emacs version.
1744@node File Local Variables 1645@node File Local Variables
1745@section File Local Variables 1646@section File Local Variables
1746 1647
1747 This section describes the functions and variables that affect 1648 A file can specify local variable values; Emacs uses these to create
1748processing of file local variables. @xref{File variables, , 1649buffer-local bindings for those variables in the buffer visiting that
1749Local Variables in Files, emacs, The GNU Emacs Manual}, for basic 1650file. @xref{File variables, , Local Variables in Files, emacs, The
1750information about file local variables. 1651GNU Emacs Manual}, for basic information about file local variables.
1652This section describes the functions and variables that affect
1653processing of file local variables.
1751 1654
1752@defopt enable-local-variables 1655@defopt enable-local-variables
1753This variable controls whether to process file local variables. A 1656This variable controls whether to process file local variables. A
diff --git a/lispref/vol1.texi b/lispref/vol1.texi
index b6b071bf444..ac2958e9b09 100644
--- a/lispref/vol1.texi
+++ b/lispref/vol1.texi
@@ -416,7 +416,7 @@ Kinds of Forms
416* Classifying Lists:: How to distinguish various sorts of list forms. 416* Classifying Lists:: How to distinguish various sorts of list forms.
417* Function Forms:: Forms that call functions. 417* Function Forms:: Forms that call functions.
418* Macro Forms:: Forms that call macros. 418* Macro Forms:: Forms that call macros.
419* Special Forms:: ``Special forms'' are idiosyncratic primitives, 419* Special Forms:: "Special forms" are idiosyncratic primitives,
420 most of them extremely important. 420 most of them extremely important.
421* Autoloading:: Functions set up to load files 421* Autoloading:: Functions set up to load files
422 containing their real definitions. 422 containing their real definitions.
@@ -709,7 +709,7 @@ Buffers
709 is visited. 709 is visited.
710* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 710* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
711* Modification Time:: Determining whether the visited file was changed 711* Modification Time:: Determining whether the visited file was changed
712 ``behind Emacs's back''. 712 "behind Emacs's back".
713* Read Only Buffers:: Modifying text is not allowed in a 713* Read Only Buffers:: Modifying text is not allowed in a
714 read-only buffer. 714 read-only buffer.
715* The Buffer List:: How to look at all the existing buffers. 715* The Buffer List:: How to look at all the existing buffers.
@@ -788,8 +788,8 @@ Markers
788* Information from Markers:: Finding the marker's buffer or character 788* Information from Markers:: Finding the marker's buffer or character
789 position. 789 position.
790* Changing Markers:: Moving the marker to a new buffer or position. 790* Changing Markers:: Moving the marker to a new buffer or position.
791* The Mark:: How ``the mark'' is implemented with a marker. 791* The Mark:: How "the mark" is implemented with a marker.
792* The Region:: How to access ``the region''. 792* The Region:: How to access "the region".
793 793
794Text 794Text
795 795
diff --git a/lispref/vol2.texi b/lispref/vol2.texi
index e5da029db1a..c59449d4eee 100644
--- a/lispref/vol2.texi
+++ b/lispref/vol2.texi
@@ -417,7 +417,7 @@ Kinds of Forms
417* Classifying Lists:: How to distinguish various sorts of list forms. 417* Classifying Lists:: How to distinguish various sorts of list forms.
418* Function Forms:: Forms that call functions. 418* Function Forms:: Forms that call functions.
419* Macro Forms:: Forms that call macros. 419* Macro Forms:: Forms that call macros.
420* Special Forms:: ``Special forms'' are idiosyncratic primitives, 420* Special Forms:: "Special forms" are idiosyncratic primitives,
421 most of them extremely important. 421 most of them extremely important.
422* Autoloading:: Functions set up to load files 422* Autoloading:: Functions set up to load files
423 containing their real definitions. 423 containing their real definitions.
@@ -710,7 +710,7 @@ Buffers
710 is visited. 710 is visited.
711* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 711* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
712* Modification Time:: Determining whether the visited file was changed 712* Modification Time:: Determining whether the visited file was changed
713 ``behind Emacs's back''. 713 "behind Emacs's back".
714* Read Only Buffers:: Modifying text is not allowed in a 714* Read Only Buffers:: Modifying text is not allowed in a
715 read-only buffer. 715 read-only buffer.
716* The Buffer List:: How to look at all the existing buffers. 716* The Buffer List:: How to look at all the existing buffers.
@@ -789,8 +789,8 @@ Markers
789* Information from Markers:: Finding the marker's buffer or character 789* Information from Markers:: Finding the marker's buffer or character
790 position. 790 position.
791* Changing Markers:: Moving the marker to a new buffer or position. 791* Changing Markers:: Moving the marker to a new buffer or position.
792* The Mark:: How ``the mark'' is implemented with a marker. 792* The Mark:: How "the mark" is implemented with a marker.
793* The Region:: How to access ``the region''. 793* The Region:: How to access "the region".
794 794
795Text 795Text
796 796
diff --git a/lispref/windows.texi b/lispref/windows.texi
index 973b429a04e..a86dd6ec812 100644
--- a/lispref/windows.texi
+++ b/lispref/windows.texi
@@ -1474,7 +1474,7 @@ window is the one at the bottom right corner. In this case,
1474@code{scroll-other-window} attempts to scroll the minibuffer. If the 1474@code{scroll-other-window} attempts to scroll the minibuffer. If the
1475minibuffer contains just one line, it has nowhere to scroll to, so the 1475minibuffer contains just one line, it has nowhere to scroll to, so the
1476line reappears after the echo area momentarily displays the message 1476line reappears after the echo area momentarily displays the message
1477``Beginning of buffer''. 1477@samp{Beginning of buffer}.
1478@end deffn 1478@end deffn
1479 1479
1480@c Emacs 19 feature 1480@c Emacs 19 feature
@@ -1676,8 +1676,8 @@ times the normal character width. How many characters actually
1676disappear off to the left depends on their width, and could vary from 1676disappear off to the left depends on their width, and could vary from
1677line to line. 1677line to line.
1678 1678
1679 Because we read from side to side in the ``inner loop'', and from top 1679 Because we read from side to side in the ``inner loop,'' and from top
1680to bottom in the ``outer loop'', the effect of horizontal scrolling is 1680to bottom in the ``outer loop,'' the effect of horizontal scrolling is
1681not like that of textual or vertical scrolling. Textual scrolling 1681not like that of textual or vertical scrolling. Textual scrolling
1682involves selection of a portion of text to display, and vertical 1682involves selection of a portion of text to display, and vertical
1683scrolling moves the window contents contiguously; but horizontal 1683scrolling moves the window contents contiguously; but horizontal