diff man/texinfo.texi @ 108:360340f9fd5f r20-1b6

Import from CVS: tag r20-1b6
author cvs
date Mon, 13 Aug 2007 09:18:39 +0200
parents 131b0175ea99
children cca96a509cfe
line wrap: on
line diff
--- a/man/texinfo.texi	Mon Aug 13 09:17:27 2007 +0200
+++ b/man/texinfo.texi	Mon Aug 13 09:18:39 2007 +0200
@@ -1,60 +1,51 @@
 \input texinfo.tex    @c -*-texinfo-*-
 @comment %**start of header
-@setfilename ../info/texinfo.info
+@setfilename texinfo
 @settitle Texinfo @value{edition}
-@syncodeindex vr fn
+@c Define a new index for options.
+@defcodeindex op
+@c Put everything except function (command, in this case) names in one
+index (arbitrarily chosen to be the concept index).
+@syncodeindex op cp
+@syncodeindex vr cp
+@syncodeindex pg cp
 @footnotestyle separate
 @paragraphindent 2
-@smallbook
+@finalout
 @comment %**end of header
+@comment $Id: texinfo.texi,v 1.2 1997/03/08 23:27:25 steve Exp $
+
+@c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a
+@c prefix arg).  This updates the node pointers, which texinfmt.el needs.
+
+@dircategory Texinfo documentation system
+@direntry
+* Texinfo: (texinfo).           The GNU documentation format.
+* install-info: (texinfo)Invoking install-info. Updating info/dir entries.
+* texi2dvi: (texinfo)Format with texi2dvi.      Printing Texinfo documentation.
+* texindex: (texinfo)Format with tex/texindex.  Sorting Texinfo index files.
+@end direntry
 
 @c Set smallbook if printing in smallbook format so the example of the
 @c smallbook font is actually written using smallbook; in bigbook, a kludge
 @c is used for TeX output.
+@smallbook
 @set smallbook
 @c @@clear smallbook
 
-@ignore
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Texinfo: (texinfo).           The documentation format for the GNU Project.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-@end ignore
-
-@set edition 2.21
-@set update-date 7 June 1995
-@set update-month June 1995
-
-@c Experiment with smaller amounts of whitespace between chapters
-@c and sections.
-@tex
-\global\chapheadingskip = 15pt plus 4pt minus 2pt 
-\global\secheadingskip = 12pt plus 3pt minus 2pt
-\global\subsecheadingskip = 9pt plus 2pt minus 2pt
-@end tex
-
-@c Experiment with smaller amounts of whitespace between paragraphs in
-@c the 8.5 by 11 inch format.
-@ifclear smallbook
-@tex
-\global\parskip 6pt plus 1pt
-@end tex
-@end ifclear
-
-@finalout
+@set edition 2.23
+@set update-month October 1996
+@set update-date 1 @value{update-month}
 
 @c Currently undocumented command, 5 December 1993:
 @c
 @c nwnode          (Same as node, but no warnings; for `makeinfo'.)
 
 @ifinfo
-This file documents Texinfo, a documentation system that uses a single
-source file to produce both on-line information and a printed manual.
-
-Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+This file documents Texinfo, a documentation system that can produce
+both on-line information and a printed manual from a single source file.
+
+Copyright (C) 1988, 90, 91, 92, 93, 95, 1996 Free Software Foundation, Inc.
 
 This is the second edition of the Texinfo documentation,@*
 and is consistent with version 2 of @file{texinfo.tex}.
@@ -92,14 +83,15 @@
 @subtitle Edition @value{edition}, for Texinfo Version Three
 @subtitle @value{update-month}
 
-@author by Robert J. Chassell and Richard M. Stallman
-
-@comment   Include the Distribution inside the titlepage so
-@c that headings are turned off. 
+@author Robert J.@: Chassell
+@author Richard M.@: Stallman
+
+@c Include the Distribution inside the titlepage so
+@c that headings are turned off.
 
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995, 1996 Free Software Foundation, Inc.
 
 @sp 2
 This is the second edition of the Texinfo documentation,@*
@@ -110,8 +102,9 @@
 59 Temple Place Suite 330, @*
 Boston, MA 02111-1307 USA @*
 Printed copies are available for $15 each.@*
-ISBN 1-882114-63-9
-@c ISBN number 1-882114-63-9 is for edition 2.20 of 28 February 1995
+ISBN 1-882114-64-7
+@c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995
+@c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -141,12 +134,12 @@
 document, including the @@-command and concept indices.  The rest of
 the menu lists all the lower level nodes in the document.@refill
 
-This is Edition @value{edition} of the Texinfo documentation, 
+This is Edition @value{edition} of the Texinfo documentation,
 @w{@value{update-date},} for Texinfo Version Three.
 @end ifinfo
 
 @c Here is a spare copy of the chapter menu entry descriptions,
-@c in case they are accidently deleted 
+@c in case they are accidently deleted
 @ignore
 Your rights.
 Texinfo in brief.
@@ -191,7 +184,7 @@
 @end ignore
 
 @menu
-* Copying::                     Your rights. 
+* Copying::                     Your rights.
 * Overview::                    Texinfo in brief.
 * Texinfo Mode::                How to use Texinfo mode.
 * Beginning a File::            What is at the beginning of a Texinfo file?
@@ -211,10 +204,11 @@
 * Glyphs::                      How to indicate results of evaluation,
                                   expansion of macros, errors, etc.
 * Breaks::                      How to force and prevent line and page breaks.
-* Definition Commands::         How to describe functions and the like 
+* Definition Commands::         How to describe functions and the like
                                   in a uniform manner.
 * Footnotes::                   How to write footnotes.
 * Conditionals::                How to specify text for either @TeX{} or Info.
+* Macros::                      Defining new Texinfo commands.
 * Format/Print Hardcopy::       How to convert a Texinfo file to a file
                                   for printing and how to print that file.
 * Create an Info File::         Convert a Texinfo file into an Info file.
@@ -234,11 +228,13 @@
 * Command and Variable Index::  A menu containing commands and variables.
 * Concept Index::               A menu covering many topics.
 
+@detailmenu
+
  --- The Detailed Node Listing ---
 
 Overview of Texinfo
 
-* Using Texinfo::               Create a conventional printed book 
+* Using Texinfo::               Create a conventional printed book
                                   or an Info file.
 * Info Files::                  What is an Info file?
 * Printed Books::               Characteristics of a printed book or manual.
@@ -256,7 +252,7 @@
 * Texinfo Mode Overview::       How Texinfo mode can help you.
 * Emacs Editing::               Texinfo mode adds to GNU Emacs' general
                                   purpose editing features.
-* Inserting::                   How to insert frequently used @@-commands. 
+* Inserting::                   How to insert frequently used @@-commands.
 * Showing the Structure::       How to show the structure of a file.
 * Updating Nodes and Menus::    How to update or create new nodes and menus.
 * Info Formatting::             How to format for Info.
@@ -285,7 +281,7 @@
 
 The Texinfo File Header
 
-* First Line::                  The first line of a Texinfo file.  
+* First Line::                  The first line of a Texinfo file.
 * Start of Header::             Formatting a region requires this.
 * setfilename::                 Tell Info the name of the Info file.
 * settitle::                    Create a title for the printed work.
@@ -314,7 +310,7 @@
 
 Ending a Texinfo File
 
-* Printing Indices & Menus::    How to print an index in hardcopy and 
+* Printing Indices & Menus::    How to print an index in hardcopy and
                                   generate index menus in Info.
 * Contents::                    How to create a table of contents.
 * File End::                    How to mark the end of a file.
@@ -336,7 +332,7 @@
 
 Nodes
 
-* Two Paths::                   Different commands to structure 
+* Two Paths::                   Different commands to structure
                                   Info output and printed output.
 * Node Menu Illustration::      A diagram, and sample nodes and menus.
 * node::                        How to write a node, in detail.
@@ -349,7 +345,7 @@
 * Node Line Tips::              Keep names short.
 * Node Line Requirements::      Keep names unique, without @@-commands.
 * First Node::                  How to write a `Top' node.
-* makeinfo top command::        How to use the @code{@@top} command. 
+* makeinfo top command::        How to use the @code{@@top} command.
 * Top Node Summary::            Write a brief description for readers.
 
 Menus
@@ -396,6 +392,8 @@
 * file::                        How to indicate the name of a file.
 * dfn::                         How to specify a definition.
 * cite::                        How to refer to a book that is not in Info.
+* url::                         How to indicate a world wide web reference.
+* email::                       How to indicate an electronic mail address.
 
 Emphasizing Text
 
@@ -406,7 +404,7 @@
 
 Quotations and Examples
 
-* Block Enclosing Commands::    Use different constructs for 
+* Block Enclosing Commands::    Use different constructs for
                                   different purposes.
 * quotation::                   How to write a quotation.
 * example::                     How to write an example in a fixed-width font.
@@ -426,6 +424,7 @@
 * itemize::                     How to construct a simple list.
 * enumerate::                   How to construct a numbered list.
 * Two-column Tables::           How to construct a two-column table.
+* Multi-column Tables::         How to construct generalized tables.
 
 Making a Two-column Table
 
@@ -434,6 +433,11 @@
                                   with automatic indexing.
 * itemx::                       How to put more entries in the first column.
 
+Multi-column Tables
+
+* Multitable Column Widths::    Defining multitable column widths.
+* Multitable Rows::             Defining multitable rows, with examples.
+
 Creating Indices
 
 * Index Entries::               Choose different words for index entries.
@@ -452,20 +456,28 @@
 
 Special Insertions
 
-* Braces Atsigns Periods::      How to insert braces, @samp{@@} and periods.
-* dmn::                         How to format a dimension.
+* Braces Atsigns::              How to insert braces, @samp{@@}.
+* Inserting Space::             How to insert the right amount of space
+                                  within a sentence.
+* Inserting Accents::           How to insert accents and special characters.
 * Dots Bullets::                How to insert dots and bullets.
-* TeX and copyright::           How to insert the @TeX{} logo 
+* TeX and copyright::           How to insert the @TeX{} logo
                                   and the copyright symbol.
+* pounds::                      How to insert the pounds currency symbol.
 * minus::                       How to insert a minus sign.
 * math::                        How to format a mathematical expression.
 
-Inserting @samp{@@}, Braces, and Periods
-
-* Inserting An Atsign::         
-* Inserting Braces::            How to insert @samp{@{} and @samp{@}}
-* Controlling Spacing::         How to insert the right amount of space
-                                  after punctuation within a sentence.
+Inserting @@ and Braces
+
+* Inserting An Atsign::         How to insert @samp{@@}.
+* Inserting Braces::            How to insert @samp{@{} and @samp{@}}.
+
+Inserting Space
+
+* Not Ending a Sentence::       Sometimes a . doesn't end a sentence.
+* Ending a Sentence::           Sometimes it does.
+* Multiple Spaces::             Inserting multiple spaces.
+* dmn::                         How to format a dimension.
 
 Inserting Ellipsis, Dots, and Bullets
 
@@ -477,7 +489,7 @@
 * tex::                         How to insert the @TeX{} logo.
 * copyright symbol::            How to use @code{@@copyright}@{@}.
 
-Glyphs for Examples 
+Glyphs for Examples
 
 * Glyphs Summary::              
 * result::                      How to show the result of expression.
@@ -491,7 +503,8 @@
 
 * Break Commands::              Cause and prevent splits.
 * Line Breaks::                 How to force a single line to use two lines.
-* w::                           How to prevent unwanted line breaks. 
+* - and hyphenation::           How to tell TeX about hyphenation points.
+* w::                           How to prevent unwanted line breaks.
 * sp::                          How to insert blank lines.
 * page::                        How to force the start of a new page.
 * group::                       How to prevent unwanted page breaks.
@@ -516,9 +529,14 @@
 * Abstract Objects::            Commands for object-oriented programming.
 * Data Types::                  The definition command for data types.
 
+Footnotes
+
+* Footnote Commands::           How to write a footnote in Texinfo.
+* Footnote Styles::             Controlling how footnotes appear in Info.
+
 Conditionally Visible Text
 
-* Conditional Commands::        How to specify text for Info or @TeX{}.
+* Conditional Commands::        How to specify text for HTML, Info, or @TeX{}.
 * Using Ordinary TeX Commands::  You can use any and all @TeX{} commands.
 * set clear value::             How to designate which text to format (for
                                   both Info and @TeX{}); and how to set a
@@ -527,9 +545,14 @@
 @code{@@set}, @code{@@clear}, and @code{@@value}
 
 * ifset ifclear::               Format a region if a flag is set.
-* value::                       Replace a flag with a string. 
+* value::                       Replace a flag with a string.
 * value Example::               An easy way to update edition information.
 
+Macros: Defining New Texinfo Commands
+
+* Defining Macros::             Both defining and undefining new commands.
+* Invoking Macros::             Using a macro, once you've defined it.
+
 Format and Print Hardcopy
 
 * Use TeX::                     Use @TeX{} to format for hardcopy.
@@ -555,18 +578,21 @@
 * Pointer Validation::          How to check that pointers point somewhere.
 * makeinfo in Emacs::           How to run @code{makeinfo} from Emacs.
 * texinfo-format commands::     Two Info formatting commands written
-                                  in Emacs Lisp are an alternative 
+                                  in Emacs Lisp are an alternative
                                   to @code{makeinfo}.
 * Batch Formatting::            How to format for Info in Emacs Batch mode.
-* Tag and Split Files::         How tagged and split files help Info 
+* Tag and Split Files::         How tagged and split files help Info
                                   to run better.
 
 Installing an Info File
 
 * Directory file::              The top level menu for all Info files.
 * New Info File::               Listing a new info file.
-* Other Info Directories::      How to specify Info files that are 
+* Other Info Directories::      How to specify Info files that are
                                   located in other directories.
+* Installing Dir Entries::      How to specify what menu entry to add
+                                  to the Info directory.
+* Invoking install-info::       @code{install-info} options.
 
 Sample Permissions
 
@@ -612,6 +638,7 @@
 
 * New Texinfo Mode Commands::   The updating commands are especially useful.
 * New Commands::                Many newly described @@-commands.
+@end detailmenu
 @end menu
 
 @node Copying, Overview, Top, Top
@@ -668,7 +695,7 @@
 rather than the English letter ``ex''.  Pronounce @TeX{} as if the
 @samp{X} were the last sound in the name `Bach'; but pronounce Texinfo
 as if the @samp{x} were a `k'.  Spell ``Texinfo'' with a capital ``T''
-and write the other letters in lower case.} 
+and write the other letters in lower case.}
 is a documentation system that uses a single source file to produce both
 on-line information and printed output.  This means that instead of
 writing two different documents, one for the on-line help or other on-line
@@ -678,7 +705,7 @@
 @dfn{Info file}, with an Info documentation-reading program.)@refill
 
 @menu
-* Using Texinfo::               Create a conventional printed book 
+* Using Texinfo::               Create a conventional printed book
                                   or an Info file.
 * Info Files::                  What is an Info file?
 * Printed Books::               Characteristics of a printed book or manual.
@@ -709,11 +736,10 @@
 
 To make a printed document, you process a Texinfo source file with the
 @TeX{} typesetting program.  This creates a @sc{dvi} file that you can
