[comp.unix.microport] diffs for jove4.9 for Uport 286

hedrick@athos.rutgers.edu (Charles Hedrick) (05/07/88)

Someone asked for diffs for the newest Jove for use on Microport.
Here is what I'm using.  See README.  Without changes, this version of
jove comes close to working on System V, but there are a few things
needed, most of which are probably not specific to Microport, but are
generic to System V.

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	Makefile.DIFF
#	README
#	funcdefs.c.DIF
#	io.c.DIFF
#	jove.c.DIFF
#	screen.c.DIFF
#	term.c.DIFF
#	tune.h.DIFF
#	util.c.DIFF
# This archive created: Sat May  7 01:49:40 1988
export PATH; PATH=/bin:$PATH
if test -f 'Makefile.DIFF'
then
	echo shar: will not over-write existing file "'Makefile.DIFF'"
else
cat << \SHAR_EOF > 'Makefile.DIFF'
*** Makefile.ORIG	Sat Apr 30 12:37:06 1988
--- Makefile	Sat Apr 30 18:14:23 1988
***************
*** 18,24
  # e.g., jove.1 or jove.l or jove.m.
  
  DESTDIR =
! TMPDIR = /tmp
  LIBDIR = /usr/local/lib/jove
  BINDIR = /usr/local
  MANDIR = /usr/man/manl

--- 18,24 -----
  # e.g., jove.1 or jove.l or jove.m.
  
  DESTDIR =
! TMPDIR = /usr/local/tmp/jove
  LIBDIR = /usr/local/lib/jove
  BINDIR = /u/bin
  MANDIR = /usr/man/man1
***************
*** 20,29
  DESTDIR =
  TMPDIR = /tmp
  LIBDIR = /usr/local/lib/jove
! BINDIR = /usr/local
! MANDIR = /usr/man/manl
! MANEXT = l
! SHELL = /bin/csh
  
  # These should all just be right if the above ones are.
  JOVE = $(DESTDIR)$(BINDIR)/jove

--- 20,29 -----
  DESTDIR =
  TMPDIR = /usr/local/tmp/jove
  LIBDIR = /usr/local/lib/jove
! BINDIR = /u/bin
! MANDIR = /usr/man/man1
! MANEXT = 1
! XSHELL = /bin/csh
  
  # These should all just be right if the above ones are.
  JOVE = $(DESTDIR)$(BINDIR)/jove
***************
*** 45,51
  #	SysV Rel. 2: LIBS = -lcurses
  #	SCO Xenix: LIBS = -ltermcap -lx
  
! 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).

--- 45,51 -----
  #	SysV Rel. 2: LIBS = -lcurses
  #	SCO Xenix: LIBS = -ltermcap -lx
  
! LIBS = -lcurses -lxmalloc
  
  # 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
  #	PDP-11 without separate I&D:	SEPFLAG = -n
  #
  
! LDFLAGS = 
  
  SEPFLAG =
  

--- 63,70 -----
  #	PDP-11 without separate I&D:	SEPFLAG = -n
  #
  
! LDFLAGS = -Ml
! MEMFLAGS = -Ml
  
  SEPFLAG =
  
***************
*** 71,77
  #	MEMFLAGS = -Mle
  #	CFLAGS = -LARGE -O -F 3000 -K -Mle  (say -Mle2 for an 80286)
  
! CFLAGS = -O 
  
  BASESEG = funcdefs.o keymaps.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 \

--- 72,79 -----
  #	MEMFLAGS = -Mle
  #	CFLAGS = -LARGE -O -F 3000 -K -Mle  (say -Mle2 for an 80286)
  
! CFLAGS = -O -Ml
! NOOCFLAGS = -Ml
  
  BASESEG = funcdefs.o keymaps.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 \
***************
*** 81,87
  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 \

--- 83,88 -----
  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 \
***************
*** 115,120
  edate:
  	@echo "**** make completed at `date` ****"
  
  xjove:	$(OBJECTS)
  	$(CC) $(LDFLAGS) -o xjove $(OBJECTS) $(LIBS)
  	@-size xjove

--- 116,134 -----
  edate:
  	@echo "**** make completed at `date` ****"
  
