Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

GNU Emacs Frequently Asked Questions (FAQ), part 3/5

( Part1 - Part2 - Part3 - Part4 - Part5 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Airports ]
Archive-name: GNU-Emacs-FAQ/part3

See reader questions & answers on this topic! - Help others by sharing your knowledge

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.



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 <> 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

    #define VALBITS 26
    #define GCTYPEBITS 5

  WARNING: This method may result in "ILLEGAL DATATYPE" and other random
  errors on some machines.

  David Gillespie <> 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

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

  Or put this in your .emacs_tcsh file:

    unset edit
    stty nl

  Alternatively, use csh in your shell buffers instead of tcsh.  One way

    (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":


  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
  variables, emulating the functionality provided by programs written using

  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"
    + then in the value of the XENVIRONMENT environment variable,
      - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it
        (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 <> 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

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

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

    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

    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

  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, the main GNU distribution site, sources are
    available at

    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

    Again, you should use one of the mirror sites in question 92 (and
    adjust the URL accordingly) so as to reduce load on

  * Gzip, the GNU compression utility.  You can get gzip via anonymous ftp
    at mirrors of 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, 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

  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  Please do not post it to
  or e-mail it to  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 <> 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

      #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

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 <>.  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

  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

          ange-ftp (4.18)       15-Jul-1992
               Andy Norman, <>
               transparent FTP Support for GNU Emacs
          auto-save (1.19)      01-May-1992
               Sebastian Kremer, <>
               Safer autosaving with support for ange-ftp and /tmp
          ftp-quik (1.0)        28-Jul-1993
               Terrence Brannon, <>
               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

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:

  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
  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 and is available at

  Read the files etc/DISTRIB and etc/FTP for more information.

  A list of sites mirroring can be found at

93:  What is the difference between Emacs and XEmacs (formerly "Lucid

  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

  More information about XEmacs, including a list of frequently asked
  questions (FAQ), is available at

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

  And the binary itself is available in the files em1934*.zip in the

  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 <> and Darrel Hankerson
  <>, 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


  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 "", from
            the URL mentioned above.

  Utilities: make, mv, sed, rm.  

            All of these utilities are available at


            16-bit utilities can be found in 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

  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

  For information on Emacs for Windows 95 and NT, read the FAQ produced by
  Geoff Voelker <>, available at

  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:

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

98:  Where can I get Emacs for my Amiga?

  The files you need are available at

  David Gilbert <> has released a beta
  version of Emacs 19.25 for the Amiga.  You can get the binary at

99:  Where can I get Emacs for NeXTSTEP? is a NeXTSTEP version of Emacs 19.34 which supports colors,
  menus, and multiple frames.  You can get it from

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

  To the best of our knowledge, Emacs 19 has not been ported to the

  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

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

    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

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
  "", you would type


  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@[]              (to
    Body: ip XXX.YYY.ZZZ                 (or "help" for more information
                                                and options - no quotes) 

    To: resolve@[]         (to
    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 <>
  Latest version: 6.67
  Anonymous FTP:
  Newsgroups and mailing lists:
    Informational newsgroup/mailing list: (newsgroup) (for subscriptions) (for submissions)
    Bug reports newsgroup/mailing list:
      gnu.emacs.vm.bug (newsgroup) (for subscriptions) (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 <>
  Latest version: 3.1 (comes with Emacs 20)

  World Wide Web:
  Mailing list: (for subscriptions) (for submissions)
  NOTE: Superyank is an old version of Supercite.

106: Calc -- poor man's Mathematica within Emacs

  Author: Dave Gillespie <>
  Latest version: 2.02f
  Anonymous FTP:
  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 <>
  Latest version: 4.3
  Anonymous FTP:

108: AUC TeX -- enhanced LaTeX mode with debugging facilities

  Authors: Kresten Krab Thorup <>
           and Per Abrahamsen <>
  Latest version: 9.8l
  Anonymous FTP:
  Mailing list: (for subscriptions) (for submissions) (auc-tex development team)
  World Wide Web:

109: BBDB -- personal Info Rolodex integrated with mail/news readers

  Maintainer: Matt Simmons <>
  Latest released version: 2.00
  Available from:
  Mailing lists: (for subscriptions) (for submissions) (to be informed of new releases)

110: Ispell -- spell checker in C with interface for Emacs

  Author: Geoff Kuenning <>
  Latest released version: 3.1.20
  Anonymous FTP:
   Master Sites:
   Known Mirror Sites:
  World Wide Web:

  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 <>
  Latest version: 4.0pre.39
  Anonymous FTP:
  Mailing lists: (to get announcements of new versions) (for beta-testers of new versions) (for developers of W3)

112: EDB -- Database program for Emacs; replaces forms editing modes

  Author: Michael Ernst <>
  Latest version: 1.21
  Anonymous FTP:

113: Mailcrypt -- PGP interface within Emacs mail and news

  Authors: Patrick J. LoPresti <> and 
           Jin S. Choi <>
  Maintainer: Len Budney <>
  Latest version: 3.5.1
  Anonymous FTP:
  World Wide Web:

114: JDE -- Development environment for Java programming

  Author: Paul Kinnucan <>
  Mailing list:
  Latest version: 2.1.1
  World Wide Web:

115: Patch -- program to apply "diffs" for updating files

  Author: Larry Wall <> (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:

Part1 - Part2 - Part3 - Part4 - Part5

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:

Last Update March 27 2014 @ 02:11 PM