------------------------------------------------------------
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 w3-mode installed (see question 111), you can visit ftp and
HTTP uniform resource locators (URLs) by placing the cursor on the URL and
typing M-x w3-follow-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.
------------------------------------------------------------
Bugs/Problems
71: Does Emacs have problems with files larger than 8 megabytes?
Old versions (i.e., anything before 19.29) of Emacs had problems editing
files larger than 8 megabytes. As of version 19.29, the maximum buffer
size is at least 2^27-1, or 134,217,727 bytes.
If you are using an older version of Emacs and cannot upgrade, you will
have to recompile. Leonard N. Zubkoff <lnz@lucid.com> suggests putting
the following two lines in src/config.h before compiling Emacs to allow
for 26-bit integers and pointers (and thus file sizes of up to 33,554,431
bytes):
#define VALBITS 26
#define GCTYPEBITS 5
WARNING: This method may result in "ILLEGAL DATATYPE" and other random
errors on some machines.
David Gillespie <daveg@csvax.cs.caltech.edu> explains how this problems
crops up; while his numbers are true only for pre-19.29 versions of
Emacs, the theory remains the same with current versions.
Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
language in the sense that you can put any value of any type into any
variable, or return it from a function, and so on. So each value must
carry a "tag" along with it identifying what kind of thing it is, e.g.,
integer, pointer to a list, pointer to an editing buffer, and so on.
Emacs uses standard 32-bit integers for data objects, taking the top 8
bits for the tag and the bottom 24 bits for the value. So integers
(and pointers) are somewhat restricted compared to true C integers and
pointers.
72: How do I get rid of ^M or echoed commands in my shell buffer?
Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them
go away. If that doesn't work, you have several options:
For tcsh, put this in your .cshrc (or .tcshrc) file:
if ($?EMACS) then
if ("$EMACS" == t) then
if ($?tcsh) unset edit
stty nl
endif
endif
Or put this in your .emacs_tcsh file:
unset edit
stty nl
Alternatively, use csh in your shell buffers instead of tcsh. One way
is:
(setq explicit-shell-file-name "/bin/csh")
and another is to do this in your .cshrc (or .tcshrc) file:
setenv ESHELL /bin/csh
(You must start Emacs over again with the environment variable properly
set for this to take effect.)
You can also set the ESHELL environment variable in Emacs Lisp with
the following Lisp form,
(setenv "ESHELL" "/bin/csh")
On a related note: If your shell is echoing your input line in the shell
buffer, you might want to try the following command in your shell
start-up file:
stty -icrnl -onlcr -echo susp ^Z
73: Why do I get "Process shell exited abnormally with code 1"?
The most likely reason for this message is that the "env" program is not
properly installed. Compile this program for your architecture, and
install it with a+x permission in the architecture-dependent Emacs
program directory. (You can find what this directory is at your site by
inspecting the value of the variable exec-directory by typing "C-h v
exec-directory RET".)
You should also check for other programs named "env" in your path (e.g.,
SunOS has a program named /usr/bin/env). We don't understand why this
can cause a failure and don't know a general solution for working around
the problem in this case.
The "make clean" command will remove "env" and other vital programs, so
be careful when using it.
It has been reported that this sometimes happened when Emacs was started
as an X client from an xterm window (i.e., had a controlling tty) but the
xterm was later terminated.
See also PROBLEMS (in the top-level directory when you unpack the Emacs
source) for other possible causes of this message.
74: Where is the termcap/terminfo entry for terminal type "emacs"?
The termcap entry for terminal type "emacs" is ordinarily put in the
TERMCAP environment variable of subshells. It may help in certain
situations (e.g., using rlogin from shell buffer) to add an entry for
"emacs" to the system-wide termcap file. Here is a correct termcap entry
for "emacs":
emacs:tc=unknown:
To make a terminfo entry for "emacs", use "tic" or "captoinfo." You need
to generate /usr/lib/terminfo/e/emacs. It may work to simply copy
/usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs.
Having a termcap/terminfo entry will not enable the use of full screen
programs in shell buffers. Use M-x terminal-emulator for that instead.
A workaround to the problem of missing termcap/terminfo entries is to
change terminal type "emacs" to type "dumb" or "unknown" in your shell
start up file. "csh" users could put this in their .cshrc files:
if ("$term" == emacs) set term=dumb
75: Why does Emacs spontaneously start displaying "I-search:" and beeping?
Your terminal (or something between your terminal and the computer) is
sending C-s and C-q for flow control, and Emacs is receiving these
characters and interpreting them as commands. (The C-s character
normally invokes the isearch-forward command.) For possible solutions,
see question 122.
76: Why can't Emacs talk to certain hosts (or certain hostnames)?
The problem may be that Emacs is linked with a wimpier version of
gethostbyname than the rest of the programs on the machine. This is
often manifested as a message on startup of "X server not responding.
Check your DISPLAY environment variable." or a message of "Unknown host"
from open-network-stream.
On a Sun, this may be because Emacs had to be linked with the static C
library. The version of gethostbyname in the static C library may only
look in /etc/hosts and the NIS (YP) maps, while the version in the
dynamic C library may be smart enough to check DNS in addition to or
instead of NIS. On a Motorola Delta running System V R3.6, the version
of gethostbyname in the standard library works, but the one that works
with NIS doesn't (the one you get with -linet). Other operating systems
have similar problems.
Try these options:
* Explicitly add the host you want to communicate with to /etc/hosts.
* Relink Emacs with this line in src/config.h:
#define LIBS_SYSTEM -lresolv
* Replace gethostbyname and friends in libc.a with more useful versions
such as the ones in libresolv.a. Then relink Emacs.
* If you are actually running NIS, make sure that "ypbind" is properly
told to do DNS lookups with the correct command line switch.
77: Why does Emacs say "Error in init file"?
An error occurred while loading either your .emacs file or the
system-wide lisp/default.el file. For information on how to debug your
.emacs file, see question 27.
It may be the case that you need to load some package first, or use a
hook that will be evaluated after the package is loaded. A common case
of this is explained in question 118.
78: Why does Emacs ignore my X resources (my .Xdefaults file)?
As of version 19, Emacs searches for X resources in the files specified
by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment
variables, emulating the functionality provided by programs written using
Xt.
XFILESEARCHPATH and XUSERFILESEARCHPATH should be a list of file names
separated by colons; XAPPLRESDIR should be a list of directory names
separated by colons.
Emacs searches for X resources
+ specified on the command line, with the "-xrm RESOURCESTRING"
option,
+ then in the value of the XENVIRONMENT environment variable,
- or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it
exists
(where HOSTNAME is the hostname of the machine Emacs is running on),
+ then in the screen-specific and server-wide resource properties
provided by the server,
- or if those properties are unset, in the file named ~/.Xdefaults
if it exists,
+ then in the files listed in XUSERFILESEARCHPATH,
- or in files named LANG/Emacs in directories listed in XAPPLRESDIR
(where LANG is the value of the LANG environment variable), if
the LANG environment variable is set,
- or in files named Emacs in the directories listed in XAPPLRESDIR
- or in ~/LANG/Emacs (if the LANG environment variable is set),
- or in ~/Emacs,
+ then in the files listed in XFILESEARCHPATH.
79: Why does Emacs take 20 seconds to visit a file?
Old versions of Emacs (i.e., versions before Emacs 20.x) often
encountered this when the master lock file, "!!!SuperLock!!!" has been
left in the lock directory somehow. Delete it.
Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an
exclusive create succeeds but returns an error status. This can cause
the same problem. Since Emacs's file locking doesn't work over NFS
anyway, the best solution is to recompile Emacs with CLASH_DETECTION
undefined.
80: How do I edit a file with a `$' in its name?
When entering a filename in the minibuffer, Emacs will attempt to expand
a `$' followed by a word as an environment variable. To suppress this
behavior, type "$$" instead.
81: Why does shell mode lose track of the shell's current directory?
Emacs has no way of knowing when the shell actually changes its
directory. This is an intrinsic limitation of Unix. So it tries to
guess by recognizing "cd" commands. If you type "cd" followed by a
directory name with a variable reference ("cd $HOME/bin") or with a shell
metacharacter ("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 (see question 89).
You can tell Emacs the shell's current directory with the command "M-x
dirs".
82: Are there any security risks in Emacs?
* the "movemail" incident (No, this is not a risk.)
In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter
4. The site at LBL had installed the "etc/movemail" program setuid
root. (As of version 19, movemail is in your architecture-specific
directory; type "C-h v exec-directory RET" to see what it is.) Since
"movemail" had not been designed for this situation, a security hole
was created and users could get root privileges.
"movemail" has since been changed so that this security hole will not
exist, even if it is installed setuid root. However, movemail no
longer needs to be installed setuid root, which should eliminate this
particular risk.
We have heard unverified reports that the 1988 Internet worm took
advantage of this configuration problem.
* the file-local-variable feature (Yes, a risk, but easy to change.)
There is an Emacs feature that allows the setting of local values for
variables when editing a file by including specially formatted text
near the end of the file. This feature also includes the ability to
have arbitrary Emacs Lisp code evaluated when the file is visited.
Obviously, there is a potential for Trojan horses to exploit this
feature.
Emacs 18 allowed this feature by default; users could disable it by
setting the variable inhibit-local-variables to a non-nil value.
As of Emacs 19, Emacs has a list of local variables that create a
security risk. If a file tries to set one of them, it asks the user to
confirm whether the variables should be set. You can also tell Emacs
whether to allow the evaluation of Emacs Lisp code found at the bottom
of files by setting the variable enable-local-eval.
For more information, see "File Variables" in the on-line manual.
* synthetic X events (Yes, a risk; use MIT-MAGIC-COOKIE-1 or better.)
Emacs accepts synthetic X events generated by the SendEvent request as
though they were regular events. As a result, if you are using the
trivial host-based authentication, other users who can open X
connections to your X workstation can make your Emacs process do
anything, including run other processes with your privileges.
The only fix for this is to prevent other users from being able to open
X connections. The standard way to prevent this is to use a real
authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the
"xauth" program has any effect, then you are probably using
MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication
method; ask your system administrator.
If real authentication is not a possibility, you may be satisfied by
just allowing hosts access for brief intervals while you start your X
programs, then removing the access. This reduces the risk somewhat by
narrowing the time window when hostile users would have access, but
DOES NOT ELIMINATE THE RISK.
On most computers running Unix and X Windows, you enable and disable
access using the "xhost" command. To allow all hosts access to your X
server, use
xhost +
at the shell prompt, which (on an HP machine, at least) produces the
following message:
access control disabled, clients can connect from any host
To deny all hosts access to your X server (except those explicitly
allowed by name), use
xhost -
On the test HP computer, this command generated the following message:
access control enabled, only authorized clients can connect
83: Dired says, "no file on this line" when I try to do something.
Chances are you're using a localized version of Unix that doesn't
use US date format in dired listings. You can check this by looking
at dired listings or by typing `ls -l' to a shell and looking at the
dates that come out.
Dired uses a regular expression to find the beginning of a file
name. In a long Unix-style directory listing ("ls -l"), the file
name starts after the date. The regexp has thus been written to
look for the date, the format of which can vary on non-US systems.
There are two approaches to solving this. The first one involves
setting things up so that "ls -l" outputs US date format. This can
be done by setting the locale. See your OS manual for more
information.
The second approach involves changing the regular expression used by
dired, dired-move-to-filename-regexp.
Difficulties Building/Installing/Porting Emacs
84: How do I install Emacs?
This answer is meant for users of Unix and Unix-like systems. Users of
other operating systems should see the series of questions beginning with
question 94, which describe where to get non-Unix source and binaries.
These packages should come with installation instructions.
For Unix and Unix-like systems, the easiest way is often to compile it
from scratch. You will need:
* Emacs sources. See question 92 for a list of ftp sites that make them
available. On ftp.gnu.org, the main GNU distribution site, sources are
available at
ftp://ftp.gnu.org/pub/gnu/emacs/emacs-20.3.tar.gz
The above will obviously change as new versions of Emacs come out. For
instance, when Emacs 20.4 is released, it will most probably be
available at
ftp://ftp.gnu.org/pub/gnu/emacs/emacs-20.4.tar.gz
Again, you should use one of the mirror sites in question 92 (and
adjust the URL accordingly) so as to reduce load on ftp.gnu.org.
* Gzip, the GNU compression utility. You can get gzip via anonymous ftp
at mirrors of ftp.gnu.org sites; it should compile and install without
much trouble on most systems. Once you have retrieved the Emacs
sources, you will probably be able to uncompress them with the command
gunzip --verbose emacs-20.3.tar.gz
changing the Emacs version (20.3), as necessary. Once gunzip has
finished doing its job, a file by the name of "emacs-20.3.tar" should
be in your build directory.
* Tar, the "tape archiving" program, which moves multiple files into and
out of archive files, or "tarfiles." All of the files comprising the
Emacs source come in a single tarfile, and must be extracted using tar
before you can build Emacs. Typically, the extraction command would
look like
tar -xvvf emacs-20.3.tar
The `x' indicates that we want to extract files from this tarfile, the
two `v's force verbose output, and the `f' tells tar to use a disk
file, rather than one on tape.
If you're using GNU tar (available at mirrors of ftp.gnu.org), you can
combine this step and the previous one by using the command
tar -zxvvf emacs-20.3.tar.gz
The additional `z' at the beginning of the options list tells GNU tar
to uncompress the file with gunzip before extracting the tarfile's
components.
At this point, the Emacs sources (all 25+ megabytes of them) should be
sitting in a directory called "emacs-20.3". On most common Unix and
Unix-like systems, you should be able to compile Emacs (with X Windows
support) with the following commands:
cd emacs-20.3 [ change directory to emacs-20.3 ]
./configure [ configure Emacs for your particular system ]
make [ use Makefile to build components, then Emacs ]
If the "make" completes successfully, the odds are fairly good that the
build has gone well. (See question 86 if you weren't successful.)
To install Emacs in its default directories of /usr/local/bin (binaries),
/usr/local/share/emacs/20.xx (Lisp code and support files), and
/usr/local/info (Info documentation), become the super-user and type
make install
Note that "make install" will overwrite /usr/local/bin/emacs and any
Emacs Info files that might be in /usr/local/info.
Much more verbose instructions (with many more hints and suggestions)
come with the Emacs sources, in the file "INSTALL".
85: How do I update Emacs to the latest version?
Follow the instructions in question 84.
Emacs places nearly everything in version-specific directories (e.g.,
/usr/local/share/emacs/20.3), so the only files that can be overwritten
when installing a new release are /usr/local/bin/emacs and the Emacs Info
documentation in /usr/local/info. Back up these files before you install
a new release, and you shouldn't have too much trouble.
86: What should I do if I have trouble building Emacs?
First look in the file PROBLEMS (in the top-level directory when you
unpack the Emacs source) to see if there is already a solution for your
problem. Next, look for other questions in this FAQ that have to do with
Emacs installation and compilation problems.
If you'd like to have someone look at your problem and help solve it, see
question 21.
If you don't find a solution, then report your problem via e-mail to
bug-gnu-emacs@gnu.org. Please do not post it to gnu.emacs.help
or e-mail it to help-gnu-emacs@gnu.org. For further guidelines,
see question 8 and question 10.
87: Why does linking Emacs with -lX11 fail?
Emacs needs to be linked with the static version of the X11 library,
libX11.a. This may be missing.
Under OpenWindows, you may need to use "add_services" to add the
"OpenWindows Programmers" optional software category from the CD-ROM.
Under HP-UX 8.0, you may need to run "update" again to load the X11-PRG
"fileset". This may be missing even if you specified "all filesets" the
first time. If libcurses.a is missing, you may need to load the
"Berkeley Development Option."
David Zuhn <zoo@armadillo.com> says that MIT X builds shared libraries by
default, and only shared libraries, on those platforms that support them.
These shared libraries can't be used when undumping temacs (the last
stage of the Emacs build process). To get regular libraries in addition
to shared libraries, add this to site.cf:
#define ForceNormalLib YES
Other systems may have similar problems. You can always define
CANNOT_DUMP and link with the shared libraries instead.
To get the Xmenu stuff to work, you need to find a copy of MIT's
liboldX.a.
Finding/Getting Emacs and Related Packages
88: Where can I get Emacs on the net (or by snail mail)?
Look in the files etc/DISTRIB and etc/FTP for information on nearby
archive sites and etc/ORDERS for mail orders. If you don't already have
Emacs, see question 20 for how to get these files.
See question 84 for information on how to obtain and build the latest
version of Emacs, and question 92 for a list of archive sites that make
GNU software available.
89: How do I find a Emacs Lisp package that does XXX?
First of all, you should check to make sure that the package isn't
already available. For example, typing "M-x apropos RET wordstar RET"
lists all functions and variables containing the string "wordstar".
It is also possible that the package is on your system, but has not been
loaded. To see which packages are available for loading, look through
your computer's lisp directory (see question 4). The Lisp source to most
most packages contains a short description of how they should be loaded,
invoked, and configured -- so before you use or 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,
maintained by Dave Brennan <brennan@hal.com>. The directory is contained
in the file LCD-datafile.Z, available from the Emacs Lisp Archive (see
question 90), and is accessed using the "lispdir" package, available from
the same site. Note that lispdir.el requires crypt++, which you can grab
from the Emacs Lisp Archive's "misc" subdirectory when you get
lispdir.el.
Once you have installed lispdir.el and LCD-datafile, you can use "M-x
lisp-dir-apropos" to search the listing. For example, "M-x
lisp-dir-apropos RET ange-ftp RET" produces this output:
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
You actually don't need the directory file LCD-datafile if your computer
is on the Internet, since the latest version is retrieved automatically
the first time you type "M-x lisp-dir-apropos" in a particular Emacs
session. If you would prefer to use a local copy of LCD-datafile, be
sure to set the variable lisp-code-directory at the top of the lispdir.el
source code.
A searchable version of the LCD is also available at
http://www.cs.indiana.edu/LCD/cover.html
90: Where can I get Emacs Lisp packages that don't come with Emacs?
First, check the Lisp Code Directory to find the name of the package you
are looking for (see question 89). 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 (see question 91).
You can access the Emacs Lisp Archive at:
ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/
Retrieve and read the file README first.
NOTE: * 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.
* Any files with names ending in ".Z", ".z", or ".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 ".elc".
91: How do I submit code to the Emacs Lisp Archive?
Guidelines and procedures for submission to the archive can be found in
the file GUIDELINES in the archive directory (see question 90). It
covers documentation, copyrights, packaging, submission, and the Lisp
Code Directory Record. Anonymous FTP uploads are not permitted.
Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu.
The lispdir.el package has a function named submit-lcd-entry which will
help you with this.
92: Where can I get other up-to-date GNU stuff?
The most up-to-date official GNU software is normally kept on
ftp.gnu.org and is available at
ftp://ftp.gnu.org/pub/gnu
Read the files etc/DISTRIB and etc/FTP for more information.
A list of sites mirroring ftp.gnu.org can be found at
http://www.gnu.org/order/ftp.html
93: What is the difference between Emacs and XEmacs (formerly "Lucid
Emacs")?
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, while XEmacs can do some clever tricks with X Windows, such as
putting arbitrary graphics in a buffer. 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.)
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 version of XEmacs as of this writing is 20.4; you can get it
at
ftp://ftp.xemacs.org/pub/tux/xemacs/xemacs-20.4/
More information about XEmacs, including a list of frequently asked
questions (FAQ), is available at
http://www.xemacs.org/
94: Where can I get Emacs for my PC running MS-DOS?
A pre-built binary distribution of Emacs is available from the Simtel
archives. This version apparently works under MS-DOS and Windows (3.x,
95, and NT) and supports long file names. More information is availble
from:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/
And the binary itself is available in the files em1934*.zip in the
directory
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/
If you prefer to compile Emacs for yourself, you will need a 386 (or
better) processor, and are running MS-DOS 3.0 or later. According to Eli
Zaretskii <eliz@is.elta.co.il> and Darrel Hankerson
<hankedr@dms.auburn.edu>, you will need the following:
Compiler: djgpp version 1.12 maint 1 or later. Djgpp 2.0 or later is
recommended, since 1.x is being phased out. Djgpp 2 supports
long filenames under Windows 95.
You can get the latest release of djgpp by retrieving
all of the files in
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp
Gunzip and tar:
The easiest way is to use "djtar" which comes with djgpp v2.x,
because it can open gzip'ed tarfiles (i.e., those ending with
".tar.gz") in one step. Djtar comes in "djdev201.zip", from
the URL mentioned above.
Utilities: make, mv, sed, rm.
All of these utilities are available at
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/
16-bit utilities can be found in GNUish:
ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish
The files INSTALL and PROBLEMS in the top-level directory of the Emacs
source contains some additional information 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,"
available at
ftp://rtfm.mit.edu/pub/usenet/comp.emacs/
Note that while many of these programs look similar to Emacs, they often
lack certain features, such as the Emacs Lisp extension language.
95: Where can I get Emacs for Microsoft Windows, Windows '95, or Windows
NT?
For information on Emacs for Windows 95 and NT, read the FAQ produced by
Geoff Voelker <voelker@cs.washington.edu>, available at
http://www.cs.washington.edu/homes/voelker/ntemacs.html
For Windows 3.1, see question 94.
96: Where can I get Emacs for my PC running OS/2?
Emacs 19.33 is ported for emx on OS/2 2.0 or 2.1, and is available at:
ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/v19.33/
97: Where can I get Emacs for my Atari ST?
Roland Schäuble reports that Emacs 18.58 running on plain TOS and MiNT
is available at
ftp://atari.archive.umich.edu/Editors/Emacs-18-58/
98: Where can I get Emacs for my Amiga?
The files you need are available at
ftp://ftp.wustl.edu/pub/aminet/util/gnu/
David Gilbert <dgilbert@gamiga.guelphnet.dweomer.org> has released a beta
version of Emacs 19.25 for the Amiga. You can get the binary at
ftp://ftp.wustl.edu/pub/aminet/util/gnu/
99: Where can I get Emacs for NeXTSTEP?
Emacs.app is a NeXTSTEP version of Emacs 19.34 which supports colors,
menus, and multiple frames. You can get it from
ftp://next-ftp.peak.org/pub/next/apps/emacs/
100: Where can I get Emacs for my Apple computer?
An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a
number of ftp sites, the home being
ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin
To the best of our knowledge, Emacs 19 has not been ported to the
Macintosh.
Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep.
See question 99 for more details about that version.
101: Where do I get Emacs that runs on VMS under DECwindows?
Up-to-date information about GNU software (including Emacs) for VMS is
available at
http://vms.gnu.org/
102: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++,
Objective-C, Pascal, Java, and Awk?
Most of these modes are now available in standard Emacs distribution. To
get additional modes, look in the Lisp Code Directory (see question 89).
For C++, if you use lisp-dir-apropos, you must specify the pattern like
this:
M-x lisp-dir-apropos RET c\+\+ RET
Note that Barry Warsaw's cc-mode now works for C, C++, Objective-C, and
Java code. You can get the latest version from the Emacs Lisp Archive;
see question 90 for details. A FAQ for cc-mode is available at
http://www.python.org/emacs/cc-mode/
103: What is the IP address of XXX.YYY.ZZZ?
If you are on a Unix machine, try using the "nslookup" command, included
in the Berkeley BIND package. For example, to find the IP address of
"ftp.gnu.org", you would type
nslookup ftp.gnu.org
Your computer should then provide the IP address of that computer.
If your site's nameserver is deficient, you can use IP addresses to FTP
files. You can get this information by
* E-mail:
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)
or:
To: resolve@[147.31.254.130] (to laverne.cs.widener.edu)
Body: site XXX.YYY.ZZZ
Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
104: VM (View Mail) -- another mail reader within Emacs, with MIME support
Author: Kyle Jones <kyle@uunet.uu.net>
Latest version: 6.67
Anonymous FTP:
ftp://ftp.wonderworks.com/pub/vm/vm.tar.gz
Newsgroups and mailing lists:
Informational newsgroup/mailing list:
gnu.emacs.vm.info (newsgroup)
info-vm-request@uunet.uu.net (for subscriptions)
info-vm@uunet.uu.net (for submissions)
Bug reports newsgroup/mailing list:
gnu.emacs.vm.bug (newsgroup)
bug-vm-request@uunet.uu.net (for subscriptions)
bug-vm@uunet.uu.net (for submissions)
NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people
seem to use it without too much trouble). Users of Emacs 20 might prefer
to use VM 5.97, available from the same FTP site.
105: Supercite -- mail and news citation package within Emacs
Author: Barry Warsaw <bwarsaw@cen.com>
Latest version: 3.1 (comes with Emacs 20)
World Wide Web:
http://www.python.org/emacs/supercite.tar.gz
Mailing list:
supercite-request@python.org (for subscriptions)
supercite@python.org (for submissions)
NOTE: Superyank is an old version of Supercite.
106: Calc -- poor man's Mathematica within Emacs
Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
Latest version: 2.02f
Anonymous FTP:
ftp://ftp.gnu.org/pub/gnu/calc/calc-2.02f.tar.gz
NOTE: Unlike Wolfram Research, Dave has never threatened to sue
anyone for having a program with a similar command language to
Calc. :-)
107: VIPER -- vi emulation for Emacs
Since Emacs 19.29, the preferred vi emulation in Emacs is VIPER (M-x
viper-mode RET), which comes with Emacs. It extends and supersedes VIP
(including VIP 4.3) and provides vi emulation at several levels, from one
that closely follows vi to one that departs from vi in several
significant ways.
For Emacs 19.28 and earlier, the following version of VIP is generally
better than the one distributed with Emacs:
Author: Aamod Sane <sane@cs.uiuc.edu>
Latest version: 4.3
Anonymous FTP:
ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/modes/
108: AUC TeX -- enhanced LaTeX mode with debugging facilities
Authors: Kresten Krab Thorup <krab@iesd.auc.dk>
and Per Abrahamsen <abraham@iesd.auc.dk>
Latest version: 9.8l
Anonymous FTP:
ftp://sunsite.auc.dk/packages/auctex/
Mailing list:
auc-tex-request@iesd.auc.dk (for subscriptions)
auc-tex@iesd.auc.dk (for submissions)
auc-tex_mgr@iesd.auc.dk (auc-tex development team)
World Wide Web:
http://sunsite.auc.dk/auctex/
109: BBDB -- personal Info Rolodex integrated with mail/news readers
Maintainer: Matt Simmons <simmonmt@acm.org>
Latest released version: 2.00
Available from:
http://www.netcom.com/~simmonmt/bbdb/index.html
Mailing lists:
info-bbdb-request@xemacs.org (for subscriptions)
info-bbdb@xemacs.org (for submissions)
bbdb-announce-request@xemacs.org (to be informed of new releases)
110: Ispell -- spell checker in C with interface for Emacs
Author: Geoff Kuenning <geoff@itcorp.com>
Latest released version: 3.1.20
Anonymous FTP:
Master Sites:
ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz
Known Mirror Sites:
ftp://ftp.th-darmstadt.de/pub/dicts/ispell/
ftp://ftp.nl.net/pub/textproc/ispell/
World Wide Web:
http://fmg-www.cs.ucla.edu/geoff/ispell.html
NOTE: * Do not ask Geoff to send you the latest version of Ispell.
He does not have free e-mail.
* This Ispell program is distinct from GNU Ispell 4.0. GNU
Ispell 4.0 is no longer a supported product.
111: W3-mode -- A World Wide Web browser inside of Emacs
Author: Bill Perry <wmperry@spry.com>
Latest version: 4.0pre.39
Anonymous FTP:
ftp://ftp.cs.indiana.edu/pub/elisp/w3/w3.tar.gz
Mailing lists:
w3-announce-request@indiana.edu (to get announcements of new versions)
w3-beta-request@indiana.edu (for beta-testers of new versions)
w3-dev@indiana.edu (for developers of W3)
112: EDB -- Database program for Emacs; replaces forms editing modes
Author: Michael Ernst <mernst@theory.lcs.mit.edu>
Latest version: 1.21
Anonymous FTP:
ftp://theory.lcs.mit.edu/pub/emacs/edb
113: Mailcrypt -- PGP interface within Emacs mail and news
Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and
Jin S. Choi <jin@atype.com>
Maintainer: Len Budney <lbudney@pobox.com>
Latest version: 3.5.1
Anonymous FTP:
http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5.1.tar.gz
World Wide Web:
http://www.nb.net/~lbudney/linux/software/mailcrypt.html
114: JDE -- Development environment for Java programming
Author: Paul Kinnucan <paulk@mathworks.com>
Mailing list: jde-subscribe@sunsite.auc.dk
Latest version: 2.1.1
World Wide Web: http://sunsite.auc.dk/jde/
115: Patch -- program to apply "diffs" for updating files
Author: Larry Wall <lwall@wall.org> (with GNU modifications)
Latest version: 2.5
Anonymous FTP: See question 92

User Contributions:

Comment about this article, ask questions, or add new information about this topic: