diff -cN 7.2.6-a2/README 7.2.6-a3/README
*** 7.2.6-a2/README	Wed Jul  5 20:30:06 1995
--- 7.2.6-a3/README	Wed Jul 19 22:27:06 1995
***************
*** 261,266 ****
--- 261,270 ----
      compatibility with sun workstations, or something like that.  You may
      be able to get by with -lbsd.
  
+     Be sure to set LPR correctly in config.h, depending on whether you
+     installed the Berkeley or SystemV print services.  Use the "versions"
+     command if you need to find out.
+ 
      For IRIX 5, you're on your own.  Start with the SVR4 directions.
  
  If you are using a hybrid BSD/SysV system:
diff -cN 7.2.6-a2/config.h-dist 7.2.6-a3/config.h-dist
*** 7.2.6-a2/config.h-dist	Wed Jul  5 20:30:06 1995
--- 7.2.6-a3/config.h-dist	Wed Jul 19 22:27:06 1995
***************
*** 15,21 ****
  #define EDFILE  	".edXXXXXX"  /* file/pathname added to user's "home" */
  
  #define LS_COMMAND	"ls"
- #define LPR		"lpr"
  #define DEF_PRINTER	"lp"
  /* If your lpr command understands only -P or -d (or some other flag) then
   * define PRINTER_OPT to the appropriate value.  If you want to be able to
--- 15,20 ----
***************
*** 25,33 ****
--- 24,34 ----
   * arguments, include a trailing space in this definition.
   */
  #ifdef SYSV
+ #define LPR		"lp"
  #define PRINTER_OPT	"-d"
  #endif /* SYSV */
  #ifdef BSD
+ #define LPR		"lpr"
  #define PRINTER_OPT	"-P"
  #endif /* BSD */
  
***************
*** 157,163 ****
--- 158,168 ----
  #if defined(SYSV) && !defined(SVR4)
  #define MAILDIR		"/usr/mail"
  #else /* BSD || SVR4 */
+ #ifdef BSD44
+ #define MAILDIR		"/var/mail"
+ #else
  #define MAILDIR		"/usr/spool/mail"
+ #endif /* BSD44 */
  #endif /* SYSV && !SVR4 */
  #endif /* MAILDIR */
  #endif /* HOMEMAIL */
***************
*** 280,282 ****
--- 285,302 ----
  #    undef SYSV
  #    define SYSV
  #endif /* SVR3 */
+ 
+ #if defined(SYSV) && defined(__STDC__)
+ #undef HAS_BZERO
+ #endif
+ #if !defined(HAS_BZERO) && defined(__STDC__)
+ #define bzero(p,n)	memset(p,0,n)
+ #define HAS_BZERO
+ #endif
+ 
+ #ifdef HOMEMAIL
+ #define NO_FLOCK
+ #endif
+ #ifdef NO_FLOCK
+ #define DOT_LOCK
+ #endif
diff -cN 7.2.6-a2/curs_io.c 7.2.6-a3/curs_io.c
*** 7.2.6-a2/curs_io.c	Wed Jul  5 20:30:06 1995
--- 7.2.6-a3/curs_io.c	Wed Jul 19 22:27:06 1995
***************
*** 590,596 ****
  		while (pfx && exp[0][pfx - 1] != '/')
  		    --pfx;
  	    putchar('\n');
