Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca
[bpt/emacs.git] / doc / misc / faq.texi
index 691e7bd..8f3c0c2 100644 (file)
@@ -11,8 +11,7 @@
 @c appreciate a notice if you do).
 
 @copying
-Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010, 2011 Free Software Foundation, Inc.@*
+Copyright @copyright{} 2001--2013 Free Software Foundation, Inc.@*
 Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000
 Reuven M. Lerner@*
 Copyright @copyright{} 1992, 1993 Steven Byrnes@*
@@ -21,7 +20,7 @@ Copyright @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
-formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information.
+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
 itself.  Every copy of the FAQ must include this notice or an approved
@@ -81,7 +80,7 @@ Emacs, the Emacs manual is often the best starting point.
 
 @ifnottex
 @insertcopying
-@end ifnottex 
+@end ifnottex
 
 @menu
 * FAQ notation::
@@ -92,7 +91,6 @@ Emacs, the Emacs manual is often the best starting point.
 * Bugs and problems::
 * Compiling and installing Emacs::
 * Finding Emacs and related packages::
-* Major packages and programs::
 * Key bindings::
 * Alternate character sets::
 * Mail and news::
@@ -193,12 +191,11 @@ DOS and Windows terminals don't set bit 7 when the @key{Meta} key is
 pressed.}.
 
 @kbd{C-?} (aka @key{DEL}) is @acronym{ASCII} code 127.  It is a misnomer to call
-@kbd{C-?}  a ``control'' key, since 127 has both bits 5 and 6 turned ON.
+@kbd{C-?}  a ``control'' key, since 127 has both bits 5 and 6 turned ON@.
 Also, on very few keyboards does @kbd{C-?} generate @acronym{ASCII} code 127.
 @c FIXME I cannot understand the previous sentence.
 
-@inforef{Keys, Keys, emacs}, for more information.  (@xref{Emacs
-manual}, for more information about Info.)
+@xref{Keys,,, emacs, The GNU Emacs Manual}.
 
 @node Extended commands
 @section What does @file{M-x @var{command}} mean?
@@ -254,15 +251,15 @@ reference to follow it.
 Emacs manual.
 
 @node File-name conventions
-@section What are @file{etc/GNU}, @file{src/config.h}, @file{site-lisp/default.el}, etc.?
+@section What are @file{src/config.h}, @file{site-lisp/default.el}, etc.?
 @cindex File-name conventions
 @cindex Conventions for file names
 @cindex Directories and files that come with Emacs
 
 These are files that come with Emacs.  The Emacs distribution is divided
-into subdirectories; e.g. @file{etc}, @file{lisp}, and @file{src}.
-Some of these (e.g. @file{etc} and @file{lisp}) are present both in
-an installed Emacs and in the sources, but some (e.g. @file{src}) are
+into subdirectories; e.g., @file{etc}, @file{lisp}, and @file{src}.
+Some of these (e.g., @file{etc} and @file{lisp}) are present both in
+an installed Emacs and in the sources, but some (e.g., @file{src}) are
 only found in the sources.
 
 If you use Emacs, but don't know where it is kept on your system, start
@@ -317,7 +314,7 @@ GNU General Public License
 
 @end table
 
-Avoid confusing the FSF and the LPF.  The LPF opposes
+Avoid confusing the FSF and the LPF@.  The LPF opposes
 look-and-feel copyrights and software patents.  The FSF aims to make
 high quality free software available for everyone.
 
@@ -369,7 +366,7 @@ only be known if and when a judge rules on its validity and scope.
 There has never been a copyright infringement case involving the GPL to
 set any precedents.  Although legal actions have been brought against
 companies for violating the terms of the GPL, so far all have been
-settled out of court (in favour of the plaintiffs).  Please take any
+settled out of court (in favor of the plaintiffs).  Please take any
 discussion regarding this issue to the newsgroup
 @uref{news:gnu.misc.discuss}, which was created to hold the extensive
 flame wars on the subject.