+ disp.o:	disp.c
+ 	$(CC) $(NOOCFLAGS) -c disp.c
+ 
+ io.o:	io.c
+ 	$(CC) $(NOOCFLAGS) -c io.c
+ 
+ misc.o:	misc.c
+ 	$(CC) $(NOOCFLAGS) -c misc.c
+ 
+ wind.o:	wind.c
+ 	$(CC) $(NOOCFLAGS) -c misc.c
+ 
+ 
  xjove:	$(OBJECTS)
  	$(CC) $(LDFLAGS) -o xjove $(OBJECTS) $(LIBS)
  	@-size xjove
***************
*** 168,174
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
  	     -e 's;BINDIR;$(BINDIR);' \
! 	     -e 's;SHELL;$(SHELL);' tune.template >> tune.c
  
  iproc.o: iproc-ptys.c iproc-pipes.c iproc.c
  	$(CC) -c $(CFLAGS) iproc.c

--- 182,188 -----
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
  	     -e 's;BINDIR;$(BINDIR);' \
! 	     -e 's;SHELL;$(XSHELL);' tune.template >> tune.c
  
  iproc.o: iproc-ptys.c iproc-pipes.c iproc.c
  	$(CC) -c $(CFLAGS) iproc.c
***************
*** 212,218
  $(JOVEM): doc/jove.nr
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
! 	     -e 's;SHELL;$(SHELL);' doc/jove.nr > /tmp/jove.nr
  	install -m 644 /tmp/jove.nr $(JOVEM)
  
  $(TEACHJOVEM): doc/teachjove.nr

--- 226,232 -----
  $(JOVEM): doc/jove.nr
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
! 	     -e 's;SHELL;$(XSHELL);' doc/jove.nr > /tmp/jove.nr
  	install -m 644 /tmp/jove.nr $(JOVEM)
  
  $(TEACHJOVEM): doc/teachjove.nr
***************
*** 218,224
  $(TEACHJOVEM): doc/teachjove.nr
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
! 	     -e 's;SHELL;$(SHELL);' doc/teachjove.nr > /tmp/teachjove.nr
  	install -m 644 /tmp/teachjove.nr $(TEACHJOVEM)
  
  echo:

--- 232,238 -----
  $(TEACHJOVEM): doc/teachjove.nr
  	@sed -e 's;TMPDIR;$(TMPDIR);' \
  	     -e 's;LIBDIR;$(LIBDIR);' \
! 	     -e 's;SHELL;$(XSHELL);' doc/teachjove.nr > /tmp/teachjove.nr
  	install -m 644 /tmp/teachjove.nr $(TEACHJOVEM)
  
  echo:
SHAR_EOF
fi # end of overwriting check
if test -f 'README'
then
	echo shar: will not over-write existing file "'README'"
else
cat << \SHAR_EOF > 'README'
Here are diffs for the newest version of Jove, which was posted to
comp.sources.unix about a week ago.  Here are comments on the changes:
 Makefile: take a look at the directories.  In some cases you may
	prefer the original.  The variable name SHELL must be changed
	to XSHELL or it will control not only the shell used by Jove,
	but the shell used to execute the make commands.  The makefile
	will only work if /bin/sh is used.  -lxmalloc is optional.
	It causes you to use my performance-optimized malloc routines.
	Presumably the normal malloc will also work.  Explicit
	commands are given for 4 modules.  These are the ones
	that cause the optimizer to blow up, so they must be compiled
	without -O.
  funcdefs.c - PauseJove on BSD causes the editor to pause using BSD
	job control.  Originally, on SV, it calls a shell recursively,
	since there is no job control.  I've put back the original,
	for use with shl (shell layers).  I simulate BSD job control
	as follows: I bind pause-jove to ^Z (the usual BSD stop
	character, and also used by shl to return to the shl command
	level).  The problem is that I was unable to find a way for
	jove to return control to shl.  So I've set it up so that
	two ^Z's will pause.  The first one is interprted by Jove.
	It causes jove to put the terminal back into normal mode,
	and wait for a CR.  The second one causes shl to take control.
	To return to Jove, you then type an extra CR after the shl
	command.  The second CR causes Jove to continue, putting
	back the screen appropriately.  This is sort of a hack, but
	it's fairly reasonable in practice.
  io.c - you may choose not to do this one.  It causes the backup
	file name to be foo.BAK, instead of #foo.  Purely personal
	taste.
  jove.c - fix the bug where read returns the wrong count if
	interrupted by an alarm.  Add the PauseJove code to 
	interface with shl, as described above.
  screen.c - the original code assumes that certain screen
	commands leave the cursor at 0,0.  The microport terminal
	driver doesn't.  So cause Jove to make no assumptions.
  term.c - the original code assumes that the system termlib
	library defines globals PC, BC, and UP.  It doesn't.  I
	suspect the System V code was debugged on a system using
	termcap instead of termlib.
  tune.h - system-dependent settings.
  util.c - another variable that was undefined, as in term.c
  .joverc - my global startup file (/usr/local/lib/jove/.joverc).
	This makes it look as much like Gnu Emacs as possible.
	It turns on the clock in the mode line, which you should
	not do unless you are running a kernel newer than 2.3.0-L.  
	2.3.0-L	and earlier kernels cause paging when the resulting
	alarm interrupts happen.  The result is rather
	unpleasant. So on such systems I recommend setting
	update-time-frequency to 0, to disable the clock, and also
	omitting the part of the mode line in {  }.


	
