*** ../620/CHANGES	Thu May  7 16:22:07 1992
--- CHANGES	Fri May  8 12:31:13 1992
***************
*** 1,10 ****
! CHANGES BETWEEN 6.20 and 6.19
  Mark R. Rubin
  	-noted a problem using bison 1.16 (use any version but 1.16)
  Marco S Hyman/Ian */and others
  	-Crypt/CRYPT_PATH define problem
  Paul Eggert
! 	-sc.doc $Revision: 6.20 $ 'buglet'
  Ulf Noren/Dave Lewis
  	-AIX3.1/Microport System V/AT don't have notimeout()
  		changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
--- 1,10 ----
! CHANGES BETWEEN 6.21 and 6.19
  Mark R. Rubin
  	-noted a problem using bison 1.16 (use any version but 1.16)
  Marco S Hyman/Ian */and others
  	-Crypt/CRYPT_PATH define problem
  Paul Eggert
! 	-sc.doc $Revision: 6.21 $ 'buglet'
  Ulf Noren/Dave Lewis
  	-AIX3.1/Microport System V/AT don't have notimeout()
  		changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
*** ../620/README	Thu May  7 16:22:07 1992
--- README	Fri May  8 12:31:14 1992
***************
*** 1,9 ****
  This is a much modified version of the public domain spread sheet sc,
  posted several years ago by Mark Weiser as vc, originally by James Gosling.
  
! CHANGES lists the changes since 6.1 to 6.20.
  	Sc6.16 was released to comp.sources.misc and four sets of patches
! 	bring Sc6.16->6.17->6.18->6.19->6.20.
  
  Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  
--- 1,9 ----
  This is a much modified version of the public domain spread sheet sc,
  posted several years ago by Mark Weiser as vc, originally by James Gosling.
  
! CHANGES lists the changes since 6.1 to 6.21.
  	Sc6.16 was released to comp.sources.misc and four sets of patches
! 	bring Sc6.16->6.17->6.18->6.19->6.21.
  
  Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  
***************
*** 83,92 ****
  
  3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  	035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
! 	Sc6.18->Sc6.19, and Sc6.19->Sc6.20.
  
  4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
! 	gatekeeper.dec.com	in /pub/misc/sc-6.20.tar.Z
  
  Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  warranty, express or implied, as a service to Usenet readers.  It is not
--- 83,92 ----
  
  3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  	035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
! 	Sc6.18->Sc6.19, and Sc6.19->Sc6.21.
  
  4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
! 	gatekeeper.dec.com	in /pub/misc/sc-6.21.tar.Z
  
  Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  warranty, express or implied, as a service to Usenet readers.  It is not
*** ../620/sc.doc	Thu May  7 16:22:08 1992
--- sc.doc	Fri May  8 12:31:15 1992
***************
*** 15,21 ****
  .\" - TPs use default indent except for function names, then 18.
  .\" - Smallify uppercase strings.
  .\" - Avoid passive voice and third person.
! .\" $Revision: 6.20 $
  .\"
  .TH PNAME\ #REVISION#\  1
  .SH NAME
--- 15,21 ----
  .\" - TPs use default indent except for function names, then 18.
  .\" - Smallify uppercase strings.
  .\" - Avoid passive voice and third person.
! .\" $Revision: 6.21 $
  .\"
  .TH PNAME\ #REVISION#\  1
  .SH NAME
*** ../620/psc.doc	Thu May  7 16:22:08 1992
--- psc.doc	Fri May  8 12:31:16 1992
***************
*** 1,4 ****
! .\" $Revision: 6.20 $
  .TH PPNAME\ #REVISION#\  1
  .SH NAME
  ppname \- prepare pname files
--- 1,4 ----
! .\" $Revision: 6.21 $
  .TH PPNAME\ #REVISION#\  1
  .SH NAME
  ppname \- prepare pname files
*** ../620/build.com	Thu May  7 16:22:09 1992
--- build.com	Fri May  8 12:31:17 1992
***************
*** 1,6 ****
  $! VMS command file to build SC and PSC (requires bison) on VMS
  $! SC:
! $! $Revision: 6.19 $
  $! bison -d gram.y
  $! ren gram_tab.c gram.c
  $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
--- 1,6 ----
  $! VMS command file to build SC and PSC (requires bison) on VMS
  $! SC:
! $! $Revision: 6.21 $
  $! bison -d gram.y
  $! ren gram_tab.c gram.c
  $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
*** ../620/Makefile	Thu May  7 16:22:09 1992
--- Makefile	Fri May  8 12:31:18 1992
***************
*** 1,4 ****
! # Makefile $Revision: 6.20 $
  #
  # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  #	RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
--- 1,4 ----
! # Makefile $Revision: 6.21 $
  #
  # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  #	RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
***************
*** 422,428 ****
  	name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #	   -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
! #	REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.20 $(
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #		-e s%#LIBDIR#%$(LIBDIR)%g \
  #		-e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
--- 422,428 ----
  	name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #	   -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
! #	REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.21 $(
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #		-e s%#LIBDIR#%$(LIBDIR)%g \
  #		-e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
*** ../620/cmds.c	Thu May  7 16:22:10 1992
--- cmds.c	Fri May  8 12:31:19 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *
!  *		$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *
!  *		$Revision: 6.21 $
   */
  
  #include <sys/types.h>
