Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

microEMACS 3.7i for VMS Question!

2 views
Skip to first unread message

Spiros Triantafyllopoulos @ 386RANB)

unread,
Nov 5, 1986, 9:08:56 PM11/5/86
to
Hello!

I got the sources for microEMACS 3.7i, and I am trying to compile
it for VMS 4.4 on a VAX 750. I am having trouble getting it to
run, as it always dies on the "vtinit( )" routine, module DISPLAY.C

I am pretty sure I have the wrong #define's on estruct.h. I have ANSI
and VT100 defined on an earlier version of microEMACS, and it works
fine. It does not work with 3.7i. I also tried #define'ing VMSVT
and setting ANSI to 0, and lots more combinations. It produces a couple
of LINK messages for doubly-defined modules (getline and pipe in
VAX CRTL), and when I try to run it produces an access violation.

Would any kind soul that has 3.7i running on VMS offer some hints
on the #define's and/or LINK problems?

Thanks in advance...

Spiros Triantafyllopoulos, GM Research Labs
Warren, MI. 48090
Spi...@GMR.COM

PS: Also on the same subject, does anyone have the VT100/VT200 arrow
keys working?

Earle R. Horton

unread,
Nov 8, 1986, 4:59:57 PM11/8/86
to
> Hello!
>
> I got the sources for microEMACS 3.7i, and I am trying to compile
> it for VMS 4.4 on a VAX 750. I am having trouble getting it to
> run, as it always dies on the "vtinit( )" routine, module DISPLAY.C
>
>...

>PS: Also on the same subject, does anyone have the VT100/VT200 arrow
> keys working?

Hello!

I, too, got the sources for microEMACS 3.7(not 3.7i, unfortunately)
and compiled them on a VAX (system 4.3, I believe, but I don't pay much
attention to sign-on messages, so I don't really know). After making a
few changes to: termio.c, input.c, estruct.h, ebind.h, I have the thing
working quite well. If this message gets to you, and you want, I could
mail you the required source files to get it working (maybe 30k worth
of stuff). I will summarize below (I did this a few months ago, so I
might not remember everything, but this is most of it)

vmsvt.c is the one you want, it allows for vt52, vt100 series,and
adm3a(!) to be used. (I love it, 'cause I can use my adm3a now)

In termio.c, there was an int declaration before a struct
declaration that made the compiler go bonkers until I
reversed the order of the int and struct. I don't remember
the particulars, but this is probably minor. It sounds like
a compiler bug, and maybe it's been fixed by now.

the program does not support the VT100 keypad or cursor keys at
ALL, unless you have a DEC RAINBOW (whatever that is). you
have to change the getcmd() or get1key() routines in input.c
to recognize the VT100 escape sequences (these are three-
character sequences, which is the problem) then you just put
in the bindings you want for them in ebind.h

dammit! I mailed a copy of this to the original poster, but
the editor mangled the backup copy I was going to post to the
net!

getname() and pipe() are routines in the VAX C RTL, and any
attempt to use these names (they are also microEMACS names)
results in linker confusion. I assume that you are using the
VAX C RTL as a shared image (this is the most efficient way to
do it). What happens when you do this, and come to execution
time, is that the program tries to call pipe() or getname(),
but the run time system doesn't know which one you want!

the program will work if you link the VAX C RTL directly into
your program, since the linker will use the program's routines
before those of the RTL, but this is a kludge, and results in
an executable which is twice as big as necessary. The correct
thing to do is to change the spellings of pipe() and getname()
EVERY place they appear in the microEMACS source code. I know,
I know, they appear a lot of places, but it has to be done.

I have been using the program for months now, from my adm3a which I dug
out of the basement, and love it. The only thing it doesn't do is read and
write mail, but the mailer on VMS is brain-damaged anyway, which is why I am
posting this from a UNIX machine.

Disclaimer: I don't know anything about VMS really, my employer forces me
to use it.

0 new messages