]> code.delx.au - gnu-emacs/blobdiff - man/faq.texi
*** empty log message ***
[gnu-emacs] / man / faq.texi
index 2e99ec730e1de018c123d4ba4dcbdd3500ad27e4..a2ec12f64085ccc4d528d85a157b0b857d967cdd 100644 (file)
@@ -1,4 +1,4 @@
-\input texinfo   @c -*- coding: latin-1; mode: texinfo; -*-
+\input texinfo   @c -*- mode: texinfo; -*-
 @c %**start of header
 @setfilename ../info/efaq
 @settitle GNU Emacs FAQ
@@ -7,17 +7,22 @@
 @setchapternewpage odd
 
 @c This is used in many places
-@set VER 21.3
+@set VER 22.1
+
+@c This file is maintained by Romain Francoise <rfrancoise@gnu.org>.
+@c Feel free to install changes without prior permission (but I'd
+@c appreciate a notice if you do).
 
 @copying
-Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006 Free
+Software Foundation, Inc.@*
 Copyright 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner@*
 Copyright 1992,1993 Steven Byrnes@*
 Copyright 1990,1991,1992 Joseph Brian Wells@*
 
 @quotation
 This list of frequently asked questions about GNU Emacs with answers
-("FAQ") may be translated into other languages, transformed into other
+(``FAQ'') may be translated into other languages, transformed into other
 formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information.
 
 The same conditions apply to any derivative of the FAQ as apply to the FAQ
@@ -30,8 +35,8 @@ The FAQ may be copied and redistributed under these conditions, except that
 the FAQ may not be embedded in a larger literary work unless that work
 itself allows free copying and redistribution.
 
-[This version has been somewhat edited from the last-posted version
-(as of August 1999) for inclusion in the Emacs distribution.]
+[This version has been heavily edited since it was included in the Emacs
+distribution.]
 @end quotation
 @end copying
 
@@ -55,12 +60,9 @@ itself allows free copying and redistribution.
 
 This is the GNU Emacs FAQ, last updated on @today{}.
 
-The FAQ is maintained as a Texinfo document, allowing us to create HTML,
-Info, and TeX documents from a single source file, and is slowly but
-surely being improved.  Please bear with us as we improve on this
-format.  This FAQ is maintained as a part of GNU Emacs.  If you find
-any errors, or have any suggestions, please use @kbd{M-x report-emacs-bug}
-to report them.
+This FAQ is maintained as a part of GNU Emacs.  If you find any errors,
+or have any suggestions, please use @kbd{M-x report-emacs-bug} to report
+them.
 
 @menu
 * FAQ notation::
@@ -309,7 +311,7 @@ consortium of computer vendors which develops commercial software for
 Unix systems.
 
 The word ``free'' in the title of the Free Software Foundation refers to
-``freedom,'' not ``zero dollars.''  Anyone can charge any price for
+``freedom,'' not ``zero cost.''  Anyone can charge any price for
 GPL-covered software that they want to.  However, in practice, the
 freedom enforced by the GPL leads to low prices, because you can always
 get the software for less money from someone else, since everyone has
@@ -422,14 +424,17 @@ years, although there may be some unintentional gaps in coverage.  The
 archive is not particularly well organized or easy to retrieve
 individual postings from, but pretty much everything is there.
 
