aboutsummaryrefslogtreecommitdiffstats
path: root/lispref
diff options
context:
space:
mode:
authorKenichi Handa2003-09-08 11:56:09 +0000
committerKenichi Handa2003-09-08 11:56:09 +0000
commit463f5630a5e7cbe7f042bc1175d1fa1c4e98860f (patch)
tree3287d0c628fea2249abf4635b3a4f45bedd6f8c4 /lispref
parent4256310de631bd57c78b88b5131caa073315b3d7 (diff)
downloademacs-463f5630a5e7cbe7f042bc1175d1fa1c4e98860f.tar.gz
emacs-463f5630a5e7cbe7f042bc1175d1fa1c4e98860f.zip
New directory
Diffstat (limited to 'lispref')
-rw-r--r--lispref/ChangeLog117
-rw-r--r--lispref/Makefile.in2
-rw-r--r--lispref/abbrevs.texi8
-rw-r--r--lispref/advice.texi4
-rw-r--r--lispref/anti.texi4
-rw-r--r--lispref/back.texi4
-rw-r--r--lispref/backups.texi4
-rw-r--r--lispref/book-spine.texinfo4
-rw-r--r--lispref/buffers.texi15
-rw-r--r--lispref/calendar.texi4
-rw-r--r--lispref/commands.texi28
-rw-r--r--lispref/compile.texi39
-rw-r--r--lispref/configure.in4
-rw-r--r--lispref/control.texi4
-rw-r--r--lispref/customize.texi7
-rw-r--r--lispref/debugging.texi41
-rw-r--r--lispref/display.texi268
-rw-r--r--lispref/doclicense.texi4
-rw-r--r--lispref/edebug.texi21
-rw-r--r--lispref/elisp-covers.texi4
-rw-r--r--lispref/elisp.texi24
-rw-r--r--lispref/errors.texi4
-rw-r--r--lispref/eval.texi4
-rw-r--r--lispref/files.texi27
-rw-r--r--lispref/frames.texi117
-rw-r--r--lispref/front-cover-1.texi4
-rw-r--r--lispref/functions.texi3
-rw-r--r--lispref/gpl.texi3
-rw-r--r--lispref/hash.texi4
-rw-r--r--lispref/help.texi4
-rw-r--r--lispref/hooks.texi4
-rw-r--r--lispref/index.perm38
-rw-r--r--lispref/index.unperm29
-rw-r--r--lispref/internals.texi4
-rw-r--r--lispref/intro.texi4
-rw-r--r--lispref/keymaps.texi158
-rw-r--r--lispref/lay-flat.texi4
-rw-r--r--lispref/lists.texi4
-rw-r--r--lispref/loading.texi4
-rw-r--r--lispref/locals.texi4
-rw-r--r--lispref/macros.texi84
-rw-r--r--lispref/makefile.w32-in140
-rw-r--r--lispref/maps.texi4
-rw-r--r--lispref/markers.texi4
-rw-r--r--lispref/minibuf.texi16
-rw-r--r--lispref/modes.texi57
-rw-r--r--lispref/nonascii.texi4
-rw-r--r--lispref/numbers.texi4
-rw-r--r--lispref/objects.texi7
-rw-r--r--lispref/os.texi6
-rw-r--r--lispref/permute-index124
-rw-r--r--lispref/positions.texi4
-rw-r--r--lispref/processes.texi4
-rw-r--r--lispref/searching.texi4
-rw-r--r--lispref/sequences.texi16
-rw-r--r--lispref/streams.texi12
-rw-r--r--lispref/strings.texi6
-rw-r--r--lispref/symbols.texi14
-rw-r--r--lispref/syntax.texi4
-rw-r--r--lispref/text.texi195
-rwxr-xr-xlispref/tindex.pl1
-rw-r--r--lispref/tips.texi7
-rw-r--r--lispref/two.el2
-rw-r--r--lispref/variables.texi24
-rw-r--r--lispref/vol1.texi4
-rw-r--r--lispref/vol2.texi4
-rw-r--r--lispref/windows.texi11
67 files changed, 163 insertions, 1632 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 8258aff458e..de5c4332e5f 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,116 +1,3 @@
12003-09-03 Peter Runestig <peter@runestig.com>
2
3 * makefile.w32-in: New file.
4
52003-08-29 Richard M. Stallman <rms@gnu.org>
6
7 * display.texi (Overlay Properties): Clarify how priorities
8 affect use of the properties.
9
102003-08-19 Luc Teirlinck <teirllm@mail.auburn.edu>
11
12 * customize.texi (Type Keywords): Correct the description of
13 `:help-echo' in the case where `motion-doc' is a function.
14
152003-08-14 John Paul Wallington <jpw@gnu.org>
16
17 * modes.texi (Emulating Mode Line): Subsection, not section.
18
192003-08-13 Richard M. Stallman <rms@gnu.org>
20
21 * elisp.texi (Top): Update subnode lists in menu.
22
23 * text.texi (Insertion): Add insert-buffer-substring-no-properties.
24 (Kill Functions): kill-region has new arg yank-handler.
25 (Yanking): New node.
26 (Yank Commands): Add yank-undo-function.
27 (Low-Level Kill Ring):
28 kill-new and kill-append have new arg yank-handler.
29 (Changing Properties): Add remove-list-of-text-properties.
30 (Atomic Changes): New node.
31
32 * symbols.texi (Other Plists): Add lax-plist-get, lax-plist-put.
33
34 * streams.texi (Output Variables): Add eval-expression-print-length
35 and eval-expression-print-level.
36
37 * os.texi (Time Conversion): For encode-time, explain limits on year.
38
39 * objects.texi (Character Type): Define anchor "modifier bits".
40
41 * modes.texi (Emulating Mode Line): New node.
42 (Search-based Fontification): Font Lock uses font-lock-face property.
43 (Other Font Lock Variables): Likewise.
44
45 * keymaps.texi (Format of Keymaps): Keymaps contain char tables,
46 not vectors.
47 (Active Keymaps): Add emulation-mode-map-alists.
48 (Functions for Key Lookup): key-binding has new arg no-remap.
49 (Remapping Commands): New node.
50 (Scanning Keymaps): where-is-internal has new arg no-remap.
51 (Tool Bar): Add tool-bar-local-item-from-menu.
52 Clarify when to use tool-bar-add-item-from-menu.
53
54 * commands.texi (Interactive Call): commandp has new arg.
55 (Command Loop Info): Add this-original-command.
56
572003-08-06 John Paul Wallington <jpw@gnu.org>
58
59 * compile.texi (Compiler Errors): Say `@end defmac' after `@defmac'.
60
61 * display.texi (Warning Basics): Fix typo.
62 (Fringes): Add closing curly bracket and fix typo.
63
64 * elisp.texi (Top): Fix typo.
65
662003-08-05 Richard M. Stallman <rms@gnu.org>
67
68 * elisp.texi: Update lists of subnodes.
69
70 * windows.texi (Buffers and Windows): set-window-buffer has new arg.
71
72 * variables.texi (Local Variables): Use lc for example variable names.
73
74 * tips.texi (Library Headers): Explain where to put -*-.
75
76 * strings.texi (Creating Strings): Fix xref for vconcat.
77
78 * sequences.texi (Vector Functions):
79 vconcat no longer allows integer args.
80
81 * minibuf.texi (Reading File Names): read-file-name has new
82 arg PREDICATE. New function read-directory-name.
83
84 * macros.texi (Defining Macros): Give definition of `declare'
85 (Indenting Macros): New node.
86
87 * frames.texi (Parameter Access): Add modify-all-frames-parameters.
88 (Window Frame Parameters): Make separate table of parameters
89 that are coupled with specific face attributes.
90 (Deleting Frames): delete-frame-hooks renamed to
91 delete-frame-functions.
92
93 * files.texi (Magic File Names): Add file-remote-p.
94 Clarify file-local-copy.
95
96 * edebug.texi (Instrumenting Macro Calls): Don't define `declare'
97 here; instead xref Defining Macros.
98
99 * display.texi (Warnings): New node, and subnodes.
100 (Fringes): New node.
101
102 * debugging.texi (Test Coverage): New node.
103
104 * compile.texi (Compiler Errors): Explain with-no-warnings
105 and other ways to suppress warnings.
106
107 * commands.texi (Interactive Call): Minor clarification.
108
109 * buffers.texi (Buffer File Name): set-visited-file-name
110 renames the buffer too.
111
112 * abbrevs.texi (Abbrev Tables): Add copy-abbrev-table.
113
1142003-07-24 Markus Rost <rost@math.ohio-state.edu> 12003-07-24 Markus Rost <rost@math.ohio-state.edu>
115 2
116 * abbrevs.texi (Abbrev Expansion): Use \s syntax in example. 3 * abbrevs.texi (Abbrev Expansion): Use \s syntax in example.
@@ -851,11 +738,9 @@ Tue Apr 11 12:23:28 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu)
851 for the Project GNU development environment. 738 for the Project GNU development environment.
852 739
853;; Local Variables: 740;; Local Variables:
854;; coding: iso-2022-7bit 741;; coding: iso-2022-7bit-unix
855;; End: 742;; End:
856 743
857 Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. 744 Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
858 Copying and distribution of this file, with or without modification, 745 Copying and distribution of this file, with or without modification,
859 are permitted provided the copyright notice and this notice are preserved. 746 are permitted provided the copyright notice and this notice are preserved.
860
861;;; arch-tag: 985ae0ce-df29-475b-b3f8-4bbcbf6f7fda
diff --git a/lispref/Makefile.in b/lispref/Makefile.in
index d284684baf5..c05acc15bb2 100644
--- a/lispref/Makefile.in
+++ b/lispref/Makefile.in
@@ -166,5 +166,3 @@ dist: elisp elisp.dvi
166 (cd temp/$(manual); rm -f *~) 166 (cd temp/$(manual); rm -f *~)
167 (cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz 167 (cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
168 -rm -rf temp 168 -rm -rf temp
169
170# arch-tag: f5a1a94d-62e1-4460-a2d1-f02e538ab554
diff --git a/lispref/abbrevs.texi b/lispref/abbrevs.texi
index eec8722467f..e7ba0d8e8fa 100644
--- a/lispref/abbrevs.texi
+++ b/lispref/abbrevs.texi
@@ -80,11 +80,6 @@ This function undefines all the abbrevs in abbrev table @var{table},
80leaving it empty. It always returns @code{nil}. 80leaving it empty. It always returns @code{nil}.
81@end defun 81@end defun
82 82
83@defun copy-abbrev-table table
84This function returns a copy of abbrev table @var{table}---a new
85abbrev table that contains the same abbrev definitions.
86@end defun
87
88@defun define-abbrev-table tabname definitions 83@defun define-abbrev-table tabname definitions
89This function defines @var{tabname} (a symbol) as an abbrev table 84This function defines @var{tabname} (a symbol) as an abbrev table
90name, i.e., as a variable whose value is an abbrev table. It defines 85name, i.e., as a variable whose value is an abbrev table. It defines
@@ -382,6 +377,3 @@ This is the local abbrev table used in Text mode.
382This is the local abbrev table used in Lisp mode and Emacs Lisp mode. 377This is the local abbrev table used in Lisp mode and Emacs Lisp mode.
383@end defvar 378@end defvar
384 379
385@ignore
386 arch-tag: 5ffdbe08-2cd4-48ec-a5a8-080f95756eec
387@end ignore
diff --git a/lispref/advice.texi b/lispref/advice.texi
index 46d4f96a35b..1733da39478 100644
--- a/lispref/advice.texi
+++ b/lispref/advice.texi
@@ -751,7 +751,3 @@ pieces of advice is the same. The only difference is that
751executed even if some previous piece of advice had an error or a 751executed even if some previous piece of advice had an error or a
752non-local exit. If any around-advice is protected, then the whole 752non-local exit. If any around-advice is protected, then the whole
753around-advice onion is protected as a result. 753around-advice onion is protected as a result.
754
755@ignore
756 arch-tag: 80c135c2-f1c3-4f8d-aa85-f8d8770d307f
757@end ignore
diff --git a/lispref/anti.texi b/lispref/anti.texi
index 657ee5b9e88..7925a8831df 100644
--- a/lispref/anti.texi
+++ b/lispref/anti.texi
@@ -293,7 +293,3 @@ and allied functions.
293@code{file-attributes} returns the file size and the file inode number 293@code{file-attributes} returns the file size and the file inode number
294only as a simple integer. 294only as a simple integer.
295@end itemize 295@end itemize
296
297@ignore
298 arch-tag: 1d0ef137-2bad-430e-ae8e-d820d569b5a6
299@end ignore
diff --git a/lispref/back.texi b/lispref/back.texi
index bb68ff2d9ab..b34a5b37339 100644
--- a/lispref/back.texi
+++ b/lispref/back.texi
@@ -31,7 +31,3 @@ are peculiar to Emacs Lisp or relate specifically to editing.
31 31
32@hfil 32@hfil
33@bye 33@bye
34
35@ignore
36 arch-tag: ac7694c8-1f02-4b42-9531-33ba13b179e1
37@end ignore
diff --git a/lispref/backups.texi b/lispref/backups.texi
index d4809369bcc..602c5c6dbec 100644
--- a/lispref/backups.texi
+++ b/lispref/backups.texi
@@ -729,7 +729,3 @@ This normal hook is run by @code{revert-buffer} after inserting
729the modified contents---but only if @code{revert-buffer-function} is 729the modified contents---but only if @code{revert-buffer-function} is
730@code{nil}. 730@code{nil}.
731@end defvar 731@end defvar
732
733@ignore
734 arch-tag: 295a6321-e5ab-46d5-aef5-0bb4f447a67f
735@end ignore
diff --git a/lispref/book-spine.texinfo b/lispref/book-spine.texinfo
index cb52cc6fc3c..8633d477aca 100644
--- a/lispref/book-spine.texinfo
+++ b/lispref/book-spine.texinfo
@@ -23,7 +23,3 @@
23@sp 5 23@sp 5
24@center Free Software Foundation 24@center Free Software Foundation
25@bye 25@bye
26
27@ignore
28 arch-tag: 4466c7ca-e549-4119-948c-6eed34e1ff87
29@end ignore
diff --git a/lispref/buffers.texi b/lispref/buffers.texi
index c811f0b0017..8bfbf755a29 100644
--- a/lispref/buffers.texi
+++ b/lispref/buffers.texi
@@ -444,13 +444,10 @@ such buffer in the buffer list.
444If @var{filename} is a non-empty string, this function changes the 444If @var{filename} is a non-empty string, this function changes the
445name of the file visited in the current buffer to @var{filename}. (If the 445name of the file visited in the current buffer to @var{filename}. (If the
446buffer had no visited file, this gives it one.) The @emph{next time} 446buffer had no visited file, this gives it one.) The @emph{next time}
447the buffer is saved it will go in the newly-specified file. 447the buffer is saved it will go in the newly-specified file. This
448 448command marks the buffer as modified, since it does not (as far as Emacs
449This command marks the buffer as modified, since it does not (as far 449knows) match the contents of @var{filename}, even if it matched the
450as Emacs knows) match the contents of @var{filename}, even if it 450former visited file.
451matched the former visited file. It also renames the buffer to
452correspond to the new file name, unless the new name is already in
453use.
454 451
455If @var{filename} is @code{nil} or the empty string, that stands for 452If @var{filename} is @code{nil} or the empty string, that stands for
456``no visited file''. In this case, @code{set-visited-file-name} marks 453``no visited file''. In this case, @code{set-visited-file-name} marks
@@ -1021,7 +1018,3 @@ This function returns the current gap position in the current buffer.
1021@defun gap-size 1018@defun gap-size
1022This function returns the current gap size of the current buffer. 1019This function returns the current gap size of the current buffer.
1023@end defun 1020@end defun
1024
1025@ignore
1026 arch-tag: 2e53cfab-5691-41f6-b5a8-9c6a3462399c
1027@end ignore
diff --git a/lispref/calendar.texi b/lispref/calendar.texi
index c93fd016d4f..eeee2d118b5 100644
--- a/lispref/calendar.texi
+++ b/lispref/calendar.texi
@@ -990,7 +990,3 @@ message window, when its time is up.
990The number of seconds to display an appointment message. The default 990The number of seconds to display an appointment message. The default
991is 5 seconds. 991is 5 seconds.
992@end table 992@end table
993
994@ignore
995 arch-tag: 8e50c766-4703-4888-a421-af15244cca7e
996@end ignore
diff --git a/lispref/commands.texi b/lispref/commands.texi
index b60cb2b8732..56e5c811d9c 100644
--- a/lispref/commands.texi
+++ b/lispref/commands.texi
@@ -503,7 +503,7 @@ command is a function, @code{command-execute} calls
503@code{call-interactively}, which reads the arguments and calls the 503@code{call-interactively}, which reads the arguments and calls the
504command. You can also call these functions yourself. 504command. You can also call these functions yourself.
505 505
506@defun commandp object &optional for-call-interactively 506@defun commandp object
507Returns @code{t} if @var{object} is suitable for calling interactively; 507Returns @code{t} if @var{object} is suitable for calling interactively;
508that is, if @var{object} is a command. Otherwise, returns @code{nil}. 508that is, if @var{object} is a command. Otherwise, returns @code{nil}.
509 509
@@ -514,13 +514,11 @@ expressions, autoload objects that are declared as interactive
514(non-@code{nil} fourth argument to @code{autoload}), and some of the 514(non-@code{nil} fourth argument to @code{autoload}), and some of the
515primitive functions. 515primitive functions.
516 516
517A symbol satisfies @code{commandp} if its function definition 517A symbol satisfies @code{commandp} if its function definition satisfies
518satisfies @code{commandp}. Keys and keymaps are not commands. 518@code{commandp}.
519Rather, they are used to look up commands (@pxref{Keymaps}).
520 519
521If @var{for-call-interactively} is non-@code{nil}, then 520Keys and keymaps are not commands. Rather, they are used to look up
522@code{commandp} returns @code{t} only for objects that 521commands (@pxref{Keymaps}).
523@code{call-interactively} could call---thus, not for keyboard macros.
524 522
525See @code{documentation} in @ref{Accessing Documentation}, for a 523See @code{documentation} in @ref{Accessing Documentation}, for a
526realistic example of using @code{commandp}. 524realistic example of using @code{commandp}.
@@ -663,10 +661,6 @@ non-@code{nil}. Here's how:
663 (message "foo"))) 661 (message "foo")))
664@end example 662@end example
665 663
666@noindent
667Defined in this way, the function does display the message when
668called from a keyboard macro.
669
670 The numeric prefix argument, provided by @samp{p}, is never @code{nil}. 664 The numeric prefix argument, provided by @samp{p}, is never @code{nil}.
671 665
672@node Command Loop Info 666@node Command Loop Info
@@ -733,14 +727,6 @@ We do not bind @code{this-command} with @code{let} because that would
733restore the old value in case of error---a feature of @code{let} which 727restore the old value in case of error---a feature of @code{let} which
734in this case does precisely what we want to avoid. 728in this case does precisely what we want to avoid.
735 729
736@defvar this-original-command
737This has the same value as @code{this-command} except when command
738remapping occurs (@pxref{Remapping Commands}). In that case,
739@code{this-command} gives the command actually run (the result of
740remapping), and @code{this-original-command} gives the command that
741was specified to run but remapped into another command.
742@end defvar
743
744@defun this-command-keys 730@defun this-command-keys
745This function returns a string or vector containing the key sequence 731This function returns a string or vector containing the key sequence
746that invoked the present command, plus any previous commands that 732that invoked the present command, plus any previous commands that
@@ -2833,7 +2819,3 @@ This normal hook (@pxref{Standard Hooks}) is run when a keyboard
2833macro terminates, regardless of what caused it to terminate (reaching 2819macro terminates, regardless of what caused it to terminate (reaching
2834the macro end or an error which ended the macro prematurely). 2820the macro end or an error which ended the macro prematurely).
2835@end defvar 2821@end defvar
2836
2837@ignore
2838 arch-tag: e34944ad-7d5c-4980-be00-36a5fe54d4b1
2839@end ignore
diff --git a/lispref/compile.texi b/lispref/compile.texi
index 4d91d2c5883..583454efe73 100644
--- a/lispref/compile.texi
+++ b/lispref/compile.texi
@@ -421,42 +421,6 @@ defined are always ``located'' at the end of the file, so these
421commands won't find the places they are really used. To do that, 421commands won't find the places they are really used. To do that,
422you must search for the function names. 422you must search for the function names.
423 423
424 You can suppress the compiler warning for calling an undefined
425function @var{func} by conditionalizing the function call on a
426@code{fboundp} test, like this:
427
428@example
429(if (fboundp '@var{func}) ...(@var{func} ...)...)
430@end example
431
432@noindent
433The call to @var{func} must be in the @var{then-form} of the @code{if},
434and @var{func} must appear quoted in the call to @code{fboundp}.
435Likewise, you can suppress a compiler warning for an unbound variable
436@var{variable} by conditionalizing its use on a @code{boundp} test,
437like this:
438
439@example
440(if (boundp '@var{variable}) ...@var{variable}...)
441@end example
442
443@noindent
444The reference to @var{variable} must be in the @var{then-form} of the
445@code{if}, and @var{variable} must appear quoted in the call to
446@code{boundp}.
447
448 You can suppress any compiler warnings using the construct
449@code{with-no-warnings}:
450
451@defmac with-no-warnings body...
452In execution, this is equivalent to @code{(progn @var{body}...)},
453but the compiler does not issue warnings for anything that occurs
454inside @var{body}.
455
456We recommend that you use this construct around the smallest
457possible piece of code.
458@end defmac
459
460@node Byte-Code Objects 424@node Byte-Code Objects
461@section Byte-Code Function Objects 425@section Byte-Code Function Objects
462@cindex compiled function 426@cindex compiled function
@@ -802,6 +766,3 @@ The @code{silly-loop} function is somewhat more complex:
802@end example 766@end example
803 767
804 768
805@ignore
806 arch-tag: f78e3050-2f0a-4dee-be27-d9979a0a2289
807@end ignore
diff --git a/lispref/configure.in b/lispref/configure.in
index 7db2f8cab5e..be5f5f7e743 100644
--- a/lispref/configure.in
+++ b/lispref/configure.in
@@ -1,7 +1,3 @@
1dnl Process this file with autoconf to produce a configure script. 1dnl Process this file with autoconf to produce a configure script.
2AC_INIT(elisp.texi) 2AC_INIT(elisp.texi)
3AC_OUTPUT(Makefile) 3AC_OUTPUT(Makefile)
4
5m4_if(dnl Do not change this comment
6 arch-tag: 61db4227-0d2b-4c4d-ad54-ca9a1ee518ea
7)dnl
diff --git a/lispref/control.texi b/lispref/control.texi
index 71502f03106..a9f4d7c9d22 100644
--- a/lispref/control.texi
+++ b/lispref/control.texi
@@ -1240,7 +1240,3 @@ quit, and the quit happens immediately after the function
1240@code{ftp-setup-buffer} returns but before the variable @code{process} is 1240@code{ftp-setup-buffer} returns but before the variable @code{process} is
1241set, the process will not be killed. There is no easy way to fix this bug, 1241set, the process will not be killed. There is no easy way to fix this bug,
1242but at least it is very unlikely. 1242but at least it is very unlikely.
1243
1244@ignore
1245 arch-tag: 8abc30d4-4d3a-47f9-b908-e9e971c18c6d
1246@end ignore
diff --git a/lispref/customize.texi b/lispref/customize.texi
index d92b44470a9..41d29edf981 100644
--- a/lispref/customize.texi
+++ b/lispref/customize.texi
@@ -975,8 +975,7 @@ When you move to this item with @code{widget-forward} or
975@code{widget-backward}, it will display the string @var{motion-doc} in 975@code{widget-backward}, it will display the string @var{motion-doc} in
976the echo area. In addition, @var{motion-doc} is used as the mouse 976the echo area. In addition, @var{motion-doc} is used as the mouse
977@code{help-echo} string and may actually be a function or form evaluated 977@code{help-echo} string and may actually be a function or form evaluated
978to yield a help string. If it is a function, it is called with one 978to yield a help string as for @code{help-echo} text properties.
979argument, the widget.
980@c @xref{Text help-echo}. 979@c @xref{Text help-echo}.
981 980
982@item :match @var{function} 981@item :match @var{function}
@@ -1055,7 +1054,3 @@ arguments, which will be used when creating the @code{radio-button} or
1055@code{checkbox} associated with this item. 1054@code{checkbox} associated with this item.
1056@end ignore 1055@end ignore
1057@end table 1056@end table
1058
1059@ignore
1060 arch-tag: d1b8fad3-f48c-4ce4-a402-f73b5ef19bd2
1061@end ignore
diff --git a/lispref/debugging.texi b/lispref/debugging.texi
index cc3fc7a9bd9..f0bbc9207cb 100644
--- a/lispref/debugging.texi
+++ b/lispref/debugging.texi
@@ -30,7 +30,6 @@ compiler, you need to know how to examine the compiler's input buffer.
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.
34* Compilation Errors:: How to find errors that show up in byte compilation. 33* Compilation Errors:: How to find errors that show up in byte compilation.
35@end menu 34@end menu
36 35
@@ -739,42 +738,6 @@ the old indentation actually fits the intended nesting of parentheses,
739and you have put back those parentheses, @kbd{C-M-q} should not change 738and you have put back those parentheses, @kbd{C-M-q} should not change
740anything. 739anything.
741 740
742@node Test Coverage
743@section Test Coverage
744@cindex coverage testing
745
746@findex testcover-start
747@findex testcover-mark-all
748@findex testcover-next-mark
749 You can do coverage testing for a file of Lisp code by first using
750the command @kbd{M-x testcover-start @key{RET} @var{file} @key{RET}}
751to instrument it. Then test your code by calling it one or more
752times. Then use the command @kbd{M-x testcover-mark-all} to display
753``splotches'' on the code to show where coverage is insufficient. The
754command @kbd{M-x testcover-next-mark} will move point forward to the
755next spot that has a splotch.
756
757 Normally, a red splotch indicates the form was never completely
758evaluated; a brown splotch means it always evaluated to the same value
759(meaning there has been little testing of what is done with the
760result). However, the red splotch is skipped for forms that can't
761possibly complete their evaluation, such as @code{error}. The brown
762splotch is skipped for forms that are expected to always evaluate to
763the same value, such as @code{(setq x 14)}.
764
765 For difficult cases, you can add do-nothing macros to your code to
766give advice to the test coverage tool.
767
768@defmac 1value form
769Evaluate @var{form} and return its value, but inform coverage testing
770that @var{form}'s value should always be the same.
771@end defmac
772
773@defmac noreturn form
774Evaluate @var{form}, informing coverage testing that @var{form} should
775never return. If it ever does return, you get a run-time error.
776@end defmac
777
778@node Compilation Errors 741@node Compilation Errors
779@section Debugging Problems in Compilation 742@section Debugging Problems in Compilation
780 743
@@ -799,7 +762,3 @@ the error.
799successfully, then point is located at the end of the form. In this 762successfully, then point is located at the end of the form. In this
800case, this technique can't localize the error precisely, but can still 763case, this technique can't localize the error precisely, but can still
801show you which function to check. 764show you which function to check.
802
803@ignore
804 arch-tag: ddc57378-b0e6-4195-b7b6-43f8777395a7
805@end ignore
diff --git a/lispref/display.texi b/lispref/display.texi
index be85f9117b1..d7ca6b65cbe 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -15,7 +15,6 @@ that Emacs presents to the user.
15* Forcing Redisplay:: Forcing redisplay. 15* Forcing Redisplay:: Forcing redisplay.
16* Truncation:: Folding or wrapping long text lines. 16* Truncation:: Folding or wrapping long text lines.
17* The Echo Area:: Where messages are displayed. 17* The Echo Area:: Where messages are displayed.
18* Warnings:: Displaying warning messages for the user.
19* Invisible Text:: Hiding part of the buffer text. 18* Invisible Text:: Hiding part of the buffer text.
20* Selective Display:: Hiding part of the buffer text (the old way). 19* Selective Display:: Hiding part of the buffer text (the old way).
21* Overlay Arrow:: Display of an arrow to indicate position. 20* Overlay Arrow:: Display of an arrow to indicate position.
@@ -24,7 +23,6 @@ that Emacs presents to the user.
24* Width:: How wide a character or string is on the screen. 23* Width:: How wide a character or string is on the screen.
25* Faces:: A face defines a graphics style for text characters: 24* Faces:: A face defines a graphics style for text characters:
26 font, colors, etc. 25 font, colors, etc.
27* Fringes:: Controlling window fringes.
28* Display Property:: Enabling special display features. 26* Display Property:: Enabling special display features.
29* Images:: Displaying images in Emacs buffers. 27* Images:: Displaying images in Emacs buffers.
30* Blinking:: How Emacs shows the matching open parenthesis. 28* Blinking:: How Emacs shows the matching open parenthesis.
@@ -113,9 +111,10 @@ the rightmost column indicates a line that ``wraps'' onto the next line,
113which is also called @dfn{continuing} the line. (The display table can 111which is also called @dfn{continuing} the line. (The display table can
114specify alternative indicators; see @ref{Display Tables}.) 112specify alternative indicators; see @ref{Display Tables}.)
115 113
114@cindex fringes, and line continuation/truncation indicators
116 On a windowed display, the @samp{$} and @samp{\} indicators are 115 On a windowed display, the @samp{$} and @samp{\} indicators are
117replaced with graphics bitmaps displayed in the window fringes 116replaced with graphics bitmaps displayed on the thin areas right near
118(@pxref{Fringes}). 117the window edges, called the @dfn{fringes}.
119 118
120 Note that continuation is different from filling; continuation happens 119 Note that continuation is different from filling; continuation happens
121on the screen only, not in the buffer contents, and it breaks a line 120on the screen only, not in the buffer contents, and it breaks a line
@@ -328,194 +327,6 @@ sequence are echoed immediately.)
328If the value is zero, then command input is not echoed. 327If the value is zero, then command input is not echoed.
329@end defvar 328@end defvar
330 329
331@node Warnings
332@section Reporting Warnings
333@cindex warnings
334
335 @dfn{Warnings} are a facility for a program to inform the user of a
336possible problem, but continue running.
337
338@menu
339* Warning Basics:: Warnings concepts and functions to report them.
340* Warning Variables:: Variables programs bind to customize their warnings.
341* Warning Options:: Variables users set to control display of warnings.
342@end menu
343
344@node Warning Basics
345@subsection Warning Basics
346@cindex severity level
347
348 Every warning has a textual message, which explains the problem for
349the user, and a @dfn{severity level} which is a symbol. Here are the
350possible severity levels, in order of decreasing severity, and their
351meanings:
352
353@table @code
354@item :emergency
355A problem that will seriously impair Emacs operation soon
356if you do not attend to it promptly.
357@item :error
358A report of data or circumstances that are inherently wrong.
359@item :warning
360A report of data or circumstances that are not inherently wrong, but
361raise suspicion of a possible problem.
362@item :debug
363A report of information that may be useful if you are debugging.
364@end table
365
366 When your program encounters invalid input data, it can either
367signal a Lisp error by calling @code{error} or @code{signal} or report
368a warning with severity @code{:error}. Signaling a Lisp error is the
369easiest thing to do, but it means the program cannot continue
370processing. If you want to take the trouble to implement a way to
371continue processing despite the bad data, then reporting a warning of
372severity @code{:error} is the right way to inform the user of the
373problem. For instance, the Emacs Lisp byte compiler can report an
374error that way and continue compiling other functions. (If the
375program signals a Lisp error and then handles it with
376@code{condition-case}, the user won't see the error message; it could
377show the message to the user by reporting it as a warning.)
378
379@cindex warning type
380 Each warning has a @dfn{warning type} to classify it. The type is a
381list of symbols. The first symbol should be the custom group that you
382use for the program's user options. For example, byte compiler
383warnings use the warning type @code{(bytecomp)}. You can also
384subcategorize the warnings, if you wish, by using more symbols in the
385list.
386
387@defun display-warning type message &optional level buffer-name
388This function reports a warning, using @var{message} as the message
389and @var{type} as the warning type. @var{level} should be the
390severity level, with @code{:warning} being the default.
391
392@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer
393for logging the warning. By default, it is @samp{*Warnings*}.
394@end defun
395
396@defun lwarn type level message &rest args
397This function reports a warning using the value of @code{(format
398@var{message} @var{args}...)} as the message. In other respects it is
399equivalent to @code{display-warning}.
400@end defun
401
402@defun warn message &rest args
403This function reports a warning using the value of @code{(format
404@var{message} @var{args}...)} as the message, @code{(emacs)} as the
405type, and @code{:warning} as the severity level. It exists for
406compatibility only; we recommend not using it, because you should
407specify a specific warning type.
408@end defun
409
410@node Warning Variables
411@subsection Warning Variables
412
413 Programs can customize how their warnings appear by binding
414the variables described in this section.
415
416@defvar warning-levels
417This list defines the meaning and severity order of the warning
418severity levels. Each element defines one severity level,
419and they are arranged in order of decreasing severity.
420
421Each element has the form @code{(@var{level} @var{string}
422@var{function})}, where @var{level} is the severity level it defines.
423@var{string} specifies the textual description of this level.
424@var{string} should use @samp{%s} to specify where to put the warning
425type information, or it can omit the @samp{%s} so as not to include
426that information.
427
428The optional @var{function}, if non-@code{nil}, is a function to call
429with no arguments, to get the user's attention.
430
431Normally you should not change the value of this variable.
432@end defvar
433
434@defvar warning-prefix-function
435If non-@code{nil}, te value is a function to generate prefix text for
436warnings. Programs can bind the variable to a suitable function.
437@code{display-warning} calls this function with the warnings buffer
438current, and the function can insert text in it. That text becomes
439the beginning of the warning message.
440
441The function is called with two arguments, the severity level and its
442entry in @code{warning-levels}. It should return a list to use as the
443entry (this value need not be an actual member of
444@code{warning-levels}). By constructing this value, the function to
445change the severity of the warning, or specify different handling for
446a given severity level.
447
448If the variable's value is @code{nil} then there is no function
449to call.
450@end defvar
451
452@defvar warning-series
453Programs can bind this variable to @code{t} to say that the next
454warning should begin a series. When several warnings form a series,
455that means to leave point on the first warning of the series, rather
456than keep move it for each warning so that it appears on the last one.
457The series ends when the local binding is unbound and
458@code{warning-series} becomes @code{nil} again.
459
460The value can also be a symbol with a function definition. That is
461equivalent to @code{t}, except that the next warning will also call
462the function with no arguments with the warnings buffer current. The
463function can insert text which will serve as a header for the series
464of warnings.
465
466Once a series has begun, the value is a marker which points to the
467buffer position in the warnings buffer of the start of the series.
468
469The variable's normal value is @code{nil}, which means to handle
470each warning separately.
471@end defvar
472
473@defvar warning-fill-prefix
474When this variable is non-@code{nil}, it specifies a fill prefix to
475use for filling each warning's text.
476@end defvar
477
478@defvar warning-type-format
479This variable specifies the format for displaying the warning type
480in the warning message. The result of formatting the type this way
481gets included in the message under the control of the string in the
482entry in @code{warning-levels}. The default value is @code{" (%s)"}.
483If you bind it to @code{""} then the warning type won't appear at
484all.
485@end defvar
486
487@node Warning Options
488@subsection Warning Options
489
490 These variables are used by users to control what happens
491when a Lisp program reports a warning.
492
493@defopt warning-minimum-level
494This user option specifies the minimum severity level that should be
495shown immediately to the user. The default is @code{:warning}, which
496means to immediately display all warnings except @code{:debug}
497warnings.
498@end defopt
499
500@defopt warning-minimum-log-level
501This user option specifies the minimum severity level that should be
502logged in the warnings buffer. The default is @code{:warning}, which
503means to log all warnings except @code{:debug} warnings.
504@end defopt
505
506@defopt warning-suppress-types
507This list specifies which warning types should not be displayed
508immediately for the user. Each element of the list should be a list
509of symbols. If its elements match the first elements in a warning
510type, then that warning is not displayed immediately.
511@end defopt
512
513@defopt warning-suppress-log-types
514This list specifies which warning types should not be logged in the
515warnings buffer. Each element of the list should be a list of
516symbols. If it matches the first few elements in a warning type, then
517that warning is not logged.
518@end defopt
519@node Invisible Text 330@node Invisible Text
520@section Invisible Text 331@section Invisible Text
521 332
@@ -761,6 +572,7 @@ interface to debuggers, the overlay arrow indicates the line of code
761about to be executed. 572about to be executed.
762 573
763@defvar overlay-arrow-string 574@defvar overlay-arrow-string
575@cindex fringe, and overlay arrow display
764This variable holds the string to display to call attention to a 576This variable holds the string to display to call attention to a
765particular line, or @code{nil} if the arrow feature is not in use. 577particular line, or @code{nil} if the arrow feature is not in use.
766On a graphical display the contents of the string are ignored; instead a 578On a graphical display the contents of the string are ignored; instead a
@@ -987,14 +799,12 @@ of them:
987@table @code 799@table @code
988@item priority 800@item priority
989@kindex priority @r{(overlay property)} 801@kindex priority @r{(overlay property)}
990This property's value (which should be a nonnegative integer number) 802This property's value (which should be a nonnegative number) determines
991determines the priority of the overlay. The priority matters when two 803the priority of the overlay. The priority matters when two or more
992or more overlays cover the same character and both specify the same 804overlays cover the same character and both specify a face for display;
993property; the one whose @code{priority} value is larger takes priority 805the one whose @code{priority} value is larger takes priority over the
994over the other. For the @code{face} property, the higher priority 806other, and its face attributes override the face attributes of the lower
995value does not completely replace the other; instead, its face 807priority overlay.
996attributes override the face attributes of the lower priority
997@code{face} property.
998 808
999Currently, all overlays take priority over text properties. Please 809Currently, all overlays take priority over text properties. Please
1000avoid using negative priority values, as we have not yet decided just 810avoid using negative priority values, as we have not yet decided just
@@ -2477,54 +2287,6 @@ Then, the font specifications for all but Chinese GB2312 characters have
2477Chinese GB2312 characters has a wild card @samp{*} in the @var{family} 2287Chinese GB2312 characters has a wild card @samp{*} in the @var{family}
2478field. 2288field.
2479 2289
2480@node Fringes
2481@section Fringes
2482@cindex Fringes
2483
2484 The @dfn{fringes} of a window are thin vertical strips down the
2485sides that are used for displaying bitmaps that indicate truncation,
2486continuation, and horizontal scrolling, the overlay arrow. The
2487fringes normally appear between the display margins and the window
2488text, but you can put them outside the display margins for a specific
2489buffer by setting @code{fringes-outside-margins} buffer-locally to a
2490non-@code{nil} value.
2491
2492@defvar fringes-outside-margins
2493If the value is non-@code{nil}, the frames appear outside
2494the display margins.
2495@end defvar
2496
2497@defvar left-fringe-width
2498This variable, if non-@code{nil}, specifies the width of the left
2499fringe in pixels.
2500@end defvar
2501
2502@defvar right-fringe-width
2503This variable, if non-@code{nil}, specifies the width of the right
2504fringe in pixels.
2505@end defvar
2506
2507 The values of these variables take effect when you display the
2508buffer in a window. If you change them while the buffer is visible,
2509you can call @code{set-buffer-window} to display it in a window again.
2510
2511@defun set-window-fringes window left &optional right outside-margins
2512This function sets the fringe widthes of window @var{window}.
2513If window is @code{nil}, that stands for the selected window.
2514
2515The argument @var{left} specifies the width in pixels of the left
2516fringe, and likewise @var{right} for the right fringe. A value of
2517@code{nil} for either one stands for the default width. If
2518@var{outside-margins} is non-@code{nil}, that specifies that fringes
2519should appear outside of the display margins.
2520@end defun
2521
2522@defun window-fringes window
2523This function returns information about the fringes of a window
2524@var{window}. The value has the form @code{(@var{left-width}
2525@var{right-width} @var{frames-outside-margins})}.
2526@end defun
2527
2528@node Display Property 2290@node Display Property
2529@section The @code{display} Property 2291@section The @code{display} Property
2530@cindex display specification 2292@cindex display specification
@@ -3463,9 +3225,9 @@ buffers that do not override it. @xref{Default Value}.
3463@defopt indicate-empty-lines 3225@defopt indicate-empty-lines
3464@tindex indicate-empty-lines 3226@tindex indicate-empty-lines
3465@cindex fringes, and empty line indication 3227@cindex fringes, and empty line indication
3466When this is non-@code{nil}, Emacs displays a special glyph in the 3228When this is non-@code{nil}, Emacs displays a special glyph in
3467fringe of each empty line at the end of the buffer, on terminals that 3229each empty line at the end of the buffer, on terminals that
3468support it (window systems). @xref{Fringes}. 3230support it (window systems).
3469@end defopt 3231@end defopt
3470 3232
3471@defopt tab-width 3233@defopt tab-width
@@ -3772,7 +3534,3 @@ This hook is used for internal purposes: setting up communication with
3772the window system, and creating the initial window. Users should not 3534the window system, and creating the initial window. Users should not
3773interfere with it. 3535interfere with it.
3774@end defvar 3536@end defvar
3775
3776@ignore
3777 arch-tag: ffdf5714-7ecf-415b-9023-fbc6b409c2c6
3778@end ignore
diff --git a/lispref/doclicense.texi b/lispref/doclicense.texi
index 1c7a4d05989..de1bd20af20 100644
--- a/lispref/doclicense.texi
+++ b/lispref/doclicense.texi
@@ -366,7 +366,3 @@ If your document contains nontrivial examples of program code, we
366recommend releasing these examples in parallel under your choice of 366recommend releasing these examples in parallel under your choice of
367free software license, such as the GNU General Public License, 367free software license, such as the GNU General Public License,
368to permit their use in free software. 368to permit their use in free software.
369
370@ignore
371 arch-tag: 9014cf6e-f3c4-401d-b8da-4fe52723984c
372@end ignore
diff --git a/lispref/edebug.texi b/lispref/edebug.texi
index 051a7467ebc..8ddbcf7a74f 100644
--- a/lispref/edebug.texi
+++ b/lispref/edebug.texi
@@ -1077,14 +1077,15 @@ For example, (for i from 1 to 10 do (print i))."
1077 ...) 1077 ...)
1078@end example 1078@end example
1079 1079
1080 The Edebug specifation says which parts of a call to the macro are 1080@defspec declare (edebug @var{specification})
1081forms to be evaluated. For simple macros, the @var{specification} 1081Specify which expressions of a call to the macro in which the
1082often looks very similar to the formal argument list of the macro 1082declaration appears are forms to be evaluated. For simple macros, the
1083definition, but specifications are much more general than macro 1083@var{specification} often looks very similar to the formal argument list
1084arguments. @xref{Defining Macros}, for more explanation of 1084of the macro definition, but specifications are much more general than
1085the @code{declare} special form. 1085macro arguments.
1086 1086@end defspec
1087 You can also define an edebug specification for a macro separately 1087
1088You can also define an edebug specification for a macro separately
1088from the macro definition with @code{def-edebug-spec}. Adding 1089from the macro definition with @code{def-edebug-spec}. Adding
1089@code{edebug} declarations is preferred, and more convenient, for 1090@code{edebug} declarations is preferred, and more convenient, for
1090macro definitions in Lisp, but @code{def-edebug-spec} makes it 1091macro definitions in Lisp, but @code{def-edebug-spec} makes it
@@ -1553,7 +1554,3 @@ If non-@code{nil}, an expression to test for at every stop point. If
1553the result is non-@code{nil}, then break. Errors are ignored. 1554the result is non-@code{nil}, then break. Errors are ignored.
1554@xref{Global Break Condition}. 1555@xref{Global Break Condition}.
1555@end defopt 1556@end defopt
1556
1557@ignore
1558 arch-tag: 74842db8-019f-4818-b5a4-b2de878e57fd
1559@end ignore
diff --git a/lispref/elisp-covers.texi b/lispref/elisp-covers.texi
index 66c3a3b3e6b..c536e9e6b25 100644
--- a/lispref/elisp-covers.texi
+++ b/lispref/elisp-covers.texi
@@ -246,7 +246,3 @@
246 246
247@end titlepage 247@end titlepage
248@bye 248@bye
249
250@ignore
251 arch-tag: 02d65d63-3b64-49bc-a5c0-bfd5eabb6c98
252@end ignore
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index 26e78941c3d..8f8a2c9d8fd 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -415,7 +415,6 @@ Macros
415* Backquote:: Easier construction of list structure. 415* Backquote:: Easier construction of list structure.
416* Problems with Macros:: Don't evaluate the macro arguments too many times. 416* Problems with Macros:: Don't evaluate the macro arguments too many times.
417 Don't hide the user's variables. 417 Don't hide the user's variables.
418* Indenting Macros:: Specifying how to indent macro calls.
419 418
420Loading 419Loading
421 420
@@ -535,7 +534,6 @@ Keymaps
535* Key Lookup:: How extracting elements from keymaps works. 534* Key Lookup:: How extracting elements from keymaps works.
536* Functions for Key Lookup:: How to request key lookup. 535* Functions for Key Lookup:: How to request key lookup.
537* Changing Key Bindings:: Redefining a key in a keymap. 536* Changing Key Bindings:: Redefining a key in a keymap.
538* Remapping Commands:: Bindings that translate one command to another.
539* Key Binding Commands:: Interactive interfaces for redefining keys. 537* Key Binding Commands:: Interactive interfaces for redefining keys.
540* Scanning Keymaps:: Looking through all keymaps, for printing help. 538* Scanning Keymaps:: Looking through all keymaps, for printing help.
541 539
@@ -740,16 +738,12 @@ Text
740* Transposition:: Swapping two portions of a buffer. 738* Transposition:: Swapping two portions of a buffer.
741* Registers:: How registers are implemented. Accessing 739* Registers:: How registers are implemented. Accessing
742 the text or position stored in a register. 740 the text or position stored in a register.
743* Atomic Changes:: Installing several buffer changs ``atomically''.
744* Base 64:: Conversion to or from base 64 encoding.
745* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''.
746* Change Hooks:: Supplying functions to be run when text is changed. 741* Change Hooks:: Supplying functions to be run when text is changed.
747 742
748The Kill Ring 743The Kill Ring
749 744
750* Kill Ring Concepts:: What text looks like in the kill ring. 745* Kill Ring Concepts:: What text looks like in the kill ring.
751* Kill Functions:: Functions that kill text. 746* Kill Functions:: Functions that kill text.
752* Yanking:: How yanking is done.
753* Yank Commands:: Commands that access the kill ring. 747* Yank Commands:: Commands that access the kill ring.
754* Low-Level Kill Ring:: Functions and variables for kill ring access. 748* Low-Level Kill Ring:: Functions and variables for kill ring access.
755* Internals of Kill Ring:: Variables that hold kill-ring data. 749* Internals of Kill Ring:: Variables that hold kill-ring data.
@@ -858,7 +852,6 @@ Receiving Output from Processes
858 852
859* Process Buffers:: If no filter, output is put in a buffer. 853* Process Buffers:: If no filter, output is put in a buffer.
860* Filter Functions:: Filter functions accept output from the process. 854* Filter Functions:: Filter functions accept output from the process.
861* Decoding Output:: Filters can get unibyte or multibyte strings.
862* Accepting Output:: How to wait until process output arrives. 855* Accepting Output:: How to wait until process output arrives.
863 856
864Operating System Interface 857Operating System Interface
@@ -889,21 +882,12 @@ Emacs Display
889* Refresh Screen:: Clearing the screen and redrawing everything on it. 882* Refresh Screen:: Clearing the screen and redrawing everything on it.
890* Truncation:: Folding or wrapping long text lines. 883* Truncation:: Folding or wrapping long text lines.
891* The Echo Area:: Where messages are displayed. 884* The Echo Area:: Where messages are displayed.
892* Warnings:: Displaying warning messages for the user.
893* Selective Display:: Hiding part of the buffer text. 885* Selective Display:: Hiding part of the buffer text.
894* Overlay Arrow:: Display of an arrow to indicate position. 886* Overlay Arrow:: Display of an arrow to indicate position.
895* Temporary Displays:: Displays that go away automatically. 887* Temporary Displays:: Displays that go away automatically.
896* Overlays:: Use overlays to highlight parts of the buffer. 888* Waiting:: Forcing display update and waiting for user.
897* Width:: How wide a character or string is on the screen.
898* Faces:: A face defines a graphics style
899 for text characters: font, colors, etc.
900* Fringes:: Controlling window fringes.
901* Display Property:: Enabling special display features.
902* Images:: Displaying images in Emacs buffers.
903* Blinking:: How Emacs shows the matching open parenthesis. 889* Blinking:: How Emacs shows the matching open parenthesis.
904* Inverse Video:: Specifying how the screen looks. 890* Usual Display:: How control characters are displayed.
905* Usual Display:: The usual conventions for displaying nonprinting chars.
906* Display Tables:: How to specify other conventions.
907* Beeping:: Audible signal to the user. 891* Beeping:: Audible signal to the user.
908* Window Systems:: Which window system is being used. 892* Window Systems:: Which window system is being used.
909 893
@@ -1004,7 +988,3 @@ Object Internals
1004 988
1005 989
1006These words prevent "local variables" above from confusing Emacs. 990These words prevent "local variables" above from confusing Emacs.
1007
1008@ignore
1009 arch-tag: f7e9a219-a0e1-4776-b631-08eaa1d49b34
1010@end ignore
diff --git a/lispref/errors.texi b/lispref/errors.texi
index 965090aeb13..14797d61011 100644
--- a/lispref/errors.texi
+++ b/lispref/errors.texi
@@ -187,7 +187,3 @@ mathematical functions.
187@code{"Arithmetic underflow error"}@* 187@code{"Arithmetic underflow error"}@*
188@xref{Math Functions}. 188@xref{Math Functions}.
189@end table 189@end table
190
191@ignore
192 arch-tag: 717c6048-5d9d-4c7d-9a62-df57390b6f19
193@end ignore
diff --git a/lispref/eval.texi b/lispref/eval.texi
index 5a9cb6117e2..fa90ff07be1 100644
--- a/lispref/eval.texi
+++ b/lispref/eval.texi
@@ -719,7 +719,3 @@ particular elements, like this:
719@end group 719@end group
720@end example 720@end example
721@end defvar 721@end defvar
722
723@ignore
724 arch-tag: f723a4e0-31b3-453f-8afc-0bf8fd276d57
725@end ignore
diff --git a/lispref/files.texi b/lispref/files.texi
index 4dab4f13e62..c594f0a78a0 100644
--- a/lispref/files.texi
+++ b/lispref/files.texi
@@ -2461,22 +2461,15 @@ for comparison with @code{inhibit-file-name-operation}.
2461@end defun 2461@end defun
2462 2462
2463@defun file-local-copy filename 2463@defun file-local-copy filename
2464This function copies file @var{filename} to an ordinary non-magic file 2464This function copies file @var{filename} to an ordinary non-magic file,
2465on the local machine, if it isn't on the local machine already. Magic 2465if it isn't one already.
2466file names should handle the @code{file-local-copy} operation if they 2466
2467refer to files on other machines. A magic file name that is used for 2467If @var{filename} specifies a magic file name, which programs
2468other purposes than remote file access should not handle 2468outside Emacs cannot directly read or write, this copies the contents to
2469@code{file-local-copy}; then this function will treat the file as 2469an ordinary file and returns that file's name.
2470local.
2471
2472If @var{filename} is local, whether magic or not, this function does
2473nothing and returns @code{nil}. Otherwise it returns the file name
2474of the local copy file.
2475@end defun
2476 2470
2477@defun file-remote-p filename 2471If @var{filename} is an ordinary file name, not magic, then this function
2478This functions return @code{t} if @var{filename} is a remote file---that is, 2472does nothing and returns @code{nil}.
2479a magic file name that handles @code{file-local-copy}.
2480@end defun 2473@end defun
2481 2474
2482@defun unhandled-file-name-directory filename 2475@defun unhandled-file-name-directory filename
@@ -2644,7 +2637,3 @@ a list of format names, just like the value of
2644@code{buffer-file-format} for writing auto-save files. This variable is 2637@code{buffer-file-format} for writing auto-save files. This variable is
2645always buffer-local in all buffers. 2638always buffer-local in all buffers.
2646@end defvar 2639@end defvar
2647
2648@ignore
2649 arch-tag: 141f74ce-6ae3-40dc-a6c4-ef83fc4ec35c
2650@end ignore
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 76b4228cc4f..fd9e74bea36 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -225,13 +225,6 @@ parameter. If you don't mention a parameter in @var{alist}, its value
225doesn't change. 225doesn't change.
226@end defun 226@end defun
227 227
228@defun modify-all-frames-parameters alist
229This function alters the frame parameters of all existing frames
230according to @var{alist}, then modifies @code{default-frame-alist}
231to apply the same parameter values to frames that will be created
232henceforth.
233@end defun
234
235@node Initial Parameters 228@node Initial Parameters
236@subsection Initial Frame Parameters 229@subsection Initial Frame Parameters
237 230
@@ -430,6 +423,13 @@ considers that buffer.
430A list of buffers that have been selected in this frame, 423A list of buffers that have been selected in this frame,
431ordered most-recently-selected first. 424ordered most-recently-selected first.
432 425
426@item font
427The name of the font for displaying text in the frame. This is a
428string, either a valid font name for your system or the name of an Emacs
429fontset (@pxref{Fontsets}). Changing this frame parameter on a frame
430also changes the font-related attributes of the default face on that
431frame.
432
433@item auto-raise 433@item auto-raise
434Whether selecting the frame raises it (non-@code{nil} means yes). 434Whether selecting the frame raises it (non-@code{nil} means yes).
435 435
@@ -447,8 +447,7 @@ Whether the frame has scroll bars for horizontal scrolling
447implemented.) 447implemented.)
448 448
449@item scroll-bar-width 449@item scroll-bar-width
450The width of the vertical scroll bar, in pixels, 450The width of the vertical scroll bar, in pixels.
451or @code{nil} meaning to use the default width.
452 451
453@item icon-type 452@item icon-type
454The type of icon to use for this frame when it is iconified. If the 453The type of icon to use for this frame when it is iconified. If the
@@ -460,10 +459,33 @@ picture of a gnu); @code{nil} specifies a text icon.
460The name to use in the icon for this frame, when and if the icon 459The name to use in the icon for this frame, when and if the icon
461appears. If this is @code{nil}, the frame's title is used. 460appears. If this is @code{nil}, the frame's title is used.
462 461
462@item foreground-color
463The color to use for the image of a character. This is a string; the
464window system defines the meaningful color names. Changing this
465parameter is equivalent to changing the foreground color of the face
466@code{default} on the frame in question.
467
468@item background-color
469The color to use for the background of characters. Changing this
470parameter is equivalent to changing the foreground color of the face
471@code{default} on the frame in question.
472
463@item background-mode 473@item background-mode
464This parameter is either @code{dark} or @code{light}, according 474This parameter is either @code{dark} or @code{light}, according
465to whether the background color is a light one or a dark one. 475to whether the background color is a light one or a dark one.
466 476
477@item mouse-color
478The color for the mouse pointer. Changing this parameter is equivalent
479to changing the background color of face @code{mouse}.
480
481@item cursor-color
482The color for the cursor that shows point. Changing this parameter is
483equivalent to changing the background color of face @code{cursor}.
484
485@item border-color
486The color for the border of the frame. Changing this parameter is
487equivalent to changing the background color of face @code{border}.
488
467@item tty-color-mode 489@item tty-color-mode
468@cindex standard colors for character terminals 490@cindex standard colors for character terminals
469This parameter overrides the terminal's color support as given by the 491This parameter overrides the terminal's color support as given by the
@@ -478,6 +500,16 @@ value is a symbol, that symbol is looked up in the alist
478@code{tty-color-mode-alist}, and if found, the associated number is 500@code{tty-color-mode-alist}, and if found, the associated number is
479used as the color support mode. 501used as the color support mode.
480 502
503@item scroll-bar-foreground
504If non-@code{nil}, the color for the foreground of scroll bars.
505Changing this parameter is equivalent to setting the foreground color of
506face @code{scroll-bar}.
507
508@item scroll-bar-background
509If non-@code{nil}, the color for the background of scroll bars.
510Changing this parameter is equivalent to setting the background color of
511face @code{scroll-bar}.
512
481@item display-type 513@item display-type
482This parameter describes the range of possible colors that can be used 514This parameter describes the range of possible colors that can be used
483in this frame. Its value is @code{color}, @code{grayscale} or 515in this frame. Its value is @code{color}, @code{grayscale} or
@@ -515,22 +547,6 @@ The width in pixels of the window border.
515@item internal-border-width 547@item internal-border-width
516The distance in pixels between text and border. 548The distance in pixels between text and border.
517 549
518@item left-fringe
519@itemx right-fringe
520The default width of the left and right fringes of windows in this
521frame (@pxref{Fringes}). If either of these is zero, that effectively
522removes the corresponding fringe. A value of @code{nil} stands for
523the standard fringe width, which is the width needed to display the
524fringe bitmaps.
525
526The combined fringe widths must add up to an integral number of
527columns, so the actual default fringe widths for the frame may be
528larger than the specified values. The extra width needed to reach an
529acceptable total is distributed evenly between the left and right
530fringe. However, you can force one frame or the other to a precise
531width by specifying that width a negative integer. If both widths are
532negative, only the left fringe gets the specified width.
533
534@item unsplittable 550@item unsplittable
535If non-@code{nil}, this frame's window is never split automatically. 551If non-@code{nil}, this frame's window is never split automatically.
536 552
@@ -595,47 +611,6 @@ in this variable do not take effect immediately, because the variable
595is examined only when you specify a cursor type for a frame. 611is examined only when you specify a cursor type for a frame.
596@end defvar 612@end defvar
597 613
598These frame parameters are semi-obsolete in that they are automatically
599equivalent to particular face attributes of particular faces.
600
601@table @code
602@item font
603The name of the font for displaying text in the frame. This is a
604string, either a valid font name for your system or the name of an Emacs
605fontset (@pxref{Fontsets}). It is equivalent to the @code{font}
606attribute of the @code{default} face.
607
608@item foreground-color
609The color to use for the image of a character. It is equivalent to
610the @code{:foreground} attribute of the @code{default} face.
611
612@item background-color
613The color to use for the background of characters. It is equivalent to
614the @code{:background} attribute of the @code{default} face.
615
616@item mouse-color
617The color for the mouse pointer. It is equivalent to the @code{:background}
618attribute of the @code{mouse} face.
619
620@item cursor-color
621The color for the cursor that shows point. It is equivalent to the
622@code{:background} attribute of the @code{cursor} face.
623
624@item border-color
625The color for the border of the frame. It is equivalent to the
626@code{:background} attribute of the @code{border} face.
627
628@item scroll-bar-foreground
629If non-@code{nil}, the color for the foreground of scroll bars. It is
630equivalent to the @code{:foreground} attribute of the
631@code{scroll-bar} face.
632
633@item scroll-bar-background
634If non-@code{nil}, the color for the background of scroll bars. It is
635equivalent to the @code{:background} attribute of the
636@code{scroll-bar} face.
637@end table
638
639@node Size and Position 614@node Size and Position
640@subsection Frame Size And Position 615@subsection Frame Size And Position
641@cindex size of frame 616@cindex size of frame
@@ -823,10 +798,10 @@ configuration (@pxref{Frame Configurations}); this is similar to the
823way windows behave. 798way windows behave.
824 799
825@deffn Command delete-frame &optional frame force 800@deffn Command delete-frame &optional frame force
826@vindex delete-frame-functions 801@vindex delete-frame-hook
827This function deletes the frame @var{frame} after running the hook 802This function deletes the frame @var{frame} after running the hook
828@code{delete-frame-functions} (each function gets one argument, 803@code{delete-frame-hook}. By default, @var{frame} is the selected
829@var{frame}). By default, @var{frame} is the selected frame. 804frame.
830 805
831A frame cannot be deleted if its minibuffer is used by other frames. 806A frame cannot be deleted if its minibuffer is used by other frames.
832Normally, you cannot delete a frame if all other frames are invisible, 807Normally, you cannot delete a frame if all other frames are invisible,
@@ -1897,7 +1872,3 @@ This variable's value is @code{t} if no X window manager is in use.
1897The functions @code{x-pixel-width} and @code{x-pixel-height} return the 1872The functions @code{x-pixel-width} and @code{x-pixel-height} return the
1898width and height of an X Window frame, measured in pixels. 1873width and height of an X Window frame, measured in pixels.
1899@end ignore 1874@end ignore
1900
1901@ignore
1902 arch-tag: 94977df6-3dca-4730-b57b-c6329e9282ba
1903@end ignore
diff --git a/lispref/front-cover-1.texi b/lispref/front-cover-1.texi
index 5c9f4351f42..56d0f2b1c2d 100644
--- a/lispref/front-cover-1.texi
+++ b/lispref/front-cover-1.texi
@@ -50,7 +50,3 @@
50 50
51@end titlepage 51@end titlepage
52@bye 52@bye
53
54@ignore
55 arch-tag: 5182b306-c403-4e4f-ba24-e1911bc6da9d
56@end ignore
diff --git a/lispref/functions.texi b/lispref/functions.texi
index 48091772435..e6f50bf4168 100644
--- a/lispref/functions.texi
+++ b/lispref/functions.texi
@@ -1329,6 +1329,3 @@ See @ref{Mapping Functions}.
1329See @ref{Key Lookup}. 1329See @ref{Key Lookup}.
1330@end table 1330@end table
1331 1331
1332@ignore
1333 arch-tag: 39100cdf-8a55-4898-acba-595db619e8e2
1334@end ignore
diff --git a/lispref/gpl.texi b/lispref/gpl.texi
index 433288e26d9..de21adbdd18 100644
--- a/lispref/gpl.texi
+++ b/lispref/gpl.texi
@@ -398,6 +398,3 @@ consider it more useful to permit linking proprietary applications with the
398library. If this is what you want to do, use the GNU Lesser General 398library. If this is what you want to do, use the GNU Lesser General
399Public License instead of this License. 399Public License instead of this License.
400 400
401@ignore
402 arch-tag: d00ac830-e120-41fb-bbc5-7ca3eeaa227f
403@end ignore
diff --git a/lispref/hash.texi b/lispref/hash.texi
index c6bb9caac00..8d757a04798 100644
--- a/lispref/hash.texi
+++ b/lispref/hash.texi
@@ -334,7 +334,3 @@ This returns the rehash threshold of @var{table}.
334@defun hash-table-size table 334@defun hash-table-size table
335This returns the current nominal size of @var{table}. 335This returns the current nominal size of @var{table}.
336@end defun 336@end defun
337
338@ignore
339 arch-tag: 3b5107f9-d2f0-47d5-ad61-3498496bea0e
340@end ignore
diff --git a/lispref/help.texi b/lispref/help.texi
index 7675e38e81e..3f4f83b41c0 100644
--- a/lispref/help.texi
+++ b/lispref/help.texi
@@ -635,7 +635,3 @@ If this variable is non-@code{nil}, commands defined with
635echo area at first, and display the longer @var{help-text} strings only 635echo area at first, and display the longer @var{help-text} strings only
636if the user types the help character again. 636if the user types the help character again.
637@end defopt 637@end defopt
638
639@ignore
640 arch-tag: ba36b4c2-e60f-49e2-bc25-61158fdcd815
641@end ignore
diff --git a/lispref/hooks.texi b/lispref/hooks.texi
index fde028a3d14..4c4e6d14c01 100644
--- a/lispref/hooks.texi
+++ b/lispref/hooks.texi
@@ -136,7 +136,3 @@ however, we have renamed all of those.)
136@item write-file-functions 136@item write-file-functions
137@item write-region-annotate-functions 137@item write-region-annotate-functions
138@end table 138@end table
139
140@ignore
141 arch-tag: 55fd0296-d906-4551-b300-979d3846aa88
142@end ignore
diff --git a/lispref/index.perm b/lispref/index.perm
deleted file mode 100644
index 0b391e85379..00000000000
--- a/lispref/index.perm
+++ /dev/null
@@ -1,38 +0,0 @@
1@setfilename ../info/index
2
3@c Indexing guidelines
4
5@c I assume that all indexes will be combinded.
6@c Therefore, if a generated findex and permutations
7@c cover the ways an index user would look up the entry,
8@c then no cindex is added.
9@c Concept index (cindex) entries will also be permuted. Therefore, they
10@c have no commas and few irrelevant connectives in them.
11
12@c I tried to include words in a cindex that give the context of the entry,
13@c particularly if there is more than one entry for the same concept.
14@c For example, "nil in keymap"
15@c Similarly for explicit findex and vindex entries, e.g., "print example".
16
17@c Error codes are given cindex entries, e.g., "end-of-file error".
18
19@c pindex is used for .el files and Unix programs
20
21@node Index, New Symbols, Standard Hooks, Top
22@unnumbered Index
23
24
25All variables, functions, keys, programs, files, and concepts are
26in this one index.
27
28All names and concepts are permuted, so they appear several times, one
29for each permutation of the parts of the name. For example,
30@code{function-name} would appear as @b{function-name} and @b{name,
31function-}.
32
33
34@c Print the indices
35
36@printindex fn
37
38
diff --git a/lispref/index.unperm b/lispref/index.unperm
deleted file mode 100644
index 95c76e5a00c..00000000000
--- a/lispref/index.unperm
+++ /dev/null
@@ -1,29 +0,0 @@
1@c -*-texinfo-*-
2@setfilename ../info/index
3
4@c Indexing guidelines
5
6@c I assume that all indexes will be combinded.
7@c Therefore, if a generated findex and permutations
8@c cover the ways an index user would look up the entry,
9@c then no cindex is added.
10@c Concept index (cindex) entries will also be permuted. Therefore, they
11@c have no commas and few irrelevant connectives in them.
12
13@c I tried to include words in a cindex that give the context of the entry,
14@c particularly if there is more than one entry for the same concept.
15@c For example, "nil in keymap"
16@c Similarly for explicit findex and vindex entries, e.g. "print example".
17
18@c Error codes are given cindex entries, e.g. "end-of-file error".
19
20@c pindex is used for .el files and Unix programs
21
22@node Index, New Symbols, Standard Hooks, Top
23@unnumbered Index
24
25@c Print the indices
26
27@printindex fn
28
29
diff --git a/lispref/internals.texi b/lispref/internals.texi
index 1810d0b9b9e..e5d6aedad22 100644
--- a/lispref/internals.texi
+++ b/lispref/internals.texi
@@ -1456,7 +1456,3 @@ Size of carryover in encoding.
1456Flag to set @code{coding-system} of the process buffer from the 1456Flag to set @code{coding-system} of the process buffer from the
1457coding system used to decode process output. 1457coding system used to decode process output.
1458@end table 1458@end table
1459
1460@ignore
1461 arch-tag: 4b2c33bc-d7e4-43f5-bc20-27c0db52a53e
1462@end ignore
diff --git a/lispref/intro.texi b/lispref/intro.texi
index 0ecc8f88513..35e8151922d 100644
--- a/lispref/intro.texi
+++ b/lispref/intro.texi
@@ -548,7 +548,3 @@ Francesco Potorti, Friedrich Pukelsheim, Arnold D. Robbins, Raul
548Rockwell, Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, 548Rockwell, Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp,
549Bill Trost, Rickard Westman, Jean White, Matthew Wilding, Carl Witty, 549Bill Trost, Rickard Westman, Jean White, Matthew Wilding, Carl Witty,
550Dale Worley, Rusty Wright, and David D. Zuhn. 550Dale Worley, Rusty Wright, and David D. Zuhn.
551
552@ignore
553 arch-tag: d156593f-82f8-4708-a844-204e48f7f2aa
554@end ignore
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 826f90d5a05..b6170b3a8f0 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -28,7 +28,6 @@ found. The whole process is called @dfn{key lookup}.
28* Key Lookup:: How extracting elements from keymaps works. 28* Key Lookup:: How extracting elements from keymaps works.
29* Functions for Key Lookup:: How to request key lookup. 29* Functions for Key Lookup:: How to request key lookup.
30* Changing Key Bindings:: Redefining a key in a keymap. 30* Changing Key Bindings:: Redefining a key in a keymap.
31* Remapping Commands:: Bindings that translate one command to another.
32* Key Binding Commands:: Interactive interfaces for redefining keys. 31* Key Binding Commands:: Interactive interfaces for redefining keys.
33* Scanning Keymaps:: Looking through all keymaps, for printing help. 32* Scanning Keymaps:: Looking through all keymaps, for printing help.
34* Menu Keymaps:: Defining a menu as a keymap. 33* Menu Keymaps:: Defining a menu as a keymap.
@@ -125,24 +124,27 @@ bindings allow a keymap to bind all possible event types without having
125to enumerate all of them. A keymap that has a default binding 124to enumerate all of them. A keymap that has a default binding
126completely masks any lower-precedence keymap. 125completely masks any lower-precedence keymap.
127 126
128@item @var{char-table} 127@item @var{vector}
129If an element of a keymap is a char-table, it counts as holding 128If an element of a keymap is a vector, the vector counts as bindings for
130bindings for all character events with no modifier bits 129all the @sc{ascii} characters, codes 0 through 127; vector element
131(@pxref{modifier bits}): element @var{n} is the binding for the 130@var{n} is the binding for the character with code @var{n}. This is a
132character with code @var{n}. This is a compact way to record lots of 131compact way to record lots of bindings. A keymap with such a vector is
133bindings. A keymap with such a char-table is called a @dfn{full 132called a @dfn{full keymap}. Other keymaps are called @dfn{sparse
134keymap}. Other keymaps are called @dfn{sparse keymaps}. 133keymaps}.
135 134
136When a keymap contains a char-table vector, it always defines a 135A @code{nil} binding is used to mean that a key is explicitly not bound.
137binding for each character without modifiers. However, if the binding 136Just like any other binding, it takes precedence over a default binding
138is @code{nil}, it doesn't constitute a definition. @code{nil} takes 137or a binding in the parent keymap, but on the other hand, it does not
139precedence over a default binding or a binding in the parent keymap. 138take precedence over keymaps of lower priority.
140So in a full keymap, default bindings are not meaningful for 139
141characters without modifiers. They can still apply to characters with 140When a keymap contains a vector, it always defines a binding for each
142modifier bits and to non-character events. A binding of @code{nil} 141@sc{ascii} character, even if the vector contains @code{nil} for that
143does @emph{not} override lower-precedence keymaps; thus, if the local 142character. Such a binding of @code{nil} overrides any default key
144map gives a binding of @code{nil}, Emacs uses the binding from the 143binding in the keymap, for @sc{ascii} characters. However, default
145global map. 144bindings are still meaningful for events other than @sc{ascii}
145characters. A binding of @code{nil} does @emph{not} override
146lower-precedence keymaps; thus, if the local map gives a binding of
147@code{nil}, Emacs uses the binding from the global map.
146 148
147@item @var{string} 149@item @var{string}
148@cindex keymap prompt string 150@cindex keymap prompt string
@@ -528,8 +530,7 @@ when the minor mode is enabled.
528 530
529 The variable @code{overriding-local-map}, if non-@code{nil}, specifies 531 The variable @code{overriding-local-map}, if non-@code{nil}, specifies
530another local keymap that overrides the buffer's local map and all the 532another local keymap that overrides the buffer's local map and all the
531minor mode keymaps. Modes for emulation can specify additional 533minor mode keymaps.
532active keymaps through the variable @code{emulation-mode-map-alists}.
533 534
534 All the active keymaps are used together to determine what command to 535 All the active keymaps are used together to determine what command to
535execute when a key is entered. Emacs searches these maps one by one, in 536execute when a key is entered. Emacs searches these maps one by one, in
@@ -713,16 +714,6 @@ binding in this keymap, then it is special, and the binding for the
713event is run directly by @code{read-event}. @xref{Special Events}. 714event is run directly by @code{read-event}. @xref{Special Events}.
714@end defvar 715@end defvar
715 716
716@defvar emulation-mode-map-alists
717This variable holds a list of keymap alists to use for emulations
718modes. It is intended for modes or packages using multiple minor-mode
719keymaps. Each element is a keymap alist which has the same format and
720meaning as @code{minor-mode-map-alist}, or a symbol with a variable
721binding which is such an alist. The ``active'' keymaps in each alist
722are used before @code{minor-mode-map-alist} and
723@code{minor-mode-overriding-map-alist}.
724@end defvar
725
726@node Key Lookup 717@node Key Lookup
727@section Key Lookup 718@section Key Lookup
728@cindex key lookup 719@cindex key lookup
@@ -927,7 +918,7 @@ Used in keymaps to undefine keys. It calls @code{ding}, but does
927not cause an error. 918not cause an error.
928@end deffn 919@end deffn
929 920
930@defun key-binding key &optional accept-defaults no-remap 921@defun key-binding key &optional accept-defaults
931This function returns the binding for @var{key} in the current 922This function returns the binding for @var{key} in the current
932keymaps, trying all the active keymaps. The result is @code{nil} if 923keymaps, trying all the active keymaps. The result is @code{nil} if
933@var{key} is undefined in the keymaps. 924@var{key} is undefined in the keymaps.
@@ -936,12 +927,6 @@ keymaps, trying all the active keymaps. The result is @code{nil} if
936The argument @var{accept-defaults} controls checking for default 927The argument @var{accept-defaults} controls checking for default
937bindings, as in @code{lookup-key} (above). 928bindings, as in @code{lookup-key} (above).
938 929
939When commands are remapped (@pxref{Remapping Commands}),
940@code{key-binding} normally processes command remappings so as to
941returns the remapped command that will actually be executed. However,
942if @var{no-remap} is non-@code{nil}, @code{key-binding} ignores
943remappings and returns the binding directly specified for @var{key}.
944
945An error is signaled if @var{key} is not a string or a vector. 930An error is signaled if @var{key} is not a string or a vector.
946 931
947@example 932@example
@@ -1165,12 +1150,6 @@ changing an entry in @code{ctl-x-map}, and this has the effect of
1165changing the bindings of both @kbd{C-p C-f} and @kbd{C-x C-f} in the 1150changing the bindings of both @kbd{C-p C-f} and @kbd{C-x C-f} in the
1166default global map. 1151default global map.
1167 1152
1168 The function @code{substitute-key-definition} scans a keymap for
1169keys that have a certain binding and rebind them with a different
1170binding. Another feature you can use for similar effects, but which
1171is often cleaner, is to add a binding that remaps a command
1172(@pxref{Remapping Commands}).
1173
1174@defun substitute-key-definition olddef newdef keymap &optional oldmap 1153@defun substitute-key-definition olddef newdef keymap &optional oldmap
1175@cindex replace bindings 1154@cindex replace bindings
1176This function replaces @var{olddef} with @var{newdef} for any keys in 1155This function replaces @var{olddef} with @var{newdef} for any keys in
@@ -1205,6 +1184,13 @@ bindings in another. For example,
1205puts the special deletion command in @code{my-map} for whichever keys 1184puts the special deletion command in @code{my-map} for whichever keys
1206are globally bound to the standard deletion command. 1185are globally bound to the standard deletion command.
1207 1186
1187@ignore
1188@c Emacs 18 only
1189Prefix keymaps that appear within @var{keymap} are not checked
1190recursively for keys bound to @var{olddef}; they are not changed at all.
1191Perhaps it would be better to check nested keymaps recursively.
1192@end ignore
1193
1208Here is an example showing a keymap before and after substitution: 1194Here is an example showing a keymap before and after substitution:
1209 1195
1210@smallexample 1196@smallexample
@@ -1273,56 +1259,6 @@ Dired mode is set up:
1273@end smallexample 1259@end smallexample
1274@end defun 1260@end defun
1275 1261
1276@node Remapping Commands
1277@section Remapping Commands
1278@cindex remapping commands
1279
1280 A special kind of key binding, using a special ``key sequence''
1281which includes a command name, has the effect of @dfn{remapping} that
1282command into another. Here's how it works. You make a key binding
1283for a key sequence tha starts with the dummy event @code{remap},
1284followed by the command name you want to remap. Specify the remapped
1285definition as the definition in this binding. The remapped definition
1286is usually a command name, but it can be any valid definition for
1287a key binding.
1288
1289 Here's an example. Suppose that My mode uses special commands
1290@code{my-kill-line} and @code{my-kill-word}, which should be invoked
1291instead of @code{kill-line} and @code{kill-word}. It can establish
1292this by making these two command-remapping bindings in its keymap:
1293
1294@example
1295(define-key my-mode-map [remap kill-line] 'my-kill-line)
1296(define-key my-mode-map [remap kill-word] 'my-kill-word)
1297@end example
1298
1299Whenever @code{my-mode-map} is an active keymap, if the user types
1300@kbd{C-k}, Emacs will find the standard global binding of
1301@code{kill-line} (assuming nobody has changed it). But
1302@code{my-mode-map} remaps @code{kill-line} to @code{my-mode-map},
1303so instead of running @code{kill-line}, Emacs runs
1304@code{my-kill-line}.
1305
1306Remapping only works through a single level. In other words,
1307
1308@example
1309(define-key my-mode-map [remap kill-line] 'my-kill-line)
1310(define-key my-mode-map [remap my-kill-line] 'my-other-kill-line)
1311@end example
1312
1313@noindent
1314does not have the effect of remapping @code{kill-line} into
1315@code{my-other-kill-line}. If an ordinary key binding specifies
1316@code{kill-line}, this keymap will remap it to @code{my-kill-line};
1317if an ordinary binding specifies @code{my-kill-line}, this keymap will
1318remap it to @code{my-other-kill-line}.
1319
1320@defun command-remapping command
1321This function returns the remapping for @var{command}, given the
1322current active keymaps. If @var{command} is not remapped (which is
1323the usual situation), the function returns @code{nil}.
1324@end defun
1325
1326@node Key Binding Commands 1262@node Key Binding Commands
1327@section Commands for Binding Keys 1263@section Commands for Binding Keys
1328 1264
@@ -1552,7 +1488,7 @@ This function is the cleanest way to examine all the bindings
1552in a keymap. 1488in a keymap.
1553@end defun 1489@end defun
1554 1490
1555@defun where-is-internal command &optional keymap firstonly noindirect no-remap 1491@defun where-is-internal command &optional keymap firstonly noindirect
1556This function is a subroutine used by the @code{where-is} command 1492This function is a subroutine used by the @code{where-is} command
1557(@pxref{Help, , Help, emacs,The GNU Emacs Manual}). It returns a list 1493(@pxref{Help, , Help, emacs,The GNU Emacs Manual}). It returns a list
1558of key sequences (of any length) that are bound to @var{command} in a 1494of key sequences (of any length) that are bound to @var{command} in a
@@ -1583,13 +1519,6 @@ If @var{noindirect} is non-@code{nil}, @code{where-is-internal} doesn't
1583follow indirect keymap bindings. This makes it possible to search for 1519follow indirect keymap bindings. This makes it possible to search for
1584an indirect definition itself. 1520an indirect definition itself.
1585 1521
1586When command remapping is in effect (@pxref{Remapping Commands}),
1587@code{where-is-internal} figures out when a command will be run due to
1588remapping and reports keys accordingly. It also returns @code{nil} if
1589@var{command} won't really be run because it has been remapped to some
1590other command. However, if @var{no-remap} is non-@code{nil}.
1591@code{where-is-internal} ignores remappings.
1592
1593@smallexample 1522@smallexample
1594@group 1523@group
1595(where-is-internal 'describe-function) 1524(where-is-internal 'describe-function)
@@ -2341,26 +2270,15 @@ To define items in some local map, bind @code{`tool-bar-map} with
2341 2270
2342@defun tool-bar-add-item-from-menu command icon &optional map &rest props 2271@defun tool-bar-add-item-from-menu command icon &optional map &rest props
2343@tindex tool-bar-add-item-from-menu 2272@tindex tool-bar-add-item-from-menu
2344This function is a convenience for defining tool bar items which are 2273This command is a convenience for defining tool bar items which are
2345consistent with existing menu bar bindings. The binding of 2274consistent with existing menu bar bindings. The binding of
2346@var{command} is looked up in the menu bar in @var{map} (default 2275@var{command} is looked up in the menu bar in @var{map} (default
2347@code{global-map}) and modified to add an image specification for 2276@code{global-map}) and modified to add an image specification for
2348@var{icon}, which is found in the same way as by 2277@var{icon}, which is looked for in the same way as by
2349@code{tool-bar-add-item}. The resulting binding is then placed in 2278@code{tool-bar-add-item}. The resulting binding is then placed in
2350@code{tool-bar-map}, so use this function only for global tool bar 2279@code{tool-bar-map}. @var{map} must contain an appropriate keymap bound
2351items. 2280to @code{[menu-bar]}. The remaining arguments @var{props} are
2352 2281additional property list elements to add to the menu item specification.
2353@var{map} must contain an appropriate keymap bound to
2354@code{[menu-bar]}. The remaining arguments @var{props} are additional
2355property list elements to add to the menu item specification.
2356@end defun
2357
2358@defun tool-bar-local-item-from-menu command icon in-map &optional from-map &rest props
2359This function is used for making non-global tool bar items. Use it
2360like @code{tool-bar-add-item-from-menu} except that @var{in-map}
2361specifies the local map to make the definition in. The argument
2362@var{from-map} si like the @var{map} argument of
2363@code{tool-bar-add-item-from-menu}.
2364@end defun 2282@end defun
2365 2283
2366@tindex auto-resize-tool-bar 2284@tindex auto-resize-tool-bar
@@ -2453,7 +2371,3 @@ menu of Shell mode, after the item @code{break}:
2453 [work] '("Work" . work-command) 'break) 2371 [work] '("Work" . work-command) 'break)
2454@end example 2372@end example
2455@end defun 2373@end defun
2456
2457@ignore
2458 arch-tag: cfb87287-9364-4e46-9e93-6c2f7f6ae794
2459@end ignore
diff --git a/lispref/lay-flat.texi b/lispref/lay-flat.texi
index c77962456ed..0b0b2b6a566 100644
--- a/lispref/lay-flat.texi
+++ b/lispref/lay-flat.texi
@@ -37,7 +37,3 @@ pushed or held down.
37@end tex 37@end tex
38 38
39@bye 39@bye
40
41@ignore
42 arch-tag: 9e03a1c7-6f62-4346-85d9-ed5b79386e07
43@end ignore
diff --git a/lispref/lists.texi b/lispref/lists.texi
index e68d1658a8b..f332f13040d 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -1668,7 +1668,3 @@ of @var{alist}.
1668 @result{} ((bar 2) (lose 4)) 1668 @result{} ((bar 2) (lose 4))
1669@end example 1669@end example
1670@end defun 1670@end defun
1671
1672@ignore
1673 arch-tag: 31fb8a4e-4aa8-4a74-a206-aa00451394d4
1674@end ignore
diff --git a/lispref/loading.texi b/lispref/loading.texi
index 752f0bcf7a4..97cddfd8dff 100644
--- a/lispref/loading.texi
+++ b/lispref/loading.texi
@@ -852,7 +852,3 @@ implement @code{eval-after-load}.
852@end defvar 852@end defvar
853 853
854@c Emacs 19 feature 854@c Emacs 19 feature
855
856@ignore
857 arch-tag: df731f89-0900-4389-a436-9105241b6f7a
858@end ignore
diff --git a/lispref/locals.texi b/lispref/locals.texi
index 8a7a1387710..6d998dabdf6 100644
--- a/lispref/locals.texi
+++ b/lispref/locals.texi
@@ -174,7 +174,3 @@ Used for communication between mouse commands and scroll-bar commands.
174@item vc-mode 174@item vc-mode
175@xref{Mode Line Variables}. 175@xref{Mode Line Variables}.
176@end table 176@end table
177
178@ignore
179 arch-tag: 6baae835-b667-4447-91e2-9829ae1cf543
180@end ignore
diff --git a/lispref/macros.texi b/lispref/macros.texi
index b28797b06c9..3c91e5bb317 100644
--- a/lispref/macros.texi
+++ b/lispref/macros.texi
@@ -30,7 +30,6 @@ instead. @xref{Inline Functions}.
30* Backquote:: Easier construction of list structure. 30* Backquote:: Easier construction of list structure.
31* Problems with Macros:: Don't evaluate the macro arguments too many times. 31* Problems with Macros:: Don't evaluate the macro arguments too many times.
32 Don't hide the user's variables. 32 Don't hide the user's variables.
33* Indenting Macros:: Specifying how to indent macro calls.
34@end menu 33@end menu
35 34
36@node Simple Macro 35@node Simple Macro
@@ -206,30 +205,6 @@ any @code{interactive} declaration is ignored since macros cannot be
206called interactively. 205called interactively.
207@end defspec 206@end defspec
208 207
209 The body of the macro definition can include a @code{declare} form,
210which can specify how @key{TAB} should indent macro calls, and how to
211step through them for Edebug.
212
213@defspec declare @var{specs}...
214This special form is used at top level in a macro definition to
215specify various additional information about it. Two kinds of
216specification are currently supported:
217
218@table @code
219@item (edebug @var{edebug-form-spec})
220Specify how to step through macro calls for Edebug.
221@xref{Instrumenting Macro Calls}, for more details.
222
223@item (indent @var{indent-spec})
224Specify how to indent calls to this macro. @xref{Indenting Macros},
225for more details.
226@end table
227@end defspec
228
229 No macro absolutely needs a @code{declare} form, because that form
230has no effect on how the macro expands, on what the macro means in the
231program. It only affects secondary features: indentation and Edebug.
232
233@node Backquote 208@node Backquote
234@section Backquote 209@section Backquote
235@cindex backquote (list substitution) 210@cindex backquote (list substitution)
@@ -661,62 +636,3 @@ One way to avoid pathological cases like this is to think of
661allocation construct. You wouldn't use @code{setcar} on a constant such 636allocation construct. You wouldn't use @code{setcar} on a constant such
662as @code{'(nil)}, so naturally you won't use it on @code{(empty-object)} 637as @code{'(nil)}, so naturally you won't use it on @code{(empty-object)}
663either. 638either.
664
665@node Indenting Macros
666@section Indenting Macros
667
668 You can use the @code{declare} form in the macro definition to
669specify how to @key{TAB} should indent indent calls to the macro. You
670write it like this:
671
672@example
673(declare (indent @var{indent-spec}))
674@end example
675
676@noindent
677Here are the possibilities for @var{indent-spec}:
678
679@table @asis
680@item @code{nil}
681This is the same as no property---use the standard indentation pattern.
682@item @code{defun}
683Handle this function like a @samp{def} construct: treat the second
684line as the start of a @dfn{body}.
685@item a number, @var{number}
686The first @var{number} arguments of the function are
687@dfn{distinguished} arguments; the rest are considered the body
688of the expression. A line in the expression is indented according to
689whether the first argument on it is distinguished or not. If the
690argument is part of the body, the line is indented @code{lisp-body-indent}
691more columns than the open-parenthesis starting the containing
692expression. If the argument is distinguished and is either the first
693or second argument, it is indented @emph{twice} that many extra columns.
694If the argument is distinguished and not the first or second argument,
695the line uses the standard pattern.
696@item a symbol, @var{symbol}
697@var{symbol} should be a function name; that function is called to
698calculate the indentation of a line within this expression. The
699function receives two arguments:
700@table @asis
701@item @var{state}
702The value returned by @code{parse-partial-sexp} (a Lisp primitive for
703indentation and nesting computation) when it parses up to the
704beginning of this line.
705@item @var{pos}
706The position at which the line being indented begins.
707@end table
708@noindent
709It should return either a number, which is the number of columns of
710indentation for that line, or a list whose car is such a number. The
711difference between returning a number and returning a list is that a
712number says that all following lines at the same nesting level should
713be indented just like this one; a list says that following lines might
714call for different indentations. This makes a difference when the
715indentation is being computed by @kbd{C-M-q}; if the value is a
716number, @kbd{C-M-q} need not recalculate indentation for the following
717lines until the end of the list.
718@end table
719
720@ignore
721 arch-tag: d4cce66d-1047-45c3-bfde-db6719d6e82b
722@end ignore
diff --git a/lispref/makefile.w32-in b/lispref/makefile.w32-in
deleted file mode 100644
index 8cb9aa83330..00000000000
--- a/lispref/makefile.w32-in
+++ /dev/null
@@ -1,140 +0,0 @@
1# Makefile for the GNU Emacs Lisp Reference Manual.
2
3# Copyright (C) 2003
4# Free Software Foundation, Inc.
5
6# This file is part of GNU Emacs.
7
8# GNU Emacs is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2, or (at your option)
11# any later version.
12
13# GNU Emacs is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
19# along with GNU Emacs; see the file COPYING. If not, write to
20# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA.
22
23# Standard configure variables.
24srcdir = .
25
26infodir = $(srcdir)/../info
27
28# Redefine `TEX' if `tex' does not invoke plain TeX. For example:
29# TEX=platex
30TEX=tex
31INSTALL_INFO = install-info
32MAKEINFO = makeinfo
33
34# The environment variable and its value to add $(srcdir) to the path
35# searched for TeX input files.
36texinputdir = $(srcdir)\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" /C
37
38# The name of the manual:
39VERSION=2.9
40manual = elisp-manual-21-$(VERSION)
41
42# Uncomment this line for permuted index.
43# permuted_index = 1
44
45# List of all the texinfo files in the manual:
46
47srcs = \
48 $(srcdir)/abbrevs.texi \
49 $(srcdir)/advice.texi \
50 $(srcdir)/anti.texi \
51 $(srcdir)/back.texi \
52 $(srcdir)/backups.texi \
53 $(srcdir)/buffers.texi \
54 $(srcdir)/calendar.texi \
55 $(srcdir)/commands.texi \
56 $(srcdir)/compile.texi \
57 $(srcdir)/control.texi \
58 $(srcdir)/customize.texi \
59 $(srcdir)/debugging.texi \
60 $(srcdir)/display.texi \
61 $(srcdir)/edebug.texi \
62 $(srcdir)/elisp.texi \
63 $(srcdir)/errors.texi \
64 $(srcdir)/eval.texi \
65 $(srcdir)/files.texi \
66 $(srcdir)/frames.texi \
67 $(srcdir)/functions.texi \
68 $(srcdir)/hash.texi \
69 $(srcdir)/help.texi \
70 $(srcdir)/hooks.texi \
71 $(srcdir)/internals.texi \
72 $(srcdir)/intro.texi \
73 $(srcdir)/keymaps.texi \
74 $(srcdir)/lists.texi \
75 $(srcdir)/loading.texi \
76 $(srcdir)/locals.texi \
77 $(srcdir)/macros.texi \
78 $(srcdir)/maps.texi \
79 $(srcdir)/markers.texi \
80 $(srcdir)/minibuf.texi \
81 $(srcdir)/modes.texi \
82 $(srcdir)/nonascii.texi \
83 $(srcdir)/numbers.texi \
84 $(srcdir)/objects.texi \
85 $(srcdir)/os.texi \
86 $(srcdir)/positions.texi \
87 $(srcdir)/processes.texi \
88 $(srcdir)/searching.texi \
89 $(srcdir)/sequences.texi \
90 $(srcdir)/streams.texi \
91 $(srcdir)/strings.texi \
92 $(srcdir)/symbols.texi \
93 $(srcdir)/syntax.texi \
94 $(srcdir)/text.texi \
95 $(srcdir)/tips.texi \
96 $(srcdir)/variables.texi \
97 $(srcdir)/windows.texi \
98 $(srcdir)/index.unperm \
99 $(srcdir)/index.perm \
100 $(srcdir)/gpl.texi \
101 $(srcdir)/doclicense.texi
102
103
104.PHONY: clean
105
106# The info file is named `elisp'.
107info: $(infodir)/elisp
108 $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp
109
110$(infodir)/elisp: $(srcs) index.texi
111 $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
112
113elisp.dvi: $(srcs) index.texi
114# Avoid losing old contents of aux file entirely.
115 -ren elisp.aux elisp.oaux
116# First shot to define xrefs.
117 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
118 if not a$(permuted_index) == a sh $(srcdir)/permute-index
119 if not a$(permuted_index) == a ren permuted.fns elisp.fns
120 if not a$(permuted_index) == a texindex elisp.tp
121 if a$(permuted_index) == a texindex elisp.??
122 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
123
124index.texi:
125 if a$(permuted_index) == a cp $(srcdir)/index.unperm index.texi
126 if not a$(permuted_index) == a cp $(srcdir)/index.perm index.texi
127
128clean:
129 rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
130 *.vr *.vrs *.pg *.pgs *.ky *.kys
131 rm -f make.out core
132 rm -f index.texi
133 rm -f $(infodir)/elisp*
134
135distclean: clean
136
137maintainer-clean: clean
138 rm -f elisp elisp-* elisp.dvi elisp.oaux
139
140# arch-tag: da68f1c2-536d-4d41-9150-7b01434eda3f
diff --git a/lispref/maps.texi b/lispref/maps.texi
index 16c1f0bab9b..8a529e81d2f 100644
--- a/lispref/maps.texi
+++ b/lispref/maps.texi
@@ -187,7 +187,3 @@ A sparse keymap used by Text mode.
187@vindex view-mode-map 187@vindex view-mode-map
188A full keymap used by View mode. 188A full keymap used by View mode.
189@end table 189@end table
190
191@ignore
192 arch-tag: b741253c-7e23-4a02-b3fa-cffd9e4d72b9
193@end ignore
diff --git a/lispref/markers.texi b/lispref/markers.texi
index e50dacd8829..dec9396a787 100644
--- a/lispref/markers.texi
+++ b/lispref/markers.texi
@@ -639,7 +639,3 @@ should normally use @code{interactive} with the @samp{r} specification
639to find the beginning and end of the region. This lets other Lisp 639to find the beginning and end of the region. This lets other Lisp
640programs specify the bounds explicitly as arguments. (@xref{Interactive 640programs specify the bounds explicitly as arguments. (@xref{Interactive
641Codes}.) 641Codes}.)
642
643@ignore
644 arch-tag: b1ba2e7a-a0f3-4c5e-875c-7d8e22d73299
645@end ignore
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index 44161c0178d..573191c6781 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -1083,7 +1083,7 @@ predicate @code{user-variable-p} instead of @code{commandp}:
1083file name. It provides special features including automatic insertion 1083file name. It provides special features including automatic insertion
1084of the default directory. 1084of the default directory.
1085 1085
1086@defun read-file-name prompt &optional directory default existing initial predicate 1086@defun read-file-name prompt &optional directory default existing initial
1087This function reads a file name in the minibuffer, prompting with 1087This function reads a file name in the minibuffer, prompting with
1088@var{prompt} and providing completion. If @var{default} is 1088@var{prompt} and providing completion. If @var{default} is
1089non-@code{nil}, then the function returns @var{default} if the user just 1089non-@code{nil}, then the function returns @var{default} if the user just
@@ -1112,11 +1112,6 @@ case, point goes at the beginning of @var{initial}. The default for
1112@var{initial} does, try the command @kbd{C-x C-v}. @strong{Note:} we 1112@var{initial} does, try the command @kbd{C-x C-v}. @strong{Note:} we
1113recommend using @var{default} rather than @var{initial} in most cases. 1113recommend using @var{default} rather than @var{initial} in most cases.
1114 1114
1115If @var{predicate} is non-@code{nil}, it specifies a function of one
1116argument that decides which file names are acceptable completion
1117possibilities. A file name is an acceptable value if @var{predicate}
1118returns non-@code{nil} for it.
1119
1120Here is an example: 1115Here is an example:
1121 1116
1122@example 1117@example
@@ -1151,11 +1146,6 @@ If the user types @key{RET}, @code{read-file-name} returns the file name
1151as the string @code{"/gp/gnu/elisp/manual.texi"}. 1146as the string @code{"/gp/gnu/elisp/manual.texi"}.
1152@end defun 1147@end defun
1153 1148
1154@defun read-directory-name prompt &optional directory default existing initial
1155This function is like @code{read-file-name} but allows only directory
1156names as completion possibilities.
1157@end defun
1158
1159@defopt insert-default-directory 1149@defopt insert-default-directory
1160This variable is used by @code{read-file-name}. Its value controls 1150This variable is used by @code{read-file-name}. Its value controls
1161whether @code{read-file-name} starts by placing the name of the default 1151whether @code{read-file-name} starts by placing the name of the default
@@ -1693,7 +1683,3 @@ This function displays @var{string} temporarily at the end of the
1693minibuffer text, for @var{timeout} seconds. (The default is 2 1683minibuffer text, for @var{timeout} seconds. (The default is 2
1694seconds.) 1684seconds.)
1695@end defun 1685@end defun
1696
1697@ignore
1698 arch-tag: bba7f945-9078-477f-a2ce-18818a6e1218
1699@end ignore
diff --git a/lispref/modes.texi b/lispref/modes.texi
index 1272d8cc5c8..25f44b92e09 100644
--- a/lispref/modes.texi
+++ b/lispref/modes.texi
@@ -4,7 +4,7 @@
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../info/modes 6@setfilename ../info/modes
7@node Modes, Documentation, Keymaps, Top 7@node Modes, Documentation, Keymaps, Top
8@chapter Major and Minor Modes 8@chapter Major and Minor Modes
9@cindex mode 9@cindex mode
10 10
@@ -1161,7 +1161,6 @@ actually appears.
1161* %-Constructs:: Putting information into a mode line. 1161* %-Constructs:: Putting information into a mode line.
1162* Properties in Mode:: Using text properties in the mode line. 1162* Properties in Mode:: Using text properties in the mode line.
1163* Header Lines:: Like a mode line, but at the top. 1163* Header Lines:: Like a mode line, but at the top.
1164* Emulating Mode Line:: Formatting text as the mode line would.
1165@end menu 1164@end menu
1166 1165
1167@node Mode Line Data 1166@node Mode Line Data
@@ -1611,31 +1610,6 @@ that do not override it. This is the same as @code{(default-value
1611It is normally @code{nil}, so that ordinary buffers have no header line. 1610It is normally @code{nil}, so that ordinary buffers have no header line.
1612@end defvar 1611@end defvar
1613 1612
1614@node Emulating Mode Line
1615@subsection Emulating Mode Line Formatting
1616
1617 You can use the function @code{format-mode-line} to compute
1618the text that would appear in a mode line or header line
1619based on certain mode line specification.
1620
1621@defun format-mode-line &optional format window no-props
1622This function formats a line of text according to @var{format} as if
1623it were generating the mode line for @var{window}, but instead of
1624displaying the text in the mode line or the header line, it returns
1625the text as a string.
1626
1627If @var{format} is @code{nil}, that means to use
1628@code{mode-line-format} and return the text that would appear in the
1629mode line. If @var{format} is @code{t}, that means to use
1630@code{header-line-format} so as to return the text that would appear
1631in the header line (@code{""} if the window has no header line).
1632The argument @var{window} defaults to the selected window.
1633
1634The value string normally has text properties that correspond to the
1635faces, keymaps, etc., that the mode line would have. If
1636@var{no-props} is non-@code{nil}, the value has no text properties.
1637@end defun
1638
1639@node Imenu 1613@node Imenu
1640@section Imenu 1614@section Imenu
1641 1615
@@ -1996,14 +1970,13 @@ of the match to fontify (0 means the entire matching text). The second
1996subelement, @var{facename}, specifies the face, as described above. 1970subelement, @var{facename}, specifies the face, as described above.
1997 1971
1998The last two values in @var{highlighter}, @var{override} and 1972The last two values in @var{highlighter}, @var{override} and
1999@var{laxmatch}, are flags. If @var{override} is @code{t}, this 1973@var{laxmatch}, are flags. If @var{override} is @code{t}, this element
2000element can override existing fontification made by previous elements 1974can override existing fontification made by previous elements of
2001of @code{font-lock-keywords}. If it is @code{keep}, then each 1975@code{font-lock-keywords}. If it is @code{keep}, then each character is
2002character is fontified if it has not been fontified already by some 1976fontified if it has not been fontified already by some other element.
2003other element. If it is @code{prepend}, the face @var{facename} is 1977If it is @code{prepend}, the face @var{facename} is added to the
2004added to the beginning of the @code{font-lock-face} property. If it 1978beginning of the @code{face} property. If it is @code{append}, the face
2005is @code{append}, the face @var{facename} is added to the end of the 1979@var{facename} is added to the end of the @code{face} property.
2006@code{font-lock-face} property.
2007 1980
2008If @var{laxmatch} is non-@code{nil}, it means there should be no error 1981If @var{laxmatch} is non-@code{nil}, it means there should be no error
2009if there is no subexpression numbered @var{subexp} in @var{matcher}. 1982if there is no subexpression numbered @var{subexp} in @var{matcher}.
@@ -2159,11 +2132,11 @@ textual modes.
2159@end defvar 2132@end defvar
2160 2133
2161@defvar font-lock-extra-managed-props 2134@defvar font-lock-extra-managed-props
2162Additional properties (other than @code{font-lock-face}) that are 2135Additional properties (other than @code{face}) that are being managed
2163being managed by Font Lock mode. Font Lock mode normally manages only 2136by Font Lock mode. Font Lock mode normally manages only the @code{face}
2164the @code{font-lock-face} property; if you want it to manage others as 2137property; if you want it to manage others as well, you must specify
2165well, you must specify them in a @var{facename} in 2138them in a @var{facename} in @code{font-lock-keywords} as well as adding
2166@code{font-lock-keywords} as well as adding them to this list. 2139them to this list.
2167@end defvar 2140@end defvar
2168 2141
2169@node Levels of Font Lock 2142@node Levels of Font Lock
@@ -2491,7 +2464,3 @@ This function removes @var{function} from the hook variable @var{hook}.
2491If @var{local} is non-@code{nil}, that says to remove @var{function} 2464If @var{local} is non-@code{nil}, that says to remove @var{function}
2492from the buffer-local hook list instead of from the global hook list. 2465from the buffer-local hook list instead of from the global hook list.
2493@end defun 2466@end defun
2494
2495@ignore
2496 arch-tag: 4c7bff41-36e6-4da6-9e7f-9b9289e27c8e
2497@end ignore
diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi
index 769e13d5342..12f3afd5f4d 100644
--- a/lispref/nonascii.texi
+++ b/lispref/nonascii.texi
@@ -1301,7 +1301,3 @@ strings in the return value are decoded using
1301@code{locale-coding-system}. @xref{Locales,,, libc, GNU Libc Manual}, 1301@code{locale-coding-system}. @xref{Locales,,, libc, GNU Libc Manual},
1302for more information about locales and locale items. 1302for more information about locales and locale items.
1303@end defun 1303@end defun
1304
1305@ignore
1306 arch-tag: be705bf8-941b-4c35-84fc-ad7d20ddb7cb
1307@end ignore
diff --git a/lispref/numbers.texi b/lispref/numbers.texi
index e2cfc937c4d..e233a9f1d9f 100644
--- a/lispref/numbers.texi
+++ b/lispref/numbers.texi
@@ -1180,7 +1180,3 @@ On some machines, any integer representable in Lisp may be the result
1180of @code{random}. On other machines, the result can never be larger 1180of @code{random}. On other machines, the result can never be larger
1181than a certain maximum or less than a certain (negative) minimum. 1181than a certain maximum or less than a certain (negative) minimum.
1182@end defun 1182@end defun
1183
1184@ignore
1185 arch-tag: 574e8dd2-d513-4616-9844-c9a27869782e
1186@end ignore
diff --git a/lispref/objects.texi b/lispref/objects.texi
index c343bac4829..309071920d8 100644
--- a/lispref/objects.texi
+++ b/lispref/objects.texi
@@ -409,8 +409,7 @@ represents the shifted-control-o character.
409@cindex hyper characters 409@cindex hyper characters
410@cindex super characters 410@cindex super characters
411@cindex alt characters 411@cindex alt characters
412 The X Window System defines three other @anchor{modifier bits} 412 The X Window System defines three other modifier bits that can be set
413modifier bits that can be set
414in a character: @dfn{hyper}, @dfn{super} and @dfn{alt}. The syntaxes 413in a character: @dfn{hyper}, @dfn{super} and @dfn{alt}. The syntaxes
415for these bits are @samp{\H-}, @samp{\s-} and @samp{\A-}. (Case is 414for these bits are @samp{\H-}, @samp{\s-} and @samp{\A-}. (Case is
416significant in these prefixes.) Thus, @samp{?\H-\M-\A-x} represents 415significant in these prefixes.) Thus, @samp{?\H-\M-\A-x} represents
@@ -1903,7 +1902,3 @@ returns @code{t} if and only if both the expressions below return
1903 1902
1904Because of this recursive method, circular lists may therefore cause 1903Because of this recursive method, circular lists may therefore cause
1905infinite recursion (leading to an error). 1904infinite recursion (leading to an error).
1906
1907@ignore
1908 arch-tag: 9711a66e-4749-4265-9e8c-972d55b67096
1909@end ignore
diff --git a/lispref/os.texi b/lispref/os.texi
index a92f550b556..3536c086f1f 100644
--- a/lispref/os.texi
+++ b/lispref/os.texi
@@ -1233,8 +1233,6 @@ arguments; for example, day 0 means the day preceding the given month.
1233 1233
1234The operating system puts limits on the range of possible time values; 1234The operating system puts limits on the range of possible time values;
1235if you try to encode a time that is out of range, an error results. 1235if you try to encode a time that is out of range, an error results.
1236For instance, years before 1970 do not work on some systems;
1237on others, years as early as 1901 do work.
1238@end defun 1236@end defun
1239 1237
1240@node Time Calculations 1238@node Time Calculations
@@ -2075,7 +2073,3 @@ Emacs is restarted by the session manager.
2075 nil) 2073 nil)
2076@end group 2074@end group
2077@end example 2075@end example
2078
2079@ignore
2080 arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7
2081@end ignore
diff --git a/lispref/permute-index b/lispref/permute-index
deleted file mode 100644
index bbe2be75cba..00000000000
--- a/lispref/permute-index
+++ /dev/null
@@ -1,124 +0,0 @@
1#!/bin/sh
2# Generate a permuted index of all names.
3# The result is a file called index.fns.
4
5# Copyright (C) 2001 Free Software Foundation, Inc.
6#
7# This file is part of GNU Emacs.
8#
9# GNU Emacs is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2, or (at your option)
12# any later version.
13#
14# GNU Emacs is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with GNU Emacs; see the file COPYING. If not, write to the
21# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22# Boston, MA 02111-1307, USA.
23
24# You will need to modify this for your needs.
25
26
27set TEXINDEX=texindex # path to texindex command
28#set EMACS=gnuemacs # your emacs command
29#set TEX=tex # your tex command
30
31set MANUAL=elisp # the base name of the manual
32
33# goto 3
34
351:
36echo "Extract raw index from texinfo fn index."
37# Let texindex combine duplicate entries, later.
38# But it wants to protect non-alphanumerics thus confusing ptx.
39# Also change `\ ' to just a ` ', since texindex will fail. This is produced
40# by `@findex two words' in an example environment (no doubt among others).
41# delete wrapper parens
42# change dots {} to dots{}
43# change {-} to char form, so ptx wont ignore it.
44# delete leading \entry {
45# change '\ ' to ' '
46# change lines with = < > since they mess up field extraction.
47# separate into fields delimited by "
48rm -f permuted.raw
49cat ${MANUAL}.fn | \
50 sed \
51 -e 's/(\([^)]*\))/\1/' \
52 -e 's/\\dots {}/(\\dots{})/' \
53 -e "s/{-}/{{\\tt\\char'055}}/" \
54 -e 's,^[^ ]* {,,' \
55 -e 's, },},' \
56 -e 's,\\ , ,g' \
57 -e 's/{\\tt\\char61}/=/' \
58 -e 's/{\\tt\\gtr}/>/' \
59 -e 's/{\\tt\\less}/</' \
60 -e 's/}{/"/g' \
61 | awk -F\" '{print $2, $1}' > permuted.raw
62
632:
64# Build break file for ptx.
65cat <<EOF > permuted.break
66-
67:
68EOF
69# Build the ignore file for ptx.
70# We would like to ignore "and", "or", and "for",
71# but ptx ignores ignore words even if they stand alone.
72cat <<EOF > permuted.ignore
73the
74in
75to
76as
77a
78an
79of
80on
81them
82how
83from
84by
85EOF
86
87echo "Make troff permuted index."
88rm -f permuted.t
89ptx -i permuted.ignore -b permuted.break -f -r -w 144 \
90 < permuted.raw > permuted.t
91
923:
93echo "Extract the desired fields."
94rm -f permuted.fields
95awk -F\" '{printf "%s\"%s\"%s\n", $4,$6,$9}' permuted.t > permuted.fields
96
974:
98echo "Format for texindex."
99# delete lines that start with "and ", "for "
100sed < permuted.fields \
101 -e 's/=/{\\tt\\char61}/' \
102 -e 's/>/{\\tt\\gtr}/' \
103 -e 's/</{\\tt\\less}/' \
104 -e '/"and /d' \
105 -e '/"for /d' \
106 | awk -F\" 'NF>0 {if ($1=="") {\
107 print "\entry {" $2 "}{" 0+$3 "}{" $2 "}" }\
108 else {\
109 print "\entry {" $2 ", " $1 "}{" 0+$3 "}{" $2 ", " $1 "}"} }'\
110 > permuted.fn
111
1125:
113echo "Sort with texindex."
114${TEXINDEX} permuted.fn
115#mv permuted.fns ${MANUAL}.fns
116
117# The resulting permuted.fns will be read when we run TeX
118# on the manual the second time. Or you can use permuted.texinfo here.
119#${TEX} permuted.texinfo
120
1216:
122echo "Clean up."
123rm -f permuted.fields permuted.t permuted.raw
124rm -f permuted.break permuted.ignore permuted.fn
diff --git a/lispref/positions.texi b/lispref/positions.texi
index 6248d4d651d..66085188c5b 100644
--- a/lispref/positions.texi
+++ b/lispref/positions.texi
@@ -996,7 +996,3 @@ This is the contents of foo@point{}
996@end group 996@end group
997@end example 997@end example
998@end defspec 998@end defspec
999
1000@ignore
1001 arch-tag: 56e8ff26-4ffe-4832-a141-7e991a2d0f87
1002@end ignore
diff --git a/lispref/processes.texi b/lispref/processes.texi
index b21cceb81b0..1794f218135 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -1469,7 +1469,3 @@ The arguments @var{host} and @var{service} specify where to connect to;
1469@var{host} is the host name (a string), and @var{service} is the name of 1469@var{host} is the host name (a string), and @var{service} is the name of
1470a defined network service (a string) or a port number (an integer). 1470a defined network service (a string) or a port number (an integer).
1471@end defun 1471@end defun
1472
1473@ignore
1474 arch-tag: ba9da253-e65f-4e7f-b727-08fba0a1df7a
1475@end ignore
diff --git a/lispref/searching.texi b/lispref/searching.texi
index f26831f6afd..82f380b18ed 100644
--- a/lispref/searching.texi
+++ b/lispref/searching.texi
@@ -1620,7 +1620,3 @@ spaces or new lines.
1620For a detailed explanation of this regular expression, see @ref{Regexp 1620For a detailed explanation of this regular expression, see @ref{Regexp
1621Example}. 1621Example}.
1622@end defvar 1622@end defvar
1623
1624@ignore
1625 arch-tag: c2573ca2-18aa-4839-93b8-924043ef831f
1626@end ignore
diff --git a/lispref/sequences.texi b/lispref/sequences.texi
index e4503dd821f..8e7ab4176e2 100644
--- a/lispref/sequences.texi
+++ b/lispref/sequences.texi
@@ -489,11 +489,14 @@ The @code{vconcat} function also allows byte-code function objects as
489arguments. This is a special feature to make it easy to access the entire 489arguments. This is a special feature to make it easy to access the entire
490contents of a byte-code function object. @xref{Byte-Code Objects}. 490contents of a byte-code function object. @xref{Byte-Code Objects}.
491 491
492In Emacs versions before 21, the @code{vconcat} function allowed 492The @code{vconcat} function also allows integers as arguments. It
493integers as arguments, converting them to strings of digits, but that 493converts them to strings of digits, making up the decimal print
494feature has been eliminated. The proper way to convert an integer to 494representation of the integer, and then uses the strings instead of the
495a decimal number in this way is with @code{format} (@pxref{Formatting 495original integers. @strong{Don't use this feature; we plan to eliminate
496Strings}) or @code{number-to-string} (@pxref{String Conversion}). 496it. If you already use this feature, change your programs now!} The
497proper way to convert an integer to a decimal number in this way is with
498@code{format} (@pxref{Formatting Strings}) or @code{number-to-string}
499(@pxref{String Conversion}).
497 500
498For other concatenation functions, see @code{mapconcat} in @ref{Mapping 501For other concatenation functions, see @code{mapconcat} in @ref{Mapping
499Functions}, @code{concat} in @ref{Creating Strings}, and @code{append} 502Functions}, @code{concat} in @ref{Creating Strings}, and @code{append}
@@ -719,6 +722,3 @@ bv
719These results make sense because the binary codes for control-_ and 722These results make sense because the binary codes for control-_ and
720control-W are 11111 and 10111, respectively. 723control-W are 11111 and 10111, respectively.
721 724
722@ignore
723 arch-tag: fcf1084a-cd29-4adc-9f16-68586935b386
724@end ignore
diff --git a/lispref/streams.texi b/lispref/streams.texi
index 77c82627963..bcddb742212 100644
--- a/lispref/streams.texi
+++ b/lispref/streams.texi
@@ -771,14 +771,6 @@ exceeding this limit is abbreviated with an ellipsis. A value of
771@code{nil} (which is the default) means no limit. 771@code{nil} (which is the default) means no limit.
772@end defvar 772@end defvar
773 773
774@defopt eval-expression-print-length
775@defoptx eval-expression-print-level
776These are the values for @code{print-length} and @code{print-level}
777used by @code{eval-expression}, and thus, indirectly, by many
778interactive evaluation commands (@pxref{Lisp Eval,, Evaluating
779Emacs-Lisp Expressions, emacs, The GNU Emacs Manual}).
780@end defopt
781
782 These variables are used for detecting and reporting circular 774 These variables are used for detecting and reporting circular
783and shared structure---but they are only defined in Emacs 21. 775and shared structure---but they are only defined in Emacs 21.
784 776
@@ -811,7 +803,3 @@ This variable holds a vector used internally by printing to implement
811the @code{print-circle} feature. You should not use it except 803the @code{print-circle} feature. You should not use it except
812to bind it to @code{nil} when you bind @code{print-continuous-numbering}. 804to bind it to @code{nil} when you bind @code{print-continuous-numbering}.
813@end defvar 805@end defvar
814
815@ignore
816 arch-tag: 07636b8c-c4e3-4735-9e06-2e864320b434
817@end ignore
diff --git a/lispref/strings.texi b/lispref/strings.texi
index b0cc45a38b5..681e76daea9 100644
--- a/lispref/strings.texi
+++ b/lispref/strings.texi
@@ -255,7 +255,7 @@ printed form is with @code{format} (@pxref{Formatting Strings}) or
255 255
256For information about other concatenation functions, see the 256For information about other concatenation functions, see the
257description of @code{mapconcat} in @ref{Mapping Functions}, 257description of @code{mapconcat} in @ref{Mapping Functions},
258@code{vconcat} in @ref{Vector Functions}, and @code{append} in @ref{Building 258@code{vconcat} in @ref{Vectors}, and @code{append} in @ref{Building
259Lists}. 259Lists}.
260@end defun 260@end defun
261 261
@@ -1007,7 +1007,3 @@ This function makes @var{char} case-invariant, with syntax
1007This command displays a description of the contents of the current 1007This command displays a description of the contents of the current
1008buffer's case table. 1008buffer's case table.
1009@end deffn 1009@end deffn
1010
1011@ignore
1012 arch-tag: 700b8e95-7aa5-4b52-9eb3-8f2e1ea152b4
1013@end ignore
diff --git a/lispref/symbols.texi b/lispref/symbols.texi
index 6542d4b3d9f..ae4dffec89c 100644
--- a/lispref/symbols.texi
+++ b/lispref/symbols.texi
@@ -560,16 +560,6 @@ in the place where you got @var{plist}. For example,
560 (plist-put (symbol-plist symbol) prop value))) 560 (plist-put (symbol-plist symbol) prop value)))
561@end example 561@end example
562 562
563@defun lax-plist-get plist property
564Like @code{plist-get} except that it compares properties
565using @code{equal} instead of @code{eq}.
566@end defun
567
568@defun lax-plist-put plist property value
569Like @code{plist-put} except that it compares properties
570using @code{equal} instead of @code{eq}.
571@end defun
572
573@defun plist-member plist property 563@defun plist-member plist property
574@tindex plist-member 564@tindex plist-member
575This returns non-@code{nil} if @var{plist} contains the given 565This returns non-@code{nil} if @var{plist} contains the given
@@ -578,7 +568,3 @@ between a missing property and a property with the value @code{nil}.
578The value is actually the tail of @var{plist} whose @code{car} is 568The value is actually the tail of @var{plist} whose @code{car} is
579@var{property}. 569@var{property}.
580@end defun 570@end defun
581
582@ignore
583 arch-tag: 8750b7d2-de4c-4923-809a-d35fc39fd8ce
584@end ignore
diff --git a/lispref/syntax.texi b/lispref/syntax.texi
index b9ac26188d7..80d3a2f6c81 100644
--- a/lispref/syntax.texi
+++ b/lispref/syntax.texi
@@ -1061,7 +1061,3 @@ This function describes the category specifications in the current
1061category table. The descriptions are inserted in a buffer, which is 1061category table. The descriptions are inserted in a buffer, which is
1062then displayed. 1062then displayed.
1063@end deffn 1063@end deffn
1064
1065@ignore
1066 arch-tag: 4d914e96-0283-445c-9233-75d33662908c
1067@end ignore
diff --git a/lispref/text.texi b/lispref/text.texi
index 3016e3c93d7..3197a72c8d7 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -58,7 +58,6 @@ the character after point.
58 position stored in a register. 58 position stored in a register.
59* Base 64:: Conversion to or from base 64 encoding. 59* Base 64:: Conversion to or from base 64 encoding.
60* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. 60* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''.
61* Atomic Changes:: Installing several buffer changs ``atomically''.
62* Change Hooks:: Supplying functions to be run when text is changed. 61* Change Hooks:: Supplying functions to be run when text is changed.
63@end menu 62@end menu
64 63
@@ -399,11 +398,6 @@ We hold these truth@point{}
399@end example 398@end example
400@end defun 399@end defun
401 400
402@defun insert-buffer-substring-no-properties from-buffer-or-name &optional start end
403This is like @code{insert-buffer-substring} except that it does not
404copy any text properties.
405@end defun
406
407 @xref{Sticky Properties}, for other insertion functions that inherit 401 @xref{Sticky Properties}, for other insertion functions that inherit
408text properties from the nearby text in addition to inserting it. 402text properties from the nearby text in addition to inserting it.
409Whitespace inserted by indentation functions also inherits text 403Whitespace inserted by indentation functions also inherits text
@@ -767,7 +761,6 @@ would be difficult to change the terminology now.
767@menu 761@menu
768* Kill Ring Concepts:: What text looks like in the kill ring. 762* Kill Ring Concepts:: What text looks like in the kill ring.
769* Kill Functions:: Functions that kill text. 763* Kill Functions:: Functions that kill text.
770* Yanking:: How yanking is done.
771* Yank Commands:: Commands that access the kill ring. 764* Yank Commands:: Commands that access the kill ring.
772* Low-Level Kill Ring:: Functions and variables for kill ring access. 765* Low-Level Kill Ring:: Functions and variables for kill ring access.
773* Internals of Kill Ring:: Variables that hold kill-ring data. 766* Internals of Kill Ring:: Variables that hold kill-ring data.
@@ -812,7 +805,7 @@ adds it to the most recent element. It determines automatically (using
812@code{last-command}) whether the previous command was a kill command, 805@code{last-command}) whether the previous command was a kill command,
813and if so appends the killed text to the most recent entry. 806and if so appends the killed text to the most recent entry.
814 807
815@deffn Command kill-region start end &optional yank-handler 808@deffn Command kill-region start end
816This function kills the text in the region defined by @var{start} and 809This function kills the text in the region defined by @var{start} and
817@var{end}. The text is deleted but saved in the kill ring, along with 810@var{end}. The text is deleted but saved in the kill ring, along with
818its text properties. The value is always @code{nil}. 811its text properties. The value is always @code{nil}.
@@ -825,10 +818,6 @@ If the buffer or text is read-only, @code{kill-region} modifies the kill
825ring just the same, then signals an error without modifying the buffer. 818ring just the same, then signals an error without modifying the buffer.
826This is convenient because it lets the user use a series of kill 819This is convenient because it lets the user use a series of kill
827commands to copy text from a read-only buffer into the kill ring. 820commands to copy text from a read-only buffer into the kill ring.
828
829If @var{yank-handler} is non-@code{nil}, this puts that value onto
830the string of killed text, as a @code{yank-handler} property.
831@xref{Yanking}.
832@end deffn 821@end deffn
833 822
834@defopt kill-read-only-ok 823@defopt kill-read-only-ok
@@ -853,67 +842,6 @@ support Emacs 18. For newer Emacs versions, it is better to use
853Ring}. 842Ring}.
854@end deffn 843@end deffn
855 844
856@node Yanking
857@subsection Yanking
858
859 Yanking means inserting text from the kill ring, but it does
860not insert the text blindly. Yank commands and some other commands
861use @code{insert-for-yank} to perform special processing on the
862text that they copy into the buffer.
863
864@defun insert-for-yank string
865This function normally works like @code{insert} except that it doesn't
866insert the text properties in the @code{yank-excluded-properties}
867list. However, if the first character of @var{string} has a
868non-@code{nil}@code{yank-handler} text property, that property
869can do various special processing on the text being inserted.
870@end defun
871
872@defun insert-buffer-substring-as-yank buf &optional start end
873This function resembles @code{insert-buffer-substring} except that it
874doesn't insert the text properties in the
875@code{yank-excluded-properties} list.
876@end defun
877
878 You can put a @code{yank-handler} text property on the text to
879control how it will be inserted if it is yanked. The
880@code{insert-for-yank} function looks for a @code{yank-handler}
881property on the first character in its @var{string} argument. The
882property value must be a list of one to four elements, with the
883following format (where elements after the first may be omitted):
884
885@example
886(@var{function} @var{param} @var{noexclude} @var{undo})
887@end example
888
889 Here is what the elements do:
890
891@table @var
892@item function
893When @var{function} is present and non-nil, it is called instead of
894@code{insert} to insert the string. @var{function} takes one
895argument---the string to insert.
896
897@item param
898If @var{param} is present and non-@code{nil}, it replaces @var{string}
899as the object passed to @var{function} (or @code{insert}); for
900example, if @var{function} is @code{yank-rectangle}, @var{param}
901should be a list of strings to insert as a rectangle.
902
903@item noexclude
904If @var{noexclude} is present and non-@code{nil}, the normal removal of the
905yank-excluded-properties is not performed; instead @var{function} is
906responsible for removing those properties. This may be necessary
907if @var{function} adjusts point before or after inserting the object.
908
909@item undo
910If @var{undo} is present and non-nil, it is a function that will be
911called by @code{yank-pop} to undo the insertion of the current object.
912It is called with two arguments, the start and end of the current
913region. @var{function} can set @code{yank-undo-function} to override
914the @var{undo} value.
915@end table
916
917@node Yank Commands 845@node Yank Commands
918@comment node-name, next, previous, up 846@comment node-name, next, previous, up
919@subsection Functions for Yanking 847@subsection Functions for Yanking
@@ -961,17 +889,6 @@ oldest.
961The return value is always @code{nil}. 889The return value is always @code{nil}.
962@end deffn 890@end deffn
963 891
964@defvar yank-undo-function
965If this variable is non-@code{nil}, the function @code{yank-pop} uses
966its value instead of @code{delete-region} to delete the text
967inserted by the previous @code{yank} or
968@code{yank-pop} command.
969
970The function @code{insert-for-yank} automatically sets this variable
971according to the @var{undo} element of the @code{yank-handler}
972text property, if there is one.
973@end defvar
974
975@node Low-Level Kill Ring 892@node Low-Level Kill Ring
976@subsection Low-Level Kill Ring 893@subsection Low-Level Kill Ring
977 894
@@ -995,23 +912,19 @@ If @var{n} is zero, indicating a request for the latest kill,
995the kill ring. 912the kill ring.
996@end defun 913@end defun
997 914
998@defun kill-new string &optional yank-handler 915@defun kill-new string
999This function puts the text @var{string} into the kill ring as a new 916This function puts the text @var{string} into the kill ring as a new
1000entry at the front of the ring. It discards the oldest entry if 917entry at the front of the ring. It discards the oldest entry if
1001appropriate. It also invokes the value of 918appropriate. It also invokes the value of
1002@code{interprogram-cut-function} (see below). 919@code{interprogram-cut-function} (see below).
1003
1004If @var{yank-handler} is non-@code{nil}, this puts that value onto
1005the string of killed text, as a @code{yank-handler} property.
1006@xref{Yanking}.
1007@end defun 920@end defun
1008 921
1009@defun kill-append string before-p &optional yank-handler 922@defun kill-append string before-p
1010This function appends the text @var{string} to the first entry in the 923This function appends the text @var{string} to the first entry in the
1011kill ring. Normally @var{string} goes at the end of the entry, but if 924kill ring. Normally @var{string} goes at the end of the entry, but if
1012@var{before-p} is non-@code{nil}, it goes at the beginning. This 925@var{before-p} is non-@code{nil}, it goes at the beginning. This
1013function also invokes the value of @code{interprogram-cut-function} (see 926function also invokes the value of @code{interprogram-cut-function} (see
1014below). This handles @var{yank-handler} just like @code{kill-new}. 927below).
1015@end defun 928@end defun
1016 929
1017@defvar interprogram-paste-function 930@defvar interprogram-paste-function
@@ -2522,12 +2435,6 @@ To remove all text properties from certain text, use
2522list. 2435list.
2523@end defun 2436@end defun
2524 2437
2525@defun remove-list-of-text-properties start end list-of-properties &optional object
2526Like @code{remove-list-properties} except that
2527@var{list-of-properties} is a list property names only, not an
2528alternating list of property values.
2529@end defun
2530
2531@defun set-text-properties start end props &optional object 2438@defun set-text-properties start end props &optional object
2532This function completely replaces the text property list for the text 2439This function completely replaces the text property list for the text
2533between @var{start} and @var{end} in the string or buffer @var{object}. 2440between @var{start} and @var{end} in the string or buffer @var{object}.
@@ -3790,96 +3697,6 @@ using the specified or chosen coding system. However, if
3790coding instead. 3697coding instead.
3791@end defun 3698@end defun
3792 3699
3793@node Atomic Changes
3794@section Atomic Change Groups
3795@cindex atomic changes
3796
3797 In data base terminology, an @dfn{atomic} change is an indivisible
3798change---it can succeed entirely or it can fail entirely, but it
3799cannot partly succeed. A Lisp program can make a series of changes to
3800one or several buffers as an @dfn{atomic change group}, meaning that
3801either the entire series of changes will be installed in their buffers
3802or, in case of an error, none of them will be.
3803
3804 To do this for one buffer, the one already current, simply write a
3805call to @code{atomic-change-group} around the code that makes the
3806changes, like this:
3807
3808@example
3809(atomic-change-group
3810 (insert foo)
3811 (delete-region x y))
3812@end example
3813
3814@noindent
3815If an error (or other nonlocal exit) occurs inside the body of
3816@code{atomic-change-group}, it unmakes all the changes in that buffer
3817that were during the execution of the body. This kind of change group
3818has no effect on any other buffers--any such changes remain.
3819
3820 If you need something more sophisticated, such as to make changes in
3821various buffers constitute one atomic group, you must directly call
3822lower-level functions that @code{atomic-change-group} uses.
3823
3824@defun prepare-change-group &optional buffer
3825This function sets up a change group for buffer @var{buffer}, which
3826defaults to the current buffer. It returns a ``handle'' that
3827represents the change group. You must use this handle to activate the
3828change group and subsequently to finish it.
3829@end defun
3830
3831 To use the change group, you must @dfn{activate} it. You must do
3832this before making any changes in the text of @var{buffer}.
3833
3834@defun activate-change-group handle
3835This function activates the change group that @var{handle} designates.
3836@end defun
3837
3838 After you activate the change group, any changes you make in that
3839buffer become part of it. Once you have made all the desired changes
3840in the buffer, you must @dfn{finish} the change group. There are two
3841ways to do this: you can either accept (and finalize) all the changes,
3842or cancel them all.
3843
3844@defun accept-change-group handle
3845This function accepts all the changes in the change group specified by
3846@var{handle}, making them final.
3847@end defun
3848
3849@defun cancel-change-group handle
3850This function cancels and undoes all the changes in the change group
3851specified by @var{handle}.
3852@end defun
3853
3854 Your code should use @code{unwind-protect} to make sure the group is
3855always finished. The call to @code{activate-change-group} should be
3856inside the @code{unwind-protect}, in case the user types @kbd{C-g}
3857just after it runs. (This is one reason why
3858@code{prepare-change-group} and @code{activate-change-group} are
3859separate functions, because normally you would call
3860@code{prepare-change-group} before the start of that
3861@code{unwind-protect}.) Once you finish the group, don't use the
3862handle again---in particular, don't try to finish the same group
3863twice.
3864
3865 To make a multibuffer change group, call @code{prepare-change-group}
3866once for each buffer you want to cover, then use @code{nconc} to
3867combine the returned values, like this:
3868
3869@example
3870(nconc (prepare-change-group buffer-1)
3871 (prepare-change-group buffer-2))
3872@end example
3873
3874You can then activate the multibuffer change group with a single call
3875to @code{activate-change-group}, and finish it with a single call to
3876@code{accept-change-group} or @code{cancel-change-group}.
3877
3878 Nested use of several change groups for the same buffer works as you
3879would expect. Non-nested use of change groups for the same buffer
3880will get Emacs confused, so don't let it happen; the first change
3881group you start for any given buffer should be the last one finished.
3882
3883@node Change Hooks 3700@node Change Hooks
3884@section Change Hooks 3701@section Change Hooks
3885@cindex change hooks 3702@cindex change hooks
@@ -3984,7 +3801,3 @@ properties (@pxref{Overlay Properties}).
3984 3801
3985This variable is available starting in Emacs 21. 3802This variable is available starting in Emacs 21.
3986@end defvar 3803@end defvar
3987
3988@ignore
3989 arch-tag: 3721e738-a1cb-4085-bc1a-6cb8d8e1d32b
3990@end ignore
diff --git a/lispref/tindex.pl b/lispref/tindex.pl
index 04eacb2e999..459a2b72e84 100755
--- a/lispref/tindex.pl
+++ b/lispref/tindex.pl
@@ -123,4 +123,3 @@ foreach $key (keys %removed) {
123 print " $key\n"; 123 print " $key\n";
124} 124}
125 125
126# arch-tag: f8460df6-6bef-4c98-8555-e2c63a88b0fa
diff --git a/lispref/tips.texi b/lispref/tips.texi
index d769fca581d..f10108d2d58 100644
--- a/lispref/tips.texi
+++ b/lispref/tips.texi
@@ -850,8 +850,7 @@ if we haven't installed it in Emacs yet!
850@end example 850@end example
851 851
852@noindent 852@noindent
853The description should be complete in one line. If the file 853The description should be complete in one line.
854needs a @samp{-*-} specification, put it after @var{description}.
855 854
856 After the copyright notice come several @dfn{header comment} lines, 855 After the copyright notice come several @dfn{header comment} lines,
857each beginning with @samp{;; @var{header-name}:}. Here is a table of 856each beginning with @samp{;; @var{header-name}:}. Here is a table of
@@ -946,7 +945,3 @@ This is the @dfn{footer line}; it appears at the very end of the file.
946Its purpose is to enable people to detect truncated versions of the file 945Its purpose is to enable people to detect truncated versions of the file
947from the lack of a footer line. 946from the lack of a footer line.
948@end table 947@end table
949
950@ignore
951 arch-tag: 9ea911c2-6b1d-47dd-88b7-0a94e8b27c2e
952@end ignore
diff --git a/lispref/two.el b/lispref/two.el
index e8eb24a1d12..bad18d48485 100644
--- a/lispref/two.el
+++ b/lispref/two.el
@@ -57,5 +57,3 @@ This is for the *Elisp Ref Manual*"
57 57
58(defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I")) 58(defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I"))
59(defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II")) 59(defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II"))
60
61;;; arch-tag: 848955fe-e9cf-45e7-a2f1-570ef156d6a5
diff --git a/lispref/variables.texi b/lispref/variables.texi
index 3848e465e41..bbed104a42b 100644
--- a/lispref/variables.texi
+++ b/lispref/variables.texi
@@ -198,18 +198,18 @@ is omitted, @code{nil} is used.
198 198
199All of the @var{value-form}s in @var{bindings} are evaluated in the 199All of the @var{value-form}s in @var{bindings} are evaluated in the
200order they appear and @emph{before} binding any of the symbols to them. 200order they appear and @emph{before} binding any of the symbols to them.
201Here is an example of this: @code{z} is bound to the old value of 201Here is an example of this: @code{Z} is bound to the old value of
202@code{y}, which is 2, not the new value of @code{y}, which is 1. 202@code{Y}, which is 2, not the new value of @code{Y}, which is 1.
203 203
204@example 204@example
205@group 205@group
206(setq y 2) 206(setq Y 2)
207 @result{} 2 207 @result{} 2
208@end group 208@end group
209@group 209@group
210(let ((y 1) 210(let ((Y 1)
211 (z y)) 211 (Z Y))
212 (list y z)) 212 (list Y Z))
213 @result{} (1 2) 213 @result{} (1 2)
214@end group 214@end group
215@end example 215@end example
@@ -225,13 +225,13 @@ form. Compare the following example with the example above for
225 225
226@example 226@example
227@group 227@group
228(setq y 2) 228(setq Y 2)
229 @result{} 2 229 @result{} 2
230@end group 230@end group
231@group 231@group
232(let* ((y 1) 232(let* ((Y 1)
233 (z y)) ; @r{Use the just-established value of @code{y}.} 233 (Z Y)) ; @r{Use the just-established value of @code{Y}.}
234 (list y z)) 234 (list Y Z))
235 @result{} (1 1) 235 @result{} (1 1)
236@end group 236@end group
237@end example 237@end example
@@ -1769,7 +1769,3 @@ lists in files being visited. A value of @code{t} means process them
1769unconditionally; @code{nil} means ignore them; anything else means ask 1769unconditionally; @code{nil} means ignore them; anything else means ask
1770the user what to do for each file. The default value is @code{maybe}. 1770the user what to do for each file. The default value is @code{maybe}.
1771@end defopt 1771@end defopt
1772
1773@ignore
1774 arch-tag: 5ff62c44-2b51-47bb-99d4-fea5aeec5d3e
1775@end ignore
diff --git a/lispref/vol1.texi b/lispref/vol1.texi
index cc771bf0359..9e60a75650f 100644
--- a/lispref/vol1.texi
+++ b/lispref/vol1.texi
@@ -1017,7 +1017,3 @@ Object Internals
1017 1017
1018 1018
1019These words prevent "local variables" above from confusing Emacs. 1019These words prevent "local variables" above from confusing Emacs.
1020
1021@ignore
1022 arch-tag: 9594760d-8801-4d1b-aeb9-f3b3166b5be2
1023@end ignore
diff --git a/lispref/vol2.texi b/lispref/vol2.texi
index f3cdb6db116..c15e1bc67b9 100644
--- a/lispref/vol2.texi
+++ b/lispref/vol2.texi
@@ -1017,7 +1017,3 @@ Object Internals
1017 1017
1018 1018
1019These words prevent "local variables" above from confusing Emacs. 1019These words prevent "local variables" above from confusing Emacs.
1020
1021@ignore
1022 arch-tag: dfdbecf8-fec2-49c1-8427-3e8ac8b0b849
1023@end ignore
diff --git a/lispref/windows.texi b/lispref/windows.texi
index 8589f3cdbfa..36c9fb02a39 100644
--- a/lispref/windows.texi
+++ b/lispref/windows.texi
@@ -643,7 +643,7 @@ The functions described there are easier to use than these, but they
643employ heuristics in choosing or creating a window; use these functions 643employ heuristics in choosing or creating a window; use these functions
644when you need complete control. 644when you need complete control.
645 645
646@defun set-window-buffer window buffer-or-name &optional keep-margins 646@defun set-window-buffer window buffer-or-name
647This function makes @var{window} display @var{buffer-or-name} as its 647This function makes @var{window} display @var{buffer-or-name} as its
648contents. It returns @code{nil}. This is the fundamental primitive 648contents. It returns @code{nil}. This is the fundamental primitive
649for changing which buffer is displayed in a window, and all ways 649for changing which buffer is displayed in a window, and all ways
@@ -655,11 +655,6 @@ of doing that call this function.
655 @result{} nil 655 @result{} nil
656@end group 656@end group
657@end example 657@end example
658
659Normally, displaying @var{buffer} in @var{window} resets the window's
660fringe widths and position based on the local variables of @var{buffer}.
661However, if @var{keep-margins} is non-@code{nil}, the fringe widths and
662position of @var{window} remain unchanged. @xref{Fringes}.
663@end defun 658@end defun
664 659
665@defun window-buffer &optional window 660@defun window-buffer &optional window
@@ -2207,7 +2202,3 @@ changing the sizes of windows, or displaying a different buffer in a
2207window. The frame whose window configuration has changed is the 2202window. The frame whose window configuration has changed is the
2208selected frame when this hook runs. 2203selected frame when this hook runs.
2209@end defvar 2204@end defvar
2210
2211@ignore
2212 arch-tag: 3f6c36e8-df49-4986-b757-417feed88be3
2213@end ignore