! 	    if (columnate(f, exp, pfx) < 0)
  		(void) errbell(-1);
  	    /* Reprint the line */
  	    if (iscurses) {
--- 590,596 ----
  		while (pfx && exp[0][pfx - 1] != '/')
  		    --pfx;
  	    putchar('\n');
! 	    if (columnate(f, exp, pfx, (char ***)0) < 0)
  		(void) errbell(-1);
  	    /* Reprint the line */
  	    if (iscurses) {
diff -cN 7.2.6-a2/curses.c 7.2.6-a3/curses.c
*** 7.2.6-a2/curses.c	Thu Jul  6 10:22:21 1995
--- 7.2.6-a3/curses.c	Wed Jul 19 22:27:07 1995
***************
*** 913,919 ****
  {
      int hlp_siz = LINES - 2 - curses_help_msg(FALSE); 
  
- #ifndef BSD44
      if (!do_set(set_options, "screen"))
  #ifdef POSIX
          switch (cfgetospeed(&_tty))
--- 913,918 ----
***************
*** 931,937 ****
  	    otherwise :  screen = hlp_siz;
  	}
      else
- #endif /* BSD44 */
  	screen = min(screen, hlp_siz);
  }
  
--- 930,935 ----
diff -cN 7.2.6-a2/doproc.c 7.2.6-a3/doproc.c
*** 7.2.6-a2/doproc.c	Mon Jul  3 21:47:25 1995
--- 7.2.6-a3/doproc.c	Wed Jul 19 22:27:07 1995
***************
*** 758,765 ****
      for (item = (Panel_item) panel_get(item, PANEL_NEXT_ITEM);
  	item; item = next) {
  	next = (Panel_item) panel_get(item, PANEL_NEXT_ITEM);
! 	(void) panel_set(item,
! 	    PANEL_SHOW_ITEM, (i++ < 1)? !getting : getting, NULL);
      }
  }
  
--- 758,769 ----
      for (item = (Panel_item) panel_get(item, PANEL_NEXT_ITEM);
  	item; item = next) {
  	next = (Panel_item) panel_get(item, PANEL_NEXT_ITEM);
! 	/* Don't erase choices and toggles - Ick */
! 	if (!panel_get(item, PANEL_CHOICE_STRING, 0) ||
! 		panel_get(item, PANEL_LABEL_IMAGE))
! 	    (void) panel_set(item,
! 		PANEL_SHOW_ITEM, (i < 1) ? !getting : getting, NULL);
! 	i++;
      }
  }
  
diff -cN 7.2.6-a2/glob.c 7.2.6-a3/glob.c
*** 7.2.6-a2/glob.c	Sun Jul  9 12:37:19 1995
--- 7.2.6-a3/glob.c	Wed Jul 19 22:27:08 1995
***************
*** 517,522 ****
--- 517,526 ----
  	return -1;
      d = (*dir ? dir : ".");
  
+     b = buf + Strcpy(buf, dir);
+     if (b > buf && *(b - 1) != '/')
+ 	*b++ = '/';
+ 
      errno = 0;
      if (!(dirp = opendir(d))) {
  	if ((errno == ENOENT || errno == ENOTDIR) &&
diff -cN 7.2.6-a2/lock.c 7.2.6-a3/lock.c
*** 7.2.6-a2/lock.c	Wed Jul  5 20:30:08 1995
--- 7.2.6-a3/lock.c	Wed Jul 19 22:27:09 1995
***************
*** 62,68 ****
  #define	print_more	fflush(stdout), printf
  #undef	error
  #define	error		printf
- #undef	sprintf
  
  /* Simple dotlock program.  Exits 0 for success, nonzero for failure.
   *
--- 62,67 ----
***************
*** 139,145 ****
      SIGRET (*oldint)(), (*oldquit)();
  
  #ifndef LOCK_PROG
! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4)
      /* Only the spoolfile needs to be dot_locked -- other files are
       * handled by lock_fopen, below.  To avoid collisions with 14-char
       * file name limits, we allow dot_locking ONLY of the spoolfile.
--- 138,144 ----
      SIGRET (*oldint)(), (*oldquit)();
  
  #ifndef LOCK_PROG
! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4) && !defined(SVR4)
      /* Only the spoolfile needs to be dot_locked -- other files are
       * handled by lock_fopen, below.  To avoid collisions with 14-char
       * file name limits, we allow dot_locking ONLY of the spoolfile.
***************
*** 149,155 ****
  #ifdef SVR2
      return lock_proc(filename, DOLOCKIT);
  #endif /* SVR2 */
! #endif /* SYSV && !HPUX && !IRIX4 */
  #ifdef BSD
      setregid(rgid, sgid);
  #else /* BSD */
--- 148,154 ----
  #ifdef SVR2
      return lock_proc(filename, DOLOCKIT);
  #endif /* SVR2 */
! #endif /* SYSV && !HPUX && !IRIX4 && !SVR4 */
  #ifdef BSD
      setregid(rgid, sgid);
  #else /* BSD */
***************
*** 181,187 ****
      if (lockfd >= 0) {
  	if (cnt)
  	    print("done.\n");
- 	(void) close(lockfd);
      }
  #ifdef LOCK_PROG
      if (lockfd < 0)
--- 180,185 ----
***************
*** 218,224 ****
  	    return 0;
  	(void) strcpy(buf, p);
      }
! #if defined(SYSV)  && !defined(HPUX) && !defined(IRIX4)
      if (strncmp(spoolfile, buf, strlen(spoolfile)) != 0)
  	return 0;
  #ifdef SVR2
--- 216,222 ----
  	    return 0;
  	(void) strcpy(buf, p);
      }
