aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorStefan Monnier2010-07-23 17:23:09 +0200
committerStefan Monnier2010-07-23 17:23:09 +0200
commit0ee81a0ce066375eac701c06cdfbdebefe594fdc (patch)
treef0dccd24163316cfe688f927681a3032a9b1fe2f /doc/lispref
parent894e369ddf48e191638b8e66ce732f24ff9abe2a (diff)
parent94da839793affa2a270bc26cee9c4d95d4dc4708 (diff)
downloademacs-0ee81a0ce066375eac701c06cdfbdebefe594fdc.tar.gz
emacs-0ee81a0ce066375eac701c06cdfbdebefe594fdc.zip
Merge from trunk
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog32
-rw-r--r--doc/lispref/abbrevs.texi8
-rw-r--r--doc/lispref/commands.texi68
-rw-r--r--doc/lispref/compile.texi4
-rw-r--r--doc/lispref/debugging.texi4
-rw-r--r--doc/lispref/display.texi2
-rw-r--r--doc/lispref/edebug.texi48
-rw-r--r--doc/lispref/elisp.texi156
-rw-r--r--doc/lispref/errors.texi4
-rw-r--r--doc/lispref/eval.texi2
-rw-r--r--doc/lispref/files.texi11
-rw-r--r--doc/lispref/frames.texi32
-rw-r--r--doc/lispref/functions.texi3
-rw-r--r--doc/lispref/internals.texi29
-rw-r--r--doc/lispref/keymaps.texi35
-rw-r--r--doc/lispref/loading.texi9
-rw-r--r--doc/lispref/minibuf.texi11
-rw-r--r--doc/lispref/modes.texi2
-rw-r--r--doc/lispref/numbers.texi4
-rw-r--r--doc/lispref/os.texi11
-rw-r--r--doc/lispref/processes.texi7
-rw-r--r--doc/lispref/searching.texi13
-rw-r--r--doc/lispref/sequences.texi17
-rw-r--r--doc/lispref/strings.texi5
-rw-r--r--doc/lispref/syntax.texi5
-rw-r--r--doc/lispref/text.texi34
-rw-r--r--doc/lispref/tips.texi5
-rw-r--r--doc/lispref/vol1.texi156
-rw-r--r--doc/lispref/vol2.texi156
-rw-r--r--doc/lispref/windows.texi4
30 files changed, 462 insertions, 415 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index cecb6f0c661..20e8150599b 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,32 @@
12010-07-09 Eli Zaretskii <eliz@gnu.org>
2
3 * internals.texi (Writing Emacs Primitives): Adapt to ANSI C
4 calling sequences, which are now the standard.
5
62010-06-24 Chong Yidong <cyd@stupidchicken.com>
7
8 * text.texi (Undo): Clarify command loop behavior (Bug#2433).
9
10 * commands.texi (Command Overview): Mention undo-boundary call.
11
122010-06-23 Glenn Morris <rgm@gnu.org>
13
14 * abbrevs.texi, commands.texi, compile.texi, debugging.texi:
15 * display.texi, edebug.texi, elisp.texi, eval.texi, files.texi:
16 * frames.texi, functions.texi, internals.texi, keymaps.texi:
17 * loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi:
18 * searching.texi, sequences.texi, strings.texi, syntax.texi:
19 * text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi:
20 Untabify Texinfo files.
21
222010-06-20 Chong Yidong <cyd@stupidchicken.com>
23
24 * modes.texi (Minor Mode Conventions): Fix typo (Bug#6477).
25
262010-06-19 Chong Yidong <cyd@stupidchicken.com>
27
28 * errors.texi (Standard Errors): Remove unnecessary markup (Bug#6461).
29
12010-06-02 Chong Yidong <cyd@stupidchicken.com> 302010-06-02 Chong Yidong <cyd@stupidchicken.com>
2 31
3 * searching.texi (Regexp Special): Remove obsolete information 32 * searching.texi (Regexp Special): Remove obsolete information
@@ -15,8 +44,7 @@
15 44
162010-05-22 Chong Yidong <cyd@stupidchicken.com> 452010-05-22 Chong Yidong <cyd@stupidchicken.com>
17 46
18 * display.texi (Image Cache): Update documentation about image 47 * display.texi (Image Cache): Update documentation about image caching.
19 caching.
20 48
212010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change) 492010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
22 50
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index 1bb33475240..90da5aaa488 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -376,10 +376,10 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
376 (funcall expand)))) 376 (funcall expand))))
377 377
378(add-hook 'foo-mode-hook 378(add-hook 'foo-mode-hook
379 #'(lambda () 379 #'(lambda ()
380 (add-hook 'abbrev-expand-functions 380 (add-hook 'abbrev-expand-functions
381 'foo-mode-abbrev-expand-function 381 'foo-mode-abbrev-expand-function
382 nil t))) 382 nil t)))
383@end smallexample 383@end smallexample
384 384
385@node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs 385@node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 463443f8e10..d22cfd955cb 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/commands 7@setfilename ../../info/commands
7@node Command Loop, Keymaps, Minibuffers, Top 8@node Command Loop, Keymaps, Minibuffers, Top
@@ -21,7 +22,7 @@ are done, and the subroutines that allow Lisp programs to do them.
21* Distinguish Interactive:: Making a command distinguish interactive calls. 22* Distinguish Interactive:: Making a command distinguish interactive calls.
22* Command Loop Info:: Variables set by the command loop for you to examine. 23* Command Loop Info:: Variables set by the command loop for you to examine.
23* Adjusting Point:: Adjustment of point after a command. 24* Adjusting Point:: Adjustment of point after a command.
24* Input Events:: What input looks like when you read it. 25* Input Events:: What input looks like when you read it.
25* Reading Input:: How to read input events from the keyboard or mouse. 26* Reading Input:: How to read input events from the keyboard or mouse.
26* Special Events:: Events processed immediately and individually. 27* Special Events:: Events processed immediately and individually.
27* Waiting:: Waiting for user input or elapsed time. 28* Waiting:: Waiting for user input or elapsed time.
@@ -52,16 +53,19 @@ function. If the key is @kbd{M-x}, then it reads the name of another
52command, which it then calls. This is done by the command 53command, which it then calls. This is done by the command
53@code{execute-extended-command} (@pxref{Interactive Call}). 54@code{execute-extended-command} (@pxref{Interactive Call}).
54 55
55 To execute a command requires first reading the arguments for it. 56 Prior to executing the command, Emacs runs @code{undo-boundary} to
56This is done by calling @code{command-execute} (@pxref{Interactive 57create an undo boundary. @xref{Maintaining Undo}.
57Call}). For commands written in Lisp, the @code{interactive} 58
58specification says how to read the arguments. This may use the prefix 59 To execute a command, Emacs first reads its arguments by calling
59argument (@pxref{Prefix Command Arguments}) or may read with prompting 60@code{command-execute} (@pxref{Interactive Call}). For commands
60in the minibuffer (@pxref{Minibuffers}). For example, the command 61written in Lisp, the @code{interactive} specification says how to read
61@code{find-file} has an @code{interactive} specification which says to 62the arguments. This may use the prefix argument (@pxref{Prefix
62read a file name using the minibuffer. The command's function body does 63Command Arguments}) or may read with prompting in the minibuffer
63not use the minibuffer; if you call this command from Lisp code as a 64(@pxref{Minibuffers}). For example, the command @code{find-file} has
64function, you must supply the file name string as an ordinary Lisp 65an @code{interactive} specification which says to read a file name
66using the minibuffer. The function body of @code{find-file} does not
67use the minibuffer, so if you call @code{find-file} as a function from
68Lisp code, you must supply the file name string as an ordinary Lisp
65function argument. 69function argument.
66 70
67 If the command is a string or vector (i.e., a keyboard macro) then 71 If the command is a string or vector (i.e., a keyboard macro) then
@@ -968,23 +972,23 @@ the current Emacs session. If a symbol has not yet been so used,
968@end defun 972@end defun
969 973
970@menu 974@menu
971* Keyboard Events:: Ordinary characters--keys with symbols on them. 975* Keyboard Events:: Ordinary characters--keys with symbols on them.
972* Function Keys:: Function keys--keys with names, not symbols. 976* Function Keys:: Function keys--keys with names, not symbols.
973* Mouse Events:: Overview of mouse events. 977* Mouse Events:: Overview of mouse events.
974* Click Events:: Pushing and releasing a mouse button. 978* Click Events:: Pushing and releasing a mouse button.
975* Drag Events:: Moving the mouse before releasing the button. 979* Drag Events:: Moving the mouse before releasing the button.
976* Button-Down Events:: A button was pushed and not yet released. 980* Button-Down Events:: A button was pushed and not yet released.
977* Repeat Events:: Double and triple click (or drag, or down). 981* Repeat Events:: Double and triple click (or drag, or down).
978* Motion Events:: Just moving the mouse, not pushing a button. 982* Motion Events:: Just moving the mouse, not pushing a button.
979* Focus Events:: Moving the mouse between frames. 983* Focus Events:: Moving the mouse between frames.
980* Misc Events:: Other events the system can generate. 984* Misc Events:: Other events the system can generate.
981* Event Examples:: Examples of the lists for mouse events. 985* Event Examples:: Examples of the lists for mouse events.
982* Classifying Events:: Finding the modifier keys in an event symbol. 986* Classifying Events:: Finding the modifier keys in an event symbol.
983 Event types. 987 Event types.
984* Accessing Mouse:: Functions to extract info from mouse events. 988* Accessing Mouse:: Functions to extract info from mouse events.
985* Accessing Scroll:: Functions to get info from scroll bar events. 989* Accessing Scroll:: Functions to get info from scroll bar events.
986* Strings of Events:: Special considerations for putting 990* Strings of Events:: Special considerations for putting
987 keyboard character events in a string. 991 keyboard character events in a string.
988@end menu 992@end menu
989 993
990@node Keyboard Events 994@node Keyboard Events
@@ -2158,12 +2162,12 @@ debugging terminal input.
2158 For higher-level input facilities, see @ref{Minibuffers}. 2162 For higher-level input facilities, see @ref{Minibuffers}.
2159 2163
2160@menu 2164@menu
2161* Key Sequence Input:: How to read one key sequence. 2165* Key Sequence Input:: How to read one key sequence.
2162* Reading One Event:: How to read just one event. 2166* Reading One Event:: How to read just one event.
2163* Event Mod:: How Emacs modifies events as they are read. 2167* Event Mod:: How Emacs modifies events as they are read.
2164* Invoking the Input Method:: How reading an event uses the input method. 2168* Invoking the Input Method:: How reading an event uses the input method.
2165* Quoted Character Input:: Asking the user to specify a character. 2169* Quoted Character Input:: Asking the user to specify a character.
2166* Event Input Misc:: How to reread or throw away input events. 2170* Event Input Misc:: How to reread or throw away input events.
2167@end menu 2171@end menu
2168 2172
2169@node Key Sequence Input 2173@node Key Sequence Input
@@ -2889,9 +2893,9 @@ normal quitting is permitted after the first character of input.
2889 (while (not done) 2893 (while (not done)
2890 (let ((inhibit-quit first) 2894 (let ((inhibit-quit first)
2891 @dots{}) 2895 @dots{})
2892 (and prompt (message "%s-" prompt)) 2896 (and prompt (message "%s-" prompt))
2893 (setq char (read-event)) 2897 (setq char (read-event))
2894 (if inhibit-quit (setq quit-flag nil))) 2898 (if inhibit-quit (setq quit-flag nil)))
2895 @r{@dots{}set the variable @code{code}@dots{}}) 2899 @r{@dots{}set the variable @code{code}@dots{}})
2896 code)) 2900 code))
2897@end example 2901@end example
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index b2ab9d67e59..1c28664e7c3 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -47,9 +47,9 @@ byte compilation.
47* Compilation Functions:: Byte compilation functions. 47* Compilation Functions:: Byte compilation functions.
48* Docs and Compilation:: Dynamic loading of documentation strings. 48* Docs and Compilation:: Dynamic loading of documentation strings.
49* Dynamic Loading:: Dynamic loading of individual functions. 49* Dynamic Loading:: Dynamic loading of individual functions.
50* Eval During Compile:: Code to be evaluated when you compile. 50* Eval During Compile:: Code to be evaluated when you compile.
51* Compiler Errors:: Handling compiler error messages. 51* Compiler Errors:: Handling compiler error messages.
52* Byte-Code Objects:: The data type used for byte-compiled functions. 52* Byte-Code Objects:: The data type used for byte-compiled functions.
53* Disassembly:: Disassembling byte-code; how to read byte-code. 53* Disassembly:: Disassembling byte-code; how to read byte-code.
54@end menu 54@end menu
55 55
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 669c07d5a0e..3d77a5fe0d5 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -28,7 +28,7 @@ compiler, you need to know how to examine the compiler's input buffer.
28 28
29@menu 29@menu
30* Debugger:: How the Emacs Lisp debugger is implemented. 30* Debugger:: How the Emacs Lisp debugger is implemented.
31* Edebug:: A source-level Emacs Lisp debugger. 31* Edebug:: A source-level Emacs Lisp debugger.
32* Syntax Errors:: How to find syntax errors. 32* Syntax Errors:: How to find syntax errors.
33* Test Coverage:: Ensuring you have tested all branches in your code. 33* Test Coverage:: Ensuring you have tested all branches in your code.
34* Compilation Errors:: How to find errors that show up in byte compilation. 34* Compilation Errors:: How to find errors that show up in byte compilation.
@@ -58,7 +58,7 @@ debugger recursively. @xref{Recursive Editing}.
58 58
59@menu 59@menu
60* Error Debugging:: Entering the debugger when an error happens. 60* Error Debugging:: Entering the debugger when an error happens.
61* Infinite Loops:: Stopping and debugging a program that doesn't exit. 61* Infinite Loops:: Stopping and debugging a program that doesn't exit.
62* Function Debugging:: Entering it when a certain function is called. 62* Function Debugging:: Entering it when a certain function is called.
63* Explicit Debug:: Entering it at a certain point in the program. 63* Explicit Debug:: Entering it at a certain point in the program.
64* Using Debugger:: What the debugger does; what you see while in it. 64* Using Debugger:: What the debugger does; what you see while in it.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 622de2cd3cf..9f07fb42ef4 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1181,7 +1181,7 @@ inside the overlay or outside, and likewise for the end of the overlay.
1181@menu 1181@menu
1182* Managing Overlays:: Creating and moving overlays. 1182* Managing Overlays:: Creating and moving overlays.
1183* Overlay Properties:: How to read and set properties. 1183* Overlay Properties:: How to read and set properties.
1184 What properties do to the screen display. 1184 What properties do to the screen display.
1185* Finding Overlays:: Searching for overlays. 1185* Finding Overlays:: Searching for overlays.
1186@end menu 1186@end menu
1187 1187
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index fba83980cd1..3733a8fb105 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -59,24 +59,24 @@ The first three sections below should tell you enough about Edebug to
59start using it. 59start using it.
60 60
61@menu 61@menu
62* Using Edebug:: Introduction to use of Edebug. 62* Using Edebug:: Introduction to use of Edebug.
63* Instrumenting:: You must instrument your code 63* Instrumenting:: You must instrument your code
64 in order to debug it with Edebug. 64 in order to debug it with Edebug.
65* Modes: Edebug Execution Modes. Execution modes, stopping more or less often. 65* Modes: Edebug Execution Modes. Execution modes, stopping more or less often.
66* Jumping:: Commands to jump to a specified place. 66* Jumping:: Commands to jump to a specified place.
67* Misc: Edebug Misc. Miscellaneous commands. 67* Misc: Edebug Misc. Miscellaneous commands.
68* Breaks:: Setting breakpoints to make the program stop. 68* Breaks:: Setting breakpoints to make the program stop.
69* Trapping Errors:: Trapping errors with Edebug. 69* Trapping Errors:: Trapping errors with Edebug.
70* Views: Edebug Views. Views inside and outside of Edebug. 70* Views: Edebug Views. Views inside and outside of Edebug.
71* Eval: Edebug Eval. Evaluating expressions within Edebug. 71* Eval: Edebug Eval. Evaluating expressions within Edebug.
72* Eval List:: Expressions whose values are displayed 72* Eval List:: Expressions whose values are displayed
73 each time you enter Edebug. 73 each time you enter Edebug.
74* Printing in Edebug:: Customization of printing. 74* Printing in Edebug:: Customization of printing.
75* Trace Buffer:: How to produce trace output in a buffer. 75* Trace Buffer:: How to produce trace output in a buffer.
76* Coverage Testing:: How to test evaluation coverage. 76* Coverage Testing:: How to test evaluation coverage.
77* The Outside Context:: Data that Edebug saves and restores. 77* The Outside Context:: Data that Edebug saves and restores.
78* Edebug and Macros:: Specifying how to handle macro calls. 78* Edebug and Macros:: Specifying how to handle macro calls.
79* Options: Edebug Options. Option variables for customizing Edebug. 79* Options: Edebug Options. Option variables for customizing Edebug.
80@end menu 80@end menu
81 81
82@node Using Edebug 82@node Using Edebug
@@ -429,8 +429,8 @@ breakpoints, the global break condition, and source breakpoints.
429 429
430@menu 430@menu
431* Breakpoints:: Breakpoints at stop points. 431* Breakpoints:: Breakpoints at stop points.
432* Global Break Condition:: Breaking on an event. 432* Global Break Condition:: Breaking on an event.
433* Source Breakpoints:: Embedding breakpoints in source code. 433* Source Breakpoints:: Embedding breakpoints in source code.
434@end menu 434@end menu
435 435
436@node Breakpoints 436@node Breakpoints
@@ -940,9 +940,9 @@ explains precisely what context Edebug restores, and how Edebug fails to
940be completely transparent. 940be completely transparent.
941 941
942@menu 942@menu
943* Checking Whether to Stop:: When Edebug decides what to do. 943* Checking Whether to Stop:: When Edebug decides what to do.
944* Edebug Display Update:: When Edebug updates the display. 944* Edebug Display Update:: When Edebug updates the display.
945* Edebug Recursive Edit:: When Edebug stops execution. 945* Edebug Recursive Edit:: When Edebug stops execution.
946@end menu 946@end menu
947 947
948@node Checking Whether to Stop 948@node Checking Whether to Stop
@@ -1074,9 +1074,9 @@ extra care is needed. This subsection explains the details.
1074 1074
1075@menu 1075@menu
1076* Instrumenting Macro Calls:: The basic problem. 1076* Instrumenting Macro Calls:: The basic problem.
1077* Specification List:: How to specify complex patterns of evaluation. 1077* Specification List:: How to specify complex patterns of evaluation.
1078* Backtracking:: What Edebug does when matching fails. 1078* Backtracking:: What Edebug does when matching fails.
1079* Specification Examples:: To help understand specifications. 1079* Specification Examples:: To help understand specifications.
1080@end menu 1080@end menu
1081 1081
1082@node Instrumenting Macro Calls 1082@node Instrumenting Macro Calls
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 46d242fcfba..30f085f69de 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -143,7 +143,7 @@ Cover art by Etienne Suvasa.
143 files are made. 143 files are made.
144* Buffers:: Creating and using buffer objects. 144* Buffers:: Creating and using buffer objects.
145* Windows:: Manipulating windows and displaying buffers. 145* Windows:: Manipulating windows and displaying buffers.
146* Frames:: Making multiple system-level windows. 146* Frames:: Making multiple system-level windows.
147* Positions:: Buffer positions and motion functions. 147* Positions:: Buffer positions and motion functions.
148* Markers:: Markers represent positions and update 148* Markers:: Markers represent positions and update
149 automatically when the text is changed. 149 automatically when the text is changed.
@@ -155,7 +155,7 @@ Cover art by Etienne Suvasa.
155* Abbrevs:: How Abbrev mode works, and its data structures. 155* Abbrevs:: How Abbrev mode works, and its data structures.
156 156
157* Processes:: Running and communicating with subprocesses. 157* Processes:: Running and communicating with subprocesses.
158* Display:: Features for controlling the screen display. 158* Display:: Features for controlling the screen display.
159* System Interface:: Getting the user id, system type, environment 159* System Interface:: Getting the user id, system type, environment
160 variables, and other such things. 160 variables, and other such things.
161 161
@@ -291,10 +291,10 @@ Editing Types
291Numbers 291Numbers
292 292
293* Integer Basics:: Representation and range of integers. 293* Integer Basics:: Representation and range of integers.
294* Float Basics:: Representation and range of floating point. 294* Float Basics:: Representation and range of floating point.
295* Predicates on Numbers:: Testing for numbers. 295* Predicates on Numbers:: Testing for numbers.
296* Comparison of Numbers:: Equality and inequality predicates. 296* Comparison of Numbers:: Equality and inequality predicates.
297* Numeric Conversions:: Converting float to integer and vice versa. 297* Numeric Conversions:: Converting float to integer and vice versa.
298* Arithmetic Operations:: How to add, subtract, multiply and divide. 298* Arithmetic Operations:: How to add, subtract, multiply and divide.
299* Rounding Operations:: Explicitly rounding floating point numbers. 299* Rounding Operations:: Explicitly rounding floating point numbers.
300* Bitwise Operations:: Logical and, or, not, shifting. 300* Bitwise Operations:: Logical and, or, not, shifting.
@@ -311,7 +311,7 @@ Strings and Characters
311* String Conversion:: Converting to and from characters and strings. 311* String Conversion:: Converting to and from characters and strings.
312* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 312* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
313* Case Conversion:: Case conversion functions. 313* Case Conversion:: Case conversion functions.
314* Case Tables:: Customizing case conversion. 314* Case Tables:: Customizing case conversion.
315 315
316Lists 316Lists
317 317
@@ -379,7 +379,7 @@ Kinds of Forms
379* Symbol Forms:: Symbols evaluate as variables. 379* Symbol Forms:: Symbols evaluate as variables.
380* Classifying Lists:: How to distinguish various sorts of list forms. 380* Classifying Lists:: How to distinguish various sorts of list forms.
381* Function Indirection:: When a symbol appears as the car of a list, 381* Function Indirection:: When a symbol appears as the car of a list,
382 we find the real function via the symbol. 382 we find the real function via the symbol.
383* Function Forms:: Forms that call functions. 383* Function Forms:: Forms that call functions.
384* Macro Forms:: Forms that call macros. 384* Macro Forms:: Forms that call macros.
385* Special Forms:: "Special forms" are idiosyncratic primitives, 385* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -460,9 +460,9 @@ Functions
460* Function Cells:: Accessing or setting the function definition 460* Function Cells:: Accessing or setting the function definition
461 of a symbol. 461 of a symbol.
462* Obsolete Functions:: Declaring functions obsolete. 462* Obsolete Functions:: Declaring functions obsolete.
463* Inline Functions:: Defining functions that the compiler 463* Inline Functions:: Defining functions that the compiler
464 will open code. 464 will open code.
465* Declaring Functions:: Telling the compiler that a function is defined. 465* Declaring Functions:: Telling the compiler that a function is defined.
466* Function Currying:: Making wrapper functions that pre-specify 466* Function Currying:: Making wrapper functions that pre-specify
467 some arguments. 467 some arguments.
468* Function Safety:: Determining whether a function is safe to call. 468* Function Safety:: Determining whether a function is safe to call.
@@ -523,9 +523,9 @@ Loading
523* Repeated Loading:: Precautions about loading a file twice. 523* Repeated Loading:: Precautions about loading a file twice.
524* Named Features:: Loading a library if it isn't already loaded. 524* Named Features:: Loading a library if it isn't already loaded.
525* Where Defined:: Finding which file defined a certain symbol. 525* Where Defined:: Finding which file defined a certain symbol.
526* Unloading:: How to "unload" a library that was loaded. 526* Unloading:: How to "unload" a library that was loaded.
527* Hooks for Loading:: Providing code to be run when 527* Hooks for Loading:: Providing code to be run when
528 particular libraries are loaded. 528 particular libraries are loaded.
529 529
530Byte Compilation 530Byte Compilation
531 531
@@ -535,7 +535,7 @@ Byte Compilation
535* Dynamic Loading:: Dynamic loading of individual functions. 535* Dynamic Loading:: Dynamic loading of individual functions.
536* Eval During Compile:: Code to be evaluated when you compile. 536* Eval During Compile:: Code to be evaluated when you compile.
537* Compiler Errors:: Handling compiler error messages. 537* Compiler Errors:: Handling compiler error messages.
538* Byte-Code Objects:: The data type used for byte-compiled functions. 538* Byte-Code Objects:: The data type used for byte-compiled functions.
539* Disassembly:: Disassembling byte-code; how to read byte-code. 539* Disassembly:: Disassembling byte-code; how to read byte-code.
540 540
541Advising Emacs Lisp Functions 541Advising Emacs Lisp Functions
@@ -564,7 +564,7 @@ Debugging Lisp Programs
564The Lisp Debugger 564The Lisp Debugger
565 565
566* Error Debugging:: Entering the debugger when an error happens. 566* Error Debugging:: Entering the debugger when an error happens.
567* Infinite Loops:: Stopping and debugging a program that doesn't exit. 567* Infinite Loops:: Stopping and debugging a program that doesn't exit.
568* Function Debugging:: Entering it when a certain function is called. 568* Function Debugging:: Entering it when a certain function is called.
569* Explicit Debug:: Entering it at a certain point in the program. 569* Explicit Debug:: Entering it at a certain point in the program.
570* Using Debugger:: What the debugger does; what you see while in it. 570* Using Debugger:: What the debugger does; what you see while in it.
@@ -574,24 +574,24 @@ The Lisp Debugger
574 574
575Edebug 575Edebug
576 576
577* Using Edebug:: Introduction to use of Edebug. 577* Using Edebug:: Introduction to use of Edebug.
578* Instrumenting:: You must instrument your code 578* Instrumenting:: You must instrument your code
579 in order to debug it with Edebug. 579 in order to debug it with Edebug.
580* Edebug Execution Modes:: Execution modes, stopping more or less often. 580* Edebug Execution Modes:: Execution modes, stopping more or less often.
581* Jumping:: Commands to jump to a specified place. 581* Jumping:: Commands to jump to a specified place.
582* Edebug Misc:: Miscellaneous commands. 582* Edebug Misc:: Miscellaneous commands.
583* Breaks:: Setting breakpoints to make the program stop. 583* Breaks:: Setting breakpoints to make the program stop.
584* Trapping Errors:: Trapping errors with Edebug. 584* Trapping Errors:: Trapping errors with Edebug.
585* Edebug Views:: Views inside and outside of Edebug. 585* Edebug Views:: Views inside and outside of Edebug.
586* Edebug Eval:: Evaluating expressions within Edebug. 586* Edebug Eval:: Evaluating expressions within Edebug.
587* Eval List:: Expressions whose values are displayed 587* Eval List:: Expressions whose values are displayed
588 each time you enter Edebug. 588 each time you enter Edebug.
589* Printing in Edebug:: Customization of printing. 589* Printing in Edebug:: Customization of printing.
590* Trace Buffer:: How to produce trace output in a buffer. 590* Trace Buffer:: How to produce trace output in a buffer.
591* Coverage Testing:: How to test evaluation coverage. 591* Coverage Testing:: How to test evaluation coverage.
592* The Outside Context:: Data that Edebug saves and restores. 592* The Outside Context:: Data that Edebug saves and restores.
593* Edebug and Macros:: Specifying how to handle macro calls. 593* Edebug and Macros:: Specifying how to handle macro calls.
594* Edebug Options:: Option variables for customizing Edebug. 594* Edebug Options:: Option variables for customizing Edebug.
595 595
596Breaks 596Breaks
597 597
@@ -608,8 +608,8 @@ The Outside Context
608Edebug and Macros 608Edebug and Macros
609 609
610* Instrumenting Macro Calls::The basic problem. 610* Instrumenting Macro Calls::The basic problem.
611* Specification List:: How to specify complex patterns of evaluation. 611* Specification List:: How to specify complex patterns of evaluation.
612* Backtracking:: What Edebug does when matching fails. 612* Backtracking:: What Edebug does when matching fails.
613* Specification Examples:: To help understand specifications. 613* Specification Examples:: To help understand specifications.
614 614
615Debugging Invalid Lisp Syntax 615Debugging Invalid Lisp Syntax
@@ -634,13 +634,13 @@ Minibuffers
634* Intro to Minibuffers:: Basic information about minibuffers. 634* Intro to Minibuffers:: Basic information about minibuffers.
635* Text from Minibuffer:: How to read a straight text string. 635* Text from Minibuffer:: How to read a straight text string.
636* Object from Minibuffer:: How to read a Lisp object or expression. 636* Object from Minibuffer:: How to read a Lisp object or expression.
637* Minibuffer History:: Recording previous minibuffer inputs 637* Minibuffer History:: Recording previous minibuffer inputs
638 so the user can reuse them. 638 so the user can reuse them.
639* Initial Input:: Specifying initial contents for the minibuffer. 639* Initial Input:: Specifying initial contents for the minibuffer.
640* Completion:: How to invoke and customize completion. 640* Completion:: How to invoke and customize completion.
641* Yes-or-No Queries:: Asking a question with a simple answer. 641* Yes-or-No Queries:: Asking a question with a simple answer.
642* Multiple Queries:: Asking a series of similar questions. 642* Multiple Queries:: Asking a series of similar questions.
643* Reading a Password:: Reading a password from the terminal. 643* Reading a Password:: Reading a password from the terminal.
644* Minibuffer Commands:: Commands used as key bindings in minibuffers. 644* Minibuffer Commands:: Commands used as key bindings in minibuffers.
645* Minibuffer Contents:: How such commands access the minibuffer text. 645* Minibuffer Contents:: How such commands access the minibuffer text.
646* Minibuffer Windows:: Operating on the special minibuffer windows. 646* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -667,7 +667,7 @@ Command Loop
667* Distinguish Interactive:: Making a command distinguish interactive calls. 667* Distinguish Interactive:: Making a command distinguish interactive calls.
668* Command Loop Info:: Variables set by the command loop for you to examine. 668* Command Loop Info:: Variables set by the command loop for you to examine.
669* Adjusting Point:: Adjustment of point after a command. 669* Adjusting Point:: Adjustment of point after a command.
670* Input Events:: What input looks like when you read it. 670* Input Events:: What input looks like when you read it.
671* Reading Input:: How to read input events from the keyboard or mouse. 671* Reading Input:: How to read input events from the keyboard or mouse.
672* Special Events:: Events processed immediately and individually. 672* Special Events:: Events processed immediately and individually.
673* Waiting:: Waiting for user input or elapsed time. 673* Waiting:: Waiting for user input or elapsed time.
@@ -701,7 +701,7 @@ Input Events
701* Event Examples:: Examples of the lists for mouse events. 701* Event Examples:: Examples of the lists for mouse events.
702* Classifying Events:: Finding the modifier keys in an event symbol. 702* Classifying Events:: Finding the modifier keys in an event symbol.
703 Event types. 703 Event types.
704* Accessing Mouse:: Functions to extract info from mouse events. 704* Accessing Mouse:: Functions to extract info from mouse events.
705* Accessing Scroll:: Functions to get info from scroll bar events. 705* Accessing Scroll:: Functions to get info from scroll bar events.
706* Strings of Events:: Special considerations for putting 706* Strings of Events:: Special considerations for putting
707 keyboard character events in a string. 707 keyboard character events in a string.
@@ -851,9 +851,9 @@ Files
851* Changing Files:: Renaming files, changing protection, etc. 851* Changing Files:: Renaming files, changing protection, etc.
852* File Names:: Decomposing and expanding file names. 852* File Names:: Decomposing and expanding file names.
853* Contents of Directories:: Getting a list of the files in a directory. 853* Contents of Directories:: Getting a list of the files in a directory.
854* Create/Delete Dirs:: Creating and Deleting Directories. 854* Create/Delete Dirs:: Creating and Deleting Directories.
855* Magic File Names:: Defining "magic" special handling 855* Magic File Names:: Defining "magic" special handling
856 for certain file names. 856 for certain file names.
857* Format Conversion:: Conversion to and from various file formats. 857* Format Conversion:: Conversion to and from various file formats.
858 858
859Visiting Files 859Visiting Files
@@ -865,7 +865,7 @@ Information about Files
865 865
866* Testing Accessibility:: Is a given file readable? Writable? 866* Testing Accessibility:: Is a given file readable? Writable?
867* Kinds of Files:: Is it a directory? A symbolic link? 867* Kinds of Files:: Is it a directory? A symbolic link?
868* Truenames:: Eliminating symbolic links from a file name. 868* Truenames:: Eliminating symbolic links from a file name.
869* File Attributes:: How large is it? Any other names? Etc. 869* File Attributes:: How large is it? Any other names? Etc.
870* Locating Files:: How to find a file in standard places. 870* Locating Files:: How to find a file in standard places.
871 871
@@ -935,8 +935,8 @@ Windows
935* Buffers and Windows:: Each window displays the contents of a buffer. 935* Buffers and Windows:: Each window displays the contents of a buffer.
936* Displaying Buffers:: Higher-level functions for displaying a buffer 936* Displaying Buffers:: Higher-level functions for displaying a buffer
937 and choosing a window for it. 937 and choosing a window for it.
938* Choosing Window:: How to choose a window for displaying a buffer. 938* Choosing Window:: How to choose a window for displaying a buffer.
939* Dedicated Windows:: How to avoid displaying another buffer in 939* Dedicated Windows:: How to avoid displaying another buffer in
940 a specific window. 940 a specific window.
941* Window Point:: Each window has its own location of point. 941* Window Point:: Each window has its own location of point.
942* Window Start and End:: Buffer positions indicating which text is 942* Window Start and End:: Buffer positions indicating which text is
@@ -956,37 +956,37 @@ Windows
956 956
957Frames 957Frames
958 958
959* Creating Frames:: Creating additional frames. 959* Creating Frames:: Creating additional frames.
960* Multiple Terminals:: Displaying on several different devices. 960* Multiple Terminals:: Displaying on several different devices.
961* Frame Parameters:: Controlling frame size, position, font, etc. 961* Frame Parameters:: Controlling frame size, position, font, etc.
962* Terminal Parameters:: Parameters common for all frames on terminal. 962* Terminal Parameters:: Parameters common for all frames on terminal.
963* Frame Titles:: Automatic updating of frame titles. 963* Frame Titles:: Automatic updating of frame titles.
964* Deleting Frames:: Frames last until explicitly deleted. 964* Deleting Frames:: Frames last until explicitly deleted.
965* Finding All Frames:: How to examine all existing frames. 965* Finding All Frames:: How to examine all existing frames.
966* Frames and Windows:: A frame contains windows; 966* Frames and Windows:: A frame contains windows;
967 display of text always works through windows. 967 display of text always works through windows.
968* Minibuffers and Frames:: How a frame finds the minibuffer to use. 968* Minibuffers and Frames:: How a frame finds the minibuffer to use.
969* Input Focus:: Specifying the selected frame. 969* Input Focus:: Specifying the selected frame.
970* Visibility of Frames:: Frames may be visible or invisible, or icons. 970* Visibility of Frames:: Frames may be visible or invisible, or icons.
971* Raising and Lowering:: Raising a frame makes it hide other windows; 971* Raising and Lowering:: Raising a frame makes it hide other windows;
972 lowering it makes the others hide it. 972 lowering it makes the others hide it.
973* Frame Configurations:: Saving the state of all frames. 973* Frame Configurations:: Saving the state of all frames.
974* Mouse Tracking:: Getting events that say when the mouse moves. 974* Mouse Tracking:: Getting events that say when the mouse moves.
975* Mouse Position:: Asking where the mouse is, or moving it. 975* Mouse Position:: Asking where the mouse is, or moving it.
976* Pop-Up Menus:: Displaying a menu for the user to select from. 976* Pop-Up Menus:: Displaying a menu for the user to select from.
977* Dialog Boxes:: Displaying a box to ask yes or no. 977* Dialog Boxes:: Displaying a box to ask yes or no.
978* Pointer Shape:: Specifying the shape of the mouse pointer. 978* Pointer Shape:: Specifying the shape of the mouse pointer.
979* Window System Selections::Transferring text to and from other X clients. 979* Window System Selections::Transferring text to and from other X clients.
980* Drag and Drop:: Internals of Drag-and-Drop implementation. 980* Drag and Drop:: Internals of Drag-and-Drop implementation.
981* Color Names:: Getting the definitions of color names. 981* Color Names:: Getting the definitions of color names.
982* Text Terminal Colors:: Defining colors for text-only terminals. 982* Text Terminal Colors:: Defining colors for text-only terminals.
983* Resources:: Getting resource values from the server. 983* Resources:: Getting resource values from the server.
984* Display Feature Testing:: Determining the features of a terminal. 984* Display Feature Testing:: Determining the features of a terminal.
985 985
986Frame Parameters 986Frame Parameters
987 987
988* Parameter Access:: How to change a frame's parameters. 988* Parameter Access:: How to change a frame's parameters.
989* Initial Parameters:: Specifying frame parameters when you make a frame. 989* Initial Parameters:: Specifying frame parameters when you make a frame.
990* Window Frame Parameters:: List of frame parameters for window systems. 990* Window Frame Parameters:: List of frame parameters for window systems.
991* Size and Position:: Changing the size and position of a frame. 991* Size and Position:: Changing the size and position of a frame.
992* Geometry:: Parsing geometry specifications. 992* Geometry:: Parsing geometry specifications.
@@ -1045,7 +1045,7 @@ Text
1045 later use. 1045 later use.
1046* Undo:: Undoing changes to the text of a buffer. 1046* Undo:: Undoing changes to the text of a buffer.
1047* Maintaining Undo:: How to enable and disable undo information. 1047* Maintaining Undo:: How to enable and disable undo information.
1048 How to control how much information is kept. 1048 How to control how much information is kept.
1049* Filling:: Functions for explicit filling. 1049* Filling:: Functions for explicit filling.
1050* Margins:: How to specify margins for filling commands. 1050* Margins:: How to specify margins for filling commands.
1051* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1051* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1071,7 +1071,7 @@ The Kill Ring
1071* Kill Functions:: Functions that kill text. 1071* Kill Functions:: Functions that kill text.
1072* Yanking:: How yanking is done. 1072* Yanking:: How yanking is done.
1073* Yank Commands:: Commands that access the kill ring. 1073* Yank Commands:: Commands that access the kill ring.
1074* Low-Level Kill Ring:: Functions and variables for kill ring access. 1074* Low-Level Kill Ring:: Functions and variables for kill ring access.
1075* Internals of Kill Ring:: Variables that hold kill ring data. 1075* Internals of Kill Ring:: Variables that hold kill ring data.
1076 1076
1077Indentation 1077Indentation
@@ -1086,9 +1086,9 @@ Indentation
1086Text Properties 1086Text Properties
1087 1087
1088* Examining Properties:: Looking at the properties of one character. 1088* Examining Properties:: Looking at the properties of one character.
1089* Changing Properties:: Setting the properties of a range of text. 1089* Changing Properties:: Setting the properties of a range of text.
1090* Property Search:: Searching for where a property changes value. 1090* Property Search:: Searching for where a property changes value.
1091* Special Properties:: Particular properties with special meanings. 1091* Special Properties:: Particular properties with special meanings.
1092* Format Properties:: Properties for representing formatting of text. 1092* Format Properties:: Properties for representing formatting of text.
1093* Sticky Properties:: How inserted text gets properties from 1093* Sticky Properties:: How inserted text gets properties from
1094 neighboring text. 1094 neighboring text.
@@ -1098,8 +1098,8 @@ Text Properties
1098 do something when you click on them. 1098 do something when you click on them.
1099* Fields:: The @code{field} property defines 1099* Fields:: The @code{field} property defines
1100 fields within the buffer. 1100 fields within the buffer.
1101* Not Intervals:: Why text properties do not use 1101* Not Intervals:: Why text properties do not use
1102 Lisp-visible text intervals. 1102 Lisp-visible text intervals.
1103 1103
1104Non-@acronym{ASCII} Characters 1104Non-@acronym{ASCII} Characters
1105 1105
@@ -1142,7 +1142,7 @@ Searching and Matching
1142* POSIX Regexps:: Searching POSIX-style for the longest match. 1142* POSIX Regexps:: Searching POSIX-style for the longest match.
1143* Match Data:: Finding out which part of the text matched, 1143* Match Data:: Finding out which part of the text matched,
1144 after a string or regexp search. 1144 after a string or regexp search.
1145* Search and Replace:: Commands that loop, searching and replacing. 1145* Search and Replace:: Commands that loop, searching and replacing.
1146* Standard Regexps:: Useful regexps for finding sentences, pages,... 1146* Standard Regexps:: Useful regexps for finding sentences, pages,...
1147 1147
1148Regular Expressions 1148Regular Expressions
@@ -1159,9 +1159,9 @@ Syntax of Regular Expressions
1159 1159
1160The Match Data 1160The Match Data
1161 1161
1162* Replacing Match:: Replacing a substring that was matched. 1162* Replacing Match:: Replacing a substring that was matched.
1163* Simple Match Data:: Accessing single items of match data, 1163* Simple Match Data:: Accessing single items of match data,
1164 such as where a particular subexpression started. 1164 such as where a particular subexpression started.
1165* Entire Match Data:: Accessing the entire match data at once, as a list. 1165* Entire Match Data:: Accessing the entire match data at once, as a list.
1166* Saving Match Data:: Saving and restoring the match data. 1166* Saving Match Data:: Saving and restoring the match data.
1167 1167
@@ -1171,7 +1171,7 @@ Syntax Tables
1171* Syntax Descriptors:: How characters are classified. 1171* Syntax Descriptors:: How characters are classified.
1172* Syntax Table Functions:: How to create, examine and alter syntax tables. 1172* Syntax Table Functions:: How to create, examine and alter syntax tables.
1173* Syntax Properties:: Overriding syntax with text properties. 1173* Syntax Properties:: Overriding syntax with text properties.
1174* Motion and Syntax:: Moving over characters with certain syntaxes. 1174* Motion and Syntax:: Moving over characters with certain syntaxes.
1175* Parsing Expressions:: Parsing balanced expressions 1175* Parsing Expressions:: Parsing balanced expressions
1176 using the syntax table. 1176 using the syntax table.
1177* Standard Syntax Tables:: Syntax tables used by various major modes. 1177* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1260,10 +1260,10 @@ Emacs Display
1260* Invisible Text:: Hiding part of the buffer text. 1260* Invisible Text:: Hiding part of the buffer text.
1261* Selective Display:: Hiding part of the buffer text (the old way). 1261* Selective Display:: Hiding part of the buffer text (the old way).
1262* Temporary Displays:: Displays that go away automatically. 1262* Temporary Displays:: Displays that go away automatically.
1263* Overlays:: Use overlays to highlight parts of the buffer. 1263* Overlays:: Use overlays to highlight parts of the buffer.
1264* Width:: How wide a character or string is on the screen. 1264* Width:: How wide a character or string is on the screen.
1265* Line Height:: Controlling the height of lines. 1265* Line Height:: Controlling the height of lines.
1266* Faces:: A face defines a graphics style 1266* Faces:: A face defines a graphics style
1267 for text characters: font, colors, etc. 1267 for text characters: font, colors, etc.
1268* Fringes:: Controlling window fringes. 1268* Fringes:: Controlling window fringes.
1269* Scroll Bars:: Controlling vertical scroll bars. 1269* Scroll Bars:: Controlling vertical scroll bars.
@@ -1272,9 +1272,9 @@ Emacs Display
1272* Buttons:: Adding clickable buttons to Emacs buffers. 1272* Buttons:: Adding clickable buttons to Emacs buffers.
1273* Abstract Display:: Emacs' Widget for Object Collections. 1273* Abstract Display:: Emacs' Widget for Object Collections.
1274* Blinking:: How Emacs shows the matching open parenthesis. 1274* Blinking:: How Emacs shows the matching open parenthesis.
1275* Usual Display:: The usual conventions for displaying 1275* Usual Display:: The usual conventions for displaying
1276 nonprinting chars. 1276 nonprinting chars.
1277* Display Tables:: How to specify other conventions. 1277* Display Tables:: How to specify other conventions.
1278* Beeping:: Audible signal to the user. 1278* Beeping:: Audible signal to the user.
1279* Window Systems:: Which window system is being used. 1279* Window Systems:: Which window system is being used.
1280 1280
@@ -1296,7 +1296,7 @@ Overlays
1296 1296
1297* Managing Overlays:: Creating and moving overlays. 1297* Managing Overlays:: Creating and moving overlays.
1298* Overlay Properties:: How to read and set properties. 1298* Overlay Properties:: How to read and set properties.
1299 What properties do to the screen display. 1299 What properties do to the screen display.
1300* Finding Overlays:: Searching for overlays. 1300* Finding Overlays:: Searching for overlays.
1301 1301
1302Faces 1302Faces
@@ -1376,14 +1376,14 @@ Operating System Interface
1376* Getting Out:: How exiting works (permanent or temporary). 1376* Getting Out:: How exiting works (permanent or temporary).
1377* System Environment:: Distinguish the name and kind of system. 1377* System Environment:: Distinguish the name and kind of system.
1378* User Identification:: Finding the name and user id of the user. 1378* User Identification:: Finding the name and user id of the user.
1379* Time of Day:: Getting the current time. 1379* Time of Day:: Getting the current time.
1380* Time Conversion:: Converting a time from numeric form to 1380* Time Conversion:: Converting a time from numeric form to
1381 calendrical data and vice versa. 1381 calendrical data and vice versa.
1382* Time Parsing:: Converting a time from numeric form to text 1382* Time Parsing:: Converting a time from numeric form to text
1383 and vice versa. 1383 and vice versa.
1384* Processor Run Time:: Getting the run time used by Emacs. 1384* Processor Run Time:: Getting the run time used by Emacs.
1385* Time Calculations:: Adding, subtracting, comparing times, etc. 1385* Time Calculations:: Adding, subtracting, comparing times, etc.
1386* Timers:: Setting a timer to call a function at a 1386* Timers:: Setting a timer to call a function at a
1387 certain time. 1387 certain time.
1388* Idle Timers:: Setting a timer to call a function when Emacs has 1388* Idle Timers:: Setting a timer to call a function when Emacs has
1389 been idle for a certain length of time. 1389 been idle for a certain length of time.
@@ -1410,8 +1410,8 @@ Getting Out of Emacs
1410 1410
1411Terminal Input 1411Terminal Input
1412 1412
1413* Input Modes:: Options for how input is processed. 1413* Input Modes:: Options for how input is processed.
1414* Recording Input:: Saving histories of recent or all input events. 1414* Recording Input:: Saving histories of recent or all input events.
1415 1415
1416Tips and Conventions 1416Tips and Conventions
1417 1417
@@ -1421,7 +1421,7 @@ Tips and Conventions
1421* Compilation Tips:: Making compiled code run fast. 1421* Compilation Tips:: Making compiled code run fast.
1422* Warning Tips:: Turning off compiler warnings. 1422* Warning Tips:: Turning off compiler warnings.
1423* Documentation Tips:: Writing readable documentation strings. 1423* Documentation Tips:: Writing readable documentation strings.
1424* Comment Tips:: Conventions for writing comments. 1424* Comment Tips:: Conventions for writing comments.
1425* Library Headers:: Standard headers for library packages. 1425* Library Headers:: Standard headers for library packages.
1426 1426
1427GNU Emacs Internals 1427GNU Emacs Internals
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index e9ef1999589..b1b1747d86c 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -63,11 +63,11 @@ sequence or buffer.@*
63@xref{Lisp and Coding Systems}. 63@xref{Lisp and Coding Systems}.
64 64
65@item cyclic-function-indirection 65@item cyclic-function-indirection
66@code{"Symbol's chain of function indirections\@* contains a loop"}@* 66@code{"Symbol's chain of function indirections contains a loop"}@*
67@xref{Function Indirection}. 67@xref{Function Indirection}.
68 68
69@item cyclic-variable-indirection 69@item cyclic-variable-indirection
70@code{"Symbol's chain of variable indirections\@* contains a loop"}@* 70@code{"Symbol's chain of variable indirections contains a loop"}@*
71@xref{Variable Aliases}. 71@xref{Variable Aliases}.
72 72
73@item end-of-buffer 73@item end-of-buffer
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi
index f0d710f9775..6ed38f45dc8 100644
--- a/doc/lispref/eval.texi
+++ b/doc/lispref/eval.texi
@@ -110,7 +110,7 @@ forms.
110* Symbol Forms:: Symbols evaluate as variables. 110* Symbol Forms:: Symbols evaluate as variables.
111* Classifying Lists:: How to distinguish various sorts of list forms. 111* Classifying Lists:: How to distinguish various sorts of list forms.
112* Function Indirection:: When a symbol appears as the car of a list, 112* Function Indirection:: When a symbol appears as the car of a list,
113 we find the real function via the symbol. 113 we find the real function via the symbol.
114* Function Forms:: Forms that call functions. 114* Function Forms:: Forms that call functions.
115* Macro Forms:: Forms that call macros. 115* Macro Forms:: Forms that call macros.
116* Special Forms:: "Special forms" are idiosyncratic primitives, 116* Special Forms:: "Special forms" are idiosyncratic primitives,
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 699a33ff22b..abdd2814b56 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/files 7@setfilename ../../info/files
7@node Files, Backups and Auto-Saving, Documentation, Top 8@node Files, Backups and Auto-Saving, Documentation, Top
@@ -38,9 +39,9 @@ to locale @code{system-message-locale}, and decoded using coding system
38* Changing Files:: Renaming files, changing protection, etc. 39* Changing Files:: Renaming files, changing protection, etc.
39* File Names:: Decomposing and expanding file names. 40* File Names:: Decomposing and expanding file names.
40* Contents of Directories:: Getting a list of the files in a directory. 41* Contents of Directories:: Getting a list of the files in a directory.
41* Create/Delete Dirs:: Creating and Deleting Directories. 42* Create/Delete Dirs:: Creating and Deleting Directories.
42* Magic File Names:: Defining "magic" special handling 43* Magic File Names:: Defining "magic" special handling
43 for certain file names. 44 for certain file names.
44* Format Conversion:: Conversion to and from various file formats. 45* Format Conversion:: Conversion to and from various file formats.
45@end menu 46@end menu
46 47
@@ -755,7 +756,7 @@ otherwise noted.
755@menu 756@menu
756* Testing Accessibility:: Is a given file readable? Writable? 757* Testing Accessibility:: Is a given file readable? Writable?
757* Kinds of Files:: Is it a directory? A symbolic link? 758* Kinds of Files:: Is it a directory? A symbolic link?
758* Truenames:: Eliminating symbolic links from a file name. 759* Truenames:: Eliminating symbolic links from a file name.
759* File Attributes:: How large is it? Any other names? Etc. 760* File Attributes:: How large is it? Any other names? Etc.
760* Locating Files:: How to find a file in standard places. 761* Locating Files:: How to find a file in standard places.
761@end menu 762@end menu
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 9994210bd17..7dfe3242c5d 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -85,26 +85,26 @@ is the same as for @code{framep} above.
85* Frame Parameters:: Controlling frame size, position, font, etc. 85* Frame Parameters:: Controlling frame size, position, font, etc.
86* Terminal Parameters:: Parameters common for all frames on terminal. 86* Terminal Parameters:: Parameters common for all frames on terminal.
87* Frame Titles:: Automatic updating of frame titles. 87* Frame Titles:: Automatic updating of frame titles.
88* Deleting Frames:: Frames last until explicitly deleted. 88* Deleting Frames:: Frames last until explicitly deleted.
89* Finding All Frames:: How to examine all existing frames. 89* Finding All Frames:: How to examine all existing frames.
90* Frames and Windows:: A frame contains windows; 90* Frames and Windows:: A frame contains windows;
91 display of text always works through windows. 91 display of text always works through windows.
92* Minibuffers and Frames:: How a frame finds the minibuffer to use. 92* Minibuffers and Frames:: How a frame finds the minibuffer to use.
93* Input Focus:: Specifying the selected frame. 93* Input Focus:: Specifying the selected frame.
94* Visibility of Frames:: Frames may be visible or invisible, or icons. 94* Visibility of Frames:: Frames may be visible or invisible, or icons.
95* Raising and Lowering:: Raising a frame makes it hide other windows; 95* Raising and Lowering:: Raising a frame makes it hide other windows;
96 lowering it makes the others hide it. 96 lowering it makes the others hide it.
97* Frame Configurations:: Saving the state of all frames. 97* Frame Configurations:: Saving the state of all frames.
98* Mouse Tracking:: Getting events that say when the mouse moves. 98* Mouse Tracking:: Getting events that say when the mouse moves.
99* Mouse Position:: Asking where the mouse is, or moving it. 99* Mouse Position:: Asking where the mouse is, or moving it.
100* Pop-Up Menus:: Displaying a menu for the user to select from. 100* Pop-Up Menus:: Displaying a menu for the user to select from.
101* Dialog Boxes:: Displaying a box to ask yes or no. 101* Dialog Boxes:: Displaying a box to ask yes or no.
102* Pointer Shape:: Specifying the shape of the mouse pointer. 102* Pointer Shape:: Specifying the shape of the mouse pointer.
103* Window System Selections:: Transferring text to and from other X clients. 103* Window System Selections:: Transferring text to and from other X clients.
104* Drag and Drop:: Internals of Drag-and-Drop implementation. 104* Drag and Drop:: Internals of Drag-and-Drop implementation.
105* Color Names:: Getting the definitions of color names. 105* Color Names:: Getting the definitions of color names.
106* Text Terminal Colors:: Defining colors for text-only terminals. 106* Text Terminal Colors:: Defining colors for text-only terminals.
107* Resources:: Getting resource values from the server. 107* Resources:: Getting resource values from the server.
108* Display Feature Testing:: Determining the features of a terminal. 108* Display Feature Testing:: Determining the features of a terminal.
109@end menu 109@end menu
110 110
@@ -343,7 +343,7 @@ variables. @xref{Frame-Local Variables}.
343 343
344@menu 344@menu
345* Parameter Access:: How to change a frame's parameters. 345* Parameter Access:: How to change a frame's parameters.
346* Initial Parameters:: Specifying frame parameters when you make a frame. 346* Initial Parameters:: Specifying frame parameters when you make a frame.
347* Window Frame Parameters:: List of frame parameters for window systems. 347* Window Frame Parameters:: List of frame parameters for window systems.
348* Size and Position:: Changing the size and position of a frame. 348* Size and Position:: Changing the size and position of a frame.
349* Geometry:: Parsing geometry specifications. 349* Geometry:: Parsing geometry specifications.
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 7e8ac09b44e..d5c89dd7cf3 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/functions 7@setfilename ../../info/functions
7@node Functions, Macros, Variables, Top 8@node Functions, Macros, Variables, Top
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 6b076d8ee3a..2420e777fe8 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -518,8 +518,7 @@ If all args return nil, return nil.
518@end group 518@end group
519@group 519@group
520usage: (or CONDITIONS ...) */) 520usage: (or CONDITIONS ...) */)
521 (args) 521 (Lisp_Object args)
522 Lisp_Object args;
523@{ 522@{
524 register Lisp_Object val = Qnil; 523 register Lisp_Object val = Qnil;
525 struct gcpro gcpro1; 524 struct gcpro gcpro1;
@@ -618,15 +617,15 @@ All the usual rules for documentation strings in Lisp code
618too. 617too.
619@end table 618@end table
620 619
621 After the call to the @code{DEFUN} macro, you must write the argument 620 After the call to the @code{DEFUN} macro, you must write the
622name list that every C function must have, followed by ordinary C 621argument list that every C function must have, including the types for
623declarations for the arguments. For a function with a fixed maximum 622the arguments. For a function with a fixed maximum number of
624number of arguments, declare a C argument for each Lisp argument, and 623arguments, declare a C argument for each Lisp argument, and give them
625give them all type @code{Lisp_Object}. When a Lisp function has no 624all type @code{Lisp_Object}. When a Lisp function has no upper limit
626upper limit on the number of arguments, its implementation in C actually 625on the number of arguments, its implementation in C actually receives
627receives exactly two arguments: the first is the number of Lisp 626exactly two arguments: the first is the number of Lisp arguments, and
628arguments, and the second is the address of a block containing their 627the second is the address of a block containing their values. They
629values. They have types @code{int} and @w{@code{Lisp_Object *}}. 628have types @code{int} and @w{@code{Lisp_Object *}}.
630 629
631@cindex @code{GCPRO} and @code{UNGCPRO} 630@cindex @code{GCPRO} and @code{UNGCPRO}
632@cindex protect C variables from garbage collection 631@cindex protect C variables from garbage collection
@@ -761,22 +760,22 @@ If they are on the border between WINDOW and its right sibling,\n\
761@group 760@group
762 switch (coordinates_in_window (XWINDOW (window), &x, &y)) 761 switch (coordinates_in_window (XWINDOW (window), &x, &y))
763 @{ 762 @{
764 case 0: /* NOT in window at all. */ 763 case 0: /* NOT in window at all. */
765 return Qnil; 764 return Qnil;
766@end group 765@end group
767 766
768@group 767@group
769 case 1: /* In text part of window. */ 768 case 1: /* In text part of window. */
770 return Fcons (make_number (x), make_number (y)); 769 return Fcons (make_number (x), make_number (y));
771@end group 770@end group
772 771
773@group 772@group
774 case 2: /* In mode line of window. */ 773 case 2: /* In mode line of window. */
775 return Qmode_line; 774 return Qmode_line;
776@end group 775@end group
777 776
778@group 777@group
779 case 3: /* On right border of window. */ 778 case 3: /* On right border of window. */
780 return Qvertical_line; 779 return Qvertical_line;
781@end group 780@end group
782 781
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index d886b990dd8..e1052a9912e 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/keymaps 7@setfilename ../../info/keymaps
7@node Keymaps, Modes, Command Loop, Top 8@node Keymaps, Modes, Command Loop, Top
@@ -16,19 +17,19 @@ used to look up the next input event; this continues until a command
16is found. The whole process is called @dfn{key lookup}. 17is found. The whole process is called @dfn{key lookup}.
17 18
18@menu 19@menu
19* Key Sequences:: Key sequences as Lisp objects. 20* Key Sequences:: Key sequences as Lisp objects.
20* Keymap Basics:: Basic concepts of keymaps. 21* Keymap Basics:: Basic concepts of keymaps.
21* Format of Keymaps:: What a keymap looks like as a Lisp object. 22* Format of Keymaps:: What a keymap looks like as a Lisp object.
22* Creating Keymaps:: Functions to create and copy keymaps. 23* Creating Keymaps:: Functions to create and copy keymaps.
23* Inheritance and Keymaps:: How one keymap can inherit the bindings 24* Inheritance and Keymaps:: How one keymap can inherit the bindings
24 of another keymap. 25 of another keymap.
25* Prefix Keys:: Defining a key with a keymap as its definition. 26* Prefix Keys:: Defining a key with a keymap as its definition.
26* Active Keymaps:: How Emacs searches the active keymaps 27* Active Keymaps:: How Emacs searches the active keymaps
27 for a key binding. 28 for a key binding.
28* Searching Keymaps:: A pseudo-Lisp summary of searching active maps. 29* Searching Keymaps:: A pseudo-Lisp summary of searching active maps.
29* Controlling Active Maps:: Each buffer has a local keymap 30* Controlling Active Maps:: Each buffer has a local keymap
30 to override the standard (global) bindings. 31 to override the standard (global) bindings.
31 A minor mode can also override them. 32 A minor mode can also override them.
32* Key Lookup:: Finding a key's binding in one keymap. 33* Key Lookup:: Finding a key's binding in one keymap.
33* Functions for Key Lookup:: How to request key lookup. 34* Functions for Key Lookup:: How to request key lookup.
34* Changing Key Bindings:: Redefining a key in a keymap. 35* Changing Key Bindings:: Redefining a key in a keymap.
@@ -36,7 +37,7 @@ is found. The whole process is called @dfn{key lookup}.
36* Translation Keymaps:: Keymaps for translating sequences of events. 37* Translation Keymaps:: Keymaps for translating sequences of events.
37* Key Binding Commands:: Interactive interfaces for redefining keys. 38* Key Binding Commands:: Interactive interfaces for redefining keys.
38* Scanning Keymaps:: Looking through all keymaps, for printing help. 39* Scanning Keymaps:: Looking through all keymaps, for printing help.
39* Menu Keymaps:: Defining a menu as a keymap. 40* Menu Keymaps:: Defining a menu as a keymap.
40@end menu 41@end menu
41 42
42@node Key Sequences 43@node Key Sequences
@@ -1959,11 +1960,11 @@ is active for the next input event, that activates the keyboard menu
1959feature. 1960feature.
1960 1961
1961@menu 1962@menu
1962* Defining Menus:: How to make a keymap that defines a menu. 1963* Defining Menus:: How to make a keymap that defines a menu.
1963* Mouse Menus:: How users actuate the menu with the mouse. 1964* Mouse Menus:: How users actuate the menu with the mouse.
1964* Keyboard Menus:: How users actuate the menu with the keyboard. 1965* Keyboard Menus:: How users actuate the menu with the keyboard.
1965* Menu Example:: Making a simple menu. 1966* Menu Example:: Making a simple menu.
1966* Menu Bar:: How to customize the menu bar. 1967* Menu Bar:: How to customize the menu bar.
1967* Tool Bar:: A tool bar is a row of images. 1968* Tool Bar:: A tool bar is a row of images.
1968* Modifying Menus:: How to add new items to a menu. 1969* Modifying Menus:: How to add new items to a menu.
1969@end menu 1970@end menu
@@ -2413,10 +2414,10 @@ Next we define the menu items:
2413@smallexample 2414@smallexample
2414(define-key menu-bar-replace-menu [tags-repl-continue] 2415(define-key menu-bar-replace-menu [tags-repl-continue]
2415 '(menu-item "Continue Replace" tags-loop-continue 2416 '(menu-item "Continue Replace" tags-loop-continue
2416 :help "Continue last tags replace operation")) 2417 :help "Continue last tags replace operation"))
2417(define-key menu-bar-replace-menu [tags-repl] 2418(define-key menu-bar-replace-menu [tags-repl]
2418 '(menu-item "Replace in tagged files" tags-query-replace 2419 '(menu-item "Replace in tagged files" tags-query-replace
2419 :help "Interactively replace a regexp in all tagged files")) 2420 :help "Interactively replace a regexp in all tagged files"))
2420(define-key menu-bar-replace-menu [separator-replace-tags] 2421(define-key menu-bar-replace-menu [separator-replace-tags]
2421 '(menu-item "--")) 2422 '(menu-item "--"))
2422;; @r{@dots{}} 2423;; @r{@dots{}}
@@ -2656,8 +2657,8 @@ using an indirection through @code{tool-bar-map}.
2656By default, the global map binds @code{[tool-bar]} as follows: 2657By default, the global map binds @code{[tool-bar]} as follows:
2657@example 2658@example
2658(global-set-key [tool-bar] 2659(global-set-key [tool-bar]
2659 '(menu-item "tool bar" ignore 2660 '(menu-item "tool bar" ignore
2660 :filter (lambda (ignore) tool-bar-map))) 2661 :filter (lambda (ignore) tool-bar-map)))
2661@end example 2662@end example
2662@noindent 2663@noindent
2663Thus the tool bar map is derived dynamically from the value of variable 2664Thus the tool bar map is derived dynamically from the value of variable
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 7e3240d72de..bbdd67fc3a5 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/loading 7@setfilename ../../info/loading
7@node Loading, Byte Compilation, Customization, Top 8@node Loading, Byte Compilation, Customization, Top
@@ -43,9 +44,9 @@ containing Lisp code.
43* Repeated Loading:: Precautions about loading a file twice. 44* Repeated Loading:: Precautions about loading a file twice.
44* Named Features:: Loading a library if it isn't already loaded. 45* Named Features:: Loading a library if it isn't already loaded.
45* Where Defined:: Finding which file defined a certain symbol. 46* Where Defined:: Finding which file defined a certain symbol.
46* Unloading:: How to "unload" a library that was loaded. 47* Unloading:: How to "unload" a library that was loaded.
47* Hooks for Loading:: Providing code to be run when 48* Hooks for Loading:: Providing code to be run when
48 particular libraries are loaded. 49 particular libraries are loaded.
49@end menu 50@end menu
50 51
51@node How Programs Do Loading 52@node How Programs Do Loading
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index bfe73ce27f4..3588704b054 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/minibuf 7@setfilename ../../info/minibuf
7@node Minibuffers, Command Loop, Read and Print, Top 8@node Minibuffers, Command Loop, Read and Print, Top
@@ -22,13 +23,13 @@ argument.
22* Intro to Minibuffers:: Basic information about minibuffers. 23* Intro to Minibuffers:: Basic information about minibuffers.
23* Text from Minibuffer:: How to read a straight text string. 24* Text from Minibuffer:: How to read a straight text string.
24* Object from Minibuffer:: How to read a Lisp object or expression. 25* Object from Minibuffer:: How to read a Lisp object or expression.
25* Minibuffer History:: Recording previous minibuffer inputs 26* Minibuffer History:: Recording previous minibuffer inputs
26 so the user can reuse them. 27 so the user can reuse them.
27* Initial Input:: Specifying initial contents for the minibuffer. 28* Initial Input:: Specifying initial contents for the minibuffer.
28* Completion:: How to invoke and customize completion. 29* Completion:: How to invoke and customize completion.
29* Yes-or-No Queries:: Asking a question with a simple answer. 30* Yes-or-No Queries:: Asking a question with a simple answer.
30* Multiple Queries:: Asking a series of similar questions. 31* Multiple Queries:: Asking a series of similar questions.
31* Reading a Password:: Reading a password from the terminal. 32* Reading a Password:: Reading a password from the terminal.
32* Minibuffer Commands:: Commands used as key bindings in minibuffers. 33* Minibuffer Commands:: Commands used as key bindings in minibuffers.
33* Minibuffer Contents:: How such commands access the minibuffer text. 34* Minibuffer Contents:: How such commands access the minibuffer text.
34* Minibuffer Windows:: Operating on the special minibuffer windows. 35* Minibuffer Windows:: Operating on the special minibuffer windows.
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index e5eb90863af..858226ecdfc 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1342,7 +1342,7 @@ or like this, using @code{add-to-list} (@pxref{List Variables}):
1342 Global minor modes distributed with Emacs should if possible support 1342 Global minor modes distributed with Emacs should if possible support
1343enabling and disabling via Custom (@pxref{Customization}). To do this, 1343enabling and disabling via Custom (@pxref{Customization}). To do this,
1344the first step is to define the mode variable with @code{defcustom}, and 1344the first step is to define the mode variable with @code{defcustom}, and
1345specify @code{:type boolean}. 1345specify @code{:type 'boolean}.
1346 1346
1347 If just setting the variable is not sufficient to enable the mode, you 1347 If just setting the variable is not sufficient to enable the mode, you
1348should also specify a @code{:set} method which enables the mode by 1348should also specify a @code{:set} method which enables the mode by
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index fdec0448e02..62b4796350e 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -21,10 +21,10 @@ exact; they have a fixed, limited amount of precision.
21 21
22@menu 22@menu
23* Integer Basics:: Representation and range of integers. 23* Integer Basics:: Representation and range of integers.
24* Float Basics:: Representation and range of floating point. 24* Float Basics:: Representation and range of floating point.
25* Predicates on Numbers:: Testing for numbers. 25* Predicates on Numbers:: Testing for numbers.
26* Comparison of Numbers:: Equality and inequality predicates. 26* Comparison of Numbers:: Equality and inequality predicates.
27* Numeric Conversions:: Converting float to integer and vice versa. 27* Numeric Conversions:: Converting float to integer and vice versa.
28* Arithmetic Operations:: How to add, subtract, multiply and divide. 28* Arithmetic Operations:: How to add, subtract, multiply and divide.
29* Rounding Operations:: Explicitly rounding floating point numbers. 29* Rounding Operations:: Explicitly rounding floating point numbers.
30* Bitwise Operations:: Logical and, or, not, shifting. 30* Bitwise Operations:: Logical and, or, not, shifting.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 9fbc51ae12f..4f37eb10b7a 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/os 7@setfilename ../../info/os
7@node System Interface, Antinews, Display, Top 8@node System Interface, Antinews, Display, Top
@@ -20,14 +21,14 @@ terminal and the screen.
20* Getting Out:: How exiting works (permanent or temporary). 21* Getting Out:: How exiting works (permanent or temporary).
21* System Environment:: Distinguish the name and kind of system. 22* System Environment:: Distinguish the name and kind of system.
22* User Identification:: Finding the name and user id of the user. 23* User Identification:: Finding the name and user id of the user.
23* Time of Day:: Getting the current time. 24* Time of Day:: Getting the current time.
24* Time Conversion:: Converting a time from numeric form to 25* Time Conversion:: Converting a time from numeric form to
25 calendrical data and vice versa. 26 calendrical data and vice versa.
26* Time Parsing:: Converting a time from numeric form to text 27* Time Parsing:: Converting a time from numeric form to text
27 and vice versa. 28 and vice versa.
28* Processor Run Time:: Getting the run time used by Emacs. 29* Processor Run Time:: Getting the run time used by Emacs.
29* Time Calculations:: Adding, subtracting, comparing times, etc. 30* Time Calculations:: Adding, subtracting, comparing times, etc.
30* Timers:: Setting a timer to call a function at a certain time. 31* Timers:: Setting a timer to call a function at a certain time.
31* Idle Timers:: Setting a timer to call a function when Emacs has 32* Idle Timers:: Setting a timer to call a function when Emacs has
32 been idle for a certain length of time. 33 been idle for a certain length of time.
33* Terminal Input:: Accessing and recording terminal input. 34* Terminal Input:: Accessing and recording terminal input.
@@ -1815,8 +1816,8 @@ manipulating terminal input. See @ref{Display}, for related
1815functions. 1816functions.
1816 1817
1817@menu 1818@menu
1818* Input Modes:: Options for how input is processed. 1819* Input Modes:: Options for how input is processed.
1819* Recording Input:: Saving histories of recent or all input events. 1820* Recording Input:: Saving histories of recent or all input events.
1820@end menu 1821@end menu
1821 1822
1822@node Input Modes 1823@node Input Modes
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 85628bdfac6..1a4a766c81c 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/processes 7@setfilename ../../info/processes
7@node Processes, Display, Abbrevs, Top 8@node Processes, Display, Abbrevs, Top
@@ -51,13 +52,13 @@ Processes}.
51* Sentinels:: Sentinels run when process run-status changes. 52* Sentinels:: Sentinels run when process run-status changes.
52* Query Before Exit:: Whether to query if exiting will kill a process. 53* Query Before Exit:: Whether to query if exiting will kill a process.
53* System Processes:: Accessing other processes running on your system. 54* System Processes:: Accessing other processes running on your system.
54* Transaction Queues:: Transaction-based communication with subprocesses. 55* Transaction Queues:: Transaction-based communication with subprocesses.
55* Network:: Opening network connections. 56* Network:: Opening network connections.
56* Network Servers:: Network servers let Emacs accept net connections. 57* Network Servers:: Network servers let Emacs accept net connections.
57* Datagrams:: UDP network connections. 58* Datagrams:: UDP network connections.
58* Low-Level Network:: Lower-level but more general function 59* Low-Level Network:: Lower-level but more general function
59 to create connections and servers. 60 to create connections and servers.
60* Misc Network:: Additional relevant functions for network connections. 61* Misc Network:: Additional relevant functions for net connections.
61* Serial Ports:: Communicating with serial ports. 62* Serial Ports:: Communicating with serial ports.
62* Byte Packing:: Using bindat to pack and unpack binary data. 63* Byte Packing:: Using bindat to pack and unpack binary data.
63@end menu 64@end menu
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 722f76cdd7f..b4b4c23b1ed 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/searching 7@setfilename ../../info/searching
7@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top 8@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -22,7 +23,7 @@ portions of it.
22* POSIX Regexps:: Searching POSIX-style for the longest match. 23* POSIX Regexps:: Searching POSIX-style for the longest match.
23* Match Data:: Finding out which part of the text matched, 24* Match Data:: Finding out which part of the text matched,
24 after a string or regexp search. 25 after a string or regexp search.
25* Search and Replace:: Commands that loop, searching and replacing. 26* Search and Replace:: Commands that loop, searching and replacing.
26* Standard Regexps:: Useful regexps for finding sentences, pages,... 27* Standard Regexps:: Useful regexps for finding sentences, pages,...
27@end menu 28@end menu
28 29
@@ -609,8 +610,8 @@ maximum.
609For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car}, 610For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
610@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and 611@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
611nothing else.@* 612nothing else.@*
612@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}. @* 613@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@*
613@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}. @* 614@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@*
614@samp{\@{1,\@}} is equivalent to @samp{+}. 615@samp{\@{1,\@}} is equivalent to @samp{+}.
615 616
616@item \( @dots{} \) 617@item \( @dots{} \)
@@ -1213,9 +1214,9 @@ can't avoid another intervening search, you must save and restore the
1213match data around it, to prevent it from being overwritten. 1214match data around it, to prevent it from being overwritten.
1214 1215
1215@menu 1216@menu
1216* Replacing Match:: Replacing a substring that was matched. 1217* Replacing Match:: Replacing a substring that was matched.
1217* Simple Match Data:: Accessing single items of match data, 1218* Simple Match Data:: Accessing single items of match data,
1218 such as where a particular subexpression started. 1219 such as where a particular subexpression started.
1219* Entire Match Data:: Accessing the entire match data at once, as a list. 1220* Entire Match Data:: Accessing the entire match data at once, as a list.
1220* Saving Match Data:: Saving and restoring the match data. 1221* Saving Match Data:: Saving and restoring the match data.
1221@end menu 1222@end menu
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index f55c93abf31..a73c4790b96 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/sequences 7@setfilename ../../info/sequences
7@node Sequences Arrays Vectors, Hash Tables, Lists, Top 8@node Sequences Arrays Vectors, Hash Tables, Lists, Top
@@ -669,13 +670,13 @@ For example, here is how to examine the elements of the syntax table:
669(let (accumulator) 670(let (accumulator)
670 (map-char-table 671 (map-char-table
671 #'(lambda (key value) 672 #'(lambda (key value)
672 (setq accumulator 673 (setq accumulator
673 (cons (list 674 (cons (list
674 (if (consp key) 675 (if (consp key)
675 (list (car key) (cdr key)) 676 (list (car key) (cdr key))
676 key) 677 key)
677 value) 678 value)
678 accumulator))) 679 accumulator)))
679 (syntax-table)) 680 (syntax-table))
680 accumulator) 681 accumulator)
681@result{} 682@result{}
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 34613a823ba..1128ca87d8a 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/strings 7@setfilename ../../info/strings
7@node Strings and Characters, Lists, Numbers, Top 8@node Strings and Characters, Lists, Numbers, Top
@@ -31,7 +32,7 @@ keyboard character events.
31* String Conversion:: Converting to and from characters and strings. 32* String Conversion:: Converting to and from characters and strings.
32* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 33* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
33* Case Conversion:: Case conversion functions. 34* Case Conversion:: Case conversion functions.
34* Case Tables:: Customizing case conversion. 35* Case Tables:: Customizing case conversion.
35@end menu 36@end menu
36 37
37@node String Basics 38@node String Basics
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index a3d5631baf8..9add9b76e79 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/syntax 7@setfilename ../../info/syntax
7@node Syntax Tables, Abbrevs, Searching and Matching, Top 8@node Syntax Tables, Abbrevs, Searching and Matching, Top
@@ -23,7 +24,7 @@ functions in this chapter.
23* Desc: Syntax Descriptors. How characters are classified. 24* Desc: Syntax Descriptors. How characters are classified.
24* Syntax Table Functions:: How to create, examine and alter syntax tables. 25* Syntax Table Functions:: How to create, examine and alter syntax tables.
25* Syntax Properties:: Overriding syntax with text properties. 26* Syntax Properties:: Overriding syntax with text properties.
26* Motion and Syntax:: Moving over characters with certain syntaxes. 27* Motion and Syntax:: Moving over characters with certain syntaxes.
27* Parsing Expressions:: Parsing balanced expressions 28* Parsing Expressions:: Parsing balanced expressions
28 using the syntax table. 29 using the syntax table.
29* Standard Syntax Tables:: Syntax tables used by various major modes. 30* Standard Syntax Tables:: Syntax tables used by various major modes.
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 2eff8b109a0..f52d1db5c9c 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/text 7@setfilename ../../info/text
7@node Text, Non-ASCII Characters, Markers, Top 8@node Text, Non-ASCII Characters, Markers, Top
@@ -42,7 +43,7 @@ the character after point.
42* The Kill Ring:: Where removed text sometimes is saved for later use. 43* The Kill Ring:: Where removed text sometimes is saved for later use.
43* Undo:: Undoing changes to the text of a buffer. 44* Undo:: Undoing changes to the text of a buffer.
44* Maintaining Undo:: How to enable and disable undo information. 45* Maintaining Undo:: How to enable and disable undo information.
45 How to control how much information is kept. 46 How to control how much information is kept.
46* Filling:: Functions for explicit filling. 47* Filling:: Functions for explicit filling.
47* Margins:: How to specify margins for filling commands. 48* Margins:: How to specify margins for filling commands.
48* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context. 49* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context.
@@ -821,7 +822,7 @@ would be difficult to change the terminology now.
821* Kill Functions:: Functions that kill text. 822* Kill Functions:: Functions that kill text.
822* Yanking:: How yanking is done. 823* Yanking:: How yanking is done.
823* Yank Commands:: Commands that access the kill ring. 824* Yank Commands:: Commands that access the kill ring.
824* Low-Level Kill Ring:: Functions and variables for kill ring access. 825* Low-Level Kill Ring:: Functions and variables for kill ring access.
825* Internals of Kill Ring:: Variables that hold kill ring data. 826* Internals of Kill Ring:: Variables that hold kill ring data.
826@end menu 827@end menu
827 828
@@ -1298,13 +1299,16 @@ This function places a boundary element in the undo list. The undo
1298command stops at such a boundary, and successive undo commands undo 1299command stops at such a boundary, and successive undo commands undo
1299to earlier and earlier boundaries. This function returns @code{nil}. 1300to earlier and earlier boundaries. This function returns @code{nil}.
1300 1301
1301The editor command loop automatically creates an undo boundary before 1302The editor command loop automatically calls @code{undo-boundary} just
1302each key sequence is executed. Thus, each undo normally undoes the 1303before executing each key sequence, so that each undo normally undoes
1303effects of one command. Self-inserting input characters are an 1304the effects of one command. As an exception, the command
1304exception. The command loop makes a boundary for the first such 1305@code{self-insert-command}, which produces self-inserting input
1305character; the next 19 consecutive self-inserting input characters do 1306characters (@pxref{Commands for Insertion}), may remove the boundary
1306not make boundaries, and then the 20th does, and so on as long as 1307inserted by the command loop: a boundary is accepted for the first
1307self-inserting characters continue. 1308such character, the next 19 consecutive self-inserting input
1309characters do not have boundaries, and then the 20th does; and so on
1310as long as the self-inserting characters continue. Hence, sequences
1311of consecutive character insertions can be undone as a group.
1308 1312
1309All buffer modifications add a boundary whenever the previous undoable 1313All buffer modifications add a boundary whenever the previous undoable
1310change was made in some other buffer. This is to ensure that 1314change was made in some other buffer. This is to ensure that
@@ -2593,9 +2597,9 @@ along with the characters; this includes such diverse functions as
2593 2597
2594@menu 2598@menu
2595* Examining Properties:: Looking at the properties of one character. 2599* Examining Properties:: Looking at the properties of one character.
2596* Changing Properties:: Setting the properties of a range of text. 2600* Changing Properties:: Setting the properties of a range of text.
2597* Property Search:: Searching for where a property changes value. 2601* Property Search:: Searching for where a property changes value.
2598* Special Properties:: Particular properties with special meanings. 2602* Special Properties:: Particular properties with special meanings.
2599* Format Properties:: Properties for representing formatting of text. 2603* Format Properties:: Properties for representing formatting of text.
2600* Sticky Properties:: How inserted text gets properties from 2604* Sticky Properties:: How inserted text gets properties from
2601 neighboring text. 2605 neighboring text.
@@ -2605,8 +2609,8 @@ along with the characters; this includes such diverse functions as
2605 do something when you click on them. 2609 do something when you click on them.
2606* Fields:: The @code{field} property defines 2610* Fields:: The @code{field} property defines
2607 fields within the buffer. 2611 fields within the buffer.
2608* Not Intervals:: Why text properties do not use 2612* Not Intervals:: Why text properties do not use
2609 Lisp-visible text intervals. 2613 Lisp-visible text intervals.
2610@end menu 2614@end menu
2611 2615
2612@node Examining Properties 2616@node Examining Properties
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index c1f1423dabf..de281b0e147 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/tips 7@setfilename ../../info/tips
7@node Tips, GNU Emacs Internals, GPL, Top 8@node Tips, GNU Emacs Internals, GPL, Top
@@ -28,7 +29,7 @@ all.
28* Compilation Tips:: Making compiled code run fast. 29* Compilation Tips:: Making compiled code run fast.
29* Warning Tips:: Turning off compiler warnings. 30* Warning Tips:: Turning off compiler warnings.
30* Documentation Tips:: Writing readable documentation strings. 31* Documentation Tips:: Writing readable documentation strings.
31* Comment Tips:: Conventions for writing comments. 32* Comment Tips:: Conventions for writing comments.
32* Library Headers:: Standard headers for library packages. 33* Library Headers:: Standard headers for library packages.
33@end menu 34@end menu
34 35
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index 052d83eacd7..4c0ae27c043 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -164,7 +164,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
164 files are made. 164 files are made.
165* Buffers:: Creating and using buffer objects. 165* Buffers:: Creating and using buffer objects.
166* Windows:: Manipulating windows and displaying buffers. 166* Windows:: Manipulating windows and displaying buffers.
167* Frames:: Making multiple system-level windows. 167* Frames:: Making multiple system-level windows.
168* Positions:: Buffer positions and motion functions. 168* Positions:: Buffer positions and motion functions.
169* Markers:: Markers represent positions and update 169* Markers:: Markers represent positions and update
170 automatically when the text is changed. 170 automatically when the text is changed.
@@ -176,7 +176,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
176* Abbrevs:: How Abbrev mode works, and its data structures. 176* Abbrevs:: How Abbrev mode works, and its data structures.
177 177
178* Processes:: Running and communicating with subprocesses. 178* Processes:: Running and communicating with subprocesses.
179* Display:: Features for controlling the screen display. 179* Display:: Features for controlling the screen display.
180* System Interface:: Getting the user id, system type, environment 180* System Interface:: Getting the user id, system type, environment
181 variables, and other such things. 181 variables, and other such things.
182 182
@@ -311,10 +311,10 @@ Editing Types
311Numbers 311Numbers
312 312
313* Integer Basics:: Representation and range of integers. 313* Integer Basics:: Representation and range of integers.
314* Float Basics:: Representation and range of floating point. 314* Float Basics:: Representation and range of floating point.
315* Predicates on Numbers:: Testing for numbers. 315* Predicates on Numbers:: Testing for numbers.
316* Comparison of Numbers:: Equality and inequality predicates. 316* Comparison of Numbers:: Equality and inequality predicates.
317* Numeric Conversions:: Converting float to integer and vice versa. 317* Numeric Conversions:: Converting float to integer and vice versa.
318* Arithmetic Operations:: How to add, subtract, multiply and divide. 318* Arithmetic Operations:: How to add, subtract, multiply and divide.
319* Rounding Operations:: Explicitly rounding floating point numbers. 319* Rounding Operations:: Explicitly rounding floating point numbers.
320* Bitwise Operations:: Logical and, or, not, shifting. 320* Bitwise Operations:: Logical and, or, not, shifting.
@@ -331,7 +331,7 @@ Strings and Characters
331* String Conversion:: Converting to and from characters and strings. 331* String Conversion:: Converting to and from characters and strings.
332* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 332* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
333* Case Conversion:: Case conversion functions. 333* Case Conversion:: Case conversion functions.
334* Case Tables:: Customizing case conversion. 334* Case Tables:: Customizing case conversion.
335 335
336Lists 336Lists
337 337
@@ -399,7 +399,7 @@ Kinds of Forms
399* Symbol Forms:: Symbols evaluate as variables. 399* Symbol Forms:: Symbols evaluate as variables.
400* Classifying Lists:: How to distinguish various sorts of list forms. 400* Classifying Lists:: How to distinguish various sorts of list forms.
401* Function Indirection:: When a symbol appears as the car of a list, 401* Function Indirection:: When a symbol appears as the car of a list,
402 we find the real function via the symbol. 402 we find the real function via the symbol.
403* Function Forms:: Forms that call functions. 403* Function Forms:: Forms that call functions.
404* Macro Forms:: Forms that call macros. 404* Macro Forms:: Forms that call macros.
405* Special Forms:: "Special forms" are idiosyncratic primitives, 405* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -480,9 +480,9 @@ Functions
480* Function Cells:: Accessing or setting the function definition 480* Function Cells:: Accessing or setting the function definition
481 of a symbol. 481 of a symbol.
482* Obsolete Functions:: Declaring functions obsolete. 482* Obsolete Functions:: Declaring functions obsolete.
483* Inline Functions:: Defining functions that the compiler 483* Inline Functions:: Defining functions that the compiler
484 will open code. 484 will open code.
485* Declaring Functions:: Telling the compiler that a function is defined. 485* Declaring Functions:: Telling the compiler that a function is defined.
486* Function Safety:: Determining whether a function is safe to call. 486* Function Safety:: Determining whether a function is safe to call.
487* Related Topics:: Cross-references to specific Lisp primitives 487* Related Topics:: Cross-references to specific Lisp primitives
488 that have a special bearing on how 488 that have a special bearing on how
@@ -542,9 +542,9 @@ Loading
542* Repeated Loading:: Precautions about loading a file twice. 542* Repeated Loading:: Precautions about loading a file twice.
543* Named Features:: Loading a library if it isn't already loaded. 543* Named Features:: Loading a library if it isn't already loaded.
544* Where Defined:: Finding which file defined a certain symbol. 544* Where Defined:: Finding which file defined a certain symbol.
545* Unloading:: How to "unload" a library that was loaded. 545* Unloading:: How to "unload" a library that was loaded.
546* Hooks for Loading:: Providing code to be run when 546* Hooks for Loading:: Providing code to be run when
547 particular libraries are loaded. 547 particular libraries are loaded.
548 548
549Byte Compilation 549Byte Compilation
550 550
@@ -554,7 +554,7 @@ Byte Compilation
554* Dynamic Loading:: Dynamic loading of individual functions. 554* Dynamic Loading:: Dynamic loading of individual functions.
555* Eval During Compile:: Code to be evaluated when you compile. 555* Eval During Compile:: Code to be evaluated when you compile.
556* Compiler Errors:: Handling compiler error messages. 556* Compiler Errors:: Handling compiler error messages.
557* Byte-Code Objects:: The data type used for byte-compiled functions. 557* Byte-Code Objects:: The data type used for byte-compiled functions.
558* Disassembly:: Disassembling byte-code; how to read byte-code. 558* Disassembly:: Disassembling byte-code; how to read byte-code.
559 559
560Advising Emacs Lisp Functions 560Advising Emacs Lisp Functions
@@ -583,7 +583,7 @@ Debugging Lisp Programs
583The Lisp Debugger 583The Lisp Debugger
584 584
585* Error Debugging:: Entering the debugger when an error happens. 585* Error Debugging:: Entering the debugger when an error happens.
586* Infinite Loops:: Stopping and debugging a program that doesn't exit. 586* Infinite Loops:: Stopping and debugging a program that doesn't exit.
587* Function Debugging:: Entering it when a certain function is called. 587* Function Debugging:: Entering it when a certain function is called.
588* Explicit Debug:: Entering it at a certain point in the program. 588* Explicit Debug:: Entering it at a certain point in the program.
589* Using Debugger:: What the debugger does; what you see while in it. 589* Using Debugger:: What the debugger does; what you see while in it.
@@ -593,24 +593,24 @@ The Lisp Debugger
593 593
594Edebug 594Edebug
595 595
596* Using Edebug:: Introduction to use of Edebug. 596* Using Edebug:: Introduction to use of Edebug.
597* Instrumenting:: You must instrument your code 597* Instrumenting:: You must instrument your code
598 in order to debug it with Edebug. 598 in order to debug it with Edebug.
599* Edebug Execution Modes:: Execution modes, stopping more or less often. 599* Edebug Execution Modes:: Execution modes, stopping more or less often.
600* Jumping:: Commands to jump to a specified place. 600* Jumping:: Commands to jump to a specified place.
601* Edebug Misc:: Miscellaneous commands. 601* Edebug Misc:: Miscellaneous commands.
602* Breaks:: Setting breakpoints to make the program stop. 602* Breaks:: Setting breakpoints to make the program stop.
603* Trapping Errors:: Trapping errors with Edebug. 603* Trapping Errors:: Trapping errors with Edebug.
604* Edebug Views:: Views inside and outside of Edebug. 604* Edebug Views:: Views inside and outside of Edebug.
605* Edebug Eval:: Evaluating expressions within Edebug. 605* Edebug Eval:: Evaluating expressions within Edebug.
606* Eval List:: Expressions whose values are displayed 606* Eval List:: Expressions whose values are displayed
607 each time you enter Edebug. 607 each time you enter Edebug.
608* Printing in Edebug:: Customization of printing. 608* Printing in Edebug:: Customization of printing.
609* Trace Buffer:: How to produce trace output in a buffer. 609* Trace Buffer:: How to produce trace output in a buffer.
610* Coverage Testing:: How to test evaluation coverage. 610* Coverage Testing:: How to test evaluation coverage.
611* The Outside Context:: Data that Edebug saves and restores. 611* The Outside Context:: Data that Edebug saves and restores.
612* Edebug and Macros:: Specifying how to handle macro calls. 612* Edebug and Macros:: Specifying how to handle macro calls.
613* Edebug Options:: Option variables for customizing Edebug. 613* Edebug Options:: Option variables for customizing Edebug.
614 614
615Breaks 615Breaks
616 616
@@ -627,8 +627,8 @@ The Outside Context
627Edebug and Macros 627Edebug and Macros
628 628
629* Instrumenting Macro Calls::The basic problem. 629* Instrumenting Macro Calls::The basic problem.
630* Specification List:: How to specify complex patterns of evaluation. 630* Specification List:: How to specify complex patterns of evaluation.
631* Backtracking:: What Edebug does when matching fails. 631* Backtracking:: What Edebug does when matching fails.
632* Specification Examples:: To help understand specifications. 632* Specification Examples:: To help understand specifications.
633 633
634Debugging Invalid Lisp Syntax 634Debugging Invalid Lisp Syntax
@@ -653,13 +653,13 @@ Minibuffers
653* Intro to Minibuffers:: Basic information about minibuffers. 653* Intro to Minibuffers:: Basic information about minibuffers.
654* Text from Minibuffer:: How to read a straight text string. 654* Text from Minibuffer:: How to read a straight text string.
655* Object from Minibuffer:: How to read a Lisp object or expression. 655* Object from Minibuffer:: How to read a Lisp object or expression.
656* Minibuffer History:: Recording previous minibuffer inputs 656* Minibuffer History:: Recording previous minibuffer inputs
657 so the user can reuse them. 657 so the user can reuse them.
658* Initial Input:: Specifying initial contents for the minibuffer. 658* Initial Input:: Specifying initial contents for the minibuffer.
659* Completion:: How to invoke and customize completion. 659* Completion:: How to invoke and customize completion.
660* Yes-or-No Queries:: Asking a question with a simple answer. 660* Yes-or-No Queries:: Asking a question with a simple answer.
661* Multiple Queries:: Asking a series of similar questions. 661* Multiple Queries:: Asking a series of similar questions.
662* Reading a Password:: Reading a password from the terminal. 662* Reading a Password:: Reading a password from the terminal.
663* Minibuffer Commands:: Commands used as key bindings in minibuffers. 663* Minibuffer Commands:: Commands used as key bindings in minibuffers.
664* Minibuffer Contents:: How such commands access the minibuffer text. 664* Minibuffer Contents:: How such commands access the minibuffer text.
665* Minibuffer Windows:: Operating on the special minibuffer windows. 665* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -687,7 +687,7 @@ Command Loop
687* Distinguish Interactive:: Making a command distinguish interactive calls. 687* Distinguish Interactive:: Making a command distinguish interactive calls.
688* Command Loop Info:: Variables set by the command loop for you to examine. 688* Command Loop Info:: Variables set by the command loop for you to examine.
689* Adjusting Point:: Adjustment of point after a command. 689* Adjusting Point:: Adjustment of point after a command.
690* Input Events:: What input looks like when you read it. 690* Input Events:: What input looks like when you read it.
691* Reading Input:: How to read input events from the keyboard or mouse. 691* Reading Input:: How to read input events from the keyboard or mouse.
692* Special Events:: Events processed immediately and individually. 692* Special Events:: Events processed immediately and individually.
693* Waiting:: Waiting for user input or elapsed time. 693* Waiting:: Waiting for user input or elapsed time.
@@ -721,7 +721,7 @@ Input Events
721* Event Examples:: Examples of the lists for mouse events. 721* Event Examples:: Examples of the lists for mouse events.
722* Classifying Events:: Finding the modifier keys in an event symbol. 722* Classifying Events:: Finding the modifier keys in an event symbol.
723 Event types. 723 Event types.
724* Accessing Mouse:: Functions to extract info from mouse events. 724* Accessing Mouse:: Functions to extract info from mouse events.
725* Accessing Scroll:: Functions to get info from scroll bar events. 725* Accessing Scroll:: Functions to get info from scroll bar events.
726* Strings of Events:: Special considerations for putting 726* Strings of Events:: Special considerations for putting
727 keyboard character events in a string. 727 keyboard character events in a string.
@@ -871,9 +871,9 @@ Files
871* Changing Files:: Renaming files, changing protection, etc. 871* Changing Files:: Renaming files, changing protection, etc.
872* File Names:: Decomposing and expanding file names. 872* File Names:: Decomposing and expanding file names.
873* Contents of Directories:: Getting a list of the files in a directory. 873* Contents of Directories:: Getting a list of the files in a directory.
874* Create/Delete Dirs:: Creating and Deleting Directories. 874* Create/Delete Dirs:: Creating and Deleting Directories.
875* Magic File Names:: Defining "magic" special handling 875* Magic File Names:: Defining "magic" special handling
876 for certain file names. 876 for certain file names.
877* Format Conversion:: Conversion to and from various file formats. 877* Format Conversion:: Conversion to and from various file formats.
878 878
879Visiting Files 879Visiting Files
@@ -885,7 +885,7 @@ Information about Files
885 885
886* Testing Accessibility:: Is a given file readable? Writable? 886* Testing Accessibility:: Is a given file readable? Writable?
887* Kinds of Files:: Is it a directory? A symbolic link? 887* Kinds of Files:: Is it a directory? A symbolic link?
888* Truenames:: Eliminating symbolic links from a file name. 888* Truenames:: Eliminating symbolic links from a file name.
889* File Attributes:: How large is it? Any other names? Etc. 889* File Attributes:: How large is it? Any other names? Etc.
890* Locating Files:: How to find a file in standard places. 890* Locating Files:: How to find a file in standard places.
891 891
@@ -955,8 +955,8 @@ Windows
955* Buffers and Windows:: Each window displays the contents of a buffer. 955* Buffers and Windows:: Each window displays the contents of a buffer.
956* Displaying Buffers:: Higher-level functions for displaying a buffer 956* Displaying Buffers:: Higher-level functions for displaying a buffer
957 and choosing a window for it. 957 and choosing a window for it.
958* Choosing Window:: How to choose a window for displaying a buffer. 958* Choosing Window:: How to choose a window for displaying a buffer.
959* Dedicated Windows:: How to avoid displaying another buffer in 959* Dedicated Windows:: How to avoid displaying another buffer in
960 a specific window. 960 a specific window.
961* Window Point:: Each window has its own location of point. 961* Window Point:: Each window has its own location of point.
962* Window Start and End:: Buffer positions indicating which text is 962* Window Start and End:: Buffer positions indicating which text is
@@ -976,37 +976,37 @@ Windows
976 976
977Frames 977Frames
978 978
979* Creating Frames:: Creating additional frames. 979* Creating Frames:: Creating additional frames.
980* Multiple Terminals:: Displaying on several different devices. 980* Multiple Terminals:: Displaying on several different devices.
981* Frame Parameters:: Controlling frame size, position, font, etc. 981* Frame Parameters:: Controlling frame size, position, font, etc.
982* Terminal Parameters:: Parameters common for all frames on terminal. 982* Terminal Parameters:: Parameters common for all frames on terminal.
983* Frame Titles:: Automatic updating of frame titles. 983* Frame Titles:: Automatic updating of frame titles.
984* Deleting Frames:: Frames last until explicitly deleted. 984* Deleting Frames:: Frames last until explicitly deleted.
985* Finding All Frames:: How to examine all existing frames. 985* Finding All Frames:: How to examine all existing frames.
986* Frames and Windows:: A frame contains windows; 986* Frames and Windows:: A frame contains windows;
987 display of text always works through windows. 987 display of text always works through windows.
988* Minibuffers and Frames:: How a frame finds the minibuffer to use. 988* Minibuffers and Frames:: How a frame finds the minibuffer to use.
989* Input Focus:: Specifying the selected frame. 989* Input Focus:: Specifying the selected frame.
990* Visibility of Frames:: Frames may be visible or invisible, or icons. 990* Visibility of Frames:: Frames may be visible or invisible, or icons.
991* Raising and Lowering:: Raising a frame makes it hide other windows; 991* Raising and Lowering:: Raising a frame makes it hide other windows;
992 lowering it makes the others hide it. 992 lowering it makes the others hide it.
993* Frame Configurations:: Saving the state of all frames. 993* Frame Configurations:: Saving the state of all frames.
994* Mouse Tracking:: Getting events that say when the mouse moves. 994* Mouse Tracking:: Getting events that say when the mouse moves.
995* Mouse Position:: Asking where the mouse is, or moving it. 995* Mouse Position:: Asking where the mouse is, or moving it.
996* Pop-Up Menus:: Displaying a menu for the user to select from. 996* Pop-Up Menus:: Displaying a menu for the user to select from.
997* Dialog Boxes:: Displaying a box to ask yes or no. 997* Dialog Boxes:: Displaying a box to ask yes or no.
998* Pointer Shape:: Specifying the shape of the mouse pointer. 998* Pointer Shape:: Specifying the shape of the mouse pointer.
999* Window System Selections::Transferring text to and from other X clients. 999* Window System Selections::Transferring text to and from other X clients.
1000* Drag and Drop:: Internals of Drag-and-Drop implementation. 1000* Drag and Drop:: Internals of Drag-and-Drop implementation.
1001* Color Names:: Getting the definitions of color names. 1001* Color Names:: Getting the definitions of color names.
1002* Text Terminal Colors:: Defining colors for text-only terminals. 1002* Text Terminal Colors:: Defining colors for text-only terminals.
1003* Resources:: Getting resource values from the server. 1003* Resources:: Getting resource values from the server.
1004* Display Feature Testing:: Determining the features of a terminal. 1004* Display Feature Testing:: Determining the features of a terminal.
1005 1005
1006Frame Parameters 1006Frame Parameters
1007 1007
1008* Parameter Access:: How to change a frame's parameters. 1008* Parameter Access:: How to change a frame's parameters.
1009* Initial Parameters:: Specifying frame parameters when you make a frame. 1009* Initial Parameters:: Specifying frame parameters when you make a frame.
1010* Window Frame Parameters:: List of frame parameters for window systems. 1010* Window Frame Parameters:: List of frame parameters for window systems.
1011* Size and Position:: Changing the size and position of a frame. 1011* Size and Position:: Changing the size and position of a frame.
1012* Geometry:: Parsing geometry specifications. 1012* Geometry:: Parsing geometry specifications.
@@ -1065,7 +1065,7 @@ Text
1065 later use. 1065 later use.
1066* Undo:: Undoing changes to the text of a buffer. 1066* Undo:: Undoing changes to the text of a buffer.
1067* Maintaining Undo:: How to enable and disable undo information. 1067* Maintaining Undo:: How to enable and disable undo information.
1068 How to control how much information is kept. 1068 How to control how much information is kept.
1069* Filling:: Functions for explicit filling. 1069* Filling:: Functions for explicit filling.
1070* Margins:: How to specify margins for filling commands. 1070* Margins:: How to specify margins for filling commands.
1071* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1071* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1091,7 +1091,7 @@ The Kill Ring
1091* Kill Functions:: Functions that kill text. 1091* Kill Functions:: Functions that kill text.
1092* Yanking:: How yanking is done. 1092* Yanking:: How yanking is done.
1093* Yank Commands:: Commands that access the kill ring. 1093* Yank Commands:: Commands that access the kill ring.
1094* Low-Level Kill Ring:: Functions and variables for kill ring access. 1094* Low-Level Kill Ring:: Functions and variables for kill ring access.
1095* Internals of Kill Ring:: Variables that hold kill ring data. 1095* Internals of Kill Ring:: Variables that hold kill ring data.
1096 1096
1097Indentation 1097Indentation
@@ -1106,9 +1106,9 @@ Indentation
1106Text Properties 1106Text Properties
1107 1107
1108* Examining Properties:: Looking at the properties of one character. 1108* Examining Properties:: Looking at the properties of one character.
1109* Changing Properties:: Setting the properties of a range of text. 1109* Changing Properties:: Setting the properties of a range of text.
1110* Property Search:: Searching for where a property changes value. 1110* Property Search:: Searching for where a property changes value.
1111* Special Properties:: Particular properties with special meanings. 1111* Special Properties:: Particular properties with special meanings.
1112* Format Properties:: Properties for representing formatting of text. 1112* Format Properties:: Properties for representing formatting of text.
1113* Sticky Properties:: How inserted text gets properties from 1113* Sticky Properties:: How inserted text gets properties from
1114 neighboring text. 1114 neighboring text.
@@ -1118,8 +1118,8 @@ Text Properties
1118 do something when you click on them. 1118 do something when you click on them.
1119* Fields:: The @code{field} property defines 1119* Fields:: The @code{field} property defines
1120 fields within the buffer. 1120 fields within the buffer.
1121* Not Intervals:: Why text properties do not use 1121* Not Intervals:: Why text properties do not use
1122 Lisp-visible text intervals. 1122 Lisp-visible text intervals.
1123 1123
1124Non-@acronym{ASCII} Characters 1124Non-@acronym{ASCII} Characters
1125 1125
@@ -1162,7 +1162,7 @@ Searching and Matching
1162* POSIX Regexps:: Searching POSIX-style for the longest match. 1162* POSIX Regexps:: Searching POSIX-style for the longest match.
1163* Match Data:: Finding out which part of the text matched, 1163* Match Data:: Finding out which part of the text matched,
1164 after a string or regexp search. 1164 after a string or regexp search.
1165* Search and Replace:: Commands that loop, searching and replacing. 1165* Search and Replace:: Commands that loop, searching and replacing.
1166* Standard Regexps:: Useful regexps for finding sentences, pages,... 1166* Standard Regexps:: Useful regexps for finding sentences, pages,...
1167 1167
1168Regular Expressions 1168Regular Expressions
@@ -1179,9 +1179,9 @@ Syntax of Regular Expressions
1179 1179
1180The Match Data 1180The Match Data
1181 1181
1182* Replacing Match:: Replacing a substring that was matched. 1182* Replacing Match:: Replacing a substring that was matched.
1183* Simple Match Data:: Accessing single items of match data, 1183* Simple Match Data:: Accessing single items of match data,
1184 such as where a particular subexpression started. 1184 such as where a particular subexpression started.
1185* Entire Match Data:: Accessing the entire match data at once, as a list. 1185* Entire Match Data:: Accessing the entire match data at once, as a list.
1186* Saving Match Data:: Saving and restoring the match data. 1186* Saving Match Data:: Saving and restoring the match data.
1187 1187
@@ -1191,7 +1191,7 @@ Syntax Tables
1191* Syntax Descriptors:: How characters are classified. 1191* Syntax Descriptors:: How characters are classified.
1192* Syntax Table Functions:: How to create, examine and alter syntax tables. 1192* Syntax Table Functions:: How to create, examine and alter syntax tables.
1193* Syntax Properties:: Overriding syntax with text properties. 1193* Syntax Properties:: Overriding syntax with text properties.
1194* Motion and Syntax:: Moving over characters with certain syntaxes. 1194* Motion and Syntax:: Moving over characters with certain syntaxes.
1195* Parsing Expressions:: Parsing balanced expressions 1195* Parsing Expressions:: Parsing balanced expressions
1196 using the syntax table. 1196 using the syntax table.
1197* Standard Syntax Tables:: Syntax tables used by various major modes. 1197* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1280,10 +1280,10 @@ Emacs Display
1280* Invisible Text:: Hiding part of the buffer text. 1280* Invisible Text:: Hiding part of the buffer text.
1281* Selective Display:: Hiding part of the buffer text (the old way). 1281* Selective Display:: Hiding part of the buffer text (the old way).
1282* Temporary Displays:: Displays that go away automatically. 1282* Temporary Displays:: Displays that go away automatically.
1283* Overlays:: Use overlays to highlight parts of the buffer. 1283* Overlays:: Use overlays to highlight parts of the buffer.
1284* Width:: How wide a character or string is on the screen. 1284* Width:: How wide a character or string is on the screen.
1285* Line Height:: Controlling the height of lines. 1285* Line Height:: Controlling the height of lines.
1286* Faces:: A face defines a graphics style 1286* Faces:: A face defines a graphics style
1287 for text characters: font, colors, etc. 1287 for text characters: font, colors, etc.
1288* Fringes:: Controlling window fringes. 1288* Fringes:: Controlling window fringes.
1289* Scroll Bars:: Controlling vertical scroll bars. 1289* Scroll Bars:: Controlling vertical scroll bars.
@@ -1292,9 +1292,9 @@ Emacs Display
1292* Buttons:: Adding clickable buttons to Emacs buffers. 1292* Buttons:: Adding clickable buttons to Emacs buffers.
1293* Abstract Display:: Emacs' Widget for Object Collections. 1293* Abstract Display:: Emacs' Widget for Object Collections.
1294* Blinking:: How Emacs shows the matching open parenthesis. 1294* Blinking:: How Emacs shows the matching open parenthesis.
1295* Usual Display:: The usual conventions for displaying 1295* Usual Display:: The usual conventions for displaying
1296 nonprinting chars. 1296 nonprinting chars.
1297* Display Tables:: How to specify other conventions. 1297* Display Tables:: How to specify other conventions.
1298* Beeping:: Audible signal to the user. 1298* Beeping:: Audible signal to the user.
1299* Window Systems:: Which window system is being used. 1299* Window Systems:: Which window system is being used.
1300 1300
@@ -1316,7 +1316,7 @@ Overlays
1316 1316
1317* Managing Overlays:: Creating and moving overlays. 1317* Managing Overlays:: Creating and moving overlays.
1318* Overlay Properties:: How to read and set properties. 1318* Overlay Properties:: How to read and set properties.
1319 What properties do to the screen display. 1319 What properties do to the screen display.
1320* Finding Overlays:: Searching for overlays. 1320* Finding Overlays:: Searching for overlays.
1321 1321
1322Faces 1322Faces
@@ -1396,14 +1396,14 @@ Operating System Interface
1396* Getting Out:: How exiting works (permanent or temporary). 1396* Getting Out:: How exiting works (permanent or temporary).
1397* System Environment:: Distinguish the name and kind of system. 1397* System Environment:: Distinguish the name and kind of system.
1398* User Identification:: Finding the name and user id of the user. 1398* User Identification:: Finding the name and user id of the user.
1399* Time of Day:: Getting the current time. 1399* Time of Day:: Getting the current time.
1400* Time Conversion:: Converting a time from numeric form to 1400* Time Conversion:: Converting a time from numeric form to
1401 calendrical data and vice versa. 1401 calendrical data and vice versa.
1402* Time Parsing:: Converting a time from numeric form to text 1402* Time Parsing:: Converting a time from numeric form to text
1403 and vice versa. 1403 and vice versa.
1404* Processor Run Time:: Getting the run time used by Emacs. 1404* Processor Run Time:: Getting the run time used by Emacs.
1405* Time Calculations:: Adding, subtracting, comparing times, etc. 1405* Time Calculations:: Adding, subtracting, comparing times, etc.
1406* Timers:: Setting a timer to call a function at a 1406* Timers:: Setting a timer to call a function at a
1407 certain time. 1407 certain time.
1408* Idle Timers:: Setting a timer to call a function when Emacs has 1408* Idle Timers:: Setting a timer to call a function when Emacs has
1409 been idle for a certain length of time. 1409 been idle for a certain length of time.
@@ -1430,8 +1430,8 @@ Getting Out of Emacs
1430 1430
1431Terminal Input 1431Terminal Input
1432 1432
1433* Input Modes:: Options for how input is processed. 1433* Input Modes:: Options for how input is processed.
1434* Recording Input:: Saving histories of recent or all input events. 1434* Recording Input:: Saving histories of recent or all input events.
1435 1435
1436Tips and Conventions 1436Tips and Conventions
1437 1437
@@ -1441,7 +1441,7 @@ Tips and Conventions
1441* Compilation Tips:: Making compiled code run fast. 1441* Compilation Tips:: Making compiled code run fast.
1442* Warning Tips:: Turning off compiler warnings. 1442* Warning Tips:: Turning off compiler warnings.
1443* Documentation Tips:: Writing readable documentation strings. 1443* Documentation Tips:: Writing readable documentation strings.
1444* Comment Tips:: Conventions for writing comments. 1444* Comment Tips:: Conventions for writing comments.
1445* Library Headers:: Standard headers for library packages. 1445* Library Headers:: Standard headers for library packages.
1446 1446
1447GNU Emacs Internals 1447GNU Emacs Internals
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index d6358f3ecfc..195b89ce3f6 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -163,7 +163,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
163 files are made. 163 files are made.
164* Buffers:: Creating and using buffer objects. 164* Buffers:: Creating and using buffer objects.
165* Windows:: Manipulating windows and displaying buffers. 165* Windows:: Manipulating windows and displaying buffers.
166* Frames:: Making multiple system-level windows. 166* Frames:: Making multiple system-level windows.
167* Positions:: Buffer positions and motion functions. 167* Positions:: Buffer positions and motion functions.
168* Markers:: Markers represent positions and update 168* Markers:: Markers represent positions and update
169 automatically when the text is changed. 169 automatically when the text is changed.
@@ -175,7 +175,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
175* Abbrevs:: How Abbrev mode works, and its data structures. 175* Abbrevs:: How Abbrev mode works, and its data structures.
176 176
177* Processes:: Running and communicating with subprocesses. 177* Processes:: Running and communicating with subprocesses.
178* Display:: Features for controlling the screen display. 178* Display:: Features for controlling the screen display.
179* System Interface:: Getting the user id, system type, environment 179* System Interface:: Getting the user id, system type, environment
180 variables, and other such things. 180 variables, and other such things.
181 181
@@ -310,10 +310,10 @@ Editing Types
310Numbers 310Numbers
311 311
312* Integer Basics:: Representation and range of integers. 312* Integer Basics:: Representation and range of integers.
313* Float Basics:: Representation and range of floating point. 313* Float Basics:: Representation and range of floating point.
314* Predicates on Numbers:: Testing for numbers. 314* Predicates on Numbers:: Testing for numbers.
315* Comparison of Numbers:: Equality and inequality predicates. 315* Comparison of Numbers:: Equality and inequality predicates.
316* Numeric Conversions:: Converting float to integer and vice versa. 316* Numeric Conversions:: Converting float to integer and vice versa.
317* Arithmetic Operations:: How to add, subtract, multiply and divide. 317* Arithmetic Operations:: How to add, subtract, multiply and divide.
318* Rounding Operations:: Explicitly rounding floating point numbers. 318* Rounding Operations:: Explicitly rounding floating point numbers.
319* Bitwise Operations:: Logical and, or, not, shifting. 319* Bitwise Operations:: Logical and, or, not, shifting.
@@ -330,7 +330,7 @@ Strings and Characters
330* String Conversion:: Converting to and from characters and strings. 330* String Conversion:: Converting to and from characters and strings.
331* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 331* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
332* Case Conversion:: Case conversion functions. 332* Case Conversion:: Case conversion functions.
333* Case Tables:: Customizing case conversion. 333* Case Tables:: Customizing case conversion.
334 334
335Lists 335Lists
336 336
@@ -398,7 +398,7 @@ Kinds of Forms
398* Symbol Forms:: Symbols evaluate as variables. 398* Symbol Forms:: Symbols evaluate as variables.
399* Classifying Lists:: How to distinguish various sorts of list forms. 399* Classifying Lists:: How to distinguish various sorts of list forms.
400* Function Indirection:: When a symbol appears as the car of a list, 400* Function Indirection:: When a symbol appears as the car of a list,
401 we find the real function via the symbol. 401 we find the real function via the symbol.
402* Function Forms:: Forms that call functions. 402* Function Forms:: Forms that call functions.
403* Macro Forms:: Forms that call macros. 403* Macro Forms:: Forms that call macros.
404* Special Forms:: "Special forms" are idiosyncratic primitives, 404* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -479,9 +479,9 @@ Functions
479* Function Cells:: Accessing or setting the function definition 479* Function Cells:: Accessing or setting the function definition
480 of a symbol. 480 of a symbol.
481* Obsolete Functions:: Declaring functions obsolete. 481* Obsolete Functions:: Declaring functions obsolete.
482* Inline Functions:: Defining functions that the compiler 482* Inline Functions:: Defining functions that the compiler
483 will open code. 483 will open code.
484* Declaring Functions:: Telling the compiler that a function is defined. 484* Declaring Functions:: Telling the compiler that a function is defined.
485* Function Safety:: Determining whether a function is safe to call. 485* Function Safety:: Determining whether a function is safe to call.
486* Related Topics:: Cross-references to specific Lisp primitives 486* Related Topics:: Cross-references to specific Lisp primitives
487 that have a special bearing on how 487 that have a special bearing on how
@@ -541,9 +541,9 @@ Loading
541* Repeated Loading:: Precautions about loading a file twice. 541* Repeated Loading:: Precautions about loading a file twice.
542* Named Features:: Loading a library if it isn't already loaded. 542* Named Features:: Loading a library if it isn't already loaded.
543* Where Defined:: Finding which file defined a certain symbol. 543* Where Defined:: Finding which file defined a certain symbol.
544* Unloading:: How to "unload" a library that was loaded. 544* Unloading:: How to "unload" a library that was loaded.
545* Hooks for Loading:: Providing code to be run when 545* Hooks for Loading:: Providing code to be run when
546 particular libraries are loaded. 546 particular libraries are loaded.
547 547
548Byte Compilation 548Byte Compilation
549 549
@@ -553,7 +553,7 @@ Byte Compilation
553* Dynamic Loading:: Dynamic loading of individual functions. 553* Dynamic Loading:: Dynamic loading of individual functions.
554* Eval During Compile:: Code to be evaluated when you compile. 554* Eval During Compile:: Code to be evaluated when you compile.
555* Compiler Errors:: Handling compiler error messages. 555* Compiler Errors:: Handling compiler error messages.
556* Byte-Code Objects:: The data type used for byte-compiled functions. 556* Byte-Code Objects:: The data type used for byte-compiled functions.
557* Disassembly:: Disassembling byte-code; how to read byte-code. 557* Disassembly:: Disassembling byte-code; how to read byte-code.
558 558
559Advising Emacs Lisp Functions 559Advising Emacs Lisp Functions
@@ -582,7 +582,7 @@ Debugging Lisp Programs
582The Lisp Debugger 582The Lisp Debugger
583 583
584* Error Debugging:: Entering the debugger when an error happens. 584* Error Debugging:: Entering the debugger when an error happens.
585* Infinite Loops:: Stopping and debugging a program that doesn't exit. 585* Infinite Loops:: Stopping and debugging a program that doesn't exit.
586* Function Debugging:: Entering it when a certain function is called. 586* Function Debugging:: Entering it when a certain function is called.
587* Explicit Debug:: Entering it at a certain point in the program. 587* Explicit Debug:: Entering it at a certain point in the program.
588* Using Debugger:: What the debugger does; what you see while in it. 588* Using Debugger:: What the debugger does; what you see while in it.
@@ -592,24 +592,24 @@ The Lisp Debugger
592 592
593Edebug 593Edebug
594 594
595* Using Edebug:: Introduction to use of Edebug. 595* Using Edebug:: Introduction to use of Edebug.
596* Instrumenting:: You must instrument your code 596* Instrumenting:: You must instrument your code
597 in order to debug it with Edebug. 597 in order to debug it with Edebug.
598* Edebug Execution Modes:: Execution modes, stopping more or less often. 598* Edebug Execution Modes:: Execution modes, stopping more or less often.
599* Jumping:: Commands to jump to a specified place. 599* Jumping:: Commands to jump to a specified place.
600* Edebug Misc:: Miscellaneous commands. 600* Edebug Misc:: Miscellaneous commands.
601* Breaks:: Setting breakpoints to make the program stop. 601* Breaks:: Setting breakpoints to make the program stop.
602* Trapping Errors:: Trapping errors with Edebug. 602* Trapping Errors:: Trapping errors with Edebug.
603* Edebug Views:: Views inside and outside of Edebug. 603* Edebug Views:: Views inside and outside of Edebug.
604* Edebug Eval:: Evaluating expressions within Edebug. 604* Edebug Eval:: Evaluating expressions within Edebug.
605* Eval List:: Expressions whose values are displayed 605* Eval List:: Expressions whose values are displayed
606 each time you enter Edebug. 606 each time you enter Edebug.
607* Printing in Edebug:: Customization of printing. 607* Printing in Edebug:: Customization of printing.
608* Trace Buffer:: How to produce trace output in a buffer. 608* Trace Buffer:: How to produce trace output in a buffer.
609* Coverage Testing:: How to test evaluation coverage. 609* Coverage Testing:: How to test evaluation coverage.
610* The Outside Context:: Data that Edebug saves and restores. 610* The Outside Context:: Data that Edebug saves and restores.
611* Edebug and Macros:: Specifying how to handle macro calls. 611* Edebug and Macros:: Specifying how to handle macro calls.
612* Edebug Options:: Option variables for customizing Edebug. 612* Edebug Options:: Option variables for customizing Edebug.
613 613
614Breaks 614Breaks
615 615
@@ -626,8 +626,8 @@ The Outside Context
626Edebug and Macros 626Edebug and Macros
627 627
628* Instrumenting Macro Calls::The basic problem. 628* Instrumenting Macro Calls::The basic problem.
629* Specification List:: How to specify complex patterns of evaluation. 629* Specification List:: How to specify complex patterns of evaluation.
630* Backtracking:: What Edebug does when matching fails. 630* Backtracking:: What Edebug does when matching fails.
631* Specification Examples:: To help understand specifications. 631* Specification Examples:: To help understand specifications.
632 632
633Debugging Invalid Lisp Syntax 633Debugging Invalid Lisp Syntax
@@ -652,13 +652,13 @@ Minibuffers
652* Intro to Minibuffers:: Basic information about minibuffers. 652* Intro to Minibuffers:: Basic information about minibuffers.
653* Text from Minibuffer:: How to read a straight text string. 653* Text from Minibuffer:: How to read a straight text string.
654* Object from Minibuffer:: How to read a Lisp object or expression. 654* Object from Minibuffer:: How to read a Lisp object or expression.
655* Minibuffer History:: Recording previous minibuffer inputs 655* Minibuffer History:: Recording previous minibuffer inputs
656 so the user can reuse them. 656 so the user can reuse them.
657* Initial Input:: Specifying initial contents for the minibuffer. 657* Initial Input:: Specifying initial contents for the minibuffer.
658* Completion:: How to invoke and customize completion. 658* Completion:: How to invoke and customize completion.
659* Yes-or-No Queries:: Asking a question with a simple answer. 659* Yes-or-No Queries:: Asking a question with a simple answer.
660* Multiple Queries:: Asking a series of similar questions. 660* Multiple Queries:: Asking a series of similar questions.
661* Reading a Password:: Reading a password from the terminal. 661* Reading a Password:: Reading a password from the terminal.
662* Minibuffer Commands:: Commands used as key bindings in minibuffers. 662* Minibuffer Commands:: Commands used as key bindings in minibuffers.
663* Minibuffer Contents:: How such commands access the minibuffer text. 663* Minibuffer Contents:: How such commands access the minibuffer text.
664* Minibuffer Windows:: Operating on the special minibuffer windows. 664* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -686,7 +686,7 @@ Command Loop
686* Distinguish Interactive:: Making a command distinguish interactive calls. 686* Distinguish Interactive:: Making a command distinguish interactive calls.
687* Command Loop Info:: Variables set by the command loop for you to examine. 687* Command Loop Info:: Variables set by the command loop for you to examine.
688* Adjusting Point:: Adjustment of point after a command. 688* Adjusting Point:: Adjustment of point after a command.
689* Input Events:: What input looks like when you read it. 689* Input Events:: What input looks like when you read it.
690* Reading Input:: How to read input events from the keyboard or mouse. 690* Reading Input:: How to read input events from the keyboard or mouse.
691* Special Events:: Events processed immediately and individually. 691* Special Events:: Events processed immediately and individually.
692* Waiting:: Waiting for user input or elapsed time. 692* Waiting:: Waiting for user input or elapsed time.
@@ -720,7 +720,7 @@ Input Events
720* Event Examples:: Examples of the lists for mouse events. 720* Event Examples:: Examples of the lists for mouse events.
721* Classifying Events:: Finding the modifier keys in an event symbol. 721* Classifying Events:: Finding the modifier keys in an event symbol.
722 Event types. 722 Event types.
723* Accessing Mouse:: Functions to extract info from mouse events. 723* Accessing Mouse:: Functions to extract info from mouse events.
724* Accessing Scroll:: Functions to get info from scroll bar events. 724* Accessing Scroll:: Functions to get info from scroll bar events.
725* Strings of Events:: Special considerations for putting 725* Strings of Events:: Special considerations for putting
726 keyboard character events in a string. 726 keyboard character events in a string.
@@ -870,9 +870,9 @@ Files
870* Changing Files:: Renaming files, changing protection, etc. 870* Changing Files:: Renaming files, changing protection, etc.
871* File Names:: Decomposing and expanding file names. 871* File Names:: Decomposing and expanding file names.
872* Contents of Directories:: Getting a list of the files in a directory. 872* Contents of Directories:: Getting a list of the files in a directory.
873* Create/Delete Dirs:: Creating and Deleting Directories. 873* Create/Delete Dirs:: Creating and Deleting Directories.
874* Magic File Names:: Defining "magic" special handling 874* Magic File Names:: Defining "magic" special handling
875 for certain file names. 875 for certain file names.
876* Format Conversion:: Conversion to and from various file formats. 876* Format Conversion:: Conversion to and from various file formats.
877 877
878Visiting Files 878Visiting Files
@@ -884,7 +884,7 @@ Information about Files
884 884
885* Testing Accessibility:: Is a given file readable? Writable? 885* Testing Accessibility:: Is a given file readable? Writable?
886* Kinds of Files:: Is it a directory? A symbolic link? 886* Kinds of Files:: Is it a directory? A symbolic link?
887* Truenames:: Eliminating symbolic links from a file name. 887* Truenames:: Eliminating symbolic links from a file name.
888* File Attributes:: How large is it? Any other names? Etc. 888* File Attributes:: How large is it? Any other names? Etc.
889* Locating Files:: How to find a file in standard places. 889* Locating Files:: How to find a file in standard places.
890 890
@@ -954,8 +954,8 @@ Windows
954* Buffers and Windows:: Each window displays the contents of a buffer. 954* Buffers and Windows:: Each window displays the contents of a buffer.
955* Displaying Buffers:: Higher-level functions for displaying a buffer 955* Displaying Buffers:: Higher-level functions for displaying a buffer
956 and choosing a window for it. 956 and choosing a window for it.
957* Choosing Window:: How to choose a window for displaying a buffer. 957* Choosing Window:: How to choose a window for displaying a buffer.
958* Dedicated Windows:: How to avoid displaying another buffer in 958* Dedicated Windows:: How to avoid displaying another buffer in
959 a specific window. 959 a specific window.
960* Window Point:: Each window has its own location of point. 960* Window Point:: Each window has its own location of point.
961* Window Start and End:: Buffer positions indicating which text is 961* Window Start and End:: Buffer positions indicating which text is
@@ -975,37 +975,37 @@ Windows
975 975
976Frames 976Frames
977 977
978* Creating Frames:: Creating additional frames. 978* Creating Frames:: Creating additional frames.
979* Multiple Terminals:: Displaying on several different devices. 979* Multiple Terminals:: Displaying on several different devices.
980* Frame Parameters:: Controlling frame size, position, font, etc. 980* Frame Parameters:: Controlling frame size, position, font, etc.
981* Terminal Parameters:: Parameters common for all frames on terminal. 981* Terminal Parameters:: Parameters common for all frames on terminal.
982* Frame Titles:: Automatic updating of frame titles. 982* Frame Titles:: Automatic updating of frame titles.
983* Deleting Frames:: Frames last until explicitly deleted. 983* Deleting Frames:: Frames last until explicitly deleted.
984* Finding All Frames:: How to examine all existing frames. 984* Finding All Frames:: How to examine all existing frames.
985* Frames and Windows:: A frame contains windows; 985* Frames and Windows:: A frame contains windows;
986 display of text always works through windows. 986 display of text always works through windows.
987* Minibuffers and Frames:: How a frame finds the minibuffer to use. 987* Minibuffers and Frames:: How a frame finds the minibuffer to use.
988* Input Focus:: Specifying the selected frame. 988* Input Focus:: Specifying the selected frame.
989* Visibility of Frames:: Frames may be visible or invisible, or icons. 989* Visibility of Frames:: Frames may be visible or invisible, or icons.
990* Raising and Lowering:: Raising a frame makes it hide other windows; 990* Raising and Lowering:: Raising a frame makes it hide other windows;
991 lowering it makes the others hide it. 991 lowering it makes the others hide it.
992* Frame Configurations:: Saving the state of all frames. 992* Frame Configurations:: Saving the state of all frames.
993* Mouse Tracking:: Getting events that say when the mouse moves. 993* Mouse Tracking:: Getting events that say when the mouse moves.
994* Mouse Position:: Asking where the mouse is, or moving it. 994* Mouse Position:: Asking where the mouse is, or moving it.
995* Pop-Up Menus:: Displaying a menu for the user to select from. 995* Pop-Up Menus:: Displaying a menu for the user to select from.
996* Dialog Boxes:: Displaying a box to ask yes or no. 996* Dialog Boxes:: Displaying a box to ask yes or no.
997* Pointer Shape:: Specifying the shape of the mouse pointer. 997* Pointer Shape:: Specifying the shape of the mouse pointer.
998* Window System Selections::Transferring text to and from other X clients. 998* Window System Selections::Transferring text to and from other X clients.
999* Drag and Drop:: Internals of Drag-and-Drop implementation. 999* Drag and Drop:: Internals of Drag-and-Drop implementation.
1000* Color Names:: Getting the definitions of color names. 1000* Color Names:: Getting the definitions of color names.
1001* Text Terminal Colors:: Defining colors for text-only terminals. 1001* Text Terminal Colors:: Defining colors for text-only terminals.
1002* Resources:: Getting resource values from the server. 1002* Resources:: Getting resource values from the server.
1003* Display Feature Testing:: Determining the features of a terminal. 1003* Display Feature Testing:: Determining the features of a terminal.
1004 1004
1005Frame Parameters 1005Frame Parameters
1006 1006
1007* Parameter Access:: How to change a frame's parameters. 1007* Parameter Access:: How to change a frame's parameters.
1008* Initial Parameters:: Specifying frame parameters when you make a frame. 1008* Initial Parameters:: Specifying frame parameters when you make a frame.
1009* Window Frame Parameters:: List of frame parameters for window systems. 1009* Window Frame Parameters:: List of frame parameters for window systems.
1010* Size and Position:: Changing the size and position of a frame. 1010* Size and Position:: Changing the size and position of a frame.
1011* Geometry:: Parsing geometry specifications. 1011* Geometry:: Parsing geometry specifications.
@@ -1064,7 +1064,7 @@ Text
1064 later use. 1064 later use.
1065* Undo:: Undoing changes to the text of a buffer. 1065* Undo:: Undoing changes to the text of a buffer.
1066* Maintaining Undo:: How to enable and disable undo information. 1066* Maintaining Undo:: How to enable and disable undo information.
1067 How to control how much information is kept. 1067 How to control how much information is kept.
1068* Filling:: Functions for explicit filling. 1068* Filling:: Functions for explicit filling.
1069* Margins:: How to specify margins for filling commands. 1069* Margins:: How to specify margins for filling commands.
1070* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1070* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1090,7 +1090,7 @@ The Kill Ring
1090* Kill Functions:: Functions that kill text. 1090* Kill Functions:: Functions that kill text.
1091* Yanking:: How yanking is done. 1091* Yanking:: How yanking is done.
1092* Yank Commands:: Commands that access the kill ring. 1092* Yank Commands:: Commands that access the kill ring.
1093* Low-Level Kill Ring:: Functions and variables for kill ring access. 1093* Low-Level Kill Ring:: Functions and variables for kill ring access.
1094* Internals of Kill Ring:: Variables that hold kill ring data. 1094* Internals of Kill Ring:: Variables that hold kill ring data.
1095 1095
1096Indentation 1096Indentation
@@ -1105,9 +1105,9 @@ Indentation
1105Text Properties 1105Text Properties
1106 1106
1107* Examining Properties:: Looking at the properties of one character. 1107* Examining Properties:: Looking at the properties of one character.
1108* Changing Properties:: Setting the properties of a range of text. 1108* Changing Properties:: Setting the properties of a range of text.
1109* Property Search:: Searching for where a property changes value. 1109* Property Search:: Searching for where a property changes value.
1110* Special Properties:: Particular properties with special meanings. 1110* Special Properties:: Particular properties with special meanings.
1111* Format Properties:: Properties for representing formatting of text. 1111* Format Properties:: Properties for representing formatting of text.
1112* Sticky Properties:: How inserted text gets properties from 1112* Sticky Properties:: How inserted text gets properties from
1113 neighboring text. 1113 neighboring text.
@@ -1117,8 +1117,8 @@ Text Properties
1117 do something when you click on them. 1117 do something when you click on them.
1118* Fields:: The @code{field} property defines 1118* Fields:: The @code{field} property defines
1119 fields within the buffer. 1119 fields within the buffer.
1120* Not Intervals:: Why text properties do not use 1120* Not Intervals:: Why text properties do not use
1121 Lisp-visible text intervals. 1121 Lisp-visible text intervals.
1122 1122
1123Non-@acronym{ASCII} Characters 1123Non-@acronym{ASCII} Characters
1124 1124
@@ -1161,7 +1161,7 @@ Searching and Matching
1161* POSIX Regexps:: Searching POSIX-style for the longest match. 1161* POSIX Regexps:: Searching POSIX-style for the longest match.
1162* Match Data:: Finding out which part of the text matched, 1162* Match Data:: Finding out which part of the text matched,
1163 after a string or regexp search. 1163 after a string or regexp search.
1164* Search and Replace:: Commands that loop, searching and replacing. 1164* Search and Replace:: Commands that loop, searching and replacing.
1165* Standard Regexps:: Useful regexps for finding sentences, pages,... 1165* Standard Regexps:: Useful regexps for finding sentences, pages,...
1166 1166
1167Regular Expressions 1167Regular Expressions
@@ -1178,9 +1178,9 @@ Syntax of Regular Expressions
1178 1178
1179The Match Data 1179The Match Data
1180 1180
1181* Replacing Match:: Replacing a substring that was matched. 1181* Replacing Match:: Replacing a substring that was matched.
1182* Simple Match Data:: Accessing single items of match data, 1182* Simple Match Data:: Accessing single items of match data,
1183 such as where a particular subexpression started. 1183 such as where a particular subexpression started.
1184* Entire Match Data:: Accessing the entire match data at once, as a list. 1184* Entire Match Data:: Accessing the entire match data at once, as a list.
1185* Saving Match Data:: Saving and restoring the match data. 1185* Saving Match Data:: Saving and restoring the match data.
1186 1186
@@ -1190,7 +1190,7 @@ Syntax Tables
1190* Syntax Descriptors:: How characters are classified. 1190* Syntax Descriptors:: How characters are classified.
1191* Syntax Table Functions:: How to create, examine and alter syntax tables. 1191* Syntax Table Functions:: How to create, examine and alter syntax tables.
1192* Syntax Properties:: Overriding syntax with text properties. 1192* Syntax Properties:: Overriding syntax with text properties.
1193* Motion and Syntax:: Moving over characters with certain syntaxes. 1193* Motion and Syntax:: Moving over characters with certain syntaxes.
1194* Parsing Expressions:: Parsing balanced expressions 1194* Parsing Expressions:: Parsing balanced expressions
1195 using the syntax table. 1195 using the syntax table.
1196* Standard Syntax Tables:: Syntax tables used by various major modes. 1196* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1279,10 +1279,10 @@ Emacs Display
1279* Invisible Text:: Hiding part of the buffer text. 1279* Invisible Text:: Hiding part of the buffer text.
1280* Selective Display:: Hiding part of the buffer text (the old way). 1280* Selective Display:: Hiding part of the buffer text (the old way).
1281* Temporary Displays:: Displays that go away automatically. 1281* Temporary Displays:: Displays that go away automatically.
1282* Overlays:: Use overlays to highlight parts of the buffer. 1282* Overlays:: Use overlays to highlight parts of the buffer.
1283* Width:: How wide a character or string is on the screen. 1283* Width:: How wide a character or string is on the screen.
1284* Line Height:: Controlling the height of lines. 1284* Line Height:: Controlling the height of lines.
1285* Faces:: A face defines a graphics style 1285* Faces:: A face defines a graphics style
1286 for text characters: font, colors, etc. 1286 for text characters: font, colors, etc.
1287* Fringes:: Controlling window fringes. 1287* Fringes:: Controlling window fringes.
1288* Scroll Bars:: Controlling vertical scroll bars. 1288* Scroll Bars:: Controlling vertical scroll bars.
@@ -1291,9 +1291,9 @@ Emacs Display
1291* Buttons:: Adding clickable buttons to Emacs buffers. 1291* Buttons:: Adding clickable buttons to Emacs buffers.
1292* Abstract Display:: Emacs' Widget for Object Collections. 1292* Abstract Display:: Emacs' Widget for Object Collections.
1293* Blinking:: How Emacs shows the matching open parenthesis. 1293* Blinking:: How Emacs shows the matching open parenthesis.
1294* Usual Display:: The usual conventions for displaying 1294* Usual Display:: The usual conventions for displaying
1295 nonprinting chars. 1295 nonprinting chars.
1296* Display Tables:: How to specify other conventions. 1296* Display Tables:: How to specify other conventions.
1297* Beeping:: Audible signal to the user. 1297* Beeping:: Audible signal to the user.
1298* Window Systems:: Which window system is being used. 1298* Window Systems:: Which window system is being used.
1299 1299
@@ -1315,7 +1315,7 @@ Overlays
1315 1315
1316* Managing Overlays:: Creating and moving overlays. 1316* Managing Overlays:: Creating and moving overlays.
1317* Overlay Properties:: How to read and set properties. 1317* Overlay Properties:: How to read and set properties.
1318 What properties do to the screen display. 1318 What properties do to the screen display.
1319* Finding Overlays:: Searching for overlays. 1319* Finding Overlays:: Searching for overlays.
1320 1320
1321Faces 1321Faces
@@ -1395,14 +1395,14 @@ Operating System Interface
1395* Getting Out:: How exiting works (permanent or temporary). 1395* Getting Out:: How exiting works (permanent or temporary).
1396* System Environment:: Distinguish the name and kind of system. 1396* System Environment:: Distinguish the name and kind of system.
1397* User Identification:: Finding the name and user id of the user. 1397* User Identification:: Finding the name and user id of the user.
1398* Time of Day:: Getting the current time. 1398* Time of Day:: Getting the current time.
1399* Time Conversion:: Converting a time from numeric form to 1399* Time Conversion:: Converting a time from numeric form to
1400 calendrical data and vice versa. 1400 calendrical data and vice versa.
1401* Time Parsing:: Converting a time from numeric form to text 1401* Time Parsing:: Converting a time from numeric form to text
1402 and vice versa. 1402 and vice versa.
1403* Processor Run Time:: Getting the run time used by Emacs. 1403* Processor Run Time:: Getting the run time used by Emacs.
1404* Time Calculations:: Adding, subtracting, comparing times, etc. 1404* Time Calculations:: Adding, subtracting, comparing times, etc.
1405* Timers:: Setting a timer to call a function at a 1405* Timers:: Setting a timer to call a function at a
1406 certain time. 1406 certain time.
1407* Idle Timers:: Setting a timer to call a function when Emacs has 1407* Idle Timers:: Setting a timer to call a function when Emacs has
1408 been idle for a certain length of time. 1408 been idle for a certain length of time.
@@ -1429,8 +1429,8 @@ Getting Out of Emacs
1429 1429
1430Terminal Input 1430Terminal Input
1431 1431
1432* Input Modes:: Options for how input is processed. 1432* Input Modes:: Options for how input is processed.
1433* Recording Input:: Saving histories of recent or all input events. 1433* Recording Input:: Saving histories of recent or all input events.
1434 1434
1435Tips and Conventions 1435Tips and Conventions
1436 1436
@@ -1440,7 +1440,7 @@ Tips and Conventions
1440* Compilation Tips:: Making compiled code run fast. 1440* Compilation Tips:: Making compiled code run fast.
1441* Warning Tips:: Turning off compiler warnings. 1441* Warning Tips:: Turning off compiler warnings.
1442* Documentation Tips:: Writing readable documentation strings. 1442* Documentation Tips:: Writing readable documentation strings.
1443* Comment Tips:: Conventions for writing comments. 1443* Comment Tips:: Conventions for writing comments.
1444* Library Headers:: Standard headers for library packages. 1444* Library Headers:: Standard headers for library packages.
1445 1445
1446GNU Emacs Internals 1446GNU Emacs Internals
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index de7ebbc405e..704f3ad3321 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -22,8 +22,8 @@ windows.
22* Buffers and Windows:: Each window displays the contents of a buffer. 22* Buffers and Windows:: Each window displays the contents of a buffer.
23* Displaying Buffers:: Higher-level functions for displaying a buffer 23* Displaying Buffers:: Higher-level functions for displaying a buffer
24 and choosing a window for it. 24 and choosing a window for it.
25* Choosing Window:: How to choose a window for displaying a buffer. 25* Choosing Window:: How to choose a window for displaying a buffer.
26* Dedicated Windows:: How to avoid displaying another buffer in 26* Dedicated Windows:: How to avoid displaying another buffer in
27 a specific window. 27 a specific window.
28* Window Point:: Each window has its own location of point. 28* Window Point:: Each window has its own location of point.
29* Window Start and End:: Buffer positions indicating which text is 29* Window Start and End:: Buffer positions indicating which text is