@@ -503,36 +500,13 @@ contain information in either the message header
 unsubscribe.
 
 @node Contacting the FSF
-@section  What is the current address of the FSF?
-@cindex Snail mail address of the FSF
-@cindex Postal address of the FSF
+@section  How do I contact the FSF?
 @cindex Contracting the FSF
 @cindex Free Software Foundation, contacting
 
 For up-to-date information, see
 @uref{http://www.fsf.org/about/contact.html, the FSF contact web-page}.
-
-@table @asis
-
-@item E-mail
-info@@fsf.org
-
-@item Telephone
-+1-617-542-5942
-
-@item Fax
-+1-617-542-2652
-
-@item World Wide Web
-@uref{http://www.fsf.org/}
-
-@item Postal address
-Free Software Foundation@*
-51 Franklin Street, Fifth Floor@*
-Boston, MA 02110-1301@*
-USA@*
-
-@end table
+You can send general correspondence to @email{info@@fsf.org}.
 
 @cindex Ordering GNU software
 For details on how to order items directly from the FSF, see the
@@ -578,7 +552,7 @@ help-for-help} instead to invoke help.  To discover what key (if any)
 invokes help on your system, type @kbd{M-x where-is @key{RET}
 help-for-help @key{RET}}.  This will print a comma-separated list of key
 sequences in the echo area.  Ignore the last character in each key
-sequence listed.  Each of the resulting key sequences (e.g. @key{F1} is
+sequence listed.  Each of the resulting key sequences (e.g., @key{F1} is
 common) invokes help.
 
 Emacs help works best if it is invoked by a single key whose value
@@ -637,7 +611,7 @@ matches a regular expression or a string, using @kbd{M-x
 apropos-documentation}.
 
 @item
-You can order a hardcopy of the manual from the FSF.  @xref{Getting a
+You can order a hardcopy of the manual from the FSF@.  @xref{Getting a
 printed manual}.
 
 @cindex Reference cards, in other languages
@@ -651,7 +625,7 @@ translations of the reference card into several languages; look for
 files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang}
 is a two-letter code of the language.  For example, the German version
 of the reference card is in the files @file{etc/refcards/de-refcard.tex}
-and @file{etc/recards/de-refcard.pdf}.
+and @file{etc/refcards/de-refcard.pdf}.
 
 @item
 There are many other commands in Emacs for getting help and
@@ -666,7 +640,7 @@ information.  To get a list of these commands, type @samp{?} after
 @cindex Manual, obtaining a printed or HTML copy of
 @cindex Emacs manual, obtaining a printed or HTML copy of
 
-You can order a printed copy of the Emacs manual from the FSF.  For
+You can order a printed copy of the Emacs manual from the FSF@.  For
 details see the @uref{http://shop.fsf.org/, FSF on-line store}.
 
 The full Texinfo source for the manual also comes in the @file{doc/emacs}
@@ -966,6 +940,7 @@ status of its latest version.
 @menu
 * Origin of the term Emacs::
 * Latest version of Emacs::
+* New in Emacs 24::
 * New in Emacs 23::
 * New in Emacs 22::
 * New in Emacs 21::
@@ -979,7 +954,7 @@ status of its latest version.
 @cindex TECO
 @cindex Original version of Emacs
 
-Emacs originally was an acronym for Editor MACroS.  RMS says he ``picked
+Emacs originally was an acronym for Editor MACroS@.  RMS says he ``picked
 the name Emacs because @key{E} was not in use as an abbreviation on ITS at
 the time.''  The first Emacs was a set of macros written in 1976 at MIT
 by RMS for the editor TECO (Text Editor and COrrector, originally Tape
@@ -1010,9 +985,9 @@ conventions}).
 @cindex Bazaar repository, Emacs
 
 Emacs @value{EMACSVER} is the current version as of this writing.  A version
-number with two components (e.g. @samp{22.1}) indicates a released
+number with two components (e.g., @samp{22.1}) indicates a released
 version; three components indicate a development
-version (e.g. @samp{23.0.50} is what will eventually become @samp{23.1}).
+version (e.g., @samp{23.0.50} is what will eventually become @samp{23.1}).
 
 Emacs is under active development, hosted at
 @uref{http://savannah.gnu.org/projects/emacs/, Savannah}.  The source
@@ -1033,12 +1008,84 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}).  As of Emacs 22,
 you can give this command a prefix argument to read about which features
 were new in older versions.
 
+@node New in Emacs 24
+@section What is different about Emacs 24?
+@cindex Differences between Emacs 23 and Emacs 24
+@cindex Emacs 24, new features in
+
+@itemize
+@cindex packages, installing more
+@item
+Emacs now includes a package manager.  Type @kbd{M-x list-packages} to
+get started.  You can use this to download and automatically install
+many more Lisp packages.
+
+@cindex lexical binding
+@item
+Emacs Lisp now supports lexical binding on a per-file basis.  In
+@emph{lexical binding}, variable references must be located textually
+within the binding construct.  This contrasts with @emph{dynamic
+binding}, where programs can refer to variables defined outside their
+local textual scope.  A Lisp file can use a local variable setting of
+@code{lexical-binding: t} to indicate that the contents should be
+interpreted using lexical binding.  See the Emacs Lisp Reference
+Manual for more details.
+
+@cindex bidirectional display
+@cindex right-to-left languages
+@item
+Some human languages, such as English, are written from left to right.
+Others, such as Arabic, are written from right to left.  Emacs now has
+support for any mixture of these forms---this is ``bidirectional text''.
+
+@item
+Handling of text selections has been improved, and now integrates
+better with external clipboards.
+
+@cindex themes
+@item
+A new command @kbd{customize-themes} allows you to easily change the
+appearance of your Emacs.
+
+@item
+Emacs can be compiled with the GTK+ 3 toolkit.
+
+@item
+Support for several new external libraries can be included at compile
+time:
+
+@itemize
+
+@item
+``Security-Enhanced Linux'' (SELinux) is a Linux kernel feature that
+provides more sophisticated file access controls than ordinary
+``Unix-style'' file permissions.
+
+@item
+The ImageMagick display library.  This allows you to display many more
+image format in Emacs, as well as carry out transformations such as
+rotations.
+
+@item
+The GnuTLS library for secure network communications.  Emacs uses this
+transparently for email if your mail server supports it.
+
+@item
+The libxml2 library for parsing XML structures.
+@end itemize
+
+@item
+Much more flexibility in the handling of windows and buffer display.
+
+@end itemize
+
+As always, consult the @file{NEWS} file for more information.
+
+
 @node New in Emacs 23
 @section What is different about Emacs 23?
 @cindex Differences between Emacs 22 and Emacs 23
 @cindex Emacs 23, new features in
-@cindex Recently introduced features
-@cindex Default features
 
 @itemize
 
@@ -1066,11 +1113,11 @@ Emacs now supports using both X displays and ttys in the same session
 @item
 Emacs can be started as a daemon in the background.
 
-@cindex NeXTSTEP port
+@cindex NeXTstep port
 @cindex GNUstep port
 @cindex Mac OS X Cocoa
 @item
-There is a new NeXTSTEP port of Emacs.  This supports GNUstep and Mac OS
+There is a new NeXTstep port of Emacs.  This supports GNUstep and Mac OS
 X (via the Cocoa libraries).  The Carbon port of Emacs, which supported
 Mac OS X in Emacs 22, has been removed.
 
@@ -1089,8 +1136,7 @@ Other changes include: support for serial port access; D-Bus bindings; a
 new Visual Line mode for line-motion; improved completion; a new mode
 (@samp{DocView}) for viewing of PDF, PostScript, and DVI documents; nXML
 mode (for editing XML documents) is included; VC has been updated for
-newer version control systems; etc.  As always, consult the @file{NEWS}
-file for more information.
+newer version control systems; etc.
 
 
 @node New in Emacs 22
@@ -1291,7 +1337,7 @@ of files from Macintosh, Microsoft, and Unix platforms.
 @cindex Init file, setting up
 @cindex Customization file, setting up
 
-@inforef{Init File, Init File, emacs}.
+@xref{Init File,,, emacs, The GNU Emacs Manual}.
 
 In general, new Emacs users should not be provided with @file{.emacs}
 files, because this can cause confusing non-standard behavior.  Then
@@ -1306,8 +1352,8 @@ rather than Lisp code.
 While Customize might indeed make it easier to configure Emacs,
 consider taking a bit of time to learn Emacs Lisp and modifying your
 @file{.emacs} directly.  Simple configuration options are described
-rather completely in @inforef{Init File, Init File, emacs}, for users
-interested in performing frequently requested, basic tasks.
+rather completely in @ref{Init File,,, emacs, The GNU Emacs Manual},
+for users interested in performing frequently requested, basic tasks.
 
 Sometimes users are unsure as to where their @file{.emacs} file should
 be found.  Visiting the file as @file{~/.emacs} from Emacs will find
@@ -1323,9 +1369,9 @@ 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}.
+@xref{Easy Customization,,, emacs, The GNU Emacs Manual}.
 
