-\input texinfo @c -*-texinfo-*- -*- coding: latin-1 -*-
+\input texinfo @c -*- coding: latin-1; mode: texinfo; -*-
@c %**start of header
@setfilename ../info/efaq
@settitle GNU Emacs FAQ
@setchapternewpage odd
@c This is used in many places
-@set VER 21.1
-
-@c The @ifinfo stuff only appears in the Info version
-@ifinfo
-@dircategory Emacs
-@direntry
-* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs.
-@end direntry
+@set VER 21.3
+@copying
+Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner@*
Copyright 1992,1993 Steven Byrnes@*
Copyright 1990,1991,1992 Joseph Brian Wells@*
+@quotation
This list of frequently asked questions about GNU Emacs with answers
-("FAQ") may be translated into other languages, transformed into other
+(``FAQ'') may be translated into other languages, transformed into other
formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information.
The same conditions apply to any derivative of the FAQ as apply to the FAQ
[This version has been somewhat edited from the last-posted version
(as of August 1999) for inclusion in the Emacs distribution.]
+@end quotation
+@end copying
-@end ifinfo
+@dircategory Emacs
+@direntry
+* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs.
+@end direntry
@c The @titlepage stuff only appears in the printed version
@titlepage
@c The following two commands start the copyright page.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner@*
-Copyright @copyright{} 1992,1993 Steven Byrnes@*
-Copyright @copyright{} 1990,1991,1992 Joseph Brian Wells@*
-
-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.
-
-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
-translation, information on who is currently maintaining the FAQ and how to
-contact them (including their e-mail address), and information on where the
-latest version of the FAQ is archived (including FTP information).
-
-The FAQ may be copied and redistributed under these conditions, except that
-the FAQ may not be embedded in a larger literary work unless that work
-itself allows free copying and redistribution.
-
-[This version has been somewhat edited from the last-posted version
-(as of August 1999) for inclusion in the Emacs distribution.]
+@insertcopying
@end titlepage
@node Top, FAQ notation, (dir), (dir)
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. If you have any suggestions or questions, please contact
-@email{emacs-faq@@lerner.co.il, the FAQ maintainers}.
+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.
@menu
-* FAQ notation::
-* General questions::
-* Getting help::
-* Status of Emacs::
-* Common requests::
-* Bugs and problems::
-* Compiling and installing Emacs::
-* Finding Emacs and related packages::
-* Major packages and programs::
-* Key bindings::
-* Alternate character sets::
-* Mail and news::
-* Concept index::
+* FAQ notation::
+* General questions::
+* Getting help::
+* Status of Emacs::
+* Common requests::
+* Bugs and problems::
+* Compiling and installing Emacs::
+* Finding Emacs and related packages::
+* Major packages and programs::
+* Key bindings::
+* Alternate character sets::
+* Mail and news::
+* Concept index::
@end menu
@c ------------------------------------------------------------
used in the FAQ.
@menu
-* Basic keys::
-* Extended commands::
-* On-line manual::
-* File-name conventions::
-* Common acronyms::
+* Basic keys::
+* Extended commands::
+* On-line manual::
+* File-name conventions::
+* Common acronyms::
@end menu
@node Basic keys, Extended commands, FAQ notation, FAQ notation
-@section What do these mean: @kbd{C-h}, @kbd{M-C-a}, @key{RET}, @kbd{@key{ESC} a}, etc.?
+@section What do these mean: @kbd{C-h}, @kbd{C-M-a}, @key{RET}, @kbd{@key{ESC} a}, etc.?
@cindex Basic keys
@cindex Control key, notation for
@cindex @key{Meta} key, notation for
@cindex Control-Meta characters, notation for
@cindex @kbd{C-h}, definition of
-@cindex @kbd{M-C-h}, definition of
+@cindex @kbd{C-M-h}, definition of
@cindex @key{DEL}, definition of
@cindex @key{ESC}, definition of
@cindex @key{LFD}, definition of
Any real spaces in such a key sequence should be ignored; only @key{SPC}
really means press the space key.
-The ASCII code sent by @kbd{C-x} (except for @kbd{C-?}) is the value
+The @acronym{ASCII} code sent by @kbd{C-x} (except for @kbd{C-?}) is the value
that would be sent by pressing just @key{x} minus 96 (or 64 for
upper-case @key{X}) and will be from 0 to 31. On Unix and GNU/Linux
-terminals, the ASCII code sent by @kbd{M-x} is the sum of 128 and the
-ASCII code that would be sent by pressing just @key{x}. Essentially,
+terminals, the @acronym{ASCII} code sent by @kbd{M-x} is the sum of 128 and the
+@acronym{ASCII} code that would be sent by pressing just @key{x}. Essentially,
@key{Control} turns off bits 5 and 6 and @key{Meta} turns on bit
7@footnote{
DOS and Windows terminals don't set bit 7 when the @key{Meta} key is
pressed.}.
-@kbd{C-?} (aka @key{DEL}) is ASCII code 127. It is a misnomer to call
+@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.
-Also, on very few keyboards does @kbd{C-?} generate ASCII code 127.
+Also, on very few keyboards does @kbd{C-?} generate @acronym{ASCII} code 127.
-@inforef{Characters, Characters, emacs}, and @inforef{Keys, Keys, emacs},
-for more information. (@xref{On-line manual}, for more information about
-Info.)
+@inforef{Text Characters, Text Characters, emacs}, and @inforef{Keys,
+Keys, emacs}, for more information. (@xref{On-line manual}, for more
+information about Info.)
@node Extended commands, On-line manual, Basic keys, FAQ notation
@section What does @file{M-x @var{command}} mean?
Some of these files are available individually via FTP or e-mail; see
@ref{Informational files for Emacs}. They all are available in the
source distribution. Many of the files in the @file{etc} directory are
-also available via the Emacs "@samp{Help} menu, or by typing @kbd{C-h ?}
+also available via the Emacs @samp{Help} menu, or by typing @kbd{C-h ?}
(@kbd{M-x help-for-help}).
Your system administrator may have removed the @file{src} directory and
Free Software Foundation, and related organizations.
@menu
-* The LPF::
-* Real meaning of copyleft::
-* Guidelines for newsgroup postings::
-* Newsgroup archives::
-* Reporting bugs::
-* Unsubscribing from Emacs lists::
-* Contacting the FSF::
+* The LPF::
+* Real meaning of copyleft::
+* Guidelines for newsgroup postings::
+* Newsgroup archives::
+* Reporting bugs::
+* Unsubscribing from Emacs lists::
+* Contacting the FSF::
@end menu
@node The LPF, Real meaning of copyleft, General questions, General questions
@node Newsgroup archives, Reporting bugs, Guidelines for newsgroup postings, General questions
@section Where can I get old postings to @uref{news:gnu.emacs.help} and other GNU groups?
-@cindex Archived postings from @uref{news:gnu.emacs.help}
+@cindex Archived postings from @code{gnu.emacs.help}
@cindex Usenet archives for GNU groups
@cindex Old Usenet postings for GNU groups
The archive is at @uref{ftp://ftp-mailing-list-archives.gnu.org}.
-As of this writing, the archives are not yet working.
+The archive can be browsed over the web at
+@uref{http://mail.gnu.org/archive/html/, the GNU mail archive}.
Web-based Usenet search services, such as
-@uref{http://www.dejanews.com, DejaNews}, also archive the
+@uref{http://groups.google.com, Google}, also archive the
@code{gnu.*} groups.
@node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions
@item Postal address
Free Software Foundation@*
-59 Temple Place - Suite 330@*
-Boston, MA 02111-1307@*
+51 Franklin Street, Fifth Floor@*
+Boston, MA 02110-1301@*
USA@*
@end table
@cindex Ordering GNU software
For details on how to order items directly from the FSF, see the
-@uref{http://www.gnu.org/order/order.html, GNU Web site}, and also the
-files @file{etc/ORDERS}, @file{ORDERS.EUROPE}, and @file{ORDERS.JAPAN}.
+@uref{http://www.gnu.org/order/order.html, GNU Web site}.
@c ------------------------------------------------------------
@node Getting help, Status of Emacs, General questions, Top
This chapter tells you how to get help with Emacs
@menu
-* Basic editing::
-* Learning how to do something::
-* Getting a printed manual::
-* Emacs Lisp documentation::
-* Installing Texinfo documentation::
-* Printing a Texinfo file::
-* Viewing Info files outside of Emacs::
-* Informational files for Emacs::
-* Help installing Emacs::
-* Obtaining the FAQ::
+* Basic editing::
+* Learning how to do something::
+* Getting a printed manual::
+* Emacs Lisp documentation::
+* Installing Texinfo documentation::
+* Printing a Texinfo file::
+* Viewing Info files outside of Emacs::
+* Informational files for Emacs::
+* Help installing Emacs::
+* Obtaining the FAQ::
@end menu
@node Basic editing, Learning how to do something, Getting help, Getting help
@cindex Command description in the manual
@item
-The command @kbd{C-h C-f} (@code{Info-goto-emacs-command-node}) prompts
+The command @kbd{C-h F} (@code{Info-goto-emacs-command-node}) prompts
for the name of a command, and then attempts to find the section in the
Emacs manual where that command is described.
@node Getting a printed manual, Emacs Lisp documentation, Learning how to do something, Getting help
@section How do I get a printed copy of the Emacs manual?
@cindex Printed Emacs manual, obtaining
-@cindex Manual, obtaining a printed copy of
-@cindex Emacs manual, obtaining a printed copy of
+@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
-details see the @uref{http://www.gnu.org/order/order.html, GNU Web site}
-and the file @file{etc/ORDERS}.
+details see the @uref{http://www.gnu.org/order/order.html, GNU Web site}.
@c The number 620 below is version-dependent!
The full Texinfo source for the manual also comes in the @file{man}
@uref{http://www.gnu.org/manual/emacs/ps/emacs.ps.gz}
+@cindex HTML version of Emacs manual, obtaining
An HTML version of the manual is at
@uref{www.gnu.org/manual/emacs/index.html}
For more information, obtain the Emacs Lisp Reference Manual. Details
on ordering it from FSF are on the
-@uref{http://www.gnu.org/order/order.html, GNU Web site} and in the file
-@file{etc/ORDERS}.
+@uref{http://www.gnu.org/order/order.html, GNU Web site}.
The Emacs Lisp Reference Manual is also available on-line, in Info
format. Texinfo source for the manual (along with pregenerated Info
* Topic: (relative-pathname). Short description of topic.
@end example
-@end enumerate
+@end enumerate
If you want to install Info files and you don't have the necessary
privileges, you have several options:
example, to view a Info file named @file{@var{info-file}} in your home
directory, you can type this:
-@lisp
-C-h i g (~/@var{info-file}) @key{RET}
-@end lisp
+@example
+@kbd{C-h i g (~/@var{info-file}) @key{RET}}
+@end example
@item
You can create your own Info directory. You can tell Emacs where that
Emacs General Public License
@item DISTRIB
-Emacs Availability Information, including the popular "Free Software
-Foundation Order Form"
+Emacs Availability Information, including the popular Free Software
+Foundation Order Form
@item FTP
How to get GNU Software by Internet FTP or by UUCP
GNU Service Directory
@item SUN-SUPPORT
-including "Using Emacstool with GNU Emacs"
+including ``Using Emacstool with GNU Emacs''
@end table
@item
Inside of Emacs itself. You can get it from selecting the @samp{Emacs
FAQ} option from the @samp{Help} menu of the Emacs menu bar at the top
-of any Emacs frame, or by typing @kbd{C-h F} (@kbd{M-x view-emacs-FAQ}).
+of any Emacs frame, or by typing @kbd{C-h C-f} (@kbd{M-x view-emacs-FAQ}).
@item
Via USENET. If you can read news, the FAQ should be available in your
administrator, because the most recent FAQ should not expire for a
while.
-@item
-Via HTTP or FTP. You can always fetch the latest FAQ from
-
-@uref{http://www.lerner.co.il/emacs/} and
-
-@uref{ftp://ftp.lerner.co.il/pub/emacs/}
-
@item
In the Emacs distribution. Since Emacs 18.56, the FAQ at the time
-of release has been part of the Emacs distribution as
-@file{man/faq.texi} (@pxref{File-name conventions}).
-
-@item
-Via the World Wide Web. A hypertext version is available at
-
-@uref{http://www.lerner.co.il/emacs/}
+of release has been part of the Emacs distribution as either
+@file{etc/FAQ} or @file{man/faq.texi} (@pxref{File-name conventions}).
@item
Via anonymous ftp and e-mail from @file{rtfm.mit.edu} (and its mirror in
@end example
For more information, send email to @email{mail-server@@rtfm.mit.edu}
-with "help" and "index" in the body on separate lines.
-
-@item
-As the very last resort, you can e-mail a request to
-@email{emacs-faq@@lerner.co.il}. Don't do this unless you have made a
-good-faith effort to obtain the FAQ list via one of the methods listed
-above.
-
+with @samp{help} and @samp{index} in the body on separate lines.
@end itemize
@c ------------------------------------------------------------
latest version status.
@menu
-* Origin of the term Emacs::
-* Latest version of Emacs::
-* New in Emacs 20::
-* New in Emacs 21::
+* Origin of the term Emacs::
+* Latest version of Emacs::
+* New in Emacs 20::
+* New in Emacs 21::
@end menu
@node Origin of the term Emacs, Latest version of Emacs, Status of Emacs, Status of Emacs
@cindex Differences between Emacs 19 and Emacs 20
@cindex Emacs 20, new features in
-To find out what has changed in recent versions, type @kbd{C-h n}
+To find out what has changed in recent versions, type @kbd{C-h C-n}
(@kbd{M-x view-emacs-news}). The oldest changes are at the bottom of
the file, so you might want to read it starting there, rather than at
the top.
@cindex Toolbar support
Emacs 21 features a thorough rewrite of the display engine. The new
display engine supports variable-size fonts, images, and can play sounds
-on platforms which support that. As a result, the visual appearence of
+on platforms which support that. As a result, the visual appearance of
Emacs, when it runs on a windowed display, is much more reminiscent of
modern GUI programs, and includes 3D widgets (used for the mode line and
the scroll bars), a configurable and extensible toolbar, tooltips
@cindex Common requests
@menu
-* Setting up a customization file::
-* Debugging a customization file::
-* Colors on a TTY::
-* 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::
-* Controlling case sensitivity::
-* Wrapping words automatically::
-* Spell-checkers::
-* Checking TeX and *roff documents::
-* Changing load-path::
-* Using an already running Emacs process::
-* Compiler error messages::
-* Indenting switch statements::
-* Customizing C and C++ indentation::
-* Horizontal scrolling::
-* Overwrite mode::
-* Turning off beeping::
-* Turning the volume down::
-* Automatic indentation::
-* Matching parentheses::
-* Hiding #ifdef lines::
-* Repeating commands::
-* Valid X resources::
-* Evaluating Emacs Lisp code::
-* Changing the length of a Tab::
-* Inserting > 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::
-* Replacing text across multiple files::
-* Documentation for etags::
-* Disabling backups::
-* Disabling auto-save-mode::
-* Going to a line by number::
-* Modifying pull-down menus::
-* 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::
+* Setting up a customization file::
+* Debugging a customization file::
+* Colors on a TTY::
+* 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::
+* Controlling case sensitivity::
+* Wrapping words automatically::
+* Spell-checkers::
+* Checking TeX and *roff documents::
+* Changing load-path::
+* Using an already running Emacs process::
+* Compiler error messages::
+* Indenting switch statements::
+* Customizing C and C++ indentation::
+* Horizontal scrolling::
+* Overwrite mode::
+* Turning off beeping::
+* Turning the volume down::
+* Automatic indentation::
+* Matching parentheses::
+* Hiding #ifdef lines::
+* Repeating commands::
+* Valid X resources::
+* Evaluating Emacs Lisp code::
+* Changing the length of a Tab::
+* Inserting > 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::
+* Replacing text across multiple files::
+* Documentation for etags::
+* Disabling backups::
+* Disabling auto-save-mode::
+* Going to a line by number::
+* Modifying pull-down menus::
+* Deleting menus and menu options::
+* Turning on syntax highlighting::
+* Scrolling only one line::
+* Replacing highlighted text::
+* Editing MS-DOS files::
+* Filling paragraphs with a single space::
+* Escape sequences in shell output::
@end menu
@node Setting up a customization file, Colors on a TTY, Common requests, Common requests
@section How do I set up a @file{.emacs} file properly?
@cindex @file{.emacs} file, setting up
+@cindex @file{.emacs} file, locating
@cindex Init file, setting up
@cindex Customization file, setting up
-@inforef{Init File, Init File, emacs}
+@inforef{Init File, Init File, emacs}.
In general, new Emacs users should not have @file{.emacs} files, because
it causes confusing non-standard behavior. Then they send questions to
rather completely in @inforef{Init File, Init File, emacs}, 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
+the correct file.
+
@node Colors on a TTY, Debugging a customization file, Setting up a customization file, Common requests
@section How do I get colors and syntax highlighting on a TTY?
@cindex Colors on a TTY
@cindex Syntax highlighting on a TTY
@cindex Console, colors
-As of Emacs 21.1, colors and faces are supported in non-windowed mode,
+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
supported in the MS-DOS port since Emacs 19.29.) Emacs automatically
@kbd{M-x column-number-mode}, or by putting the form
@lisp
-(setq column-number-mode t)
+(setq column-number-mode t)
@end lisp
@noindent
@cindex Set number capability in @code{vi} emulators
None of the @code{vi} emulation modes provide the ``set number''
-capability of @code{vi} (as far as we know).
+capability of @code{vi} (as far as we know). The @samp{setnu} package
+written by @email{kyle@@wonderworks.com, Kyle Jones} provides this
+feature. So too does @samp{wb-line-number}, written by
+@email{naoki.y.nakamura@@nifty.com, Naoki Nakamura}.
@node Displaying the current file name in the titlebar, Turning on abbrevs by default, Displaying the current line or column, Common requests
@section How can I modify the titlebar to contain the current file name?
By default, the titlebar for a frame does contain the name of the buffer
currently being visited, except if there is a single frame. In such a
-case, the titlebar contains the name of the user and the machine at
-which Emacs was invoked. This is done by setting
+case, the titlebar contains Emacs invocation name and the name of the
+machine at which Emacs was invoked. This is done by setting
@code{frame-title-format} to the default value of
@lisp
Using @code{isearch-forward-regexp}:
-@kbd{M-C-s [^ @key{TAB} @key{RET} C-q @key{RET} C-q C-l @key{SPC} -~]}
+@kbd{C-M-s [^ @key{TAB} @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~]}
To delete all unprintable characters, simply use replace-regexp:
@cindex @code{transient-mark-mode}
@cindex Region, highlighting a
-If you are using a windowing system such as X, you can cause the region
-to be highlighted when the mark is active by including
+You can cause the region to be highlighted when the mark is active by
+including
@lisp
(transient-mark-mode t)
@end lisp
+@noindent
in your @file{.emacs} file. (Also see @ref{Turning on syntax
highlighting}.)
To do this relative to your home directory:
@lisp
-(setq load-path (cons "~/mysubdir/" load-path)
+(setq load-path (cons "~/mysubdir/" load-path))
@end lisp
@node Using an already running Emacs process, Compiler error messages, Changing load-path, Common requests
(if (@var{some conditions are met}) (server-start))
@end lisp
-When this is done, Emacs starts a subprocess running a program called
-@samp{server}. @samp{server} creates a Unix domain socket. The socket
-is either named @file{.emacs_server}, in the user's home directory,
-or @file{esrv-@var{user-id}-@var{system-name}}, in the @file{/tmp}
-directory, depending on how @samp{emacsserver} was compiled.
+When this is done, Emacs creates a Unix domain socket.
+The socket is either named @file{.emacs_server}, in the user's home directory,
+or @file{esrv-@var{userid}-@var{systemname}}, in the @file{/tmp}
+directory, depending on your system. See @code{server-socket-name}.
To get your news reader, mail reader, etc., to invoke
@samp{emacsclient}, try setting the environment variable @code{EDITOR}
setenv EDITOR emacsclient
# using full pathname
-setenv EDITOR /usr/local/emacs/etc/emacsclient
+setenv EDITOR /usr/local/emacs/etc/emacsclient
# sh command:
EDITOR=emacsclient ; export EDITOR
@samp{emacsclient} specifies should be correct for the filesystem that
the Emacs process sees. The Emacs process should not be suspended at
the time @samp{emacsclient} is invoked. On Unix and GNU/Linux systems,
-@samp{emacsclient} should either be invoked from another X window or
-from a shell window inside Emacs itself.
+@samp{emacsclient} should either be invoked from another X window, or
+from a shell window inside Emacs itself, or from another interactive
+session, e.g., by means of a @code{screen} program.
@cindex @code{gnuserv}
There is an enhanced version of @samp{emacsclient}/server called
@samp{gnuserv}, written by @email{ange@@hplb.hpl.hp.com, Andy Norman}
-which is available in the Emacs Lisp Archive (@pxref{Packages that do
-not come with Emacs}). @samp{gnuserv} uses Internet domain sockets, so
-it can work across most network connections. It also supports the
-execution of arbitrary Emacs Lisp forms and does not require the client
-program to wait for completion.
+(@pxref{Packages that do not come with Emacs}). @samp{gnuserv} uses
+Internet domain sockets, so it can work across most network connections.
+It also supports the execution of arbitrary Emacs Lisp forms and does
+not require the client program to wait for completion.
The alpha version of an enhanced @samp{gnuserv} is available at
@uref{ftp://ftp.wellfleet.com/netman/psmith/emacs/gnuserv-2.1alpha.tar.gz}
+The version available from @uref{http://meltin.net/hacks/emacs/} is
+more recent, and has been tested with Emacs 21.2.
+
@end itemize
@node Compiler error messages, Indenting switch statements, Using an already running Emacs process, Common requests
the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}:
Automatically scroll horizontally when the point moves off the
-left or right edge of the window.
+left or right edge of the window.
@itemize @minus
@item
@item
@code{hscroll-margin} controls how close the cursor can get to the
-edge of the window.
+edge of the window.
@item
@code{hscroll-step-percent} controls how far to jump once we decide to do so.
@end itemize
@node Overwrite mode, Turning off beeping, Horizontal scrolling, Common requests
-@section How do I make Emacs "typeover" or "overwrite" instead of inserting?
+@section How do I make Emacs ``typeover'' or ``overwrite'' instead of inserting?
@cindex @key{Insert}
@cindex @code{overwrite-mode}
@cindex Overwriting existing text
(assuming you have one):
@example
-... :vb=: ...
+... :vb=: ...
@end example
And evaluate the following Lisp form:
If you have paragraphs with different levels of indentation, you will
have to set the fill prefix to the correct value each time you move to a
-new paragraph. To avoid this hassle, try one of the many packages
-available from the Emacs Lisp Archive (@pxref{Packages that do not come
-with Emacs}.) Look up ``fill'' and ``indent'' in the Lisp Code
-Directory for guidance.
+new paragraph. There are many packages available to deal with this
+(@pxref{Packages that do not come with Emacs}). Look for ``fill'' and
+``indent'' keywords for guidance.
@node Matching parentheses, Hiding #ifdef lines, Automatic indentation, Common requests
@section How do I show which parenthesis matches the one I'm looking at?
the matching parenthesis.
@item
-@kbd{M-C-f} (@code{forward-sexp}) and @kbd{M-C-b} (@code{backward-sexp})
+@kbd{C-M-f} (@code{forward-sexp}) and @kbd{C-M-b} (@code{backward-sexp})
will skip over one set of balanced parentheses, so you can see which
parentheses match. (You can train it to skip over balanced brackets
and braces at the same time by modifying the syntax table.)
@cindex Selectively displaying @code{#ifdef} code
@kbd{M-x hide-ifdef-mode}. (This is a minor mode.) You might also want
-to try @file{cpp.el}, available at the Emacs Lisp Archive
-(@pxref{Packages that do not come with Emacs}).
+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 X resources
@cindex Setting X resources
-@inforef{Resources X, Resources X, emacs}.
+@inforef{X Resources, X Resources, emacs}.
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
was compiled with the X toolkit.
@node Evaluating Emacs Lisp code, Changing the length of a Tab, Valid X resources, Common requests
-@section How do I execute ("evaluate") a piece of Emacs Lisp code?
+@section How do I execute (``evaluate'') a piece of Emacs Lisp code?
@cindex Evaluating Lisp code
@cindex Lisp forms, evaluating
will be inserted in the buffer.
@item
-In @code{emacs-lisp-mode}, typing @kbd{M-C-x} evaluates a top-level form
+In @code{emacs-lisp-mode}, typing @kbd{C-M-x} evaluates a top-level form
before or around point.
@item
@section How do I change Emacs's idea of the @key{TAB} character's length?
@cindex Tab length
@cindex Length of tab character
-@cindex @code{default-tab-width}
+@cindex @code{default-tab-width}
Set the variable @code{default-tab-width}. For example, to set
@key{TAB} stops every 10 characters, insert the following in your
additional information.
@node Underlining paragraphs, Repeating a command as many times as possible, Inserting > at the beginning of each line, Common requests
-@section How do I insert "_^H" before each character in a region to get an underlined paragraph?
+@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}
@cindex Suspending Emacs
@kbd{C-z} iconifies Emacs when running under X and suspends Emacs
-otherwise. @inforef{Misc X, Misc X, emacs}.
+otherwise. @inforef{Frame Commands, Frame Commands, emacs}.
@node Using regular expressions, Replacing text across multiple files, Forcing Emacs to iconify itself, Common requests
@section How do I use regexps (regular expressions) in Emacs?
@cindex Unix regeps, differences from Emacs
@cindex Text strings, putting regexps in
-@inforef{Regexps, Regexps, emacs}.
+@inforef{Regexp Backslash, Regexp Backslash, emacs}.
The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators
are @samp{\(} and @samp{\)}. Also, the string syntax for a backslash is
You probably don't want to do this, since backups are useful, especially
when something goes wrong.
-To avoid seeing backup files (and other "uninteresting" files) in Dired,
+To avoid seeing backup files (and other ``uninteresting'' files) in Dired,
load @code{dired-x} by adding the following to your @file{.emacs} file:
@lisp
longer between auto-saves, which might annoy you less.
You might also want to look into Sebastian Kremer's @code{auto-save}
-package, available from the Lisp Code Archive (@pxref{Packages that do not come
-with Emacs}). This
+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}.
Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers})
represents a local or global keymap. Selecting a menu title with the
-mouse displays that keymap's non-nil contents in the form of a menu.
+mouse displays that keymap's non-@code{nil} contents in the form of a menu.
So to add a menu option to an existing menu, all you have to do is add a
new definition to the appropriate keymap. Adding a @samp{Forward Word}
item to the @samp{Edit} menu thus requires the following Lisp code:
@lisp
-(define-key global-map
- [menu-bar edit forward]
+(define-key global-map
+ [menu-bar edit forward]
'("Forward word" . forward-word))
@end lisp
More detailed information---and more examples of how to create and
modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
-``Keymaps''. (@xref{Emacs Lisp documentation}, for information on this
-manual.)
+``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
@section How do I delete menus and menu options?
@code{font-lock-maximum-decoration} with @kbd{C-h v} (or @kbd{M-x
describe-variable @key{RET}}).
-@cindex Lazy font-lock
-You might also want to investigate @code{fast-lock-mode} and
-@code{lazy-lock-mode}, versions of @code{font-lock-mode} that speed up
-highlighting. These are the alternatives for @code{jit-lock-mode} in
-versions of Emacs before 21.1. The advantage of @code{lazy-lock-mode}
-is that it only fontifies buffers when certain conditions are met, such
-as after a certain amount of idle time, or after you have finished
-scrolling through text. See the documentation for @code{lazy-lock-mode}
-by typing @kbd{C-h f @code{lazy-lock-mode}} (@kbd{M-x describe-function
-@key{RET} lazy-lock-mode @key{RET}}).
-
Also see the documentation for the function @code{font-lock-mode},
available by typing @kbd{C-h f font-lock-mode} (@kbd{M-x
describe-function @key{RET} font-lock-mode @key{RET}}).
@node Scrolling only one line, Replacing highlighted text, 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 scrollng
+@cindex Reducing the increment when scrolling
Place the following Lisp form in your @file{.emacs} file:
@section How can I replace highlighted text with what I type?
@cindex @code{delete-selection-mode}
@cindex Replacing highlighted text
-@cindex Highlighing and replacing 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:
default, a backslash (@samp{\}) will appear in the mode line.
If you are running a version of Emacs before 20.1, get @code{crypt++}
-from the Emacs Lisp Archive (@pxref{Packages that do not come with
-Emacs}). Among other things, @code{crypt++} transparently modifies
-MS-DOS files as they are loaded and saved, allowing you to ignore the
-different conventions that Unix and MS-DOS have for delineating the end
-of a line.
+(@pxref{Packages that do not come with Emacs}). Among other things,
+@code{crypt++} transparently modifies MS-DOS files as they are loaded
+and saved, allowing you to ignore the different conventions that Unix
+and MS-DOS have for delineating the end of a line.
@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests
@section How can I tell Emacs to fill paragraphs with a single space after each period?
@end lisp
@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
-@section Why do I get these strange escape sequences when I run
-@code{ls} from the Shell mode?
+@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
@chapter Bugs and problems
@cindex Bugs and problems
+The Emacs manual lists some common kinds of trouble users could get
+into, see @ref{Lossage, , Dealing with Emacs Trouble, emacs, The GNU
+Emacs Manual}, so you might look there if the problem you encounter
+isn't described in this chapter. If you decide you've discovered a bug,
+see @ref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}, for
+instructions how to do that.
+
+The file @file{etc/PROBLEMS} in the Emacs distribution lists various
+known problems with building and using Emacs on specific platforms;
+type @kbd{C-h C-e} to read it.
+
@menu
-* Problems with very large files::
-* ^M in the shell buffer::
-* Shell process exits abnormally::
-* Problems with Shell Mode on MS-Windows::
-* Termcap/Terminfo entries for Emacs::
-* Spontaneous entry into isearch-mode::
-* Problems talking to certain hosts::
-* Errors with init files::
-* Emacs ignores X resources::
-* Emacs ignores frame parameters::
-* Emacs takes a long time to visit files::
-* Editing files with $ in the name::
-* Shell mode loses the current directory::
-* Security risks with Emacs::
-* Dired claims that no file is on this line::
+* Problems with very large files::
+* ^M in the shell buffer::
+* Shell process exits abnormally::
+* Problems with Shell Mode on MS-Windows::
+* Termcap/Terminfo entries for Emacs::
+* Spontaneous entry into isearch-mode::
+* Problems talking to certain hosts::
+* Errors with init files::
+* Emacs ignores X resources::
+* Emacs ignores frame parameters::
+* Emacs takes a long time to visit files::
+* Editing files with $ in the name::
+* Shell mode loses the current directory::
+* Security risks with Emacs::
+* Dired claims that no file is on this line::
@end menu
@node Problems with very large files, ^M in the shell buffer, Bugs and problems, Bugs and problems
@end example
@noindent
-This method may result in "ILLEGAL DATATYPE" and other random errors on
+This method may result in ``ILLEGAL DATATYPE'' and other random errors on
some machines.
@email{daveg@@csvax.cs.caltech.edu, David Gillespie} explains how this
@end example
@node Shell process exits abnormally, Problems with Shell Mode on MS-Windows, ^M in the shell buffer, Bugs and problems
-@section Why do I get "Process shell exited abnormally with code 1"?
+@section Why do I get ``Process shell exited abnormally with code 1''?
@cindex Abnormal exits from @code{shell-mode}
@cindex @code{shell-mode} exits
@cindex Process shell exited
the problems in those cases.
@node Termcap/Terminfo entries for Emacs, Spontaneous entry into isearch-mode, Problems with Shell Mode on MS-Windows, Bugs and problems
-@section Where is the termcap/terminfo entry for terminal type "emacs"?
+@section Where is the termcap/terminfo entry for terminal type @samp{emacs}?
@cindex Termcap
@cindex Terminfo
@cindex Emacs entries for termcap/terminfo
@end example
@node Spontaneous entry into isearch-mode, Problems talking to certain hosts, Termcap/Terminfo entries for Emacs, Bugs and problems
-@section Why does Emacs spontaneously start displaying "I-search:" and beeping?
+@section Why does Emacs spontaneously start displaying @samp{I-search:} and beeping?
@cindex Spontaneous entry into isearch-mode
@cindex isearch-mode, spontaneous entry into
@cindex Beeping without obvious reason
@end itemize
@node Errors with init files, Emacs ignores X resources, Problems talking to certain hosts, Bugs and problems
-@section Why does Emacs say "Error in init file"?
+@section Why does Emacs say @samp{Error in init file}?
@cindex Error in @file{.emacs}
@cindex Error in init file
@cindex Init file, errors in
@item @code{XFILESEARCHPATH}
@item @code{XUSERFILESEARCHPATH}
-@item @code{XAPPLRESDIR}
+@item @code{XAPPLRESDIR}
@end itemize
@item
then in the value of the @samp{XENVIRONMENT} environment variable,
-@itemize @minus
+@itemize @minus
@item
or if that is unset, in the file named
@item
or in files named @file{@var{lang}/Emacs} in directories listed in
@samp{XAPPLRESDIR} (where @var{lang} is the value of the @code{LANG}
-environment variable), if the @samp{LANG} environment variable is set,
+environment variable), if the @samp{LANG} environment variable is set,
@item
or in files named Emacs in the directories listed in @samp{XAPPLRESDIR}
@item
or in @file{~/@var{lang}/Emacs} (if the @code{LANG} environment variable
is set),
-@item
+@item
or in @file{~/Emacs},
@end itemize
with a shell metacharacter (@kbd{cd ../lib*}), Emacs will fail to
correctly guess the shell's new current directory. A huge variety of
fixes and enhancements to shell mode for this problem have been written
-to handle this problem. Check the Lisp Code Directory (@pxref{Finding a
-package with particular functionality}).
+to handle this problem (@pxref{Finding a package with particular
+functionality}).
You can tell Emacs the shell's current directory with the command
@kbd{M-x dirs}.
feature.
Emacs 18 allowed this feature by default; users could disable it by
-setting the variable @code{inhibit-local-variables} to a non-nil value.
+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
@end itemize
@node Dired claims that no file is on this line, , Security risks with Emacs, Bugs and problems
-@section Dired says, "no file on this line" when I try to do something.
+@section Dired says, @samp{no file on this line} when I try to do something.
@cindex Dired does not see a file
@c FIXME: I think this is fixed in Emacs 21, but I didn't have time to
be done by setting the locale. See your OS manual for more information.
The second approach involves changing the regular expression used by
-dired, @code{dired-move-to-filename-regexp}.
+dired, @code{directory-listing-before-filename-regexp}.
@c ------------------------------------------------------------
@node Compiling and installing Emacs, Finding Emacs and related packages, Bugs and problems, Top
@cindex Compiling and installing Emacs
@menu
-* Installing Emacs::
-* Updating Emacs::
-* Problems building Emacs::
-* Linking with -lX11 fails::
+* Installing Emacs::
+* Updating Emacs::
+* Problems building Emacs::
+* Linking with -lX11 fails::
@end menu
@node Installing Emacs, Updating Emacs, Compiling and installing Emacs, Compiling and installing Emacs
@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-@value{VER}.tar.gz}
The above will obviously change as new versions of Emacs come out. For
-instance, when Emacs 21.42 is released, it will most probably be
+instance, when Emacs 22.42 is released, it will most probably be
available as
-@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-21.42.tar.gz}
+@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-22.42.tar.gz}
Again, you should use one of the GNU mirror sites (see @ref{Current GNU
distributions}, and adjust the URL accordingly) so as to reduce load on
@code{gunzip} has finished doing its job, a file by the name of
@file{emacs-@value{VER}.tar} should be in your build directory.
-@item
+@item
@code{tar}, the @dfn{tape archiving} program, which moves multiple files
into and out of archive files, or @dfn{tarfiles}. All of the files
comprising the Emacs source come in a single tarfile, and must be
@example
cd emacs-@value{VER} # change directory to emacs-@value{VER}
-./configure # configure Emacs for your particular system
-make # use Makefile to build components, then Emacs
+./configure # configure Emacs for your particular system
+make # use Makefile to build components, then Emacs
@end example
If the @code{make} completes successfully, the odds are fairly good that
If you cannot find a solution in the documentation, send a message to
@email{bug-gnu-emacs@@gnu.org}.
-Please do not post it to @uref{news:gnu.emacs.help} or send e-mail to
+Please don't post it to @uref{news:gnu.emacs.help} or send e-mail to
@email{help-gnu-emacs@@gnu.org}. For further guidelines, see
@ref{Guidelines for newsgroup postings} and @ref{Reporting bugs}.
@file{libX11.a}. This may be missing.
On OpenWindows, you may need to use @code{add_services} to add the
-"OpenWindows Programmers" optional software category from the CD-ROM.
+``OpenWindows Programmers'' optional software category from the CD-ROM.
On HP-UX 8.0, you may need to run @code{update} again to load the
X11-PRG ``fileset''. This may be missing even if you specified ``all
@cindex Finding Emacs and related packages
@menu
-* Finding Emacs on the Internet::
-* Finding a package with particular functionality::
-* Packages that do not come with Emacs::
-* Submitting to the Emacs Lisp Archive::
-* Current GNU distributions::
-* Difference between Emacs and XEmacs::
-* Emacs for MS-DOS::
-* Emacs for Windows::
-* Emacs for OS/2::
-* Emacs for Atari ST::
-* Emacs for the Amiga ::
-* Emacs for NeXTSTEP::
-* Emacs for Apple computers::
-* Emacs for VMS and DECwindows::
-* Modes for various languages::
-* Translating names to IP addresses::
+* Finding Emacs on the Internet::
+* Finding a package with particular functionality::
+* Packages that do not come with Emacs::
+* Current GNU distributions::
+* Difference between Emacs and XEmacs::
+* Emacs for MS-DOS::
+* Emacs for Windows::
+* Emacs for OS/2::
+* Emacs for Atari ST::
+* Emacs for the Amiga ::
+* Emacs for NeXTSTEP::
+* Emacs for Apple computers::
+* Emacs for VMS and DECwindows::
+* Modes for various languages::
+* Translating names to IP addresses::
@end menu
@node Finding Emacs on the Internet, Finding a package with particular functionality, Finding Emacs and related packages, Finding Emacs and related packages
@cindex Finding Emacs on the Internet
@cindex Snail mail, ordering Emacs via
@cindex Postal service, ordering Emacs via
-@cindex Distribution, retrieving Emacs
-@cindex Internet, retreiving from
+@cindex Distribution, retrieving Emacs
+@cindex Internet, retrieving from
-Look in the files @file{etc/DISTRIB} and @file{etc/FTP} for information
-on nearby archive sites and @file{etc/ORDERS} for mail orders. If you
-don't already have Emacs, see @ref{Informational files for Emacs}, for how
-to get these files.
+Look in the files @file{etc/DISTRIB} and @file{etc/FTP} for
+information on nearby archive sites. If you don't already have Emacs,
+see @ref{Informational files for Emacs}, for how to get these files.
@xref{Installing Emacs}, for information on how to obtain and build the latest
version of Emacs, and see @ref{Current GNU distributions}, for a list of
@section How do I find a Emacs Lisp package that does XXX?
@cindex Package, finding
@cindex Finding an Emacs Lisp package
-@cindex Functionality, finding a particular package
+@cindex Functionality, finding a particular package
First of all, you should check to make sure that the package isn't
already available. For example, typing @kbd{M-x apropos @key{RET}
modify a Lisp package, see if the author has provided any hints in the
source code.
-If a package does not come with Emacs, check the Lisp Code Directory.
-The LCD was originally maintained by @email{brennan@@hal.com, Dave
-Brennan}, but was recently taken over by @email{toby@@world.std.com,
-toby knudsen}, who maintains @uref{http://www.emacs.org}. The LCD is
-currently being reorganized and updated, but you can meanwhile find many
-packages at @uref{ftp://ftp.emacs.org/pub}.
-
-For now, you can search through the LCD with @file{lispdir.el}, which is
-in the process of being updated. Download it from the LCD, in the
-@file{emacs-lisp-attic/misc} directory, and then evaluate the following
-Lisp form (@pxref{Evaluating Emacs Lisp code}):
+The command @kbd{C-h p} (@code{finder-by-keyword}) allows you to browse
+the constituent Emacs packages.
-@lisp
-(setq lisp-code-directory
- "/anonymous@@ftp.emacs.org:pub/emacs-lisp-attic/emacs-lisp/LCD-datafile.gz"
- elisp-archive-host "ftp.emacs.org"
- elisp-archive-directory "/pub/emacs-lisp-attic/emacs-lisp/")
-@end lisp
-
-Once you have installed @file{lispdir.el}, you can use @kbd{M-x
-lisp-dir-apropos} to search the listing. For example, @kbd{M-x
-lisp-dir-apropos @key{RET} ange-ftp @key{RET}} produces this output:
-
-@example
- GNU Emacs Lisp Code Directory Apropos --- "ange-ftp"
-"~/" refers to archive.cis.ohio-state.edu:pub/elisp-archive/
-
- ange-ftp (4.18) 15-Jul-1992
- Andy Norman, <ange@@hplb.hpl.hp.com>
- ~/packages/ange-ftp.tar.Z
- transparent FTP Support for GNU Emacs
- auto-save (1.19) 01-May-1992
- Sebastian Kremer, <sk@@thp.uni-koeln.de>
- ~/misc/auto-save.el.Z
- Safer autosaving with support for ange-ftp and /tmp
- ftp-quik (1.0) 28-Jul-1993
- Terrence Brannon, <tb06@@pl122f.eecs.lehigh.edu>
- ~/modes/ftp-quik.el.Z
- Quik access to dired'ing of ange-ftp and normal paths
-@end example
+For advice on how to find extra packages that are not part of Emacs,
+see @ref{Packages that do not come with Emacs}.
-@node Packages that do not come with Emacs, Submitting to the Emacs Lisp Archive, Finding a package with particular functionality, Finding Emacs and related packages
+@node Packages that do not come with Emacs, Current GNU distributions, Finding a package with particular functionality, Finding Emacs and related packages
@section Where can I get Emacs Lisp packages that don't come with Emacs?
@cindex Unbundled packages
@cindex Finding other packages
@cindex Lisp packages that do not come with Emacs
@cindex Packages, those that do not come with Emacs
-@cindex Emacs Lisp Archive, description of
-@cindex Archive, description of the Emacs Lisp
-
-First, check the Lisp Code Directory to find the name of the package you
-are looking for (@pxref{Finding a package with particular
-functionality}). Next, check local archives and the Emacs Lisp Archive
-to find a copy of the relevant files. If you still haven't found it,
-you can send e-mail to the author asking for a copy. If you find Emacs
-Lisp code that doesn't appear in the LCD, please submit a copy to the
-LCD (@pxref{Submitting to the Emacs Lisp Archive}).
+@cindex Emacs Lisp List
+@cindex Emacs Lisp Archive
-You can access the Emacs Lisp Archive at
+@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
+from Emacs with @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.el,
+the @file{ell} package}.
-@uref{ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/}
+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.
-@noindent
-or at
+Several packages are stored in
+@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}.
-@uref{http://www.cis.ohio-state.edu/emacs-lisp}
+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
-@noindent
-Retrieve and read the file @file{README} first.
+@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
-@itemize @bullet
-
-@item
-The archive maintainers do not have time to answer individual
-requests for packages or the list of packages in the archive. If you
-cannot use FTP or UUCP to access the archive yourself, try to find a
-friend who can, but please don't ask the maintainers.
-
-@item
-Any files with names ending in @file{.Z}, @file{.z}, or @file{.gz} are
-compressed, so you should use "binary" mode in FTP to retrieve them.
-You should also use binary mode whenever you retrieve any files with
-names ending in @file{.elc}.
-
-@end itemize
-
-@node Submitting to the Emacs Lisp Archive, Current GNU distributions, Packages that do not come with Emacs, Finding Emacs and related packages
-@section How do I submit code to the Emacs Lisp Archive?
-@cindex Submitting code to the Emacs Lisp Archive
-@cindex Emacs Lisp Archive, submissions to
-@cindex Lisp Archive, submissions to
-@cindex Archive, submitting to the Emacs Lisp
-
-Guidelines and procedures for submission to the archive can be found in
-the file @file{GUIDELINES} in the archive directory (@pxref{Packages that
-do not come with Emacs}). It covers documentation, copyrights,
-packaging, submission, and the Lisp Code Directory Record. Anonymous
-FTP uploads are not permitted. Instead, all submissions are mailed to
-@email{elisp-archive@@cis.ohio-state.edu}. The @file{lispdir.el}
-package has a function named @code{submit-lcd-entry} which will help you
-with this.
-
-@node Current GNU distributions, Difference between Emacs and XEmacs, Submitting to the Emacs Lisp Archive, Finding Emacs and related 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?
@cindex Current GNU distributions
@cindex Sources for current GNU distributions
@uref{http://www.gnu.org/order/ftp.html}
@node Difference between Emacs and XEmacs, Emacs for MS-DOS, Current GNU distributions, Finding Emacs and related packages
-@section What is the difference between Emacs and XEmacs (formerly "Lucid Emacs")?
+@section What is the difference between Emacs and XEmacs (formerly Lucid Emacs)?
@cindex XEmacs
@cindex Difference Emacs and XEmacs
@cindex Lucid Emacs
@cindex Epoch
-First of all, they're both GNU Emacs. XEmacs is just as much a later
-version of GNU Emacs as the FSF-distributed version. This FAQ refers to
-the latest version to be distributed by the FSF as ``Emacs,'' partly
-because the XEmacs maintainers now refer to their product using the
-``XEmacs'' name, and partly because there isn't any accurate way to
-differentiate between the two without getting mired in paragraphs of
-legalese and history.
-
-XEmacs, which began life as Lucid Emacs, is based on an early version of
-Emacs 19 and Epoch, an X-aware version of Emacs 18.
-
-Emacs (i.e., the version distributed by the FSF) has a larger installed
-base and now always contains the MULE multilingual facilities.
-XEmacs can do some clever tricks with X and MS-Windows, such as
-putting arbitrary graphics in a buffer. Similar facilities have been
-implemented for Emacs as part of a new redisplay implementation for
-Emacs 21, and are available in the latest Emacs releases.
-Emacs and XEmacs each come with
-Lisp packages that are lacking in the other; RMS says that the FSF would
-include more packages that come with XEmacs, but that the XEmacs
-maintainers don't always keep track of the authors of contributed code,
-which makes it impossible for the FSF to have certain legal papers
-signed. (Without these legal papers, the FSF will not distribute Lisp
-packages with Emacs.) The two versions have some
-significant differences at the Lisp programming level.
-
-Many XEmacs features have found their way into recent versions of Emacs,
-and more features can be expected in the future, but there are still many
-differences between the two.
-
-The latest stable version of XEmacs as of this writing is 21.1; you can
-get it at
-
-@uref{ftp://ftp.xemacs.org/pub/xemacs/current/xemacs-21.1.13.tar.gz}
-
-More information about XEmacs, including a list of frequently asked
-questions (FAQ), is available at
-
-@uref{http://www.xemacs.org/}
+XEmacs is a branch version of Emacs. It was first called Lucid Emacs,
+and was initially derived from a prerelease version of Emacs 19. In
+this FAQ, we use the name ``Emacs'' only for the official version.
+
+Emacs and XEmacs each come with Lisp packages that are lacking in the
+other. The two versions have some significant differences at the Lisp
+programming level. Their current features are roughly comparable,
+though the support for some operating systems, character sets and
+specific packages might be quite different.
+
+Some XEmacs code has been contributed to Emacs, and we would like to
+use other parts, but the earlier XEmacs maintainers did not always
+keep track of the authors of contributed code, which makes it
+impossible for the FSF to get copyright papers signed for that code.
+(The FSF requires these papers for all the code included in the Emacs
+release, aside from generic C support packages that retain their
+separate identity and are not integrated into the code of Emacs
+proper.)
+
+If you want to talk about these two versions and distinguish them,
+please call them ``Emacs'' and ``XEmacs.'' To contrast ``XEmacs''
+with ``GNU Emacs'' would be misleading, since XEmacs too has its
+origin in the work of the GNU Project. Terms such as ``Emacsen'' and
+``(X)Emacs'' are not wrong, but they are not very clear, so it
+is better to write ``Emacs and XEmacs.''
@node Emacs for MS-DOS, Emacs for Windows, Difference between Emacs and XEmacs, Finding Emacs and related packages
@section Where can I get Emacs for my PC running MS-DOS?
Windows 9X, Windows ME, and Windows 2000. More information is available
from
-@uref{ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/emacs.README}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
The binary itself is available in the files @file{em*.zip} in the
directory
-@uref{ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}
If you prefer to compile Emacs for yourself, you can do so with the
current distribution directly. You will need a 386 (or
better) processor, and to be running MS-DOS 3.0 or later. According to
-@email{eliz@@is.elta.co.il, Eli Zaretskii} and
+@email{eliz@@gnu.org, Eli Zaretskii} and
@email{hankedr@@dms.auburn.edu, Darrel Hankerson}, you will need the
following:
You can get the latest release of DJGPP by retrieving all of
the files in
-@uref{ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2*}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2*}
@item Unpacking program
The easiest way is to use @code{djtar} which comes with DJGPP v2.x,
@item make, mv, sed, and rm
All of these utilities are available at
-@uref{ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu}
+@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu}
16-bit utilities can be found in GNUish, at
-@uref{ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish}
+@uref{http://www.simtel.net/pub/gnuish/}
@noindent
(@code{mv} and @code{rm} are in the Fileutils package, @code{sed} and
regarding Emacs under MS-DOS.
For a list of other MS-DOS implementations of Emacs (and Emacs
-look-alikes), consult the list of "Emacs implementations and literature,"
+look-alikes), consult the list of ``Emacs implementations and literature,''
available at
@uref{ftp://rtfm.mit.edu/pub/usenet/comp.emacs/}
@cindex Apple computers, Emacs for
@cindex Macintosh, Emacs for
-An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a
-number of ftp sites, the home being
-@uref{ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin}.
-
-A port of Emacs 20.4 is available at
-@uref{http://www.cs.hku.hk/~choi/emacs/index.html}.
-
Beginning with version 21.1, the Macintosh is supported in the official
Emacs distribution; see the files @file{mac/README} and
@file{mac/INSTALL} in the Emacs distribution for build instructions.
-Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep.
+Apple's ``OS X'' is based largely on NeXTSTEP and OpenStep.
@xref{Emacs for NeXTSTEP}, for more details about that version.
@node Emacs for VMS and DECwindows, Modes for various languages, Emacs for Apple computers, Finding Emacs and related packages
@cindex @code{cc-mode}
Most of these modes are now available in standard Emacs distribution.
-To get additional modes, look in the Lisp Code Directory (@pxref{Finding
-a package with particular functionality}). For C@t{++}, if you use
-@code{lisp-dir-apropos}, you must specify the pattern with something
-like @kbd{M-x lisp-dir-apropos @key{RET} c\+\+ @key{RET}}.@footnote{
-The backslashes in @samp{\+\+} are required because @kbd{M-x
-lisp-dir-apropos} expects a regular expression as its argument
-(@pxref{Using regular expressions}), and @samp{+} has a special meaning
-in regular expressions.}
+To get additional modes, see @ref{Finding a package with particular
+functionality}.
Barry Warsaw's @code{cc-mode} now works for C, C@t{++}, Objective-C, and
-Java code. You can get the latest version from the Emacs Lisp Archive;
-@pxref{Packages that do not come with Emacs} for details. A FAQ for
-@code{cc-mode} is available at
-@uref{http://www.python.org/emacs/cc-mode/}.
+Java code. It is distributed with Emacs, but has
+@uref{http://cc-mode.sourceforge.net/, its own homepage}.
@node Translating names to IP addresses, , Modes for various languages, Finding Emacs and related packages
@section What is the IP address of XXX.YYY.ZZZ?
@example
To: dns@@[134.214.84.25] (to grasp.insa-lyon.fr)
-Body: ip XXX.YYY.ZZZ (or "help" for more information
- and options - no quotes)
+Body: ip XXX.YYY.ZZZ (or "help" for more information
+ and options - no quotes)
@end example
@noindent
@cindex Major packages and programs
@menu
-* VM::
-* Supercite::
-* Calc::
-* VIPER::
-* AUC-TeX::
-* BBDB::
-* Ispell::
-* w3-mode::
-* EDB::
-* Mailcrypt::
-* JDE::
-* Patch::
+* VM::
+* Supercite::
+* Calc::
+* VIPER::
+* AUCTeX::
+* BBDB::
+* Ispell::
+* w3-mode::
+* EDB::
+* Mailcrypt::
+* JDE::
+* Patch::
@end menu
@node VM, Supercite, Major packages and programs, Major packages and programs
@table @b
@item Author
-@email{kyle@@uunet.uu.net, Kyle Jones}
+@email{kyle_jones@@wonderworks.com, Kyle Jones}
@item Latest version
-6.72
+7.15
@item Distribution
@uref{ftp://ftp.wonderworks.com/pub/vm/vm.tar.gz}
-@item Informational newsgroup/mailing list
+@item Informational newsgroup
@uref{news:gnu.emacs.vm.info}@*
-Subscription requests to @email{info-vm-request@@uunet.uu.net}@*
-Submissions to @email{info-vm@@uunet.uu.net}
-@item Bug reports newsgroup/mailing list
+@item Bug reports newsgroup
@uref{news:gnu.emacs.vm.bug}@*
-Subscription requests to @email{bug-vm-request@@uunet.uu.net}@*
-Submissions to @email{bug-vm@@uunet.uu.net}
+Or send reports to @email{bug-vm@@wonderworks.com}
@end table
-VM 6 works with Emacs 20.4, and may cause problems with Emacs 20.3 and
-below. (But note that many people seem to use Emacs 20.3 with VM 6,
-without any problems.) Risk-averse users might wish to try VM 5.97,
-available from @uref{ftp://ftp.wonderworks.com/pub/vm/, the same FTP
-site}.
+VM 7 works well with Emacs 21. 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}.
+
@node Supercite, Calc, VM, Major packages and programs
@section Supercite --- mail and news citation package within Emacs
@table @b
@item Author
-@email{bwarsaw@@cen.com, Barry Warsaw}
+@email{barry@@python.org, Barry Warsaw}
@item Latest version
-3.54 (comes bundled with Emacs 20)
+3.54 (comes bundled with Emacs since version 20)
@item Distribution
@uref{http://www.python.org/emacs/supercite.tar.gz}
@email{daveg@@csvax.cs.caltech.edu, Dave Gillespie}
@item Latest version
-2.02f
+2.02g (part of Emacs since version 22.1)
@item Distribution
-@uref{ftp://ftp.gnu.org/pub/gnu/calc/calc-2.02f.tar.gz}
+No separate distribution outside of Emacs. Older versions
+are available at @uref{ftp://ftp.gnu.org/pub/gnu/calc/}.
@end table
as matrices, special functions, and statistics, but is more than
adequate as a replacement for @code{xcalc} and similar programs.
-@node VIPER, AUC-TeX, Calc, Major packages and programs
+@node VIPER, AUCTeX, Calc, Major packages and programs
@section VIPER --- @code{vi} emulation for Emacs
@cindex @code{vi} emulation
@cindex VIPER
4.3
@item Distribution
-@uref{ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/modes/vip-mode.tar.Z}
+@uref{ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/old-archive/modes/vip-mode.tar.Z}
@end table
-@node AUC-TeX, BBDB, VIPER, Major packages and programs
-@section AUC TeX --- enhanced LaTeX mode with debugging facilities
+@node AUCTeX, BBDB, VIPER, Major packages and programs
+@section AUC@TeX{} --- enhanced @TeX{} modes with debugging facilities
@cindex Mode for @TeX{}
@cindex @TeX{} mode
-@cindex AUC-TeX mode for editing @TeX{}
+@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. Some important supplemental packages are
+described in @ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{}
+User Manual}, and
+@uref{http://preview-latex.sourceforge.net,preview-latex}.
+
@table @b
@item Authors
-@email{krab@@iesd.auc.dk, Kresten Krab Thorup} and@*
-@email{abraham@@dina.kvl.dk, Per Abrahamsen}
+@email{krab@@iesd.auc.dk, Kresten Krab Thorup}, @*
+@email{abraham@@dina.kvl.dk, Per Abrahamsen}, @* and others.
+
+@item Maintainer
+@email{dak@@gnu.org, David Kastrup}
@item Latest version
-9.9p
+11.54
@item Distribution
-@uref{ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz}
+@uref{ftp://ftp.gnu.org/pub/gnu/auctex/}
@item Web site
-@uref{http://sunsite.auc.dk/auctex/}
+@uref{http://www.gnu.org/software/auctex/}
@item Mailing list:
-Subscription requests to @email{auc-tex-request@@iesd.auc.dk}@*
-Submissions to @email{auc-tex@@iesd.auc.dk}@*
-Development team is at @email{auc-tex_mgr@@iesd.auc.dk}
+Subscription requests to @email{auc-tex-subscribe@@sunsite.dk}@*
+Submissions to @email{auc-tex@@sunsite.dk}
@end table
-@node BBDB, Ispell, AUC-TeX, Major packages and programs
+@node BBDB, Ispell, AUCTeX, Major packages and programs
@section BBDB --- personal Info Rolodex integrated with mail/news readers
@cindex BBDB
@cindex Rolodex-like functionality
@table @b
@item Maintainer
-@email{simmonmt@@acm.org, Matt Simmons}
+@email{waider@@waider.ie, Ronan Waide}
@item Latest version
-2.00
+2.34
@item Distribution
-@uref{http://www.netcom.com/~simmonmt/bbdb/index.html}
+@uref{http://bbdb.sourceforge.net/}
@item Mailing lists
-Subscription requests to @email{info-bbdb-request@@xemacs.org}@*
-Submissions to @email{info-bbdb@@xemacs.org}@*
-Release announcements: @email{bbdb-announce-request@@xemacs.org}
+Subscription requests to @email{bbdb-info-request@@lists.sourceforge.net}@*
+Submissions to @email{bbdb-info@@lists.sourceforge.net}@*
+Release announcements: @email{bbdb-announce-request@@lists.sourceforge.net}
@end table
@email{jin@@atype.com, Jin S. Choi}
@item Maintainer
-@email{lbudney@@pobox.com, Len Budney}
+@email{warner-mailcrypt@@lothar.com, Brian Warner}
@item Latest version
-3.5.3
+3.5.8
@item Distribution
-@uref{http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5.3.tar.gz}
+@uref{http://dl.sourceforge.net/sourceforge/mailcrypt/mailcrypt-3.5.8.tar.gz}
@item Web site
-@uref{http://www.nb.net/~lbudney/linux/software/mailcrypt.html}
+@uref{http://mailcrypt.sourceforge.net/}
@end table
@end table
@node Patch, , JDE, Major packages and programs
-@section Patch --- program to apply "diffs" for updating files
+@section Patch --- program to apply ``diffs'' for updating files
@cindex Updating files with diffs
@cindex Patching source files with diffs
@cindex Diffs and patching
@cindex Key bindings
@menu
-* Binding keys to commands::
-* Invalid prefix characters::
-* Terminal setup code works after Emacs has begun::
-* Using function keys under X::
-* Working with function and arrow keys::
-* X key translations for Emacs::
-* Handling C-s and C-q with flow control::
-* Binding C-s and C-q::
-* Backspace invokes help::
-* stty and Backspace key::
-* Swapping keys::
-* Producing C-XXX with the keyboard::
-* No Meta key::
-* No Escape key::
-* Compose Character::
-* Binding combinations of modifiers and function keys::
-* Meta key does not work in xterm::
-* ExtendChar key does not work as Meta::
+* Binding keys to commands::
+* Invalid prefix characters::
+* Terminal setup code works after Emacs has begun::
+* Using function keys under X::
+* Working with function and arrow keys::
+* X key translations for Emacs::
+* Handling C-s and C-q with flow control::
+* Binding C-s and C-q::
+* Backspace invokes help::
+* stty and Backspace key::
+* Swapping keys::
+* Producing C-XXX with the keyboard::
+* No Meta key::
+* No Escape key::
+* Compose Character::
+* Binding combinations of modifiers and function keys::
+* Meta key does not work in xterm::
+* ExtendChar key does not work as Meta::
@end menu
@node Binding keys to commands, Invalid prefix characters, Key bindings, Key bindings
@noindent
can be placed directly into the @file{.emacs} file. If the key binding is
-local, the command is used in conjunction with the "add-hook" command.
-For example, in tex-mode, a local binding might be
+local, the command is used in conjunction with the @samp{add-hook} function.
+For example, in TeX mode, a local binding might be
@lisp
(add-hook 'tex-mode-hook
@end itemize
@node Invalid prefix characters, Terminal setup code works after Emacs has begun, Binding keys to commands, Key bindings
-@section Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
+@section Why does Emacs say @samp{Key sequence XXX uses invalid prefix characters}?
@cindex Prefix characters, invalid
@cindex Invalid prefix characters
@cindex Misspecified key sequences
If you are fixing this for yourself, simply put the form in your
@file{.emacs} file. If you are fixing this for your entire site, the
-best place to put it is in the @file{lisp/site-start.el} file. Putting
-this form in @file{lisp/default.el} has the problem that if the user's
-@file{.emacs} file has an error, this will prevent
-@file{lisp/default.el} from being loaded and Emacs may be unusable for
-the user, even for correcting their @file{.emacs} file (unless they're
+best place to put it is in the @file{site-lisp/site-start.el} file.
+(Here @file{site-lisp} is actually a subdirectory of your Emacs
+installation directory, typically @file{/usr/local/share/emacs}.)
+Putting this form in @file{site-lisp/default.el} has the problem that
+if the user's @file{.emacs} file has an error, this will prevent
+@file{default.el} from being loaded and Emacs may be unusable for the
+user, even for correcting their @file{.emacs} file (unless they're
smart enough to move it to another name).
@code{enable-flow-control} can be invoked interactively as well:
or @code{enable-flow-control-on}. @xref{Handling C-s and C-q with flow
control}, for usage and implementation details.
-To bind other keys, use @code{keyboard-translate}. @xref{Swapping keys},
-for usage details. To do this for an entire site, you should swap the
-keys in @file{lisp/site-start.el}. @xref{Handling C-s and C-q with flow
-control}, for an explanation of why @file{lisp/default.el} should not be
-used.
+To bind other keys, use @code{keyboard-translate}. @xref{Swapping
+keys}, for usage details. To do this for an entire site, you should
+swap the keys in @file{site-lisp/site-start.el}. @xref{Handling C-s
+and C-q with flow control}, for an explanation of why
+@file{site-lisp/default.el} should not be used.
@itemize @bullet
@section Why does the @key{Backspace} key invoke help?
@cindex Backspace key invokes help
@cindex Help invoked by Backspace
+@cindex DEL key does not delete
-The @key{Backspace} key (on most keyboards) generates ASCII code 8.
+The @key{Backspace} key (on most keyboards) generates @acronym{ASCII} code 8.
@kbd{C-h} sends the same code. In Emacs by default @kbd{C-h} invokes
help-command. This is intended to be easy to remember since the first
letter of @samp{help} is @samp{h}. The easiest solution to this problem
In this case, the @key{Backspace} key should be made to behave like
@key{Delete}. There are several methods.
+@itemize @minus
@item
-Some terminals (e.g., VT3## terminals) allow the character generated
-by the @key{Backspace} key to be changed from a setup menu.
+Some terminals (e.g., VT3## terminals) and terminal emulators (e.g.,
+TeraTerm) allow the character generated by the @key{Backspace} key to be
+changed from a setup menu.
@item
-You may be able to get a keyboard that is completely programmable.
+You may be able to get a keyboard that is completely programmable, or a
+terminal emulator that supports remapping of any key to any other key.
@item
-Under X or on a dumb terminal, it is possible to swap the
-@key{Backspace} and @key{Delete} keys inside Emacs:
+With Emacs 21.1 and later, you can control the effect of the
+@key{Backspace} and @key{Delete} keys, on both dumb terminals and a
+windowed displays, by customizing the option
+@code{normal-erase-is-backspace-mode}, or by invoking @kbd{M-x
+normal-erase-is-backspace}. See the documentation of these symbols
+(@pxref{Emacs Lisp documentation}) for more info.
+
+@item
+It is possible to swap the @key{Backspace} and @key{DEL} keys inside
+Emacs:
@lisp
(keyboard-translate ?\C-h ?\C-?)
@end lisp
-@xref{Swapping keys}, for further details of "keyboard-translate".
+@noindent
+This is the recommended method of forcing @key{Backspace} to act as
+@key{DEL}, because it works even in modes which bind @key{DEL} to
+something other than @code{delete-backward-char}.
+
+Similarly, you could remap @key{DEL} to act as @kbd{C-d}, which by
+default deletes forward:
+
+@lisp
+(keyboard-translate ?\C-? ?\C-d)
+@end lisp
+
+@xref{Swapping keys}, for further details about @code{keyboard-translate}.
@item
Another approach is to switch key bindings and put help on @kbd{C-x h}
(global-set-key "\C-h" 'delete-backward-char)
;;; overrides mark-whole-buffer
-(global-set-key "\C-xh" 'help-command)
+(global-set-key "\C-xh" 'help-command)
@end lisp
+@noindent
+This method is not recommended, though: it only solves the problem for
+those modes which bind @key{DEL} to @code{delete-backward-char}. Modes
+which bind @key{DEL} to something else, such as @code{view-mode}, will
+not work as you expect when you press the @key{Backspace} key. For this
+reason, we recommend the @code{keyboard-translate} method, shown
+above.
+
Other popular key bindings for help are @kbd{M-?} and @kbd{C-x ?}.
+@end itemize
Don't try to bind @key{DEL} to @code{help-command}, because there are
many modes that have local bindings of @key{DEL} that will interfere.
@key{Delete} key to a command which deletes the character at point, to
make Emacs more consistent with keyboard operation on these systems.
+For more information about troubleshooting this problem, see @ref{DEL
+Does Not Delete, , If @key{DEL} Fails to Delete, emacs, The GNU Emacs
+Manual}.
+
@node stty and Backspace key, Swapping keys, Backspace invokes help, Key bindings
@section Why doesn't Emacs look at the @file{stty} settings for @key{Backspace} vs. @key{Delete}?
@cindex @file{stty} and Emacs
@cindex Keys, swapping
@cindex @code{keyboard-translate}
-In Emacs 19, you can swap two keys (or key sequences) by using the
-@code{keyboard-translate} function. For example, to turn @kbd{C-h} into
-@key{DEL} and @key{DEL} to @kbd{C-h}, use
+You can swap two keys (or key sequences) by using the
+@code{keyboard-translate} function. For example, to turn @kbd{C-h}
+into @key{DEL} and @key{DEL} to @kbd{C-h}, use
@lisp
(keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL
produced by the keyboard; the second, what is matched for in the
keymaps.
+However, in the specific case of @kbd{C-h} and @key{DEL}, you should
+toggle @code{normal-erase-is-backspace-mode} instead of calling
+@code{keyboard-translate}. @inforef{DEL Does Not Delete, DEL Does Not Delete,
+emacs}.
+
Keyboard translations are not the same as key bindings in keymaps.
Emacs contains numerous keymaps that apply in different situations, but
there is only one set of keyboard translations, and it applies to every
looked up in keymaps contain the characters that result from keyboard
translation.
-@inforef{Keyboard Translations, Keyboard Translations, emacs}.
-
@node Producing C-XXX with the keyboard, No Meta key, Swapping keys, Key bindings
@section How do I produce C-XXX with my keyboard?
@cindex Producing control characters
@cindex Generating control characters
@cindex Control characters, generating
-On terminals (but not under X), some common "aliases" are:
+On terminals (but not under X), some common ``aliases'' are:
@table @asis
@cindex Lacking an Escape key
@cindex Escape key, lacking
-Type @kbd{C-[} instead. This should send ASCII code 27 just like an
+Type @kbd{C-[} instead. This should send @acronym{ASCII} code 27 just like an
Escape key would. @kbd{C-3} may also work on some terminal (but not
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.
-(define-key function-key-map [f11] [?\e])
+(define-key function-key-map [f11] [?\e])
@end lisp
@node Compose Character, Binding combinations of modifiers and function keys, No Escape key, Key bindings
@item
Not all modifiers are permitted in all situations. @key{Hyper},
@key{Super}, and @key{Alt} are not available on Unix character
-terminals. Non-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
@item
For X11: Make sure it really is a @key{Meta} key. Use @code{xev} to
find out what keysym your @key{Meta} key generates. It should be either
-@key{Meta}_L or @key{Meta}_R. If it isn't, use @file{xmodmap} to fix
-the situation.
+@code{Meta_L} or @code{Meta_R}. If it isn't, use @file{xmodmap} to fix
+the situation. If @key{Meta} does generate @code{Meta_L} or
+@code{Meta_R}, but @kbd{M-x} produces a non-@acronym{ASCII} character, put this in
+your @file{~/.Xdefaults} file:
+
+@example
+ XTerm*eightBitInput: false
+ XTerm*eightBitOutput: true
+@end example
@item
Make sure the @code{pty} the @code{xterm} is using is passing 8 bit
@cindex Alternate character sets
@menu
-* Emacs does not display 8-bit characters::
-* Inputting eight-bit characters::
-* Kanji and Chinese characters::
-* Right-to-left alphabets::
+* Emacs does not display 8-bit characters::
+* Inputting eight-bit characters::
+* Kanji and Chinese characters::
+* Right-to-left alphabets::
@end menu
@node Emacs does not display 8-bit characters, Inputting eight-bit characters, Alternate character sets, Alternate character sets
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
-non-ASCII characters will display as @samp{?}. On other operating
+non-@acronym{ASCII} characters will display as @samp{?}. On other operating
systems, such as MS-DOS and MS-Windows, Emacs queries the OS about the
character set supported by the display, and sets up the required
terminal coding system automatically.
@cindex Mail and news
@menu
-* Changing the included text prefix::
-* Saving a copy of outgoing mail::
-* Expanding aliases when sending mail::
-* Rmail thinks all messages are one big one::
-* Sorting the messages in an Rmail folder::
-* Rmail writes to /usr/spool/mail::
-* Recovering mail files when Rmail munges them::
-* Replying to the sender of a message::
-* MIME with Emacs mail packages::
-* Automatically starting a mail or news reader::
-* Reading news with Emacs::
-* Gnus does not work with NNTP::
-* Viewing articles with embedded underlining::
-* Saving a multi-part Gnus posting::
-* Starting Gnus faster::
-* Catching up in all newsgroups::
-* Killing based on nonstandard headers::
-* Removing flashing messages::
-* Catch-up is slow in Gnus::
-* Gnus hangs for a long time::
-* Learning more about Gnus::
+* Changing the included text prefix::
+* Saving a copy of outgoing mail::
+* Expanding aliases when sending mail::
+* Rmail thinks all messages are one big one::
+* Sorting the messages in an Rmail folder::
+* Rmail writes to /usr/spool/mail::
+* Recovering mail files when Rmail munges them::
+* Replying to the sender of a message::
+* MIME with Emacs mail packages::
+* Automatically starting a mail or news reader::
+* Reading news with Emacs::
+* Gnus does not work with NNTP::
+* Viewing articles with embedded underlining::
+* Saving a multi-part Gnus posting::
+* Starting Gnus faster::
+* Catching up in all newsgroups::
+* Killing based on nonstandard headers::
+* Removing flashing messages::
+* Catch-up is slow in Gnus::
+* Gnus hangs for a long time::
+* Learning more about Gnus::
@end menu
@node Changing the included text prefix, Saving a copy of outgoing mail, Mail and news, Mail and news
format, use the command @kbd{M-x unrmail}: it will prompt you for the
input and output file names.
+@pindex b2m
+Alternatively, you could use the @code{b2m} program supplied with
+Emacs. @code{b2m} is a filter, and is used like this:
+
+@example
+ b2m < @var{babyl-file} > @var{mbox-file}
+@end example
+
+@noindent
+where @var{babyl-file} is the name of the BABYL file, and
+@var{mbox-file} is the name of the file where the converted mail will
+be written.
+
@node Replying to the sender of a message, MIME with Emacs mail packages, Recovering mail files when Rmail munges them, Mail and news
@section How can I force Rmail to reply to the sender of a message, but not the other recipients?
@cindex Replying only to the sender of a message
@end lisp
@node MIME with Emacs mail packages, Automatically starting a mail or news reader, Replying to the sender of a message, Mail and news
-@section How can I get my favorite Emacs mail package to support MIME?
+@section How can I get my favorite Emacs mail package to support MIME?
@cindex MIME and Emacs mail packages
@cindex Mail packages and MIME
@cindex FAQ for MIME and Emacs
@section Where can I find out more about Gnus?
@cindex FAQ for Gnus
@cindex Gnus FAQ
-@cindex Learning more about GNU
-
-Look for the Gnus FAQ, available at
+@cindex Learning more about Gnus
-@uref{http://www.ccs.neu.edu/software/contrib/gnus/}
+For more information on Gnus, consult the Gnus manual and FAQ, which are
+part of the Gnus distribution.
@node Concept index, , Mail and news, Top
@unnumbered Concept Index
@contents
@bye
+
+@ignore
+ arch-tag: fee0d62d-06cf-43d8-ac21-123408eaf10f
+@end ignore