! #if defined(SYSV)  && !defined(HPUX) && !defined(IRIX4) && !defined(SVR4)
      if (strncmp(spoolfile, buf, strlen(spoolfile)) != 0)
  	return 0;
  #ifdef SVR2
***************
*** 226,232 ****
      *p = 0;
      return lock_proc(buf, UNLOCKIT);
  #endif /* SVR2 */
! #endif /* SYSV && !HPUX && !IRIX4 */
  #else /* LOCK_PROG */
      errno = 0;
  #endif /* !LOCK_PROG */
--- 224,230 ----
      *p = 0;
      return lock_proc(buf, UNLOCKIT);
  #endif /* SVR2 */
! #endif /* SYSV && !HPUX && !IRIX4 && !defined(SVR4) */
  #else /* LOCK_PROG */
      errno = 0;
  #endif /* !LOCK_PROG */
***************
*** 286,291 ****
--- 284,292 ----
  flock(fd, op)
  int fd, op;
  {
+ #ifdef NO_FLOCK
+     return 0;
+ #else
  #ifndef USG
      (void) locking(fd, op, 0); /* old xenix (sys III) */
      return 0;
***************
*** 299,304 ****
--- 300,306 ----
  
      return fcntl(fd, F_SETLKW, &l);
  #endif /* USG */
+ #endif /* NO_FLOCK */
  }
  
  #endif /* SYSV */