-If you know the name of the group in advance (e.g. ``shell''), use
+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
@@ -1339,7 +1385,7 @@ customize, with completion.
 @cindex Console, colors
 
 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
+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
 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
@@ -1494,7 +1540,7 @@ with @samp{#!}):
 
 @cindex Major mode for shell scripts
 The variable @code{interpreter-mode-alist} specifies which mode to use
-when loading an interpreted script (e.g. shell, python, etc.).  Emacs
+when loading an interpreted script (e.g., shell, python, etc.).  Emacs
 determines which interpreter you're using by examining the first line of
 the script.  Use @kbd{C-h v} (or @kbd{M-x describe-variable}) on
 @code{interpreter-mode-alist} to learn more.
@@ -1628,16 +1674,16 @@ M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @k
 @cindex Searching for newlines
 @cindex Replacing newlines
 
-Use @kbd{C-q C-j}.  For more information, see @inforef{Special Isearch,
-Special Input for Incremental Search, emacs}.
-
+Use @kbd{C-q C-j}.  For more information,
+@pxref{Special Isearch,, Special Input for Incremental Search, emacs,
+The GNU Emacs Manual}.
 
 @node Yanking text in isearch
 @section How do I copy text from the kill ring into the search string?
 @cindex Yanking text into the search string
 @cindex isearch yanking
 
-Use @kbd{M-y}.  @inforef{Isearch Yank, Isearch Yanking, emacs}.
+Use @kbd{M-y}.  @xref{Isearch Yank,,, emacs, The GNU Emacs Manual}.
 
 @node Wrapping words automatically
 @section How do I make Emacs wrap words for me?
@@ -2086,7 +2132,7 @@ commands you've typed.
 
 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}.)
