Merge from emacs--rel--22
[bpt/emacs.git] / man / faq.texi
index bc78876..787a854 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
@@ -14,7 +14,8 @@
 @c appreciate a notice if you do).
 
 @copying
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007
+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@*
@@ -59,12 +60,9 @@ distribution.]
 
 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::
@@ -313,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
@@ -426,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}.
+@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?
@@ -442,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:
 
@@ -677,6 +681,10 @@ An HTML version of the manual is at
 
 @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.
 
 @node Emacs Lisp documentation, Installing Texinfo documentation, Getting a printed manual, Getting help
@@ -766,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}}
@@ -1077,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
@@ -1125,38 +1140,105 @@ 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
+@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}.
+
+@itemize
+@cindex GTK+ Toolkit
+@cindex Drag-and-drop
+@item
+Emacs can be built with GTK+ widgets, and supports drag-and-drop
+operation on X.
 
 @cindex Supported systems
-Emacs 22 features support for GNU/Linux systems on S390 and X86-64
+@item
+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
+@item
+The native MS-Windows, Mac OS 9 and Mac OS X builds include full support
+for images, toolbar, and tooltips.
+
+@item
+Font Lock mode, Auto Compression mode, and File Name Shadow Mode are
+enabled by default.
+
+@item
+The maximum size of buffers has been doubled and is 256M on 32-bit
+machines.
+
+@item
+Links can be followed with @kbd{mouse-1}, in addition to @kbd{mouse-2}.
+
 @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.
+@item
+Mouse wheel support is enabled by default.
+
+@item
+Window fringes are customizable.
+
+@item
+The mode line of the selected window is now highlighted.
+
+@item
+The minibuffer prompt is displayed in a distinct face.
+
+@item
+Abbrev definitions are read automatically at startup.
 
+@item
+Grep mode is separate from Compilation mode and has many new options and
+commands specific to grep.
+
+@item
+The original Emacs macro system has been replaced by the new Kmacro
+package, which provides many new commands and features and a simple
+interface that uses the function keys F3 and F4.  Macros are stored in a
+macro ring, and can be debugged and edited interactively.
+
+@item
+The Grand Unified Debugger (GUD) can be used with a full graphical user
+interface to GDB; this provides many features found in traditional
+development environments, making it easy to manipulate breakpoints, add
+watch points, display the call stack, etc.  Breakpoints are visually
+indicated in the source buffer.
+
+@item
 @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, etc.
+Many new modes and packages have been included in Emacs, such as Calc,
+TRAMP, URL, IDO, CUA, ERC, rcirc, Table, Image-Dired, SES, Ruler, Org,
+PGG, Flymake, Password, Printing, Reveal, wdired, t-mouse, longlines,
+savehist, Conf mode, Python mode, DNS mode, etc.
+
+@cindex Multilingual Environment
+@item
+Leim is now part of Emacs.  Unicode support has been much improved, and
+the following input methods have been added: belarusian, bulgarian-bds,
+bulgarian-phonetic, chinese-sisheng, croatian, dutch, georgian,
+latin-alt-postfix, latin-postfix, latin-prefix, latvian-keyboard,
+lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345,
+russian-computer, sgml, slovenian, tamil-inscript, ucs,
+ukrainian-computer, vietnamese-telex, and welsh.
+
+The following language environments have also been added: Belarusian,
+Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian, Latin-6,
+Latin-7, Latvian, Lithuanian, Malayalam, Russian, Slovenian, Swedish,
+Tajik, Tamil, UTF-8, Ukrainian, Welsh, and Windows-1255.
 
 @cindex Documentation
 @cindex Emacs Lisp Manual
+@item
 In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
 (@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
+@end itemize
+
+Many other changes have been made in Emacs 22, use @kbd{C-h n} to get a
+full list.
 
 @c ------------------------------------------------------------
 @node    Common requests, Bugs and problems, Status of Emacs, Top
@@ -1166,17 +1248,20 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
 @menu
 * Setting up a customization file::
 * Using Customize::
-* Debugging a customization file::
 * 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::
@@ -1195,9 +1280,8 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
 * 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::
@@ -1210,10 +1294,10 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
 * 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::
+* Fullscreen mode on MS-Windows::
 @end menu
 
 @node Setting up a customization file, Using Customize, Common requests, Common requests
@@ -1273,7 +1357,7 @@ customize, with completion.
 
 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
@@ -1330,7 +1414,7 @@ initialization disables it.) Note that Emacs will not display the line
 number if the buffer's size in bytes is larger than the value of the
 variable @code{line-number-display-limit}.
 
