Emacs FAQ

  1. How to recompile Emacs Lisp files.
  2. How do I start Emacs with DEC Windows?
  3. What is the name of the users startup file?
  4. What do I do if I experience a "Memory exhausted" error? (by G. Del Merritt)


How to recompile Emacs Lisp files.

Many people are no aware of the way you recompile Emacs Lisp files. This is the way to do it (You *need* to install Emacs one time before doing this):

! move to the root of the Emacs source tree. $ set default emacs_dev:[emacs_dir] $ runemacs -batch -f batch-byte-compile [.lisp]bytecomp.el $ runemacs -batch -f batch-byte-compile [.lisp]byte-opt.el $ runemacs -batch -f batch-byte-compile [.lisp]byte-run.el $ runemacs -batch -f batch-byte-compile [.lisp] [.lisp.term]

Then, you have to rebuild and reinstall:

If you use MMS, just do this:

$ MMS/IGNORE=WARNING INSTALL

If you use MMK, just do this:

$ MMK/IGNORE=WARNING INSTALL

That should be it!


How do I start Emacs with DEC Windows?

Many people have noticed the following behavior after having installed Emacs 19 for the first time:

$ emacs
Wrong type argument: stringp, nil
emacs: No current X display connection to close

This is simply due to the fact that Emacs normally looks at the environment variable DISPLAY, which is used on Unix to tell X clients on what node the should display their windows. On VMS, the variable is DECW$DISPLAY instead.

This is taken care of by my patches to Emacs 19, simple by making [.LISP.TERM]X-WIN.EL use DECW$DISPLAY in the VMS case. To make it work, you need to recompile that file, and you might as well recompile all the other lisp files that need recompiling. Move to section "How to recompile Emacs Lisp files" for information on how to do this.


What is the name of the users startup file?

I've had the question what the name of the users startup file is on VMS. It's well known that under Unix, the name is ".emacs" (~/.emacs to be precise). The name on VMS is not at all different. It's ".emacs" as well, and it should remain in the login directory SYS$LOGIN:. To be very precise, Emacs checks for SYS$LOGIN:.EMACS.


What do I do if I experience a "Memory exhausted" error?

(by G. Del Merritt)

[ I've never gotten into this kind of failure myself, so my experience in this is rather small, but here is what Del Merritt <del@giant.IntraNet.com> had to say about it -- Richard Levitte ]

Some of you may remember that I use rmail and that, because I'm a packrat,
my main rmail file is pretty big.  Sometimes I get "Memory exhausted" while
reading new messages or just deleting messages.  M-x, mousing, and other
commands won't work because of the "Memory exhausted" condition.  I used to
think that I had to just kill my emacs and start afresh, unfortunately losing
deletion history and recently added labels in the process.

But I learned a "new" trick, which is "obvious" when you think about it.

I found that I could still use the cursor motion keys to go up and down in the
buffer until a garbage-collect is done "automatically".  This has (so far),
cleared up the memory exhausted condition and I have been able to save my
buffer(s), etc.  OBTW, you can't do a M-x garbage-collect, since, as I already
mentioned, you can't do M-x anything in this situation.

I haven't decided/determined whether there's a bug in Emacs, rmail.el, or just
in the fact that I have a monster rmail file.  But now I have a workaround,
and I figured folk might be interested.

The GNU on VMS Project <admin@vms.gnu.ai.mit.edu>
Last modified: Thursday, July 11 1996, 17:13:27 1996