SHAR_EOF
fi # end of overwriting check
if test -f 'funcdefs.c.DIF'
then
	echo shar: will not over-write existing file "'funcdefs.c.DIF'"
else
cat << \SHAR_EOF > 'funcdefs.c.DIF'
*** funcdefs.c.ORI	Sat Apr 30 18:57:23 1988
--- funcdefs.c	Sat Apr 30 19:11:00 1988
***************
*** 159,165
  #ifdef SPELL
  	SpelWords(),
  #endif
- #ifdef JOB_CONTROL
  	PauseJove(),
  #endif
  	PrevLine(),

--- 159,164 -----
  #ifdef SPELL
  	SpelWords(),
  #endif
  	PauseJove(),
  	PrevLine(),
  	PrevPage(),
***************
*** 161,167
  #endif
  #ifdef JOB_CONTROL
  	PauseJove(),
- #endif
  	PrevLine(),
  	PrevPage(),
  	PrevWindow(),

--- 160,165 -----
  	SpelWords(),
  #endif
  	PauseJove(),
  	PrevLine(),
  	PrevPage(),
  	PrevWindow(),
***************
*** 459,465
  #ifdef SPELL
  	FUNCTION, "parse-spelling-errors-in-buffer", WIRED_CMD(SpelWords),
  #endif
! #ifdef JOB_CONTROL
  	FUNCTION, "pause-jove", WIRED_CMD(PauseJove),
  #else
  #	ifndef MAC

--- 457,463 -----
  #ifdef SPELL
  	FUNCTION, "parse-spelling-errors-in-buffer", WIRED_CMD(SpelWords),
  #endif
! /* #ifdef JOB_CONTROL */
  	FUNCTION, "pause-jove", WIRED_CMD(PauseJove),
  /* #else
   * #	ifndef MAC
***************
*** 461,471
  #endif
  #ifdef JOB_CONTROL
  	FUNCTION, "pause-jove", WIRED_CMD(PauseJove),
! #else
! #	ifndef MAC
! 	FUNCTION, "pause-jove", WIRED_CMD(Push),
! #	endif
! #endif
  	FUNCTION, "pop-mark", WIRED_CMD(PopMark),
  #ifdef CHDIR
  	FUNCTION, "popd", WIRED_CMD(Popd),

--- 459,470 -----
  #endif
  /* #ifdef JOB_CONTROL */
  	FUNCTION, "pause-jove", WIRED_CMD(PauseJove),
! /* #else
!  * #	ifndef MAC
!  * 	FUNCTION, "pause-jove", WIRED_CMD(Push),
!  * #	endif
!  * #endif
!  */
  	FUNCTION, "pop-mark", WIRED_CMD(PopMark),
  #ifdef CHDIR
  	FUNCTION, "popd", WIRED_CMD(Popd),
SHAR_EOF
fi # end of overwriting check
if test -f 'io.c.DIFF'
then
	echo shar: will not over-write existing file "'io.c.DIFF'"
