diff -rc jove.jp/Makefile jove/Makefile
*** jove.jp/Makefile	Tue Sep 18 18:30:25 1990
--- jove/Makefile	Fri Feb  8 13:43:28 1991
***************
*** 23,34 ****
  
  TMPDIR = /tmp
  RECDIR = /tmp
! SHAREDIR = /net/flam.eng/home/flam/jpayne/share/jove
! LIBDIR = /net/flam.eng/home/flam/jpayne/lib/jove
! BINDIR = /net/flam.eng/home/flam/jpayne/bin/sun4
! MANEXT = l
! MANDIR = /net/flam.eng/home/flam/jpayne/lib/man$(MANEXT)
! JSHELL = /bin/csh
  
  PROG = jove
  VERSION = 4.14
--- 23,34 ----
  
  TMPDIR = /tmp
  RECDIR = /tmp
! SHAREDIR = /usr/local/lib/jove
! LIBDIR = /usr/local/lib/jove
! BINDIR = /usr/local/bin
! MANEXT = 1
! MANDIR = /usr/man/man.$(MANEXT)
! JSHELL = /bin/ksh
  
  PROG = jove
  VERSION = 4.14
***************
*** 55,61 ****
  #	SCO Xenix: LIBS = -ltermcap -lx
  #	MIPS: -lbsd
  
! LIBS = -ltermcap
  
  #	2.10BSD:LDFLAGS =
  #	v7:	LDFLAGS =
--- 55,61 ----
  #	SCO Xenix: LIBS = -ltermcap -lx
  #	MIPS: -lbsd
  
! LIBS = -ltermcap -lx
  
  #	2.10BSD:LDFLAGS =
  #	v7:	LDFLAGS =
***************
*** 322,328 ****
  
  clean:
  	rm -f a.out core *.o keys.c tune.c xjove portsrv kbd recover setmaps \
! 	macvert nrectune.h rectune.h
  
  # This version only works under 4.3BSD
  depend:
--- 322,328 ----
  
  clean:
  	rm -f a.out core *.o keys.c tune.c xjove portsrv kbd recover setmaps \
! 	macvert nrectune.h rectune.h doc/cmds.doc
  
  # This version only works under 4.3BSD
  depend:
Common subdirectories: jove.jp/doc and jove/doc
diff -rc jove.jp/externs.h jove/externs.h
*** jove.jp/externs.h	Thu Aug 23 10:56:45 1990
--- jove/externs.h	Fri Feb  8 11:17:43 1991
***************
*** 489,495 ****
--- 489,497 ----
  /* Date and Time <time.h> */
  
  extern time_t	time proto((time_t */*tloc*/));
+ #ifndef M_XENIX
  extern char	*ctime proto((const time_t *));
+ #endif /* M_XENIX */
  
  /* UNIX */
  
