Commit 3dfa7f6a authored by Dave Love's avatar Dave Love
Browse files

Now in Texinfo.

parent 08aecf04
GNU Emacs FAQ: Introduction
This is the introduction to a list of frequently asked questions (FAQ)
about GNU Emacs 20 with answers. Some of the answers are not valid for GNU
Emacs 18 or 19.
[This version has been somewhat edited from the last-posted version
(as of February 1999) for inclusion in the Emacs distribution.]
The FAQ is posted (in five parts) to reduce the noise level in the newsgroup (which is also the help-gnu-emacs mailing list)
which results from the repetition of frequently asked questions, wrong
answers to these questions, corrections to the wrong answers, corrections
to the corrections, debate, name calling, and generally unproductive use of
the mailing list. Also, it serves as a repository of the canonical "best"
answers to these questions. However, if you know a better answer or even a
slight change that improves an answer, please tell us!
If you know the answer to a question in the FAQ list, please reply to the
question by e-mail instead of posting. Help reduce noise!
The FAQ is crossposted to comp.emacs because some sites do not receive the
gnu.* newsgroups. The FAQ is also crossposted to news.answers.
Full instructions for getting the latest FAQ are in question 22.
A diff file between the last version of the FAQ and this one should have
been posted along with the FAQ. If you did not receive the diff file, you
can get it at
Please suggest new questions, answers, wording changes, and deletions by
sending mail to The most helpful form for
suggestions is a context diff (i.e., the output of `diff -c'). Include
"FAQ" in the subject of messages about the FAQ list.
Please do not send questions to us just because you do not want to disturb
a lot of people and you think we would know the answer. We do not have
time to answer questions individually. :-(
Reuven M. Lerner <> and the FAQ team (a full list is
at the bottom of the FAQ).
Notation Used in FAQ
1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
2: What does "M-x command" mean?
3: How do I read topic XXX in the on-line manual?
4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
General Questions
6: What is the LPF?
7: What is the real legal meaning of the GNU copyleft?
8: What are appropriate messages for, gnu.emacs.bug,
comp.emacs, etc.?
9: Where can I get old postings to and other GNU groups?
10: Where should I report bugs and other problems with Emacs?
11: How do I unsubscribe from this mailing list?
12: What is the current address of the FSF?
On-line Help, Printed Manuals, Other Sources of Help
13: I'm just starting Emacs; how do I do basic editing?
14: How do I find out how to do something in Emacs?
15: How do I get a printed copy of the Emacs manual?
16: Where can I get documentation on Emacs Lisp?
17: How do I install a piece of Texinfo documentation?
18: How do I print a Texinfo file?
19: Can I view Info files without using Emacs?
20: What informational files are available for Emacs?
21: Where can I get help in installing Emacs?
22: Where can I get the latest version of this document (the FAQ list)?
Status of Emacs
23: Where does the name "Emacs" come from?
24: What is the latest version of Emacs?
25: What is different about Emacs 20?
Common Things People Want To Do
26: How do I set up a .emacs file properly?
27: How do I debug a .emacs file?
28: How do I make Emacs display the current line (or column) number?
29: How can I modify the titlebar to contain the current filename?
30: How do I turn on abbrevs by default just in mode XXX?
31: How do I turn on auto-fill mode by default?
32: How do I make Emacs use a certain major mode for certain files?
33: How do I search for, delete, or replace unprintable (8-bit or control)
34: How can I highlight a region of text in Emacs?
35: How do I control Emacs's case-sensitivity when searching/replacing?
36: How do I make Emacs wrap words for me?
37: Where can I get a better spelling checker for Emacs?
38: How can I spell-check TeX or *roff documents?
39: How do I change load-path?
40: How do I use an already running Emacs from another window?
41: How do I make Emacs recognize my compiler's funny error messages?
42: How do I indent switch statements like this?
43: How can I make Emacs automatically scroll horizontally?
44: How do I make Emacs "typeover" or "overwrite" instead of inserting?
45: How do I stop Emacs from beeping on a terminal?
46: How do I turn down the bell volume in Emacs running under X Windows?
47: How do I tell Emacs to automatically indent a new line to the
indentation of the previous line?
48: How do I show which parenthesis matches the one I'm looking at?
49: In C mode, can I show just the lines that will be left after #ifdef
commands are handled by the compiler?
50: Is there an equivalent to the `.' (dot) command of vi?
51: What are the valid X resource settings (i.e., stuff in .Xdefaults)?
52: How do I execute ("evaluate") a piece of Emacs Lisp code?
53: How do I change Emacs's idea of the tab character's length?
54: How do I insert `>' at the beginning of every line?
55: How do I insert "_^H" before each character in a region to get an
underlined paragraph?
56: How do I repeat a command as many times as possible?
57: How do I make Emacs behave like this: when I go up or down, the cursor
should stay in the same column even if the line is too short?
58: How do I tell Emacs to iconify itself?
59: How do I use regexps (regular expressions) in Emacs?
60: How do I perform a replace operation across more than one file?
61: Where is the documentation for "etags"?
62: How do I disable backup files?
63: How do I disable auto-save-mode?
64: How can I create or modify new pull-down menu options?
65: How do I delete menus and menu options?
66: How do I turn on syntax highlighting?
67: How can I force Emacs to scroll only one line when I move past the
bottom of the screen?
68: How can I replace highlighted text with what I type?
69: How can I edit MS-DOS-style text files using Emacs?
70: How can I tell Emacs to fill paragraphs with a single space after
each period?
71: Does Emacs have problems with files larger than 8 megabytes?
72: How do I get rid of ^M or echoed commands in my shell buffer?
73: Why do I get "Process shell exited abnormally with code 1"?
74: Where is the termcap/terminfo entry for terminal type "emacs"?
75: Why does Emacs spontaneously start displaying "I-search:" and beeping?
76: Why can't Emacs talk to certain hosts (or certain hostnames)?
77: Why does Emacs say "Error in init file"?
78: Why does Emacs ignore my X resources (my .Xdefaults file)?
79: Why does Emacs take 20 seconds to visit a file?
80: How do I edit a file with a `$' in its name?
81: Why does shell mode lose track of the shell's current directory?
82: Are there any security risks in Emacs?
83: Dired says, "no file on this line" when I try to do something.
Difficulties Building/Installing/Porting Emacs
84: How do I install Emacs?
85: How do I update Emacs to the latest version?
86: What should I do if I have trouble building Emacs?
87: Why does linking Emacs with -lX11 fail?
Finding/Getting Emacs and Related Packages
88: Where can I get Emacs on the net (or by snail mail)?
89: How do I find a Emacs Lisp package that does XXX?
90: Where can I get Emacs Lisp packages that don't come with Emacs?
91: How do I submit code to the Emacs Lisp Archive?
92: Where can I get other up-to-date GNU stuff?
93: What is the difference between Emacs and XEmacs (formerly "Lucid
94: Where can I get Emacs for my PC running MS-DOS?
95: Where can I get Emacs for Microsoft Windows, Windows 9x, or Windows
96: Where can I get Emacs for my PC running OS/2?
97: Where can I get Emacs for my Atari ST?
98: Where can I get Emacs for my Amiga?
99: Where can I get Emacs for NeXTSTEP?
100: Where can I get Emacs for my Apple computer?
101: Where do I get Emacs that runs on VMS under DECwindows?
102: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++,
Objective-C, Pascal, Java, and Awk?
103: What is the IP address of XXX.YYY.ZZZ?
Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
104: VM (View Mail) -- another mail reader within Emacs, with MIME support
105: Supercite -- mail and news citation package within Emacs
106: Calc -- poor man's Mathematica within Emacs
107: VIPER -- vi emulation for Emacs
108: AUC TeX -- enhanced LaTeX mode with debugging facilities
109: BBDB -- personal Info Rolodex integrated with mail/news readers
110: Ispell -- spell checker in C with interface for Emacs
111: W3-mode -- A World Wide Web browser inside of Emacs
112: EDB -- Database program for Emacs; replaces forms editing modes
113: Mailcrypt -- PGP interface within Emacs mail and news
114: JDE -- Development environment for Java programming
115: Patch -- program to apply "diffs" for updating files
Changing Key Bindings and Handling Key Binding Problems
116: How do I bind keys (including function keys) to commands?
117: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
118: Why doesn't this [terminal or window-system setup] code work in my
.emacs file, but it works just fine after Emacs starts up?
119: How do I use function keys under X Windows?
120: How do I tell what characters or symbols my function or arrow keys
121: How do I set the X key "translations" for Emacs?
122: How do I handle C-s and C-q being used for flow control?
123: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
124: Why does the "Backspace" key invoke help?
125: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
126: How do I "swap" two keys?
127: How do I produce C-XXX with my keyboard?
128: What if I don't have a Meta key?
129: What if I don't have an Escape key?
130: Can I make my "Compose Character" key behave like a Meta key?
131: How do I bind a combination of modifier key and function key?
132: Why doesn't my Meta key work in an xterm window?
133: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0
and 9.x?
Using Emacs with Alternate Character Sets
134: How do I make Emacs display 8-bit characters?
135: How do I input 8-bit characters?
136: Where can I get an Emacs that handles kanji, Chinese, or other
character sets?
137: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
Mail and News
138: How do I change the included text prefix in mail/news followups?
139: How do I save a copy of outgoing mail?
140: Why doesn't Emacs expand my aliases when sending mail?
141: Why does Rmail think all my saved messages are one big message?
142: How can I sort the messages in my Rmail folder?
143: Why does Rmail need to write to /usr/spool/mail?
144: How do I recover my mail files after Rmail munges their format?
145: How can I force Rmail to reply to the sender of a message, but not the
other recipients?
146: How can I get my favorite Emacs mail package to support MIME?
147: How do I make Emacs automatically start my mail/news reader?
148: How do I read news under Emacs?
149: Why doesn't Gnus work via NNTP?
150: How do I view news articles with embedded underlining (e.g.,
151: How do I save all the items of a multi-part posting in Gnus?
152: How do I make Gnus start up faster?
153: How do I catch up all newsgroups in Gnus?
154: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control
155: How do I get rid of flashing messages in Gnus for slow connections?
156: Why is catch up slow in Gnus?
157: Why does Gnus hang for a long time when posting?
158: Where can I find out more about Gnus?
If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
$" to get an overview of just the questions. Then, when you want to look
at the text of the answers, just type "C-x $".
To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
C-r if that doesn't work. Type RET to end the search.
If you have a web browser and the browse-url package configured for
it, you can visit ftp and HTTP uniform resource locators (URLs) by
placing the cursor on the URL and typing M-x browse-url-at-point.
The FAQ is posted in five parts; if you are missing a section or would
prefer to read the FAQ in a single file, see question 22.
Time-stamp: <1999-02-10 18:44:04 reuven>
Notation Used in FAQ
Skip this section and then come back if you don't understand some of the
later answers.
1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
C-x: press the `x' key while holding down the Control key
M-x: press the `x' key while holding down the Meta key (if your computer
doesn't have a Meta key, see question 128)
M-C-x: press the `x' key while holding down both Control and Meta
C-M-x: a synonym for the above
LFD: Linefeed or Newline; same as C-j
RET: Return, sometimes marked Enter; same as C-m
DEL: Delete, usually not the same as Backspace; same as C-? (See
question 124 if deleting invokes Emacs help)
ESC: Escape; same as C-[
TAB: Tab; same as C-i
SPC: Space bar
Key sequences longer than one key (and some single-key sequences) are
inside double quotes or on lines by themselves. Any real spaces in such
a key sequence should be ignored; only SPC really means press the space
The ASCII code sent by C-x (except for C-?) is the value that would be
sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be
from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII
code that would be sent by pressing just the `x' key. Essentially, the
Control key turns off bits 5 and 6 and the Meta key turns on bit 7.
NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a
"control" key, since 127 has both bits 5 and 6 turned ON. Also, on very
few keyboards does C-? generate ASCII code 127.
For further information, see "Characters" and "Keys" in the on-line
manual. (See question 3 if you don't know how.)
2: What does "M-x command" mean?
"M-x command" means type M-x, then type the name of the command, then
type RET. (See question 1 if you're not sure what "M-x" and "RET" mean.)
M-x (by default) invokes the command "execute-extended-command". This
command allows you to run any Emacs command if you can remember the
command's name. If you can't remember the command's name, you can type
TAB and SPC for completion, `?' for a list of possibilities, and M-p and
M-n to see previous commands entered. An Emacs "command" is any
"interactive" Emacs function.
NOTE: Your system administrator may have bound other key sequences to
invoke execute-extended-command. A function key labeled `Do' is a good
candidate for this.
To run non-interactive Emacs functions, see question 52.
3: How do I read topic XXX in the on-line manual?
When we refer you to topic XXX in the on-line manual, you can read this
manual node inside Emacs (assuming nothing is broken) by typing this:
C-h i m emacs RET m XXX RET
This invokes Info, the GNU hypertext documentation browser. If you don't
already know how to use Info, type `?' from within Info.
If we refer to topic XXX:YYY, type this:
C-h i m emacs RET m XXX RET m YYY RET
WARNING: Your system administrator may not have installed the Info files,
or may have installed them improperly. In this case you should complain.
See question 15 if you would like a paper copy of the Emacs manual.
4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
These are files that come with Emacs. The Emacs distribution is divided
into subdirectories; the important ones are "etc", "lisp", and "src".
If you use Emacs, but don't know where it is kept on your system, start
Emacs, then type "C-h v data-directory RET". The directory name
displayed by this will be the full pathname of the installed "etc"
The location of your Info directory (i.e., where on-line documentation is
stored) is kept in the variable Info-default-directory-list. Use "C-h v
Info-default-directory-list RET" to see the contents of this variable,
which will be a list of directory names. The last directory in that list
is probably where most Info files are stored. By default, Info
documentation is placed in /usr/local/info.
Some of these files are available individually via FTP or e-mail; see
question 20. All are available in the source distribution. Many of the
files in the "etc" directory are also available via the Emacs "help"
menu, or by typing "C-h ?" (M-x help-for-help).
WARNING: Your system administrator may have removed the src directory and
many files from the etc directory.
5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
FSF == Free Software Foundation
LPF == League for Programming Freedom
OSF == Open Software Foundation
GNU == GNU's Not Unix
RMS == Richard Matthew Stallman
FTP == File Transfer Protocol
GPL == GNU General Public License
NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes
look-and-feel copyrights and software patents. The FSF aims to make high
quality free software available for everyone. The OSF is a consortium of
computer vendors which develops commercial software for Unix systems.
NOTE: The word "free" in the title of the Free Software Foundation refers
to "freedom," not "zero dollars." Anyone can charge any price for
GPL-covered software that they want to. However, in practice, the
freedom enforced by the GPL leads to low prices, because you can always
get the software for less money from someone else, because everyone has
the right to resell or give away GPL-covered software.
General Questions
6: What is the LPF?
The LPF opposes the expanding danger of software patents and
look-and-feel copyrights. To get more information, feel free to contact
the LPF via e-mail or otherwise. You may also contact Joe Wells
<>; he will be happy to talk with you about the LPF.
You can find more information about the LPF in the file etc/LPF. More
papers describing the LPF's views are available on the Internet and also
from the LPF:
7: What is the real legal meaning of the GNU copyleft?
The real legal meaning of the GNU General Public License (copyleft) will
only be known if and when a judge rules on its validity and scope. There
has never been a copyright infringement case involving the GPL to set any
precedents. Please take any discussion regarding this issue to the
newsgroup gnu.misc.discuss, which was created to hold the extensive flame
wars on the subject.
RMS writes:
The legal meaning of the GNU copyleft is less important than the
spirit, which is that Emacs is a free software project and that work
pertaining to Emacs should also be free software. "Free" means that
all users have the freedom to study, share, change and improve Emacs.
To make sure everyone has this freedom, pass along source code when you
distribute any version of Emacs or a related program, and give the
recipients the same freedom that you enjoyed.
8: What are appropriate messages for, gnu.emacs.bug,
comp.emacs, etc.?
The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list.
(See question 20 if you want a copy of the file.) For those lists which
are gatewayed with newsgroups, it lists both the newsgroup name and the
mailing list address.
comp.emacs is for discussion of Emacs programs in general. This includes
Emacs along with various other implementations, such as JOVE, MicroEmacs,
Freemacs, MG, Unipress, CCA, and Epsilon.
Many people post Emacs questions to comp.emacs because they don't receive
any of the gnu.* newsgroups. Arguments have been made both for and
against posting GNU-Emacs-specific material to comp.emacs. You have to
decide for yourself.
Messages advocating "non-free" software are considered unacceptable on
any of the gnu.* newsgroups except for gnu.misc.discuss, which was
created to hold the extensive flame-wars on the subject. "Non-free"
software includes any software for which the end user can't freely modify
the source code and exchange enhancements. Be careful to remove the
gnu.* groups from the "Newsgroups:" line when posting a followup that
recommends such software.
gnu.emacs.bug is a place where bug reports appear, but avoid posting bug
reports to this newsgroup (see question 10).
9: Where can I get old postings to and other GNU groups?
The FSF has maintained archives of all of the GNU mailing lists for many
years, although there may be some unintentional gaps in coverage. The
archive is not particularly well organized or easy to retrieve individual
postings from, but pretty much everything is there. The archives
are available at
Web-based Usenet search services, such as DejaNews, also archive the
gnu.* groups. You can reach DejaNews at
10: Where should I report bugs and other problems with Emacs?
The correct way to report Emacs bugs is by e-mail to Anything sent here also appears in the
newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit
the bug report. This ensures a reliable return address so you can be
contacted for further details.
Be sure to read the "Bugs" section of the Emacs manual before reporting a
bug to bug-gnu-emacs! The manual describes in detail how to submit a
useful bug report. (See question 3 if you don't know how to read the
RMS says:
Sending bug reports to help-gnu-emacs (which has the effect of posting
on 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. bug-gnu-emacs 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.
However, RMS says there are circumstances when it is okay to post to
If you have reported a bug and you don't hear about a possible fix,
then after a suitable delay (such as a week) it is okay to post on asking if anyone can help you.
If you are unsure whether you have found a bug, consider the following
non-exhaustive list, courtesy of RMS:
If Emacs crashes, that is a bug. If Emacs gets compilation errors
while building, that is a bug. If Emacs crashes while building, that
is a bug. If Lisp code does not do what the documentation says it
does, that is a bug.
11: How do I unsubscribe from this mailing list?
If you are receiving a GNU mailing list named "XXX", you might be able to
unsubscribe from it by sending a request to the address
<>. However, this will not work if you are
not listed on the main mailing list, but instead receive the mail from a
distribution point. In that case, you will have to track down at which
distribution point you are listed. Inspecting the "Received:" headers on
the mail messages may help, along with liberal use of the "EXPN" or
"VRFY" sendmail commands through "telnet <site-address> smtp". Ask your
postmaster for help.
12: What is the current address of the FSF?
Telephone: +1-617-542-5942
Fax: +1-617-542-2652
World Wide Web:
Postal address:
Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307
For details on how to order items directly from the FSF, see the file
On-line Help, Printed Manuals, Other Sources of Help
13: I'm just starting Emacs; how do I do basic editing?
Type "C-h t" to invoke the self-paced tutorial. Just typing `C-h' enters
the help system.
WARNING: Your system administrator may have changed `C-h' to act like DEL
to deal with local keyboards. You can use M-x help-for-help instead to
invoke help. To discover what key (if any) invokes help on your system,
type "M-x where-is RET help-for-help 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 invokes help.
NOTE: Emacs help works best if it is invoked by a single key whose value
should be stored in the variable help-char.
There is also a WWW-based tutorial for Emacs 18, much of which is also
relevant for Emacs 20, available at
14: How do I find out how to do something in Emacs?
There are several methods for finding out how to do things in Emacs.
* The complete text of the Emacs manual is available on-line via the Info
hypertext reader. Type "C-h i" to invoke Info. Typing `h' immediately
after entering Info will provide a short tutorial on how to use it.
* You can order a hardcopy of the manual from the FSF. See question 15.
* You can get a printed reference card listing commands and keys to
invoke them. You can order one from the FSF for $1 (or 10 for $5), or
you can print your own from the etc/refcard.tex or etc/ files
in the Emacs distribution.
* You can list all of the commands whose names contain a certain word
(actually which match a regular expression) using "C-h a" (M-x
* You can list all of the functions and variables whose names contain a
certain word using M-x apropos.
* There are many other commands in Emacs for getting help and
information. To get a list of these commands, type `?' after `C-h'.
15: How do I get a printed copy of the Emacs manual?
You can order a printed copy of the Emacs manual from the FSF. For
details see the file etc/ORDERS.
The full TeX source for the manual also comes in the "man" directory of
the Emacs distribution, if you're daring enough to try to print out this
440-page manual yourself (see question 18).
If you absolutely have to print your own copy, and you don't have TeX,
you can get a PostScript version from
Note that the above document is somewhat out of date, although most major
concepts are still relevant. This site requests that you please *confine
any major ftping to late evenings or early mornings, local time* (Pacific
time zone, GMT-8).
A WWW version of the (somewhat outdated) Emacs 19.34 manual is at
See also question 14 for how to view the manual on-line.
16: Where can I get documentation on Emacs Lisp?
Within Emacs, you can type "C-h f" to get the documentation for a
function, "C-h v" for a variable.
For more information, obtain the Emacs Lisp Reference Manual. Details on
ordering it from FSF are in file etc/ORDERS.
The Emacs Lisp Reference Manual is also available on-line, in Info
format. Texinfo source for the manual (along with pregenerated Info
files) is available at
and all mirrors of (See question 92 for a list). See
question 17 if you want to install the Info files, or question 18 if you
want to use the Texinfo source to print the manual yourself.
WWW versions of the Emacs Lisp Reference Manual are available at
17: How do I install a piece of Texinfo documentation?
First, you must turn the Texinfo files into Info files. You may do this
using the stand-alone "makeinfo" program, available as part of the latest
Texinfo package at
and all mirrors of (see question 92 for a list).
For information about the Texinfo format, read the Texinfo manual which
comes with Emacs. This manual also comes installed in Info format, so
you can read it on-line.
Neither texinfo-format-buffer nor makeinfo installs the resulting Info
files in Emacs's Info tree. To install Info files:
1. Move the files to the "info" directory in the installed Emacs
distribution. See question 4 if you don't know where that is.
2. Edit the file info/dir in the installed Emacs distribution, and add a
line for the top level node in the Info package that you are
installing. Follow the examples already in this file. The format is:
* Topic: (relative-pathname). Short description of topic.
If (as it should have done) the Texinfo file used the @direntry
command, you can run the "install-info" command from the current
Texinfo distribution to do this automatically -- see the example in