***************
*** 676,682 ****
  	(void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  					tbl_style == LATEX ? "latex" :
  					tbl_style == SLATEX ? "slatex" :
! 					tbl_style == TEX ? "tex" : "0" );
      if (craction)
  	(void) fprintf(f, " craction = %d", craction);
      if (rowlimit >= 0)
--- 676,683 ----
  	(void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  					tbl_style == LATEX ? "latex" :
  					tbl_style == SLATEX ? "slatex" :
! 					tbl_style == TEX ? "tex" :
! 					tbl_style == FRAME ? "frame" : "0" );
      if (craction)
  	(void) fprintf(f, " craction = %d", craction);
      if (rowlimit >= 0)
***************
*** 899,910 ****
--- 900,948 ----
  		progname, cn-c0+1);
  	coldelim = '&';
      }
+     else if ( tbl_style == FRAME ) {
+ 	fprintf(f,"<MIFFile 3.00> # generated by the sc spreadsheet calculator\n");
+ 	fprintf(f,"<Tbls\n");
+ 	fprintf(f," <Tbl \n");
+ 	fprintf(f,"  <TblID 1> # This table's ID is 1\n");
+ 	fprintf(f,"  <TblFormat \n");
+ 	fprintf(f,"   <TblTag `Format A'> # Table Format Catalog\n");
+ 	fprintf(f,"  > # end of TblFormat\n");
+ 	fprintf(f,"  <TblNumColumns %d> # Has %d columns\n",cn-c0+1,cn-c0+1);
+ 	fprintf(f,"  <TblTitleContent\n");
+ 	fprintf(f,"   <Para\n");
+ 	fprintf(f,"    <PgfTag `TableTitle'> # Forces lookup in Paragraph Format Catalog\n");
+ 	fprintf(f,"    <ParaLine\n");
+ 	fprintf(f,"     <String `%s'>\n",fname);
+ 	fprintf(f,"    > # end of ParaLine\n");
+ 	fprintf(f,"   > # end of Para\n");
+ 	fprintf(f,"  > # end of TblTitleContent\n");
+ 	fprintf(f,"  <TblH # The heading\n");
+ 	fprintf(f,"   <Row # The heading row\n");
+ 	for (col=c0; col <= cn; col++) {
+ 	    fprintf(f,"    <Cell <CellContent <Para # Cell in column \n");
+ 	    fprintf(f,"       <PgfTag `CellHeading'> # in Paragraph Format Catalog\n");
+ 	    fprintf(f,"       <ParaLine <String `%c'>>\n",'A'+col);
+ 	    fprintf(f,"    >>> # end of Cell\n");
+ 	}
+ 	fprintf(f,"   > # end of Row\n");
+ 	fprintf(f,"  > # end of TblH\n");
+ 	fprintf(f,"  <TblBody # The body\n");
+     }
  
      for (row=r0; row<=rn; row++) {
  	if ( tbl_style == TEX )
  	    (void) fprintf (f, "\\+");
+ 	else if ( tbl_style == FRAME ) {
+ 	    fprintf(f,"   <Row # The next body row\n");
+ 	}
  	
  	for (pp = ATBL(tbl, row, col=c0); col<=cn; col++, pp++) {
+ 	    if ( tbl_style == FRAME ) {
+ 		fprintf(f,"    <Cell <CellContent <Para\n");
+ 		fprintf(f,"       <PgfTag `CellBody'> # in Paragraph Format Catalog\n");
+ 		fprintf(f,"       <ParaLine <String `");
+ 	    } 
  	    if (*pp) {
  		char *s;
  		if ((*pp)->flags&is_valid) {
***************
*** 932,939 ****
  	            unspecial (f, s, coldelim);
  		}
  	    }
  	    if ( col < cn )
! 		(void) fprintf(f,"%c", coldelim);
  	}
  	if ( tbl_style == LATEX ) {
  		if ( row < rn ) (void) fprintf (f, "\\\\");
--- 970,982 ----
  	            unspecial (f, s, coldelim);
  		}
  	    }
+ 	    if (tbl_style == FRAME) {
+ 		fprintf(f, "'>>\n");
+ 		fprintf(f,"    >>> # end of Cell\n");
+ 	    }
  	    if ( col < cn )
! 		if (tbl_style != FRAME)
! 		    (void) fprintf(f,"%c", coldelim);
  	}
  	if ( tbl_style == LATEX ) {
  		if ( row < rn ) (void) fprintf (f, "\\\\");
***************
*** 944,949 ****
--- 987,995 ----
  	else if ( tbl_style == TEX ) {
  		(void) fprintf (f, "\\cr");
  	}
+ 	else if ( tbl_style == FRAME ) {
+ 	    fprintf(f,"   > # end of Row\n");
+ 	}
  	(void) fprintf (f,"\n");
      }
  
***************
*** 955,960 ****
--- 1001,1015 ----
      (void) fprintf (f,"!end<tabular>\n%% ** end of %s spreadsheet output\n", progname);
      else if ( tbl_style == TEX )
      (void) fprintf (f,"}\n%% ** end of %s spreadsheet output\n", progname);
+     else if ( tbl_style == FRAME ) {
+ 	fprintf(f,"  > # end of TblBody\n");
+ 	fprintf(f," ># end of Tbl\n");
+ 	fprintf(f,"> # end of Tbls\n");
+ 	fprintf(f,"<TextFlow <Para \n");
+ 	fprintf(f,"  <PgfTag Body> \n");
+ 	fprintf(f,"  <ParaLine <ATbl 1>> # Reference to table ID 1\n");
+ 	fprintf(f,">>\n");
+     }
  
      closeout(f, pid);
  }
*** ../620/crypt.c	Thu May  7 16:22:10 1992
--- crypt.c	Fri May  8 12:31:19 1992
***************
*** 2,8 ****
   * Encryption utilites
   * Bradley Williams	
   * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
!  * $Revision: 6.20 $
   */
  
  #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
--- 2,8 ----
   * Encryption utilites
   * Bradley Williams	
   * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
!  * $Revision: 6.21 $
   */
  
  #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
*** ../620/format.c	Thu May  7 16:22:11 1992
--- format.c	Fri May  8 12:31:21 1992
***************
*** 3,9 ****
   * Mark Nagel <nagel@ics.uci.edu>
   * 20 July 1989
   *
!  * $Revision: 6.20 $
   *
   * bool
   * format(fmt, num, buf, buflen)
--- 3,9 ----
   * Mark Nagel <nagel@ics.uci.edu>
   * 20 July 1989
   *
!  * $Revision: 6.21 $
   *
   * bool
   * format(fmt, num, buf, buflen)
*** ../620/gram.y	Thu May  7 16:22:11 1992
--- gram.y	Fri May  8 12:31:22 1992
***************
*** 9,15 ****
   *
   *		More mods by Alan Silverstein, 3/88, see list of changes.
   *
!  *		$Revision: 6.20 $
   */
  
  
--- 9,15 ----
   *
   *		More mods by Alan Silverstein, 3/88, see list of changes.
   *
!  *		$Revision: 6.21 $
   */
  
  
***************
*** 146,151 ****
--- 146,152 ----
  %token K_LATEX
  %token K_SLATEX
  %token K_TEX
+ %token K_FRAME
  %token K_RNDINFINITY
  %token K_MYROW
  %token K_MYCOL
***************
*** 155,160 ****
--- 156,162 ----
  %token K_CRCOL
  %token K_ROWLIMIT
  %token K_COLLIMIT
+ %token K_NUMITER
    
  %left '?' ':'
  %left '|'
***************
*** 373,378 ****
--- 375,381 ----
  	| '@' K_MYROW			{ $$ = new(MYROW, ENULL, ENULL);}
  	| '@' K_MYCOL			{ $$ = new(MYCOL, ENULL, ENULL);}
  	| '@' K_COLTOA '(' e ')'	{ $$ = new(COLTOA, ENULL, $4);}
+ 	| '@' K_NUMITER			{ $$ = new(NUMITER, ENULL, ENULL);}
  	;
  
  /* expressions */
***************
*** 466,471 ****
--- 469,475 ----
  	|	K_TBLSTYLE '=' K_LATEX	{ tbl_style = LATEX; }
  	|	K_TBLSTYLE '=' K_SLATEX	{ tbl_style = SLATEX; }
  	|	K_TBLSTYLE '=' K_TEX	{ tbl_style = TEX; }
+ 	|	K_TBLSTYLE '=' K_FRAME	{ tbl_style = FRAME; }
  	|	K_RNDINFINITY		{ rndinfinity = 1; FullUpdate++; }
  	|	'!' K_RNDINFINITY	{ rndinfinity = 0; FullUpdate++; }
  	|	K_CRACTION '=' NUMBER	{ craction = $3; }
*** ../620/help.c	Thu May  7 16:22:13 1992
--- help.c	Fri May  8 12:31:24 1992
***************
*** 2,14 ****
   * Help functions for sc 
   * R. Bond, 1988
   * J. Buhrt 1990
!  * $Revision: 6.20 $
   */
  
  #ifdef QREF
  #include <stdio.h>
  char	*header = " Quick Reference";
! char	*revision = "$Revision: 6.20 $";
  #else
  #include <curses.h>
  #include "sc.h"
--- 2,14 ----
   * Help functions for sc 
   * R. Bond, 1988
   * J. Buhrt 1990
!  * $Revision: 6.21 $
   */
  
  #ifdef QREF
  #include <stdio.h>
  char	*header = " Quick Reference";
! char	*revision = "$Revision: 6.21 $";
  #else
  #include <curses.h>
  #include "sc.h"
*** ../620/interp.c	Thu May  7 16:22:14 1992
--- interp.c	Fri May  8 12:31:27 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.20 $
   */
  
  #define DEBUGDTS 1		/* REMOVE ME */
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.21 $
   */
  
  #define DEBUGDTS 1		/* REMOVE ME */
*** ../620/lex.c	Thu May  7 16:22:16 1992
--- lex.c	Fri May  8 12:31:28 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3/88, see list of changes.
!  *		$Revision: 6.20 $
   *
   */
  
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3/88, see list of changes.
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/psc.c	Thu May  7 16:22:16 1992
--- psc.c	Fri May  8 12:31:29 1992
***************
*** 17,23 ****
   *  Author: Robert Bond
   *  Adjustments: Jeff Buhrt and Eric Putz
   */
! char *rev = "$Revision: 6.20 $";
  
  #include <ctype.h>
  #include <stdio.h>
--- 17,23 ----
   *  Author: Robert Bond
   *  Adjustments: Jeff Buhrt and Eric Putz
   */
! char *rev = "$Revision: 6.21 $";
  
  #include <ctype.h>
  #include <stdio.h>
*** ../620/range.c	Thu May  7 16:22:17 1992
--- range.c	Fri May  8 12:31:29 1992
***************
*** 4,10 ****
   *
   *              Robert Bond, 4/87
   *
!  *		$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 4,10 ----
   *
   *              Robert Bond, 4/87
   *
!  *		$Revision: 6.21 $
   */
  
  #include <sys/types.h>
*** ../620/sc.c	Thu May  7 16:22:18 1992
--- sc.c	Fri May  8 12:31:31 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/sc.h	Thu May  7 16:22:19 1992
--- sc.h	Fri May  8 12:31:32 1992
***************
*** 6,12 ****
   *			University of Maryland
   *		R. Bond  12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.20 $
   *
   */
  
--- 6,12 ----
   *			University of Maryland
   *		R. Bond  12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/screen.c	Thu May  7 16:22:20 1992
--- screen.c	Fri May  8 12:31:33 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/version.c	Thu May  7 16:22:20 1992
--- version.c	Fri May  8 12:31:33 1992
***************
*** 4,7 ****
   * The part after the first colon, except the last char, appears on the screen.
   */
  
! char *rev = "$Revision: 6.20 $";
--- 4,7 ----
   * The part after the first colon, except the last char, appears on the screen.
   */
  
! char *rev = "$Revision: 6.21 $";
*** ../620/vi.c	Thu May  7 16:22:20 1992
--- vi.c	Fri May  8 12:31:34 1992
***************
*** 1,7 ****
  /*	SC	A Spreadsheet Calculator
   *
   *	One line vi emulation
!  *	$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 1,7 ----
  /*	SC	A Spreadsheet Calculator
   *
   *	One line vi emulation
!  *	$Revision: 6.21 $
   */
  
  #include <sys/types.h>
*** ../620/vmtbl.c	Thu May  7 16:22:21 1992
--- vmtbl.c	Fri May  8 12:31:35 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  #ifdef PSC
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  #ifdef PSC
*** ../620/xmalloc.c	Thu May  7 16:22:21 1992
--- xmalloc.c	Fri May  8 12:31:35 1992
***************
*** 1,6 ****
  /*
   * A safer saner malloc, for careless programmers
!  * $Revision: 6.20 $
   */
  
  #include <stdio.h>
--- 1,6 ----
  /*
   * A safer saner malloc, for careless programmers
!  * $Revision: 6.21 $
   */
  
  #include <stdio.h>
*** ../620/CHANGES	Thu May  7 16:22:07 1992
--- CHANGES	Fri May  8 12:31:13 1992
***************
*** 1,10 ****
! CHANGES BETWEEN 6.20 and 6.19
  Mark R. Rubin
  	-noted a problem using bison 1.16 (use any version but 1.16)
  Marco S Hyman/Ian */and others
  	-Crypt/CRYPT_PATH define problem
  Paul Eggert
! 	-sc.doc $Revision: 6.20 $ 'buglet'
  Ulf Noren/Dave Lewis
  	-AIX3.1/Microport System V/AT don't have notimeout()
  		changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
--- 1,10 ----
! CHANGES BETWEEN 6.21 and 6.19
  Mark R. Rubin
  	-noted a problem using bison 1.16 (use any version but 1.16)
  Marco S Hyman/Ian */and others
  	-Crypt/CRYPT_PATH define problem
  Paul Eggert
! 	-sc.doc $Revision: 6.21 $ 'buglet'
  Ulf Noren/Dave Lewis
  	-AIX3.1/Microport System V/AT don't have notimeout()
  		changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
*** ../620/README	Thu May  7 16:22:07 1992
--- README	Fri May  8 12:31:14 1992
***************
*** 1,9 ****
  This is a much modified version of the public domain spread sheet sc,
  posted several years ago by Mark Weiser as vc, originally by James Gosling.
  
! CHANGES lists the changes since 6.1 to 6.20.
  	Sc6.16 was released to comp.sources.misc and four sets of patches
! 	bring Sc6.16->6.17->6.18->6.19->6.20.
  
  Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  
--- 1,9 ----
  This is a much modified version of the public domain spread sheet sc,
  posted several years ago by Mark Weiser as vc, originally by James Gosling.
  
! CHANGES lists the changes since 6.1 to 6.21.
  	Sc6.16 was released to comp.sources.misc and four sets of patches
! 	bring Sc6.16->6.17->6.18->6.19->6.21.
  
  Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  
***************
*** 83,92 ****
  
  3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  	035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
! 	Sc6.18->Sc6.19, and Sc6.19->Sc6.20.
  
  4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
! 	gatekeeper.dec.com	in /pub/misc/sc-6.20.tar.Z
  
  Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  warranty, express or implied, as a service to Usenet readers.  It is not
--- 83,92 ----
  
  3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  	035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
! 	Sc6.18->Sc6.19, and Sc6.19->Sc6.21.
  
  4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
! 	gatekeeper.dec.com	in /pub/misc/sc-6.21.tar.Z
  
  Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  warranty, express or implied, as a service to Usenet readers.  It is not
*** ../620/sc.doc	Thu May  7 16:22:08 1992
--- sc.doc	Fri May  8 12:31:15 1992
***************
*** 15,21 ****
  .\" - TPs use default indent except for function names, then 18.
  .\" - Smallify uppercase strings.
  .\" - Avoid passive voice and third person.
! .\" $Revision: 6.20 $
  .\"
  .TH PNAME\ #REVISION#\  1
  .SH NAME