diff -rc jove.jp/iproc-pipes.c jove/iproc-pipes.c
*** jove.jp/iproc-pipes.c	Tue Nov 14 17:03:19 1989
--- jove/iproc-pipes.c	Fri Feb  8 11:12:01 1991
***************
*** 74,82 ****
  	}
  
  	if (nbytes == EOF) {		/* okay to clean up this process */
! 		int	status, pid;
  
! 		f_readn(ProcInput, &status, sizeof (int));
  		do {
  			pid = wait((int *) 0);
  			if (pid < 0)
--- 74,83 ----
  	}
  
  	if (nbytes == EOF) {		/* okay to clean up this process */
! 		int pid;
! 		union wait status;
  
! 		f_readn(ProcInput, (char *)&status, sizeof (int));
  		do {
  			pid = wait((int *) 0);
  			if (pid < 0)
diff -rc jove.jp/iproc.h jove/iproc.h
*** jove.jp/iproc.h	Tue Nov 14 17:03:22 1989
--- jove/iproc.h	Fri Feb  8 10:55:44 1991
***************
*** 36,42 ****
--- 36,46 ----
  #endif
  
  extern void
+ #ifdef PIPEPROCS
+ 	read_proc proto((int, int)),
+ #else
  	read_proc proto((int)),
+ #endif
  	pinit proto((void)),
  	KillProcs proto((void)),
  	pbuftiedp proto((Buffer *));
diff -rc jove.jp/jove.c jove/jove.c
*** jove.jp/jove.c	Thu Aug 23 01:04:15 1990
--- jove/jove.c	Fri Feb  8 13:40:22 1991
***************
*** 698,705 ****
--- 698,707 ----
  	lmword[ON] = lmword[OFF];
  	if (MetaKey == YES)
  		lmword[ON] |= LPASS8;
+ #  ifndef NeXT
  	if (HZ)
  		lmword[ON] &= ~LTILDE;
+ #  endif
  # endif
  
  # ifdef SYSV
***************
*** 1400,1409 ****
  	HomeLen = strlen(HomeDir);
  
  #ifdef UNIX
! # ifdef SYSV
! 	swritef(Mailbox, "/usr/mail/%s", getenv("LOGNAME"));
  # else
  	swritef(Mailbox, "/usr/spool/mail/%s", getenv("USER"));
  # endif
  #endif
  
--- 1402,1415 ----
  	HomeLen = strlen(HomeDir);
  
  #ifdef UNIX
! # ifdef M_XENIX
! 	swritef(Mailbox, "/usr/spool/mail/%s", getenv("USER"));
  # else
+ #  ifdef SYSV
+ 	swritef(Mailbox, "/usr/mail/%s", getenv("LOGNAME"));
+ #  else
  	swritef(Mailbox, "/usr/spool/mail/%s", getenv("USER"));
+ #  endif
  # endif
  #endif
  
diff -rc jove.jp/keymaps.c jove/keymaps.c
*** jove.jp/keymaps.c	Thu Aug 23 13:17:44 1990
--- jove/keymaps.c	Thu Feb  7 19:28:27 1991
***************
*** 342,347 ****
--- 342,349 ----
  	}
  }
  
+ private void desc_comvar(int which);
+ 
  void DescCom() { desc_comvar(0); }
  void DescVar() { desc_comvar(1); }
  
Only in jove: make.out
diff -rc jove.jp/recover.c jove/recover.c
*** jove.jp/recover.c	Tue Nov 14 17:03:47 1989
--- jove/recover.c	Fri Feb  8 11:48:02 1991
***************
*** 27,33 ****
--- 27,38 ----
  #include <sys/file.h>
  #include <sys/stat.h>
  #include <sys/dir.h>
+ #ifdef M_XENIX
+ #include "wait.h"
+ #include <dirent.h>
+ #else
  #include <sys/wait.h>
+ #endif
  #include <pwd.h>
  #include <time.h>
  #ifdef SYSV
***************
*** 37,50 ****
  extern int	UNMACRO(getuid) proto((void));
  extern int	UNMACRO(setuid) proto((int));
  extern int	UNMACRO(chown) proto((const char *, int, int));
  extern void	UNMACRO(perror) proto((const char *));
  
  #ifndef L_SET
  #	define L_SET	0
  #	define L_INCR	1
  #endif
- 
- extern char	*ctime proto((const time_t *));
  
  private char	blk_buf[JBUFSIZ];
  private int	nleft;
--- 42,57 ----
  extern int	UNMACRO(getuid) proto((void));
  extern int	UNMACRO(setuid) proto((int));
  extern int	UNMACRO(chown) proto((const char *, int, int));
+ #ifndef M_XENIX
  extern void	UNMACRO(perror) proto((const char *));
  
+ extern char	*ctime proto((const time_t *));
+ #endif /* M_XENIX */
+ 
  #ifndef L_SET
  #	define L_SET	0
  #	define L_INCR	1
  #endif
  
  private char	blk_buf[JBUFSIZ];
  private int	nleft;
diff -rc jove.jp/scandir.c jove/scandir.c
*** jove.jp/scandir.c	Tue Nov 14 17:03:47 1989
--- jove/scandir.c	Thu Feb  7 20:46:35 1991
***************
*** 86,91 ****
--- 86,92 ----
  
  #endif /* BSD_DIR */
  
+ #ifndef NeXT
  /* Scandir returns the number of entries or -1 if the directory cannoot
     be opened or malloc fails. */
  
***************
*** 129,135 ****
  
  	return nentries;
  }
! 
  #endif /* UNIX */
  
  #ifdef MSDOS
--- 130,136 ----
  
  	return nentries;
  }
! #endif /* NeXT */
  #endif /* UNIX */
  
  #ifdef MSDOS
diff -rc jove.jp/scandir.h jove/scandir.h
*** jove.jp/scandir.h	Tue Nov 14 17:03:47 1989
--- jove/scandir.h	Thu Feb  7 20:49:23 1991
***************
*** 5,16 ****
   * included in all the files.                                              *
   ***************************************************************************/
  
  extern int
  	alphacomp proto((UnivConstPtr, UnivConstPtr)),
  	scandir proto((char *dir, char ***nmptr,
  		int (*qualify) proto((char *)),
! 		int (*sorter)(UnivConstPtr, UnivConstPtr)));
! 
  extern void
  	freedir proto((char * * *nmptr,int nentries));
  
--- 5,20 ----
   * included in all the files.                                              *
   ***************************************************************************/
  
+ #ifdef NeXT
  extern int
+ 	alphacomp proto((UnivConstPtr, UnivConstPtr));
+ #else
+ extern int
  	alphacomp proto((UnivConstPtr, UnivConstPtr)),
  	scandir proto((char *dir, char ***nmptr,
  		int (*qualify) proto((char *)),
! 		int (*sorter) proto((UnivConstPtr, UnivConstPtr))));
! #endif /* NeXT */
  extern void
  	freedir proto((char * * *nmptr,int nentries));
  