diff -cN 7.2.6-a2/makefile.freebsd 7.2.6-a3/makefile.freebsd
*** 7.2.6-a2/makefile.freebsd	Wed Dec 31 16:00:00 1969
--- 7.2.6-a3/makefile.freebsd	Wed Jul 19 22:27:10 1995
***************
*** 0 ****
--- 1,74 ----
+ # makefile.freebsd
+ #
+ HDRS= mush.h config.h-dist strings.h bindings.h options.h version.h glob.h pop.h
+ 
+ SRCS= main.c init.c misc.c mail.c hdrs.c execute.c commands.c print.c dates.c \
+       signals.c setopts.c msgs.c pick.c sort.c expr.c folders.c \
+       loop.c viewopts.c curses.c curs_io.c bind.c file.c strings.c \
+       lock.c macros.c options.c addrs.c malloc.c glob.c command2.c \
+       pop.c pmush.c xcreat.c 
+ OBJS= main.o init.o misc.o mail.o hdrs.o execute.o commands.o print.o file.o \
+       signals.o setopts.o msgs.o pick.o sort.o expr.o strings.o \
+       folders.o dates.o loop.o viewopts.o curses.o curs_io.o bind.o \
+       lock.o macros.o options.o addrs.o malloc.o glob.o command2.o \
+       pop.o pmush.o xcreat.o 
+ 
+ HELP_FILES= README README-7.0 README-7.1 README-7.2.0 README-7.2.2 \
+ 	README-7.2.4 mush.1 cmd_help Mushrc Mailrc Gnurc \
+ 	sample.mushrc advanced.mushrc digestify
+ 
+ MAKES= makefile.bsdi makefile.bsd makefile.xenix makefile.sys.v makefile.hpux makefile.sun makefile.solaris makefile.freebsd
+ 
+ CFLAGS= -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME
+ LDFLAGS= -g
+ LINTFLAGS= -bxah -Dlint -DCURSES -DBSD
+ LIBS= -lcurses -ltermlib -lcompat
+ OTHERLIBS=
+ # Use some variant of this one if you #define MMDF in config.h
+ #OTHERLIBS=/usr/src/mmdf/lib/libmmdf.a
+ 
+ mush: $(OBJS)
+ 	@echo loading...
+ 	@$(CC) $(LDFLAGS) $(OBJS) $(LIBS) $(OTHERLIBS) -o mush
+ 
+ $(OBJS): config.h mush.h
+ loop.o: version.h
+ 
+ tape:
+ 	@tar cv $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES)
+ 
+ tar:
+ 	@tar fcv MUSH $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES)
+ 
+ tarmail:
+ 	tar fcv - $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) | \
+ 	compress | btoa > mush.tarmail
+ 
+ lint:
+ 	lint $(LINTFLAGS) $(SRCS)
+ 
+ clean:
+ 	rm -f *.o core mush
+ 
+ BINDIR= /usr/local/bin
+ LIBDIR= /usr/local/lib
+ MRCDIR= /usr/share/misc
+ MANDIR= /usr/local/man/man1
+ MANEXT= 1
+ 
+ install: mush
+ 	mv mush $(BINDIR)
+ 	strip $(BINDIR)/mush
+ 	chmod 0755 $(BINDIR)/mush
+ 	cp mush.1 $(MANDIR)/mush.$(MANEXT)
+ 	chmod 0644 $(MANDIR)/mush.$(MANEXT)
+ 	cp cmd_help $(LIBDIR)
+ 	chmod 0644 $(LIBDIR)/cmd_help
+ 	cp Mushrc $(MRCDIR)/Mushrc
+ 	chmod 0644 $(MRCDIR)/Mushrc
+ 
+ 
+ glob: glob.c
+ 	$(CC) $(CFLAGS) -DTEST -DTEST2 glob.c $(LIBS) $(OTHERLIBS) -o glob
+ 
+ 
diff -cN 7.2.6-a2/makefile.solaris 7.2.6-a3/makefile.solaris
*** 7.2.6-a2/makefile.solaris	Sun Jul  9 12:37:54 1995
--- 7.2.6-a3/makefile.solaris	Wed Jul 19 22:27:11 1995
***************
*** 1,7 ****
  #
  # Mush makefile for Solaris with gcc 2.5.8
  #
! CC=gcc -traditional
  HDRS1= mush.h config.h
  HDRS2= strings.h options.h
  HDRS3= bindings.h glob.h
--- 1,7 ----
  #
  # Mush makefile for Solaris with gcc 2.5.8
  #
! CC=gcc -traditional -fwritable-strings
  HDRS1= mush.h config.h
  HDRS2= strings.h options.h
  HDRS3= bindings.h glob.h
***************
*** 24,30 ****
  #
  #
  #
! CFLAGS= 	-g -DSYSV -DUSG -DCURSES -DSIGRET=void -DSVR4 -DREGCMP
  LDFLAGS=	-g
  LIBS= 		-L/usr/ccs/lib -lcurses -lgen -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a
  OTHERLIBS=
--- 24,30 ----
  #
  #
  #
! CFLAGS= 	-O2 -g -DSYSV -DUSG -DCURSES -DSIGRET=void -DSVR4 -DREGCMP
  LDFLAGS=	-g
  LIBS= 		-L/usr/ccs/lib -lcurses -lgen -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a
  OTHERLIBS=
diff -cN 7.2.6-a2/makefile.sun 7.2.6-a3/makefile.sun
*** 7.2.6-a2/makefile.sun	Mon Jul  3 21:47:26 1995
--- 7.2.6-a3/makefile.sun	Wed Jul 19 22:27:11 1995
***************
*** 29,35 ****
  # If your SunOS version is 4.0, add -DSUN_4_0 to CFLAGS.
  # If you are not using SUNTOOL, use makefile.bsd and add one of
  #	-DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS there.
