--- /dev/null
++2007-12-30 Richard Stallman <rms@gnu.org>
++
++ * commands.texi (Accessing Mouse): Renamed from Accessing Events.
++ (Accessing Scroll): New node broken out of Accessing Mouse.
++
+2007-12-28 Richard Stallman <rms@gnu.org>
+
+ * frames.texi (Size Parameters): Fix typo.
+ (Basic Parameters): For `title', refer to title bar.
+ (Size and Position): Explain meaning of frame pixel width and height.
+
+2007-12-23 Richard Stallman <rms@gnu.org>
+
+ * customize.texi (Type Keywords): Uncomment :validate and clarify it.
+ Improve some of the commented-out keywords' text too.
+
+2007-12-14 Martin Rudalics <rudalics@gmx.at>
+
+ * nonascii.texi (Encoding and I/O): Reword to avoid saying
+ "visit the current buffer".
+
+ * os.texi (System Interface): Fix typo.
+
+2007-12-04 Richard Stallman <rms@gnu.org>
+
+ * objects.texi (Symbol Type): Fix typo.
+
+2007-12-03 Richard Stallman <rms@gnu.org>
+
+ * hooks.texi (Standard Hooks): Add link to Hooks for Loading.
+
+2007-12-01 Glenn Morris <rgm@gnu.org>
+
+ * functions.texi (Declaring Functions): Improve previous change.
+
+2007-11-30 Glenn Morris <rgm@gnu.org>
+
+ * functions.texi (Declaring Functions): Add optional fourth
+ argument of declare-function, and setting third argument to `t'.
+
+2007-11-29 Richard Stallman <rms@gnu.org>
+
+ * customize.texi (Composite Types): Document `group' type.
+
+2007-11-29 Glenn Morris <rgm@gnu.org>
+
+ * functions.texi (Declaring Functions): Add findex. Mention
+ `external' files.
+
+2007-11-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * functions.texi (Declaring Functions): Fix directive.
+
+2007-11-25 Richard Stallman <rms@gnu.org>
+
+ * help.texi (Help Functions): Clean up last change.
+
+ * advice.texi (Preactivation, Activation of Advice): Minor cleanup.
+
+ * loading.texi (Named Features): Minor cleanup.
+
+ * macros.texi (Eval During Expansion): Minor cleanup.
+
+ * variables.texi (Variable Aliases): Minor cleanup.
+
+2007-11-24 Richard Stallman <rms@gnu.org>
+
+ * functions.texi (Declaring Functions): Clarify previous change.
+
+ * compile.texi (Compiler Errors): Clarify previous change.
+
+2007-11-24 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Refresh Screen, Forcing Redisplay):
+ Clarify the text and move items around.
+
+2007-11-24 Glenn Morris <rgm@gnu.org>
+
+ * functions.texi (Declaring Functions): New section.
+ * compile.texi (Compiler Errors): Mention declaring functions,
+ defvar with no initvalue, and byte-compile-warnings.
+
+2007-11-15 Martin Rudalics <rudalics@gmx.at>
+
+ * vol1.texi (Top): Remove Frame-Local Variables from Node Listing.
+ * vol2.texi (Top): Remove Frame-Local Variables from Node Listing.
+
+2007-11-13 Martin Rudalics <rudalics@gmx.at>
+
+ * help.texi (Help Functions): Document new macro `with-help-window'.
+
+2007-11-10 Paul Pogonyshev <pogonyshev@gmx.net>
+
+ * searching.texi (Replacing Match): Describe new
+ `match-substitute-replacement'.
+
+2007-10-31 Richard Stallman <rms@gnu.org>
+
+ * strings.texi (Creating Strings): Null strings from concat not unique.
+
+2007-10-26 Richard Stallman <rms@gnu.org>
+
+ * objects.texi (Equality Predicates): Null strings are uniquified.
+
+ * minibuf.texi: Minor clarifications in previous change.
+
+2007-10-25 Glenn Morris <rgm@gnu.org>
+
+ * customize.texi (Variable Definitions): Add :risky and :safe keywords.
+
+2007-10-24 Richard Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Delete Frame-Local Variables from subnode menu.
+
+ * variables.texi (Frame-Local Variables): Node deleted.
+ (Variables): Delete Frame-Local Variables from menu.
+ (Local Variables, Buffer-Local Variables, Intro to Buffer-Local)
+ (Default Value): Don't mention frame-local vars.
+
+ * os.texi (Idle Timers): current-idle-time returns nil if not idle.
+
+ * loading.texi (Unloading): Document FEATURE-unload-function
+ instead of FEATURE-unload-hook.
+
+ * frames.texi (Multiple Displays): Don't mention frame-local vars.
+
+2007-10-22 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Text from Minibuffer, Minibuffer Completion)
+ (High-Level Completion): Document a list of default value strings
+ in the DEFAULT argument, for which minibuffer functions return the
+ first element.
+
+2007-10-17 Juri Linkov <juri@jurta.org>
+
+ * text.texi (Filling): Update arguments of fill-paragraph.
+ fill-paragraph operates on the active region in Transient Mark mode.
+ Remove fill-paragraph-or-region.
+
+2007-10-13 Karl Berry <karl@gnu.org>
+
+ * elisp.texi (@dircategory): Move to after @copying,
+ since we want @copying as close as possible to the beginning of
+ the output.
+
+2007-10-12 Richard Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Add Distinguish Interactive to subnode menu.
+
+ * commands.texi (Distinguish Interactive): New node,
+ broken out from Interactive Call and rewritten.
+ (Command Loop): Put Distinguish Interactive in menu.
+
+2007-10-09 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Examining Properties): Mention overlay priority.
+
+ * display.texi (Display Margins): Correct the description
+ of margin display specifications.
+ (Replacing Specs): New subnode broken out of Display Property.
+
+2007-10-06 Juri Linkov <juri@jurta.org>
+
+ * text.texi (Filling): Document fill-paragraph-or-region.
+
+2007-10-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * display.texi (Auto Faces): Fix typo.
+
+2007-10-02 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Display Property): Explain some display specs
+ don't let you move point in.
+
+ * frames.texi (Cursor Parameters): Describe
+ cursor-in-non-selected-windows here. Explain more values.
+
+ * windows.texi (Basic Windows): Don't describe
+ cursor-in-non-selected-windows here.
+
+2007-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * processes.texi (Misc Network): Note that these functions are
+ supported only on some systems.
+
+2007-10-01 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Overlay Properties): Explain nil as priority.
+ Explain that conflicts are unpredictable if not resolved by
+ priorities.
+
+2007-09-23 Richard Stallman <rms@gnu.org>
+
+ * macros.texi (Backquote): Minor clarification.
+
+2007-09-19 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Display Property): Explain multiple display specs.
+ Clarify when they work in parallel and when one overrides.
+ Fix error in example.
+
+2007-09-06 Glenn Morris <rgm@gnu.org>
+
+ * Move from lispref/ to doc/lispref/. Change all setfilename
+ commands to use ../../info.
+ * Makefile.in (infodir): Go up one more level.
+ (usermanualdir): Change from ../man to ../emacs.
+ (miscmanualdir): New.
+ (dist): Use new variable miscmanualdir.
+ * makefile.w32-in (infodir, texinputdir): Go up one more level.
+ (usermanualdir): Change from ../man to ../emacs.
+
+2007-08-30 Martin Rudalics <rudalics@gmx.at>
+
+ * commands.texi (Command Loop Info): Advise against changing
+ most variables described here. Explain new variable
+ last-repeatable-command.
+
+2007-08-29 Glenn Morris <rgm@gnu.org>
+
+ * elisp.texi (EMACSVER): Increase to 23.0.50.
+
+2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * frames.texi (Basic Parameters): Add display-environment-variable
+ and term-environment-variable.
+
+2007-08-28 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Image Formats, Other Image Types): Add SVG.
+
+2007-08-28 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Images): Move formats-related text to new node
+ "Image Formats".
+ (Image Formats): New node.
+
+2007-08-27 Richard Stallman <rms@gnu.org>
+
+ * windows.texi (Window Configurations): Clarify what
+ a window configuration saves.
+
+2007-08-25 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Images): Delete redundant @findex.
+
+2007-08-16 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Asynchronous Processes): Clarify
+ doc of start-file-process.
+
+2007-08-08 Martin Rudalics <rudalics@gmx.at>
+
+ * modes.texi (Example Major Modes): Fix typo.
+
+2007-08-08 Glenn Morris <rgm@gnu.org>
+
+ * intro.texi (nil and t): Do not use `iff' in documentation.
+
+ * tips.texi (Documentation Tips): Recommend against `iff'.
+
+2007-08-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Image Cache): Document image-refresh.
+
+2007-08-06 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Size of Window): Document window-full-width-p.
+
+2007-07-25 Glenn Morris <rgm@gnu.org>
+
+ * gpl.texi (GPL): Replace license with GPLv3.
+
+ * Relicense all FSF files to GPLv3 or later.
+
+2007-07-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * processes.texi (Synchronous Processes):
+ Add `process-file-shell-command'.
+ (Asynchronous Processes): Mention restricted use of
+ `process-filter' and `process-sentinel' in
+ `start-file-process'. Add `start-file-process-shell-command'.
+
+2007-07-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Introduce optional parameter
+ IDENTIFICATION for `file-remote-p'.
+
+2007-07-16 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Defining Faces): Fix previous change.
+
+2007-07-14 Richard Stallman <rms@gnu.org>
+
+ * control.texi (Handling Errors): Document `debug' in handler list.
+
+2007-07-10 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Defining Faces): Explain C-M-x feature for defface.
+
+2007-07-09 Richard Stallman <rms@gnu.org>
+
+ * files.texi (Magic File Names): Rewrite previous change.
+
+2007-07-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Introduce optional parameter
+ CONNECTED for `file-remote-p'.
+
+2007-07-07 Michael Albinus <michael.albinus@gmx.de>
+
+ * processes.texi (Asynchronous Processes):
+ * files.texi (Magic File Names): Add `start-file-process'.
+
+2007-06-27 Richard Stallman <rms@gnu.org>
+
+ * files.texi (Format Conversion Piecemeal): Clarify
+ `after-insert-file-functions' calling convention.
+
+2007-06-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Remove `dired-call-process'.
+ Add `process-file'.
+
+2007-06-27 Kenichi Handa <handa@m17n.org>
+
+ * text.texi (Special Properties): Fix description about
+ `composition' property.
+
+2007-06-26 Kenichi Handa <handa@m17n.org>
+
+ * nonascii.texi (Default Coding Systems): Document about the
+ return value `undecided'.
+
+2007-06-25 David Kastrup <dak@gnu.org>
+
+ * keymaps.texi (Active Keymaps): Document new POSITION argument of
+ `current-active-maps'.
+
+2007-06-24 Karl Berry <karl@gnu.org>
+
+ * elisp.texi, vol1.texi, vol2.texi: New Back-Cover Text.
+
+2007-06-15 Juanma Barranquero <lekktu@gmail.com>
+
+ * display.texi (Overlay Arrow): Doc fix.
+
+2007-06-14 Karl Berry <karl@tug.org>
+
+ * anti.texi (Antinews): Typo.
+
+2007-06-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Image Cache): Document image-refresh.
+
+2007-06-12 Karl Berry <karl@gnu.org>
+
+ * vol1.texi, vol2.texi, two-volume-cross-refs.txt: Update.
+ * two-volume.make: New file.
+ * .cvsignore: Ignore two-volume files.
+
+2007-06-12 Tom Tromey <tromey@redhat.com>
+
+ * os.texi (Init File): Document user-emacs-directory.
+
+2007-06-03 Nick Roberts <nickrob@snap.net.nz>
+
+ * commands.texi (Click Events): Describe width and height when
+ object is nil.
+
+2007-05-30 Nick Roberts <nickrob@snap.net.nz>
+
+ * commands.texi (Click Events): Layout more logically. Describe
+ width and height.
+ (Drag Events, Motion Events): Update to new format for position.
+
+2007-06-02 Richard Stallman <rms@gnu.org>
+
+ * frames.texi (Color Parameters): Add xref to (emacs)Standard Faces.
+
+2007-06-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * Version 22.1 released.
+
+2007-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * text.texi (Special Properties): Correct meaning of fontified face.
+
+2007-05-30 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Add link to Adjusting Point.
+
+2007-05-12 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Margins): indent-to-left-margin is not the default.
+ (Mode-Specific Indent): For indent-line-function, the default
+ is indent-relative.
+
+ * modes.texi (Example Major Modes): Explain last line of text-mode
+ is redundant.
+
+2007-05-10 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Scanning Keymaps): Update where-is-internal example.
+
+ * help.texi (Keys in Documentation): Add reference to
+ Documentation Tips.
+
+ * files.texi (Format Conversion): TO-FN gets three arguments.
+
+ * modes.texi (Auto Major Mode): Document file-start-mode-alist.
+
+2007-05-10 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ * elisp.texi (Top): Remove "Saving Properties" from detailed menu.
+ * files.texi (Format Conversion): Expand intro; add menu.
+ (Format Conversion Overview, Format Conversion Round-Trip)
+ (Format Conversion Piecemeal): New nodes/subsections.
+ * hooks.texi: Xref "Format Conversion" , not "Saving Properties".
+ * text.texi (Text Properties): Remove "Saving Properties" from menu.
+ (Saving Properties): Delete node/subsection.
+
+2007-05-07 Karl Berry <karl@gnu.org>
+
+ * elisp.texi (EMACSVER): Back to 22.
+
+2007-05-06 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Accepting Output): Revert most of previous change.
+
+2007-05-05 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Accepting Output): accept-process-output
+ uses microseconds, not milliseconds. But that arg is obsolete.
+
+2007-05-04 Karl Berry <karl@tug.org>
+
+ * elisp.texi (EMACSVER) [smallbook]: 22.1, not 22.
+
+2007-05-04 Eli Zaretskii <eliz@gnu.org>
+
+ * tips.texi (Documentation Tips): Rearrange items to place the
+ more important ones first. Add an index entry for hyperlinks.
+
+2007-05-03 Karl Berry <karl@gnu.org>
+
+ * elisp.texi (\urlcolor, \linkcolor) [smallbook]: \Black for printing.
+ (EMACSVER) [smallbook]: 22 for printed version.
+
+ * control.texi (Signaling Errors) <signal>: texinfo.tex is fixed,
+ so restore anchor to normal position after defun. Found by Kevin Ryde.
+
+2007-04-26 Glenn Morris <rgm@gnu.org>
+
+ * elisp.texi (EMACSVER): Increase to 22.1.50.
+
+2007-04-28 Karl Berry <karl@gnu.org>
+
+ * elisp.texi: Improve line breaks on copyright page,
+ similar layout to emacs manual, 8.5x11 by default.
+
+2007-04-24 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Add xref to Overlay Properties.
+
+ * display.texi (Overlay Properties): Add xref to Special Properties.
+
+2007-04-22 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Extended Menu Items): Move the info about
+ format with cached keyboard binding.
+
+2007-04-21 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Clarify previous change.
+
+ * files.texi (File Name Expansion): Clarify previous change.
+
+ * display.texi (Attribute Functions): Fix example for
+ face-attribute-relative-p.
+
+2007-04-19 Kenichi Handa <handa@m17n.org>
+
+ * text.texi (Special Properties): Document composition property.
+
+2007-04-19 Glenn Morris <rgm@gnu.org>
+
+ * files.texi (File Name Expansion): Mention "superroot".
+
+2007-04-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * frames.texi (Multiple Displays): Add note about "multi-monitor"
+ setups.
+ (Display Feature Testing): Note that display refers to all
+ physical monitors for multi-monitor setups.
+
+2007-04-14 Richard Stallman <rms@gnu.org>
+
+ * lists.texi (Sets And Lists): Clarify `delete' examples.
+ Remove spurious xref to same node.
+ Clarify xref for add-to-list.
+
+2007-04-12 Nick Roberts <nickrob@snap.net.nz>
+
+ * keymaps.texi (Format of Keymaps): Remove spurious ")" from
+ value of lisp-mode-map.
+
+2007-04-11 Karl Berry <karl@gnu.org>
+
+ * anti.texi (Antinews):
+ * display.texi (Overlay Properties, Defining Images):
+ * processes.texi (Synchronous Processes, Sentinels):
+ * syntax.texi (Syntax Table Internals):
+ * searching.texi (Regexp Special):
+ * nonascii.texi (Default Coding Systems):
+ * text.texi (Special Properties):
+ * minibuf.texi (Basic Completion): Wording to improve breaks in
+ 8.5x11 format.
+ * elisp.texi (smallbook): New @set to more easily switch between
+ smallbook and 8.5x11.
+
+2007-04-11 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Lazy Properties): Minor fix.
+
+2007-04-08 Karl Berry <karl@gnu.org>
+
+ * symbols.texi (Plists and Alists): Period after "vs" in index entries.
+ * macros.texi (Backquote): Downcase Backquote in index entries for
+ consistency.
+
+2007-04-08 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Adaptive Fill): Just describe default,
+ don't show it (since it contains non-ASCII chars).
+
+2007-04-07 Karl Berry <karl@gnu.org>
+
+ * text.texi (Adaptive Fill) [@iftex]: Omit binary characters in
+ adaptive-fill-regexp's value, since they are not in the standard
+ TeX fonts.
+
+2007-04-07 Guanpeng Xu <herberteuler@hotmail.com>
+
+ * display.texi (Defining Faces): Fix example.
+
+2007-04-07 Karl Berry <karl@gnu.org>
+
+ * display.texi (Button Buffer Commands): Improve page break.
+
+2007-04-07 Richard Stallman <rms@gnu.org>
+
+ * advice.texi (Activation of Advice): Remove redundant index entry.
+
+ * backups.texi: Improve index entries. Remove redundant ones.
+
+ * compile.texi (Byte Compilation): Improve index entry.
+
+ * hash.texi (Creating Hash): Improve index entry.
+
+ * symbols.texi (Definitions): Improve index entry.
+
+ * edebug.texi: Improve index entries. Remove redundant/useless ones.
+
+ * maps.texi (Standard Keymaps): Remove useless index entry.
+
+ * help.texi (Documentation Basics): Remove redundant index entries.
+
+ * customize.texi: Improve index entries.
+ Remove redundant/useless ones.
+
+ * locals.texi (Standard Buffer-Local Variables): Clarify intro text.
+
+ * streams.texi (Output Variables): Improve index entry.
+
+ * abbrevs.texi (Abbrevs): Remove useless index entry.
+
+ * macros.texi (Expansion): Remove useless index entry.
+
+ * text.texi: Improve index entries. Remove redundant/useless ones.
+ (Text Properties, Examining Properties)
+ (Special Properties): Use "property category" instead of "category"
+ to refer to the `category' property.
+
+ * positions.texi: Improve index entries. Remove useless one.
+
+ * lists.texi: Improve index entries. Remove redundant/useless ones.
+
+ * os.texi: Improve index entries.
+ (Timers): Fix previous change.
+
+ * buffers.texi: Improve index entries.
+ (Modification Time): Get rid of term "obsolete buffer".
+
+ * debugging.texi: Improve index entries.
+ (Test Coverage): Add xref to other test coverage ftr.
+
+ * eval.texi: Improve index entry. Remove redundant ones.
+
+ * numbers.texi: Improve index entries. Remove redundant/useless ones.
+
+ * files.texi: Improve index entries. Remove redundant/useless ones.
+
+ * objects.texi: Improve index entries.
+
+ * processes.texi: Improve index entries.
+
+ * modes.texi: Improve index entry. Remove redundant one.
+
+ * nonascii.texi: Improve index entries.
+
+ * internals.texi: Improve index entries.
+
+ * syntax.texi: Improve index entries.
+
+ * keymaps.texi (Active Keymaps): Improve index entries.
+
+ * commands.texi: Improve index entries. Remove redundant/useless ones.
+
+ * frames.texi: Improve index entries. Remove redundant/useless ones.
+
+ * markers.texi: Improve index entries. Remove redundant ones.
+
+ * tips.texi: Improve index entries.
+
+ * loading.texi (Unloading): Improve index entry.
+
+ * variables.texi: Improve index entries. Remove redundant one.
+
+ * sequences.texi: Improve index entry.
+
+ * display.texi: Improve index entries. Remove redundant ones.
+
+ * windows.texi: Improve index entries.
+
+ * searching.texi: Improve index entries. Remove redundant one.
+
+ * strings.texi (Case Tables): Improve last change.
+
+2007-04-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * strings.texi (Case Tables): Document with-case-table and
+ ascii-case-table.
+
+2007-04-03 Karl Berry <karl@gnu.org>
+
+ * processes.texi (Network): Reword to improve page break.
+
+2007-04-03 Eli Zaretskii <eliz@gnu.org>
+
+ * functions.texi (Inline Functions): Describe more disadvantages
+ of defsubst, and make advice against it stronger.
+
+2007-04-02 Karl Berry <karl@gnu.org>
+
+ * backups.texi (Backup Names): Avoid widow words.
+ * modes.texi (Example Major Modes): Align last comment.
+
+2007-04-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymaps.texi (Remapping Commands): Document new arg to
+ command-remapping.
+
+2007-04-01 Karl Berry <karl@gnu.org>
+
+ * processes.texi (Low-Level Network): Typo.
+ * loading.texi (Hooks for Loading): Avoid double "the".
+ * keymaps.texi (Key Sequences): No double "and".
+ (Changing Key Bindings): Shorten to improve line break.
+
+2007-03-31 Glenn Morris <rgm@gnu.org>
+
+ * os.texi (Timers): Fix description of run-at-time TIME formats.
+
+2007-03-31 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Invisible Text): Correct buffer-invisibility-spec
+ regarding ellipsis.
+
+2007-03-31 Eli Zaretskii <eliz@gnu.org>
+
+ * intro.texi (nil and t):
+ * symbols.texi (Plists and Alists):
+ * variables.texi (Variable Aliases, Constant Variables):
+ * functions.texi (Defining Functions):
+ * advice.texi (Advising Primitives):
+ * debugging.texi (Syntax Errors, Compilation Errors):
+ * minibuf.texi (Minibuffer Windows):
+ * commands.texi (Adjusting Point):
+ * modes.texi (Syntactic Font Lock, Faces for Font Lock)
+ (Auto Major Mode, Major Mode Conventions):
+ * help.texi (Describing Characters):
+ * files.texi (Create/Delete Dirs, Information about Files)
+ (File Locks, Writing to Files, Reading from Files)
+ (Saving Buffers):
+ * windows.texi (Resizing Windows, Cyclic Window Ordering):
+ * frames.texi (Finding All Frames):
+ * positions.texi (Buffer End, Motion):
+ * markers.texi (The Region):
+ * text.texi (Deletion, Near Point):
+ * display.texi (Displaying Messages, Truncation):
+ * os.texi (Processor Run Time):
+ * tips.texi (Key Binding Conventions, Programming Tips)
+ (Warning Tips, Documentation Tips, Comment Tips):
+ * internals.texi (Memory Usage): Improve indexing.
+
+ * variables.texi (Frame-Local Variables):
+ * functions.texi (Argument List):
+ * loading.texi (Library Search):
+ * streams.texi (Output Variables):
+ * keymaps.texi (Translation Keymaps, Searching Keymaps):
+ * searching.texi (Replacing Match, Search and Replace):
+ * processes.texi (Byte Packing, Decoding Output)
+ (Accepting Output, Network Servers, Shell Arguments):
+ * display.texi (Abstract Display, Image Cache, Scroll Bars):
+ * windows.texi (Window Point, Window Start):
+ * frames.texi (Management Parameters, Frame Parameters, Frame Titles):
+ * commands.texi (Reading Input, Keyboard Events):
+ * minibuf.texi (Reading File Names, Minibuffer Completion)
+ (Recursive Mini):
+ * positions.texi (List Motion):
+ * hash.texi (Hash Tables, Creating Hash, Defining Hash):
+ * numbers.texi (Arithmetic Operations, Math Functions)
+ (Predicates on Numbers, Comparison of Numbers):
+ (Numeric Conversions):
+ * locals.texi (Standard Buffer-Local Variables):
+ * maps.texi (Standard Keymaps):
+ * os.texi (User Identification, System Environment, Recording Input)
+ (X11 Keysyms):
+ * nonascii.texi (Non-ASCII Characters, Splitting Characters):
+ * backups.texi (Backups and Auto-Saving):
+ * customize.texi (Customization, Group Definitions)
+ (Variable Definitions):
+ * compile.texi (Byte Compilation): Improve index entries.
+
+2007-03-31 Karl Berry <karl@gnu.org>
+
+ * macros.texi (Defining Macros): Avoid widow syllable.
+
+2007-03-31 Eli Zaretskii <eliz@gnu.org>
+
+ * elisp.texi (Top): Postscript -> PostScript.
+
+ * display.texi (Images, Postscript Images): Postscript -> PostScript.
+
+2007-03-31 Markus Triska <markus.triska@gmx.at>
+
+ * internals.texi (Writing Emacs Primitives): Untabify `For'.
+
+2007-03-30 Karl Berry <karl@gnu.org>
+
+ * lists.texi (List-related Predicates): Remove spurious @need.
+ (Setcdr): Use @smallexample to improve page break.
+ (Association Lists) <assoc>: Reword to improve page break.
+
+ * strings.texi (String Conversion): Insert blank line to improve
+ page break.
+
+ * numbers.texi (Random Numbers): Use @minus{}.
+ (Math Functions): Use @minus{}.
+
+ * intro.texi (Acknowledgements): Avoid line breaks before middle
+ initials.
+
+2007-03-24 Eli Zaretskii <eliz@gnu.org>
+
+ * errors.texi (Standard Errors): Add an index entry.
+
+2007-03-19 Richard Stallman <rms@gnu.org>
+
+ * os.texi (Recording Input): recent-keys now gives 300 keys.
+
+2007-03-12 Glenn Morris <rgm@gnu.org>
+
+ * os.texi: Replace "daylight savings" with "daylight saving"
+ throughout.
+
+2007-03-05 Richard Stallman <rms@gnu.org>
+
+ * variables.texi (File Local Variables): Update
+ enable-local-variables values.
+
+2007-03-04 Richard Stallman <rms@gnu.org>
+
+ * syntax.texi (Control Parsing): Minor clarification.
+
+ * strings.texi (Formatting Strings): Clarify width, precision, flags.
+
+ * sequences.texi (Sequence Functions): Move string-bytes away,
+ add xref.
+
+ * nonascii.texi (Text Representations): Move string-bytes here.
+
+ * modes.texi (Major Mode Conventions): Fundamental mode is exception.
+
+ * minibuf.texi (Basic Completion): Minor clarification.
+
+ * markers.texi (The Mark): Clarify existence vs activation of mark.
+ Other cleanup.
+
+ * display.texi (Finding Overlays): Write better example.
+
+ * compile.texi (Eval During Compile): Clarify putting macros
+ in eval-when-compile.
+
+2007-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * loading.texi (How Programs Do Loading): Fix anchor position at
+ load-read-function definition doc. (tiny change)
+
+2007-02-21 Kim F. Storm <storm@cua.dk>
+
+ * strings.texi (Text Comparison): Mention that assoc-string
+ converts symbols to strings before testing.
+
+2007-02-17 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Bindat Spec): Vector types can have optional
+ element type.
+ (Bindat Examples): Fix example. Add vector with element type.
+
+2007-02-16 Andreas Schwab <schwab@suse.de>
+
+ * strings.texi (Formatting Strings): Document '+' flag.
+
+2007-02-15 Juanma Barranquero <lekktu@gmail.com>
+
+ * strings.texi (Modifying Strings): Clarify that `clear-string'
+ always converts the string to unibyte.
+
+2007-02-14 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Glyphs): Add make-glyph-code, glyph-char, glyph-face.
+ Rewrite glyph code description to refer to these functions.
+ Remove details of encoding face number and char into integer code.
+
+2007-02-03 Alan Mackenzie <acm@muc.de>
+
+ * loading.texi (Hooks for Loading): Make the description of
+ `eval-after-load' more detailed, and amend the description of
+ after-load-alist, in accordance with changes from 2006-05.
+
+2007-02-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * modes.texi (Defining Minor Modes): Document that a :require
+ keyword or similar may be required to make saved customization
+ variables work.
+
+2007-02-03 Eli Zaretskii <eliz@gnu.org>
+
+ * elisp.texi (Top): Make the detailed menu headers compliant with
+ Texinfo guidelines and with what texnfo-upd.el expects. Add
+ comments to prevent people from inadvertently modifying the key
+ parts needed by `texinfo-multiple-files-update'.
+
+2007-02-02 Eli Zaretskii <eliz@gnu.org>
+
+ * elisp.texi (Top): Update the top-level menus.
+
+ * syntax.texi (Categories): Add index entries.
+
+2007-02-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * display.texi (Attribute Functions): Fix name and description of
+ the UNDERLINE arg of `set-face-underline-p'.
+
+2007-01-29 Eli Zaretskii <eliz@gnu.org>
+
+ * elisp.texi (Top): Add "Standard Errors", "Standard Buffer-Local
+ Variables", and "Standard Keymaps" to the detailed menu.
+
+ * variables.texi (Future Local Variables): Add index entry.
+
+2007-01-28 Richard Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Clarify the tip about macros
+ that define a function or a variable.
+
+ * files.texi (File Attributes): UID and GID can be floats.
+ (Magic File Names): Explain why deferring all operations to
+ the standard handler does not work.
+
+2007-01-23 Martin Rudalics <rudalics@gmx.at>
+
+ * backups.texi (Reverting): Use "buffer" instead of "file"
+ when talking about major and minor modes.
+
+2007-01-21 Richard Stallman <rms@gnu.org>
+
+ * help.texi (Documentation): Add xref to Documentation Tips.
+
+2007-01-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * tips.texi (Coding Conventions): Fix typos.
+
+2007-01-05 Richard Stallman <rms@gnu.org>
+
+ * modes.texi (Defining Minor Modes): Fix previous change.
+
+2007-01-03 Richard Stallman <rms@gnu.org>
+
+ * customize.texi (Variable Definitions, Customization Types):
+ Don't use * in doc string for defcustom.
+
+2007-01-02 Richard Stallman <rms@gnu.org>
+
+ * variables.texi (Variable Aliases): Clarify that aliases vars
+ always have the same value.
+
+ * processes.texi (Bindat Spec): Fix Texinfo usage.
+
+ * modes.texi (Defining Minor Modes): Explain effect of command
+ defined with define-global-minor-mode on new buffers.
+
+2006-12-30 Kim F. Storm <storm@cua.dk>
+
+ * keymaps.texi (Tool Bar): Describe `grow-only' value of
+ `auto-resize-tool-bars'.
+
+2006-12-30 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Active Keymaps): Fix previous change.
+
+2006-12-30 Nick Roberts <nickrob@snap.net.nz>
+
+ * keymaps.texi (Active Keymaps): Make xref to lookup-key.
+
+2006-12-30 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Bindat Spec): Clarify using field names in
+ length specifications.
+
+2006-12-29 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Bindat Spec): Explain eval forms and lengths better.
+ Add count and index variables for eval forms in repeat blocks.
+
+2006-12-24 Richard Stallman <rms@gnu.org>
+
+ * customize.texi (Variable Definitions): Document
+ new name custom-add-frequent-value.
+
+2006-12-19 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Misc Events): User signals now result in sigusr1
+ and sigusr2 events which are handled through special-event-map.
+ (Special Events): User signals and drag-n-drop are special.
+
+2006-12-17 Richard Stallman <rms@gnu.org>
+
+ * loading.texi (Named Features): Explain subfeatures better.
+
+ * customize.texi: Use "option" only for user options.
+ For the keyword values inside defcustom etc, say "keywords".
+ For :options value's elements, say "elements".
+ :group should not be omitted.
+
+ * syntax.texi (Parsing Expressions): Split up node.
+ (Motion via Parsing, Position Parse, Parser State)
+ (Low-Level Parsing, Control Parsing): New subnodes.
+ (Parser State): Document syntax-ppss-toplevel-pos.
+
+ * positions.texi (List Motion): Punctuation fix.
+
+ * files.texi (File Name Completion): Document PREDICATE arg
+ to file-name-completion.
+
+2006-12-16 Eli Zaretskii <eliz@gnu.org>
+
+ * internals.texi (Building Emacs, Writing Emacs Primitives):
+ Add index entries.
+
+2006-12-11 Richard Stallman <rms@gnu.org>
+
+ * modes.texi (Font Lock Basics): Explain how nil for font-lock-defaults
+ affects face menu. Explain how to make it non-nil without enabling
+ any fontification.
+
+2006-12-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * modes.texi (Font Lock Basics): Document nil value of
+ font-lock-defaults.
+
+2006-12-10 Glenn Morris <rgm@gnu.org>
+
+ * abbrevs.texi (Defining Abbrevs): Mention `define-abbrev' 'force
+ value for system-flag argument. Abbrev tables may not be empty
+ when major modes are loaded.
+
+2006-12-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (maintainer-clean): Partially revert last
+ change; delete "elisp-?" and "elisp-??" instead of "elisp-*"
+ to protect elisp-covers.texi.
+
+2006-12-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (maintainer-clean): Depend on `distclean'.
+ Don't remove elisp* info files; they are already deleted by the
+ `clean' and `distclean' targets, and they are in the $(infodir)
+ directory, not the current one.
+
+2006-12-04 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Misc Events): Update signal events.
+ (Event Examples): Add signal example.
+
+2006-11-29 Richard Stallman <rms@gnu.org>
+
+ * frames.texi (Visibility of Frames): Explain visible windows
+ can be covered by others. Add xref for raise-frame.
+
+2006-11-28 Richard Stallman <rms@gnu.org>
+
+ * searching.texi (Regexp Special): Update when ^ is special.
+
+2006-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * customize.texi (Customization, Common Keywords)
+ (Group Definitions, Variable Definitions, Composite Types)
+ (Type Keywords, Customization Types): Add index entries for
+ various customization keywords.
+
+2006-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * modes.texi (Multiline Font Lock): Rephrase some parts for clarity.
+
+2006-11-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * frames.texi (Window System Selections): Remove clipboard from
+ description of selection-coding-system.
+
+2006-11-06 Richard Stallman <rms@gnu.org>
+
+ * lists.texi (List Variables): Document COMPARE-FN.
+
+ * keymaps.texi: Avoid use of "binding" to mean a relation;
+ use it only to refer to the meaning associated with a key.
+ (Keymaps): Change menu node description.
+
+ * elisp.texi (Top): Change menu node description.
+
+ * display.texi (Managing Overlays): Document overlay-recenter.
+
+2006-10-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * Makefile.in: Use relative paths to avoid advertising filesystem
+ contents during compilation.
+
+2006-10-23 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Event Input Misc): Update unread-command-events.
+
+2006-10-23 Nick Roberts <nickrob@snap.net.nz>
+
+ * lists.texi (Sets And Lists): Fix typos.
+
+2006-10-18 Juanma Barranquero <lekktu@gmail.com>
+
+ * control.texi (Processing of Errors): Use @var for an argument,
+ not @code.
+
+2006-10-16 Richard Stallman <rms@gnu.org>
+
+ * edebug.texi (Edebug Recursive Edit): Minor cleanup.
+
+ * keymaps.texi (Format of Keymaps): Show all the keymap element
+ patterns that result from menu items.
+ (Key Lookup): Minor cleanups.
+
+ * modes.texi (Precalculated Fontification): Don't say that
+ not setting font-lock-defaults avoids loading font-lock.
+
+ * help.texi (Documentation): Move xref to Emacs Manual here.
+ (Documentation Basics): From here.
+ Also doc emacs-lisp-docstring-fill-column.
+
+ * elisp.texi: Update version and ISBN.
+
+ * commands.texi (Interactive Call): Clarify KEYS arg to
+ call-interactively is a vector.
+ (Command Loop Info): Delete anchor in this-command-keys.
+ Add anchor in this-command-keys-vector.
+ (Recursive Editing): Document how recursive-edit
+ handles the current buffer.
+
+2006-10-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * frames.texi (Frame Titles): %c and %l are ignored in
+ frame-title-format.
+
+2006-10-11 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Key Sequences): Clarify use of kbd.
+
+2006-10-10 Kim F. Storm <storm@cua.dk>
+
+ * lists.texi (Sets And Lists): Add memql.
+
+2006-10-03 Richard Stallman <rms@gnu.org>
+
+ * searching.texi (Char Classes): Document :multibyte: and :unibyte:.
+ Clarify :ascii: and :nonascii:.
+
+2006-09-29 Juri Linkov <juri@jurta.org>
+
+ * modes.texi (%-Constructs): Reorder coding systems in the
+ documentation of %z to the real order displayed in the modeline.
+
+2006-09-25 Richard Stallman <rms@gnu.org>
+
+ * os.texi (Timers): Describe timer-max-repeats.
+
+2006-09-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * os.texi (Timers): Mention with-local-quit.
+
+2006-09-24 Richard Stallman <rms@gnu.org>
+
+ * searching.texi (Searching and Matching): Mention property search.
+
+ * commands.texi (Command Loop Info): Explain how read-event affects
+ this-command-keys.
+
+2006-09-20 Richard Stallman <rms@gnu.org>
+
+ * os.texi (Timers): Clarify about REPEAT when timer is delayed.
+
+ * windows.texi (Window Start): Minor cleanups.
+
+2006-09-20 Kim F. Storm <storm@cua.dk>
+
+ * windows.texi (Window Start): pos-visible-in-window-p allows
+ specifying t for position to mean "end of window".
+ Add window-line-height.
+
+ * anti.texi (Antinews): Mention window-line-height.
+
+2006-09-19 David Kastrup <dak@gnu.org>
+
+ * keymaps.texi (Searching Keymaps): Small clarification.
+
+2006-09-18 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Creating Keymaps): Explain that keymap prompt strings
+ cause keyboard menus.
+ (Menu Keymaps): Likewise.
+ (Defining Menus, Keyboard Menus): Clarify.
+
+ * text.texi (Fields): Clarify explanation of constrain-to-field.
+
+2006-09-16 Eli Zaretskii <eliz@gnu.org>
+
+ * variables.texi (Tips for Defining): Fix a typo.
+
+2006-09-15 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Remapping Commands, Searching Keymaps)
+ (Active Keymaps): Clean up previous change.
+
+2006-09-15 Jay Belanger <belanger@truman.edu>
+
+ * gpl.texi: Replace "Library Public License" by "Lesser Public
+ License" throughout.
+
+2006-09-15 David Kastrup <dak@gnu.org>
+
+ * keymaps.texi (Active Keymaps): Adapt description to use
+ `get-char-property' instead `get-text-property'. Explain how
+ mouse events change this. Explain the new optional argument of
+ `key-binding' and its mouse-dependent lookup.
+ (Searching Keymaps): Adapt description similarly.
+ (Remapping Commands): Explain the new optional argument of
+ `command-remapping'.
+
+2006-09-14 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Searching Keymaps): Clarification.
+ (Active Keymaps): Refer to Searching Keymaps instead of duplication.
+
+2006-09-13 Richard Stallman <rms@gnu.org>
+
+ * objects.texi (Character Type): Node split.
+ Add xref to Describing Characters.
+ (Basic Char Syntax, General Escape Syntax)
+ (Ctl-Char Syntax, Meta-Char Syntax): New subnodes.
+
+2006-09-11 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Display Table Format): Wording clarification.
+ (Glyphs): Clarifications.
+
+2006-09-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymaps.texi (Active Keymaps): Mention that key-binding checks
+ local maps.
+
+2006-09-10 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Forcing Redisplay): Document return value of
+ function redisplay.
+
+2006-09-09 Richard Stallman <rms@gnu.org>
+
+ * windows.texi (Window Hooks): Explain limits of
+ window-scroll-functions.
+
+ * display.texi (Fringe Indicators): Update for last change in
+ indicate-buffer-boundaries.
+
+2006-09-08 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Bindat Spec): Suggest names ending in -bindat-spec.
+
+2006-09-06 Kim F. Storm <storm@cua.dk>
+
+ * frames.texi (Display Feature Testing): display-mm-dimensions-alist.
+
+ * windows.texi (Window Start): Update pos-visible-in-window-p.
+
+2006-09-04 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Accepting Output): Explain SECONDS=0 for
+ accept-process-output.
+
+ * os.texi (Idle Timers): Explain why timer functions should not
+ loop until (input-pending-p).
+
+2006-09-02 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (usermanualdir): New variable.
+ (elisp.dvi): Use it.
+
+2006-09-01 Eli Zaretskii <eliz@gnu.org>
+
+ * buffers.texi (Buffer Modification): Fix last change.
+
+2006-09-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * buffers.texi (Buffer Modification): Document
+ buffer-chars-modified-tick.
+
+2006-08-31 Richard Stallman <rms@gnu.org>
+
+ * modes.texi (Syntactic Font Lock): Mention specific faces once again.
+
+2006-08-31 Richard Bielawski <RBielawski@moneygram.com> (tiny change)
+
+ * modes.texi (Syntactic Font Lock):
+ Mention font-lock-syntactic-face-function
+ instead of specific faces.
+
+2006-08-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Images): Add xrref to display-images-p.
+
+2006-08-28 Kenichi Handa <handa@m17n.org>
+
+ * nonascii.texi (Lisp and Coding Systems): Fix description of
+ detect-coding-region.
+
+2006-08-27 Michael Olson <mwolson@gnu.org>
+
+ * processes.texi (Transaction Queues): Remove stray quote
+ character.
+
+2006-08-25 Richard Stallman <rms@gnu.org>
+
+ * os.texi (Idle Timers): run-with-idle-timer allows Lisp time value.
+ Add xref.
+
+2006-08-24 Chong Yidong <cyd@stupidchicken.com>
+
+ * os.texi (Timers): Avoid waiting inside timers.
+
+2006-08-21 Lute Kamstra <lute@gnu.org>
+
+ * Makefile.in: Use ../man/texinfo.tex to build elisp.dvi.
+
+2006-08-20 Richard Stallman <rms@gnu.org>
+
+ * os.texi (Idle Timers): New node, split out from Timers.
+ Document current-idle-time.
+ * commands.texi (Reading One Event): Update xref.
+ * elisp.texi (Top): Update subnode menu.
+
+2006-08-16 Richard Stallman <rms@gnu.org>
+
+ * keymaps.texi (Extended Menu Items): Show format of cached
+ bindings in extended menu items.
+
+ * customize.texi (Variable Definitions): Explain when the
+ standard value expression is evaluated.
+
+2006-08-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * commands.texi (Reading One Event): Explain idleness in
+ `read-event'.
+
+2006-08-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * text.texi (Near Point): Say "cursor" not "terminal cursor".
+ (Commands for Insertion): Removed split-line since it's not
+ relevant for Lisp programming.
+ (Yank Commands): Rewrite introduction.
+ (Undo): Clarify.
+ (Maintaining Undo): Clarify. Document undo-ask-before-discard.
+ (Filling): Remove redundant comment. Clarify return value of
+ current-justification.
+ (Margins): Minor clarifications.
+ (Adaptive Fill): Update default value of adaptive-fill-regexp.
+ (Sorting): Update definition of sort-lines.
+ (Columns): Clarify behavior of sort-columns.
+ (Indent Tabs): Link to Tab Stops in Emacs manual.
+ (Special Properties): Clarify.
+ (Clickable Text): Mention Buttons package.
+
+2006-08-12 Kevin Ryde <user42@zip.com.au>
+
+ * os.texi (Time Parsing): Add %z to description of
+ format-time-string, as per docstring. Add cross reference to
+ glibc manual for strftime.
+
+2006-08-08 Richard Stallman <rms@gnu.org>
+
+ * modes.texi: Clean up wording in previous change.
+
+2006-08-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * modes.texi (Hooks): Clarify.
+ (Major Mode Basics): Mention define-derived-mode explicitly.
+ (Major Mode Conventions): Rebinding RET is OK for some modes.
+ Mention change-major-mode-hook and after-change-major-mode-hook.
+ (Example Major Modes): Moved to end of Modes section.
+ (Mode Line Basics): Clarify.
+ (Mode Line Data): Mention help-echo and local-map in strings.
+ Explain reason for treatment of non-risky variables.
+ (Properties in Mode): Clarify.
+ (Faces for Font Lock): Add font-lock-negation-char-face.
+
+2006-08-04 Eli Zaretskii <eliz@gnu.org>
+
+ * strings.texi (Formatting Strings): Warn against arbitrary
+ strings as first arg to `format'.
+
+2006-07-31 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * text.texi (Clickable Text): Mention `help-echo' text property.
+ Update intro, examples and associated explanations.
+
+2006-07-31 Richard Stallman <rms@gnu.org>
+
+ * commands.texi: Update xrefs.
+ (Event Mod): New node, cut out from old Translating Input.
+
+ * maps.texi: Update xrefs.
+
+ * keymaps.texi (Translation Keymaps): New node.
+ Update xrefs from Translating Input to Translation Keymaps.
+
+ * elisp.texi (Top): Update subnode menu.
+
+ * display.texi (Face Functions): Fix explanations of FRAME=t or nil.
+
+ * os.texi (System Interface): Fix menu descriptions of some nodes.
+ (Translating Input): Node deleted.
+
+2006-07-31 Nick Roberts <nickrob@snap.net.nz>
+
+ * modes.texi (Minor Mode Conventions): Update xref for add-to-list.
+
+ * lists.texi (Sets And Lists): Likewise.
+
+2006-07-30 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * text.texi (Fields): Mention POS
+ requirement when narrowing is in effect.
+
+2006-07-28 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Face Attributes): Simplify wording.
+ (Attribute Functions): Clarify meaning of new-frame default
+ attribute settings.
+
+ * customize.texi (Common Keywords): Document how to use
+ :package-version in a package not in Emacs.
+
+2006-07-28 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Reading One Event): Fix last change.
+
+2006-07-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * commands.texi (Reading One Event): Document SECONDS argument for
+ read-event, read-char, and read-char-exclusive.
+
+2006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * modes.texi (Multiline Font Lock): Can't use jit-lock-defer-multiline
+ to ensure correct identification.
+
+2006-07-24 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Clickable Text): Clarify.
+
+ * sequences.texi (Vector Functions): Delete duplicate xref.
+
+ * objects.texi (Function Type): Clarify.
+
+ * modes.texi (Keymaps and Minor Modes): List punct chars for minor
+ modes.
+
+ * lists.texi (List Variables): New node.
+ Material moved from other nodes.
+
+ * variables.texi (Setting Variables): add-to-list and
+ add-to-ordered-list moved to List Variables node.
+
+2006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * text.texi (Links and Mouse-1):
+ For mouse-on-link-p, expand on arg POS.
+
+2006-07-21 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Forcing Redisplay): Don't mention systems which
+ don't support sub-second timers for redisplay-preemption-period.
+
+ * os.texi (Terminal Output): Clarify text vs graphical terminal.
+
+2006-07-21 Eli Zaretskii <eliz@gnu.org>
+
+ * frames.texi (Input Focus): Document that focus-follows-mouse has
+ no effect on MS-Windows.
+
+2006-07-18 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Forcing Redisplay): Cleanups in previous change.
+
+ * processes.texi (Low-Level Network): Make menu more convenient.
+
+2006-07-18 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Forcing Redisplay): redisplay-preemption-period
+ only used on window systems. Add xref to Terminal Output.
+
+ * os.texi (Terminal Output): baud-rate only controls preemption on
+ non-window systems. Add xref to Forcing Redisplay.
+
+ * processes.texi (Low-Level Network): Rename node "Make Network"
+ to "Network Processes".
+
+2006-07-18 Karl Berry <karl@gnu.org>
+
+ * variables.texi, functions.texi, customize.texi, loading.texi:
+ * edebug.texi, minibuf.texi: Fix page breaks through chapter 20.
+
+2006-07-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * commands.texi (Waiting): Document batch-mode sit-for behavior.
+
+2006-07-17 Richard Stallman <rms@gnu.org>
+
+ * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus.
+ Put period and comma inside quotes.
+
+ * loading.texi, markers.texi: Use real doublequote inside menus.
+
+ * windows.texi: Put point and comma inside quotes.
+ (Textual Scrolling): Use @samp for error message.
+
+ * variables.texi, tips.texi, syntax.texi, symbols.texi:
+ * strings.texi, streams.texi, processes.texi, os.texi:
+ * objects.texi, numbers.texi, modes.texi, minibuf.texi:
+ * lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi:
+ * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi:
+ * display.texi, control.texi, commands.texi, buffers.texi, anti.texi:
+ Put point and comma inside quotes.
+
+ * control.texi (Processing of Errors): Add command-error-function.
+
+ * variables.texi (File Local Variables): Clarify that
+ file local variables make buffer-local bindings.
+
+ * modes.texi (Syntactic Font Lock): Give default for
+ font-lock-syntax-table.
+
+2006-07-17 Nick Roberts <nickrob@snap.net.nz>
+
+ * text.texi (Special Properties): Clean up previous change.
+
+2006-07-16 Karl Berry <karl@gnu.org>
+
+ * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi:
+ * control.texi: Fix bad page breaks through chapter 10 (control).
+
+ * anti.texi (Antinews): Reorder face-attribute fns to avoid
+ underfull hbox.
+
+2006-07-15 Nick Roberts <nickrob@snap.net.nz>
+
+ * text.texi (Special Properties): Describe fontified text property
+ in relation to a character (not text).
+
+2006-07-15 Kim F. Storm <storm@cua.dk>
+
+ * maps.texi (Standard Keymaps): Add xref for minibuffer maps.
+ Add apropos-mode-map, custom-mode-map, esc-map, global-map,
+ grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map.
+
+ * anti.texi (Antinews): Mention redisplay function.
+ The kbd macro existed, but was not documented, before 22.x.
+ Function pos-visible-in-window-p is not new in 22.x, just enhanced.
+
+2006-07-14 Nick Roberts <nickrob@snap.net.nz>
+
+ * display.texi (Displaying Messages): Add anchor.
+
+ * frames.texi (Dialog Boxes): Use it.
+
+2006-07-12 Richard Stallman <rms@gnu.org>
+
+ * objects.texi (Frame Type): Explain nature of frames better.
+
+ * frames.texi (Frames): Explain nature of frames better.
+
+2006-07-12 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * tips.texi (Coding Conventions): Explain why use cl at compile time.
+
+2006-07-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * frames.texi (Window System Selections): Mention scrap support for Mac.
+ Default value of x-select-enable-clipboard is t on Mac.
+
+ * os.texi (Getting Out): Suspending is not allowed on Mac, either.
+
+2006-07-11 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Forcing Redisplay): Add `redisplay' function.
+ Don't mention (sit-for -1) -- use (redisplay t) instead.
+
+ * commands.texi (Waiting): (sit-for -1) is no longer special.
+ (sit-for 0) is equivalent to (redisplay).
+ Iconifying/deiconifying no longer makes sit-for return.
+
+2006-07-10 Nick Roberts <nickrob@snap.net.nz>
+
+ * display.texi (Buttons): Fix typo.
+
+ * index.texi, elisp.texi (New Symbols): Comment node out.
+
+2006-07-09 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Truncation): Clean up previous change.
+
+2006-07-08 Richard Stallman <rms@gnu.org>
+
+ * commands.texi (Interactive Call): Use 3 as prefix in example
+ for execute-extended-command.
+
+ * display.texi (Attribute Functions): Move paragraph about
+ compatibility with Emacs < 21.
+
+2006-07-09 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Refresh Screen): Clarify force-window-update.
+ (Truncation): "Normally" indicated by fringe arrows.
+
+2006-07-08 Eli Zaretskii <eliz@gnu.org>
+
+ * windows.texi (Textual Scrolling, Resizing Windows):
+ * variables.texi (Constant Variables):
+ * text.texi (Buffer Contents, Deletion, Changing Properties)
+ (Property Search, Special Properties, Sticky Properties)
+ (Links and Mouse-1, Fields, Change Hooks):
+ * syntax.texi (Syntax Table Functions, Parsing Expressions)
+ (Categories):
+ * symbols.texi (Other Plists):
+ * streams.texi (Output Variables):
+ * processes.texi (Input to Processes, Query Before Exit):
+ * positions.texi (Word Motion, Text Lines, List Motion):
+ * os.texi (Init File, System Environment, Sound Output)
+ (Session Management):
+ * nonascii.texi (Text Representations, Character Sets)
+ (Chars and Bytes, Locales):
+ * modes.texi (Defining Minor Modes, Header Lines):
+ * minibuf.texi (Minibuffer Contents):
+ * markers.texi (Information from Markers):
+ * lists.texi (List Elements, Building Lists, Association Lists):
+ * keymaps.texi (Tool Bar):
+ * hash.texi (Creating Hash, Hash Access, Defining Hash, Other Hash):
+ * functions.texi (What Is a Function, Mapping Functions):
+ * frames.texi (Creating Frames, Parameter Access, Pointer Shape)
+ (Color Names, Text Terminal Colors, Display Feature Testing):
+ * files.texi (Visiting Functions, File Name Components)
+ (Unique File Names, Contents of Directories):
+ * display.texi (Forcing Redisplay, Displaying Messages)
+ (Temporary Displays, Font Selection, Auto Faces)
+ (Font Lookup, Fringe Indicators, Display Margins)
+ (Image Descriptors, Showing Images, Image Cache, Button Types)
+ (Making Buttons, Manipulating Buttons, Button Buffer Commands)
+ (Display Table Format, Glyphs):
+ * control.texi (Iteration):
+ * commands.texi (Command Loop Info, Adjusting Point):
+ * backups.texi (Making Backups, Auto-Saving):
+ Remove @tindex entries.
+
+2006-07-07 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Fringe Cursors): Fix typo.
+ (Customizing Bitmaps): Fix define-fringe-bitmap entry.
+ (Overlay Arrow): Default is overlay-arrow fringe indicator.
+
+2006-07-05 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Buffer Contents): Add example of text props
+ in result of buffer-substring.
+ (Text Properties): Explain better about use of specific property names.
+ (Property Search): Some cleanups; reorder some functions.
+
+ * keymaps.texi (Changing Key Bindings): Cleanup.
+ Add xref to Key Binding Conventions.
+
+ * display.texi (Attribute Functions): Add examples for
+ face-attribute-relative-p.
+
+ * tips.texi (Coding Conventions): Cleanup last change.
+
+2006-07-05 Karl Berry <karl@gnu.org>
+
+ * elisp.texi: Use @fonttextsize 10pt, a la emacs.texi.
+ Remove @setchapternewpage odd.
+ Result is 1013 pages, down from 1100.
+
+ * anti.texi, customize.texi, display.texi, internals.texi:
+ * minibuf.texi, modes.texi, tips.texi:
+ Fix overfull/underfull boxes.
+
+2006-07-05 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * edebug.texi (Instrumenting):
+ Add Edebug-specific findex for eval-buffer.
+ * loading.texi (Loading):
+ Replace eval-current-buffer with eval-buffer.
+
+2006-06-30 Nick Roberts <nickrob@snap.net.nz>
+
+ * locals.texi (Standard Buffer-Local Variables): Update the list
+ of variables.
+
+2006-06-26 Nick Roberts <nickrob@snap.net.nz>
+
+ * files.texi (File Name Completion): Point user to the node
+ "Reading File Names".
+
+2006-06-24 Eli Zaretskii <eliz@gnu.org>
+
+ * files.texi (Contents of Directories): Document case-insensitive
+ behavior on respective filesystems.
+
+ * objects.texi (Character Type): Document that Emacs signals an
+ error for unsupported Unicode characters specified as \uNNNN.
+
+2006-06-19 Richard Stallman <rms@gnu.org>
+
+ * processes.texi (Bindat Spec): Clarify previous change.
+
+2006-06-16 Richard Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Better explain conventions
+ for definition constructs.
+
+ * text.texi (Special Properties): String value of `read-only'
+ serves as the error message.
+
+ * objects.texi (Character Type): Clarify prev. change.
+ (Non-ASCII in Strings): Mention \u and \U.
+
+ * commands.texi (Using Interactive): Explain problem of
+ markers, etc., in command-history.
+
+2006-06-14 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Waiting): Negative arg to sit-for forces
+ redisplay even if input is pending.
+
+ * display.texi (Forcing Redisplay): Use (sit-for -1) to force a
+ redisplay. Remove incorrect example of binding redisplay-dont-pause
+ around (sit-for 0).
+
+2006-06-13 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Forcing Redisplay): Clarify previous change.
+
+2006-06-13 Romain Francoise <romain@orebokech.com>
+
+ * display.texi (Forcing Redisplay): Fix typo.
+
+2006-06-13 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Forcing Redisplay): Add redisplay-preemption-period.
+
+2006-06-10 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Coding Conventions): Add `@end itemize'.
+
+2006-06-10 Richard Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Explain use of coding systems
+ to ensure one decoding for strings.
+
+2006-06-09 Aidan Kehoe <kehoea@parhasard.net>
+
+ * objects.texi (Character Type): Describe the \uABCD and \U00ABCDEF
+ syntax.
+
+2006-06-07 Eli Zaretskii <eliz@gnu.org>
+
+ * display.texi (Font Selection): Remove description of
+ clear-face-cache.
+
+ * compile.texi (Eval During Compile): Fix a typo. Add index
+ entries for possible uses of eval-when-compile.
+
+2006-06-04 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * display.texi (Abstract Display): Fix typo.
+
+2006-06-03 Eli Zaretskii <eliz@gnu.org>
+
+ * minibuf.texi (Minibuffer History) <history-add-new-input>:
+ Reword variable's description.
+
+2006-06-01 Richard Stallman <rms@gnu.org>
+
+ * windows.texi (Splitting Windows): Clarify splitting nonselected
+ window.
+
+2006-05-31 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Minibuffer History): Add history-add-new-input.
+
+2006-05-30 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Line Height): Fix errors in description of
+ default line height and line-height properyty.
+
+ * nonascii.texi (Default Coding Systems): Further clarification.
+
+2006-05-29 Luc Teirlinck <teirllm@auburn.edu>
+
+ * internals.texi (Pure Storage): Mention that an overflow in pure
+ space causes a memory leak.
+ (Garbage Collection): If there was an overflow in pure space,
+ `garbage-collect' returns nil.
+
+2006-05-30 Eli Zaretskii <eliz@gnu.org>
+
+ * nonascii.texi (Default Coding Systems): Fix it some more.
+
+2006-05-29 Eli Zaretskii <eliz@gnu.org>
+
+ * nonascii.texi (Default Coding Systems): Fix last change.
+
+2006-05-29 Kenichi Handa <handa@m17n.org>
+
+ * nonascii.texi (find-operation-coding-system): Describe the new
+ argument format (FILENAME . BUFFER).
+
+2006-05-28 Richard Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Better explain reasons not to
+ advise other packages or use `eval-after-load'.
+
+2006-05-29 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Bindat Functions): Rename `pos' and `raw-data' to
+ `bindat-idx' and `bindat-raw' for clarity.
+
+2006-05-27 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * processes.texi (Bindat Spec): Expand on `repeat' handler.
+
+ * display.texi (Display): Add "Abstract Display" to menu.
+ (Abstract Display, Abstract Display Functions)
+ (Abstract Display Example): New nodes.
+ * elisp.texi (Top): Add "Abstract Display" to menu.
+
+2006-05-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymaps.texi (Key Sequences): Link to input events definition.
+ (Format of Keymaps): Delete material duplicated in Keymap Basics.
+
+ * files.texi (Changing Files): Document updated argument list for
+ copy-file.
+
+2006-05-27 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * processes.texi (Bindat Functions): Explain term "total length".
+ Use it in bindat-length and bindat-pack descriptions.
+
+2006-05-26 Eli Zaretskii <eliz@gnu.org>
+
+ * tips.texi (Coding Conventions): Advise against using
+ eval-after-load in packages. Add an index entry.
+
+2006-05-25 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Text from Minibuffer): Undocument keep-all.
+
+ * modes.texi (%-Constructs): Add %e, %z, %Z.
+
+2006-05-25 Richard Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode menu.
+
+ * keymaps.texi (Keymap Basics): New node, split out of Key Sequences.
+ (Keymaps): Update menu.
+
+2006-05-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymaps.texi (Key Sequences): Some clarifications.
+
+2006-05-25 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * processes.texi (Bindat Functions): Say "unibyte string"
+ explicitly for bindat-unpack and bindat-pack descriptions.
+ (Bindat Examples): Don't call `string-make-unibyte' in example.
+
+2006-05-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymaps.texi (Key Sequences): Renamed from Keymap Terminology.
+ Explain string and vector representations of key sequences
+
+ * keymaps.texi (Changing Key Bindings):
+ * commands.texi (Interactive Codes):
+ * help.texi (Describing Characters): Refer to it.
+
+2006-05-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * frames.texi (Pointer Shape): @end table -> @end defvar.
+
+2006-05-22 Richard Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode menus.
+
+ * frames.texi (Pointer Shape): Node renamed from Pointer Shapes.
+ Contents rewritten; material from old Pointer Shape node moved here.
+
+ * display.texi (Pointer Shape): Node deleted.
+ (Image Descriptors): Minor cleanup.
+
+2006-05-21 Richard Stallman <rms@gnu.org>
+
+ * syntax.texi (Parsing Expressions): Update info on which STATE
+ elements are ignored.
+
+2006-05-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * hooks.texi (Standard Hooks): Correct typo.
+
+ * gpl.texi (GPL): ifinfo -> ifnottex.
+
+2006-05-19 Michael Ernst <mernst@alum.mit.edu> (tiny change)
+
+ * searching.texi (Simple Match Data): Warn about match data being
+ set anew by every search.
+
+2006-05-17 Richard Stallman <rms@gnu.org>
+
+ * minibuf.texi (Minibuffer History): Clarify.
+
+ * searching.texi (Regexp Special): Clarify nested regexp warning.
+
+2006-05-16 Kim F. Storm <storm@cua.dk>
+
+ * minibuf.texi (Minibuffer History): Update add-to-history.
+
+2006-05-15 Oliver Scholz <epameinondas@gmx.de> (tiny change)
+
+ * nonascii.texi (Explicit Encoding): Fix
+ typo (encoding<->decoding).
+
+2006-05-14 Richard Stallman <rms@gnu.org>
+
+ * buffers.texi (Creating Buffers): Cleanup.
+
+ * files.texi (Visiting Functions): Rewrite in find-file-noselect.
+
+2006-05-13 Eli Zaretskii <eliz@gnu.org>
+
+ * buffers.texi (Current Buffer): Document that with-temp-buffer
+ disables undo.
+
+ * os.texi (Terminal-Specific): More accurate description of how
+ Emacs searches for the terminal-specific libraries.
+
+2006-05-12 Eli Zaretskii <eliz@gnu.org>
+
+ * hooks.texi (Standard Hooks) [iftex]: Convert @xref's to
+ emacs-xtra to @inforef's.
+
+ * text.texi (Undo): Document that undo is turned off in buffers
+ whose names begin with a space.
+
+ * buffers.texi (Buffer Names): Add index entries for buffers whose
+ names begin with a space.
+ (Creating Buffers): Document that undo is turned off in buffers
+ whose names begin with a space.
+
+ * files.texi (Visiting Functions, Reading from Files)
+ (Saving Buffers): Mention code and EOL conversions by file I/O
+ primitives and subroutines.
+
+ * nonascii.texi (Lisp and Coding Systems): Document
+ coding-system-eol-type. Add index entries for eol conversion.
+
+ * display.texi (Defining Faces): Mention `mac', and add an xref to
+ where window-system is described.
+
+2006-05-10 Richard Stallman <rms@gnu.org>
+
+ * internals.texi (Writing Emacs Primitives): Clarify GCPRO rules.
+
+2006-05-10 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * variables.texi (File Local Variables): Recommend to quote lambda
+ expressions in safe-local-variable property.
+
+2006-05-09 Richard Stallman <rms@gnu.org>
+
+ * variables.texi (File Local Variables): Document
+ safe-local-eval-forms and safe-local-eval-function.
+
+2006-05-07 Kim F. Storm <storm@cua.dk>
+
+ * minibuf.texi (Minibuffer History): Remove keep-dups arg
+ from add-to-history.
+
+2006-05-07 Romain Francoise <romain@orebokech.com>
+
+ * commands.texi (Event Input Misc):
+ * compile.texi (Eval During Compile):
+ * internals.texi (Buffer Internals):
+ * minibuf.texi (Initial Input):
+ * nonascii.texi (Scanning Charsets):
+ * numbers.texi (Comparison of Numbers):
+ * windows.texi (Textual Scrolling, Vertical Scrolling):
+ Fix various typos.
+
+2006-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ * hooks.texi (Standard Hooks): Replace inforef to emacs-xtra by
+ conditional xref's to either emacs or emacs-xtra, depending on
+ @iftex/@ifnottex.
+
+ * minibuf.texi (Minibuffer History): Document add-to-history.
+
+2006-05-05 Eli Zaretskii <eliz@gnu.org>
+
+ * internals.texi (Pure Storage): Mention the pure overflow message
+ at startup.
+
+2006-05-05 Johan Bockg\e,Ae\e(Brd <bojohan@dd.chalmers.se>
+
+ * keymaps.texi (Active Keymaps): Fix pseudo-Lisp syntax.
+ (Searching Keymaps): Fix pseudo-Lisp description of keymap
+ search.
+
+2006-05-01 Richard Stallman <rms@gnu.org>
+
+ * intro.texi (nil and t): Clarify.
+
+ * variables.texi (File Local Variables): Suggest using booleanp.
+
+2006-05-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * objects.texi (Type Predicates): Fix typos.
+
+2006-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * intro.texi (nil and t): Add booleanp.
+
+ * objects.texi (Type Predicates): Add links for booleanp and
+ string-or-null-p.
+
+2006-04-29 Richard Stallman <rms@gnu.org>
+
+ * modes.texi (Multiline Font Lock): Rename from
+ Multi line Font Lock Elements. Much clarification.
+ (Font Lock Multiline, Region to Fontify): Much clarification.
+
+2006-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * variables.texi (File Local Variables): Remove the special case t for
+ safe-local-variable.
+
+2006-04-26 Richard Stallman <rms@gnu.org>
+
+ * syntax.texi (Parsing Expressions): Minor cleanup.
+
+2006-04-18 Richard Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Explain when the package's
+ prefix should appear later on (not at the start of the name).
+
+ * searching.texi (String Search): Clarify effect of NOERROR.
+
+ * modes.texi (Imenu): Clarify what special items do.
+
+ * hooks.texi (Standard Hooks): Delete text about old hook names.
+
+2006-04-17 Romain Francoise <romain@orebokech.com>
+
+ * variables.texi (Local Variables): Update the default value of
+ `max-specpdl-size'.
+
+2006-04-15 Michael Olson <mwolson@gnu.org>
+
+ * processes.texi (Transaction Queues): Mention the new optional
+ `delay-question' argument for `tq-enqueue'.
+
+2006-04-13 Bill Wohler <wohler@newt.com>
+
+ * customize.texi (Common Keywords): Use dotted notation for
+ :package-version value. Specify its values. Improve documentation
+ for customize-package-emacs-version-alist.
+
+2006-04-12 Bill Wohler <wohler@newt.com>
+
+ * customize.texi (Common Keywords): Move description of
+ customize-package-emacs-version-alist to @defvar.
+
+2006-04-10 Bill Wohler <wohler@newt.com>
+
+ * customize.texi (Common Keywords): Add :package-version.
+
+2006-04-10 Kim F. Storm <storm@cua.dk>
+
+ * text.texi (Buffer Contents): Add NOPROPS arg to
+ filter-buffer-substring.
+
+2006-04-08 Kevin Ryde <user42@zip.com.au>
+
+ * os.texi (Command-Line Arguments): Update xref to emacs manual
+ "Command Arguments" -> "Emacs Invocation", per change there.
+
+2006-04-08 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * display.texi (Other Display Specs): Arrange a @code{DOTTED-LIST} to
+ be on one line to help makeinfo not render two spaces after the dot.
+
+2006-04-07 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * strings.texi (Predicates for Strings): Add string-or-null-p.
+
+2006-03-28 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Accepting Output): Remove obsolete (and incorrect)
+ remarks about systems that don't support fractional seconds.
+
+2006-03-25 Karl Berry <karl@gnu.org>
+
+ * elisp.texi: Use @copyright{} instead of (C), and do not indent
+ the year list.
+
+2006-03-21 Nick Roberts <nickrob@snap.net.nz>
+
+ * display.texi (Fringe Indicators): Fix typos.
+
+2006-03-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Documentation Tips): One can now also write `program'
+ in front of a quoted symbol in a docstring to prevent making a
+ hyperlink.
+
+2006-03-19 Alan Mackenzie <acm@muc.de>
+
+ * text.texi (Special Properties): Clarify `fontified' property.
+
+2006-03-16 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Defining Images): Minor cleanup.
+
+2006-03-16 Bill Wohler <wohler@newt.com>
+
+ * display.texi (Defining Images): In image-load-path-for-library,
+ prefer user's images.
+
+2006-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * modes.texi (Region to Fontify): Remove font-lock-lines-before.
+
+2006-03-15 Bill Wohler <wohler@newt.com>
+
+ * display.texi (Defining Images): Fix example in
+ image-load-path-for-library by not recommending that one binds
+ image-load-path. Just defvar it to placate compiler and only use
+ it if previously defined.
+
+2006-03-14 Bill Wohler <wohler@newt.com>
+
+ * display.texi (Defining Images): In image-load-path-for-library,
+ always return list of directories. Update example.
+
+2006-03-14 Alan Mackenzie <acm@muc.de>
+
+ * modes.texi: New node, "Region to Fontify" (for Font Lock).
+ This describes font-lock-extend-region-function.
+ ("Other Font Lock Variables"): Move "font-lock-lines-before" to
+ the new node "Region to Fontify".
+
+2006-03-13 Richard Stallman <rms@gnu.org>
+
+ * display.texi (Invisible Text): The impossible position is
+ now before the invisible text, not after.
+ (Defining Images): Clean up last change.
+
+2006-03-11 Bill Wohler <wohler@newt.com>
+
+ * display.texi (Defining Images): Add image-load-path-for-library.
+
+2006-03-11 Luc Teirlinck <teirllm@auburn.edu>
+
+ * text.texi (Adaptive Fill): Fix Texinfo usage.
+
+ * strings.texi (Creating Strings): Fix Texinfo usage.
+
+ * searching.texi (Regexp Special): Use @samp for regular
+ expressions that are not in Lisp syntax.
+
+2006-03-08 Luc Teirlinck <teirllm@auburn.edu>
+
+ * searching.texi (Regexp Special): Put remark between parentheses
+ to avoid misreading.
+
+2006-03-07 Luc Teirlinck <teirllm@auburn.edu>
+
+ * searching.texi (Syntax of Regexps): More accurately describe
+ which characters are special in which situations.
+ (Regexp Special): Recommend _not_ to quote `]' or `-' when they
+ are not special. Describe in detail when `[' and `]' are special.
+ (Regexp Backslash): Plenty of regexps with unbalanced square
+ brackets are valid, so reword that statement.
+
+2006-03-02 Kim F. Storm <storm@cua.dk>
+
+ * keymaps.texi (Tool Bar): Add tool-bar-border.
+
+2006-02-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * loading.texi (Load Suffixes): Rephrase last paragraph. Fix typos.
+
+2006-02-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * elisp.texi (Top): Include "Load Suffixes" in the detailed menu.
+
+ * files.texi (Locating Files): Suggest additional values for the
+ SUFFIXES arg of `locate-file'. Update pxref.
+
+ * loading.texi (Loading): Include new node "Load Suffixes" in menu.
+ (How Programs Do Loading): Discuss the effects of Auto Compression
+ mode on `load'.
+ (Load Suffixes): New node.
+ (Library Search): Delete description of `load-suffixes'; it was
+ moved to "Load Suffixes".
+ (Autoload, Named Features): Mention `load-suffixes'.
+
+2006-02-21 Giorgos Keramidas <keramida@ceid.upatras.gr> (tiny change)
+
+ * display.texi (Fringe Indicators, Fringe Cursors): Fix typos.
+
+ * windows.texi (Window Tree): Fix typo.
+
+2006-02-20 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Fringe Indicators): New section.
+ Move indicate-empty-lines, indicate-buffer-boundaries, and
+ default-indicate-buffer-boundaries here.
+ Add fringe-indicator-alist and default-fringes-indicator-alist.
+ Add list of logical fringe indicator symbols.
+ Update list of standard bitmap names.
+ (Fringe Cursors): New section.
+ Move overflow-newline-into-fringe here.
+ Add fringe-cursor-alist and default-fringes-cursor-alist.
+ Add list of fringe cursor symbols.
+
+2006-02-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * commands.texi (Using Interactive): Fix reference to node
+ "Minibuffers".
+
+2006-02-19 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (High-Level Completion):
+ Add xref to read-input-method-name.
+
+ * files.texi (Relative File Names): Move file-relative-name here.
+ (File Name Expansion): From here. Minor clarifications.
+
+ * commands.texi (Using Interactive): Add xrefs about reading input.
+ Clarify remarks about that moving point and mark.
+ Put string case before list case.
+
+2006-02-16 Johan Bockg\e,Ae\e(Brd <bojohan@dd.chalmers.se>
+
+ * display.texi (Other Display Specs, Image Descriptors):
+ Revert erroneous changes. The previous description of
+ image-descriptors as `(image . PROPS)' was correct.
+
+2006-02-14 Richard M. Stallman <rms@gnu.org>
+
+ * variables.texi (File Local Variables): Clarifications.
+
+2006-02-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * variables.texi (File Local Variables): Use @code for a cons
+ cell, not @var.
+
+2006-02-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * variables.texi (File Local Variables): Document new file local
+ variable behavior.
+
+2006-02-10 Kim F. Storm <storm@cua.dk>
+
+ * eval.texi (Function Indirection): Add NOERROR to indirect-function.
+
+2006-02-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * modes.texi (%-Constructs): Remove obsolete info about
+ `global-mode-string'.
+
+2006-02-07 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Prefix Command Arguments): Minor cleanup.
+
+ * display.texi: "Graphical display", not window system.
+
+ * functions.texi (What Is a Function): Fix xref.
+
+ * keymaps.texi (Key Lookup): Clarify wrt commands vs other functions.
+ (Changing Key Bindings): Clarify when remapping is better than
+ substitute-key-definition.
+
+2006-02-02 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Basic Completion): Completion alists are risky.
+
+ * keymaps.texi (Active Keymaps): Clarifications.
+ (Searching Keymaps): New node.
+ (Keymaps): Update menu.
+
+ * frames.texi (Layout Parameters): Minor clarification.
+ (Drag and Drop): New node.
+ (Frames): Update menu.
+
+2006-01-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Other Display Specs, Image Descriptors):
+ Image description is a list, not a cons cell.
+
+2006-01-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Cons Cells): Minor correction (the cdr of a dotted
+ list is not necessarily a list).
+
+2006-01-27 Eli Zaretskii <eliz@gnu.org>
+
+ * frames.texi (Layout Parameters): border-width and
+ internal-border-width belong to the frame, not the window.
+
+2006-01-19 Richard M. Stallman <rms@gnu.org>
+
+ * nonascii.texi (Translation of Characters): Search cmds use
+ translation-table-for-input. Automatically made local.
+
+ * markers.texi (Overview of Markers): Count insertion type
+ as one of a marker's attributes.
+
+ * keymaps.texi (Controlling Active Maps): New node, split out of
+ Active Keymaps.
+ (Keymaps): Menu updated.
+ (Active Keymaps): Give pseudocode to explain how the active
+ maps are searched. current-active-maps and key-binding moved here.
+ (Functions for Key Lookup): current-active-maps and key-binding moved.
+ Clarifications.
+ (Searching the Keymaps): New subnode.
+
+ * elisp.texi (Top): Menu clarification.
+
+ * display.texi (Other Display Specs): Delete duplicate entry for
+ just a string as display spec. Move text about recursive display
+ specs on such a string.
+
+ * commands.texi (Key Sequence Input): Clarify.
+ Move num-nonmacro-input-events out.
+ (Reading One Event): num-nonmacro-input-events moved here.
+
+2006-01-14 Nick Roberts <nickrob@snap.net.nz>
+
+ * advice.texi (Simple Advice): Update example to fit argument
+ change in previous-line.
+
+2006-01-05 Richard M. Stallman <rms@gnu.org>
+
+ * markers.texi (The Mark): Fix in `mark'.
+
+2006-01-04 Richard M. Stallman <rms@gnu.org>
+
+ * processes.texi (Misc Network, Make Network): Minor cleanups.
+
+2006-01-04 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Make Network): Add IPv6 addresses and handling.
+ (Network Feature Testing): Mention (:family ipv6).
+ (Misc Network): Add IPv6 formats to format-network-address.
+
+2005-12-30 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Changing Properties):
+ Don't use return value of set-text-properties.
+
+2005-12-29 Luc Teirlinck <teirllm@auburn.edu>
+
+ * modes.texi (Mode Line Format): Correct typo in menu.
+
+2005-12-29 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Mode Line Top): New node.
+ (Mode Line Data): Some text moved to new node.
+ Explain the data structure more concretely.
+ (Mode Line Basics): Clarifications.
+ (Mode Line Variables): Clarify intro paragraph.
+ (%-Constructs): Clarify intro paragraph.
+ (Mode Line Format): Update menu.
+
+2005-12-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (Basic Completion): Update lazy-completion-table
+ examples for removal of ARGS argument.
+
+2005-12-23 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Undo): Restore some explanation from the version
+ that was deleted.
+
+2005-12-23 Eli Zaretskii <eliz@gnu.org>
+
+ * text.texi (Undo): Remove duplicate descriptions of `apply
+ funname' and `apply delta' elements of the undo list.
+
+2005-12-20 Richard M. Stallman <rms@gnu.org>
+
+ * help.texi (Help Functions): Update documentation of `apropos'.
+
+2005-12-20 Luc Teirlinck <teirllm@auburn.edu>
+
+ * customize.texi (Type Keywords): Delete xref to "Text help-echo",
+ because it is confusing. If the :help-echo keyword is a function,
+ it is not directly used as the :help-echo overlay property, as the
+ xref seems to suggest (it does not take the appropriate args).
+
+2005-12-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * customize.texi (Common Keywords): Fix Texinfo usage.
+ (Group Definitions, Variable Definitions): Update for new
+ conventions for using `*' in docstrings.
+
+ * tips.texi (Documentation Tips): Update for new conventions for
+ using `*' in docstrings.
+
+2005-12-16 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Minibuffer Contents): Minor cleanup.
+
+2005-12-16 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Minibuffer Contents): Add minibuffer-completion-contents.
+
+2005-12-14 Romain Francoise <romain@orebokech.com>
+
+ * modes.texi (Customizing Keywords): Rename `append' to `how'.
+ Fix typo.
+
+2005-12-11 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Completion Commands): Add mention of read-file-name
+ for filename completion keymaps.
+ (Reading File Names): Add mention of filename completion keymaps
+ for read-file-name and xref to `Completion Commands'.
+
+2005-12-10 Richard M. Stallman <rms@gnu.org>
+
+ * customize.texi (Common Keywords): State caveats for use of :tag.
+
+2005-12-08 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Intro to Minibuffers): Replace list of local maps
+ with xrefs and better explanation.
+ (Completion Commands): Add the filename completion maps.
+
+ * objects.texi (Character Type): Clarify that \s is not space
+ if a dash follows.
+
+2005-12-05 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Resizing Windows): Delete preserve-before args.
+
+2005-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keymaps.texi (Format of Keymaps): Remove mention of a quirk
+ in full keymaps, since the quirk has been fixed.
+
+2005-12-03 Eli Zaretskii <eliz@gnu.org>
+
+ * hooks.texi (Standard Hooks): Add index entries. Mention
+ `compilation-finish-functions'.
+
+2005-11-27 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Resizing Windows): Add adjust-window-trailing-edge.
+
+2005-11-21 Juri Linkov <juri@jurta.org>
+
+ * customize.texi (Common Keywords): Update links types
+ custom-manual and url-link. Add link types emacs-library-link,
+ file-link, function-link, variable-link, custom-group-link.
+
+2005-11-20 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi: Revert 2005-11-20 change.
+
+2005-11-20 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * processes.texi (Bindat Functions):
+ Say "third" to refer to zero-based index "2".
+
+2005-11-18 Luc Teirlinck <teirllm@auburn.edu>
+
+ * loading.texi (Library Search): Update the default value of
+ `load-suffixes'.
+
+2005-11-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Attribute Functions): Mention :ignore-defface.
+
+2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * modes.texi (Minor Mode Conventions): Use custom-set-minor-mode.
+ (Minor Mode Conventions): Mention the use of a hook.
+
+2005-11-06 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Magic File Names): find-file-name-handler checks the
+ `operations' property of the handler.
+
+2005-11-03 Richard M. Stallman <rms@gnu.org>
+
+ * variables.texi (Frame-Local Variables): Small clarification.
+
+2005-10-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * os.texi (Init File): Document ~/.emacs.d/init.el.
+
+2005-10-29 Richard M. Stallman <rms@gnu.org>
+
+ * internals.texi (Garbage Collection): Document memory-full.
+
+2005-10-28 Bill Wohler <wohler@newt.com>
+
+ * tips.texi (Documentation Tips): Help mode now creates hyperlinks
+ for URLs.
+
+2005-10-28 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Completion Commands): Clean up prev change.
+
+2005-10-26 Kevin Ryde <user42@zip.com.au>
+
+ * compile.texi (Eval During Compile): Explain recommended uses
+ of eval-when-compile and eval-and-compile.
+
+2005-10-27 Masatake YAMATO <jet@gyve.org>
+
+ * minibuf.texi (Completion Commands):
+ Write about new optional argument for `display-completion-list'.
+
+2005-10-23 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Overlay Arrow): Clarify about local bindings of
+ overlay-arrow-position.
+
+2005-10-22 Eli Zaretskii <eliz@gnu.org>
+
+ * internals.texi (Building Emacs): Fix last change.
+
+2005-10-22 Richard M. Stallman <rms@gnu.org>
+
+ * internals.texi (Building Emacs): Document eval-at-startup.
+
+2005-10-21 Richard M. Stallman <rms@gnu.org>
+
+ * loading.texi (Where Defined): load-history contains abs file names.
+ symbol-file returns abs file names.
+
+2005-10-19 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Showing Images): Add max-image-size integer value.
+
+2005-10-18 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Showing Images): Document max-image-size.
+
+2005-10-17 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Quitting): Minor clarification.
+
+ * processes.texi (Sentinels): Clarify about output and quitting.
+ (Filter Functions): Mention with-local-quit.
+
+2005-10-17 Juri Linkov <juri@jurta.org>
+
+ * buffers.texi (Current Buffer):
+ * commands.texi (Event Input Misc):
+ * compile.texi (Eval During Compile, Compiler Errors):
+ * customize.texi (Group Definitions):
+ * display.texi (Progress, Defining Faces):
+ * files.texi (Writing to Files):
+ * modes.texi (Mode Hooks, Defining Minor Modes):
+ * streams.texi (Output Functions):
+ * syntax.texi (Syntax Table Functions):
+ * text.texi (Change Hooks):
+ Replace `...' with `@dots{}' in `@defmac' and `@defspec'.
+
+ * commands.texi (Quitting): Replace arg `forms' with `body' in
+ `with-local-quit'.
+
+ * positions.texi (Excursions): Replace arg `forms' with `body' in
+ `save-excursion'.
+
+2005-10-08 Kim F. Storm <storm@cua.dk>
+
+ * windows.texi (Window Tree): Rename window-split-tree to window-tree.
+ Rename manual section accordingly.
+
+2005-10-04 Kim F. Storm <storm@cua.dk>
+
+ * windows.texi (Window Split Tree): New section describing
+ new function window-split-tree function.
+
+2005-10-03 Nick Roberts <nickrob@snap.net.nz>
+
+ * display.texi (Fringe Size/Pos): Simplify and add detail.
+
+2005-09-30 Romain Francoise <romain@orebokech.com>
+
+ * minibuf.texi (High-Level Completion): Explain that the prompt
+ given to `read-buffer' should end with a colon and a space.
+ Update usage examples.
+
+2005-09-29 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Displaying Messages): Rename argument name
+ `string' to `format-string' in functions `message', `message-box',
+ `message-or-box'.
+
+2005-09-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * errors.texi (Standard Errors): Correct xrefs.
+
+2005-09-18 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Defining Images): Update documentation for
+ `image-load-path'.
+
+2005-09-17 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Defining Images): Clean up previous change.
+
+2005-09-16 Romain Francoise <romain@orebokech.com>
+
+ * elisp.texi: Specify GFDL version 1.2.
+
+ * doclicense.texi (GNU Free Documentation License): Update to
+ version 1.2.
+
+2005-09-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Defining Images): Document `image-load-path'.
+
+2005-09-15 Richard M. Stallman <rms@gnu.org>
+
+ * objects.texi (Printed Representation): Minor cleanup.
+ (Box Diagrams): Minor fix.
+ (Cons Cell Type): Move (...) index item here.
+ (Box Diagrams): From here.
+ (Array Type): Minor fix.
+ (Type Predicates): Delete index "predicates".
+ (Hash Table Type): Clarify xref.
+ (Dotted Pair Notation): Minor fix.
+
+2005-09-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * files.texi (Saving Buffers): Fix typo.
+
+2005-09-08 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Programming Tips): Correct the "default" prompt spec.
+
+2005-09-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * locals.texi (Standard Buffer-Local Variables): Don't include
+ mode variables for minor modes.
+ Fix xrefs for buffer-display-count, buffer-display-table,
+ buffer-offer-save, buffer-saved-size, cache-long-line-scans,
+ enable-multibyte-characters, fill-column, header-line-format,
+ left-fringe-width, left-margin, and right-fringe-width.
+
+ * hooks.texi (Standard Hooks): All hooks should conform to the
+ standard naming convention now.
+ Fix xref for `echo-area-clear-hook'.
+
+ * display.texi (Usual Display): Note that indicate-empty-lines and
+ tab-width are buffer-local.
+
+ * files.texi (Saving Buffers): Add xref to `Killing Buffers'.
+
+ * modes.texi (Mode Help): Note that major-mode is buffer-local.
+
+ * nonascii.texi (Encoding and I/O): Note that
+ buffer-file-coding-system is buffer-local.
+
+ * positions.texi (List Motion): Note that defun-prompt-regexp is
+ buffer-local.
+
+ * text.texi (Auto Filling): Note that auto-fill-function is
+ buffer-local.
+ (Undo): Note that buffer-undo-list is buffer-local.
+
+ * windows.texi (Buffers and Windows): Document
+ buffer-display-count.
+
+2005-09-06 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Sometimes it is ok to put the
+ package prefix elsewhere than at the start of the name.
+
+2005-09-03 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Programming Tips): Add conventions for minibuffer
+ questions and prompts.
+
+2005-09-03 Joshua Varner <jlvarner@gmail.com> (tiny change)
+
+ * intro.texi (nil and t): Minor cleanup.
+ Delete spurious mention of keyword symbols.
+ (Evaluation Notation): Add index entry.
+ (A Sample Function Description): Minor cleanup.
+ (A Sample Variable Description): Not all vars can be set.
+
+2005-09-03 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * text.texi (Buffer Contents): Use "\n" in examples' result strings.
+
+ (Insertion): Document precise type of `insert-char' arg COUNT.
+
+2005-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * modes.texi (Other Font Lock Variables): Sync the default of
+ font-lock-lines-before.
+
+2005-08-31 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Add `make-auto-save-file-name'.
+
+2005-08-29 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode menu.
+
+ * searching.texi (Searching and Matching): Move node.
+ Rearrange contents and add overall explanation.
+ (Searching and Case): Move node.
+ (Searching and Matching): Update menu.
+
+2005-08-27 Eli Zaretskii <eliz@gnu.org>
+
+ * os.texi (Startup Summary): Fix the description of the initial
+ startup message display.
+
+2005-08-25 Richard M. Stallman <rms@gnu.org>
+
+ * searching.texi (Search and Replace): Add replace-regexp-in-string.
+
+2005-08-25 Emilio C. Lopes <eclig@gmx.net>
+
+ * display.texi (Finding Overlays): Fix `find-overlay-prop' in
+ `next-overlay-change' example.
+
+2005-08-22 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Attribute Functions): Add set-face-inverse-video-p.
+ Fix invert-face. Fix args of face-background.
+
+ * display.texi (Standard Faces): Delete node.
+ (Faces): Add xref to `(emacs)Standard Faces'.
+ (Displaying Faces): Fix xref to `Standard Faces'.
+
+ * modes.texi (Mode Line Data): Fix xref to Standard Faces.
+
+2005-08-20 Alan Mackenzie <acm@muc.de>
+
+ * buffers.texi (The Buffer List): Clarify the manipulation of the
+ buffer list.
+
+2005-08-14 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Auto Major Mode): interpreter-mode-alist key is not
+ a regexp.
+
+2005-08-11 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode lists.
+
+ * display.texi (Inverse Video): Node deleted.
+
+ * tips.texi (Key Binding Conventions, Programming Tips, Warning Tips):
+ New nodes split out of Coding Conventions.
+
+ * searching.texi (Regular Expressions): Document re-builder.
+
+ * os.texi (Time Parsing): New node split out of Time Conversion.
+
+ * processes.texi (Misc Network, Network Feature Testing)
+ (Network Options, Make Network): New nodes split out of
+ Low-Level Network.
+
+2005-08-09 Richard M. Stallman <rms@gnu.org>
+
+ * frames.texi (Geometry): New node, split from Size and Position.
+ (Frame Parameters): Refer to Geometry.
+
+ * buffers.texi (The Buffer List): Fix xrefs.
+
+ * windows.texi (Splitting Windows): Fix xref.
+
+ * frames.texi (Layout Parameters): Add xref.
+
+ * display.texi (Line Height, Scroll Bars): Fix xrefs.
+
+ * keymaps.texi (Menu Bar): Fix xref.
+
+ * locals.texi (Standard Buffer-Local Variables): Fix xref.
+
+ * modes.texi (%-Constructs): Fix xref.
+
+ * frames.texi (Window Frame Parameters): Node split up.
+ (Basic Parameters, Position Parameters, Size Parameters)
+ (Layout Parameters, Buffer Parameters, Management Parameters)
+ (Cursor Parameters, Color Parameters): New subnodes.
+
+2005-08-09 Luc Teirlinck <teirllm@auburn.edu>
+
+ * positions.texi (Screen Lines): Update xref for previous change
+ in minibuf.texi.
+
+ * minibuf.texi (Intro to Minibuffers): Update pxref for previous
+ change in minibuf.texi.
+
+2005-08-09 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Minor cleanup.
+
+ * modes.texi (Defining Minor Modes): Explain when init-value
+ can be non-nil.
+
+ * elisp.texi (Top): Update submenu for Minibuffer.
+
+ * minibuf.texi (Minibuffer Misc): Node split up.
+ (Minibuffer Commands, Minibuffer Windows, Minibuffer Contents)
+ (Recursive Mini): New nodes split out from Minibuffer Misc.
+ (Minibuffer Misc): Document max-mini-window-height.
+
+ * hash.texi (Defining Hash): Delete stray paren in example.
+
+ * display.texi (Echo Area Customization): Don't define
+ max-mini-window-height here; xref instead.
+
+ * commands.texi (Event Input Misc): Update while-no-input.
+
+ * advice.texi (Advising Functions): Explain when to use advice
+ and when to use a hook.
+
+2005-07-30 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (info): Don't run install-info.
+ ($(infodir)/dir): New target, produced by running install-info.
+
+2005-07-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * modes.texi (Defining Minor Modes): The keyword for the initial
+ value is :init-value, not :initial-value.
+
+2005-07-23 Eli Zaretskii <eliz@gnu.org>
+
+ * loading.texi (Autoload): Make the `doctor' example be consistent
+ with what's in current loaddefs.el. Describe the "fn" magic in
+ the usage portion of the doc string.
+
+2005-07-22 Richard M. Stallman <rms@gnu.org>
+
+ * internals.texi (Garbage Collection): Clarify previous change.
+
+2005-07-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * internals.texi (Garbage Collection): Add gc-cons-percentage.
+
+2005-07-18 Juri Linkov <juri@jurta.org>
+
+ * commands.texi (Accessing Events):
+ * frames.texi (Text Terminal Colors, Resources):
+ * markers.texi (The Mark):
+ * modes.texi (Defining Minor Modes):
+ Delete duplicate duplicate words.
+
+2005-07-16 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Managing Overlays): Clarify make-overlay
+ args for insertion types.
+
+2005-07-13 Luc Teirlinck <teirllm@auburn.edu>
+
+ * customize.texi (Variable Definitions):
+ Add `custom-initialize-safe-set' and `custom-initialize-safe-default'.
+ `standard-value' is a list too.
+ (Defining New Types): Use @key{RET} instead of @key{ret}.
+
+2005-07-13 Francis Litterio <franl@world.std.com> (tiny change)
+
+ * os.texi (Translating Input): Fix typo.
+
+2005-07-08 Richard M. Stallman <rms@gnu.org>
+
+ * README: Update edition number and size estimate.
+
+ * elisp.texi (VERSION): Set to 2.9.
+
+2005-07-07 Richard M. Stallman <rms@gnu.org>
+
+ * book-spine.texinfo: Update Emacs version.
+
+ * display.texi (Inverse Video): Delete mode-line-inverse-video.
+
+2005-07-06 Richard M. Stallman <rms@gnu.org>
+
+ * searching.texi (Regexp Search): Clarify what re-search-forward
+ does when the search fails.
+
+2005-07-05 Lute Kamstra <lute@gnu.org>
+
+ * Update FSF's address in GPL notices.
+
+ * doclicense.texi (GNU Free Documentation License):
+ * gpl.texi (GPL):
+ * tips.texi (Coding Conventions, Library Headers):
+ * vol1.texi:
+ * vol2.texi: Update FSF's address.
+
+2005-07-04 Richard M. Stallman <rms@gnu.org>
+
+ * hooks.texi (Standard Hooks): Add occur-hook.
+
+2005-07-03 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi (The Echo Area): Correct menu.
+
+2005-07-03 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode menu for Display.
+
+ * display.texi (Displaying Messages): New node, with most
+ of what was in The Echo Area.
+ (Progress): Moved under The Echo Area.
+ (Logging Messages): New node with new text.
+ (Echo Area Customization): New node, the rest of what was
+ in The Echo Area. Document message-truncate-lines with @defvar.
+ (Display): Update menu.
+
+ * windows.texi (Textual Scrolling): Doc 3 values for
+ scroll-preserve-screen-position.
+
+ * text.texi (Special Properties): Change hook functions
+ should bind inhibit-modification-hooks around altering buffer text.
+
+ * keymaps.texi (Key Binding Commands): Call binding BINDING
+ rather than DEFINITION.
+
+2005-06-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * variables.texi (Defining Variables): `user-variable-p' returns t
+ for aliases of user options, nil for alias loops.
+
+2005-06-28 Richard M. Stallman <rms@gnu.org>
+
+ * keymaps.texi (Creating Keymaps): Put make-sparse-keymap before
+ make-keymap.
+
+2005-06-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * variables.texi (Setting Variables): Correct and clarify
+ description of `add-to-ordered-list'.
+
+2005-06-26 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Faces): Minor cleanup.
+
+2005-06-25 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi (Faces): `facep' returns t for strings that are
+ face names.
+
+2005-06-25 Richard M. Stallman <rms@gnu.org>
+
+ * objects.texi (Equality Predicates): Clarify meaning of equal.
+
+ * windows.texi (Selecting Windows): save-selected-window
+ and with-selected-window save and restore the current buffer.
+
+2005-06-24 Richard M. Stallman <rms@gnu.org>
+
+ * numbers.texi (Float Basics): Explain how to test for NaN,
+ and printing the sign of NaNs.
+
+2005-06-24 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (MAKEINFO): Use --force.
+
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Face Functions): Correct Texinfo usage.
+
+2005-06-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Rings): `ring-elements' now returns the elements of
+ RING in order.
+
+2005-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * markers.texi (The Mark): Texinfo usage fix.
+
+2005-06-23 Kim F. Storm <storm@cua.dk>
+
+ * searching.texi (Entire Match Data): Remove evaporate option for
+ match-data. Do not mention evaporate option for set-match-data.
+
+2005-06-22 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * display.texi (Face Functions): Mention face aliases.
+
+2005-06-21 Richard M. Stallman <rms@gnu.org>
+
+ * anti.texi (Antinews): Texinfo usage fix.
+
+2005-06-21 Karl Berry <karl@gnu.org>
+
+ * elisp.texi: Use @copying.
+
+ * elisp.texi: Put @summarycontents and @contents before the Top
+ node, instead of the end of the file, so that the contents appear
+ in the right place in the dvi/pdf output.
+
+2005-06-21 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Defining Faces): Add `customized-face'.
+
+2005-06-20 Kim F. Storm <storm@cua.dk>
+
+ * variables.texi (Setting Variables): Any type of element can be
+ given order in add-to-ordered-list. Compare elements with eq.
+
+ * lists.texi (Rearrangement): Sort predicate may just return non-nil.
+
+2005-06-20 Karl Berry <karl@gnu.org>
+
+ * syntax.texi (Syntax Flags): Make last column very slightly wider
+ to avoid "generic comment" breaking on two lines and causing an
+ underfull box.
+
+2005-06-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Rings): Various minor clarifications and corrections.
+
+2005-06-18 Richard M. Stallman <rms@gnu.org>
+
+ * functions.texi (Obsolete Functions): Simplify.
+
+ * variables.texi (Variable Aliases): Simplify.
+
+ * anti.texi, backups.texi, compile.texi, customization.texi:
+ * debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi:
+ * functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi:
+ * os.texi, processes.texi, searching.texi, strings.texi, text.texi:
+ * variables.texi: Fix formatting ugliness.
+
+ * elisp.texi: Add links to Rings and Byte Packing.
+ Update version and copyright years.
+
+ * minibuf.texi: Fix formatting ugliness.
+ (Completion Commands): Move keymap vars to the end
+ and vars completing-read binds to the top.
+
+2005-06-17 Luc Teirlinck <teirllm@auburn.edu>
+
+ * processes.texi: Fix typos.
+ (Bindat Spec): Correct Texinfo error.
+ (Byte Packing): Fix ungrammatical sentence.
+
+2005-06-17 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * lists.texi (Rings): New node.
+ (Lists): Add it to menu.
+
+ * processes.texi (Byte Packing): New node.
+ (Processes): Add it to menu.
+
+2005-06-17 Richard M. Stallman <rms@gnu.org>
+
+ * syntax.texi (Parsing Expressions): Fix texinfo usage.
+
+ * help.texi (Documentation Basics): Explain the xref to
+ Documentation Tips.
+
+ * debugging.texi (Debugger Commands): Minor fix.
+
+2005-06-16 Luc Teirlinck <teirllm@auburn.edu>
+
+ * edebug.texi (Instrumenting): Eliminate duplicate link.
+ (Specification List): Replace references to "below", referring to
+ a later node, with one @ref to that node.
+
+ * os.texi (Timers): Timers should save and restore the match data
+ if they change it.
+
+ * debugging.texi (Debugger Commands): Mention that the Lisp
+ debugger can not step through primitive functions.
+
+2005-06-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * functions.texi (Obsolete Functions): Update argument names of
+ `make-obsolete' and `define-obsolete-function-alias'.
+
+ * variables.texi (Variable Aliases): Update argument names of
+ `defvaralias', `make-obsolete-variable' and
+ `define-obsolete-variable-alias'.
+
+2005-06-15 Kim F. Storm <storm@cua.dk>
+
+ * searching.texi (Entire Match Data): Rephrase warnings about
+ evaporate arg to match-data and set-match-data.
+
+2005-06-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * elisp.texi (Top): Update detailed menu.
+
+ * edebug.texi (Edebug): Update menu.
+ (Instrumenting): Update xrefs.
+ (Edebug Execution Modes): Correct xref.
+ (Jumping): Clarify description of `h' command.
+ Eliminate redundant @ref.
+ (Breaks): New node.
+ (Breakpoints): Is now a subsubsection.
+ (Global Break Condition): Mention `C-x X X'.
+ (Edebug Views): Clarify `v' and `p'. Mention `C-x X w'.
+ (Trace Buffer): Clarify STRING arg of `edebug-tracing'.
+ (Edebug Display Update): Correct pxref.
+ (Edebug and Macros): New node.
+ (Instrumenting Macro Calls): Is now a subsubsection.
+ Neither arg of `def-edebug-spec' is evaluated.
+ (Instrumenting Macro Calls): Mention `edebug-eval-macro-args'.
+ (Specification Examples): Fix typo.
+
+2005-06-14 Lute Kamstra <lute@gnu.org>
+
+ * debugging.texi (Function Debugging): Primitives can break on
+ entry too.
+
+2005-06-14 Kim F. Storm <storm@cua.dk>
+
+ * variables.texi (Setting Variables): Add add-to-ordered-list.
+
+2005-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * syntax.texi (Parsing Expressions): Document aux functions and vars of
+ syntax-ppss: syntax-ppss-flush-cache and syntax-begin-function.
+
+2005-06-13 Lute Kamstra <lute@gnu.org>
+
+ * text.texi (Special Properties): Fix cross reference.
+
+2005-06-11 Luc Teirlinck <teirllm@auburn.edu>
+
+ * debugging.texi (Function Debugging): Delete mention of empty
+ string argument to `cancel-debug-on-entry'. Delete inaccurate
+ description of the return value of that command.
+
+2005-06-11 Alan Mackenzie <acm@muc.de>
+
+ * text.texi (Adaptive Fill): Amplify the description of
+ fill-context-prefix.
+
+2005-06-10 Luc Teirlinck <teirllm@auburn.edu>
+
+ * syntax.texi (Parsing Expressions): Fix Texinfo error.
+
+2005-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * syntax.texi (Parsing Expressions): Document syntax-ppss.
+
+2005-06-10 Luc Teirlinck <teirllm@auburn.edu>
+
+ * debugging.texi (Error Debugging): Minor rewording.
+ (Function Debugging): FUNCTION-NAME arg to `cancel-debug-on-entry'
+ is optional.
+
+2005-06-10 Lute Kamstra <lute@gnu.org>
+
+ * elisp.texi: Use EMACSVER to refer to the current version of Emacs.
+ (Top): Give it a title. Correct version number. Give the
+ detailed node listing a more prominent header.
+ * intro.texi: Don't set VERSION here a second time.
+ Mention Emacs's version too.
+ * anti.texi (Antinews): Use EMACSVER to refer to the current
+ version of Emacs.
+
+2005-06-09 Kim F. Storm <storm@cua.dk>
+
+ * searching.texi (Entire Match Data): Explain new `reseat' argument to
+ match-data and set-match-data.
+
+2005-06-08 Richard M. Stallman <rms@gnu.org>
+
+ * searching.texi (Entire Match Data): Clarify when match-data
+ returns markers and when integers.
+
+ * display.texi (Defining Faces): Explain that face name should not
+ end in `-face'.
+
+ * modes.texi (Mode Line Data): Minor cleanup.
+ (Customizing Keywords): Node split out of Search-based Fontification.
+ Add example of using font-lock-add-keywords from a hook.
+ Clarify when MODE should be non-nil, and when nil.
+
+2005-06-06 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Mode Line Data): Explain what happens when the car
+ of a list is a void symbol.
+ (Search-based Fontification): Explain MODE arg to
+ font-lock-add-keywords and warn about calls from major modes.
+
+2005-06-08 Juri Linkov <juri@jurta.org>
+
+ * display.texi (Standard Faces): Add `shadow' face.
+
+2005-05-29 Luc Teirlinck <teirllm@auburn.edu>
+
+ * modes.texi (Major Mode Conventions): A derived mode only needs
+ to put the call to the parent mode inside `delay-mode-hooks'.
+
+2005-05-29 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Mode Hooks): Explain that after-change-major-mode-hook is
+ new, and what that implies. Clarify.
+
+ * files.texi (Locating Files): Clean up the text.
+
+ * frames.texi (Window Frame Parameters): Document user-size.
+ Shorten entry for top by referring to left.
+
+2005-05-26 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Mode Hooks): Explain that after-change-major-mode-hook
+ is new, and what the implications are. Other clarifications.
+
+2005-05-24 Richard M. Stallman <rms@gnu.org>
+
+ * frames.texi (Dialog Boxes): Minor fixes.
+
+2005-05-25 Masatake YAMATO <jet@gyve.org>
+
+ * display.texi (Standard Faces): Write about `mode-line-highlight'.
+
+2005-05-24 Luc Teirlinck <teirllm@auburn.edu>
+
+ * frames.texi (Dialog Boxes): HEADER argument to `x-popup-dialog'
+ is optional.
+
+2005-05-24 Nick Roberts <nickrob@snap.net.nz>
+
+ * frames.texi (Dialog Boxes): Descibe new optional argument.
+
+2005-05-23 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Font Lock Basics, Syntactic Font Lock): Recommend
+ syntax-begin-function over font-lock-beginning-of-syntax-function.
+
+2005-05-21 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (Reading File Names): Update description of
+ `read-directory-name'.
+
+ * modes.texi (Derived Modes): Clarify :group keyword.
+
+2005-05-21 Eli Zaretskii <eliz@gnu.org>
+
+ * files.texi (Locating Files): New subsection.
+ Describe locate-file and executable-find.
+
+2005-05-21 Kevin Ryde <user42@zip.com.au>
+
+ * frames.texi (Initial Parameters): Update cross reference to
+ "Emacs Invocation".
+
+2005-05-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * keymaps.texi (Active Keymaps): Add anchor.
+
+ * modes.texi (Hooks): Delete confusing and unnecessary sentence.
+ (Major Mode Conventions): Refer to `Auto Major Mode' in more
+ appropriate place.
+ (Derived Modes): Small clarifications.
+ (Minor Mode Conventions, Keymaps and Minor Modes):
+ Replace references to nodes with references to anchors.
+ (Mode Line Data): Warn that `(:eval FORM)' should not load any files.
+ Clarify description of lists whose first element is an integer.
+ (Mode Line Variables): Add anchor.
+ (%-Constructs): Clarify description of integer after %.
+ (Emulating Mode Line): Describe nil value for FACE.
+
+2005-05-18 Luc Teirlinck <teirllm@auburn.edu>
+
+ * modes.texi (Derived Modes): Correct references to non-existing
+ variable standard-syntax-table.
+
+2005-05-17 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Defining Minor Modes): Mention the mode hook.
+
+2005-05-15 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Network): Remove open-network-stream-nowait.
+ (Network Servers): Remove open-network-stream-server.
+
+2005-05-15 Luc Teirlinck <teirllm@auburn.edu>
+
+ * elisp.texi (Top): Update detailed menu.
+
+ * variables.texi: Reorder nodes.
+ (Variables): Update menu.
+ (File Local Variables): Do not refer to the `-*-' line as
+ a "local variables list". Add pxref.
+
+2005-05-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * elisp.texi (Top): Update detailed menu for node changes.
+
+ * modes.texi (Modes): Update Menu.
+ (Hooks): Move to beginning of chapter.
+ Most minor modes run mode hooks too.
+ `add-hook' can handle void hooks or hooks whose value is a single
+ function.
+ (Major Modes): Update Menu.
+ (Major Mode Basics): New node, split off from `Major Modes'.
+ (Major Mode Conventions): Correct xref. Explain how to handle
+ auto-mode-alist if the major mode command has an autoload cookie.
+ (Auto Major Mode): Major update. Add magic-mode-alist.
+ (Derived Modes): Major update.
+ (Mode Line Format): Update Menu.
+ (Mode Line Basics): New node, split off from `Mode Line Format'.
+
+ * loading.texi (Autoload): Mention `autoload cookie' as synonym
+ for `magic autoload comment'. Add index entries and anchor.
+
+2005-05-14 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Explain how important it is
+ that just loading certain files not change Emacs behavior.
+
+ * modes.texi (Defining Minor Modes): Define define-global-minor-mode.
+
+2005-05-12 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Generic Modes): Update.
+ (Major Modes): Refer to node "Generic Modes".
+
+ * elisp.texi (Top): Update to the current structure of the manual.
+ * processes.texi (Processes): Add menu description.
+ * customize.texi (Customization): Add menu descriptions.
+
+2005-05-11 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * processes.texi (Signals to Processes)
+ (Low-Level Network): Fix typos.
+
+2005-05-11 Lute Kamstra <lute@gnu.org>
+
+ * elisp.texi (Top): Add some nodes from the chapter "Major and
+ Minor Modes" to the detailed node listing.
+
+2005-05-10 Richard M. Stallman <rms@gnu.org>
+
+ * keymaps.texi (Extended Menu Items): Menu item filter functions
+ can be called at any time.
+
+2005-05-08 Luc Teirlinck <teirllm@auburn.edu>
+
+ * variables.texi (File Local Variables): `(hack-local-variables t)'
+ now also checks whether a mode is specified in the local variables
+ list.
+
+2005-05-05 Kevin Ryde <user42@zip.com.au>
+
+ * display.texi (The Echo Area): Correct format function cross
+ reference.
+
+2005-05-05 Luc Teirlinck <teirllm@auburn.edu>
+
+ * variables.texi (Variable Aliases): Change description of
+ `define-obsolete-variable-alias'.
+
+ * functions.texi (Functions): Add "Obsolete Functions" to menu.
+ (Defining Functions): Add xref.
+ (Obsolete Functions): New node.
+ (Function Safety): Standardize capitalization of section title.
+
+ * frames.texi (Pop-Up Menus): Complete description of `x-popup-menu'.
+ (Dialog Boxes): Complete description of `x-popup-dialog'.
+
+2005-05-04 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Interactive Codes): Fix Texinfo usage.
+ Document U more clearly.
+
+2005-05-01 Luc Teirlinck <teirllm@auburn.edu>
+
+ * variables.texi (Variable Aliases): `make-obsolete-variable' is a
+ function and not a macro.
+
+ * frames.texi (Pop-Up Menus): Correct and clarify description of
+ `x-popup-menu'.
+ (Dialog Boxes): Clarify description of `x-popup-dialog'.
+
+2005-05-01 Richard M. Stallman <rms@gnu.org>
+
+ * edebug.texi (Checking Whether to Stop): Fix previous change.
+
+2005-05-01 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi: Fix typos and Texinfo usage.
+
+ * edebug.texi (Checking Whether to Stop): executing-macro ->
+ executing-kbd-macro.
+
+2005-05-01 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Invisible Text): Correct add-to-invisibility-spec.
+
+2005-04-30 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Magic File Names): Document `operations' property.
+
+2005-04-29 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Generic Modes): New node.
+ (Major Modes): Add it to the menu.
+ (Derived Modes): Add "derived mode" to concept index.
+
+2005-04-28 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Defining Minor Modes): Fix previous change.
+ (Font Lock Mode): Simplify.
+ (Font Lock Basics): Say that font-lock-defaults is buffer-local
+ when set and that some parts are optional. Add cross references.
+ (Search-based Fontification): Say how to specify font-lock-keywords.
+ Add cross references. Add font-lock-multiline to index.
+ Move font-lock-keywords-case-fold-search here from node "Other Font
+ Lock Variables". Document font-lock-add-keywords and
+ font-lock-remove-keywords.
+ (Other Font Lock Variables): Move font-lock-keywords-only,
+ font-lock-syntax-table, font-lock-beginning-of-syntax-function,
+ and font-lock-syntactic-face-function to node "Syntactic Font
+ Lock". Move font-lock-keywords-case-fold-search to node
+ "Search-based Fontification". Document font-lock-inhibit-thing-lock
+ and font-lock-{,un}fontify-{buffer,region}-function.
+ (Precalculated Fontification): Remove reference to deleted variable
+ font-lock-core-only.
+ (Faces for Font Lock): Add font-lock-comment-delimiter-face.
+ (Syntactic Font Lock): Add intro. Move font-lock-keywords-only,
+ font-lock-syntax-table, font-lock-beginning-of-syntax-function,
+ and font-lock-syntactic-face-function here from node "Other Font
+ Lock Variables". Move font-lock-syntactic-keywords to "Setting
+ Syntax Properties". Add cross references.
+ (Setting Syntax Properties): New node.
+ Move font-lock-syntactic-keywords here from "Syntactic Font Lock".
+ * syntax.texi (Syntax Properties): Add cross reference.
+ * hooks.texi (Standard Hooks): Add Font-Lock hooks.
+
+2005-04-26 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Defining Faces):
+ Document `default' elements of defface spec.
+
+ * modes.texi (Major Mode Conventions): Explain customizing ElDoc mode.
+
+ * variables.texi (Variable Aliases): Clarify text.
+
+2005-04-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * windows.texi (Window Hooks): Remove reference to obsolete Lazy Lock.
+
+2005-04-25 Luc Teirlinck <teirllm@auburn.edu>
+
+ * hooks.texi (Standard Hooks): Most minor modes have mode hooks too.
+
+2005-04-24 Eli Zaretskii <eliz@gnu.org>
+
+ * syntax.texi (Syntax Table Internals): Elaborate documentation of
+ syntax-after and syntax-class.
+
+ * files.texi (Changing Files): Fix last change's cross-reference.
+ (Unique File Names): Don't mention "numbers" in the documentation
+ of make-temp-file and make-temp-name.
+
+2005-04-23 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Changing Files): Document MUSTBENEW arg in copy-file.
+
+2005-04-22 Nick Roberts <nickrob@snap.net.nz>
+
+ * windows.texi (Cyclic Window Ordering): Clarify window-list.
+
+2005-04-22 Nick Roberts <nickrob@snap.net.nz>
+
+ * variables.texi (Variable Aliases): Describe make-obsolete-variable
+ and define-obsolete-variable-alias.
+
+2005-04-22 Kim F. Storm <storm@cua.dk>
+
+ * symbols.texi (Symbol Plists): Remove safe-get, as get is now safe.
+ (Other Plists): Remove safe-plist-get, as plist-get is now safe.
+
+2005-04-21 Lute Kamstra <lute@gnu.org>
+
+ * lists.texi (Association Lists): Document rassq-delete-all.
+
+2005-04-19 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Search-based Fontification): Explain that
+ facespec is an expression to be evaluated.
+
+2005-04-19 Kevin Ryde <user42@zip.com.au>
+
+ * streams.texi (Output Functions): Fix xref.
+ * strings.texi (String Conversion): Fix xref.
+
+2005-04-19 Kim F. Storm <storm@cua.dk>
+
+ * symbols.texi (Symbol Plists): Add safe-get.
+ Mention that `get' may signal an error.
+
+2005-04-18 Nick Roberts <nickrob@snap.net.nz>
+
+ * customize.texi (Variable Definitions): Replace tooltip-mode
+ example with save-place.
+
+2005-04-17 Richard M. Stallman <rms@gnu.org>
+
+ * buffers.texi (Indirect Buffers): Clarify.
+
+ * positions.texi (Positions): Clarify converting marker to integer.
+
+ * strings.texi (String Basics): Mention string-match; clarify.
+
+2005-04-08 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Search-based Fontification): Fix cross references.
+ Use consistent terminology. Document anchored highlighting.
+
+2005-04-05 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Defining Minor Modes): Document :group keyword
+ argument and its default value.
+
+2005-04-03 Lute Kamstra <lute@gnu.org>
+
+ * hooks.texi (Standard Hooks): Add some hooks. Add cross
+ references and/or descriptions. Delete major mode hooks; mention
+ them as a category instead. Rename or delete obsolete hooks.
+
+2005-04-02 Richard M. Stallman <rms@gnu.org>
+
+ * nonascii.texi (Coding System Basics): Another wording cleanup.
+
+2005-04-01 Richard M. Stallman <rms@gnu.org>
+
+ * nonascii.texi (Coding System Basics): Clarify previous change.
+
+2005-04-01 Kenichi Handa <handa@m17n.org>
+
+ * nonascii.texi (Coding System Basics): Describe about rondtrip
+ identity of coding systems.
+
+2005-03-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * text.texi (Buffer Contents): Add filter-buffer-substring and
+ buffer-substring-filters.
+
+2005-03-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * anti.texi (Antinews): Mention `G' interactive code.
+
+ * tips.texi (Compilation Tips): Mention benchmark.el.
+
+2005-03-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * modes.texi (Other Font Lock Variables): `font-lock-fontify-block'
+ is now bound to M-o M-o.
+
+ * keymaps.texi (Prefix Keys): `facemenu-keymap' is now on M-o.
+
+2005-03-26 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * calendar.texi: Delete file (and move contents to emacs-xtra.texi
+ in the Emacs Manual).
+ * Makefile.in (srcs): Remove calendar.texi.
+ * makefile.w32-in (srcs): Remove calendar.texi.
+ * display.texi (Display): Change name of next node.
+ * os.texi (System In): Change name of previous node.
+ * elisp.texi (Top): Remove Calendar references.
+ * vol1.texi (Top): Remove Calendar references.
+ * vol2.texi (Top): Remove Calendar references.
+
+2005-03-25 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Standard Faces, Fringe Bitmaps, Customizing Bitmaps):
+ Cleanup previous change.
+
+2005-03-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Face Attributes): Faces earlier in an :inherit
+ list take precedence.
+ (Scroll Bars): Fix description of vertical-scroll-bars.
+ Document frame-current-scroll-bars and window-current-scroll-bars.
+
+ * markers.texi (The Mark): Document temporary Transient Mark mode.
+
+ * minibuf.texi (Reading File Names):
+ Document read-file-name-completion-ignore-case.
+
+ * positions.texi (Screen Lines): Document nil for width argument
+ to compute-motion.
+
+2005-03-23 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Standard Faces): Other faces used in the fringe
+ implicitly inherits from the fringe face.
+ (Fringe Bitmaps): FACE in right-fringe and left-fringe display
+ properties implicitly inherits from fringe face.
+ (Customizing Bitmaps): Likewise for set-fringe-bitmap-face.
+
+2005-03-20 Chong Yidong <cyd@stupidchicken.com>
+
+ * display.texi (Invisible Text): State default value of
+ line-move-ignore-invisible.
+ (Managing Overlays): Document remove-overlays.
+ (Standard Faces): Document escape-glyph face.
+
+ * minibuf.texi (Reading File Names): Document read-file-name-function.
+
+ * modes.texi (Other Font Lock Variables):
+ Document font-lock-lines-before.
+
+ * positions.texi (Skipping Characters): skip-chars-forward allows
+ character classes.
+
+2005-03-18 Lute Kamstra <lute@gnu.org>
+
+ * edebug.texi (Instrumenting Macro Calls): Fix another typo.
+
+2005-03-17 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Undo): Document extensible undo entries.
+
+ * searching.texi (String Search, Regexp Search): Cleanups.
+
+ * nonascii.texi (Character Codes): Minor fix.
+
+ * display.texi (Display Property): Explain the significance
+ of having text properties that are eq.
+ (Other Display Specs): Explain string as display spec.
+
+ * commands.texi (Interactive Codes): Document G option.
+
+2005-03-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * text.texi (Filling): Add sentence-end-without-period and
+ sentence-end-without-space.
+ (Changing Properties): Minor fix.
+
+ * anti.texi: Total rewrite.
+
+2005-03-15 Lute Kamstra <lute@gnu.org>
+
+ * edebug.texi (Instrumenting Macro Calls): Fix typos.
+
+2005-03-08 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Specified Space): Property :width is support on
+ non-graphic terminals, :height is not.
+
+2005-03-07 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Overlay Arrow, Fringe Bitmaps, Customizing Bitmaps):
+ Now subnodes of Fringes.
+ (Overlay Arrow): Document overlay-arrow-variable-list.
+ (Fringe Size/Pos): New node, broken out of Fringes.
+ (Display): Explain clearing vs redisplay better.
+ (Truncation): Clarify use of bitmaps.
+ (The Echo Area): Clarify the uses of the echo area.
+ Add max-mini-window-height.
+ (Progress): Clarify.
+ (Invisible Text): Explain that main loop moves point out.
+ (Selective Display): Say "hidden", not "invisible".
+ (Managing Overlays): Move up. Describe relation to Undo here.
+ (Overlay Properties): Clarify intro.
+ (Finding Overlays): Explain return values when nothing found.
+ (Width): truncate-string-to-width has added arg.
+ (Displaying Faces): Clarify and update mode line face handling.
+ (Face Functions): Minor cleanup.
+ (Conditional Display): Merge into Other Display Specs.
+ (Pixel Specification, Other Display Specs): Minor cleanups.
+ (Images, Image Descriptors): Minor cleanups.
+ (GIF Images): Patents have expired.
+ (Showing Images): Explain default text for insert-image.
+ (Manipulating Button Types): Merge into Manipulating Buttons.
+ (Making Buttons): Explain return values.
+ (Button Buffer Commands): Add xref.
+ (Inverse Video): Update mode-line-inverse-video.
+ (Display Table Format): Clarify.
+ (Active Display Table): Give defaults for window-display-table.
+
+ * calendar.texi (Calendar Customizing): calendar-holiday-marker
+ and calendar-today-marker are strings, not chars.
+ (Holiday Customizing): Minor fix.
+
+ * internals.texi (Writing Emacs Primitives): Update `or' example.
+ Update limit on # args of subr.
+
+ * edebug.texi (Using Edebug): Arrow is in fringe.
+ (Instrumenting): Arg to eval-defun works without loading edebug.
+ (Edebug Execution Modes): Add xref.
+
+ * customize.texi (Common Keywords): Clarify :require.
+ Mention :version here.
+ (Variable Definitions, Group Definitions): Not here.
+ (Variable Definitions): Clarify symbol arg to :initialize and :set fns.
+
+2005-03-07 Chong Yidong <cyd@stupidchicken.com>
+ * nonascii.texi (Text Representations): Clarify position-bytes.
+ (Character Sets): Add list-charset-chars.
+ (Scanning Charsets): Add charset-after.
+ (Encoding and I/O): Minor fix.
+
+2005-03-06 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Vertical Scrolling): Get rid of "Emacs 21".
+ (Resizing Windows): Likewise.
+
+ * text.texi (Change Hooks): Get rid of "Emacs 21".
+
+ * strings.texi (Formatting Strings): Get rid of "Emacs 21".
+
+ * streams.texi (Output Variables): Get rid of "Emacs 21".
+
+ * searching.texi (Regexp Special, Char Classes): Get rid of "Emacs 21".
+
+ * os.texi (Translating Input): Replace flow-control example
+ with a less obsolete example that uses `keyboard-translate'.
+
+ * objects.texi (Hash Table Type, Circular Objects):
+ Get rid of "Emacs 21".
+
+ * modes.texi (Mode Line Format): Get rid of "Emacs 21".
+ (Mode Line Data, Properties in Mode, Header Lines): Likewise.
+
+ * minibuf.texi (Minibuffer Misc): Get rid of "Emacs 21".
+
+ * lists.texi (List Elements, Building Lists): Get rid of "Emacs 21".
+
+ * keymaps.texi (Menu Separators, Tool Bar): Get rid of "Emacs 21".
+ (Menu Bar): Fix when menu-bar-update-hook is called.
+
+ * hash.texi (Hash Tables): Get rid of "Emacs 21".
+
+ * frames.texi (Text Terminal Colors): Get rid of "Emacs 21",
+ and make it read better.
+
+ * files.texi (Writing to Files): Get rid of "Emacs 21".
+ (Unique File Names): Likewise.
+
+ * elisp.texi: Update Emacs version to 22.
+
+ * display.texi (Forcing Redisplay): Get rid of "Emacs 21".
+ (Overlay Properties, Face Attributes): Likewise.
+ (Managing Overlays): Fix punctuation.
+ (Attribute Functions): Clarify set-face-font; get rid of
+ info about old Emacs versions.
+ (Auto Faces, Font Lookup, Display Property, Images):
+ Get rid of "Emacs 21".
+
+ * calendar.texi (Calendar Customizing): Get rid of "Emacs 21".
+
+2005-03-05 Richard M. Stallman <rms@gnu.org>
+
+ * debugging.texi (Error Debugging): Remove stack-trace-on-error.
+
+2005-03-04 Lute Kamstra <lute@gnu.org>
+
+ * debugging.texi (Error Debugging): Document stack-trace-on-error.
+
+2005-03-03 Lute Kamstra <lute@gnu.org>
+
+ * edebug.texi (Instrumenting Macro Calls): Fix typo.
+
+2005-03-01 Lute Kamstra <lute@gnu.org>
+
+ * debugging.texi (Debugger Commands): Update `j'.
+
+2005-02-28 Lute Kamstra <lute@gnu.org>
+
+ * debugging.texi (Debugging): Fix typo.
+ (Error Debugging): Document eval-expression-debug-on-error.
+ (Function Debugging): Update example.
+ (Using Debugger): Mention starred stack frames.
+ (Debugger Commands): Document `j' and `l'.
+ (Invoking the Debugger): `d' and `j' exit recursive edit too.
+ Update the messages that the debugger displays.
+ (Internals of Debugger): Add cross reference. Update example.
+ (Excess Open): Minor improvement.
+ (Excess Close): Minor improvement.
+
+2005-02-26 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Clarify.
+ Put all the major mode key reservations together.
+ Mention the Mouse-1 => Mouse-2 conventions.
+
+ * syntax.texi (Syntax Class Table): Clarify.
+ (Syntax Table Functions): syntax-after moved from here.
+ (Syntax Table Internals): syntax-after moved to here.
+ (Parsing Expressions): Update info on number of values
+ and what's meaningful in the STATE argument.
+ (Categories): Fix typo.
+
+ * sequences.texi (Arrays): Cleanup.
+ (Char-Tables): Clarify.
+
+ * processes.texi (Deleting Processes): Cleanups, add xref.
+ (Subprocess Creation): Explain nil in exec-path. Cleanup.
+ (Process Information): set-process-coding-system, some args optional.
+ (Input to Processes): Explain various types for PROCESS args.
+ Rename them from PROCESS-NAME to PROCESS.
+ (Signals to Processes): Likewise.
+ (Decoding Output): Cleanup.
+ (Query Before Exit): Clarify.
+
+ * os.texi (Startup Summary): Correct the options; add missing ones.
+ (Terminal Output, Batch Mode): Clarify.
+ (Flow Control): Node deleted.
+
+ * markers.texi (The Mark): Clarify.
+
+ * macros.texi (Expansion): Cleanup.
+ (Indenting Macros): indent-spec allows ints, not floats.
+
+ * keymaps.texi (Keymaps): Clarify.
+ (Format of Keymaps): Update lisp-mode-map example.
+ (Active Keymaps, Key Lookup): Clarify.
+ (Changing Key Bindings): Add xref to `kbd'.
+ (Key Binding Commands, Simple Menu Items): Clarify.
+ (Mouse Menus, Menu Bar): Clarify.
+ (Menu Example): Replace print example with menu-bar-replace-menu.
+
+ * help.texi (Documentation Basics): Add function-documentation prop.
+
+ * elisp.texi (Top): Don't refer to Flow Control node.
+
+ * commands.texi (Command Overview): Improve xrefs.
+ (Adjusting Point): Adjusting point applies to intangible and invis.
+ (Key Sequence Input): Doc extra read-key-sequence args.
+ Likewise for read-key-sequence-vector.
+
+ * backups.texi (Rename or Copy): Minor fix.
+ (Numbered Backups): For version-control, say the default.
+ (Auto-Saving): make-auto-save-file-name example is simplified.
+
+ * advice.texi (Advising Functions): Don't imply one part of Emacs
+ should advise another part. Markup changes.
+ (Defining Advice): Move transitional para.
+ (Activation of Advice): Cleanup.
+ Explain if COMPILE is nil or negative.
+
+ * abbrevs.texi (Abbrev Expansion): Clarify, fix typo.
+
+2005-02-24 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Defining Minor Modes): Explain that INIT-VALUE,
+ LIGHTER, and KEYMAP can be omitted when KEYWORD-ARGS are used.
+
+2005-02-23 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Defining Minor Modes): define-minor-mode can be used
+ to define global minor modes as well.
+
+ * display.texi (Managing Overlays): overlay-buffer returns nil for
+ deleted overlays.
+
+2005-02-22 Kim F. Storm <storm@cua.dk>
+
+ * minibuf.texi (Basic Completion): Allow symbols in addition to
+ strings in try-completion and all-completions.
+
+2005-02-14 Lute Kamstra <lute@gnu.org>
+
+ * elisp.texi (Top): Remove reference to deleted node.
+
+ * lists.texi (Lists): Remove reference to deleted node.
+ (Cons Cells): Fix typo.
+
+ * loading.texi (Where Defined): Fix typo.
+
+2005-02-14 Richard M. Stallman <rms@gnu.org>
+
+ * variables.texi (Creating Buffer-Local): change-major-mode-hook
+ is useful for discarding some minor modes.
+
+ * symbols.texi (Symbol Components): Reorder examples.
+
+ * streams.texi (Input Functions): State standard-input default.
+ (Output Variables): State standard-output default.
+
+ * objects.texi (Printed Representation): Clarify read syntax vs print.
+ (Floating Point Type): Explain meaning better.
+ (Symbol Type): Explain uniqueness better.
+ (Cons Cell Type): Explain empty list sooner. CAR and CDR later.
+ List examples sooner.
+ (Box Diagrams): New subnode broken out.
+ Some examples moved from old Lists as Boxes node.
+ (Dotted Pair Notation): Clarify intro.
+ (Array Type): Clarify.
+ (Type Predicates): Add hash-table-p.
+
+ * numbers.texi (Integer Basics): Clarify radix explanation.
+ (Predicates on Numbers): Minor clarification.
+ (Comparison of Numbers): Minor clarification. Clarify eql.
+ Typos in min, max.
+ (Math Functions): Clarify overflow in expt.
+
+ * minibuf.texi (Text from Minibuffer): Minor clarification.
+ Mention arrow keys.
+
+ * loading.texi (Autoload): defun's doc string overrides autoload's
+ doc string.
+ (Repeated Loading): Modernize "add to list" examples.
+ (Where Defined): Finish updating table of load-history elts.
+
+ * lists.texi (List-related Predicates): Minor wording improvement.
+ (Lists as Boxes): Node deleted.
+ (Building Lists): Explain trivial cases of number-sequence.
+
+ * hash.texi (Hash Tables): Add desc to menu items.
+ (Creating Hash): Expain "full" means "make larger",
+ (Hash Access): Any object can be a key.
+ State value of maphash.
+
+ * functions.texi (What Is a Function): Wording cleanup.
+ (Function Documentation): Minor cleanup.
+ Explain purpose of calling convention at end of doc string.
+ (Function Names): Wording cleanup.
+ (Calling Functions): Wording cleanup.
+ Explain better how funcall calls the function.
+ (Function Cells): Delete example of saving and redefining function.
+
+ * control.texi (Combining Conditions): Wording cleanup.
+ (Iteration): dolist and dotimes bind VAR locally.
+ (Cleanups): Xref to Atomic Changes.
+
+ * compile.texi (Byte Compilation): Delete 19.29 info.
+ (Compilation Functions): Macros' difficulties don't affect defsubst.
+ (Docs and Compilation): Delete 19.29 info.
+
+2005-02-10 Richard M. Stallman <rms@gnu.org>
+
+ * objects.texi (Symbol Type): Minor correction.
+
+2005-02-06 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Example Major Modes): Fix typos.
+
+2005-02-06 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Margins): fill-nobreak-predicate can be one function.
+
+ * strings.texi (Modifying Strings): clear-string can make unibyte.
+ (Formatting Strings): format gives error if values missing.
+
+ * positions.texi (Character Motion): Mention default arg
+ for forward-char. backward-char refers to forward-char.
+ (Word Motion): Mention default arg for forward-word.
+ (Buffer End Motion): Mention default arg for beginning-of-buffer.
+ Simplify end-of-buffer.
+ (Text Lines): Mention default arg for forward-line.
+ (List Motion): Mention default arg for beginning/end-of-defun.
+ (Skipping Characters): Minor fixes in explaining character-set.
+
+ * modes.texi (Major Mode Conventions): Mention "system abbrevs".
+ Mode inheritance applies only when default-major-mode is nil.
+ Clarifications.
+ (Example Major Modes): Update Text mode and Lisp mode examples.
+ (Minor Mode Conventions): Mention define-minor-mode at top.
+ (Defining Minor Modes): In Hungry example, don't define C-M-DEL.
+ (Mode Line Format): Update mode line face display info.
+ (Properties in Mode): Mention effect of risky vars.
+ (Imenu): Define imenu-add-to-menubar.
+ (Font Lock Mode): Add descriptions to menu lines.
+ (Faces for Font Lock): Add font-lock-doc-face.
+
+2005-02-05 Lute Kamstra <lute@gnu.org>
+
+ * text.texi (Maintaining Undo): Remove obsolete function.
+
+2005-02-05 Eli Zaretskii <eliz@gnu.org>
+
+ * frames.texi (Color Names): Add pointer to the X docs about RGB
+ color specifications. Improve indexing
+ (Text Terminal Colors): Replace the description of RGB values by
+ an xref to "Color Names".
+
+2005-02-03 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Basic Windows): Add cursor-in-non-selected-windows.
+ Clarify.
+ (Selecting Windows): Clarify save-selected-window.
+ (Cyclic Window Ordering): Clarify walk-windows.
+ (Window Point): Clarify.
+ (Window Start): Add comment to example.
+ (Resizing Windows): Add `interactive' specs in examples.
+ Document fit-window-to-buffer.
+
+ * text.texi (User-Level Deletion): just-one-space takes numeric arg.
+ (Undo, Maintaining Undo): Clarify last change.
+ (Sorting): In sort-numeric-fields, explain about octal and hex.
+ Mention sort-numeric-base.
+ (Format Properties): Add xref for hard newlines.
+
+ * frames.texi (Window Frame Parameters): Explain pixel=char on tty.
+ (Pop-Up Menus): Fix typo.
+ (Color Names): Explain all types of color names.
+ Explain color-values on B&W terminal.
+ (Text Terminal Colors): Explain "rgb values" are lists. Fix arg names.
+
+ * files.texi (File Locks): Not supported on MS systems.
+ (Testing Accessibility): Clarify.
+
+ * edebug.texi (Printing in Edebug): Fix edebug-print-circle.
+ (Coverage Testing): Fix typo.
+
+ * commands.texi (Misc Events): Remove stray space.
+
+ * buffers.texi (Buffer Names): Clarify generate-new-buffer-name.
+ (Modification Time): Clarify when visited-file-modtime returns 0.
+ (The Buffer List): Clarify bury-buffer.
+ (Killing Buffers): Clarify.
+ (Indirect Buffers): Add clone-indirect-buffer.
+
+2005-02-02 Matt Hodges <MPHodges@member.fsf.org>
+
+ * edebug.texi (Printing in Edebug): Fix default value of
+ edebug-print-circle.
+ (Coverage Testing): Fix displayed frequency count data.
+
+2005-02-02 Luc Teirlinck <teirllm@auburn.edu>
+
+ * text.texi (Maintaining Undo): Add `undo-outer-limit'.
+
+2005-02-02 Kim F. Storm <storm@cua.dk>
+
+ * text.texi (Undo) <buffer-undo-list>: Describe `apply' elements.
+
+2005-01-29 Eli Zaretskii <eliz@gnu.org>
+
+ * commands.texi (Misc Events): Describe the help-echo event.
+
+ * text.texi (Special Properties) <help-echo>: Use `pos'
+ consistently in description of the help-echo property.
+ Use @code{nil} instead of @var{nil}.
+
+ * display.texi (Overlay Properties): Fix the index entry for
+ help-echo overlay property.
+
+ * customize.texi (Type Keywords): Uncomment the xref to the
+ help-echo property documentation.
+
+2005-01-23 Kim F. Storm <storm@cua.dk>
+
+ * windows.texi (Window Start): Fix `pos-visible-in-window-p'
+ return value. Third element FULLY replaced by PARTIAL which
+ specifies number of invisible pixels if row is only partially visible.
+ (Textual Scrolling): Mention auto-window-vscroll.
+ (Vertical Scrolling): New defvar auto-window-vscroll.
+
+2005-01-16 Luc Teirlinck <teirllm@auburn.edu>
+
+ * keymaps.texi (Changing Key Bindings): `suppress-keymap' now uses
+ command remapping.
+
+2005-01-15 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Defining Images): Mention DATA-P arg of create-image.
+
+2005-01-14 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Accessing Events): Add WHOLE arg to posn-at-x-y.
+
+ * text.texi (Links and Mouse-1): Fix string and vector item.
+
+2005-01-13 Richard M. Stallman <rms@gnu.org>
+
+ * keymaps.texi (Active Keymaps): Rewrite the text, and update the
+ descriptions of overriding-local-map and overriding-terminal-local-map.
+
+ * text.texi (Links and Mouse-1): Clarify text.
+
+2005-01-13 Kim F. Storm <storm@cua.dk>
+
+ * modes.texi (Emulating Mode Line): Update format-mode-line entry.
+
+2005-01-13 Francis Litterio <franl@world.std.com> (tiny change)
+
+ * keymaps.texi (Active Keymaps): Fix overriding-local-map description.
+
+2005-01-12 Kim F. Storm <storm@cua.dk>
+
+ * text.texi (Links and Mouse-1): Rename section from Enabling
+ Mouse-1 to Following Links. Change xrefs.
+ Add examples for define-button-type and define-widget.
+
+ * display.texi (Button Properties, Button Buffer Commands):
+ Clarify mouse-1 and follow-link functionality.
+
+2005-01-12 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Enabling Mouse-1 to Follow Links): Redo prev. change.
+
+ * display.texi (Beeping): Fix Texinfo usage.
+
+ * modes.texi (Emulating Mode Line): Doc FACE arg in format-header-line.
+
+2005-01-11 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Button Properties, Button Buffer Commands):
+ Mention mouse-1 binding. Add follow-link keyword.
+
+ * text.texi (Text Properties): Add "Enable Mouse-1" to submenu.
+ (Enabling Mouse-1 to Follow Links): New subsection.
+
+2005-01-06 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Minor change.
+
+ * os.texi (Timers): Clarify previous change.
+
+ * modes.texi (Emulating Mode Line): format-mode-line requires 1 arg.
+
+2005-01-01 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi (Face Attributes): Correct xref to renamed node.
+
+2005-01-01 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Face Attributes): Describe hex color specs.
+
+2004-12-31 Richard M. Stallman <rms@gnu.org>
+
+ * os.texi (Timers): Update previous change.
+
+2004-12-30 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Line Height): Total line-height is now specified
+ in line-height property of form (HEIGHT TOTAL). Swap (FACE . RATIO)
+ in cons cells. (nil . RATIO) is relative to actual line height.
+ Use line-height `t' instead of `0' to get minimum height.
+
+2004-12-29 Richard M. Stallman <rms@gnu.org>
+
+ * os.texi (Timers): Discuss timers vs editing the buffer and undo.
+
+2004-12-28 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Quitting): Clarify value of with-local-quit.
+
+ * elisp.texi (Top): Fix previous change.
+
+ * loading.texi (Loading): Fix previous change.
+
+2004-12-27 Richard M. Stallman <rms@gnu.org>
+
+ * Makefile.in (MAKEINFO): Specify --force.
+
+ * buffers.texi (Killing Buffers): Add buffer-save-without-query.
+
+ * modes.texi (Emulating Mode Line): Document format's BUFFER arg.
+
+ * display.texi (Line Height): Further clarify.
+
+ * elisp.texi (Top): Update Loading submenu.
+
+ * loading.texi (Where Defined): New node.
+ (Unloading): load-history moved to Where Defined.
+
+2004-12-21 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Event Input Misc): Add while-no-input.
+
+2004-12-11 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Line Height): Rewrite text for clarity.
+
+2004-12-11 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Display): Add node "Line Height" to menu.
+ (Line Height): New node. Move full description of line-spacing
+ and line-height text properties here from text.texi.
+ (Scroll Bars): Add vertical-scroll-bar variable.
+
+ * frames.texi (Window Frame Parameters): Remove line-height defvar.
+
+ * locals.texi (Standard Buffer-Local Variables): Fix xref for
+ line-spacing and vertical-scroll-bar.
+
+ * text.texi (Special Properties): Just mention line-spacing and
+ line-height here, add xref to new "Line Height" node.
+
+2004-12-09 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * frames.texi (Window Frame Parameters): New @defvar for `line-spacing'.
+
+ * locals.texi (Standard Buffer-Local Variables):
+ Add @xref for `line-spacing'.
+
+2004-12-05 Richard M. Stallman <rms@gnu.org>
+
+ * Makefile.in (maintainer-clean): Remove the info files
+ in $(infodir) where they are created.
+
+2004-12-03 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Selecting Windows): get-lru-window and
+ get-largest-window don't consider dedicated windows.
+
+ * text.texi (Undo): Document undo-in-progress.
+
+2004-11-26 Richard M. Stallman <rms@gnu.org>
+
+ * locals.texi (Standard Buffer-Local Variables): Undo prev change.
+ Remove a few vars that are not always buffer-local.
+
+2004-11-24 Luc Teirlinck <teirllm@auburn.edu>
+
+ * locals.texi (Standard Buffer-Local Variables): Comment out
+ xref's to non-existent node `Yet to be written'.
+
+2004-11-24 Richard M. Stallman <rms@gnu.org>
+
+ * processes.texi (Synchronous Processes): Grammar fix.
+
+ * numbers.texi (Comparison of Numbers): Add eql.
+
+ * locals.texi (Standard Buffer-Local Variables): Add many vars.
+
+ * intro.texi (Printing Notation): Fix previous change.
+
+ * display.texi (Customizing Bitmaps): Move indicate-buffer-boundaries
+ and default-indicate-buffer-boundaries from here.
+ (Usual Display): To here.
+ (Scroll Bars): Add scroll-bar-mode and scroll-bar-width.
+ (Usual Display): Move tab-width up.
+
+ * customize.texi (Variable Definitions): Replace
+ show-paren-mode example with tooltip-mode.
+ (Simple Types, Composite Types, Defining New Types):
+ Minor cleanups.
+
+2004-11-21 Jesper Harder <harder@ifa.au.dk>
+
+ * processes.texi (Synchronous Processes, Output from Processes):
+ Markup fix.
+
+2004-11-20 Richard M. Stallman <rms@gnu.org>
+
+ * positions.texi (Skipping Characters): skip-chars-forward
+ now handles char classes.
+
+ * intro.texi (Printing Notation): Avoid confusion of `print'
+ when explaining @print.
+
+ * macros.texi (Argument Evaluation): Fix 1st `for' expansion example.
+
+ * display.texi (Display Table Format): Minor fix.
+
+ * streams.texi (Output Functions): Fix print example.
+
+ * Makefile.in (elisp): New target.
+ (dist): Depend on $(infodir)/elisp, not elisp.
+ Copy the info files from $(infodir).
+
+ * minibuf.texi (Text from Minibuffer): Document KEEP-ALL arg in
+ read-from-minibuffer.
+
+ * searching.texi (Regexp Search): Rename that to search-spaces-regexp.
+
+2004-11-19 Richard M. Stallman <rms@gnu.org>
+
+ * searching.texi (Regexp Search): Add search-whitespace-regexp.
+
+2004-11-19 CHENG Gao <chenggao@gmail.com> (tiny change)
+
+ * tips.texi (Coding Conventions): Fix typo.
+
+2004-11-16 Richard M. Stallman <rms@gnu.org>
+
+ * tips.texi (Coding Conventions): Separate defvar and require
+ methods to avoid warnings. Use require only when there are many
+ functions and variables from that package.
+
+ * minibuf.texi (Minibuffer Completion): When ignoring case,
+ predicate must not be case-sensitive.
+
+ * debugging.texi (Function Debugging, Explicit Debug): Clarified.
+ (Test Coverage): Don't talk about "splotches". Clarified.
+
+2004-11-16 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * frames.texi (Window Frame Parameters): Fix typo.
+
+2004-11-15 Kim F. Storm <storm@cua.dk>
+
+ * symbols.texi (Other Plists): Note that plist-get may signal error.
+ Add safe-plist-get.
+
+2004-11-15 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * modes.texi (Font Lock Basics): Fix typo.
+
+2004-11-08 Richard M. Stallman <rms@gnu.org>
+
+ * syntax.texi (Syntax Table Functions): Add syntax-after.
+
+2004-11-06 Lars Brinkhoff <lars@nocrew.org>
+
+ * os.texi (Processor Run Time): New section documenting
+ get-internal-run-time.
+
+2004-11-06 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.in (install, maintainer-clean): Don't use "elisp-*" as
+ it nukes elisp-cover.texi.
+ (dist): Change elisp-[0-9] to elisp-[1-9], as there could be no
+ elisp-0 etc.
+
+2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
+
+ * commands.texi (Keyboard Macros): Document `append' return value
+ of `defining-kbd-macro'.
+
+2004-11-01 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Interactive Call): Add called-interactively-p.
+
+2004-10-29 Simon Josefsson <jas@extundo.com>
+
+ * minibuf.texi (Reading a Password): Revert.
+
+2004-10-28 Richard M. Stallman <rms@gnu.org>
+
+ * frames.texi (Display Feature Testing): Explain about "vendor".
+
+2004-10-27 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Interactive Codes): `N' uses numeric prefix,
+ not raw. Clarify `n'.
+ (Interactive Call): Rewrite interactive-p, focusing on when
+ and how to use it.
+ (Misc Events): Clarify previous change.
+
+ * advice.texi (Simple Advice): Clarify what job the example does.
+ (Around-Advice): Clarify ad-do-it.
+ (Activation of Advice): An option of ad-default-compilation-action
+ is `never', not `nil'.
+
+2004-10-26 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Interactive Codes): Add U code letter.
+
+2004-10-25 Simon Josefsson <jas@extundo.com>
+
+ * minibuf.texi (Reading a Password): Add.
+
+2004-10-24 Jason Rumney <jasonr@gnu.org>
+
+ * commands.texi (Misc Events): Remove mouse-wheel. Add wheel-up
+ and wheel-down.
+
+2004-10-24 Kai Grossjohann <kai.grossjohann@gmx.net>
+
+ * processes.texi (Synchronous Processes): Document process-file.
+
+2004-10-22 Kenichi Handa <handa@m17n.org>
+
+ * text.texi (translate-region): Document that it accepts also a
+ char-table.
+
+2004-10-22 David Ponce <david@dponce.com>
+
+ * windows.texi (Resizing Windows): Document the `preserve-before'
+ argument of the functions `enlarge-window' and `shrink-window'.
+
+2004-10-19 Jason Rumney <jasonr@gnu.org>
+
+ * makefile.w32-in (elisp): Change order of arguments to makeinfo.
+
+2004-10-09 Luc Teirlinck <teirllm@auburn.edu>
+
+ * text.texi (Filling): Add anchor for definition of
+ `sentence-end-double-space'.
+
+ * searching.texi (Regexp Example): Update description of how
+ Emacs currently recognizes the end of a sentence.
+ (Standard Regexps): Update definition of the variable
+ `sentence-end'. Add definition of the function `sentence-end'.
+
+2004-10-08 Paul Pogonyshev <pogonyshev@gmx.net>
+
+ * display.texi (Progress): New node.
+
+2004-10-05 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Fringe Bitmaps): Update fringe-bitmaps-at-pos.
+
+2004-09-29 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Fringe Bitmaps): Use symbols rather than numbers
+ to identify bitmaps. Remove -fringe-bitmap suffix for standard
+ fringe bitmap symbols, as they now have their own namespace.
+ (Customizing Bitmaps) <define-fringe-bitmap>: Clarify bit ordering
+ vs. pixels. Signal error if no free bitmap slots.
+ (Pixel Specification): Change IMAGE to @var{image}.
+
+2004-09-28 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Clarify line-spacing and line-height.
+
+ * searching.texi (Regexp Search): Add looking-back.
+
+2004-09-25 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi: Correct typos.
+ (Image Descriptors): Correct xref's.
+
+2004-09-25 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Special Properties): Cleanups in `cursor'.
+ Rewrites in `line-height' and `line-spacing'; exchange them.
+
+ * display.texi (Fringes): Rewrite previous change.
+ (Fringe Bitmaps): Merge text from Display Fringe Bitmaps. Rewrite.
+ (Display Fringe Bitmaps): Node deleted, text moved.
+ (Customizing Bitmaps): Split off from Fringe Bitmaps. Rewrite.
+ (Scroll Bars): Clarify set-window-scroll-bars.
+ (Pointer Shape): Rewrite.
+ (Specified Space): Clarify :align-to, etc.
+ (Pixel Specification): Use @var. Clarify new text.
+ (Other Display Specs): Clarify `slice'.
+ (Image Descriptors): Cleanups.
+ (Showing Images): Cleanups.
+
+2004-09-24 Luc Teirlinck <teirllm@auburn.edu>
+
+ * hooks.texi (Standard Hooks): Add `after-change-major-mode-hook'.
+
+ * modes.texi: Various minor changes in addition to:
+ (Major Mode Conventions): Final call to `run-mode-hooks' should
+ not be inside the `delay-mode-hooks' form.
+ (Mode Hooks): New node.
+ (Hooks): Delete obsolete example.
+ Move definitions of `run-mode-hooks' and `delay-mode-hooks' to new
+ node "Mode Hooks".
+
+2004-09-22 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi: Correct various typos.
+ (Display): Rename node "Pointer Shapes" to "Pointer
+ Shape". (There is already a node called "Pointer Shapes" in
+ frames.texi.)
+ (Images): Remove non-existent node "Image Slices" from menu.
+
+2004-09-23 Kim F. Storm <storm@cua.dk>
+
+ * text.texi (Special Properties): Add `cursor', `pointer',
+ `line-height', and `line-spacing' properties.
+
+ * display.texi (Display): Add 'Fringe Bitmaps' and 'Pointer
+ Shapes' to menu.
+ (Standard Faces): Doc fix for fringe face.
+ (Fringes): Add `overflow-newline-into-fringe' and
+ 'indicate-buffer-boundaries'.
+ (Fringe Bitmaps, Pointer Shapes): New nodes.
+ (Display Property): Add 'Pixel Specification' and 'Display Fringe
+ Bitmaps' to menu.
+ (Specified Space): Describe pixel width and height.
+ (Pixel Specification): New node.
+ (Other Display Specs): Add `slice' property.
+ (Display Fringe Bitmaps): New node.
+ (Images): Add 'Image Slices' to menu.
+ (Image Descriptors): Add `:pointer' and `:map' properties.
+ (Showing Images): Add slice arg to `insert-image'. Add
+ 'insert-sliced-image'.
+
+2004-09-20 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Key Sequence Input):
+ Clarify downcasing in read-key-sequence.
+
+2004-09-08 Juri Linkov <juri@jurta.org>
+
+ * minibuf.texi (Minibuffer History): Add `history-delete-duplicates'.
+
+2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
+
+ * locals.texi (Standard Buffer-Local Variables): Add
+ `buffer-auto-save-file-format'.
+ * internals.texi (Buffer Internals): Describe new
+ auto_save_file_format field of the buffer structure.
+ * files.texi (Format Conversion): `auto-save-file-format' has been
+ renamed `buffer-auto-save-file-format'.
+
+2004-08-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * abbrevs.texi (Abbrev Expansion): `abbrev-start-location' can be
+ an integer or a marker.
+ (Abbrev Expansion): Replace example for `pre-abbrev-expand-hook'.
+
+2004-08-22 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Major Mode Conventions): Discuss rebinding of
+ standard key bindings.
+
+2004-08-18 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Accepting Output): Add `just-this-one' arg to
+ `accept-process-output'.
+ (Output from Processes): New var `process-adaptive-read-buffering'.
+
+2004-08-10 Luc Teirlinck <teirllm@auburn.edu>
+
+ * keymaps.texi: Various changes in addition to:
+ (Keymap Terminology): `kbd' uses same syntax as Edit Macro mode.
+ Give more varied examples for `kbd'.
+ (Creating Keymaps): Char tables have slots for all characters
+ without modifiers.
+ (Active Keymaps): `overriding-local-map' and
+ `overriding-terminal-local-map' also override text property and
+ overlay keymaps.
+ (Functions for Key Lookup): Mention OLP arg to `current-active-maps'.
+ (Scanning Keymaps): `accessible-keymaps' uses `[]' instead of `""'
+ to denote a prefix of no events.
+ `map-keymap' includes parent's bindings _recursively_.
+ Clarify and correct description of `where-is-internal'.
+ Mention BUFFER-OR-NAME arg to `describe-bindings'.
+ (Menu Example): For menus intended for use with the keyboard, the
+ menu items should be bound to characters or real function keys.
+
+2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
+
+ * objects.texi (Character Type): Reposition `@anchor' to prevent
+ double space inside sentence in Info.
+
+ * hooks.texi (Standard Hooks): `disabled-command-hook' has been
+ renamed to `disabled-command-function'.
+ * commands.texi (Key Sequence Input): Remove unnecessary anchor.
+ (Command Loop Info): Replace reference to it.
+ (Disabling Commands): `disabled-command-hook' has been renamed to
+ `disabled-command-function'.
+
+2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
+
+ * os.texi (Translating Input): Only non-prefix bindings in
+ `key-translation-map' override actual key bindings. Warn about
+ possible indirect effect of actual key bindings on non-prefix
+ bindings in `key-translation-map'.
+
+2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (High-Level Completion): Add anchor for definition
+ of `read-variable'.
+
+ * commands.texi: Various changes in addition to:
+ (Using Interactive): Clarify description of `interactive-form'.
+ (Interactive Call): Mention default for KEYS argument to
+ `call-interactively'.
+ (Command Loop Info): Clarify description of `this-command-keys'.
+ Mention KEEP-RECORD argument to `clear-this-command-keys'.
+ Value of `last-event-frame' can be `macro'.
+ (Repeat Events): `double-click-fuzz' is also used to distinguish
+ clicks and drags.
+ (Classifying Events): Clarify descriptions of `event-modifiers'
+ `event-basic-type' and `event-convert-list'.
+ (Accessing Events): `posn-timestamp' takes POSITION argument.
+ (Quoted Character Input): Clarify description of
+ `read-quoted-char' and fix example.
+ (Quitting): Add `with-local-quit'.
+ (Disabling Commands): Correct and clarify descriptions of
+ `enable-command' and `disable-command'.
+ Mention what happens if `disabled-command-hook' is nil.
+ (Keyboard Macros): Mention LOOPFUNC arg to `execute-kbd-macro'.
+ Describe `executing-kbd-macro' instead of obsolete `executing-macro'.
+
+2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
+
+ * frames.texi: Various changes in addition to:
+ (Creating Frames): Expand and clarify description of `make-frame'.
+ (Window Frame Parameters): Either none or both of the `icon-left'
+ and `icon-top' parameters must be specified. Put descriptions of
+ `menu-bar-lines' and `toolbar-lines' closer together and change
+ them accordingly.
+ (Frame Titles): `multiple-frames' is not guaranteed to be accurate
+ except while processing `frame-title-format' or `icon-title-format'.
+ (Deleting Frames): Correct description of `delete-frame'.
+ Non-nil return values of `frame-live-p' are like those of `framep'.
+ (Frames and Windows): Mention return value of
+ `set-frame-selected-window'.
+ (Visibility of Frames): Mention `force' argument to
+ `make-frame-invisible'. `frame-visible-p' returns t for all
+ frames on text-only terminals.
+ (Frame Configurations): Restoring a frame configuration does not
+ restore deleted frames.
+ (Window System Selections): `x-set-selection' returns DATA.
+ (Resources): Add example.
+ (Display Feature Testing): Clarify descriptions of
+ `display-pixel-height', `display-pixel-width', `x-server-version'
+ and `x-server-vendor'.
+
+ * windows.texi (Choosing Window): Add anchor.
+ * minibuf.texi (Minibuffer Misc): Add anchor.
+
+2004-07-23 John Paul Wallington <jpw@gnu.org>
+
+ * macros.texi (Defining Macros): Declaration keyword for setting
+ Edebug spec is `debug' not `edebug'.
+
+2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
+
+ * windows.texi: Various small changes in addition to:
+ (Window Point): Mention return value of `set-window-point'.
+ (Window Start): `pos-visible-in-window-p' disregards horizontal
+ scrolling. Explain return value if PARTIALLY is non-nil.
+ (Vertical Scrolling): Mention PIXELS-P argument to `window-vscroll'
+ and `set-window-vscroll'.
+ (Size of Window): The argument WINDOW to `window-inside-edges',
+ `window-pixel-edges' and `window-inside-pixel-edges' is optional.
+ (Resizing Windows): Explain return value of
+ `shrink-window-if-larger-than-buffer'.
+ `window-size-fixed' automatically becomes buffer local when set.
+ (Window Configurations): Explain return value of
+ `set-window-configuration'.
+
+ * minibuf.texi (Minibuffer Misc): Add anchor for
+ `minibuffer-scroll-window'.
+
+ * positions.texi (Text Lines): Add anchor for `count-lines'.
+
+2004-07-17 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Overlay Properties): Adding `evaporate' prop
+ deletes empty overlay immediately.
+
+ * abbrevs.texi (Abbrev Expansion): Clarify pre-abbrev-expand-hook,
+ fix example.
+
+2004-07-16 Jim Blandy <jimb@redhat.com>
+
+ * searching.texi (Regexp Backslash): Document new \_< and \_>
+ operators.
+
+2004-07-16 Juanma Barranquero <lektu@terra.es>
+
+ * display.texi (Images): Fix Texinfo usage.
+
+2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * buffers.texi (Modification Time): `visited-file-modtime' now
+ returns a list of two integers, instead of a cons.
+
+2004-07-13 Luc Teirlinck <teirllm@auburn.edu>
+
+ * windows.texi: Various changes in addition to:
+ (Splitting Windows): Add `split-window-keep-point'.
+
+2004-07-09 Richard M. Stallman <rms@gnu.org>
+
+ * frames.texi (Input Focus): Minor fix.
+
+2004-07-07 Luc Teirlinck <teirllm@auburn.edu>
+
+ * frames.texi (Input Focus): Clarify descriptions of
+ `select-frame-set-input-focus' and `select-frame'.
+
+2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
+
+ * os.texi: Various small changes in addition to:
+ (Killing Emacs): Expand and clarify description of
+ `kill-emacs-query-functions' and `kill-emacs-hook'.
+ (System Environment): Expand and clarify description of `getenv'
+ and `setenv'.
+ (Timers): Clarify description of `run-at-time'.
+ (Translating Input): Correct description of
+ `extra-keyboard-modifiers'.
+ (Flow Control): Correct description of `enable-flow-control'.
+
+2004-07-06 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * os.texi: Update copyright.
+ (Session Management): Grammar fix.
+ Clarify which Emacs does the restarting.
+ Use @samp for *scratch* buffer.
+
+2004-07-04 Alan Mackenzie <acm@muc.de>
+
+ * frames.texi (Input Focus): Add documentation for
+ `select-frame-set-input-focus'. Replace refs to non-existent
+ `switch-frame' with `select-frame'. Minor corrections and tidying
+ up of text-only terminal stuff.
+
+2004-07-02 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Saving Buffers): Cleanup write-contents-function.
+ (Magic File Names): Cleanup file-remote-p.
+
+2004-07-02 Kai Grossjohann <kai@emptydomain.de>
+
+ * files.texi (Magic File Names): `file-remote-p' returns an
+ identifier of the remote system, not just t.
+
+2004-07-02 David Kastrup <dak@gnu.org>
+
+ * searching.texi (Entire Match Data): Add explanation about new
+ match-data behavior when @var{integers} is non-nil.
+
+2004-06-24 Richard M. Stallman <rms@gnu.org>
+
+ * commands.texi (Misc Events): Describe usr1-signal, usr2-signal event.
+
+ * customize.texi (Variable Definitions): Note about doc strings
+ and :set.
+
+ * keymaps.texi (Keymap Terminology): Document `kbd'.
+ (Changing Key Bindings, Key Binding Commands): Use kbd in examples.
+
+ * display.texi (Invisible Text): Setting buffer-invisibility-spec
+ makes it buffer-local.
+
+ * files.texi (Saving Buffers): Correct previous change.
+
+ * commands.texi (Accessing Events):
+ Clarify posn-col-row and posn-actual-col-row.
+
+2004-06-24 David Ponce <david.ponce@wanadoo.fr>
+
+ * commands.texi (Accessing Events): New functions
+ posn-at-point and posn-at-x-y. Add example to posn-x-y.
+
+2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi, files.texi, processes.texi, macros.texi, hash.texi:
+ * frames.texi, buffers.texi, backups.texi, variables.texi:
+ * loading.texi, eval.texi, functions.texi, control.texi:
+ * symbols.texi, minibuf.texi: Reposition @anchor's.
+
+ * help.texi: Various small changes in addition to the following.
+ (Describing Characters): Describe PREFIX argument to
+ `key-description'. Correct and clarify definition of
+ `text-char-description'. Describe NEED-VECTOR argument to
+ `read-kbd-macro'.
+ (Help Functions): Clarify definition of `apropos'.
+
+2004-06-23 Lars Hansen <larsh@math.ku.dk>
+
+ * files.texi (Saving Buffers): Correct description of
+ `write-contents-functions'.
+
+2004-06-21 Juanma Barranquero <lektu@terra.es>
+
+ * display.texi (Images): Remove redundant @vindex directives.
+ Rewrite `image-library-alist' doc in active voice.
+
+2004-06-14 Juanma Barranquero <lektu@terra.es>
+
+ * display.texi (Images): Document new delayed library loading,
+ variable `image-library-alist' and (existing but undocumented)
+ function `image-type-available-p'.
+
+2004-06-05 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Minibuffer Completion): For INITIAL arg,
+ refer the user to the Initial Input node.
+ (Text from Minibuffer): Likewise.
+ (Initial Input): New node. Document this feature
+ and say it is mostly deprecated.
+
+2004-05-30 Richard M. Stallman <rms@gnu.org>
+
+ * loading.texi (Named Features): Clarify return value
+ and meaning of NOERROR.
+
+ * variables.texi (File Local Variables): Minor cleanup.
+
+2004-05-30 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Magic File Names): Add `file-remote-p' as operation
+ of file name handlers.
+
+2004-05-29 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Minor Mode Conventions): (-) has no special meaning
+ as arg to a minor mode command.
+
+2004-05-22 Richard M. Stallman <rms@gnu.org>
+
+ * syntax.texi (Syntax Class Table): Word syntax not just for English.
+
+ * streams.texi (Output Variables): Doc float-output-format.
+
+ * searching.texi (Regexp Special): Nested repetition can be infloop.
+
+ * eval.texi (Eval): Increasing max-lisp-eval-depth can cause
+ real stack overflow.
+
+ * compile.texi: Minor cleanups.
+
+2004-05-22 Luc Teirlinck <teirllm@dms.auburn.edu>
+
+ * lists.texi (Cons Cells): Explain dotted lists, true lists,
+ circular lists.
+ (List Elements): Explain handling of circular and dotted lists.
+
+2004-05-19 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * modes.texi (Search-based Fontification): Fix typo.
+
+2004-05-10 Juanma Barranquero <lektu@terra.es>
+
+ * modes.texi (Mode Line Variables): Fix description of
+ global-mode-string, which is now after which-func-mode, not the
+ buffer name.
+
+2004-05-07 Lars Hansen <larsh@math.ku.dk>
+
+ * modes.texi (Desktop Save Mode): Add.
+ (Modes): Add menu entry Desktop Save Mode.
+
+ * hooks.texi: Add desktop-after-read-hook,
+ desktop-no-desktop-file-hook and desktop-save-hook.
+
+ * locals.texi: Add desktop-save-buffer.
+
+2004-04-30 Jesper Harder <harder@ifa.au.dk>
+
+ * display.texi: emacs -> Emacs.
+
+2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
+
+ * files.texi (Changing Files): Document set-file-times.
+
+2004-04-23 Juanma Barranquero <lektu@terra.es>
+
+ * makefile.w32-in: Add "-*- makefile -*-" mode tag.
+
+2004-04-18 Jesper Harder <harder@ifa.au.dk>
+
+ * tips.texi (Coding Conventions): defopt -> defcustom.
+
+2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
+
+ * sequences.texi: Various clarifications.
+
+2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * buffers.texi (Read Only Buffers): Mention optional ARG to
+ `toggle-read-only'.
+
+2004-04-14 Nick Roberts <nick@nick.uklinux.net>
+
+ * windows.texi (Selecting Windows): Note that get-lru-window
+ returns a full-width window if possible.
+
+2004-04-13 Luc Teirlinck <teirllm@auburn.edu>
+
+ * buffers.texi: Various changes in addition to:
+ (Buffer File Name): Add `find-buffer-visiting'.
+ (Buffer Modification): Mention optional ARG to `not-modified'.
+ (Indirect Buffers): Mention optional CLONE argument to
+ `make-indirect-buffer'.
+
+ * files.texi: Various changes in addition to:
+ (Visiting Functions): `find-file-hook' is now a normal hook.
+ (File Name Expansion): Explain difference between the way that
+ `expand-file-name' and `file-truename' treat `..'.
+ (Contents of Directories): Mention optional ID-FORMAT argument to
+ `directory-files-and-attributes'.
+ (Format Conversion): Mention new optional CONFIRM argument to
+ `format-write-file'.
+
+2004-04-12 Miles Bader <miles@gnu.org>
+
+ * macros.texi (Expansion): Add description of `macroexpand-all'.
+
+2004-04-05 Jesper Harder <harder@ifa.au.dk>
+
+ * variables.texi (Variable Aliases): Mention
+ cyclic-variable-indirection.
+
+ * errors.texi (Standard Errors): Ditto.
+
+2004-04-04 Luc Teirlinck <teirllm@auburn.edu>
+
+ * backups.texi: Various small changes in addition to:
+ (Making Backups): Mention return value of `backup-buffer'.
+ (Auto-Saving): Mention optional FORCE argument to
+ `delete-auto-save-file-if-necessary'.
+ (Reverting): Mention optional PRESERVE-MODES argument to
+ `revert-buffer'. Correct description of `revert-buffer-function'.
+
+2004-03-22 Juri Linkov <juri@jurta.org>
+
+ * sequences.texi (Sequence Functions): Replace xref to `Vectors'
+ with `Vector Functions'.
+
+ * text.texi (Sorting): Add missing quote.
+
+2004-03-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * intro.texi (Lisp History): Replace xref to `cl' manual with
+ inforef.
+
+2004-03-12 Richard M. Stallman <rms@gnu.org>
+
+ * intro.texi (Version Info): Add arg to emacs-version.
+ (Lisp History): Change xref to CL manual.
+
+2004-03-09 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (Completion Commands): Add xref to Emacs manual
+ for Partial Completion mode.
+
+2004-03-07 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * customize.texi: Fix typo. Remove eol whitespace.
+
+2004-03-04 Richard M. Stallman <rms@gnu.org>
+
+ * processes.texi: Fix typos.
+
+ * lists.texi (Building Lists): Minor clarification.
+
+ * hash.texi (Creating Hash): Correct the meaning of t for WEAK
+ in make-hash-table.
+
+2004-02-29 Juanma Barranquero <lektu@terra.es>
+
+ * makefile.w32-in (clean, maintainer-clean): Use $(DEL) instead of
+ rm, and ignore exit code.
+
+2004-02-27 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * display.texi (Defining Faces): Add description for min-colors.
+ Update example.
+
+2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * abbrevs.texi: Various corrections and clarifications in addition
+ to the following:
+ (Abbrev Tables): Delete add-abbrev (as suggested by RMS).
+
+2004-02-22 Matthew Mundell <matt@mundell.ukfsn.org> (tiny change)
+
+ * calendar.texi (Holiday Customizing): Quote arg of holiday-sexp.
+
+2004-02-21 Luc Teirlinck <teirllm@auburn.edu>
+
+ * text.texi: Various small changes in addition to the following:
+ (User-Level Deletion): Mention optional BACKWARD-ONLY argument
+ to delete-horizontal-space.
+ (Kill Functions, Yanking, Low-Level Kill Ring): Clarify and correct
+ description of yank-handler text property at various places.
+
+ * frames.texi (Window System Selections): Add anchor.
+
+ * syntax.texi (Syntax Table Functions): Clarify and correct
+ descriptions of make-syntax-table and copy-syntax-table.
+ (Motion and Syntax): Clarify SYNTAXES argument to
+ skip-syntax-forward.
+ (Parsing Expressions): Mention that the return value of
+ parse-partial-sexp is currently a list of ten rather than nine
+ elements.
+ (Categories): Various corrections and clarifications.
+
+2004-02-17 Luc Teirlinck <teirllm@auburn.edu>
+
+ * markers.texi (Marker Insertion Types): Minor change.
+
+ * locals.texi (Standard Buffer-Local Variables):
+ * commands.texi (Interactive Codes, Using Interactive):
+ * functions.texi (Related Topics): Fix xrefs.
+
+2004-02-16 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Sets And Lists): Update description of delete-dups.
+
+2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
+
+ * keymaps.texi (Tool Bar): tool-bar-item => tool-bar-button.
+
+2004-02-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * frames.texi (Parameter Access): frame-parameters arg is optional.
+ modify-frame-parameters handles nil for FRAME.
+ (Window Frame Parameters): menu-bar-lines and tool-bar-lines
+ are all-or-nothing for certain toolkits.
+ Mention parameter wait-for-wm.
+ (Frames and Windows): In frame-first-window and frame-selected-window
+ the arg is optional.
+ (Input Focus): In redirect-frame-focus the second arg is optional.
+ (Window System Selections): Mention selection type CLIPBOARD.
+ Mention data-type UTF8_STRING.
+ Mention numbering of cut buffers.
+ (Resources): Describe x-resource-name.
+
+2004-02-16 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Buffers and Windows): Delete false table
+ about all-frames.
+
+ * syntax.texi (Parsing Expressions): Delete old caveat
+ about parse-sexp-ignore-comments.
+
+ * streams.texi (Output Variables): Add print-quoted.
+
+ * lists.texi (Building Lists): Minor cleanup.
+
+ * hash.texi (Creating Hash): Correct and clarify doc of WEAK values.
+
+ * display.texi (Overlays): Explain overlays use markers.
+ (Managing Overlays): Explain front-advance and rear-advance
+ in more detail.
+
+ * loading.texi (Unloading): Document unload-feature-special-hooks.
+ Get rid of fns-NNN.el file.
+
+2004-02-16 Matthew Mundell <matt@mundell.ukfsn.org> (tiny change)
+
+ * help.texi (Describing Characters): Fix text-char-description
+ example output.
+
+ * edebug.texi (Using Edebug): Fix example.
+
+ * debugging.texi (Internals of Debugger): Fix return value.
+
+ * files.texi (Changing Files): Fix argname.
+
+ * calendar.texi: Fix parens, and default values.
+
+ * display.texi, frames.texi, internals.texi, modes.texi: Minor fixes.
+ * nonascii.texi, objects.texi, os.texi: Minor fixes.
+ * searching.texi, text.texi, tips.texi, windows.text: Minor fixes.
+
+ * positions.texi (Text Lines): Don't add -1 in current-line.
+
+2004-02-16 Richard M. Stallman <rms@gnu.org>
+
+ * compile.texi (Compiler Errors): if-boundp feature applies to cond.
+
+2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
+
+ * processes.texi (Low-Level Network): Fix a typo.
+
+2004-02-12 Kim F. Storm <storm@cua.dk>
+
+ * display.texi (Fringes): Use consistent wording.
+ Note that window-fringe's window arg is optional.
+ (Scroll Bars): Use consistent wording.
+
+2004-02-11 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Comment Tips): Document the new conventions for
+ commenting out code.
+
+2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * positions.texi (Text Lines): Added missing end defun.
+
+2004-02-07 Kim F. Storm <storm@cua.dk>
+
+ * positions.texi (Text Lines): Add line-number-at-pos.
+
+2004-02-06 John Paul Wallington <jpw@gnu.org>
+
+ * display.texi (Button Properties, Button Buffer Commands):
+ mouse-2 invokes button, not down-mouse-1.
+
+2004-02-04 Jason Rumney <jasonr@gnu.org>
+
+ * makefile.w32-in: Sync with Makefile.in changes.
+
+2004-02-03 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (Text from Minibuffer): Various corrections and
+ clarifications.
+ (Object from Minibuffer): Correct Lisp description of
+ read-minibuffer.
+ (Minibuffer History): Clarify description of cons values for
+ HISTORY arguments.
+ (Basic Completion): Various corrections and clarifications. Add
+ completion-regexp-list.
+ (Minibuffer Completion): Correct and clarify description of
+ completing-read.
+ (Completion Commands): Mention Partial Completion mode. Various
+ other minor changes.
+ (High-Level Completion): Various corrections and clarifications.
+ (Reading File Names): Ditto.
+ (Minibuffer Misc): Ditto.
+
+2004-01-26 Luc Teirlinck <teirllm@auburn.edu>
+
+ * strings.texi (Text Comparison): assoc-string also matches
+ elements of alists that are strings instead of conses.
+ (Formatting Strings): Standardize Texinfo usage. Update index
+ entries.
+
+2004-01-20 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Sets And Lists): Add delete-dups.
+
+2004-01-15 Luc Teirlinck <teirllm@auburn.edu>
+
+ * edebug.texi (Instrumenting Macro Calls): `declare' is not a
+ special form.
+ * macros.texi (Defining Macros): Update description of `declare',
+ which now is a macro.
+ (Wrong Time): Fix typos.
+
+2004-01-14 Luc Teirlinck <teirllm@auburn.edu>
+
+ * compile.texi (Compilation Functions): Expand descriptions of
+ `compile-defun', `byte-compile-file', `byte-recompile-directory'
+ and `batch-byte-compile'. In particular, mention and describe
+ all optional arguments.
+ (Disassembly): Correct and clarify the description of `disassemble'.
+
+2004-01-11 Luc Teirlinck <teirllm@auburn.edu>
+
+ * searching.texi: Various small changes in addition to the
+ following.
+ (Regexp Example): Adapt to new value of `sentence-end'.
+ (Regexp Functions): The PAREN argument to `regexp-opt' can be
+ `words'.
+ (Search and Replace): Add usage note for `perform-replace'.
+ (Entire Match Data): Mention INTEGERS and REUSE arguments to
+ `match-data'.
+ (Standard Regexps): Update for new values of `paragraph-start'
+ and `sentence-end'.
+
+2004-01-07 Luc Teirlinck <teirllm@auburn.edu>
+
+ * files.texi (Saving Buffers): Clarify descriptions of
+ `write-contents-functions' and `before-save-hook'.
+ Make the defvar's for `before-save-hook' and `after-save-hook'
+ into defopt's.
+
+2004-01-07 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Click Events): Describe new image and
+ width/height elements of click events.
+ (Accessing Events): Add posn-string, posn-image, and
+ posn-object-width-height. Change posn-object to return either
+ image or string object.
+
+2004-01-01 Simon Josefsson <jas@extundo.com>
+
+ * hooks.texi (Standard Hooks): Add before-save-hook.
+ * files.texi (Saving Buffers): Likewise.
+
+2004-01-03 Richard M. Stallman <rms@gnu.org>
+
+ * frames.texi (Frames and Windows): Delete frame-root-window.
+
+2004-01-03 Luc Teirlinck <teirllm@auburn.edu>
+
+ * eval.texi, hash.texi, help.texi, symbols.texi: Add anchors.
+
+ * functions.texi: Various small changes in addition to the
+ following.
+ (What Is a Function): `functionp' returns nil for macros. Clarify
+ behavior of this and following functions for symbol arguments.
+ (Function Documentation): Add `\' in front of (fn @var{arglist})
+ and explain why.
+ (Defining Functions): Mention DOCSTRING argument to `defalias'.
+ Add anchor.
+ (Mapping Functions): Add anchor. Unquote nil in mapcar* example.
+
+2004-01-01 Miles Bader <miles@gnu.org>
+
+ * display.texi (Buttons): New section.
+
+2003-12-31 Andreas Schwab <schwab@suse.de>
+
+ * numbers.texi (Math Functions): sqrt reports a domain-error
+ error.
+ (Float Basics): Use `(/ 0.0 0.0)' instead of `(sqrt -1.0)'.
+
+2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Documentation Tips): Update item on hyperlinks in
+ documentation strings.
+
+ * errors.texi (Standard Errors): Various small corrections and
+ additions.
+
+ * control.texi: Various small changes in addition to the
+ following.
+ (Signaling Errors): Provide some more details on how `signal'
+ constructs the error message. Add anchor to the definition of
+ `signal'.
+ (Error Symbols): Describe special treatment of `quit'.
+ (Cleanups): Rename BODY argument of `unwind-protect' to BODY-FORM
+ to emphasize that it has to be a single form.
+
+ * buffers.texi: Add anchor.
+
+2003-12-29 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Choosing Window): Add same-window-p, special-display-p.
+ (Window Configurations): Add window-configuration-frame.
+
+ * variables.texi (Creating Buffer-Local): Add local-variable-if-set-p.
+
+ * text.texi (Examining Properties): Add get-char-property-and-overlay.
+ Change arg name in get-char-property.
+ (Special Properties): Update handling of keymap property.
+
+ * strings.texi (Modifying Strings): Add clear-string.
+ (Text Comparison): Add assoc-string and remove
+ assoc-ignore-case, assoc-ignore-representation.
+
+ * os.texi (Time of Day): Add set-time-zone-rule.
+
+ * numbers.texi (Math Functions): asin, acos, log, log10
+ report domain-error errors.
+
+ * nonascii.texi (Converting Representations):
+ Add multibyte-char-to-unibyte and unibyte-char-to-multibyte.
+ (Encoding and I/O): Add file-name-coding-system.
+
+ * modes.texi (Search-based Fontification): Explain that
+ face specs are symbols with face names as values.
+
+ * minibuf.texi (Minibuffer Misc): Add set-minibuffer-window.
+
+ * lists.texi (Building Lists): remq moved elsewhere.
+ (Sets And Lists): remq moved here.
+ (Association Lists): Refer to assoc-string.
+
+ * internals.texi (Garbage Collection): Add memory-use-counts.
+
+ * frames.texi (Frames and Windows): Add set-frame-selected-window
+ and frame-root-window.
+
+ * files.texi (Contents of Directories):
+ Add directory-files-and-attributes.
+
+ * display.texi (Refresh Screen): Add force-window-update.
+ (Invisible Text): Explain about moving point out of invis text.
+ (Overlay Properties): Add overlay-properties.
+ (Managing Overlays): Add overlayp.
+ (GIF Images): Invalid image number displays a hollow box.
+
+ * buffers.texi (Buffer Modification): Add restore-buffer-modified-p.
+ (Killing Buffers): Add buffer-live-p.
+
+2003-12-25 Markus Rost <rost@mathematik.uni-bielefeld.de>
+
+ * display.texi (Fringes): Fix typo "set-buffer-window".
+
+2003-12-24 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi, eval.texi, help.texi, internals.texi, loading.texi:
+ * nonascii.texi, processes.texi, tips.texi, variables.texi:
+ Add or change various xrefs and anchors.
+
+ * commands.texi: Replace all occurrences of @acronym{CAR} with
+ @sc{car}, for consistency with the rest of the Elisp manual.
+ `car' and `cdr' are historically acronyms, but are no longer
+ widely thought of as such.
+
+ * internals.texi (Pure Storage): Mention that `purecopy' does not
+ copy text properties.
+ (Object Internals): Now 29 bits are used (in most implementations)
+ to address Lisp objects.
+
+ * variables.texi (Variables with Restricted Values): New node.
+
+ * objects.texi (Lisp Data Types): Mention that certain variables
+ can only take on a restricted set of values and add an xref to
+ the new node "Variables with Restricted Values".
+
+ * eval.texi (Function Indirection): Describe the errors that
+ `indirect-function' can signal.
+ (Eval): Clarify the descriptions of `eval-region' and `values'.
+ Describe `eval-buffer' instead of `eval-current-buffer' and
+ mention `eval-current-buffer' as an alias for `current-buffer'.
+ Correct the description and mention all optional arguments.
+
+ * nonascii.texi: Various small changes in addition to the
+ following.
+ (Converting Representations): Clarify behavior of
+ `string-make-multibyte' and `string-to-multibyte' for unibyte all
+ ASCII arguments.
+ (Character Sets): Document the variable `charset-list' and adapt
+ the definition of the function `charset-list' accordingly.
+ (Translation of Characters): Clarify use of generic characters in
+ `make-translation-table'. Clarify and correct the description of
+ the use of translation tables in encoding and decoding.
+ (User-Chosen Coding Systems): Correct and clarify the description
+ of `select-safe-coding-system'.
+ (Default Coding Systems): Clarify description of
+ `file-coding-system-alist'.
+
+2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
+
+ * strings.texi (Text Comparison): Correctly describe when two
+ strings are `equal'. Combine and clarify descriptions of
+ `assoc-ignore-case' and `assoc-ignore-representation'.
+
+ * objects.texi (Non-ASCII in Strings): Clarify description of
+ when a string is unibyte or multibyte.
+ (Bool-Vector Type): Update examples.
+ (Equality Predicates): Correctly describe when two strings are
+ `equal'.
+
+2003-11-29 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Building Lists): `append' no longer accepts integer
+ arguments. Update the description of `number-sequence' to reflect
+ recent changes.
+ (Sets And Lists): Describe `member-ignore-case' after `member'.
+
+2003-11-27 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Click Events): Click object may be an images.
+ Describe (dx . dy) element of click positions.
+ (Accessing Events): Remove duplicate posn-timestamp.
+ New functions posn-object and posn-object-x-y.
+
+2003-11-23 Kim F. Storm <storm@cua.dk>
+
+ * commands.texi (Click Events): Describe enhancements to event
+ position lists, including new text-pos and (col . row) items.
+ Mention left-fringe and right-fringe area events.
+ (Accessing Events): New functions posn-area and
+ posn-actual-col-row. Mention posn-timestamp. Mention that
+ posn-point in non-text area still returns buffer position.
+ Clarify posn-col-row.
+
+2003-11-21 Lars Hansen <larsh@math.ku.dk>
+
+ * files.texi (File Attributes): Describe new parameter ID-FORMAT.
+ * anti.texi (File Attributes): Describe removed parameter
+ ID-FORMAT.
+
+2003-11-20 Luc Teirlinck <teirllm@auburn.edu>
+
+ * positions.texi (Positions): Mention that, if a marker is used as
+ a position, its buffer is ignored.
+
+ * markers.texi (Overview of Markers): Mention it here too.
+
+2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
+
+ * numbers.texi (Numeric Conversions): Not just `floor', but also
+ `truncate', `ceiling' and `round' accept optional argument DIVISOR.
+
+2003-11-10 Luc Teirlinck <teirllm@auburn.edu>
+
+ * markers.texi (Creating Markers): Specify insertion type of
+ created markers. Add xref to `Marker Insertion Types'.
+ Second argument to `copy-marker' is optional.
+ (Marker Insertion Types): Mention that most markers are created
+ with insertion type nil.
+ (The Mark): Correctly describe when `mark' signals an error.
+ (The Region): Correctly describe when `region-beginning' and
+ `region-end' signal an error.
+
+2003-11-08 Luc Teirlinck <teirllm@auburn.edu>
+
+ * hash.texi (Creating Hash): Clarify description of `eql'.
+ `makehash' is obsolete.
+ (Hash Access): Add Common Lisp notes for `remhash' and `clrhash'.
+
+ * positions.texi (Point): Change description of `buffer-end', so
+ that it is also correct for floating point arguments.
+ (List Motion): Correct argument lists of `beginning-of-defun' and
+ `end-of-defun'.
+ (Excursions): Add xref to `Marker Insertion Types'.
+ (Narrowing): Argument to `narrow-to-page' is optional.
+
+2003-11-06 Luc Teirlinck <teirllm@auburn.edu>
+
+ * streams.texi (Output Streams): Clarify behavior of point for
+ marker output streams.
+
+2003-11-04 Luc Teirlinck <teirllm@auburn.edu>
+
+ * variables.texi (Defining Variables): Second argument to
+ `defconst' is not optional.
+ (Setting Variables): Mention optional argument APPEND to
+ `add-to-list'.
+ (Creating Buffer-Local): Expand description of
+ `make-variable-buffer-local'.
+ (Frame-Local Variables): Expand description of
+ `make-variable-frame-local'.
+ (Variable Aliases): Correct description of optional argument
+ DOCSTRING to `defvaralias'. Mention return value of
+ `defvaralias'.
+ (File Local Variables): Add xref to `File variables' in Emacs
+ Manual. Correct description of `hack-local-variables'. Mention
+ `safe-local-variable' property. Mention optional second argument
+ to `risky-local-variable-p'.
+
+2003-11-03 Luc Teirlinck <teirllm@auburn.edu>
+
+ * symbols.texi (Symbol Plists): Mention return value of `setplist'.
+
+2003-11-02 Jesper Harder <harder@ifa.au.dk> (tiny change)
+
+ * lispref/anti.texi, lispref/backups.texi, lispref/commands.texi
+ lispref/customize.texi, lispref/display.texi, lispref/files.texi,
+ lispref/internals.texi, lispref/keymaps.texi, lispref/loading.texi,
+ lispref/modes.texi, lispref/nonascii.texi, lispref/numbers.texi,
+ lispref/objects.texi, lispref/os.texi, lispref/positions.texi,
+ lispref/processes.texi, lispref/searching.texi,
+ lispref/sequences.texi, lispref/streams.texi, lispref/strings.texi,
+ lispref/syntax.texi, lispref/text.texi: Replace @sc{foo} with
+ @acronym{FOO}.
+
+2003-10-27 Luc Teirlinck <teirllm@auburn.edu>
+
+ * strings.texi (Creating Strings): Argument START to `substring'
+ can not be `nil'. Expand description of
+ `substring-no-properties'. Correct description of `split-string',
+ especially with respect to empty matches. Prevent very bad line
+ break in definition of `split-string-default-separators'.
+ (Text Comparison): `string=' and `string<' also accept symbols as
+ arguments.
+ (String Conversion): More completely describe argument BASE in
+ `string-to-number'.
+ (Formatting Strings): `%s' and `%S' in `format' do require
+ corresponding object. Clarify behavior of numeric prefix after
+ `%' in `format'.
+ (Case Conversion): The argument to `upcase-initials' can be a
+ character.
+
+2003-10-27 Kenichi Handa <handa@m17n.org>
+
+ * display.texi (Fontsets): Fix texinfo usage.
+
+2003-10-25 Kenichi Handa <handa@m17n.org>
+
+ * display.texi (Fontsets): Add description of the function
+ set-fontset-font.
+
+2003-10-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * display.texi (Temporary Displays): Add xref to `Documentation
+ Tips'.
+
+ * functions.texi (Function Safety): Use inforef instead of pxref
+ for SES.
+
+2003-10-23 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (TEX, texinputdir): Don't define.
+ (TEXI2DVI): Define.
+ (srcs): Remove $(srcdir)/index.perm and $(srcdir)/index.unperm,
+ add $(srcdir)/index.texi.
+ ($(infodir)/elisp): Remove index.texi dependency.
+ (elisp.dvi): Likewise. Use $(TEXI2DVI).
+ (index.texi): Remove target.
+ (dist): Don't link $(srcdir)/permute-index.
+ (clean): Don't remove index.texi.
+
+ * permute-index, index.perm: Remove.
+ * index.texi: Rename from index.unperm.
+
+2003-10-22 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Documentation Tips): Document new behavior for face
+ and variable hyperlinks in Help mode.
+
+2003-10-21 Luc Teirlinck <teirllm@auburn.edu>
+
+ * objects.texi (Integer Type): Update for extra bit of integer range.
+ (Character Type): Ditto.
+
+2003-10-16 Eli Zaretskii <eliz@gnu.org>
+
+ * numbers.texi (Integer Basics): Add index entries for reading
+ numbers in hex, octal, and binary.
+
+2003-10-16 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Mode Line Format): Mention force-mode-line-update's
+ argument.
+
+2003-10-13 Luc Teirlinck <teirllm@auburn.edu>
+
+ * windows.texi (Choosing Window): Fix typo.
+ * edebug.texi (Edebug Execution Modes): Fix typo.
+
+2003-10-13 Richard M. Stallman <rms@gnu.org>
+
+ * windows.texi (Basic Windows): A window has fringe settings,
+ display margins and scroll-bar settings.
+ (Splitting Windows): Doc split-window return value.
+ Clean up one-window-p.
+ (Selecting Windows): Fix typo.
+ (Cyclic Window Ordering): Explain frame as ALL-FRAMES in next-window.
+ (Buffers and Windows): In set-window-buffer, explain effect
+ on fringe settings and scroll bar settings.
+ (Displaying Buffers): In pop-to-buffer, explain nil as buffer arg.
+ (Choosing Window): Use defopt for pop-up-frame-function.
+ For special-display-buffer-names, explain same-window and same-frame.
+ Clarify window-dedicated-p return value.
+ (Textual Scrolling): scroll-up and scroll-down can get an error.
+ (Horizontal Scrolling): Clarify auto-hscroll-mode.
+ Clarify set-window-hscroll.
+ (Size of Window): Don't mention tool bar in window-height.
+ (Coordinates and Windows): Explain what coordinates-in-window-p
+ returns for fringes and display margins.
+ (Window Configurations): Explain saving fringes, etc.
+
+ * tips.texi (Library Headers): Clean up Documentation.
+
+ * syntax.texi (Parsing Expressions): Clean up forward-comment
+ and parse-sexp-lookup-properties.
+
+ * sequences.texi (Sequence Functions): sequencep accepts bool-vectors.
+
+ * os.texi (System Environment): Clean up text for load-average errors.
+
+ * modes.texi (Hooks): Don't explain local hook details at front.
+ Clarify run-hooks and run-hook-with-args a little.
+ Clean up add-hook and remove-hook.
+
+ * edebug.texi (Edebug Execution Modes): Clarify t.
+ Document edebug-sit-for-seconds.
+ (Coverage Testing): Document C-x X = and =.
+ (Instrumenting Macro Calls): Fix typo.
+ (Specification List): Don't index the specification keywords.
+
+2003-10-10 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Network): Introduce make-network-process.
+
+2003-10-09 Luc Teirlinck <teirllm@auburn.edu>
+
+ * tips.texi (Library Headers): Fix typo.
+
+2003-10-07 Juri Linkov <juri@jurta.org>
+
+ * modes.texi (Imenu): Mention imenu-create-index-function's
+ default value. Explain submenus better.
+
+2003-10-07 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Faces for Font Lock): Fix typo.
+ (Hooks): Explain how buffer-local hook variables can refer to
+ global hook variables.
+ Various minor clarifications.
+
+2003-10-06 Lute Kamstra <lute@gnu.org>
+
+ * tips.texi (Coding Conventions): Mention naming conventions for
+ hooks.
+
+2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
+
+ * loading.texi (Library Search): Correct default value of
+ load-suffixes.
+ (Named Features): Fix typo.
+
+2003-10-05 Richard M. Stallman <rms@gnu.org>
+
+ * loading.texi (Named Features): In `provide',
+ say how to test for subfeatures.
+ (Unloading): In unload-feature, use new var name
+ unload-feature-special-hooks.
+
+2003-10-03 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Major Mode Conventions): Mention third way to set up
+ Imenu.
+ (Imenu): A number of small fixes.
+ Delete documentation of internal variable imenu--index-alist.
+ Document the return value format of imenu-create-index-function
+ functions.
+
+2003-09-30 Richard M. Stallman <rms@gnu.org>
+
+ * processes.texi (Network): Say what stopped datagram connections do.
+
+ * lists.texi (Association Lists): Clarify `assq-delete-all'.
+
+ * display.texi (Overlay Properties): Clarify `evaporate' property.
+
+2003-09-29 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Mode Line Data): Explain when symbols in mode-line
+ constructs should be marked as risky.
+ Change cons cell into proper list.
+ (Mode Line Variables): Change cons cell into proper list.
+
+2003-09-26 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (Mode Line Data): Document the :propertize construct.
+ (Mode Line Variables): Reorder the descriptions of the variables
+ to match their order in the default mode-line-format.
+ Describe the new variables mode-line-position and mode-line-modes.
+ Update the default values of mode-line-frame-identification,
+ minor-mode-alist, and default-mode-line-format.
+ (Properties in Mode): Mention the :propertize construct.
+
+2003-09-26 Richard M. Stallman <rms@gnu.org>
+
+ * buffers.texi, commands.texi, debugging.texi, eval.texi:
+ * loading.texi, minibuf.texi, text.texi, variables.texi:
+ Avoid @strong{Note:}.
+
+2003-09-26 Richard M. Stallman <rms@gnu.org>
+
+ * keymaps.texi (Remapping Commands): Fix typo.
+
+2003-09-23 Luc Teirlinck <teirllm@mail.auburn.edu>
+
+ * processes.texi (Low-Level Network): Fix typo.
+
+2003-09-23 Kim F. Storm <storm@cua.dk>
+
+ * processes.texi (Network, Network Servers): Fix typos.
+ (Low-Level Network): Add timeout value for :server keyword.
+ Add new option keywords to make-network-process.
+ Add set-network-process-options.
+ Explain how to test availability of network options.
+
+2003-09-19 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Motion by Indent): Arg to
+ backward-to-indentation and forward-to-indentation is optional.
+
+ * strings.texi (Creating Strings): Add substring-no-properties.
+
+ * processes.texi
+ (Process Information): Add list-processes arg QUERY-ONLY.
+ Delete process-contact from here.
+ Add new status values for process-status.
+ Add process-get, process-put, process-plist, set-process-plist.
+ (Synchronous Processes): Add call-process-shell-command.
+ (Signals to Processes): signal-process allows process objects.
+ (Network): Complete rewrite.
+ (Network Servers, Datagrams, Low-Level Network): New nodes.
+
+ * positions.texi (Word Motion): forward-word, backward-word
+ arg is optional. Reword.
+
+ * abbrevs.texi (Defining Abbrevs): Index no-self-insert.
+
+ * variables.texi (Creating Buffer-Local):
+ Delete duplicate definition of buffer-local-value.
+ (File Local Variables): Explain about discarding text props.
+
+2003-09-11 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Intro to Minibuffers): Explain that the minibuffer
+ changes variables that record input events.
+ (Minibuffer Misc): Add minibuffer-selected-window.
+
+ * lists.texi (Building Lists): Add copy-tree.
+
+ * display.texi (Fontsets): Add char-displayable-p.
+ (Scroll Bars): New node.
+
+2003-09-08 Lute Kamstra <lute@gnu.org>
+
+ * modes.texi (%-Constructs): Document new `%i' and `%I'
+ constructs.
+
+2003-09-03 Peter Runestig <peter@runestig.com>
+
+ * makefile.w32-in: New file.
+
+2003-08-29 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Overlay Properties): Clarify how priorities
+ affect use of the properties.
+
+2003-08-19 Luc Teirlinck <teirllm@mail.auburn.edu>
+
+ * customize.texi (Type Keywords): Correct the description of
+ `:help-echo' in the case where `motion-doc' is a function.
+
+2003-08-14 John Paul Wallington <jpw@gnu.org>
+
+ * modes.texi (Emulating Mode Line): Subsection, not section.
+
+2003-08-13 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi (Top): Update subnode lists in menu.
+
+ * text.texi (Insertion): Add insert-buffer-substring-no-properties.
+ (Kill Functions): kill-region has new arg yank-handler.
+ (Yanking): New node.
+ (Yank Commands): Add yank-undo-function.
+ (Low-Level Kill Ring):
+ kill-new and kill-append have new arg yank-handler.
+ (Changing Properties): Add remove-list-of-text-properties.
+ (Atomic Changes): New node.
+
+ * symbols.texi (Other Plists): Add lax-plist-get, lax-plist-put.
+
+ * streams.texi (Output Variables): Add eval-expression-print-length
+ and eval-expression-print-level.
+
+ * os.texi (Time Conversion): For encode-time, explain limits on year.
+
+ * objects.texi (Character Type): Define anchor "modifier bits".
+
+ * modes.texi (Emulating Mode Line): New node.
+ (Search-based Fontification): Font Lock uses font-lock-face property.
+ (Other Font Lock Variables): Likewise.
+
+ * keymaps.texi (Format of Keymaps): Keymaps contain char tables,
+ not vectors.
+ (Active Keymaps): Add emulation-mode-map-alists.
+ (Functions for Key Lookup): key-binding has new arg no-remap.
+ (Remapping Commands): New node.
+ (Scanning Keymaps): where-is-internal has new arg no-remap.
+ (Tool Bar): Add tool-bar-local-item-from-menu.
+ Clarify when to use tool-bar-add-item-from-menu.
+
+ * commands.texi (Interactive Call): commandp has new arg.
+ (Command Loop Info): Add this-original-command.
+
+2003-08-06 John Paul Wallington <jpw@gnu.org>
+
+ * compile.texi (Compiler Errors): Say `@end defmac' after `@defmac'.
+
+ * display.texi (Warning Basics): Fix typo.
+ (Fringes): Add closing curly bracket and fix typo.
+
+ * elisp.texi (Top): Fix typo.
+
+2003-08-05 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi: Update lists of subnodes.
+
+ * windows.texi (Buffers and Windows): set-window-buffer has new arg.
+
+ * variables.texi (Local Variables): Use lc for example variable names.
+
+ * tips.texi (Library Headers): Explain where to put -*-.
+
+ * strings.texi (Creating Strings): Fix xref for vconcat.
+
+ * sequences.texi (Vector Functions):
+ vconcat no longer allows integer args.
+
+ * minibuf.texi (Reading File Names): read-file-name has new
+ arg PREDICATE. New function read-directory-name.
+
+ * macros.texi (Defining Macros): Give definition of `declare'
+ (Indenting Macros): New node.
+
+ * frames.texi (Parameter Access): Add modify-all-frames-parameters.
+ (Window Frame Parameters): Make separate table of parameters
+ that are coupled with specific face attributes.
+ (Deleting Frames): delete-frame-hooks renamed to
+ delete-frame-functions.
+
+ * files.texi (Magic File Names): Add file-remote-p.
+ Clarify file-local-copy.
+
+ * edebug.texi (Instrumenting Macro Calls): Don't define `declare'
+ here; instead xref Defining Macros.
+
+ * display.texi (Warnings): New node, and subnodes.
+ (Fringes): New node.
+
+ * debugging.texi (Test Coverage): New node.
+
+ * compile.texi (Compiler Errors): Explain with-no-warnings
+ and other ways to suppress warnings.
+
+ * commands.texi (Interactive Call): Minor clarification.
+
+ * buffers.texi (Buffer File Name): set-visited-file-name
+ renames the buffer too.
+
+ * abbrevs.texi (Abbrev Tables): Add copy-abbrev-table.
+
+2003-07-24 Markus Rost <rost@math.ohio-state.edu>
+
+ * abbrevs.texi (Abbrev Expansion): Use \s syntax in example.
+
+2003-07-22 Markus Rost <rost@math.ohio-state.edu>
+
+ * internals.texi (Garbage Collection): Fix previous change.
+
+2003-07-22 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Truenames): Add LIMIT arg to file-chase-links.
+
+ * display.texi (Width): Use \s syntax in example.
+ (Font Selection): Add face-font-rescale-alist.
+
+ * modes.texi (Imenu): Add xref to Emacs Manual node on Imenu.
+ Remove spurious indent in example.
+
+ * lists.texi (Building Lists): Add number-sequence.
+
+ * internals.texi (Garbage Collection): Add gcs-done, gc-elapsed.
+
+ * functions.texi (Function Documentation): Explain how to
+ show calling convention explicitly in the doc string.
+
+ * windows.texi (Selecting Windows): save-selected-window saves
+ selected window of each frame.
+ (Window Configurations): Minor change.
+
+ * syntax.texi (Syntax Table Functions): Use \s syntax in examples.
+
+ * streams.texi (Output Variables): Add print-continuous-numbering
+ and print-number-table.
+
+ * processes.texi (Decoding Output): New node.
+
+ * os.texi (Time Conversion): decode-time arg is optional.
+
+ * objects.texi (Character Type): Don't use space as example for \.
+ Make list of char names and \-sequences correspond.
+ Explain that \s is not used in strings. `\ ' needs space after.
+
+ * nonascii.texi (Converting Representations): Add string-to-multibyte.
+ (Translation of Characters): Add translation-table-for-input.
+ (Default Coding Systems): Add auto-coding-functions.
+ (Explicit Encoding): Add decode-coding-inserted-region.
+ (Locales): Add locale-info.
+
+ * minibuf.texi (Basic Completion): Describe test-completion.
+ Collections can be lists of strings.
+ Clean up lazy-completion-table.
+ (Programmed Completion): Mention test-completion.
+ Clarify why lambda expressions are not accepted.
+ (Minibuffer Misc): Describe minibufferp.
+
+2003-07-14 Richard M. Stallman <rms@gnu.org>
+
+ * buffers.texi (Killing Buffers): kill-buffer-hook is perm local.
+
+ * windows.texi (Selecting Windows): New arg to select-window.
+ (Selecting Windows): Add with-selected-window.
+ (Size of Window): Add window-inside-edges, etc.
+
+ * internals.texi (Garbage Collection): Add post-gc-hook.
+
+ * processes.texi (Subprocess Creation): Add exec-suffixes.
+
+ * keymaps.texi (Functions for Key Lookup): Add current-active-maps.
+ (Scanning Keymaps): Add map-keymaps.
+ (Defining Menus): Add keymap-prompt.
+
+ * numbers.texi (Integer Basics): Add most-positive-fixnum,
+ most-negative-fixnum.
+
+ * compile.texi (Byte Compilation): Explain no-byte-compile
+ (Compiler Errors): New node.
+
+ * os.texi (User Identification): user-uid, user-real-uid
+ can return float.
+
+ * modes.texi (Major Mode Conventions): Explain about run-mode-hooks
+ and about derived modes.
+ (Minor Modes): Add minor-mode-list.
+ (Defining Minor Modes): Keyword args for define-minor-mode.
+ (Search-based Fontification): Explain managing other properties.
+ (Other Font Lock Variables): Add font-lock-extra-managed-props.
+ (Faces for Font Lock): Add font-locl-preprocessor-face.
+ (Hooks): Add run-mode-hooks and delay-mode-hooks.
+
+ * variables.texi (Creating Buffer-Local): Add buffer-local-value.
+ (Variable Aliases): Clarify defvaralias.
+
+ * loading.texi (Library Search): Add load-suffixes.
+
+ * minibuf.texi (Basic Completion): Add lazy-completion-table.
+ (Programmed Completion): Add dynamic-completion-table.
+
+ * files.texi (Changing Files): copy-file allows dir as NEWNAME.
+ (Magic File Names): Specify precedence order of handlers.
+
+ * commands.texi (Command Overview): Emacs server runs pre-command-hook
+ and post-command-hook.
+ (Waiting): New calling convention for sit-for.
+
+ * text.texi (Special Properties): local-map and keymap properties
+ apply based on their stickiness.
+
+2003-07-07 Richard M. Stallman <rms@gnu.org>
+
+ * modes.texi (Minor Mode Conventions): Specify only some kinds
+ of list values as args to minor modes.
+
+ * files.texi (File Name Expansion): Warn about iterative use
+ of substitute-in-file-name.
+
+ * advice.texi (Activation of Advice): Clean up previous change.
+
+2003-07-06 Markus Rost <rost@math.ohio-state.edu>
+
+ * advice.texi (Activation of Advice): Note that ad-start-advice is
+ turned on by default.
+
+2003-06-30 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Buffer Contents): Document current-word.
+ (Change Hooks): Not called for *Messages*.
+
+ * functions.texi (Defining Functions): Explain about redefining
+ primitives.
+ (Function Safety): Renamed. Minor changes.
+ Comment out the detailed criteria for what is safe.
+
+2003-06-22 Andreas Schwab <schwab@suse.de>
+
+ * objects.texi (Symbol Type): Fix description of examples.
+
+2003-06-16 Andreas Schwab <schwab@suse.de>
+
+ * hash.texi (Creating Hash): Fix description of :weakness.
+
+2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
+
+ * files.texi (Changing Files): copy-file copies file modes, too.
+
+2003-05-28 Richard M. Stallman <rms@gnu.org>
+
+ * strings.texi (Creating Strings): Clarify split-string.
+
+2003-05-22 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * strings.texi (Creating Strings): Update split-string specification
+ and examples.
+
+2003-05-19 Richard M. Stallman <rms@gnu.org>
+
+ * elisp.texi: Correct invariant section names.
+
+2003-04-20 Richard M. Stallman <rms@gnu.org>
+
+ * os.texi (Timers): Explain about timers and quitting.
+
+2003-04-19 Richard M. Stallman <rms@gnu.org>
+
+ * internals.texi (Writing Emacs Primitives): Strings are
+ no longer special for GCPROs. Mention GCPRO5, GCPRO6.
+ Explain GCPRO convention for varargs function args.
+
+2003-04-16 Richard M. Stallman <rms@gnu.org>
+
+ * minibuf.texi (Minibuffer Misc): Document fn minibuffer-message.
+
+2003-04-08 Richard M. Stallman <rms@gnu.org>
+
+ * files.texi (Kinds of Files): Correct return value of file-symlink-p.
+
+2003-02-13 Kim F. Storm <storm@cua.dk>
+
+ * objects.texi (Character Type): New \s escape for space.
+
+2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
+
+ * os.texi (System Environment): Added cygwin system-type.
+
+2003-01-25 Richard M. Stallman <rms@gnu.org>
+
+ * keymaps.texi: Document that a symbol can act as a keymap.
+
+2003-01-13 Richard M. Stallman <rms@gnu.org>
+
+ * text.texi (Changing Properties): Say string indices are origin-0.
+
+ * positions.texi (Screen Lines) <compute-motion>:
+ Correct order of elts in return value.
+
+ * keymaps.texi (Changing Key Bindings) <define-key>: Mention
+ how to define a default binding.
+
+2002-12-07 Markus Rost <rost@math.ohio-state.edu>
+
+ * loading.texi (Unloading): Fix recent change for load-history.
+
+ * customize.texi (Simple Types): Clarify description of custom
+ type 'number. Describe new custom type 'float.
+
+2002-12-04 Markus Rost <rost@math.ohio-state.edu>
+
+ * variables.texi (File Local Variables): Fix typo.
+
+2002-10-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
+
+ From Michael Albinus <Michael.Albinus@alcatel.de>.
+
+ * README: Target for Info file is `make info'.
+
+ * files.texi (File Name Components): Fixed typos in
+ `file-name-sans-extension'.
+ (Magic File Names): Complete list of operations for magic file
+ name handlers.
+
+2002-09-16 Jonathan Yavner <jyavner@engineer.com>
+
+ * variables.texi (File Local Variables): New function
+ risky-local-variable-p.
+
+2002-09-15 Jonathan Yavner <jyavner@engineer.com>
+
+ * functions.texi (Function safety): New node about unsafep.
+
+2002-08-05 Per Abrahamsen <abraham@dina.kvl.dk>
+
+ * customize.texi (Splicing into Lists): Fixed example.
+ Reported by Fabrice Bauzac <fabrice.bauzac@wanadoo.fr>
+
+2002-06-17 Juanma Barranquero <lektu@terra.es>
+
+ * frames.texi (Display Feature Testing): Fix typo.
+
+2002-06-12 Andreas Schwab <schwab@suse.de>
+
+ * frames.texi (Initial Parameters, Resources): Fix references to
+ the Emacs manual.
+
+2002-05-13 Kim F. Storm <storm@cua.dk>
+
+ * variables.texi (Intro to Buffer-Local): Updated warning and
+ example relating to changing buffer inside let.
+
+2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * os.texi (Session Management): New node about X Session management.
+
+2002-01-18 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * elisp.texi (VERSION): Set to 2.9. Update the version of Emacs
+ to which the manual corresponds, and the copyright years.
+
+ * Makefile.in (VERSION): Set to 2.9.
+
+2001-11-29 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * elisp.texi: Change the category in @dircategory to "Emacs", to
+ make it consistent with info/dir.
+
+2001-11-25 Miles Bader <miles@gnu.org>
+
+ * text.texi (Fields): Describe new `limit' arg in
+ field-beginning/field-end.
+
+2001-11-17 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * permute-index: Don't depend on csh-specific features. Replace
+ the interpreter name with /bin/sh.
+
+ * two-volume-cross-refs.txt: New file.
+ * two.el: New file.
+ * spellfile: New file.
+
+2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * permute-index: New file.
+
+ * vol1.texi, vol2.texi: Renamed from elisp-vol1.texi and
+ elisp-vol2.texi, respectively, to avoid file-name clashes in DOS
+ 8+3 restricted namespace.
+
+ * Makefile.in (infodir): Define relative to $(srcdir).
+ ($(infodir)/elisp): Don't chdir into $(srcdir), but add it to the
+ include directories list via -I switch to makeinfo.
+ (index.texi): Use cp if both hard and symbolic links fail.
+
+2001-11-10 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.in (distclean): Add.
+
+ The following changes make ELisp manual part of the Emacs
+ distribution:
+
+ * Makefile.in: Add Copyright notice.
+ (prefix): Remove.
+ (infodir): Change value to "../info".
+ (VPATH): New variable.
+ (MAKE): Don't define.
+ (texmacrodir): Don't define.
+ (texinputdir): Append the existing value of TEXINPUTS.
+ ($(infodir)/elisp): Instead of just "elisp". Reformat the
+ command to be compatible with man/Makefile.in, and to put the
+ output into ../info.
+ (info): Add target.
+ (installall): Target removed.
+
+2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
+
+ * tips.texi (Coding Conventions): Fix typo.
+
+2001-10-23 Gerd Moellmann <gerd@gnu.org>
+
+ * Makefile.in (srcs): Add gpl.texi and doclicense.texi.
+
+2001-10-22 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * files.texi (File Name Components): Update the description of
+ file-name-sans-extension and file-name-extension, as they now
+ ignore leading dots.
+
+2001-10-20 Gerd Moellmann <gerd@gnu.org>
+
+ * (Version 21.1 released.)
+
+2001-10-19 Miles Bader <miles@gnu.org>
+
+ * positions.texi (Text Lines): Describe behavior of
+ `beginning-of-line'/`end-of-line' in the presence of field properties.
+
+2001-10-17 Gerd Moellmann <gerd@gnu.org>
+
+ * Makefile.in (VERSION): Set to 2.8.
+ (manual): Use `manual-21'.
+
+ * elisp.texi (VERSION): Add and use it where the version
+ number was used. Set it to 2.8.
+
+ * intro.texi: Likewise.
+
+2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * files.texi (File Name Completion): Document the significance of
+ a trailing slash in elements of completion-ignored-extensions.
+
+2001-10-06 Miles Bader <miles@gnu.org>
+
+ * variables.texi (Variable Aliases): It's `@defmac', not `@defmacro'.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ * variables.texi (Variable Aliases): New node.
+
+2001-10-04 Gerd Moellmann <gerd@gnu.org>
+
+ * Branch for 21.1.
+
+2001-10-02 Miles Bader <miles@gnu.org>
+
+ * minibuf.texi (Minibuffer Misc): Add entries for
+ `minibuffer-contents', `minibuffer-contents-no-properties', and
+ `delete-minibuffer-contents'.
+ Correct description for `minibuffer-prompt-end'.
+
+ * text.texi (Property Search): Correct descriptions of
+ `next-char-property-change' and `previous-char-property-change'.
+ Add entries for `next-single-char-property-change' and
+ `previous-single-char-property-change'.
+ Make operand names a bit more consistent.
+
+2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * frames.texi (Finding All Frames): Document that next-frame and
+ previous-frame are local to current terminal.
+
+2001-09-26 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * keymaps.texi (Creating Keymaps): Fix the description of the
+ result of make-keymap.
+
+2001-09-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * display.texi (Font Lookup, Attribute Functions)
+ (Image Descriptors): Add cross-references to the definition of
+ selected frame.
+
+ * buffers.texi (The Buffer List): Add cross-references to the
+ definition of selected frame.
+
+ * frames.texi (Input Focus): Clarify which frame is _the_ selected
+ frame at any given time.
+ (Multiple Displays, Size and Position): Add a cross-reference to
+ the definition of the selected frame.
+
+2001-09-08 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * strings.texi (String Conversion) <string-to-number>: Document
+ that a float is returned for integers that are too large.
+
+ * frames.texi (Mouse Position): Document mouse-position-function.
+ (Display Feature Testing): Document display-images-p.
+ (Window Frame Parameters): Document the cursor-type variable.
+
+ * numbers.texi (Integer Basics): Document CL style read syntax for
+ integers in bases other than 10.
+
+ * positions.texi (List Motion): Document
+ open-paren-in-column-0-is-defun-start.
+
+ * lists.texi (Sets And Lists): Document member-ignore-case.
+
+ * internals.texi (Garbage Collection): Document the used and free
+ strings report.
+ (Memory Usage): Document strings-consed.
+
+ * os.texi (Time of Day): Document float-time.
+ (Recording Input): Document that clear-this-command-keys clears
+ the vector to be returned by recent-keys.
+
+ * keymaps.texi (Scanning Keymaps) <where-is-internal>: The
+ argument keymap can be a list.
+
+ * nonascii.texi (User-Chosen Coding Systems)
+ <select-safe-coding-system>: Document the new argument
+ accept-default-p and the variable
+ select-safe-coding-system-accept-default-p. Tell what happens if
+ buffer-file-coding-system is undecided.
+ (Default Coding Systems): Document auto-coding-regexp-alist.
+
+ * display.texi (The Echo Area) <message>: Document
+ message-truncate-lines.
+ (Glyphs): Document that the glyph table is unused on windowed
+ displays.
+
+ * help.texi (Describing Characters) <single-key-description>:
+ Document the new argument no-angles.
+ (Accessing Documentation) <documentation-property>: Document that
+ a non-string property is evaluated.
+ <documentation>: Document that the function-documentation property
+ is looked for.
+
+ * windows.texi (Selecting Windows): Document some-window.
+
+ * text.texi (MD5 Checksum): New node, documents the md5 primitive.
+
+ * hooks.texi (Standard Hooks): Add kbd-macro-termination-hook and
+ apropos-mode-hook.
+
+ * commands.texi (Using Interactive): Document interactive-form.
+ (Keyboard Macros): Document kbd-macro-termination-hook.
+ (Command Loop Info): Document that clear-this-command-keys clears
+ the vector to be returned by recent-keys.
+
+2001-09-04 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (srcdir, texinputdir): New variables.
+ (srcs, index.texi, install): Use $(srcdir).
+ (.PHONY): Remove elisp.dvi.
+ (elisp): Use -I switch for makeinfo.
+ (elisp.dvi): Use $(srcdir) and $(texinputdir).
+ (installall, dist): Use $(srcdir).
+ Fix path to texinfo.tex.
+ (maintainer-clean): Add elisp.dvi and elisp.oaux.
+
+2001-08-30 Gerd Moellmann <gerd@gnu.org>
+
+ * display.texi (Conditional Display): Adjust to API change.
+
+ * configure: New file.
+
+2001-07-30 Gerd Moellmann <gerd@gnu.org>
+
+ * commands.texi (Repeat Events): Add description of
+ double-click-fuzz.
+
+2001-05-08 Stefan Monnier <monnier@cs.yale.edu>
+
+ * syntax.texi (Syntax Class Table): Add the missing designator for
+ comment and string fences.
+ (Syntax Properties): Add a xref to syntax table internals.
+ (Syntax Table Internals): Document string-to-syntax.
+
+2001-05-07 Gerd Moellmann <gerd@gnu.org>
+
+ * Makefile.in (install): Use install-info command line options
+ like in Emacs' Makefile.in.
+
+2000-12-09 Miles Bader <miles@gnu.org>
+
+ * windows.texi (Window Start): Update documentation for
+ `pos-visible-in-window-p'.
+
+2000-11-12 Stefan Monnier <monnier@cs.yale.edu>
+
+ * lists.texi (Building Lists): Add footnote to explain how to add
+ to the end of a list.
+
+2000-10-25 Gerd Moellmann <gerd@gnu.org>
+
+ * files.texi (Visiting Functions): Typos.
+
+2000-10-25 Kenichi Handa <handa@etl.go.jp>
+
+ * files.texi (Visiting Functions): Return value of
+ find-file-noselect may be a list of buffers if wildcards are used.
+
+2000-10-24 Miles Bader <miles@lsi.nec.co.jp>
+
+ * display.texi (Defining Faces): Document `graphic' display type
+ in face specs.
+
+2000-10-18 Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+ * hooks.texi (Standard Hooks): Replace obsolete
+ `after-make-frame-hook' with `after-make-frame-functions'.
+
+ * frames.texi (Creating Frames): Ditto.
+
+ * variables.texi (Future Local Variables): Ditto.
+
+2000-10-16 Gerd Moellmann <gerd@gnu.org>
+
+ * display.texi (Other Image Types): Add description of :foreground
+ and :background properties of mono PBM images.
+
+2000-08-17 Werner LEMBERG <wl@gnu.org>
+
+ * .cvsignore: New file.
+
+2000-01-05 Gerd Moellmann <gerd@gnu.org>
+
+ * tindex.pl: New script.
+
+1999-12-03 Dave Love <fx@gnu.org>
+
+ * Makefile.in (MAKEINFO): New parameter.
+
+1999-09-17 Richard Stallman <rms@gnu.org>
+
+ * Makefile.in (srcs): Add hash.texi.
+ (VERSION): Update to 20.6.
+
+1999-09-13 Richard Stallman <rms@gnu.org>
+
+ * Makefile.in (index.texi): If cannot make a symlink, make a hard link.
+
+1998-08-29 Karl Heuer <kwzh@gnu.org>
+
+ * configure.in: New file.
+ * Makefile.in: Renamed from Makefile.
+ (prefix, infodir): Use value obtained from configure.
+ (emacslibdir): Obsolete variable deleted.
+ (dist): Distribute configure.in, configure, Makefile.in.
+
+1998-06-12 Richard Stallman <rms@psilocin.ai.mit.edu>
+
+ * Makefile (INSTALL_INFO): New variable.
+ (install): Run install-info.
+
+1998-05-09 Richard Stallman <rms@psilocin.ai.mit.edu>
+
+ * Makefile (elisp.dvi): Add missing backslash.
+
+1998-05-02 Richard Stallman <rms@psilocin.gnu.org>
+
+ * Makefile (elisp.dvi): Don't depend on texindex or on elisp.tps.
+ Run texindex without `./'. Always run texindex on elisp.tp.
+ (elisp.tps): Target deleted.
+
+1998-04-05 Richard Stallman <rms@psilocin.gnu.org>
+
+ * Makefile (srcs): Add nonascii.texi and customize.texi.
+ (dist): Start by deleting `temp'.
+
+1998-02-17 Richard Stallman <rms@psilocin.gnu.org>
+
+ * Makefile (makeinfo, texindex): Targets deleted.
+ (makeinfo.o, texindex.o): Targets deleted.
+ (clean, dist): Don't do anything with them or with getopt*.
+
+1998-01-30 Richard Stallman <rms@psilocin.gnu.org>
+
+ * Makefile (SHELL): Defined.
+
+1998-01-27 Richard Stallman <rms@psilocin.gnu.org>
+
+ * Makefile (elisp.tps): New target.
+ (elisp.dvi): Depend on elisp.tps.
+
+Wed Apr 3 15:24:25 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * README: Update phone number.
+
+ * Makefile (elisp): Make this be the default target.
+ Depend on makeinfo.c instead of makeinfo.
+ (install): Don't depend on elisp.dvi, since we don't install that.
+ Use mkinstalldirs.
+ (dist): Add mkinstalldirs.
+
+Mon Jun 19 14:35:26 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile (VERSION): Update version number.
+ (maintainer-clean): Renamed from realclean.
+
+Wed Jun 7 17:04:59 1995 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * Makefile (realclean): New target.
+ (elisp): Remove any old elisp-* files first.
+
+Tue Nov 23 19:59:40 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
+
+ * Makefile (VERSION): New variable.
+ (dist): Make packaged directory name `elisp-manual-19-$(VERSION)'.
+ Compressed file suffix should be `.gz', not `.z'.
+
+Mon Nov 22 15:06:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (elisp): Depend on makeinfo.
+
+Fri Nov 19 02:29:33 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
+
+ * Makefile (srcs): Add anti.texi.
+
+Fri May 28 18:04:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (infodir, prefix): New vars.
+ (install): Use infodir.
+ (emacsinfodir): Deleted.
+
+Thu May 27 02:11:25 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (srcs): Add calendar.texi.
+
+ * Makefile (dist): Copy texindex.c and makeinfo.c.
+ Limit elisp-* files to those with one or two digits.
+
+Sun May 16 17:58:21 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile (dist): Changed to use Gzip instead of compress.
+
+Fri Apr 23 01:05:23 1993 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * loading.texi (Unloading): define-function changed back to
+ defalias. It may not stay this way, but at least it's
+ consistent with the known-good version of the code patch.
+
+Fri Mar 26 21:14:54 1993 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
+
+ * modes.texi (Hooks): Document new optional arg of add-hook.
+
+Wed Mar 17 08:48:24 1993 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * variables.texi: Document nil initial value of buffer-local variables.
+
+ * tips.texi: Add new section on standard library headers.
+
+Sat Feb 27 18:00:25 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile (srcs): Add frame.texi to the list of sources.
+
+Tue Feb 23 10:50:25 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile (dist): Don't bother excluding autosave files; they'll
+ never make it into the temp directory anyway, and the hash marks
+ in the name are problematic for make and the Bourne shell.
+ (srcs):
+
+Fri Feb 12 16:54:38 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile (dist): Don't include backup files or autosave files in
+ the distribution tar file.
+
+Tue Nov 26 21:10:34 1991 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (srcs): Added index.perm.
+ (elisp.dvi): Remove erroneous shell comment.
+ Expect output of permute-index in permuted.fns.
+ Save old elisp.aux in elisp.oaux.
+ (clean): Added index.texi to be deleted.
+
+Sat Aug 11 17:39:10 1990 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
+
+ * Makefile (elisp.dvi, index.texi): Use shell if instead of ifdef.
+
+Tue Jun 26 09:57:26 1990 David Lawrence (tale@geech)
+
+ * files.texi: Noted that completion-ignored-extensions is ignored
+ when making *Completions*.
+
+Fri Jun 8 16:44:44 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+ * Makefile make dist now depends on elisp.dvi, since it tries
+ to include it in the dist file.
+
+Wed Mar 28 22:57:35 1990 Jim Kingdon (kingdon@mole.ai.mit.edu)
+
+ * functions.texinfo (Mapping Functions): Add missing quote
+
+Mon Jun 19 18:09:24 1989 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
+
+ * texinfo.tex (frenchspacing): Use decimal codes for char to be set.
+ (defunargs): Turn off \hyphenchar of \sl font temporarily.
+
+Wed May 10 18:01:17 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu)
+
+ * @result{}, @expansion{}, @print{}, @quiv{}, @point{},
+ and @error{} are the terms now being used. The files in the
+ directory have been changed to reflect this.
+
+ * All instances of @indentedresultt{} have been changed to
+ ` @result{}', using 5 spaces at the begining of the line.
+
+Mon Apr 24 21:02:55 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu)
+
+ * @result{}, @expandsto{}, @prints{}, @quiv{}, @error{}, and the
+ experimental @indentedresult{}, @indentedexpandsto{} are part of
+ the texinfo.tex in this directory. These TeX macros are not
+ stable yet.
+
+Mon Apr 17 18:56:50 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu)
+
+ * texinfo.tex: Temporarily added
+ \let\result=\dblarrow
+ \def\error{{\it ERROR} \longdblarrow}
+ We need to do this better soon.
+
+Tue Apr 11 12:23:28 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu)
+
+ * Applied Karl Berry's patches to *.texinfo files, but not to
+ texinfo.tex; those diffs are in `berry-texinfo-tex-diffs'. (Karl's
+ new title page format is also not applied, since it requires
+ texinfo.tex changes.)
+
+ * Cleaned up `Makefile' and defined the `emacslibdir' directory
+ for the Project GNU development environment.
+
+;; Local Variables:
+;; coding: iso-2022-7bit
+;; add-log-time-zone-rule: t
+;; End:
+
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007 Free Software Foundation, Inc.
+
+ This file is part of GNU Emacs.
+
+ GNU Emacs is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GNU Emacs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Emacs; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+;;; arch-tag: 985ae0ce-df29-475b-b3f8-4bbcbf6f7fda
--- /dev/null
- * Accessing Events:: Functions to extract info from events.
+@c -*-texinfo-*-
+@c This is part of the GNU Emacs Lisp Reference Manual.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
+@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+@c See the file elisp.texi for copying conditions.
+@setfilename ../../info/commands
+@node Command Loop, Keymaps, Minibuffers, Top
+@chapter Command Loop
+@cindex editor command loop
+@cindex command loop
+
+ When you run Emacs, it enters the @dfn{editor command loop} almost
+immediately. This loop reads key sequences, executes their definitions,
+and displays the results. In this chapter, we describe how these things
+are done, and the subroutines that allow Lisp programs to do them.
+
+@menu
+* Command Overview:: How the command loop reads commands.
+* Defining Commands:: Specifying how a function should read arguments.
+* Interactive Call:: Calling a command, so that it will read arguments.
+* Distinguish Interactive:: Making a command distinguish interactive calls.
+* Command Loop Info:: Variables set by the command loop for you to examine.
+* Adjusting Point:: Adjustment of point after a command.
+* Input Events:: What input looks like when you read it.
+* Reading Input:: How to read input events from the keyboard or mouse.
+* Special Events:: Events processed immediately and individually.
+* Waiting:: Waiting for user input or elapsed time.
+* Quitting:: How @kbd{C-g} works. How to catch or defer quitting.
+* Prefix Command Arguments:: How the commands to set prefix args work.
+* Recursive Editing:: Entering a recursive edit,
+ and why you usually shouldn't.
+* Disabling Commands:: How the command loop handles disabled commands.
+* Command History:: How the command history is set up, and how accessed.
+* Keyboard Macros:: How keyboard macros are implemented.
+@end menu
+
+@node Command Overview
+@section Command Loop Overview
+
+ The first thing the command loop must do is read a key sequence, which
+is a sequence of events that translates into a command. It does this by
+calling the function @code{read-key-sequence}. Your Lisp code can also
+call this function (@pxref{Key Sequence Input}). Lisp programs can also
+do input at a lower level with @code{read-event} (@pxref{Reading One
+Event}) or discard pending input with @code{discard-input}
+(@pxref{Event Input Misc}).
+
+ The key sequence is translated into a command through the currently
+active keymaps. @xref{Key Lookup}, for information on how this is done.
+The result should be a keyboard macro or an interactively callable
+function. If the key is @kbd{M-x}, then it reads the name of another
+command, which it then calls. This is done by the command
+@code{execute-extended-command} (@pxref{Interactive Call}).
+
+ To execute a command requires first reading the arguments for it.
+This is done by calling @code{command-execute} (@pxref{Interactive
+Call}). For commands written in Lisp, the @code{interactive}
+specification says how to read the arguments. This may use the prefix
+argument (@pxref{Prefix Command Arguments}) or may read with prompting
+in the minibuffer (@pxref{Minibuffers}). For example, the command
+@code{find-file} has an @code{interactive} specification which says to
+read a file name using the minibuffer. The command's function body does
+not use the minibuffer; if you call this command from Lisp code as a
+function, you must supply the file name string as an ordinary Lisp
+function argument.
+
+ If the command is a string or vector (i.e., a keyboard macro) then
+@code{execute-kbd-macro} is used to execute it. You can call this
+function yourself (@pxref{Keyboard Macros}).
+
+ To terminate the execution of a running command, type @kbd{C-g}. This
+character causes @dfn{quitting} (@pxref{Quitting}).
+
+@defvar pre-command-hook
+The editor command loop runs this normal hook before each command. At
+that time, @code{this-command} contains the command that is about to
+run, and @code{last-command} describes the previous command.
+@xref{Command Loop Info}.
+@end defvar
+
+@defvar post-command-hook
+The editor command loop runs this normal hook after each command
+(including commands terminated prematurely by quitting or by errors),
+and also when the command loop is first entered. At that time,
+@code{this-command} refers to the command that just ran, and
+@code{last-command} refers to the command before that.
+@end defvar
+
+ Quitting is suppressed while running @code{pre-command-hook} and
+@code{post-command-hook}. If an error happens while executing one of
+these hooks, it terminates execution of the hook, and clears the hook
+variable to @code{nil} so as to prevent an infinite loop of errors.
+
+ A request coming into the Emacs server (@pxref{Emacs Server,,,
+emacs, The GNU Emacs Manual}) runs these two hooks just as a keyboard
+command does.
+
+@node Defining Commands
+@section Defining Commands
+@cindex defining commands
+@cindex commands, defining
+@cindex functions, making them interactive
+@cindex interactive function
+
+ A Lisp function becomes a command when its body contains, at top
+level, a form that calls the special form @code{interactive}. This
+form does nothing when actually executed, but its presence serves as a
+flag to indicate that interactive calling is permitted. Its argument
+controls the reading of arguments for an interactive call.
+
+@menu
+* Using Interactive:: General rules for @code{interactive}.
+* Interactive Codes:: The standard letter-codes for reading arguments
+ in various ways.
+* Interactive Examples:: Examples of how to read interactive arguments.
+@end menu
+
+@node Using Interactive
+@subsection Using @code{interactive}
+@cindex arguments, interactive entry
+
+ This section describes how to write the @code{interactive} form that
+makes a Lisp function an interactively-callable command, and how to
+examine a command's @code{interactive} form.
+
+@defspec interactive arg-descriptor
+This special form declares that the function in which it appears is a
+command, and that it may therefore be called interactively (via
+@kbd{M-x} or by entering a key sequence bound to it). The argument
+@var{arg-descriptor} declares how to compute the arguments to the
+command when the command is called interactively.
+
+A command may be called from Lisp programs like any other function, but
+then the caller supplies the arguments and @var{arg-descriptor} has no
+effect.
+
+The @code{interactive} form has its effect because the command loop
+(actually, its subroutine @code{call-interactively}) scans through the
+function definition looking for it, before calling the function. Once
+the function is called, all its body forms including the
+@code{interactive} form are executed, but at this time
+@code{interactive} simply returns @code{nil} without even evaluating its
+argument.
+@end defspec
+
+There are three possibilities for the argument @var{arg-descriptor}:
+
+@itemize @bullet
+@item
+It may be omitted or @code{nil}; then the command is called with no
+arguments. This leads quickly to an error if the command requires one
+or more arguments.
+
+@item
+It may be a string; then its contents should consist of a code character
+followed by a prompt (which some code characters use and some ignore).
+The prompt ends either with the end of the string or with a newline.
+Here is a simple example:
+
+@smallexample
+(interactive "bFrobnicate buffer: ")
+@end smallexample
+
+@noindent
+The code letter @samp{b} says to read the name of an existing buffer,
+with completion. The buffer name is the sole argument passed to the
+command. The rest of the string is a prompt.
+
+If there is a newline character in the string, it terminates the prompt.
+If the string does not end there, then the rest of the string should
+contain another code character and prompt, specifying another argument.
+You can specify any number of arguments in this way.
+
+@c Emacs 19 feature
+The prompt string can use @samp{%} to include previous argument values
+(starting with the first argument) in the prompt. This is done using
+@code{format} (@pxref{Formatting Strings}). For example, here is how
+you could read the name of an existing buffer followed by a new name to
+give to that buffer:
+
+@smallexample
+@group
+(interactive "bBuffer to rename: \nsRename buffer %s to: ")
+@end group
+@end smallexample
+
+@cindex @samp{*} in @code{interactive}
+@cindex read-only buffers in interactive
+If the first character in the string is @samp{*}, then an error is
+signaled if the buffer is read-only.
+
+@cindex @samp{@@} in @code{interactive}
+@c Emacs 19 feature
+If the first character in the string is @samp{@@}, and if the key
+sequence used to invoke the command includes any mouse events, then
+the window associated with the first of those events is selected
+before the command is run.
+
+You can use @samp{*} and @samp{@@} together; the order does not matter.
+Actual reading of arguments is controlled by the rest of the prompt
+string (starting with the first character that is not @samp{*} or
+@samp{@@}).
+
+@item
+It may be a Lisp expression that is not a string; then it should be a
+form that is evaluated to get a list of arguments to pass to the
+command. Usually this form will call various functions to read input
+from the user, most often through the minibuffer (@pxref{Minibuffers})
+or directly from the keyboard (@pxref{Reading Input}).
+
+Providing point or the mark as an argument value is also common, but
+if you do this @emph{and} read input (whether using the minibuffer or
+not), be sure to get the integer values of point or the mark after
+reading. The current buffer may be receiving subprocess output; if
+subprocess output arrives while the command is waiting for input, it
+could relocate point and the mark.
+
+Here's an example of what @emph{not} to do:
+
+@smallexample
+(interactive
+ (list (region-beginning) (region-end)
+ (read-string "Foo: " nil 'my-history)))
+@end smallexample
+
+@noindent
+Here's how to avoid the problem, by examining point and the mark after
+reading the keyboard input:
+
+@smallexample
+(interactive
+ (let ((string (read-string "Foo: " nil 'my-history)))
+ (list (region-beginning) (region-end) string)))
+@end smallexample
+
+@strong{Warning:} the argument values should not include any data
+types that can't be printed and then read. Some facilities save
+@code{command-history} in a file to be read in the subsequent
+sessions; if a command's arguments contain a data type that prints
+using @samp{#<@dots{}>} syntax, those facilities won't work.
+
+There are, however, a few exceptions: it is ok to use a limited set of
+expressions such as @code{(point)}, @code{(mark)},
+@code{(region-beginning)}, and @code{(region-end)}, because Emacs
+recognizes them specially and puts the expression (rather than its
+value) into the command history. To see whether the expression you
+wrote is one of these exceptions, run the command, then examine
+@code{(car command-history)}.
+@end itemize
+
+@cindex examining the @code{interactive} form
+@defun interactive-form function
+This function returns the @code{interactive} form of @var{function}.
+If @var{function} is an interactively callable function
+(@pxref{Interactive Call}), the value is the command's
+@code{interactive} form @code{(interactive @var{spec})}, which
+specifies how to compute its arguments. Otherwise, the value is
+@code{nil}. If @var{function} is a symbol, its function definition is
+used.
+@end defun
+
+@node Interactive Codes
+@comment node-name, next, previous, up
+@subsection Code Characters for @code{interactive}
+@cindex interactive code description
+@cindex description for interactive codes
+@cindex codes, interactive, description of
+@cindex characters for interactive codes
+
+ The code character descriptions below contain a number of key words,
+defined here as follows:
+
+@table @b
+@item Completion
+@cindex interactive completion
+Provide completion. @key{TAB}, @key{SPC}, and @key{RET} perform name
+completion because the argument is read using @code{completing-read}
+(@pxref{Completion}). @kbd{?} displays a list of possible completions.
+
+@item Existing
+Require the name of an existing object. An invalid name is not
+accepted; the commands to exit the minibuffer do not exit if the current
+input is not valid.
+
+@item Default
+@cindex default argument string
+A default value of some sort is used if the user enters no text in the
+minibuffer. The default depends on the code character.
+
+@item No I/O
+This code letter computes an argument without reading any input.
+Therefore, it does not use a prompt string, and any prompt string you
+supply is ignored.
+
+Even though the code letter doesn't use a prompt string, you must follow
+it with a newline if it is not the last code character in the string.
+
+@item Prompt
+A prompt immediately follows the code character. The prompt ends either
+with the end of the string or with a newline.
+
+@item Special
+This code character is meaningful only at the beginning of the
+interactive string, and it does not look for a prompt or a newline.
+It is a single, isolated character.
+@end table
+
+@cindex reading interactive arguments
+ Here are the code character descriptions for use with @code{interactive}:
+
+@table @samp
+@item *
+Signal an error if the current buffer is read-only. Special.
+
+@item @@
+Select the window mentioned in the first mouse event in the key
+sequence that invoked this command. Special.
+
+@item a
+A function name (i.e., a symbol satisfying @code{fboundp}). Existing,
+Completion, Prompt.
+
+@item b
+The name of an existing buffer. By default, uses the name of the
+current buffer (@pxref{Buffers}). Existing, Completion, Default,
+Prompt.
+
+@item B
+A buffer name. The buffer need not exist. By default, uses the name of
+a recently used buffer other than the current buffer. Completion,
+Default, Prompt.
+
+@item c
+A character. The cursor does not move into the echo area. Prompt.
+
+@item C
+A command name (i.e., a symbol satisfying @code{commandp}). Existing,
+Completion, Prompt.
+
+@item d
+@cindex position argument
+The position of point, as an integer (@pxref{Point}). No I/O.
+
+@item D
+A directory name. The default is the current default directory of the
+current buffer, @code{default-directory} (@pxref{File Name Expansion}).
+Existing, Completion, Default, Prompt.
+
+@item e
+The first or next mouse event in the key sequence that invoked the command.
+More precisely, @samp{e} gets events that are lists, so you can look at
+the data in the lists. @xref{Input Events}. No I/O.
+
+You can use @samp{e} more than once in a single command's interactive
+specification. If the key sequence that invoked the command has
+@var{n} events that are lists, the @var{n}th @samp{e} provides the
+@var{n}th such event. Events that are not lists, such as function keys
+and @acronym{ASCII} characters, do not count where @samp{e} is concerned.
+
+@item f
+A file name of an existing file (@pxref{File Names}). The default
+directory is @code{default-directory}. Existing, Completion, Default,
+Prompt.
+
+@item F
+A file name. The file need not exist. Completion, Default, Prompt.
+
+@item G
+A file name. The file need not exist. If the user enters just a
+directory name, then the value is just that directory name, with no
+file name within the directory added. Completion, Default, Prompt.
+
+@item i
+An irrelevant argument. This code always supplies @code{nil} as
+the argument's value. No I/O.
+
+@item k
+A key sequence (@pxref{Key Sequences}). This keeps reading events
+until a command (or undefined command) is found in the current key
+maps. The key sequence argument is represented as a string or vector.
+The cursor does not move into the echo area. Prompt.
+
+If @samp{k} reads a key sequence that ends with a down-event, it also
+reads and discards the following up-event. You can get access to that
+up-event with the @samp{U} code character.
+
+This kind of input is used by commands such as @code{describe-key} and
+@code{global-set-key}.
+
+@item K
+A key sequence, whose definition you intend to change. This works like
+@samp{k}, except that it suppresses, for the last input event in the key
+sequence, the conversions that are normally used (when necessary) to
+convert an undefined key into a defined one.
+
+@item m
+@cindex marker argument
+The position of the mark, as an integer. No I/O.
+
+@item M
+Arbitrary text, read in the minibuffer using the current buffer's input
+method, and returned as a string (@pxref{Input Methods,,, emacs, The GNU
+Emacs Manual}). Prompt.
+
+@item n
+A number, read with the minibuffer. If the input is not a number, the
+user has to try again. @samp{n} never uses the prefix argument.
+Prompt.
+
+@item N
+The numeric prefix argument; but if there is no prefix argument, read
+a number as with @kbd{n}. The value is always a number. @xref{Prefix
+Command Arguments}. Prompt.
+
+@item p
+@cindex numeric prefix argument usage
+The numeric prefix argument. (Note that this @samp{p} is lower case.)
+No I/O.
+
+@item P
+@cindex raw prefix argument usage
+The raw prefix argument. (Note that this @samp{P} is upper case.) No
+I/O.
+
+@item r
+@cindex region argument
+Point and the mark, as two numeric arguments, smallest first. This is
+the only code letter that specifies two successive arguments rather than
+one. No I/O.
+
+@item s
+Arbitrary text, read in the minibuffer and returned as a string
+(@pxref{Text from Minibuffer}). Terminate the input with either
+@kbd{C-j} or @key{RET}. (@kbd{C-q} may be used to include either of
+these characters in the input.) Prompt.
+
+@item S
+An interned symbol whose name is read in the minibuffer. Any whitespace
+character terminates the input. (Use @kbd{C-q} to include whitespace in
+the string.) Other characters that normally terminate a symbol (e.g.,
+parentheses and brackets) do not do so here. Prompt.
+
+@item U
+A key sequence or @code{nil}. Can be used after a @samp{k} or
+@samp{K} argument to get the up-event that was discarded (if any)
+after @samp{k} or @samp{K} read a down-event. If no up-event has been
+discarded, @samp{U} provides @code{nil} as the argument. No I/O.
+
+@item v
+A variable declared to be a user option (i.e., satisfying the
+predicate @code{user-variable-p}). This reads the variable using
+@code{read-variable}. @xref{Definition of read-variable}. Existing,
+Completion, Prompt.
+
+@item x
+A Lisp object, specified with its read syntax, terminated with a
+@kbd{C-j} or @key{RET}. The object is not evaluated. @xref{Object from
+Minibuffer}. Prompt.
+
+@item X
+@cindex evaluated expression argument
+A Lisp form's value. @samp{X} reads as @samp{x} does, then evaluates
+the form so that its value becomes the argument for the command.
+Prompt.
+
+@item z
+A coding system name (a symbol). If the user enters null input, the
+argument value is @code{nil}. @xref{Coding Systems}. Completion,
+Existing, Prompt.
+
+@item Z
+A coding system name (a symbol)---but only if this command has a prefix
+argument. With no prefix argument, @samp{Z} provides @code{nil} as the
+argument value. Completion, Existing, Prompt.
+@end table
+
+@node Interactive Examples
+@comment node-name, next, previous, up
+@subsection Examples of Using @code{interactive}
+@cindex examples of using @code{interactive}
+@cindex @code{interactive}, examples of using
+
+ Here are some examples of @code{interactive}:
+
+@example
+@group
+(defun foo1 () ; @r{@code{foo1} takes no arguments,}
+ (interactive) ; @r{just moves forward two words.}
+ (forward-word 2))
+ @result{} foo1
+@end group
+
+@group
+(defun foo2 (n) ; @r{@code{foo2} takes one argument,}
+ (interactive "p") ; @r{which is the numeric prefix.}
+ (forward-word (* 2 n)))
+ @result{} foo2
+@end group
+
+@group
+(defun foo3 (n) ; @r{@code{foo3} takes one argument,}
+ (interactive "nCount:") ; @r{which is read with the Minibuffer.}
+ (forward-word (* 2 n)))
+ @result{} foo3
+@end group
+
+@group
+(defun three-b (b1 b2 b3)
+ "Select three existing buffers.
+Put them into three windows, selecting the last one."
+@end group
+ (interactive "bBuffer1:\nbBuffer2:\nbBuffer3:")
+ (delete-other-windows)
+ (split-window (selected-window) 8)
+ (switch-to-buffer b1)
+ (other-window 1)
+ (split-window (selected-window) 8)
+ (switch-to-buffer b2)
+ (other-window 1)
+ (switch-to-buffer b3))
+ @result{} three-b
+@group
+(three-b "*scratch*" "declarations.texi" "*mail*")
+ @result{} nil
+@end group
+@end example
+
+@node Interactive Call
+@section Interactive Call
+@cindex interactive call
+
+ After the command loop has translated a key sequence into a command it
+invokes that command using the function @code{command-execute}. If the
+command is a function, @code{command-execute} calls
+@code{call-interactively}, which reads the arguments and calls the
+command. You can also call these functions yourself.
+
+@defun commandp object &optional for-call-interactively
+Returns @code{t} if @var{object} is suitable for calling interactively;
+that is, if @var{object} is a command. Otherwise, returns @code{nil}.
+
+The interactively callable objects include strings and vectors (treated
+as keyboard macros), lambda expressions that contain a top-level call to
+@code{interactive}, byte-code function objects made from such lambda
+expressions, autoload objects that are declared as interactive
+(non-@code{nil} fourth argument to @code{autoload}), and some of the
+primitive functions.
+
+A symbol satisfies @code{commandp} if its function definition
+satisfies @code{commandp}. Keys and keymaps are not commands.
+Rather, they are used to look up commands (@pxref{Keymaps}).
+
+If @var{for-call-interactively} is non-@code{nil}, then
+@code{commandp} returns @code{t} only for objects that
+@code{call-interactively} could call---thus, not for keyboard macros.
+
+See @code{documentation} in @ref{Accessing Documentation}, for a
+realistic example of using @code{commandp}.
+@end defun
+
+@defun call-interactively command &optional record-flag keys
+This function calls the interactively callable function @var{command},
+reading arguments according to its interactive calling specifications.
+It returns whatever @var{command} returns. An error is signaled if
+@var{command} is not a function or if it cannot be called
+interactively (i.e., is not a command). Note that keyboard macros
+(strings and vectors) are not accepted, even though they are
+considered commands, because they are not functions. If @var{command}
+is a symbol, then @code{call-interactively} uses its function definition.
+
+@cindex record command history
+If @var{record-flag} is non-@code{nil}, then this command and its
+arguments are unconditionally added to the list @code{command-history}.
+Otherwise, the command is added only if it uses the minibuffer to read
+an argument. @xref{Command History}.
+
+The argument @var{keys}, if given, should be a vector which specifies
+the sequence of events to supply if the command inquires which events
+were used to invoke it. If @var{keys} is omitted or @code{nil}, the
+default is the return value of @code{this-command-keys-vector}.
+@xref{Definition of this-command-keys-vector}.
+@end defun
+
+@defun command-execute command &optional record-flag keys special
+@cindex keyboard macro execution
+This function executes @var{command}. The argument @var{command} must
+satisfy the @code{commandp} predicate; i.e., it must be an interactively
+callable function or a keyboard macro.
+
+A string or vector as @var{command} is executed with
+@code{execute-kbd-macro}. A function is passed to
+@code{call-interactively}, along with the optional @var{record-flag}
+and @var{keys}.
+
+A symbol is handled by using its function definition in its place. A
+symbol with an @code{autoload} definition counts as a command if it was
+declared to stand for an interactively callable function. Such a
+definition is handled by loading the specified library and then
+rechecking the definition of the symbol.
+
+The argument @var{special}, if given, means to ignore the prefix
+argument and not clear it. This is used for executing special events
+(@pxref{Special Events}).
+@end defun
+
+@deffn Command execute-extended-command prefix-argument
+@cindex read command name
+This function reads a command name from the minibuffer using
+@code{completing-read} (@pxref{Completion}). Then it uses
+@code{command-execute} to call the specified command. Whatever that
+command returns becomes the value of @code{execute-extended-command}.
+
+@cindex execute with prefix argument
+If the command asks for a prefix argument, it receives the value
+@var{prefix-argument}. If @code{execute-extended-command} is called
+interactively, the current raw prefix argument is used for
+@var{prefix-argument}, and thus passed on to whatever command is run.
+
+@c !!! Should this be @kindex?
+@cindex @kbd{M-x}
+@code{execute-extended-command} is the normal definition of @kbd{M-x},
+so it uses the string @w{@samp{M-x }} as a prompt. (It would be better
+to take the prompt from the events used to invoke
+@code{execute-extended-command}, but that is painful to implement.) A
+description of the value of the prefix argument, if any, also becomes
+part of the prompt.
+
+@example
+@group
+(execute-extended-command 3)
+---------- Buffer: Minibuffer ----------
+3 M-x forward-word RET
+---------- Buffer: Minibuffer ----------
+ @result{} t
+@end group
+@end example
+@end deffn
+
+@node Distinguish Interactive
+@section Distinguish Interactive Calls
+
+ Sometimes a command should display additional visual feedback (such
+as an informative message in the echo area) for interactive calls
+only. There are three ways to do this. The recommended way to test
+whether the function was called using @code{call-interactively} is to
+give it an optional argument @code{print-message} and use the
+@code{interactive} spec to make it non-@code{nil} in interactive
+calls. Here's an example:
+
+@example
+(defun foo (&optional print-message)
+ (interactive "p")
+ (when print-message
+ (message "foo")))
+@end example
+
+@noindent
+We use @code{"p"} because the numeric prefix argument is never
+@code{nil}. Defined in this way, the function does display the
+message when called from a keyboard macro.
+
+ The above method with the additional argument is usually best,
+because it allows callers to say ``treat this call as interactive.''
+But you can also do the job in a simpler way by testing
+@code{called-interactively-p}.
+
+@defun called-interactively-p
+This function returns @code{t} when the calling function was called
+using @code{call-interactively}.
+
+If the containing function was called by Lisp evaluation (or with
+@code{apply} or @code{funcall}), then it was not called interactively.
+@end defun
+
+ Here's an example of using @code{called-interactively-p}:
+
+@example
+@group
+(defun foo ()
+ (interactive)
+ (when (called-interactively-p)
+ (message "foo"))
+ 'haha)
+ @result{} foo
+@end group
+
+@group
+;; @r{Type @kbd{M-x foo}.}
+ @print{} foo
+@end group
+
+@group
+(foo)
+ @result{} haha
+@end group
+@end example
+
+ Here is another example that contrasts direct and indirect
+calls to @code{called-interactively-p}.
+
+@example
+@group
+(defun bar ()
+ (interactive)
+ (setq foobar (list (foo) (called-interactively-p))))
+ @result{} bar
+@end group
+
+@group
+;; @r{Type @kbd{M-x bar}.}
+;; @r{This does not display a message.}
+@end group
+
+@group
+foobar
+ @result{} (nil t)
+@end group
+@end example
+
+ If you want to treat commands run in keyboard macros just like calls
+from Lisp programs, test @code{interactive-p} instead of
+@code{called-interactively-p}.
+
+@defun interactive-p
+This function returns @code{t} if the containing function (the one
+whose code includes the call to @code{interactive-p}) was called in
+direct response to user input. This means that it was called with the
+function @code{call-interactively}, and that a keyboard macro is
+not running, and that Emacs is not running in batch mode.
+@end defun
+
+@node Command Loop Info
+@comment node-name, next, previous, up
+@section Information from the Command Loop
+
+The editor command loop sets several Lisp variables to keep status
+records for itself and for commands that are run. With the exception of
+@code{this-command} and @code{last-command} it's generally a bad idea to
+change any of these variables in a Lisp program.
+
+@defvar last-command
+This variable records the name of the previous command executed by the
+command loop (the one before the current command). Normally the value
+is a symbol with a function definition, but this is not guaranteed.
+
+The value is copied from @code{this-command} when a command returns to
+the command loop, except when the command has specified a prefix
+argument for the following command.
+
+This variable is always local to the current terminal and cannot be
+buffer-local. @xref{Multiple Displays}.
+@end defvar
+
+@defvar real-last-command
+This variable is set up by Emacs just like @code{last-command},
+but never altered by Lisp programs.
+@end defvar
+
+@defvar last-repeatable-command
+This variable stores the most recently executed command that was not
+part of an input event. This is the command @code{repeat} will try to
+repeat, @xref{Repeating,,, emacs, The GNU Emacs Manual}.
+@end defvar
+
+@defvar this-command
+@cindex current command
+This variable records the name of the command now being executed by
+the editor command loop. Like @code{last-command}, it is normally a symbol
+with a function definition.
+
+The command loop sets this variable just before running a command, and
+copies its value into @code{last-command} when the command finishes
+(unless the command specified a prefix argument for the following
+command).
+
+@cindex kill command repetition
+Some commands set this variable during their execution, as a flag for
+whatever command runs next. In particular, the functions for killing text
+set @code{this-command} to @code{kill-region} so that any kill commands
+immediately following will know to append the killed text to the
+previous kill.
+@end defvar
+
+If you do not want a particular command to be recognized as the previous
+command in the case where it got an error, you must code that command to
+prevent this. One way is to set @code{this-command} to @code{t} at the
+beginning of the command, and set @code{this-command} back to its proper
+value at the end, like this:
+
+@example
+(defun foo (args@dots{})
+ (interactive @dots{})
+ (let ((old-this-command this-command))
+ (setq this-command t)
+ @r{@dots{}do the work@dots{}}
+ (setq this-command old-this-command)))
+@end example
+
+@noindent
+We do not bind @code{this-command} with @code{let} because that would
+restore the old value in case of error---a feature of @code{let} which
+in this case does precisely what we want to avoid.
+
+@defvar this-original-command
+This has the same value as @code{this-command} except when command
+remapping occurs (@pxref{Remapping Commands}). In that case,
+@code{this-command} gives the command actually run (the result of
+remapping), and @code{this-original-command} gives the command that
+was specified to run but remapped into another command.
+@end defvar
+
+@defun this-command-keys
+This function returns a string or vector containing the key sequence
+that invoked the present command, plus any previous commands that
+generated the prefix argument for this command. Any events read by the
+command using @code{read-event} without a timeout get tacked on to the end.
+
+However, if the command has called @code{read-key-sequence}, it
+returns the last read key sequence. @xref{Key Sequence Input}. The
+value is a string if all events in the sequence were characters that
+fit in a string. @xref{Input Events}.
+
+@example
+@group
+(this-command-keys)
+;; @r{Now use @kbd{C-u C-x C-e} to evaluate that.}
+ @result{} "^U^X^E"
+@end group
+@end example
+@end defun
+
+@defun this-command-keys-vector
+@anchor{Definition of this-command-keys-vector}
+Like @code{this-command-keys}, except that it always returns the events
+in a vector, so you don't need to deal with the complexities of storing
+input events in a string (@pxref{Strings of Events}).
+@end defun
+
+@defun clear-this-command-keys &optional keep-record
+This function empties out the table of events for
+@code{this-command-keys} to return. Unless @var{keep-record} is
+non-@code{nil}, it also empties the records that the function
+@code{recent-keys} (@pxref{Recording Input}) will subsequently return.
+This is useful after reading a password, to prevent the password from
+echoing inadvertently as part of the next command in certain cases.
+@end defun
+
+@defvar last-nonmenu-event
+This variable holds the last input event read as part of a key sequence,
+not counting events resulting from mouse menus.
+
+One use of this variable is for telling @code{x-popup-menu} where to pop
+up a menu. It is also used internally by @code{y-or-n-p}
+(@pxref{Yes-or-No Queries}).
+@end defvar
+
+@defvar last-command-event
+@defvarx last-command-char
+This variable is set to the last input event that was read by the
+command loop as part of a command. The principal use of this variable
+is in @code{self-insert-command}, which uses it to decide which
+character to insert.
+
+@example
+@group
+last-command-event
+;; @r{Now use @kbd{C-u C-x C-e} to evaluate that.}
+ @result{} 5
+@end group
+@end example
+
+@noindent
+The value is 5 because that is the @acronym{ASCII} code for @kbd{C-e}.
+
+The alias @code{last-command-char} exists for compatibility with
+Emacs version 18.
+@end defvar
+
+@c Emacs 19 feature
+@defvar last-event-frame
+This variable records which frame the last input event was directed to.
+Usually this is the frame that was selected when the event was
+generated, but if that frame has redirected input focus to another
+frame, the value is the frame to which the event was redirected.
+@xref{Input Focus}.
+
+If the last event came from a keyboard macro, the value is @code{macro}.
+@end defvar
+
+@node Adjusting Point
+@section Adjusting Point After Commands
+@cindex adjusting point
+@cindex invisible/intangible text, and point
+@cindex @code{display} property, and point display
+@cindex @code{composition} property, and point display
+
+ It is not easy to display a value of point in the middle of a
+sequence of text that has the @code{display}, @code{composition} or
+@code{intangible} property, or is invisible. Therefore, after a
+command finishes and returns to the command loop, if point is within
+such a sequence, the command loop normally moves point to the edge of
+the sequence.
+
+ A command can inhibit this feature by setting the variable
+@code{disable-point-adjustment}:
+
+@defvar disable-point-adjustment
+If this variable is non-@code{nil} when a command returns to the
+command loop, then the command loop does not check for those text
+properties, and does not move point out of sequences that have them.
+
+The command loop sets this variable to @code{nil} before each command,
+so if a command sets it, the effect applies only to that command.
+@end defvar
+
+@defvar global-disable-point-adjustment
+If you set this variable to a non-@code{nil} value, the feature of
+moving point out of these sequences is completely turned off.
+@end defvar
+
+@node Input Events
+@section Input Events
+@cindex events
+@cindex input events
+
+The Emacs command loop reads a sequence of @dfn{input events} that
+represent keyboard or mouse activity. The events for keyboard activity
+are characters or symbols; mouse events are always lists. This section
+describes the representation and meaning of input events in detail.
+
+@defun eventp object
+This function returns non-@code{nil} if @var{object} is an input event
+or event type.
+
+Note that any symbol might be used as an event or an event type.
+@code{eventp} cannot distinguish whether a symbol is intended by Lisp
+code to be used as an event. Instead, it distinguishes whether the
+symbol has actually been used in an event that has been read as input in
+the current Emacs session. If a symbol has not yet been so used,
+@code{eventp} returns @code{nil}.
+@end defun
+
+@menu
+* Keyboard Events:: Ordinary characters--keys with symbols on them.
+* Function Keys:: Function keys--keys with names, not symbols.
+* Mouse Events:: Overview of mouse events.
+* Click Events:: Pushing and releasing a mouse button.
+* Drag Events:: Moving the mouse before releasing the button.
+* Button-Down Events:: A button was pushed and not yet released.
+* Repeat Events:: Double and triple click (or drag, or down).
+* Motion Events:: Just moving the mouse, not pushing a button.
+* Focus Events:: Moving the mouse between frames.
+* Misc Events:: Other events the system can generate.
+* Event Examples:: Examples of the lists for mouse events.
+* Classifying Events:: Finding the modifier keys in an event symbol.
+ Event types.
- @node Accessing Events
- @subsection Accessing Events
++* Accessing Mouse:: Functions to extract info from mouse events.
++* Accessing Scroll:: Functions to get info from scroll bar events.
+* Strings of Events:: Special considerations for putting
+ keyboard character events in a string.
+@end menu
+
+@node Keyboard Events
+@subsection Keyboard Events
+@cindex keyboard events
+
+There are two kinds of input you can get from the keyboard: ordinary
+keys, and function keys. Ordinary keys correspond to characters; the
+events they generate are represented in Lisp as characters. The event
+type of a character event is the character itself (an integer); see
+@ref{Classifying Events}.
+
+@cindex modifier bits (of input character)
+@cindex basic code (of input character)
+An input character event consists of a @dfn{basic code} between 0 and
+524287, plus any or all of these @dfn{modifier bits}:
+
+@table @asis
+@item meta
+The
+@tex
+@math{2^{27}}
+@end tex
+@ifnottex
+2**27
+@end ifnottex
+bit in the character code indicates a character
+typed with the meta key held down.
+
+@item control
+The
+@tex
+@math{2^{26}}
+@end tex
+@ifnottex
+2**26
+@end ifnottex
+bit in the character code indicates a non-@acronym{ASCII}
+control character.
+
+@sc{ascii} control characters such as @kbd{C-a} have special basic
+codes of their own, so Emacs needs no special bit to indicate them.
+Thus, the code for @kbd{C-a} is just 1.
+
+But if you type a control combination not in @acronym{ASCII}, such as
+@kbd{%} with the control key, the numeric value you get is the code
+for @kbd{%} plus
+@tex
+@math{2^{26}}
+@end tex
+@ifnottex
+2**26
+@end ifnottex
+(assuming the terminal supports non-@acronym{ASCII}
+control characters).
+
+@item shift
+The
+@tex
+@math{2^{25}}
+@end tex
+@ifnottex
+2**25
+@end ifnottex
+bit in the character code indicates an @acronym{ASCII} control
+character typed with the shift key held down.
+
+For letters, the basic code itself indicates upper versus lower case;
+for digits and punctuation, the shift key selects an entirely different
+character with a different basic code. In order to keep within the
+@acronym{ASCII} character set whenever possible, Emacs avoids using the
+@tex
+@math{2^{25}}
+@end tex
+@ifnottex
+2**25
+@end ifnottex
+bit for those characters.
+
+However, @acronym{ASCII} provides no way to distinguish @kbd{C-A} from
+@kbd{C-a}, so Emacs uses the
+@tex
+@math{2^{25}}
+@end tex
+@ifnottex
+2**25
+@end ifnottex
+bit in @kbd{C-A} and not in
+@kbd{C-a}.
+
+@item hyper
+The
+@tex
+@math{2^{24}}
+@end tex
+@ifnottex
+2**24
+@end ifnottex
+bit in the character code indicates a character
+typed with the hyper key held down.
+
+@item super
+The
+@tex
+@math{2^{23}}
+@end tex
+@ifnottex
+2**23
+@end ifnottex
+bit in the character code indicates a character
+typed with the super key held down.
+
+@item alt
+The
+@tex
+@math{2^{22}}
+@end tex
+@ifnottex
+2**22
+@end ifnottex
+bit in the character code indicates a character typed with
+the alt key held down. (On some terminals, the key labeled @key{ALT}
+is actually the meta key.)
+@end table
+
+ It is best to avoid mentioning specific bit numbers in your program.
+To test the modifier bits of a character, use the function
+@code{event-modifiers} (@pxref{Classifying Events}). When making key
+bindings, you can use the read syntax for characters with modifier bits
+(@samp{\C-}, @samp{\M-}, and so on). For making key bindings with
+@code{define-key}, you can use lists such as @code{(control hyper ?x)} to
+specify the characters (@pxref{Changing Key Bindings}). The function
+@code{event-convert-list} converts such a list into an event type
+(@pxref{Classifying Events}).
+
+@node Function Keys
+@subsection Function Keys
+
+@cindex function keys
+Most keyboards also have @dfn{function keys}---keys that have names or
+symbols that are not characters. Function keys are represented in Emacs
+Lisp as symbols; the symbol's name is the function key's label, in lower
+case. For example, pressing a key labeled @key{F1} places the symbol
+@code{f1} in the input stream.
+
+The event type of a function key event is the event symbol itself.
+@xref{Classifying Events}.
+
+Here are a few special cases in the symbol-naming convention for
+function keys:
+
+@table @asis
+@item @code{backspace}, @code{tab}, @code{newline}, @code{return}, @code{delete}
+These keys correspond to common @acronym{ASCII} control characters that have
+special keys on most keyboards.
+
+In @acronym{ASCII}, @kbd{C-i} and @key{TAB} are the same character. If the
+terminal can distinguish between them, Emacs conveys the distinction to
+Lisp programs by representing the former as the integer 9, and the
+latter as the symbol @code{tab}.
+
+Most of the time, it's not useful to distinguish the two. So normally
+@code{function-key-map} (@pxref{Translation Keymaps}) is set up to map
+@code{tab} into 9. Thus, a key binding for character code 9 (the
+character @kbd{C-i}) also applies to @code{tab}. Likewise for the other
+symbols in this group. The function @code{read-char} likewise converts
+these events into characters.
+
+In @acronym{ASCII}, @key{BS} is really @kbd{C-h}. But @code{backspace}
+converts into the character code 127 (@key{DEL}), not into code 8
+(@key{BS}). This is what most users prefer.
+
+@item @code{left}, @code{up}, @code{right}, @code{down}
+Cursor arrow keys
+@item @code{kp-add}, @code{kp-decimal}, @code{kp-divide}, @dots{}
+Keypad keys (to the right of the regular keyboard).
+@item @code{kp-0}, @code{kp-1}, @dots{}
+Keypad keys with digits.
+@item @code{kp-f1}, @code{kp-f2}, @code{kp-f3}, @code{kp-f4}
+Keypad PF keys.
+@item @code{kp-home}, @code{kp-left}, @code{kp-up}, @code{kp-right}, @code{kp-down}
+Keypad arrow keys. Emacs normally translates these into the
+corresponding non-keypad keys @code{home}, @code{left}, @dots{}
+@item @code{kp-prior}, @code{kp-next}, @code{kp-end}, @code{kp-begin}, @code{kp-insert}, @code{kp-delete}
+Additional keypad duplicates of keys ordinarily found elsewhere. Emacs
+normally translates these into the like-named non-keypad keys.
+@end table
+
+You can use the modifier keys @key{ALT}, @key{CTRL}, @key{HYPER},
+@key{META}, @key{SHIFT}, and @key{SUPER} with function keys. The way to
+represent them is with prefixes in the symbol name:
+
+@table @samp
+@item A-
+The alt modifier.
+@item C-
+The control modifier.
+@item H-
+The hyper modifier.
+@item M-
+The meta modifier.
+@item S-
+The shift modifier.
+@item s-
+The super modifier.
+@end table
+
+Thus, the symbol for the key @key{F3} with @key{META} held down is
+@code{M-f3}. When you use more than one prefix, we recommend you
+write them in alphabetical order; but the order does not matter in
+arguments to the key-binding lookup and modification functions.
+
+@node Mouse Events
+@subsection Mouse Events
+
+Emacs supports four kinds of mouse events: click events, drag events,
+button-down events, and motion events. All mouse events are represented
+as lists. The @sc{car} of the list is the event type; this says which
+mouse button was involved, and which modifier keys were used with it.
+The event type can also distinguish double or triple button presses
+(@pxref{Repeat Events}). The rest of the list elements give position
+and time information.
+
+For key lookup, only the event type matters: two events of the same type
+necessarily run the same command. The command can access the full
+values of these events using the @samp{e} interactive code.
+@xref{Interactive Codes}.
+
+A key sequence that starts with a mouse event is read using the keymaps
+of the buffer in the window that the mouse was in, not the current
+buffer. This does not imply that clicking in a window selects that
+window or its buffer---that is entirely under the control of the command
+binding of the key sequence.
+
+@node Click Events
+@subsection Click Events
+@cindex click event
+@cindex mouse click event
+
+When the user presses a mouse button and releases it at the same
+location, that generates a @dfn{click} event. All mouse click event
+share the same format:
+
+@example
+(@var{event-type} @var{position} @var{click-count})
+@end example
+
+@table @asis
+@item @var{event-type}
+This is a symbol that indicates which mouse button was used. It is
+one of the symbols @code{mouse-1}, @code{mouse-2}, @dots{}, where the
+buttons are numbered left to right.
+
+You can also use prefixes @samp{A-}, @samp{C-}, @samp{H-}, @samp{M-},
+@samp{S-} and @samp{s-} for modifiers alt, control, hyper, meta, shift
+and super, just as you would with function keys.
+
+This symbol also serves as the event type of the event. Key bindings
+describe events by their types; thus, if there is a key binding for
+@code{mouse-1}, that binding would apply to all events whose
+@var{event-type} is @code{mouse-1}.
+
+@item @var{position}
+This is the position where the mouse click occurred. The actual
+format of @var{position} depends on what part of a window was clicked
+on.
+
+For mouse click events in the text area, mode line, header line, or in
+the marginal areas, @var{position} has this form:
+
+@example
+(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp}
+ @var{object} @var{text-pos} (@var{col} . @var{row})
+ @var{image} (@var{dx} . @var{dy}) (@var{width} . @var{height}))
+@end example
+
+@table @asis
+@item @var{window}
+This is the window in which the click occurred.
+
+@item @var{pos-or-area}
+This is the buffer position of the character clicked on in the text
+area, or if clicked outside the text area, it is the window area in
+which the click occurred. It is one of the symbols @code{mode-line},
+@code{header-line}, @code{vertical-line}, @code{left-margin},
+@code{right-margin}, @code{left-fringe}, or @code{right-fringe}.
+
+In one special case, @var{pos-or-area} is a list containing a symbol (one
+of the symbols listed above) instead of just the symbol. This happens
+after the imaginary prefix keys for the event are inserted into the
+input stream. @xref{Key Sequence Input}.
+
+
+@item @var{x}, @var{y}
+These are the pixel coordinates of the click, relative to
+the top left corner of @var{window}, which is @code{(0 . 0)}.
+For the mode or header line, @var{y} does not have meaningful data.
+For the vertical line, @var{x} does not have meaningful data.
+
+@item @var{timestamp}
+This is the time at which the event occurred, in milliseconds.
+
+@item @var{object}
+This is the object on which the click occurred. It is either
+@code{nil} if there is no string property, or it has the form
+(@var{string} . @var{string-pos}) when there is a string-type text
+property at the click position.
+
+@table @asis
+@item @var{string}
+This is the string on which the click occurred, including any
+properties.
+
+@item @var{string-pos}
+This is the position in the string on which the click occurred,
+relevant if properties at the click need to be looked up.
+@end table
+
+@item @var{text-pos}
+For clicks on a marginal area or on a fringe, this is the buffer
+position of the first visible character in the corresponding line in
+the window. For other events, it is the current buffer position in
+the window.
+
+@item @var{col}, @var{row}
+These are the actual coordinates of the glyph under the @var{x},
+@var{y} position, possibly padded with default character width
+glyphs if @var{x} is beyond the last glyph on the line.
+
+@item @var{image}
+This is the image object on which the click occurred. It is either
+@code{nil} if there is no image at the position clicked on, or it is
+an image object as returned by @code{find-image} if click was in an image.
+
+@item @var{dx}, @var{dy}
+These are the pixel coordinates of the click, relative to
+the top left corner of @var{object}, which is @code{(0 . 0)}. If
+@var{object} is @code{nil}, the coordinates are relative to the top
+left corner of the character glyph clicked on.
+
+@item @var{width}, @var{height}
+These are the pixel width and height of @var{object} or, if this is
+@code{nil}, those of the character glyph clicked on.
+@end table
+
+@sp 1
+For mouse clicks on a scroll-bar, @var{position} has this form:
+
+@example
+(@var{window} @var{area} (@var{portion} . @var{whole}) @var{timestamp} @var{part})
+@end example
+
+@table @asis
+@item @var{window}
+This is the window whose scroll-bar was clicked on.
+
+@item @var{area}
+This is the scroll bar where the click occurred. It is one of the
+symbols @code{vertical-scroll-bar} or @code{horizontal-scroll-bar}.
+
+@item @var{portion}
+This is the distance of the click from the top or left end of
+the scroll bar.
+
+@item @var{whole}
+This is the length of the entire scroll bar.
+
+@item @var{timestamp}
+This is the time at which the event occurred, in milliseconds.
+
+@item @var{part}
+This is the part of the scroll-bar which was clicked on. It is one
+of the symbols @code{above-handle}, @code{handle}, @code{below-handle},
+@code{up}, @code{down}, @code{top}, @code{bottom}, and @code{end-scroll}.
+@end table
+
+@item @var{click-count}
+This is the number of rapid repeated presses so far of the same mouse
+button. @xref{Repeat Events}.
+@end table
+
+@node Drag Events
+@subsection Drag Events
+@cindex drag event
+@cindex mouse drag event
+
+With Emacs, you can have a drag event without even changing your
+clothes. A @dfn{drag event} happens every time the user presses a mouse
+button and then moves the mouse to a different character position before
+releasing the button. Like all mouse events, drag events are
+represented in Lisp as lists. The lists record both the starting mouse
+position and the final position, like this:
+
+@example
+(@var{event-type}
+ (@var{window1} START-POSITION)
+ (@var{window2} END-POSITION))
+@end example
+
+For a drag event, the name of the symbol @var{event-type} contains the
+prefix @samp{drag-}. For example, dragging the mouse with button 2
+held down generates a @code{drag-mouse-2} event. The second and third
+elements of the event give the starting and ending position of the
+drag. They have the same form as @var{position} in a click event
+(@pxref{Click Events}) that is not on the scroll bar part of the
+window. You can access the second element of any mouse event in the
+same way, with no need to distinguish drag events from others.
+
+The @samp{drag-} prefix follows the modifier key prefixes such as
+@samp{C-} and @samp{M-}.
+
+If @code{read-key-sequence} receives a drag event that has no key
+binding, and the corresponding click event does have a binding, it
+changes the drag event into a click event at the drag's starting
+position. This means that you don't have to distinguish between click
+and drag events unless you want to.
+
+@node Button-Down Events
+@subsection Button-Down Events
+@cindex button-down event
+
+Click and drag events happen when the user releases a mouse button.
+They cannot happen earlier, because there is no way to distinguish a
+click from a drag until the button is released.
+
+If you want to take action as soon as a button is pressed, you need to
+handle @dfn{button-down} events.@footnote{Button-down is the
+conservative antithesis of drag.} These occur as soon as a button is
+pressed. They are represented by lists that look exactly like click
+events (@pxref{Click Events}), except that the @var{event-type} symbol
+name contains the prefix @samp{down-}. The @samp{down-} prefix follows
+modifier key prefixes such as @samp{C-} and @samp{M-}.
+
+The function @code{read-key-sequence} ignores any button-down events
+that don't have command bindings; therefore, the Emacs command loop
+ignores them too. This means that you need not worry about defining
+button-down events unless you want them to do something. The usual
+reason to define a button-down event is so that you can track mouse
+motion (by reading motion events) until the button is released.
+@xref{Motion Events}.
+
+@node Repeat Events
+@subsection Repeat Events
+@cindex repeat events
+@cindex double-click events
+@cindex triple-click events
+@cindex mouse events, repeated
+
+If you press the same mouse button more than once in quick succession
+without moving the mouse, Emacs generates special @dfn{repeat} mouse
+events for the second and subsequent presses.
+
+The most common repeat events are @dfn{double-click} events. Emacs
+generates a double-click event when you click a button twice; the event
+happens when you release the button (as is normal for all click
+events).
+
+The event type of a double-click event contains the prefix
+@samp{double-}. Thus, a double click on the second mouse button with
+@key{meta} held down comes to the Lisp program as
+@code{M-double-mouse-2}. If a double-click event has no binding, the
+binding of the corresponding ordinary click event is used to execute
+it. Thus, you need not pay attention to the double click feature
+unless you really want to.
+
+When the user performs a double click, Emacs generates first an ordinary
+click event, and then a double-click event. Therefore, you must design
+the command binding of the double click event to assume that the
+single-click command has already run. It must produce the desired
+results of a double click, starting from the results of a single click.
+
+This is convenient, if the meaning of a double click somehow ``builds
+on'' the meaning of a single click---which is recommended user interface
+design practice for double clicks.
+
+If you click a button, then press it down again and start moving the
+mouse with the button held down, then you get a @dfn{double-drag} event
+when you ultimately release the button. Its event type contains
+@samp{double-drag} instead of just @samp{drag}. If a double-drag event
+has no binding, Emacs looks for an alternate binding as if the event
+were an ordinary drag.
+
+Before the double-click or double-drag event, Emacs generates a
+@dfn{double-down} event when the user presses the button down for the
+second time. Its event type contains @samp{double-down} instead of just
+@samp{down}. If a double-down event has no binding, Emacs looks for an
+alternate binding as if the event were an ordinary button-down event.
+If it finds no binding that way either, the double-down event is
+ignored.
+
+To summarize, when you click a button and then press it again right
+away, Emacs generates a down event and a click event for the first
+click, a double-down event when you press the button again, and finally
+either a double-click or a double-drag event.
+
+If you click a button twice and then press it again, all in quick
+succession, Emacs generates a @dfn{triple-down} event, followed by
+either a @dfn{triple-click} or a @dfn{triple-drag}. The event types of
+these events contain @samp{triple} instead of @samp{double}. If any
+triple event has no binding, Emacs uses the binding that it would use
+for the corresponding double event.
+
+If you click a button three or more times and then press it again, the
+events for the presses beyond the third are all triple events. Emacs
+does not have separate event types for quadruple, quintuple, etc.@:
+events. However, you can look at the event list to find out precisely
+how many times the button was pressed.
+
+@defun event-click-count event
+This function returns the number of consecutive button presses that led
+up to @var{event}. If @var{event} is a double-down, double-click or
+double-drag event, the value is 2. If @var{event} is a triple event,
+the value is 3 or greater. If @var{event} is an ordinary mouse event
+(not a repeat event), the value is 1.
+@end defun
+
+@defopt double-click-fuzz
+To generate repeat events, successive mouse button presses must be at
+approximately the same screen position. The value of
+@code{double-click-fuzz} specifies the maximum number of pixels the
+mouse may be moved (horizontally or vertically) between two successive
+clicks to make a double-click.
+
+This variable is also the threshold for motion of the mouse to count
+as a drag.
+@end defopt
+
+@defopt double-click-time
+To generate repeat events, the number of milliseconds between
+successive button presses must be less than the value of
+@code{double-click-time}. Setting @code{double-click-time} to
+@code{nil} disables multi-click detection entirely. Setting it to
+@code{t} removes the time limit; Emacs then detects multi-clicks by
+position only.
+@end defopt
+
+@node Motion Events
+@subsection Motion Events
+@cindex motion event
+@cindex mouse motion events
+
+Emacs sometimes generates @dfn{mouse motion} events to describe motion
+of the mouse without any button activity. Mouse motion events are
+represented by lists that look like this:
+
+@example
+(mouse-movement (POSITION))
+@end example
+
+The second element of the list describes the current position of the
+mouse, just as in a click event (@pxref{Click Events}).
+
+The special form @code{track-mouse} enables generation of motion events
+within its body. Outside of @code{track-mouse} forms, Emacs does not
+generate events for mere motion of the mouse, and these events do not
+appear. @xref{Mouse Tracking}.
+
+@node Focus Events
+@subsection Focus Events
+@cindex focus event
+
+Window systems provide general ways for the user to control which window
+gets keyboard input. This choice of window is called the @dfn{focus}.
+When the user does something to switch between Emacs frames, that
+generates a @dfn{focus event}. The normal definition of a focus event,
+in the global keymap, is to select a new frame within Emacs, as the user
+would expect. @xref{Input Focus}.
+
+Focus events are represented in Lisp as lists that look like this:
+
+@example
+(switch-frame @var{new-frame})
+@end example
+
+@noindent
+where @var{new-frame} is the frame switched to.
+
+Most X window managers are set up so that just moving the mouse into a
+window is enough to set the focus there. Emacs appears to do this,
+because it changes the cursor to solid in the new frame. However, there
+is no need for the Lisp program to know about the focus change until
+some other kind of input arrives. So Emacs generates a focus event only
+when the user actually types a keyboard key or presses a mouse button in
+the new frame; just moving the mouse between frames does not generate a
+focus event.
+
+A focus event in the middle of a key sequence would garble the
+sequence. So Emacs never generates a focus event in the middle of a key
+sequence. If the user changes focus in the middle of a key
+sequence---that is, after a prefix key---then Emacs reorders the events
+so that the focus event comes either before or after the multi-event key
+sequence, and not within it.
+
+@node Misc Events
+@subsection Miscellaneous System Events
+
+A few other event types represent occurrences within the system.
+
+@table @code
+@cindex @code{delete-frame} event
+@item (delete-frame (@var{frame}))
+This kind of event indicates that the user gave the window manager
+a command to delete a particular window, which happens to be an Emacs frame.
+
+The standard definition of the @code{delete-frame} event is to delete @var{frame}.
+
+@cindex @code{iconify-frame} event
+@item (iconify-frame (@var{frame}))
+This kind of event indicates that the user iconified @var{frame} using
+the window manager. Its standard definition is @code{ignore}; since the
+frame has already been iconified, Emacs has no work to do. The purpose
+of this event type is so that you can keep track of such events if you
+want to.
+
+@cindex @code{make-frame-visible} event
+@item (make-frame-visible (@var{frame}))
+This kind of event indicates that the user deiconified @var{frame} using
+the window manager. Its standard definition is @code{ignore}; since the
+frame has already been made visible, Emacs has no work to do.
+
+@cindex @code{wheel-up} event
+@cindex @code{wheel-down} event
+@item (wheel-up @var{position})
+@item (wheel-down @var{position})
+These kinds of event are generated by moving a mouse wheel. Their
+usual meaning is a kind of scroll or zoom.
+
+The element @var{position} is a list describing the position of the
+event, in the same format as used in a mouse-click event.
+
+This kind of event is generated only on some kinds of systems. On some
+systems, @code{mouse-4} and @code{mouse-5} are used instead. For
+portable code, use the variables @code{mouse-wheel-up-event} and
+@code{mouse-wheel-down-event} defined in @file{mwheel.el} to determine
+what event types to expect for the mouse wheel.
+
+@cindex @code{drag-n-drop} event
+@item (drag-n-drop @var{position} @var{files})
+This kind of event is generated when a group of files is
+selected in an application outside of Emacs, and then dragged and
+dropped onto an Emacs frame.
+
+The element @var{position} is a list describing the position of the
+event, in the same format as used in a mouse-click event, and
+@var{files} is the list of file names that were dragged and dropped.
+The usual way to handle this event is by visiting these files.
+
+This kind of event is generated, at present, only on some kinds of
+systems.
+
+@cindex @code{help-echo} event
+@item help-echo
+This kind of event is generated when a mouse pointer moves onto a
+portion of buffer text which has a @code{help-echo} text property.
+The generated event has this form:
+
+@example
+(help-echo @var{frame} @var{help} @var{window} @var{object} @var{pos})
+@end example
+
+@noindent
+The precise meaning of the event parameters and the way these
+parameters are used to display the help-echo text are described in
+@ref{Text help-echo}.
+
+@cindex @code{sigusr1} event
+@cindex @code{sigusr2} event
+@cindex user signals
+@item sigusr1
+@itemx sigusr2
+These events are generated when the Emacs process receives
+the signals @code{SIGUSR1} and @code{SIGUSR2}. They contain no
+additional data because signals do not carry additional information.
+
+To catch a user signal, bind the corresponding event to an interactive
+command in the @code{special-event-map} (@pxref{Active Keymaps}).
+The command is called with no arguments, and the specific signal event is
+available in @code{last-input-event}. For example:
+
+@smallexample
+(defun sigusr-handler ()
+ (interactive)
+ (message "Caught signal %S" last-input-event))
+
+(define-key special-event-map [sigusr1] 'sigusr-handler)
+@end smallexample
+
+To test the signal handler, you can make Emacs send a signal to itself:
+
+@smallexample
+(signal-process (emacs-pid) 'sigusr1)
+@end smallexample
+@end table
+
+ If one of these events arrives in the middle of a key sequence---that
+is, after a prefix key---then Emacs reorders the events so that this
+event comes either before or after the multi-event key sequence, not
+within it.
+
+@node Event Examples
+@subsection Event Examples
+
+If the user presses and releases the left mouse button over the same
+location, that generates a sequence of events like this:
+
+@smallexample
+(down-mouse-1 (#<window 18 on NEWS> 2613 (0 . 38) -864320))
+(mouse-1 (#<window 18 on NEWS> 2613 (0 . 38) -864180))
+@end smallexample
+
+While holding the control key down, the user might hold down the
+second mouse button, and drag the mouse from one line to the next.
+That produces two events, as shown here:
+
+@smallexample
+(C-down-mouse-2 (#<window 18 on NEWS> 3440 (0 . 27) -731219))
+(C-drag-mouse-2 (#<window 18 on NEWS> 3440 (0 . 27) -731219)
+ (#<window 18 on NEWS> 3510 (0 . 28) -729648))
+@end smallexample
+
+While holding down the meta and shift keys, the user might press the
+second mouse button on the window's mode line, and then drag the mouse
+into another window. That produces a pair of events like these:
+
+@smallexample
+(M-S-down-mouse-2 (#<window 18 on NEWS> mode-line (33 . 31) -457844))
+(M-S-drag-mouse-2 (#<window 18 on NEWS> mode-line (33 . 31) -457844)
+ (#<window 20 on carlton-sanskrit.tex> 161 (33 . 3)
+ -453816))
+@end smallexample
+
+To handle a SIGUSR1 signal, define an interactive function, and
+bind it to the @code{signal usr1} event sequence:
+
+@smallexample
+(defun usr1-handler ()
+ (interactive)
+ (message "Got USR1 signal"))
+(global-set-key [signal usr1] 'usr1-handler)
+@end smallexample
+
+@node Classifying Events
+@subsection Classifying Events
+@cindex event type
+
+ Every event has an @dfn{event type}, which classifies the event for
+key binding purposes. For a keyboard event, the event type equals the
+event value; thus, the event type for a character is the character, and
+the event type for a function key symbol is the symbol itself. For
+events that are lists, the event type is the symbol in the @sc{car} of
+the list. Thus, the event type is always a symbol or a character.
+
+ Two events of the same type are equivalent where key bindings are
+concerned; thus, they always run the same command. That does not
+necessarily mean they do the same things, however, as some commands look
+at the whole event to decide what to do. For example, some commands use
+the location of a mouse event to decide where in the buffer to act.
+
+ Sometimes broader classifications of events are useful. For example,
+you might want to ask whether an event involved the @key{META} key,
+regardless of which other key or mouse button was used.
+
+ The functions @code{event-modifiers} and @code{event-basic-type} are
+provided to get such information conveniently.
+
+@defun event-modifiers event
+This function returns a list of the modifiers that @var{event} has. The
+modifiers are symbols; they include @code{shift}, @code{control},
+@code{meta}, @code{alt}, @code{hyper} and @code{super}. In addition,
+the modifiers list of a mouse event symbol always contains one of
+@code{click}, @code{drag}, and @code{down}. For double or triple
+events, it also contains @code{double} or @code{triple}.
+
+The argument @var{event} may be an entire event object, or just an
+event type. If @var{event} is a symbol that has never been used in an
+event that has been read as input in the current Emacs session, then
+@code{event-modifiers} can return @code{nil}, even when @var{event}
+actually has modifiers.
+
+Here are some examples:
+
+@example
+(event-modifiers ?a)
+ @result{} nil
+(event-modifiers ?A)
+ @result{} (shift)
+(event-modifiers ?\C-a)
+ @result{} (control)
+(event-modifiers ?\C-%)
+ @result{} (control)
+(event-modifiers ?\C-\S-a)
+ @result{} (control shift)
+(event-modifiers 'f5)
+ @result{} nil
+(event-modifiers 's-f5)
+ @result{} (super)
+(event-modifiers 'M-S-f5)
+ @result{} (meta shift)
+(event-modifiers 'mouse-1)
+ @result{} (click)
+(event-modifiers 'down-mouse-1)
+ @result{} (down)
+@end example
+
+The modifiers list for a click event explicitly contains @code{click},
+but the event symbol name itself does not contain @samp{click}.
+@end defun
+
+@defun event-basic-type event
+This function returns the key or mouse button that @var{event}
+describes, with all modifiers removed. The @var{event} argument is as
+in @code{event-modifiers}. For example:
+
+@example
+(event-basic-type ?a)
+ @result{} 97
+(event-basic-type ?A)
+ @result{} 97
+(event-basic-type ?\C-a)
+ @result{} 97
+(event-basic-type ?\C-\S-a)
+ @result{} 97
+(event-basic-type 'f5)
+ @result{} f5
+(event-basic-type 's-f5)
+ @result{} f5
+(event-basic-type 'M-S-f5)
+ @result{} f5
+(event-basic-type 'down-mouse-1)
+ @result{} mouse-1
+@end example
+@end defun
+
+@defun mouse-movement-p object
+This function returns non-@code{nil} if @var{object} is a mouse movement
+event.
+@end defun
+
+@defun event-convert-list list
+This function converts a list of modifier names and a basic event type
+to an event type which specifies all of them. The basic event type
+must be the last element of the list. For example,
+
+@example
+(event-convert-list '(control ?a))
+ @result{} 1
+(event-convert-list '(control meta ?a))
+ @result{} -134217727
+(event-convert-list '(control super f1))
+ @result{} C-s-f1
+@end example
+@end defun
+
++@node Accessing Mouse
++@subsection Accessing Mouse Events
+@cindex mouse events, data in
+
+ This section describes convenient functions for accessing the data in
+a mouse button or motion event.
+
+ These two functions return the starting or ending position of a
+mouse-button event, as a list of this form:
+
+@example
+(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp}
+ @var{object} @var{text-pos} (@var{col} . @var{row})
+ @var{image} (@var{dx} . @var{dy}) (@var{width} . @var{height}))
+@end example
+
+@defun event-start event
+This returns the starting position of @var{event}.
+
+If @var{event} is a click or button-down event, this returns the
+location of the event. If @var{event} is a drag event, this returns the
+drag's starting position.
+@end defun
+
+@defun event-end event
+This returns the ending position of @var{event}.
+
+If @var{event} is a drag event, this returns the position where the user
+released the mouse button. If @var{event} is a click or button-down
+event, the value is actually the starting position, which is the only
+position such events have.
+@end defun
+
+@cindex mouse position list, accessing
+ These functions take a position list as described above, and
+return various parts of it.
+
+@defun posn-window position
+Return the window that @var{position} is in.
+@end defun
+
+@defun posn-area position
+Return the window area recorded in @var{position}. It returns @code{nil}
+when the event occurred in the text area of the window; otherwise, it
+is a symbol identifying the area in which the event occurred.
+@end defun
+
+@defun posn-point position
+Return the buffer position in @var{position}. When the event occurred
+in the text area of the window, in a marginal area, or on a fringe,
+this is an integer specifying a buffer position. Otherwise, the value
+is undefined.
+@end defun
+
+@defun posn-x-y position
+Return the pixel-based x and y coordinates in @var{position}, as a
+cons cell @code{(@var{x} . @var{y})}. These coordinates are relative
+to the window given by @code{posn-window}.
+
+This example shows how to convert these window-relative coordinates
+into frame-relative coordinates:
+
+@example
+(defun frame-relative-coordinates (position)
+ "Return frame-relative coordinates from POSITION."
+ (let* ((x-y (posn-x-y position))
+ (window (posn-window position))
+ (edges (window-inside-pixel-edges window)))
+ (cons (+ (car x-y) (car edges))
+ (+ (cdr x-y) (cadr edges)))))
+@end example
+@end defun
+
+@defun posn-col-row position
+Return the row and column (in units of the frame's default character
+height and width) of @var{position}, as a cons cell @code{(@var{col} .
+@var{row})}. These are computed from the @var{x} and @var{y} values
+actually found in @var{position}.
+@end defun
+
+@defun posn-actual-col-row position
+Return the actual row and column in @var{position}, as a cons cell
+@code{(@var{col} . @var{row})}. The values are the actual row number
+in the window, and the actual character number in that row. It returns
+@code{nil} if @var{position} does not include actual positions values.
+You can use @code{posn-col-row} to get approximate values.
+@end defun
+
+@defun posn-string position
+Return the string object in @var{position}, either @code{nil}, or a
+cons cell @code{(@var{string} . @var{string-pos})}.
+@end defun
+
+@defun posn-image position
+Return the image object in @var{position}, either @code{nil}, or an
+image @code{(image ...)}.
+@end defun
+
+@defun posn-object position
+Return the image or string object in @var{position}, either
+@code{nil}, an image @code{(image ...)}, or a cons cell
+@code{(@var{string} . @var{string-pos})}.
+@end defun
+
+@defun posn-object-x-y position
+Return the pixel-based x and y coordinates relative to the upper left
+corner of the object in @var{position} as a cons cell @code{(@var{dx}
+. @var{dy})}. If the @var{position} is a buffer position, return the
+relative position in the character at that position.
+@end defun
+
+@defun posn-object-width-height position
+Return the pixel width and height of the object in @var{position} as a
+cons cell @code{(@var{width} . @var{height})}. If the @var{position}
+is a buffer position, return the size of the character at that position.
+@end defun
+
+@cindex timestamp of a mouse event
+@defun posn-timestamp position
+Return the timestamp in @var{position}. This is the time at which the
+event occurred, in milliseconds.
+@end defun
+
+ These functions compute a position list given particular buffer
+position or screen position. You can access the data in this position
+list with the functions described above.
+
+@defun posn-at-point &optional pos window
+This function returns a position list for position @var{pos} in
+@var{window}. @var{pos} defaults to point in @var{window};
+@var{window} defaults to the selected window.
+
+@code{posn-at-point} returns @code{nil} if @var{pos} is not visible in
+@var{window}.
+@end defun
+
+@defun posn-at-x-y x y &optional frame-or-window whole
+This function returns position information corresponding to pixel
+coordinates @var{x} and @var{y} in a specified frame or window,
+@var{frame-or-window}, which defaults to the selected window.
+The coordinates @var{x} and @var{y} are relative to the
+frame or window used.
+If @var{whole} is @code{nil}, the coordinates are relative
+to the window text area, otherwise they are relative to
+the entire window area including scroll bars, margins and fringes.
+@end defun
+
++@node Accessing Scroll
++@subsection Accessing Scroll Bar Events
++@cindex scroll bar events, data in
++
+ These functions are useful for decoding scroll bar events.
+
+@defun scroll-bar-event-ratio event
+This function returns the fractional vertical position of a scroll bar
+event within the scroll bar. The value is a cons cell
+@code{(@var{portion} . @var{whole})} containing two integers whose ratio
+is the fractional position.
+@end defun
+
+@defun scroll-bar-scale ratio total
+This function multiplies (in effect) @var{ratio} by @var{total},
+rounding the result to an integer. The argument @var{ratio} is not a
+number, but rather a pair @code{(@var{num} . @var{denom})}---typically a
+value returned by @code{scroll-bar-event-ratio}.
+
+This function is handy for scaling a position on a scroll bar into a
+buffer position. Here's how to do that:
+
+@example
+(+ (point-min)
+ (scroll-bar-scale
+ (posn-x-y (event-start event))
+ (- (point-max) (point-min))))
+@end example
+
+Recall that scroll bar events have two integers forming a ratio, in place
+of a pair of x and y coordinates.
+@end defun
+
+@node Strings of Events
+@subsection Putting Keyboard Events in Strings
+@cindex keyboard events in strings
+@cindex strings with keyboard events
+
+ In most of the places where strings are used, we conceptualize the
+string as containing text characters---the same kind of characters found
+in buffers or files. Occasionally Lisp programs use strings that
+conceptually contain keyboard characters; for example, they may be key
+sequences or keyboard macro definitions. However, storing keyboard
+characters in a string is a complex matter, for reasons of historical
+compatibility, and it is not always possible.
+
+ We recommend that new programs avoid dealing with these complexities
+by not storing keyboard events in strings. Here is how to do that:
+
+@itemize @bullet
+@item
+Use vectors instead of strings for key sequences, when you plan to use
+them for anything other than as arguments to @code{lookup-key} and
+@code{define-key}. For example, you can use
+@code{read-key-sequence-vector} instead of @code{read-key-sequence}, and
+@code{this-command-keys-vector} instead of @code{this-command-keys}.
+
+@item
+Use vectors to write key sequence constants containing meta characters,
+even when passing them directly to @code{define-key}.
+
+@item
+When you have to look at the contents of a key sequence that might be a
+string, use @code{listify-key-sequence} (@pxref{Event Input Misc})
+first, to convert it to a list.
+@end itemize
+
+ The complexities stem from the modifier bits that keyboard input
+characters can include. Aside from the Meta modifier, none of these
+modifier bits can be included in a string, and the Meta modifier is
+allowed only in special cases.
+
+ The earliest GNU Emacs versions represented meta characters as codes
+in the range of 128 to 255. At that time, the basic character codes
+ranged from 0 to 127, so all keyboard character codes did fit in a
+string. Many Lisp programs used @samp{\M-} in string constants to stand
+for meta characters, especially in arguments to @code{define-key} and
+similar functions, and key sequences and sequences of events were always
+represented as strings.
+
+ When we added support for larger basic character codes beyond 127, and
+additional modifier bits, we had to change the representation of meta
+characters. Now the flag that represents the Meta modifier in a
+character is
+@tex
+@math{2^{27}}
+@end tex
+@ifnottex
+2**27
+@end ifnottex
+and such numbers cannot be included in a string.
+
+ To support programs with @samp{\M-} in string constants, there are
+special rules for including certain meta characters in a string.
+Here are the rules for interpreting a string as a sequence of input
+characters:
+
+@itemize @bullet
+@item
+If the keyboard character value is in the range of 0 to 127, it can go
+in the string unchanged.
+
+@item
+The meta variants of those characters, with codes in the range of
+@tex
+@math{2^{27}}
+@end tex
+@ifnottex
+2**27
+@end ifnottex
+to
+@tex
+@math{2^{27} + 127},
+@end tex
+@ifnottex
+2**27+127,
+@end ifnottex
+can also go in the string, but you must change their
+numeric values. You must set the
+@tex
+@math{2^{7}}
+@end tex
+@ifnottex
+2**7
+@end ifnottex
+bit instead of the
+@tex
+@math{2^{27}}
+@end tex
+@ifnottex
+2**27
+@end ifnottex
+bit, resulting in a value between 128 and 255. Only a unibyte string
+can include these codes.
+
+@item
+Non-@acronym{ASCII} characters above 256 can be included in a multibyte string.
+
+@item
+Other keyboard character events cannot fit in a string. This includes
+keyboard events in the range of 128 to 255.
+@end itemize
+
+ Functions such as @code{read-key-sequence} that construct strings of
+keyboard input characters follow these rules: they construct vectors
+instead of strings, when the events won't fit in a string.
+
+ When you use the read syntax @samp{\M-} in a string, it produces a
+code in the range of 128 to 255---the same code that you get if you
+modify the corresponding keyboard event to put it in the string. Thus,
+meta events in strings work consistently regardless of how they get into
+the strings.
+
+ However, most programs would do well to avoid these issues by
+following the recommendations at the beginning of this section.
+
+@node Reading Input
+@section Reading Input
+@cindex read input
+@cindex keyboard input
+
+ The editor command loop reads key sequences using the function
+@code{read-key-sequence}, which uses @code{read-event}. These and other
+functions for event input are also available for use in Lisp programs.
+See also @code{momentary-string-display} in @ref{Temporary Displays},
+and @code{sit-for} in @ref{Waiting}. @xref{Terminal Input}, for
+functions and variables for controlling terminal input modes and
+debugging terminal input.
+
+ For higher-level input facilities, see @ref{Minibuffers}.
+
+@menu
+* Key Sequence Input:: How to read one key sequence.
+* Reading One Event:: How to read just one event.
+* Event Mod:: How Emacs modifies events as they are read.
+* Invoking the Input Method:: How reading an event uses the input method.
+* Quoted Character Input:: Asking the user to specify a character.
+* Event Input Misc:: How to reread or throw away input events.
+@end menu
+
+@node Key Sequence Input
+@subsection Key Sequence Input
+@cindex key sequence input
+
+ The command loop reads input a key sequence at a time, by calling
+@code{read-key-sequence}. Lisp programs can also call this function;
+for example, @code{describe-key} uses it to read the key to describe.
+
+@defun read-key-sequence prompt &optional continue-echo dont-downcase-last switch-frame-ok command-loop
+This function reads a key sequence and returns it as a string or
+vector. It keeps reading events until it has accumulated a complete key
+sequence; that is, enough to specify a non-prefix command using the
+currently active keymaps. (Remember that a key sequence that starts
+with a mouse event is read using the keymaps of the buffer in the
+window that the mouse was in, not the current buffer.)
+
+If the events are all characters and all can fit in a string, then
+@code{read-key-sequence} returns a string (@pxref{Strings of Events}).
+Otherwise, it returns a vector, since a vector can hold all kinds of
+events---characters, symbols, and lists. The elements of the string or
+vector are the events in the key sequence.
+
+Reading a key sequence includes translating the events in various
+ways. @xref{Translation Keymaps}.
+
+The argument @var{prompt} is either a string to be displayed in the
+echo area as a prompt, or @code{nil}, meaning not to display a prompt.
+The argument @var{continue-echo}, if non-@code{nil}, means to echo
+this key as a continuation of the previous key.
+
+Normally any upper case event is converted to lower case if the
+original event is undefined and the lower case equivalent is defined.
+The argument @var{dont-downcase-last}, if non-@code{nil}, means do not
+convert the last event to lower case. This is appropriate for reading
+a key sequence to be defined.
+
+The argument @var{switch-frame-ok}, if non-@code{nil}, means that this
+function should process a @code{switch-frame} event if the user
+switches frames before typing anything. If the user switches frames
+in the middle of a key sequence, or at the start of the sequence but
+@var{switch-frame-ok} is @code{nil}, then the event will be put off
+until after the current key sequence.
+
+The argument @var{command-loop}, if non-@code{nil}, means that this
+key sequence is being read by something that will read commands one
+after another. It should be @code{nil} if the caller will read just
+one key sequence.
+
+In the following example, Emacs displays the prompt @samp{?} in the
+echo area, and then the user types @kbd{C-x C-f}.
+
+@example
+(read-key-sequence "?")
+
+@group
+---------- Echo Area ----------
+?@kbd{C-x C-f}
+---------- Echo Area ----------
+
+ @result{} "^X^F"
+@end group
+@end example
+
+The function @code{read-key-sequence} suppresses quitting: @kbd{C-g}
+typed while reading with this function works like any other character,
+and does not set @code{quit-flag}. @xref{Quitting}.
+@end defun
+
+@defun read-key-sequence-vector prompt &optional continue-echo dont-downcase-last switch-frame-ok command-loop
+This is like @code{read-key-sequence} except that it always
+returns the key sequence as a vector, never as a string.
+@xref{Strings of Events}.
+@end defun
+
+@cindex upper case key sequence
+@cindex downcasing in @code{lookup-key}
+If an input character is upper-case (or has the shift modifier) and
+has no key binding, but its lower-case equivalent has one, then
+@code{read-key-sequence} converts the character to lower case. Note
+that @code{lookup-key} does not perform case conversion in this way.
+
+The function @code{read-key-sequence} also transforms some mouse events.
+It converts unbound drag events into click events, and discards unbound
+button-down events entirely. It also reshuffles focus events and
+miscellaneous window events so that they never appear in a key sequence
+with any other events.
+
+@cindex @code{header-line} prefix key
+@cindex @code{mode-line} prefix key
+@cindex @code{vertical-line} prefix key
+@cindex @code{horizontal-scroll-bar} prefix key
+@cindex @code{vertical-scroll-bar} prefix key
+@cindex @code{menu-bar} prefix key
+@cindex mouse events, in special parts of frame
+When mouse events occur in special parts of a window, such as a mode
+line or a scroll bar, the event type shows nothing special---it is the
+same symbol that would normally represent that combination of mouse
+button and modifier keys. The information about the window part is kept
+elsewhere in the event---in the coordinates. But
+@code{read-key-sequence} translates this information into imaginary
+``prefix keys,'' all of which are symbols: @code{header-line},
+@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
+@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
+meanings for mouse clicks in special window parts by defining key
+sequences using these imaginary prefix keys.
+
+For example, if you call @code{read-key-sequence} and then click the
+mouse on the window's mode line, you get two events, like this:
+
+@example
+(read-key-sequence "Click on the mode line: ")
+ @result{} [mode-line
+ (mouse-1
+ (#<window 6 on NEWS> mode-line
+ (40 . 63) 5959987))]
+@end example
+
+@defvar num-input-keys
+@c Emacs 19 feature
+This variable's value is the number of key sequences processed so far in
+this Emacs session. This includes key sequences read from the terminal
+and key sequences read from keyboard macros being executed.
+@end defvar
+
+@node Reading One Event
+@subsection Reading One Event
+@cindex reading a single event
+@cindex event, reading only one
+
+ The lowest level functions for command input are those that read a
+single event.
+
+None of the three functions below suppresses quitting.
+
+@defun read-event &optional prompt inherit-input-method seconds
+This function reads and returns the next event of command input, waiting
+if necessary until an event is available. Events can come directly from
+the user or from a keyboard macro.
+
+If the optional argument @var{prompt} is non-@code{nil}, it should be a
+string to display in the echo area as a prompt. Otherwise,
+@code{read-event} does not display any message to indicate it is waiting
+for input; instead, it prompts by echoing: it displays descriptions of
+the events that led to or were read by the current command. @xref{The
+Echo Area}.
+
+If @var{inherit-input-method} is non-@code{nil}, then the current input
+method (if any) is employed to make it possible to enter a
+non-@acronym{ASCII} character. Otherwise, input method handling is disabled
+for reading this event.
+
+If @code{cursor-in-echo-area} is non-@code{nil}, then @code{read-event}
+moves the cursor temporarily to the echo area, to the end of any message
+displayed there. Otherwise @code{read-event} does not move the cursor.
+
+If @var{seconds} is non-@code{nil}, it should be a number specifying
+the maximum time to wait for input, in seconds. If no input arrives
+within that time, @code{read-event} stops waiting and returns
+@code{nil}. A floating-point value for @var{seconds} means to wait
+for a fractional number of seconds. Some systems support only a whole
+number of seconds; on these systems, @var{seconds} is rounded down.
+If @var{seconds} is @code{nil}, @code{read-event} waits as long as
+necessary for input to arrive.
+
+If @var{seconds} is @code{nil}, Emacs is considered idle while waiting
+for user input to arrive. Idle timers---those created with
+@code{run-with-idle-timer} (@pxref{Idle Timers})---can run during this
+period. However, if @var{seconds} is non-@code{nil}, the state of
+idleness remains unchanged. If Emacs is non-idle when
+@code{read-event} is called, it remains non-idle throughout the
+operation of @code{read-event}; if Emacs is idle (which can happen if
+the call happens inside an idle timer), it remains idle.
+
+If @code{read-event} gets an event that is defined as a help character,
+then in some cases @code{read-event} processes the event directly without
+returning. @xref{Help Functions}. Certain other events, called
+@dfn{special events}, are also processed directly within
+@code{read-event} (@pxref{Special Events}).
+
+Here is what happens if you call @code{read-event} and then press the
+right-arrow function key:
+
+@example
+@group
+(read-event)
+ @result{} right
+@end group
+@end example
+@end defun
+
+@defun read-char &optional prompt inherit-input-method seconds
+This function reads and returns a character of command input. If the
+user generates an event which is not a character (i.e. a mouse click or
+function key event), @code{read-char} signals an error. The arguments
+work as in @code{read-event}.
+
+In the first example, the user types the character @kbd{1} (@acronym{ASCII}
+code 49). The second example shows a keyboard macro definition that
+calls @code{read-char} from the minibuffer using @code{eval-expression}.
+@code{read-char} reads the keyboard macro's very next character, which
+is @kbd{1}. Then @code{eval-expression} displays its return value in
+the echo area.
+
+@example
+@group
+(read-char)
+ @result{} 49
+@end group
+
+@group
+;; @r{We assume here you use @kbd{M-:} to evaluate this.}
+(symbol-function 'foo)
+ @result{} "^[:(read-char)^M1"
+@end group
+@group
+(execute-kbd-macro 'foo)
+ @print{} 49
+ @result{} nil
+@end group
+@end example
+@end defun
+
+@defun read-char-exclusive &optional prompt inherit-input-method seconds
+This function reads and returns a character of command input. If the
+user generates an event which is not a character,
+@code{read-char-exclusive} ignores it and reads another event, until it
+gets a character. The arguments work as in @code{read-event}.
+@end defun
+
+@defvar num-nonmacro-input-events
+This variable holds the total number of input events received so far
+from the terminal---not counting those generated by keyboard macros.
+@end defvar
+
+@node Event Mod
+@subsection Modifying and Translating Input Events
+
+ Emacs modifies every event it reads according to
+@code{extra-keyboard-modifiers}, then translates it through
+@code{keyboard-translate-table} (if applicable), before returning it
+from @code{read-event}.
+
+@c Emacs 19 feature
+@defvar extra-keyboard-modifiers
+This variable lets Lisp programs ``press'' the modifier keys on the
+keyboard. The value is a character. Only the modifiers of the
+character matter. Each time the user types a keyboard key, it is
+altered as if those modifier keys were held down. For instance, if
+you bind @code{extra-keyboard-modifiers} to @code{?\C-\M-a}, then all
+keyboard input characters typed during the scope of the binding will
+have the control and meta modifiers applied to them. The character
+@code{?\C-@@}, equivalent to the integer 0, does not count as a control
+character for this purpose, but as a character with no modifiers.
+Thus, setting @code{extra-keyboard-modifiers} to zero cancels any
+modification.
+
+When using a window system, the program can ``press'' any of the
+modifier keys in this way. Otherwise, only the @key{CTL} and @key{META}
+keys can be virtually pressed.
+
+Note that this variable applies only to events that really come from
+the keyboard, and has no effect on mouse events or any other events.
+@end defvar
+
+@defvar keyboard-translate-table
+This variable is the translate table for keyboard characters. It lets
+you reshuffle the keys on the keyboard without changing any command
+bindings. Its value is normally a char-table, or else @code{nil}.
+(It can also be a string or vector, but this is considered obsolete.)
+
+If @code{keyboard-translate-table} is a char-table
+(@pxref{Char-Tables}), then each character read from the keyboard is
+looked up in this char-table. If the value found there is
+non-@code{nil}, then it is used instead of the actual input character.
+
+Note that this translation is the first thing that happens to a
+character after it is read from the terminal. Record-keeping features
+such as @code{recent-keys} and dribble files record the characters after
+translation.
+
+Note also that this translation is done before the characters are
+supplied to input methods (@pxref{Input Methods}). Use
+@code{translation-table-for-input} (@pxref{Translation of Characters}),
+if you want to translate characters after input methods operate.
+@end defvar
+
+@defun keyboard-translate from to
+This function modifies @code{keyboard-translate-table} to translate
+character code @var{from} into character code @var{to}. It creates
+the keyboard translate table if necessary.
+@end defun
+
+ Here's an example of using the @code{keyboard-translate-table} to
+make @kbd{C-x}, @kbd{C-c} and @kbd{C-v} perform the cut, copy and paste
+operations:
+
+@example
+(keyboard-translate ?\C-x 'control-x)
+(keyboard-translate ?\C-c 'control-c)
+(keyboard-translate ?\C-v 'control-v)
+(global-set-key [control-x] 'kill-region)
+(global-set-key [control-c] 'kill-ring-save)
+(global-set-key [control-v] 'yank)
+@end example
+
+@noindent
+On a graphical terminal that supports extended @acronym{ASCII} input,
+you can still get the standard Emacs meanings of one of those
+characters by typing it with the shift key. That makes it a different
+character as far as keyboard translation is concerned, but it has the
+same usual meaning.
+
+ @xref{Translation Keymaps}, for mechanisms that translate event sequences
+at the level of @code{read-key-sequence}.
+
+@node Invoking the Input Method
+@subsection Invoking the Input Method
+
+ The event-reading functions invoke the current input method, if any
+(@pxref{Input Methods}). If the value of @code{input-method-function}
+is non-@code{nil}, it should be a function; when @code{read-event} reads
+a printing character (including @key{SPC}) with no modifier bits, it
+calls that function, passing the character as an argument.
+
+@defvar input-method-function
+If this is non-@code{nil}, its value specifies the current input method
+function.
+
+@strong{Warning:} don't bind this variable with @code{let}. It is often
+buffer-local, and if you bind it around reading input (which is exactly
+when you @emph{would} bind it), switching buffers asynchronously while
+Emacs is waiting will cause the value to be restored in the wrong
+buffer.
+@end defvar
+
+ The input method function should return a list of events which should
+be used as input. (If the list is @code{nil}, that means there is no
+input, so @code{read-event} waits for another event.) These events are
+processed before the events in @code{unread-command-events}
+(@pxref{Event Input Misc}). Events
+returned by the input method function are not passed to the input method
+function again, even if they are printing characters with no modifier
+bits.
+
+ If the input method function calls @code{read-event} or
+@code{read-key-sequence}, it should bind @code{input-method-function} to
+@code{nil} first, to prevent recursion.
+
+ The input method function is not called when reading the second and
+subsequent events of a key sequence. Thus, these characters are not
+subject to input method processing. The input method function should
+test the values of @code{overriding-local-map} and
+@code{overriding-terminal-local-map}; if either of these variables is
+non-@code{nil}, the input method should put its argument into a list and
+return that list with no further processing.
+
+@node Quoted Character Input
+@subsection Quoted Character Input
+@cindex quoted character input
+
+ You can use the function @code{read-quoted-char} to ask the user to
+specify a character, and allow the user to specify a control or meta
+character conveniently, either literally or as an octal character code.
+The command @code{quoted-insert} uses this function.
+
+@defun read-quoted-char &optional prompt
+@cindex octal character input
+@cindex control characters, reading
+@cindex nonprinting characters, reading
+This function is like @code{read-char}, except that if the first
+character read is an octal digit (0-7), it reads any number of octal
+digits (but stopping if a non-octal digit is found), and returns the
+character represented by that numeric character code. If the
+character that terminates the sequence of octal digits is @key{RET},
+it is discarded. Any other terminating character is used as input
+after this function returns.
+
+Quitting is suppressed when the first character is read, so that the
+user can enter a @kbd{C-g}. @xref{Quitting}.
+
+If @var{prompt} is supplied, it specifies a string for prompting the
+user. The prompt string is always displayed in the echo area, followed
+by a single @samp{-}.
+
+In the following example, the user types in the octal number 177 (which
+is 127 in decimal).
+
+@example
+(read-quoted-char "What character")
+
+@group
+---------- Echo Area ----------
+What character @kbd{1 7 7}-
+---------- Echo Area ----------
+
+ @result{} 127
+@end group
+@end example
+@end defun
+
+@need 2000
+@node Event Input Misc
+@subsection Miscellaneous Event Input Features
+
+This section describes how to ``peek ahead'' at events without using
+them up, how to check for pending input, and how to discard pending
+input. See also the function @code{read-passwd} (@pxref{Reading a
+Password}).
+
+@defvar unread-command-events
+@cindex next input
+@cindex peeking at input
+This variable holds a list of events waiting to be read as command
+input. The events are used in the order they appear in the list, and
+removed one by one as they are used.
+
+The variable is needed because in some cases a function reads an event
+and then decides not to use it. Storing the event in this variable
+causes it to be processed normally, by the command loop or by the
+functions to read command input.
+
+@cindex prefix argument unreading
+For example, the function that implements numeric prefix arguments reads
+any number of digits. When it finds a non-digit event, it must unread
+the event so that it can be read normally by the command loop.
+Likewise, incremental search uses this feature to unread events with no
+special meaning in a search, because these events should exit the search
+and then execute normally.
+
+The reliable and easy way to extract events from a key sequence so as to
+put them in @code{unread-command-events} is to use
+@code{listify-key-sequence} (@pxref{Strings of Events}).
+
+Normally you add events to the front of this list, so that the events
+most recently unread will be reread first.
+
+Events read from this list are not normally added to the current
+command's key sequence (as returned by e.g. @code{this-command-keys}),
+as the events will already have been added once as they were read for
+the first time. An element of the form @code{(@code{t} . @var{event})}
+forces @var{event} to be added to the current command's key sequence.
+@end defvar
+
+@defun listify-key-sequence key
+This function converts the string or vector @var{key} to a list of
+individual events, which you can put in @code{unread-command-events}.
+@end defun
+
+@defvar unread-command-char
+This variable holds a character to be read as command input.
+A value of -1 means ``empty.''
+
+This variable is mostly obsolete now that you can use
+@code{unread-command-events} instead; it exists only to support programs
+written for Emacs versions 18 and earlier.
+@end defvar
+
+@defun input-pending-p
+@cindex waiting for command key input
+This function determines whether any command input is currently
+available to be read. It returns immediately, with value @code{t} if
+there is available input, @code{nil} otherwise. On rare occasions it
+may return @code{t} when no input is available.
+@end defun
+
+@defvar last-input-event
+@defvarx last-input-char
+This variable records the last terminal input event read, whether
+as part of a command or explicitly by a Lisp program.
+
+In the example below, the Lisp program reads the character @kbd{1},
+@acronym{ASCII} code 49. It becomes the value of @code{last-input-event},
+while @kbd{C-e} (we assume @kbd{C-x C-e} command is used to evaluate
+this expression) remains the value of @code{last-command-event}.
+
+@example
+@group
+(progn (print (read-char))
+ (print last-command-event)
+ last-input-event)
+ @print{} 49
+ @print{} 5
+ @result{} 49
+@end group
+@end example
+
+The alias @code{last-input-char} exists for compatibility with
+Emacs version 18.
+@end defvar
+
+@defmac while-no-input body@dots{}
+This construct runs the @var{body} forms and returns the value of the
+last one---but only if no input arrives. If any input arrives during
+the execution of the @var{body} forms, it aborts them (working much
+like a quit). The @code{while-no-input} form returns @code{nil} if
+aborted by a real quit, and returns @code{t} if aborted by arrival of
+other input.
+
+If a part of @var{body} binds @code{inhibit-quit} to non-@code{nil},
+arrival of input during those parts won't cause an abort until
+the end of that part.
+
+If you want to be able to distinguish all possible values computed
+by @var{body} from both kinds of abort conditions, write the code
+like this:
+
+@example
+(while-no-input
+ (list
+ (progn . @var{body})))
+@end example
+@end defmac
+
+@defun discard-input
+@cindex flushing input
+@cindex discarding input
+@cindex keyboard macro, terminating
+This function discards the contents of the terminal input buffer and
+cancels any keyboard macro that might be in the process of definition.
+It returns @code{nil}.
+
+In the following example, the user may type a number of characters right
+after starting the evaluation of the form. After the @code{sleep-for}
+finishes sleeping, @code{discard-input} discards any characters typed
+during the sleep.
+
+@example
+(progn (sleep-for 2)
+ (discard-input))
+ @result{} nil
+@end example
+@end defun
+
+@node Special Events
+@section Special Events
+
+@cindex special events
+Special events are handled at a very low level---as soon as they are
+read. The @code{read-event} function processes these events itself, and
+never returns them. Instead, it keeps waiting for the first event
+that is not special and returns that one.
+
+Events that are handled in this way do not echo, they are never grouped
+into key sequences, and they never appear in the value of
+@code{last-command-event} or @code{(this-command-keys)}. They do not
+discard a numeric argument, they cannot be unread with
+@code{unread-command-events}, they may not appear in a keyboard macro,
+and they are not recorded in a keyboard macro while you are defining
+one.
+
+These events do, however, appear in @code{last-input-event} immediately
+after they are read, and this is the way for the event's definition to
+find the actual event.
+
+The events types @code{iconify-frame}, @code{make-frame-visible},
+@code{delete-frame}, @code{drag-n-drop}, and user signals like
+@code{sigusr1} are normally handled in this way. The keymap which
+defines how to handle special events---and which events are special---is
+in the variable @code{special-event-map} (@pxref{Active Keymaps}).
+
+@node Waiting
+@section Waiting for Elapsed Time or Input
+@cindex waiting
+
+ The wait functions are designed to wait for a certain amount of time
+to pass or until there is input. For example, you may wish to pause in
+the middle of a computation to allow the user time to view the display.
+@code{sit-for} pauses and updates the screen, and returns immediately if
+input comes in, while @code{sleep-for} pauses without updating the
+screen.
+
+@defun sit-for seconds &optional nodisp
+This function performs redisplay (provided there is no pending input
+from the user), then waits @var{seconds} seconds, or until input is
+available. The usual purpose of @code{sit-for} is to give the user
+time to read text that you display. The value is @code{t} if
+@code{sit-for} waited the full time with no input arriving
+(@pxref{Event Input Misc}). Otherwise, the value is @code{nil}.
+
+The argument @var{seconds} need not be an integer. If it is a floating
+point number, @code{sit-for} waits for a fractional number of seconds.
+Some systems support only a whole number of seconds; on these systems,
+@var{seconds} is rounded down.
+
+The expression @code{(sit-for 0)} is equivalent to @code{(redisplay)},
+i.e. it requests a redisplay, without any delay, if there is no pending input.
+@xref{Forcing Redisplay}.
+
+If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not
+redisplay, but it still returns as soon as input is available (or when
+the timeout elapses).
+
+In batch mode (@pxref{Batch Mode}), @code{sit-for} cannot be
+interrupted, even by input from the standard input descriptor. It is
+thus equivalent to @code{sleep-for}, which is described below.
+
+It is also possible to call @code{sit-for} with three arguments,
+as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})},
+but that is considered obsolete.
+@end defun
+
+@defun sleep-for seconds &optional millisec
+This function simply pauses for @var{seconds} seconds without updating
+the display. It pays no attention to available input. It returns
+@code{nil}.
+
+The argument @var{seconds} need not be an integer. If it is a floating
+point number, @code{sleep-for} waits for a fractional number of seconds.
+Some systems support only a whole number of seconds; on these systems,
+@var{seconds} is rounded down.
+
+The optional argument @var{millisec} specifies an additional waiting
+period measured in milliseconds. This adds to the period specified by
+@var{seconds}. If the system doesn't support waiting fractions of a
+second, you get an error if you specify nonzero @var{millisec}.
+
+Use @code{sleep-for} when you wish to guarantee a delay.
+@end defun
+
+ @xref{Time of Day}, for functions to get the current time.
+
+@node Quitting
+@section Quitting
+@cindex @kbd{C-g}
+@cindex quitting
+@cindex interrupt Lisp functions
+
+ Typing @kbd{C-g} while a Lisp function is running causes Emacs to
+@dfn{quit} whatever it is doing. This means that control returns to the
+innermost active command loop.
+
+ Typing @kbd{C-g} while the command loop is waiting for keyboard input
+does not cause a quit; it acts as an ordinary input character. In the
+simplest case, you cannot tell the difference, because @kbd{C-g}
+normally runs the command @code{keyboard-quit}, whose effect is to quit.
+However, when @kbd{C-g} follows a prefix key, they combine to form an
+undefined key. The effect is to cancel the prefix key as well as any
+prefix argument.
+
+ In the minibuffer, @kbd{C-g} has a different definition: it aborts out
+of the minibuffer. This means, in effect, that it exits the minibuffer
+and then quits. (Simply quitting would return to the command loop
+@emph{within} the minibuffer.) The reason why @kbd{C-g} does not quit
+directly when the command reader is reading input is so that its meaning
+can be redefined in the minibuffer in this way. @kbd{C-g} following a
+prefix key is not redefined in the minibuffer, and it has its normal
+effect of canceling the prefix key and prefix argument. This too
+would not be possible if @kbd{C-g} always quit directly.
+
+ When @kbd{C-g} does directly quit, it does so by setting the variable
+@code{quit-flag} to @code{t}. Emacs checks this variable at appropriate
+times and quits if it is not @code{nil}. Setting @code{quit-flag}
+non-@code{nil} in any way thus causes a quit.
+
+ At the level of C code, quitting cannot happen just anywhere; only at the
+special places that check @code{quit-flag}. The reason for this is
+that quitting at other places might leave an inconsistency in Emacs's
+internal state. Because quitting is delayed until a safe place, quitting
+cannot make Emacs crash.
+
+ Certain functions such as @code{read-key-sequence} or
+@code{read-quoted-char} prevent quitting entirely even though they wait
+for input. Instead of quitting, @kbd{C-g} serves as the requested
+input. In the case of @code{read-key-sequence}, this serves to bring
+about the special behavior of @kbd{C-g} in the command loop. In the
+case of @code{read-quoted-char}, this is so that @kbd{C-q} can be used
+to quote a @kbd{C-g}.
+
+@cindex preventing quitting
+ You can prevent quitting for a portion of a Lisp function by binding
+the variable @code{inhibit-quit} to a non-@code{nil} value. Then,
+although @kbd{C-g} still sets @code{quit-flag} to @code{t} as usual, the
+usual result of this---a quit---is prevented. Eventually,
+@code{inhibit-quit} will become @code{nil} again, such as when its
+binding is unwound at the end of a @code{let} form. At that time, if
+@code{quit-flag} is still non-@code{nil}, the requested quit happens
+immediately. This behavior is ideal when you wish to make sure that
+quitting does not happen within a ``critical section'' of the program.
+
+@cindex @code{read-quoted-char} quitting
+ In some functions (such as @code{read-quoted-char}), @kbd{C-g} is
+handled in a special way that does not involve quitting. This is done
+by reading the input with @code{inhibit-quit} bound to @code{t}, and
+setting @code{quit-flag} to @code{nil} before @code{inhibit-quit}
+becomes @code{nil} again. This excerpt from the definition of
+@code{read-quoted-char} shows how this is done; it also shows that
+normal quitting is permitted after the first character of input.
+
+@example
+(defun read-quoted-char (&optional prompt)
+ "@dots{}@var{documentation}@dots{}"
+ (let ((message-log-max nil) done (first t) (code 0) char)
+ (while (not done)
+ (let ((inhibit-quit first)
+ @dots{})
+ (and prompt (message "%s-" prompt))
+ (setq char (read-event))
+ (if inhibit-quit (setq quit-flag nil)))
+ @r{@dots{}set the variable @code{code}@dots{}})
+ code))
+@end example
+
+@defvar quit-flag
+If this variable is non-@code{nil}, then Emacs quits immediately, unless
+@code{inhibit-quit} is non-@code{nil}. Typing @kbd{C-g} ordinarily sets
+@code{quit-flag} non-@code{nil}, regardless of @code{inhibit-quit}.
+@end defvar
+
+@defvar inhibit-quit
+This variable determines whether Emacs should quit when @code{quit-flag}
+is set to a value other than @code{nil}. If @code{inhibit-quit} is
+non-@code{nil}, then @code{quit-flag} has no special effect.
+@end defvar
+
+@defmac with-local-quit body@dots{}
+This macro executes @var{body} forms in sequence, but allows quitting, at
+least locally, within @var{body} even if @code{inhibit-quit} was
+non-@code{nil} outside this construct. It returns the value of the
+last form in @var{body}, unless exited by quitting, in which case
+it returns @code{nil}.
+
+If @code{inhibit-quit} is @code{nil} on entry to @code{with-local-quit},
+it only executes the @var{body}, and setting @code{quit-flag} causes
+a normal quit. However, if @code{inhibit-quit} is non-@code{nil} so
+that ordinary quitting is delayed, a non-@code{nil} @code{quit-flag}
+triggers a special kind of local quit. This ends the execution of
+@var{body} and exits the @code{with-local-quit} body with
+@code{quit-flag} still non-@code{nil}, so that another (ordinary) quit
+will happen as soon as that is allowed. If @code{quit-flag} is
+already non-@code{nil} at the beginning of @var{body}, the local quit
+happens immediately and the body doesn't execute at all.
+
+This macro is mainly useful in functions that can be called from
+timers, process filters, process sentinels, @code{pre-command-hook},
+@code{post-command-hook}, and other places where @code{inhibit-quit} is
+normally bound to @code{t}.
+@end defmac
+
+@deffn Command keyboard-quit
+This function signals the @code{quit} condition with @code{(signal 'quit
+nil)}. This is the same thing that quitting does. (See @code{signal}
+in @ref{Errors}.)
+@end deffn
+
+ You can specify a character other than @kbd{C-g} to use for quitting.
+See the function @code{set-input-mode} in @ref{Terminal Input}.
+
+@node Prefix Command Arguments
+@section Prefix Command Arguments
+@cindex prefix argument
+@cindex raw prefix argument
+@cindex numeric prefix argument
+
+ Most Emacs commands can use a @dfn{prefix argument}, a number
+specified before the command itself. (Don't confuse prefix arguments
+with prefix keys.) The prefix argument is at all times represented by a
+value, which may be @code{nil}, meaning there is currently no prefix
+argument. Each command may use the prefix argument or ignore it.
+
+ There are two representations of the prefix argument: @dfn{raw} and
+@dfn{numeric}. The editor command loop uses the raw representation
+internally, and so do the Lisp variables that store the information, but
+commands can request either representation.
+
+ Here are the possible values of a raw prefix argument:
+
+@itemize @bullet
+@item
+@code{nil}, meaning there is no prefix argument. Its numeric value is
+1, but numerous commands make a distinction between @code{nil} and the
+integer 1.
+
+@item
+An integer, which stands for itself.
+
+@item
+A list of one element, which is an integer. This form of prefix
+argument results from one or a succession of @kbd{C-u}'s with no
+digits. The numeric value is the integer in the list, but some
+commands make a distinction between such a list and an integer alone.
+
+@item
+The symbol @code{-}. This indicates that @kbd{M--} or @kbd{C-u -} was
+typed, without following digits. The equivalent numeric value is
+@minus{}1, but some commands make a distinction between the integer
+@minus{}1 and the symbol @code{-}.
+@end itemize
+
+We illustrate these possibilities by calling the following function with
+various prefixes:
+
+@example
+@group
+(defun display-prefix (arg)
+ "Display the value of the raw prefix arg."
+ (interactive "P")
+ (message "%s" arg))
+@end group
+@end example
+
+@noindent
+Here are the results of calling @code{display-prefix} with various
+raw prefix arguments:
+
+@example
+ M-x display-prefix @print{} nil
+
+C-u M-x display-prefix @print{} (4)
+
+C-u C-u M-x display-prefix @print{} (16)
+
+C-u 3 M-x display-prefix @print{} 3
+
+M-3 M-x display-prefix @print{} 3 ; @r{(Same as @code{C-u 3}.)}
+
+C-u - M-x display-prefix @print{} -
+
+M-- M-x display-prefix @print{} - ; @r{(Same as @code{C-u -}.)}
+
+C-u - 7 M-x display-prefix @print{} -7
+
+M-- 7 M-x display-prefix @print{} -7 ; @r{(Same as @code{C-u -7}.)}
+@end example
+
+ Emacs uses two variables to store the prefix argument:
+@code{prefix-arg} and @code{current-prefix-arg}. Commands such as
+@code{universal-argument} that set up prefix arguments for other
+commands store them in @code{prefix-arg}. In contrast,
+@code{current-prefix-arg} conveys the prefix argument to the current
+command, so setting it has no effect on the prefix arguments for future
+commands.
+
+ Normally, commands specify which representation to use for the prefix
+argument, either numeric or raw, in the @code{interactive} specification.
+(@xref{Using Interactive}.) Alternatively, functions may look at the
+value of the prefix argument directly in the variable
+@code{current-prefix-arg}, but this is less clean.
+
+@defun prefix-numeric-value arg
+This function returns the numeric meaning of a valid raw prefix argument
+value, @var{arg}. The argument may be a symbol, a number, or a list.
+If it is @code{nil}, the value 1 is returned; if it is @code{-}, the
+value @minus{}1 is returned; if it is a number, that number is returned;
+if it is a list, the @sc{car} of that list (which should be a number) is
+returned.
+@end defun
+
+@defvar current-prefix-arg
+This variable holds the raw prefix argument for the @emph{current}
+command. Commands may examine it directly, but the usual method for
+accessing it is with @code{(interactive "P")}.
+@end defvar
+
+@defvar prefix-arg
+The value of this variable is the raw prefix argument for the
+@emph{next} editing command. Commands such as @code{universal-argument}
+that specify prefix arguments for the following command work by setting
+this variable.
+@end defvar
+
+@defvar last-prefix-arg
+The raw prefix argument value used by the previous command.
+@end defvar
+
+ The following commands exist to set up prefix arguments for the
+following command. Do not call them for any other reason.
+
+@deffn Command universal-argument
+This command reads input and specifies a prefix argument for the
+following command. Don't call this command yourself unless you know
+what you are doing.
+@end deffn
+
+@deffn Command digit-argument arg
+This command adds to the prefix argument for the following command. The
+argument @var{arg} is the raw prefix argument as it was before this
+command; it is used to compute the updated prefix argument. Don't call
+this command yourself unless you know what you are doing.
+@end deffn
+
+@deffn Command negative-argument arg
+This command adds to the numeric argument for the next command. The
+argument @var{arg} is the raw prefix argument as it was before this
+command; its value is negated to form the new prefix argument. Don't
+call this command yourself unless you know what you are doing.
+@end deffn
+
+@node Recursive Editing
+@section Recursive Editing
+@cindex recursive command loop
+@cindex recursive editing level
+@cindex command loop, recursive
+
+ The Emacs command loop is entered automatically when Emacs starts up.
+This top-level invocation of the command loop never exits; it keeps
+running as long as Emacs does. Lisp programs can also invoke the
+command loop. Since this makes more than one activation of the command
+loop, we call it @dfn{recursive editing}. A recursive editing level has
+the effect of suspending whatever command invoked it and permitting the
+user to do arbitrary editing before resuming that command.
+
+ The commands available during recursive editing are the same ones
+available in the top-level editing loop and defined in the keymaps.
+Only a few special commands exit the recursive editing level; the others
+return to the recursive editing level when they finish. (The special
+commands for exiting are always available, but they do nothing when
+recursive editing is not in progress.)
+
+ All command loops, including recursive ones, set up all-purpose error
+handlers so that an error in a command run from the command loop will
+not exit the loop.
+
+@cindex minibuffer input
+ Minibuffer input is a special kind of recursive editing. It has a few
+special wrinkles, such as enabling display of the minibuffer and the
+minibuffer window, but fewer than you might suppose. Certain keys
+behave differently in the minibuffer, but that is only because of the
+minibuffer's local map; if you switch windows, you get the usual Emacs
+commands.
+
+@cindex @code{throw} example
+@kindex exit
+@cindex exit recursive editing
+@cindex aborting
+ To invoke a recursive editing level, call the function
+@code{recursive-edit}. This function contains the command loop; it also
+contains a call to @code{catch} with tag @code{exit}, which makes it
+possible to exit the recursive editing level by throwing to @code{exit}
+(@pxref{Catch and Throw}). If you throw a value other than @code{t},
+then @code{recursive-edit} returns normally to the function that called
+it. The command @kbd{C-M-c} (@code{exit-recursive-edit}) does this.
+Throwing a @code{t} value causes @code{recursive-edit} to quit, so that
+control returns to the command loop one level up. This is called
+@dfn{aborting}, and is done by @kbd{C-]} (@code{abort-recursive-edit}).
+
+ Most applications should not use recursive editing, except as part of
+using the minibuffer. Usually it is more convenient for the user if you
+change the major mode of the current buffer temporarily to a special
+major mode, which should have a command to go back to the previous mode.
+(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
+give the user different text to edit ``recursively,'' create and select
+a new buffer in a special mode. In this mode, define a command to
+complete the processing and go back to the previous buffer. (The
+@kbd{m} command in Rmail does this.)
+
+ Recursive edits are useful in debugging. You can insert a call to
+@code{debug} into a function definition as a sort of breakpoint, so that
+you can look around when the function gets there. @code{debug} invokes
+a recursive edit but also provides the other features of the debugger.
+
+ Recursive editing levels are also used when you type @kbd{C-r} in
+@code{query-replace} or use @kbd{C-x q} (@code{kbd-macro-query}).
+
+@defun recursive-edit
+@cindex suspend evaluation
+This function invokes the editor command loop. It is called
+automatically by the initialization of Emacs, to let the user begin
+editing. When called from a Lisp program, it enters a recursive editing
+level.
+
+If the current buffer is not the same as the selected window's buffer,
+@code{recursive-edit} saves and restores the current buffer. Otherwise,
+if you switch buffers, the buffer you switched to is current after
+@code{recursive-edit} returns.
+
+In the following example, the function @code{simple-rec} first
+advances point one word, then enters a recursive edit, printing out a
+message in the echo area. The user can then do any editing desired, and
+then type @kbd{C-M-c} to exit and continue executing @code{simple-rec}.
+
+@example
+(defun simple-rec ()
+ (forward-word 1)
+ (message "Recursive edit in progress")
+ (recursive-edit)
+ (forward-word 1))
+ @result{} simple-rec
+(simple-rec)
+ @result{} nil
+@end example
+@end defun
+
+@deffn Command exit-recursive-edit
+This function exits from the innermost recursive edit (including
+minibuffer input). Its definition is effectively @code{(throw 'exit
+nil)}.
+@end deffn
+
+@deffn Command abort-recursive-edit
+This function aborts the command that requested the innermost recursive
+edit (including minibuffer input), by signaling @code{quit}
+after exiting the recursive edit. Its definition is effectively
+@code{(throw 'exit t)}. @xref{Quitting}.
+@end deffn
+
+@deffn Command top-level
+This function exits all recursive editing levels; it does not return a
+value, as it jumps completely out of any computation directly back to
+the main command loop.
+@end deffn
+
+@defun recursion-depth
+This function returns the current depth of recursive edits. When no
+recursive edit is active, it returns 0.
+@end defun
+
+@node Disabling Commands
+@section Disabling Commands
+@cindex disabled command
+
+ @dfn{Disabling a command} marks the command as requiring user
+confirmation before it can be executed. Disabling is used for commands
+which might be confusing to beginning users, to prevent them from using
+the commands by accident.
+
+@kindex disabled
+ The low-level mechanism for disabling a command is to put a
+non-@code{nil} @code{disabled} property on the Lisp symbol for the
+command. These properties are normally set up by the user's
+init file (@pxref{Init File}) with Lisp expressions such as this:
+
+@example
+(put 'upcase-region 'disabled t)
+@end example
+
+@noindent
+For a few commands, these properties are present by default (you can
+remove them in your init file if you wish).
+
+ If the value of the @code{disabled} property is a string, the message
+saying the command is disabled includes that string. For example:
+
+@example
+(put 'delete-region 'disabled
+ "Text deleted this way cannot be yanked back!\n")
+@end example
+
+ @xref{Disabling,,, emacs, The GNU Emacs Manual}, for the details on
+what happens when a disabled command is invoked interactively.
+Disabling a command has no effect on calling it as a function from Lisp
+programs.
+
+@deffn Command enable-command command
+Allow @var{command} (a symbol) to be executed without special
+confirmation from now on, and alter the user's init file (@pxref{Init
+File}) so that this will apply to future sessions.
+@end deffn
+
+@deffn Command disable-command command
+Require special confirmation to execute @var{command} from now on, and
+alter the user's init file so that this will apply to future sessions.
+@end deffn
+
+@defvar disabled-command-function
+The value of this variable should be a function. When the user
+invokes a disabled command interactively, this function is called
+instead of the disabled command. It can use @code{this-command-keys}
+to determine what the user typed to run the command, and thus find the
+command itself.
+
+The value may also be @code{nil}. Then all commands work normally,
+even disabled ones.
+
+By default, the value is a function that asks the user whether to
+proceed.
+@end defvar
+
+@node Command History
+@section Command History
+@cindex command history
+@cindex complex command
+@cindex history of commands
+
+ The command loop keeps a history of the complex commands that have
+been executed, to make it convenient to repeat these commands. A
+@dfn{complex command} is one for which the interactive argument reading
+uses the minibuffer. This includes any @kbd{M-x} command, any
+@kbd{M-:} command, and any command whose @code{interactive}
+specification reads an argument from the minibuffer. Explicit use of
+the minibuffer during the execution of the command itself does not cause
+the command to be considered complex.
+
+@defvar command-history
+This variable's value is a list of recent complex commands, each
+represented as a form to evaluate. It continues to accumulate all
+complex commands for the duration of the editing session, but when it
+reaches the maximum size (@pxref{Minibuffer History}), the oldest
+elements are deleted as new ones are added.
+
+@example
+@group
+command-history
+@result{} ((switch-to-buffer "chistory.texi")
+ (describe-key "^X^[")
+ (visit-tags-table "~/emacs/src/")
+ (find-tag "repeat-complex-command"))
+@end group
+@end example
+@end defvar
+
+ This history list is actually a special case of minibuffer history
+(@pxref{Minibuffer History}), with one special twist: the elements are
+expressions rather than strings.
+
+ There are a number of commands devoted to the editing and recall of
+previous commands. The commands @code{repeat-complex-command}, and
+@code{list-command-history} are described in the user manual
+(@pxref{Repetition,,, emacs, The GNU Emacs Manual}). Within the
+minibuffer, the usual minibuffer history commands are available.
+
+@node Keyboard Macros
+@section Keyboard Macros
+@cindex keyboard macros
+
+ A @dfn{keyboard macro} is a canned sequence of input events that can
+be considered a command and made the definition of a key. The Lisp
+representation of a keyboard macro is a string or vector containing the
+events. Don't confuse keyboard macros with Lisp macros
+(@pxref{Macros}).
+
+@defun execute-kbd-macro kbdmacro &optional count loopfunc
+This function executes @var{kbdmacro} as a sequence of events. If
+@var{kbdmacro} is a string or vector, then the events in it are executed
+exactly as if they had been input by the user. The sequence is
+@emph{not} expected to be a single key sequence; normally a keyboard
+macro definition consists of several key sequences concatenated.
+
+If @var{kbdmacro} is a symbol, then its function definition is used in
+place of @var{kbdmacro}. If that is another symbol, this process repeats.
+Eventually the result should be a string or vector. If the result is
+not a symbol, string, or vector, an error is signaled.
+
+The argument @var{count} is a repeat count; @var{kbdmacro} is executed that
+many times. If @var{count} is omitted or @code{nil}, @var{kbdmacro} is
+executed once. If it is 0, @var{kbdmacro} is executed over and over until it
+encounters an error or a failing search.
+
+If @var{loopfunc} is non-@code{nil}, it is a function that is called,
+without arguments, prior to each iteration of the macro. If
+@var{loopfunc} returns @code{nil}, then this stops execution of the macro.
+
+@xref{Reading One Event}, for an example of using @code{execute-kbd-macro}.
+@end defun
+
+@defvar executing-kbd-macro
+This variable contains the string or vector that defines the keyboard
+macro that is currently executing. It is @code{nil} if no macro is
+currently executing. A command can test this variable so as to behave
+differently when run from an executing macro. Do not set this variable
+yourself.
+@end defvar
+
+@defvar defining-kbd-macro
+This variable is non-@code{nil} if and only if a keyboard macro is
+being defined. A command can test this variable so as to behave
+differently while a macro is being defined. The value is
+@code{append} while appending to the definition of an existing macro.
+The commands @code{start-kbd-macro}, @code{kmacro-start-macro} and
+@code{end-kbd-macro} set this variable---do not set it yourself.
+
+The variable is always local to the current terminal and cannot be
+buffer-local. @xref{Multiple Displays}.
+@end defvar
+
+@defvar last-kbd-macro
+This variable is the definition of the most recently defined keyboard
+macro. Its value is a string or vector, or @code{nil}.
+
+The variable is always local to the current terminal and cannot be
+buffer-local. @xref{Multiple Displays}.
+@end defvar
+
+@defvar kbd-macro-termination-hook
+This normal hook (@pxref{Standard Hooks}) is run when a keyboard
+macro terminates, regardless of what caused it to terminate (reaching
+the macro end or an error which ended the macro prematurely).
+@end defvar
+
+@ignore
+ arch-tag: e34944ad-7d5c-4980-be00-36a5fe54d4b1
+@end ignore