diff -rc jove.jp/sysdep.h jove/sysdep.h
*** jove.jp/sysdep.h	Thu Aug 23 01:04:15 1990
--- jove/sysdep.h	Fri Feb  8 11:35:14 1991
***************
*** 43,49 ****
  #  endif
  # endif
  # define KILL0		/* kill(pid, 0) returns 0 if proc exists */
! # define BSD4_2		/* True enough for Jove's purposes */
  #endif /* UNIX */
  
  #ifdef UNIX
--- 43,49 ----
  #  endif
  # endif
  # define KILL0		/* kill(pid, 0) returns 0 if proc exists */
! /* # define BSD4_2		/* True enough for Jove's purposes */
  #endif /* UNIX */
  
  #ifdef UNIX
***************
*** 113,120 ****
  #endif
  
  #ifdef M_XENIX
! # define iAPX286 1	/* we have segments */
  # define BSD_DIR
  #endif
  
  #ifdef MSDOS
--- 113,124 ----
  #endif
  
  #ifdef M_XENIX
! # define SYSV
  # define BSD_DIR
+ # define SIGCHLD SIGCLD
+ # ifdef M_I286
+ #  define iAPX286 1	/* we have segments */
+ # endif
  #endif
  
  #ifdef MSDOS
diff -rc jove.jp/util.c jove/util.c
*** jove.jp/util.c	Tue Nov 14 17:03:58 1989
--- jove/util.c	Fri Feb  8 12:11:00 1991
***************
*** 750,756 ****
  }
  
  #ifdef LOAD_AV
! # if defined(BSD4_2) && !defined(BSD2_10)
  #   if defined(PURDUE_EE) && (defined(vax) || defined(gould))
  
  void
--- 750,756 ----
  }
  
  #ifdef LOAD_AV
! # if (defined(BSD4_2) && !defined(BSD2_10)) || defined(M_XENIX)
  #   if defined(PURDUE_EE) && (defined(vax) || defined(gould))
  
  void
***************
*** 762,771 ****
  
  #   else /* !PURDUE_EE || (!vax && !gould) */
  
! #ifdef sun
  #   include <sys/param.h>
  #endif
- #include <nlist.h>
  
  static struct	nlist nl[] = {
  	{ "_avenrun" },
--- 762,782 ----
  
  #   else /* !PURDUE_EE || (!vax && !gould) */
  
! #if defined(M_XENIX)
! # include <a.out.h>
! # define KERNEL "/xenix"
! # define FSCALE 256.0
! #else
! # if defined(NeXT)
! #  define KERNEL "/mach"
! # else
! #  define KERNEL "/vmunix"
! # endif
! # ifdef sun
  #   include <sys/param.h>
+ # endif
+ # include <nlist.h>
  #endif
  
  static struct	nlist nl[] = {
  	{ "_avenrun" },
***************
*** 780,787 ****
--- 791,802 ----
  #ifdef sun
  	long	avenrun[3];
  #else
+ #ifdef M_XENIX
+ 	unsigned short avenrun[3];
+ #else
  	double	avenrun[3];
  #endif
+ #endif
  	static int	kmem = 0;
  	extern long	lseek proto((int, long, int));
  
***************
*** 794,804 ****
  			*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;
  #else
  	*dp = avenrun[0];
--- 809,819 ----
  			*dp = 4.0;
  			return;
  		}
! 		nlist(KERNEL, nl);
  	}
  	lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);
  	read(kmem, (char *) avenrun, sizeof(avenrun));
! #if defined(sun) || defined(M_XENIX)
  	*dp = (double) avenrun[0] / FSCALE;
  #else
  	*dp = avenrun[0];
***************
*** 1037,1043 ****
  /* Just like strchr or index but doesn't match the string-ending null. */
  char *
  jstrchr(sp, c)
! register char *sp, c;
  {
  	while (*sp) {
  		if (*sp == c)
--- 1052,1059 ----
  /* Just like strchr or index but doesn't match the string-ending null. */
  char *
  jstrchr(sp, c)
! register char *sp;
! register int c;
  {
  	while (*sp) {
  		if (*sp == c)
diff -rc jove.jp/util.h jove/util.h
*** jove.jp/util.h	Tue Nov 14 17:03:58 1989
--- jove/util.h	Thu Feb  7 18:46:18 1991
***************
*** 40,46 ****
  	*itoa proto((int num)),
  	*lcontents proto((struct line *line)),
  	*ltobuf proto((struct line *line,char *buf)),
! 	*jstrchr proto((char *sp, char c));
  
  extern int
  	LineDist proto((struct line *nextp,struct line *endp)),
--- 40,46 ----
  	*itoa proto((int num)),
  	*lcontents proto((struct line *line)),
  	*ltobuf proto((struct line *line,char *buf)),
! 	*jstrchr proto((char *sp, int c));
  
  extern int
  	LineDist proto((struct line *nextp,struct line *endp)),