! CFLAGS= -O -DSUNTOOL -DCURSES -DBSD
  LDFLAGS=
  LIBS= -lcurses -ltermlib -lsuntool -lsunwindow -lpixrect
  OTHERLIBS=
--- 29,35 ----
  # If your SunOS version is 4.0, add -DSUN_4_0 to CFLAGS.
  # If you are not using SUNTOOL, use makefile.bsd and add one of
  #	-DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS there.
! CFLAGS= -O -DBASENAME -DSUNTOOL -DCURSES -DBSD
  LDFLAGS=
  LIBS= -lcurses -ltermlib -lsuntool -lsunwindow -lpixrect
  OTHERLIBS=
***************
*** 38,44 ****
  LINTFLAGS= -bxah -Dlint
  
  # GCC needs -fwritable-strings
! #CC= gcc -fwritable-strings
  
  mush: $(OBJS)
  	@echo loading...
--- 38,44 ----
  LINTFLAGS= -bxah -Dlint
  
  # GCC needs -fwritable-strings
! #CC= gcc -fwritable-strings -traditional
  
  mush: $(OBJS)
  	@echo loading...
diff -cN 7.2.6-a2/makefile.sun-notool 7.2.6-a3/makefile.sun-notool
*** 7.2.6-a2/makefile.sun-notool	Wed Dec 31 16:00:00 1969
--- 7.2.6-a3/makefile.sun-notool	Wed Jul 19 22:27:11 1995
***************
*** 0 ****
--- 1,74 ----
+ # makefile.bsd	(c) copyright 1991	(Dan Heller)
+ # SunOS users should add -DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS.
+ #
+ HDRS= mush.h config.h-dist strings.h bindings.h options.h version.h glob.h pop.h
+ 
+ SRCS= main.c init.c misc.c mail.c hdrs.c execute.c commands.c print.c dates.c \
+       signals.c setopts.c msgs.c pick.c sort.c expr.c folders.c \
+       loop.c viewopts.c curses.c curs_io.c bind.c file.c strings.c \
+       lock.c macros.c options.c addrs.c malloc.c glob.c command2.c \
+       pop.c pmush.c xcreat.c
+ OBJS= main.o init.o misc.o mail.o hdrs.o execute.o commands.o print.o file.o \
+       signals.o setopts.o msgs.o pick.o sort.o expr.o strings.o \
+       folders.o dates.o loop.o viewopts.o curses.o curs_io.o bind.o \
+       lock.o macros.o options.o addrs.o malloc.o glob.o command2.o \
+       pop.o pmush.o xcreat.o
+ 
+ HELP_FILES= README README-7.0 README-7.1 README-7.2.0 README-7.2.2 \
+ 	README-7.2.4 mush.1 cmd_help Mushrc Mailrc Gnurc \
+ 	sample.mushrc advanced.mushrc digestify
+ 
+ MAKES= makefile.bsd makefile.xenix makefile.sys.v makefile.hpux makefile.sun
+ 
+ # See the README for changes needed to compile under Ultrix.
+ # In particular, you may need -DSIGRET=void and/or -ltermcap.
+ CFLAGS= -g -O2 -DCURSES -DBSD -DSUN_4_1 -DBASENAME
+ LDFLAGS=
+ LINTFLAGS= -bxah -Dlint -DCURSES -DBSD
+ LIBS= -lcurses -ltermlib
+ OTHERLIBS=
+ # Use some variant of this one if you #define MMDF in config.h
+ #OTHERLIBS=/usr/src/mmdf/lib/libmmdf.a
+ 
+ # GCC needs -fwritable-strings
+ CC=gcc -fwritable-strings
+ 
+ mush: $(OBJS)
+ 	@echo loading...
+ 	@$(CC) $(LDFLAGS) $(OBJS) $(LIBS) $(OTHERLIBS) -o mush
+ 
+ $(OBJS): config.h mush.h
+ loop.o: version.h
+ 
+ tape:
+ 	@tar cv $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES)
+ 
+ tar:
+ 	@tar fcv MUSH $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES)
+ 
+ tarmail:
+ 	tar fcv - $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) | \
+ 	compress | btoa > mush.tarmail
+ 
+ lint:
+ 	lint $(LINTFLAGS) $(SRCS)
+ 
+ clean:
+ 	rm -f *.o core mush
+ 
+ BINDIR= /vol/local/bin
+ LIBDIR= /vol/local/lib/mush
+ MRCDIR= /vol/local/lib/mush
+ MANDIR= /vol/local/man/man1
+ MANEXT= 1
+ 
+ install: mush
+ 	mv mush $(BINDIR)
+ 	strip $(BINDIR)/mush
+ 	chmod 0755 $(BINDIR)/mush
+ 	cp mush.1 $(MANDIR)/mush.$(MANEXT)
+ 	chmod 0644 $(MANDIR)/mush.$(MANEXT)
+ 	cp cmd_help $(LIBDIR)
+ 	chmod 0644 $(LIBDIR)/cmd_help
+ 	cp Mushrc $(MRCDIR)/Mushrc
+ 	chmod 0644 $(MRCDIR)/Mushrc
diff -cN 7.2.6-a2/msgs.c 7.2.6-a3/msgs.c
*** 7.2.6-a2/msgs.c	Sun Jul  9 12:35:42 1995
--- 7.2.6-a3/msgs.c	Wed Jul 19 22:27:12 1995
***************
*** 518,527 ****
  	struct utimbuf times[1];
  	(void) fflush(mail_fp); /* just in case */
  	times[0].modtime = time(&times[0].actime) - 2;