--- 15,21 ----
  .\" - TPs use default indent except for function names, then 18.
  .\" - Smallify uppercase strings.
  .\" - Avoid passive voice and third person.
! .\" $Revision: 6.21 $
  .\"
  .TH PNAME\ #REVISION#\  1
  .SH NAME
*** ../620/psc.doc	Thu May  7 16:22:08 1992
--- psc.doc	Fri May  8 12:31:16 1992
***************
*** 1,4 ****
! .\" $Revision: 6.20 $
  .TH PPNAME\ #REVISION#\  1
  .SH NAME
  ppname \- prepare pname files
--- 1,4 ----
! .\" $Revision: 6.21 $
  .TH PPNAME\ #REVISION#\  1
  .SH NAME
  ppname \- prepare pname files
*** ../620/build.com	Thu May  7 16:22:09 1992
--- build.com	Fri May  8 12:31:17 1992
***************
*** 1,6 ****
  $! VMS command file to build SC and PSC (requires bison) on VMS
  $! SC:
! $! $Revision: 6.19 $
  $! bison -d gram.y
  $! ren gram_tab.c gram.c
  $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
--- 1,6 ----
  $! VMS command file to build SC and PSC (requires bison) on VMS
  $! SC:
! $! $Revision: 6.21 $
  $! bison -d gram.y
  $! ren gram_tab.c gram.c
  $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
*** ../620/Makefile	Thu May  7 16:22:09 1992
--- Makefile	Fri May  8 12:31:18 1992
***************
*** 1,4 ****
! # Makefile $Revision: 6.20 $
  #
  # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  #	RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
--- 1,4 ----
! # Makefile $Revision: 6.21 $
  #
  # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  #	RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
***************
*** 422,428 ****
  	name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #	   -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
! #	REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.20 $(
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #		-e s%#LIBDIR#%$(LIBDIR)%g \
  #		-e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
--- 422,428 ----
  	name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #	   -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
! #	REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.21 $(
  #	sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  #		-e s%#LIBDIR#%$(LIBDIR)%g \
  #		-e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
*** ../620/cmds.c	Thu May  7 16:22:10 1992
--- cmds.c	Fri May  8 13:40:24 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *
!  *		$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *
!  *		$Revision: 6.21 $
   */
  
  #include <sys/types.h>
***************
*** 676,682 ****
  	(void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  					tbl_style == LATEX ? "latex" :
  					tbl_style == SLATEX ? "slatex" :
! 					tbl_style == TEX ? "tex" : "0" );
      if (craction)
  	(void) fprintf(f, " craction = %d", craction);
      if (rowlimit >= 0)
--- 676,683 ----
  	(void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  					tbl_style == LATEX ? "latex" :
  					tbl_style == SLATEX ? "slatex" :
! 					tbl_style == TEX ? "tex" :
! 					tbl_style == FRAME ? "frame" : "0" );
      if (craction)
  	(void) fprintf(f, " craction = %d", craction);
      if (rowlimit >= 0)
***************
*** 699,704 ****
--- 700,724 ----
      int fieldlen, nextcol;
      register row, col;
      register struct ent **pp;
+     char file[32];
+     char path[256];
+     char *tpp;
+ 
+     /* printfile will be the [path/]file ---> [path/]file.out,
+      * file is limited to 14 characters.
+      */
+     if (*fname == '\0') {
+ 	strcpy(path, curfile);
+ 
+ 	if ((tpp = strrchr(path, '/'))  == NULL)
+ 		tpp = path;
+ 	else
+ 		tpp++;
+ 	strcpy(file, tpp);
+ 	file[10] = '\0';
+ 	sprintf(tpp, "%s.asc", file);
+ 	fname = path;
+     }
  
      if ((strcmp(fname, curfile) == 0) &&
  	!yn_ask("Confirm that you want to destroy the data base: (y,n)")) {
***************
*** 866,871 ****
--- 886,916 ----
      register row, col;
      register struct ent **pp;
      char coldelim = DEFCOLDELIM;
+     char file[32];
+     char path[256];
+     char *tpp;
+ 
+     /* tblprintfile will be the [path/]file ---> [path/]file.out,
+      * file is limited to 14 characters.
+      */
+     if (*fname == '\0') {
+     strcpy(path, curfile);
+     if ((tpp = strrchr(path, '/'))  == NULL)
+       tpp = path;
+     else
+       tpp++;
+     strcpy(file, tpp);
+     file[10] = '\0';
+     if (tbl_style == 0)
+       sprintf(tpp, "%s.cln", file);
+     else if (tbl_style == TBL)
+       sprintf(tpp, "%s.tbl", file);
+     else if (tbl_style == LATEX)
+       sprintf(tpp, "%s.lat", file);
+     else if (tbl_style == TEX)
+       sprintf(tpp, "%s.tex", file);
+     fname = path;
+     }
  
      if ((strcmp(fname, curfile) == 0) &&
  	!yn_ask("Confirm that you want to destroy the data base: (y,n)"))
***************
*** 899,910 ****
--- 944,992 ----
  		progname, cn-c0+1);
  	coldelim = '&';
      }