-typeset and print as a book or report.  (Note that the Texinfo language is
-completely different from @TeX{}'s usual language, Plain@TeX{}, which
-Texinfo replaces.)  If you do not have @TeX{}, but do have
-@code{troff} or @code{nroff}, you can use the @code{texi2roff} program
-instead.@refill
+typeset and print as a book or report.  (Note that the Texinfo language
+is completely different from @TeX{}'s usual language, plain @TeX{}.)  If
+you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you
+can use the @code{texi2roff} program instead.@refill
 
 To make an Info file, you process a Texinfo source file with the
 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command;
@@ -773,7 +799,7 @@
 is at the logical level of a chapter, its child nodes are at the level
 of sections; likewise, the child nodes of sections are at the level
 of subsections.@refill
-  
+
 All the children of any one parent are linked together in a
 bidirectional chain of `Next' and `Previous' pointers.  The `Next'
 pointer provides a link to the next section, and the `Previous' pointer
@@ -815,7 +841,7 @@
 node listed in the main menu, or you can search the index menus and
 then go directly to the node that has the information you want.@refill
 @c !!! With the standalone Info system you may go to specific nodes
-@c directly.. 
+@c directly..
 
 If you want to read through an Info file in sequence, as if it were a
 printed manual, you can get the whole file with the advanced Info
@@ -827,7 +853,7 @@
 @c     /usr/local/lib/emacs/info        mentioned in info.c DEFAULT_INFOPATH
 @c     /usr/gnu/info                    mentioned in info.c DEFAULT_INFOPATH
 @c     /usr/local/info
-@c     /usr/local/lib/info 
+@c     /usr/local/lib/info
 The @file{dir} file in the @file{info} directory serves as the
 departure point for the whole Info system.  From it, you can reach the
 `Top' nodes of each of the documents in a complete Info system.@refill
@@ -841,6 +867,7 @@
 @cindex Texinfo printed book characteristics
 @cindex Characteristics, printed books or manuals
 
+@cindex Knuth, Donald
 A Texinfo file can be formatted and typeset as a printed book or manual.
 To do this, you need @TeX{}, a powerful, sophisticated typesetting
 program written by Donald Knuth.@footnote{You can also use the
@@ -865,7 +892,7 @@
 (@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands
 to @TeX{} commands, which @TeX{} can then process to create the typeset
 document.)  @file{texinfo.tex} contains the specifications for printing
-a document.@refill 
+a document.@refill
 
 Most often, documents are printed on 8.5 inch by 11 inch
 pages (216@dmn{mm} by 280@dmn{mm}; this is the default size), but you
@@ -987,7 +1014,7 @@
 @cindex Syntactic conventions
 @cindex Conventions, syntactic
 
-All @sc{ascii} printing characters except @samp{@@}, @samp{@{} and
+All printable @sc{ascii} characters except @samp{@@}, @samp{@{} and
 @samp{@}} can appear in a Texinfo file and stand for themselves.
 @samp{@@} is the escape character which introduces commands.
 @samp{@{} and @samp{@}} should be used only to surround arguments to
@@ -1009,7 +1036,7 @@
 convention should be followed in Texinfo files.  @TeX{} converts
 doubled single-quote characters to left- and right-hand doubled
 quotation marks, ``like this'', and Info converts doubled single-quote
-characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and 
+characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and
 @w{@tt{ '' }} to @w{@tt{ " }}.@refill
 @end iftex
 
@@ -1025,11 +1052,12 @@
 If you mark off a region of the Texinfo file with the @code{@@iftex}
 and @w{@code{@@end iftex}} commands, that region will appear only in
 the printed copy; in that region, you can use certain commands
-borrowed from Plain@TeX{} that you cannot use in Info.  Likewise, if
+borrowed from plain @TeX{} that you cannot use in Info.  Likewise, if
 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo}
 commands, that region will appear only in the Info file; in that
 region, you can use Info commands that you cannot use in @TeX{}.
-(@xref{Conditionals}.)
+Similarly for @code{@@ifhtml} and @code{@@end ifhtml}.
+@xref{Conditionals}.
 
 @cindex Tabs; don't use!
 @quotation
@@ -1057,7 +1085,7 @@
 Such comments are for the person who reads the Texinfo file.  All the
 text on a line that follows either @code{@@comment} or @code{@@c} is a
 comment; the rest of the line does not appear in either the Info file
-or the printed manual. (Often, you can write the @code{@@comment} or 
+or the printed manual. (Often, you can write the @code{@@comment} or
 @code{@@c} in the middle of a line, and only the text that follows after
 the @code{@@comment} or @code{@@c} command does not appear; but some
 commands, such as @code{@@settitle} and @code{@@setfilename}, work on a
@@ -1105,8 +1133,8 @@
 reader the nature of the file.  The shorter extensions are for
 operating systems that cannot handle long file names.@refill
 
-In order to be made into a printed manual and an Info file, a
-Texinfo file @strong{must} begin with lines like this:@refill
+In order to be made into a printed manual and an Info file, a Texinfo
+file @strong{must} begin with lines like this:@refill
 
 @example
 @group
@@ -1130,9 +1158,9 @@
 @file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo
 @@-commands into @TeX{} typesetting commands.  (Note the use of the
 backslash, @samp{\}; this is correct for @TeX{}.)  The
-@samp{@@setfilename} line provides a name for the Info file and the
-@samp{@@settitle} line specifies a title for the page headers (or
-footers) of the printed manual.@refill
+@samp{@@setfilename} line provides a name for the Info file and tells
+@TeX{} to open auxiliary files.  The @samp{@@settitle} line specifies a
+title for the page headers (or footers) of the printed manual.@refill
 
 The @code{@@bye} line at the end of the file on a line of its own tells
 the formatters that the file is ended and to stop formatting.@refill
@@ -1153,7 +1181,7 @@
 
 @noindent
 In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into
-Texinfo mode when you edit the file.  
+Texinfo mode when you edit the file.
 
 The @code{@@c} lines which surround the @samp{@@setfilename} and
 @samp{@@settitle} lines are optional, but you need them in order to
@@ -1184,7 +1212,7 @@
 @code{@@end ifinfo} commands so that the formatters place it only in the Info
 file.@refill
 
-@item 3. Title and Copyright 
+@item 3. Title and Copyright
 The @dfn{Title and Copyright} segment contains the title and copyright pages
 and copying permissions for the printed manual.  The segment must be
 enclosed between @code{@@titlepage} and @code{@@end titlepage} commands.
@@ -1218,8 +1246,8 @@
 
 @noindent
 In the following, the sample text is @emph{indented}; comments on it are
-not.  The complete file, without any comments, is shown in 
-@ref{Sample Texinfo File}. 
+not.  The complete file, without any comments, is shown in
+@ref{Sample Texinfo File}.
 
 @subheading Part 1: Header
 
@@ -1230,7 +1258,7 @@
 
 @example
 @group
-\input texinfo   @@c -*-texinfo-*-      
+\input texinfo   @@c -*-texinfo-*-
 @@c %**start of header
 @@setfilename sample.info
 @@settitle Sample Document
@@ -1295,7 +1323,7 @@
 @example
 @group
 @@menu
-* First Chapter::    The first chapter is the 
+* First Chapter::    The first chapter is the
                      only chapter in this sample.
 * Concept Index::    This index has two entries.
 @@end menu
@@ -1318,7 +1346,7 @@
 @end group
 
 @group
-This is the contents of the first chapter. 
+This is the contents of the first chapter.
 @@cindex Another sample index entry
 @end group
 
@@ -1336,8 +1364,8 @@
 
 @group
 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
-commands transform a Texinfo file such as this into 
-an Info file; and @@TeX@{@} typesets it for a printed 
+commands transform a Texinfo file such as this into
+an Info file; and @@TeX@{@} typesets it for a printed
 manual.
 @end group
 @end example
@@ -1372,7 +1400,7 @@
 @sp 1
 @need 700
 @quotation
-This is the contents of the first chapter. 
+This is the contents of the first chapter.
 
 Here is a numbered list.
 
@@ -1384,43 +1412,44 @@
 This is the second item.
 @end enumerate
 
-The @code{makeinfo} and @code{texinfo-format-buffer} 
-commands transform a Texinfo file such as this into 
-an Info file; and @TeX{} typesets it for a printed 
+The @code{makeinfo} and @code{texinfo-format-buffer}
+commands transform a Texinfo file such as this into
+an Info file; and @TeX{} typesets it for a printed
 manual.
 @end quotation
 
-@node Acknowledgements,  , Short Sample, Overview
+@node Acknowledgements, , Short Sample, Overview
 @comment  node-name,  next,  previous,  up
 @section Acknowledgements
 
-Richard M.@: Stallman wrote Edition 1.0 of this manual.  
-@w{Robert J.@: Chassell} revised and extended it,
-starting with Edition 1.1.
-
+@cindex Stallman, Richard M.
+@cindex Chassell, Robert J.
+@cindex Berry, Karl
+Richard M.@: Stallman wrote Edition 1.0 of this manual.  @w{Robert J.@:
+Chassell} revised and extended it, starting with Edition 1.1.  Karl
+Berry made updates for the Texinfo 3.8 and subsequent releases, starting
+with Edition 2.22.
+
+@cindex Pinard, Fran@,{c}ois
+@cindex Zuhn, David D.
+@cindex Weisshaus, Melissa
 Our thanks go out to all who helped improve this work, particularly to
-@w{Francois Pinard} and @w{David D.@: Zuhn}, who tirelessly recorded 
-and reported mistakes and obscurities; our special thanks go to 
-@w{Melissa Weisshaus} for her frequent and often tedious reviews of 
-nearly similar editions.  Our mistakes are our own.
-
-@c ignore until mailing lists set up
-@ignore
+Fran@,{c}ois Pinard and @w{David D.@: Zuhn}, who tirelessly recorded and
+reported mistakes and obscurities; our special thanks go to Melissa
+Weisshaus for her frequent and often tedious reviews of nearly similar
+editions.  Our mistakes are our own.
+
 Please send suggestions and corrections to:
 
 @example
 @group
 @r{Internet address:}
     bug-texinfo@@prep.ai.mit.edu
-
-@r{UUCP path:}
-    mit-eddie!prep.ai.mit.edu!bug-texinfo
-@end group
-@end example
-
-@noindent
-Please include the manual's edition number in your messages.
-@end ignore
+@end group
+@end example
+
+@noindent
+Please include the manual's edition number and update date in your messages.
 
 @node Texinfo Mode, Beginning a File, Overview, Top
 @comment  node-name,  next,  previous,  up
@@ -1446,7 +1475,7 @@
 * Texinfo Mode Overview::       How Texinfo mode can help you.
 * Emacs Editing::               Texinfo mode adds to GNU Emacs' general
                                   purpose editing features.
-* Inserting::                   How to insert frequently used @@-commands. 
+* Inserting::                   How to insert frequently used @@-commands.
 * Showing the Structure::       How to show the structure of a file.
 * Updating Nodes and Menus::    How to update or create new nodes and menus.
 * Info Formatting::             How to format for Info.
@@ -1455,7 +1484,7 @@
 @end menu
 
 @node Texinfo Mode Overview, Emacs Editing, Texinfo Mode, Texinfo Mode
-@ifinfo 
+@ifinfo
 @heading Texinfo Mode Overview
 @end ifinfo
 
@@ -1463,7 +1492,7 @@
 files:@refill
 
 @itemize @bullet
-@item 
+@item
 Insert frequently used @@-commands. @refill
 
 @item
@@ -1482,7 +1511,7 @@
 @item
 Automatically create a master menu.@refill
 
-@item 
+@item
 Format a part or all of a file for Info.@refill
 
 @item
@@ -1493,7 +1522,7 @@
 used @@-commands and for creating node pointers and menus.@refill
 
 @node Emacs Editing, Inserting, Texinfo Mode Overview, Texinfo Mode
-@section The Usual GNU Emacs Editing Commands 
+@section The Usual GNU Emacs Editing Commands
 
 In most cases, the usual Text mode commands work the same in Texinfo
 mode as they do in Text mode.  Texinfo mode adds new editing commands
@@ -1521,9 +1550,9 @@
 preferred, since it is explicit, but a shorter extension may be
 necessary for operating systems that limit the length of file names.
 GNU Emacs automatically enters Texinfo mode when you visit a file with
-a @file{.texinfo} or  @file{.texi} 
-extension.  Also, Emacs switches to Texinfo mode 
-when you visit a 
+a @file{.texinfo} or  @file{.texi}
+extension.  Also, Emacs switches to Texinfo mode
+when you visit a
 file that has @samp{-*-texinfo-*-} in its first line.  If ever you are
 in another mode and wish to switch to Texinfo mode, type @code{M-x
 texinfo-mode}.@refill
@@ -1554,13 +1583,13 @@
 Insert @code{@@code@{@}} and put the
 cursor between the braces.@refill
 
-@item  C-c C-c d 
+@item  C-c C-c d
 @itemx M-x texinfo-insert-@@dfn
 @findex texinfo-insert-@@dfn
 Insert @code{@@dfn@{@}} and put the
 cursor between the braces.@refill
 
-@item  C-c C-c e 
+@item  C-c C-c e
 @itemx M-x texinfo-insert-@@end
 @findex texinfo-insert-@@end
 Insert @code{@@end} and attempt to insert the correct following word,
@@ -1568,7 +1597,7 @@
 nested lists correctly, but inserts the word appropriate to the
 immediately preceding list.)@refill
 
-@item  C-c C-c i 
+@item  C-c C-c i
 @itemx M-x texinfo-insert-@@item
 @findex texinfo-insert-@@item
 Insert @code{@@item} and put the
@@ -1580,11 +1609,11 @@
 Insert @code{@@kbd@{@}} and put the
 cursor between the braces.@refill
 
-@item  C-c C-c n 
+@item  C-c C-c n
 @itemx M-x texinfo-insert-@@node
 @findex texinfo-insert-@@node
 Insert @code{@@node} and a comment line
-listing the sequence for the `Next', 
+listing the sequence for the `Next',
 `Previous', and `Up' nodes.
 Leave point after the @code{@@node}.@refill
 
@@ -1603,7 +1632,7 @@
 @item  C-c C-c t
 @itemx M-x texinfo-insert-@@table
 @findex texinfo-insert-@@table
-Insert @code{@@table} followed by a @key{SPC} 
+Insert @code{@@table} followed by a @key{SPC}
 and leave the cursor after the @key{SPC}.@refill
 
 @item  C-c C-c v
@@ -1618,7 +1647,7 @@
 Insert @code{@@example} and put the
 cursor at the beginning of the next line.@refill
 
-@c M-@{  was the binding for texinfo-insert-braces; 
+@c M-@{  was the binding for texinfo-insert-braces;
 @c in Emacs 19, backward-paragraph will take this binding.
 @item C-c C-c @{
 @itemx M-x texinfo-insert-braces
@@ -1698,7 +1727,7 @@
 in the Texinfo file.@refill
 
 @table @kbd
-@item  C-c C-s 
+@item  C-c C-s
 @itemx M-x texinfo-show-structure
 @findex texinfo-show-structure
 Show the @code{@@chapter}, @code{@@section}, and such lines of a
@@ -1731,7 +1760,7 @@
 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more
 information about the narrowing commands.)@refill
 
-@vindex page-delimiter 
+@vindex page-delimiter
 @cindex Page delimiter in Texinfo mode
 In addition to providing the @code{texinfo-show-structure} command,
 Texinfo mode sets the value of the page delimiter variable to match
@@ -1748,7 +1777,7 @@
 @cindex Updating nodes and menus
 @cindex Create nodes, menus automatically
 @cindex Insert nodes, menus automatically
-@cindex Automatically insert nodes, menus 
+@cindex Automatically insert nodes, menus
 
 Texinfo mode provides commands for automatically creating or updating
 menus and node pointers.  The commands are called ``update'' commands
@@ -1900,7 +1929,7 @@
 @itemx M-x texinfo-all-menus-update
 @findex texinfo-all-menus-update
 Create or update all the menus in the buffer.  With an argument
-(@kbd{C-u} as prefix argument, if interactive), first insert 
+(@kbd{C-u} as prefix argument, if interactive), first insert
 or update all the node
 pointers before working on the menus.@refill
 
@@ -1914,7 +1943,7 @@
 
 @example
 C-u C-c C-u C-a
-@exdent or 
+@exdent or
 C-u M-x texinfo-all-menus-update
 @end example
 
@@ -1944,7 +1973,7 @@
 @cindex Requirements for updating commands
 
 To use the updating commands, you must organize the Texinfo file
-hierarchically with chapters, sections, subsections, and the like.  
+hierarchically with chapters, sections, subsections, and the like.
 When you construct the hierarchy of the manual, do not `jump down'
 more than one level at a time: you can follow the `Top' node with a
 chapter, but not with a section; you can follow a chapter with a
@@ -2000,7 +2029,7 @@
 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands
 require that you insert menus in the file.@refill
 
-@node Other Updating Commands,  , Updating Requirements, Updating Nodes and Menus
+@node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus
 @comment  node-name,  next,  previous,  up
 @subsection Other Updating Commands
 
@@ -2130,10 +2159,8 @@
 M-x makeinfo-buffer
 @end example
 
-For the Info formatting commands to work, the file @emph{must} include
-a line that has @code{@@setfilename} in its header.@refill
-
-Not all systems support the @code{makeinfo}-based formatting commands.@refill
+For @TeX{} or the Info formatting commands to work, the file @emph{must}
+include a line that has @code{@@setfilename} in its header.@refill
 
 @xref{Create an Info File}, for details about Info formatting.@refill
 
@@ -2201,13 +2228,13 @@
 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related
 commands, such as @code{tex-show-print-queue}.@refill
 
-@node Texinfo Mode Summary,  , Printing, Texinfo Mode
+@node Texinfo Mode Summary, , Printing, Texinfo Mode
 @comment  node-name,  next,  previous,  up
 @section Texinfo Mode Summary
 
 In Texinfo mode, each set of commands has default keybindings that
 begin with the same keys.  All the commands that are custom-created
-for Texinfo mode begin with @kbd{C-c}.  The keys are somewhat 
+for Texinfo mode begin with @kbd{C-c}.  The keys are somewhat
 mnemonic.@refill
 
 @subheading Insert Commands
@@ -2288,7 +2315,7 @@
 
 @group
 C-c C-u C-a     @r{Make or update all}
-                @r{menus in a buffer.} 
+                @r{menus in a buffer.}
 @end group
 
 @group
@@ -2411,18 +2438,18 @@
 Generally, the beginning of a Texinfo file has four parts:@refill
 
 @enumerate
-@item 
+@item
 The header, delimited by special comment lines, that includes the
 commands for naming the Texinfo file and telling @TeX{} what
 definitions' file to use when processing the Texinfo file.@refill
 
-@item 
+@item
 A short statement of what the file is about, with a copyright notice
 and copying permissions.  This is enclosed in @code{@@ifinfo} and
 @code{@@end ifinfo} commands so that the formatters place it only
 in the Info file.@refill
 
-@item 
+@item
 A title page and copyright page, with a copyright notice and copying
 permissions.  This is enclosed between @code{@@titlepage} and
 @code{@@end titlepage} commands.  The title and copyright page appear
@@ -2480,7 +2507,7 @@
 @end group
 
 @group
-@@c  The following two commands 
+@@c  The following two commands
 @@c  start the copyright page.
 @@page
 @@vskip 0pt plus 1filll
@@ -2495,9 +2522,9 @@
 @@node Top, Overview, (dir), (dir)
 
 @@ifinfo
-This document describes @dots{} 
-
-This document applies to version @dots{} 
+This document describes @dots{}
+
+This document applies to version @dots{}
 of the program named @dots{}
 @@end ifinfo
 
@@ -2537,7 +2564,7 @@
 
 @example
 @group
-\input texinfo   @@c -*-texinfo-*-      
+\input texinfo   @@c -*-texinfo-*-
 @@setfilename sample.info
 @@settitle Sample Document
 @end group
@@ -2548,7 +2575,7 @@
 
 @example
 @group
-\input texinfo   @@c -*-texinfo-*-      
+\input texinfo   @@c -*-texinfo-*-
 @@c %**start of header
 @@setfilename sample.info
 @@settitle Sample Document
@@ -2557,7 +2584,7 @@
 @end example
 
 @menu
-* First Line::                  The first line of a Texinfo file.  
+* First Line::                  The first line of a Texinfo file.
 * Start of Header::             Formatting a region requires this.
 * setfilename::                 Tell Info the name of the Info file.
 * settitle::                    Create a title for the printed work.
@@ -2584,7 +2611,7 @@
 This line serves two functions:
 
 @enumerate
-@item 
+@item
 When the file is processed by @TeX{}, the @code{\input texinfo} command
 tells @TeX{} to load the macros needed for processing a Texinfo file.
 These are in a file called @file{texinfo.tex}, which is usually located
@@ -2594,7 +2621,7 @@
 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which
 is why it appears at the beginning of the file.@refill
 
-@item 
+@item
 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode
 specification tells Emacs to use Texinfo mode.@refill
 @end enumerate
@@ -2628,8 +2655,8 @@
 @cindex Info file requires @code{@@setfilename}
 @findex setfilename
 
-In order to be made into an Info file, a Texinfo file must contain a line
-that looks like this:@refill
+In order to serve as the primary input file for either @code{makeinfo}
+or @TeX{}, a Texinfo file must contain a line that looks like this:
 
 @example
 @@setfilename @var{info-file-name}
@@ -2642,8 +2669,9 @@
 
 The @code{@@setfilename} line specifies the name of the Info file to be
 generated.  This name should be different from the name of the Texinfo
-file.  The convention is to write a name with a @samp{.info} extension,
-to produce an Info file name such as @file{texinfo.info}.@refill
+file.  There are two conventions for choosing the name: you can either
+remove the @samp{.tex} extension from the input file name, or replace it
+with the @samp{.info} extension.
 
 Some operating systems cannot handle long file names.  You can run into
 a problem even when the file name you specify is itself short enough.
@@ -2652,14 +2680,16 @@
 `-10', `-11', and so on, to the original file name.  (@xref{Tag and
 Split Files, , Tag Files and Split Files}.)  The subfile name
 @file{texinfo.info-10}, for example, is too long for some systems; so
-the Info file name for this document is actually @file{texinfo} rather than
+the Info file name for this document is @file{texinfo} rather than
 @file{texinfo.info}.@refill
 
 The Info formatting commands ignore everything written before the
-@code{@@setfilename} line, which is why the very first line of 
+@code{@@setfilename} line, which is why the very first line of
 the file (the @code{\input} line) does not need to be commented out.
-The @code{@@setfilename} line is ignored when you typeset a printed
-manual.@refill
+
+The @code{@@setfilename} line produces no output when you typeset a
+printed manual, but is does an essential job: it opens the index,
+cross-reference, and other auxiliary files used by Texinfo.
 
 @node settitle, setchapternewpage, setfilename, Header
 @comment  node-name,  next,  previous,  up
@@ -2844,9 +2874,9 @@
 @xref{Refilling Paragraphs}, for a detailed description of what goes
 on.@refill
 
-@node End of Header,  , paragraphindent, Header
-@comment  node-name,  next,  previous,  up
-@subsection  End of Header
+@node End of Header, , paragraphindent, Header
+@comment  node-name,  next,  previous,  up
+@subsection End of Header
 @cindex End of header line
 
 Follow the header lines with an @w{end-of-header} line.
@@ -2946,8 +2976,8 @@
 @code{@@end titlepage} on a line by itself.@refill
 
 The @code{@@end titlepage} command starts a new page and turns on page
-numbering. (@xref{Headings, , Page Headings}, for details about how to
-generate of page headings.)  All the material that you want to
+numbering.  (@xref{Headings, , Page Headings}, for details about how to
+generate page headings.)  All the material that you want to
 appear on unnumbered pages should be put between the
 @code{@@titlepage} and @code{@@end titlepage} commands.  By using the
 @code{@@page} command you can force a page break within the region
@@ -2972,7 +3002,7 @@
 should also contain this information; see @ref{makeinfo top, ,
 @code{@@top}}.)@refill
 
-Texinfo provides two methods for creating a title page.  One method
+Texinfo provides two main methods for creating a title page.  One method
 uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands
 to generate a title page in which the words on the page are
 centered.@refill
@@ -2985,6 +3015,13 @@
 you want, and Texinfo does the formatting.  You may use either
 method.@refill
 
+@findex shorttitlepage
+For extremely simple applications, Texinfo also provides a command
+@code{@@shorttitlepage} which takes a single argument as the title.
+The argument is typeset on a page by itself and followed by a blank
+page.
+
+
 @node titlefont center sp, title subtitle author, titlepage, Titlepage & Copyright Page
 @comment  node-name,  next,  previous,  up
 @subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp}
@@ -3055,7 +3092,7 @@
 
 You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author}
 commands to create a title page in which the vertical and horizontal
-spacing is done for you automatically.  This contrasts with the method 
+spacing is done for you automatically.  This contrasts with the method
 described in
 the previous section, in which the @code{@@sp} command is needed to
 adjust vertical spacing.@refill
@@ -3201,7 +3238,7 @@
 @subsection Heading Generation
 @findex end titlepage
 @cindex Headings, page, begin to appear
-@cindex Titlepage end starts headings 
+@cindex Titlepage end starts headings
 @cindex End titlepage starts headings
 
 An @code{@@end titlepage} command on a line by itself not only marks
@@ -3211,7 +3248,7 @@
 To repeat what is said elsewhere,  Texinfo has two standard page heading
 formats, one for documents which are printed on one side of each sheet of paper
 (single-sided printing), and the other for documents which are printed on both
-sides of each sheet (double-sided printing).   
+sides of each sheet (double-sided printing).
 (@xref{setchapternewpage, ,@code{@@setchapternewpage}}.)
 You can specify these formats in different ways:@refill
 
@@ -3240,7 +3277,7 @@
 double-sided printing and no @code{@@setchapternewpage} command for
 single-sided printing.@refill
 
-@node headings on off,  , end titlepage, Titlepage & Copyright Page
+@node headings on off, , end titlepage, Titlepage & Copyright Page
 @comment  node-name,  next,  previous,  up
 @subsection The @code{@@headings} Command
 @findex headings
@@ -3253,7 +3290,7 @@
 headings prior to defining your own.  Write an @code{@@headings} command
 immediately after the @code{@@end titlepage} command.@refill
 
-There are four ways to use the @code{@@headings} command:@refill
+You can use @code{@@headings} as follows:@refill
 
 @table @code
 @item @@headings off
@@ -3264,10 +3301,18 @@
 @refill
 
 @item @@headings double
-@itemx @@headings on
 Turn on page headings appropriate for double-sided printing.  The two
 commands, @code{@@headings on} and @code{@@headings double}, are
 synonymous.@refill
+
+@item @@headings singleafter
+@itemx @@headings doubleafter
+Turn on @code{single} or @code{double} headings, respectively, after the
+current page is output.
+
+@item @@headings on
+Turn on page headings: @code{single} if @samp{@@setchapternewpage
+on}, @code{double} otherwise.
 @end table
 
 For example, suppose you write @code{@@setchapternewpage off} before the
@@ -3304,7 +3349,7 @@
 The `Top' node is the node from which you enter an Info file.@refill
 
 A `Top' node should contain a brief description of the Info file and an
-extensive, master menu for the whole Info file.  
+extensive, master menu for the whole Info file.
 This helps the reader understand what the Info file is
 about.  Also, you should write the version number of the program to
 which the Info file applies; or, at least, the edition number.@refill
@@ -3356,7 +3401,7 @@
 
 @group
 @@menu
-* Copying::                 Texinfo is freely 
+* Copying::                 Texinfo is freely
                               redistributable.
 * Overview::                What is Texinfo?
 @dots{}
@@ -3370,7 +3415,7 @@
 menu, which is usually the copying permissions, introduction, or first
 chapter.@refill
 
-@node Master Menu Parts,  , Title of Top Node, The Top Node
+@node Master Menu Parts, , Title of Top Node, The Top Node
 @subsection Parts of a Master Menu
 @cindex Master menu parts
 @cindex Parts of a master menu
@@ -3397,7 +3442,9 @@
 through an intermediary menu, an inquirer can go directly to a
 particular node when searching for specific information.  These menu
 items are not required; add them if you think they are a
-convenience.@refill
+convenience.  If you do use them, put @code{@@detailmenu} before the
+first one, and @code{@@end detailmenu} after the last; otherwise,
+@code{makeinfo} will get confused.
 @end itemize
 
 Each section in the menu can be introduced by a descriptive line.  So
@@ -3411,7 +3458,7 @@
 @example
 @group
 @@menu
-* Copying::             Texinfo is freely 
+* Copying::             Texinfo is freely
                           redistributable.
 * Overview::            What is Texinfo?
 * Texinfo Mode::        Special features in GNU Emacs.
@@ -3419,18 +3466,19 @@
 @dots{}
 @end group
 @group
-* Command and Variable Index::    
+* Command and Variable Index::
                         An entry for each @@-command.
 * Concept Index::       An entry for each concept.
 @end group
 
 @group
+@@detailmenu
  --- The Detailed Node Listing ---
 
 Overview of Texinfo
 
 * Info Files::          What is an Info file?
-* Printed Manuals::     Characteristics of 
+* Printed Manuals::     Characteristics of
                           a printed manual.
 @dots{}
 @dots{}
@@ -3439,15 +3487,16 @@
 @group
 Using Texinfo Mode
 
-* Info on a Region::    Formatting part of a file 
+* Info on a Region::    Formatting part of a file
                           for Info.
 @dots{}
 @dots{}
+@@end detailmenu
 @@end menu
 @end group
 @end example
 
-@node Software Copying Permissions,  , The Top Node, Beginning a File
+@node Software Copying Permissions, , The Top Node, Beginning a File
 @comment  node-name,  next,  previous,  up
 @section Software Copying Permissions
 @cindex Software copying permissions
@@ -3504,7 +3553,7 @@
 @end example
 
 @menu
-* Printing Indices & Menus::    How to print an index in hardcopy and 
+* Printing Indices & Menus::    How to print an index in hardcopy and
                                   generate index menus in Info.
 * Contents::                    How to create a table of contents.
 * File End::                    How to mark the end of a file.
@@ -3606,11 +3655,11 @@
 @code{texindex} program to convert these files to sorted index files.
 (@xref{Format/Print Hardcopy}, for more information.)@refill
 @end ignore
-@node     Contents, File End, Printing Indices & Menus, Ending a File
+@node Contents, File End, Printing Indices & Menus, Ending a File
 @comment  node-name,  next,  previous,  up
 @section Generating a Table of Contents
 @cindex Table of contents
-@cindex Contents, Table of 
+@cindex Contents, Table of
 @findex contents
 @findex summarycontents
 @findex shortcontents
@@ -3674,7 +3723,7 @@
 formatting commands ignore the @code{@@contents} and
 @code{@@shortcontents} commands.@refill
 
-@node File End,  , Contents, Ending a File
+@node File End, , Contents, Ending a File
 @comment  node-name,  next,  previous,  up
 @section @code{@@bye} File Ending
 @findex bye
@@ -3753,7 +3802,7 @@
      Chapter 1          Chapter 2          Chapter 3
         |                  |                  |
      --------           --------           --------
-    |        |         |        |         |        |         
+    |        |         |        |         |        |
  Section  Section   Section  Section   Section  Section
    1.1      1.2       2.1      2.2       3.1      3.2
 
@@ -3874,7 +3923,7 @@
                                                        @r{No new pages}
 @r{Numbered}       @r{Unnumbered}       @r{Lettered and numbered}  @r{Unnumbered}
 @r{In contents}    @r{In contents}          @r{In contents}        @r{Not in contents}
-                
+
                @@top                                    @@majorheading
 @@chapter       @@unnumbered          @@appendix          @@chapheading
 @@section       @@unnumberedsec       @@appendixsec       @@heading
@@ -3894,7 +3943,7 @@
                                                        @r{No new pages}
 @r{Numbered}      @r{Unnumbered}       @r{Lettered and numbered}  @r{Unnumbered}
 @r{In contents}      @r{In contents}           @r{In contents}         @r{Not in contents}
-                
+
                @@top                                    @@majorheading
 @@chapter       @@unnumbered          @@appendix          @@chapheading
 @@section       @@unnumberedsec       @@appendixsec       @@heading
@@ -3911,7 +3960,7 @@
                                                       @r{No new pages}
 @r{Numbered}      @r{Unnumbered}       @r{Lettered and numbered}  @r{Unnumbered}
 @r{In contents}      @r{In contents}           @r{In contents}         @r{Not in contents}
-                
+
                @@top                                    @@majorheading
 @@chapter       @@unnumbered          @@appendix          @@chapheading
 @@section       @@unnumberedsec       @@appendixsec       @@heading
@@ -3924,11 +3973,11 @@
 
 @node makeinfo top, chapter, Structuring Command Types, Structuring
 @comment  node-name,  next,  previous,  up
-@section @code{@@top} 
+@section @code{@@top}
 
 The @code{@@top} command is a special sectioning command that you use
 only after an @code{@@node Top} line at the beginning of a Texinfo file.
-The @code{@@top} command tells the @code{makeinfo} formatter 
+The @code{@@top} command tells the @code{makeinfo} formatter
 which node is the `Top'
 node.  It has the same typesetting effect as @code{@@unnumbered}
 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}).
@@ -3964,6 +4013,13 @@
 *******************
 @end example
 
+@findex centerchap
+Texinfo also provides a command @code{@@centerchap}, which is analogous
+to @code{@@unnumbered}, but centers its argument in the printed output.
+This kind of stylistic choice is not usually offered by Texinfo.
+@c but the Hacker's Dictionary wanted it ...
+
+
 @node unnumbered & appendix, majorheading & chapheading, chapter, Structuring
 @comment  node-name,  next,  previous,  up
 @section @code{@@unnumbered}, @code{@@appendix}
@@ -3985,6 +4041,7 @@
 line and follow it on the same line by the title, as you would if you
 were creating a chapter.@refill
 
+
 @node majorheading & chapheading, section, unnumbered & appendix, Structuring
 @section @code{@@majorheading}, @code{@@chapheading}
 @findex majorheading
@@ -4107,8 +4164,8 @@
 
 @node unnumberedsubsec appendixsubsec subheading, subsubsection, subsection, Structuring
 @comment  node-name,  next,  previous,  up
-@section The @code{@@subsection}-like Commands 
-@cindex Subsection-like commands 
+@section The @code{@@subsection}-like Commands
+@cindex Subsection-like commands
 @findex unnumberedsubsec
 @findex appendixsubsec
 @findex subheading
@@ -4131,7 +4188,7 @@
 @node subsubsection, Raise/lower sections, unnumberedsubsec appendixsubsec subheading, Structuring
 @comment  node-name,  next,  previous,  up
 @section The `subsub' Commands
-@cindex Subsub commands 
+@cindex Subsub commands
 @findex subsubsection
 @findex unnumberedsubsubsec
 @findex appendixsubsubsec
@@ -4166,7 +4223,7 @@
 headings.@refill
 @end table
 
-In Info,  `subsub' titles are underlined with periods.  
+In Info,  `subsub' titles are underlined with periods.
 For example,@refill
 
 @example
@@ -4183,13 +4240,13 @@
 @end group
 @end example
 
-@node Raise/lower sections,  , subsubsection, Structuring
+@node Raise/lower sections, , subsubsection, Structuring
 @comment  node-name,  next,  previous,  up
 @section @code{@@raisesections} and @code{@@lowersections}
-@findex @@raisesections
-@findex @@lowersections
+@findex raisesections
+@findex lowersections
 @cindex Raising and lowering sections
-@cindex Sections, raising and lowering 
+@cindex Sections, raising and lowering
 
 The @code{@@raisesections} and @code{@@lowersections} commands raise and
 lower the hierarchical level of chapters, sections, subsections and the
@@ -4264,7 +4321,7 @@
 books.@refill
 
 @menu
-* Two Paths::                   Different commands to structure 
+* Two Paths::                   Different commands to structure
                                   Info output and printed output.
 * Node Menu Illustration::      A diagram, and sample nodes and menus.
 * node::                        How to write a node, in detail.
@@ -4326,7 +4383,7 @@
      Chapter 1          Chapter 2          Chapter 3
         |                  |                  |
      --------           --------           --------
-    |        |         |        |         |        |         
+    |        |         |        |         |        |
  Section  Section   Section  Section   Section  Section
    1.1      1.2       2.1      2.2       3.1      3.2
 
@@ -4368,7 +4425,7 @@
 @group
     @@menu
     * Sect. 2.1::    Description of this section.
-    * Sect. 2.2::  
+    * Sect. 2.2::
     @@end menu
 @end group
 @end example
@@ -4462,7 +4519,7 @@
 * Node Line Tips::              Keep names short.
 * Node Line Requirements::      Keep names unique, without @@-commands.
 * First Node::                  How to write a `Top' node.
-* makeinfo top command::        How to use the @code{@@top} command. 
+* makeinfo top command::        How to use the @code{@@top} command.
 * Top Node Summary::            Write a brief description for readers.
 @end menu
 
@@ -4528,8 +4585,8 @@
 
 If you wish, you can ignore @code{@@node} lines altogether in your first
 draft and then use the @code{texinfo-insert-node-lines} command to
-create @code{@@node} lines for you.  However, we do not 
-recommend this practice.  It is better to name the node itself 
+create @code{@@node} lines for you.  However, we do not
+recommend this practice.  It is better to name the node itself
 at the same time that you
 write a segment so you can easily make cross references.  A large number
 of cross references are an especially important feature of a good Info
@@ -4624,7 +4681,7 @@
 For example, the following is a section title:
 
 @smallexample
-@@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@} 
+@@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@}
 @end smallexample
 
 @noindent
@@ -4641,7 +4698,7 @@
 
 @node First Node, makeinfo top command, Node Line Requirements, node
 @comment  node-name,  next,  previous,  up
-@subsection The First Node 
+@subsection The First Node
 @cindex @samp{@r{Top}} node is first
 @cindex First node
 
@@ -4697,7 +4754,7 @@
 @code{@@unnumbered} when you use the Texinfo updating commands to
 create or update pointers and menus.@refill
 
-@node Top Node Summary,  , makeinfo top command, node
+@node Top Node Summary, , makeinfo top command, node
 @subsection The `Top' Node Summary
 @cindex @samp{@r{Top}} node summary
 
@@ -4726,7 +4783,7 @@
 contain this information: see @ref{titlepage, ,
 @code{@@titlepage}}.)@refill
 
-@node makeinfo Pointer Creation,  , node, Nodes
+@node makeinfo Pointer Creation, , node, Nodes
 @section Creating Pointers with @code{makeinfo}
 @cindex Creating pointers with @code{makeinfo}
 @cindex Pointer creation with @code{makeinfo}
@@ -4834,11 +4891,11 @@
 * Menu Parts::                A menu entry has three parts.
 * Less Cluttered Menu Entry:: Two part menu entry.
 * Menu Example::              Two and three part entries.
-* Other Info Files::          How to refer to a different 
+* Other Info Files::          How to refer to a different
                                 Info file.
 @@end menu
 
-@@node Menu Location, Writing a Menu,  , Menus
+@@node Menu Location, Writing a Menu, , Menus
 @@ifinfo
 @@heading Menus Need Short Nodes
 @@end ifinfo
@@ -4867,7 +4924,7 @@
 Larger Units of Text
 
 * Files::                       All about handling files.
-* Multiples: Buffers.           Multiple buffers; editing 
+* Multiples: Buffers.           Multiple buffers; editing
                                   several files at once.
 @@end menu
 @end group
@@ -4992,7 +5049,7 @@
 Larger Units of Text
 
 * Files::                       All about handling files.
-* Multiples: Buffers.           Multiple buffers; editing 
+* Multiples: Buffers.           Multiple buffers; editing
                                   several files at once.
 @@end menu
 @end group
@@ -5008,7 +5065,7 @@
 Larger Units of Text
 
 * Files::                       All about handling files.
-* Multiples: Buffers.           Multiple buffers; editing 
+* Multiples: Buffers.           Multiple buffers; editing
                                   several files at once.
 @end group
 @end example
@@ -5023,7 +5080,7 @@
 @samp{Buffers}, they must be the names of nodes in the same Info file
 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill
 
-@node Other Info Files,  , Menu Example, Menus
+@node Other Info Files, , Menu Example, Menus
 @comment  node-name,  next,  previous,  up
 @section Referring to Other Info Files
 @cindex Referring to other Info files
@@ -5057,9 +5114,9 @@
 @example
 @group
 @@menu
-* Outlining: (emacs)Outline Mode. The major mode for 
+* Outlining: (emacs)Outline Mode. The major mode for
                                   editing outlines.
-* Rebinding: (emacs)Rebinding.    How to redefine the 
+* Rebinding: (emacs)Rebinding.    How to redefine the
                                   meaning of a key.
 @@end menu
 @end group
@@ -5078,7 +5135,7 @@
 @example
 @group
 * Info: (info).         Documentation browsing system.
-* Emacs: (emacs).       The extensible, self-documenting 
+* Emacs: (emacs).       The extensible, self-documenting
                         text editor.
 @end group
 @end example
@@ -5223,7 +5280,7 @@
 
 @example
 @group
-@@xref@{Node name, Cross Reference Name, Particular Topic, 
+@@xref@{Node name, Cross Reference Name, Particular Topic,
 info-file-name, A Printed Manual@}, for details.
 @end group
 @end example
@@ -5464,7 +5521,7 @@
 @end example
 
 @noindent
-and 
+and
 
 @quotation
 See Section 5.2 [Electrical Effects], page 57.
@@ -5487,7 +5544,7 @@
 @end example
 
 @noindent
-and 
+and
 
 @quotation
 See Section 5.2 [Electrical Effects], page 57, for more info.
@@ -5590,12 +5647,12 @@
 @@xref@{Sample Program@}.
 @@xref@{Glossary@}.
 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}.
-@@xref@{Close Output, , Closing Output Files and Pipes@}, 
+@@xref@{Close Output, , Closing Output Files and Pipes@},
    for more information.
 @@xref@{Regexp, , Regular Expressions as Patterns@}.
 @end smallexample
 
-@node Four and Five Arguments,  , Three Arguments, xref
+@node Four and Five Arguments, , Three Arguments, xref
 @subsection @code{@@xref} with Four and Five Arguments
 
 In a cross reference, a fourth argument specifies the name of another
@@ -5622,7 +5679,7 @@
 For example,
 
 @example
-@@xref@{Electrical Effects, Lightning, Thunder and Lightning, 
+@@xref@{Electrical Effects, Lightning, Thunder and Lightning,
 weather, An Introduction to Meteorology@}, for details.
 @end example
 
@@ -5681,7 +5738,7 @@
 For example,
 
 @example
-@@xref@{Electrical Effects, , Thunder and Lightning, 
+@@xref@{Electrical Effects, , Thunder and Lightning,
 weather, An Introduction to Meteorology@}, for details.
 @end example
 
@@ -5921,7 +5978,7 @@
 breaks up the flow of text.@refill
 @end quotation
 
-@node inforef,  , pxref, Cross References
+@node inforef, , pxref, Cross References
 @comment  node-name,  next,  previous,  up
 @section @code{@@inforef}
 @cindex Cross references using @code{@@inforef}
@@ -6053,7 +6110,7 @@
 an @emph{intentional} formatting language rather than a @emph{typesetting}
 formatting language.)@refill
 
-For example, in a printed manual, 
+For example, in a printed manual,
 code is usually illustrated in a typewriter font;
 @code{@@code} tells @TeX{} to typeset this text in this font.  But it
 would be easy to change the way @TeX{} highlights code to use another
@@ -6073,6 +6130,8 @@
 * file::                        How to indicate the name of a file.
 * dfn::                         How to specify a definition.
 * cite::                        How to refer to a book that is not in Info.
+* url::                         How to indicate a world wide web reference.
+* email::                       How to indicate an electronic mail address.
 @end menu
 
 @node Useful Highlighting, code, Indicating, Indicating
@@ -6106,9 +6165,15 @@
 @item @@var@{@var{metasyntactic-variable}@}
 Indicate a metasyntactic variable.@refill
 
+@item @@url@{@var{uniform-resource-locator}@}
+Indicate a uniform resource locator for the World Wide Web.
+
 @item @@file@{@var{file-name}@}
 Indicate the name of a file.@refill
 
+@item @@email@{@var{email-address}@}
+Indicate an electronic mail address.
+
 @item @@dfn@{@var{term}@}
 Indicate the introductory or defining use of a term.@refill
 
@@ -6141,7 +6206,7 @@
 and other variables.@refill
 
 Use @code{@@code} for command names in command languages that
-resemble programming languages, such as Texinfo or the shell.  
+resemble programming languages, such as Texinfo or the shell.
 For example, @code{@@code} and @code{@@samp} are produced by writing
 @samp{@@code@{@@@@code@}} and @samp{@@code@{@@@@samp@}} in the Texinfo
 source, respectively.@refill
@@ -6234,7 +6299,7 @@
 press the @key{RET} key'':@refill
 
 @example
-@@kbd@{r @@key@{RET@}@}  
+@@kbd@{r @@key@{RET@}@}
 @end example
 
 @noindent
@@ -6244,7 +6309,7 @@
 you type; for example:@refill
 
 @example
-To give the @@code@{logout@} command, 
+To give the @@code@{logout@} command,
 type the characters @@kbd@{l o g o u t @@key@{RET@}@}.
 @end example
 
@@ -6252,7 +6317,7 @@
 This produces:
 
 @quotation
-To give the @code{logout} command, 
+To give the @code{logout} command,
 type the characters @kbd{l o g o u t @key{RET}}.
 @end quotation
 
@@ -6283,10 +6348,7 @@
 @@kbd@{C-x @@key@{ESC@}@}
 @end example
 
-@c bob: this next sentence looks weird, having a semi-colon followed by
-@c a colon that ends the "sentence"..  --mew
-Here is a list of the recommended names for keys; they are all in
-upper case:@refill
+Here is a list of the recommended names for keys:
 @cindex Recommended names for keys
 @cindex Keys, recommended names
 @cindex Names recommended for keys
@@ -6299,7 +6361,8 @@
 @item RET
 Return
 @item LFD
-Linefeed
+Linefeed (however, since most keyboards nowadays do not have a Linefeed key,
+it might be better to call this character @kbd{C-j}.
 @item TAB
 Tab
 @item BS
@@ -6308,29 +6371,30 @@
 Escape
 @item DEL
 Delete
-@item SFT
+@item SHIFT
 Shift
-@item CTL
+@item CTRL
 Control
 @item META
 Meta
 @end table
 @end quotation
 
-There are subtleties to handling words like `meta' or `ctl' that are
-names of shift keys.  When mentioning a character in which the shift
-key is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone;
-do not use the @code{@@key} command; but when you are referring to the
+@cindex META key
+There are subtleties to handling words like `meta' or `ctrl' that are
+names of shift keys.  When mentioning a character in which the shift key
+is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone; do
+not use the @code{@@key} command; but when you are referring to the
 shift key in isolation, use the @code{@@key} command.  For example,
 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
-@samp{@@key@{META@}} to produce @key{META}.  This is because
-@kbd{Meta-a} refers to keys that you press on a keyboard, but
-@key{META} refers to a key without implying that you press it.  In
-short, use @code{@@kbd} for what you do, and use @code{@@key} for what
-you talk about: ``Press @code{@@kbd@{M-a@}} to move point to the
-beginning of the sentence.  The @code{@@key@{META@}} key is often in the
-lower left of the keyboard.''@refill
-@cindex META key
+@samp{@@key@{META@}} to produce @key{META}.
+
+@c I don't think this is a good explanation.
+@c I think it will puzzle readers more than it clarifies matters.  -- rms.
+@c In other words, use @code{@@kbd} for what you do, and use @code{@@key}
+@c for what you talk about: ``Press @code{@@kbd@{M-a@}} to move point to
+@c the beginning of the sentence.  The @code{@@key@{META@}} key is often in
+@c the lower left of the keyboard.''@refill
 
 @node samp, var, key, Indicating
 @comment  node-name,  next,  previous,  up
@@ -6344,7 +6408,7 @@
 addition, it is printed in a fixed-width font.@refill
 
 @example
-To match @@samp@{foo@} at the end of the line, 
+To match @@samp@{foo@} at the end of the line,
 use the regexp @@samp@{foo$@}.
 @end example
 
@@ -6372,8 +6436,8 @@
 
 @example
 @group
-In English, the vowels are @@samp@{a@}, @@samp@{e@}, 
-@@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes 
+In English, the vowels are @@samp@{a@}, @@samp@{e@},
+@@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes
 @@samp@{y@}.
 @end group
 @end example
@@ -6383,7 +6447,7 @@
 
 @quotation
 In English, the vowels are @samp{a}, @samp{e},
-@samp{i}, @samp{o}, @samp{u},  and sometimes 
+@samp{i}, @samp{o}, @samp{u},  and sometimes
 @samp{y}.
 @end quotation
 
@@ -6405,13 +6469,13 @@
 properly formatted using @code{@@code}.@refill
 
 The effect of @code{@@var} in the Info file is to change the case of
-the argument to all upper case; in the printed manual, to italicize it.  
+the argument to all upper case; in the printed manual, to italicize it.
 
 @need 700
 For example,
 
 @example
-To delete file @@var@{filename@}, 
+To delete file @@var@{filename@},
 type @@code@{rm @@var@{filename@}@}.
 @end example
 
@@ -6476,7 +6540,7 @@
 For example,@refill
 
 @example
-The @@file@{.el@} files are in 
+The @@file@{.el@} files are in
 the @@file@{/usr/local/emacs/lisp@} directory.
 @end example
 
@@ -6484,7 +6548,7 @@
 produces
 
 @quotation
-The @file{.el} files are in 
+The @file{.el} files are in
 the @file{/usr/local/emacs/lisp} directory.
 @end quotation
 
@@ -6517,7 +6581,7 @@
 to say explicitly that it is a definition, but it should contain the
 information of a definition---it should make the meaning clear.
 
-@node cite,  , dfn, Indicating
+@node cite, url, dfn, Indicating
 @comment  node-name,  next,  previous,  up
 @subsection @code{@@cite}@{@var{reference}@}
 @findex cite
@@ -6529,16 +6593,16 @@
 (If a book is written in Texinfo, it is better to use a cross reference
 command since a reader can easily follow such a reference in Info.
 @xref{xref, , @code{@@xref}}.)@refill
+
 @ignore
-
-@c node ctrl,  , cite, Indicating
+@c node ctrl, , cite, Indicating
 @comment  node-name,  next,  previous,  up
 @c subsection @code{@@ctrl}@{@var{ctrl-char}@}
 @findex ctrl
 
 The @code{@@ctrl} command is seldom used.  It describes an @sc{ascii}
 control character by inserting the actual character into the Info
-file.  
+file.
 
 Usually, in Texinfo, you talk what you type as keyboard entry by
 describing it with @code{@@kbd}: thus, @samp{@@kbd@{C-a@}} for
@@ -6579,7 +6643,39 @@
 @var{ch}.@refill
 @end ignore
 
-@node Emphasis,  , Indicating, Marking Text
+@node url, email, cite, Indicating
+@subsection @code{@@url}@{@var{uniform-resource-locator}@}
+@findex url
+
+Use the @code{@@url} command to indicate a uniform resource locator on
+the World Wide Web.  For example:
+
+@c Two lines because one is too long for smallbook format.
+@example
+The official GNU ftp site is
+@@url@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}.
+@end example
+
+In Info and @TeX{}, this acts like @code{@@samp}.  When
+Texinfo is converted to HTML, this produces a link you can follow.
+
+@node email, , url, Indicating
+@subsection @code{@@email}@{@var{email-address}@}
+@findex email
+
+Use the @code{@@email} command to indicate an electronic mail address.
+For example:
+
+@example
+Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}.
+@end example
+
+In Info and @TeX{}, this acts like @code{@@samp}.  When we have support
+for conversion of Texinfo to HTML, this will produce a link you can
+follow to bring up a mail composition window initialized with
+@var{email-address}.
+
+@node Emphasis, , Indicating, Marking Text
 @comment node-name,  next,  previous,  up
 @section Emphasizing Text
 @cindex Emphasizing text
@@ -6629,7 +6725,7 @@
 produces the following in printed output:
 
 @quotation
-@strong{Caution}: @code{rm * .[^.]*} removes @emph{all} 
+@strong{Caution}: @code{rm * .[^.]*} removes @emph{all}
 files in the directory.
 @end quotation
 
@@ -6642,7 +6738,7 @@
 @end ifinfo
 
 @example
-     *Caution*: `rm * .[^.]*' removes *all* 
+     *Caution*: `rm * .[^.]*' removes *all*
      files in the directory.
 @end example
 
@@ -6758,20 +6854,22 @@
 you need to use one, it probably indicates a gap in the Texinfo
 language.@refill
 
-@node Customized Highlighting,  , Fonts, Emphasis
+@node Customized Highlighting, , Fonts, Emphasis
 @comment node-name,  next,  previous,  up
 @subsection Customized Highlighting
-@findex @@definfoenclose
-@cindex `Enclosure' command for Info
 @cindex Highlighting, customized
 @cindex Customized highlighting
 
+@c I think this whole section is obsolete with the advent of macros
+@c --karl, 15sep96.
 You can use regular @TeX{} commands inside of @code{@@iftex} @dots{}
 @code{@@end iftex} to create your own customized highlighting commands
 for Texinfo.  The easiest way to do this is to equate your customized
 commands with pre-existing commands, such as those for italics.  Such
 new commands work only with @TeX{}.@refill
 
+@findex definfoenclose
+@cindex Enclosure command for Info
 You can use the @code{@@definfoenclose} command inside of
 @code{@@ifinfo} @dots{} @code{@@end ifinfo} to define commands for Info
 with the same names as new commands for @TeX{}.
@@ -6801,7 +6899,7 @@
 This defines @code{@@phoo} as a command that causes @TeX{} to typeset
 the argument to @code{@@phoo} in italics.  @code{@@global@@let} tells
 @TeX{} to equate the next argument with the argument that follows the
-equals sign.  
+equals sign.
 
 @need 1300
 For Info, write the following to tell the Info formatters to enclose the
@@ -6818,7 +6916,7 @@
 @noindent
 Write the @code{@@definfoenclose} command on a line and follow it with
 three arguments separated by commas (commas are used as separators in an
-@code{@@node} line in the same way).@refill 
+@code{@@node} line in the same way).@refill
 
 @itemize @bullet
 @item
@@ -6829,7 +6927,7 @@
 the second argument is the Info start delimiter string; and,
 
 @item
-the third argument is the Info end delimiter string.  
+the third argument is the Info end delimiter string.
 @end itemize
 
 @noindent
@@ -6854,7 +6952,7 @@
 the other for Info.
 
 @need 1200
-Here is another example: 
+Here is another example:
 
 @example
 @group
@@ -6890,7 +6988,7 @@
 @findex end
 
 @menu
-* Block Enclosing Commands::    Use different constructs for 
+* Block Enclosing Commands::    Use different constructs for
                                   different purposes.
 * quotation::                   How to write a quotation.
 * example::                     How to write an example in a fixed-width font.
@@ -6920,7 +7018,7 @@
 in a fixed-width font, and indented but not filled.@refill
 
 @item @@lisp
-Illustrate Lisp code. The text is printed in a fixed-width font, 
+Illustrate Lisp code. The text is printed in a fixed-width font,
 and indented but not filled.@refill
 
 @item @@smallexample
@@ -6944,7 +7042,7 @@
 @end table
 
 The @code{@@exdent} command is used within the above constructs to
-undo the indentation of a line.  
+undo the indentation of a line.
 
 The @code{@@flushleft} and @code{@@flushright} commands are used to line
 up the left or right margins of unfilled text.@refill
@@ -7021,7 +7119,7 @@
 @example
 @group
 This is an example of text written between an
-@code{@@example} command 
+@code{@@example} command
 and an @code{@@end example} command.
 The text is indented but not filled.
 @end group
@@ -7103,7 +7201,7 @@
 This is an example
 @@end example
 
-@@noindent 
+@@noindent
 This line is not indented.  As you can see, the
 beginning of the line is fully flush left with the line
 that follows after it.  (This whole example is between
@@ -7168,7 +7266,7 @@
 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples
 @comment  node-name,  next,  previous,  up
 @section @code{@@smallexample} and @code{@@smalllisp}
-@cindex Small book example 
+@cindex Small book example
 @cindex Example for a small book
 @cindex Lisp example for a small book
 @findex smallexample
@@ -7208,12 +7306,12 @@
 @tex
 % Remove extra vskip; this is a kludge to counter the effect of display
 \vskip-3\baselineskip
-{\ninett 
+{\ninett
 \dots{} to make sure that you have the freedom to
-distribute copies of free software (and charge for 
-this service if you wish), that you receive source 
-code or can get it if you want it, that you can 
-change the software or use pieces of it in new free 
+distribute copies of free software (and charge for
+this service if you wish), that you receive source
+code or can get it if you want it, that you can
+change the software or use pieces of it in new free
 programs; and that you know you can do these things.}
 @end tex
 @end display
@@ -7282,7 +7380,7 @@
 @format
 This is an example of text written between an @code{@@format} command
 and an @code{@@end format} command.  As you can see
-from this example, 
+from this example,
 the @code{@@format} command does not fill the text.
 @end format
 
@@ -7344,7 +7442,7 @@
 @example
 @group
 @@flushleft
-This text is 
+This text is
 written flushleft.
 @@end flushleft
 @end group
@@ -7355,7 +7453,7 @@
 
 @quotation
 @flushleft
-This text is 
+This text is
 written flushleft.
 @end flushleft
 @end quotation
@@ -7372,7 +7470,7 @@
 @group
 @@flushright
 Here is an example of text written
-flushright.  The @@code@{@@flushright@} command 
+flushright.  The @@code@{@@flushright@} command
 right justifies every line but leaves the
 left end ragged.
 @@end flushright
@@ -7389,7 +7487,7 @@
 left end ragged.
 @end flushright
 
-@node cartouche,  , flushleft & flushright, Quotations and Examples
+@node cartouche, , flushleft & flushright, Quotations and Examples
 @section Drawing Cartouches Around Examples
 @findex cartouche
 @cindex Box with rounded corners
@@ -7404,7 +7502,7 @@
 no effect in the Info file.@refill
 
 @need 1500
-For example, 
+For example,
 
 @example
 @group
@@ -7450,6 +7548,7 @@
 * itemize::                     How to construct a simple list.
 * enumerate::                   How to construct a numbered list.
 * Two-column Tables::           How to construct a two-column table.
+* Multi-column Tables::         How to construct generalized tables.
 @end menu
 
 @ifinfo
@@ -7482,13 +7581,13 @@
 Here is an itemized list of the different kinds of table and lists:@refill
 
 @itemize @bullet
-@item 
+@item
 Itemized lists with and without bullets.
 
-@item 
+@item
 Enumerated lists, using numbers or letters.
 
-@item 
+@item
 Two-column tables with highlighting.
 @end itemize
 
@@ -7497,13 +7596,13 @@
 Here is an enumerated list with the same items:@refill
 
 @enumerate
-@item 
+@item
 Itemized lists with and without bullets.
 
-@item 
+@item
 Enumerated lists, using numbers or letters.
 
-@item 
+@item
 Two-column tables with highlighting.
 @end enumerate
 
@@ -7522,7 +7621,7 @@
 @item @@table
 @itemx @@ftable
 @itemx @@vtable
-Two-column tables with highlighting.
+Two-column tables with indexing.
 @end table
 
 @node itemize, enumerate, Introducing Lists, Lists and Tables
@@ -7532,7 +7631,7 @@
 @findex itemize
 
 The @code{@@itemize} command produces sequences of indented
-paragraphs, with a bullet or other mark inside the left margin 
+paragraphs, with a bullet or other mark inside the left margin
 at the beginning of each paragraph for which such a mark is desired.@refill
 
 Begin an itemized list by writing @code{@@itemize} at the beginning of
@@ -7643,13 +7742,13 @@
 the left margin contain successive integers or letters.
 (@xref{itemize, , @code{@@itemize}}.)@refill
 
-Write the @code{@@enumerate} command at the beginning of a line. 
+Write the @code{@@enumerate} command at the beginning of a line.
 The command does not require an argument, but accepts either a number or
 a letter as an option.
-Without an argument, @code{@@enumerate} starts the list 
+Without an argument, @code{@@enumerate} starts the list
 with the number 1.  With a numeric argument, such as 3,
 the command starts the list with that number.
-With an upper or lower case letter, such as @kbd{a} or @kbd{A}, 
+With an upper or lower case letter, such as @kbd{a} or @kbd{A},
 the command starts the list with that letter.@refill
 
 Write the text of the enumerated list in the same way you write an
@@ -7721,38 +7820,37 @@
 using @code{@@enumerate} with an argument of @kbd{a}.@refill
 @sp 1
 @enumerate a
-@item 
+@item
 @code{@@enumerate}
 
 Without an argument, produce a numbered list, starting with the number
 1.@refill
 
-@item 
+@item
 @code{@@enumerate @var{positive-integer}}
 
 With a (positive) numeric argument, start a numbered list with that
 number.  You can use this to continue a list that you interrupted with
 other text.@refill
 
-@item 
+@item
 @code{@@enumerate @var{upper-case-letter}}
 
-With an upper case letter as argument, start a list 
+With an upper case letter as argument, start a list
 in which each item is marked
 by a letter, beginning with that upper case letter.@refill
 
-@item 
+@item
 @code{@@enumerate @var{lower-case-letter}}
 
-With a lower case letter as argument, start a list 
+With a lower case letter as argument, start a list
 in which each item is marked by
 a letter, beginning with that lower case letter.@refill
 @end enumerate
 
 You can also nest enumerated lists, as in an outline.@refill
 
-@node Two-column Tables,  , enumerate, Lists and Tables
-@comment  node-name,  next,  previous,  up
+@node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables
 @section Making a Two-column Table
 @cindex Tables, making two-column
 @findex table
@@ -7779,7 +7877,7 @@
 
 Write the @code{@@table} command at the beginning of a line and follow
 it on the same line with an argument that is a Texinfo command such as
-@code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}.  
+@code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}.
 Although these commands are usually followed by arguments in braces,
 in this case you use the command name without an argument because
 @code{@@item} will supply the argument.  This command will be applied
@@ -7846,7 +7944,7 @@
 
 @node ftable vtable, itemx, table, Two-column Tables
 @comment  node-name,  next,  previous,  up
-@subsection @code{@@ftable} and @code{@@vtable} 
+@subsection @code{@@ftable} and @code{@@vtable}
 @cindex Tables with indexes
 @cindex Indexing table entries automatically
 @findex ftable
@@ -7869,7 +7967,9 @@
 with an @code{@@end ftable} or @code{@@end vtable} command on a line by
 itself.
 
-@node itemx,  , ftable vtable, Two-column Tables
+See the example for @code{@@table} in the previous section.
+
+@node itemx, , ftable vtable, Two-column Tables
 @comment  node-name,  next,  previous,  up
 @subsection @code{@@itemx}
 @cindex Two named items for @code{@@table}
@@ -7912,6 +8012,127 @@
 (Note also that this example illustrates multi-line supporting text in
 a two-column table.)@refill
 
+
+@node Multi-column Tables, , Two-column Tables, Lists and Tables
+@section Multi-column Tables
+@cindex Tables, making multi-column
+@findex multitable
+
+@code{@@multitable} allows you to construct tables with any number of
+columns, with each column having any width you like.
+
+You define the column widths on the @code{@@multitable} line itself, and
+write each row of the actual table following an @code{@@item} command,
+with columns separated by an @code{@@tab} command.  Finally, @code{@@end
+multitable} completes the table.  Details in the sections below.
+
+@menu
+* Multitable Column Widths::    Defining multitable column widths.
+* Multitable Rows::             Defining multitable rows, with examples.
+@end menu
+
+@node Multitable Column Widths, Multitable Rows, Multi-column Tables, Multi-column Tables
+@subsection Multitable Column Widths
+@cindex Multitable column widths
+@cindex Column widths, defining for multitables
+@cindex Widths, defining multitable column
+
+You can define the column widths for a multitable in two ways: as
+fractions of the line length; or with a prototype row.  Mixing the two
+methods is not supported.  In either case, the widths are defined
+entirely on the same line as the @code{@@multitable} command.
+
+@enumerate
+@item
+@findex columnfractions
+@cindex Line length, column widths as fraction of
+To specify column widths as fractions of the line length, write
+@code{@@columnfractions} and the decimal numbers (presumably less than
+1) after the @code{@@multitable} command, as in:
+
+@example
+@@multitable @@columnfractions .33 .33 .33
+@end example
+
+@noindent The fractions need not add up exactly to 1.0, as these do
+not.  This allows you to produce tables that do not need the full line
+length.
+
+@item
+@cindex Prototype row, column widths defined by
+To specify a prototype row, write the longest entry for each column
+enclosed in braces after the @code{@@multitable} command.  For example:
+
+@example
+@@multitable @{some text for column one@} @{for column two@}
+@end example
+
+@noindent
+The first column will then have the width of the typeset `some text for
+column one', and the second column the width of `for column two'.
+
+The prototype entries need not appear in the table itself.
+
+Although we used simple text in this example, the prototype entries can
+contain Texinfo commands; markup commands such as @code{@@code} are
+particularly likely to be useful.
+
+@end enumerate
+
+
+@node Multitable Rows, , Multitable Column Widths, Multi-column Tables
+@subsection Multitable Rows
+@cindex Multitable rows
+@cindex Rows, of a multitable
+
+@findex item
+@cindex tab
+After the @code{@@multitable} command defining the column widths (see
+the previous section), you begin each row in the body of a multitable
+with @code{@@item}, and separate the column entries with @code{@@tab}.
+Line breaks are not special within the table body, and you may break
+input lines in your source file as necessary.
+
+Here is a complete example of a multi-column table (the text is from
+the GNU Emacs manual):
+
+@example
+@@multitable @@columnfractions .15 .45 .4
+@@item Key @@tab Command @@tab Description
+@@item C-x 2
+@@tab @@code@{split-window-vertically@}
+@@tab Split the selected window into two windows,
+with one above the other.
+@@item C-x 3
+@@tab @@code@{split-window-horizontally@}
+@@tab Split the selected window into two windows
+positioned side by side.
+@@item C-Mouse-2
+@@tab
+@@tab In the mode line or scroll bar of a window,
+split that window.
+@@end multitable
+@end example
+
+@noindent produces:
+
+@multitable @columnfractions .15 .45 .4
+@item Key @tab Command @tab Description
+@item C-x 2
+@tab @code{split-window-vertically}
+@tab Split the selected window into two windows,
+with one above the other.
+@item C-x 3
+@tab @code{split-window-horizontally}
+@tab Split the selected window into two windows
+positioned side by side.
+@item C-Mouse-2
+@tab
+@tab In the mode line or scroll bar of a window,
+split that window.
+@end multitable
+
+
 @node Indices, Insertions, Lists and Tables, Top
 @comment node-name,  next,  previous,  up
 @chapter Creating Indices
@@ -8075,8 +8296,8 @@
 Text}).@refill
 @cindex Index font types
 
