aboutsummaryrefslogtreecommitdiffstats
path: root/lispref
diff options
context:
space:
mode:
authorKaroly Lorentey2007-04-22 12:42:47 +0000
committerKaroly Lorentey2007-04-22 12:42:47 +0000
commit9d0799072a0d09bc14a99eaf372b262d1ba61399 (patch)
tree76acd4ae0559776a5ec27fbd5c25598285ec71d1 /lispref
parente18c709364b095ea0be8ecabe458ac9a642a252f (diff)
parenta20becf321f023c6dc1831595712576d64e2ef4b (diff)
downloademacs-9d0799072a0d09bc14a99eaf372b262d1ba61399.tar.gz
emacs-9d0799072a0d09bc14a99eaf372b262d1ba61399.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-674 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-675 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-676 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-677 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-678 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-679 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-680 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-681 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-682 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-683 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-684 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-685 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-686 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-687 Release ERC 5.2. * emacs@sv.gnu.org/emacs--devo--0--patch-688 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-689 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-690 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-691 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-692 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-693 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-694 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-695 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-696 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-697 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-698 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-699 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-700 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-701 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-209 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-210 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-211 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-212 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-213 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-214 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-215 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-601
Diffstat (limited to 'lispref')
-rw-r--r--lispref/ChangeLog279
-rw-r--r--lispref/abbrevs.texi2
-rw-r--r--lispref/advice.texi3
-rw-r--r--lispref/anti.texi9
-rw-r--r--lispref/backups.texi29
-rw-r--r--lispref/buffers.texi18
-rw-r--r--lispref/commands.texi34
-rw-r--r--lispref/compile.texi3
-rw-r--r--lispref/customize.texi13
-rw-r--r--lispref/debugging.texi10
-rw-r--r--lispref/display.texi64
-rw-r--r--lispref/edebug.texi17
-rw-r--r--lispref/elisp.texi17
-rw-r--r--lispref/errors.texi1
-rw-r--r--lispref/eval.texi4
-rw-r--r--lispref/files.texi20
-rw-r--r--lispref/frames.texi33
-rw-r--r--lispref/functions.texi17
-rw-r--r--lispref/hash.texi9
-rw-r--r--lispref/help.texi5
-rw-r--r--lispref/internals.texi7
-rw-r--r--lispref/intro.texi17
-rw-r--r--lispref/keymaps.texi14
-rw-r--r--lispref/lists.texi45
-rw-r--r--lispref/loading.texi39
-rw-r--r--lispref/locals.texi7
-rw-r--r--lispref/macros.texi7
-rw-r--r--lispref/maps.texi2
-rw-r--r--lispref/markers.texi5
-rw-r--r--lispref/minibuf.texi8
-rw-r--r--lispref/modes.texi11
-rw-r--r--lispref/nonascii.texi30
-rw-r--r--lispref/numbers.texi24
-rw-r--r--lispref/objects.texi16
-rw-r--r--lispref/os.texi36
-rw-r--r--lispref/positions.texi4
-rw-r--r--lispref/processes.texi19
-rw-r--r--lispref/searching.texi29
-rw-r--r--lispref/sequences.texi2
-rw-r--r--lispref/streams.texi1
-rw-r--r--lispref/strings.texi25
-rw-r--r--lispref/symbols.texi4
-rw-r--r--lispref/syntax.texi13
-rw-r--r--lispref/text.texi43
-rw-r--r--lispref/tips.texi9
-rw-r--r--lispref/variables.texi12
-rw-r--r--lispref/windows.texi10
47 files changed, 713 insertions, 313 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 1510ec19e05..87aae706fc6 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,282 @@
12007-04-15 Chong Yidong <cyd@stupidchicken.com>
2
3 * frames.texi (Multiple Displays): Add note about "multi-monitor"
4 setups.
5 (Display Feature Testing): Note that display refers to all
6 physical monitors for multi-monitor setups.
7
82007-04-14 Richard Stallman <rms@gnu.org>
9
10 * lists.texi (Sets And Lists): Clarify `delete' examples.
11 Remove spurious xref to same node.
12 Clarify xref for add-to-list.
13
142007-04-12 Nick Roberts <nickrob@snap.net.nz>
15
16 * keymaps.texi (Format of Keymaps): Remove spurious ")" from
17 value of lisp-mode-map.
18
192007-04-11 Karl Berry <karl@gnu.org>
20
21 * anti.texi (Antinews),
22 * display.texi (Overlay Properties) and (Defining Images),
23 * processes.texi (Synchronous Processes) and (Sentinels),
24 * syntax.texi (Syntax Table Internals),
25 * searching.texi (Regexp Special),
26 * nonascii.texi (Default Coding Systems),
27 * text.texi (Special Properties),
28 * minibuf.texi (Basic Completion): Wording to improve breaks in
29 8.5x11 format.
30 * elisp.texi (smallbook): new @set to more easily switch between
31 smallbook and 8.5x11.
32
332007-04-11 Richard Stallman <rms@gnu.org>
34
35 * text.texi (Lazy Properties): Minor fix.
36
372007-04-08 Karl Berry <karl@gnu.org>
38
39 * symbols.texi (Plists and Alists): Period after "vs" in index entries.
40 * macros.texi (Backquote): Downcase Backquote in index entries for
41 consistency.
42
432007-04-08 Richard Stallman <rms@gnu.org>
44
45 * text.texi (Adaptive Fill): Just describe default,
46 don't show it (since it contains non-ASCII chars).
47
482007-04-07 Karl Berry <karl@gnu.org>
49
50 * text.texi (Adaptive Fill) [@iftex]: Omit binary characters in
51 adaptive-fill-regexp's value, since they are not in the standard
52 TeX fonts.
53
542007-04-07 Herbert Euler <herberteuler@hotmail.com>
55
56 * display.texi (Defining Faces): Fix example.
57
582007-04-07 Karl Berry <karl@gnu.org>
59
60 * display.texi (Button Buffer Commands): Improve page break.
61
622007-04-07 Richard Stallman <rms@gnu.org>
63
64 * advice.texi (Activation of Advice): Remove redundant index entry.
65
66 * backups.texi: Improve index entries. Remove redundant ones.
67
68 * compile.texi (Byte Compilation): Improve index entry.
69
70 * hash.texi (Creating Hash): Improve index entry.
71
72 * symbols.texi (Definitions): Improve index entry.
73
74 * edebug.texi: Improve index entries. Remove redundant/useless ones.
75
76 * maps.texi (Standard Keymaps): Remove useless index entry.
77
78 * help.texi (Documentation Basics): Remove redundant index entries.
79
80 * customize.texi: Improve index entries.
81 Remove redundant/useless ones.
82
83 * locals.texi (Standard Buffer-Local Variables): Clarify intro text.
84
85 * streams.texi (Output Variables): Improve index entry.
86
87 * abbrevs.texi (Abbrevs): Remove useless index entry.
88
89 * macros.texi (Expansion): Remove useless index entry.
90
91 * text.texi: Improve index entries. Remove redundant/useless ones.
92 (Text Properties, Examining Properties)
93 (Special Properties): Use "property category" instead of "category"
94 to refer to the `category' property.
95
96 * positions.texi: Improve index entries. Remove useless one.
97
98 * lists.texi: Improve index entries. Remove redundant/useless ones.
99
100 * os.texi: Improve index entries.
101 (Timers): Fix previous change.
102
103 * buffers.texi: Improve index entries.
104 (Modification Time): Get rid of term "obsolete buffer".
105
106 * debugging.texi: Improve index entries.
107 (Test Coverage): Add xref to other test coverage ftr.
108
109 * eval.texi: Improve index entry. Remove redundant ones.
110
111 * numbers.texi: Improve index entries. Remove redundant/useless ones.
112
113 * files.texi: Improve index entries. Remove redundant/useless ones.
114
115 * objects.texi: Improve index entries.
116
117 * processes.texi: Improve index entries.
118
119 * modes.texi: Improve index entry. Remove redundant one.
120
121 * nonascii.texi: Improve index entries.
122
123 * internals.texi: Improve index entries.
124
125 * syntax.texi: Improve index entries.
126
127 * keymaps.texi (Active Keymaps): Improve index entries.
128
129 * commands.texi: Improve index entries. Remove redundant/useless ones.
130
131 * frames.texi: Improve index entries. Remove redundant/useless ones.
132
133 * markers.texi: Improve index entries. Remove redundant ones.
134
135 * tips.texi: Improve index entries.
136
137 * loading.texi (Unloading): Improve index entry.
138
139 * variables.texi: Improve index entries. Remove redundant one.
140
141 * sequences.texi: Improve index entry.
142
143 * display.texi: Improve index entries. Remove redundant ones.
144
145 * windows.texi: Improve index entries.
146
147 * searching.texi: Improve index entries. Remove redundant one.
148
149 * strings.texi (Case Tables): Improve last change.
150
1512007-04-04 Chong Yidong <cyd@stupidchicken.com>
152
153 * strings.texi (Case Tables): Document with-case-table and
154 ascii-case-table.
155
1562007-04-03 Karl Berry <karl@gnu.org>
157
158 * processes.texi (Network): Reword to improve page break.
159
1602007-04-03 Eli Zaretskii <eliz@gnu.org>
161
162 * functions.texi (Inline Functions): Describe more disadvantages
163 of defsubst, and make advice against it stronger.
164
1652007-04-02 Karl Berry <karl@gnu.org>
166
167 * backups.texi (Backup Names): Avoid widow words.
168 * modes.texi (Example Major Modes): Align last comment.
169
1702007-04-01 Chong Yidong <cyd@stupidchicken.com>
171
172 * keymaps.texi (Remapping Commands): Document new arg to
173 command-remapping.
174
1752007-04-01 Karl Berry <karl@gnu.org>
176
177 * processes.texi (Low-Level Network): typo.
178 * loading.texi (Hooks for Loading): avoid double "the".
179 * keymaps.texi (Key Sequences): no double "and".
180 (Changing Key Bindings): shorten to improve line break.
181
1822007-03-31 Glenn Morris <rgm@gnu.org>
183
184 * os.texi (Timers): Fix description of run-at-time TIME formats.
185
1862007-03-31 Richard Stallman <rms@gnu.org>
187
188 * display.texi (Invisible Text): Correct buffer-invisibility-spec
189 regarding ellipsis.
190
1912007-03-31 Eli Zaretskii <eliz@gnu.org>
192
193 * intro.texi (nil and t):
194 * symbols.texi (Plists and Alists):
195 * variables.texi (Variable Aliases, Constant Variables):
196 * functions.texi (Defining Functions):
197 * advice.texi (Advising Primitives):
198 * debugging.texi (Syntax Errors, Compilation Errors):
199 * minibuf.texi (Minibuffer Windows):
200 * commands.texi (Adjusting Point):
201 * modes.texi (Syntactic Font Lock, Faces for Font Lock)
202 (Auto Major Mode, Major Mode Conventions):
203 * help.texi (Describing Characters):
204 * files.texi (Create/Delete Dirs, Information about Files)
205 (File Locks, Writing to Files, Reading from Files)
206 (Saving Buffers):
207 * windows.texi (Resizing Windows, Cyclic Window Ordering):
208 * frames.texi (Finding All Frames):
209 * positions.texi (Buffer End, Motion):
210 * markers.texi (The Region):
211 * text.texi (Deletion, Near Point):
212 * display.texi (Displaying Messages, Truncation):
213 * os.texi (Processor Run Time):
214 * tips.texi (Key Binding Conventions, Programming Tips)
215 (Warning Tips, Documentation Tips, Comment Tips):
216 * internals.texi (Memory Usage): Improve indexing.
217
218 * variables.texi (Frame-Local Variables):
219 * functions.texi (Argument List):
220 * loading.texi (Library Search):
221 * streams.texi (Output Variables):
222 * keymaps.texi (Translation Keymaps, Searching Keymaps):
223 * searching.texi (Replacing Match, Search and Replace):
224 * processes.texi (Byte Packing, Decoding Output)
225 (Accepting Output, Network Servers, Shell Arguments):
226 * display.texi (Abstract Display, Image Cache, Scroll Bars):
227 * windows.texi (Window Point, Window Start):
228 * frames.texi (Management Parameters, Frame Parameters, Frame Titles):
229 * commands.texi (Reading Input, Keyboard Events):
230 * minibuf.texi (Reading File Names, Minibuffer Completion)
231 (Recursive Mini):
232 * positions.texi (List Motion):
233 * hash.texi (Hash Tables, Creating Hash, Defining Hash):
234 * numbers.texi (Arithmetic Operations, Math Functions)
235 (Predicates on Numbers, Comparison of Numbers):
236 (Numeric Conversions):
237 * locals.texi (Standard Buffer-Local Variables):
238 * maps.texi (Standard Keymaps):
239 * os.texi (User Identification, System Environment, Recording Input)
240 (X11 Keysyms):
241 * nonascii.texi (Non-ASCII Characters, Splitting Characters):
242 * backups.texi (Backups and Auto-Saving):
243 * customize.texi (Customization, Group Definitions)
244 (Variable Definitions):
245 * compile.texi (Byte Compilation): Improve index entries.
246
2472007-03-31 Karl Berry <karl@gnu.org>
248
249 * macros.texi (Defining Macros): Avoid widow syllable.
250
2512007-03-31 Eli Zaretskii <eliz@gnu.org>
252
253 * elisp.texi (Top): Postscript -> PostScript.
254
255 * display.texi (Images, Postscript Images): Postscript -> PostScript.
256
2572007-03-31 Markus Triska <markus.triska@gmx.at>
258
259 * internals.texi (Writing Emacs Primitives): Untabify `For'.
260
2612007-03-30 Karl Berry <karl@gnu.org>
262
263 * lists.texi (List-related Predicates): Remove spurious @need.
264 (Setcdr): Use @smallexample to improve page break.
265 (Association Lists) <assoc>: Reword to improve page break.
266
267 * strings.texi (String Conversion): Insert blank line to improve
268 page break.
269
270 * numbers.texi (Random Numbers): Use @minus{}.
271 (Math Functions): Use @minus{}.
272
273 * intro.texi (Acknowledgements): Avoid line breaks before middle
274 initials.
275
2762007-03-24 Eli Zaretskii <eliz@gnu.org>
277
278 * errors.texi (Standard Errors): Add an index entry.
279
12007-03-19 Richard Stallman <rms@gnu.org> 2802007-03-19 Richard Stallman <rms@gnu.org>
2 281
3 * os.texi (Recording Input): recent-keys now gives 300 keys. 282 * os.texi (Recording Input): recent-keys now gives 300 keys.
diff --git a/lispref/abbrevs.texi b/lispref/abbrevs.texi
index 53f6f194ee1..46e7c3739c4 100644
--- a/lispref/abbrevs.texi
+++ b/lispref/abbrevs.texi
@@ -7,7 +7,7 @@
7@node Abbrevs, Processes, Syntax Tables, Top 7@node Abbrevs, Processes, Syntax Tables, Top
8@chapter Abbrevs and Abbrev Expansion 8@chapter Abbrevs and Abbrev Expansion
9@cindex abbrev 9@cindex abbrev
10@cindex abbrev table 10@c @cindex abbrev table Redundant with "abbrev".
11 11
12 An abbreviation or @dfn{abbrev} is a string of characters that may be 12 An abbreviation or @dfn{abbrev} is a string of characters that may be
13expanded to a longer string. The user can insert the abbrev string and 13expanded to a longer string. The user can insert the abbrev string and
diff --git a/lispref/advice.texi b/lispref/advice.texi
index 003e12ad833..4d580f9846d 100644
--- a/lispref/advice.texi
+++ b/lispref/advice.texi
@@ -384,7 +384,7 @@ activated advice for @var{function}, it activates the new advice.
384@deffn Command ad-deactivate function 384@deffn Command ad-deactivate function
385This command deactivates the advice for @var{function}. 385This command deactivates the advice for @var{function}.
386@cindex deactivating advice 386@cindex deactivating advice
387@cindex advice, deactivating 387@c @cindex advice, deactivating "advice, activating" is just above
388@end deffn 388@end deffn
389 389
390@deffn Command ad-update function &optional compile 390@deffn Command ad-update function &optional compile
@@ -673,6 +673,7 @@ Instead they are implemented specially by the advice mechanism.
673 673
674@node Advising Primitives 674@node Advising Primitives
675@section Advising Primitives 675@section Advising Primitives
676@cindex advising primitives
676 677
677 Advising a primitive function (also called a ``subr'') is risky. 678 Advising a primitive function (also called a ``subr'') is risky.
678Some primitive functions are used by the advice mechanism; advising 679Some primitive functions are used by the advice mechanism; advising
diff --git a/lispref/anti.texi b/lispref/anti.texi
index de07936d2f4..b258e959a46 100644
--- a/lispref/anti.texi
+++ b/lispref/anti.texi
@@ -433,11 +433,10 @@ The @code{table} argument to @code{translate-region} can no longer be
433a char-table; it has to be a string. 433a char-table; it has to be a string.
434 434
435@item 435@item
436The two functions @code{merge-coding-systems} and 436The variable @code{auto-coding-functions} and the two functions
437@code{decode-coding-inserted-region}, and the variable 437@code{merge-coding-systems} and @code{decode-coding-inserted-region}
438@code{auto-coding-functions}, have been deleted. The 438have been deleted. The coding system property
439@code{mime-text-unsuitable} coding system property no longer has any 439@code{mime-text-unsuitable} no longer has any special meaning.
440special meaning.
441 440
442@item 441@item
443If pure storage overflows while dumping, Emacs won't tell you how much 442If pure storage overflows while dumping, Emacs won't tell you how much
diff --git a/lispref/backups.texi b/lispref/backups.texi
index 893f6df4205..44795557f15 100644
--- a/lispref/backups.texi
+++ b/lispref/backups.texi
@@ -6,6 +6,7 @@
6@setfilename ../info/backups 6@setfilename ../info/backups
7@node Backups and Auto-Saving, Buffers, Files, Top 7@node Backups and Auto-Saving, Buffers, Files, Top
8@chapter Backups and Auto-Saving 8@chapter Backups and Auto-Saving
9@cindex backups and auto-saving
9 10
10 Backup files and auto-save files are two methods by which Emacs tries 11 Backup files and auto-save files are two methods by which Emacs tries
11to protect the user from the consequences of crashes or of the user's 12to protect the user from the consequences of crashes or of the user's
@@ -25,10 +26,10 @@ current session.
25 26
26 A @dfn{backup file} is a copy of the old contents of a file you are 27 A @dfn{backup file} is a copy of the old contents of a file you are
27editing. Emacs makes a backup file the first time you save a buffer 28editing. Emacs makes a backup file the first time you save a buffer
28into its visited file. Normally, this means that the backup file 29into its visited file. Thus, normally, the backup file contains the
29contains the contents of the file as it was before the current editing 30contents of the file as it was before the current editing session.
30session. The contents of the backup file normally remain unchanged once 31The contents of the backup file normally remain unchanged once it
31it exists. 32exists.
32 33
33 Backups are usually made by renaming the visited file to a new name. 34 Backups are usually made by renaming the visited file to a new name.
34Optionally, you can specify that backup files should be made by copying 35Optionally, you can specify that backup files should be made by copying
@@ -66,11 +67,11 @@ function returns @code{nil}.
66@end defun 67@end defun
67 68
68@defvar buffer-backed-up 69@defvar buffer-backed-up
69 This buffer-local variable indicates whether this buffer's file has 70 This buffer-local variable says whether this buffer's file has
70been backed up on account of this buffer. If it is non-@code{nil}, then 71been backed up on account of this buffer. If it is non-@code{nil},
71the backup file has been written. Otherwise, the file should be backed 72the backup file has been written. Otherwise, the file should be backed
72up when it is next saved (if backups are enabled). This is a 73up when it is next saved (if backups are enabled). This is a
73permanent local; @code{kill-all-local-variables} does not alter it. 74permanent local; @code{kill-all-local-variables} does not alter@tie{}it.
74@end defvar 75@end defvar
75 76
76@defopt make-backup-files 77@defopt make-backup-files
@@ -162,7 +163,7 @@ files. If you define it, you may need to change
162 163
163@node Rename or Copy 164@node Rename or Copy
164@subsection Backup by Renaming or by Copying? 165@subsection Backup by Renaming or by Copying?
165@cindex backup files, how to make them 166@cindex backup files, rename or copy
166 167
167 There are two ways that Emacs can make a backup file: 168 There are two ways that Emacs can make a backup file:
168 169
@@ -268,12 +269,12 @@ automatically or it can ask the user whether to delete them.
268@defopt kept-new-versions 269@defopt kept-new-versions
269The value of this variable is the number of newest versions to keep 270The value of this variable is the number of newest versions to keep
270when a new numbered backup is made. The newly made backup is included 271when a new numbered backup is made. The newly made backup is included
271in the count. The default value is 2. 272in the count. The default value is@tie{}2.
272@end defopt 273@end defopt
273 274
274@defopt kept-old-versions 275@defopt kept-old-versions
275The value of this variable is the number of oldest versions to keep 276The value of this variable is the number of oldest versions to keep
276when a new numbered backup is made. The default value is 2. 277when a new numbered backup is made. The default value is@tie{}2.
277@end defopt 278@end defopt
278 279
279 If there are backups numbered 1, 2, 3, 5, and 7, and both of these 280 If there are backups numbered 1, 2, 3, 5, and 7, and both of these
@@ -294,7 +295,7 @@ Otherwise, they are not deleted at all.
294This variable specifies how many of the newest backup versions to keep 295This variable specifies how many of the newest backup versions to keep
295in the Dired command @kbd{.} (@code{dired-clean-directory}). That's the 296in the Dired command @kbd{.} (@code{dired-clean-directory}). That's the
296same thing @code{kept-new-versions} specifies when you make a new backup 297same thing @code{kept-new-versions} specifies when you make a new backup
297file. The default value is 2. 298file. The default is@tie{}2.
298@end defopt 299@end defopt
299 300
300@node Backup Names 301@node Backup Names
@@ -306,8 +307,8 @@ If you change one, you probably need to change the rest.
306 307
307@defun backup-file-name-p filename 308@defun backup-file-name-p filename
308This function returns a non-@code{nil} value if @var{filename} is a 309This function returns a non-@code{nil} value if @var{filename} is a
309possible name for a backup file. A file with the name @var{filename} 310possible name for a backup file. It just checks the name, not whether
310need not exist; the function just checks the name. 311a file with the name @var{filename} exists.
311 312
312@smallexample 313@smallexample
313@group 314@group
@@ -417,7 +418,7 @@ automatically compare a file with its most recent backup.
417 418
418@node Auto-Saving 419@node Auto-Saving
419@section Auto-Saving 420@section Auto-Saving
420@cindex auto-saving 421@c @cindex auto-saving Lots of symbols starting with auto-save here.
421 422
422 Emacs periodically saves all files that you are visiting; this is 423 Emacs periodically saves all files that you are visiting; this is
423called @dfn{auto-saving}. Auto-saving prevents you from losing more 424called @dfn{auto-saving}. Auto-saving prevents you from losing more
diff --git a/lispref/buffers.texi b/lispref/buffers.texi
index a0c2d1aa566..e9cafb69fb5 100644
--- a/lispref/buffers.texi
+++ b/lispref/buffers.texi
@@ -593,16 +593,17 @@ current buffer is used.
593 593
594@node Modification Time 594@node Modification Time
595@comment node-name, next, previous, up 595@comment node-name, next, previous, up
596@section Comparison of Modification Time 596@section Buffer Modification Time
597@cindex comparison of modification time 597@cindex comparing file modification time
598@cindex modification time, comparison of 598@cindex modification time of buffer
599 599
600 Suppose that you visit a file and make changes in its buffer, and 600 Suppose that you visit a file and make changes in its buffer, and
601meanwhile the file itself is changed on disk. At this point, saving the 601meanwhile the file itself is changed on disk. At this point, saving the
602buffer would overwrite the changes in the file. Occasionally this may 602buffer would overwrite the changes in the file. Occasionally this may
603be what you want, but usually it would lose valuable information. Emacs 603be what you want, but usually it would lose valuable information. Emacs
604therefore checks the file's modification time using the functions 604therefore checks the file's modification time using the functions
605described below before saving the file. 605described below before saving the file. (@xref{File Attributes},
606for how to examine a file's modification time.)
606 607
607@defun verify-visited-file-modtime buffer 608@defun verify-visited-file-modtime buffer
608This function compares what @var{buffer} has recorded for the 609This function compares what @var{buffer} has recorded for the
@@ -679,12 +680,11 @@ reason.
679@end defun 680@end defun
680 681
681@defun ask-user-about-supersession-threat filename 682@defun ask-user-about-supersession-threat filename
682@cindex obsolete buffer
683This function is used to ask a user how to proceed after an attempt to 683This function is used to ask a user how to proceed after an attempt to
684modify an obsolete buffer visiting file @var{filename}. An 684modify an buffer visiting file @var{filename} when the file is newer
685@dfn{obsolete buffer} is an unmodified buffer for which the associated 685than the buffer text. Emacs detects this because the modification
686file on disk is newer than the last save-time of the buffer. This means 686time of the file on disk is newer than the last save-time of the
687some other program has probably altered the file. 687buffer. This means some other program has probably altered the file.
688 688
689@kindex file-supersession 689@kindex file-supersession
690Depending on the user's answer, the function may return normally, in 690Depending on the user's answer, the function may return normally, in
diff --git a/lispref/commands.texi b/lispref/commands.texi
index 6cbf6e70099..8354346c35e 100644
--- a/lispref/commands.texi
+++ b/lispref/commands.texi
@@ -116,13 +116,13 @@ controls the reading of arguments for an interactive call.
116 116
117@node Using Interactive 117@node Using Interactive
118@subsection Using @code{interactive} 118@subsection Using @code{interactive}
119@cindex arguments, interactive entry
119 120
120 This section describes how to write the @code{interactive} form that 121 This section describes how to write the @code{interactive} form that
121makes a Lisp function an interactively-callable command, and how to 122makes a Lisp function an interactively-callable command, and how to
122examine a command's @code{interactive} form. 123examine a command's @code{interactive} form.
123 124
124@defspec interactive arg-descriptor 125@defspec interactive arg-descriptor
125@cindex argument descriptors
126This special form declares that the function in which it appears is a 126This special form declares that the function in which it appears is a
127command, and that it may therefore be called interactively (via 127command, and that it may therefore be called interactively (via
128@kbd{M-x} or by entering a key sequence bound to it). The argument 128@kbd{M-x} or by entering a key sequence bound to it). The argument
@@ -151,7 +151,6 @@ arguments. This leads quickly to an error if the command requires one
151or more arguments. 151or more arguments.
152 152
153@item 153@item
154@cindex argument prompt
155It may be a string; then its contents should consist of a code character 154It may be a string; then its contents should consist of a code character
156followed by a prompt (which some code characters use and some ignore). 155followed by a prompt (which some code characters use and some ignore).
157The prompt ends either with the end of the string or with a newline. 156The prompt ends either with the end of the string or with a newline.
@@ -207,7 +206,6 @@ form that is evaluated to get a list of arguments to pass to the
207command. Usually this form will call various functions to read input 206command. Usually this form will call various functions to read input
208from the user, most often through the minibuffer (@pxref{Minibuffers}) 207from the user, most often through the minibuffer (@pxref{Minibuffers})
209or directly from the keyboard (@pxref{Reading Input}). 208or directly from the keyboard (@pxref{Reading Input}).
210@cindex argument evaluation form
211 209
212Providing point or the mark as an argument value is also common, but 210Providing point or the mark as an argument value is also common, but
213if you do this @emph{and} read input (whether using the minibuffer or 211if you do this @emph{and} read input (whether using the minibuffer or
@@ -865,6 +863,10 @@ If the last event came from a keyboard macro, the value is @code{macro}.
865 863
866@node Adjusting Point 864@node Adjusting Point
867@section Adjusting Point After Commands 865@section Adjusting Point After Commands
866@cindex adjusting point
867@cindex invisible/intangible text, and point
868@cindex @code{display} property, and point display
869@cindex @code{composition} property, and point display
868 870
869 It is not easy to display a value of point in the middle of a 871 It is not easy to display a value of point in the middle of a
870sequence of text that has the @code{display}, @code{composition} or 872sequence of text that has the @code{display}, @code{composition} or
@@ -933,6 +935,7 @@ the current Emacs session. If a symbol has not yet been so used,
933 935
934@node Keyboard Events 936@node Keyboard Events
935@subsection Keyboard Events 937@subsection Keyboard Events
938@cindex keyboard events
936 939
937There are two kinds of input you can get from the keyboard: ordinary 940There are two kinds of input you can get from the keyboard: ordinary
938keys, and function keys. Ordinary keys correspond to characters; the 941keys, and function keys. Ordinary keys correspond to characters; the
@@ -1600,19 +1603,19 @@ command in the @code{special-event-map} (@pxref{Active Keymaps}).
1600The command is called with no arguments, and the specific signal event is 1603The command is called with no arguments, and the specific signal event is
1601available in @code{last-input-event}. For example: 1604available in @code{last-input-event}. For example:
1602 1605
1603@example 1606@smallexample
1604(defun sigusr-handler () 1607(defun sigusr-handler ()
1605 (interactive) 1608 (interactive)
1606 (message "Caught signal %S" last-input-event)) 1609 (message "Caught signal %S" last-input-event))
1607 1610
1608(define-key special-event-map [sigusr1] 'sigusr-handler) 1611(define-key special-event-map [sigusr1] 'sigusr-handler)
1609@end example 1612@end smallexample
1610 1613
1611To test the signal handler, you can make Emacs send a signal to itself: 1614To test the signal handler, you can make Emacs send a signal to itself:
1612 1615
1613@example 1616@smallexample
1614(signal-process (emacs-pid) 'sigusr1) 1617(signal-process (emacs-pid) 'sigusr1)
1615@end example 1618@end smallexample
1616@end table 1619@end table
1617 1620
1618 If one of these events arrives in the middle of a key sequence---that 1621 If one of these events arrives in the middle of a key sequence---that
@@ -1776,8 +1779,7 @@ must be the last element of the list. For example,
1776 1779
1777@node Accessing Events 1780@node Accessing Events
1778@subsection Accessing Events 1781@subsection Accessing Events
1779@cindex mouse events, accessing the data 1782@cindex mouse events, data in
1780@cindex accessing data of mouse events
1781 1783
1782 This section describes convenient functions for accessing the data in 1784 This section describes convenient functions for accessing the data in
1783a mouse button or motion event. 1785a mouse button or motion event.
@@ -1892,7 +1894,6 @@ cons cell @code{(@var{width} . @var{height})}. If the @var{position}
1892is a buffer position, return the size of the character at that position. 1894is a buffer position, return the size of the character at that position.
1893@end defun 1895@end defun
1894 1896
1895@cindex mouse event, timestamp
1896@cindex timestamp of a mouse event 1897@cindex timestamp of a mouse event
1897@defun posn-timestamp position 1898@defun posn-timestamp position
1898Return the timestamp in @var{position}. This is the time at which the 1899Return the timestamp in @var{position}. This is the time at which the
@@ -2077,6 +2078,8 @@ following the recommendations at the beginning of this section.
2077 2078
2078@node Reading Input 2079@node Reading Input
2079@section Reading Input 2080@section Reading Input
2081@cindex read input
2082@cindex keyboard input
2080 2083
2081 The editor command loop reads key sequences using the function 2084 The editor command loop reads key sequences using the function
2082@code{read-key-sequence}, which uses @code{read-event}. These and other 2085@code{read-key-sequence}, which uses @code{read-event}. These and other
@@ -2106,7 +2109,6 @@ debugging terminal input.
2106for example, @code{describe-key} uses it to read the key to describe. 2109for example, @code{describe-key} uses it to read the key to describe.
2107 2110
2108@defun read-key-sequence prompt &optional continue-echo dont-downcase-last switch-frame-ok command-loop 2111@defun read-key-sequence prompt &optional continue-echo dont-downcase-last switch-frame-ok command-loop
2109@cindex key sequence
2110This function reads a key sequence and returns it as a string or 2112This function reads a key sequence and returns it as a string or
2111vector. It keeps reading events until it has accumulated a complete key 2113vector. It keeps reading events until it has accumulated a complete key
2112sequence; that is, enough to specify a non-prefix command using the 2114sequence; that is, enough to specify a non-prefix command using the
@@ -2539,7 +2541,6 @@ command's key sequence (as returned by e.g. @code{this-command-keys}),
2539as the events will already have been added once as they were read for 2541as the events will already have been added once as they were read for
2540the first time. An element of the form @code{(@code{t} . @var{event})} 2542the first time. An element of the form @code{(@code{t} . @var{event})}
2541forces @var{event} to be added to the current command's key sequence. 2543forces @var{event} to be added to the current command's key sequence.
2542
2543@end defvar 2544@end defvar
2544 2545
2545@defun listify-key-sequence key 2546@defun listify-key-sequence key
@@ -2613,9 +2614,9 @@ like this:
2613@end defmac 2614@end defmac
2614 2615
2615@defun discard-input 2616@defun discard-input
2616@cindex flush input 2617@cindex flushing input
2617@cindex discard input 2618@cindex discarding input
2618@cindex terminate keyboard macro 2619@cindex keyboard macro, terminating
2619This function discards the contents of the terminal input buffer and 2620This function discards the contents of the terminal input buffer and
2620cancels any keyboard macro that might be in the process of definition. 2621cancels any keyboard macro that might be in the process of definition.
2621It returns @code{nil}. 2622It returns @code{nil}.
@@ -2661,7 +2662,6 @@ in the variable @code{special-event-map} (@pxref{Active Keymaps}).
2661 2662
2662@node Waiting 2663@node Waiting
2663@section Waiting for Elapsed Time or Input 2664@section Waiting for Elapsed Time or Input
2664@cindex pausing
2665@cindex waiting 2665@cindex waiting
2666 2666
2667 The wait functions are designed to wait for a certain amount of time 2667 The wait functions are designed to wait for a certain amount of time
@@ -2768,7 +2768,7 @@ about the special behavior of @kbd{C-g} in the command loop. In the
2768case of @code{read-quoted-char}, this is so that @kbd{C-q} can be used 2768case of @code{read-quoted-char}, this is so that @kbd{C-q} can be used
2769to quote a @kbd{C-g}. 2769to quote a @kbd{C-g}.
2770 2770
2771@cindex prevent quitting 2771@cindex preventing quitting
2772 You can prevent quitting for a portion of a Lisp function by binding 2772 You can prevent quitting for a portion of a Lisp function by binding
2773the variable @code{inhibit-quit} to a non-@code{nil} value. Then, 2773the variable @code{inhibit-quit} to a non-@code{nil} value. Then,
2774although @kbd{C-g} still sets @code{quit-flag} to @code{t} as usual, the 2774although @kbd{C-g} still sets @code{quit-flag} to @code{t} as usual, the
diff --git a/lispref/compile.texi b/lispref/compile.texi
index 4ed0eb8c1bf..8f5c047fd6b 100644
--- a/lispref/compile.texi
+++ b/lispref/compile.texi
@@ -6,8 +6,9 @@
6@setfilename ../info/compile 6@setfilename ../info/compile
7@node Byte Compilation, Advising Functions, Loading, Top 7@node Byte Compilation, Advising Functions, Loading, Top
8@chapter Byte Compilation 8@chapter Byte Compilation
9@cindex byte compilation
9@cindex byte-code 10@cindex byte-code
10@cindex compilation 11@cindex compilation (Emacs Lisp)
11 12
12 Emacs Lisp has a @dfn{compiler} that translates functions written 13 Emacs Lisp has a @dfn{compiler} that translates functions written
13in Lisp into a special representation called @dfn{byte-code} that can be 14in Lisp into a special representation called @dfn{byte-code} that can be
diff --git a/lispref/customize.texi b/lispref/customize.texi
index 3d7e9b00172..8b1b1a9b91f 100644
--- a/lispref/customize.texi
+++ b/lispref/customize.texi
@@ -186,9 +186,10 @@ choice is the official name of the package, such as MH-E or Gnus.
186@end defvar 186@end defvar
187 187
188@node Group Definitions 188@node Group Definitions
189@section Defining Custom Groups 189@section Defining Customization Groups
190@cindex define customization group
191@cindex customization groups, defining
190 192
191@cindex custom groups, how to define
192 Each Emacs Lisp package should have one main customization group which 193 Each Emacs Lisp package should have one main customization group which
193contains all the options, faces and other groups in the package. If the 194contains all the options, faces and other groups in the package. If the
194package has a small number of options and faces, use just one group and 195package has a small number of options and faces, use just one group and
@@ -259,10 +260,10 @@ turn this feature back on, if someone would like to do the work.
259 260
260@node Variable Definitions 261@node Variable Definitions
261@section Defining Customization Variables 262@section Defining Customization Variables
262 263@cindex define customization options
263@cindex customization variables, how to define 264@cindex customization variables, how to define
264@cindex declare user-editable variables 265
265 Use @code{defcustom} to declare user-editable variables. 266 Use @code{defcustom} to declare user-customizable variables.
266 267
267@defmac defcustom option standard doc [keyword value]@dots{} 268@defmac defcustom option standard doc [keyword value]@dots{}
268This construct declares @var{option} as a customizable user option 269This construct declares @var{option} as a customizable user option
@@ -701,7 +702,7 @@ The value must be a valid color name, and you can do completion with
701 702
702@node Composite Types 703@node Composite Types
703@subsection Composite Types 704@subsection Composite Types
704@cindex arguments (of composite type) 705@cindex Composite Types (customization)
705 706
706 When none of the simple types is appropriate, you can use composite 707 When none of the simple types is appropriate, you can use composite
707types, which build new types from other types or from specified data. 708types, which build new types from other types or from specified data.
diff --git a/lispref/debugging.texi b/lispref/debugging.texi
index cce112a0aa0..a427e746b27 100644
--- a/lispref/debugging.texi
+++ b/lispref/debugging.texi
@@ -44,7 +44,7 @@ Afterward, you can examine the file to find out what input was used.
44 44
45@node Debugger 45@node Debugger
46@section The Lisp Debugger 46@section The Lisp Debugger
47@cindex debugger 47@cindex debugger for Emacs Lisp
48@cindex Lisp debugger 48@cindex Lisp debugger
49@cindex break 49@cindex break
50 50
@@ -675,6 +675,7 @@ If @var{frame-number} is out of range, @code{backtrace-frame} returns
675 675
676@node Syntax Errors 676@node Syntax Errors
677@section Debugging Invalid Lisp Syntax 677@section Debugging Invalid Lisp Syntax
678@cindex debugging invalid Lisp syntax
678 679
679 The Lisp reader reports invalid syntax, but cannot say where the real 680 The Lisp reader reports invalid syntax, but cannot say where the real
680problem is. For example, the error ``End of file during parsing'' in 681problem is. For example, the error ``End of file during parsing'' in
@@ -690,6 +691,8 @@ technique is to try @kbd{C-M-e} at the beginning of each defun, and see
690if it goes to the place where that defun appears to end. If it does 691if it goes to the place where that defun appears to end. If it does
691not, there is a problem in that defun. 692not, there is a problem in that defun.
692 693
694@cindex unbalanced parentheses
695@cindex parenthesis mismatch, debugging
693 However, unmatched parentheses are the most common syntax errors in 696 However, unmatched parentheses are the most common syntax errors in
694Lisp, and we can give further advice for those cases. (In addition, 697Lisp, and we can give further advice for those cases. (In addition,
695just moving point through the code with Show Paren mode enabled might 698just moving point through the code with Show Paren mode enabled might
@@ -796,8 +799,13 @@ Evaluate @var{form}, informing coverage testing that @var{form} should
796never return. If it ever does return, you get a run-time error. 799never return. If it ever does return, you get a run-time error.
797@end defmac 800@end defmac
798 801
802 Edebug also has a coverage testing feature (@pxref{Coverage
803Testing}). These features partly duplicate each other, and it would
804be cleaner to combine them.
805
799@node Compilation Errors 806@node Compilation Errors
800@section Debugging Problems in Compilation 807@section Debugging Problems in Compilation
808@cindex debugging byte compilation problems
801 809
802 When an error happens during byte compilation, it is normally due to 810 When an error happens during byte compilation, it is normally due to
803invalid syntax in the program you are compiling. The compiler prints a 811invalid syntax in the program you are compiling. The compiler prints a
diff --git a/lispref/display.texi b/lispref/display.texi
index f485829725a..0d2a8da8753 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -126,6 +126,7 @@ Returns @code{t} if redisplay was performed, or @code{nil} otherwise.
126@node Truncation 126@node Truncation
127@section Truncation 127@section Truncation
128@cindex line wrapping 128@cindex line wrapping
129@cindex line truncation
129@cindex continuation lines 130@cindex continuation lines
130@cindex @samp{$} in display 131@cindex @samp{$} in display
131@cindex @samp{\} in display 132@cindex @samp{\} in display
@@ -216,6 +217,7 @@ explicitly.
216 217
217@node Displaying Messages 218@node Displaying Messages
218@subsection Displaying Messages in the Echo Area 219@subsection Displaying Messages in the Echo Area
220@cindex display message in echo area
219 221
220 This section describes the functions for explicitly producing echo 222 This section describes the functions for explicitly producing echo
221area messages. Many other Emacs features display messages there, too. 223area messages. Many other Emacs features display messages there, too.
@@ -760,10 +762,9 @@ A character is invisible if its @code{invisible} property value
760is @var{atom} or if it is a list with @var{atom} as a member. 762is @var{atom} or if it is a list with @var{atom} as a member.
761 763
762@item (@var{atom} . t) 764@item (@var{atom} . t)
763A character is invisible if its @code{invisible} property value 765A character is invisible if its @code{invisible} property value is
764is @var{atom} or if it is a list with @var{atom} as a member. 766@var{atom} or if it is a list with @var{atom} as a member. Moreover,
765Moreover, if this character is at the end of a line and is followed 767a sequence of such characters displays as an ellipsis.
766by a visible newline, it displays an ellipsis.
767@end table 768@end table
768@end table 769@end table
769@end defvar 770@end defvar
@@ -839,7 +840,7 @@ make it invisible again.
839 840
840@node Selective Display 841@node Selective Display
841@section Selective Display 842@section Selective Display
842@cindex selective display 843@c @cindex selective display Duplicates selective-display
843 844
844 @dfn{Selective display} refers to a pair of related features for 845 @dfn{Selective display} refers to a pair of related features for
845hiding certain lines on the screen. 846hiding certain lines on the screen.
@@ -1364,7 +1365,7 @@ specify a particular attribute for certain text. @xref{Face
1364Attributes}. 1365Attributes}.
1365 1366
1366@item 1367@item
1367A cons cell of the form @code{(foreground-color . @var{color-name})} or 1368A cons cell, either of the form @code{(foreground-color . @var{color-name})} or
1368@code{(background-color . @var{color-name})}. These elements specify 1369@code{(background-color . @var{color-name})}. These elements specify
1369just the foreground color or just the background color. 1370just the foreground color or just the background color.
1370 1371
@@ -1832,6 +1833,7 @@ frame must match one of the @var{value}s specified for it in
1832 1833
1833@example 1834@example
1834@group 1835@group
1836(defface region
1835 '((((class color) (min-colors 88) (background dark)) 1837 '((((class color) (min-colors 88) (background dark))
1836 :background "blue3") 1838 :background "blue3")
1837@end group 1839@end group
@@ -2501,7 +2503,6 @@ makes @code{modeline} an alias for the @code{mode-line} face.
2501@cindex automatic face assignment 2503@cindex automatic face assignment
2502@cindex faces, automatic choice 2504@cindex faces, automatic choice
2503 2505
2504@cindex Font-Lock mode
2505 This hook is used for automatically assigning faces to text in the 2506 This hook is used for automatically assigning faces to text in the
2506buffer. It is part of the implementation of Font-Lock mode. 2507buffer. It is part of the implementation of Font-Lock mode.
2507 2508
@@ -2743,7 +2744,7 @@ does that, this function's value may not be accurate.
2743 2744
2744@node Fringes 2745@node Fringes
2745@section Fringes 2746@section Fringes
2746@cindex Fringes 2747@cindex fringes
2747 2748
2748 The @dfn{fringes} of a window are thin vertical strips down the 2749 The @dfn{fringes} of a window are thin vertical strips down the
2749sides that are used for displaying bitmaps that indicate truncation, 2750sides that are used for displaying bitmaps that indicate truncation,
@@ -3073,7 +3074,7 @@ bitmap's face controls the color to draw it in.
3073 3074
3074@node Overlay Arrow 3075@node Overlay Arrow
3075@subsection The Overlay Arrow 3076@subsection The Overlay Arrow
3076@cindex overlay arrow 3077@c @cindex overlay arrow Duplicates variable names
3077 3078
3078 The @dfn{overlay arrow} is useful for directing the user's attention 3079 The @dfn{overlay arrow} is useful for directing the user's attention
3079to a particular line in a buffer. For example, in the modes used for 3080to a particular line in a buffer. For example, in the modes used for
@@ -3131,6 +3132,7 @@ is used.
3131 3132
3132@node Scroll Bars 3133@node Scroll Bars
3133@section Scroll Bars 3134@section Scroll Bars
3135@cindex scroll bars
3134 3136
3135Normally the frame parameter @code{vertical-scroll-bars} controls 3137Normally the frame parameter @code{vertical-scroll-bars} controls
3136whether the windows in the frame have vertical scroll bars, and 3138whether the windows in the frame have vertical scroll bars, and
@@ -3290,7 +3292,6 @@ display specifications and what they mean.
3290@node Specified Space 3292@node Specified Space
3291@subsection Specified Spaces 3293@subsection Specified Spaces
3292@cindex spaces, specified height or width 3294@cindex spaces, specified height or width
3293@cindex specified spaces
3294@cindex variable-width spaces 3295@cindex variable-width spaces
3295 3296
3296 To display a space of specified width and/or height, use a display 3297 To display a space of specified width and/or height, use a display
@@ -3603,7 +3604,7 @@ libraries (though it is not possible to add new image formats).
3603 3604
3604 The supported image formats include XBM, XPM (this requires the 3605 The supported image formats include XBM, XPM (this requires the
3605libraries @code{libXpm} version 3.4k and @code{libz}), GIF (requiring 3606libraries @code{libXpm} version 3.4k and @code{libz}), GIF (requiring
3606@code{libungif} 4.1.0), Postscript, PBM, JPEG (requiring the 3607@code{libungif} 4.1.0), PostScript, PBM, JPEG (requiring the
3607@code{libjpeg} library version v6a), TIFF (requiring @code{libtiff} 3608@code{libjpeg} library version v6a), TIFF (requiring @code{libtiff}
3608v3.4), and PNG (requiring @code{libpng} 1.0.2). 3609v3.4), and PNG (requiring @code{libpng} 1.0.2).
3609 3610
@@ -3658,7 +3659,7 @@ function always returns @code{t}; for other image types, it returns
3658* XBM Images:: Special features for XBM format. 3659* XBM Images:: Special features for XBM format.
3659* XPM Images:: Special features for XPM format. 3660* XPM Images:: Special features for XPM format.
3660* GIF Images:: Special features for GIF format. 3661* GIF Images:: Special features for GIF format.
3661* Postscript Images:: Special features for Postscript format. 3662* PostScript Images:: Special features for PostScript format.
3662* Other Image Types:: Various other formats are supported. 3663* Other Image Types:: Various other formats are supported.
3663* Defining Images:: Convenient ways to define an image for later use. 3664* Defining Images:: Convenient ways to define an image for later use.
3664* Showing Images:: Convenient ways to display an image once it is defined. 3665* Showing Images:: Convenient ways to display an image once it is defined.
@@ -3980,11 +3981,11 @@ every 0.1 seconds.
3980 (run-with-timer 0.1 nil 'display-anim buffer file (1+ idx) max nil))) 3981 (run-with-timer 0.1 nil 'display-anim buffer file (1+ idx) max nil)))
3981@end ignore 3982@end ignore
3982 3983
3983@node Postscript Images 3984@node PostScript Images
3984@subsection Postscript Images 3985@subsection PostScript Images
3985@cindex Postscript images 3986@cindex postscript images
3986 3987
3987 To use Postscript for an image, specify image type @code{postscript}. 3988 To use PostScript for an image, specify image type @code{postscript}.
3988This works only if you have Ghostscript installed. You must always use 3989This works only if you have Ghostscript installed. You must always use
3989these three properties: 3990these three properties:
3990 3991
@@ -3999,15 +4000,15 @@ The value, @var{height}, specifies the height of the image in points
3999 4000
4000@item :bounding-box @var{box} 4001@item :bounding-box @var{box}
4001The value, @var{box}, must be a list or vector of four integers, which 4002The value, @var{box}, must be a list or vector of four integers, which
4002specifying the bounding box of the Postscript image, analogous to the 4003specifying the bounding box of the PostScript image, analogous to the
4003@samp{BoundingBox} comment found in Postscript files. 4004@samp{BoundingBox} comment found in PostScript files.
4004 4005
4005@example 4006@example
4006%%BoundingBox: 22 171 567 738 4007%%BoundingBox: 22 171 567 738
4007@end example 4008@end example
4008@end table 4009@end table
4009 4010
4010 Displaying Postscript images from Lisp data is not currently 4011 Displaying PostScript images from Lisp data is not currently
4011implemented, but it may be implemented by the time you read this. 4012implemented, but it may be implemented by the time you read this.
4012See the @file{etc/NEWS} file to make sure. 4013See the @file{etc/NEWS} file to make sure.
4013 4014
@@ -4137,8 +4138,8 @@ should specify the image as follows:
4137This function returns a suitable search path for images used by the 4138This function returns a suitable search path for images used by the
4138Lisp package @var{library}. 4139Lisp package @var{library}.
4139 4140
4140The function searches for @var{image} first in @code{image-load-path} 4141The function searches for @var{image} first using @code{image-load-path},
4141(excluding @file{@code{data-directory}/images}) and then in 4142excluding @file{@code{data-directory}/images}, and then in
4142@code{load-path}, followed by a path suitable for @var{library}, which 4143@code{load-path}, followed by a path suitable for @var{library}, which
4143includes @file{../../etc/images} and @file{../etc/images} relative to 4144includes @file{../../etc/images} and @file{../etc/images} relative to
4144the library file itself, and finally in 4145the library file itself, and finally in
@@ -4270,6 +4271,7 @@ cache, it can always be displayed, even if the value of
4270 4271
4271@node Image Cache 4272@node Image Cache
4272@subsection Image Cache 4273@subsection Image Cache
4274@cindex image cache
4273 4275
4274 Emacs stores images in an image cache when it displays them, so it can 4276 Emacs stores images in an image cache when it displays them, so it can
4275display them again more efficiently. It removes an image from the cache 4277display them again more efficiently. It removes an image from the cache
@@ -4297,7 +4299,6 @@ are cleared.
4297 4299
4298@node Buttons 4300@node Buttons
4299@section Buttons 4301@section Buttons
4300@cindex buttons
4301@cindex buttons in buffers 4302@cindex buttons in buffers
4302@cindex clickable buttons in buffers 4303@cindex clickable buttons in buffers
4303 4304
@@ -4607,15 +4608,11 @@ is skipped over. Returns the button found.
4607@end deffn 4608@end deffn
4608 4609
4609@defun next-button pos &optional count-current 4610@defun next-button pos &optional count-current
4610Return the next button after position @var{pos} in the current buffer. 4611@defunx previous-button pos &optional count-current
4611If @var{count-current} is non-@code{nil}, count any button at 4612Return the next button after (for @code{next-button} or before (for
4612@var{pos} in the search, instead of starting at the next button. 4613@code{previous-button}) position @var{pos} in the current buffer. If
4613@end defun 4614@var{count-current} is non-@code{nil}, count any button at @var{pos}
4614 4615in the search, instead of starting at the next button.
4615@defun previous-button pos &optional count-current
4616Return the @var{n}th button before position @var{pos} in the current
4617buffer. If @var{count-current} is non-@code{nil}, count any button at
4618@var{pos} in the search, instead of starting at the next button.
4619@end defun 4616@end defun
4620 4617
4621@node Abstract Display 4618@node Abstract Display
@@ -4954,9 +4951,8 @@ ewoc is created to be either @code{nil} or an index into the vector
4954@node Blinking 4951@node Blinking
4955@section Blinking Parentheses 4952@section Blinking Parentheses
4956@cindex parenthesis matching 4953@cindex parenthesis matching
4957@cindex blinking 4954@cindex blinking parentheses
4958@cindex balancing parentheses 4955@cindex balancing parentheses
4959@cindex close parenthesis
4960 4956
4961 This section describes the mechanism by which Emacs shows a matching 4957 This section describes the mechanism by which Emacs shows a matching
4962open parenthesis when the user inserts a close parenthesis. 4958open parenthesis when the user inserts a close parenthesis.
@@ -5328,7 +5324,7 @@ display by sending @var{string} to the terminal.
5328 5324
5329@node Beeping 5325@node Beeping
5330@section Beeping 5326@section Beeping
5331@cindex beeping 5327@c @cindex beeping "beep" is adjacent
5332@cindex bell 5328@cindex bell
5333 5329
5334 This section describes how to make Emacs ring the bell (or blink the 5330 This section describes how to make Emacs ring the bell (or blink the
diff --git a/lispref/edebug.texi b/lispref/edebug.texi
index 4082fdfe5c2..4be030896c5 100644
--- a/lispref/edebug.texi
+++ b/lispref/edebug.texi
@@ -12,9 +12,8 @@
12 12
13@node Edebug, Syntax Errors, Debugger, Debugging 13@node Edebug, Syntax Errors, Debugger, Debugging
14@section Edebug 14@section Edebug
15@cindex Edebug mode 15@cindex Edebug debugging facility
16 16
17@cindex Edebug
18 Edebug is a source-level debugger for Emacs Lisp programs with which 17 Edebug is a source-level debugger for Emacs Lisp programs with which
19you can: 18you can:
20 19
@@ -195,12 +194,6 @@ evaluates, even if not instrumenting it. See also the @kbd{i} command
195(@pxref{Jumping}), which steps into the call after instrumenting the 194(@pxref{Jumping}), which steps into the call after instrumenting the
196function. 195function.
197 196
198@cindex special forms (Edebug)
199@cindex interactive commands (Edebug)
200@cindex anonymous lambda expressions (Edebug)
201@cindex Common Lisp (Edebug)
202@pindex cl.el @r{(Edebug)}
203@pindex cl-specs.el
204 Edebug knows how to instrument all the standard special forms, 197 Edebug knows how to instrument all the standard special forms,
205@code{interactive} forms with an expression argument, anonymous lambda 198@code{interactive} forms with an expression argument, anonymous lambda
206expressions, and other defining forms. However, Edebug cannot determine 199expressions, and other defining forms. However, Edebug cannot determine
@@ -441,9 +434,9 @@ breakpoints, the global break condition, and source breakpoints.
441@end menu 434@end menu
442 435
443@node Breakpoints 436@node Breakpoints
444@subsubsection Breakpoints 437@subsubsection Edebug Breakpoints
445 438
446@cindex breakpoints 439@cindex breakpoints (Edebug)
447While using Edebug, you can specify @dfn{breakpoints} in the program you 440While using Edebug, you can specify @dfn{breakpoints} in the program you
448are testing: these are places where execution should stop. You can set a 441are testing: these are places where execution should stop. You can set a
449breakpoint at any stop point, as defined in @ref{Using Edebug}. For 442breakpoint at any stop point, as defined in @ref{Using Edebug}. For
@@ -867,10 +860,10 @@ lines inserted.
867@node Coverage Testing 860@node Coverage Testing
868@subsection Coverage Testing 861@subsection Coverage Testing
869 862
870@cindex coverage testing 863@cindex coverage testing (Edebug)
871@cindex frequency counts 864@cindex frequency counts
872@cindex performance analysis 865@cindex performance analysis
873Edebug provides rudimentary coverage testing and display of execution 866 Edebug provides rudimentary coverage testing and display of execution
874frequency. 867frequency.
875 868
876 Coverage testing works by comparing the result of each expression with 869 Coverage testing works by comparing the result of each expression with
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index fa9f93208e1..546f1ca4f97 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -7,24 +7,29 @@
7@c Version of the manual and of Emacs. 7@c Version of the manual and of Emacs.
8@c Please remember to update the edition number in README as well. 8@c Please remember to update the edition number in README as well.
9@set VERSION 2.9 9@set VERSION 2.9
10@set EMACSVER 22.0.96 10@set EMACSVER 22.0.98
11 11
12@dircategory Emacs 12@dircategory Emacs
13@direntry 13@direntry
14* Elisp: (elisp). The Emacs Lisp Reference Manual. 14* Elisp: (elisp). The Emacs Lisp Reference Manual.
15@end direntry 15@end direntry
16 16
17@c So that anyone making the printed manual gets the version we have 17@c for full 8.5x11, comment this out.
18@c tuned to avoid bad line breaks, etc. 18@set smallbook
19
20@ifset smallbook
19@smallbook 21@smallbook
22@end ifset
20 23
21@c per rms and peterb, use 10pt fonts for the main text, mostly to 24@c per rms and peterb, use 10pt fonts for the main text, mostly to
22@c save on paper cost. Also, do not declare @setchapternewpage odd, 25@c save on paper cost. Also, do not declare @setchapternewpage odd,
23@c for the same reason. Do this inside @tex for now, so the 26@c for the same reason. Do this inside @tex for now, so the
24@c last-released makeinfo does not complain. 27@c last-released makeinfo does not complain.
25@tex 28@tex
29@ifset smallbook
26@fonttextsize 10 30@fonttextsize 10
27\global\hbadness=6000 % don't worry about not-too-underfull boxes 31@end ifset
32\global\hbadness=6666 % don't worry about not-too-underfull boxes
28@end tex 33@end tex
29 34
30@c Combine indices. 35@c Combine indices.
@@ -61,7 +66,7 @@ Software Foundation raise funds for GNU development.''
61@titlepage 66@titlepage
62@title GNU Emacs Lisp Reference Manual 67@title GNU Emacs Lisp Reference Manual
63@subtitle For Emacs Version @value{EMACSVER} 68@subtitle For Emacs Version @value{EMACSVER}
64@subtitle Revision @value{VERSION}, January 2002 69@subtitle Revision @value{VERSION}, April 2007
65 70
66@author by Bil Lewis, Dan LaLiberte, Richard Stallman 71@author by Bil Lewis, Dan LaLiberte, Richard Stallman
67@author and the GNU Manual Group 72@author and the GNU Manual Group
@@ -1297,7 +1302,7 @@ Images
1297* XBM Images:: Special features for XBM format. 1302* XBM Images:: Special features for XBM format.
1298* XPM Images:: Special features for XPM format. 1303* XPM Images:: Special features for XPM format.
1299* GIF Images:: Special features for GIF format. 1304* GIF Images:: Special features for GIF format.
1300* Postscript Images:: Special features for Postscript format. 1305* PostScript Images:: Special features for PostScript format.
1301* Other Image Types:: Various other formats are supported. 1306* Other Image Types:: Various other formats are supported.
1302* Defining Images:: Convenient ways to define an image for later use. 1307* Defining Images:: Convenient ways to define an image for later use.
1303* Showing Images:: Convenient ways to display an image once 1308* Showing Images:: Convenient ways to display an image once
diff --git a/lispref/errors.texi b/lispref/errors.texi
index 98c30fcd4a1..af2df791c39 100644
--- a/lispref/errors.texi
+++ b/lispref/errors.texi
@@ -6,6 +6,7 @@
6@setfilename ../info/errors 6@setfilename ../info/errors
7@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top 7@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
8@appendix Standard Errors 8@appendix Standard Errors
9@cindex standard errors
9 10
10 Here is the complete list of the error symbols in standard Emacs, 11 Here is the complete list of the error symbols in standard Emacs,
11grouped by concept. The list includes each symbol's message (on the 12grouped by concept. The list includes each symbol's message (on the
diff --git a/lispref/eval.texi b/lispref/eval.texi
index d085491d2d2..772f502553c 100644
--- a/lispref/eval.texi
+++ b/lispref/eval.texi
@@ -233,7 +233,7 @@ Scheme.
233@node Function Indirection 233@node Function Indirection
234@subsection Symbol Function Indirection 234@subsection Symbol Function Indirection
235@cindex symbol function indirection 235@cindex symbol function indirection
236@cindex indirection 236@cindex indirection for functions
237@cindex void function 237@cindex void function
238 238
239 If the first element of the list is a symbol then evaluation examines 239 If the first element of the list is a symbol then evaluation examines
@@ -252,7 +252,6 @@ neither of these things happens, we eventually obtain a non-symbol,
252which ought to be a function or other suitable object. 252which ought to be a function or other suitable object.
253 253
254@kindex invalid-function 254@kindex invalid-function
255@cindex invalid function
256 More precisely, we should now have a Lisp function (a lambda 255 More precisely, we should now have a Lisp function (a lambda
257expression), a byte-code function, a primitive function, a Lisp macro, a 256expression), a byte-code function, a primitive function, a Lisp macro, a
258special form, or an autoload object. Each of these types is a case 257special form, or an autoload object. Each of these types is a case
@@ -530,7 +529,6 @@ definition loaded from that file. @xref{Autoload}.
530 529
531@node Quoting 530@node Quoting
532@section Quoting 531@section Quoting
533@cindex quoting
534 532
535 The special form @code{quote} returns its single argument, as written, 533 The special form @code{quote} returns its single argument, as written,
536without evaluating it. This provides a way to include constant symbols 534without evaluating it. This provides a way to include constant symbols
diff --git a/lispref/files.texi b/lispref/files.texi
index f13888197c7..f357b1f3814 100644
--- a/lispref/files.texi
+++ b/lispref/files.texi
@@ -296,6 +296,7 @@ in the list @code{find-file-hook}.
296 296
297@node Saving Buffers 297@node Saving Buffers
298@section Saving Buffers 298@section Saving Buffers
299@cindex saving buffers
299 300
300 When you edit a file in Emacs, you are actually working on a buffer 301 When you edit a file in Emacs, you are actually working on a buffer
301that is visiting that file---that is, the contents of the file are 302that is visiting that file---that is, the contents of the file are
@@ -481,6 +482,7 @@ Name}).
481@node Reading from Files 482@node Reading from Files
482@comment node-name, next, previous, up 483@comment node-name, next, previous, up
483@section Reading from Files 484@section Reading from Files
485@cindex reading from files
484 486
485 You can copy a file from the disk and insert it into a buffer 487 You can copy a file from the disk and insert it into a buffer
486using the @code{insert-file-contents} function. Don't use the user-level 488using the @code{insert-file-contents} function. Don't use the user-level
@@ -544,6 +546,7 @@ program can read the file, use the function @code{file-local-copy}; see
544@node Writing to Files 546@node Writing to Files
545@comment node-name, next, previous, up 547@comment node-name, next, previous, up
546@section Writing to Files 548@section Writing to Files
549@cindex writing to files
547 550
548 You can write the contents of a buffer, or part of a buffer, directly 551 You can write the contents of a buffer, or part of a buffer, directly
549to a file on disk using the @code{append-to-file} and 552to a file on disk using the @code{append-to-file} and
@@ -647,6 +650,7 @@ with-temp-buffer,, The Current Buffer}.
647@node File Locks 650@node File Locks
648@section File Locks 651@section File Locks
649@cindex file locks 652@cindex file locks
653@cindex lock file
650 654
651 When two users edit the same file at the same time, they are likely 655 When two users edit the same file at the same time, they are likely
652to interfere with each other. Emacs tries to prevent this situation 656to interfere with each other. Emacs tries to prevent this situation
@@ -736,6 +740,7 @@ for its usual definition is in @file{userlock.el}.
736 740
737@node Information about Files 741@node Information about Files
738@section Information about Files 742@section Information about Files
743@cindex file, information about
739 744
740 The functions described in this section all operate on strings that 745 The functions described in this section all operate on strings that
741designate file names. With a few exceptions, all the functions have 746designate file names. With a few exceptions, all the functions have
@@ -1172,6 +1177,7 @@ value of @code{current-time}; see @ref{Time of Day}.)
1172 1177
1173@item 1178@item
1174The time of last modification as a list of two integers (as above). 1179The time of last modification as a list of two integers (as above).
1180@cindex modification time of file
1175 1181
1176@item 1182@item
1177The time of last status change as a list of two integers (as above). 1183The time of last status change as a list of two integers (as above).
@@ -1262,13 +1268,13 @@ is on file system number -32252.
1262 1268
1263@node Locating Files 1269@node Locating Files
1264@subsection How to Locate Files in Standard Places 1270@subsection How to Locate Files in Standard Places
1265@cindex locate files 1271@cindex locate file in path
1266@cindex find files 1272@cindex find file in path
1267 1273
1268 This section explains how to search for a file in a list of 1274 This section explains how to search for a file in a list of
1269directories. One example is when you need to look for a program's 1275directories (a @dfn{path}). One example is when you need to look for
1270executable file, e.g., to find out whether a given program is 1276a program's executable file, e.g., to find out whether a given program
1271installed on the user's system. Another example is the search for 1277is installed on the user's system. Another example is the search for
1272Lisp libraries (@pxref{Library Search}). Such searches generally need 1278Lisp libraries (@pxref{Library Search}). Such searches generally need
1273to try various possible file name extensions, in addition to various 1279to try various possible file name extensions, in addition to various
1274possible directories. Emacs provides a function for such a 1280possible directories. Emacs provides a function for such a
@@ -1311,7 +1317,6 @@ For compatibility, @var{predicate} can also be one of the symbols
1311a list of one or more of these symbols. 1317a list of one or more of these symbols.
1312@end defun 1318@end defun
1313 1319
1314@cindex find executable program
1315@defun executable-find program 1320@defun executable-find program
1316This function searches for the executable file of the named 1321This function searches for the executable file of the named
1317@var{program} and returns the full absolute name of the executable, 1322@var{program} and returns the full absolute name of the executable,
@@ -1323,7 +1328,7 @@ in @code{exec-path} and tries all the file-name extensions in
1323 1328
1324@node Changing Files 1329@node Changing Files
1325@section Changing File Names and Attributes 1330@section Changing File Names and Attributes
1326@cindex renaming files 1331@c @cindex renaming files Duplicates rename-file
1327@cindex copying files 1332@cindex copying files
1328@cindex deleting files 1333@cindex deleting files
1329@cindex linking files 1334@cindex linking files
@@ -2459,6 +2464,7 @@ which generate the listing with Lisp code.
2459 2464
2460@node Create/Delete Dirs 2465@node Create/Delete Dirs
2461@section Creating and Deleting Directories 2466@section Creating and Deleting Directories
2467@cindex creating and deleting directories
2462@c Emacs 19 features 2468@c Emacs 19 features
2463 2469
2464 Most Emacs Lisp file-manipulation functions get errors when used on 2470 Most Emacs Lisp file-manipulation functions get errors when used on
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 32f9e071f09..527f27385f3 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -150,6 +150,13 @@ screens belonging to one server, Emacs knows by the similarity in their
150names that they share a single keyboard, and it treats them as a single 150names that they share a single keyboard, and it treats them as a single
151terminal. 151terminal.
152 152
153 Note that some graphical terminals can output to more than a one
154monitor (or other output device) at the same time. On these
155``multi-monitor'' setups, a single @var{display} value controls the
156output to all the physical monitors. In this situation, there is
157currently no platform-independent way for Emacs to distinguish between
158the different physical monitors.
159
153@deffn Command make-frame-on-display display &optional parameters 160@deffn Command make-frame-on-display display &optional parameters
154This creates and returns a new frame on display @var{display}, taking 161This creates and returns a new frame on display @var{display}, taking
155the other frame parameters from @var{parameters}. Aside from the 162the other frame parameters from @var{parameters}. Aside from the
@@ -193,6 +200,7 @@ that display (@pxref{Deleting Frames}).
193 200
194@node Frame Parameters 201@node Frame Parameters
195@section Frame Parameters 202@section Frame Parameters
203@cindex frame parameters
196 204
197 A frame has many parameters that control its appearance and behavior. 205 A frame has many parameters that control its appearance and behavior.
198Just what parameters a frame has depends on what display mechanism it 206Just what parameters a frame has depends on what display mechanism it
@@ -555,6 +563,7 @@ If non-@code{nil}, this frame's window is never split automatically.
555 563
556@node Management Parameters 564@node Management Parameters
557@subsubsection Window Management Parameters 565@subsubsection Window Management Parameters
566@cindex window manager, and frame parameters
558 567
559 These frame parameters, meaningful only on window system displays, 568 These frame parameters, meaningful only on window system displays,
560interact with the window manager. 569interact with the window manager.
@@ -885,6 +894,7 @@ Here is an example:
885 894
886@node Frame Titles 895@node Frame Titles
887@section Frame Titles 896@section Frame Titles
897@cindex frame title
888 898
889 Every frame has a @code{name} parameter; this serves as the default 899 Every frame has a @code{name} parameter; this serves as the default
890for the frame title which window systems typically display at the top of 900for the frame title which window systems typically display at the top of
@@ -924,7 +934,7 @@ while processing @code{frame-title-format} or
924 934
925@node Deleting Frames 935@node Deleting Frames
926@section Deleting Frames 936@section Deleting Frames
927@cindex deletion of frames 937@cindex deleting frames
928 938
929Frames remain potentially visible until you explicitly @dfn{delete} 939Frames remain potentially visible until you explicitly @dfn{delete}
930them. A deleted frame cannot appear on the screen, but continues to 940them. A deleted frame cannot appear on the screen, but continues to
@@ -956,6 +966,7 @@ calls the function @code{delete-frame}. @xref{Misc Events}.
956 966
957@node Finding All Frames 967@node Finding All Frames
958@section Finding All Frames 968@section Finding All Frames
969@cindex frames, scanning all
959 970
960@defun frame-list 971@defun frame-list
961The function @code{frame-list} returns a list of all the frames that 972The function @code{frame-list} returns a list of all the frames that
@@ -1077,7 +1088,7 @@ Displays}.
1077@node Input Focus 1088@node Input Focus
1078@section Input Focus 1089@section Input Focus
1079@cindex input focus 1090@cindex input focus
1080@cindex selected frame 1091@c @cindex selected frame Duplicates selected-frame
1081 1092
1082At any time, one frame in Emacs is the @dfn{selected frame}. The selected 1093At any time, one frame in Emacs is the @dfn{selected frame}. The selected
1083window always resides on the selected frame. 1094window always resides on the selected frame.
@@ -1260,7 +1271,7 @@ to ``lowest.'' Where two windows overlap, the one higher up covers
1260the one underneath. Even a window at the bottom of the stack can be 1271the one underneath. Even a window at the bottom of the stack can be
1261seen if no other window overlaps it. 1272seen if no other window overlaps it.
1262 1273
1263@cindex raising a frame 1274@c @cindex raising a frame redundant with raise-frame
1264@cindex lowering a frame 1275@cindex lowering a frame
1265 A window's place in this ordering is not fixed; in fact, users tend 1276 A window's place in this ordering is not fixed; in fact, users tend
1266to change the order frequently. @dfn{Raising} a window means moving 1277to change the order frequently. @dfn{Raising} a window means moving
@@ -1315,14 +1326,14 @@ unwanted frames are iconified instead.
1315@node Mouse Tracking 1326@node Mouse Tracking
1316@section Mouse Tracking 1327@section Mouse Tracking
1317@cindex mouse tracking 1328@cindex mouse tracking
1318@cindex tracking the mouse 1329@c @cindex tracking the mouse Duplicates track-mouse
1319 1330
1320Sometimes it is useful to @dfn{track} the mouse, which means to display 1331 Sometimes it is useful to @dfn{track} the mouse, which means to display
1321something to indicate where the mouse is and move the indicator as the 1332something to indicate where the mouse is and move the indicator as the
1322mouse moves. For efficient mouse tracking, you need a way to wait until 1333mouse moves. For efficient mouse tracking, you need a way to wait until
1323the mouse actually moves. 1334the mouse actually moves.
1324 1335
1325The convenient way to track the mouse is to ask for events to represent 1336 The convenient way to track the mouse is to ask for events to represent
1326mouse motion. Then you can wait for motion by waiting for an event. In 1337mouse motion. Then you can wait for motion by waiting for an event. In
1327addition, you can easily handle any other sorts of events that may 1338addition, you can easily handle any other sorts of events that may
1328occur. That is useful, because normally you don't want to track the 1339occur. That is useful, because normally you don't want to track the
@@ -2015,8 +2026,6 @@ a mouse.
2015@end defun 2026@end defun
2016 2027
2017@defun display-graphic-p &optional display 2028@defun display-graphic-p &optional display
2018@cindex frames, more than one on display
2019@cindex fonts, more than one on display
2020This function returns @code{t} if @var{display} is a graphic display 2029This function returns @code{t} if @var{display} is a graphic display
2021capable of displaying several frames and several different fonts at 2030capable of displaying several frames and several different fonts at
2022once. This is true for displays that use a window system such as X, and 2031once. This is true for displays that use a window system such as X, and
@@ -2087,11 +2096,19 @@ This function returns the number of screens associated with the display.
2087@defun display-pixel-height &optional display 2096@defun display-pixel-height &optional display
2088This function returns the height of the screen in pixels. 2097This function returns the height of the screen in pixels.
2089On a character terminal, it gives the height in characters. 2098On a character terminal, it gives the height in characters.
2099
2100For graphical terminals, note that on ``multi-monitor'' setups this
2101refers to the pixel width for all physical monitors associated with
2102@var{display}. @xref{Multiple Displays}.
2090@end defun 2103@end defun
2091 2104
2092@defun display-pixel-width &optional display 2105@defun display-pixel-width &optional display
2093This function returns the width of the screen in pixels. 2106This function returns the width of the screen in pixels.
2094On a character terminal, it gives the width in characters. 2107On a character terminal, it gives the width in characters.
2108
2109For graphical terminals, note that on ``multi-monitor'' setups this
2110refers to the pixel width for all physical monitors associated with
2111@var{display}. @xref{Multiple Displays}.
2095@end defun 2112@end defun
2096 2113
2097@defun display-mm-height &optional display 2114@defun display-mm-height &optional display
diff --git a/lispref/functions.texi b/lispref/functions.texi
index 084f2a57d50..eedfa8c124f 100644
--- a/lispref/functions.texi
+++ b/lispref/functions.texi
@@ -293,6 +293,7 @@ variables.
293@kindex wrong-number-of-arguments 293@kindex wrong-number-of-arguments
294@cindex argument binding 294@cindex argument binding
295@cindex binding arguments 295@cindex binding arguments
296@cindex argument lists, features
296 297
297 Our simple sample function, @code{(lambda (a b c) (+ a b c))}, 298 Our simple sample function, @code{(lambda (a b c) (+ a b c))},
298specifies three argument variables, so it must be called with three 299specifies three argument variables, so it must be called with three
@@ -583,6 +584,7 @@ defined is often done deliberately, and there is no way to distinguish
583deliberate redefinition from unintentional redefinition. 584deliberate redefinition from unintentional redefinition.
584@end defspec 585@end defspec
585 586
587@cindex function aliases
586@defun defalias name definition &optional docstring 588@defun defalias name definition &optional docstring
587@anchor{Definition of defalias} 589@anchor{Definition of defalias}
588This special form defines the symbol @var{name} as a function, with 590This special form defines the symbol @var{name} as a function, with
@@ -1191,17 +1193,22 @@ function except for one thing: when you compile a call to the function,
1191the function's definition is open-coded into the caller. 1193the function's definition is open-coded into the caller.
1192 1194
1193Making a function inline makes explicit calls run faster. But it also 1195Making a function inline makes explicit calls run faster. But it also
1194has disadvantages. For one thing, it reduces flexibility; if you change 1196has disadvantages. For one thing, it reduces flexibility; if you
1195the definition of the function, calls already inlined still use the old 1197change the definition of the function, calls already inlined still use
1196definition until you recompile them. Since the flexibility of 1198the old definition until you recompile them.
1197redefining functions is an important feature of Emacs, you should not
1198make a function inline unless its speed is really crucial.
1199 1199
1200Another disadvantage is that making a large function inline can increase 1200Another disadvantage is that making a large function inline can increase
1201the size of compiled code both in files and in memory. Since the speed 1201the size of compiled code both in files and in memory. Since the speed
1202advantage of inline functions is greatest for small functions, you 1202advantage of inline functions is greatest for small functions, you
1203generally should not make large functions inline. 1203generally should not make large functions inline.
1204 1204
1205Also, inline functions do not behave well with respect to debugging,
1206tracing, and advising (@pxref{Advising Functions}). Since ease of
1207debugging and the flexibility of redefining functions are important
1208features of Emacs, you should not make a function inline, even if it's
1209small, unless its speed is really crucial, and you've timed the code
1210to verify that using @code{defun} actually has performance problems.
1211
1205It's possible to define a macro to expand into the same code that an 1212It's possible to define a macro to expand into the same code that an
1206inline function would execute. (@xref{Macros}.) But the macro would be 1213inline function would execute. (@xref{Macros}.) But the macro would be
1207limited to direct use in expressions---a macro cannot be called with 1214limited to direct use in expressions---a macro cannot be called with
diff --git a/lispref/hash.texi b/lispref/hash.texi
index 6a7fd26ae8b..c5b68e26d91 100644
--- a/lispref/hash.texi
+++ b/lispref/hash.texi
@@ -7,10 +7,11 @@
7@node Hash Tables, Symbols, Sequences Arrays Vectors, Top 7@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
8@chapter Hash Tables 8@chapter Hash Tables
9@cindex hash tables 9@cindex hash tables
10@cindex lookup tables
10 11
11 A hash table is a very fast kind of lookup table, somewhat like 12 A hash table is a very fast kind of lookup table, somewhat like an
12an alist in that it maps keys to corresponding values. It differs 13alist (@pxref{Association Lists}) in that it maps keys to
13from an alist in these ways: 14corresponding values. It differs from an alist in these ways:
14 15
15@itemize @bullet 16@itemize @bullet
16@item 17@item
@@ -55,6 +56,7 @@ of object and are used only for recording interned symbols
55 56
56@node Creating Hash 57@node Creating Hash
57@section Creating Hash Tables 58@section Creating Hash Tables
59@cindex creating hash tables
58 60
59 The principal function for creating a hash table is 61 The principal function for creating a hash table is
60@code{make-hash-table}. 62@code{make-hash-table}.
@@ -212,6 +214,7 @@ arguments---a @var{key} listed in @var{table}, and its associated
212@node Defining Hash 214@node Defining Hash
213@section Defining Hash Comparisons 215@section Defining Hash Comparisons
214@cindex hash code 216@cindex hash code
217@cindex define hash comparisons
215 218
216 You can define new methods of key lookup by means of 219 You can define new methods of key lookup by means of
217@code{define-hash-table-test}. In order to use this feature, you need 220@code{define-hash-table-test}. In order to use this feature, you need
diff --git a/lispref/help.texi b/lispref/help.texi
index 0939d384a4e..70c7a48c9c4 100644
--- a/lispref/help.texi
+++ b/lispref/help.texi
@@ -91,9 +91,7 @@ list under the property name @code{variable-documentation}. The
91function @code{documentation-property} knows how to retrieve it. 91function @code{documentation-property} knows how to retrieve it.
92@end itemize 92@end itemize
93 93
94@cindex @file{DOC} (documentation) file 94@cindex @file{DOC-@var{version}} (documentation) file
95@cindex @file{emacs/etc/DOC-@var{version}}
96@cindex @file{etc/DOC-@var{version}}
97To save space, the documentation for preloaded functions and variables 95To save space, the documentation for preloaded functions and variables
98(including primitive functions and autoloaded functions) is stored in 96(including primitive functions and autoloaded functions) is stored in
99the file @file{emacs/etc/DOC-@var{version}}---not inside Emacs. The 97the file @file{emacs/etc/DOC-@var{version}}---not inside Emacs. The
@@ -388,6 +386,7 @@ C-g abort-recursive-edit
388 386
389@node Describing Characters 387@node Describing Characters
390@section Describing Characters for Help Messages 388@section Describing Characters for Help Messages
389@cindex describe characters and events
391 390
392 These functions convert events, key sequences, or characters to 391 These functions convert events, key sequences, or characters to
393textual descriptions. These descriptions are useful for including 392textual descriptions. These descriptions are useful for including
diff --git a/lispref/internals.texi b/lispref/internals.texi
index 60ea9769150..3cd42ed69ff 100644
--- a/lispref/internals.texi
+++ b/lispref/internals.texi
@@ -204,7 +204,7 @@ You should not change this flag in a running Emacs.
204 204
205@node Garbage Collection 205@node Garbage Collection
206@appendixsec Garbage Collection 206@appendixsec Garbage Collection
207@cindex garbage collector 207@cindex garbage collection
208 208
209@cindex memory allocation 209@cindex memory allocation
210 When a program creates a list or the user defines a new function (such 210 When a program creates a list or the user defines a new function (such
@@ -441,6 +441,7 @@ point number.
441 441
442@node Memory Usage 442@node Memory Usage
443@section Memory Usage 443@section Memory Usage
444@cindex memory usage
444 445
445 These functions and variables give information about the total amount 446 These functions and variables give information about the total amount
446of memory allocation that Emacs has done, broken down by data type. 447of memory allocation that Emacs has done, broken down by data type.
@@ -530,7 +531,7 @@ usage: (or CONDITIONS ...) */)
530 @{ 531 @{
531 val = Feval (XCAR (args)); 532 val = Feval (XCAR (args));
532 if (!NILP (val)) 533 if (!NILP (val))
533 break; 534 break;
534 args = XCDR (args); 535 args = XCDR (args);
535 @} 536 @}
536@end group 537@end group
@@ -715,7 +716,7 @@ with a value that is either @code{t} or @code{nil}. Note that variables
715defined with @code{DEFVAR_BOOL} are automatically added to the list 716defined with @code{DEFVAR_BOOL} are automatically added to the list
716@code{byte-boolean-vars} used by the byte compiler. 717@code{byte-boolean-vars} used by the byte compiler.
717 718
718@cindex @code{staticpro}, protect file-scope variables from GC 719@cindex @code{staticpro}, protection from GC
719 If you define a file-scope C variable of type @code{Lisp_Object}, 720 If you define a file-scope C variable of type @code{Lisp_Object},
720you must protect it from garbage-collection by calling @code{staticpro} 721you must protect it from garbage-collection by calling @code{staticpro}
721in @code{syms_of_@var{filename}}, like this: 722in @code{syms_of_@var{filename}}, like this:
diff --git a/lispref/intro.texi b/lispref/intro.texi
index c919a46610d..35566603b7c 100644
--- a/lispref/intro.texi
+++ b/lispref/intro.texi
@@ -170,11 +170,11 @@ being described, are formatted like this: @var{first-number}.
170 170
171@node nil and t 171@node nil and t
172@subsection @code{nil} and @code{t} 172@subsection @code{nil} and @code{t}
173@cindex @code{nil}, uses of
174@cindex truth value 173@cindex truth value
175@cindex boolean 174@cindex boolean
176@cindex false
177 175
176@cindex @code{nil}
177@cindex false
178 In Lisp, the symbol @code{nil} has three separate meanings: it 178 In Lisp, the symbol @code{nil} has three separate meanings: it
179is a symbol with the name @samp{nil}; it is the logical truth value 179is a symbol with the name @samp{nil}; it is the logical truth value
180@var{false}; and it is the empty list---the list of zero elements. 180@var{false}; and it is the empty list---the list of zero elements.
@@ -197,7 +197,7 @@ in Lisp programs also.
197(setq foo-flag nil) ; @r{Emphasize the truth value @var{false}} 197(setq foo-flag nil) ; @r{Emphasize the truth value @var{false}}
198@end example 198@end example
199 199
200@cindex @code{t}, uses of 200@cindex @code{t}
201@cindex true 201@cindex true
202 In contexts where a truth value is expected, any non-@code{nil} value 202 In contexts where a truth value is expected, any non-@code{nil} value
203is considered to be @var{true}. However, @code{t} is the preferred way 203is considered to be @var{true}. However, @code{t} is the preferred way
@@ -535,11 +535,12 @@ The minor version number of Emacs, as an integer. For Emacs version
535@section Acknowledgements 535@section Acknowledgements
536 536
537 This manual was written by Robert Krawitz, Bil Lewis, Dan LaLiberte, 537 This manual was written by Robert Krawitz, Bil Lewis, Dan LaLiberte,
538Richard M. Stallman and Chris Welty, the volunteers of the GNU manual 538Richard@tie{}M. Stallman and Chris Welty, the volunteers of the GNU
539group, in an effort extending over several years. Robert J. Chassell 539manual group, in an effort extending over several years.
540helped to review and edit the manual, with the support of the Defense 540Robert@tie{}J. Chassell helped to review and edit the manual, with the
541Advanced Research Projects Agency, ARPA Order 6082, arranged by Warren 541support of the Defense Advanced Research Projects Agency, ARPA Order
542A. Hunt, Jr.@: of Computational Logic, Inc. 5426082, arranged by Warren@tie{}A. Hunt, Jr.@: of Computational Logic,
543Inc.
543 544
544 Corrections were supplied by Karl Berry, Jim Blandy, Bard Bloom, 545 Corrections were supplied by Karl Berry, Jim Blandy, Bard Bloom,
545Stephane Boucher, David Boyes, Alan Carroll, Richard Davis, Lawrence 546Stephane Boucher, David Boyes, Alan Carroll, Richard Davis, Lawrence
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 0cd653984e9..cd0ae7ec979 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -53,7 +53,7 @@ vector. Unless otherwise stated, any Emacs Lisp function that accepts
53a key sequence as an argument can handle both representations. 53a key sequence as an argument can handle both representations.
54 54
55 In the string representation, alphanumeric characters ordinarily 55 In the string representation, alphanumeric characters ordinarily
56stand for themselves; for example, @code{"a"} represents @kbd{a} and 56stand for themselves; for example, @code{"a"} represents @kbd{a}
57and @code{"2"} represents @kbd{2}. Control character events are 57and @code{"2"} represents @kbd{2}. Control character events are
58prefixed by the substring @code{"\C-"}, and meta characters by 58prefixed by the substring @code{"\C-"}, and meta characters by
59@code{"\M-"}; for example, @code{"\C-x"} represents the key @kbd{C-x}. 59@code{"\M-"}; for example, @code{"\C-x"} represents the key @kbd{C-x}.
@@ -255,7 +255,7 @@ lisp-mode-map
255 (24 . lisp-send-defun) 255 (24 . lisp-send-defun)
256 keymap 256 keymap
257 ;; @r{@kbd{M-C-q}, treated as @kbd{@key{ESC} C-q}} 257 ;; @r{@kbd{M-C-q}, treated as @kbd{@key{ESC} C-q}}
258 (17 . indent-sexp))) 258 (17 . indent-sexp))
259@end group 259@end group
260@group 260@group
261 ;; @r{This part is inherited from @code{lisp-mode-shared-map}.} 261 ;; @r{This part is inherited from @code{lisp-mode-shared-map}.}
@@ -697,6 +697,7 @@ An error is signaled if @var{key} is not a string or a vector.
697 697
698@node Searching Keymaps 698@node Searching Keymaps
699@section Searching the Active Keymaps 699@section Searching the Active Keymaps
700@cindex searching active keymaps for keys
700 701
701 After translation of event subsequences (@pxref{Translation 702 After translation of event subsequences (@pxref{Translation
702Keymaps}) Emacs looks for them in the active keymaps. Here is a 703Keymaps}) Emacs looks for them in the active keymaps. Here is a
@@ -1277,7 +1278,7 @@ bindings in a keymap makes no difference for keyboard input, but it
1277does matter for menu keymaps (@pxref{Menu Keymaps}). 1278does matter for menu keymaps (@pxref{Menu Keymaps}).
1278@end defun 1279@end defun
1279 1280
1280 Here is an example that creates a sparse keymap and makes a number of 1281 This example creates a sparse keymap and makes a number of
1281bindings in it: 1282bindings in it:
1282 1283
1283@smallexample 1284@smallexample
@@ -1488,17 +1489,22 @@ does not have the effect of remapping @code{kill-line} into
1488if an ordinary binding specifies @code{my-kill-line}, this keymap will 1489if an ordinary binding specifies @code{my-kill-line}, this keymap will
1489remap it to @code{my-other-kill-line}. 1490remap it to @code{my-other-kill-line}.
1490 1491
1491@defun command-remapping command &optional position 1492@defun command-remapping command &optional position keymaps
1492This function returns the remapping for @var{command} (a symbol), 1493This function returns the remapping for @var{command} (a symbol),
1493given the current active keymaps. If @var{command} is not remapped 1494given the current active keymaps. If @var{command} is not remapped
1494(which is the usual situation), or not a symbol, the function returns 1495(which is the usual situation), or not a symbol, the function returns
1495@code{nil}. @code{position} can optionally specify a buffer position 1496@code{nil}. @code{position} can optionally specify a buffer position
1496or an event position to determine the keymaps to use, as in 1497or an event position to determine the keymaps to use, as in
1497@code{key-binding}. 1498@code{key-binding}.
1499
1500If the optional argument @code{keymaps} is non-@code{nil}, it
1501specifies a list of keymaps to search in. This argument is ignored if
1502@code{position} is non-@code{nil}.
1498@end defun 1503@end defun
1499 1504
1500@node Translation Keymaps 1505@node Translation Keymaps
1501@section Keymaps for Translating Sequences of Events 1506@section Keymaps for Translating Sequences of Events
1507@cindex keymaps for translating events
1502 1508
1503 This section describes keymaps that are used during reading a key 1509 This section describes keymaps that are used during reading a key
1504sequence, to translate certain event sequences into others. 1510sequence, to translate certain event sequences into others.
diff --git a/lispref/lists.texi b/lispref/lists.texi
index 24214bbc357..ffe4df2413d 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -6,7 +6,7 @@
6@setfilename ../info/lists 6@setfilename ../info/lists
7@node Lists, Sequences Arrays Vectors, Strings and Characters, Top 7@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
8@chapter Lists 8@chapter Lists
9@cindex list 9@cindex lists
10@cindex element (of list) 10@cindex element (of list)
11 11
12 A @dfn{list} represents a sequence of zero or more elements (which may 12 A @dfn{list} represents a sequence of zero or more elements (which may
@@ -30,7 +30,6 @@ the whole list.
30@node Cons Cells 30@node Cons Cells
31@section Lists and Cons Cells 31@section Lists and Cons Cells
32@cindex lists and cons cells 32@cindex lists and cons cells
33@cindex @code{nil} and lists
34 33
35 Lists in Lisp are not a primitive data type; they are built up from 34 Lists in Lisp are not a primitive data type; they are built up from
36@dfn{cons cells}. A cons cell is a data object that represents an 35@dfn{cons cells}. A cons cell is a data object that represents an
@@ -104,7 +103,6 @@ otherwise. @code{nil} is not a cons cell, although it @emph{is} a list.
104@end defun 103@end defun
105 104
106@defun atom object 105@defun atom object
107@cindex atoms
108This function returns @code{t} if @var{object} is an atom, @code{nil} 106This function returns @code{t} if @var{object} is an atom, @code{nil}
109otherwise. All objects except cons cells are atoms. The symbol 107otherwise. All objects except cons cells are atoms. The symbol
110@code{nil} is an atom and is also a list; it is the only Lisp object 108@code{nil} is an atom and is also a list; it is the only Lisp object
@@ -159,7 +157,6 @@ considered a list and @code{not} when it is considered a truth value
159@end example 157@end example
160@end defun 158@end defun
161 159
162@need 2000
163 160
164@node List Elements 161@node List Elements
165@section Accessing Elements of Lists 162@section Accessing Elements of Lists
@@ -991,10 +988,9 @@ x1
991@end group 988@end group
992@end example 989@end example
993 990
994@need 4000
995 Here is the result in box notation: 991 Here is the result in box notation:
996 992
997@example 993@smallexample
998@group 994@group
999 -------------------- 995 --------------------
1000 | | 996 | |
@@ -1004,7 +1000,7 @@ x1
1004| | | | | | | | | 1000| | | | | | | | |
1005 -------------- -------------- -------------- 1001 -------------- -------------- --------------
1006@end group 1002@end group
1007@end example 1003@end smallexample
1008 1004
1009@noindent 1005@noindent
1010The second cons cell, which previously held the element @code{b}, still 1006The second cons cell, which previously held the element @code{b}, still
@@ -1307,7 +1303,7 @@ compare @var{object} against the elements of the list. For example:
1307@end defun 1303@end defun
1308 1304
1309@defun delq object list 1305@defun delq object list
1310@cindex deletion of elements 1306@cindex deleting list elements
1311This function destructively removes all elements @code{eq} to 1307This function destructively removes all elements @code{eq} to
1312@var{object} from @var{list}. The letter @samp{q} in @code{delq} says 1308@var{object} from @var{list}. The letter @samp{q} in @code{delq} says
1313that it uses @code{eq} to compare @var{object} against the elements of 1309that it uses @code{eq} to compare @var{object} against the elements of
@@ -1370,6 +1366,9 @@ and the @code{(4)} in the @code{sample-list} are not @code{eq}:
1370(delq '(4) sample-list) 1366(delq '(4) sample-list)
1371 @result{} (a c (4)) 1367 @result{} (a c (4))
1372@end group 1368@end group
1369
1370If you want to delete elements that are @code{equal} to a given value,
1371use @code{delete} (see below).
1373@end example 1372@end example
1374 1373
1375@defun remq object list 1374@defun remq object list
@@ -1392,9 +1391,6 @@ sample-list
1392 @result{} (a b c a b c) 1391 @result{} (a b c a b c)
1393@end group 1392@end group
1394@end example 1393@end example
1395@noindent
1396The function @code{delq} offers a way to perform this operation
1397destructively. See @ref{Sets And Lists}.
1398@end defun 1394@end defun
1399 1395
1400@defun memql object list 1396@defun memql object list
@@ -1452,8 +1448,8 @@ If @code{sequence} is a list, this function destructively removes all
1452elements @code{equal} to @var{object} from @var{sequence}. For lists, 1448elements @code{equal} to @var{object} from @var{sequence}. For lists,
1453@code{delete} is to @code{delq} as @code{member} is to @code{memq}: it 1449@code{delete} is to @code{delq} as @code{member} is to @code{memq}: it
1454uses @code{equal} to compare elements with @var{object}, like 1450uses @code{equal} to compare elements with @var{object}, like
1455@code{member}; when it finds an element that matches, it removes the 1451@code{member}; when it finds an element that matches, it cuts the
1456element just as @code{delq} would. 1452element out just as @code{delq} would.
1457 1453
1458If @code{sequence} is a vector or string, @code{delete} returns a copy 1454If @code{sequence} is a vector or string, @code{delete} returns a copy
1459of @code{sequence} with all elements @code{equal} to @code{object} 1455of @code{sequence} with all elements @code{equal} to @code{object}
@@ -1463,8 +1459,22 @@ For example:
1463 1459
1464@example 1460@example
1465@group 1461@group
1466(delete '(2) '((2) (1) (2))) 1462(setq l '((2) (1) (2)))
1463(delete '(2) l)
1467 @result{} ((1)) 1464 @result{} ((1))
1465l
1466 @result{} ((2) (1))
1467;; @r{If you want to change @code{l} reliably,}
1468;; @r{write @code{(setq l (delete elt l))}.}
1469@end group
1470@group
1471(setq l '((2) (1) (2)))
1472(delete '(1) l)
1473 @result{} ((2) (2))
1474l
1475 @result{} ((2) (2))
1476;; @r{In this case, it makes no difference whether you set @code{l},}
1477;; @r{but you should do so for the sake of the other case.}
1468@end group 1478@end group
1469@group 1479@group
1470(delete '(2) [(2) (1) (2)]) 1480(delete '(2) [(2) (1) (2)])
@@ -1474,7 +1484,7 @@ For example:
1474@end defun 1484@end defun
1475 1485
1476@defun remove object sequence 1486@defun remove object sequence
1477This function is the non-destructive counterpart of @code{delete}. If 1487This function is the non-destructive counterpart of @code{delete}. It
1478returns a copy of @code{sequence}, a list, vector, or string, with 1488returns a copy of @code{sequence}, a list, vector, or string, with
1479elements @code{equal} to @code{object} removed. For example: 1489elements @code{equal} to @code{object} removed. For example:
1480 1490
@@ -1513,7 +1523,8 @@ several @code{equal} occurrences of an element in @var{list},
1513@end defun 1523@end defun
1514 1524
1515 See also the function @code{add-to-list}, in @ref{List Variables}, 1525 See also the function @code{add-to-list}, in @ref{List Variables},
1516for another way to add an element to a list stored in a variable. 1526for a way to add an element to a list stored in a variable and used as a
1527set.
1517 1528
1518@node Association Lists 1529@node Association Lists
1519@section Association Lists 1530@section Association Lists
@@ -1589,7 +1600,7 @@ of property lists and association lists.
1589 1600
1590@defun assoc key alist 1601@defun assoc key alist
1591This function returns the first association for @var{key} in 1602This function returns the first association for @var{key} in
1592@var{alist}. It compares @var{key} against the alist elements using 1603@var{alist}, comparing @var{key} against the alist elements using
1593@code{equal} (@pxref{Equality Predicates}). It returns @code{nil} if no 1604@code{equal} (@pxref{Equality Predicates}). It returns @code{nil} if no
1594association in @var{alist} has a @sc{car} @code{equal} to @var{key}. 1605association in @var{alist} has a @sc{car} @code{equal} to @var{key}.
1595For example: 1606For example:
diff --git a/lispref/loading.texi b/lispref/loading.texi
index 092befff85a..058ed9c8984 100644
--- a/lispref/loading.texi
+++ b/lispref/loading.texi
@@ -64,22 +64,23 @@ forms in it, and closes the file.
64 64
65To find the file, @code{load} first looks for a file named 65To find the file, @code{load} first looks for a file named
66@file{@var{filename}.elc}, that is, for a file whose name is 66@file{@var{filename}.elc}, that is, for a file whose name is
67@var{filename} with @samp{.elc} appended. If such a file exists, it is 67@var{filename} with the extension @samp{.elc} appended. If such a
68loaded. If there is no file by that name, then @code{load} looks for a 68file exists, it is loaded. If there is no file by that name, then
69file named @file{@var{filename}.el}. If that file exists, it is loaded. 69@code{load} looks for a file named @file{@var{filename}.el}. If that
70Finally, if neither of those names is found, @code{load} looks for a 70file exists, it is loaded. Finally, if neither of those names is
71file named @var{filename} with nothing appended, and loads it if it 71found, @code{load} looks for a file named @var{filename} with nothing
72exists. (The @code{load} function is not clever about looking at 72appended, and loads it if it exists. (The @code{load} function is not
73@var{filename}. In the perverse case of a file named @file{foo.el.el}, 73clever about looking at @var{filename}. In the perverse case of a
74evaluation of @code{(load "foo.el")} will indeed find it.) 74file named @file{foo.el.el}, evaluation of @code{(load "foo.el")} will
75 75indeed find it.)
76If Auto Compression mode is enabled, as it is by default, then 76
77if @code{load} can not find a file, it searches for a compressed 77If Auto Compression mode is enabled, as it is by default, then if
78version of the file before trying other file names. It decompresses 78@code{load} can not find a file, it searches for a compressed version
79and loads it if it exists. It looks for compressed versions by 79of the file before trying other file names. It decompresses and loads
80appending the suffixes in @code{jka-compr-load-suffixes} to the file 80it if it exists. It looks for compressed versions by appending each
81name. The value of this variable must be a list of strings. Its 81of the suffixes in @code{jka-compr-load-suffixes} to the file name.
82standard value is @code{(".gz")}. 82The value of this variable must be a list of strings. Its standard
83value is @code{(".gz")}.
83 84
84If the optional argument @var{nosuffix} is non-@code{nil}, then 85If the optional argument @var{nosuffix} is non-@code{nil}, then
85@code{load} does not try the suffixes @samp{.elc} and @samp{.el}. In 86@code{load} does not try the suffixes @samp{.elc} and @samp{.el}. In
@@ -220,6 +221,8 @@ it skips the latter group.
220 221
221@node Library Search 222@node Library Search
222@section Library Search 223@section Library Search
224@cindex library search
225@cindex find library
223 226
224 When Emacs loads a Lisp library, it searches for the library 227 When Emacs loads a Lisp library, it searches for the library
225in a list of directories specified by the variable @code{load-path}. 228in a list of directories specified by the variable @code{load-path}.
@@ -844,7 +847,7 @@ rather than replacing that element. @xref{Eval}.
844 847
845@node Unloading 848@node Unloading
846@section Unloading 849@section Unloading
847@cindex unloading 850@cindex unloading packages
848 851
849@c Emacs 19 feature 852@c Emacs 19 feature
850 You can discard the functions and variables loaded by a library to 853 You can discard the functions and variables loaded by a library to
@@ -956,7 +959,7 @@ element looks like this:
956 959
957The key @var{regexp-or-feature} is either a regular expression or a 960The key @var{regexp-or-feature} is either a regular expression or a
958symbol, and the value is a list of forms. The forms are evaluated when 961symbol, and the value is a list of forms. The forms are evaluated when
959the key matches the the absolute true name of the file being 962the key matches the absolute true name of the file being
960@code{load}ed or the symbol being @code{provide}d. 963@code{load}ed or the symbol being @code{provide}d.
961@end defvar 964@end defvar
962 965
diff --git a/lispref/locals.texi b/lispref/locals.texi
index 712c8aa9701..4edbc2a815f 100644
--- a/lispref/locals.texi
+++ b/lispref/locals.texi
@@ -9,6 +9,7 @@
9@c The title "Standard Buffer-Local Variables" is too long for 9@c The title "Standard Buffer-Local Variables" is too long for
10@c smallbook. --rjc 30mar92 10@c smallbook. --rjc 30mar92
11@cindex buffer-local variables, general-purpose 11@cindex buffer-local variables, general-purpose
12@cindex standard buffer-local variables
12 13
13 The table below lists the general-purpose Emacs variables that 14 The table below lists the general-purpose Emacs variables that
14automatically become buffer-local in each buffer. Most become 15automatically become buffer-local in each buffer. Most become
@@ -16,9 +17,9 @@ buffer-local only when set; a few of them are always local in every
16buffer. Many Lisp packages define such variables for their internal 17buffer. Many Lisp packages define such variables for their internal
17use, but we don't try to list them all here. 18use, but we don't try to list them all here.
18 19
19Each minor modes defines a buffer-local variable named 20 Every buffer-specific minor mode defines a buffer-local variable
20@samp{@var{modename}-mode}. @xref{Minor Mode Conventions}. Minor 21named @samp{@var{modename}-mode}. @xref{Minor Mode Conventions}.
21mode variables will not be listed here. 22Minor mode variables will not be listed here.
22 23
23@table @code 24@table @code
24@item auto-fill-function 25@item auto-fill-function
diff --git a/lispref/macros.texi b/lispref/macros.texi
index 80d8e9c0786..6dea53ac983 100644
--- a/lispref/macros.texi
+++ b/lispref/macros.texi
@@ -140,7 +140,6 @@ uses this feature.
140 140
141 141
142@defun macroexpand-all form &optional environment 142@defun macroexpand-all form &optional environment
143@cindex macro expansion in entire form
144@code{macroexpand-all} expands macros like @code{macroexpand}, but 143@code{macroexpand-all} expands macros like @code{macroexpand}, but
145will look for and expand all macros in @var{form}, not just at the 144will look for and expand all macros in @var{form}, not just at the
146top-level. If no macros are expanded, the return value is @code{eq} 145top-level. If no macros are expanded, the return value is @code{eq}
@@ -239,7 +238,7 @@ currently supported:
239@table @code 238@table @code
240@item (debug @var{edebug-form-spec}) 239@item (debug @var{edebug-form-spec})
241Specify how to step through macro calls for Edebug. 240Specify how to step through macro calls for Edebug.
242@xref{Instrumenting Macro Calls}, for more details. 241@xref{Instrumenting Macro Calls}.
243 242
244@item (indent @var{indent-spec}) 243@item (indent @var{indent-spec})
245Specify how to indent calls to this macro. @xref{Indenting Macros}, 244Specify how to indent calls to this macro. @xref{Indenting Macros},
@@ -287,7 +286,7 @@ two forms yield identical results:
287@end group 286@end group
288@end example 287@end example
289 288
290@findex , @r{(with Backquote)} 289@findex , @r{(with backquote)}
291The special marker @samp{,} inside of the argument to backquote 290The special marker @samp{,} inside of the argument to backquote
292indicates a value that isn't constant. Backquote evaluates the 291indicates a value that isn't constant. Backquote evaluates the
293argument of @samp{,} and puts the value in the list structure: 292argument of @samp{,} and puts the value in the list structure:
@@ -319,7 +318,7 @@ structure also. For example:
319@end group 318@end group
320@end example 319@end example
321 320
322@findex ,@@ @r{(with Backquote)} 321@findex ,@@ @r{(with backquote)}
323@cindex splicing (with backquote) 322@cindex splicing (with backquote)
324 You can also @dfn{splice} an evaluated value into the resulting list, 323 You can also @dfn{splice} an evaluated value into the resulting list,
325using the special marker @samp{,@@}. The elements of the spliced list 324using the special marker @samp{,@@}. The elements of the spliced list
diff --git a/lispref/maps.texi b/lispref/maps.texi
index c4d065c355a..724091970c3 100644
--- a/lispref/maps.texi
+++ b/lispref/maps.texi
@@ -6,6 +6,7 @@
6@setfilename ../info/maps 6@setfilename ../info/maps
7@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top 7@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
8@appendix Standard Keymaps 8@appendix Standard Keymaps
9@cindex standard keymaps
9 10
10The following symbols are used as the names for various keymaps. 11The following symbols are used as the names for various keymaps.
11Some of these exist when Emacs is first started, others are 12Some of these exist when Emacs is first started, others are
@@ -76,7 +77,6 @@ A full keymap used by Electric Command History mode.
76A sparse keymap used by Emacs Lisp mode. 77A sparse keymap used by Emacs Lisp mode.
77 78
78@item esc-map 79@item esc-map
79@vindex esc-map
80A full keymap for @kbd{ESC} (or @kbd{Meta}) commands. 80A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
81 81
82@item facemenu-menu 82@item facemenu-menu
diff --git a/lispref/markers.texi b/lispref/markers.texi
index b955538fe03..519b8a1316a 100644
--- a/lispref/markers.texi
+++ b/lispref/markers.texi
@@ -176,7 +176,6 @@ buffer unless narrowing is in effect. @xref{Narrowing}.
176@end defun 176@end defun
177 177
178@defun point-max-marker 178@defun point-max-marker
179@cindex end of buffer marker
180This function returns a new marker that points to the end of the 179This function returns a new marker that points to the end of the
181accessible portion of the buffer. This will be the end of the buffer 180accessible portion of the buffer. This will be the end of the buffer
182unless narrowing is in effect. @xref{Narrowing}. 181unless narrowing is in effect. @xref{Narrowing}.
@@ -550,7 +549,7 @@ The return value is not meaningful.
550@end defun 549@end defun
551 550
552@defopt transient-mark-mode 551@defopt transient-mark-mode
553@cindex Transient Mark mode 552@c @cindex Transient Mark mode Redundant
554This variable if non-@code{nil} enables Transient Mark mode, in which 553This variable if non-@code{nil} enables Transient Mark mode, in which
555every buffer-modifying primitive sets @code{deactivate-mark}. The 554every buffer-modifying primitive sets @code{deactivate-mark}. The
556consequence of this is that commands that modify the buffer normally 555consequence of this is that commands that modify the buffer normally
@@ -629,7 +628,7 @@ more marks than this are pushed onto the @code{mark-ring},
629 628
630@node The Region 629@node The Region
631@section The Region 630@section The Region
632@cindex region, the 631@cindex region (between point and mark)
633 632
634 The text between point and the mark is known as @dfn{the region}. 633 The text between point and the mark is known as @dfn{the region}.
635Various functions operate on text delimited by point and the mark, but 634Various functions operate on text delimited by point and the mark, but
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index 1abbb148b85..98901df87f8 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -767,7 +767,7 @@ completion possibility specified by @var{collection} and
767strings, this is true if @var{string} appears in the list and 767strings, this is true if @var{string} appears in the list and
768@var{predicate} is satisfied. 768@var{predicate} is satisfied.
769 769
770@code{test-completion} uses @code{completion-regexp-list} in the same 770This function uses @code{completion-regexp-list} in the same
771way that @code{try-completion} does. 771way that @code{try-completion} does.
772 772
773If @var{predicate} is non-@code{nil} and if @var{collection} contains 773If @var{predicate} is non-@code{nil} and if @var{collection} contains
@@ -812,6 +812,8 @@ Here is an example of use:
812 812
813@node Minibuffer Completion 813@node Minibuffer Completion
814@subsection Completion and the Minibuffer 814@subsection Completion and the Minibuffer
815@cindex minibuffer completion
816@cindex reading from minibuffer with completion
815 817
816 This section describes the basic interface for reading from the 818 This section describes the basic interface for reading from the
817minibuffer with completion. 819minibuffer with completion.
@@ -1222,6 +1224,8 @@ and @code{read-input-method-name}, in @ref{Input Methods}.
1222 1224
1223@node Reading File Names 1225@node Reading File Names
1224@subsection Reading File Names 1226@subsection Reading File Names
1227@cindex read file names
1228@cindex prompt for file name
1225 1229
1226 Here is another high-level completion function, designed for reading a 1230 Here is another high-level completion function, designed for reading a
1227file name. It provides special features including automatic insertion 1231file name. It provides special features including automatic insertion
@@ -1782,6 +1786,7 @@ regular expression).
1782 1786
1783@node Minibuffer Windows 1787@node Minibuffer Windows
1784@section Minibuffer Windows 1788@section Minibuffer Windows
1789@cindex minibuffer windows
1785 1790
1786 These functions access and select minibuffer windows 1791 These functions access and select minibuffer windows
1787and test whether they are active. 1792and test whether they are active.
@@ -1872,6 +1877,7 @@ it erases the entire current buffer.
1872 1877
1873@node Recursive Mini 1878@node Recursive Mini
1874@section Recursive Minibuffers 1879@section Recursive Minibuffers
1880@cindex recursive minibuffers
1875 1881
1876 These functions and variables deal with recursive minibuffers 1882 These functions and variables deal with recursive minibuffers
1877(@pxref{Recursive Editing}): 1883(@pxref{Recursive Editing}):
diff --git a/lispref/modes.texi b/lispref/modes.texi
index 6eba02d5a0b..5d91b238fca 100644
--- a/lispref/modes.texi
+++ b/lispref/modes.texi
@@ -252,6 +252,8 @@ Fundamental mode. Rmail mode is a complicated and specialized mode.
252 252
253@node Major Mode Conventions 253@node Major Mode Conventions
254@subsection Major Mode Conventions 254@subsection Major Mode Conventions
255@cindex major mode conventions
256@cindex conventions for writing major modes
255 257
256 The code for existing major modes follows various coding conventions, 258 The code for existing major modes follows various coding conventions,
257including conventions for local keymap and syntax table initialization, 259including conventions for local keymap and syntax table initialization,
@@ -495,6 +497,7 @@ Even if you never load the file more than once, someone else will.
495 497
496@node Auto Major Mode 498@node Auto Major Mode
497@subsection How Emacs Chooses a Major Mode 499@subsection How Emacs Chooses a Major Mode
500@cindex major mode, automatic selection
498 501
499 Based on information in the file name or in the file itself, Emacs 502 Based on information in the file name or in the file itself, Emacs
500automatically selects a major mode for the new buffer when a file is 503automatically selects a major mode for the new buffer when a file is
@@ -1157,7 +1160,7 @@ if that value is non-nil."
1157@group 1160@group
1158 (setq imenu-case-fold-search t) 1161 (setq imenu-case-fold-search t)
1159 (set-syntax-table lisp-mode-syntax-table) 1162 (set-syntax-table lisp-mode-syntax-table)
1160 (run-mode-hooks 'lisp-mode-hook)) ; @r{This permits the user to use a} 1163 (run-mode-hooks 'lisp-mode-hook)) ; @r{This permits the user to use a}
1161 ; @r{hook to customize the mode.} 1164 ; @r{hook to customize the mode.}
1162@end group 1165@end group
1163@end smallexample 1166@end smallexample
@@ -1697,7 +1700,6 @@ the information in another fashion. This way, customizations made by
1697the user or by Lisp programs (such as @code{display-time} and major 1700the user or by Lisp programs (such as @code{display-time} and major
1698modes) via changes to those variables remain effective. 1701modes) via changes to those variables remain effective.
1699 1702
1700@cindex Shell mode @code{mode-line-format}
1701 Here is an example of a @code{mode-line-format} that might be 1703 Here is an example of a @code{mode-line-format} that might be
1702useful for @code{shell-mode}, since it contains the host name and default 1704useful for @code{shell-mode}, since it contains the host name and default
1703directory. 1705directory.
@@ -2336,7 +2338,7 @@ Setting this variable makes it buffer-local in the current buffer.
2336 2338
2337@node Font Lock Mode 2339@node Font Lock Mode
2338@section Font Lock Mode 2340@section Font Lock Mode
2339@cindex Font Lock Mode 2341@cindex Font Lock mode
2340 2342
2341 @dfn{Font Lock mode} is a feature that automatically attaches 2343 @dfn{Font Lock mode} is a feature that automatically attaches
2342@code{face} properties to certain parts of the buffer based on their 2344@code{face} properties to certain parts of the buffer based on their
@@ -2855,6 +2857,8 @@ set the variable @code{font-lock-defaults}.
2855 2857
2856@node Faces for Font Lock 2858@node Faces for Font Lock
2857@subsection Faces for Font Lock 2859@subsection Faces for Font Lock
2860@cindex faces for font lock
2861@cindex font lock faces
2858 2862
2859 You can make Font Lock mode use any face, but several faces are 2863 You can make Font Lock mode use any face, but several faces are
2860defined specifically for Font Lock mode. Each of these symbols is both 2864defined specifically for Font Lock mode. Each of these symbols is both
@@ -2927,6 +2931,7 @@ directives in C.
2927 2931
2928@node Syntactic Font Lock 2932@node Syntactic Font Lock
2929@subsection Syntactic Font Lock 2933@subsection Syntactic Font Lock
2934@cindex syntactic font lock
2930 2935
2931Syntactic fontification uses the syntax table to find comments and 2936Syntactic fontification uses the syntax table to find comments and
2932string constants (@pxref{Syntax Tables}). It highlights them using 2937string constants (@pxref{Syntax Tables}). It highlights them using
diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi
index 3661079c56e..dd0f15c817e 100644
--- a/lispref/nonascii.texi
+++ b/lispref/nonascii.texi
@@ -7,6 +7,7 @@
7@node Non-ASCII Characters, Searching and Matching, Text, Top 7@node Non-ASCII Characters, Searching and Matching, Text, Top
8@chapter Non-@acronym{ASCII} Characters 8@chapter Non-@acronym{ASCII} Characters
9@cindex multibyte characters 9@cindex multibyte characters
10@cindex characters, multi-byte
10@cindex non-@acronym{ASCII} characters 11@cindex non-@acronym{ASCII} characters
11 12
12 This chapter covers the special issues relating to non-@acronym{ASCII} 13 This chapter covers the special issues relating to non-@acronym{ASCII}
@@ -374,7 +375,7 @@ This command displays a list of characters in the character set
374@section Characters and Bytes 375@section Characters and Bytes
375@cindex bytes and characters 376@cindex bytes and characters
376 377
377@cindex introduction sequence 378@cindex introduction sequence (of character)
378@cindex dimension (of character set) 379@cindex dimension (of character set)
379 In multibyte representation, each character occupies one or more 380 In multibyte representation, each character occupies one or more
380bytes. Each character set has an @dfn{introduction sequence}, which is 381bytes. Each character set has an @dfn{introduction sequence}, which is
@@ -407,6 +408,7 @@ set's introduction sequence:
407 408
408@node Splitting Characters 409@node Splitting Characters
409@section Splitting Characters 410@section Splitting Characters
411@cindex character as bytes
410 412
411 The functions in this section convert between characters and the byte 413 The functions in this section convert between characters and the byte
412values used to represent them. For most purposes, there is no need to 414values used to represent them. For most purposes, there is no need to
@@ -432,6 +434,7 @@ returns a list consisting of the symbol @code{unknown} and @var{character}.
432@end example 434@end example
433@end defun 435@end defun
434 436
437@cindex generate characters in charsets
435@defun make-char charset &optional code1 code2 438@defun make-char charset &optional code1 code2
436This function returns the character in character set @var{charset} whose 439This function returns the character in character set @var{charset} whose
437position codes are @var{code1} and @var{code2}. This is roughly the 440position codes are @var{code1} and @var{code2}. This is roughly the
@@ -655,7 +658,9 @@ coding system, you'll get Unicode characters (of charset
655@code{iso-latin-2} and decode the result with the same coding system, 658@code{iso-latin-2} and decode the result with the same coding system,
656you'll get Latin-2 characters. 659you'll get Latin-2 characters.
657 660
658@cindex end of line conversion 661@cindex EOL conversion
662@cindex end-of-line conversion
663@cindex line end conversion
659 @dfn{End of line conversion} handles three different conventions used 664 @dfn{End of line conversion} handles three different conventions used
660on various systems for representing end of line in files. The Unix 665on various systems for representing end of line in files. The Unix
661convention is to use the linefeed character (also called newline). The 666convention is to use the linefeed character (also called newline). The
@@ -808,9 +813,6 @@ If that is valid, it returns @var{coding-system}.
808Otherwise it signals an error with condition @code{coding-system-error}. 813Otherwise it signals an error with condition @code{coding-system-error}.
809@end defun 814@end defun
810 815
811@cindex EOL conversion
812@cindex end-of-line conversion
813@cindex line end conversion
814@defun coding-system-eol-type coding-system 816@defun coding-system-eol-type coding-system
815This function returns the type of end-of-line (a.k.a.@: @dfn{eol}) 817This function returns the type of end-of-line (a.k.a.@: @dfn{eol})
816conversion used by @var{coding-system}. If @var{coding-system} 818conversion used by @var{coding-system}. If @var{coding-system}
@@ -1103,11 +1105,11 @@ for decoding (in case @var{operation} does decoding), and
1103@var{encoding-system} is the coding system for encoding (in case 1105@var{encoding-system} is the coding system for encoding (in case
1104@var{operation} does encoding). 1106@var{operation} does encoding).
1105 1107
1106The argument @var{operation} should be a symbol, any one of 1108The argument @var{operation} is a symbol, one of @code{write-region},
1107@code{insert-file-contents}, @code{write-region},
1108@code{start-process}, @code{call-process}, @code{call-process-region}, 1109@code{start-process}, @code{call-process}, @code{call-process-region},
1109or @code{open-network-stream}. These are the names of the Emacs I/O 1110@code{insert-file-contents}, or @code{open-network-stream}. These are
1110primitives that can do character code and eol conversion. 1111the names of the Emacs I/O primitives that can do character code and
1112eol conversion.
1111 1113
1112The remaining arguments should be the same arguments that might be given 1114The remaining arguments should be the same arguments that might be given
1113to the corresponding I/O primitive. Depending on the primitive, one 1115to the corresponding I/O primitive. Depending on the primitive, one
@@ -1163,9 +1165,9 @@ of the right way to use the variable:
1163 (insert-file-contents filename)) 1165 (insert-file-contents filename))
1164@end example 1166@end example
1165 1167
1166When its value is non-@code{nil}, @code{coding-system-for-read} takes 1168When its value is non-@code{nil}, this variable takes precedence over
1167precedence over all other methods of specifying a coding system to use for 1169all other methods of specifying a coding system to use for input,
1168input, including @code{file-coding-system-alist}, 1170including @code{file-coding-system-alist},
1169@code{process-coding-system-alist} and 1171@code{process-coding-system-alist} and
1170@code{network-coding-system-alist}. 1172@code{network-coding-system-alist}.
1171@end defvar 1173@end defvar
@@ -1190,8 +1192,8 @@ decoding functions (@pxref{Explicit Encoding}).
1190 1192
1191@node Explicit Encoding 1193@node Explicit Encoding
1192@subsection Explicit Encoding and Decoding 1194@subsection Explicit Encoding and Decoding
1193@cindex encoding text 1195@cindex encoding in coding systems
1194@cindex decoding text 1196@cindex decoding in coding systems
1195 1197
1196 All the operations that transfer text in and out of Emacs have the 1198 All the operations that transfer text in and out of Emacs have the
1197ability to use a coding system to encode or decode the text. 1199ability to use a coding system to encode or decode the text.
diff --git a/lispref/numbers.texi b/lispref/numbers.texi
index 6e54af3319c..4d7f3e7578a 100644
--- a/lispref/numbers.texi
+++ b/lispref/numbers.texi
@@ -222,6 +222,7 @@ down to an integer.
222 222
223@node Predicates on Numbers 223@node Predicates on Numbers
224@section Type Predicates for Numbers 224@section Type Predicates for Numbers
225@cindex predicates for numbers
225 226
226 The functions in this section test for numbers, or for a specific 227 The functions in this section test for numbers, or for a specific
227type of number. The functions @code{integerp} and @code{floatp} can 228type of number. The functions @code{integerp} and @code{floatp} can
@@ -267,7 +268,8 @@ if so, @code{nil} otherwise. The argument must be a number.
267 268
268@node Comparison of Numbers 269@node Comparison of Numbers
269@section Comparison of Numbers 270@section Comparison of Numbers
270@cindex number equality 271@cindex number comparison
272@cindex comparing numbers
271 273
272 To test numbers for numerical equality, you should normally use 274 To test numbers for numerical equality, you should normally use
273@code{=}, not @code{eq}. There can be many distinct floating point 275@code{=}, not @code{eq}. There can be many distinct floating point
@@ -388,6 +390,8 @@ This function returns the absolute value of @var{number}.
388@node Numeric Conversions 390@node Numeric Conversions
389@section Numeric Conversions 391@section Numeric Conversions
390@cindex rounding in conversions 392@cindex rounding in conversions
393@cindex number conversions
394@cindex converting numbers
391 395
392To convert an integer to floating point, use the function @code{float}. 396To convert an integer to floating point, use the function @code{float}.
393 397
@@ -480,6 +484,7 @@ depending on your machine.
480 484
481@node Arithmetic Operations 485@node Arithmetic Operations
482@section Arithmetic Operations 486@section Arithmetic Operations
487@cindex arithmetic operations
483 488
484 Emacs Lisp provides the traditional four arithmetic operations: 489 Emacs Lisp provides the traditional four arithmetic operations:
485addition, subtraction, multiplication, and division. Remainder and modulus 490addition, subtraction, multiplication, and division. Remainder and modulus
@@ -732,6 +737,8 @@ and returns that value as a floating point number.
732 737
733@node Bitwise Operations 738@node Bitwise Operations
734@section Bitwise Operations on Integers 739@section Bitwise Operations on Integers
740@cindex bitwise arithmetic
741@cindex logical arithmetic
735 742
736 In a computer, an integer is represented as a binary number, a 743 In a computer, an integer is represented as a binary number, a
737sequence of @dfn{bits} (digits which are either zero or one). A bitwise 744sequence of @dfn{bits} (digits which are either zero or one). A bitwise
@@ -913,8 +920,6 @@ Here are other examples:
913@end defun 920@end defun
914 921
915@defun logand &rest ints-or-markers 922@defun logand &rest ints-or-markers
916@cindex logical and
917@cindex bitwise and
918This function returns the ``logical and'' of the arguments: the 923This function returns the ``logical and'' of the arguments: the
919@var{n}th bit is set in the result if, and only if, the @var{n}th bit is 924@var{n}th bit is set in the result if, and only if, the @var{n}th bit is
920set in all the arguments. (``Set'' means that the value of the bit is 1 925set in all the arguments. (``Set'' means that the value of the bit is 1
@@ -966,8 +971,6 @@ because its binary representation consists entirely of ones. If
966@end defun 971@end defun
967 972
968@defun logior &rest ints-or-markers 973@defun logior &rest ints-or-markers
969@cindex logical inclusive or
970@cindex bitwise or
971This function returns the ``inclusive or'' of its arguments: the @var{n}th bit 974This function returns the ``inclusive or'' of its arguments: the @var{n}th bit
972is set in the result if, and only if, the @var{n}th bit is set in at least 975is set in the result if, and only if, the @var{n}th bit is set in at least
973one of the arguments. If there are no arguments, the result is zero, 976one of the arguments. If there are no arguments, the result is zero,
@@ -993,8 +996,6 @@ passed just one argument, it returns that argument.
993@end defun 996@end defun
994 997
995@defun logxor &rest ints-or-markers 998@defun logxor &rest ints-or-markers
996@cindex bitwise exclusive or
997@cindex logical exclusive or
998This function returns the ``exclusive or'' of its arguments: the 999This function returns the ``exclusive or'' of its arguments: the
999@var{n}th bit is set in the result if, and only if, the @var{n}th bit is 1000@var{n}th bit is set in the result if, and only if, the @var{n}th bit is
1000set in an odd number of the arguments. If there are no arguments, the 1001set in an odd number of the arguments. If there are no arguments, the
@@ -1020,8 +1021,6 @@ result is 0, which is an identity element for this operation. If
1020@end defun 1021@end defun
1021 1022
1022@defun lognot integer 1023@defun lognot integer
1023@cindex logical not
1024@cindex bitwise not
1025This function returns the logical complement of its argument: the @var{n}th 1024This function returns the logical complement of its argument: the @var{n}th
1026bit is one in the result if, and only if, the @var{n}th bit is zero in 1025bit is one in the result if, and only if, the @var{n}th bit is zero in
1027@var{integer}, and vice-versa. 1026@var{integer}, and vice-versa.
@@ -1039,6 +1038,7 @@ bit is one in the result if, and only if, the @var{n}th bit is zero in
1039@section Standard Mathematical Functions 1038@section Standard Mathematical Functions
1040@cindex transcendental functions 1039@cindex transcendental functions
1041@cindex mathematical functions 1040@cindex mathematical functions
1041@cindex floating-point functions
1042 1042
1043 These mathematical functions allow integers as well as floating point 1043 These mathematical functions allow integers as well as floating point
1044numbers as arguments. 1044numbers as arguments.
@@ -1066,7 +1066,7 @@ pi/2
1066@math{\pi/2} 1066@math{\pi/2}
1067@end tex 1067@end tex
1068(inclusive) whose sine is @var{arg}; if, however, @var{arg} is out of 1068(inclusive) whose sine is @var{arg}; if, however, @var{arg} is out of
1069range (outside [-1, 1]), it signals a @code{domain-error} error. 1069range (outside [@minus{}1, 1]), it signals a @code{domain-error} error.
1070@end defun 1070@end defun
1071 1071
1072@defun acos arg 1072@defun acos arg
@@ -1078,7 +1078,7 @@ pi
1078@math{\pi} 1078@math{\pi}
1079@end tex 1079@end tex
1080(inclusive) whose cosine is @var{arg}; if, however, @var{arg} is out 1080(inclusive) whose cosine is @var{arg}; if, however, @var{arg} is out
1081of range (outside [-1, 1]), it signals a @code{domain-error} error. 1081of range (outside [@minus{}1, 1]), it signals a @code{domain-error} error.
1082@end defun 1082@end defun
1083 1083
1084@defun atan y &optional x 1084@defun atan y &optional x
@@ -1183,7 +1183,7 @@ generates the same sequence of numbers. Emacs always starts with the
1183same seed value, so the sequence of values of @code{random} is actually 1183same seed value, so the sequence of values of @code{random} is actually
1184the same in each Emacs run! For example, in one operating system, the 1184the same in each Emacs run! For example, in one operating system, the
1185first call to @code{(random)} after you start Emacs always returns 1185first call to @code{(random)} after you start Emacs always returns
1186-1457731, and the second one always returns -7692030. This 1186@minus{}1457731, and the second one always returns @minus{}7692030. This
1187repeatability is helpful for debugging. 1187repeatability is helpful for debugging.
1188 1188
1189If you want random numbers that don't always come out the same, execute 1189If you want random numbers that don't always come out the same, execute
diff --git a/lispref/objects.texi b/lispref/objects.texi
index 3fc11631111..e75cde70202 100644
--- a/lispref/objects.texi
+++ b/lispref/objects.texi
@@ -288,7 +288,7 @@ you @emph{must} use a second @samp{\} to quote it: @samp{?\\}.
288@cindex @samp{\a} 288@cindex @samp{\a}
289@cindex backspace 289@cindex backspace
290@cindex @samp{\b} 290@cindex @samp{\b}
291@cindex tab 291@cindex tab (ASCII character)
292@cindex @samp{\t} 292@cindex @samp{\t}
293@cindex vertical tab 293@cindex vertical tab
294@cindex @samp{\v} 294@cindex @samp{\v}
@@ -296,11 +296,11 @@ you @emph{must} use a second @samp{\} to quote it: @samp{?\\}.
296@cindex @samp{\f} 296@cindex @samp{\f}
297@cindex newline 297@cindex newline
298@cindex @samp{\n} 298@cindex @samp{\n}
299@cindex return 299@cindex return (ASCII character)
300@cindex @samp{\r} 300@cindex @samp{\r}
301@cindex escape 301@cindex escape (ASCII character)
302@cindex @samp{\e} 302@cindex @samp{\e}
303@cindex space 303@cindex space (ASCII character)
304@cindex @samp{\s} 304@cindex @samp{\s}
305 You can express the characters control-g, backspace, tab, newline, 305 You can express the characters control-g, backspace, tab, newline,
306vertical tab, formfeed, space, return, del, and escape as @samp{?\a}, 306vertical tab, formfeed, space, return, del, and escape as @samp{?\a},
@@ -661,7 +661,7 @@ empty list. The empty list is actually the symbol @code{nil}.
661cells are used as part of lists, the phrase @dfn{list structure} has 661cells are used as part of lists, the phrase @dfn{list structure} has
662come to refer to any structure made out of cons cells. 662come to refer to any structure made out of cons cells.
663 663
664@cindex atom 664@cindex atoms
665 Because cons cells are so central to Lisp, we also have a word for 665 Because cons cells are so central to Lisp, we also have a word for
666``an object which is not a cons cell.'' These objects are called 666``an object which is not a cons cell.'' These objects are called
667@dfn{atoms}. 667@dfn{atoms}.
@@ -753,7 +753,7 @@ buttercup)}, sketched in a different manner:
753@end group 753@end group
754@end smallexample 754@end smallexample
755 755
756@cindex @code{nil} in lists 756@cindex @code{nil} as a list
757@cindex empty list 757@cindex empty list
758 A list with no elements in it is the @dfn{empty list}; it is identical 758 A list with no elements in it is the @dfn{empty list}; it is identical
759to the symbol @code{nil}. In other words, @code{nil} is both a symbol 759to the symbol @code{nil}. In other words, @code{nil} is both a symbol
@@ -1493,7 +1493,7 @@ uniquely).
1493 1493
1494@node Window Configuration Type 1494@node Window Configuration Type
1495@subsection Window Configuration Type 1495@subsection Window Configuration Type
1496@cindex screen layout 1496@cindex window layout in a frame
1497 1497
1498 A @dfn{window configuration} stores information about the positions, 1498 A @dfn{window configuration} stores information about the positions,
1499sizes, and contents of the windows in a frame, so you can recreate the 1499sizes, and contents of the windows in a frame, so you can recreate the
@@ -1507,6 +1507,7 @@ window configurations.
1507@node Frame Configuration Type 1507@node Frame Configuration Type
1508@subsection Frame Configuration Type 1508@subsection Frame Configuration Type
1509@cindex screen layout 1509@cindex screen layout
1510@cindex window layout, all frames
1510 1511
1511 A @dfn{frame configuration} stores information about the positions, 1512 A @dfn{frame configuration} stores information about the positions,
1512sizes, and contents of the windows in all frames. It is actually 1513sizes, and contents of the windows in all frames. It is actually
@@ -1998,7 +1999,6 @@ always true.
1998@end group 1999@end group
1999@end example 2000@end example
2000 2001
2001@cindex equality of strings
2002Comparison of strings is case-sensitive, but does not take account of 2002Comparison of strings is case-sensitive, but does not take account of
2003text properties---it compares only the characters in the strings. For 2003text properties---it compares only the characters in the strings. For
2004technical reasons, a unibyte string and a multibyte string are 2004technical reasons, a unibyte string and a multibyte string are
diff --git a/lispref/os.texi b/lispref/os.texi
index 9fde03b650c..498cc857eab 100644
--- a/lispref/os.texi
+++ b/lispref/os.texi
@@ -54,7 +54,7 @@ can customize these actions.
54 54
55@node Startup Summary 55@node Startup Summary
56@subsection Summary: Sequence of Actions at Startup 56@subsection Summary: Sequence of Actions at Startup
57@cindex initialization 57@cindex initialization of Emacs
58@cindex startup of Emacs 58@cindex startup of Emacs
59@cindex @file{startup.el} 59@cindex @file{startup.el}
60 60
@@ -622,6 +622,7 @@ convenient way to test parts of this string is with
622@code{string-match}. 622@code{string-match}.
623@end defvar 623@end defvar
624 624
625@cindex system type and name
625@defvar system-type 626@defvar system-type
626The value of this variable is a symbol indicating the type of operating 627The value of this variable is a symbol indicating the type of operating
627system Emacs is operating on. Here is a table of the possible values: 628system Emacs is operating on. Here is a table of the possible values:
@@ -885,6 +886,7 @@ indicating whether the privilege is currently enabled.
885 886
886@node User Identification 887@node User Identification
887@section User Identification 888@section User Identification
889@cindex user identification
888 890
889@defvar init-file-user 891@defvar init-file-user
890This variable says which user's init files should be used by 892This variable says which user's init files should be used by
@@ -1308,6 +1310,7 @@ the inverse conversion, use @code{float-time}.
1308 1310
1309@node Processor Run Time 1311@node Processor Run Time
1310@section Processor Run time 1312@section Processor Run time
1313@cindex processor run time
1311 1314
1312@defun get-internal-run-time 1315@defun get-internal-run-time
1313This function returns the processor run time used by Emacs as a list 1316This function returns the processor run time used by Emacs as a list
@@ -1418,20 +1421,15 @@ the timer runs only once.
1418 1421
1419@var{time} may specify an absolute or a relative time. 1422@var{time} may specify an absolute or a relative time.
1420 1423
1421Absolute times may be specified in a wide variety of formats; this 1424Absolute times may be specified using a string with a limited variety
1422function tries to accept all the commonly used date formats. The most 1425of formats, and are taken to be times @emph{today}, even if already in
1423convenient formats are strings. Valid such formats include these two, 1426the past. The recognized forms are @samp{@var{xxxx}},
1424 1427@samp{@var{x}:@var{xx}}, or @samp{@var{xx}:@var{xx}} (military time),
1425@example 1428and @samp{@var{xx}am}, @samp{@var{xx}AM}, @samp{@var{xx}pm},
1426@var{year}-@var{month}-@var{day} @var{hour}:@var{min}:@var{sec} @var{timezone} 1429@samp{@var{xx}PM}, @samp{@var{xx}:@var{xx}am},
1427 1430@samp{@var{xx}:@var{xx}AM}, @samp{@var{xx}:@var{xx}pm}, or
1428@var{hour}:@var{min}:@var{sec} @var{timezone} @var{month}/@var{day}/@var{year} 1431@samp{@var{xx}:@var{xx}PM}. A period can be used instead of a colon
1429@end example 1432to separate the hour and minute parts.
1430
1431@noindent
1432where in both examples all fields are numbers; the format that
1433@code{current-time-string} returns is also allowed, and many others
1434as well.
1435 1433
1436To specify a relative time as a string, use numbers followed by units. 1434To specify a relative time as a string, use numbers followed by units.
1437For example: 1435For example:
@@ -1449,8 +1447,9 @@ For relative time values, Emacs considers a month to be exactly thirty
1449days, and a year to be exactly 365.25 days. 1447days, and a year to be exactly 365.25 days.
1450 1448
1451Not all convenient formats are strings. If @var{time} is a number 1449Not all convenient formats are strings. If @var{time} is a number
1452(integer or floating point), that specifies a relative time measured 1450(integer or floating point), that specifies a relative time measured in
1453in seconds. 1451seconds. The result of @code{encode-time} can also be used to specify
1452an absolute value for @var{time}.
1454 1453
1455In most cases, @var{repeat} has no effect on when @emph{first} call 1454In most cases, @var{repeat} has no effect on when @emph{first} call
1456takes place---@var{time} alone specifies that. There is one exception: 1455takes place---@var{time} alone specifies that. There is one exception:
@@ -1695,6 +1694,7 @@ is the character Emacs currently uses for quitting, usually @kbd{C-g}.
1695 1694
1696@node Recording Input 1695@node Recording Input
1697@subsection Recording Input 1696@subsection Recording Input
1697@cindex recording input
1698 1698
1699@defun recent-keys 1699@defun recent-keys
1700This function returns a vector containing the last 300 input events from 1700This function returns a vector containing the last 300 input events from
@@ -1868,6 +1868,7 @@ is called with one argument, a property list that describes the sound.
1868 1868
1869@node X11 Keysyms 1869@node X11 Keysyms
1870@section Operating on X11 Keysyms 1870@section Operating on X11 Keysyms
1871@cindex X11 keysyms
1871 1872
1872To define system-specific X11 keysyms, set the variable 1873To define system-specific X11 keysyms, set the variable
1873@code{system-key-alist}. 1874@code{system-key-alist}.
@@ -1921,7 +1922,6 @@ how to swap the Meta and Alt modifiers within Emacs:
1921@node Batch Mode 1922@node Batch Mode
1922@section Batch Mode 1923@section Batch Mode
1923@cindex batch mode 1924@cindex batch mode
1924@cindex noninteractive use
1925 1925
1926 The command-line option @samp{-batch} causes Emacs to run 1926 The command-line option @samp{-batch} causes Emacs to run
1927noninteractively. In this mode, Emacs does not read commands from the 1927noninteractively. In this mode, Emacs does not read commands from the
diff --git a/lispref/positions.texi b/lispref/positions.texi
index 993bc31511f..939b3f75fc1 100644
--- a/lispref/positions.texi
+++ b/lispref/positions.texi
@@ -123,6 +123,7 @@ size of @var{buffer}.
123 123
124@node Motion 124@node Motion
125@section Motion 125@section Motion
126@cindex motion by chars, words, lines, lists
126 127
127 Motion functions change the value of point, either relative to the 128 Motion functions change the value of point, either relative to the
128current value of point, relative to the beginning or end of the buffer, 129current value of point, relative to the beginning or end of the buffer,
@@ -235,6 +236,7 @@ If this variable is non-@code{nil}, certain motion functions including
235 236
236@node Buffer End Motion 237@node Buffer End Motion
237@subsection Motion to an End of the Buffer 238@subsection Motion to an End of the Buffer
239@cindex move to beginning or end of buffer
238 240
239 To move point to the beginning of the buffer, write: 241 To move point to the beginning of the buffer, write:
240 242
@@ -642,6 +644,7 @@ beginning of the first screen line. @xref{Minibuffer Contents}.
642@cindex sexp motion 644@cindex sexp motion
643@cindex Lisp expression motion 645@cindex Lisp expression motion
644@cindex list motion 646@cindex list motion
647@cindex balanced parenthesis motion
645 648
646 Here are several functions concerned with balanced-parenthesis 649 Here are several functions concerned with balanced-parenthesis
647expressions (also called @dfn{sexps} in connection with moving across 650expressions (also called @dfn{sexps} in connection with moving across
@@ -827,7 +830,6 @@ Configurations}).
827@defspec save-excursion body@dots{} 830@defspec save-excursion body@dots{}
828@cindex mark excursion 831@cindex mark excursion
829@cindex point excursion 832@cindex point excursion
830@cindex current buffer excursion
831The @code{save-excursion} special form saves the identity of the current 833The @code{save-excursion} special form saves the identity of the current
832buffer and the values of point and the mark in it, evaluates 834buffer and the values of point and the mark in it, evaluates
833@var{body}, and finally restores the buffer and its saved values of 835@var{body}, and finally restores the buffer and its saved values of
diff --git a/lispref/processes.texi b/lispref/processes.texi
index 2bf545bc9f1..fbc8b785c11 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -146,6 +146,8 @@ file name.
146 146
147@node Shell Arguments 147@node Shell Arguments
148@section Shell Arguments 148@section Shell Arguments
149@cindex arguments for shell commands
150@cindex shell command arguments
149 151
150 Lisp programs sometimes need to run a shell and give it a command 152 Lisp programs sometimes need to run a shell and give it a command
151that contains file names that were specified by the user. These 153that contains file names that were specified by the user. These
@@ -347,7 +349,7 @@ handler could be different from the handler chosen for the
347@var{infile} is on another remote host. Or @code{default-directory} 349@var{infile} is on another remote host. Or @code{default-directory}
348could be non-special, whereas @var{infile} is on a remote host.) 350could be non-special, whereas @var{infile} is on a remote host.)
349 351
350If @var{buffer} has the form @code{(@var{real-destination} 352If @var{buffer} is a list of the form @code{(@var{real-destination}
351@var{error-destination})}, and @var{error-destination} names a file, 353@var{error-destination})}, and @var{error-destination} names a file,
352then the same remarks as for @var{infile} apply. 354then the same remarks as for @var{infile} apply.
353 355
@@ -1236,6 +1238,7 @@ there is no filter function:
1236 1238
1237@node Decoding Output 1239@node Decoding Output
1238@subsection Decoding Process Output 1240@subsection Decoding Process Output
1241@cindex decode process output
1239 1242
1240 When Emacs writes process output directly into a multibyte buffer, 1243 When Emacs writes process output directly into a multibyte buffer,
1241it decodes the output according to the process output coding system. 1244it decodes the output according to the process output coding system.
@@ -1285,6 +1288,7 @@ This function returns the filter multibyte flag of @var{process}.
1285 1288
1286@node Accepting Output 1289@node Accepting Output
1287@subsection Accepting Output from Processes 1290@subsection Accepting Output from Processes
1291@cindex accept input from processes
1288 1292
1289 Output from asynchronous subprocesses normally arrives only while 1293 Output from asynchronous subprocesses normally arrives only while
1290Emacs is waiting for some sort of external event, such as elapsed time 1294Emacs is waiting for some sort of external event, such as elapsed time
@@ -1328,7 +1332,7 @@ arrived.
1328@node Sentinels 1332@node Sentinels
1329@section Sentinels: Detecting Process Status Changes 1333@section Sentinels: Detecting Process Status Changes
1330@cindex process sentinel 1334@cindex process sentinel
1331@cindex sentinel 1335@cindex sentinel (of process)
1332 1336
1333 A @dfn{process sentinel} is a function that is called whenever the 1337 A @dfn{process sentinel} is a function that is called whenever the
1334associated process changes status for any reason, including signals 1338associated process changes status for any reason, including signals
@@ -1624,7 +1628,7 @@ The associated value is the process filter function.
1624@item :sentinel 1628@item :sentinel
1625The associated value is the process sentinel function. 1629The associated value is the process sentinel function.
1626@item :remote 1630@item :remote
1627In a connection, this is the address in internal format of the remote peer. 1631In a connection, the address in internal format of the remote peer.
1628@item :local 1632@item :local
1629The local address, in internal format. 1633The local address, in internal format.
1630@item :service 1634@item :service
@@ -1643,6 +1647,7 @@ For an ordinary child process, this function always returns @code{t}.
1643 1647
1644@node Network Servers 1648@node Network Servers
1645@section Network Servers 1649@section Network Servers
1650@cindex network servers
1646 1651
1647 You create a server by calling @code{make-network-process} with 1652 You create a server by calling @code{make-network-process} with
1648@code{:server t}. The server will listen for connection requests from 1653@code{:server t}. The server will listen for connection requests from
@@ -1722,7 +1727,7 @@ sets its remote peer address to @var{address}.
1722@section Low-Level Network Access 1727@section Low-Level Network Access
1723 1728
1724 You can also create network connections by operating at a lower 1729 You can also create network connections by operating at a lower
1725level that that of @code{open-network-stream}, using 1730level than that of @code{open-network-stream}, using
1726@code{make-network-process}. 1731@code{make-network-process}.
1727 1732
1728@menu 1733@menu
@@ -2061,8 +2066,9 @@ number @var{p}. @code{format-network-address} converts that to the
2061string @code{"@var{a}.@var{b}.@var{c}.@var{d}:@var{p}"}. 2066string @code{"@var{a}.@var{b}.@var{c}.@var{d}:@var{p}"}.
2062 2067
2063A nine-element vector @code{[@var{a} @var{b} @var{c} @var{d} @var{e} 2068A nine-element vector @code{[@var{a} @var{b} @var{c} @var{d} @var{e}
2064@var{f} @var{g} @var{h} @var{p}]} represents an IPv6 address and port 2069@var{f} @var{g} @var{h} @var{p}]} represents an IPv6 address along
2065number. @code{format-network-address} converts that to the string 2070with a port number. @code{format-network-address} converts that to
2071the string
2066@code{"[@var{a}:@var{b}:@var{c}:@var{d}:@var{e}:@var{f}:@var{g}:@var{h}]:@var{p}"}. 2072@code{"[@var{a}:@var{b}:@var{c}:@var{d}:@var{e}:@var{f}:@var{g}:@var{h}]:@var{p}"}.
2067 2073
2068If the vector does not include the port number, @var{p}, or if 2074If the vector does not include the port number, @var{p}, or if
@@ -2072,6 +2078,7 @@ If the vector does not include the port number, @var{p}, or if
2072 2078
2073@node Byte Packing 2079@node Byte Packing
2074@section Packing and Unpacking Byte Arrays 2080@section Packing and Unpacking Byte Arrays
2081@cindex byte packing and unpacking
2075 2082
2076 This section describes how to pack and unpack arrays of bytes, 2083 This section describes how to pack and unpack arrays of bytes,
2077usually for binary network protocols. These functions convert byte arrays 2084usually for binary network protocols. These functions convert byte arrays
diff --git a/lispref/searching.texi b/lispref/searching.texi
index 7fdbdb73d46..10e8c672962 100644
--- a/lispref/searching.texi
+++ b/lispref/searching.texi
@@ -106,7 +106,7 @@ leaves point at the beginning of the match.
106@end deffn 106@end deffn
107 107
108@deffn Command word-search-forward string &optional limit noerror repeat 108@deffn Command word-search-forward string &optional limit noerror repeat
109@cindex word search 109@c @cindex word search Redundant
110This function searches forward from point for a ``word'' match for 110This function searches forward from point for a ``word'' match for
111@var{string}. If it finds a match, it sets point to the end of the 111@var{string}. If it finds a match, it sets point to the end of the
112match found, and returns the new value of point. 112match found, and returns the new value of point.
@@ -220,7 +220,7 @@ a regexp is a very powerful operation. This section explains how to write
220regexps; the following section says how to search for them. 220regexps; the following section says how to search for them.
221 221
222@findex re-builder 222@findex re-builder
223@cindex authoring regular expressions 223@cindex regular expressions, developing
224 For convenient interactive development of regular expressions, you 224 For convenient interactive development of regular expressions, you
225can use the @kbd{M-x re-builder} command. It provides a convenient 225can use the @kbd{M-x re-builder} command. It provides a convenient
226interface for creating regular expressions, by giving immediate visual 226interface for creating regular expressions, by giving immediate visual
@@ -309,17 +309,16 @@ first tries to match all three @samp{a}s; but the rest of the pattern is
309The next alternative is for @samp{a*} to match only two @samp{a}s. With 309The next alternative is for @samp{a*} to match only two @samp{a}s. With
310this choice, the rest of the regexp matches successfully. 310this choice, the rest of the regexp matches successfully.
311 311
312@strong{Warning:} Nested repetition operators take a long time, 312@strong{Warning:} Nested repetition operators can run for an
313or even forever, if they 313indefinitely long time, if they lead to ambiguous matching. For
314lead to ambiguous matching. For example, trying to match the regular 314example, trying to match the regular expression @samp{\(x+y*\)*a}
315expression @samp{\(x+y*\)*a} against the string 315against the string @samp{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz} could
316@samp{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz} could take hours before it 316take hours before it ultimately fails. Emacs must try each way of
317ultimately fails. Emacs must try each way of grouping the 35 317grouping the @samp{x}s before concluding that none of them can work.
318@samp{x}s before concluding that none of them can work. Even worse, 318Even worse, @samp{\(x*\)*} can match the null string in infinitely
319@samp{\(x*\)*} can match the null string in infinitely many ways, so 319many ways, so it causes an infinite loop. To avoid these problems,
320it causes an infinite loop. To avoid these problems, check nested 320check nested repetitions carefully, to make sure that they do not
321repetitions carefully, to make sure that they do not cause combinatorial 321cause combinatorial explosions in backtracking.
322explosions in backtracking.
323 322
324@item @samp{+} 323@item @samp{+}
325@cindex @samp{+} in regexp 324@cindex @samp{+} in regexp
@@ -1186,6 +1185,7 @@ match data around it, to prevent it from being overwritten.
1186 1185
1187@node Replacing Match 1186@node Replacing Match
1188@subsection Replacing the Text that Matched 1187@subsection Replacing the Text that Matched
1188@cindex replace matched text
1189 1189
1190 This function replaces all or part of the text matched by the last 1190 This function replaces all or part of the text matched by the last
1191search. It works by means of the match data. 1191search. It works by means of the match data.
@@ -1543,7 +1543,8 @@ associated with it still exists.
1543 1543
1544@node Search and Replace 1544@node Search and Replace
1545@section Search and Replace 1545@section Search and Replace
1546@cindex replacement 1546@cindex replacement after search
1547@cindex searching and replacing
1547 1548
1548 If you want to find all matches for a regexp in part of the buffer, 1549 If you want to find all matches for a regexp in part of the buffer,
1549and replace them, the best way is to write an explicit loop using 1550and replace them, the best way is to write an explicit loop using
diff --git a/lispref/sequences.texi b/lispref/sequences.texi
index ac5a16e261f..7e66549412b 100644
--- a/lispref/sequences.texi
+++ b/lispref/sequences.texi
@@ -388,7 +388,7 @@ are often useful for objects known to be arrays. @xref{Sequence Functions}.
388 388
389@node Vectors 389@node Vectors
390@section Vectors 390@section Vectors
391@cindex vector 391@cindex vector (type)
392 392
393 Arrays in Lisp, like arrays in most languages, are blocks of memory 393 Arrays in Lisp, like arrays in most languages, are blocks of memory
394whose elements can be accessed in constant time. A @dfn{vector} is a 394whose elements can be accessed in constant time. A @dfn{vector} is a
diff --git a/lispref/streams.texi b/lispref/streams.texi
index 9bb66378e5f..7356c119a1e 100644
--- a/lispref/streams.texi
+++ b/lispref/streams.texi
@@ -681,6 +681,7 @@ returns @code{"The buffer is foo"}.
681 681
682@node Output Variables 682@node Output Variables
683@section Variables Affecting Output 683@section Variables Affecting Output
684@cindex output-controlling variables
684 685
685@defvar standard-output 686@defvar standard-output
686The value of this variable is the default output stream---the stream 687The value of this variable is the default output stream---the stream
diff --git a/lispref/strings.texi b/lispref/strings.texi
index 23f679d5bb9..af5a2fa14d3 100644
--- a/lispref/strings.texi
+++ b/lispref/strings.texi
@@ -586,6 +586,7 @@ first character of @var{string} is the null character, @acronym{ASCII} code
586@example 586@example
587(string-to-char "ABC") 587(string-to-char "ABC")
588 @result{} 65 588 @result{} 65
589
589(string-to-char "xyz") 590(string-to-char "xyz")
590 @result{} 120 591 @result{} 120
591(string-to-char "") 592(string-to-char "")
@@ -1107,6 +1108,30 @@ This function returns the current buffer's case table.
1107This sets the current buffer's case table to @var{table}. 1108This sets the current buffer's case table to @var{table}.
1108@end defun 1109@end defun
1109 1110
1111@defmac with-case-table table body@dots{}
1112The @code{with-case-table} macro saves the current case table, makes
1113@var{table} the current case table, evaluates the @var{body} forms,
1114and finally restores the case table. The return value is the value of
1115the last form in @var{body}. The case table is restored even in case
1116of an abnormal exit via @code{throw} or error (@pxref{Nonlocal
1117Exits}).
1118@end defmac
1119
1120 Some language environments may modify the case conversions of
1121@acronym{ASCII} characters; for example, in the Turkish language
1122environment, the @acronym{ASCII} character @samp{I} is downcased into
1123a Turkish ``dotless i''. This can interfere with code that requires
1124ordinary ASCII case conversion, such as implementations of
1125@acronym{ASCII}-based network protocols. In that case, use the
1126@code{with-case-table} macro with the variable @var{ascii-case-table},
1127which stores the unmodified case table for the @acronym{ASCII}
1128character set.
1129
1130@defvar ascii-case-table
1131The case table for the @acronym{ASCII} character set. This should not be
1132modified by any language environment settings.
1133@end defvar
1134
1110 The following three functions are convenient subroutines for packages 1135 The following three functions are convenient subroutines for packages
1111that define non-@acronym{ASCII} character sets. They modify the specified 1136that define non-@acronym{ASCII} character sets. They modify the specified
1112case table @var{case-table}; they also modify the standard syntax table. 1137case table @var{case-table}; they also modify the standard syntax table.
diff --git a/lispref/symbols.texi b/lispref/symbols.texi
index 4cd4bd42594..7234a75bd59 100644
--- a/lispref/symbols.texi
+++ b/lispref/symbols.texi
@@ -139,7 +139,7 @@ symbol naming a function written in Lisp would have a lambda expression
139 139
140@node Definitions, Creating Symbols, Symbol Components, Symbols 140@node Definitions, Creating Symbols, Symbol Components, Symbols
141@section Defining Symbols 141@section Defining Symbols
142@cindex definition of a symbol 142@cindex definitions of symbols
143 143
144 A @dfn{definition} in Lisp is a special form that announces your 144 A @dfn{definition} in Lisp is a special form that announces your
145intention to use a certain symbol in a particular way. In Emacs Lisp, 145intention to use a certain symbol in a particular way. In Emacs Lisp,
@@ -436,6 +436,8 @@ names, and the other two elements are the corresponding values.
436 436
437@node Plists and Alists 437@node Plists and Alists
438@subsection Property Lists and Association Lists 438@subsection Property Lists and Association Lists
439@cindex plist vs. alist
440@cindex alist vs. plist
439 441
440@cindex property lists vs association lists 442@cindex property lists vs association lists
441 Association lists (@pxref{Association Lists}) are very similar to 443 Association lists (@pxref{Association Lists}) are very similar to
diff --git a/lispref/syntax.texi b/lispref/syntax.texi
index 47f09944880..340f74632bd 100644
--- a/lispref/syntax.texi
+++ b/lispref/syntax.texi
@@ -6,7 +6,7 @@
6@setfilename ../info/syntax 6@setfilename ../info/syntax
7@node Syntax Tables, Abbrevs, Searching and Matching, Top 7@node Syntax Tables, Abbrevs, Searching and Matching, Top
8@chapter Syntax Tables 8@chapter Syntax Tables
9@cindex parsing 9@cindex parsing buffer text
10@cindex syntax table 10@cindex syntax table
11@cindex text parsing 11@cindex text parsing
12 12
@@ -80,7 +80,7 @@ This function returns @code{t} if @var{object} is a syntax table.
80 80
81@node Syntax Descriptors 81@node Syntax Descriptors
82@section Syntax Descriptors 82@section Syntax Descriptors
83@cindex syntax classes 83@cindex syntax class
84 84
85 This section describes the syntax classes and flags that denote the 85 This section describes the syntax classes and flags that denote the
86syntax of a character, and how they are represented as a @dfn{syntax 86syntax of a character, and how they are represented as a @dfn{syntax
@@ -203,7 +203,7 @@ we do not want them to turn off the usual syntactic properties of
203other characters in the quotation. 203other characters in the quotation.
204@end deffn 204@end deffn
205 205
206@deffn {Syntax class} @w{escape} 206@deffn {Syntax class} @w{escape-syntax character}
207An @dfn{escape character} (designated by @samp{\}) starts an escape 207An @dfn{escape character} (designated by @samp{\}) starts an escape
208sequence such as is used in C string and character constants. The 208sequence such as is used in C string and character constants. The
209character @samp{\} belongs to this class in both C and Lisp. (In C, it 209character @samp{\} belongs to this class in both C and Lisp. (In C, it
@@ -253,7 +253,7 @@ English text has no comment characters. In Lisp, the semicolon
253(@samp{;}) starts a comment and a newline or formfeed ends one. 253(@samp{;}) starts a comment and a newline or formfeed ends one.
254@end deffn 254@end deffn
255 255
256@deffn {Syntax class} @w{inherit} 256@deffn {Syntax class} @w{inherit standard syntax}
257This syntax class does not specify a particular syntax. It says to look 257This syntax class does not specify a particular syntax. It says to look
258in the standard syntax table to find the syntax of this character. The 258in the standard syntax table to find the syntax of this character. The
259designator for this syntax class is @samp{@@}. 259designator for this syntax class is @samp{@@}.
@@ -1011,8 +1011,9 @@ corresponds to each syntax flag.
1011@end multitable 1011@end multitable
1012 1012
1013@defun string-to-syntax @var{desc} 1013@defun string-to-syntax @var{desc}
1014This function returns the internal form @code{(@var{syntax-code} . 1014This function returns the internal form corresponding to the syntax
1015@var{matching-char})} corresponding to the syntax descriptor @var{desc}. 1015descriptor @var{desc}, a cons cell @code{(@var{syntax-code}
1016. @var{matching-char})}.
1016@end defun 1017@end defun
1017 1018
1018@defun syntax-after pos 1019@defun syntax-after pos
diff --git a/lispref/text.texi b/lispref/text.texi
index 11cf3cf2184..148bf0025a2 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -64,6 +64,7 @@ the character after point.
64 64
65@node Near Point 65@node Near Point
66@section Examining Text Near Point 66@section Examining Text Near Point
67@cindex text near point
67 68
68 Many functions are provided to look at the characters around point. 69 Many functions are provided to look at the characters around point.
69Several simple functions are described here. See also @code{looking-at} 70Several simple functions are described here. See also @code{looking-at}
@@ -537,8 +538,9 @@ newlines and tabs like any other characters).
537 538
538@node Deletion 539@node Deletion
539@section Deleting Text 540@section Deleting Text
541@cindex text deletion
540 542
541@cindex deletion vs killing 543@cindex deleting text vs killing
542 Deletion means removing part of the text in a buffer, without saving 544 Deletion means removing part of the text in a buffer, without saving
543it in the kill ring (@pxref{The Kill Ring}). Deleted text can't be 545it in the kill ring (@pxref{The Kill Ring}). Deleted text can't be
544yanked, but can be reinserted using the undo mechanism (@pxref{Undo}). 546yanked, but can be reinserted using the undo mechanism (@pxref{Undo}).
@@ -594,7 +596,7 @@ The value returned is always @code{nil}.
594@end deffn 596@end deffn
595 597
596@deffn Command delete-backward-char count &optional killp 598@deffn Command delete-backward-char count &optional killp
597@cindex delete previous char 599@cindex deleting previous char
598This command deletes @var{count} characters directly before point, or 600This command deletes @var{count} characters directly before point, or
599after point if @var{count} is negative. If @var{killp} is 601after point if @var{count} is negative. If @var{killp} is
600non-@code{nil}, then it saves the deleted characters in the kill ring. 602non-@code{nil}, then it saves the deleted characters in the kill ring.
@@ -1348,7 +1350,7 @@ You cannot specify any other buffer.
1348@end deffn 1350@end deffn
1349 1351
1350@deffn Command buffer-disable-undo &optional buffer-or-name 1352@deffn Command buffer-disable-undo &optional buffer-or-name
1351@cindex disable undo 1353@cindex disabling undo
1352This function discards the undo list of @var{buffer-or-name}, and disables 1354This function discards the undo list of @var{buffer-or-name}, and disables
1353further recording of undo information. As a result, it is no longer 1355further recording of undo information. As a result, it is no longer
1354possible to undo either previous changes or any subsequent changes. If 1356possible to undo either previous changes or any subsequent changes. If
@@ -1400,7 +1402,7 @@ leak memory if the user waits too long before answering the question.
1400@node Filling 1402@node Filling
1401@comment node-name, next, previous, up 1403@comment node-name, next, previous, up
1402@section Filling 1404@section Filling
1403@cindex filling, explicit 1405@cindex filling text
1404 1406
1405 @dfn{Filling} means adjusting the lengths of lines (by moving the line 1407 @dfn{Filling} means adjusting the lengths of lines (by moving the line
1406breaks) so that they are nearly (but no greater than) a specified 1408breaks) so that they are nearly (but no greater than) a specified
@@ -1431,7 +1433,6 @@ as @code{full}.
1431argument implies the value @code{full} for @var{justify}. 1433argument implies the value @code{full} for @var{justify}.
1432 1434
1433@deffn Command fill-paragraph justify 1435@deffn Command fill-paragraph justify
1434@cindex filling a paragraph
1435This command fills the paragraph at or after point. If 1436This command fills the paragraph at or after point. If
1436@var{justify} is non-@code{nil}, each line is justified as well. 1437@var{justify} is non-@code{nil}, each line is justified as well.
1437It uses the ordinary paragraph motion commands to find paragraph 1438It uses the ordinary paragraph motion commands to find paragraph
@@ -1678,7 +1679,7 @@ non-@code{nil}, then the line won't be broken there.
1678 1679
1679@node Adaptive Fill 1680@node Adaptive Fill
1680@section Adaptive Fill Mode 1681@section Adaptive Fill Mode
1681@cindex Adaptive Fill mode 1682@c @cindex Adaptive Fill mode "adaptive-fill-mode" is adjacent.
1682 1683
1683 When @dfn{Adaptive Fill Mode} is enabled, Emacs determines the fill 1684 When @dfn{Adaptive Fill Mode} is enabled, Emacs determines the fill
1684prefix automatically from the text in each paragraph being filled 1685prefix automatically from the text in each paragraph being filled
@@ -1740,11 +1741,8 @@ Adaptive Fill mode matches this regular expression against the text
1740starting after the left margin whitespace (if any) on a line; the 1741starting after the left margin whitespace (if any) on a line; the
1741characters it matches are that line's candidate for the fill prefix. 1742characters it matches are that line's candidate for the fill prefix.
1742 1743
1743@w{@code{"[ \t]*\\([-!|#%;>*·•‣⁃◦]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}} is the 1744The default value matches whitespace with certain punctuation
1744default value. This matches a number enclosed in parentheses or 1745characters intermingled.
1745followed by a period, or certain punctuation characters, or any
1746sequence of these intermingled with whitespace. In particular, it
1747matches a sequence of whitespace, possibly empty.
1748@end defopt 1746@end defopt
1749 1747
1750@defopt adaptive-fill-first-line-regexp 1748@defopt adaptive-fill-first-line-regexp
@@ -2563,8 +2561,9 @@ property @code{face} specifies the faces for displaying the character
2563list is to specify a name and ask what value corresponds to it. 2561list is to specify a name and ask what value corresponds to it.
2564 2562
2565 If a character has a @code{category} property, we call it the 2563 If a character has a @code{category} property, we call it the
2566@dfn{category} of the character. It should be a symbol. The properties 2564@dfn{property category} of the character. It should be a symbol. The
2567of the symbol serve as defaults for the properties of the character. 2565properties of the symbol serve as defaults for the properties of the
2566character.
2568 2567
2569 Copying text between strings and buffers preserves the properties 2568 Copying text between strings and buffers preserves the properties
2570along with the characters; this includes such diverse functions as 2569along with the characters; this includes such diverse functions as
@@ -2611,7 +2610,7 @@ string). The argument @var{object} is optional and defaults to the
2611current buffer. 2610current buffer.
2612 2611
2613If there is no @var{prop} property strictly speaking, but the character 2612If there is no @var{prop} property strictly speaking, but the character
2614has a category that is a symbol, then @code{get-text-property} returns 2613has a property category that is a symbol, then @code{get-text-property} returns
2615the @var{prop} property of that symbol. 2614the @var{prop} property of that symbol.
2616@end defun 2615@end defun
2617 2616
@@ -2958,12 +2957,13 @@ names that control filling and property inheritance. All other names
2958have no standard meaning, and you can use them as you like. 2957have no standard meaning, and you can use them as you like.
2959 2958
2960@table @code 2959@table @code
2961@cindex category of text character 2960@cindex property category of text character
2962@kindex category @r{(text property)} 2961@kindex category @r{(text property)}
2963@item category 2962@item category
2964If a character has a @code{category} property, we call it the 2963If a character has a @code{category} property, we call it the
2965@dfn{category} of the character. It should be a symbol. The properties 2964@dfn{property category} of the character. It should be a symbol. The
2966of the symbol serve as defaults for the properties of the character. 2965properties of this symbol serve as defaults for the properties of the
2966character.
2967 2967
2968@item face 2968@item face
2969@cindex face codes of text 2969@cindex face codes of text
@@ -2987,13 +2987,13 @@ time you want to specify a particular attribute for certain text.
2987@xref{Face Attributes}. 2987@xref{Face Attributes}.
2988 2988
2989@item 2989@item
2990A cons cell of the form @code{(foreground-color . @var{color-name})} or 2990A cons cell with the form @code{(foreground-color . @var{color-name})} or
2991@code{(background-color . @var{color-name})}. These elements specify 2991@code{(background-color . @var{color-name})}. These elements specify
2992just the foreground color or just the background color. @xref{Color 2992just the foreground color or just the background color. @xref{Color
2993Names}, for the supported forms of @var{color-name}. 2993Names}, for the supported forms of @var{color-name}.
2994 2994
2995@code{(foreground-color . @var{color-name})} is equivalent to 2995A cons cell of @code{(foreground-color . @var{color-name})} is equivalent to
2996specifying @code{(:foreground @var{color-name})}, and likewise for the 2996specifying @code{(:foreground @var{color-name})}; likewise for the
2997background. 2997background.
2998@end itemize 2998@end itemize
2999 2999
@@ -3044,7 +3044,6 @@ The character's @code{face} property, or absence of one, is valid.
3044@end table 3044@end table
3045 3045
3046@item display 3046@item display
3047@kindex display @r{(text property)}
3048This property activates various features that change the 3047This property activates various features that change the
3049way text is displayed. For example, it can make text appear taller 3048way text is displayed. For example, it can make text appear taller
3050or shorter, higher or lower, wider or narrow, or replaced with an image. 3049or shorter, higher or lower, wider or narrow, or replaced with an image.
@@ -3471,7 +3470,7 @@ once for the same part of the buffer, you can use the variable
3471@code{buffer-access-fontified-property}. 3470@code{buffer-access-fontified-property}.
3472 3471
3473@defvar buffer-access-fontified-property 3472@defvar buffer-access-fontified-property
3474If this value's variable is non-@code{nil}, it is a symbol which is used 3473If this variable's value is non-@code{nil}, it is a symbol which is used
3475as a text property name. A non-@code{nil} value for that text property 3474as a text property name. A non-@code{nil} value for that text property
3476means, ``the other text properties for this character have already been 3475means, ``the other text properties for this character have already been
3477computed.'' 3476computed.''
diff --git a/lispref/tips.texi b/lispref/tips.texi
index 5f4479a5fd3..ee8caf4953b 100644
--- a/lispref/tips.texi
+++ b/lispref/tips.texi
@@ -6,7 +6,7 @@
6@setfilename ../info/tips 6@setfilename ../info/tips
7@node Tips, GNU Emacs Internals, GPL, Top 7@node Tips, GNU Emacs Internals, GPL, Top
8@appendix Tips and Conventions 8@appendix Tips and Conventions
9@cindex tips 9@cindex tips for writing Lisp
10@cindex standards of coding style 10@cindex standards of coding style
11@cindex coding standards 11@cindex coding standards
12 12
@@ -148,7 +148,7 @@ to store a list of functions (i.e., the variable is a hook), please
148follow the naming conventions for hooks. @xref{Hooks}. 148follow the naming conventions for hooks. @xref{Hooks}.
149 149
150@item 150@item
151@cindex unloading packages 151@cindex unloading packages, preparing for
152If loading the file adds functions to hooks, define a function 152If loading the file adds functions to hooks, define a function
153@code{@var{feature}-unload-hook}, where @var{feature} is the name of 153@code{@var{feature}-unload-hook}, where @var{feature} is the name of
154the feature the package provides, and make it undo any such changes. 154the feature the package provides, and make it undo any such changes.
@@ -295,6 +295,7 @@ Otherwise, use your name. See also @xref{Library Headers}.
295 295
296@node Key Binding Conventions 296@node Key Binding Conventions
297@section Key Binding Conventions 297@section Key Binding Conventions
298@cindex key binding, conventions for
298 299
299@itemize @bullet 300@itemize @bullet
300@item 301@item
@@ -374,6 +375,7 @@ after @key{ESC}. In these states, you should define @kbd{@key{ESC}
374 375
375@node Programming Tips 376@node Programming Tips
376@section Emacs Programming Tips 377@section Emacs Programming Tips
378@cindex programming conventions
377 379
378 Following these conventions will make your program fit better 380 Following these conventions will make your program fit better
379into Emacs when it runs. 381into Emacs when it runs.
@@ -559,6 +561,7 @@ the speed. @xref{Inline Functions}.
559 561
560@node Warning Tips 562@node Warning Tips
561@section Tips for Avoiding Compiler Warnings 563@section Tips for Avoiding Compiler Warnings
564@cindex byte compiler warnings, how to avoid
562 565
563@itemize @bullet 566@itemize @bullet
564@item 567@item
@@ -599,6 +602,7 @@ is to put a call to @code{with-no-warnings} around it.
599 602
600@node Documentation Tips 603@node Documentation Tips
601@section Tips for Documentation Strings 604@section Tips for Documentation Strings
605@cindex documentation strings, conventions and tips
602 606
603@findex checkdoc-minor-mode 607@findex checkdoc-minor-mode
604 Here are some tips and conventions for the writing of documentation 608 Here are some tips and conventions for the writing of documentation
@@ -863,6 +867,7 @@ describe the most important commands in your major mode, and then use
863 867
864@node Comment Tips 868@node Comment Tips
865@section Tips on Writing Comments 869@section Tips on Writing Comments
870@cindex comments, Lisp convention for
866 871
867 We recommend these conventions for where to put comments and how to 872 We recommend these conventions for where to put comments and how to
868indent them: 873indent them:
diff --git a/lispref/variables.texi b/lispref/variables.texi
index 56732d22db6..9d9dc8260bb 100644
--- a/lispref/variables.texi
+++ b/lispref/variables.texi
@@ -100,10 +100,12 @@ x
100 100
101@node Constant Variables 101@node Constant Variables
102@section Variables that Never Change 102@section Variables that Never Change
103@vindex nil
104@vindex t
105@kindex setting-constant 103@kindex setting-constant
106@cindex keyword symbol 104@cindex keyword symbol
105@cindex variable with constant value
106@cindex constant variables
107@cindex symbol that evaluates to itself
108@cindex symbol with constant value
107 109
108 In Emacs Lisp, certain symbols normally evaluate to themselves. These 110 In Emacs Lisp, certain symbols normally evaluate to themselves. These
109include @code{nil} and @code{t}, as well as any symbol whose name starts 111include @code{nil} and @code{t}, as well as any symbol whose name starts
@@ -1079,7 +1081,7 @@ use short names like @code{x}.
1079 1081
1080@node Buffer-Local Variables 1082@node Buffer-Local Variables
1081@section Buffer-Local Variables 1083@section Buffer-Local Variables
1082@cindex variables, buffer-local 1084@cindex variable, buffer-local
1083@cindex buffer-local variables 1085@cindex buffer-local variables
1084 1086
1085 Global and local variable bindings are found in most programming 1087 Global and local variable bindings are found in most programming
@@ -1520,6 +1522,7 @@ an ordinary evaluated argument.
1520 1522
1521@node Frame-Local Variables 1523@node Frame-Local Variables
1522@section Frame-Local Variables 1524@section Frame-Local Variables
1525@cindex frame-local variables
1523 1526
1524 Just as variables can have buffer-local bindings, they can also have 1527 Just as variables can have buffer-local bindings, they can also have
1525frame-local bindings. These bindings belong to one frame, and are in 1528frame-local bindings. These bindings belong to one frame, and are in
@@ -1719,7 +1722,7 @@ This function returns non-@code{nil} if it is safe to give @var{sym}
1719the value @var{val}, based on the above criteria. 1722the value @var{val}, based on the above criteria.
1720@end defun 1723@end defun
1721 1724
1722@cindex risky local variable 1725@c @cindex risky local variable Duplicates risky-local-variable
1723 Some variables are considered @dfn{risky}. A variable whose name 1726 Some variables are considered @dfn{risky}. A variable whose name
1724ends in any of @samp{-command}, @samp{-frame-alist}, @samp{-function}, 1727ends in any of @samp{-command}, @samp{-frame-alist}, @samp{-function},
1725@samp{-functions}, @samp{-hook}, @samp{-hooks}, @samp{-form}, 1728@samp{-functions}, @samp{-hook}, @samp{-hooks}, @samp{-form},
@@ -1778,6 +1781,7 @@ properties from string values specified for file local variables.
1778 1781
1779@node Variable Aliases 1782@node Variable Aliases
1780@section Variable Aliases 1783@section Variable Aliases
1784@cindex variable aliases
1781 1785
1782 It is sometimes useful to make two variables synonyms, so that both 1786 It is sometimes useful to make two variables synonyms, so that both
1783variables always have the same value, and changing either one also 1787variables always have the same value, and changing either one also
diff --git a/lispref/windows.texi b/lispref/windows.texi
index 5f21b1977bd..22bb43ecaa0 100644
--- a/lispref/windows.texi
+++ b/lispref/windows.texi
@@ -430,7 +430,7 @@ This function always returns @code{nil}.
430 430
431@node Selecting Windows 431@node Selecting Windows
432@section Selecting Windows 432@section Selecting Windows
433@cindex selecting windows 433@cindex selecting a window
434 434
435 When a window is selected, the buffer in the window becomes the current 435 When a window is selected, the buffer in the window becomes the current
436buffer, and the cursor will appear in it. 436buffer, and the cursor will appear in it.
@@ -572,7 +572,7 @@ In general, within each set of siblings at any level in the window tree,
572the order is left to right, or top to bottom. 572the order is left to right, or top to bottom.
573 573
574@defun next-window &optional window minibuf all-frames 574@defun next-window &optional window minibuf all-frames
575@cindex minibuffer window 575@cindex minibuffer window, and @code{next-window}
576This function returns the window following @var{window} in the cyclic 576This function returns the window following @var{window} in the cyclic
577ordering of windows. This is the window that @kbd{C-x o} would select 577ordering of windows. This is the window that @kbd{C-x o} would select
578if typed when @var{window} is selected. If @var{window} is the only 578if typed when @var{window} is selected. If @var{window} is the only
@@ -1195,6 +1195,7 @@ point and the buffer's point always move together; they remain equal.
1195@noindent 1195@noindent
1196@xref{Positions}, for more details on buffer positions. 1196@xref{Positions}, for more details on buffer positions.
1197 1197
1198@cindex cursor
1198 As far as the user is concerned, point is where the cursor is, and 1199 As far as the user is concerned, point is where the cursor is, and
1199when the user switches to another buffer, the cursor jumps to the 1200when the user switches to another buffer, the cursor jumps to the
1200position of point in that buffer. 1201position of point in that buffer.
@@ -1223,6 +1224,7 @@ this simply does @code{goto-char}.
1223 1224
1224@node Window Start 1225@node Window Start
1225@section The Window Start Position 1226@section The Window Start Position
1227@cindex window start position
1226 1228
1227 Each window contains a marker used to keep track of a buffer position 1229 Each window contains a marker used to keep track of a buffer position
1228that specifies where in the buffer display should start. This position 1230that specifies where in the buffer display should start. This position
@@ -1621,7 +1623,7 @@ Replaces three keystroke sequence C-u 0 C-l."
1621 1623
1622@node Vertical Scrolling 1624@node Vertical Scrolling
1623@section Vertical Fractional Scrolling 1625@section Vertical Fractional Scrolling
1624@cindex Vertical Fractional Scrolling 1626@cindex vertical fractional scrolling
1625 1627
1626 @dfn{Vertical fractional scrolling} means shifting the image in the 1628 @dfn{Vertical fractional scrolling} means shifting the image in the
1627window up or down by a specified multiple or fraction of a line. 1629window up or down by a specified multiple or fraction of a line.
@@ -1985,6 +1987,7 @@ in character lines and columns.
1985@node Resizing Windows 1987@node Resizing Windows
1986@section Changing the Size of a Window 1988@section Changing the Size of a Window
1987@cindex window resizing 1989@cindex window resizing
1990@cindex resize window
1988@cindex changing window size 1991@cindex changing window size
1989@cindex window size, changing 1992@cindex window size, changing
1990 1993
@@ -2355,6 +2358,7 @@ configurations.
2355 2358
2356@node Window Hooks 2359@node Window Hooks
2357@section Hooks for Window Scrolling and Changes 2360@section Hooks for Window Scrolling and Changes
2361@cindex hooks for window operations
2358 2362
2359This section describes how a Lisp program can take action whenever a 2363This section describes how a Lisp program can take action whenever a
2360window displays a different part of its buffer or a different buffer. 2364window displays a different part of its buffer or a different buffer.