[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

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

This article was archived around: 10 Feb 1999 20:02:44 +0200

All FAQs in Directory: GNU-Emacs-FAQ
All FAQs posted in: gnu.emacs.help, comp.emacs
Source: Usenet Version

Archive-name: GNU-Emacs-FAQ/part3
------------------------------------------------------------ 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/xemacs-20.4.tar.gz 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/emacs.README 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/v2gnu 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/1858b-d3.zoo 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/a2.0bEmacs-bin.lha 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/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz 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@[] (to grasp.insa-lyon.fr) Body: ip XXX.YYY.ZZZ (or "help" for more information and options - no quotes) or: To: resolve@[] (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/vip-mode.tar.Z 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/auctex.tar.gz 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