@c appreciate a notice if you do).
@copying
-Copyright @copyright{} 2001-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@*
@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
@node Top, FAQ notation, (dir), (dir)
@top The GNU Emacs FAQ
-@c FIXME @today is just the day we ran `makeinfo'.
-This is the GNU Emacs FAQ, last updated on @today{}.
+This is the GNU Emacs FAQ.
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
@ifnottex
@insertcopying
-@end ifnottex
+@end ifnottex
@menu
* FAQ notation::
* Bugs and problems::
* Compiling and installing Emacs::
* Finding Emacs and related packages::
-* Major packages and programs::
* Key bindings::
* Alternate character sets::
* Mail and news::
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?
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
@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.
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.
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
+essential information and the correct e-mail address,
+@email{bug-gnu-emacs@@gnu.org}.
+Anything sent there 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.
RMS says:
@quotation
-Sending bug reports to @email{help-gnu-emacs@@gnu.org} (which has the
-effect of posting on @uref{news:gnu.emacs.help}) is undesirable because
-it takes the time of an unnecessarily large group of people, most of
-whom are just users and have no idea how to fix these problem.
-@email{bug-gnu-emacs@@gnu.org} reaches a much smaller group of people
-who are more likely to know what to do and have expressed a wish to
-receive more messages about Emacs than the others.
+Sending bug reports to
+@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs,
+the help-gnu-emacs mailing list}
+(which has the effect of posting on @uref{news:gnu.emacs.help}) is
+undesirable because it takes the time of an unnecessarily large group
+of people, most of whom are just users and have no idea how to fix
+these problem.
+@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, The
+bug-gnu-emacs list} reaches a much smaller group of people who are
+more likely to know what to do and have expressed a wish to receive
+more messages about Emacs than the others.
@end quotation
RMS says it is sometimes fine to post to @uref{news:gnu.emacs.help}:
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
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
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
@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}
@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::
@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
Editor and COrrector) under ITS (the Incompatible Timesharing System) on
a PDP-10. RMS had already extended TECO with a ``real-time''
full-screen mode with reprogrammable keys. Emacs was started by
-@email{gls@@east.sun.com, Guy Steele} as a project to unify the many
+@c gls@@east.sun.com
+Guy Steele as a project to unify the many
divergent TECO command sets and key bindings at MIT, and completed by
RMS.
@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
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
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
@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
-they send questions to @email{help-gnu-emacs@@gnu.org} asking why Emacs
+they send questions to
+@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs,
+the help-gnu-emacs mailing list} asking why Emacs
isn't behaving as documented.
Emacs includes the Customize facility (@pxref{Using Customize}). This
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
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
@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
@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.
@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?
@cindex @code{gnuserv}
There is an alternative version of @samp{emacsclient} called
-@samp{gnuserv}, written by @email{ange@@hplb.hpl.hp.com, Andy Norman}
+@c ange@@hplb.hpl.hp.com
+@samp{gnuserv}, written by Andy Norman
(@pxref{Packages that do not come with Emacs}). @samp{gnuserv} uses
Internet domain sockets, so it can work across most network connections.
where @var{syntactic-symbol} is the name Emacs shows in the minibuffer
when you type @kbd{C-c C-o} at the beginning of the line, and
@var{offset} is one of the indentation symbols listed above (@code{+},
-@code{/}, @code{0}, etc.) that you've chosen during the interactive
+@code{/}, @code{0}, etc.)@: that you've chosen during the interactive
procedure.
@item
@cindex Visible bell
@cindex Bell, visible
-@email{martin@@cc.gatech.edu, Martin R. Frank} writes:
+@c martin@@cc.gatech.edu
+Martin R. Frank writes:
Tell Emacs to use the @dfn{visible bell} instead of the audible bell,
and set the visible bell to nothing.
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
@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
@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?
@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
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}?
@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
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?
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}:
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
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.
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
@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
* 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::
@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},
+List (ELL)}, maintained by 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.damtp.cam.ac.uk/user/sje30/emacs/ell.el,
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
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
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
@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 [}
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
@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
@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:
@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
@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
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-*,
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:
@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
@cindex Sender, replying only to
@cindex Rmail, replying to the sender of a message in
-@email{isaacson@@seas.upenn.edu, Ron Isaacson} says: When you hit
+@c isaacson@@seas.upenn.edu
+Ron Isaacson says: When you hit
@key{r} to reply in Rmail, by default it CCs all of the original
recipients (everyone on the original @samp{To} and @samp{CC}
lists). With a prefix argument (i.e., typing @kbd{C-u} before @key{r}),
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