-@cindex Predefined indexing commands 
-@cindex Indexing commands, predefined 
+@cindex Predefined indexing commands
+@cindex Indexing commands, predefined
 The six indexing commands for predefined indices are:
 
 @table @code
@@ -8236,7 +8457,7 @@
 index into a concept index, all the function names are printed in the
 @code{@@code} font as you would expect.@refill
 
-@node synindex,  , syncodeindex, Combining Indices
+@node synindex, , syncodeindex, Combining Indices
 @subsection @code{@@synindex}
 @findex synindex
 
@@ -8249,10 +8470,10 @@
 @xref{Printing Indices & Menus}, for information about printing an index
 at the end of a book or creating an index menu in an Info file.@refill
 
-@node New Indices,  , Combining Indices, Indices
-@section Defining New Indices 
-@cindex Defining new indices 
-@cindex Indices, defining new 
+@node New Indices, , Combining Indices, Indices
+@section Defining New Indices
+@cindex Defining new indices
+@cindex Indices, defining new
 @cindex New index defining
 @findex defindex
 @findex defcodeindex
@@ -8349,84 +8570,101 @@
 @end iftex
 
 @menu
-* Braces Atsigns Periods::      How to insert braces, @samp{@@} and periods.
-* dmn::                         How to format a dimension.
+* Braces Atsigns::              How to insert braces, @samp{@@}.
+* Inserting Space::             How to insert the right amount of space
+                                  within a sentence.
+* Inserting Accents::           How to insert accents and special characters.
 * Dots Bullets::                How to insert dots and bullets.