! #ifndef linux
     /* this isn't in MY posix manual (IEEE Std 1003.1-1988, 5.6.6.1) */
  	times[0].ausec = times[0].modusec = 0;
! #endif
  #else /* !POSIX_UTIME */
  	long times[2];
  	(void) fflush(mail_fp); /* just in case */
--- 518,527 ----
  	struct utimbuf times[1];
  	(void) fflush(mail_fp); /* just in case */
  	times[0].modtime = time(&times[0].actime) - 2;
! #ifdef POSIX_UTIME_USEC
     /* this isn't in MY posix manual (IEEE Std 1003.1-1988, 5.6.6.1) */
  	times[0].ausec = times[0].modusec = 0;
! #endif /* POSIX_UTIME_USEC */
  #else /* !POSIX_UTIME */
  	long times[2];
  	(void) fflush(mail_fp); /* just in case */
***************
*** 632,638 ****
  	    (void) window_set(tool, FRAME_LABEL, buf, NULL);
  	icon = (Icon) window_get(tool, FRAME_ICON);
  	(void) icon_set(icon,
! 	    ICON_IMAGE, ison(glob_flags, NEW_MAIL)?
  			    &mail_icon_image2 : &mail_icon_image1,
  	    NULL);
  	if (!chk_option("quiet", "iconlabel"))
--- 632,638 ----
  	    (void) window_set(tool, FRAME_LABEL, buf, NULL);
  	icon = (Icon) window_get(tool, FRAME_ICON);
  	(void) icon_set(icon,
! 	    ICON_IMAGE, (mail_stat.unread > 0) ?
  			    &mail_icon_image2 : &mail_icon_image1,
  	    NULL);
  	if (!chk_option("quiet", "iconlabel"))
diff -cN 7.2.6-a2/mush.h 7.2.6-a3/mush.h
*** 7.2.6-a2/mush.h	Sun Jul  9 12:35:41 1995
--- 7.2.6-a3/mush.h	Wed Jul 19 22:27:13 1995
***************
*** 530,536 ****
  /* It is possible to reset MAX_PRIORITY to as high as 9 */
  #define MAX_PRIORITY	5
  