else
cat << \SHAR_EOF > 'io.c.DIFF'
*** io.c.ORIG	Sat Apr 30 18:59:13 1988
--- io.c	Sat Apr 30 18:59:14 1988
***************
*** 1361,1368
   	int	mode;
  
  	strcpy(tmp1, fname);
! 	if ((s = rindex(tmp1, '/')) == NULL)
! 		sprintf(tmp2, "#%s", fname);
  	else {
  		*s++ = '\0';
  		sprintf(tmp2, "%s/#%s", tmp1, s);

--- 1361,1375 -----
   	int	mode;
  
  	strcpy(tmp1, fname);
! 	if ((s = rindex(tmp1, '/')) == NULL) {
! #ifdef SYSV
! /* maxbase is max name length - length of .BAK */
! #define MAXBASE 10
! 		if (strlen(tmp1) > MAXBASE)
! 			tmp1[MAXBASE] = 0;
! #endif
! 		sprintf(tmp2, "%s.BAK", tmp1);
! 	}
  	else {
  		*s++ = '\0';
  #ifdef SYSV
***************
*** 1365,1371
  		sprintf(tmp2, "#%s", fname);
  	else {
  		*s++ = '\0';
! 		sprintf(tmp2, "%s/#%s", tmp1, s);
  	}
  
  	if ((fd1 = open(fname, 0)) < 0)

--- 1372,1382 -----
  	}
  	else {
  		*s++ = '\0';
! #ifdef SYSV
! 		if (strlen(s) > MAXBASE)
! 			s[MAXBASE] = 0;
! #endif
! 		sprintf(tmp2, "%s/%s.BAK", tmp1, s);
  	}
  
  	if ((fd1 = open(fname, 0)) < 0)
SHAR_EOF
fi # end of overwriting check
if test -f 'jove.c.DIFF'
then
	echo shar: will not over-write existing file "'jove.c.DIFF'"
else
cat << \SHAR_EOF > 'jove.c.DIFF'
*** jove.c.ORIG	Sat Apr 30 19:05:07 1988
--- jove.c	Sat Apr 30 19:05:08 1988
***************
*** 323,328
  			*smbuf = getrawinchar();
  			nchars = 1;
  #else
  			nchars = read(0, smbuf, sizeof smbuf);
  #endif
  		} while (nchars < 0

--- 323,337 -----
  			*smbuf = getrawinchar();
  			nchars = 1;
  #else
+ /* Microport, and possible all System V's before release 3,
+  * has a bug where read will return -1 even though it has
+  * given us useful data.  SIGALRM will trigger it.
+  */
+ #ifdef UPORT
+ 			char *cp;
+ 			for (cp = smbuf, c = 0; c < sizeof smbuf; cp++, c++)
+ 				*cp = 0xff;
+ #endif
  			nchars = read(0, smbuf, sizeof smbuf);
  #ifdef UPORT
  			if (nchars < 0) {
***************
*** 324,329
  			nchars = 1;
  #else
  			nchars = read(0, smbuf, sizeof smbuf);
  #endif
  		} while (nchars < 0
  #ifndef MSDOS

--- 333,348 -----
  				*cp = 0xff;
  #endif
  			nchars = read(0, smbuf, sizeof smbuf);
+ #ifdef UPORT
+ 			if (nchars < 0) {
+ 				for (cp = smbuf, c = 0;
+ 				     c < sizeof smbuf && *cp != 0xff;
+ 				     cp++, c++)
+ 				  ;
+ 				if (c > 0) {
+ 				     nchars = c;
+ 				}
+ 			}
  #endif
  #endif
  		} while (nchars < 0
***************
*** 325,330
  #else
  			nchars = read(0, smbuf, sizeof smbuf);
  #endif
  		} while (nchars < 0
  #ifndef MSDOS
  			&& errno == EINTR

--- 344,350 -----
  				}
  			}
  #endif
+ #endif
  		} while (nchars < 0
  #ifndef MSDOS
  			&& errno == EINTR
***************
*** 445,450
  	ResetTerm();
  	ClAndRedraw();
  }
  #endif
  
  

--- 465,481 -----
  	ResetTerm();
  	ClAndRedraw();
  }