-* TeX and copyright::           How to insert the @TeX{} logo 
+* TeX and copyright::           How to insert the @TeX{} logo
                                   and the copyright symbol.
+* pounds::                      How to insert the pounds currency symbol.
 * minus::                       How to insert a minus sign.
 * math::                        How to format a mathematical expression.
 @end menu
 
-@node Braces Atsigns Periods, dmn, Insertions, Insertions
-@comment  node-name,  next,  previous,  up
-@section Inserting @samp{@@}, Braces, and Periods
-@cindex Inserting @@, braces, and periods
+
+@node Braces Atsigns, Inserting Space, Insertions, Insertions
+@section Inserting @@ and Braces
+@cindex Inserting @@, braces
 @cindex Braces, inserting
-@cindex Periods, inserting
-@cindex Single characters, commands to insert
-@cindex Commands to insert single characters
-
-@samp{@@} and curly braces are special characters in Texinfo.  To
-insert these characters so they appear in text, you must put an @samp{@@} in front
-of these characters to prevent Texinfo from misinterpreting them.@refill
-
-Periods are also special.  Depending on whether the period is inside
-or at the end of a sentence, less or more space is inserted after a
-period in a typeset manual.  Since it is not always possible for
-Texinfo to determine when a period ends a sentence and when it is used
-in an abbreviation, special commands are needed in some circumstances.
-(Usually, Texinfo can guess how to handle periods, so you do not need
-to use the special commands; you just enter a period as you would if
-you were using a typewriter, which means you put two spaces after the
-period, question mark, or exclamation mark that ends a
-sentence.)@refill
+@cindex Special characters, commands to insert
+@cindex Commands to insert special characters
+
+@samp{@@} and curly braces are special characters in Texinfo.  To insert
+these characters so they appear in text, you must put an @samp{@@} in
+front of these characters to prevent Texinfo from misinterpreting
+them.
 
 Do not put braces after any of these commands; they are not
-necessary.@refill
+necessary.
 
 @menu
-* Inserting An Atsign::         
-* Inserting Braces::            How to insert @samp{@{} and @samp{@}}
-* Controlling Spacing::         How to insert the right amount of space
-                                  after punctuation within a sentence.
+* Inserting An Atsign::         How to insert @samp{@@}.
+* Inserting Braces::            How to insert @samp{@{} and @samp{@}}.
 @end menu
 
-@node Inserting An Atsign, Inserting Braces, Braces Atsigns Periods, Braces Atsigns Periods
-@comment  node-name,  next,  previous,  up
+@node Inserting An Atsign, Inserting Braces, Braces Atsigns, Braces Atsigns
 @subsection Inserting @samp{@@} with @@@@
 @findex @@ @r{(single @samp{@@})}
 
 @code{@@@@} stands for a single @samp{@@} in either printed or Info
-output.@refill
-
-Do not put braces after an @code{@@@@} command.@refill
-
-@node Inserting Braces, Controlling Spacing, Inserting An Atsign, Braces Atsigns Periods
-@comment  node-name,  next,  previous,  up
+output.
+
+Do not put braces after an @code{@@@@} command.
+
+@node Inserting Braces, , Inserting An Atsign, Braces Atsigns
 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@}
 @findex @{ @r{(single @samp{@{})}
 @findex @} @r{(single @samp{@}})}
 
 @code{@@@{} stands for a single @samp{@{} in either printed or Info
-output.@refill
+output.
 
 @code{@@@}} stands for a single @samp{@}} in either printed or Info
-output.@refill
-
-Do not put braces after either an @code{@@@{} or an @code{@@@}} 
-command.@refill
-
-@node Controlling Spacing,  , Inserting Braces, Braces Atsigns Periods
-@comment  node-name,  next,  previous,  up
-@subsection Spacing After Colons and Periods
+output.
+
+Do not put braces after either an @code{@@@{} or an @code{@@@}}
+command.
+
+
+@node Inserting Space, Inserting Accents, Braces Atsigns, Insertions
+@section Inserting Space
+
+@cindex Inserting space
+@cindex Spacing, inserting
+@cindex Whitespace, inserting
+The following sections describe commands that control spacing of various
+kinds within and after sentences.
+
+@menu
+* Not Ending a Sentence::       Sometimes a . doesn't end a sentence.
+* Ending a Sentence::           Sometimes it does.
+* Multiple Spaces::             Inserting multiple spaces.
+* dmn::                         How to format a dimension.
+@end menu
+
+@node Not Ending a Sentence, Ending a Sentence, Inserting Space, Inserting Space
+@subsection Not Ending a Sentence
+
+@cindex Not ending a sentence
+@cindex Sentence non-ending punctuation
+@cindex Periods, inserting
+Depending on whether a period or exclamation point or question mark is
+inside or at the end of a sentence, less or more space is inserted after
+a period in a typeset manual.  Since it is not always possible for
+Texinfo to determine when a period ends a sentence and when it is used
+in an abbreviation, special commands are needed in some circumstances.
+(Usually, Texinfo can guess how to handle periods, so you do not need to
+use the special commands; you just enter a period as you would if you
+were using a typewriter, which means you put two spaces after the
+period, question mark, or exclamation mark that ends a sentence.)
+
 @findex : @r{(suppress widening)}
-
 Use the @code{@@:}@: command after a period, question mark,
 exclamation mark, or colon that should not be followed by extra space.
 For example, use @code{@@:}@: after periods that end abbreviations
 which are not at the ends of sentences.  @code{@@:}@: has no effect on
-the Info file output.@refill
+the Info file output.
 
 @need 700
 For example,
@@ -8452,14 +8690,26 @@
 @end quotation
 
 @noindent
-@kbd{@@:} has no effect on the Info output.  (@samp{s.o.p} is an acronym
-for ``Standard Operating Procedure''.)
-
-@findex .  @r{(true end of sentence)}
-Use @code{@@.}@: instead of a period at the end of a sentence that
-ends with a single capital letter.  Otherwise, @TeX{} will think the
-letter is an abbreviation and will not insert the correct
-end-of-sentence spacing.  Here is an example:@refill
+@kbd{@@:} has no effect on the Info output.  (@samp{s.o.p.} is an
+abbreviation for ``Standard Operating Procedure''.)
+
+Do not put braces after @code{@@:}.
+
+
+@node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space
+@subsection Ending a Sentence
+
+@cindex Ending a Sentence
+@cindex Sentence ending punctuation
+
+@findex .  @r{(end of sentence)}
+@findex ! @r{(end of sentence)}
+@findex ? @r{(end of sentence)}
+Use @code{@@.}@: instead of a period, @code{@@!}@: instead of an
+exclamation point, and @code{@@?}@: instead of a question mark at the end
+of a sentence that ends with a single capital letter.  Otherwise, @TeX{}
+will think the letter is an abbreviation and will not insert the correct
+end-of-sentence spacing.  Here is an example:
 
 @example
 Give it to M.I.B. and to M.E.W@@.  Also, give it to R.J.C@@.
@@ -8473,7 +8723,7 @@
 @iftex
 produces the following.  If you look carefully at this printed output,
 you will see a little more whitespace after the @samp{W} in the first
-line.@refill
+line.
 @end iftex
 
 @quotation
@@ -8482,17 +8732,61 @@
 @end quotation
 
 In the Info file output, @code{@@.}@: is equivalent to a simple
-@samp{.}.@refill
-
-The meanings of @code{@@:}@: and @code{@@.}@: in Texinfo are designed
-to work well with the Emacs sentence motion commands.  This made it
-necessary for them to be incompatible with some other formatting
-systems that use @@-commands.@refill
-
-Do not put braces after either an @code{@@:} or an @code{@@.} command.@refill
-
-@node dmn, Dots Bullets, Braces Atsigns Periods, Insertions
-@section @code{@@dmn}@{@var{dimension}@}: Format a Dimension
+@samp{.}; likewise for @code{@@!}@: and @code{@@?}@:.
+
+The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to
+work well with the Emacs sentence motion commands (@pxref{Sentences,,,
+emacs, GNU Emacs}).  This made it necessary for them to be incompatible
+with some other formatting systems that use @@-commands.
+
+Do not put braces after any of these commands.
+
+
+@node Multiple Spaces, dmn, Ending a Sentence, Inserting Space
+@subsection Multiple Spaces
+
+@cindex Multiple spaces
+@cindex Whitespace, inserting
+@findex (space)
+@findex (tab)
+@findex (newline)
+
+Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab,
+and newline) into a single space.  (Info output, on the other hand,
+preserves whitespace as you type it, except for changing a newline into
+a space; this is why it is important to put two spaces at the end of
+sentences in Texinfo documents.)
+
+Occasionally, you may want to actually insert several consecutive
+spaces, either for purposes of example (what your program does with
+multiple spaces as input), or merely for purposes of appearance in
+headings or lists.  Texinfo supports three commands: @code{@@ },
+@code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of which insert a single
+space into the output.  (Here, @kbd{TAB} and @kbd{NL} represent the tab
+character and end-of-line, i.e., when @samp{@@} is the last character on
+a line.)
+
+For example,
+@example
+Spacey@@ @@ @@ @@
+example.
+@end example
+
+@noindent produces
+
+@example
+Spacey@ @ @ @
+example.
+@end example
+
+Other possible uses of @code{@@ } have been subsumed by @code{@@multitable}
+(@pxref{Multi-column Tables}).
+
+Do not follow any of these commands with braces.
+
+
+@node dmn, , Multiple Spaces, Inserting Space
+@subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension
 @cindex Thin space between number, dimension
 @cindex Dimension formatting
 @cindex Format a dimension
@@ -8530,11 +8824,123 @@
 formatters may insert a line break between the number and the
 dimension.  Also, if you write a period after an abbreviation within a
 sentence, you should write @samp{@@:} after the period to prevent
-@TeX{} from inserting extra whitespace.  @xref{Controlling Spacing, ,
-Spacing After Colons and Periods}.)@refill
-
-@node Dots Bullets, TeX and copyright, dmn, Insertions
-@comment  node-name,  next,  previous,  up
+@TeX{} from inserting extra whitespace.  @xref{Inserting Space}.
+
+
+@node Inserting Accents, Dots Bullets, Inserting Space, Insertions
+@section Inserting Accents
+
+@cindex Inserting accents
+@cindex Accents, inserting
+@cindex Floating accents, inserting
+
+Here is a table with the commands Texinfo provides for inserting
+floating accents.  The commands with non-alphabetic names do not take
+braces around their argument (which is taken to be the next character).
+(Exception: @code{@@,} @emph{does} take braces around its argument.)
+This is so as to make the source as convenient to type and read as
+possible, since accented characters are very common in some languages.
+
+@findex "
+@cindex Umlaut accent
+@findex '
+@cindex Acute accent
+@findex =
+@cindex Macron accent
+@findex ^
+@cindex Circumflex accent
+@findex `
+@cindex Grave accent
+@findex ~
+@cindex Tilde accent
+@findex ,
+@cindex Cedilla accent
+@findex dotaccent
+@cindex Dot accent
+@findex H
+@cindex Hungariam umlaut accent
+@findex ringaccent
+@cindex Ring accent
+@findex tieaccent
+@cindex Tie-after accent
+@findex u
+@cindex Breve accent
+@findex ubaraccent
+@cindex Underbar accent
+@findex udotaccent
+@cindex Underdot accent
+@findex v
+@cindex Check accent
+@multitable {@@questiondown@{@}} {Output} {macron/overbar accent}
+@item Command               @tab Output         @tab What
+@item @t{@@"o}              @tab @"o            @tab umlaut accent
+@item @t{@@'o}              @tab @'o            @tab acute accent
+@item @t{@@,@{c@}}          @tab @,{c}          @tab cedilla accent
+@item @t{@@=o}              @tab @=o            @tab macron/overbar accent
+@item @t{@@^o}              @tab @^o            @tab circumflex accent
+@item @t{@@`o}              @tab @`o            @tab grave accent
+@item @t{@@~o}              @tab @~o            @tab tilde accent
+@item @t{@@dotaccent@{o@}}  @tab @dotaccent{o}  @tab overdot accent
+@item @t{@@H@{o@}}          @tab @H{o}          @tab long Hungarian umlaut
+@item @t{@@ringaccent@{o@}} @tab @ringaccent{o} @tab ring accent
+@item @t{@@tieaccent@{oo@}} @tab @tieaccent{oo} @tab tie-after accent
+@item @t{@@u@{o@}}          @tab @u{o}          @tab breve accent
+@item @t{@@ubaraccent@{o@}} @tab @ubaraccent{o} @tab underbar accent
+@item @t{@@udotaccent@{o@}} @tab @udotaccent{o} @tab underdot accent
+@item @t{@@v@{o@}}          @tab @v{o}          @tab hacek or check accent
+@end multitable
+
+This table lists the Texinfo commands for inserting other characters
+commonly used in languages other than English.
+
+@findex questiondown
+@cindex @questiondown{}
+@findex exclamdown
+@cindex @exclamdown{}
+@findex aa
+@cindex @aa{}
+@findex AA
+@cindex @AA{}
+@findex ae
+@cindex @ae{}
+@findex AE
+@cindex @AE{}
+@findex dotless
+@cindex @dotless{i}
+@cindex @dotless{j}
+@cindex Dotless i, j
+@findex l
+@cindex @l{}
+@findex L
+@cindex @L{}
+@findex o
+@cindex @o{}
+@findex O
+@cindex @O{}
+@findex oe
+@cindex @oe{}
+@findex OE
+@cindex @OE{}
+@findex ss
+@cindex @ss{}
+@cindex Es-zet
+@cindex Sharp S
+@cindex German S
+@multitable {@@questiondown@{@}} {oe,OE} {es-zet or sharp S}
+@item @t{@@exclamdown@{@}}   @tab @exclamdown{}   @tab upside-down !
+@item @t{@@questiondown@{@}} @tab @questiondown{} @tab upside-down ?
+@item @t{@@aa@{@},@@AA@{@}}  @tab @aa{},@AA{}     @tab A,a with circle
+@item @t{@@ae@{@},@@AE@{@}}  @tab @ae{},@AE{}     @tab ae,AE ligatures
+@item @t{@@dotless@{i@}}     @tab @dotless{i}     @tab dotless i
+@item @t{@@dotless@{j@}}     @tab @dotless{j}     @tab dotless j
+@item @t{@@l@{@},@@L@{@}}    @tab @l{},@L{}       @tab suppressed-L,l
+@item @t{@@o@{@},@@O@{@}}    @tab @o{},@O{}       @tab O,o with slash
+@item @t{@@oe@{@},@@OE@{@}}  @tab @oe{},@OE{}     @tab OE,oe ligatures
+@item @t{@@ss@{@}}           @tab @ss{}           @tab es-zet or sharp S
+@end multitable
+
+
+@node Dots Bullets, TeX and copyright, Inserting Accents, Insertions
 @section Inserting Ellipsis, Dots, and Bullets
 @cindex Dots, inserting
 @cindex Bullets, inserting
@@ -8569,21 +8975,20 @@
 three dots in a row, appropriately spaced, like this: `@dots{}'.  Do
 not simply write three periods in the input file; that would work for
 the Info file output, but would produce the wrong amount of space
-between the periods in the printed manual.@refill
-
-Similarly, the @code{@@enddots@{@}} command helps you correctly set an
-end-of-sentence ellipsis (four dots).
+between the periods in the printed manual.
+
+Similarly, the @code{@@enddots@{@}} command generates an
+end-of-sentence ellipsis (four dots) @enddots{}
 
 @iftex
 Here is an ellipsis: @dots{}
-
 Here are three periods in a row: ...
 
 In printed output, the three periods in a row are closer together than
 the dots in the ellipsis.
 @end iftex
 
-@node bullet,  , dots, Dots Bullets
+@node bullet, , dots, Dots Bullets
 @comment  node-name,  next,  previous,  up
 @subsection @code{@@bullet}@{@}
 @findex bullet
@@ -8594,10 +8999,10 @@
 Here is a bullet: @bullet{}
 
 When you use @code{@@bullet} in @code{@@itemize}, you do not need to
-type the braces, because @code{@@itemize} supplies them.  
+type the braces, because @code{@@itemize} supplies them.
 (@xref{itemize, , @code{@@itemize}}.)@refill
 
-@node TeX and copyright, minus, Dots Bullets, Insertions
+@node TeX and copyright, pounds, Dots Bullets, Insertions
 @comment  node-name,  next,  previous,  up
 @section Inserting @TeX{} and the Copyright Symbol
 
@@ -8621,9 +9026,9 @@
 manual, this is a special logo that is different from three ordinary
 letters.  In Info, it just looks like @samp{TeX}.  The
 @code{@@TeX@{@}} command is unique among Texinfo commands in that the
-@key{T} and the @key{X} are in upper case.@refill
-
-@node copyright symbol,  , tex, TeX and copyright
+@kbd{T} and the @kbd{X} are in upper case.@refill
+
+@node copyright symbol, , tex, TeX and copyright
 @comment  node-name,  next,  previous,  up
 @subsection @code{@@copyright}@{@}
 @findex copyright
@@ -8632,7 +9037,16 @@
 a printed manual, this is a @samp{c} inside a circle, and in Info,
 this is @samp{(C)}.@refill
 