+type @kbd{C-x e}.  @xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}.
 
 If you're really desperate for the @code{.} command in @code{vi} that
 redoes the last insertion/deletion, use VIPER, a @code{vi} emulation
@@ -2098,7 +2144,7 @@ mode which comes with Emacs, and which appears to support it.
 @cindex X resources
 @cindex Setting X resources
 
-@inforef{X Resources, X Resources, emacs}.
+@xref{X Resources,,, emacs, The GNU Emacs Manual}.
 
 You can also use a resource editor, such as editres (for X11R5 and
 onwards), to look at the resource names for the menu bar, assuming Emacs
@@ -2209,7 +2255,7 @@ See also the variable @code{track-eol} and the command
 @cindex Suspending Emacs
 
 @kbd{C-z} iconifies Emacs when running under X and suspends Emacs
-otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
+otherwise.  @xref{Frame Commands,,, emacs, The GNU Emacs Manual}.
 
 @node Using regular expressions
 @section How do I use regexps (regular expressions) in Emacs?
@@ -2219,7 +2265,7 @@ otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
 @cindex Unix regexps, differences from Emacs
 @cindex Text strings, putting regexps in
 
-@inforef{Regexp Backslash, Regexp Backslash, emacs}.
+@xref{Regexp Backslash,,, emacs, The GNU Emacs Manual}.
 
 The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators
 are @samp{\(} and @samp{\)}.  Also, the string syntax for a backslash is