-As of Emacs 20, you can similarly display the current column with
+You can similarly display the current column with
 @kbd{M-x column-number-mode}, or by putting the form
 
 @lisp
@@ -1388,7 +1472,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
 
@@ -1407,30 +1491,7 @@ Put this in your @file{.emacs} file:
 Starting with Emacs 22, the standard abbrevs file is read automatically
 at startup, so the first of these two forms becomes unnecessary.
 
-@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:
-
-@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
@@ -1460,7 +1521,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
@@ -1508,65 +1643,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 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
 
-@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
+Use @kbd{C-q C-j}.  For more information, see @inforef{Special Isearch,
+Special Input for Incremental Search, emacs}.
 
-You can cause the region to be highlighted when the mark is active by
-including
 
-@lisp
-(transient-mark-mode t)
-@end lisp
+@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
 
-@noindent
-in your @file{.emacs} file.  (Also see @ref{Turning on syntax
-highlighting}.)
+Use @kbd{M-y}.  @inforef{Isearch Yank, Isearch Yanking, emacs}.
 
-@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:
-
-@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 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
@@ -1580,7 +1673,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
@@ -1830,6 +1946,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}}:
 
@@ -2020,14 +2140,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.
@@ -2039,12 +2156,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)?
@@ -2096,13 +2215,13 @@ forms in a file.  (To do this from Lisp use the function @code{load}
 instead.)
 
 The functions @code{load-library}, @code{eval-region},
-@code{eval-current-buffer}, @code{require}, and @code{autoload} are also
+@code{eval-buffer}, @code{require}, and @code{autoload} are also
 useful; see @ref{Emacs Lisp documentation}, if you want to learn more
 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
@@ -2121,8 +2240,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}
@@ -2130,7 +2250,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
@@ -2139,39 +2259,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.
+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, Repeating a command as many times as possible, Inserting > at the beginning of each line, Common requests
+@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} (@pxref{Repeating commands}) or @kbd{C-x e}.
-
-@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?
@@ -2187,7 +2297,7 @@ otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
 @cindex Regexps
 @cindex Regular expressions
 @cindex Differences between Unix and Emacs regexps
-@cindex Unix regeps, differences from Emacs
+@cindex Unix regexps, differences from Emacs
 @cindex Text strings, putting regexps in
 
 @inforef{Regexp Backslash, Regexp Backslash, emacs}.
@@ -2219,15 +2329,35 @@ is actually typical for regexp syntax.)
 @cindex Replacing strings across files
 @cindex Multiple files, replacing across
 @cindex Files, replacing strings across multiple
-
-The ``tags'' feature of Emacs includes the command
-@code{tags-query-replace} which performs a query-replace across all the
-files mentioned in the @file{TAGS} file.  @inforef{Tags Search, Tags Search,
-emacs}.
+@cindex Recursive search/replace operations
 
 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
-users to replace regular expressions in multiple files.
+d}) supports the command @code{dired-do-query-replace} (@kbd{Q}), which
+allows users to replace regular expressions in multiple files.
+
+You can use this command to perform search/replace operations on
+multiple files by following the following steps:
+
+@itemize @bullet
+@item
+Assemble a list of files you want to operate on with either
+@code{find-dired}, @code{find-name-dired} or @code{find-grep-dired}.
+
+@item
+Mark all files in the resulting Dired buffer using @kbd{t}.
+
+@item
+Use @kbd{Q} to start a @code{query-replace-regexp} session on the marked
+files.
+
+@item
+To accept all replacements in each file, hit @kbd{!}.
+@end itemize
+
+Another way to do the same thing is to use the ``tags'' feature of
+Emacs: it includes the command @code{tags-query-replace} which performs
+a query-replace across all the files mentioned in the @file{TAGS} file.
+@inforef{Tags Search, Tags Search, emacs}.
 
 @node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests
 @section Where is the documentation for @code{etags}?
@@ -2419,7 +2549,7 @@ To move a menu option from one position to another, simply evaluate
 
 More detailed information---and more examples of how to create and
 modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
-``Menu Keymaps''.  (@xref{Emacs Lisp documentation}, for information on
+``Menu Keymaps.''  (@xref{Emacs Lisp documentation}, for information on
 this manual.)
 
 @node Deleting menus and menu options, Turning on syntax highlighting, Modifying pull-down menus, Common requests
@@ -2522,7 +2652,7 @@ 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
@@ -2530,7 +2660,7 @@ consult the documentation of the variables @code{ps-printer-name},
 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}.