+     else if ( tbl_style == FRAME ) {
+ 	fprintf(f,"<MIFFile 3.00> # generated by the sc spreadsheet calculator\n");
+ 	fprintf(f,"<Tbls\n");
+ 	fprintf(f," <Tbl \n");
+ 	fprintf(f,"  <TblID 1> # This table's ID is 1\n");
+ 	fprintf(f,"  <TblFormat \n");
+ 	fprintf(f,"   <TblTag `Format A'> # Table Format Catalog\n");
+ 	fprintf(f,"  > # end of TblFormat\n");
+ 	fprintf(f,"  <TblNumColumns %d> # Has %d columns\n",cn-c0+1,cn-c0+1);
+ 	fprintf(f,"  <TblTitleContent\n");
+ 	fprintf(f,"   <Para\n");
+ 	fprintf(f,"    <PgfTag `TableTitle'> # Forces lookup in Paragraph Format Catalog\n");
+ 	fprintf(f,"    <ParaLine\n");
+ 	fprintf(f,"     <String `%s'>\n",fname);
+ 	fprintf(f,"    > # end of ParaLine\n");
+ 	fprintf(f,"   > # end of Para\n");
+ 	fprintf(f,"  > # end of TblTitleContent\n");
+ 	fprintf(f,"  <TblH # The heading\n");
+ 	fprintf(f,"   <Row # The heading row\n");
+ 	for (col=c0; col <= cn; col++) {
+ 	    fprintf(f,"    <Cell <CellContent <Para # Cell in column \n");
+ 	    fprintf(f,"       <PgfTag `CellHeading'> # in Paragraph Format Catalog\n");
+ 	    fprintf(f,"       <ParaLine <String `%c'>>\n",'A'+col);
+ 	    fprintf(f,"    >>> # end of Cell\n");
+ 	}
+ 	fprintf(f,"   > # end of Row\n");
+ 	fprintf(f,"  > # end of TblH\n");
+ 	fprintf(f,"  <TblBody # The body\n");
+     }
  
      for (row=r0; row<=rn; row++) {
  	if ( tbl_style == TEX )
  	    (void) fprintf (f, "\\+");
+ 	else if ( tbl_style == FRAME ) {
+ 	    fprintf(f,"   <Row # The next body row\n");
+ 	}
  	
  	for (pp = ATBL(tbl, row, col=c0); col<=cn; col++, pp++) {
+ 	    if ( tbl_style == FRAME ) {
+ 		fprintf(f,"    <Cell <CellContent <Para\n");
+ 		fprintf(f,"       <PgfTag `CellBody'> # in Paragraph Format Catalog\n");
+ 		fprintf(f,"       <ParaLine <String `");
+ 	    } 
  	    if (*pp) {
  		char *s;
  		if ((*pp)->flags&is_valid) {
***************
*** 932,939 ****
  	            unspecial (f, s, coldelim);
  		}
  	    }
  	    if ( col < cn )
! 		(void) fprintf(f,"%c", coldelim);
  	}
  	if ( tbl_style == LATEX ) {
  		if ( row < rn ) (void) fprintf (f, "\\\\");
--- 1014,1026 ----
  	            unspecial (f, s, coldelim);
  		}
  	    }
+ 	    if (tbl_style == FRAME) {
+ 		fprintf(f, "'>>\n");
+ 		fprintf(f,"    >>> # end of Cell\n");
+ 	    }
  	    if ( col < cn )
! 		if (tbl_style != FRAME)
! 		    (void) fprintf(f,"%c", coldelim);
  	}
  	if ( tbl_style == LATEX ) {
  		if ( row < rn ) (void) fprintf (f, "\\\\");
***************
*** 944,949 ****
--- 1031,1039 ----
  	else if ( tbl_style == TEX ) {
  		(void) fprintf (f, "\\cr");
  	}
+ 	else if ( tbl_style == FRAME ) {
+ 	    fprintf(f,"   > # end of Row\n");
+ 	}
  	(void) fprintf (f,"\n");
      }
  
***************
*** 955,960 ****
--- 1045,1059 ----
      (void) fprintf (f,"!end<tabular>\n%% ** end of %s spreadsheet output\n", progname);
      else if ( tbl_style == TEX )
      (void) fprintf (f,"}\n%% ** end of %s spreadsheet output\n", progname);
+     else if ( tbl_style == FRAME ) {
+ 	fprintf(f,"  > # end of TblBody\n");
+ 	fprintf(f," ># end of Tbl\n");
+ 	fprintf(f,"> # end of Tbls\n");
+ 	fprintf(f,"<TextFlow <Para \n");
+ 	fprintf(f,"  <PgfTag Body> \n");
+ 	fprintf(f,"  <ParaLine <ATbl 1>> # Reference to table ID 1\n");
+ 	fprintf(f,">>\n");
+     }
  
      closeout(f, pid);
  }
*** ../620/crypt.c	Thu May  7 16:22:10 1992
--- crypt.c	Fri May  8 12:31:19 1992
***************
*** 2,8 ****
   * Encryption utilites
   * Bradley Williams	
   * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
!  * $Revision: 6.20 $
   */
  
  #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
--- 2,8 ----
   * Encryption utilites
   * Bradley Williams	
   * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
!  * $Revision: 6.21 $
   */
  
  #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
*** ../620/format.c	Thu May  7 16:22:11 1992
--- format.c	Fri May  8 13:40:26 1992
***************
*** 3,9 ****
   * Mark Nagel <nagel@ics.uci.edu>
   * 20 July 1989
   *
!  * $Revision: 6.20 $
   *
   * bool
   * format(fmt, num, buf, buflen)
--- 3,9 ----
   * Mark Nagel <nagel@ics.uci.edu>
   * 20 July 1989
   *