-@node minus, math, TeX and copyright, Insertions
+@node pounds, minus, TeX and copyright, Insertions
+@section @code{@@pounds}@{@}
+@findex pounds
+
+Use the @code{@@pounds@{@}} command to generate `@pounds{}'.  In a
+printed manual, this is the symbol for the currency pounds sterling.
+In Info, it is a @samp{#}.  Other currency symbols are unfortunately not
+available.
+
+@node minus, math, pounds, Insertions
 @section @code{@@minus}@{@}: Inserting a Minus Sign
 @findex minus
 
@@ -8661,7 +9075,7 @@
 an itemized list, you do not need to type the braces
 (@pxref{itemize, , @code{@@itemize}}.)@refill
 
-@node math,  , minus, Insertions
+@node math, , minus, Insertions
 @comment  node-name,  next,  previous,  up
 @section @code{@@math}: Inserting Mathematical Expressions
 @findex math
@@ -8708,14 +9122,14 @@
 
 @node Glyphs, Breaks, Insertions, Top
 @comment  node-name,  next,  previous,  up
-@chapter Glyphs for Examples 
+@chapter Glyphs for Examples
 @cindex Glyphs
 
 In Texinfo, code is often illustrated in examples that are delimited
 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and
 @code{@@end lisp}.  In such examples, you can indicate the results of
 evaluation or an expansion using @samp{@result{}} or
-@samp{@expansion{}}.  Likewise, there are commands to insert glyphs 
+@samp{@expansion{}}.  Likewise, there are commands to insert glyphs
 to indicate
 printed output, error messages, equivalence of expressions, and the
 location of point.@refill
@@ -8833,7 +9247,7 @@
 @end lisp
 
 @noindent
-which may be read as: 
+which may be read as:
 
 @quotation
 @code{(third '(a b c))} expands to @code{(car (cdr (cdr '(a b c))))};
@@ -8970,7 +9384,7 @@
 identical results to evaluating @code{(list 'keymap)}.
 
 @c Cannot write point command here because it causes trouble with TOC.
-@node Point Glyph,  , Equivalence, Glyphs
+@node Point Glyph, , Equivalence, Glyphs
 @section Indicating Point in a Buffer
 @cindex Point, indicating it in a buffer
 
@@ -9055,7 +9469,8 @@
 @menu
 * Break Commands::              Cause and prevent splits.
 * Line Breaks::                 How to force a single line to use two lines.
-* w::                           How to prevent unwanted line breaks. 
+* - and hyphenation::           How to tell TeX about hyphenation points.
+* w::                           How to prevent unwanted line breaks.
 * sp::                          How to insert blank lines.
 * page::                        How to force the start of a new page.
 * group::                       How to prevent unwanted page breaks.
@@ -9070,7 +9485,7 @@
 @sp 1
 @end iftex
 
-The break commands create line and paragraph breaks:@refill
+The break commands create or allow line and paragraph breaks:@refill
 
 @table @code
 @item @@*
@@ -9078,10 +9493,13 @@
 
 @item @@sp @var{n}
 Skip @var{n} blank lines.@refill
-@end table
-@iftex
-@sp 1
-@end iftex
+
+@item @@-
+Insert a discretionary hyphen.
+
+@item @@hyphenation@{@var{hy-phen-a-ted words}@}
+Define hyphen points in @var{hy-phen-a-ted words}.
+@end table
 
 The line-break-prevention command holds text together all on one
 line:@refill
@@ -9108,7 +9526,7 @@
 Start a new printed page if not enough space on this one.@refill
 @end table
 
-@node Line Breaks, w, Break Commands, Breaks
+@node Line Breaks, - and hyphenation, Break Commands, Breaks
 @comment  node-name,  next,  previous,  up
 @section @code{@@*}: Generate Line Breaks
 @findex * @r{(force line break)}
@@ -9164,11 +9582,46 @@
 break.@refill
 @end quotation
 
-@node w, sp, Line Breaks, Breaks
+@node - and hyphenation, w, Line Breaks, Breaks
+@section @code{@@-} and @code{@@hyphenation}: Helping @TeX{} hyphenate
+
+@findex -
+@findex hyphenation
+@cindex Hyphenation, helping @TeX{} do
+@cindex Fine-tuning, and hyphenation
+
+Although @TeX{}'s hyphenation algorithm is generally pretty good, it
+does miss useful hyphenation points from time to time.  (Or, far more
+rarely, insert an incorrect hyphenation.)  So, for documents with an
+unusual vocabulary or when fine-tuning for a printed edition, you may
+wish to help @TeX{} out.  Texinfo supports two commands for this:
+
+@table @code
+@item @@-
+Insert a discretionary hyphen, i.e., a place where @TeX{} can (but does
+not have to) hyphenate.  This is especially useful when you notice
+an overfull hbox is due to @TeX{} missing a hyphenation (@pxref{Overfull
+hboxes}).  @TeX{} will not insert any hyphenation points in a word
+containing @code{@@-}.
+
+@item @@hyphenation@{@var{hy-phen-a-ted words}@}
+Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}.  As shown, you
+put a @samp{-} at each hyphenation point.  For example:
+@example
+@@hyphenation@{man-u-script man-u-scripts@}
+@end example
+@noindent @TeX{} only uses the specified hyphenation points when the
+words match exactly, so give all necessary variants.
+@end table
+
+Info output is not hyphenated, so these commands have no effect there.
+
+@node w, sp, - and hyphenation, Breaks
 @comment  node-name,  next,  previous,  up
 @section @code{@@w}@{@var{text}@}: Prevent Line Breaks
 @findex w @r{(prevent line break)}
 @cindex Line breaks, preventing
+@cindex Hyphenation, preventing
 
 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks
 within @var{text}.@refill
@@ -9188,9 +9641,6 @@
 You can copy GNU software from @w{@file{prep.ai.mit.edu}}.
 @end quotation
 
-In the Texinfo file, you must write the @code{@@w} command and its
-argument (all the affected text) all on one line.@refill  
-
 @quotation
 @strong{Caution:} Do not write an @code{@@refill} command at the end
 of a paragraph containing an @code{@@w} command; it will cause the
@@ -9216,7 +9666,7 @@
 @end example
 
 @noindent
-generates two blank lines.  
+generates two blank lines.
 
 The @code{@@sp} command is most often used in the title page.@refill
 
@@ -9249,7 +9699,7 @@
 
 @example
 @group
-This line 
+This line
 
 contains and is ended by paragraph breaks
 
@@ -9328,7 +9778,7 @@
 @code{@@end group} if you get incomprehensible error messages in
 @TeX{}.@refill
 
-@node need,  , group, Breaks
+@node need, , group, Breaks
 @comment  node-name,  next,  previous,  up
 @section @code{@@need @var{mils}}: Prevent Page Breaks
 @cindex Need space at page bottom
@@ -9422,7 +9872,7 @@
 @example
 @group
 @@deffn Command forward-word count
-This command moves point forward @@var@{count@} words 
+This command moves point forward @@var@{count@} words
 (or backward if @@var@{count@} is negative). @dots{}
 @@end deffn
 @end group
@@ -9444,8 +9894,8 @@
 
 @example
 @group
-@@deffn @{Interactive Command@} isearch-forward 
-@dots{} 
+@@deffn @{Interactive Command@} isearch-forward
+@dots{}
 @@end deffn
 @end group
 @end example
@@ -9471,7 +9921,7 @@
 
 @example
 @group
-@@defun @var{name} @var{arguments}@dots{} 
+@@defun @var{name} @var{arguments}@dots{}
 @var{body-of-definition}
 @@end defun
 @end group
@@ -9482,10 +9932,10 @@
 
 @example
 @group
-@@defun buffer-end flag 
+@@defun buffer-end flag
 This function returns @@code@{(point-min)@} if @@var@{flag@}
 is less than 1, @@code@{(point-max)@} otherwise.
-@dots{} 
+@dots{}
 @@end defun
 @end group
 @end example
@@ -9526,22 +9976,22 @@
 An argument enclosed within square brackets is optional.
 Thus, the phrase
 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that
-@var{optional-arg} is optional.  
+@var{optional-arg} is optional.
 An argument followed by an ellipsis is optional
-and may be repeated more than once.  
+and may be repeated more than once.
 @c This is consistent with Emacs Lisp Reference manual
-Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments.  
+Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments.
 Parentheses are used when several arguments are grouped
-into additional levels of list structure in Lisp.  
+into additional levels of list structure in Lisp.
 @end iftex
 @c The following looks better in Info (no `r', `samp' and `code'):
 @ifinfo
-An argument enclosed within square brackets is optional.  
-Thus, [@var{optional-arg}] means that @var{optional-arg} is optional.  
-An argument followed by an ellipsis is optional 
-and may be repeated more than once.  
+An argument enclosed within square brackets is optional.
+Thus, [@var{optional-arg}] means that @var{optional-arg} is optional.
+An argument followed by an ellipsis is optional
+and may be repeated more than once.
 @c This is consistent with Emacs Lisp Reference manual
-Thus, @var{repeated-args}@dots{} stands for zero or more arguments.  
+Thus, @var{repeated-args}@dots{} stands for zero or more arguments.
 Parentheses are used when several arguments are grouped
 into additional levels of list structure in Lisp.
 @end ifinfo
@@ -9598,9 +10048,9 @@
 
 @example
 @group
-@@deffn @{Interactive Command@} isearch-forward 
+@@deffn @{Interactive Command@} isearch-forward
 @@deffnx @{Interactive Command@} isearch-backward
-These two search commands are similar except @dots{} 
+These two search commands are similar except @dots{}
 @@end deffn
 @end group
 @end example
@@ -9608,9 +10058,9 @@
 @noindent
 produces
 
-@deffn {Interactive Command} isearch-forward 
+@deffn {Interactive Command} isearch-forward
 @deffnx {Interactive Command} isearch-backward
-These two search commands are similar except @dots{} 
+These two search commands are similar except @dots{}
 @end deffn
 
 Each of the other definition commands has an `x' form: @code{@@defunx},
@@ -9666,7 +10116,7 @@
 
 @example
 @group
-@@deffn Command forward-char nchars 
+@@deffn Command forward-char nchars
 Move point forward @@var@{nchars@} characters.
 @@end deffn
 @end group
@@ -9688,7 +10138,7 @@
 @example
 @group
 @@deffn @var{category} @var{name} @var{arguments}@dots{}
-@var{body-of-definition} 
+@var{body-of-definition}
 @@end deffn
 @end group
 @end example
@@ -9723,7 +10173,7 @@
 
 @example
 @group
-@@defun @var{function-name} @var{arguments}@dots{} 
+@@defun @var{function-name} @var{arguments}@dots{}
 @var{body-of-definition}
 @@end defun
 @end group
@@ -9769,10 +10219,10 @@
 
 @example
 @group
-@@defvr @{User Option@} fill-column 
-This buffer-local variable specifies 
-the maximum width of filled lines.  
-@dots{} 
+@@defvr @{User Option@} fill-column
+This buffer-local variable specifies
+the maximum width of filled lines.
+@dots{}
 @@end defvr
 @end group
 @end example
@@ -9784,8 +10234,8 @@
 
 @example
 @group
-@@defvr @var{category} @var{name} 
-@var{body-of-definition} 
+@@defvr @var{category} @var{name}
+@var{body-of-definition}
 @@end defvr
 @end group
 @end example
@@ -9803,8 +10253,8 @@
 
 @example
 @group
-@@defvar kill-ring 
-@dots{} 
+@@defvar kill-ring
+@dots{}
 @@end defvar
 @end group
 @end example
@@ -9813,8 +10263,8 @@
 
 @example
 @group
-@@defvar @var{name} 
-@var{body-of-definition} 
+@@defvar @var{name}
+@var{body-of-definition}
 @@end defvar
 @end group
 @end example
@@ -9852,7 +10302,7 @@
 
 @example
 @group
-@@deftypefn @{Library Function@} int foobar 
+@@deftypefn @{Library Function@} int foobar
    (int @@var@{foo@}, float @@var@{bar@})
 @dots{}
 @@end deftypefn
@@ -9918,8 +10368,8 @@
 
 @example
 @group
-@@deftypefn stacks private push 
-        (@@var@{s@}:in out stack; 
+@@deftypefn stacks private push
+        (@@var@{s@}:in out stack;
         @@var@{n@}:in integer)
 @dots{}
 @@end deftypefn
@@ -10185,7 +10635,7 @@
 @findex defop
 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
 The @code{@@defop} command is the general definition command for
-entities that may resemble methods in object-oriented programming.  
+entities that may resemble methods in object-oriented programming.
 These entities take arguments, as functions do, but are associated
 with particular classes of objects.@refill
 
@@ -10277,7 +10727,7 @@
 @code{bar-class}', in the index of functions.@refill
 @end table
 
-@node Data Types,  , Abstract Objects, Def Cmds in Detail
+@node Data Types, , Abstract Objects, Def Cmds in Detail
 @subsection Data Types
 
 Here is the command for data types:@refill
@@ -10334,7 +10784,7 @@
 contains the name of a type, such as @var{integer}, take care that the
 argument actually is of that type.@refill
 
-@node Sample Function Definition,  , Def Cmd Conventions, Definition Commands
+@node Sample Function Definition, , Def Cmd Conventions, Definition Commands
 @section A Sample Function Definition
 @cindex Function definitions
 @cindex Command definitions
@@ -10448,10 +10898,18 @@
 see @cite{The Chicago Manual of Style}, which is published by the
 University of Chicago Press.}@refill
 
+@menu
+* Footnote Commands::           How to write a footnote in Texinfo.
+* Footnote Styles::             Controlling how footnotes appear in Info.
+@end menu
+
+@node Footnote Commands, Footnote Styles, Footnotes, Footnotes
+@section Footnote Commands
+
 In Texinfo, footnotes are created with the @code{@@footnote} command.
 This command is followed immediately by a left brace, then by the text
 of the footnote, and then by a terminating right brace.  The template
-is: 
+is:
 
 @example
 @@footnote@{@var{text}@}
@@ -10464,23 +10922,31 @@
 source, it looks like this:@refill
 
 @example
-@dots{}a sample footnote @@footnote@{Here is the sample 
+@dots{}a sample footnote @@footnote@{Here is the sample
 footnote.@}; in the Texinfo source@dots{}
 @end example
 
+@strong{Warning:} Don't use footnotes in the argument of the
+@code{@@item} command for a @code{@@table} table.  This doesn't work;
+because of limitations of @TeX{}, there is no way to fix it.  To avoid
+the problem, move the footnote into the body text of the table.
+
 In a printed manual or book, the reference mark for a footnote is a
-small, superscripted number; the text of the footnote is written at
-the bottom of the page, below a horizontal line.@refill
+small, superscripted number; the text of the footnote appears at the
+bottom of the page, below a horizontal line.@refill
 
 In Info, the reference mark for a footnote is a pair of parentheses
 with the footnote number between them, like this: @samp{(1)}.@refill
 
+@node Footnote Styles, , Footnote Commands, Footnotes
+@section Footnote Styles
+
 Info has two footnote styles, which determine where the text of the
 footnote is located:@refill
 
 @itemize @bullet
 @cindex @samp{@r{End}} node footnote style
-@item 
+@item
 In the `End' node style, all the footnotes for a single node
 are placed at the end of that node.  The footnotes are separated from
 the rest of the node by a line of dashes with the word
@@ -10500,7 +10966,7 @@
 @end example
 
 @cindex @samp{@r{Separate}} footnote style
-@item 
+@item
 In the `Separate' node style, all the footnotes for a single
 node are placed in an automatically constructed node of
 their own.  In this style, a ``footnote reference'' follows
@@ -10523,7 +10989,7 @@
 @group
 File: texinfo.info  Node: Overview-Footnotes, Up: Overview
 
-(1) Note that the first syllable of "Texinfo" is 
+(1) Note that the first syllable of "Texinfo" is
 pronounced like "speck", not "hex". @dots{}
 @end group
 @end smallexample
@@ -10536,7 +11002,7 @@
 Use the @code{@@footnotestyle} command to specify an Info file's
 footnote style.  Write this command at the beginning of a line followed
 by an argument, either @samp{end} for the end node style or
-@samp{separate} for the separate node style.  
+@samp{separate} for the separate node style.
 
 @need 700
 For example,
@@ -10598,13 +11064,14 @@
 @end ignore
 This chapter contains two footnotes.@refill
 
-@node Conditionals, Format/Print Hardcopy, Footnotes, Top
+@node Conditionals, Macros, Footnotes, Top
 @comment  node-name,  next,  previous,  up
 @chapter Conditionally Visible Text
 @cindex Conditionally visible text
 @cindex Text, conditionally visible
 @cindex Visibility of conditional text
 @cindex If text conditionally visible
+@findex ifhtml
 @findex ifinfo
 @findex iftex
 
@@ -10614,7 +11081,7 @@
 and which is for the Info file.@refill
 
 @menu
-* Conditional Commands::        How to specify text for Info or @TeX{}.
+* Conditional Commands::        How to specify text for HTML, Info, or @TeX{}.
 * Using Ordinary TeX Commands::  You can use any and all @TeX{} commands.
 * set clear value::             How to designate which text to format (for
                                   both Info and @TeX{}); and how to set a
@@ -10626,9 +11093,9 @@
 @heading Using @code{@@ifinfo} and @code{@@iftex}
 @end ifinfo
 
-@code{@@ifinfo} begins segments of text that should be ignored 
+@code{@@ifinfo} begins segments of text that should be ignored
 by @TeX{} when it
-typesets the printed manual.  The segment of text appears only 
+typesets the printed manual.  The segment of text appears only
 in the Info file.
 The @code{@@ifinfo} command should appear on a line by itself;  end
 the Info-only text with a line containing @code{@@end ifinfo} by
@@ -10639,7 +11106,8 @@
 The @code{@@iftex} and @code{@@end iftex} commands are similar to the
 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they
 specify text that will appear in the printed manual but not in the Info
-file.@refill
+file.  Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which
+specify text to appear only in HTML output.@refill
 
 @need 700
 For example,
@@ -10680,10 +11148,10 @@
 @cindex @TeX{} commands, using ordinary
 @cindex Ordinary @TeX{} commands, using
 @cindex Commands using ordinary @TeX{}
-@cindex Plain@TeX{}
+@cindex plain @TeX{}
 
 Inside a region delineated by @code{@@iftex} and @code{@@end iftex},
-you can embed some Plain@TeX{} commands.  Info will ignore these
+you can embed some plain @TeX{} commands.  Info will ignore these
 commands since they are only in that part of the file which is seen by
 @TeX{}.  You can write the @TeX{} commands as you would write them in
 a normal @TeX{} file, except that you must replace the @samp{\} used
@@ -10693,11 +11161,11 @@
 command causes Info to ignore the region automatically, as it does
 with the @code{@@iftex} command.)@refill
 
-However, many features of Plain@TeX{} will not work, as they are
+However, many features of plain @TeX{} will not work, as they are
 overridden by features of Texinfo.
 
 @findex tex
-You can enter Plain@TeX{} completely, and use @samp{\} in the @TeX{}
+You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{}
 commands, by delineating a region with the @code{@@tex} and @code{@@end
 tex} commands.  (The @code{@@tex} command also causes Info to ignore the
 region, like the @code{@@iftex}
@@ -10705,12 +11173,12 @@
 
 @cindex Mathematical expressions
 For example, here is a mathematical expression written in
-Plain@TeX{}:@refill
+plain @TeX{}:@refill
 
 @example
 @@tex
-$$ \chi^2 = \sum_@{i=1@}^N 
-          \left (y_i - (a + b x_i) 
+$$ \chi^2 = \sum_@{i=1@}^N
+          \left (y_i - (a + b x_i)
           \over \sigma_i\right)^2 $$
 @@end tex
 @end example
@@ -10725,12 +11193,12 @@
 @end iftex
 
 @tex
-$$ \chi^2 = \sum_{i=1}^N 
-          \left(y_i - (a + b x_i) 
+$$ \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
           \over \sigma_i\right)^2 $$
 @end tex
 
-@node set clear value,  , Using Ordinary TeX Commands, Conditionals
+@node set clear value, , Using Ordinary TeX Commands, Conditionals
 @comment  node-name,  next,  previous,  up
 @section @code{@@set}, @code{@@clear}, and @code{@@value}
 
@@ -10746,7 +11214,7 @@
 
 @menu
 * ifset ifclear::               Format a region if a flag is set.
-* value::                       Replace a flag with a string. 
+* value::                       Replace a flag with a string.
 * value Example::               An easy way to update edition information.
 @end menu
 
@@ -10763,7 +11231,7 @@
 @var{flag}; a @dfn{flag} can be any single word.  The format for the
 command looks like this:@refill
 @findex set
- 
+
 @example
 @@set @var{flag}
 @end example
@@ -10783,7 +11251,7 @@
 a manual for a `large' and `small' model:@refill
 
 @example
-You can use this machine to dig up shrubs 
+You can use this machine to dig up shrubs
 without hurting them.
 
 @@set large
@@ -10856,7 +11324,7 @@
 If @var{flag} is cleared, tell the Texinfo formatting commands to
 ignore text up to the following @code{@@end ifset} command.@refill
 
-@item @@ifclear @var{flag} 
+@item @@ifclear @var{flag}
 If @var{flag} is set, tell the Texinfo formatting commands to ignore
 the text up to the following @code{@@end ifclear} command.@refill
 
@@ -10946,11 +11414,11 @@
 @end group
 @end example
 
-@node value Example,  , value, set clear value
+@node value Example, , value, set clear value
 @subsection @code{@@value} Example
 
 You can use the @code{@@value} command to limit the number of places you
-need to change when you record an update to a manual.  
+need to change when you record an update to a manual.
 Here is how it is done in @cite{The GNU Make Manual}:
 
 @need 1000
@@ -10973,9 +11441,9 @@
 
 @example
 @group
-This is Edition @@value@{EDITION@}, 
+This is Edition @@value@{EDITION@},
 last updated @@value@{UPDATED@},
-of @@cite@{The GNU Make Manual@}, 
+of @@cite@{The GNU Make Manual@},
 for @@code@{make@}, Version @@value@{VERSION@}.
 @end group
 @end example
@@ -11005,7 +11473,7 @@
 
 @example
 @group
-This is Edition @@value@{EDITION@} 
+This is Edition @@value@{EDITION@}
 of the @@cite@{GNU Make Manual@},
 last updated @@value@{UPDATED@}
 for @@code@{make@} Version @@value@{VERSION@}.
@@ -11018,7 +11486,7 @@
 
 @example
 @group
-This is Edition 0.35 Beta, last updated 14 August 1992, 
+This is Edition 0.35 Beta, last updated 14 August 1992,
 of `The GNU Make Manual', for `make', Version 3.63 Beta.
 @end group
 @end example
@@ -11026,7 +11494,133 @@
 When you update the manual, change only the values of the flags; you do
 not need to rewrite the three sections.
 
-@node Format/Print Hardcopy, Create an Info File, Conditionals, Top
+
+@node Macros, Format/Print Hardcopy, Conditionals, Top
+@chapter Macros: Defining New Texinfo Commands
+@cindex Macros
+@cindex Defining new Texinfo commands
+@cindex New Texinfo commands, defining
+@cindex Texinfo commands, defining new
+@cindex User-defined Texinfo commands
+
+A Texinfo @dfn{macro} allows you to define a new Texinfo command as any
+sequence of text and/or existing commands (including other macros).  The
+macro can have any number of @dfn{parameters}---text you supply each
+time you use the macro.  (This has nothing to do with the
+@code{@@defmac} command, which is for documenting macros in the subject
+of the manual; @pxref{Def Cmd Template}.)
+
+@menu
+* Defining Macros::             Both defining and undefining new commands.
+* Invoking Macros::             Using a macro, once you've defined it.
+@end menu
+
+
+@node Defining Macros, Invoking Macros, Macros, Macros
+@section Defining Macros
+@cindex Defining macros
+@cindex Macro definitions
+
+@findex macro
+You use the Texinfo @code{@@macro} command to define a macro.  For example:
+
+@example
+@@macro @var{macro-name}@{@var{param1}, @var{param2}, @dots{}@}
+@var{text} @dots{} \@var{param1}\ @dots{}
+@@end macro
+@end example
+
+The @dfn{parameters} @var{param1}, @var{param2}, @dots{} correspond to
+arguments supplied when the macro is subsequently used in the document
+(see the next section).
+
+If a macro needs no parameters, you can define it either with an empty
+list (@samp{@@macro foo @{@}}) or with no braces at all (@samp{@@macro
+foo}).
+
+@cindex Body of a macro
+@cindex Mutually recursive macros
+@cindex Recursion, mutual
+The definition or @dfn{body} of the macro can contain any Texinfo
+commands, including previously-defined macros.  (It is not possible to
+have mutually recursive Texinfo macros.)  In the body, instances of a
+parameter name surrounded by backslashes, as in @samp{\@var{param1}\} in
+the example above, are replaced by the corresponding argument from the
+macro invocation.
+
+@findex unmacro
+@cindex Macros, undefining
+@cindex Undefining macros
+You can undefine a macro @var{foo} with @code{@@unmacro @var{foo}}.
+It is not an error to undefine a macro that is already undefined.
+For example:
+
+@example
+@@unmacro foo
+@end example
+
+
+@node Invoking Macros, , Defining Macros, Macros
+@section Invoking Macros
+@cindex Invoking macros
+@cindex Macro invocation
+
+After a macro is defined (see the previous section), you can use
+(@dfn{invoke}) it in your document like this:
+
+@example
+@@@var{macro-name} @{@var{arg1}, @var{arg2}, @dots{}@}
+@end example
+
+@noindent and the result will be just as if you typed the body of
+@var{macro-name} at that spot.  For example:
+
+@example
+@@macro foo @{p, q@}
+Together: \p\ & \q\.
+@@end macro
+@@foo@{a, b@}
+@end example
+
+@noindent produces:
+
+@display
+Together: a & b.
+@end display
+
+@cindex Backslash, and macros
+Thus, the arguments and parameters are separated by commas and delimited
+by braces; any whitespace after (but not before) a comma is ignored.  To
+insert a comma, brace, or backslash in an argument, prepend a backslash,
+as in
+
+@example
+@@@var{macro-name} @{\\\@{\@}\,@}
+@end example
+
+@noindent
+which will pass the (almost certainly error-producing) argument
+@samp{\@{@},} to @var{macro-name}.
+
+If the macro is defined to take a single argument, and is invoked
+without any braces, the entire rest of the line after the macro name is
+supplied as the argument.  For example:
+
+@example
+@@macro bar @{p@}
+Twice: \p\, \p\.
+@@end macro
+@@bar aah
+@end example
+
+@noindent produces:
+
+@display
+Twice: aah, aah.
+@end display
+
+
+@node Format/Print Hardcopy, Create an Info File, Macros, Top
 @comment  node-name,  next,  previous,  up
 @chapter Format and Print Hardcopy
 @cindex Format and print hardcopy
@@ -11035,7 +11629,7 @@
 @cindex Sorting indices
 @cindex Indices, sorting
 @cindex @TeX{} index sorting
-@findex texindex
+@pindex texindex
 
 There are three major shell commands for making a printed manual from a
 Texinfo file: one for converting the Texinfo file into a file that will be
@@ -11104,7 +11698,7 @@
 indices.  (The source file @file{texindex.c} comes as part of the
 standard GNU distribution and is usually installed when Emacs is
 installed.)@refill
-@findex texindex
+@pindex texindex
 @ignore
 Usage: texindex [-k] [-T tempdir] infile [-o outfile] ...
 
@@ -11158,21 +11752,21 @@
 However, cross references to indices are rare.}@refill
 
 To summarize, this is a three step process:
- 
+
 @enumerate
-@item 
+@item
 Run the @code{tex} formatting command on the Texinfo file.  This
 generates the formatted @sc{dvi} file as well as the raw index files
 with two letter extensions.@refill
 
-@item 
+@item
 Run the shell command @code{texindex} on the raw index files to sort
 them.  This creates the corresponding sorted index files.@refill
 
-@item 
+@item
 Rerun the @code{tex} formatting command on the Texinfo file.  This
 regenerates a formatted @sc{dvi} file with the index entries in the
-correct order.  This second run also corrects the page numbers for 
+correct order.  This second run also corrects the page numbers for
 the cross references.  (The tables of contents are always correct.)@refill
 @end enumerate
 
@@ -11185,26 +11779,26 @@
 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy
 @comment  node-name,  next,  previous,  up
 @section Format using @code{texi2dvi}
-@findex texi2dvi @r{(shell script)}
+@pindex texi2dvi @r{(shell script)}
 
 The @code{texi2dvi} command is a shell script that automatically runs
-both @code{tex} and @code{texindex} as needed to produce a @sc{dvi} file
-with up-to-date, sorted indices.  It simplifies the
-@code{tex}---@code{texindex}---@code{tex} sequence described in the
+both @code{tex} and @code{texindex} as many times as necessary to
+produce a @sc{dvi} file with up-to-date, sorted indices.  It simplifies
+the @code{tex}---@code{texindex}---@code{tex} sequence described in the
 previous section.
 
 @need 1000
-The syntax for @code{texi2dvi} is like this (where @samp{%} is the
+The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the
 shell prompt):@refill
 
 @example
-% texi2dvi @var{filename}@dots{}
+prompt$ @kbd{texi2dvi @var{filename}@dots{}}
 @end example
 
 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy
 @comment  node-name,  next,  previous,  up
 @section Shell Print Using @code{lpr -d}
-@findex lpr @r{(@sc{dvi} print command)}
+@pindex lpr @r{(@sc{dvi} print command)}
 
 You can print a @sc{dvi} file with the @sc{dvi} print command.  The
 precise printing command to use depends on your system; @samp{lpr -d} is
@@ -11291,7 +11885,7 @@
 @itemx M-x texinfo-tex-buffer
 Run @code{texi2dvi} on the current buffer.@refill
 
-@item C-c C-t C-r 
+@item C-c C-t C-r
 @itemx M-x texinfo-tex-region
 Run @TeX{} on the current region.@refill
 
@@ -11348,7 +11942,7 @@
 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs
 called the @file{*tex-shell*}.  The @code{texinfo-tex-command},
 @code{texinfo-texindex-command}, and @code{tex-dvi-print-command}
-commands are all run in this shell.  
+commands are all run in this shell.
 
 You can watch the commands operate in the @samp{*tex-shell*} buffer,
 and you can switch to and from and use the @samp{*tex-shell*} buffer
@@ -11412,21 +12006,23 @@
 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
 @comment  node-name,  next,  previous,  up
 @section @TeX{} Formatting Requirements Summary
-@cindex Requirements for formatting 
+@cindex Requirements for formatting
 @cindex Formatting requirements
 
 Every Texinfo file that is to be input to @TeX{} must begin with a
-@code{\input} command and contain an @code{@@settitle} command:@refill
+@code{\input} command and must contain an @code{@@setfilename} command and
+an @code{@@settitle} command:@refill
 
 @example
 \input texinfo
+@@setfilename @var{arg-not-used-by-@TeX{}}
 @@settitle @var{name-of-manual}
 @end example
 
 @noindent
 The first command instructs @TeX{} to load the macros it needs to
-process a Texinfo file and the second command specifies the title of
-printed manual.@refill
+process a Texinfo file, the second command opens auxiliary files, and
+the third specifies the title of printed manual.
 
 @need 1000
 Every Texinfo file must end with a line that terminates @TeX{}
@@ -11436,17 +12032,16 @@
 @@bye
 @end example
 
-Strictly speaking, these three lines are all a Texinfo file needs for
+Strictly speaking, these four lines are all a Texinfo file needs for
 @TeX{}, besides the body.  (The @code{@@setfilename} line is the only
 line that a Texinfo file needs for Info formatting.)@refill
 
 Usually, the file's first line contains an @samp{@@c -*-texinfo-*-}
 comment that causes Emacs to switch to Texinfo mode when you edit the
 file.  In addition, the beginning usually includes an
-@code{@@setfilename} for Info formatting, an @code{@@setchapternewpage}
-command, a title page, a copyright page, and permissions.  Besides an
-@code{@@bye}, the end of a file usually includes indices and a table of
-contents.@refill
+@code{@@setchapternewpage} command, a title page, a copyright page, and
+permissions.  Besides an @code{@@bye}, the end of a file usually
+includes indices and a table of contents.@refill
 
 @iftex
 For more information, see
@@ -11484,8 +12079,8 @@
 included in the standard GNU distributions.)@refill
 
 Usually, the @file{texinfo.tex} file is put in the default directory