+means, @inforef{Auto Scrolling, Auto Scrolling, emacs}.
 
 Alternatively, use the following Lisp form in your @file{.emacs}:
 
@@ -2538,32 +2668,7 @@ Alternatively, use the following Lisp form in your @file{.emacs}:
 (setq scroll-conservatively most-positive-fixnum)
 @end lisp
 
-@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
-
-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 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
@@ -2586,7 +2691,7 @@ If you are running a version of Emacs before 20.1, get @code{crypt++}
 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
@@ -2598,7 +2703,7 @@ Add the following line to your @file{.emacs} file:
 (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, Fullscreen mode on MS-Windows, 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
@@ -2610,7 +2715,8 @@ shell init file.  You have two alternatives to solve this:
 @item
 Make the alias conditioned on the @code{EMACS} variable in the
 environment.  When Emacs runs a subsidiary shell, it exports the
-@code{EMACS} variable with the value @code{t} to that shell.  You can
+@code{EMACS} variable to that shell, with value equal to the absolute
+file name of Emacs.  You can
 unalias @code{ls} when that happens, thus limiting the alias to your
 interactive sessions.
 
@@ -2619,6 +2725,28 @@ Install the @code{ansi-color} package (bundled with Emacs 21.1 and
 later), which converts these ANSI escape sequences into colors.
 @end itemize
 
+@node Fullscreen mode on MS-Windows,  , Escape sequences in shell output, Common requests
+@section How can I start Emacs in fullscreen mode on MS-Windows?
+@cindex Maximize frame
+@cindex Fullscreen mode
+
+Use the function @code{w32-send-sys-command}.  For example, you can
+put the following in your @file{.emacs} file:
+
+@lisp
+(add-hook 'term-setup-hook
+          #'(lambda () (w32-send-sys-command ?\xF030)))
+@end lisp
+
+To avoid the slightly distracting visual effect of Emacs starting with
+its default frame size and then growing to fullscreen, you can add an
+@samp{Emacs.Geometry} entry to the Windows registry settings (see
+@pxref{(emacs)X Resources}).
+
+To compute the correct values for width and height, first maximize the
+Emacs frame and then evaluate @code{(frame-height)} and
+@code{(frame-width)} with @kbd{M-:}.
+
 @c ------------------------------------------------------------
 @node    Bugs and problems, Compiling and installing Emacs, Common requests, Top
 @chapter Bugs and problems
@@ -2680,14 +2808,14 @@ file:
 
 @example
 if ($?EMACS) then
-    if ("$EMACS" == t) then
+    if ("$EMACS" =~ /*) then
         if ($?tcsh) unset edit
         stty nl
     endif
 endif
 @end example
 
-Or put this in your @file{.emacs_tcsh} file:
+Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file:
 
 @example
 unset edit
@@ -3088,14 +3216,12 @@ arbitrary Emacs Lisp code evaluated when the file is visited.
 Obviously, there is a potential for Trojan horses to exploit this
 feature.
 
-Emacs 18 allowed this feature by default; users could disable it by
-setting the variable @code{inhibit-local-variables} to a non-@code{nil} value.
-
-As of Emacs 19, Emacs has a list of local variables that create a
-security risk.  If a file tries to set one of them, it asks the user to
-confirm whether the variables should be set.  You can also tell Emacs
-whether to allow the evaluation of Emacs Lisp code found at the bottom
-of files by setting the variable @code{enable-local-eval}.
+As of Emacs 22, Emacs has a list of local variables that are known to
+be safe to set.  If a file tries to set any variable outside this
+list, it asks the user to confirm whether the variables should be set.
+You can also tell Emacs whether to allow the evaluation of Emacs Lisp
+code found at the bottom of files by setting the variable
+@code{enable-local-eval}.
 
 For more information, @inforef{File Variables, File Variables, emacs}.
 
@@ -3360,7 +3486,7 @@ On OpenWindows, you may need to use @code{add_services} to add the
 ``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
+X11-PRG ``fileset.''  This may be missing even if you specified ``all
 filesets'' the first time.  If @file{libcurses.a} is missing, you may
 need to load the ``Berkeley Development Option.''
 
@@ -3457,13 +3583,14 @@ see @ref{Packages that do not come with Emacs}.
 @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.html, The Emacs Lisp
 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
+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,
 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}.
@@ -3472,7 +3599,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?
@@ -3617,7 +3747,8 @@ lack certain features, such as the Emacs Lisp extension language.
 @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@@gnu.org, Ramprasad B}, available at
 
 @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html}
 
@@ -3638,24 +3769,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}.
 
@@ -3679,7 +3810,7 @@ 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?
@@ -3698,9 +3829,9 @@ Beginning with version 22.1, Emacs supports Mac OS X natively.
 @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, , 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}
@@ -3738,7 +3869,7 @@ Java code.  It is distributed with Emacs, but has
 * AUCTeX::
 * BBDB::
 * Ispell::
-* w3-mode::
+* Emacs/W3::
 * EDB::
 * Mailcrypt::
 * JDE::
@@ -3771,8 +3902,8 @@ Java code.  It is distributed with Emacs, but has
 Or send reports to @email{bug-vm@@wonderworks.com}
 @end table
 
-VM 7 works well with Emacs 21. Older versions of VM suitable for use
-with older versions of Emacs are available from
+VM 7 works well with Emacs 21 and Emacs 22. Older versions of VM
+suitable for use with older versions of Emacs are available from
 @uref{ftp://ftp.wonderworks.com/pub/vm/, the same FTP site}.
 
 
@@ -3854,7 +3985,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
 
@@ -3885,7 +4016,7 @@ source buffer.
 @email{dak@@gnu.org, David Kastrup}
 
 @item Latest version
-11.82
+11.84
 
 @item Distribution
 @uref{ftp://ftp.gnu.org/pub/gnu/auctex/}
@@ -3926,7 +4057,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
@@ -3935,33 +4066,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
@@ -3970,22 +4092,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
@@ -4032,6 +4158,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
@@ -4043,14 +4174,15 @@ 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
 
@@ -4489,7 +4621,7 @@ instead:
 @lisp
 (global-set-key "\C-h" 'delete-backward-char)
 
-;;; overrides mark-whole-buffer
+;; overrides mark-whole-buffer
 (global-set-key "\C-xh" 'help-command)
 @end lisp
 
@@ -4621,7 +4753,7 @@ under X).  For many terminals (notably DEC terminals) @key{F11}
 generates @key{ESC}.  If not, the following form can be used to bind it:
 
 @lisp
-;;; F11 is the documented ESC replacement on DEC terminals.
+;; F11 is the documented ESC replacement on DEC terminals.
 (define-key function-key-map [f11] [?\e])
 @end lisp
 
@@ -4679,8 +4811,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:
@@ -4768,7 +4899,7 @@ 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
+@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
 
@@ -4780,10 +4911,10 @@ 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") 
+(define-key minibuffer-local-filename-completion-map (kbd "SPC")
   'minibuffer-complete-word)
 
-(define-key minibuffer-local-must-match-filename-map (kbd "SPC") 
+(define-key minibuffer-local-must-match-filename-map (kbd "SPC")
   'minibuffer-complete-word)
 @end lisp
 
@@ -4797,6 +4928,7 @@ You can get the old behavior by binding @kbd{SPC} to
 * Inputting eight-bit characters::
 * Kanji and Chinese characters::
 * Right-to-left alphabets::
+* How to add fonts::
 @end menu
 
 @node Emacs does not display 8-bit characters, Inputting eight-bit characters, Alternate character sets, Alternate character sets
@@ -4804,7 +4936,7 @@ You can get the old behavior by binding @kbd{SPC} to
 @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
@@ -4821,7 +4953,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}.
 
@@ -4836,7 +4968,7 @@ Emacs 20 and later includes many of the features of MULE, the MULtilingual
 Enhancement to Emacs.  @xref{Installing Emacs}, for information on where
 to find and download the latest version of Emacs.
 
-@node Right-to-left alphabets,  , Kanji and Chinese characters, Alternate character sets
+@node Right-to-left alphabets, How to add fonts, Kanji and Chinese characters, Alternate character sets
 @section Where is an Emacs that can handle Semitic (right-to-left) alphabets?
 @cindex Right-to-left alphabets
 @cindex Hebrew, handling with Emacs
@@ -4856,8 +4988,128 @@ Emacs 18.  Write to Joel if you want the patches or package.
 @file{hebrew.el} requires a Hebrew screen font, but no other hardware support.
 Joel has a screen font for PCs running MS-DOS or GNU/Linux.
 
-You might also try to query archie for files named with @file{hebrew};
-several ftp sites in Israel may also have the necessary files.
+You might also try querying @code{archie} for files named with
+@file{hebrew}; several ftp sites in Israel may also have the necessary
+files.
+
+@node How to add fonts,  , Right-to-left alphabets, Alternate character sets
+@section How do I add fonts for use with Emacs?
+@cindex add fonts for use with Emacs
+@cindex intlfonts
+
+First, download and install the BDF font files and any auxiliary
+packages they need.  The GNU Intlfonts distribution can be found on
+@uref{http://directory.fsf.org/localization/intlfonts.html, the GNU
+Software Directory Web site}.
+
+Next, if you are on X Window system, issue the following two commands
+from the shell's prompt:
+
+@example
+  xset +fp /usr/local/share/emacs/fonts
+  xset fp rehash
+@end example
+
+@noindent
+(Modify the first command if you installed the fonts in a directory
+that is not @file{/usr/local/share/emacs/fonts}.)  You also need to
+arrange for these two commands to run whenever you log in, e.g., by
+adding them to your window-system startup file, such as
+@file{~/.xsessionrc} or @file{~/.gnomerc}.
+
+Now, add the following line to your @file{~/.emacs} init file:
+
+@lisp
+  (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf")
+@end lisp
+
+@noindent
+(Again, modify the file name if you installed the fonts elsewhere.)
+
+Finally, if you wish to use the installed fonts with @code{ps-print},
+add the following line to your @file{~/.emacs}:
+
+@lisp
+  (setq ps-multibyte-buffer 'bdf-font-except-latin)
+@end lisp
+
+A few additional steps are necessary for MS-Windows; they are listed
+below.
+
+First, make sure @emph{all} the directories with BDF font files are
+mentioned in @code{bdf-directory-list}.  On Unix and GNU/Linux
+systems, one normally runs @kbd{make install} to install the BDF fonts
+in the same directory.  By contrast, Windows users typically don't run
+the Intlfonts installation command, but unpack the distribution in
+some directory, which leaves the BDF fonts in its subdirectories.  For
+example, assume that you unpacked Intlfonts in @file{C:/Intlfonts};
+then you should set @code{bdf-directory-list} as follows:
+
+@lisp
+  (setq bdf-directory-list
+    '("C:/Intlfonts/Asian"
+      "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X"
+      "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic"
+      "C:/Intlfonts/European" "C:/Intlfonts/European.BIG"
+      "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X"
+      "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X"
+      "C:/Intlfonts/Misc"))
+@end lisp
+
+@cindex @code{w32-bdf-filename-alist}
+@cindex @code{w32-find-bdf-fonts}
+Next, you need to set up the variable @code{w32-bdf-filename-alist} to
+an alist of the BDF fonts and their corresponding file names.
+Assuming you have set @code{bdf-directory-list} to name all the
+directories with the BDF font files, the following Lisp snippet will
+set up @code{w32-bdf-filename-alist}:
+
+@lisp
+  (setq w32-bdf-filename-alist
+     (w32-find-bdf-fonts bdf-directory-list))
+@end lisp
+
+Now, create fontsets for the BDF fonts:
+
+@lisp
+  (create-fontset-from-fontset-spec
+   "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
+   japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
+   katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+   latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+   japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
+   thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
+   lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
+   tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
+   ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
+   tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")
+@end lisp
+
+Many of the international bdf fonts from Intlfonts are type 0, and
+therefore need to be added to font-encoding-alist:
+
+@lisp
+  (setq font-encoding-alist
+        (append '(("MuleTibetan-0" (tibetan . 0))
+                  ("GB2312"        (chinese-gb2312 . 0))
+                  ("JISX0208"      (japanese-jisx0208 . 0))
+                  ("JISX0212"      (japanese-jisx0212 . 0))
+                  ("VISCII"        (vietnamese-viscii-lower . 0))
+                  ("KSC5601"       (korean-ksc5601 . 0))
+                  ("MuleArabic-0"  (arabic-digit . 0))
+                  ("MuleArabic-1"  (arabic-1-column . 0))
+                  ("MuleArabic-2"  (arabic-2-column . 0)))
+                font-encoding-alist))
+@end lisp
+
+You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium}
+fontset, or you can select it by setting the default font in your
+@file{~/.emacs}:
+
+@lisp
+  (set-default-font "fontset-bdf")
+@end lisp
+
 
 @c ------------------------------------------------------------
 @node Mail and news, Concept index, Alternate character sets, Top