!  * $Revision: 6.21 $
   *
   * bool
   * format(fmt, num, buf, buflen)
***************
*** 489,495 ****
   * format is used.  The formats are:         example
   *    0:   Fixed point (default)             0.00010
   *    1:   Scientific                        1.00E-04
!  *    2:   Engineering                       100.00u
   *
   * The format command 'f' now uses three values.  The first two are the
   * width and precision, and the last one is the format value 0, 1, or 2 as
--- 489,495 ----
   * format is used.  The formats are:         example
   *    0:   Fixed point (default)             0.00010
   *    1:   Scientific                        1.00E-04
!  *    2:   Engineering                       100.00e-06
   *
   * The format command 'f' now uses three values.  The first two are the
   * width and precision, and the last one is the format value 0, 1, or 2 as
***************
*** 499,507 ****
   * resulting string is too long to fit into the passed buffer, the
   * function returns false.  Otherwise the function returns true.
   *
!  * When a number is formatted as engineering and is outside of the range
!  * of typically used engineering exponents, the format reverts to
!  * scientific.
   *
   * To preserve compatability with old spreadsheet files, the third value
   * may be missing, and the default will be fixed point (format 0).
--- 499,506 ----
   * resulting string is too long to fit into the passed buffer, the
   * function returns false.  Otherwise the function returns true.
   *
!  * When a number is formatted as engineering and is outside of the range,
!  * the format reverts to scientific.
   *
   * To preserve compatability with old spreadsheet files, the third value
   * may be missing, and the default will be fixed point (format 0).
***************
*** 518,525 ****
  #define REFMTDATE	3
  #endif
  
- char engmult[] = "afpnum kMGT";
- 
  bool
  engformat(fmt, width, lprecision, val, buf, buflen)
  int fmt; 