-that contains @TeX{} macros (the @file{/usr/lib/tex/macros} 
-directory) when GNU Emacs or other GNU software is installed.  
+that contains @TeX{} macros (the @file{/usr/lib/tex/macros}
+directory) when GNU Emacs or other GNU software is installed.
 In this case, @TeX{} will
 find the file and you do not need to do anything special.
 Alternatively, you can put @file{texinfo.tex} in the directory in
@@ -11553,7 +12148,7 @@
 
 @TeX{} also provides the line number in the Texinfo source file and
 the text of the offending line, which is marked at all the places that
-@TeX{} knows how to hyphenate words.  
+@TeX{} knows how to hyphenate words.
 @xref{Debugging with TeX, , Catching Errors with @TeX{} Formatting},
 for more information about typesetting errors.@refill
 
@@ -11565,7 +12160,7 @@
 @cindex Black rectangle in hardcopy
 @cindex Rectangle, ugly, black in hardcopy
 However, unless told otherwise, @TeX{} will print a large, ugly, black
-rectangle beside the line that contains the overful hbox.  This is so
+rectangle beside the line that contains the overfull hbox.  This is so
 you will notice the location of the problem if you are correcting a
 draft.@refill
 
@@ -11644,11 +12239,11 @@
 @end group
 @end example
 
-@node Cropmarks and Magnification,  , A4 Paper, Format/Print Hardcopy
+@node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy
 @comment  node-name,  next,  previous,  up
 @section Cropmarks and Magnification
 
-@findex cropmarks 
+@findex cropmarks
 @cindex Cropmarks for printing
 @cindex Printing cropmarks
 You can attempt to direct @TeX{} to print cropmarks at the corners of
@@ -11681,7 +12276,7 @@
 usual with the @code{\mag} @TeX{} command.  Everything that is typeset
 is scaled proportionally larger or smaller.  (@code{\mag} stands for
 ``magnification''.)  This is @emph{not} a Texinfo @@-command, but is a
-Plain@TeX{} command that is prefixed with a backslash.  You have to
+plain @TeX{} command that is prefixed with a backslash.  You have to
 write this command between @code{@@tex} and @code{@@end tex}
 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{}
 Commands}).@refill
@@ -11729,10 +12324,10 @@
 * Pointer Validation::          How to check that pointers point somewhere.
 * makeinfo in Emacs::           How to run @code{makeinfo} from Emacs.
 * texinfo-format commands::     Two Info formatting commands written
-                                  in Emacs Lisp are an alternative 
+                                  in Emacs Lisp are an alternative
                                   to @code{makeinfo}.
 * Batch Formatting::            How to format for Info in Emacs Batch mode.
-* Tag and Split Files::         How tagged and split files help Info 
+* Tag and Split Files::         How tagged and split files help Info
                                   to run better.
 @end menu
 
@@ -11829,7 +12424,7 @@
 @need 100
 @table @code
 @item -D @var{var}
-Cause @var{var} to be defined.  This is equivalent to 
+Cause @var{var} to be defined.  This is equivalent to
 @code{@@set @var{var}} in the Texinfo file.
 
 @need 150
@@ -11939,7 +12534,7 @@
 
 @need 150
 @item -U @var{var}
-Cause @var{var} to be undefined.  This is equivalent to 
+Cause @var{var} to be undefined.  This is equivalent to
 @code{@@clear @var{var}} in the Texinfo file.
 
 @need 100
@@ -11970,7 +12565,7 @@
 @file{(dir)}, then the referenced node must exist.@refill
 
 @item
-In every node, if the `Previous' node is different from the `Up' node, 
+In every node, if the `Previous' node is different from the `Up' node,
 then the `Previous' node must also be pointed to by a `Next' node.@refill
 
 @item
@@ -12065,8 +12660,8 @@
 
 @example
 @group
-(setq makeinfo-options 
-      "--paragraph-indent=0 --no-split 
+(setq makeinfo-options
+      "--paragraph-indent=0 --no-split
        --fill-column=70 --verbose")
 @end group
 @end example
@@ -12157,7 +12752,7 @@
 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot
 use that Emacs for anything else until the command finishes.)@refill
 
-@node Tag and Split Files,  , Batch Formatting, Create an Info File
+@node Tag and Split Files, , Batch Formatting, Create an Info File
 @comment  node-name,  next,  previous,  up
 @section Tag Files and Split Files
 @cindex Making a tag table automatically
@@ -12246,6 +12841,7 @@
 validate the structure of the nodes, see @ref{Using
 Info-validate}.@refill
 
+
 @node Install an Info File, Command List, Create an Info File, Top
 @comment  node-name,  next,  previous,  up
 @chapter Installing an Info File
@@ -12260,8 +12856,11 @@
 @menu
 * Directory file::              The top level menu for all Info files.
 * New Info File::               Listing a new info file.
-* Other Info Directories::      How to specify Info files that are 
+* Other Info Directories::      How to specify Info files that are
                                   located in other directories.
+* Installing Dir Entries::      How to specify what menu entry to add
+                                  to the Info directory.
+* Invoking install-info::       @code{install-info} options.
 @end menu
 
 @node Directory file, New Info File, Install an Info File, Install an Info File
@@ -12286,8 +12885,8 @@
 * Info:    (info).     Documentation browsing system.
 * Emacs:   (emacs).    The extensible, self-documenting
                        text editor.
-* Texinfo: (texinfo).  With one source file, make 
-                       either a printed manual using 
+* Texinfo: (texinfo).  With one source file, make
+                       either a printed manual using
                        TeX or an Info file.
 @dots{}
 @end group
@@ -12316,11 +12915,11 @@
 case letters---it can be written in either upper or lower case.  Info
 has a feature that it will change the case of the file name to lower
 case if it cannot find the name as written.)@refill
-
-@c !!! Can any file name be written in upper or lower case, 
+@c !!! Can any file name be written in upper or lower case,
 @c     or is dir a special case?
 @c     Yes, apparently so, at least with Gillespie's Info.  --rjc 24mar92
-@c
+
+
 @node New Info File, Other Info Directories, Directory file, Install an Info File
 @section Listing a New Info File
 @cindex Adding a new info file
@@ -12329,11 +12928,10 @@
 @cindex Info file, listing new one
 @cindex @file{dir} file listing
 
-To add a new Info file to your system, write a menu entry for it in the
-menu in the @file{dir} file in the @file{info} directory.  Also, move
-the new Info file itself to the @file{info} directory.  For example, if
-you were adding documentation for GDB, you would write the following new
-entry:@refill
+To add a new Info file to your system, you must write a menu entry to
+add to the menu in the @file{dir} file in the @file{info} directory.
+For example, if you were adding documentation for GDB, you would write
+the following new entry:@refill
 
 @example
 * GDB: (gdb).           The source-level C debugger.
@@ -12342,22 +12940,17 @@
 @noindent
 The first part of the menu entry is the menu entry name, followed by a
 colon.  The second part is the name of the Info file, in parentheses,
-followed by a period.  The third part is the description.@refill
-
-Conventionally, the name of an Info file has a @file{.info} extension.  
-Thus, you might list the name of the file like this:
-
-@example
-* GDB: (gdb.info).           The source-level C debugger.
-@end example
-
-@noindent
-However, Info will look for a file with a @file{.info} extension if it
-does not find the file under the name given in the menu.  This means
-that you can refer to the file @file{gdb.info} as @file{gdb}, as shown
-in the first example.  This looks better.
-
-@node Other Info Directories,  , New Info File, Install an Info File
+followed by a period.  The third part is the description.
+
+The name of an Info file often has a @file{.info} extension.  Thus, the
+Info file for GDB might be called either @file{gdb} or @file{gdb.info}.
+The Info reader programs automatically try the file name both with and
+without @file{.info}; so it is better to avoid clutter and not to write
+@samp{.info} explicitly in the menu entry.  For example, the GDB menu
+entry should use just @samp{gdb} for the file name, not @samp{gdb.info}.
+
+
+@node Other Info Directories, Installing Dir Entries, New Info File, Install an Info File
 @comment  node-name,  next,  previous,  up
 @section Info Files in Other Directories
 @cindex Installing Info in another directory
@@ -12378,17 +12971,18 @@
 @code{Info-directory-list} variable in your personal or site
 initialization file.
 
-This tells Emacs's Info reader reader where to look for @file{dir}
+This tells Emacs's Info reader where to look for @file{dir}
 files.  Emacs merges the files named @file{dir} from each of the listed
 directories.  (In Emacs Version 18, you can set the
 @code{Info-directory} variable to the name of only one
 directory.)@refill
 
 @item
-Specify the @file{info} directory name in an environment variable in
-your @file{.profile} or @file{.cshrc} initialization file.  (Only you
-and others who set this environment variable will be able to find Info
-files whose location is specified this way.)@refill
+Specify the @file{info} directory name in the @code{INFOPATH}
+environment variable in your @file{.profile} or @file{.cshrc}
+initialization file.  (Only you and others who set this environment
+variable will be able to find Info files whose location is specified
+this way.)@refill
 @end itemize
 
 For example, to reach a test file in the @file{~bob/manuals}
@@ -12396,31 +12990,31 @@
 @file{dir} file:@refill
 
 @example
-* Test: (/usr/bob/manuals/info-test).  Bob's own test file.
+* Test: (/home/bob/manuals/info-test).  Bob's own test file.
 @end example
 
 @noindent
 In this case, the absolute file name of the @file{info-test} file is
 written as the second part of the menu entry.@refill
 
-@vindex Info-directory-list 
+@vindex Info-directory-list
 Alternatively, you could write the following in your @file{.emacs}
 file:@refill
 
 @example
 @group
 (setq Info-directory-list
-      '("/usr/bob/manuals" 
+      '("/home/bob/manuals"
         "/usr/local/emacs/info"))
 @end group
 @end example
 
 @c reworded to avoid overfill hbox
 This tells Emacs to merge the @file{dir} file from the