@@ -2276,7 +2322,7 @@ To accept all replacements in each file, hit @kbd{!}.
 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}.
+@xref{Tags Search,,, emacs, The GNU Emacs Manual}.
 
 @node Documentation for etags
 @section Where is the documentation for @code{etags}?
@@ -2319,8 +2365,8 @@ the Unix shell, try GNU @code{ls} with the @samp{-B} option.  GNU
 @code{ls} is part of the GNU Fileutils package, available from
 @samp{ftp.gnu.org} and its mirrors (@pxref{Current GNU distributions}).
 
-To disable or change the way backups are made, @inforef{Backup Names, ,
-emacs}.
+To disable or change the way backups are made,
+@pxref{Backup Names,,, emacs, The GNU Emacs Manual}.
 
 @cindex Backup files in a single directory
 Beginning with Emacs 21.1, you can control where Emacs puts backup files
@@ -2350,8 +2396,8 @@ package (@pxref{Packages that do not come with Emacs}).  This
 package also allows you to place all auto-save files in one directory,
 such as @file{/tmp}.
 
-To disable or change how @code{auto-save-mode} works, @inforef{Auto
-Save, , emacs}.
+To disable or change how @code{auto-save-mode} works,
+@pxref{Auto Save,,, emacs, The GNU Emacs Manual}.
 
 @node Going to a line by number
 @section How can I go to a certain line given its number?
@@ -2574,7 +2620,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{Auto Scrolling, Auto Scrolling, emacs}.
+means, @pxref{Auto Scrolling,,, emacs, The GNU Emacs Manual}.
 
 Alternatively, use the following Lisp form in your @file{.emacs}:
 
@@ -2645,8 +2691,8 @@ put the following in your @file{.emacs} file:
 
 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}).
+@samp{Emacs.Geometry} entry to the Windows registry settings.
+@xref{X Resources,,, emacs, The GNU Emacs Manual}.
 
 To compute the correct values for width and height, first maximize the
 Emacs frame and then evaluate @code{(frame-height)} and
@@ -2692,7 +2738,7 @@ type @kbd{C-h C-p} to read it.
 
 Old versions (i.e., anything before 19.29) of Emacs had problems editing
 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.
+buffer size is at least 2^27@minus{}1, or 134,217,727 bytes, or 132 MBytes.
 The maximum buffer size on 32-bit machines increased to 256 MBytes in
 Emacs 22, and again to 512 MBytes in Emacs 23.2.
 
@@ -3011,7 +3057,7 @@ 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}.
+@xref{File Variables,,, emacs, The GNU Emacs Manual}.
 
 @item
 Synthetic X events.  (Yes, a risk; use @samp{MIT-MAGIC-COOKIE-1} or
@@ -3126,7 +3172,7 @@ the main GNU distribution site, sources are available as
 @c Don't include VER in the file name, because pretests are not there.
 @uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-VERSION.tar.gz}
 
-(Replace @samp{VERSION} with the relevant version number, e.g. @samp{23.1}.)
+(Replace @samp{VERSION} with the relevant version number, e.g., @samp{23.1}.)
 
 @item
 Next uncompress and extract the source files.  This requires
