[gnu.emacs.vms] Can't use

kenw%noah.arc.cdn@RELAY.CDNNET.CA (Ken Wallewein) (01/18/90)

  Whenever I try to use (enable-arrow-keys) in my .emacs file, I get
error message "Error in init file" when emacs starts up.  I've tried
all sorts of different things, but no help.  The only thing that works
is to execute the command interactively.  I notice that the code for
that fuction incluced a line saying (interactive). Does that mean it
is blocked from use in a .emacs file? This whole area is not exactly
well documented, especially for relatively novice emacs user like
myself.

  I also tried (edt-emulation-on); it seems to work, but doesn't exit
properly.  Emacs locks up, but entering a ^G straightens thing out and
then everything works fine.  To me, this is guru-level stuff.  I'd
sure appreciate some help.

  On the positive, I've been hacking KEPTEDITOR.COM.  I've figured out
how to keep it from doing a double-spawn when invoked as a sub-process
of another program (like NEWS OR MAIL).  Unfortunately, the method
tends to leave orphan subprocesses lying around.  I tried STOPing
those, but strange things happen to keyboard handling, much like doing
a SPAWN/NOWAIT with no arguments; you get two (or more) progesses
alternately handling the same channel.  Ah, challenges :-).

  I don't recall seeing this kind of thing discussed here before; if
this is the wrong forum, no flames please.

/kenw

Ken Wallewein                                                     A L B E R T A
kenw@noah.arc.cdn                                               R E S E A R C H
(403)297-2660                                                     C O U N C I L

rbr4@uhura.cc.rochester.edu (Roland Roberts) (01/19/90)

In article <5960*kenw@noah.arc.cdn> kenw%noah.arc.cdn@RELAY.CDNNET.CA
(Ken Wallewein) writes:
>
>  Whenever I try to use (enable-arrow-keys) in my .emacs file, I get
>error message "Error in init file" when emacs starts up.

The problem is that your terminal has not been initialized until after
your .emacs is executed.  Files are loaded in this order: (1) .emacs,
(2) default.el, (3) term/<terminal-name>.el.  Thus the function
enable-arrow-keys is not yet defined when you attempt to execute it in
your .emacs (see section 28 in the GNU Emacs Manual).  Instead do the
following:
    (setq term-setup-hook '(lambda () (enable-arrow-keys)))

I have a more complicated definition I can send out (if you want it)
that makes sure your terminal is a vt200 series before running
enable-arrow-keys.

I'm guessing the problem with edt-emulation-on is the same, but don't
know for sure.

>  On the positive, I've been hacking KEPTEDITOR.COM.  I've figured out
>how to keep it from doing a double-spawn when invoked as a sub-process
>of another program (like NEWS OR MAIL).  Unfortunately, the method
>tends to leave orphan subprocesses lying around....

We don't run NEWS on our VMS system, but I do use emacs as my editor
from within MAIL (e.g. reply/edit).  To get around the double spawn
problem, don't define kepteditor.com as your mail routine.  I have a
DCL routine called mailemacs.com that does essentially the same thing
as kepteditor.com without the spawn (it also loads an emacs-lisp file
to set up the buffer and some key bindings).  I then do a 
    $ DEFINE MAIL$EDIT "@DISK:[DIR]MAILEMACS.COM"

Good luck!

roland
-- 
Roland Roberts,  University of Rochester   BITNET: roberts@uornsrl
  Nuclear Structure Research Lab         INTERNET: rbr4@uhura.cc.rochester.edu
  271 East River Road                        UUCP: rochester!uhura!rbr4
  Rochester, NY  14267                       AT&T: (716) 275-8962