-@file{/usr/bob/manuals} directory with the @file{dir} file from the
+@file{/home/bob/manuals} directory with the @file{dir} file from the
 @file{"/usr/local/emacs/info}" directory.  Info will list the
-@file{/usr/bob/manuals/info-test} file as a menu entry in the
-@file{/usr/bob/manuals/dir} file.@refill
+@file{/home/bob/manuals/info-test} file as a menu entry in the
+@file{/home/bob/manuals/dir} file.@refill
 
 @vindex INFOPATH
 Finally, you can tell Info where to look by setting the
@@ -12431,7 +13025,7 @@
 you must set the @code{INFOPATH} environment variable in the
 @file{.profile} initialization file; but if you use @code{csh}, you must
 set the variable in the @file{.cshrc} initialization file.  The two
-files require slightly different command formats.@refill
+files use slightly different command formats.@refill
 
 @itemize @bullet
 @item
@@ -12457,6 +13051,145 @@
 @code{INFOPATH} environment variable to initialize the value of Emacs's
 own @code{Info-directory-list} variable.
 
+
+@node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File
+@section Installing Info Directory Files
+
+When you install an Info file onto your system, you can use the program
+@code{install-info} to update the Info directory file @file{dir}.
+Normally the makefile for the package runs @code{install-info}, just
+after copying the Info file into its proper installed location.
+
+@findex dircategory
+@findex direntry
+In order for the Info file to work with @code{install-info}, you should
+use the commands @code{@@dircategory} and @code{@@direntry} in the
+Texinfo source file.  Use @code{@@direntry} to specify the menu entry to
+add to the Info directory file, and use @code{@@dircategory} to specify
+which part of the Info directory to put it in.  Here is how these
+commands are used in this manual:
+
+@smallexample
+@@dircategory Texinfo documentation system
+@@direntry
+* Texinfo: (texinfo).           The GNU documentation format.
+* install-info: (texinfo)Invoking install-info. @dots{}
+@dots{}
+@@end direntry
+@end smallexample
+
+Here's what this produces in the Info file:
+
+@smallexample
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* Texinfo: (texinfo).           The GNU documentation format.
+* install-info: (texinfo)Invoking install-info. @dots{}
+@dots{}
+END-INFO-DIR-ENTRY
+@end smallexample
+
+@noindent
+The @code{install-info} program sees these lines in the Info file, and
+that is how it knows what to do.
+
+Always use the @code{@@direntry} and @code{@@dircategory} commands near
+the beginning of the Texinfo input, before the first @code{@@node}
+command.  If you use them later on in the input, @code{install-info}
+will not notice them.
+
+If you use @code{@@dircategory} more than once in the Texinfo source,
+each usage specifies one category; the new menu entry is added to the
+Info directory file in each of the categories you specify.  If you use
+@code{@@direntry} more than once, each usage specifies one menu entry;
+each of these menu entries is added to the directory in each of the
+specified categories.
+
+
+@node Invoking install-info, , Installing Dir Entries, Install an Info File
+@section Invoking install-info
+
+@pindex install-info
+
+@code{install-info} inserts menu entries from an Info file into the
+top-level @file{dir} file in the Info system (see the previous sections
+for an explanation of how the @file{dir} file works).  It's most often
+run as part of software installation, or when constructing a dir file
+for all manuals on a system.  Synopsis:
+
+@example
+install-info [@var{option}]@dots{} [@var{info-file} [@var{dir-file}]]
+@end example
+
+If @var{info-file} or @var{dir-file} are not specified, the various
+options (described below) that define them must be.  There are no
+compile-time defaults, and standard input is never used.
+@code{install-info} can read only one info file and write only one dir
+file per invocation.
+
+Options:
+
+@table @samp
+@item --delete
+@opindex --delete
+Only delete existing entries in @var{info-file}; don't insert any new
+entries.
+
+@item --dir-file=@var{name}
+@opindex --dir-file=@var{name}
+Specify file name of the Info directory file.  This is equivalent to
+using the @var{dir-file} argument.
+
+@item --entry=@var{text}
+@opindex --entry=@var{text}
+Insert @var{text} as an Info directory entry; @var{text} should have the
+form of an Info menu item line plus zero or more extra lines starting
+with whitespace.  If you specify more than one entry, they are all
+added.  If you don't specify any entries, they are determined from
+information in the Info file itself.
+
+@item --help
+@opindex --help
+Display a usage message listing basic usage and all available options,
+then exit successfully.
+
+@item --info-file=@var{file}
+@opindex --info-file=@var{file}
+Specify Info file to install in the directory.
+This is equivalent to using the @var{info-file} argument.
+
+@item --info-dir=@var{dir}
+@opindex --info-dir=@var{dir}
+Equivalent to @samp{--dir-file=@var{dir}/dir}.
+
+@item --item=@var{text}
+@opindex --item=@var{text}
+Same as --entry=@var{text}.  An Info directory entry is actually a menu
+item.
+
+@item --quiet
+@opindex --quiet
+Suppress warnings.
+
+@item --remove
+@opindex --remove
+Same as --delete.
+
+@item --section=@var{sec}
+@opindex --section=@var{sec}
+Put this file's entries in section @var{sec} of the directory.  If you
+specify more than one section, all the entries are added in each of the
+sections.  If you don't specify any sections, they are determined from
+information in the Info file itself.
+
+@item --version
+@opindex --version
+@cindex version number, finding
+Display version information and exit successfully.
+
+@end table
+
+
 @c ================ Appendix starts here ================
 
 @node Command List, Tips, Install an Info File, Top
@@ -12471,32 +13204,80 @@
 
 @sp 1
 @table @code
+@item @@@var{whitespace}
+An @code{@@} followed by a space, tab, or newline produces a normal,
+stretchable, interword space.  @xref{Multiple Spaces}.
+
+@item @@!
+Generate an exclamation point that really does end a sentence (usually
+after an end-of-sentence capital letter).  @xref{Ending a Sentence}.
+
+@item @@"
+@itemx @@'
+Generate an umlaut or acute accent, respectively, over the next
+character, as in @"o and @'o.  @xref{Inserting Accents}.
+
 @item @@*
 Force a line break. Do not end a paragraph that uses @code{@@*} with
 an @code{@@refill} command.  @xref{Line Breaks}.@refill
 
+@item @@,@{@var{c}@}
+Generate a cedilla accent under @var{c}, as in @,{c}.  @xref{Inserting
+Accents}.
+
+@item @@-
+Insert a discretionary hyphenation point.  @xref{- and hyphenation}.
+
 @item @@.
-Stands for a period that really does end a sentence (usually after an
-end-of-sentence capital letter).  @xref{Controlling Spacing}.@refill
+Produce a period that really does end a sentence (usually after an
+end-of-sentence capital letter).  @xref{Ending a Sentence}.
 
 @item @@:
 Indicate to @TeX{} that an immediately preceding period, question
 mark, exclamation mark, or colon does not end a sentence.  Prevent
 @TeX{} from inserting extra whitespace as it does at the end of a
 sentence.  The command has no effect on the Info file output.
-@xref{Controlling Spacing}.@refill
+@xref{Not Ending a Sentence}.@refill
+
+@item @@=
+Generate a macro (bar) accent over the next character, as in @=o.
+@xref{Inserting Accents}.
+
+@item @@?
+Generate a question mark that really does end a sentence (usually after
+an end-of-sentence capital letter).  @xref{Ending a Sentence}.
 
 @item @@@@
-Stands for @samp{@@}.  @xref{Braces Atsigns Periods, , Inserting
-@samp{@@}}.@refill
+Stands for an at sign, @samp{@@}.@*
+@xref{Braces Atsigns, , Inserting @@ and braces}.
+
+@item @@^
+@itemx @@`
+Generate a circumflex (hat) or grave accent, respectively, over the next
+character, as in @^o.
+@xref{Inserting Accents}.
 
 @item @@@{
-Stands for a left-hand brace, @samp{@{}.@*
-@xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill
+Stands for a left brace, @samp{@{}.@*
+@xref{Braces Atsigns, , Inserting @@ and braces}.
 
 @item @@@}
 Stands for a right-hand brace, @samp{@}}.@*
-@xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill
+@xref{Braces Atsigns, , Inserting @@ and braces}.
+
+@item @@=
+Generate a tilde accent over the next character, as in @~N.
+@xref{Inserting Accents}.
+
+@item @@AA@{@}
+@itemx @@aa@{@}
+Generate the uppercase and lowercase Scandinavian A-ring letters,
+respectively: @AA{}, @aa{}.  @xref{Inserting Accents}.
+
+@item @@AE@{@}
+@itemx @@ae@{@}
+Generate the uppercase and lowercase AE ligatures, respectively:
+@AE{}, @ae{}.  @xref{Inserting Accents}.
 
 @item @@appendix @var{title}
 Begin an appendix.  The title appears in the table
@@ -12565,10 +13346,9 @@
 Center the line of text following the command.
 @xref{titlefont center sp, , @code{@@center}}.@refill
 
-@item @@lowersections
-Change subsequent chapters to sections, sections to subsections, and so
-on. @xref{Raise/lower sections, , @code{@@raisesections} and
-@code{@@lowersections}}.@refill
+@item @@centerchap @var{line-of-text}
+Like @code{@@chapter}, but centers the chapter title.  @xref{chapter,,
+@code{@@chapter}}.
 
 @item @@chapheading @var{title}
 Print a chapter-like heading in the text, but not in the table of
@@ -12594,7 +13374,7 @@
 formatting text between subsequent pairs of @code{@@ifset @var{flag}}
 and @code{@@end ifset} commands, and preventing
 @code{@@value@{@var{flag}@}} from expanding to the value to which
-@var{flag} is set.  
+@var{flag} is set.
 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
 
 @item @@code@{@var{sample-code}@}
@@ -12627,12 +13407,14 @@
 Indices}.@refill
 
 @item @@defcv @var{category} @var{class} @var{name}
+@itemx @@defcvx @var{category} @var{class} @var{name}
 Format a description for a variable associated with a class in
 object-oriented programming.  Takes three arguments: the category of
 thing being defined, the class to which it belongs, and its name.
-@xref{Definition Commands}.@refill
+@xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
 
 @item @@deffn @var{category} @var{name} @var{arguments}@dots{}
+@itemx @@deffnx @var{category} @var{name} @var{arguments}@dots{}
 Format a description for a function, interactive command, or similar
 entity that may take arguments.  @code{@@deffn} takes as arguments the
 category of entity being described, the name of this particular
@@ -12642,6 +13424,7 @@
 Define a new index and its indexing command.  Print entries in a roman
 font.  @xref{New Indices, , Defining New Indices}.@refill
 
+@c Unused so far as I can see and unsupported by makeinfo -- karl, 15sep96.
 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
 Create new @@-command for Info that marks text by enclosing it in
 strings that precede and follow the text.  Write definition inside of
@@ -12649,110 +13432,150 @@
 Highlighting}.@refill
 
 @item @@defivar @var{class} @var{instance-variable-name}
+@itemx @@defivarx @var{class} @var{instance-variable-name}
 This command formats a description for an instance variable in
 object-oriented programming.  The command is equivalent to @samp{@@defcv
-@{Instance Variable@} @dots{}}.  @xref{Definition Commands}.@refill
+@{Instance Variable@} @dots{}}.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defmac @var{macro-name} @var{arguments}@dots{}
+@itemx @@defmacx @var{macro-name} @var{arguments}@dots{}
 Format a description for a macro.  The command is equivalent to
-@samp{@@deffn Macro @dots{}}.  @xref{Definition Commands}.@refill
+@samp{@@deffn Macro @dots{}}.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defmethod @var{class} @var{method-name} @var{arguments}@dots{}
+@itemx @@defmethodx @var{class} @var{method-name} @var{arguments}@dots{}
 Format a description for a method in object-oriented programming.  The
 command is equivalent to @samp{@@defop Method @dots{}}.  Takes as
 arguments the name of the class of the method, the name of the
-method, and its arguments, if any.  @xref{Definition Commands}.@refill
+method, and its arguments, if any.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
+@itemx @@defopx @var{category} @var{class} @var{name} @var{arguments}@dots{}
 Format a description for an operation in object-oriented programming.
 @code{@@defop} takes as arguments the overall name of the category of
 operation, the name of the class of the operation, the name of the
 operation, and its arguments, if any.  @xref{Definition
-Commands}.@refill
-
-@need 100
+Commands}, and @ref{deffnx,, Def Cmds in Detail}.
+
 @item @@defopt @var{option-name}
+@itemx @@defoptx @var{option-name}
 Format a description for a user option.  The command is equivalent to
-@samp{@@defvr @{User Option@} @dots{}}.  @xref{Definition Commands}.@refill
-
-@need 100
+@samp{@@defvr @{User Option@} @dots{}}.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
+
 @item @@defspec @var{special-form-name} @var{arguments}@dots{}
+@itemx @@defspecx @var{special-form-name} @var{arguments}@dots{}
 Format a description for a special form.  The command is equivalent to
-@samp{@@deffn @{Special Form@} @dots{}}.  @xref{Definition Commands}.@refill
-
-@need 200
+@samp{@@deffn @{Special Form@} @dots{}}.  @xref{Definition Commands},
+and @ref{deffnx,, Def Cmds in Detail}.
+
 @item @@deftp @var{category} @var{name-of-type} @var{attributes}@dots{}
-Format a description for a data type.  @code{@@deftp} takes as
-arguments the category, the name of the type (which is a word like
-@samp{int} or @samp{float}), and then the names of attributes of
-objects of that
-type.  @xref{Definition Commands}.@refill
+@itemx @@deftpx @var{category} @var{name-of-type} @var{attributes}@dots{}
+Format a description for a data type.  @code{@@deftp} takes as arguments
+the category, the name of the type (which is a word like @samp{int} or
+@samp{float}), and then the names of attributes of objects of that type.
+@xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
 
 @item @@deftypefn @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
+@itemx @@deftypefnx @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
 Format a description for a function or similar entity that may take
-arguments and that is typed.  @code{@@deftypefn} takes as arguments
-the classification of entity being described, the type, the name of
-the entity, and its arguments, if any.  @xref{Definition
-Commands}.@refill
+arguments and that is typed.  @code{@@deftypefn} takes as arguments the
+classification of entity being described, the type, the name of the
+entity, and its arguments, if any.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@deftypefun @var{data-type} @var{function-name} @var{arguments}@dots{}
+@itemx @@deftypefunx @var{data-type} @var{function-name} @var{arguments}@dots{}
 Format a description for a function in a typed language.
 The command is equivalent to @samp{@@deftypefn Function @dots{}}.
-@xref{Definition Commands}.@refill
+@xref{Definition Commands},
+and @ref{deffnx,, Def Cmds in Detail}.
 
 @item @@deftypevr @var{classification} @var{data-type} @var{name}
+@itemx @@deftypevrx @var{classification} @var{data-type} @var{name}
 Format a description for something like a variable in a typed
 language---an entity that records a value.  Takes as arguments the
-classification of entity being described, the type, and the name of
-the entity.  @xref{Definition Commands}.@refill
+classification of entity being described, the type, and the name of the
+entity.  @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in
+Detail}.
 
 @item @@deftypevar @var{data-type} @var{variable-name}
+@itemx @@deftypevarx @var{data-type} @var{variable-name}
 Format a description for a variable in a typed language.  The command is
 equivalent to @samp{@@deftypevr Variable @dots{}}.  @xref{Definition
-Commands}.@refill
+Commands}, and @ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defun @var{function-name} @var{arguments}@dots{}
+@itemx @@defunx @var{function-name} @var{arguments}@dots{}
 Format a description for functions.  The command is equivalent to
-@samp{@@deffn Function @dots{}}.  @xref{Definition Commands}.@refill
+@samp{@@deffn Function @dots{}}.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defvar @var{variable-name}
+@itemx @@defvarx @var{variable-name}
 Format a description for variables.  The command is equivalent to
-@samp{@@defvr Variable @dots{}}.  @xref{Definition Commands}.@refill
+@samp{@@defvr Variable @dots{}}.  @xref{Definition Commands}, and
+@ref{deffnx,, Def Cmds in Detail}.
 
 @item @@defvr @var{category} @var{name}
+@itemx @@defvrx @var{category} @var{name}
 Format a description for any kind of variable.  @code{@@defvr} takes
 as arguments the category of the entity and the name of the entity.
-@xref{Definition Commands}.@refill
+@xref{Definition Commands},
+and @ref{deffnx,, Def Cmds in Detail}.
+
+@item @@detailmenu@{@}
+Use to avoid Makeinfo confusion stemming from the detailed node listing
+in a master menu.  @xref{Master Menu Parts}.
 
 @item @@dfn@{@var{term}@}
 Highlight the introductory or defining use of a term.
 @xref{dfn, , @code{@@dfn}}.@refill
 
+@item @@dircategory @var{dirpart}
+Specify a part of the Info directory menu where this file's entry should
+go.  @xref{Installing Dir Entries}.
+
+@item @@direntry
+Begin the Info directory menu entry for this file.
+@xref{Installing Dir Entries}.
+
 @need 100
 @item @@display
 Begin a kind of example.  Indent text, do not fill, do not select a
 new font.  Pair with @code{@@end display}.  @xref{display, ,
 @code{@@display}}.@refill
 
-@need 100
 @item @@dmn@{@var{dimension}@}
-Format a dimension.  Cause @TeX{} to insert a narrow space before
-@var{dimension}.  No effect in Info.  Use for writing a number
-followed by an abbreviation of a dimension name, such as
-@samp{12@dmn{pt}}, written as @samp{12@@dmn@{pt@}}, with no space
-between the number and the @code{@@dmn} command.  @xref{dmn, ,
-@code{@@dmn}}.@refill
+Format a unit of measure, as in 12@dmn{pt}.  Causes @TeX{} to insert a
+thin space before @var{dimension}.  No effect in Info.
+@xref{dmn, , @code{@@dmn}}.@refill
 
 @need 100
 @item @@dots@{@}
 Insert an ellipsis: @samp{@dots{}}.
 @xref{dots, , @code{@@dots}}.@refill
 
+@item @@email@{@var{address}@}
+Indicate an electronic mail address.
+@xref{email, , @code{@@email}}.@refill
+
 @need 100
 @item @@emph@{@var{text}@}
 Highlight @var{text}; text is displayed in @emph{italics} in printed
 output, and surrounded by asterisks in Info.  @xref{Emphasis, , Emphasizing Text}.@refill
 
+@item @@end @var{environment}
+Ends @var{environment}, as in @samp{@@end example}.  @xref{Formatting
+Commands,,@@-commands}.
+
+@item @@enddots@{@}
+Generate an end-of-sentence of ellipsis, like this @enddots{}
+@xref{dots,,@code{@@dots@{@}}}.
+
 @need 100
 @item @@enumerate [@var{number-or-letter}]
 Begin a numbered list, using @code{@@item} for each entry.
@@ -12774,29 +13597,30 @@
 Info.  @xref{Custom Headings, , How to Make Your Own Headings}.@refill
 
 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
-Specify page headings for even-numbered (left-hand) pages.  Not relevant to
-Info.  @xref{Custom Headings, , How to Make Your Own Headings}.@refill
+Specify page headings for even-numbered (left-hand) pages.  Only
+supported within @code{@@iftex}.  @xref{Custom Headings, , How to Make
+Your Own Headings}.@refill
 
 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
-Specify page footings for every page.  Not relevant to Info.  @xref{Custom
-Headings, , How to Make Your Own Headings}.@refill
-
-@item @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
-Specify page headings for every page.  Not relevant to Info.  @xref{Custom
-Headings, , How to Make Your Own Headings}.@refill
+@itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
+Specify page footings resp.@: headings for every page.  Not relevant to
+Info.  @xref{Custom Headings, , How to Make Your Own Headings}.@refill
 
 @item @@example
 Begin an example.  Indent text, do not fill, and select fixed-width font.
 Pair with @code{@@end example}.  @xref{example, ,
 @code{@@example}}.@refill
 
+@item @@exclamdown@{@}
+Generate an upside-down exclamation point.  @xref{Inserting Accents}.
+
 @item @@exdent @var{line-of-text}
 Remove any indentation a line might have.  @xref{exdent, ,
 Undoing the Indentation of a Line}.@refill
 
 @item @@expansion@{@}
 Indicate the result of a macro expansion to the reader with a special
-glyph: @samp{@expansion{}}.  
+glyph: @samp{@expansion{}}.
 @xref{expansion, , @expansion{} Indicating an Expansion}.@refill
 
 @item @@file@{@var{filename}@}
@@ -12814,15 +13638,10 @@
 
 @need 200
 @item @@flushleft
+@itemx @@flushright
 Left justify every line but leave the right end ragged.
 Leave font as is.  Pair with @code{@@end flushleft}.
-@xref{flushleft & flushright, , @code{@@flushleft} and
-@code{@@flushright}}.@refill
-
-@need 200
-@item @@flushright
-Right justify every line but leave the left end ragged.
-Leave font as is.  Pair with @code{@@end flushright}.
+@code{@@flushright} analogous.
 @xref{flushleft & flushright, , @code{@@flushleft} and
 @code{@@flushright}}.@refill
 
@@ -12855,6 +13674,9 @@
 @code{@@end group}.  Not relevant to Info.  @xref{group, ,
 @code{@@group}}.@refill
 
+@item @@H@{@var{c}@}
+Generate the long Hungarian umlaut accent over @var{c}, as in @H{o}.
+
 @item @@heading @var{title}
 Print an unnumbered section-like heading in the text, but not in the
 table of contents of a printed manual.  In Info, the title is
@@ -12862,10 +13684,9 @@
 , Section Commands}.@refill
 
 @item @@headings @var{on-off-single-double}
-Turn page headings on or off, or specify single-sided or double-sided
-page headings for printing.  @code{@@headings on} is synonymous with
-@code{@@headings double}.  @xref{headings on off, , The
-@code{@@headings} Command}.@refill
+Turn page headings on or off, and/or specify single-sided or double-sided
+page headings for printing.  @xref{headings on off, , The
+@code{@@headings} Command}.
 
 @item @@i@{@var{text}@}
 Print @var{text} in @i{italic} font.  No effect in Info.
@@ -12877,11 +13698,12 @@
 ifclear} command.
 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
 
-@item @@ifinfo
-Begin a stretch of text that will be ignored by @TeX{} when it
-typesets the printed manual.  The text appears only in the Info file.
-Pair with @code{@@end ifinfo}.  @xref{Conditionals, , Conditionally
-Visible Text}.@refill
+@item @@ifhtml
+@itemx @@ifinfo
+Begin a stretch of text that will be ignored by @TeX{} when it typesets
+the printed manual.  The text appears only in the HTML resp.@: Info
+file.  Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}.
+@xref{Conditionals, , Conditionally Visible Text}.@refill
 
 @item @@ifset @var{flag}
 If @var{flag} is set, the Texinfo formatting commands format text
@@ -12912,7 +13734,7 @@
 Use the specified macro definitions file.  This command is used only
 in the first line of a Texinfo file to cause @TeX{} to make use of the
 @file{texinfo} macro definitions file.  The backslash in @code{\input}
-is used instead of an @code{@@} because @TeX{} does not properly
+is used instead of an @code{@@} because @TeX{} does not
 recognize @code{@@} until after it has read the definitions file.
 @xref{Header, , The Texinfo File Header}.@refill
 
@@ -12932,17 +13754,23 @@
 item text.  @xref{itemx, , @code{@@itemx}}.@refill
 
 @item @@kbd@{@var{keyboard-characters}@}
-Indicate text that consists of characters of input to be typed by
+Indicate text that is characters of input to be typed by
 users.  @xref{kbd, , @code{@@kbd}}.@refill
 
 @item @@key@{@var{key-name}@}
-Highlight @var{key-name}, a conventional name for a key on a keyboard.
+Highlight @var{key-name}, a name for a key on a keyboard.
 @xref{key, , @code{@@key}}.@refill
 
 @item @@kindex @var{entry}
 Add @var{entry} to the index of keys.  @xref{Index Entries, , Defining the
 Entries of an Index}.@refill
 
+@item @@L@{@}
+@itemx @@l@{@}
+Generate the uppercase and lowercase Polish suppressed-L letters,
+respectively: @L{}, @l{}.
+
+@c Possibly this can be tossed now that we have macros.  --karl, 16sep96.
 @item @@global@@let@var{new-command}=@var{existing-command}
 Equate a new highlighting command with an existing one.  Only for
 @TeX{}.  Write definition inside of @code{@@iftex} @dots{} @code{@@end
@@ -12953,7 +13781,16 @@
 fixed-width font.  Pair with @code{@@end lisp}.  @xref{Lisp Example, ,
 @code{@@lisp}}.@refill
 
-@item @@majorheading  @var{title}
+@item @@lowersections
+Change subsequent chapters to sections, sections to subsections, and so
+on. @xref{Raise/lower sections, , @code{@@raisesections} and
+@code{@@lowersections}}.@refill
+
+@item @@macro @var{macro-name} @{@var{params}@}
+Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}.
+Only supported by Makeinfo and Texi2dvi.  @xref{Defining Macros}.
+
+@item @@majorheading @var{title}
 Print a chapter-like heading in the text, but not in the table of
 contents of a printed manual.  Generate more vertical whitespace before
 the heading than the @code{@@chapheading} command.  In Info, the chapter
@@ -12969,7 +13806,11 @@
 manual.  Pair with @code{@@end menu}.  @xref{Menus}.@refill
 
 @item @@minus@{@}
-Generate a minus sign.  @xref{minus, , @code{@@minus}}.@refill
+Generate a minus sign, `@minus{}'.  @xref{minus, , @code{@@minus}}.@refill
+
+@item @@multitable @var{column-width-spec}
+Begin a multi-column table.  Pair with @code{@@end multitable}.
+@xref{Multitable Column Widths}.
 
 @item @@need @var{n}
 Start a new page in a printed manual if fewer than @var{n} mils
@@ -12980,18 +13821,25 @@
 Define the beginning of a new node in Info, and serve as a locator for
 references for @TeX{}.  @xref{node, , @code{@@node}}.@refill
 
-@need 200
 @item @@noindent
 Prevent text from being indented as if it were a new paragraph.
 @xref{noindent, , @code{@@noindent}}.@refill
 
+@item @@O@{@}
+@itemx @@o@{@}
+Generate the uppercase and lowercase Owith-slash letters, respectively:
+@O{}, @o{}.
+
 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
-Specify page footings for odd-numbered (right-hand) pages.  Not relevant to
-Info.  @xref{Custom Headings, , How to Make Your Own Headings}.@refill
-
-@item @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
-Specify page headings for odd-numbered (right-hand) pages.  Not relevant to
-Info.  @xref{Custom Headings, , How to Make Your Own Headings}.@refill
+@itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
+Specify page footings resp.@: headings for odd-numbered (right-hand)
+pages.  Only allowed inside @code{@@iftex}.  @xref{Custom Headings, ,
+How to Make Your Own Headings}.@refill
+
+@item @@OE@{@}
+@itemx @@oe@{@}
+Generate the uppercase and lowercase OE ligatures, respectively:
+@OE{}, @oe{}.  @xref{Inserting Accents}.
 
 @item @@page
 Start a new page in a printed manual.  No effect in Info.
@@ -13012,6 +13860,10 @@
 glyph: @samp{@point{}}.  @xref{Point Glyph, , Indicating
 Point in a Buffer}.@refill
 
+@item @@pounds@{@}
+Generate the pounds sterling currency sign.
+@xref{pounds,,@code{@@pounds@{@}}}.
+
 @item @@print@{@}
 Indicate printed output to the reader with a glyph:
 @samp{@print{}}.  @xref{Print Glyph}.@refill
@@ -13024,11 +13876,13 @@
 @item @@pxref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@}
 Make a reference that starts with a lower case `see' in a printed
 manual.  Use within parentheses only.  Do not follow command with a
-punctuation mark.  The Info formatting commands automatically insert
-terminating punctuation as needed, which is why you do not need to
-insert punctuation.  Only the first argument is mandatory.
+punctuation mark---the Info formatting commands automatically insert
+terminating punctuation as needed.  Only the first argument is mandatory.
 @xref{pxref, , @code{@@pxref}}.@refill
 
+@item @@questiondown@{@}
+Generate an upside-down question mark.  @xref{Inserting Accents}.
+
 @item @@quotation
 Narrow the margins to indicate text that is quoted from another real
 or imaginary work.  Write command on a line of its own.  Pair with
@@ -13063,6 +13917,10 @@
 Indicate the result of an expression to the reader with a special
 glyph: @samp{@result{}}.  @xref{result, , @code{@@result}}.@refill
 
+@item @@ringaccent@{@var{c}@}
+Generate a ring accent over the next character, as in @ringaccent{o}.
+@xref{Inserting Accents}.
+
 @item @@samp@{@var{text}@}
 Highlight @var{text} that is a literal example of a sequence of
 characters.  Used for single characters, for statements, and often for
@@ -13091,10 +13949,10 @@
 odd-numbered (right-hand) new pages.  @xref{setchapternewpage, ,
 @code{@@setchapternewpage}}.@refill
 
-@c awkward wording prevents overfull hbox
 @item @@setfilename @var{info-file-name}
-Provide a name to be used by the Info file.  @xref{setfilename, ,
-@code{@@setfilename}}.@refill 
+Provide a name to be used by the Info file.  This command is essential
+for @TeX{} formatting as well, even though it produces no output.
+@xref{setfilename, , @code{@@setfilename}}.@refill
 
 @item @@settitle @var{title}
 Provide a title for page headers in a printed manual.
@@ -13106,6 +13964,9 @@
 @code{@@summarycontents}.  @xref{Contents, , Generating a Table of
 Contents}.@refill
 
+@item @@shorttitlepage@{@var{title}@}
+Generate a minimal title page.  @xref{titlepage,,@code{@@titlepage}}.
+
 @need 400
 @item @@smallbook
 Cause @TeX{} to produce a printed manual in a 7 by 9.25 inch format
@@ -13132,8 +13993,11 @@
 @item @@sp @var{n}
 Skip @var{n} blank lines.  @xref{sp, , @code{@@sp}}.@refill
 
+@item @@ss@{@}
+Generate the German sharp-S es-zet letter, @ss{}.  @xref{Inserting Accents}.
+
 @need 700
-@item @@strong @var{text} 
+@item @@strong @var{text}
 Emphasize @var{text} by typesetting it in a @strong{bold} font for the
 printed manual and by surrounding it with asterisks for Info.
 @xref{emph & strong, , Emphasizing Text}.@refill
@@ -13192,6 +14056,9 @@
 Print @var{text} in a @t{fixed-width}, typewriter-like font.
 No effect in Info.  @xref{Fonts}.@refill
 
+@item @@tab
+Separate columns in a multitable.  @xref{Multitable Rows}.
+
 @need 400
 @item @@table @var{formatting-command}
 Begin a two-column table, using @code{@@item} for each entry.  Write
@@ -13199,7 +14066,7 @@
 column entries are printed in the font resulting from
 @var{formatting-command}.  Pair with @code{@@end table}.
 @xref{Two-column Tables, , Making a Two-column Table}.
-Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}}, 
+Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}},
 and @ref{itemx, , @code{@@itemx}}.@refill
 
 @item @@TeX@{@}
@@ -13211,35 +14078,16 @@
 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill
 
 @item @@thischapter
-In a heading or footing, stands for the number and name of the current
-chapter, in the format `Chapter 1: Title'.  @xref{Custom
-Headings, , How to Make Your Own Headings}.@refill
-
-@item @@thischaptername
-In a heading or footing, stands for the name of the current chapter.
-@xref{Custom Headings, , How to Make Your Own Headings}.@refill
-
-@item @@thisfile
-In a heading or footing, stands for the name of the current
-@code{@@include} file.  Does not insert anything if not within an
-@code{@@include} file.  @xref{Custom Headings, , How to Make Your Own
+@itemx @@thischaptername
+@itemx @@thisfile
+@itemx @@thispage
+@itemx @@thistitle
+Only allowed in a heading or footing.  Stands for the number and name of
+the current chapter (in the format `Chapter 1: Title'), the chapter name
+only, the filename, the current page number, and the title of the
+document, respectively.  @xref{Custom Headings, , How to Make Your Own
 Headings}.@refill
 
-@item @@thispage
-In a heading or footing, stands for the current page number.
-@xref{Custom Headings, , How to Make Your Own Headings}.@refill
-
-@ignore
-@item @@thissection
-In a heading or footing, stands for the title of the current section.
-@xref{Custom Headings, , How to Make Your Own Headings}.@refill
-@end ignore
-
-@item @@thistitle
-In a heading or footing, stands for the name of the document, as specified
-by the @code{@@settitle} command.  @xref{Custom Headings, , How to
-Make Your Own Headings}.@refill
-
 @item @@tindex @var{entry}
 Add @var{entry} to the index of data types.  @xref{Index Entries, ,
 Defining the Entries of an Index}.@refill
@@ -13281,6 +14129,13 @@
 command is merely a synonym for @code{@@unnumbered}.  @xref{makeinfo
 Pointer Creation, , Creating Pointers with @code{makeinfo}}.
 
+@item @@u@var{c}
+@itemx @@ubaraccent@var{c}
+@itemx @@udotaccent@var{c}
+Generate a breve, underbar, or underdot accent, respectively, over or
+under the character @var{c}, as in @u{o}, @ubaraccent{o},
+@udotaccent{o}.  @xref{Inserting Accents}.
+
 @item @@unnumbered @var{title}
 In a printed manual, begin a chapter that appears without chapter
 numbers of any kind.  The title appears in the table of contents of a
@@ -13308,6 +14163,14 @@
 manual.  In Info, the title is underlined with periods.
 @xref{subsubsection, , The `subsub' Commands}.@refill
 
+@item @@url@{@var{url}@}
+Highlight text that is a uniform resource locator for the World Wide
+Web.  @xref{url, , @code{@@url}}.@refill
+
+@item @@v@var{c}
+Generate check accent over the character @var{c}, as in @v{o}.
+@xref{Inserting Accents}.
+
 @item @@value@{@var{flag}@}
 Replace @var{flag} with the value to which it is set by @code{@@set
 @var{flag}}.
@@ -13344,7 +14207,6 @@
 @item @@w@{@var{text}@}
 Prevent @var{text} from being split across two lines.  Do not end a
 paragraph that uses @code{@@w} with an @code{@@refill} command.
-In the Texinfo file, keep @var{text} on one line.
 @xref{w, , @code{@@w}}.@refill
 
 @need 400
@@ -13378,7 +14240,7 @@
 Include a copyright notice and copying permissions.
 @end itemize
 
-@subsubheading Index, index, index!  
+@subsubheading Index, index, index!
 
 Write many index entries, in different ways.
 Readers like indices; they are helpful and convenient.
@@ -13394,8 +14256,7 @@
 @itemize @bullet
 @item
 Write each index entry differently, so each entry refers to a different
-place in the document.  The index of an Info file lists only one
-location for each entry.  
+place in the document.
 
 @item
 Write index entries only where a topic is discussed significantly.  For
@@ -13416,7 +14277,7 @@
 use the appropriate case for case-sensitive names, such as those in C or
 Lisp.
 
-@item 
+@item
 Write the indexing commands that refer to a whole section immediately
 after the section command, and write the indexing commands that refer to
 the paragraph before the paragraph.
@@ -13458,7 +14319,7 @@
 @item
 Always insert a blank line before an @code{@@table} command and after an
 @code{@@end table} command; but never insert a blank line after an
-@code{@@table} command or before an @code{@@end table} command.  
+@code{@@table} command or before an @code{@@end table} command.
 
 @need 1000
 For example,
@@ -13532,8 +14393,8 @@
 @example
 @group
 @@c ===> NOTE! <==
-@@c Specify the edition and version numbers and date 
-@@c in *three* places: 
+@@c Specify the edition and version numbers and date
+@@c in *three* places:
 @@c   1. First ifinfo section  2. title page  3. top node
 @@c To find the locations, search for !!set
 @end group
@@ -13541,14 +14402,14 @@
 @group
 @@ifinfo
 @@c !!set edition, date, version
-This is Edition 4.03, January 1992, 
+This is Edition 4.03, January 1992,
 of the @@cite@{GDB Manual@} for GDB Version 4.3.
 @dots{}
 @end group
 @end example
 
 @noindent
----or use @code{@@set} and @code{@@value} 
+---or use @code{@@set} and @code{@@value}
 (@pxref{value Example, , @code{@@value} Example}).
 
 @subsubheading Definition Commands
@@ -13561,7 +14422,7 @@
 @item
 Write just one definition command for each entity you define with a
 definition command.  The automatic indexing feature creates an index
-entry that leads the reader to the definition. 
+entry that leads the reader to the definition.
 
 @item
 Use @code{@@table} @dots{} @code{@@end table} in an appendix that
@@ -13598,7 +14459,7 @@
 @group
     @@kbd@{C-x v@}
     @@kbd@{M-x vc-next-action@}
-       Perform the next logical operation 
+       Perform the next logical operation
        on the version-controlled file
        corresponding to the current buffer.
 @end group
@@ -13633,7 +14494,7 @@
 @item
 Use @code{@@code} around Lisp symbols, including command names.
 For example,
-       
+
 @example
 The main function is @@code@{vc-next-action@}, @dots{}
 @end example
@@ -13649,15 +14510,16 @@
 @item
 Use three hyphens in a row, @samp{---}, to indicate a long dash.  @TeX{}
 typesets these as a long dash and the Info formatters reduce three
-hyphens to two.  
+hyphens to two.
 @end itemize
 
 @subsubheading Periods Outside of Quotes
 
 Place periods and other punctuation marks @emph{outside} of quotations,
-unless the punctuation is part of the quotation.  This practice goes against
-convention, but enables the reader to distinguish between the contents
-of the quotation and the whole passage.
+unless the punctuation is part of the quotation.  This practice goes
+against publishing conventions in the United States, but enables the
+reader to distinguish between the contents of the quotation and the
+whole passage.
 
 For example, you should write the following sentence with the period
 outside the end quotation marks:
@@ -13674,8 +14536,8 @@
 
 @itemize @bullet
 @item
-Introduce new terms so that a user who does not know them can understand
-them from context; or write a definition for the term.
+Introduce new terms so that a reader who does not know them can
+understand them from context; or write a definition for the term.
 
 For example, in the following, the terms ``check in'', ``register'' and
 ``delta'' are all appearing for the first time; the example sentence should be
@@ -13689,8 +14551,8 @@
 
 @item
 Use the @code{@@dfn} command around a word being introduced, to indicate
-that the user should not expect to know the meaning already, and should
-expect to learn the meaning from this passage.
+that the reader should not expect to know the meaning already, and
+should expect to learn the meaning from this passage.
 @end itemize
 
 @subsubheading @@pxref
@@ -13699,7 +14561,7 @@
 @ignore
 By the way, it is okay to use pxref with something else in front of
 it within the parens, as long as the pxref is followed by the close
-paren, and the material inside the parents is not part of a larger
+paren, and the material inside the parens is not part of a larger
 sentence.  Also, you can use xref inside parens as part of a complete
 sentence so long as you terminate the cross reference with punctuation.
 @end ignore
@@ -13718,8 +14580,8 @@
 sections are all different, readers find it hard to search for the
 section.@refill
 
-Name such sections with a phrase beginning with the word 
-@w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way 
+Name such sections with a phrase beginning with the word
+@w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way
 users can find the section easily.
 
 @subsubheading @sc{ansi c} Syntax
@@ -13762,7 +14624,7 @@
 in@} the new version.''  That flows better.
 
 @quotation
-When you are done editing the file, you must perform a 
+When you are done editing the file, you must perform a
 @code{@@dfn}@{check in@}.
 @end quotation
 
@@ -13808,7 +14670,7 @@
 
 @sp 1
 @example
-\input texinfo   @@c -*-texinfo-*-      
+\input texinfo   @@c -*-texinfo-*-
 @@c %**start of header
 @@setfilename sample.info
 @@settitle Sample Document
@@ -13837,7 +14699,7 @@
 @@comment node-name, next,          previous, up
 
 @@menu
-* First Chapter::    The first chapter is the 
+* First Chapter::    The first chapter is the
                      only chapter in this sample.
 * Concept Index::    This index has two entries.
 @@end menu
@@ -13847,7 +14709,7 @@
 @@chapter First Chapter
 @@cindex Sample index entry
 
-This is the contents of the first chapter. 
+This is the contents of the first chapter.
 @@cindex Another sample index entry
 
 Here is a numbered list.
@@ -13861,8 +14723,8 @@
 @@end enumerate
 
 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
-commands transform a Texinfo file such as this into 
-an Info file; and @@TeX@{@} typesets it for a printed 
+commands transform a Texinfo file such as this into
+an Info file; and @@TeX@{@} typesets it for a printed
 manual.
 
 @@node    Concept Index,    ,  First Chapter, Top
@@ -13961,7 +14823,7 @@
 copies of this manual provided the copyright notice and
 this permission notice are preserved on all copies.
 
-@@ignore 
+@@ignore
 Permission is granted to process this file through TeX
 and print the results, provided the printed document
 carries a copying permission notice identical to this
@@ -13979,13 +14841,13 @@
 one.
 
 Permission is granted to copy and distribute
-translations of this manual into another language, 
-under the above conditions for modified versions, 
+translations of this manual into another language,
+under the above conditions for modified versions,
 except that this permission notice may be stated in a
 translation approved by the Free Software Foundation.
 @end example
 
-@node Titlepage Permissions,  , ifinfo Permissions, Sample Permissions
+@node Titlepage Permissions, , ifinfo Permissions, Sample Permissions
 @comment  node-name,  next,  previous,  up
 @appendixsec Titlepage Copying Permissions
 @cindex Titlepage permissions
@@ -14010,8 +14872,8 @@
 one.
 
 Permission is granted to copy and distribute
-translations of this manual into another language, 
-under the above conditions for modified versions, 
+translations of this manual into another language,
+under the above conditions for modified versions,
 except that this permission notice may be stated in a
 translation approved by the Free Software Foundation.
 @end example
@@ -14042,7 +14904,7 @@
 @end menu
 
 @node Using Include Files, texinfo-multiple-files-update, Include Files, Include Files
-@appendixsec How to Use Include Files 
+@appendixsec How to Use Include Files
 @findex include
 
 To include another file within a Texinfo file, write the
@@ -14268,7 +15130,7 @@
 menu with 417 entries and a list of 41 @code{@@include}
 files.@refill
 
-@node Include Files Evolution,  , Sample Include File, Include Files
+@node Include Files Evolution, , Sample Include File, Include Files
 @comment  node-name,  next,  previous,  up
 @appendixsec Evolution of Include Files
 
@@ -14282,7 +15144,7 @@
 
 References from one file to another were made by referring to the file
 name as well as the node name. (@xref{Other Info Files, , Referring to
-Other Info Files}.  Also, see @ref{Four and Five Arguments, , 
+Other Info Files}.  Also, see @ref{Four and Five Arguments, ,
 @code{@@xref} with Four and Five Arguments}.)@refill
 
 Include files were designed primarily as a way to create a single,
@@ -14451,28 +15313,28 @@
 There are four possibilities:@refill
 
 @table @asis
-@item No @code{@@setchapternewpage} command 
+@item No @code{@@setchapternewpage} command
 Cause @TeX{} to specify the single-sided heading format, with chapters
 on new pages. This is the same as @code{@@setchapternewpage on}.@refill
 
-@item @code{@@setchapternewpage on} 
+@item @code{@@setchapternewpage on}
 Specify the single-sided heading format, with chapters on new pages.@refill
 
-@item @code{@@setchapternewpage off} 
+@item @code{@@setchapternewpage off}
 Cause @TeX{} to start a new chapter on the same page as the last page of
 the preceding chapter, after skipping some vertical whitespace.  Also
 cause @TeX{} to typeset for single-sided printing.  (You can override
 the headers format with the @code{@@headings double} command; see
 @ref{headings on off, , The @code{@@headings} Command}.)@refill
 
-@item @code{@@setchapternewpage odd} 
+@item @code{@@setchapternewpage odd}
 Specify the double-sided heading format, with chapters on new pages.@refill
 @end table
 
 @noindent
 Texinfo lacks an @code{@@setchapternewpage even} command.@refill
 
-@node Custom Headings,  , Heading Choice, Headings
+@node Custom Headings, , Heading Choice, Headings
 @comment  node-name,  next,  previous,  up
 @appendixsec How to Make Your Own Headings
 
@@ -14583,12 +15445,12 @@
 chapter, in the format `Chapter 1: Title'.@refill
 
 @findex thistitle
-@item @@thistitle   
+@item @@thistitle
 Expands to the name of the document, as specified by the
 @code{@@settitle} command.@refill
 
 @findex thisfile
-@item @@thisfile   
+@item @@thisfile
 For @code{@@include} files only: expands to the name of the current
 @code{@@include} file.  If the current Texinfo source file is not an
 @code{@@include} file, this command has no effect.  This command does
@@ -14714,10 +15576,10 @@
 ---------- Buffer: *Info Region* ----------
 * Menu:
 
-* Using texinfo-show-structure::  How to use  
+* Using texinfo-show-structure::  How to use
                                   `texinfo-show-structure'
                                   to catch mistakes.
-* Running Info-Validate::         How to check for 
+* Running Info-Validate::         How to check for
                                   unreferenced nodes.
 @@end menus
 @point{}
@@ -14792,7 +15654,7 @@
 @c appendixsubsec Using the Emacs Lisp Debugger
 @c index Using the Emacs Lisp debugger
 @c index Emacs Lisp debugger
-@c index Debugger, using the Emacs Lisp 
+@c index Debugger, using the Emacs Lisp
 
 If an error is especially elusive, you can turn on the Emacs Lisp
 debugger and look at the backtrace; this tells you where in the
@@ -14895,19 +15757,19 @@
 @example
 ---------- Buffer: *tex-shell* ----------
 Runaway argument?
-@{sorting indices, for more information about sorting 
+@{sorting indices, for more information about sorting
 indices.) @@refill @@ETC.
 ! Paragraph ended before @@xref was complete.
-<to be read again> 
-                   @@par 
-l.27 
-     
-? 
+<to be read again>
+                   @@par
+l.27
+
+?
 ---------- Buffer: *tex-shell* ----------
 @end example
 
 In this case, @TeX{} produced an accurate and
-understandable error message: 
+understandable error message:
 
 @example
 Paragraph ended before @@xref was complete.
@@ -14930,7 +15792,7 @@
 You can tell @TeX{} to continue running and ignore just this error by
 typing @key{RET} at the @samp{?} prompt.@refill
 
-@item 
+@item
 You can tell @TeX{} to continue running and to ignore all errors as best
 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill
 
@@ -14940,8 +15802,8 @@
 producing such an avalanche of error messages, type @kbd{C-d} (or
 @kbd{C-c C-d}, if you are running a shell inside Emacs.))@refill
 
-@item 
-You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}} 
+@item
+You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}}
 at the @samp{?} prompt.@refill
 @end enumerate
 
