home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / GNU-Emacs-FAQ / part3 < prev    next >
Encoding:
Text File  |  1999-02-11  |  38.8 KB  |  970 lines

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.kodak.com!news-nysernet-16.sprintlink.net!news-east1.sprintlink.net!-program!news-peer1.sprintlink.net!news.sprintlink.net!news-peer.gip.net!news-penn.gip.net!news.gsl.net!gip.net!news-feed.netvision.net.il!194.90.1.15.MISMATCH!news!not-for-mail
  2. From: Reuven M. Lerner <reuven@netvision.net.il>
  3. Newsgroups: gnu.emacs.help,comp.emacs,comp.answers,news.answers
  4. Subject: GNU Emacs Frequently Asked Questions (FAQ), part 3/5
  5. Supersedes: <GNU-Emacs-FAQ-3_916181825@news.netvision.net.il>
  6. Followup-To: gnu.emacs.help
  7. Date: 10 Feb 1999 20:02:44 +0200
  8. Organization: GNU Emacs FAQ Central
  9. Lines: 948
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 21 Mar 1999 17:55:28 GMT
  12. Message-ID: <GNU-Emacs-FAQ-3_918669328@news.netvision.net.il>
  13. Reply-To: reuven@netvision.net.il
  14. NNTP-Posting-Host: ras2-p84.hfa.netvision.net.il
  15. X-Trace: news.netvision.net.il 918669893 8536 62.0.145.212 (10 Feb 1999 18:04:53 GMT)
  16. X-Complaints-To: abuse@netvision.net.il
  17. NNTP-Posting-Date: 10 Feb 1999 18:04:53 GMT
  18. Summary: Questions and answers having to do with GNU Emacs
  19. Keywords: GNU Emacs editors questions
  20. Xref: senator-bedfellow.mit.edu gnu.emacs.help:61420 comp.emacs:51514 comp.answers:35010 news.answers:150982
  21.  
  22. Archive-name: GNU-Emacs-FAQ/part3
  23.  
  24. ------------------------------------------------------------
  25.  
  26. If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
  27. $" to get an overview of just the questions.  Then, when you want to look
  28. at the text of the answers, just type "C-x $".
  29.  
  30. To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
  31. C-r if that doesn't work.  Type RET to end the search.
  32.  
  33. If you have w3-mode installed (see question 111), you can visit ftp and
  34. HTTP uniform resource locators (URLs) by placing the cursor on the URL and
  35. typing M-x w3-follow-url-at-point.
  36.  
  37. The FAQ is posted in five parts; if you are missing a section or would
  38. prefer to read the FAQ in a single file, see question 22.
  39.  
  40. ------------------------------------------------------------
  41.  
  42.  
  43.  
  44. Bugs/Problems
  45.  
  46. 71:  Does Emacs have problems with files larger than 8 megabytes?
  47.  
  48.   Old versions (i.e., anything before 19.29) of Emacs had problems editing
  49.   files larger than 8 megabytes.  As of version 19.29, the maximum buffer
  50.   size is at least 2^27-1, or 134,217,727 bytes.
  51.  
  52.   If you are using an older version of Emacs and cannot upgrade, you will
  53.   have to recompile. Leonard N. Zubkoff <lnz@lucid.com> suggests putting
  54.   the following two lines in src/config.h before compiling Emacs to allow
  55.   for 26-bit integers and pointers (and thus file sizes of up to 33,554,431
  56.   bytes):
  57.  
  58.     #define VALBITS 26
  59.     #define GCTYPEBITS 5
  60.  
  61.   WARNING: This method may result in "ILLEGAL DATATYPE" and other random
  62.   errors on some machines.
  63.  
  64.   David Gillespie <daveg@csvax.cs.caltech.edu> explains how this problems
  65.   crops up; while his numbers are true only for pre-19.29 versions of
  66.   Emacs, the theory remains the same with current versions.
  67.  
  68.     Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
  69.     language in the sense that you can put any value of any type into any
  70.     variable, or return it from a function, and so on.  So each value must
  71.     carry a "tag" along with it identifying what kind of thing it is, e.g.,
  72.     integer, pointer to a list, pointer to an editing buffer, and so on.
  73.     Emacs uses standard 32-bit integers for data objects, taking the top 8
  74.     bits for the tag and the bottom 24 bits for the value.  So integers
  75.     (and pointers) are somewhat restricted compared to true C integers and
  76.     pointers.
  77.  
  78. 72:  How do I get rid of ^M or echoed commands in my shell buffer?
  79.  
  80.   Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them
  81.   go away.  If that doesn't work, you have several options:
  82.  
  83.   For tcsh, put this in your .cshrc (or .tcshrc) file:
  84.  
  85.     if ($?EMACS) then
  86.         if ("$EMACS" == t) then
  87.             if ($?tcsh) unset edit
  88.             stty nl
  89.         endif
  90.     endif
  91.  
  92.   Or put this in your .emacs_tcsh file:
  93.  
  94.     unset edit
  95.     stty nl
  96.  
  97.   Alternatively, use csh in your shell buffers instead of tcsh.  One way
  98.   is:
  99.  
  100.     (setq explicit-shell-file-name "/bin/csh")
  101.  
  102.   and another is to do this in your .cshrc (or .tcshrc) file:
  103.  
  104.     setenv ESHELL /bin/csh
  105.  
  106.   (You must start Emacs over again with the environment variable properly
  107.   set for this to take effect.)
  108.  
  109.   You can also set the ESHELL environment variable in Emacs Lisp with
  110.   the following Lisp form,
  111.  
  112.     (setenv "ESHELL" "/bin/csh")
  113.  
  114.   On a related note: If your shell is echoing your input line in the shell
  115.   buffer, you might want to try the following command in your shell
  116.   start-up file:
  117.  
  118.     stty -icrnl -onlcr -echo susp ^Z
  119.  
  120. 73:  Why do I get "Process shell exited abnormally with code 1"?
  121.  
  122.   The most likely reason for this message is that the "env" program is not
  123.   properly installed.  Compile this program for your architecture, and
  124.   install it with a+x permission in the architecture-dependent Emacs
  125.   program directory.  (You can find what this directory is at your site by
  126.   inspecting the value of the variable exec-directory by typing "C-h v
  127.   exec-directory RET".)
  128.  
  129.   You should also check for other programs named "env" in your path (e.g.,
  130.   SunOS has a program named /usr/bin/env).  We don't understand why this
  131.   can cause a failure and don't know a general solution for working around
  132.   the problem in this case.
  133.  
  134.   The "make clean" command will remove "env" and other vital programs, so
  135.   be careful when using it.
  136.  
  137.   It has been reported that this sometimes happened when Emacs was started
  138.   as an X client from an xterm window (i.e., had a controlling tty) but the
  139.   xterm was later terminated.
  140.  
  141.   See also PROBLEMS (in the top-level directory when you unpack the Emacs
  142.   source) for other possible causes of this message.
  143.  
  144. 74:  Where is the termcap/terminfo entry for terminal type "emacs"?
  145.  
  146.   The termcap entry for terminal type "emacs" is ordinarily put in the
  147.   TERMCAP environment variable of subshells.  It may help in certain
  148.   situations (e.g., using rlogin from shell buffer) to add an entry for
  149.   "emacs" to the system-wide termcap file.  Here is a correct termcap entry
  150.   for "emacs":
  151.  
  152.     emacs:tc=unknown:
  153.  
  154.   To make a terminfo entry for "emacs", use "tic" or "captoinfo."  You need
  155.   to generate /usr/lib/terminfo/e/emacs.  It may work to simply copy
  156.   /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs.
  157.  
  158.   Having a termcap/terminfo entry will not enable the use of full screen
  159.   programs in shell buffers.  Use M-x terminal-emulator for that instead.
  160.  
  161.   A workaround to the problem of missing termcap/terminfo entries is to
  162.   change terminal type "emacs" to type "dumb" or "unknown" in your shell
  163.   start up file.  "csh" users could put this in their .cshrc files:
  164.  
  165.     if ("$term" == emacs) set term=dumb
  166.  
  167. 75:  Why does Emacs spontaneously start displaying "I-search:" and beeping?
  168.  
  169.   Your terminal (or something between your terminal and the computer) is
  170.   sending C-s and C-q for flow control, and Emacs is receiving these
  171.   characters and interpreting them as commands.  (The C-s character
  172.   normally invokes the isearch-forward command.)  For possible solutions,
  173.   see question 122.
  174.  
  175. 76:  Why can't Emacs talk to certain hosts (or certain hostnames)?
  176.  
  177.   The problem may be that Emacs is linked with a wimpier version of
  178.   gethostbyname than the rest of the programs on the machine.  This is
  179.   often manifested as a message on startup of "X server not responding.
  180.   Check your DISPLAY environment variable." or a message of "Unknown host"
  181.   from open-network-stream.
  182.  
  183.   On a Sun, this may be because Emacs had to be linked with the static C
  184.   library.  The version of gethostbyname in the static C library may only
  185.   look in /etc/hosts and the NIS (YP) maps, while the version in the
  186.   dynamic C library may be smart enough to check DNS in addition to or
  187.   instead of NIS.  On a Motorola Delta running System V R3.6, the version
  188.   of gethostbyname in the standard library works, but the one that works
  189.   with NIS doesn't (the one you get with -linet).  Other operating systems
  190.   have similar problems.
  191.  
  192.   Try these options:
  193.  
  194.   * Explicitly add the host you want to communicate with to /etc/hosts.
  195.  
  196.   * Relink Emacs with this line in src/config.h:
  197.  
  198.       #define LIBS_SYSTEM -lresolv
  199.  
  200.   * Replace gethostbyname and friends in libc.a with more useful versions
  201.     such as the ones in libresolv.a.  Then relink Emacs.
  202.  
  203.   * If you are actually running NIS, make sure that "ypbind" is properly
  204.     told to do DNS lookups with the correct command line switch.
  205.  
  206. 77:  Why does Emacs say "Error in init file"?
  207.  
  208.   An error occurred while loading either your .emacs file or the
  209.   system-wide lisp/default.el file.  For information on how to debug your
  210.   .emacs file, see question 27.
  211.  
  212.   It may be the case that you need to load some package first, or use a
  213.   hook that will be evaluated after the package is loaded.  A common case
  214.   of this is explained in question 118.
  215.  
  216. 78:  Why does Emacs ignore my X resources (my .Xdefaults file)?
  217.  
  218.   As of version 19, Emacs searches for X resources in the files specified
  219.   by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment
  220.   variables, emulating the functionality provided by programs written using
  221.   Xt.
  222.  
  223.   XFILESEARCHPATH and XUSERFILESEARCHPATH should be a list of file names
  224.   separated by colons; XAPPLRESDIR should be a list of directory names
  225.   separated by colons.
  226.  
  227.   Emacs searches for X resources
  228.  
  229.     + specified on the command line, with the "-xrm RESOURCESTRING"
  230.       option,
  231.     + then in the value of the XENVIRONMENT environment variable,
  232.       - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it
  233.         exists
  234.         (where HOSTNAME is the hostname of the machine Emacs is running on),
  235.     + then in the screen-specific and server-wide resource properties
  236.       provided by the server,
  237.       - or if those properties are unset, in the file named ~/.Xdefaults
  238.         if it exists,
  239.     + then in the files listed in XUSERFILESEARCHPATH,
  240.       - or in files named LANG/Emacs in directories listed in XAPPLRESDIR
  241.         (where LANG is the value of the LANG environment variable), if
  242.         the LANG environment variable is set,
  243.       - or in files named Emacs in the directories listed in XAPPLRESDIR
  244.       - or in ~/LANG/Emacs (if the LANG environment variable is set),
  245.       - or in ~/Emacs,
  246.     + then in the files listed in XFILESEARCHPATH.
  247.  
  248. 79:  Why does Emacs take 20 seconds to visit a file?
  249.  
  250.   Old versions of Emacs (i.e., versions before Emacs 20.x) often
  251.   encountered this when the master lock file, "!!!SuperLock!!!" has been
  252.   left in the lock directory somehow.  Delete it.
  253.  
  254.   Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an
  255.   exclusive create succeeds but returns an error status.  This can cause
  256.   the same problem.  Since Emacs's file locking doesn't work over NFS
  257.   anyway, the best solution is to recompile Emacs with CLASH_DETECTION
  258.   undefined.
  259.  
  260. 80:  How do I edit a file with a `$' in its name?
  261.  
  262.   When entering a filename in the minibuffer, Emacs will attempt to expand
  263.   a `$' followed by a word as an environment variable.  To suppress this
  264.   behavior, type "$$" instead.
  265.  
  266. 81:  Why does shell mode lose track of the shell's current directory?
  267.  
  268.   Emacs has no way of knowing when the shell actually changes its
  269.   directory.  This is an intrinsic limitation of Unix.  So it tries to
  270.   guess by recognizing "cd" commands.  If you type "cd" followed by a
  271.   directory name with a variable reference ("cd $HOME/bin") or with a shell
  272.   metacharacter ("cd ../lib*"), Emacs will fail to correctly guess the
  273.   shell's new current directory.  A huge variety of fixes and enhancements
  274.   to shell mode for this problem have been written to handle this problem.
  275.   Check the Lisp Code Directory (see question 89).
  276.  
  277.   You can tell Emacs the shell's current directory with the command "M-x
  278.   dirs".
  279.  
  280. 82:  Are there any security risks in Emacs?
  281.  
  282.   * the "movemail" incident (No, this is not a risk.)
  283.  
  284.     In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter
  285.     4.  The site at LBL had installed the "etc/movemail" program setuid
  286.     root.  (As of version 19, movemail is in your architecture-specific
  287.     directory; type "C-h v exec-directory RET" to see what it is.)  Since
  288.     "movemail" had not been designed for this situation, a security hole
  289.     was created and users could get root privileges.
  290.  
  291.     "movemail" has since been changed so that this security hole will not
  292.     exist, even if it is installed setuid root.  However, movemail no
  293.     longer needs to be installed setuid root, which should eliminate this
  294.     particular risk.
  295.  
  296.     We have heard unverified reports that the 1988 Internet worm took
  297.     advantage of this configuration problem.
  298.  
  299.   * the file-local-variable feature (Yes, a risk, but easy to change.)
  300.  
  301.     There is an Emacs feature that allows the setting of local values for
  302.     variables when editing a file by including specially formatted text
  303.     near the end of the file.  This feature also includes the ability to
  304.     have arbitrary Emacs Lisp code evaluated when the file is visited.
  305.     Obviously, there is a potential for Trojan horses to exploit this
  306.     feature.
  307.  
  308.     Emacs 18 allowed this feature by default; users could disable it by
  309.     setting the variable inhibit-local-variables to a non-nil value.
  310.  
  311.     As of Emacs 19, Emacs has a list of local variables that create a
  312.     security risk.  If a file tries to set one of them, it asks the user to
  313.     confirm whether the variables should be set.  You can also tell Emacs
  314.     whether to allow the evaluation of Emacs Lisp code found at the bottom
  315.     of files by setting the variable enable-local-eval.
  316.  
  317.     For more information, see "File Variables" in the on-line manual.
  318.  
  319.   * synthetic X events (Yes, a risk; use MIT-MAGIC-COOKIE-1 or better.)
  320.  
  321.     Emacs accepts synthetic X events generated by the SendEvent request as
  322.     though they were regular events.  As a result, if you are using the
  323.     trivial host-based authentication, other users who can open X
  324.     connections to your X workstation can make your Emacs process do
  325.     anything, including run other processes with your privileges.
  326.  
  327.     The only fix for this is to prevent other users from being able to open
  328.     X connections.  The standard way to prevent this is to use a real
  329.     authentication mechanism, such as MIT-MAGIC-COOKIE-1.  If using the
  330.     "xauth" program has any effect, then you are probably using
  331.     MIT-MAGIC-COOKIE-1.  Your site may be using a superior authentication
  332.     method; ask your system administrator.
  333.  
  334.     If real authentication is not a possibility, you may be satisfied by
  335.     just allowing hosts access for brief intervals while you start your X
  336.     programs, then removing the access.  This reduces the risk somewhat by
  337.     narrowing the time window when hostile users would have access, but
  338.     DOES NOT ELIMINATE THE RISK.
  339.  
  340.     On most computers running Unix and X Windows, you enable and disable
  341.     access using the "xhost" command.  To allow all hosts access to your X
  342.     server, use
  343.  
  344.       xhost +
  345.  
  346.     at the shell prompt, which (on an HP machine, at least) produces the
  347.     following message:
  348.  
  349.       access control disabled, clients can connect from any host
  350.  
  351.     To deny all hosts access to your X server (except those explicitly
  352.     allowed by name), use
  353.  
  354.       xhost -
  355.  
  356.     On the test HP computer, this command generated the following message:
  357.  
  358.       access control enabled, only authorized clients can connect
  359.  
  360. 83: Dired says, "no file on this line" when I try to do something.
  361.  
  362.   Chances are you're using a localized version of Unix that doesn't
  363.   use US date format in dired listings.  You can check this by looking
  364.   at dired listings or by typing `ls -l' to a shell and looking at the
  365.   dates that come out.
  366.  
  367.   Dired uses a regular expression to find the beginning of a file
  368.   name.  In a long Unix-style directory listing ("ls -l"), the file
  369.   name starts after the date.  The regexp has thus been written to
  370.   look for the date, the format of which can vary on non-US systems.
  371.  
  372.   There are two approaches to solving this.  The first one involves
  373.   setting things up so that "ls -l" outputs US date format.  This can
  374.   be done by setting the locale.  See your OS manual for more
  375.   information.
  376.  
  377.   The second approach involves changing the regular expression used by
  378.   dired, dired-move-to-filename-regexp.
  379.  
  380.  
  381. Difficulties Building/Installing/Porting Emacs
  382.  
  383. 84:  How do I install Emacs?
  384.  
  385.   This answer is meant for users of Unix and Unix-like systems.  Users of
  386.   other operating systems should see the series of questions beginning with
  387.   question 94, which describe where to get non-Unix source and binaries.
  388.   These packages should come with installation instructions.
  389.  
  390.   For Unix and Unix-like systems, the easiest way is often to compile it
  391.   from scratch.  You will need:
  392.  
  393.   * Emacs sources.  See question 92 for a list of ftp sites that make them
  394.     available.  On ftp.gnu.org, the main GNU distribution site, sources are
  395.     available at
  396.  
  397.       ftp://ftp.gnu.org/pub/gnu/emacs/emacs-20.3.tar.gz
  398.  
  399.     The above will obviously change as new versions of Emacs come out.  For
  400.     instance, when Emacs 20.4 is released, it will most probably be
  401.     available at
  402.  
  403.       ftp://ftp.gnu.org/pub/gnu/emacs/emacs-20.4.tar.gz
  404.  
  405.     Again, you should use one of the mirror sites in question 92 (and
  406.     adjust the URL accordingly) so as to reduce load on ftp.gnu.org.
  407.  
  408.   * Gzip, the GNU compression utility.  You can get gzip via anonymous ftp
  409.     at mirrors of ftp.gnu.org sites; it should compile and install without
  410.     much trouble on most systems.  Once you have retrieved the Emacs
  411.     sources, you will probably be able to uncompress them with the command
  412.  
  413.       gunzip --verbose emacs-20.3.tar.gz
  414.  
  415.     changing the Emacs version (20.3), as necessary.  Once gunzip has
  416.     finished doing its job, a file by the name of "emacs-20.3.tar" should
  417.     be in your build directory.
  418.  
  419.   * Tar, the "tape archiving" program, which moves multiple files into and
  420.     out of archive files, or "tarfiles."  All of the files comprising the
  421.     Emacs source come in a single tarfile, and must be extracted using tar
  422.     before you can build Emacs.  Typically, the extraction command would
  423.     look like
  424.  
  425.       tar -xvvf emacs-20.3.tar
  426.  
  427.     The `x' indicates that we want to extract files from this tarfile, the
  428.     two `v's force verbose output, and the `f' tells tar to use a disk
  429.     file, rather than one on tape.
  430.  
  431.     If you're using GNU tar (available at mirrors of ftp.gnu.org), you can
  432.     combine this step and the previous one by using the command
  433.  
  434.       tar -zxvvf emacs-20.3.tar.gz
  435.  
  436.     The additional `z' at the beginning of the options list tells GNU tar
  437.     to uncompress the file with gunzip before extracting the tarfile's
  438.     components.
  439.  
  440.   At this point, the Emacs sources (all 25+ megabytes of them) should be
  441.   sitting in a directory called "emacs-20.3".  On most common Unix and
  442.   Unix-like systems, you should be able to compile Emacs (with X Windows
  443.   support) with the following commands:
  444.  
  445.     cd emacs-20.3       [ change directory to emacs-20.3 ]
  446.     ./configure         [ configure Emacs for your particular system ]
  447.     make                [ use Makefile to build components, then Emacs ]
  448.  
  449.   If the "make" completes successfully, the odds are fairly good that the
  450.   build has gone well.  (See question 86 if you weren't successful.)
  451.  
  452.   To install Emacs in its default directories of /usr/local/bin (binaries),
  453.   /usr/local/share/emacs/20.xx (Lisp code and support files), and
  454.   /usr/local/info (Info documentation), become the super-user and type
  455.  
  456.     make install
  457.  
  458.   Note that "make install" will overwrite /usr/local/bin/emacs and any
  459.   Emacs Info files that might be in /usr/local/info.
  460.  
  461.   Much more verbose instructions (with many more hints and suggestions)
  462.   come with the Emacs sources, in the file "INSTALL".
  463.  
  464. 85:  How do I update Emacs to the latest version?
  465.  
  466.   Follow the instructions in question 84.
  467.  
  468.   Emacs places nearly everything in version-specific directories (e.g.,
  469.   /usr/local/share/emacs/20.3), so the only files that can be overwritten
  470.   when installing a new release are /usr/local/bin/emacs and the Emacs Info
  471.   documentation in /usr/local/info.  Back up these files before you install
  472.   a new release, and you shouldn't have too much trouble.
  473.  
  474. 86:  What should I do if I have trouble building Emacs?
  475.  
  476.   First look in the file PROBLEMS (in the top-level directory when you
  477.   unpack the Emacs source) to see if there is already a solution for your
  478.   problem.  Next, look for other questions in this FAQ that have to do with
  479.   Emacs installation and compilation problems.
  480.  
  481.   If you'd like to have someone look at your problem and help solve it, see
  482.   question 21.
  483.  
  484.   If you don't find a solution, then report your problem via e-mail to
  485.   bug-gnu-emacs@gnu.org.  Please do not post it to gnu.emacs.help
  486.   or e-mail it to help-gnu-emacs@gnu.org.  For further guidelines,
  487.   see question 8 and question 10.
  488.  
  489. 87:  Why does linking Emacs with -lX11 fail?
  490.  
  491.   Emacs needs to be linked with the static version of the X11 library,
  492.   libX11.a.  This may be missing.
  493.  
  494.   Under OpenWindows, you may need to use "add_services" to add the
  495.   "OpenWindows Programmers" optional software category from the CD-ROM.
  496.  
  497.   Under HP-UX 8.0, you may need to run "update" again to load the X11-PRG
  498.   "fileset".  This may be missing even if you specified "all filesets" the
  499.   first time.  If libcurses.a is missing, you may need to load the
  500.   "Berkeley Development Option."
  501.  
  502.   David Zuhn <zoo@armadillo.com> says that MIT X builds shared libraries by
  503.   default, and only shared libraries, on those platforms that support them.
  504.   These shared libraries can't be used when undumping temacs (the last
  505.   stage of the Emacs build process).  To get regular libraries in addition
  506.   to shared libraries, add this to site.cf:
  507.  
  508.       #define ForceNormalLib YES
  509.  
  510.   Other systems may have similar problems.  You can always define
  511.   CANNOT_DUMP and link with the shared libraries instead.
  512.  
  513.   To get the Xmenu stuff to work, you need to find a copy of MIT's
  514.   liboldX.a.
  515.  
  516.  
  517. Finding/Getting Emacs and Related Packages
  518.  
  519. 88:  Where can I get Emacs on the net (or by snail mail)?
  520.  
  521.   Look in the files etc/DISTRIB and etc/FTP for information on nearby
  522.   archive sites and etc/ORDERS for mail orders.  If you don't already have
  523.   Emacs, see question 20 for how to get these files.
  524.  
  525.   See question 84 for information on how to obtain and build the latest
  526.   version of Emacs, and question 92 for a list of archive sites that make
  527.   GNU software available.
  528.  
  529. 89:  How do I find a Emacs Lisp package that does XXX?
  530.  
  531.   First of all, you should check to make sure that the package isn't
  532.   already available.  For example, typing "M-x apropos RET wordstar RET"
  533.   lists all functions and variables containing the string "wordstar".
  534.  
  535.   It is also possible that the package is on your system, but has not been
  536.   loaded.  To see which packages are available for loading, look through
  537.   your computer's lisp directory (see question 4).  The Lisp source to most
  538.   most packages contains a short description of how they should be loaded,
  539.   invoked, and configured -- so before you use or modify a Lisp package,
  540.   see if the author has provided any hints in the source code.
  541.  
  542.   If a package does not come with Emacs, check the Lisp Code Directory,
  543.   maintained by Dave Brennan <brennan@hal.com>.  The directory is contained
  544.   in the file LCD-datafile.Z, available from the Emacs Lisp Archive (see
  545.   question 90), and is accessed using the "lispdir" package, available from
  546.   the same site.  Note that lispdir.el requires crypt++, which you can grab
  547.   from the Emacs Lisp Archive's "misc" subdirectory when you get
  548.   lispdir.el.
  549.  
  550.   Once you have installed lispdir.el and LCD-datafile, you can use "M-x
  551.   lisp-dir-apropos" to search the listing.  For example, "M-x
  552.   lisp-dir-apropos RET ange-ftp RET" produces this output:
  553.  
  554.               GNU Emacs Lisp Code Directory Apropos -- "ange-ftp"
  555.      "~/" refers to archive.cis.ohio-state.edu:pub/elisp-archive/
  556.  
  557.           ange-ftp (4.18)       15-Jul-1992
  558.                Andy Norman, <ange@hplb.hpl.hp.com>
  559.                ~/packages/ange-ftp.tar.Z
  560.                transparent FTP Support for GNU Emacs
  561.           auto-save (1.19)      01-May-1992
  562.                Sebastian Kremer, <sk@thp.uni-koeln.de>
  563.                ~/misc/auto-save.el.Z
  564.                Safer autosaving with support for ange-ftp and /tmp
  565.           ftp-quik (1.0)        28-Jul-1993
  566.                Terrence Brannon, <tb06@pl122f.eecs.lehigh.edu>
  567.                ~/modes/ftp-quik.el.Z
  568.                Quik access to dired'ing of ange-ftp and normal paths
  569.  
  570.   You actually don't need the directory file LCD-datafile if your computer
  571.   is on the Internet, since the latest version is retrieved automatically
  572.   the first time you type "M-x lisp-dir-apropos" in a particular Emacs
  573.   session.  If you would prefer to use a local copy of LCD-datafile, be
  574.   sure to set the variable lisp-code-directory at the top of the lispdir.el
  575.   source code.
  576.  
  577.   A searchable version of the LCD is also available at
  578.  
  579.     http://www.cs.indiana.edu/LCD/cover.html
  580.  
  581. 90:  Where can I get Emacs Lisp packages that don't come with Emacs?
  582.  
  583.   First, check the Lisp Code Directory to find the name of the package you
  584.   are looking for (see question 89).  Next, check local archives and the
  585.   Emacs Lisp Archive to find a copy of the relevant files.  If you still
  586.   haven't found it, you can send e-mail to the author asking for a copy.
  587.   If you find Emacs Lisp code that doesn't appear in the LCD, please submit
  588.   a copy to the LCD (see question 91).
  589.  
  590.   You can access the Emacs Lisp Archive at:
  591.  
  592.     ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/
  593.  
  594.   Retrieve and read the file README first.
  595.  
  596.   NOTE: * The archive maintainers do not have time to answer individual
  597.           requests for packages or the list of packages in the archive.  If
  598.           you cannot use FTP or UUCP to access the archive yourself, try to
  599.           find a friend who can, but please don't ask the maintainers.
  600.  
  601.         * Any files with names ending in ".Z", ".z", or ".gz" are
  602.           compressed, so you should use "binary" mode in FTP to retrieve
  603.           them.  You should also use binary mode whenever you retrieve any
  604.           files with names ending in ".elc".
  605.  
  606. 91:  How do I submit code to the Emacs Lisp Archive?
  607.  
  608.   Guidelines and procedures for submission to the archive can be found in
  609.   the file GUIDELINES in the archive directory (see question 90).  It
  610.   covers documentation, copyrights, packaging, submission, and the Lisp
  611.   Code Directory Record.  Anonymous FTP uploads are not permitted.
  612.   Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu.
  613.   The lispdir.el package has a function named submit-lcd-entry which will
  614.   help you with this.
  615.  
  616. 92:  Where can I get other up-to-date GNU stuff?
  617.  
  618.   The most up-to-date official GNU software is normally kept on
  619.   ftp.gnu.org and is available at
  620.  
  621.     ftp://ftp.gnu.org/pub/gnu
  622.  
  623.   Read the files etc/DISTRIB and etc/FTP for more information.
  624.  
  625.   A list of sites mirroring ftp.gnu.org can be found at
  626.  
  627.     http://www.gnu.org/order/ftp.html
  628.  
  629. 93:  What is the difference between Emacs and XEmacs (formerly "Lucid
  630.      Emacs")?
  631.  
  632.   First of all, they're both GNU Emacs.  XEmacs is just as much a later
  633.   version of GNU Emacs as the FSF-distributed version.  This FAQ refers to
  634.   the latest version to be distributed by the FSF as "Emacs," partly
  635.   because the XEmacs maintainers now refer to their product using the
  636.   "XEmacs" name, and partly because there isn't any accurate way to
  637.   differentiate between the two without getting mired in paragraphs of
  638.   legalese and history.
  639.  
  640.   XEmacs, which began life as Lucid Emacs, is based on an early version of
  641.   Emacs 19 and Epoch, an X-aware version of Emacs 18.
  642.  
  643.   Emacs (i.e., the version distributed by the FSF) has a larger installed
  644.   base, while XEmacs can do some clever tricks with X Windows, such as
  645.   putting arbitrary graphics in a buffer.  Emacs and XEmacs each come with
  646.   Lisp packages that are lacking in the other; RMS says that the FSF would
  647.   include more packages that come with XEmacs, but that the XEmacs
  648.   maintainers don't always keep track of the authors of contributed code,
  649.   which makes it impossible for the FSF to have certain legal papers
  650.   signed.  (Without these legal papers, the FSF will not distribute Lisp
  651.   packages with Emacs.)
  652.  
  653.   Many XEmacs features have found their way into recent versions of Emacs,
  654.   and more features can be expected in the future, but there are still many
  655.   differences between the two.
  656.  
  657.   The latest version of XEmacs as of this writing is 20.4; you can get it
  658.   at
  659.  
  660.     ftp://ftp.xemacs.org/pub/tux/xemacs/xemacs-20.4/xemacs-20.4.tar.gz
  661.  
  662.   More information about XEmacs, including a list of frequently asked
  663.   questions (FAQ), is available at
  664.  
  665.     http://www.xemacs.org/
  666.  
  667. 94:  Where can I get Emacs for my PC running MS-DOS?
  668.  
  669.   A pre-built binary distribution of Emacs is available from the Simtel
  670.   archives.  This version apparently works under MS-DOS and Windows (3.x,
  671.   95, and NT) and supports long file names.  More information is availble
  672.   from:
  673.  
  674.         ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/emacs.README
  675.  
  676.   And the binary itself is available in the files em1934*.zip in the
  677.   directory
  678.  
  679.         ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/
  680.  
  681.   If you prefer to compile Emacs for yourself, you will need a 386 (or
  682.   better) processor, and are running MS-DOS 3.0 or later.  According to Eli
  683.   Zaretskii <eliz@is.elta.co.il> and Darrel Hankerson
  684.   <hankedr@dms.auburn.edu>, you will need the following:
  685.  
  686.   Compiler: djgpp version 1.12 maint 1 or later.  Djgpp 2.0 or later is
  687.             recommended, since 1.x is being phased out.  Djgpp 2 supports
  688.             long filenames under Windows 95.
  689.  
  690.             You can get the latest release of djgpp by retrieving
  691.             all of the files in
  692.  
  693.               ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp
  694.  
  695.   Gunzip and tar:
  696.  
  697.             The easiest way is to use "djtar" which comes with djgpp v2.x,
  698.             because it can open gzip'ed tarfiles (i.e., those ending with
  699.             ".tar.gz") in one step.  Djtar comes in "djdev201.zip", from
  700.             the URL mentioned above.
  701.  
  702.   Utilities: make, mv, sed, rm.  
  703.  
  704.             All of these utilities are available at
  705.  
  706.                ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu
  707.  
  708.             16-bit utilities can be found in GNUish:
  709.  
  710.               ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish
  711.  
  712.   The files INSTALL and PROBLEMS in the top-level directory of the Emacs
  713.   source contains some additional information regarding Emacs under MS-DOS.
  714.  
  715.   For a list of other MS-DOS implementations of Emacs (and Emacs
  716.   look-alikes), consult the list of "Emacs implementations and literature,"
  717.   available at
  718.  
  719.     ftp://rtfm.mit.edu/pub/usenet/comp.emacs/
  720.  
  721.   Note that while many of these programs look similar to Emacs, they often
  722.   lack certain features, such as the Emacs Lisp extension language.
  723.  
  724. 95:  Where can I get Emacs for Microsoft Windows, Windows '95, or Windows
  725.      NT?
  726.  
  727.   For information on Emacs for Windows 95 and NT, read the FAQ produced by
  728.   Geoff Voelker <voelker@cs.washington.edu>, available at
  729.  
  730.     http://www.cs.washington.edu/homes/voelker/ntemacs.html
  731.  
  732.   For Windows 3.1, see question 94.
  733.  
  734. 96:  Where can I get Emacs for my PC running OS/2?
  735.  
  736.   Emacs 19.33 is ported for emx on OS/2 2.0 or 2.1, and is available at:
  737.  
  738.     ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/v19.33/
  739.  
  740. 97:  Where can I get Emacs for my Atari ST?
  741.  
  742.   Roland SchÎŁuble reports that Emacs 18.58 running on plain TOS and MiNT
  743.   is available at
  744.  
  745.     ftp://atari.archive.umich.edu/Editors/Emacs-18-58/1858b-d3.zoo
  746.  
  747. 98:  Where can I get Emacs for my Amiga?
  748.  
  749.   The files you need are available at
  750.  
  751.     ftp://ftp.wustl.edu/pub/aminet/util/gnu/
  752.  
  753.   David Gilbert <dgilbert@gamiga.guelphnet.dweomer.org> has released a beta
  754.   version of Emacs 19.25 for the Amiga.  You can get the binary at
  755.  
  756.     ftp://ftp.wustl.edu/pub/aminet/util/gnu/a2.0bEmacs-bin.lha
  757.  
  758. 99:  Where can I get Emacs for NeXTSTEP?
  759.  
  760.   Emacs.app is a NeXTSTEP version of Emacs 19.34 which supports colors,
  761.   menus, and multiple frames.  You can get it from
  762.  
  763.     ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz
  764.  
  765. 100:  Where can I get Emacs for my Apple computer?
  766.  
  767.   An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a
  768.   number of ftp sites, the home being
  769.  
  770.     ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin
  771.  
  772.   To the best of our knowledge, Emacs 19 has not been ported to the
  773.   Macintosh.
  774.  
  775.   Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep.
  776.   See question 99 for more details about that version.
  777.  
  778. 101: Where do I get Emacs that runs on VMS under DECwindows?
  779.  
  780.   Up-to-date information about GNU software (including Emacs) for VMS is
  781.   available at
  782.  
  783.     http://vms.gnu.org/
  784.  
  785. 102: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++,
  786.      Objective-C, Pascal, Java, and Awk?
  787.  
  788.   Most of these modes are now available in standard Emacs distribution.  To
  789.   get additional modes, look in the Lisp Code Directory (see question 89).
  790.   For C++, if you use lisp-dir-apropos, you must specify the pattern like
  791.   this:
  792.  
  793.     M-x lisp-dir-apropos RET c\+\+ RET
  794.  
  795.   Note that Barry Warsaw's cc-mode now works for C, C++, Objective-C, and
  796.   Java code.  You can get the latest version from the Emacs Lisp Archive;
  797.   see question 90 for details.  A FAQ for cc-mode is available at
  798.  
  799.       http://www.python.org/emacs/cc-mode/
  800.  
  801. 103: What is the IP address of XXX.YYY.ZZZ?
  802.  
  803.   If you are on a Unix machine, try using the "nslookup" command, included
  804.   in the Berkeley BIND package.  For example, to find the IP address of
  805.   "ftp.gnu.org", you would type
  806.  
  807.     nslookup ftp.gnu.org
  808.  
  809.   Your computer should then provide the IP address of that computer.
  810.  
  811.   If your site's nameserver is deficient, you can use IP addresses to FTP
  812.   files.  You can get this information by
  813.  
  814.   * E-mail:
  815.  
  816.     To: dns@[134.214.84.25]              (to grasp.insa-lyon.fr)
  817.     Body: ip XXX.YYY.ZZZ                 (or "help" for more information
  818.                                                 and options - no quotes) 
  819.     or:
  820.  
  821.     To: resolve@[147.31.254.130]         (to laverne.cs.widener.edu)
  822.     Body: site XXX.YYY.ZZZ
  823.  
  824.  
  825. Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
  826.  
  827. 104: VM (View Mail) -- another mail reader within Emacs, with MIME support
  828.  
  829.   Author: Kyle Jones <kyle@uunet.uu.net>
  830.   Latest version: 6.67
  831.   Anonymous FTP:
  832.     ftp://ftp.wonderworks.com/pub/vm/vm.tar.gz
  833.   Newsgroups and mailing lists:
  834.     Informational newsgroup/mailing list:
  835.       gnu.emacs.vm.info (newsgroup)
  836.       info-vm-request@uunet.uu.net (for subscriptions)
  837.       info-vm@uunet.uu.net (for submissions)
  838.     Bug reports newsgroup/mailing list:
  839.       gnu.emacs.vm.bug (newsgroup)
  840.       bug-vm-request@uunet.uu.net (for subscriptions)
  841.       bug-vm@uunet.uu.net (for submissions)
  842.   NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people
  843.   seem to use it without too much trouble).  Users of Emacs 20 might prefer
  844.   to use VM 5.97, available from the same FTP site.
  845.  
  846. 105: Supercite -- mail and news citation package within Emacs
  847.  
  848.   Author: Barry Warsaw <bwarsaw@cen.com>
  849.   Latest version: 3.1 (comes with Emacs 20)
  850.  
  851.   World Wide Web:
  852.     http://www.python.org/emacs/supercite.tar.gz
  853.   Mailing list:
  854.     supercite-request@python.org (for subscriptions)
  855.     supercite@python.org (for submissions)
  856.   NOTE: Superyank is an old version of Supercite.
  857.  
  858. 106: Calc -- poor man's Mathematica within Emacs
  859.  
  860.   Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
  861.   Latest version: 2.02f
  862.   Anonymous FTP:
  863.     ftp://ftp.gnu.org/pub/gnu/calc/calc-2.02f.tar.gz
  864.   NOTE: Unlike Wolfram Research, Dave has never threatened to sue
  865.         anyone for having a program with a similar command language to
  866.         Calc.  :-)
  867.  
  868. 107: VIPER -- vi emulation for Emacs
  869.  
  870.   Since Emacs 19.29, the preferred vi emulation in Emacs is VIPER (M-x
  871.   viper-mode RET), which comes with Emacs.  It extends and supersedes VIP
  872.   (including VIP 4.3) and provides vi emulation at several levels, from one
  873.   that closely follows vi to one that departs from vi in several
  874.   significant ways.
  875.  
  876.   For Emacs 19.28 and earlier, the following version of VIP is generally
  877.   better than the one distributed with Emacs:
  878.  
  879.   Author: Aamod Sane <sane@cs.uiuc.edu>
  880.   Latest version: 4.3
  881.   Anonymous FTP:
  882.     ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/modes/vip-mode.tar.Z
  883.  
  884. 108: AUC TeX -- enhanced LaTeX mode with debugging facilities
  885.  
  886.   Authors: Kresten Krab Thorup <krab@iesd.auc.dk>
  887.            and Per Abrahamsen <abraham@iesd.auc.dk>
  888.   Latest version: 9.8l
  889.   Anonymous FTP:
  890.     ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz
  891.   Mailing list:
  892.     auc-tex-request@iesd.auc.dk (for subscriptions)
  893.     auc-tex@iesd.auc.dk (for submissions)
  894.     auc-tex_mgr@iesd.auc.dk (auc-tex development team)
  895.   World Wide Web:
  896.     http://sunsite.auc.dk/auctex/
  897.  
  898. 109: BBDB -- personal Info Rolodex integrated with mail/news readers
  899.  
  900.   Maintainer: Matt Simmons <simmonmt@acm.org>
  901.   Latest released version: 2.00
  902.   Available from:
  903.     http://www.netcom.com/~simmonmt/bbdb/index.html
  904.   Mailing lists:
  905.     info-bbdb-request@xemacs.org (for subscriptions)
  906.     info-bbdb@xemacs.org (for submissions)
  907.     bbdb-announce-request@xemacs.org (to be informed of new releases)
  908.  
  909. 110: Ispell -- spell checker in C with interface for Emacs
  910.  
  911.   Author: Geoff Kuenning <geoff@itcorp.com>
  912.   Latest released version: 3.1.20
  913.   Anonymous FTP:
  914.    Master Sites:
  915.      ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz
  916.    Known Mirror Sites:
  917.      ftp://ftp.th-darmstadt.de/pub/dicts/ispell/
  918.      ftp://ftp.nl.net/pub/textproc/ispell/
  919.   World Wide Web:
  920.      http://fmg-www.cs.ucla.edu/geoff/ispell.html
  921.  
  922.   NOTE: * Do not ask Geoff to send you the latest version of Ispell.
  923.           He does not have free e-mail.
  924.       
  925.         * This Ispell program is distinct from GNU Ispell 4.0. GNU
  926.           Ispell 4.0 is no longer a supported product.
  927.  
  928. 111: W3-mode -- A World Wide Web browser inside of Emacs
  929.  
  930.   Author: Bill Perry <wmperry@spry.com>
  931.   Latest version: 4.0pre.39
  932.   Anonymous FTP:
  933.     ftp://ftp.cs.indiana.edu/pub/elisp/w3/w3.tar.gz
  934.   Mailing lists:
  935.     w3-announce-request@indiana.edu (to get announcements of new versions)
  936.     w3-beta-request@indiana.edu (for beta-testers of new versions)
  937.     w3-dev@indiana.edu (for developers of W3)
  938.  
  939. 112: EDB -- Database program for Emacs; replaces forms editing modes
  940.  
  941.   Author: Michael Ernst <mernst@theory.lcs.mit.edu>
  942.   Latest version: 1.21
  943.   Anonymous FTP:
  944.     ftp://theory.lcs.mit.edu/pub/emacs/edb
  945.  
  946. 113: Mailcrypt -- PGP interface within Emacs mail and news
  947.  
  948.   Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and 
  949.            Jin S. Choi <jin@atype.com>
  950.   Maintainer: Len Budney <lbudney@pobox.com>
  951.   Latest version: 3.5.1
  952.   Anonymous FTP:
  953.     http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5.1.tar.gz
  954.   World Wide Web:
  955.     http://www.nb.net/~lbudney/linux/software/mailcrypt.html
  956.  
  957. 114: JDE -- Development environment for Java programming
  958.  
  959.   Author: Paul Kinnucan <paulk@mathworks.com>
  960.   Mailing list: jde-subscribe@sunsite.auc.dk
  961.   Latest version: 2.1.1
  962.   World Wide Web: http://sunsite.auc.dk/jde/
  963.  
  964. 115: Patch -- program to apply "diffs" for updating files
  965.  
  966.   Author: Larry Wall <lwall@wall.org> (with GNU modifications)
  967.   Latest version: 2.5
  968.   Anonymous FTP: See question 92
  969.  
  970.