-The archive is at @uref{ftp://ftp-mailing-list-archives.gnu.org}.
+The archive is at @uref{ftp://lists.gnu.org/}.
 
-The archive can be browsed over the web at 
-@uref{http://mail.gnu.org/archive/html/, the GNU mail archive}.
+The archive can be browsed over the web at
+@uref{http://lists.gnu.org/archive/html/, the GNU mail archive}.
 
 Web-based Usenet search services, such as
-@uref{http://groups.google.com, Google}, also archive the
-@code{gnu.*} groups.
+@uref{http://groups.google.com/groups/dir?sel=33592484, Google}, also
+archive the @code{gnu.*} groups.
+
+You can read the archives of the @code{gnu.*} groups and post new
+messages at @uref{http://gmane.org/, Gmane}.
 
 @node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions
 @section Where should I report bugs and other problems with Emacs?
@@ -438,16 +443,19 @@ Web-based Usenet search services, such as
 @cindex How to submit a bug report
 @cindex Reporting bugs
 
-The correct way to report Emacs bugs is by e-mail to
-@email{bug-gnu-emacs@@gnu.org}.  Anything sent here also appears in the
+The correct way to report Emacs bugs is to use the command
+@kbd{M-x report-emacs-bug}.  It sets up a mail buffer with the
+essential information and the correct e-mail address which is
+@email{bug-gnu-emacs@@gnu.org} for the released versions of Emacs.
+Anything sent to @email{bug-gnu-emacs@@gnu.org} also appears in the
 newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of
 news to submit the bug report.  This ensures a reliable return address
 so you can be contacted for further details.
 
 Be sure to read the ``Bugs'' section of the Emacs manual before reporting
-a bug to bug-gnu-emacs!  The manual describes in detail how to submit a
-useful bug report.  (@xref{On-line manual}, if you don't know how to read the
-manual.)
+a bug!  The manual describes in detail how to submit a useful bug
+report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}).
+(@xref{On-line manual}, if you don't know how to read the manual.)
 
 RMS says:
 
@@ -518,8 +526,8 @@ gnu@@gnu.org
 
 @item Postal address
 Free Software Foundation@*
-59 Temple Place - Suite 330@*
-Boston, MA 02111-1307@*
+51 Franklin Street, Fifth Floor@*
+Boston, MA 02110-1301@*
 USA@*
 
 @end table
@@ -556,8 +564,11 @@ This chapter tells you how to get help with Emacs
 @cindex Self-paced tutorial, invoking the
 @cindex Help system, entering the
 
-Type @kbd{C-h t} to invoke the self-paced tutorial.  Just typing @kbd{C-h}
-enters the help system.
+Type @kbd{C-h t} to invoke the self-paced tutorial.  Just typing
+@kbd{C-h} enters the help system.  Starting with Emacs 22, the tutorial
+is available in many foreign languages such as French, German, Japanese,
+Russian, etc.  Use @kbd{M-x help-with-tutorial-spec-language @key{RET}}
+to choose your language and start the tutorial.
 
 Your system administrator may have changed @kbd{C-h} to act like
 @key{DEL} to deal with local keyboards.  You can use @kbd{M-x
@@ -570,11 +581,6 @@ sequence listed.  Each of the resulting key sequences invokes help.
 Emacs help works best if it is invoked by a single key whose value
 should be stored in the variable @code{help-char}.
 
-There is also a WWW-based tutorial for Emacs 18, much of which is also
-relevant for later versions of Emacs, available at
-
-@uref{http://kufacts.cc.ukans.edu/cwis/writeups/misc/emacsguide.html}
-
 @node Learning how to do something, Getting a printed manual, Basic editing, Getting help
 @section How do I find out how to do something in Emacs?
 @cindex Help for Emacs
@@ -589,9 +595,9 @@ There are several methods for finding out how to do things in Emacs.
 @cindex Reading the Emacs manual
 @item
 The complete text of the Emacs manual is available on-line via the Info
-hypertext reader.  Type @kbd{C-h i} to invoke Info.  Typing @key{h}
-immediately after entering Info will provide a short tutorial on how to
-use it.
+hypertext reader.  Type @kbd{C-h r} to display the manual in Info mode.
+Typing @key{h} immediately after entering Info will provide a short
+tutorial on how to use it.
 
 @cindex Lookup a subject in a manual
 @cindex Index search in a manual
@@ -668,12 +674,16 @@ file}).
 If you absolutely have to print your own copy, and you don't have @TeX{},
 you can get a PostScript version from
 
-@uref{http://www.gnu.org/manual/emacs/ps/emacs.ps.gz}
+@uref{http://www.gnu.org/software/emacs/manual/emacs.ps.gz}
 
 @cindex HTML version of Emacs manual, obtaining
 An HTML version of the manual is at
 
-@uref{www.gnu.org/manual/emacs/index.html}
+@uref{http://www.gnu.org/software/emacs/manual/emacs.html}
+
+The manual is available in other formats at
+
+@uref{http://www.gnu.org/software/emacs/manual/}
 
 @xref{Learning how to do something}, for how to view the manual on-line.
 
@@ -688,24 +698,16 @@ An HTML version of the manual is at
 Within Emacs, you can type @kbd{C-h f} to get the documentation for a
 function, @kbd{C-h v} for a variable.
 
-For more information, obtain the Emacs Lisp Reference Manual.  Details
-on ordering it from FSF are on the
-@uref{http://www.gnu.org/order/order.html, GNU Web site}.
-
-The Emacs Lisp Reference Manual is also available on-line, in Info
-format.  Texinfo source for the manual (along with pregenerated Info
-files) is available at
+For more information, the Emacs Lisp Reference Manual is available
+on-line, in Info format.  @xref{Top, Emacs Lisp,, elisp, The
+Emacs Lisp Reference Manual}.
 
-@uref{ftp://ftp.gnu.org/pub/gnu/emacs/elisp-manual-21-2.6.tar.gz}
-
-and all mirrors of @samp{ftp.gnu.org} (for a list, @pxref{Current GNU
-distributions}).  @xref{Installing Texinfo documentation}, if you want
-to install the Info files, or @ref{Printing a Texinfo file}, if you want
-to use the Texinfo source to print the manual yourself.
+You can also order a hardcopy of the manual, details on ordering it from
+FSF are on the @uref{http://www.gnu.org/order/order.html, GNU Web site}.
 
 An HTML version of the Emacs Lisp Reference Manual is available at
 
-@uref{http://www.gnu.org/manual/elisp-manual-21-2.6/elisp.html}
+@uref{http://www.gnu.org/software/emacs/elisp-manual/elisp.html}
 
 @node Installing Texinfo documentation, Printing a Texinfo file, Emacs Lisp documentation, Getting help
 @section How do I install a piece of Texinfo documentation?
@@ -719,7 +721,7 @@ First, you must turn the Texinfo files into Info files.  You may do this
 using the stand-alone @file{makeinfo} program, available as part of the latest
 Texinfo package at
 
-@uref{ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-4.0.tar.gz}
+@uref{ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-4.8.tar.gz}
 
 and all mirrors of @samp{ftp.gnu.org} (for a list, @pxref{Current GNU
 distributions}).
@@ -772,12 +774,19 @@ privileges, you have several options:
 
 @itemize @bullet
 @item
-Info files don't actually need to be installed before being used.  You
-can feed a file name to the @code{Info-goto-node} command (invoked by
-pressing @key{g} in Info mode) by typing the name of the file in
-parentheses.  This goes to the node named ``Top'' in that file.  For
-example, to view a Info file named @file{@var{info-file}} in your home
-directory, you can type this:
+Info files don't actually need to be installed before being used.
+You can use a prefix argument for the @code{info} command and specify
+the name of the Info file in the minibuffer.  This goes to the node
+named @samp{Top} in that file.  For example, to view a Info file named
+@file{@var{info-file}} in your home directory, you can type this:
+
+@example
+@kbd{C-u C-h i ~/@var{info-file} @key{RET}}
+@end example
+
+Alternatively, you can feed a file name to the @code{Info-goto-node}
+command (invoked by pressing @key{g} in Info mode) by typing the name
+of the file in parentheses, like this:
 
 @example
 @kbd{C-h i g (~/@var{info-file}) @key{RET}}
@@ -903,11 +912,11 @@ where that is).
 @table @file
 
 @item COPYING
-Emacs General Public License
+GNU General Public License
 
 @item DISTRIB
-Emacs Availability Information, including the popular "Free Software
-Foundation Order Form"
+Emacs Availability Information, including the popular Free Software
+Foundation Order Form
 
 @item FTP
 How to get GNU Software by Internet FTP or by UUCP
@@ -935,14 +944,10 @@ Emacs news, a history of recent user-visible changes
 GNU Service Directory
 
 @item SUN-SUPPORT
-including "Using Emacstool with GNU Emacs"
+including ``Using Emacstool with GNU Emacs''
 
 @end table
 
-Latest versions of the above files also available at
-
-@uref{ftp://ftp.gnu.org/pub/gnu/GNUinfo/}
-
 More GNU information, including back issues of the @cite{GNU's
 Bulletin}, are at
 
@@ -1004,23 +1009,11 @@ spool, it might (or might not) do some good to complain to your news
 administrator, because the most recent FAQ should not expire for a
 while.
 
-@item
-Via HTTP or FTP.  You can always fetch the latest FAQ from
-
-@uref{http://www.lerner.co.il/emacs/} and
-
-@uref{ftp://ftp.lerner.co.il/pub/emacs/}
-
 @item
 In the Emacs distribution.  Since Emacs 18.56, the FAQ at the time
 of release has been part of the Emacs distribution as either
 @file{etc/FAQ} or @file{man/faq.texi} (@pxref{File-name conventions}).
 
-@item
-Via the World Wide Web.  A hypertext version is available at
-
-@uref{http://www.lerner.co.il/emacs/}
-
 @item
 Via anonymous ftp and e-mail from @file{rtfm.mit.edu} (and its mirror in
 Europe), the main repository for FAQs and other items posted to
@@ -1045,14 +1038,7 @@ send usenet/news.answers/GNU-Emacs-FAQ/part5
 @end example
 
 For more information, send email to @email{mail-server@@rtfm.mit.edu}
-with "help" and "index" in the body on separate lines.
-
-@item
-As the very last resort, you can e-mail a request to
-@email{emacs-faq@@lerner.co.il}.  Don't do this unless you have made a
-good-faith effort to obtain the FAQ list via one of the methods listed
-above.
-
+with @samp{help} and @samp{index} in the body on separate lines.
 @end itemize
 
 @c ------------------------------------------------------------
@@ -1068,6 +1054,7 @@ latest version status.
 * Latest version of Emacs::
 * New in Emacs 20::
 * New in Emacs 21::
+* New in Emacs 22::
 @end menu
 
 @node Origin of the term Emacs, Latest version of Emacs, Status of Emacs, Status of Emacs
@@ -1105,7 +1092,7 @@ conventions}).
 
 Emacs @value{VER} is the current version as of this writing.
 
-@node New in Emacs 20,  New in Emacs 21, Latest version of Emacs, Status of Emacs
+@node New in Emacs 20, New in Emacs 21, Latest version of Emacs, Status of Emacs
 @section What is different about Emacs 20?
 @cindex Differences between Emacs 19 and Emacs 20
 @cindex Emacs 20, new features in
@@ -1131,7 +1118,7 @@ calendar/diary, have been updated and enhanced to work with Emacs 20,
 and are now included with the standard distribution.
 
 
-@node New in Emacs 21, , New in Emacs 20, Status of Emacs
+@node New in Emacs 21, New in Emacs 22, New in Emacs 20, Status of Emacs
 @section What is different about Emacs 21?
 @cindex Differences between Emacs 20 and Emacs 21
 @cindex Emacs 21, new features in
@@ -1153,6 +1140,39 @@ In addition, Emacs 21 supports faces on text-only terminals.  This means
 that you can now have colors when you run Emacs on a GNU/Linux console
 and on @code{xterm} with @kbd{emacs -nw}.
 
+@node New in Emacs 22,  , New in Emacs 21, Status of Emacs
+@section What is different about Emacs 22?
+@cindex Differences between Emacs 21 and Emacs 22
+@cindex Emacs 22, new features in
+@cindex Recently introduced features
+
+@c FIXME: Improve this node before the 22.1 release.
+@cindex Default features
+Font-lock mode, auto-compression mode, and file name shadow mode are now
+enabled by default.  It is now possible to follow links with
+@kbd{mouse-1}.
+
+@cindex Supported systems
+Emacs 22 features support for GNU/Linux systems on S390 and X86-64
+machines, as well as support for the Mac OS X and Cygwin operating
+systems.
+
+@cindex GTK+ Toolkit
+@cindex Drag-and-drop
+@cindex Mouse wheel
+Emacs can now be built with GTK+ widgets, and supports drag-and-drop
+operation on X.  Mouse wheel support is now enabled by default.
+
+@cindex New modes
+Many new modes and packages have been included in Emacs, such as Leim,
+Calc, Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode,
+python-mode, table, tumme, SES, ruler, Flymake, Org, PGG, etc.
+
+@cindex Documentation
+@cindex Emacs Lisp Manual
+In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
+(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
+
 @c ------------------------------------------------------------
 @node    Common requests, Bugs and problems, Status of Emacs, Top
 @chapter Common requests
@@ -1160,17 +1180,21 @@ and on @code{xterm} with @kbd{emacs -nw}.
 
 @menu
 * Setting up a customization file::
-* Debugging a customization file::
+* Using Customize::
 * Colors on a TTY::
+* Debugging a customization file::
 * Displaying the current line or column::
 * Displaying the current file name in the titlebar::
 * Turning on abbrevs by default::
-* Turning on auto-fill by default::
 * Associating modes with files::
-* Working with unprintable characters::
 * Highlighting a region::
+* Replacing highlighted text::
 * Controlling case sensitivity::
+* Working with unprintable characters::
+* Searching for/replacing newlines::
+* Yanking text in isearch::
 * Wrapping words automatically::
+* Turning on auto-fill by default::
 * Spell-checkers::
 * Checking TeX and *roff documents::
 * Changing load-path::
@@ -1189,9 +1213,8 @@ and on @code{xterm} with @kbd{emacs -nw}.
 * Valid X resources::
 * Evaluating Emacs Lisp code::
 * Changing the length of a Tab::
-* Inserting > at the beginning of each line::
+* Inserting text at the beginning of each line::
 * Underlining paragraphs::
-* Repeating a command as many times as possible::
 * Forcing the cursor to remain in the same column::
 * Forcing Emacs to iconify itself::
 * Using regular expressions::
@@ -1204,13 +1227,12 @@ and on @code{xterm} with @kbd{emacs -nw}.
 * Deleting menus and menu options::
 * Turning on syntax highlighting::
 * Scrolling only one line::
-* Replacing highlighted text::
 * Editing MS-DOS files::
 * Filling paragraphs with a single space::
 * Escape sequences in shell output::
 @end menu
 
-@node Setting up a customization file, Colors on a TTY, Common requests, Common requests
+@node Setting up a customization file, Using Customize, Common requests, Common requests
 @section How do I set up a @file{.emacs} file properly?
 @cindex @file{.emacs} file, setting up
 @cindex @file{.emacs} file, locating
@@ -1224,12 +1246,11 @@ it causes confusing non-standard behavior.  Then they send questions to
 @email{help-gnu-emacs@@gnu.org} asking why Emacs isn't behaving as
 documented.
 
-Beginning with version 20.1, Emacs includes the new Customize
-facility, which can be invoked using @kbd{M-x customize @key{RET}}.
-This allows users who are unfamiliar with Emacs Lisp to modify their
-@file{.emacs} files in a relatively straightforward way, using menus
-rather than Lisp code.  Not all packages support Customize as of this
-writing, but the number is growing fairly steadily.
+Beginning with version 20.1, Emacs includes the new Customize facility
+(@pxref{Using Customize}).  This allows users who are unfamiliar with
+Emacs Lisp to modify their @file{.emacs} files in a relatively
+straightforward way, using menus rather than Lisp code.  Most packages
+support Customize as of this writing.
 
 While Customize might indeed make it easier to configure Emacs,
 consider taking a bit of time to learn Emacs Lisp and modifying your
@@ -1241,7 +1262,26 @@ Sometimes users are unsure as to where their @file{.emacs} file should
 be found.  Visiting the file as @file{~/.emacs} from Emacs will find
 the correct file.
 
-@node Colors on a TTY, Debugging a customization file, Setting up a customization file, Common requests
+@node Using Customize, Colors on a TTY, Setting up a customization file, Common requests
+@section How do I start using Customize?
+@cindex Customize groups
+@cindex Customizing variables
+@cindex Customizing faces
+
+The main Customize entry point is @kbd{M-x customize @key{RET}}.  This
+command takes you to a buffer listing all the available Customize
+groups.  From there, you can access all customizable options and faces,
+change their values, and save your changes to your init file.
+@inforef{Easy Customization, Easy Customization, emacs}.
+
+If you know the name of the group in advance (e.g. ``shell''), use
+@kbd{M-x customize-group @key{RET}}.
+
+If you wish to customize a single option, use @kbd{M-x customize-option
+@key{RET}}.  This command prompts you for the name of the option to
+customize, with completion.
+
+@node Colors on a TTY, Debugging a customization file, Using Customize, Common requests
 @section How do I get colors and syntax highlighting on a TTY?
 @cindex Colors on a TTY
 @cindex Syntax highlighting on a TTY
@@ -1249,7 +1289,7 @@ the correct file.
 
 In Emacs 21.1 and later, colors and faces are supported in non-windowed mode,
 i.e.@: on Unix and GNU/Linux text-only terminals and consoles, and when
-invoked as @samp{emacs -nw} on X and MS-Windows.  (Colors and faces were
+invoked as @samp{emacs -nw} on X, MS-Windows, and Mac.  (Colors and faces were
 supported in the MS-DOS port since Emacs 19.29.)  Emacs automatically
 detects color support at startup and uses it if available.  If you think
 that your terminal supports colors, but Emacs won't use them, check the
@@ -1259,8 +1299,7 @@ capabilities.
 The command @kbd{M-x list-colors-display} pops up a window which
 exhibits all the colors Emacs knows about on the current display.
 
-Syntax highlighting is usually turned off by default; see @ref{Turning
-on syntax highlighting}, for instructions how to turn it on.
+Syntax highlighting is on by default since version 22.1.
 
 @node Debugging a customization file, Displaying the current line or column, Colors on a TTY, Common requests
 @section How do I debug a @file{.emacs} file?
@@ -1365,7 +1404,7 @@ in your @file{.emacs}:
 (setq frame-title-format "%b")
 @end lisp
 
-@node Turning on abbrevs by default, Turning on auto-fill by default, Displaying the current file name in the titlebar, Common requests
+@node Turning on abbrevs by default, Associating modes with files, Displaying the current file name in the titlebar, Common requests
 @section How do I turn on abbrevs by default just in mode @var{mymode}?
 @cindex Abbrevs, turning on by default
 
@@ -1381,30 +1420,10 @@ Put this in your @file{.emacs} file:
            (setq abbrev-mode t)))
 @end lisp
 
-@node Turning on auto-fill by default, Associating modes with files, Turning on abbrevs by default, Common requests
-@section How do I turn on @code{auto-fill-mode} by default?
-@cindex @code{auto-fill-mode}, activating automatically
-@cindex Filling automatically
-@cindex Automatic entry to @code{auto-fill-mode}
-
-To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
-auto-fill-mode}.
-
-To turn it on for every buffer in a certain mode, you must use the hook
-for that mode.  For example, to turn on @code{auto-fill} mode for all
-text buffers, including the following in your @file{.emacs} file:
-
-@lisp
-(add-hook 'text-mode-hook 'turn-on-auto-fill)
-@end lisp
-
-If you want @code{auto-fill} mode on in all major modes, do this:
+Starting with Emacs 22, the standard abbrevs file is read automatically
+at startup, so the first of these two forms becomes unnecessary.
 
-@lisp
-(setq-default auto-fill-function 'do-auto-fill)
-@end lisp
-
-@node Associating modes with files, Working with unprintable characters, Turning on auto-fill by default, Common requests
+@node Associating modes with files, Highlighting a region, Turning on abbrevs by default, Common requests
 @section How do I make Emacs use a certain major mode for certain files?
 @cindex Associating modes with files
 @cindex File extensions and modes
@@ -1434,7 +1453,81 @@ the script.)  This feature only applies when the file name doesn't
 indicate which mode to use.  Use @kbd{C-h v} (or @kbd{M-x
 describe-variable}) on @code{interpreter-mode-alist} to learn more.
 
-@node Working with unprintable characters, Highlighting a region, Associating modes with files, Common requests
+@node Highlighting a region, Replacing highlighted text, Associating modes with files, Common requests
+@section How can I highlight a region of text in Emacs?
+@cindex Highlighting text
+@cindex Text, highlighting
+@cindex @code{transient-mark-mode}
+@cindex Region, highlighting a
+
+You can cause the region to be highlighted when the mark is active by
+including
+
+@lisp
+(transient-mark-mode t)
+@end lisp
+
+@noindent
+in your @file{.emacs} file.
+
+@node Replacing highlighted text, Controlling case sensitivity, Highlighting a region, Common requests
+@section How can I replace highlighted text with what I type?
+@cindex @code{delete-selection-mode}
+@cindex Replacing highlighted text
+@cindex Highlighting and replacing text
+
+Use @code{delete-selection-mode}, which you can start automatically by
+placing the following Lisp form in your @file{.emacs} file:
+
+@lisp
+(delete-selection-mode 1)
+@end lisp
+
+According to the documentation string for @code{delete-selection-mode}
+(which you can read using @kbd{M-x describe-function @key{RET}
+delete-selection-mode @key{RET}}):
+
+@quotation
+When ON, typed text replaces the selection if the selection is active.
+When OFF, typed text is just inserted at point.
+@end quotation
+
+This mode also allows you to delete (not kill) the highlighted region by
+pressing @key{DEL}.
+
+@node Controlling case sensitivity, Working with unprintable characters, Replacing highlighted text, Common requests
+@section How do I control Emacs's case-sensitivity when searching/replacing?
+@cindex @code{case-fold-search}
+@cindex Case sensitivity of searches
+@cindex Searching without case sensitivity
+@cindex Ignoring case in searches
+
+For searching, the value of the variable @code{case-fold-search}
+determines whether they are case sensitive:
+
+@lisp
+(setq case-fold-search nil) ; make searches case sensitive
+(setq case-fold-search t)   ; make searches case insensitive
+@end lisp
+
+@cindex Case sensitivity in replacements
+@cindex Replacing, and case sensitivity
+@cindex @code{case-replace}
+Similarly, for replacing, the variable @code{case-replace} determines
+whether replacements preserve case.
+
+You can also toggle case sensitivity at will in isearch with @kbd{M-c}.
+
+To change the case sensitivity just for one major mode, use the major
+mode's hook.  For example:
+
+@lisp
+(add-hook '@var{foo}-mode-hook
+          (lambda ()
+           (setq case-fold-search nil)))
+@end lisp
+
+@node Working with unprintable characters, Searching for/replacing newlines, Controlling case sensitivity, Common requests
 @section How do I search for, delete, or replace unprintable (eight-bit or control) characters?
 @cindex Unprintable characters, working with
 @cindex Working with unprintable characters
@@ -1482,63 +1575,23 @@ characters with a colon, use:
 
 M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} : @key{RET}
 
-@itemize @bullet
-
-@item
-You don't need to quote @key{TAB} with either isearch or typing
-something in the minibuffer.
-
-@end itemize
-
-@node Highlighting a region, Controlling case sensitivity, Working with unprintable characters, Common requests
-@section How can I highlight a region of text in Emacs?
-@cindex Highlighting text
-@cindex Text, highlighting
-@cindex @code{transient-mark-mode}
-@cindex Region, highlighting a
-
-You can cause the region to be highlighted when the mark is active by
-including
-
-@lisp
-(transient-mark-mode t)
-@end lisp
-
-@noindent
-in your @file{.emacs} file.  (Also see @ref{Turning on syntax
-highlighting}.)
-
-@node Controlling case sensitivity, Wrapping words automatically, Highlighting a region, Common requests
-@section How do I control Emacs's case-sensitivity when searching/replacing?
-@cindex @code{case-fold-search}
-@cindex Case sensitivity of searches
-@cindex Searching without case sensitivity
-@cindex Ignoring case in searches
-
-For searching, the value of the variable @code{case-fold-search}
-determines whether they are case sensitive:
+@node Searching for/replacing newlines, Yanking text in isearch, Working with unprintable characters, Common requests
+@section How do I input a newline character in isearch or query-replace?
+@cindex Searching for newlines
+@cindex Replacing newlines
 
-@lisp
-(setq case-fold-search nil) ; make searches case sensitive
-(setq case-fold-search t)   ; make searches case insensitive
-@end lisp
+Use @kbd{C-q C-j}.  For more information, see @inforef{Special Isearch,
+Special Input for Incremental Search, emacs}.
 
-@cindex Case sensitivity in replacements
-@cindex Replacing, and case sensitivity
-@cindex @code{case-replace}
-Similarly, for replacing, the variable @code{case-replace} determines
-whether replacements preserve case.
 
-To change the case sensitivity just for one major mode, use the major
-mode's hook.  For example:
+@node Yanking text in isearch, Wrapping words automatically, Searching for/replacing newlines, Common requests
+@section How do I copy text from the kill ring into the search string?
+@cindex Yanking text into the search string
+@cindex isearch yanking
 
-@lisp
-(add-hook '@var{foo}-mode-hook
-          (lambda ()
-           (setq case-fold-search nil)))
-@end lisp
+Use @kbd{M-y}.  @inforef{Isearch Yank, Isearch Yanking, emacs}.
 
-@node Wrapping words automatically, Spell-checkers, Controlling case sensitivity, Common requests
+@node Wrapping words automatically, Turning on auto-fill by default, Yanking text in isearch, Common requests
 @section How do I make Emacs wrap words for me?
 @cindex Wrapping word automatically
 @cindex Wrapping lines
@@ -1552,7 +1605,30 @@ The default maximum line width is 70, determined by the variable
 @code{fill-column}.  To learn how to turn this on automatically, see
 @ref{Turning on auto-fill by default}.
 
-@node Spell-checkers, Checking TeX and *roff documents, Wrapping words automatically, Common requests
+@node Turning on auto-fill by default, Spell-checkers, Wrapping words automatically, Common requests
+@section How do I turn on @code{auto-fill-mode} by default?
+@cindex @code{auto-fill-mode}, activating automatically
+@cindex Filling automatically
+@cindex Automatic entry to @code{auto-fill-mode}
+
+To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
+auto-fill-mode}.
+
+To turn it on for every buffer in a certain mode, you must use the hook
+for that mode.  For example, to turn on @code{auto-fill} mode for all
+text buffers, including the following in your @file{.emacs} file:
+
+@lisp
+(add-hook 'text-mode-hook 'turn-on-auto-fill)
+@end lisp
+
+If you want @code{auto-fill} mode on in all major modes, do this:
+
+@lisp
+(setq-default auto-fill-function 'do-auto-fill)
+@end lisp
+
+@node Spell-checkers, Checking TeX and *roff documents, Turning on auto-fill by default, Common requests
 @section Where can I get a better spelling checker for Emacs?
 @cindex Checking spelling
 @cindex Spelling, checking text documents
@@ -1583,7 +1659,7 @@ directory @var{/dir/subdir} to the load path like this:
 To do this relative to your home directory:
 
 @lisp
-(setq load-path (cons "~/mysubdir/" load-path)
+(setq load-path (cons "~/mysubdir/" load-path))
 @end lisp
 
 @node Using an already running Emacs process, Compiler error messages, Changing load-path, Common requests
@@ -1616,10 +1692,9 @@ or by invoking @code{server-start} from @file{.emacs}:
 (if (@var{some conditions are met}) (server-start))
 @end lisp
 
-When this is done, Emacs creates a Unix domain socket.
-The socket is either named @file{.emacs_server}, in the user's home directory,
-or @file{esrv-@var{userid}-@var{systemname}}, in the @file{/tmp}
-directory, depending on your system.  See @code{server-socket-name}.
+When this is done, Emacs creates a Unix domain socket named
+@file{server} in @file{/tmp/emacs@var{userid}}. See
+@code{server-socket-dir}.
 
 To get your news reader, mail reader, etc., to invoke
 @samp{emacsclient}, try setting the environment variable @code{EDITOR}
@@ -1641,40 +1716,24 @@ EDITOR=emacsclient ; export EDITOR
 @item
 Normal use:
 
-When @samp{emacsclient} is run, it connects to the @file{.emacs_server}
-socket and passes its command line options to @samp{server}.  When
-@samp{server} receives these requests, it sends this information to the
-the Emacs process, which at the next opportunity will visit the files
-specified.  (Line numbers can be specified just like with Emacs.)  The
-user will have to switch to the Emacs window by hand.  When the user is
-done editing a file, the user can type @kbd{C-x #} (or @kbd{M-x
-server-edit}) to indicate this.  If there is another buffer requested by
-@code{emacsclient}, Emacs will switch to it; otherwise
+When @samp{emacsclient} is run, it connects to the socket and passes its
+command line options to Emacs, which at the next opportunity will visit
+the files specified.  (Line numbers can be specified just like with
+Emacs.)  The user will have to switch to the Emacs window by hand.  When
+the user is done editing a file, the user can type @kbd{C-x #} (or
+@kbd{M-x server-edit}) to indicate this.  If there is another buffer
+requested by @code{emacsclient}, Emacs will switch to it; otherwise
 @code{emacsclient} will exit, signaling the calling program to continue.
 
-@samp{emacsclient} and @samp{server} must be running on machines which
-share the same filesystem for this to work.  The pathnames that
-@samp{emacsclient} specifies should be correct for the filesystem that
-the Emacs process sees.  The Emacs process should not be suspended at
-the time @samp{emacsclient} is invoked.  On Unix and GNU/Linux systems,
-@samp{emacsclient} should either be invoked from another X window, or
-from a shell window inside Emacs itself, or from another interactive
-session, e.g., by means of a @code{screen} program.
-
 @cindex @code{gnuserv}
-There is an enhanced version of @samp{emacsclient}/server called
+There is an enhanced version of @samp{emacsclient} called
 @samp{gnuserv}, written by @email{ange@@hplb.hpl.hp.com, Andy Norman}
 (@pxref{Packages that do not come with Emacs}).  @samp{gnuserv} uses
 Internet domain sockets, so it can work across most network connections.
-It also supports the execution of arbitrary Emacs Lisp forms and does
-not require the client program to wait for completion.
-
-The alpha version of an enhanced @samp{gnuserv} is available at
 
-@uref{ftp://ftp.wellfleet.com/netman/psmith/emacs/gnuserv-2.1alpha.tar.gz}
+The most recent @samp{gnuserv} package is available at
 
-The version available from @uref{http://meltin.net/hacks/emacs/} is
-more recent, and has been tested with Emacs 21.2.
+@uref{http://meltin.net/hacks/emacs/}
 
 @end itemize
 
@@ -1685,23 +1744,7 @@ more recent, and has been tested with Emacs 21.2.
 @cindex Regexps for recognizing compiler errors
 @cindex Errors, recognizing compiler
 
-The variable @code{compilation-error-regexp-alist} helps control how
-Emacs parses your compiler output.  It is a list of triplets of the form:
-@code{(@var{regexp} @var{file-idx} @var{line-idx})}, where @var{regexp},
-@var{file-idx} and @var{line-idx} are strings.  To help determine what
-the constituent elements should be, load @file{compile.el} and then type
-@kbd{C-h v compilation-error-regexp-alist @key{RET}} to see the current
-value.  A good idea is to look at @file{compile.el} itself as the
-comments included for this variable are quite useful---the regular
-expressions required for your compiler's output may be very close to one
-already provided.  Once you have determined the proper regexps, use the
-following to inform Emacs of your changes:
-
-@lisp
-(setq compilation-error-regexp-alist
-      (cons '(@var{regexp} @var{file-idx} @var{line-idx})
-         compilation-error-regexp-alist))
-@end lisp
+Customize the @code{compilation-error-regexp-alist} variable.
 
 @node Indenting switch statements, Customizing C and C++ indentation, Compiler error messages, Common requests
 @section How do I change the indentation for @code{switch}?
@@ -1731,7 +1774,7 @@ The solution at first appears to be: set @code{c-indent-level} to 4 and
 spacing of four instead of two.
 
 The @emph{real} solution is to use @code{cc-mode} (the default mode for
-C programming in Emacs 20 and later) and add the following line to yoyr
+C programming in Emacs 20 and later) and add the following line to your
 @file{.emacs}:
 
 @lisp
@@ -1835,6 +1878,10 @@ In Emacs 21 and later, this is on by default: if the variable
 automatically scrolls the display horizontally when point moves off the
 left or right edge of the window.
 
+Note that this is overridden by the variable
+@code{truncate-partial-width-windows} if that variable is non-nil
+and the current buffer is not full-frame width.
+
 In Emacs 20, use the @code{hscroll-mode}.  Here is some information from
 the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}:
 
@@ -1864,7 +1911,7 @@ edge of the window.
 @end itemize
 
 @node Overwrite mode, Turning off beeping, Horizontal scrolling, Common requests
-@section How do I make Emacs "typeover" or "overwrite" instead of inserting?
+@section How do I make Emacs ``typeover'' or ``overwrite'' instead of inserting?
 @cindex @key{Insert}
 @cindex @code{overwrite-mode}
 @cindex Overwriting existing text
@@ -1968,28 +2015,17 @@ new paragraph.  There are many packages available to deal with this
 @cindex Pairs of parentheses, highlighting
 @cindex Matching parentheses
 
-As of version 19, Emacs comes with @file{paren.el}, which (when loaded)
-will automatically highlight matching parentheses whenever point (i.e.,
-the cursor) is located over one.  To load @file{paren.el} automatically,
-include the line
-
-@lisp
-(require 'paren)
-@end lisp
-
-in your @file{.emacs} file.  @email{shutkoa@@ugsolutions.com, Alan Shutko}
-reports that as of version 20.1, you must also call @code{show-paren-mode} in
-your @file{.emacs} file:
+Call @code{show-paren-mode} in your @file{.emacs} file:
 
 @lisp
 (show-paren-mode 1)
 @end lisp
 
-Customize will let you turn on @code{show-paren-mode}.  Use @kbd{M-x
-customize-group @key{RET} paren-showing @key{RET}}.  From within
-Customize, you can also go directly to the ``paren-showing'' group.
+You can also enable this mode by selecting the @samp{Paren Match
+Highlighting} option from the @samp{Options} menu of the Emacs menu bar
+at the top of any Emacs frame.
 
-Alternatives to paren include:
+Alternatives to this mode include:
 
 @itemize @bullet
 
@@ -2036,14 +2072,11 @@ parenthesis, it simply inserts a % like normal.
 to investigate @file{cpp.el}, which is distributed with Emacs.
 
 @node Repeating commands, Valid X resources, Hiding #ifdef lines, Common requests
-@section Is there an equivalent to the @code{.} (dot) command of vi?
-@cindex Repeating commands as with @code{vi}
-@cindex Command, repeat last
+@section How do I repeat a command as many times as possible?
+@cindex Repeating commands many times
+@cindex Commands, repeating many times
 @cindex @code{.}, equivalent to @code{vi} command
 
-(@code{.} is the redo command in @code{vi}.  It redoes the last
-insertion/deletion.)
-
 As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z})
 that repeats the last command.  If you preface it with a prefix
 argument, the prefix arg is applied to the command.
@@ -2055,12 +2088,14 @@ type @kbd{M-p} and @kbd{M-n} (and also up-arrow and down-arrow, if your
 keyboard has these keys) to scan through all the different complex
 commands you've typed.
 
-To repeat a set of commands, use keyboard macros.  (@inforef{Keyboard
-Macros, Keyboard Macros, emacs}.)
+To repeat a set of commands, use keyboard macros.  Use @kbd{C-x (} and
+@kbd{C-x )} to make a keyboard macro that invokes the command and then
+type @kbd{C-x e}.  (@inforef{Keyboard Macros, Keyboard Macros, emacs}.)
 
-If you're really desperate for the @code{.} command, use VIPER, a
-@code{vi} emulation mode which comes with Emacs, and which appears to
-support it.  (@xref{VIPER}.)
+If you're really desperate for the @code{.} command in @code{vi} that
+redoes the last insertion/deletion, use VIPER, a @code{vi} emulation
+mode which comes with Emacs, and which appears to support it.
+(@xref{VIPER}.)
 
 @node Valid X resources, Evaluating Emacs Lisp code, Repeating commands, Common requests
 @section What are the valid X resource settings (i.e., stuff in .Xdefaults)?
@@ -2075,7 +2110,7 @@ onwards), to look at the resource names for the menu bar, assuming Emacs
 was compiled with the X toolkit.
 
 @node Evaluating Emacs Lisp code, Changing the length of a Tab, Valid X resources, Common requests
-@section How do I execute ("evaluate") a piece of Emacs Lisp code?
+@section How do I execute (``evaluate'') a piece of Emacs Lisp code?
 @cindex Evaluating Lisp code
 @cindex Lisp forms, evaluating
 
@@ -2118,7 +2153,7 @@ about them.
 
 @end itemize
 
-@node Changing the length of a Tab, Inserting > at the beginning of each line, Evaluating Emacs Lisp code, Common requests
+@node Changing the length of a Tab, Inserting text at the beginning of each line, Evaluating Emacs Lisp code, Common requests
 @section How do I change Emacs's idea of the @key{TAB} character's length?
 @cindex Tab length
 @cindex Length of tab character
@@ -2137,8 +2172,9 @@ Do not confuse variable @code{tab-width} with variable
 @key{TAB} characters.  The latter controls what characters are inserted
 when you press the @key{TAB} character in certain modes.
 
-@node Inserting > at the beginning of each line, Underlining paragraphs, Changing the length of a Tab, Common requests
-@section How do I insert @samp{>} at the beginning of every line?
+@node Inserting text at the beginning of each line, Underlining paragraphs, Changing the length of a Tab, Common requests
+@section How do I insert <some text> at the beginning of every line?
+@cindex Prefixing a region with some text
 @cindex Prefix character, inserting in mail/news replies
 @cindex Replies to mail/news, inserting a prefix character
 @cindex @code{mail-yank-prefix}
@@ -2146,7 +2182,7 @@ when you press the @key{TAB} character in certain modes.
 @cindex News replies, inserting a prefix character
 
 To do this to an entire buffer, type @kbd{M-< M-x replace-regexp
-@key{RET} ^ @key{RET} > @key{RET}}.
+@key{RET} ^ @key{RET} your text @key{RET}}.
 
 To do this to a region, use @code{string-insert-rectangle}.
 Set the mark (@kbd{C-@key{SPC}}) at the beginning of the first line you
@@ -2155,39 +2191,29 @@ want to prefix, move the cursor to last line to be prefixed, and type
 buffer, type @kbd{C-x h M-x string-insert-rectangle @key{RET}}.
 
 If you are trying to prefix a yanked mail message with @samp{>}, you
-might want to set the variable @code{mail-yank-prefix}.  Better yet, use
-the Supercite package (@pxref{Supercite}), which provides flexible
-citation for yanked mail and news messages; it is included in Emacs
-since version 19.20.  @xref{Changing the included text prefix}, for
-additional information.
-
-@node Underlining paragraphs, Repeating a command as many times as possible, Inserting > at the beginning of each line, Common requests
-@section How do I insert "_^H" before each character in a region to get an underlined paragraph?
+might want to set the variable @code{mail-yank-prefix}.  In Message
+buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;}
+runs the function @code{comment-region}, it is a general-purpose
+mechanism to comment regions) (@pxref{Changing the included text prefix}).
+
+@node Underlining paragraphs, Forcing the cursor to remain in the same column, Inserting text at the beginning of each line, Common requests
+@section How do I insert @samp{_^H} before each character in a region to get an underlined paragraph?
 @cindex Underlining a region of text
 @cindex @code{underline-region}
 
 Mark the region and then type @kbd{M-x underline-region @key{RET}}.
 
-@node Repeating a command as many times as possible, Forcing the cursor to remain in the same column, Underlining paragraphs, Common requests
-@section How do I repeat a command as many times as possible?
-@cindex Repeating commands many times
-@cindex Commands, repeating many times
-
-Use @kbd{C-x (} and @kbd{C-x )} to make a keyboard macro that invokes
-the command and then type @kbd{M-0 C-x e}.
-
-Any messages your command prints in the echo area will be suppressed.
-
-If you need to repeat a command a small number of times, you can use
-@kbd{C-x z}, see @ref{Repeating commands}.
-
-@node Forcing the cursor to remain in the same column, Forcing Emacs to iconify itself, Repeating a command as many times as possible, Common requests
+@node Forcing the cursor to remain in the same column, Forcing Emacs to iconify itself, Underlining paragraphs, Common requests
 @section How do I make Emacs behave like this: when I go up or down, the cursor should stay in the same column even if the line is too short?
 @cindex @code{picture-mode}
 @cindex Remaining in the same column, regardless of contents
 @cindex Vertical movement in empty documents
 
-@kbd{M-x picture-mode}.
+Use @kbd{M-x picture-mode}.
+
+See also the variable @code{track-eol} and the command
+@code{set-goal-column} bound to @kbd{C-x C-n}
+(@pxref{Moving Point, , , emacs, The GNU Emacs Manual}).
 
 @node Forcing Emacs to iconify itself, Using regular expressions, Forcing the cursor to remain in the same column, Common requests
 @section How do I tell Emacs to iconify itself?
@@ -2206,7 +2232,7 @@ otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
 @cindex Unix regeps, differences from Emacs
 @cindex Text strings, putting regexps in
 
-@inforef{Regexps, Regexps, emacs}.
+@inforef{Regexp Backslash, Regexp Backslash, emacs}.
 
 The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators
 are @samp{\(} and @samp{\)}.  Also, the string syntax for a backslash is
@@ -2241,8 +2267,8 @@ The ``tags'' feature of Emacs includes the command
 files mentioned in the @file{TAGS} file.  @inforef{Tags Search, Tags Search,
 emacs}.
 
-As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x
-d}) supports the command @code{dired-do-query-replace}, which allows
+As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d})
+supports the command @code{dired-do-query-replace} (@kbd{Q}), which allows
 users to replace regular expressions in multiple files.
 
 @node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests
@@ -2264,7 +2290,7 @@ Quick command-line switch descriptions are also available.  For example,
 You probably don't want to do this, since backups are useful, especially
 when something goes wrong.
 
-To avoid seeing backup files (and other "uninteresting" files) in Dired,
+To avoid seeing backup files (and other ``uninteresting'' files) in Dired,
 load @code{dired-x} by adding the following to your @file{.emacs} file:
 
 @lisp
@@ -2334,27 +2360,20 @@ effective way of doing that.  Emacs automatically intercepts the compile
 error messages, inserts them into a special buffer called
 @code{*compilation*}, and lets you visit the locus of each message in
 the source.  Type @kbd{C-x `} to step through the offending lines one by
-one.  Click @kbd{Mouse-2} or press @key{RET} on a message text in the
+one (starting with Emacs 22, you can also use @kbd{M-g M-p} and
+@kbd{M-g M-n} to go to the previous and next matches directly).  Click
+@kbd{Mouse-2} or press @key{RET} on a message text in the
 @code{*compilation*} buffer to go to the line whose number is mentioned
 in that message.
 
-But if you indeed need to go to a certain text line, type @kbd{M-x
-goto-line @key{RET}}.  Emacs will prompt you for the number of the line
-and go to that line.
+But if you indeed need to go to a certain text line, type @kbd{M-g M-g}
+(which is the default binding of the @code{goto-line} function starting
+with Emacs 22).  Emacs will prompt you for the number of the line and go
+to that line.
 
 You can do this faster by invoking @code{goto-line} with a numeric
-argument that is the line's number.  For example, @kbd{C-u 286 M-x
-goto-line @key{RET}} will jump to line number 286 in the current
-buffer.
-
-If you need to use this command frequently, you might consider binding
-it to a key.  The following snippet, if added to your @file{~/.emacs}
-file, will bind the sequence @kbd{C-x g} to @code{goto-line}:
-
-@lisp
- (global-set-key "\C-xg" 'goto-line)
-@end lisp
-
+argument that is the line's number.  For example, @kbd{C-u 286 M-g M-g}
+will jump to line number 286 in the current buffer.
 
 @node Modifying pull-down menus, Deleting menus and menu options, Going to a line by number, Common requests
 @section How can I create or modify new pull-down menu options?
@@ -2476,9 +2495,11 @@ menus}), use:
 @cindex FAQ, @code{font-lock-mode}
 
 @code{font-lock-mode} is the standard way to have Emacs perform syntax
-highlighting in the current buffer.  With @code{font-lock-mode} turned
-on, different types of text will appear in different colors.  For
-instance, if you turn on @code{font-lock-mode} in a programming mode,
+highlighting in the current buffer.  It is enabled by default in Emacs
+22.1 and later.
+
+With @code{font-lock-mode} turned on, different types of text will
+appear in different colors.  For instance, in a programming mode,
 variables will appear in one face, keywords in a second, and comments in
 a third.
 
@@ -2487,33 +2508,16 @@ Earlier versions of Emacs supported hilit19, a similar package.  Use of
 hilit19 is now considered non-standard, although @file{hilit19.el} comes
 with the stock Emacs distribution.  It is no longer maintained.
 
-To turn @code{font-lock-mode} on within an existing buffer, use @kbd{M-x
-font-lock-mode @key{RET}}.
+To turn @code{font-lock-mode} off within an existing buffer, use
+@kbd{M-x font-lock-mode @key{RET}}.
 
-To automatically invoke @code{font-lock-mode} when a particular major
-mode is invoked, set the major mode's hook.  For example, to fontify all
-@code{c-mode} buffers, add the following to your @file{.emacs} file:
-
-@lisp
-(add-hook 'c-mode-hook 'turn-on-font-lock)
-@end lisp
-
-To automatically invoke @code{font-lock-mode} for all major modes, you
-can turn on @code{global-font-lock-mode} by including the following line
-in your @file{.emacs} file:
+In Emacs 21 and earlier versions, you could use the following code in
+your @file{.emacs} file to turn on @code{font-lock-mode} globally:
 
 @lisp
 (global-font-lock-mode 1)
 @end lisp
 
-@noindent
-This instructs Emacs to turn on font-lock mode in those buffers for
-which a font-lock mode definition has been provided (in the variable
-@code{font-lock-global-modes}).  If you edit a file in
-@code{pie-ala-mode}, and no font-lock definitions have been provided for
-@code{pie-ala} files, then the above setting will have no effect on that
-particular buffer.
-
 Highlighting a buffer with @code{font-lock-mode} can take quite a while,
 and cause an annoying delay in display, so several features exist to
 work around this.
@@ -2549,27 +2553,10 @@ information, see the documentation for
 @code{font-lock-maximum-decoration} with @kbd{C-h v} (or @kbd{M-x
 describe-variable @key{RET}}).
 
-@cindex Lazy font-lock
-You might also want to investigate @code{fast-lock-mode} and
-@code{lazy-lock-mode}, versions of @code{font-lock-mode} that speed up
-highlighting.  These are the alternatives for @code{jit-lock-mode} in
-versions of Emacs before 21.1.  The advantage of @code{lazy-lock-mode}
-is that it only fontifies buffers when certain conditions are met, such
-as after a certain amount of idle time, or after you have finished
-scrolling through text.  See the documentation for @code{lazy-lock-mode}
-by typing @kbd{C-h f @code{lazy-lock-mode}} (@kbd{M-x describe-function
-@key{RET} lazy-lock-mode @key{RET}}).
-
 Also see the documentation for the function @code{font-lock-mode},
 available by typing @kbd{C-h f font-lock-mode} (@kbd{M-x
 describe-function @key{RET} font-lock-mode @key{RET}}).
 
-For more information on font-lock mode, take a look at the
-@code{font-lock-mode} FAQ, maintained by
-@email{jari.aalto@@ntc.nokia.com, Jari Aalto} at
-
-@uref{ftp://cs.uta.fi/pub/ssjaaa/ema-font.gui}
-
 To print buffers with the faces (i.e., colors and fonts) intact, use
 @kbd{M-x ps-print-buffer-with-faces} or @kbd{M-x
 ps-print-region-with-faces}.  You will need a way to send text to a
@@ -2577,45 +2564,23 @@ PostScript printer, or a PostScript interpreter such as Ghostscript;
 consult the documentation of the variables @code{ps-printer-name},
 @code{ps-lpr-command}, and @code{ps-lpr-switches} for more details.
 
-@node Scrolling only one line, Replacing highlighted text, Turning on syntax highlighting, Common requests
+@node Scrolling only one line, Editing MS-DOS files, Turning on syntax highlighting, Common requests
 @section How can I force Emacs to scroll only one line when I move past the bottom of the screen?
 @cindex Scrolling only one line
 @cindex Reducing the increment when scrolling
 
-Place the following Lisp form in your @file{.emacs} file:
-
-@lisp
-(setq scroll-step 1)
-@end lisp
-
-@inforef{Scrolling, Scrolling, emacs}.
-
-@node Replacing highlighted text, Editing MS-DOS files, Scrolling only one line, Common requests
-@section How can I replace highlighted text with what I type?
-@cindex @code{delete-selection-mode}
-@cindex Replacing highlighted text
-@cindex Highlighting and replacing text
+Customize the @code{scroll-conservatively} variable with @kbd{M-x
+customize-variable @key{RET} scroll-conservatively @key{RET}} and set it
+to a large value like, say, 10000.  For an explanation of what this
+means, @inforef{Scrolling, Scrolling, emacs}.
 
-Use @code{delete-selection-mode}, which you can start automatically by
-placing the following Lisp form in your @file{.emacs} file:
+Alternatively, use the following Lisp form in your @file{.emacs}:
 
 @lisp
-(delete-selection-mode t)
+(setq scroll-conservatively most-positive-fixnum)
 @end lisp
 
-According to the documentation string for @code{delete-selection-mode}
-(which you can read using @kbd{M-x describe-function @key{RET}
-delete-selection-mode @key{RET}}):
-
-@quotation
-When ON, typed text replaces the selection if the selection is active.
-When OFF, typed text is just inserted at point.
-@end quotation
-
-This mode also allows you to delete (not kill) the highlighted region by
-pressing @key{DEL}.
-
-@node Editing MS-DOS files, Filling paragraphs with a single space, Replacing highlighted text, Common requests
+@node Editing MS-DOS files, Filling paragraphs with a single space, Scrolling only one line, Common requests
 @section How can I edit MS-DOS files using Emacs?
 @cindex Editing MS-DOS files
 @cindex MS-DOS files, editing
@@ -2633,26 +2598,24 @@ on DOS and Windows, where the DOS end-of-line (EOL) format is the
 default, a backslash (@samp{\}) will appear in the mode line.
 
 If you are running a version of Emacs before 20.1, get @code{crypt++}
-(@pxref{Packages that do not come with Emacs}).  Among other things, 
+(@pxref{Packages that do not come with Emacs}).  Among other things,
 @code{crypt++} transparently modifies MS-DOS files as they are loaded
 and saved, allowing you to ignore the different conventions that Unix
 and MS-DOS have for delineating the end of a line.
 
-@node Filling paragraphs with a single space,  Escape sequences in shell output, Editing MS-DOS files, Common requests
+@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests
 @section How can I tell Emacs to fill paragraphs with a single space after each period?
 @cindex One space following periods
 @cindex Single space following periods
 @cindex Periods, one space following
 
-@email{ulm@@vsnhd1.cern.ch, Ulrich Mueller} suggests adding the
-following two lines to your @file{.emacs} file:
+Add the following line to your @file{.emacs} file:
 
 @lisp
-(setq sentence-end "[.?!][]\"')@}]*\\($\\|[ \t]\\)[ \t\n]*")
 (setq sentence-end-double-space nil)
 @end lisp
 
-@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
+@node Escape sequences in shell output,  , Filling paragraphs with a single space, Common requests
 @section Why these strange escape sequences from @code{ls} from the Shell mode?
 @cindex Escape sequences in @code{ls} output
 @cindex @code{ls} in Shell mode
@@ -2716,41 +2679,10 @@ type @kbd{C-h C-e} to read it.
 @cindex Files, maximum size
 
 Old versions (i.e., anything before 19.29) of Emacs had problems editing
-files larger than 8 megabytes.  As of version 19.29, the maximum buffer
-size is at least 2^27-1, or 134,217,727 bytes, or 132 MBytes.  Emacs 20
-can be compiled on some 64-bit systems in a way that enlarges the buffer
-size up to 576,460,752,303,423,487 bytes, or 549,755,813 GBytes.
-
-If you are using a version of Emacs older than 19.29 and cannot upgrade,
-you will have to recompile. @email{lnz@@lucid.com, Leonard N. Zubkoff}
-suggests putting the following two lines in @file{src/config.h} before
-compiling Emacs to allow for 26-bit integers and pointers (and thus file
-sizes of up to 33,554,431 bytes):
-
-@example
-#define VALBITS 26
-#define GCTYPEBITS 5
-@end example
-
-@noindent
-This method may result in "ILLEGAL DATATYPE" and other random errors on
-some machines.
-
-@email{daveg@@csvax.cs.caltech.edu, David Gillespie} explains how this
-problems crops up; while his numbers are true only for pre-19.29
-versions of Emacs, the theory remains the same with current versions.
-
-@quotation
-Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
-language in the sense that you can put any value of any type into any
-variable, or return it from a function, and so on.  So each value
-must carry a @dfn{tag} along with it identifying what kind of thing it
-is, e.g., integer, pointer to a list, pointer to an editing buffer, and
-so on.  Emacs uses standard 32-bit integers for data objects, taking the
-top 8 bits for the tag and the bottom 24 bits for the value.  So
-integers (and pointers) are somewhat restricted compared to true C
-integers and pointers.
-@end quotation
+files larger than 8 megabytes.  In versions 19.29 and later, the maximum
+buffer size is at least 2^27-1, or 134,217,727 bytes, or 132 MBytes.
+And in Emacs 22, the maximum buffer size has been increased to
+268,435,455 bytes (or 256 MBytes) on 32-bit machines.
 
 @node ^M in the shell buffer, Shell process exits abnormally, Problems with very large files, Bugs and problems
 @section How do I get rid of @samp{^M} or echoed commands in my shell buffer?
@@ -2815,16 +2747,17 @@ file:
 (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m)
 @end smalllisp
 
-On a related note: If your shell is echoing your input line in the shell
-buffer, you might want to try the following command in your shell
-start-up file:
+On a related note: if your shell is echoing your input line in the shell
+buffer, you might want to customize the @code{comint-process-echoes}
+variable in your shell buffers, or try the following command in your
+shell start-up file:
 
 @example
 stty -icrnl -onlcr -echo susp ^Z
 @end example
 
 @node Shell process exits abnormally, Problems with Shell Mode on MS-Windows, ^M in the shell buffer, Bugs and problems
-@section Why do I get "Process shell exited abnormally with code 1"?
+@section Why do I get ``Process shell exited abnormally with code 1''?
 @cindex Abnormal exits from @code{shell-mode}
 @cindex @code{shell-mode} exits
 @cindex Process shell exited
@@ -2881,7 +2814,7 @@ antivirus software; disabling the resident antivirus program solves
 the problems in those cases.
 
 @node Termcap/Terminfo entries for Emacs, Spontaneous entry into isearch-mode, Problems with Shell Mode on MS-Windows, Bugs and problems
-@section Where is the termcap/terminfo entry for terminal type "emacs"?
+@section Where is the termcap/terminfo entry for terminal type @samp{emacs}?
 @cindex Termcap
 @cindex Terminfo
 @cindex Emacs entries for termcap/terminfo
@@ -2915,7 +2848,7 @@ if ("$term" == emacs) set term=dumb
 @end example
 
 @node Spontaneous entry into isearch-mode, Problems talking to certain hosts, Termcap/Terminfo entries for Emacs, Bugs and problems
-@section Why does Emacs spontaneously start displaying "I-search:" and beeping?
+@section Why does Emacs spontaneously start displaying @samp{I-search:} and beeping?
 @cindex Spontaneous entry into isearch-mode
 @cindex isearch-mode, spontaneous entry into
 @cindex Beeping without obvious reason
@@ -2972,7 +2905,7 @@ properly told to do DNS lookups with the correct command line switch.
 @end itemize
 
 @node Errors with init files, Emacs ignores X resources, Problems talking to certain hosts, Bugs and problems
-@section Why does Emacs say "Error in init file"?
+@section Why does Emacs say @samp{Error in init file}?
 @cindex Error in @file{.emacs}
 @cindex Error in init file
 @cindex Init file, errors in
@@ -3238,7 +3171,7 @@ access control enabled, only authorized clients can connect
 @end itemize
 
 @node Dired claims that no file is on this line,  , Security risks with Emacs, Bugs and problems
-@section Dired says, "no file on this line" when I try to do something.
+@section Dired says, @samp{no file on this line} when I try to do something.
 @cindex Dired does not see a file
 
 @c FIXME: I think this is fixed in Emacs 21, but I didn't have time to
@@ -3258,7 +3191,7 @@ setting things up so that @samp{ls -l} outputs US date format.  This can
 be done by setting the locale.  See your OS manual for more information.
 
 The second approach involves changing the regular expression used by
-dired, @code{dired-move-to-filename-regexp}.
+dired, @code{directory-listing-before-filename-regexp}.
 
 @c ------------------------------------------------------------
 @node Compiling and installing Emacs, Finding Emacs and related packages, Bugs and problems, Top
@@ -3300,10 +3233,10 @@ distribution site, sources are available as
 @uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-@value{VER}.tar.gz}
 
 The above will obviously change as new versions of Emacs come out.  For
-instance, when Emacs 21.42 is released, it will most probably be
+instance, when Emacs 22.42 is released, it will most probably be
 available as
 
-@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-21.42.tar.gz}
+@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-22.42.tar.gz}
 
 Again, you should use one of the GNU mirror sites (see @ref{Current GNU
 distributions}, and adjust the URL accordingly) so as to reduce load on
@@ -3441,7 +3374,7 @@ Emacs needs to be linked with the static version of the X11 library,
 @file{libX11.a}.  This may be missing.
 
 On OpenWindows, you may need to use @code{add_services} to add the
-"OpenWindows Programmers" optional software category from the CD-ROM.
+``OpenWindows Programmers'' optional software category from the CD-ROM.
 
 On HP-UX 8.0, you may need to run @code{update} again to load the
 X11-PRG ``fileset''.  This may be missing even if you specified ``all
@@ -3486,7 +3419,6 @@ To get the Xmenu stuff to work, you need to find a copy of MIT's
 * Emacs for Apple computers::
 * Emacs for VMS and DECwindows::
 * Modes for various languages::
-* Translating names to IP addresses::
 @end menu
 
 @node Finding Emacs on the Internet, Finding a package with particular functionality, Finding Emacs and related packages, Finding Emacs and related packages
@@ -3543,12 +3475,13 @@ see @ref{Packages that do not come with Emacs}.
 List (ELL)}, maintained by @email{stephen@@anc.ed.ac.uk, Stephen Eglen},
 aims to provide one compact list with links to all of the current Emacs
 Lisp files on the internet.  The ELL can be browsed over the web, or
-from Emacs with @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.el, 
+from Emacs with @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.el,
 the @file{ell} package}.
 
 Many authors post their packages to the @uref{news:gnu.emacs.sources,
 Emacs sources newsgroup}.  You can search the archives of this
-group with @uref{http://groups.google.com, Google}, for example.
+group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google},
+or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example.
 
 Several packages are stored in
 @uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}.
@@ -3557,7 +3490,10 @@ For a long time, the Emacs Lisp Archive provided a central repository
 for Emacs packages.  Sadly, it has not been active for some time,
 although you can still access the old files at
 
-@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
+@uref{http://www.club.cc.cmu.edu/pub/gnu/elisp-archive/}
+
+Read the file @file{etc/MORE.STUFF} for more information about
+external packages.
 
 @node Current GNU distributions, Difference between Emacs and XEmacs, Packages that do not come with Emacs, Finding Emacs and related packages
 @section Where can I get other up-to-date GNU stuff?
@@ -3580,31 +3516,37 @@ A list of sites mirroring @samp{ftp.gnu.org} can be found at
 @uref{http://www.gnu.org/order/ftp.html}
 
 @node Difference between Emacs and XEmacs, Emacs for MS-DOS, Current GNU distributions, Finding Emacs and related packages
-@section What is the difference between Emacs and XEmacs (formerly "Lucid Emacs")?
+@section What is the difference between Emacs and XEmacs (formerly Lucid Emacs)?
 @cindex XEmacs
 @cindex Difference Emacs and XEmacs
 @cindex Lucid Emacs
 @cindex Epoch
 
-XEmacs is a branch version of Emacs.  It was earlier called as Lucid
-Emacs, and it was based on a prerelease version of Emacs 19.  In this
-FAQ, we use the name ``Emacs'' only for the official version.
+XEmacs is a branch version of Emacs.  It was first called Lucid Emacs,
+and was initially derived from a prerelease version of Emacs 19.  In
+this FAQ, we use the name ``Emacs'' only for the official version.
 
 Emacs and XEmacs each come with Lisp packages that are lacking in the
 other.  The two versions have some significant differences at the Lisp
-programming level.
-
-Many XEmacs features have found their way into recent versions of Emacs,
-and more features can be expected in the future, but there are still many
-differences between the two.
-
-The FSF has used some of the code in XEmacs, and would like to use
-other parts, but the earlier XEmacs maintainers did not always keep
-track of the authors of contributed code, which makes it impossible
-for the FSF to get copyright papers signed for that code.  (The FSF
-requires these papers for all the code included in Emacs, aside from
-generic C support packages that are not integrated into the code of
-Emacs proper.)
+programming level.  Their current features are roughly comparable,
+though the support for some operating systems, character sets and
+specific packages might be quite different.
+
+Some XEmacs code has been contributed to Emacs, and we would like to
+use other parts, but the earlier XEmacs maintainers did not always
+keep track of the authors of contributed code, which makes it
+impossible for the FSF to get copyright papers signed for that code.
+(The FSF requires these papers for all the code included in the Emacs
+release, aside from generic C support packages that retain their
+separate identity and are not integrated into the code of Emacs
+proper.)
+
+If you want to talk about these two versions and distinguish them,
+please call them ``Emacs'' and ``XEmacs.''  To contrast ``XEmacs''
+with ``GNU Emacs'' would be misleading, since XEmacs too has its
+origin in the work of the GNU Project.  Terms such as ``Emacsen'' and
+``(X)Emacs'' are not wrong, but they are not very clear, so it
+is better to write ``Emacs and XEmacs.''
 
 @node Emacs for MS-DOS, Emacs for Windows, Difference between Emacs and XEmacs, Finding Emacs and related packages
 @section Where can I get Emacs for my PC running MS-DOS?
@@ -3620,17 +3562,17 @@ Windows (3.X, 9X, ME, NT, and 2000) and supports long file names under
 Windows 9X, Windows ME, and Windows 2000.  More information is available
 from
 
-@uref{http://www.simtel.net/pub/djgpp/v2gnu/emacs.README}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
 
 The binary itself is available in the files @file{em*.zip} in the
 directory
 
-@uref{http://www.simtel.net/pub/djgpp/v2gnu/}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}
 
 If you prefer to compile Emacs for yourself, you can do so with the
 current distribution directly.  You will need a 386 (or
 better) processor, and to be running MS-DOS 3.0 or later.  According to
-@email{eliz@@is.elta.co.il, Eli Zaretskii} and
+@email{eliz@@gnu.org, Eli Zaretskii} and
 @email{hankedr@@dms.auburn.edu, Darrel Hankerson}, you will need the
 following:
 
@@ -3644,7 +3586,7 @@ long file names on Windows 9X/ME/2K.
 You can get the latest release of DJGPP by retrieving all of
 the files in
 
-@uref{http://www.simtel.net/pub/gnu/djgpp/v2*}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2*}
 
 @item Unpacking program
 The easiest way is to use @code{djtar} which comes with DJGPP v2.x,
@@ -3663,7 +3605,7 @@ actually prevent Emacs from building successfully!
 @item make, mv, sed, and rm
 All of these utilities are available at
 
-@uref{http://www.simtel.net/pub/gnu/djgpp/v2gnu}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu}
 
 16-bit utilities can be found in GNUish, at
 
@@ -3680,7 +3622,7 @@ directory of the Emacs sources contains some additional information
 regarding Emacs under MS-DOS.
 
 For a list of other MS-DOS implementations of Emacs (and Emacs
-look-alikes), consult the list of "Emacs implementations and literature,"
+look-alikes), consult the list of ``Emacs implementations and literature,''
 available at
 
 @uref{ftp://rtfm.mit.edu/pub/usenet/comp.emacs/}
@@ -3689,14 +3631,15 @@ Note that while many of these programs look similar to Emacs, they often
 lack certain features, such as the Emacs Lisp extension language.
 
 @node Emacs for Windows, Emacs for OS/2, Emacs for MS-DOS, Finding Emacs and related packages
-@section Where can I get Emacs for Microsoft Windows
+@section Where can I get Emacs for Microsoft Windows?
 @cindex FAQ for NT Emacs
 @cindex Emacs for MS-Windows
 @cindex Microsoft Windows, Emacs for
 @cindex Windows 9X, ME, NT, 2K, and CE, Emacs for
 
 For information on Emacs for Windows 95 and NT, read the FAQ produced by
-@email{voelker@@cs.washington.edu, Geoff Voelker}, available at
+@email{voelker@@cs.washington.edu, Geoff Voelker} and currently maintained
+by @email{ramprasad_i82@@yahoo.com, Ramprasad B}, available at
 
 @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html}
 
@@ -3717,24 +3660,24 @@ You will need MSVC 6.0 and a Windows CE SDK to build this port.
 
 Emacs 20.6 is ported for emx on OS/2 2.0 or 2.1, and is available at
 
-@uref{ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/e206*.zip}
+@uref{ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/}
 
 @noindent
 and also at
 
-@uref{http://archiv.leo.org/pub/comp/os/os2/leo/gnu/emacs%2d20/}
+@uref{http://www.dotemacs.de/os2/emacs.html}
 
 Instructions for installation, basic setup, and other useful information
 for OS/2 users of Emacs can be found at
 
-@uref{http://userpage.fu-berlin.de/~oheiabbd/emacs/emacs206-os2.html}
+@uref{http://home.snafu.de/ohei/emacs/emacs206-os2.html}
 
 @node Emacs for Atari ST, Emacs for the Amiga , Emacs for OS/2, Finding Emacs and related packages
 @section Where can I get Emacs for my Atari ST?
 @cindex Atari ST, Emacs for
 @cindex TOS, Emacs for
 
-Roland Schรคuble reports that Emacs 18.58 running on plain TOS and MiNT
+Roland Sch@"auble reports that Emacs 18.58 running on plain TOS and MiNT
 is available at
 @uref{ftp://atari.archive.umich.edu/Editors/Emacs-18-58/1858b-d3.zoo}.
 
@@ -3758,26 +3701,18 @@ beta version of Emacs 19.25 for the Amiga.  You can get the binary at
 Emacs.app is a NeXTSTEP version of Emacs 19.34 which supports colors,
 menus, and multiple frames.  You can get it from
 
-@uref{ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz}
+@uref{ftp://next-ftp.peak.org/pub/next-ftp/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz}
 
 @node Emacs for Apple computers, Emacs for VMS and DECwindows, Emacs for NeXTSTEP, Finding Emacs and related packages
 @section Where can I get Emacs for my Apple computer?
 @cindex Apple computers, Emacs for
 @cindex Macintosh, Emacs for
 
-An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a
-number of ftp sites, the home being
-@uref{ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin}.
-
-A port of Emacs 20.4 is available at
-@uref{http://www.cs.hku.hk/~choi/emacs/index.html}.
-
 Beginning with version 21.1, the Macintosh is supported in the official
 Emacs distribution; see the files @file{mac/README} and
 @file{mac/INSTALL} in the Emacs distribution for build instructions.
 
-Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep.
-@xref{Emacs for NeXTSTEP}, for more details about that version.
+Beginning with version 22.1, Emacs supports Mac OS X natively.
 
 @node Emacs for VMS and DECwindows, Modes for various languages, Emacs for Apple computers, Finding Emacs and related packages
 @section Where do I get Emacs that runs on VMS under DECwindows?
@@ -3785,9 +3720,9 @@ Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep.
 @cindex VMS, Emacs for
 
 Up-to-date information about GNU software (including Emacs) for VMS is
-available at @uref{http://vms.gnu.org/}.
+available at @uref{http://www.lp.se/gnu-vms/}.
 
-@node Modes for various languages, Translating names to IP addresses, Emacs for VMS and DECwindows, Finding Emacs and related packages
+@node Modes for various languages,  , Emacs for VMS and DECwindows, Finding Emacs and related packages
 @section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk?
 @cindex Awk, mode for
 @cindex @code{awk-mode}
@@ -3806,43 +3741,12 @@ available at @uref{http://vms.gnu.org/}.
 
 Most of these modes are now available in standard Emacs distribution.
 To get additional modes, see @ref{Finding a package with particular
-functionality}.  
+functionality}.
 
 Barry Warsaw's @code{cc-mode} now works for C, C@t{++}, Objective-C, and
 Java code.  It is distributed with Emacs, but has
 @uref{http://cc-mode.sourceforge.net/, its own homepage}.
 
-@node Translating names to IP addresses,  , Modes for various languages, Finding Emacs and related packages
-@section What is the IP address of XXX.YYY.ZZZ?
-@cindex Translating names to IP addresses
-@cindex IP addresses from names
-@cindex Using BIND to translate addresses
-@cindex DNS and IP addresses
-
-If you are on a Unix machine, try using the @samp{nslookup} command,
-included in the Berkeley BIND package.  For example, to find the IP
-address of @samp{ftp.gnu.org}, you would type @code{nslookup
-ftp.gnu.org}.
-
-Your computer should then provide the IP address of that machine.
-
-If your site's nameserver is deficient, you can use IP addresses to FTP
-files.  You can get this information by e-mail:
-
-@example
-To: dns@@[134.214.84.25]    (to grasp.insa-lyon.fr)
-Body: ip XXX.YYY.ZZZ        (or "help" for more information
-                             and options - no quotes)
-@end example
-
-@noindent
-or:
-
-@example
-To: resolve@@[147.31.254.130]         (to laverne.cs.widener.edu)
-Body: site XXX.YYY.ZZZ
-@end example
-
 @c ------------------------------------------------------------
 @node Major packages and programs, Key bindings, Finding Emacs and related packages, Top
 @chapter Major packages and programs
@@ -3856,7 +3760,7 @@ Body: site XXX.YYY.ZZZ
 * AUCTeX::
 * BBDB::
 * Ispell::
-* w3-mode::
+* Emacs/W3::
 * EDB::
 * Mailcrypt::
 * JDE::
@@ -3876,7 +3780,7 @@ Body: site XXX.YYY.ZZZ
 @email{kyle_jones@@wonderworks.com, Kyle Jones}
 
 @item Latest version
-7.15
+7.19
 
 @item Distribution
 @uref{ftp://ftp.wonderworks.com/pub/vm/vm.tar.gz}
@@ -3933,7 +3837,7 @@ Superyank is an old version of Supercite.
 @email{daveg@@csvax.cs.caltech.edu, Dave Gillespie}
 
 @item Latest version
-2.02g (part of Emacs since version 21.4)
+2.1 (part of Emacs since version 22.1)
 
 @item Distribution
 No separate distribution outside of Emacs.  Older versions
@@ -3972,7 +3876,7 @@ better than the one distributed with Emacs:
 4.3
 
 @item Distribution
-@uref{ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/old-archive/modes/vip-mode.tar.Z}
+@uref{ftp://www.club.cc.cmu.edu/pub/gnu/elisp-archive/modes/vip-mode.tar.Z}
 
 @end table
 
@@ -3986,10 +3890,12 @@ better than the one distributed with Emacs:
 AUC@TeX{} is a set of sophisticated major modes for @TeX{}, LaTeX,
 ConTeXt, and Texinfo offering context-sensitive syntax highlighting,
 indentation, formatting and folding, macro completion, @TeX{} shell
-functionality, and debugging.  Some important supplemental packages are
-described in @ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{}
-User Manual}, and
-@uref{http://preview-latex.sourceforge.net,preview-latex}.
+functionality, and debugging.  Be also sure to check out
+@ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{} User Manual}.
+Current versions of AUC@TeX{} include the
+@uref{http://www.gnu.org/software/auctex/preview-latex,preview-latex}
+package for WYSIWYG previews of various LaTeX constructs in the Emacs
+source buffer.
 
 @table @b
 
@@ -4001,7 +3907,7 @@ User Manual}, and
 @email{dak@@gnu.org, David Kastrup}
 
 @item Latest version
-11.52
+11.82
 
 @item Distribution
 @uref{ftp://ftp.gnu.org/pub/gnu/auctex/}
@@ -4010,8 +3916,8 @@ User Manual}, and
 @uref{http://www.gnu.org/software/auctex/}
 
 @item Mailing list:
-Subscription requests to @email{auc-tex-subscribe@@sunsite.dk}@*
-Submissions to @email{auc-tex@@sunsite.dk}
+Subscription requests to @email{auctex-request@@gnu.org}@*
+Submissions to @email{auctex@@gnu.org}
 
 @end table
 
@@ -4042,7 +3948,7 @@ Release announcements: @email{bbdb-announce-request@@lists.sourceforge.net}
 
 @end table
 
-@node Ispell, w3-mode, BBDB, Major packages and programs
+@node Ispell, Emacs/W3, BBDB, Major packages and programs
 @section Ispell --- spell checker in C with interface for Emacs
 @cindex Spell-checker
 @cindex Checking spelling
@@ -4051,33 +3957,24 @@ Release announcements: @email{bbdb-announce-request@@lists.sourceforge.net}
 @table @b
 
 @item Author
-@email{geoff@@itcorp.com, Geoff Kuenning}
+@email{geoff@@cs.hmc.edu, Geoff Kuenning}
 
 @item Latest version
-3.1.20
+3.3.02
 
 @item Distribution
-@uref{ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz}@*
+@uref{http://fmg-www.cs.ucla.edu/geoff/tars/ispell-3.3.02.tar.gz}@*
 
 @item Web site
 @uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html}
 
 @end table
 
-@itemize @bullet
-
-@item
-Do not ask Geoff to send you the latest version of Ispell. He does not
-have free e-mail.
-
-@item
 This Ispell program is distinct from GNU Ispell 4.0. GNU Ispell 4.0 is
 no longer a supported product.
 
-@end itemize
-
-@node w3-mode, EDB, Ispell, Major packages and programs
-@section w3-mode --- A World Wide Web browser inside of Emacs
+@node Emacs/W3, EDB, Ispell, Major packages and programs
+@section Emacs/W3 --- A World Wide Web browser inside of Emacs
 @cindex WWW browser
 @cindex Web browser
 @cindex HTML browser in Emacs
@@ -4086,22 +3983,26 @@ no longer a supported product.
 @table @b
 
 @item Author
-@email{wmperry@@spry.com, Bill Perry}
+@email{wmperry@@gnu.org, Bill Perry}
+
+@item Maintainer
+Emacs/W3 needs a maintainer. It has lain dormant for several years. If
+you would like to take over the project, please contact
+@email{maintainers@@gnu.org}.
 
 @item Latest version
-4.0pre.39
+4.0pre.47
 
 @item Distribution
-@uref{ftp://ftp.cs.indiana.edu/pub/elisp/w3/w3.tar.gz}
+@uref{http://savannah.gnu.org/projects/w3}
 
 @item Mailing lists
-Receive announcements from @email{w3-announce-request@@indiana.edu}@*
-Become a beta tester at @email{w3-beta-request@@indiana.edu}@*
-Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
+Receive announcements from @email{w3-announce@@gnu.org}@*
+Help to develop Emacs/W3 at @email{w3-dev@@gnu.org}
 
 @end table
 
-@node EDB, Mailcrypt, w3-mode, Major packages and programs
+@node EDB, Mailcrypt, Emacs/W3, Major packages and programs
 @section EDB --- Database program for Emacs; replaces forms editing modes
 @cindex EDB
 @cindex Database
@@ -4148,6 +4049,11 @@ Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
 
 @end table
 
+Note that a new package called PGG is bundled with Emacs starting with
+version 22.1.  It is a modern interface to various PGP implementations,
+including @uref{http://www.gnupg.org/, The GNU Privacy Guard} and
+supports symmetric encryption.
+
 @node JDE, Patch, Mailcrypt, Major packages and programs
 @section JDE --- Integrated development environment for Java
 @cindex Java development environment
@@ -4159,19 +4065,20 @@ Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
 @item Author
 @email{paulk@@mathworks.com, Paul Kinnucan}
 
-@item Mailing list
-jde-subscribe@@sunsite.auc.dk
-
 @item Latest version
-2.1.1
+2.3.5
 
 @item Web site
-@uref{http://sunsite.auc.dk/jde/}
+@uref{http://jdee.sunsite.dk/}
+
+@item Mailing lists
+Subscription requests to @email{jde-subscribe@@sunsite.dk}@*
+Receive announcements from @email{jde-announce-subscribe@@sunsite.dk}
 
 @end table
 
 @node Patch,  , JDE, Major packages and programs
-@section Patch --- program to apply "diffs" for updating files
+@section Patch --- program to apply ``diffs'' for updating files
 @cindex Updating files with diffs
 @cindex Patching source files with diffs
 @cindex Diffs and patching
@@ -4214,6 +4121,7 @@ jde-subscribe@@sunsite.auc.dk
 * Binding combinations of modifiers and function keys::
 * Meta key does not work in xterm::
 * ExtendChar key does not work as Meta::
+* SPC no longer completes file names::
 @end menu
 
 @node Binding keys to commands, Invalid prefix characters, Key bindings, Key bindings
@@ -4231,7 +4139,7 @@ local-set-key @key{RET} @var{key} @var{cmd} @key{RET}}.
 
 @inforef{Key Bindings, Key Bindings, emacs}, for further details.
 
-To make the process of binding keys interactively eaiser, use the
+To make the process of binding keys interactively easier, use the
 following ``trick'': First bind the key interactively, then immediately
 type @kbd{C-x @key{ESC} @key{ESC} C-a C-k C-g}.  Now, the command needed
 to bind the key is in the kill ring, and can be yanked into your
@@ -4244,8 +4152,8 @@ command are required.  For example,
 
 @noindent
 can be placed directly into the @file{.emacs} file.  If the key binding is
-local, the command is used in conjunction with the "add-hook" command.
-For example, in tex-mode, a local binding might be
+local, the command is used in conjunction with the @samp{add-hook} function.
+For example, in TeX mode, a local binding might be
 
 @lisp
 (add-hook 'tex-mode-hook
@@ -4284,7 +4192,7 @@ can be bound to a key and thus treated as a macro.  For example:
 @end itemize
 
 @node Invalid prefix characters, Terminal setup code works after Emacs has begun, Binding keys to commands, Key bindings
-@section Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
+@section Why does Emacs say @samp{Key sequence XXX uses invalid prefix characters}?
 @cindex Prefix characters, invalid
 @cindex Invalid prefix characters
 @cindex Misspecified key sequences
@@ -4649,9 +4557,9 @@ Good question!
 @cindex Keys, swapping
 @cindex @code{keyboard-translate}
 
-In Emacs 19, you can swap two keys (or key sequences) by using the
-@code{keyboard-translate} function.  For example, to turn @kbd{C-h} into
-@key{DEL} and @key{DEL} to @kbd{C-h}, use
+You can swap two keys (or key sequences) by using the
+@code{keyboard-translate} function.  For example, to turn @kbd{C-h}
+into @key{DEL} and @key{DEL} to @kbd{C-h}, use
 
 @lisp
 (keyboard-translate ?\C-h ?\C-?)  ; translate `C-h' to DEL
@@ -4663,6 +4571,11 @@ The first key sequence of the pair after the function identifies what is
 produced by the keyboard; the second, what is matched for in the
 keymaps.
 
+However, in the specific case of @kbd{C-h} and @key{DEL}, you should
+toggle @code{normal-erase-is-backspace-mode} instead of calling
+@code{keyboard-translate}.  @inforef{DEL Does Not Delete, DEL Does Not Delete,
+emacs}.
+
 Keyboard translations are not the same as key bindings in keymaps.
 Emacs contains numerous keymaps that apply in different situations, but
 there is only one set of keyboard translations, and it applies to every
@@ -4671,15 +4584,13 @@ take place at the lowest level of input processing; the keys that are
 looked up in keymaps contain the characters that result from keyboard
 translation.
 
-@inforef{Keyboard Translations, Keyboard Translations, emacs}.
-
 @node Producing C-XXX with the keyboard, No Meta key, Swapping keys, Key bindings
 @section How do I produce C-XXX with my keyboard?
 @cindex Producing control characters
 @cindex Generating control characters
 @cindex Control characters, generating
 
-On terminals (but not under X), some common "aliases" are:
+On terminals (but not under X), some common ``aliases'' are:
 
 @table @asis
 
@@ -4791,8 +4702,7 @@ terminals.  Non-@acronym{ASCII} keys and mouse events (e.g. @kbd{C-=} and
 @cindex @key{Meta} key and @code{xterm}
 @cindex Xterm and @key{Meta} key
 
-@inforef{Single-Byte Character Support, Single-Byte Character Set
-Support, emacs}.
+@inforef{Unibyte Mode, Single-Byte Character Set Support, emacs}.
 
 If the advice in the Emacs manual fails, try all of these methods before
 asking for further help:
@@ -4857,7 +4767,7 @@ You might have to replace @samp{Meta} with @samp{Alt}.
 
 @end itemize
 
-@node ExtendChar key does not work as Meta,  , Meta key does not work in xterm, Key bindings
+@node ExtendChar key does not work as Meta, SPC no longer completes file names, Meta key does not work in xterm, Key bindings
 @section Why doesn't my @key{ExtendChar} key work as a @key{Meta} key under HP-UX 8.0 and 9.x?
 @cindex @key{ExtendChar} key as @key{Meta}
 @cindex @key{Meta}, using @key{ExtendChar} for
@@ -4880,6 +4790,25 @@ xmodmap -e 'remove mod1 = Mode_switch'
 This will disable the use of the extra keysyms systemwide, which may be
 undesirable if you actually intend to use them.
 
+@node SPC no longer completes file names,  , ExtendChar key does not work as Meta, Key bindings
+@section Why doesn't SPC complete file names anymore?
+@cindex @kbd{SPC} file name completion
+
+Starting with Emacs 22.1, @kbd{SPC} no longer completes file names in
+the minibuffer, so that file names with embedded spaces could be typed
+without the need to quote the spaces.
+
+You can get the old behavior by binding @kbd{SPC} to
+@code{minibuffer-complete-word} in the minibuffer, as follows:
+
+@lisp
+(define-key minibuffer-local-filename-completion-map (kbd "SPC")
+  'minibuffer-complete-word)
+
+(define-key minibuffer-local-must-match-filename-map (kbd "SPC")
+  'minibuffer-complete-word)
+@end lisp
+
 @c ------------------------------------------------------------
 @node Alternate character sets, Mail and news, Key bindings, Top
 @chapter Alternate character sets
@@ -4897,7 +4826,7 @@ undesirable if you actually intend to use them.
 @cindex Displaying eight-bit characters
 @cindex Eight-bit characters, displaying
 
-@inforef{Single-Byte Character Support, Single-byte Character Set
+@inforef{Unibyte Mode, Single-byte Character Set
 Support, emacs}.  On a Unix, when Emacs runs on a text-only terminal
 display or is invoked with @samp{emacs -nw}, you typically need to use
 @code{set-terminal-coding-system} to tell Emacs what the terminal can
@@ -4914,7 +4843,7 @@ terminal coding system automatically.
 @cindex Input, 8-bit characters
 
 Various methods are available for input of eight-bit characters.  See
-@inforef{Single-Byte Character Support, Single-byte Character Set
+@inforef{Unibyte Mode, Single-byte Character Set
 Support, emacs}.  For more sophisticated methods, @inforef{Input
 Methods, Input Methods, emacs}.
 
@@ -5182,11 +5111,6 @@ best fix I've been able to come up with:
 @cindex Mail packages and MIME
 @cindex FAQ for MIME and Emacs
 
-Read the Emacs MIME FAQ, maintained by @email{trey@@cs.berkeley.edu,
-MacDonald Hall Jackson} at
-
-@uref{http://bmrc.berkeley.edu/~trey/emacs/mime.html}
-
 Version 6.x of VM supports MIME.  @xref{VM}.  Gnus supports MIME in mail
 and news messages as of version 5.8.1 (Pterodactyl).  Rmail has limited
 support for single-part MIME messages beginning with Emacs 20.3.