root@libove.UUCP (Jay M. Libove) (04/07/89)
Has anyone gotten JOVE version 4.12 to compile on SCO Xenix 80286 (version 2.2.1 just if it matters) ? I have worked through a number of small things, and finally ended up with: cc -O -LARGE -F 3000 -K -Ml2e -c io.c io.c /usr/include/sys/file.h(24) : error 25: `file' : enum/struct/union type redefinition io.c(97) : error 38: `f_flags' : not struct/union member io.c(131) : error 38: `f_cnt' : not struct/union member io.c(131) : error 38: `f_ptr' : not struct/union member io.c(141) : error 38: `f_cnt' : not struct/union member io.c(141) : error 38: `f_ptr' : not struct/union member io.c(191) : error 38: `f_flags' : not struct/union member io.c(753) : error 38: `f_flags' : not struct/union member io.c(757) : error 38: `f_flags' : not struct/union member io.c(1039) : error 38: `f_cnt' : not struct/union member io.c(1039) : error 38: `f_ptr' : not struct/union member *** Error code 11 Stop. I have traced the tree of #include's through the sources and header files, quite exhaustively, and can't find any problems with it. Thanks in advance for any help offered! ------------- Jay Libove jl42@andrew.cmu.edu, libove@cs.cmu.edu, 5731 Centre Ave, Apt 3 gateway.sei.cmu.edu!libove!libove, jl42@andrew.BITnet, Pittsburgh, PA 15206 psuvax1!pitt!darth!libove!libove, (412) 362-8983 or uunet!nfsun!libove!libove
root@mjbtn.MFEE.TN.US (Mark J. Bailey) (04/08/89)
In article <237@libove.UUCP>, root@libove.UUCP (Jay M. Libove) writes: > > Has anyone gotten JOVE version 4.12 to compile on SCO Xenix 80286 > (version 2.2.1 just if it matters) ? > > io.c > /usr/include/sys/file.h(24) : error 25: `file' : enum/struct/union type redefinition [error msgs deleted] > I have traced the tree of #include's through the sources and header > files, quite exhaustively, and can't find any problems with it. Within one of the header files for Jove 4.12, there is an attempt to provide (I assume for DOS) the equivalent of sys/file.h. It adds in more stuff that the xenix sys/file.h, which i haven't had time yet to determine its use. However, what is happening is that within the Jove header file, 'struct file' is being defined also. That is where you get your redifintion error. What I did (on the fly, not a viable, long-term solution, yet) was to take the Jove 'struct file' and rename it to 'struct fiLe' (or anything would do). I could not perceive this to be too much of a problem as the struct was immediately typedefed and an fgrep of *.c *.h didn't reveal where the struct name was specifically referred to again. I do not have the sources online currently, but I thought I would pass this along. Also, the Jove sources defines its own set of file manipulation routines (open_file() = fopen() ???) and there seems to be additional problems in some of these functions be declared int some spots (probably thru no particular definition in some function) and a pointer of the type 'struct fiLe' (what I assume it should be). Once you get thru the file.h error, you certainly won't miss these. I compiled 4.9 just a few weeks ago with almost no hitch. The config for 4.12 was noticeably different than 4.9. Since my first attempts to get 4.12 compiled, I have had to devote to time other worthy causes such as paying bills! :-) Hope this helps. Mark. -- Mark J. Bailey "Ya'll com bak naw, ya hear!" USMAIL: 511 Memorial Blvd., Murfreesboro, TN 37129 ___________________________ VOICE: +1 615 893 0098 | JobSoft UUCP: ...!{ames,mit-eddie}!killer!mjbtn!mjb | Design & Development Co. DOMAIN: mjb@mjbtn.MFEE.TN.US | Murfreesboro, TN USA
skrenta@blekko.home.nwu.edu (Rich Skrenta) (04/10/89)
I got Jove 4.9 to compile hassle-free on Xenix, but it's not finding the function gldav() when it goes to link. Does anyone know what this is? Is it in its own file? Is it a library call? I'm wondering if I'm missing a small part of Jove. About the problems compiling Jove 4.12: I see those sorts of problems when a header file, typically something like <sys/file.h> is included more than once. While I think <466@mjbtn.MFEE.TN.US> explained the particular problem for Jove 4.12, if you ran into the problem again I'd say look for multiple includes of the same file. -- Rich Skrenta skrenta@blekko.home.nwu.edu skrenta@eecs.nwu.edu ...nucsrl!blekko!skrenta
buhrt@sawmill.UUCP (Jeffery A Buhrt) (04/10/89)
I have jove4.12 running on a sequent symmetry, AT&T 3b1 (blah), and
Uport 2.4 on a '286 (changes should also apply to xenix).
Things in that area are int vs (char *), a pointer comparision out
of the current segment, minor preprocessor bugs (order dependent stuff),
plus some other little things....
As for the sysV i-shells, it is great to have them put BACK into jove...
Yes back, 4.[56] had working i-shells but they soon were removed.
sysV:
1) Things to make sure: kbd && portsrv MUST be in place (/usr/local/lib/jove)
before starting an i-proc (the exec messages by default don't help).
2) If size_t is not defined in sys/types.h (uport doesn't), define it to
be int (yes int).
3) I included the 3b1 and uport specific files for reference from each port.
Bugs/things to do:
1) (sysV) If you have an iproc running and pause jove (ie: push a shell)
kbd will still be left running....
(this means it will fight for the keyboard)
I have tried calling kbd_{strt, stop} to get around this
but kbd then dies when the kbd_strt() is called on the way back in.
I haven't had enough time to track this one down yet (ideas?)
2) (gen) The IPROCS define is recursive between tune.h and sysdep.h, for
now patched by having a second copy of the define.
3) (sysV) recover doesn't compile....
I have a working version from jove.? and haven't yet even tried
the 4.12 version.
4) (uport) term.c the code:
if (termp > tspace+ sizeof(tspace))
goto wimperr;
core dumps on a '286, didn't even try to fix.
5) As Jonathan pointed out, the docs are out of date w/ the new features.
6) I still don't have it compiling on a 3b2 yet.... Whenever time permits.
-Jeff Buhrt
Grauel Ent., Inc.
(317) 477-6000
{newton.physics.purdue.edu (aka: pur-phy), sequent, ...}!
sawmill!buhrt
Here is my .joverc (the process-bind-to-keys are needed to use i-shells)
----
auto-execute-command show-match-mode .*$
auto-execute-command auto-indent-mode .*\.[chyls]$
auto-execute-command auto-fill-mode /tmp/Re\|/tmp/article
auto-execute-command show-match .*\.[lchyf]$\|.*\.lisp$\|.*\.scm$
auto-execute-command c-mode .*\.[chy]$
auto-execute-command lisp-mode .*\.l$\|.*\.lisp$\|.*\.scm$
set make-backup-files on
set mode-line-should-standout off
set paren-flash-delay 2
make-keymap prefix3
bind-keymap-to-key prefix3 ^C
bind-to-key exit-jove ^X^Z
bind-to-key buffer-position ^X=
bind-to-key fill-comment ^Xj
bind-to-key filter-region ^C^F
bind-to-key i-search-forward ^S
bind-to-key i-search-forward ^\
bind-to-key i-search-reverse ^R
bind-to-key pause-jove ^C^Z
bind-to-key pause-jove ^[S
bind-to-key pause-jove ^[s
process-bind-to-key interrupt-process ^C
process-bind-to-key process-newline ^M
set mode-line %3c %[%sJOVE (%M) Buffer: %b "%f" %]%s%m*- %((%t %l)%s%)%e
-----
*** Diffs from my sequent/3b1/uport version to 4.12
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by sawmill!buhrt on Mon Apr 10 09:05:50 EST 1989
# Contents: Makefile Makefile.uport extend.c fp.h io.h iproc-pipes.c iproc.c
# iproc.h jove.h malloc.c portsrv.c proc.c sysdep.3b1 sysdep.h
# sysdep.uport term.c tune.3b1 tune.h tune.uport util.c
echo x - Makefile
sed 's/^@//' > "Makefile" <<'@//E*O*F Makefile//'
*** Makefile Thu Mar 2 20:39:18 1989
--- ../Makefile Fri Mar 31 14:00:34 1989
***************
*** 17,29
# JOVE, RECOVER and TEACHJOVE. MANEXT is the extension for the man pages,
# e.g., jove.1 or jove.l or jove.m.
DESTDIR =
TMPDIR = /tmp
! LIBDIR = /home/chacha/jpayne/lib/jove
! BINDIR = /home/chacha/jpayne/bin
! MANDIR = /home/chacha/jpayne/lib/manl
MANEXT = l
JSHELL = /bin/csh
# These should all just be right if the above ones are.
JOVE = $(DESTDIR)$(BINDIR)/jove
--- 17,29 -----
# JOVE, RECOVER and TEACHJOVE. MANEXT is the extension for the man pages,
# e.g., jove.1 or jove.l or jove.m.
DESTDIR =
TMPDIR = /tmp
! LIBDIR = /usr/local/lib/jove
! BINDIR = /usr/local/bin
! MANDIR = /usr/man/manl
MANEXT = l
JSHELL = /bin/ksh
# These should all just be right if the above ones are.
JOVE = $(DESTDIR)$(BINDIR)/jove
***************
*** 21,31
TMPDIR = /tmp
LIBDIR = /home/chacha/jpayne/lib/jove
BINDIR = /home/chacha/jpayne/bin
MANDIR = /home/chacha/jpayne/lib/manl
MANEXT = l
! JSHELL = /bin/csh
# These should all just be right if the above ones are.
JOVE = $(DESTDIR)$(BINDIR)/jove
TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
RECOVER = $(DESTDIR)$(LIBDIR)/recover
--- 21,31 -----
TMPDIR = /tmp
LIBDIR = /usr/local/lib/jove
BINDIR = /usr/local/bin
MANDIR = /usr/man/manl
MANEXT = l
! JSHELL = /bin/ksh
# These should all just be right if the above ones are.
JOVE = $(DESTDIR)$(BINDIR)/jove
TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
RECOVER = $(DESTDIR)$(LIBDIR)/recover
@//E*O*F Makefile//
chmod u=rw,g=rw,o=r Makefile
echo x - Makefile.uport
sed 's/^@//' > "Makefile.uport" <<'@//E*O*F Makefile.uport//'
###########################################################################
# This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE #
# is provided to you without charge, and with no warranty. You may give #
# away copies of JOVE, including sources, provided that this notice is #
# included in all the files. #
###########################################################################
# TMPDIR is where the tmp files get stored, usually /tmp or /tmp/jove. If
# your system does not remove subdirectories of /tmp on reboot (lots do
# remove them these days) then it makes sense to make TMPDIR be /tmp/jove.
# But if you want to recover buffers on system crashes, you should create a
# directory that doesn't get clearned upon reboot, and use that instead.
# You would probably want to clean out that directory periodically with
# /etc/cron. LIBDIR is for online documentation, the PORTSRV process,
# RECOVER, and the system-wide .joverc file. BINDIR is where to put the
# executables JOVE and TEACHJOVE. MANDIR is where the manual pages go for
# JOVE, RECOVER and TEACHJOVE. MANEXT is the extension for the man pages,
# e.g., jove.1 or jove.l or jove.m.
DESTDIR =
TMPDIR = /tmp
LIBDIR = /usr/local/lib/jove
BINDIR = /usr/local/bin
MANDIR = /usr/man/manl
MANEXT = l
JSHELL = /bin/csh
# These should all just be right if the above ones are.
JOVE = $(DESTDIR)$(BINDIR)/jove
TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
RECOVER = $(DESTDIR)$(LIBDIR)/recover
PORTSRV = $(DESTDIR)$(LIBDIR)/portsrv
KBD = $(DESTDIR)$(LIBDIR)/kbd
JOVERC = $(DESTDIR)$(LIBDIR)/jove.rc
CMDS.DOC = $(DESTDIR)$(LIBDIR)/cmds.doc
TEACH-JOVE = $(DESTDIR)$(LIBDIR)/teach-jove
JOVEM = $(DESTDIR)$(MANDIR)/jove.$(MANEXT)
TEACHJOVEM = $(DESTDIR)$(MANDIR)/teachjove.$(MANEXT)
# Select the right libraries for your system.
# 2.10BSD:LIBS = -ltermcap
# v7: LIBS = -ltermcap
# 4.1BSD: LIBS = -ltermcap -ljobs
# 4.2BSD: LIBS = -ltermcap
# 4.3BSD: LIBS = -ltermcap
# SysV Rel. 2: LIBS = -lcurses
# SCO Xenix: LIBS = -ltermcap -lx
LIBS = -lcurses
# If you are not VMUNIX (vax running Berkeley Version 4), you must specify
# the -i flags (split I/D space) and maybe the -x option (for adb to work).
# 2.10BSD:LDFLAGS =
# v7: LDFLAGS =
# 4.1BSD: LDFLAGS =
# 4.2BSD: LDFLAGS =
# 4.3BSD: LDFLAGS =
# SysV Rel. 2: LDFLAGS = -Ml
# SCO Xenix: LDFLAGS = -Ml -F 3000
#
# SEPFLAG should be:
# not on a PDP-11: SEPFLAG =
# PDP-11 with separate I&D: SEPFLAG = -i
# PDP-11 without separate I&D: SEPFLAG = -n
#
LDFLAGS = -Ml
SEPFLAG =
# for SCO Xenix, set
# MEMFLAGS = -Mle
# CFLAGS = -LARGE -O -F 3000 -K -Mle (say -Mle2 for an 80286)
#CFLAGS = -O -Ml -DSigHold(x)="" -DSigRelse(x)="" -DSIGCHLD=SIGCLD -DUPORT
CFLAGS = -Ml -DSIGCHLD=SIGCLD -DUPORT
BASESEG = funcdefs.o keys.o argcount.o ask.o buf.o ctype.o delete.o \
disp.o insert.o io.o jove.o malloc.o marks.o misc.o re.o \
screen.o tune.o util.o vars.o version.o list.o keymaps.o dup2.o
OVLAY1 = abbrev.o rec.o paragraph.o fmt.o
OVLAY2 = c.o wind.o fp.o move.o
OVLAY3 = extend.o macros.o
OVLAY4 = iproc.o re1.o
OVLAY5 = proc.o scandir.o term.o case.o
OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5)
C_SRC = funcdefs.c abbrev.c argcount.c ask.c buf.c c.c case.c ctype.c \
delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
jove.c list.c macros.c malloc.c marks.c misc.c move.c paragraph.c \
proc.c re.c re1.c rec.c scandir.c screen.c term.c util.c \
vars.c version.c wind.c getch.c mac.c keymaps.c pcscr.c
SOURCES = $(C_SRC) portsrv.c recover.c setmaps.c teachjove.c kbd.c
HEADERS = argcount.h buf.h chars.h ctype.h dataobj.h disp.h \
externs.h fp.h io.h iproc.h jove.h keymaps.h list.h mac.h \
re.h rec.h scandir.h screen.h style.h sysdep.h temp.h termcap.h \
ttystate.h tune.h util.h vars.h wait.h wind.h
DOCS1 = doc/example.rc doc/jove.1 doc/jove.2 doc/jove.3 \
doc/jove.4 doc/jove.5 doc/jove.nr doc/system.rc \
doc/teach-jove doc/teachjove.nr doc/README doc/jove.qref
DOCS2 = doc/cmds.doc.nr
DOCS3 = doc/joveman doc/cmds.doc doc/manpage
DOCS = $(DOCS1) $(DOCS2)
MISC = Makefile Makefile.dos tune.dos tune.template README Readme.dos \
Readme.mac iproc-pipes.c iproc-ptys.c
SUPPORT = teachjove.c recover.c setmaps.c portsrv.c kbd.c keys.txt \
macvert.c menumaps.txt mjovers.Hqx
BACKUPS = $(HEADERS) $(C_SRC) $(DOCS) $(SUPPORT) $(MISC)
all: sdate xjove recover teachjove portsrv kbd macvert edate
sdate:
@echo "**** make started at `date` ****"
edate:
@echo "**** make completed at `date` ****"
xjove: $(OBJECTS)
$(CC) $(LDFLAGS) -o xjove $(OBJECTS) $(LIBS)
@-size xjove
gjove: $(OBJECTS)
ld -X /lib/gcrt0.o -o gjove $(OBJECTS) -lc $(LIBS)
@-size gjove
ovjove: $(OBJECTS)
ld $(SEPFLAG) $(LDFLAGS) -X /lib/crt0.o \
-Z $(OVLAY1) \
-Z $(OVLAY2) \
-Z $(OVLAY3) \
-Z $(OVLAY4) \
-Z $(OVLAY5) \
-Y $(BASESEG) \
-o xjove $(LIBS) -lc
@-size xjove
portsrv: portsrv.o dup2.o
$(CC) $(LDFLAGS) -o portsrv $(SEPFLAG) portsrv.o dup2.o $(LIBS)
kbd: kbd.o
$(CC) $(LDFLAGS) -o kbd $(SEPFLAG) kbd.o $(LIBS)
recover: recover.o tune.o rec.h temp.h
$(CC) $(LDFLAGS) -o recover $(SEPFLAG) recover.o tune.o $(LIBS)
teachjove: teachjove.o
$(CC) $(LDFLAGS) -o teachjove $(SEPFLAG) teachjove.o $(LIBS)
setmaps: setmaps.o funcdefs.c
$(CC) -o setmaps setmaps.o
teachjove.o: teachjove.c /usr/include/sys/types.h /usr/include/sys/file.h
cc -c $(CFLAGS) -DTEACHJOVE=\"$(TEACH-JOVE)\" teachjove.c
# don't optimize setmaps.c because it produces bad code in some places
# for some reason
setmaps.o: funcdefs.c keys.txt
$(CC) $(MEMFLAGS) -c setmaps.c
# ignore error messages from setmaps
# it doesn't understand ifdefs
keys.c: setmaps keys.txt
-./setmaps < keys.txt > keys.c
keys.o: keys.c jove.h
tune.c: Makefile tune.template
@echo "/* Changes should be made in Makefile, not to this file! */" > tune.c
@echo "" >> tune.c
@sed -e 's;TMPDIR;$(TMPDIR);' \
-e 's;LIBDIR;$(LIBDIR);' \
-e 's;BINDIR;$(BINDIR);' \
-e 's;SHELL;$(JSHELL);' tune.template >> tune.c
iproc.o: iproc-ptys.c iproc-pipes.c iproc.c
$(CC) -c $(CFLAGS) iproc.c
macvert: macvert.c
$(CC) $(CFLAGS) -o macvert macvert.c
# install doesn't work for Xenix (no install program)
install: $(DESTDIR)$(LIBDIR) $(TEACH-JOVE) $(CMDS.DOC) $(JOVERC) \
$(PORTSRV) $(KBD) $(RECOVER) $(JOVE) $(TEACHJOVE) $(JOVEM) \
$(RECOVERM) $(TEACHJOVEM)
$(DESTDIR)$(LIBDIR):
-mkdir $(DESTDIR)$(LIBDIR)
$(TEACH-JOVE): doc/teach-jove
install -c -m 644 doc/teach-jove $(TEACH-JOVE)
doc/cmds.doc: doc/cmds.doc.nr doc/jove.4 doc/jove.5
nroff doc/cmds.doc.nr doc/jove.4 doc/jove.5 > doc/cmds.doc
$(CMDS.DOC): doc/cmds.doc
install -c -m 644 doc/cmds.doc $(CMDS.DOC)
$(JOVERC): doc/system.rc
install -c -m 644 doc/system.rc $(JOVERC)
$(PORTSRV): portsrv
install -c -s -m 755 portsrv $(PORTSRV)
$(KBD): kbd
install -c -s -m 755 kbd $(KBD)
$(RECOVER): recover
install -c -s -m 755 recover $(RECOVER)
$(JOVE): xjove
install -c -m 755 xjove $(JOVE)
$(TEACHJOVE): teachjove
install -c -s -m 755 teachjove $(TEACHJOVE)
$(JOVEM): doc/jove.nr
@sed -e 's;TMPDIR;$(TMPDIR);' \
-e 's;LIBDIR;$(LIBDIR);' \
-e 's;SHELL;$(JSHELL);' doc/jove.nr > /tmp/jove.nr
install -m 644 /tmp/jove.nr $(JOVEM)
$(TEACHJOVEM): doc/teachjove.nr
@sed -e 's;TMPDIR;$(TMPDIR);' \
-e 's;LIBDIR;$(LIBDIR);' \
-e 's;SHELL;$(JSHELL);' doc/teachjove.nr > /tmp/teachjove.nr
install -m 644 /tmp/teachjove.nr $(TEACHJOVEM)
echo:
@echo $(C-FILES) $(HEADERS)
lint:
lint -n $(C_SRC) tune.c keys.c
@echo Done
tags:
ctags -w $(C_SRC) $(HEADERS) iproc-ptys.c
ciall:
ci $(BACKUPS)
coall:
co $(BACKUPS)
jove.shar:
shar $(BACKUPS) > jove.shar
backup: $(BACKUPS)
tar chf backup $(BACKUPS)
tape-backup:
tar c $(BACKUPS)
srcdownload:
kermit -s $(SUPPORT) $(MISC) $(HEADERS) $(C_SRC)
docdownload:
kermit -s $(DOCS1) $(DOCS3)
kermit -s doc/cmds.doc.nr -a cmdsdoc.nr
touch:
touch $(OBJECTS)
clean:
rm -f a.out core *.o keys.c tune.c xjove portsrv kbd recover setmaps \
teachjove macvert
# This version only works under 4.3BSD
# To enable, remove single # from start of following lines
depend:
for i in ${SOURCES} ; do \
cc -M ${CFLAGS} $$i | \
awk ' /[/]usr[/]include/ { next } \
{ if ($$1 != prev) \
{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
else rec = rec " " $$2 } } \
END { print rec } ' >> makedep; \
done
echo '$$a' >eddep
echo '' >>eddep
echo '.' >>eddep
echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >>eddep
echo '$$r makedep' >>eddep
echo 'w' >>eddep
cp Makefile Makefile.bak
ed - Makefile < eddep
rm eddep makedep
echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
echo '# see make depend above' >> Makefile
# DO NOT DELETE THIS LINE -- make depend uses it
funcdefs.o: funcdefs.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
funcdefs.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
funcdefs.o: ./screen.h ./style.h ./externs.h ./ctype.h
abbrev.o: abbrev.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
abbrev.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
abbrev.o: ./screen.h ./style.h ./externs.h ./fp.h ./ctype.h
argcount.o: argcount.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
argcount.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
argcount.o: ./screen.h ./style.h ./externs.h
ask.o: ask.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
ask.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
ask.o: ./style.h ./externs.h ./termcap.h ./ctype.h ./chars.h ./disp.h
buf.o: buf.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
buf.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
buf.o: ./style.h ./externs.h ./ctype.h ./disp.h
c.o: c.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
c.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
c.o: ./style.h ./externs.h ./re.h ./ctype.h
case.o: case.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
case.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
case.o: ./style.h ./externs.h ./disp.h ./ctype.h
ctype.o: ctype.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
ctype.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
ctype.o: ./style.h ./externs.h ./ctype.h
delete.o: delete.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
delete.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
delete.o: ./screen.h ./style.h ./externs.h ./disp.h
disp.o: disp.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
disp.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
disp.o: ./style.h ./externs.h ./ctype.h ./termcap.h ./chars.h ./fp.h ./disp.h
extend.o: extend.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
extend.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
extend.o: ./screen.h ./style.h ./externs.h ./fp.h ./termcap.h ./ctype.h
extend.o: ./chars.h ./disp.h
fp.o: fp.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
fp.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
fp.o: ./style.h ./externs.h ./fp.h ./ctype.h ./termcap.h
fmt.o: fmt.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
fmt.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
fmt.o: ./style.h ./externs.h ./fp.h ./termcap.h ./ctype.h ./disp.h
insert.o: insert.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
insert.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
insert.o: ./screen.h ./style.h ./externs.h ./ctype.h ./list.h ./chars.h
insert.o: ./disp.h
io.o: io.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
io.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
io.o: ./style.h ./externs.h ./list.h ./fp.h ./termcap.h ./ctype.h ./disp.h
io.o: ./io.h ./temp.h
iproc.o: iproc.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
iproc.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
iproc.o: ./style.h ./externs.h ./re.h ./ctype.h ./disp.h ./iproc-ptys.c
iproc.o: ./wait.h
jove.o: jove.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
jove.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
jove.o: ./style.h ./externs.h ./fp.h ./termcap.h ./ctype.h ./chars.h ./disp.h
list.o: list.c ./list.h ./tune.h ./sysdep.h
macros.o: macros.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
macros.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
macros.o: ./screen.h ./style.h ./externs.h ./ctype.h ./fp.h ./chars.h ./disp.h
malloc.o: malloc.c ./tune.h ./sysdep.h
marks.o: marks.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
marks.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
marks.o: ./style.h ./externs.h
misc.o: misc.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
misc.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
misc.o: ./style.h ./externs.h ./ctype.h
move.o: move.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
move.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
move.o: ./style.h ./externs.h ./re.h ./ctype.h
paragraph.o: paragraph.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
paragraph.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
paragraph.o: ./screen.h ./style.h ./externs.h
proc.o: proc.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
proc.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
proc.o: ./style.h ./externs.h ./ctype.h ./fp.h ./re.h ./termcap.h ./wait.h
re.o: re.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
re.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
re.o: ./style.h ./externs.h ./re.h ./ctype.h
re1.o: re1.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
re1.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
re1.o: ./style.h ./externs.h ./fp.h ./re.h ./ctype.h ./chars.h ./disp.h
rec.o: rec.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
rec.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
rec.o: ./style.h ./externs.h ./fp.h ./rec.h
scandir.o: scandir.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
scandir.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
scandir.o: ./screen.h ./style.h ./externs.h
screen.o: screen.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
screen.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
screen.o: ./screen.h ./style.h ./externs.h ./fp.h ./ctype.h ./termcap.h
screen.o: ./disp.h
term.o: term.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
term.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
term.o: ./style.h ./externs.h ./fp.h ./termcap.h
util.o: util.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
util.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
util.o: ./style.h ./externs.h ./ctype.h ./termcap.h ./disp.h
vars.o: vars.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
vars.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
vars.o: ./style.h ./externs.h
version.o: version.c
wind.o: wind.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
wind.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
wind.o: ./style.h ./externs.h ./termcap.h ./chars.h ./disp.h
getch.o: getch.c ./tune.h ./sysdep.h
mac.o: mac.c ./tune.h ./sysdep.h
keymaps.o: keymaps.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
keymaps.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
keymaps.o: ./screen.h ./style.h ./externs.h ./list.h ./fp.h ./termcap.h
keymaps.o: ./chars.h
pcscr.o: pcscr.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h ./iproc.h
pcscr.o: ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h ./screen.h
pcscr.o: ./style.h ./externs.h
portsrv.o: portsrv.c ./tune.h ./sysdep.h
recover.o: recover.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h ./io.h
recover.o: ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h ./vars.h
recover.o: ./screen.h ./style.h ./externs.h ./temp.h ./rec.h ./ctype.h
setmaps.o: setmaps.c ./funcdefs.c ./jove.h ./tune.h ./sysdep.h ./buf.h ./wind.h
setmaps.o: ./io.h ./iproc.h ./dataobj.h ./keymaps.h ./argcount.h ./util.h
setmaps.o: ./vars.h ./screen.h ./style.h ./externs.h ./ctype.h
teachjove.o: teachjove.c
kbd.o: kbd.c ./tune.h ./sysdep.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
@//E*O*F Makefile.uport//
chmod u=rw,g=r,o=r Makefile.uport
echo x - extend.c
sed 's/^@//' > "extend.c" <<'@//E*O*F extend.c//'
*** extend.c Tue Feb 28 15:54:33 1989
--- ../extend.c Thu Apr 6 13:21:41 1989
***************
*** 11,21
#include "ctype.h"
#include "chars.h"
#include "disp.h"
#include "re.h"
! #ifdef JOB_CONTROL
# include <signal.h>
#endif
#ifdef MAC
# include "mac.h"
--- 11,21 -----
#include "ctype.h"
#include "chars.h"
#include "disp.h"
#include "re.h"
! #if defined JOB_CONTROL || defined IPROCS
# include <signal.h>
#endif
#ifdef MAC
# include "mac.h"
@//E*O*F extend.c//
chmod u=rw,g=rw,o=r extend.c
echo x - fp.h
sed 's/^@//' > "fp.h" <<'@//E*O*F fp.h//'
*** fp.h Tue Feb 28 15:54:34 1989
--- ../fp.h Thu Apr 6 16:27:12 1989
***************
*** 3,12
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
extern void putchar proto((int c)); /* hidden by macro */
#define putchar(c) putc(c, stdout)
#define putc(c, fp) (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
#define getc(fp) (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
--- 3,16 -----
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
+ #ifndef FPDEFINED
+
+ #define FPDEFINED
+
extern void putchar proto((int c)); /* hidden by macro */
#define putchar(c) putc(c, stdout)
#define putc(c, fp) (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
#define getc(fp) (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
***************
*** 10,20
#define putchar(c) putc(c, stdout)
#define putc(c, fp) (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
#define getc(fp) (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
#define f_eof(fp) (fp->f_flags & F_EOF)
! typedef struct file {
int f_cnt, /* number of characters left in buffer */
f_bufsize, /* size of what f_base points to */
f_fd, /* fildes */
f_flags; /* various flags */
char *f_ptr, /* current offset */
--- 14,24 -----
#define putchar(c) putc(c, stdout)
#define putc(c, fp) (--(fp)->f_cnt >= 0 ? (*(fp)->f_ptr++ = (c)) : _flush((c), fp))
#define getc(fp) (((--(fp)->f_cnt < 0) ? filbuf(fp) : *(fp)->f_ptr++))
#define f_eof(fp) (fp->f_flags & F_EOF)
! typedef struct jove_file {
int f_cnt, /* number of characters left in buffer */
f_bufsize, /* size of what f_base points to */
f_fd, /* fildes */
f_flags; /* various flags */
char *f_ptr, /* current offset */
***************
*** 67,71
flush proto((File *fp)),
flusho proto((void)),
fputnchar proto((char *s,int n,File *fp)),
gc_openfiles proto((void)),
putstr proto((char *s));
--- 71,76 -----
flush proto((File *fp)),
flusho proto((void)),
fputnchar proto((char *s,int n,File *fp)),
gc_openfiles proto((void)),
putstr proto((char *s));
+ #endif /* !FPDEFINED */
@//E*O*F fp.h//
chmod u=rw,g=rw,o=r fp.h
echo x - io.h
sed 's/^@//' > "io.h" <<'@//E*O*F io.h//'
*** io.h Tue Feb 28 15:54:38 1989
--- ../io.h Thu Apr 6 10:34:07 1989
***************
*** 21,31
extern char
*lbptr proto((struct line *line)),
*pr_name proto((char *fname,int okay_home)),
*sprint proto((char *, ...));
! extern struct file
*open_file proto((char *fname,char *buf,int how,int complainifbad,int loudness));
extern void
setCWD proto((char *d)),
getCWD proto((void)),
--- 21,31 -----
extern char
*lbptr proto((struct line *line)),
*pr_name proto((char *fname,int okay_home)),
*sprint proto((char *, ...));
! extern struct jove_file
*open_file proto((char *fname,char *buf,int how,int complainifbad,int loudness));
extern void
setCWD proto((char *d)),
getCWD proto((void)),
@//E*O*F io.h//
chmod u=rw,g=rw,o=r io.h
echo x - iproc-pipes.c
sed 's/^@//' > "iproc-pipes.c" <<'@//E*O*F iproc-pipes.c//'
*** iproc-pipes.c Tue Feb 28 15:54:38 1989
--- ../iproc-pipes.c Mon Apr 10 08:46:20 1989
***************
*** 122,132
p->p_toproc = -1; /* writes will fail */
NumProcs -= 1;
}
}
! void void
proc_write(p, buf, nbytes)
Process *p;
char *buf;
int nbytes;
{
--- 122,132 -----
p->p_toproc = -1; /* writes will fail */
NumProcs -= 1;
}
}
! void
proc_write(p, buf, nbytes)
Process *p;
char *buf;
int nbytes;
{
***************
*** 181,191
}
newp = (Process *) malloc(sizeof *newp);
newp->p_next = procs;
newp->p_state = NEW;
! newp->p_cmd = 0;
cmdbuf[0] = '\0';
va_init(ap, clobber);
while (cp = va_arg(ap, char *))
swritef(&cmdbuf[strlen(cmdbuf)], "%s ", cp);
--- 181,191 -----
}
newp = (Process *) malloc(sizeof *newp);
newp->p_next = procs;
newp->p_state = NEW;
! /* newp->p_cmd = 0;*/
cmdbuf[0] = '\0';
va_init(ap, clobber);
while (cp = va_arg(ap, char *))
swritef(&cmdbuf[strlen(cmdbuf)], "%s ", cp);
***************
*** 235,245
if (kbd_pid == 0) {
signal(SIGINT, SIG_IGN);
signal(SIGALRM, SIG_IGN);
close(1);
dup(ProcOutput);
! execl(Kbd_Proc, "kbd", 0);
exit(-1);
}
}
private int kbd_state = OFF;
--- 235,245 -----
if (kbd_pid == 0) {
signal(SIGINT, SIG_IGN);
signal(SIGALRM, SIG_IGN);
close(1);
dup(ProcOutput);
! execl(Kbd_Proc, "kbd", (char *)0);
exit(-1);
}
}
private int kbd_state = OFF;
@//E*O*F iproc-pipes.c//
chmod u=rw,g=rw,o=r iproc-pipes.c
echo x - iproc.c
sed 's/^@//' > "iproc.c" <<'@//E*O*F iproc.c//'
*** iproc.c Tue Feb 28 15:54:39 1989
--- ../iproc.c Mon Apr 10 08:46:28 1989
***************
*** 174,183
register Process *p;
int sig;
{
if (isdead(p))
return;
if (killpg(p->p_pid, sig) == -1)
s_mess("Cannot kill %s!", proc_buf(p));
}
/* Free process CHILD. Do all the necessary cleaning up (closing fd's,
--- 174,186 -----
register Process *p;
int sig;
{
if (isdead(p))
return;
+ #if defined u3b1 || defined UPORT
+ if (kill(p->p_pid, sig) == -1)
+ #else
if (killpg(p->p_pid, sig) == -1)
#endif /* u3b1 || UPORT */
s_mess("Cannot kill %s!", proc_buf(p));
}
***************
*** 175,184
int sig;
{
if (isdead(p))
return;
if (killpg(p->p_pid, sig) == -1)
s_mess("Cannot kill %s!", proc_buf(p));
}
/* Free process CHILD. Do all the necessary cleaning up (closing fd's,
etc.). */
--- 178,188 -----
return;
#if defined u3b1 || defined UPORT
if (kill(p->p_pid, sig) == -1)
#else
if (killpg(p->p_pid, sig) == -1)
+ #endif /* u3b1 || UPORT */
s_mess("Cannot kill %s!", proc_buf(p));
}
/* Free process CHILD. Do all the necessary cleaning up (closing fd's,
etc.). */
***************
*** 402,412
private int
proc_child()
{
union wait w;
register int pid;
!
for (;;) {
#ifndef BSD4_2
pid = wait2(&w.w_status, (WNOHANG | WUNTRACED));
#else
pid = wait3(&w, (WNOHANG | WUNTRACED), (struct rusage *) 0);
--- 406,419 -----
private int
proc_child()
{
union wait w;
register int pid;
! #if defined u3b1 || defined UPORT
! pid = wait();
! kill_off(pid, w);
! #else
for (;;) {
#ifndef BSD4_2
pid = wait2(&w.w_status, (WNOHANG | WUNTRACED));
#else
pid = wait3(&w, (WNOHANG | WUNTRACED), (struct rusage *) 0);
***************
*** 413,422
#endif
if (pid <= 0)
break;
kill_off(pid, w);
}
return 0; /* signal handlers return something! */
}
void
kill_off(pid, w)
--- 420,430 -----
#endif
if (pid <= 0)
break;
kill_off(pid, w);
}
+ #endif /* u3b1 || UPORT */
return 0; /* signal handlers return something! */
}
void
kill_off(pid, w)
@//E*O*F iproc.c//
chmod u=rw,g=rw,o=r iproc.c
echo x - iproc.h
sed 's/^@//' > "iproc.h" <<'@//E*O*F iproc.h//'
*** iproc.h Tue Feb 28 15:54:41 1989
--- ../iproc.h Thu Apr 6 16:31:58 1989
***************
*** 27,36
};
extern int NumProcs;
#ifdef PIPEPROCS
extern File *ProcInput;
extern int kbd_pid;
#else
extern long global_fd;
#endif
--- 27,37 -----
};
extern int NumProcs;
#ifdef PIPEPROCS
+ #include "fp.h"
extern File *ProcInput;
extern int kbd_pid;
#else
extern long global_fd;
#endif
@//E*O*F iproc.h//
chmod u=rw,g=rw,o=r iproc.h
echo x - jove.h
sed 's/^@//' > "jove.h" <<'@//E*O*F jove.h//'
*** jove.h Tue Feb 28 15:54:42 1989
--- ../jove.h Thu Apr 6 16:32:45 1989
***************
*** 12,21
# include "tune.h"
#endif
#if !defined(MAC)
# include <sys/types.h>
# include <string.h>
#else
# include <types.h>
#endif
--- 12,22 -----
# include "tune.h"
#endif
#if !defined(MAC)
# include <sys/types.h>
+ #ifdef u3b1
# include <string.h>
#else
# include <strings.h>
#endif /* u3b1 */
#else
***************
*** 13,22
#endif
#if !defined(MAC)
# include <sys/types.h>
# include <string.h>
#else
# include <types.h>
#endif
#if defined(__STDC__) || defined(USE_PROTOTYPES)
--- 14,26 -----
#if !defined(MAC)
# include <sys/types.h>
#ifdef u3b1
# include <string.h>
+ #else
+ # include <strings.h>
+ #endif /* u3b1 */
#else
# include <types.h>
#endif
#if defined(__STDC__) || defined(USE_PROTOTYPES)
@//E*O*F jove.h//
chmod u=rw,g=rw,o=r jove.h
echo x - malloc.c
sed 's/^@//' > "malloc.c" <<'@//E*O*F malloc.c//'
*** malloc.c Tue Feb 28 15:54:49 1989
--- ../malloc.c Wed Mar 29 09:07:40 1989
***************
*** 4,14
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#include "tune.h"
!
#ifdef MY_MALLOC
/* avoid break bug */
#ifdef pdp11
# define GRANULE 64
--- 4,14 -----
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#include "tune.h"
! #include "sys/types.h"
#ifdef MY_MALLOC
/* avoid break bug */
#ifdef pdp11
# define GRANULE 64
@//E*O*F malloc.c//
chmod u=rw,g=rw,o=r malloc.c
echo x - portsrv.c
sed 's/^@//' > "portsrv.c" <<'@//E*O*F portsrv.c//'
*** portsrv.c Tue Feb 28 15:54:53 1989
--- ../portsrv.c Thu Apr 6 16:34:07 1989
***************
*** 14,23
#define EOF -1
#include <signal.h>
#include <sys/ioctl.h>
#include "wait.h"
struct header {
int pid;
int nbytes;
--- 14,24 -----
#define EOF -1
#include <signal.h>
#include <sys/ioctl.h>
+ #include "jove.h"
#include "wait.h"
struct header {
int pid;
int nbytes;
@//E*O*F portsrv.c//
chmod u=rw,g=rw,o=r portsrv.c
echo x - proc.c
sed 's/^@//' > "proc.c" <<'@//E*O*F proc.c//'
*** proc.c Tue Feb 28 15:54:53 1989
--- ../proc.c Mon Apr 10 08:46:35 1989
***************
*** 504,515
void
dowait(pid, status)
int pid,
*status;
{
! # ifndef IPROCS
!
int rpid;
while ((rpid = wait(status)) != pid)
;
# else
--- 504,514 -----
void
dowait(pid, status)
int pid,
*status;
{
! # if !defined IPROCS || defined u3b1 || defined UPORT
int rpid;
while ((rpid = wait(status)) != pid)
;
# else
@//E*O*F proc.c//
chmod u=rw,g=rw,o=r proc.c
echo x - sysdep.3b1
sed 's/^@//' > "sysdep.3b1" <<'@//E*O*F sysdep.3b1//'
/***************************************************************************
* This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE *
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#ifdef THINK_C
# define MAC 1
# define defined(x) (x) /* take this out and you're in trouble... */
#endif
#ifdef MAC
extern int errno;
#endif /* MAC */
#if !(defined(MSDOS) || defined(MAC) || defined(__STDC__))
# define void int
#endif
#ifndef __STDC__
#define const
#endif
/* The operating system (MSDOS or MAC) must be defined by this point.
IBMPC is defined in the Makefile. All MAC defines should be
numerical (i.e. #define MAC 1) so that defined() will work. */
#if !(defined(MSDOS) || defined(MAC))
# define UNIX
#endif
#ifdef UNIX
# if !sun
extern int errno;
# endif
/*# define YP_PASSWD /* if you are a sun running the yellow pages */
/*# define VFORK /* if you have vfork(2) */
/*# define JOB_CONTROL /* if you have job stopping */
# ifdef JOB_CONTROL
# define MENLO_JCL
# endif
# define KILL0 /* kill(pid, 0) returns 0 if proc exists */
#endif /* UNIX */
#ifdef UNIX
# ifdef pdp11
# define SMALL
# define BUFSIZ 512 /* or 1024 */
# define NBUF 3
# else
# define VMUNIX /* Virtual Memory UNIX */
# define BUFSIZ 1024
# ifdef iAPX286
# define NBUF 48 /* NBUF*BUFSIZ must be less than 64 kB */
# else
# define NBUF 64 /* number of disk buffers */
# endif /* iAPX286 */
# endif
#endif
#ifdef SMALL
typedef unsigned short daddr;
#else
# if defined(iAPX286) || defined(MSDOS) || defined(MAC)
typedef long daddr;
# else
typedef int daddr;
# endif /* iAPX286 */
#endif /* SMALL */
#ifdef UNIX
/* pick your version of Unix */
/*# define BSD4_2 /* Berkeley 4.2 BSD */
/*# define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */
/*# define SYSV -- for (System III/System V) UNIX systems */
# define SYSVR2 -- system 5, rel. 2 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
#ifdef SYSVR2
# ifndef SYSV
# define SYSV /* SYSV is a subset of SYSVR2 */
# endif
#endif
#ifdef BSD4_3
# ifndef BSD4_2
# define BSD4_2 /* 4.3 is 4.2 only different. */
# endif
#endif
#ifdef M_XENIX
# define iAPX286 1 /* we have segments */
#endif
#ifdef MSDOS
# ifdef M_I86LM /* large memory model */
# define NBUF 64
# else
# define NBUF 3
# define SMALL
# endif
# define BUFSIZ 512 /* or 1024 */
#endif
#if !sun && !iAPX286
/*# define MY_MALLOC /* use more memory efficient malloc (not on suns) */
#endif
#if (defined(BSD4_3) || defined(MAC))
# define RESHAPING /* enable windows to handle reshaping */
#endif
#ifdef BSD4_2 /* byte_copy(from, to, len) */
# define byte_copy bcopy /* use fast assembler version */
#endif
#if defined(IPROCS) && !defined(BSD4_2)
# define PIPEPROCS /* do it with pipes */
#endif
#if defined(SYSV) || defined(MSDOS) || defined(M_XENIX)
# define byte_copy(s2, s1, n) memcpy(s1, s2, n)
# define bzero(s, n) memset(s, 0, n)
# define index strchr
# define rindex strrchr
#endif
#ifndef BSD4_2
# ifdef MENLO_JCL
# define signal sigset
# endif /* MENLO_JCL */
#endif
#if !(defined(IBMPC) || defined(MAC))
# define TERMCAP
# define ASCII
#endif
#ifdef ASCII /* seven bit characters */
# define NCHARS 0200
#else
# define NCHARS 0400
#endif
#define CHARMASK (NCHARS - 1)
#ifndef MSDOS
# define FILESIZE 256
#else /* MSDOS */
# define FILESIZE 64
#endif /* MSDOS */
#if defined(BSD4_2)
extern long SigMask;
# define SigHold(s) sigblock(SigMask |= sigmask(s))
# define SigRelse(s) sigsetmask(SigMask &= ~sigmask(s))
#endif
@//E*O*F sysdep.3b1//
chmod u=rw,g=rw,o=r sysdep.3b1
echo x - sysdep.h
sed 's/^@//' > "sysdep.h" <<'@//E*O*F sysdep.h//'
*** sysdep.h Tue Feb 28 15:55:00 1989
--- ../sysdep.h Mon Apr 10 08:51:58 1989
***************
*** 32,42
#ifdef UNIX
# if !sun
extern int errno;
# endif
! # define YP_PASSWD /* if you are a sun running the yellow pages */
# define VFORK /* if you have vfork(2) */
# define JOB_CONTROL /* if you have job stopping */
# ifdef JOB_CONTROL
# define MENLO_JCL
# endif
--- 32,42 -----
#ifdef UNIX
# if !sun
extern int errno;
# endif
! /*# define YP_PASSWD /* if you are a sun running the yellow pages */
# define VFORK /* if you have vfork(2) */
# define JOB_CONTROL /* if you have job stopping */
# ifdef JOB_CONTROL
# define MENLO_JCL
# endif
***************
*** 70,80
#endif /* SMALL */
#ifdef UNIX
/* pick your version of Unix */
# define BSD4_2 /* Berkeley 4.2 BSD */
! # define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */
/*# define SYSV -- for (System III/System V) UNIX systems */
/*# define SYSVR2 -- system 5, rel. 2 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
--- 70,80 -----
#endif /* SMALL */
#ifdef UNIX
/* pick your version of Unix */
# define BSD4_2 /* Berkeley 4.2 BSD */
! /*# define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */
/*# define SYSV -- for (System III/System V) UNIX systems */
/*# define SYSVR2 -- system 5, rel. 2 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
***************
*** 103,113
# endif
# define BUFSIZ 512 /* or 1024 */
#endif
#if !sun && !iAPX286
! # define MY_MALLOC /* use more memory efficient malloc (not on suns) */
#endif
#if (defined(BSD4_3) || defined(MAC))
# define RESHAPING /* enable windows to handle reshaping */
#endif
--- 103,113 -----
# endif
# define BUFSIZ 512 /* or 1024 */
#endif
#if !sun && !iAPX286
! /*# define MY_MALLOC /* use more memory efficient malloc (not on suns) */
#endif
#if (defined(BSD4_3) || defined(MAC))
# define RESHAPING /* enable windows to handle reshaping */
#endif
***************
*** 155,160
#if defined(BSD4_2)
extern long SigMask;
# define SigHold(s) sigblock(SigMask |= sigmask(s))
# define SigRelse(s) sigsetmask(SigMask &= ~sigmask(s))
#endif
--- 155,163 -----
#if defined(BSD4_2)
extern long SigMask;
# define SigHold(s) sigblock(SigMask |= sigmask(s))
# define SigRelse(s) sigsetmask(SigMask &= ~sigmask(s))
+ #else
+ # define SigHold(s)
+ # define SigRelse(s)
#endif
@//E*O*F sysdep.h//
chmod u=rw,g=rw,o=r sysdep.h
echo x - sysdep.uport
sed 's/^@//' > "sysdep.uport" <<'@//E*O*F sysdep.uport//'
/***************************************************************************
* This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE *
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#ifdef THINK_C
# define MAC 1
# define defined(x) (x) /* take this out and you're in trouble... */
#endif
#ifdef MAC
extern int errno;
#endif /* MAC */
#if !(defined(MSDOS) || defined(MAC) || defined(__STDC__))
# define void int
#endif
#ifndef __STDC__
#define const
#endif
/* The operating system (MSDOS or MAC) must be defined by this point.
IBMPC is defined in the Makefile. All MAC defines should be
numerical (i.e. #define MAC 1) so that defined() will work. */
#if !(defined(MSDOS) || defined(MAC))
# define UNIX
#endif
#ifdef UNIX
# if !sun
extern int errno;
# endif
/*# define YP_PASSWD /* if you are a sun running the yellow pages */
# define VFORK /* if you have vfork(2) */
# define JOB_CONTROL /* if you have job stopping */
# ifdef JOB_CONTROL
# define MENLO_JCL
# endif
# define KILL0 /* kill(pid, 0) returns 0 if proc exists */
#endif /* UNIX */
#ifdef UNIX
# ifdef pdp11
# define SMALL
# define BUFSIZ 512 /* or 1024 */
# define NBUF 3
# else
# define VMUNIX /* Virtual Memory UNIX */
# define BUFSIZ 1024
# ifdef iAPX286
# define NBUF 48 /* NBUF*BUFSIZ must be less than 64 kB */
# else
# define NBUF 64 /* number of disk buffers */
# endif /* iAPX286 */
# endif
#endif
#ifdef SMALL
typedef unsigned short daddr;
#else
# if defined(iAPX286) || defined(MSDOS) || defined(MAC)
typedef long daddr;
# else
typedef int daddr;
# endif /* iAPX286 */
#endif /* SMALL */
#ifdef UNIX
/* pick your version of Unix */
# define BSD4_2 /* Berkeley 4.2 BSD */
/*# define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */
/*# define SYSV -- for (System III/System V) UNIX systems */
/*# define SYSVR2 -- system 5, rel. 2 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
#ifdef SYSVR2
# ifndef SYSV
# define SYSV /* SYSV is a subset of SYSVR2 */
# endif
#endif
#ifdef BSD4_3
# ifndef BSD4_2
# define BSD4_2 /* 4.3 is 4.2 only different. */
# endif
#endif
#ifdef M_XENIX
# define iAPX286 1 /* we have segments */
#endif
#ifdef MSDOS
# ifdef M_I86LM /* large memory model */
# define NBUF 64
# else
# define NBUF 3
# define SMALL
# endif
# define BUFSIZ 512 /* or 1024 */
#endif
#if !sun && !iAPX286
/*# define MY_MALLOC /* use more memory efficient malloc (not on suns) */
#endif
#if (defined(BSD4_3) || defined(MAC))
# define RESHAPING /* enable windows to handle reshaping */
#endif
#ifdef BSD4_2 /* byte_copy(from, to, len) */
# define byte_copy bcopy /* use fast assembler version */
#endif
#if defined(IPROCS) && !defined(BSD4_2)
# define PIPEPROCS /* do it with pipes */
#endif
#if defined(SYSV) || defined(MSDOS) || defined(M_XENIX)
# define byte_copy(s2, s1, n) memcpy(s1, s2, n)
# define bzero(s, n) memset(s, 0, n)
# define index strchr
# define rindex strrchr
#endif
#ifndef BSD4_2
# ifdef MENLO_JCL
# define signal sigset
# endif /* MENLO_JCL */
#endif
#if !(defined(IBMPC) || defined(MAC))
# define TERMCAP
# define ASCII
#endif
#ifdef ASCII /* seven bit characters */
# define NCHARS 0200
#else
# define NCHARS 0400
#endif
#define CHARMASK (NCHARS - 1)
#ifndef MSDOS
# define FILESIZE 256
#else /* MSDOS */
# define FILESIZE 64
#endif /* MSDOS */
#if defined(BSD4_2)
extern long SigMask;
# define SigHold(s) sigblock(SigMask |= sigmask(s))
# define SigRelse(s) sigsetmask(SigMask &= ~sigmask(s))
#else
# define SigHold(s)
# define SigRelse(s)
#endif
@//E*O*F sysdep.uport//
chmod u=rw,g=rw,o=r sysdep.uport
echo x - term.c
sed 's/^@//' > "term.c" <<'@//E*O*F term.c//'
*** term.c Tue Feb 28 15:55:02 1989
--- ../term.c Mon Apr 10 08:48:17 1989
***************
*** 84,93
TABS,
UPlen,
HOlen,
LLlen;
#ifdef notdef
/*
* Are you sure about this one Jon? On the SYSV system I tried this
* on I got a multiple definition of PC because it was already
* defined in -ltermcap. Similarly for BC and UP ...
--- 84,99 -----
TABS,
UPlen,
HOlen,
LLlen;
+ #ifdef UPORT
+ char PC,
+ *BC, /* back space */
+ *UP; /* Scroll reverse, or up */
+ short ospeed;
+ #endif
#ifdef notdef
/*
* Are you sure about this one Jon? On the SYSV system I tried this
* on I got a multiple definition of PC because it was already
* defined in -ltermcap. Similarly for BC and UP ...
***************
*** 180,190
static char nm[3] = "xx";
nm[0] = *tsp++;
nm[1] = *tsp++;
*(meas[i]) = (char *) tgetstr(nm, &termp);
! if (termp > tspace + sizeof(tspace))
goto wimperr;
}
if (lPC)
PC = *lPC;
if (XS)
--- 188,200 -----
static char nm[3] = "xx";
nm[0] = *tsp++;
nm[1] = *tsp++;
*(meas[i]) = (char *) tgetstr(nm, &termp);
! #ifndef UPORT
! if (termp > tspace+ sizeof(tspace))
goto wimperr;
}
#endif
}
if (lPC)
***************
*** 182,191
nm[0] = *tsp++;
nm[1] = *tsp++;
*(meas[i]) = (char *) tgetstr(nm, &termp);
if (termp > tspace + sizeof(tspace))
goto wimperr;
}
if (lPC)
PC = *lPC;
if (XS)
SO = SE = 0;
--- 192,203 -----
*(meas[i]) = (char *) tgetstr(nm, &termp);
#ifndef UPORT
if (termp > tspac e+ sizeof(tspace))
goto wimperr;
+ #endif
}
if (lPC)
PC = *lPC;
if (XS)
SO = SE = 0;
@//E*O*F term.c//
chmod u=rw,g=rw,o=r term.c
echo x - tune.3b1
sed 's/^@//' > "tune.3b1" <<'@//E*O*F tune.3b1//'
/***************************************************************************
* This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE *
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#define TUNED /* don't touch this */
# define IPROCS /* interactive processes */
#include "sysdep.h"
#ifdef UNIX
# define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */
# define IPROCS /* interactive processes */
#endif /* UNIX */
#ifndef VFORK
# define vfork fork
#endif
#define BACKUPFILES /* enable the backup files code */
#define F_COMPLETION /* filename completion */
#define ABBREV /* word abbreviation mode */
#if !(defined(IBMPC) || defined(MAC))
# define ID_CHAR /* include code to IDchar */
/*# define WIRED_TERMS /* include code for wired terminals */
#endif
#define LISP /* include the code for Lisp Mode */
#define CMT_FMT /* include the comment formatting routines */
#ifdef UNIX
/*# define LOAD_AV /* Use the load average for various commands.
# Do not define this if you lack a load average
# system call and kmem is read protected. */
#
/*# define BIFF /* if you have biff (or the equivalent) */
# define SPELL /* spell words and buffer commands */
#endif
#define DFLT_MODE 0664 /* file will be created with this mode */
#ifdef MAC
# undef F_COMPLETION
# define F_COMPLETION 1
# define rindex strrchr
# define bzero(s,n) setmem(s,n,0)
# define swritef sprintf
# define USE_PROTOTYPES 1
# define NBUF 64
# define BUFSIZ 1024
# undef LISP
# define LISP 1
# undef ABBREV
# define ABBREV 1
# undef CMT_FMT
# define CMT_FMT 1
#endif
/* These are here since they define things in tune.c. If you add things to
tune.c, add them here too, if necessary. */
extern char
*d_tempfile,
*p_tempfile,
*Recover,
*Joverc,
#ifdef PIPEPROCS
*Portsrv,
*Kbd_Proc,
#endif
#ifdef MSDOS
CmdDb[],
#else
*CmdDb,
#endif
TmpFilePath[],
Shell[],
ShFlags[];
@//E*O*F tune.3b1//
chmod u=rw,g=r,o=r tune.3b1
echo x - tune.h
sed 's/^@//' > "tune.h" <<'@//E*O*F tune.h//'
*** tune.h Tue Feb 28 15:55:04 1989
--- ../tune.h Mon Apr 10 08:50:34 1989
***************
*** 5,14
* included in all the files. *
***************************************************************************/
#define TUNED /* don't touch this */
#include "sysdep.h"
#ifdef UNIX
# define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */
# define IPROCS /* interactive processes */
--- 5,18 -----
* included in all the files. *
***************************************************************************/
#define TUNED /* don't touch this */
+ #if defined u3b1 || defined UPORT /* fix this? */
+ # define IPROCS /* interactive processes */
+ #endif /* u3b1 || UPORT */
+
#include "sysdep.h"
#ifdef UNIX
# define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */
# define IPROCS /* interactive processes */
***************
*** 21,31
#define BACKUPFILES /* enable the backup files code */
#define F_COMPLETION /* filename completion */
#define ABBREV /* word abbreviation mode */
#if !(defined(IBMPC) || defined(MAC))
# define ID_CHAR /* include code to IDchar */
! # define WIRED_TERMS /* include code for wired terminals */
#endif
#define LISP /* include the code for Lisp Mode */
#define CMT_FMT /* include the comment formatting routines */
#ifdef UNIX
--- 25,35 -----
#define BACKUPFILES /* enable the backup files code */
#define F_COMPLETION /* filename completion */
#define ABBREV /* word abbreviation mode */
#if !(defined(IBMPC) || defined(MAC))
# define ID_CHAR /* include code to IDchar */
! /*# define WIRED_TERMS /* include code for wired terminals */
#endif
#define LISP /* include the code for Lisp Mode */
#define CMT_FMT /* include the comment formatting routines */
#ifdef UNIX
***************
*** 35,45
#
# define BIFF /* if you have biff (or the equivalent) */
# define SPELL /* spell words and buffer commands */
#endif
! #define DFLT_MODE 0666 /* file will be created with this mode */
#ifdef MAC
# undef F_COMPLETION
# define F_COMPLETION 1
# define rindex strrchr
--- 39,49 -----
#
# define BIFF /* if you have biff (or the equivalent) */
# define SPELL /* spell words and buffer commands */
#endif
! #define DFLT_MODE 0664 /* file will be created with this mode */
#ifdef MAC
# undef F_COMPLETION
# define F_COMPLETION 1
# define rindex strrchr
@//E*O*F tune.h//
chmod u=rw,g=rw,o=r tune.h
echo x - tune.uport
sed 's/^@//' > "tune.uport" <<'@//E*O*F tune.uport//'
/***************************************************************************
* This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE *
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#define TUNED /* don't touch this */
#if defined u3b1 || defined UPORT /* fix this? */
# define IPROCS /* interactive processes */
#endif /* u3b1 || UPORT */
#include "sysdep.h"
#ifdef UNIX
# define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */
# define IPROCS /* interactive processes */
#endif /* UNIX */
#ifndef VFORK
# define vfork fork
#endif
#define BACKUPFILES /* enable the backup files code */
#define F_COMPLETION /* filename completion */
#define ABBREV /* word abbreviation mode */
#if !(defined(IBMPC) || defined(MAC))
# define ID_CHAR /* include code to IDchar */
/*# define WIRED_TERMS /* include code for wired terminals */
#endif
#define LISP /* include the code for Lisp Mode */
#define CMT_FMT /* include the comment formatting routines */
#ifdef UNIX
/*# define LOAD_AV /* Use the load average for various commands.
# Do not define this if you lack a load average
# system call and kmem is read protected. */
#
/*# define BIFF /* if you have biff (or the equivalent) */
# define SPELL /* spell words and buffer commands */
#endif
#define DFLT_MODE 0664 /* file will be created with this mode */
#ifdef MAC
# undef F_COMPLETION
# define F_COMPLETION 1
# define rindex strrchr
# define bzero(s,n) setmem(s,n,0)
# define swritef sprintf
# define USE_PROTOTYPES 1
# define NBUF 64
# define BUFSIZ 1024
# undef LISP
# define LISP 1
# undef ABBREV
# define ABBREV 1
# undef CMT_FMT
# define CMT_FMT 1
#endif
/* These are here since they define things in tune.c. If you add things to
tune.c, add them here too, if necessary. */
extern char
*d_tempfile,
*p_tempfile,
*Recover,
*Joverc,
#ifdef PIPEPROCS
*Portsrv,
*Kbd_Proc,
#endif
#ifdef MSDOS
CmdDb[],
#else
*CmdDb,
#endif
TmpFilePath[],
Shell[],
ShFlags[];
@//E*O*F tune.uport//
chmod u=rw,g=r,o=r tune.uport
echo x - util.c
sed 's/^@//' > "util.c" <<'@//E*O*F util.c//'
*** util.c Tue Feb 28 15:55:05 1989
--- ../util.c Thu Apr 6 11:10:20 1989
***************
*** 7,16
#include "jove.h"
#include "ctype.h"
#include "termcap.h"
#include "disp.h"
#include <signal.h>
#ifdef MAC
# include "mac.h"
#else
--- 7,17 -----
#include "jove.h"
#include "ctype.h"
#include "termcap.h"
#include "disp.h"
+ #include "fp.h"
#include <signal.h>
#ifdef MAC
# include "mac.h"
#else
***************
*** 767,776
static struct nlist nl[] = {
{ "_avenrun" },
#define X_AVENRUN 0
{ "" }
};
void
get_la(dp)
double *dp;
{
--- 768,782 -----
static struct nlist nl[] = {
{ "_avenrun" },
#define X_AVENRUN 0
{ "" }
};
+ #ifdef sequent
+ #define LA_UNIX "/dynix"
+ #else
+ #define LA_UNIX "/vmunix"
+ #endif
void
get_la(dp)
double *dp;
{
***************
*** 772,782
void
get_la(dp)
double *dp;
{
! #ifdef sun
long avenrun[3];
#else
double avenrun[3];
#endif
static int kmem = 0;
--- 778,791 -----
void
get_la(dp)
double *dp;
{
! #ifdef sequent
! unsigned long avenrun[3];
! #else
! #if sun
long avenrun[3];
#else
double avenrun[3];
#endif
#endif
***************
*** 777,786
#ifdef sun
long avenrun[3];
#else
double avenrun[3];
#endif
static int kmem = 0;
extern long lseek proto((int, long, int));
if (kmem == -1) {
*dp = 4.0; /* So shell commands will say "Chugging" */
--- 786,796 -----
#if sun
long avenrun[3];
#else
double avenrun[3];
#endif
+ #endif
static int kmem = 0;
extern long lseek proto((int, long, int));
if (kmem == -1) {
*dp = 4.0; /* So shell commands will say "Chugging" */
***************
*** 789,799
if ((kmem = open("/dev/kmem", 0)) == -1) {
f_mess("Can't open kmem for load average.");
*dp = 4.0;
return;
}
! nlist("/vmunix", nl);
}
lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);
read(kmem, (char *) avenrun, sizeof(avenrun));
#ifdef sun
*dp = (double) avenrun[0] / FSCALE;
--- 799,809 -----
if ((kmem = open("/dev/kmem", 0)) == -1) {
f_mess("Can't open kmem for load average.");
*dp = 4.0;
return;
}
! nlist(LA_UNIX, nl);
}
lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);
read(kmem, (char *) avenrun, sizeof(avenrun));
#ifdef sun
*dp = (double) avenrun[0] / FSCALE;
***************
*** 796,805
lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);
read(kmem, (char *) avenrun, sizeof(avenrun));
#ifdef sun
*dp = (double) avenrun[0] / FSCALE;
#else
*dp = avenrun[0];
#endif
}
# endif
--- 806,819 -----
lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);
read(kmem, (char *) avenrun, sizeof(avenrun));
#ifdef sun
*dp = (double) avenrun[0] / FSCALE;
#else
+ #ifdef sequent
+ #define FSCALE 1000.0
+ *dp = (double) avenrun[0] / FSCALE;
+ #else
*dp = avenrun[0];
#endif
#endif
}
***************
*** 797,806
read(kmem, (char *) avenrun, sizeof(avenrun));
#ifdef sun
*dp = (double) avenrun[0] / FSCALE;
#else
*dp = avenrun[0];
#endif
}
# endif
# else /* !BSD4_2 || BSD2_10 */
--- 811,821 -----
#ifdef sequent
#define FSCALE 1000.0
*dp = (double) avenrun[0] / FSCALE;
#else
*dp = avenrun[0];
+ #endif
#endif
}
# endif
# else /* !BSD4_2 || BSD2_10 */
@//E*O*F util.c//
chmod u=rw,g=rw,o=r util.c
exit 0reynolds@dasys1.UUCP (Brian Reynolds) (04/13/89)
In article <237@libove.UUCP> root@libove.UUCP (Jay M. Libove) writes: >Has anyone gotten JOVE version 4.12 to compile on SCO Xenix 80286 >(version 2.2.1 just if it matters) ? [deleted] >/usr/include/sys/file.h(24) : error 25: `file' : enum/struct/union type redefinition >io.c(97) : error 38: `f_flags' : not struct/union member [deleted] This looks like some of the trouble I am having with jove on a Stride 460 running System V. Go into sysdep.h and change the #defines to allow System V instead of BSD. After this change you may get an error when making setmaps. If you get this working let me know. I still can't get jove to make on the Stride. >Jay Libove jl42@andrew.cmu.edu, libove@cs.cmu.edu, ttfn, Brian -- # ## # |Brian Reynolds # ## # |UUCP: ...!sun!gotham\ ## ## ## | ...!cmcl2!phri!dasys1!marine!reynolds #### ## #### | ...!uunet/
allbery@ncoast.ORG (Brandon S. Allbery) (04/14/89)
As quoted from <237@libove.UUCP> by root@libove.UUCP (Jay M. Libove): +--------------- | Has anyone gotten JOVE version 4.12 to compile on SCO Xenix 80286 | (version 2.2.1 just if it matters) ? | | I have worked through a number of small things, and finally ended | up with: | | cc -O -LARGE -F 3000 -K -Ml2e -c io.c | io.c | /usr/include/sys/file.h(24) : error 25: `file' : enum/struct/union type redefinition +--------------- Jove 4.12 is NOT directly portable to System V. I'm still working on diffs. The problem is that Jove uses a "struct file" internally, then #include's <sys/file.h> -- which is the Berkeley version of what we call <fcntl.h>. Under AT&T-derived Unixes, <sys/file.h> defines the kernel's struct file, causing a collision. Quick fix: #ifdef SYSV #include <fcntl.h> #define FREAD O_RDONLY /* working from memory, here -- the actual */ #define FWRITE O_WRONLY /* BSD flag names may be different */ #define FCREAT O_CREAT #else #include <sys/file.h> #endif This isn't the only System V incompatibility, however. I'll post my diffs when they're complete; I'm still working on things like using SVR3 signal handling to compensate for interruptable I/O where possible (a big win over the SVR2 version when editing large files). I'm also working in my modified C-mode backspace code as an option controlled by both #define and variable. ++Brandon -- Brandon S. Allbery, moderator of comp.sources.misc allbery@ncoast.org uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu Send comp.sources.misc submissions to comp-sources-misc@<backbone> NCoast Public Access UN*X - (216) 781-6201, 300/1200/2400 baud, login: makeuser