! #define	MAXMSGS_BITS	MAXMSGS/sizeof(char)	/* number of bits for bitmap */
  
  struct msg {
      u_long m_flags;
--- 530,536 ----
  /* It is possible to reset MAX_PRIORITY to as high as 9 */
  #define MAX_PRIORITY	5
  
! #define	MAXMSGS_BITS	((MAXMSGS+7)/8)	/* number of bits for bitmap */
  
  struct msg {
      u_long m_flags;
***************
*** 575,581 ****
      *lock_fopen(),	/* open and lock a file as an atomic operation */
      *popen();		/* this should be in stdio.h */
  
! #ifndef __STDC__
  extern char
  #ifndef BSD44
      *sys_errlist[],     /* system's list of global error messages */
--- 575,581 ----
      *lock_fopen(),	/* open and lock a file as an atomic operation */
      *popen();		/* this should be in stdio.h */
  
! #if (__STDC__ > 0)
  extern char
  #ifndef BSD44
      *sys_errlist[],     /* system's list of global error messages */
diff -cN 7.2.6-a2/panels.c 7.2.6-a3/panels.c
*** 7.2.6-a2/panels.c	Mon Jul  3 21:47:25 1995
--- 7.2.6-a3/panels.c	Wed Jul 19 22:27:13 1995
***************
*** 393,399 ****
  	PANEL_ATTRIBUTE_LIST, 		choice_args,
  	PANEL_DISPLAY_LEVEL,		PANEL_ALL,
  	PANEL_SHOW_MENU_MARK,		TRUE,
! 	PANEL_SHOW_ITEM, 		FALSE,
  	PANEL_LABEL_STRING,		"Autosign:",
  	PANEL_CHOICE_STRINGS,		"Off", "On", NULL,
  	NULL);
--- 393,399 ----
  	PANEL_ATTRIBUTE_LIST, 		choice_args,
  	PANEL_DISPLAY_LEVEL,		PANEL_ALL,
  	PANEL_SHOW_MENU_MARK,		TRUE,
! 	PANEL_SHOW_ITEM, 		TRUE,
  	PANEL_LABEL_STRING,		"Autosign:",
  	PANEL_CHOICE_STRINGS,		"Off", "On", NULL,
  	NULL);
***************
*** 433,439 ****
  	PANEL_ATTRIBUTE_LIST, 		choice_args,
  	PANEL_DISPLAY_LEVEL,		PANEL_ALL,
  	PANEL_SHOW_MENU_MARK,		TRUE,
! 	PANEL_SHOW_ITEM, 		FALSE,
  	PANEL_LABEL_STRING,		"Fortune:",
  	PANEL_CHOICE_STRINGS,		"Off", "On", NULL,
  	NULL);
--- 433,439 ----
  	PANEL_ATTRIBUTE_LIST, 		choice_args,
  	PANEL_DISPLAY_LEVEL,		PANEL_ALL,
  	PANEL_SHOW_MENU_MARK,		TRUE,
! 	PANEL_SHOW_ITEM, 		TRUE,
  	PANEL_LABEL_STRING,		"Fortune:",
  	PANEL_CHOICE_STRINGS,		"Off", "On", NULL,
  	NULL);
diff -cN 7.2.6-a2/print.c 7.2.6-a3/print.c
*** 7.2.6-a2/print.c	Tue Jul  4 17:50:19 1995
--- 7.2.6-a3/print.c	Wed Jul 19 22:27:15 1995
***************
*** 154,159 ****
--- 154,161 ----
  #endif /* VPRINTF */
      char msgbuf[BUFSIZ]; /* we're not getting huge strings */
      char *fmt;
+     int msglen;
+     int max_mem;
      va_list args;
  
      if (istool < 2) {
***************
*** 183,189 ****
  	_doprnt(fmt, args, &foo); /* format like printf into msgbuf via foo */
  	*foo._ptr = '\0'; /* plant terminating null character */
  #endif /* VPRINTF */
! 	textsw_insert(mfprint_sw, msgbuf, strlen(msgbuf));
      }
      va_end(args);
  }
--- 185,222 ----
  	_doprnt(fmt, args, &foo); /* format like printf into msgbuf via foo */
  	*foo._ptr = '\0'; /* plant terminating null character */
  #endif /* VPRINTF */