+ #else
+ /* This code is intended to handle ^Z when running under shl */
+ PauseJove()
+ {
+ 	UnsetTerm(ModBufs(0) ? 
+ 	          "Hit CR to resume [There are modified buffers]\n" :
+ 		  "Hit CR to resume\n");
+ 	getchar();
+   	ResetTerm();
+   	ClAndRedraw();
+   }
  #endif
  
  
SHAR_EOF
fi # end of overwriting check
if test -f 'screen.c.DIFF'
then
	echo shar: will not over-write existing file "'screen.c.DIFF'"
else
cat << \SHAR_EOF > 'screen.c.DIFF'
*** screen.c.ORIG	Sat Apr 30 19:07:52 1988
--- screen.c	Sat Apr 30 19:07:54 1988
***************
*** 1406,1412
  
  	if (CS) {
  		putpad(tgoto(CS, bottom, top), 1);
! 		CapCol = CapLine = 0;
  		Placur(top, 0);
  		for (i = 0; i < num; i++)
  			putpad(SR, bottom - top);

--- 1406,1412 -----
  
  	if (CS) {
  		putpad(tgoto(CS, bottom, top), 1);
! 		CapCol = CapLine = 10000;
  		Placur(top, 0);
  		for (i = 0; i < num; i++)
  			putpad(SR, bottom - top);
***************
*** 1411,1417
  		for (i = 0; i < num; i++)
  			putpad(SR, bottom - top);
  		putpad(tgoto(CS, ILI, 0), 1);
! 		CapCol = CapLine = 0;
  	} else {
  		Placur(bottom - num + 1, 0);
  		if (M_DL && (num > 1)) {

--- 1411,1417 -----
  		for (i = 0; i < num; i++)
  			putpad(SR, bottom - top);
  		putpad(tgoto(CS, ILI, 0), 1);
! 		CapCol = CapLine = 10000;
  	} else {
  		Placur(bottom - num + 1, 0);
  		if (M_DL && (num > 1)) {
***************
*** 1479,1485
  
  	if (CS) {
  		putpad(tgoto(CS, bottom, top), 1);
! 		CapCol = CapLine = 0;
  		Placur(bottom, 0);
  		for (i = 0; i < num; i++)
  			putpad(SF, bottom - top);

--- 1479,1485 -----
  
  	if (CS) {
  		putpad(tgoto(CS, bottom, top), 1);
! 		CapCol = CapLine = 10000;
  		Placur(bottom, 0);
  		for (i = 0; i < num; i++)
  			putpad(SF, bottom - top);
***************
*** 1484,1490
  		for (i = 0; i < num; i++)
  			putpad(SF, bottom - top);
  		putpad(tgoto(CS, ILI, 0), 1);
! 		CapCol = CapLine = 0;
  	} else {
  		Placur(top, 0);
  		if (M_DL && (num > 1)) {

--- 1484,1490 -----
  		for (i = 0; i < num; i++)
  			putpad(SF, bottom - top);
  		putpad(tgoto(CS, ILI, 0), 1);
! 		CapCol = CapLine = 10000;
  	} else {
  		Placur(top, 0);
  		if (M_DL && (num > 1)) {
SHAR_EOF
fi # end of overwriting check
if test -f 'term.c.DIFF'
then
	echo shar: will not over-write existing file "'term.c.DIFF'"
else
cat << \SHAR_EOF > 'term.c.DIFF'
*** term.c.ORIG	Sat Apr 30 19:10:00 1988
--- term.c	Sat Apr 30 18:38:16 1988
***************
*** 77,82
  	HOlen,
  	LLlen;
  
  
  extern char	PC,
  		*BC,

--- 77,90 -----
  	HOlen,
  	LLlen;
  
+ #ifdef SYSVR2
+ char
+ #else
+ extern char
+ #endif
+ 	PC,
+ 	*BC,
+ 	*UP;
  
  	/*
  	 * Are you sure about this one Jon?  On the SYSV system I tried this
***************
*** 78,87
  	LLlen;
  
  
- extern char	PC,
- 		*BC,
- 		*UP;
- 
  	/*
  	 * 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

--- 86,91 -----
  	*BC,
  	*UP;
  
  	/*
  	 * 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
***************
*** 87,99
  	 * on I got a multiple definition of PC because it was already
  	 * defined in -ltermcap.  Similarly for BC and UP ...
  	 */
- #ifdef notdef
- #ifdef SYSVR2 /* release 2, at least */
- char	PC;
- #else
- extern char	PC;
- #endif /* SYSVR2 */
- #endif
  
  #ifndef IBMPC
  static char	tspace[256];

--- 91,96 -----
  	 * on I got a multiple definition of PC because it was already
  	 * defined in -ltermcap.  Similarly for BC and UP ...
  	 */
  
  #ifndef IBMPC
  static char	tspace[256];
SHAR_EOF
fi # end of overwriting check
if test -f 'tune.h.DIFF'
then
	echo shar: will not over-write existing file "'tune.h.DIFF'"
else
cat << \SHAR_EOF > 'tune.h.DIFF'
*** tune.h.ORIG	Sat Apr 30 12:46:48 1988
--- tune.h	Sat Apr 30 12:46:49 1988
***************
*** 25,34
  
  #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 */
  

--- 25,35 -----
  
  #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 UPORT
  			/* M_XENIX is defined by the Compiler */
  #endif /* UNIX */
  
***************
*** 72,78
  #	define BUFSIZ	512	/* or 1024 */
  #   endif
  #
! #   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. */
  #

--- 73,79 -----
  #	define BUFSIZ	512	/* or 1024 */
  #   endif
  #
! /* #   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. */
  #
***************
*** 76,82
  #			   Do not define this if you lack a load average
  #			   system call and kmem is read protected. */
  #
! #   define JOB_CONTROL	/* if you have job stopping */
  #
  #   ifdef JOB_CONTROL
  #       define MENLO_JCL

--- 77,83 -----
  #			   Do not define this if you lack a load average
  #			   system call and kmem is read protected. */
  #
! /* #   define JOB_CONTROL	/* if you have job stopping */
  #
  #   ifdef JOB_CONTROL
  #       define MENLO_JCL
***************
*** 102,109
  #define ABBREV		/* word abbreviation mode */
  #if !(defined(IBMPC) || defined(MAC))
  #   define ANSICODES	/* extra commands that process ANSI codes */
! #   define ID_CHAR	/* include code to IDchar */
! #   define WIRED_TERMS	/* include code for wired terminals */
  #endif
  #define CHDIR		/* cd command and absolute pathnames */
  #define LISP		/* include the code for Lisp Mode */

--- 103,110 -----
  #define ABBREV		/* word abbreviation mode */
  #if !(defined(IBMPC) || defined(MAC))
  #   define ANSICODES	/* extra commands that process ANSI codes */
! /* #   define ID_CHAR	/* include code to IDchar */
! /* #   define WIRED_TERMS	/* include code for wired terminals */
  #endif
  #define CHDIR		/* cd command and absolute pathnames */
  #define LISP		/* include the code for Lisp Mode */
***************
*** 110,116
  #define CMT_FMT		/* include the comment formatting routines */
  
  #ifdef UNIX
! #   define BIFF		/* if you have biff (or the equivalent) */
  #   define KILL0	/* kill(pid, 0) returns 0 if proc exists */
  #   define SPELL	/* spell words and buffer commands */
  #if !sun && !iAPX286

--- 111,117 -----
  #define CMT_FMT		/* include the comment formatting routines */
  
  #ifdef UNIX
! /* #   define BIFF		/* if you have biff (or the equivalent) */
  #   define KILL0	/* kill(pid, 0) returns 0 if proc exists */
  #   define SPELL	/* spell words and buffer commands */
  #if !sun && !iAPX286
SHAR_EOF
fi # end of overwriting check
if test -f 'util.c.DIFF'
then
	echo shar: will not over-write existing file "'util.c.DIFF'"
else
cat << \SHAR_EOF > 'util.c.DIFF'
*** util.c.ORIG	Sat Apr 30 18:23:49 1988
--- util.c	Sat Apr 30 18:23:50 1988
***************
*** 19,24
  #ifdef MSDOS
  #include <time.h>
  #endif
  
  struct cmd *
  FindCmd(proc)

--- 19,27 -----
  #ifdef MSDOS
  #include <time.h>
  #endif
+ #ifdef SYSVR2
+ short ospeed;
+ #endif
  
  struct cmd *
  FindCmd(proc)
SHAR_EOF
fi # end of overwriting check
#	End of shell archive
exit 0