@@ -3194,6 +3240,7 @@ problem (@pxref{Reporting bugs}).
 * Finding Emacs on the Internet::
 * Finding a package with particular functionality::
 * Packages that do not come with Emacs::
+* Spell-checkers::
 * Current GNU distributions::
 * Difference between Emacs and XEmacs::
 * Emacs for minimalists::
@@ -3249,6 +3296,14 @@ see @ref{Packages that do not come with Emacs}.
 @cindex Emacs Lisp List
 @cindex Emacs Lisp Archive
 
+Your first port of call should be the @kbd{M-x list-packages} command.
+This connects to the @uref{http:///elpa.gnu.org, GNU ELPA} (``Emacs
+Lisp Package Archive'') server and fetches the list of additional
+packages that it offers.  These are GNU packages that are available
+for use with Emacs, but are distributed separately.  Select a package
+to get more details about the features that it offers, and then if you
+wish, Emacs can download and automatically install it for you.
+
 @uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs Lisp
 List (ELL)}, maintained by @email{S.J.Eglen@@damtp.cam.ac.uk, Stephen Eglen},
 aims to provide one compact list with links to all of the current Emacs
@@ -3267,6 +3322,29 @@ Several packages are stored in
 Read the file @file{etc/MORE.STUFF} for more information about
 external packages.
 