--- 517,522 ----
***************
*** 529,534 ****
--- 526,537 ----
  char *buf;
  int buflen;
  {
+ 
+   static char *engmult[] = {
+       "-18", "-15", "-12", "-09", "-06", "-03",
+       "+00",
+       "+03", "+06", "+09", "+12", "+15", "+18"
+   };
    int engind = 0;
    double engmant, pow(), engabs, engexp;
    if (buflen < width) return (false);
***************
*** 557,563 ****
        if ((engabs >= 1e6) && (engabs < 1e9 )) engind=8;
        if ((engabs >= 1e9) && (engabs < 1e12 )) engind=9;
        if ((engabs >= 1e12) && (engabs < 1e15 )) engind=10;
!       if ((engabs <1e-18) || (engabs >=1e15))
        {
        /* Revert to floating point */
          (void) sprintf(buf,"%*.*E", width, lprecision, val);
--- 560,568 ----
        if ((engabs >= 1e6) && (engabs < 1e9 )) engind=8;
        if ((engabs >= 1e9) && (engabs < 1e12 )) engind=9;
        if ((engabs >= 1e12) && (engabs < 1e15 )) engind=10;
!       if ((engabs >= 1e15) && (engabs < 1e18 )) engind=11;
!       if ((engabs >= 1e18) && (engabs < 1e21 )) engind=12;
!       if ((engabs <1e-18) || (engabs >=1e21))
        {
        /* Revert to floating point */
          (void) sprintf(buf,"%*.*E", width, lprecision, val);
***************
*** 566,572 ****
        {
          engexp= (double) (engind-6)*3;
          engmant= val/pow(10.0e0,engexp);
!         (void) sprintf(buf,"%*.*f%c", width-1,
                        lprecision, engmant, engmult[engind]);
        }
      }
--- 571,577 ----
        {
          engexp= (double) (engind-6)*3;
          engmant= val/pow(10.0e0,engexp);
!         (void) sprintf(buf,"%*.*fe%s", width-4,
                        lprecision, engmant, engmult[engind]);
        }
      }
*** ../620/gram.y	Thu May  7 16:22:11 1992
--- gram.y	Fri May  8 12:31:22 1992
***************
*** 9,15 ****
   *
   *		More mods by Alan Silverstein, 3/88, see list of changes.
   *
!  *		$Revision: 6.20 $
   */
  
  
--- 9,15 ----
   *
   *		More mods by Alan Silverstein, 3/88, see list of changes.
   *
!  *		$Revision: 6.21 $
   */
  
  
***************
*** 146,151 ****
--- 146,152 ----
  %token K_LATEX
  %token K_SLATEX
  %token K_TEX
+ %token K_FRAME
  %token K_RNDINFINITY
  %token K_MYROW
  %token K_MYCOL
***************
*** 155,160 ****
--- 156,162 ----
  %token K_CRCOL
  %token K_ROWLIMIT
  %token K_COLLIMIT
+ %token K_NUMITER
    
  %left '?' ':'
  %left '|'
***************
*** 373,378 ****
--- 375,381 ----
  	| '@' K_MYROW			{ $$ = new(MYROW, ENULL, ENULL);}
  	| '@' K_MYCOL			{ $$ = new(MYCOL, ENULL, ENULL);}
  	| '@' K_COLTOA '(' e ')'	{ $$ = new(COLTOA, ENULL, $4);}
+ 	| '@' K_NUMITER			{ $$ = new(NUMITER, ENULL, ENULL);}
  	;
  
  /* expressions */
***************
*** 466,471 ****
--- 469,475 ----
  	|	K_TBLSTYLE '=' K_LATEX	{ tbl_style = LATEX; }
  	|	K_TBLSTYLE '=' K_SLATEX	{ tbl_style = SLATEX; }
  	|	K_TBLSTYLE '=' K_TEX	{ tbl_style = TEX; }
+ 	|	K_TBLSTYLE '=' K_FRAME	{ tbl_style = FRAME; }
  	|	K_RNDINFINITY		{ rndinfinity = 1; FullUpdate++; }
  	|	'!' K_RNDINFINITY	{ rndinfinity = 0; FullUpdate++; }
  	|	K_CRACTION '=' NUMBER	{ craction = $3; }
*** ../620/help.c	Thu May  7 16:22:13 1992
--- help.c	Fri May  8 12:31:24 1992
***************
*** 2,14 ****
   * Help functions for sc 
   * R. Bond, 1988
   * J. Buhrt 1990
!  * $Revision: 6.20 $
   */
  
  #ifdef QREF
  #include <stdio.h>
  char	*header = " Quick Reference";
! char	*revision = "$Revision: 6.20 $";
  #else
  #include <curses.h>
  #include "sc.h"
--- 2,14 ----
   * Help functions for sc 
   * R. Bond, 1988
   * J. Buhrt 1990
!  * $Revision: 6.21 $
   */
  
  #ifdef QREF
  #include <stdio.h>
  char	*header = " Quick Reference";
! char	*revision = "$Revision: 6.21 $";
  #else
  #include <curses.h>
  #include "sc.h"
*** ../620/interp.c	Thu May  7 16:22:14 1992
--- interp.c	Fri May  8 12:31:27 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.20 $
   */
  
  #define DEBUGDTS 1		/* REMOVE ME */
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.21 $
   */
  
  #define DEBUGDTS 1		/* REMOVE ME */
*** ../620/lex.c	Thu May  7 16:22:16 1992
--- lex.c	Fri May  8 12:31:28 1992
***************
*** 7,13 ****
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3/88, see list of changes.
!  *		$Revision: 6.20 $
   *
   */
  
--- 7,13 ----
   *
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3/88, see list of changes.
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/psc.c	Thu May  7 16:22:16 1992
--- psc.c	Fri May  8 12:31:29 1992
***************
*** 17,23 ****
   *  Author: Robert Bond
   *  Adjustments: Jeff Buhrt and Eric Putz
   */
! char *rev = "$Revision: 6.20 $";
  
  #include <ctype.h>
  #include <stdio.h>
--- 17,23 ----
   *  Author: Robert Bond
   *  Adjustments: Jeff Buhrt and Eric Putz
   */
! char *rev = "$Revision: 6.21 $";
  
  #include <ctype.h>
  #include <stdio.h>
*** ../620/range.c	Thu May  7 16:22:17 1992
--- range.c	Fri May  8 12:31:29 1992
***************
*** 4,10 ****
   *
   *              Robert Bond, 4/87
   *
!  *		$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 4,10 ----
   *
   *              Robert Bond, 4/87
   *
!  *		$Revision: 6.21 $
   */
  
  #include <sys/types.h>
*** ../620/sc.c	Thu May  7 16:22:18 1992
--- sc.c	Fri May  8 12:31:31 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/sc.h	Thu May  7 16:22:19 1992
--- sc.h	Fri May  8 12:31:32 1992
***************
*** 6,12 ****
   *			University of Maryland
   *		R. Bond  12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.20 $
   *
   */
  
--- 6,12 ----
   *			University of Maryland
   *		R. Bond  12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/screen.c	Thu May  7 16:22:20 1992
--- screen.c	Fri May  8 12:31:33 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  
*** ../620/version.c	Thu May  7 16:22:20 1992
--- version.c	Fri May  8 12:31:33 1992
***************
*** 4,7 ****
   * The part after the first colon, except the last char, appears on the screen.
   */
  
! char *rev = "$Revision: 6.20 $";
--- 4,7 ----
   * The part after the first colon, except the last char, appears on the screen.
   */
  
! char *rev = "$Revision: 6.21 $";
*** ../620/vi.c	Thu May  7 16:22:20 1992
--- vi.c	Fri May  8 12:31:34 1992
***************
*** 1,7 ****
  /*	SC	A Spreadsheet Calculator
   *
   *	One line vi emulation
!  *	$Revision: 6.20 $
   */
  
  #include <sys/types.h>
--- 1,7 ----
  /*	SC	A Spreadsheet Calculator
   *
   *	One line vi emulation
!  *	$Revision: 6.21 $
   */
  
  #include <sys/types.h>
*** ../620/vmtbl.c	Thu May  7 16:22:21 1992
--- vmtbl.c	Fri May  8 12:31:35 1992
***************
*** 8,14 ****
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.20 $
   *
   */
  #ifdef PSC
--- 8,14 ----
   *              More mods Robert Bond, 12/86
   *		More mods by Alan Silverstein, 3-4/88, see list of changes.
   *		Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
!  *		$Revision: 6.21 $
   *
   */
  #ifdef PSC
*** ../620/xmalloc.c	Thu May  7 16:22:21 1992
--- xmalloc.c	Fri May  8 12:31:35 1992
***************
*** 1,6 ****
  /*
   * A safer saner malloc, for careless programmers
!  * $Revision: 6.20 $
   */
  
  #include <stdio.h>
--- 1,6 ----
  /*
   * A safer saner malloc, for careless programmers
!  * $Revision: 6.21 $
   */
  
  #include <stdio.h>
