Jove 4.14: Diffs for System V and Microport V/AT
Thomas V. Frauenhofer
tvf at frau.UUCP
Wed Jan 31 05:21:00 AEST 1990
Below is a shar file containing all the diffs needed to make Jove 4.14
compile and run under System V UNIX, specifically Microport V/AT 2.4. A
couple of quick notes for people who might use this:
1) Define UPORT if you are using Microport. This gets around
two pieces of Microport brain-damage. It removes large buffers
from the stack (Microport's loader has an option that sup-
posedly resizes the stack, but it doesn't seem to work). It
also deals with the problem where the Micoport people mis-typed
the parameters for 'tgetstr' (Grr!).
2) The compile/link flag '-Ml' is also required for Microport,
BUT SHOULD NOT BE USED FOR OTHER SYSTEM V SYSTEMS!
Things are still not perfect in Microport-world however. Three outstanding
bugs are:
1) When you delete a line, another line magically "disappears"
from the screen. It's still in the buffer, and if you
refresh the screen (using the 'clear-and-redraw' command)
it reappears. This is a bug in the ansi termifo that
Microport supplies, I'll be playing with it to get something
to work.
2) (Similar to the above) sometimes when I am scrolling down a
file I see duplicate lines displayed. 'clear-and-redraw'
again clears this up.
3) When JOVE is invoked in your HOME directory, it DOES NOT LOAD
your .joverc file. I'm not sure what the problem is here, it
doesn't happen under the other System V machine I use.
Wierd.
Personally, I can live with the above much better than I can tolerate vi (no
religious flames, please, this is a personal preferance).
Well, that's all for now. This shar file has an exit at the end, so you
don't have to worry about the trailing garbage.
Thanks to Jon Payne for such a useful piece of software.
- Tom Frauenhofer (Signature at end)
------------------------------ CUT HERE -------------------------------------
:
# This shar file format does not care which shell (Bourne/C/Korn)
# you use, as it should always select Bourne (or Korn).
#
#
# COMMENTS
#
# This contains context diffs for all the files I had to modify to get JOVE
# version 4.14 to compile and execute under System V UNIX and Microport V/AT
# version 2.4 (I believe that it will also compile under verions 2.3 as well).
#
# Files:
# Makefile.diff
# jove.c.diff
# misc.c.diff
# recover.c.diff
# scandir.c.diff
# sysdep.h.diff
# term.c.diff
# termcap.h.diff
# util.c.diff
#
#
# Test if file exists
#
if [ -f Makefile.diff ]
then
echo "Will not overwrite existing file Makefile.diff"
else
#
# Extract contents of file Makefile.diff:
#
echo "-x Makefile.diff"
cat << \FLUNK_STUFF > 'Makefile.diff'
*** Makefile Wed Jan 10 19:14:54 1990
--- Makefile.new Sat Nov 4 08:17:56 1989
***************
*** 21,33 ****
DESTDIR =
TMPDIR = /tmp
RECDIR = /tmp
! LIBDIR = $(HOME)/lib/jove
! BINDIR = $(HOME)/bin/sun3
! MANDIR = $(HOME)/lib/man$(MANEXT)
MANEXT = l
! JSHELL = /bin/csh
PROG = jove
VERSION = 4.14
--- 21,34 ----
DESTDIR =
+ ROOTDIR=/u/new
TMPDIR = /tmp
RECDIR = /tmp
! LIBDIR = $(ROOTDIR)/lib/jove
! BINDIR = $(ROOTDIR)/prebin
! MANDIR = $(ROOTDIR)/lib/man$(MANEXT)
MANEXT = l
! JSHELL = /u/new/bin/ksh
PROG = jove
VERSION = 4.14
***************
*** 54,60 ****
# SCO Xenix: LIBS = -ltermcap -lx
# MIPS: -lbsd
! LIBS = -ltermcap
# 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).
--- 55,61 ----
# SCO Xenix: LIBS = -ltermcap -lx
# MIPS: -lbsd
! 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).
***************
*** 63,69 ****
# 4.1BSD: LDFLAGS =
# 4.2BSD: LDFLAGS =
# 4.3BSD: LDFLAGS =
! # SysV Rel. 2: LDFLAGS = -Ml
# SCO Xenix: LDFLAGS = -Ml -F 3000
#
# SEPFLAG should be:
--- 64,71 ----
# 4.1BSD: LDFLAGS =
# 4.2BSD: LDFLAGS =
# 4.3BSD: LDFLAGS =
! # SysV Rel. 2: LDFLAGS =
! # Microport: LDFLAGS = -Ml -k8192
# SCO Xenix: LDFLAGS = -Ml -F 3000
#
# SEPFLAG should be:
***************
*** 72,78 ****
# PDP-11 without separate I&D: SEPFLAG = -n
#
! LDFLAGS =
SEPFLAG =
--- 74,80 ----
# PDP-11 without separate I&D: SEPFLAG = -n
#
! LDFLAGS = -Ml -k8192
SEPFLAG =
***************
*** 81,89 ****
# CFLAGS = -LARGE -O -F 3000 -K -Mle (say -Mle2 for an 80286)
# for MIPS, set
# CFLAGS = -O -I/usr/include/bsd
! CFLAGS = -O
BASESEG = funcdefs.o keys.o argcount.o ask.o buf.o ctype.o delete.o \
disp.o insert.o io.o jove.o marks.o misc.o re.o screen.o \
tune.o util.o vars.o version.o list.o keymaps.o
--- 83,96 ----
# CFLAGS = -LARGE -O -F 3000 -K -Mle (say -Mle2 for an 80286)
# for MIPS, set
# CFLAGS = -O -I/usr/include/bsd
+ # for Microport, set
+ # MEMFLAGS = -Ml
+ # CFLAGS = $(MEMFLAGS) -DUPORT
! MEMFLAGS = -Ml
+ CFLAGS = $(MEMFLAGS) -DUPORT -g
+
BASESEG = funcdefs.o keys.o argcount.o ask.o buf.o ctype.o delete.o \
disp.o insert.o io.o jove.o marks.o misc.o re.o screen.o \
tune.o util.o vars.o version.o list.o keymaps.o
***************
*** 91,97 ****
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)
--- 98,104 ----
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 termcap.o
OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5)
***************
*** 99,105 ****
delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
jove.c list.c macros.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
--- 106,112 ----
delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
jove.c list.c macros.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 termcap.c
SOURCES = $(C_SRC) portsrv.c recover.c setmaps.c teachjove.c kbd.c
***************
*** 218,260 ****
-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)
--- 225,276 ----
-mkdir $(DESTDIR)$(LIBDIR)
$(TEACH-JOVE): doc/teach-jove
! # install -c -m 644 doc/teach-jove $(TEACH-JOVE)
! cp 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)
! cp 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)
! cp portsrv $(PORTSRV)
$(KBD): kbd
! # install -c -s -m 755 kbd $(KBD)
! cp kbd $(KBD)
$(RECOVER): recover
! # install -c -s -m 755 recover $(RECOVER)
! cp recover $(RECOVER)
$(JOVE): xjove
! # install -c -m 755 xjove $(JOVE)
! cp xjove $(JOVE)
$(TEACHJOVE): teachjove
! # install -c -s -m 755 teachjove $(TEACHJOVE)
! cp 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)
! cp /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)
! cp /tmp/teachjove.nr $(TEACHJOVEM)
echo:
@echo $(C-FILES) $(HEADERS)
FLUNK_STUFF
#
# Check file size of Makefile.diff
#
FWC=`wc -c Makefile.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 6343 ]
then
echo "ERROR: File size of Makefile.diff should be 6343 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f jove.c.diff ]
then
echo "Will not overwrite existing file jove.c.diff"
else
#
# Extract contents of file jove.c.diff:
#
echo "-x jove.c.diff"
cat << \FLUNK_STUFF > 'jove.c.diff'
*** jove.c Wed Jan 10 18:28:42 1990
--- jove.c.new Fri Nov 3 19:23:28 1989
***************
*** 195,200 ****
--- 195,201 ----
#ifdef UNIX
if (CoreDump)
abort();
+ cl_scr(1) ;
#ifdef PROFILING
exit(0);
#else
***************
*** 1233,1238 ****
--- 1234,1245 ----
}
#endif
+ #ifdef UPORT
+ static char ms_iobuff[LBSIZE],
+ ms_genbuf[LBSIZE],
+ ms_linebuf[LBSIZE];
+ #endif /* UPORT */
+
void
#ifdef MAC /* will get args from user, if option key held during launch */
***************
*** 1250,1258 ****
--- 1257,1271 ----
char ttbuf[MAXTTYBUF];
#ifndef MSDOS
# ifndef VMUNIX
+ #ifdef UPORT
+ char *s_iobuff = ms_iobuff,
+ *s_genbuf = ms_genbuf,
+ *s_linebuf = ms_linebuf ;
+ #else /* UPORT */
char s_iobuff[LBSIZE],
s_genbuf[LBSIZE],
s_linebuf[LBSIZE];
+ #endif /* UPORT */
/* The way I look at it, there ain't no way I is gonna run
out of stack space UNLESS I have some kind of infinite
recursive bug. So why use up some valuable memory, when
FLUNK_STUFF
#
# Check file size of jove.c.diff
#
FWC=`wc -c jove.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 1015 ]
then
echo "ERROR: File size of jove.c.diff should be 1015 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f misc.c.diff ]
then
echo "Will not overwrite existing file misc.c.diff"
else
#
# Extract contents of file misc.c.diff:
#
echo "-x misc.c.diff"
cat << \FLUNK_STUFF > 'misc.c.diff'
*** misc.c Wed Jan 10 18:30:09 1990
--- misc.c.new Fri Nov 3 09:24:02 1989
***************
*** 96,101 ****
--- 96,102 ----
void
Leave()
{
+ cl_scr(1) ;
longjmp(mainjmp, QUIT);
}
FLUNK_STUFF
#
# Check file size of misc.c.diff
#
FWC=`wc -c misc.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 194 ]
then
echo "ERROR: File size of misc.c.diff should be 194 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f recover.c.diff ]
then
echo "Will not overwrite existing file recover.c.diff"
else
#
# Extract contents of file recover.c.diff:
#
echo "-x recover.c.diff"
cat << \FLUNK_STUFF > 'recover.c.diff'
*** recover.c Wed Jan 10 18:30:17 1990
--- recover.c.new Thu Nov 2 21:56:39 1989
***************
*** 62,67 ****
--- 62,71 ----
private struct rec_entry *buflist[100]; /* system initializes to 0 */
+ #ifdef CCI
+ #define BSD_DIR
+ #endif /* CCI */
+
#ifndef BSD_DIR
typedef struct {
FLUNK_STUFF
#
# Check file size of recover.c.diff
#
FWC=`wc -c recover.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 299 ]
then
echo "ERROR: File size of recover.c.diff should be 299 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f scandir.c.diff ]
then
echo "Will not overwrite existing file scandir.c.diff"
else
#
# Extract contents of file scandir.c.diff:
#
echo "-x scandir.c.diff"
cat << \FLUNK_STUFF > 'scandir.c.diff'
*** scandir.c Wed Jan 10 18:30:25 1990
--- scandir.c.new Thu Nov 2 21:56:39 1989
***************
*** 30,35 ****
--- 30,39 ----
# undef scandir
#endif
+ #ifdef CCI
+ #define BSD_DIR
+ #endif /* CCI */
+
#ifdef BSD_DIR
# define DIRSIZE(entry) DIRSIZ((entry))
#else
FLUNK_STUFF
#
# Check file size of scandir.c.diff
#
FWC=`wc -c scandir.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 278 ]
then
echo "ERROR: File size of scandir.c.diff should be 278 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f sysdep.h.diff ]
then
echo "Will not overwrite existing file sysdep.h.diff"
else
#
# Extract contents of file sysdep.h.diff:
#
echo "-x sysdep.h.diff"
cat << \FLUNK_STUFF > 'sysdep.h.diff'
*** sysdep.h Wed Jan 10 18:30:48 1990
--- sysdep.h.new Thu Nov 2 21:56:35 1989
***************
*** 69,79 ****
#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 */
! /*# define SYSVR3 /* system 5, rel. 3 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
--- 69,79 ----
#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 */
! # define SYSVR3 /* system 5, rel. 3 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
FLUNK_STUFF
#
# Check file size of sysdep.h.diff
#
FWC=`wc -c sysdep.h.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 868 ]
then
echo "ERROR: File size of sysdep.h.diff should be 868 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f term.c.diff ]
then
echo "Will not overwrite existing file term.c.diff"
else
#
# Extract contents of file term.c.diff:
#
echo "-x term.c.diff"
cat << \FLUNK_STUFF > 'term.c.diff'
*** term.c Wed Jan 10 18:30:30 1990
--- term.c.new Fri Nov 3 19:23:42 1989
***************
*** 118,123 ****
--- 118,127 ----
_exit(1);
}
+ #ifdef UPORT
+ static char gt_tbuff[2048] ;
+ #endif /* UPORT */
+
void
getTERM()
{
***************
*** 125,131 ****
--- 129,139 ----
char termbuf[13],
*termname = NULL,
*termp = tspace,
+ #ifdef UPORT
+ *tbuff = gt_tbuff ;
+ #else /* UPORT */
tbuff[2048]; /* Good grief! */
+ #endif /* UPORT */
const char *tsp = ts;
int i;
***************
*** 174,180 ****
--- 182,192 ----
nm[0] = *tsp++;
nm[1] = *tsp++;
+ #ifdef UPORT
+ *(meas[i]) = (char *) tgetstr(nm, termp);
+ #else /* UPORT */
*(meas[i]) = (char *) tgetstr(nm, &termp);
+ #endif /* UPORT */
if (termp > tspace + sizeof(tspace))
goto wimperr;
}
FLUNK_STUFF
#
# Check file size of term.c.diff
#
FWC=`wc -c term.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 813 ]
then
echo "ERROR: File size of term.c.diff should be 813 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f termcap.h.diff ]
then
echo "Will not overwrite existing file termcap.h.diff"
else
#
# Extract contents of file termcap.h.diff:
#
echo "-x termcap.h.diff"
cat << \FLUNK_STUFF > 'termcap.h.diff'
No differences encountered
FLUNK_STUFF
#
# Check file size of termcap.h.diff
#
FWC=`wc -c termcap.h.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 27 ]
then
echo "ERROR: File size of termcap.h.diff should be 27 is $FWC"
fi
fi
#
# Test if file exists
#
if [ -f util.c.diff ]
then
echo "Will not overwrite existing file util.c.diff"
else
#
# Extract contents of file util.c.diff:
#
echo "-x util.c.diff"
cat << \FLUNK_STUFF > 'util.c.diff'
*** util.c Wed Jan 10 18:30:39 1990
--- util.c.new Thu Nov 2 21:56:39 1989
***************
*** 814,821 ****
--- 814,825 ----
{
short avg[3];
+ #ifndef CCI
gldav(avg);
*dp = (double) avg[0] / 256;
+ #else /* CCI */
+ *dp = 0.0 ;
+ #endif /* CCI */
}
# endif
FLUNK_STUFF
#
# Check file size of util.c.diff
#
FWC=`wc -c util.c.diff | awk '{printf ("%d", $1)}'`
if [ $FWC -ne 281 ]
then
echo "ERROR: File size of util.c.diff should be 281 is $FWC"
fi
fi
exit 0
--
Thomas V. Frauenhofer ...!rutgers!rochester!cci632!ccird7!tvf *or*
...!attctc!swamps!frau!tvf (tvf at frau, tvf at cci632) Daffy Duck Sings:
"I once knew an acrobat's daughter who swung by her teeth from a noose. 'Til
one day her bridgework gave way, and she flew through the air like a Goose!"
More information about the Comp.unix.microport
mailing list