+@node Spell-checkers
+@section Spell-checkers
+@cindex Spell-checker
+@cindex Checking spelling
+@cindex Ispell
+@cindex Aspell
+@cindex Hunspell
+
+Various spell-checkers are compatible with Emacs, including:
+
+@table @b
+
+@item GNU Aspell
+@uref{http://aspell.net/}
+
+@item Ispell
+@uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html}
+
+@item Hunspell
+@uref{http://hunspell.sourceforge.net/}
+
+@end table
+
 @node Current GNU distributions
 @section Where can I get other up-to-date GNU stuff?
 @cindex Current GNU distributions
@@ -3386,124 +3464,6 @@ See the file @file{nextstep/INSTALL} in the distribution.
 Beginning with version 22.1, Emacs supports Mac OS X natively.
 See the file @file{nextstep/INSTALL} in the distribution.
 
-@c ------------------------------------------------------------
-@node Major packages and programs
-@chapter Major packages and programs
-@cindex Major packages and programs
-
-@menu
-* VM::
-* AUCTeX::
-* BBDB::
-* Spell-checkers::
-* Emacs/W3::
-* EDB::
-* JDEE::
-@end menu
-
-@node VM
-@section VM (View Mail) --- another mail reader within Emacs, with MIME support
-@cindex VM
-@cindex Alternative mail software
-@cindex View Mail
-@cindex E-mail reader, VM
-
-@table @b
-
-@item Web site
-@uref{http://launchpad.net/vm}
-(was @uref{http://www.nongnu.org/viewmail/})
-
-@item Informational newsgroup
-@uref{news:gnu.emacs.vm.info}@*
-
-@item Bug reports newsgroup
-@uref{news:gnu.emacs.vm.bug}@*
-@end table
-
-VM was originally written by @uref{http://www.wonderworks.com/vm/,Kyle Jones}.
-@uref{ftp://ftp.wonderworks.com/pub/vm/,Older versions} of VM remain
-available.
-
-
-@node AUCTeX
-@section AUC@TeX{} --- enhanced @TeX{} modes with debugging facilities
-@cindex Mode for @TeX{}
-@cindex @TeX{} mode
-@cindex AUC@TeX{} mode for editing @TeX{}
-@cindex Writing and debugging @TeX{}
-
-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.  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.html,preview-latex}
-package for WYSIWYG previews of various LaTeX constructs in the Emacs
-source buffer.
-
-@uref{http://www.gnu.org/software/auctex/, AUCTeX}
-
-@node BBDB
-@section BBDB --- personal Info Rolodex integrated with mail/news readers
-@cindex BBDB
-@cindex Rolodex-like functionality
-@cindex Integrated contact database
-@cindex Contact database
-@cindex Big Brother Database
-@cindex Address book
-
-@uref{http://bbdb.sourceforge.net/, The Insidious Big Brother Database}
-
-@node Spell-checkers
-@section Spell-checkers
-@cindex Spell-checker
-@cindex Checking spelling
-@cindex Ispell
-@cindex Aspell
-@cindex Hunspell
-
-Various spell-checkers are compatible with Emacs, including:
-
-@table @b
-
-@item GNU Aspell
-@uref{http://aspell.net/}
-
-@item Ispell
-@uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html}
-
-@item Hunspell
-@uref{http://hunspell.sourceforge.net/}
-
-@end table
-
-@node Emacs/W3
-@section Emacs/W3 --- A World Wide Web browser inside of Emacs
-@cindex WWW browser
-@cindex Web browser
-@cindex HTML browser in Emacs
-@cindex @code{w3-mode}
-
-@uref{http://www.gnu.org/software/w3/, Emacs/W3}
-
-@node EDB
-@section EDB --- Database program for Emacs; replaces forms editing modes
-@cindex EDB
-@cindex Database
-@cindex Forms mode
-
-@uref{http://gnuvola.org/software/edb/, The Emacs Database}
-
-@node JDEE
-@section JDEE --- Integrated development environment for Java
-@cindex Java development environment
-@cindex Integrated Java development environment
-@cindex JDEE
-
-@uref{http://jdee.sourceforge.net/, A Java Development Environment for Emacs}
-
 @c ------------------------------------------------------------
 @node Key bindings
 @chapter Key bindings
@@ -3540,7 +3500,7 @@ Keys can be bound to commands either interactively or in your
 To bind a key just in the current major mode, type @kbd{M-x
 local-set-key @key{RET} @var{key} @var{cmd} @key{RET}}.
 
-@inforef{Key Bindings, Key Bindings, emacs}, for further details.
+@xref{Key Bindings,,, emacs, The GNU Emacs Manual}.
 
 To make the process of binding keys interactively easier, use the
 following ``trick'': First bind the key interactively, then immediately
@@ -3601,7 +3561,7 @@ can be bound to a key and thus treated as a macro.  For example:
 @cindex Misspecified key sequences
 
 Usually, one of two things has happened.  In one case, the control
-character in the key sequence has been misspecified (e.g. @samp{C-f}
+character in the key sequence has been misspecified (e.g., @samp{C-f}
 used instead of @samp{\C-f} within a Lisp expression).  In the other
 case, a @dfn{prefix key} in the keystroke sequence you were trying to bind
 was already bound as a @dfn{complete key}.  Historically, the @samp{ESC [}
@@ -3805,8 +3765,8 @@ 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}.
+@code{keyboard-translate}.
+@xref{DEL Does Not Delete,,, emacs, The GNU Emacs Manual}.
 
 Keyboard translations are not the same as key bindings in keymaps.
 Emacs contains numerous keymaps that apply in different situations, but
@@ -3896,9 +3856,9 @@ command.
 @cindex Function keys and modifiers
 @cindex Binding modifiers and function keys
 
-With Emacs 19 and later, you can represent modified function keys in
-vector format by adding prefixes to the function key symbol.  For
-example (from the Emacs documentation):
+You can represent modified function keys in vector format by adding
+prefixes to the function key symbol.  For example (from the Emacs
+documentation):
 
 @lisp
 (global-set-key [?\C-x right] 'forward-page)
@@ -3922,7 +3882,7 @@ is how to make @kbd{H-M-RIGHT} move forward a word:
 @item
 Not all modifiers are permitted in all situations.  @key{Hyper},
 @key{Super}, and @key{Alt} are not available on Unix character
-terminals.  Non-@acronym{ASCII} keys and mouse events (e.g. @kbd{C-=} and
+terminals.  Non-@acronym{ASCII} keys and mouse events (e.g., @kbd{C-=} and
 @kbd{Mouse-1}) also fall under this category.
 
 @end itemize
@@ -3934,7 +3894,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{Unibyte Mode, Single-Byte Character Set Support, emacs}.
+@xref{Unibyte Mode,, Single-Byte Character Set Support, emacs, The GNU Emacs Manual}.
 
 If the advice in the Emacs manual fails, try all of these methods before
 asking for further help:
@@ -4058,8 +4018,8 @@ You can get the old behavior by binding @kbd{SPC} to
 @cindex Displaying eight-bit characters
 @cindex Eight-bit characters, displaying
 
-@inforef{Unibyte Mode, Single-byte Character Set
-Support, emacs}.  On a Unix, when Emacs runs on a text-only terminal
+@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU
+Emacs Manual}.  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
 display, even after setting the language environment; otherwise
@@ -4074,23 +4034,23 @@ terminal coding system automatically.
 @cindex Eight-bit characters, entering
 @cindex Input, 8-bit characters
 
-Various methods are available for input of eight-bit characters.  See
-@inforef{Unibyte Mode, Single-byte Character Set
-Support, emacs}.  For more sophisticated methods, @inforef{Input
-Methods, Input Methods, emacs}.
+Various methods are available for input of eight-bit characters.
+@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU
+Emacs Manual}.  For more sophisticated methods,
+@pxref{Input Methods,,, emacs, The GNU Emacs Manual}.
 
 @node Right-to-left alphabets
 @section Where is an Emacs that can handle Semitic (right-to-left) alphabets?
 @cindex Right-to-left alphabets
 @cindex Hebrew, handling with Emacs
 @cindex Semitic alphabets
-@cindex Arabic alphabets
-@cindex Bidirectional text
+@cindex Arabic
+@cindex Farsi
+@cindex bidirectional scripts
 
-Emacs supports Hebrew characters (ISO 8859-8) since version 20, but does
-not yet support right-to-left character entry and display.  The
-@uref{http://lists.gnu.org/mailman/listinfo/emacs-bidi, emacs-bidi
-mailing list} discusses development of support for this feature.
+Emacs supports display and editing of bidirectional scripts, such as
+Arabic, Farsi, and Hebrew, since version 24.1.
+@xref{New in Emacs 24, bidirectional display}.
 
 
 @node How to add fonts
@@ -4172,7 +4132,7 @@ set up @code{w32-bdf-filename-alist}:
 
 Now, create fontsets for the BDF fonts:
 
-@lisp
+@smallexample
   (create-fontset-from-fontset-spec
    "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
    japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
@@ -4184,7 +4144,7 @@ Now, create fontsets for the BDF fonts:
    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
+@end smallexample
 
 Many of the international bdf fonts from Intlfonts are type 0, and
 therefore need to be added to font-encoding-alist:
@@ -4315,7 +4275,7 @@ type them in.  To enable this feature, execute the following:
 @end lisp
 
 Note that the aliases are expanded automatically only after you type
-a word-separator character (e.g. @key{RET} or @kbd{,}).  You can force their
+a word-separator character (e.g., @key{RET} or @kbd{,}).  You can force their
 expansion by moving point to the end of the alias and typing @kbd{C-x a e}
 (@kbd{M-x expand-abbrev}).
 @end itemize
@@ -4416,7 +4376,7 @@ you to start Emacs quickly when you needed to.
 
 Use @kbd{M-x gnus}.  For more information on Gnus, @pxref{Top,, the Gnus
 Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked
-Questions,, the Gnus FAQ, gnus}.
+Questions,, the Gnus FAQ, gnus, The Gnus Manual}.
 
 
 @node Gnus does not work with NNTP