! 	msglen = strlen(msgbuf);
! 	max_mem = (int)window_get(mfprint_sw, TEXTSW_MEMORY_MAXIMUM);
! 	/* textsw seems to require a bout 25 bytes of overhead,
! 	 * we'll allow for 80
! 	 */
! 	if ((int)window_get(mfprint_sw, TEXTSW_LENGTH) + msglen + 80 >= max_mem) {
! 	    Textsw_index first, last_plus_one;
! 	    char *tmpbuf;
! 
! 	    first = max_mem/2 + 1;
! 	    if (tmpbuf = malloc(max_mem/2 + 1)) {
! 		if (textsw_find_bytes(mfprint_sw, &first, &last_plus_one,
! 			"\n", 1, 0) != -1) {
! 		    window_get(mfprint_sw, TEXTSW_CONTENTS, last_plus_one,
! 			tmpbuf, max_mem/2 + 1);
! 		} else {
! 		    free(tmpbuf);
! 		    tmpbuf = NULL;
! 		}
! 	    }
! 	    textsw_reset(mfprint_sw, 0, 0);
! 	    window_set(mfprint_sw, 
! 		TEXTSW_READ_ONLY,               TRUE,
! 		TEXTSW_BLINK_CARET,             FALSE,
! 		TEXTSW_LINE_BREAK_ACTION,       TEXTSW_WRAP_AT_CHAR,
! 		0);
! 	    if (tmpbuf) {
! 		window_set(mfprint_sw, TEXTSW_CONTENTS, tmpbuf, 0);
! 		free(tmpbuf);
! 	    }
! 	}
! 	textsw_insert(mfprint_sw, msgbuf, msglen);
      }
      va_end(args);
  }
diff -cN 7.2.6-a2/signals.c 7.2.6-a3/signals.c
*** 7.2.6-a2/signals.c	Wed Jul  5 20:30:11 1995
--- 7.2.6-a3/signals.c	Wed Jul 19 22:27:15 1995
***************
*** 10,16 ****
  
  #if !defined(__linux__) && !defined(BSD44)
  #ifndef SYSV
! #ifndef __STDC__
  extern char *sys_siglist[];
  #endif
  #else
--- 10,16 ----
  
  #if !defined(__linux__) && !defined(BSD44)
  #ifndef SYSV
! #if (__STDC__ > 0)
  extern char *sys_siglist[];
  #endif
  #else
***************
*** 359,366 ****
  	return 1;	/* Nothing to print */
  #ifdef SUNTOOL
      if (istool) {
  	mail_status(0);
! 	(void) do_hdrs(0, DUBL_NULL, NULL);
  	if (noisy && !chk_option("quiet", "tool"))
  	    bell();
      }
--- 359,371 ----
  	return 1;	/* Nothing to print */
  #ifdef SUNTOOL
      if (istool) {
+ 	char *av[3], buf[8];
  	mail_status(0);
! 	/* do_hdrs(0, ...) repositions the display, so pass an arg */
! 	av[0] = "h";
! 	av[1] = sprintf(buf, "%d", n_array[0] + 1);
! 	av[2] = NULL;
! 	(void) do_hdrs(2, av, NULL);
  	if (noisy && !chk_option("quiet", "tool"))
  	    bell();
      }
diff -cN 7.2.6-a2/version.h 7.2.6-a3/version.h
*** 7.2.6-a2/version.h	Sun Jul  9 12:47:34 1995
--- 7.2.6-a3/version.h	Wed Jul 19 22:27:16 1995
***************
*** 1,7 ****
  /* @(#)version.h	(c) Copyright 1989, 1990, 1991 (Dan Heller) */
  
  #define MUSHNAME	"Mail User's Shell"
! #define RELEASE_DATE	"alpha(2) 7/9/95"
  #define RELEASE		7
  #define REVISION	"2"
  #define PATCHLEVEL	6
--- 1,7 ----
  /* @(#)version.h	(c) Copyright 1989, 1990, 1991 (Dan Heller) */
  
  #define MUSHNAME	"Mail User's Shell"
! #define RELEASE_DATE	"alpha(3) 7/19/95"
  #define RELEASE		7
  #define REVISION	"2"
  #define PATCHLEVEL	6