@@ -14979,8 +15841,7 @@
 The @samp{*} indicates that @TeX{} is waiting for input.@refill
 
 @example
-This is TeX, Version 2.0 for Berkeley UNIX 
-(preloaded format=plain-cm 87.10.25) 
+This is TeX, Version 3.14159 (Web2c 7.0)
 (test.texinfo [1])
 *
 @end example
@@ -15006,7 +15867,7 @@
 command lists all the lines that begin with the @@-commands that
 specify the structure: @code{@@chapter}, @code{@@section},
 @code{@@appendix}, and so on.  With an argument (@w{@kbd{C-u}}
-as prefix argument, if interactive), 
+as prefix argument, if interactive),
 the command also shows the @code{@@node} lines.  The
 @code{texinfo-show-structure} command is bound to @kbd{C-c C-s} in
 Texinfo mode, by default.@refill
@@ -15018,7 +15879,7 @@
 @example
 @group
  Lines matching "^@@\\(chapter \\|sect\\|subs\\|subh\\|
- unnum\\|major\\|chapheading \\|heading \\|appendix\\)" 
+ unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
  in buffer texinfo.texi.
  @dots{}
  4177:@@chapter Nodes
@@ -15067,7 +15928,7 @@
 @node Using occur, Running Info-Validate, Using texinfo-show-structure, Catching Mistakes
 @comment  node-name,  next,  previous,  up
 @appendixsec Using @code{occur}
-@cindex Occurrences, listing with @code{@@occur} 
+@cindex Occurrences, listing with @code{@@occur}
 @findex occur
 
 Sometimes the @code{texinfo-show-structure} command produces too much
@@ -15080,7 +15941,7 @@
 @kbd{M-x occur}
 @end example
 
-@noindent 
+@noindent
 and then, when prompted, type a @dfn{regexp}, a regular expression for
 the pattern you want to match.  (@xref{Regexps, , Regular Expressions,
 emacs, The GNU Emacs Manual}.)  The @code{occur} command works from
@@ -15104,7 +15965,7 @@
 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual},
 for more information.@refill
 
-@node Running Info-Validate,  , Using occur, Catching Mistakes
+@node Running Info-Validate, , Using occur, Catching Mistakes
 @comment  node-name,  next,  previous,  up
 @appendixsec Finding Badly Referenced Nodes
 @findex Info-validate
@@ -15112,7 +15973,7 @@
 @cindex Checking for badly referenced nodes
 @cindex Looking for badly referenced nodes
 @cindex Finding badly referenced nodes
-@cindex Badly referenced nodes 
+@cindex Badly referenced nodes
 
 You can use the @code{Info-validate} command to check whether any of
 the `Next', `Previous', `Up' or other node pointers fail to point to a
@@ -15241,7 +16102,7 @@
 @end example
 
 @noindent
-(Note the upper case @key{I} in @code{Info-tagify}.)  This creates an
+(Note the upper case @samp{I} in @code{Info-tagify}.)  This creates an
 Info file with a tag table that you can validate.@refill
 
 The third step is to validate the Info file:@refill
@@ -15251,7 +16112,7 @@
 @end example
 
 @noindent
-(Note the upper case @key{I} in @code{Info-validate}.)
+(Note the upper case @samp{I} in @code{Info-validate}.)
 In brief, the steps are:@refill
 
 @example
@@ -15267,7 +16128,7 @@
 tag table and split the file automatically, or you can make the tag
 table and split the file manually.@refill
 
-@node Splitting,  , Tagifying, Running Info-Validate
+@node Splitting, , Tagifying, Running Info-Validate
 @comment  node-name,  next,  previous,  up
 @appendixsubsec Splitting a File Manually
 @cindex Splitting an Info file manually
@@ -15321,8 +16182,8 @@
 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top
 @comment  node-name,  next,  previous,  up
 @appendix Refilling Paragraphs
-@cindex Refilling paragraphs 
-@cindex Filling paragraphs 
+@cindex Refilling paragraphs
+@cindex Filling paragraphs
 @findex refill
 
 The @code{@@refill} command refills and, optionally, indents the first
@@ -15363,7 +16224,7 @@
 @cindex @@-command syntax
 
 The character @samp{@@} is used to start special Texinfo commands.
-(It has the same meaning that @samp{\} has in Plain@TeX{}.)  Texinfo
+(It has the same meaning that @samp{\} has in plain @TeX{}.)  Texinfo
 has four types of @@-command:@refill
 
 @table @asis
@@ -15425,17 +16286,23 @@
 @cindex @TeX{}, how to obtain
 
 @c !!! Here is information about obtaining TeX.  Update it whenever.
-@c     Last updated by RJC on 1 March 1995, conversation with Mackay.
+@c !!! Also consider updating TeX.README on prep.
+@c     Updated by RJC on 1 March 1995, conversation with MacKay.
+@c     Updated by kb@cs.umb.edu on 29 July 1996.
 @TeX{} is freely redistributable.  You can obtain @TeX{} for Unix
 systems via anonymous ftp or on tape or CD-ROM.  The core material
-consists of Karl Berry's @code{web2c} @TeX{} package.  
-
-On-line retrieval instructions are in @code{ftp.cs.umb.edu}
-@t{[158.121.104.33]} in @file{pub/tex/unixtex.ftp}
-
-The Free Software Foundation provides a core distribution on its
-Source Code CD-ROM; the University of Washington maintains and
-supports a tape distribution.
+consists of Karl Berry's Web2c @TeX{} distribution.
+
+On-line retrieval instructions are available from either:
+@example
+@url{ftp://ftp.tug.org/tex/unixtex.ftp}
+@url{http://www.tug.org/unixtex.ftp}
+@end example
+
+The Free Software Foundation provides a core distribution on its Source
+Code CD-ROM suitable for printing Texinfo manuals; the University of
+Washington maintains and supports a tape distribution; the @TeX{} Users
+Group co-sponsors a complete CD-ROM @TeX{} distribution.
 
 For the FSF Source Code CD-ROM, please contact:
 
@@ -15444,7 +16311,7 @@
 @group
 Free Software Foundation, Inc.
 59 Temple Place Suite 330
-Boston, MA @w{ } 02111-1307
+Boston, MA w{ } 02111-1307
 USA
 
 Telephone: @w{@t{+}1--617--542--5942}
@@ -15452,7 +16319,7 @@
 Free Dial Fax (in Japan):
 @w{ } @w{ } @w{ } 0031--13--2473 (KDD)
 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC)
-Electronic mail: @code{gnu@@prep.ai.mit.edu}                
+Electronic mail: @code{gnu@@prep.ai.mit.edu}
 @end group
 @end display
 @end iftex
@@ -15469,21 +16336,27 @@
 Free Dial Fax (in Japan):
 @w{ } @w{ } @w{ } 0031-13-2473 (KDD)
 @w{ } @w{ } @w{ } 0066-3382-0158 (IDC)
-Electronic mail: @code{gnu@@prep.ai.mit.edu}                
+Electronic mail: @code{gnu@@prep.ai.mit.edu}
 @end group
 @end display
 @end ifinfo
 
+To order a full distribution on CD-ROM, please see:
+@display
+@url{http://www.tug.org/tex-live.html}
+@end display
+
+@noindent
+(The distribution is also available by FTP; see the URL's above.)
+
 To order a full distribution from the University of Washington on either a
-1/4@dmn{inch} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send
-$210.00 to:
-
-@iftex
+1/4@dmn{in} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send
+$210 to:
+
 @display
 @group
 Pierre A. MacKay
-Department of Classics
-DH-10, Denny Hall 218
+Denny Hall, Mail Stop DH-10
 University of Washington
 Seattle, WA @w{ } 98195
 USA
@@ -15492,22 +16365,6 @@
 Electronic mail: @code{mackay@@cs.washington.edu}
 @end group
 @end display
-@end iftex
-@ifinfo
-@display
-@group
-Pierre A. MacKay
-Department of Classics
-DH-10, Denny Hall 218
-University of Washington
-Seattle, WA @w{ } 98195
-USA
-
-Telephone: @t{+}1-206-543-2268
-Electronic mail: @code{mackay@@cs.washington.edu}
-@end group
-@end display
-@end ifinfo
 
 Please make checks payable to the University of Washington.
 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank.
@@ -15518,7 +16375,8 @@
 
 Please check with the above for current prices and formats.
 
-@node  New Features, Command and Variable Index, Obtaining TeX, Top
+
+@node New Features, Command and Variable Index, Obtaining TeX, Top
 @appendix Second Edition Features
 
 @tex
@@ -15726,7 +16584,7 @@
 Insert node pointers in strict sequence.
 @end table
 
-@node New Commands,  , New Texinfo Mode Commands, New Features
+@node New Commands, , New Texinfo Mode Commands, New Features
 @appendixsec New Texinfo @@-Commands
 
 The second edition of the Texinfo manual describes more than 50
@@ -15748,7 +16606,7 @@
 Define a new index and its indexing command.
 See also the @code{@@defcodeindex} command.
 
-@c written verbosely to avoid overful hbox
+@c written verbosely to avoid overfull hbox
 @item @@synindex @var{from-index} @var{into-index}
 Merge the @var{from-index} index into the @var{into-index} index.
 See also the @code{@@syncodeindex} command.
@@ -15784,11 +16642,11 @@
 @xref{Glyphs}.
 
 @table @kbd
-@item @@equiv@{@}    
+@item @@equiv@{@}
 @itemx @equiv{}
 Equivalence:
 
-@item @@error@{@}    
+@item @@error@{@}
 @itemx @error{}
 Error message
 
@@ -15796,15 +16654,15 @@
 @itemx @expansion{}
 Macro expansion
 
-@item @@point@{@}    
+@item @@point@{@}
 @itemx @point{}
 Position of point
 
-@item @@print@{@}    
+@item @@print@{@}
 @itemx @print{}
 Printed output
 
-@item @@result@{@}   
+@item @@result@{@}
 @itemx @result{}
 Result of an expression
 @end table
@@ -15827,7 +16685,7 @@
 @item @@evenheading, @@everyheading, @@oddheading, @dots{}
 Five other related commands.
 
-@item @@thischapter 
+@item @@thischapter
 Insert name of chapter and chapter number.
 
 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage
@@ -15853,13 +16711,13 @@
 @item @@exdent @var{line-of-text}
 Remove indentation.
 
-@item @@flushleft 
+@item @@flushleft
 Left justify.
 
 @item @@flushright
 Right justify.
 
-@item @@format    
+@item @@format
 Do not narrow nor change font.
 
 @item @@ftable @var{formatting-command}
@@ -15869,7 +16727,7 @@
 @item @@lisp
 For an example of Lisp code.
 
-@item @@smallexample 
+@item @@smallexample
 @itemx @@smalllisp
 Like @@table and @@lisp @r{but for} @@smallbook.
 @end table
@@ -15883,7 +16741,7 @@
 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
 
 @table @kbd
-@item @@set @var{flag} [@var{string}]    
+@item @@set @var{flag} [@var{string}]
 Set a flag.  Optionally, set value
 of @var{flag} to @var{string}.
 
@@ -15928,7 +16786,7 @@
 @table @kbd
 @item @@r@{@var{text}@}
 Print in roman font.
-      
+
 @item @@sc@{@var{text}@}
 Print in @sc{small caps} font.
 @end table
@@ -15949,13 +16807,14 @@
 see @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author}}, and@*
 see @ref{Custom Headings, , How to Make Your Own Headings}.
 
-@need 700
 @table @kbd
 @item @@author @var{author}
 Typeset author's name.
 
+@ignore
 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
 Define a highlighting command for Info.  (Info only.)
+@end ignore
 
 @item @@finalout
 Produce cleaner printed output.
@@ -15988,7 +16847,7 @@
 Make a reference.  In the printed manual, the
 reference does not start with the word `see'.
 
-@item @@title @var{title}  
+@item @@title @var{title}
 Typeset @var{title} in the alternative
 title page format.
 
@@ -16004,22 +16863,24 @@
 \global\tableindent=.8in
 @end tex
 
+
 @node Command and Variable Index, Concept Index, New Features, Top
 @comment  node-name,  next,  previous,  up
 @unnumbered Command and Variable Index
 
-This is an alphabetical list of all the @@-commands and several
-variables.  To make the list easier to use, the commands are listed
-without their preceding @samp{@@}.@refill
+This is an alphabetical list of all the @@-commands, assorted Emacs Lisp
+functions, and several variables.  To make the list easier to use, the
+commands are listed without their preceding @samp{@@}.@refill
 
 @printindex fn
 
-@node Concept Index,  , Command and Variable Index, Top
-@comment  node-name,     next,  previous,      up
+
+@node Concept Index, , Command and Variable Index, Top
 @unnumbered Concept Index
 
 @printindex cp
 
+
 @summarycontents
 @contents
 @bye