home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / biz / misc / asc / pch620-621 < prev    next >
Text File  |  1992-05-11  |  40KB  |  1,406 lines

  1. *** ../620/CHANGES    Thu May  7 16:22:07 1992
  2. --- CHANGES    Fri May  8 12:31:13 1992
  3. ***************
  4. *** 1,10 ****
  5. ! CHANGES BETWEEN 6.20 and 6.19
  6.   Mark R. Rubin
  7.       -noted a problem using bison 1.16 (use any version but 1.16)
  8.   Marco S Hyman/Ian */and others
  9.       -Crypt/CRYPT_PATH define problem
  10.   Paul Eggert
  11. !     -sc.doc $Revision: 6.20 $ 'buglet'
  12.   Ulf Noren/Dave Lewis
  13.       -AIX3.1/Microport System V/AT don't have notimeout()
  14.           changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
  15. --- 1,10 ----
  16. ! CHANGES BETWEEN 6.21 and 6.19
  17.   Mark R. Rubin
  18.       -noted a problem using bison 1.16 (use any version but 1.16)
  19.   Marco S Hyman/Ian */and others
  20.       -Crypt/CRYPT_PATH define problem
  21.   Paul Eggert
  22. !     -sc.doc $Revision: 6.21 $ 'buglet'
  23.   Ulf Noren/Dave Lewis
  24.       -AIX3.1/Microport System V/AT don't have notimeout()
  25.           changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
  26. *** ../620/README    Thu May  7 16:22:07 1992
  27. --- README    Fri May  8 12:31:14 1992
  28. ***************
  29. *** 1,9 ****
  30.   This is a much modified version of the public domain spread sheet sc,
  31.   posted several years ago by Mark Weiser as vc, originally by James Gosling.
  32.   
  33. ! CHANGES lists the changes since 6.1 to 6.20.
  34.       Sc6.16 was released to comp.sources.misc and four sets of patches
  35. !     bring Sc6.16->6.17->6.18->6.19->6.20.
  36.   
  37.   Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  38.   
  39. --- 1,9 ----
  40.   This is a much modified version of the public domain spread sheet sc,
  41.   posted several years ago by Mark Weiser as vc, originally by James Gosling.
  42.   
  43. ! CHANGES lists the changes since 6.1 to 6.21.
  44.       Sc6.16 was released to comp.sources.misc and four sets of patches
  45. !     bring Sc6.16->6.17->6.18->6.19->6.21.
  46.   
  47.   Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  48.   
  49. ***************
  50. *** 83,92 ****
  51.   
  52.   3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  53.       035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
  54. !     Sc6.18->Sc6.19, and Sc6.19->Sc6.20.
  55.   
  56.   4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
  57. !     gatekeeper.dec.com    in /pub/misc/sc-6.20.tar.Z
  58.   
  59.   Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  60.   warranty, express or implied, as a service to Usenet readers.  It is not
  61. --- 83,92 ----
  62.   
  63.   3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  64.       035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
  65. !     Sc6.18->Sc6.19, and Sc6.19->Sc6.21.
  66.   
  67.   4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
  68. !     gatekeeper.dec.com    in /pub/misc/sc-6.21.tar.Z
  69.   
  70.   Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  71.   warranty, express or implied, as a service to Usenet readers.  It is not
  72. *** ../620/sc.doc    Thu May  7 16:22:08 1992
  73. --- sc.doc    Fri May  8 12:31:15 1992
  74. ***************
  75. *** 15,21 ****
  76.   .\" - TPs use default indent except for function names, then 18.
  77.   .\" - Smallify uppercase strings.
  78.   .\" - Avoid passive voice and third person.
  79. ! .\" $Revision: 6.20 $
  80.   .\"
  81.   .TH PNAME\ #REVISION#\  1
  82.   .SH NAME
  83. --- 15,21 ----
  84.   .\" - TPs use default indent except for function names, then 18.
  85.   .\" - Smallify uppercase strings.
  86.   .\" - Avoid passive voice and third person.
  87. ! .\" $Revision: 6.21 $
  88.   .\"
  89.   .TH PNAME\ #REVISION#\  1
  90.   .SH NAME
  91. *** ../620/psc.doc    Thu May  7 16:22:08 1992
  92. --- psc.doc    Fri May  8 12:31:16 1992
  93. ***************
  94. *** 1,4 ****
  95. ! .\" $Revision: 6.20 $
  96.   .TH PPNAME\ #REVISION#\  1
  97.   .SH NAME
  98.   ppname \- prepare pname files
  99. --- 1,4 ----
  100. ! .\" $Revision: 6.21 $
  101.   .TH PPNAME\ #REVISION#\  1
  102.   .SH NAME
  103.   ppname \- prepare pname files
  104. *** ../620/build.com    Thu May  7 16:22:09 1992
  105. --- build.com    Fri May  8 12:31:17 1992
  106. ***************
  107. *** 1,6 ****
  108.   $! VMS command file to build SC and PSC (requires bison) on VMS
  109.   $! SC:
  110. ! $! $Revision: 6.19 $
  111.   $! bison -d gram.y
  112.   $! ren gram_tab.c gram.c
  113.   $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
  114. --- 1,6 ----
  115.   $! VMS command file to build SC and PSC (requires bison) on VMS
  116.   $! SC:
  117. ! $! $Revision: 6.21 $
  118.   $! bison -d gram.y
  119.   $! ren gram_tab.c gram.c
  120.   $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
  121. *** ../620/Makefile    Thu May  7 16:22:09 1992
  122. --- Makefile    Fri May  8 12:31:18 1992
  123. ***************
  124. *** 1,4 ****
  125. ! # Makefile $Revision: 6.20 $
  126.   #
  127.   # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  128.   #    RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
  129. --- 1,4 ----
  130. ! # Makefile $Revision: 6.21 $
  131.   #
  132.   # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  133.   #    RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
  134. ***************
  135. *** 422,428 ****
  136.       name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  137.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  138.   #       -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
  139. ! #    REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.20 $(
  140.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  141.   #        -e s%#LIBDIR#%$(LIBDIR)%g \
  142.   #        -e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
  143. --- 422,428 ----
  144.       name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  145.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  146.   #       -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
  147. ! #    REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.21 $(
  148.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  149.   #        -e s%#LIBDIR#%$(LIBDIR)%g \
  150.   #        -e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
  151. *** ../620/cmds.c    Thu May  7 16:22:10 1992
  152. --- cmds.c    Fri May  8 12:31:19 1992
  153. ***************
  154. *** 7,13 ****
  155.    *
  156.    *              More mods Robert Bond, 12/86
  157.    *
  158. !  *        $Revision: 6.20 $
  159.    */
  160.   
  161.   #include <sys/types.h>
  162. --- 7,13 ----
  163.    *
  164.    *              More mods Robert Bond, 12/86
  165.    *
  166. !  *        $Revision: 6.21 $
  167.    */
  168.   
  169.   #include <sys/types.h>
  170. ***************
  171. *** 676,682 ****
  172.       (void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  173.                       tbl_style == LATEX ? "latex" :
  174.                       tbl_style == SLATEX ? "slatex" :
  175. !                     tbl_style == TEX ? "tex" : "0" );
  176.       if (craction)
  177.       (void) fprintf(f, " craction = %d", craction);
  178.       if (rowlimit >= 0)
  179. --- 676,683 ----
  180.       (void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  181.                       tbl_style == LATEX ? "latex" :
  182.                       tbl_style == SLATEX ? "slatex" :
  183. !                     tbl_style == TEX ? "tex" :
  184. !                     tbl_style == FRAME ? "frame" : "0" );
  185.       if (craction)
  186.       (void) fprintf(f, " craction = %d", craction);
  187.       if (rowlimit >= 0)
  188. ***************
  189. *** 899,910 ****
  190. --- 900,948 ----
  191.           progname, cn-c0+1);
  192.       coldelim = '&';
  193.       }
  194. +     else if ( tbl_style == FRAME ) {
  195. +     fprintf(f,"<MIFFile 3.00> # generated by the sc spreadsheet calculator\n");
  196. +     fprintf(f,"<Tbls\n");
  197. +     fprintf(f," <Tbl \n");
  198. +     fprintf(f,"  <TblID 1> # This table's ID is 1\n");
  199. +     fprintf(f,"  <TblFormat \n");
  200. +     fprintf(f,"   <TblTag `Format A'> # Table Format Catalog\n");
  201. +     fprintf(f,"  > # end of TblFormat\n");
  202. +     fprintf(f,"  <TblNumColumns %d> # Has %d columns\n",cn-c0+1,cn-c0+1);
  203. +     fprintf(f,"  <TblTitleContent\n");
  204. +     fprintf(f,"   <Para\n");
  205. +     fprintf(f,"    <PgfTag `TableTitle'> # Forces lookup in Paragraph Format Catalog\n");
  206. +     fprintf(f,"    <ParaLine\n");
  207. +     fprintf(f,"     <String `%s'>\n",fname);
  208. +     fprintf(f,"    > # end of ParaLine\n");
  209. +     fprintf(f,"   > # end of Para\n");
  210. +     fprintf(f,"  > # end of TblTitleContent\n");
  211. +     fprintf(f,"  <TblH # The heading\n");
  212. +     fprintf(f,"   <Row # The heading row\n");
  213. +     for (col=c0; col <= cn; col++) {
  214. +         fprintf(f,"    <Cell <CellContent <Para # Cell in column \n");
  215. +         fprintf(f,"       <PgfTag `CellHeading'> # in Paragraph Format Catalog\n");
  216. +         fprintf(f,"       <ParaLine <String `%c'>>\n",'A'+col);
  217. +         fprintf(f,"    >>> # end of Cell\n");
  218. +     }
  219. +     fprintf(f,"   > # end of Row\n");
  220. +     fprintf(f,"  > # end of TblH\n");
  221. +     fprintf(f,"  <TblBody # The body\n");
  222. +     }
  223.   
  224.       for (row=r0; row<=rn; row++) {
  225.       if ( tbl_style == TEX )
  226.           (void) fprintf (f, "\\+");
  227. +     else if ( tbl_style == FRAME ) {
  228. +         fprintf(f,"   <Row # The next body row\n");
  229. +     }
  230.       
  231.       for (pp = ATBL(tbl, row, col=c0); col<=cn; col++, pp++) {
  232. +         if ( tbl_style == FRAME ) {
  233. +         fprintf(f,"    <Cell <CellContent <Para\n");
  234. +         fprintf(f,"       <PgfTag `CellBody'> # in Paragraph Format Catalog\n");
  235. +         fprintf(f,"       <ParaLine <String `");
  236. +         } 
  237.           if (*pp) {
  238.           char *s;
  239.           if ((*pp)->flags&is_valid) {
  240. ***************
  241. *** 932,939 ****
  242.                   unspecial (f, s, coldelim);
  243.           }
  244.           }
  245.           if ( col < cn )
  246. !         (void) fprintf(f,"%c", coldelim);
  247.       }
  248.       if ( tbl_style == LATEX ) {
  249.           if ( row < rn ) (void) fprintf (f, "\\\\");
  250. --- 970,982 ----
  251.                   unspecial (f, s, coldelim);
  252.           }
  253.           }
  254. +         if (tbl_style == FRAME) {
  255. +         fprintf(f, "'>>\n");
  256. +         fprintf(f,"    >>> # end of Cell\n");
  257. +         }
  258.           if ( col < cn )
  259. !         if (tbl_style != FRAME)
  260. !             (void) fprintf(f,"%c", coldelim);
  261.       }
  262.       if ( tbl_style == LATEX ) {
  263.           if ( row < rn ) (void) fprintf (f, "\\\\");
  264. ***************
  265. *** 944,949 ****
  266. --- 987,995 ----
  267.       else if ( tbl_style == TEX ) {
  268.           (void) fprintf (f, "\\cr");
  269.       }
  270. +     else if ( tbl_style == FRAME ) {
  271. +         fprintf(f,"   > # end of Row\n");
  272. +     }
  273.       (void) fprintf (f,"\n");
  274.       }
  275.   
  276. ***************
  277. *** 955,960 ****
  278. --- 1001,1015 ----
  279.       (void) fprintf (f,"!end<tabular>\n%% ** end of %s spreadsheet output\n", progname);
  280.       else if ( tbl_style == TEX )
  281.       (void) fprintf (f,"}\n%% ** end of %s spreadsheet output\n", progname);
  282. +     else if ( tbl_style == FRAME ) {
  283. +     fprintf(f,"  > # end of TblBody\n");
  284. +     fprintf(f," ># end of Tbl\n");
  285. +     fprintf(f,"> # end of Tbls\n");
  286. +     fprintf(f,"<TextFlow <Para \n");
  287. +     fprintf(f,"  <PgfTag Body> \n");
  288. +     fprintf(f,"  <ParaLine <ATbl 1>> # Reference to table ID 1\n");
  289. +     fprintf(f,">>\n");
  290. +     }
  291.   
  292.       closeout(f, pid);
  293.   }
  294. *** ../620/crypt.c    Thu May  7 16:22:10 1992
  295. --- crypt.c    Fri May  8 12:31:19 1992
  296. ***************
  297. *** 2,8 ****
  298.    * Encryption utilites
  299.    * Bradley Williams    
  300.    * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
  301. !  * $Revision: 6.20 $
  302.    */
  303.   
  304.   #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
  305. --- 2,8 ----
  306.    * Encryption utilites
  307.    * Bradley Williams    
  308.    * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
  309. !  * $Revision: 6.21 $
  310.    */
  311.   
  312.   #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
  313. *** ../620/format.c    Thu May  7 16:22:11 1992
  314. --- format.c    Fri May  8 12:31:21 1992
  315. ***************
  316. *** 3,9 ****
  317.    * Mark Nagel <nagel@ics.uci.edu>
  318.    * 20 July 1989
  319.    *
  320. !  * $Revision: 6.20 $
  321.    *
  322.    * bool
  323.    * format(fmt, num, buf, buflen)
  324. --- 3,9 ----
  325.    * Mark Nagel <nagel@ics.uci.edu>
  326.    * 20 July 1989
  327.    *
  328. !  * $Revision: 6.21 $
  329.    *
  330.    * bool
  331.    * format(fmt, num, buf, buflen)
  332. *** ../620/gram.y    Thu May  7 16:22:11 1992
  333. --- gram.y    Fri May  8 12:31:22 1992
  334. ***************
  335. *** 9,15 ****
  336.    *
  337.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  338.    *
  339. !  *        $Revision: 6.20 $
  340.    */
  341.   
  342.   
  343. --- 9,15 ----
  344.    *
  345.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  346.    *
  347. !  *        $Revision: 6.21 $
  348.    */
  349.   
  350.   
  351. ***************
  352. *** 146,151 ****
  353. --- 146,152 ----
  354.   %token K_LATEX
  355.   %token K_SLATEX
  356.   %token K_TEX
  357. + %token K_FRAME
  358.   %token K_RNDINFINITY
  359.   %token K_MYROW
  360.   %token K_MYCOL
  361. ***************
  362. *** 155,160 ****
  363. --- 156,162 ----
  364.   %token K_CRCOL
  365.   %token K_ROWLIMIT
  366.   %token K_COLLIMIT
  367. + %token K_NUMITER
  368.     
  369.   %left '?' ':'
  370.   %left '|'
  371. ***************
  372. *** 373,378 ****
  373. --- 375,381 ----
  374.       | '@' K_MYROW            { $$ = new(MYROW, ENULL, ENULL);}
  375.       | '@' K_MYCOL            { $$ = new(MYCOL, ENULL, ENULL);}
  376.       | '@' K_COLTOA '(' e ')'    { $$ = new(COLTOA, ENULL, $4);}
  377. +     | '@' K_NUMITER            { $$ = new(NUMITER, ENULL, ENULL);}
  378.       ;
  379.   
  380.   /* expressions */
  381. ***************
  382. *** 466,471 ****
  383. --- 469,475 ----
  384.       |    K_TBLSTYLE '=' K_LATEX    { tbl_style = LATEX; }
  385.       |    K_TBLSTYLE '=' K_SLATEX    { tbl_style = SLATEX; }
  386.       |    K_TBLSTYLE '=' K_TEX    { tbl_style = TEX; }
  387. +     |    K_TBLSTYLE '=' K_FRAME    { tbl_style = FRAME; }
  388.       |    K_RNDINFINITY        { rndinfinity = 1; FullUpdate++; }
  389.       |    '!' K_RNDINFINITY    { rndinfinity = 0; FullUpdate++; }
  390.       |    K_CRACTION '=' NUMBER    { craction = $3; }
  391. *** ../620/help.c    Thu May  7 16:22:13 1992
  392. --- help.c    Fri May  8 12:31:24 1992
  393. ***************
  394. *** 2,14 ****
  395.    * Help functions for sc 
  396.    * R. Bond, 1988
  397.    * J. Buhrt 1990
  398. !  * $Revision: 6.20 $
  399.    */
  400.   
  401.   #ifdef QREF
  402.   #include <stdio.h>
  403.   char    *header = " Quick Reference";
  404. ! char    *revision = "$Revision: 6.20 $";
  405.   #else
  406.   #include <curses.h>
  407.   #include "sc.h"
  408. --- 2,14 ----
  409.    * Help functions for sc 
  410.    * R. Bond, 1988
  411.    * J. Buhrt 1990
  412. !  * $Revision: 6.21 $
  413.    */
  414.   
  415.   #ifdef QREF
  416.   #include <stdio.h>
  417.   char    *header = " Quick Reference";
  418. ! char    *revision = "$Revision: 6.21 $";
  419.   #else
  420.   #include <curses.h>
  421.   #include "sc.h"
  422. *** ../620/interp.c    Thu May  7 16:22:14 1992
  423. --- interp.c    Fri May  8 12:31:27 1992
  424. ***************
  425. *** 7,13 ****
  426.    *
  427.    *              More mods Robert Bond, 12/86
  428.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  429. !  *        $Revision: 6.20 $
  430.    */
  431.   
  432.   #define DEBUGDTS 1        /* REMOVE ME */
  433. --- 7,13 ----
  434.    *
  435.    *              More mods Robert Bond, 12/86
  436.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  437. !  *        $Revision: 6.21 $
  438.    */
  439.   
  440.   #define DEBUGDTS 1        /* REMOVE ME */
  441. *** ../620/lex.c    Thu May  7 16:22:16 1992
  442. --- lex.c    Fri May  8 12:31:28 1992
  443. ***************
  444. *** 7,13 ****
  445.    *
  446.    *              More mods Robert Bond, 12/86
  447.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  448. !  *        $Revision: 6.20 $
  449.    *
  450.    */
  451.   
  452. --- 7,13 ----
  453.    *
  454.    *              More mods Robert Bond, 12/86
  455.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  456. !  *        $Revision: 6.21 $
  457.    *
  458.    */
  459.   
  460. *** ../620/psc.c    Thu May  7 16:22:16 1992
  461. --- psc.c    Fri May  8 12:31:29 1992
  462. ***************
  463. *** 17,23 ****
  464.    *  Author: Robert Bond
  465.    *  Adjustments: Jeff Buhrt and Eric Putz
  466.    */
  467. ! char *rev = "$Revision: 6.20 $";
  468.   
  469.   #include <ctype.h>
  470.   #include <stdio.h>
  471. --- 17,23 ----
  472.    *  Author: Robert Bond
  473.    *  Adjustments: Jeff Buhrt and Eric Putz
  474.    */
  475. ! char *rev = "$Revision: 6.21 $";
  476.   
  477.   #include <ctype.h>
  478.   #include <stdio.h>
  479. *** ../620/range.c    Thu May  7 16:22:17 1992
  480. --- range.c    Fri May  8 12:31:29 1992
  481. ***************
  482. *** 4,10 ****
  483.    *
  484.    *              Robert Bond, 4/87
  485.    *
  486. !  *        $Revision: 6.20 $
  487.    */
  488.   
  489.   #include <sys/types.h>
  490. --- 4,10 ----
  491.    *
  492.    *              Robert Bond, 4/87
  493.    *
  494. !  *        $Revision: 6.21 $
  495.    */
  496.   
  497.   #include <sys/types.h>
  498. *** ../620/sc.c    Thu May  7 16:22:18 1992
  499. --- sc.c    Fri May  8 12:31:31 1992
  500. ***************
  501. *** 8,14 ****
  502.    *              More mods Robert Bond, 12/86
  503.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  504.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  505. !  *        $Revision: 6.20 $
  506.    *
  507.    */
  508.   
  509. --- 8,14 ----
  510.    *              More mods Robert Bond, 12/86
  511.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  512.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  513. !  *        $Revision: 6.21 $
  514.    *
  515.    */
  516.   
  517. *** ../620/sc.h    Thu May  7 16:22:19 1992
  518. --- sc.h    Fri May  8 12:31:32 1992
  519. ***************
  520. *** 6,12 ****
  521.    *            University of Maryland
  522.    *        R. Bond  12/86
  523.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  524. !  *        $Revision: 6.20 $
  525.    *
  526.    */
  527.   
  528. --- 6,12 ----
  529.    *            University of Maryland
  530.    *        R. Bond  12/86
  531.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  532. !  *        $Revision: 6.21 $
  533.    *
  534.    */
  535.   
  536. *** ../620/screen.c    Thu May  7 16:22:20 1992
  537. --- screen.c    Fri May  8 12:31:33 1992
  538. ***************
  539. *** 8,14 ****
  540.    *              More mods Robert Bond, 12/86
  541.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  542.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  543. !  *        $Revision: 6.20 $
  544.    *
  545.    */
  546.   
  547. --- 8,14 ----
  548.    *              More mods Robert Bond, 12/86
  549.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  550.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  551. !  *        $Revision: 6.21 $
  552.    *
  553.    */
  554.   
  555. *** ../620/version.c    Thu May  7 16:22:20 1992
  556. --- version.c    Fri May  8 12:31:33 1992
  557. ***************
  558. *** 4,7 ****
  559.    * The part after the first colon, except the last char, appears on the screen.
  560.    */
  561.   
  562. ! char *rev = "$Revision: 6.20 $";
  563. --- 4,7 ----
  564.    * The part after the first colon, except the last char, appears on the screen.
  565.    */
  566.   
  567. ! char *rev = "$Revision: 6.21 $";
  568. *** ../620/vi.c    Thu May  7 16:22:20 1992
  569. --- vi.c    Fri May  8 12:31:34 1992
  570. ***************
  571. *** 1,7 ****
  572.   /*    SC    A Spreadsheet Calculator
  573.    *
  574.    *    One line vi emulation
  575. !  *    $Revision: 6.20 $
  576.    */
  577.   
  578.   #include <sys/types.h>
  579. --- 1,7 ----
  580.   /*    SC    A Spreadsheet Calculator
  581.    *
  582.    *    One line vi emulation
  583. !  *    $Revision: 6.21 $
  584.    */
  585.   
  586.   #include <sys/types.h>
  587. *** ../620/vmtbl.c    Thu May  7 16:22:21 1992
  588. --- vmtbl.c    Fri May  8 12:31:35 1992
  589. ***************
  590. *** 8,14 ****
  591.    *              More mods Robert Bond, 12/86
  592.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  593.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  594. !  *        $Revision: 6.20 $
  595.    *
  596.    */
  597.   #ifdef PSC
  598. --- 8,14 ----
  599.    *              More mods Robert Bond, 12/86
  600.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  601.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  602. !  *        $Revision: 6.21 $
  603.    *
  604.    */
  605.   #ifdef PSC
  606. *** ../620/xmalloc.c    Thu May  7 16:22:21 1992
  607. --- xmalloc.c    Fri May  8 12:31:35 1992
  608. ***************
  609. *** 1,6 ****
  610.   /*
  611.    * A safer saner malloc, for careless programmers
  612. !  * $Revision: 6.20 $
  613.    */
  614.   
  615.   #include <stdio.h>
  616. --- 1,6 ----
  617.   /*
  618.    * A safer saner malloc, for careless programmers
  619. !  * $Revision: 6.21 $
  620.    */
  621.   
  622.   #include <stdio.h>
  623. *** ../620/CHANGES    Thu May  7 16:22:07 1992
  624. --- CHANGES    Fri May  8 12:31:13 1992
  625. ***************
  626. *** 1,10 ****
  627. ! CHANGES BETWEEN 6.20 and 6.19
  628.   Mark R. Rubin
  629.       -noted a problem using bison 1.16 (use any version but 1.16)
  630.   Marco S Hyman/Ian */and others
  631.       -Crypt/CRYPT_PATH define problem
  632.   Paul Eggert
  633. !     -sc.doc $Revision: 6.20 $ 'buglet'
  634.   Ulf Noren/Dave Lewis
  635.       -AIX3.1/Microport System V/AT don't have notimeout()
  636.           changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
  637. --- 1,10 ----
  638. ! CHANGES BETWEEN 6.21 and 6.19
  639.   Mark R. Rubin
  640.       -noted a problem using bison 1.16 (use any version but 1.16)
  641.   Marco S Hyman/Ian */and others
  642.       -Crypt/CRYPT_PATH define problem
  643.   Paul Eggert
  644. !     -sc.doc $Revision: 6.21 $ 'buglet'
  645.   Ulf Noren/Dave Lewis
  646.       -AIX3.1/Microport System V/AT don't have notimeout()
  647.           changed NONOTIMEOUT to NO_NOTIMEOUT, define if not present
  648. *** ../620/README    Thu May  7 16:22:07 1992
  649. --- README    Fri May  8 12:31:14 1992
  650. ***************
  651. *** 1,9 ****
  652.   This is a much modified version of the public domain spread sheet sc,
  653.   posted several years ago by Mark Weiser as vc, originally by James Gosling.
  654.   
  655. ! CHANGES lists the changes since 6.1 to 6.20.
  656.       Sc6.16 was released to comp.sources.misc and four sets of patches
  657. !     bring Sc6.16->6.17->6.18->6.19->6.20.
  658.   
  659.   Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  660.   
  661. --- 1,9 ----
  662.   This is a much modified version of the public domain spread sheet sc,
  663.   posted several years ago by Mark Weiser as vc, originally by James Gosling.
  664.   
  665. ! CHANGES lists the changes since 6.1 to 6.21.
  666.       Sc6.16 was released to comp.sources.misc and four sets of patches
  667. !     bring Sc6.16->6.17->6.18->6.19->6.21.
  668.   
  669.   Current maintainer: nstar!sawmill!prslnk!buhrt (Jeff Buhrt)
  670.   
  671. ***************
  672. *** 83,92 ****
  673.   
  674.   3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  675.       035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
  676. !     Sc6.18->Sc6.19, and Sc6.19->Sc6.20.
  677.   
  678.   4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
  679. !     gatekeeper.dec.com    in /pub/misc/sc-6.20.tar.Z
  680.   
  681.   Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  682.   warranty, express or implied, as a service to Usenet readers.  It is not
  683. --- 83,92 ----
  684.   
  685.   3) Sc6.16 was posted in comp.sources.misc, about Jun 4 1991, Volume 20, Issues
  686.       035-041. There were then 4 patches: Sc6.16->Sc6.17, Sc6.17->Sc6.18,
  687. !     Sc6.18->Sc6.19, and Sc6.19->Sc6.21.
  688.   
  689.   4) (FTP) Paul A Vixie <uunet!decwrl!vixie>
  690. !     gatekeeper.dec.com    in /pub/misc/sc-6.21.tar.Z
  691.   
  692.   Sc is not a product of ProsLink, Inc.  It is supplied as is with no
  693.   warranty, express or implied, as a service to Usenet readers.  It is not
  694. *** ../620/sc.doc    Thu May  7 16:22:08 1992
  695. --- sc.doc    Fri May  8 12:31:15 1992
  696. ***************
  697. *** 15,21 ****
  698.   .\" - TPs use default indent except for function names, then 18.
  699.   .\" - Smallify uppercase strings.
  700.   .\" - Avoid passive voice and third person.
  701. ! .\" $Revision: 6.20 $
  702.   .\"
  703.   .TH PNAME\ #REVISION#\  1
  704.   .SH NAME
  705. --- 15,21 ----
  706.   .\" - TPs use default indent except for function names, then 18.
  707.   .\" - Smallify uppercase strings.
  708.   .\" - Avoid passive voice and third person.
  709. ! .\" $Revision: 6.21 $
  710.   .\"
  711.   .TH PNAME\ #REVISION#\  1
  712.   .SH NAME
  713. *** ../620/psc.doc    Thu May  7 16:22:08 1992
  714. --- psc.doc    Fri May  8 12:31:16 1992
  715. ***************
  716. *** 1,4 ****
  717. ! .\" $Revision: 6.20 $
  718.   .TH PPNAME\ #REVISION#\  1
  719.   .SH NAME
  720.   ppname \- prepare pname files
  721. --- 1,4 ----
  722. ! .\" $Revision: 6.21 $
  723.   .TH PPNAME\ #REVISION#\  1
  724.   .SH NAME
  725.   ppname \- prepare pname files
  726. *** ../620/build.com    Thu May  7 16:22:09 1992
  727. --- build.com    Fri May  8 12:31:17 1992
  728. ***************
  729. *** 1,6 ****
  730.   $! VMS command file to build SC and PSC (requires bison) on VMS
  731.   $! SC:
  732. ! $! $Revision: 6.19 $
  733.   $! bison -d gram.y
  734.   $! ren gram_tab.c gram.c
  735.   $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
  736. --- 1,6 ----
  737.   $! VMS command file to build SC and PSC (requires bison) on VMS
  738.   $! SC:
  739. ! $! $Revision: 6.21 $
  740.   $! bison -d gram.y
  741.   $! ren gram_tab.c gram.c
  742.   $ cc'p1'  /define=("SIMPLE","SIGVOID") sc.c
  743. *** ../620/Makefile    Thu May  7 16:22:09 1992
  744. --- Makefile    Fri May  8 12:31:18 1992
  745. ***************
  746. *** 1,4 ****
  747. ! # Makefile $Revision: 6.20 $
  748.   #
  749.   # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  750.   #    RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
  751. --- 1,4 ----
  752. ! # Makefile $Revision: 6.21 $
  753.   #
  754.   # 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
  755.   #    RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
  756. ***************
  757. *** 422,428 ****
  758.       name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  759.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  760.   #       -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
  761. ! #    REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.20 $(
  762.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  763.   #        -e s%#LIBDIR#%$(LIBDIR)%g \
  764.   #        -e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
  765. --- 422,428 ----
  766.       name=$(name) NAME=$(NAME) LIBDIR=$(LIBDIR) sh torev sc.doc >  $(name).1
  767.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  768.   #       -e s%#LIBDIR#%$(LIBDIR)%g sc.doc >  $(name).1
  769. ! #    REVISION=`sed -e '/Revision/!D' -e 's/.*$Revision: 6.21 $(
  770.   #    sed -e s/pname/$(name)/g -e s/PNAME/$(NAME)/g \
  771.   #        -e s%#LIBDIR#%$(LIBDIR)%g \
  772.   #        -e 's/#REVISION#/$(REVISION)/' sc.doc >  $(name).1
  773. *** ../620/cmds.c    Thu May  7 16:22:10 1992
  774. --- cmds.c    Fri May  8 13:40:24 1992
  775. ***************
  776. *** 7,13 ****
  777.    *
  778.    *              More mods Robert Bond, 12/86
  779.    *
  780. !  *        $Revision: 6.20 $
  781.    */
  782.   
  783.   #include <sys/types.h>
  784. --- 7,13 ----
  785.    *
  786.    *              More mods Robert Bond, 12/86
  787.    *
  788. !  *        $Revision: 6.21 $
  789.    */
  790.   
  791.   #include <sys/types.h>
  792. ***************
  793. *** 676,682 ****
  794.       (void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  795.                       tbl_style == LATEX ? "latex" :
  796.                       tbl_style == SLATEX ? "slatex" :
  797. !                     tbl_style == TEX ? "tex" : "0" );
  798.       if (craction)
  799.       (void) fprintf(f, " craction = %d", craction);
  800.       if (rowlimit >= 0)
  801. --- 676,683 ----
  802.       (void) fprintf(f, " tblstyle = %s", tbl_style == TBL ? "tbl" :
  803.                       tbl_style == LATEX ? "latex" :
  804.                       tbl_style == SLATEX ? "slatex" :
  805. !                     tbl_style == TEX ? "tex" :
  806. !                     tbl_style == FRAME ? "frame" : "0" );
  807.       if (craction)
  808.       (void) fprintf(f, " craction = %d", craction);
  809.       if (rowlimit >= 0)
  810. ***************
  811. *** 699,704 ****
  812. --- 700,724 ----
  813.       int fieldlen, nextcol;
  814.       register row, col;
  815.       register struct ent **pp;
  816. +     char file[32];
  817. +     char path[256];
  818. +     char *tpp;
  819. +     /* printfile will be the [path/]file ---> [path/]file.out,
  820. +      * file is limited to 14 characters.
  821. +      */
  822. +     if (*fname == '\0') {
  823. +     strcpy(path, curfile);
  824. +     if ((tpp = strrchr(path, '/'))  == NULL)
  825. +         tpp = path;
  826. +     else
  827. +         tpp++;
  828. +     strcpy(file, tpp);
  829. +     file[10] = '\0';
  830. +     sprintf(tpp, "%s.asc", file);
  831. +     fname = path;
  832. +     }
  833.   
  834.       if ((strcmp(fname, curfile) == 0) &&
  835.       !yn_ask("Confirm that you want to destroy the data base: (y,n)")) {
  836. ***************
  837. *** 866,871 ****
  838. --- 886,916 ----
  839.       register row, col;
  840.       register struct ent **pp;
  841.       char coldelim = DEFCOLDELIM;
  842. +     char file[32];
  843. +     char path[256];
  844. +     char *tpp;
  845. +     /* tblprintfile will be the [path/]file ---> [path/]file.out,
  846. +      * file is limited to 14 characters.
  847. +      */
  848. +     if (*fname == '\0') {
  849. +     strcpy(path, curfile);
  850. +     if ((tpp = strrchr(path, '/'))  == NULL)
  851. +       tpp = path;
  852. +     else
  853. +       tpp++;
  854. +     strcpy(file, tpp);
  855. +     file[10] = '\0';
  856. +     if (tbl_style == 0)
  857. +       sprintf(tpp, "%s.cln", file);
  858. +     else if (tbl_style == TBL)
  859. +       sprintf(tpp, "%s.tbl", file);
  860. +     else if (tbl_style == LATEX)
  861. +       sprintf(tpp, "%s.lat", file);
  862. +     else if (tbl_style == TEX)
  863. +       sprintf(tpp, "%s.tex", file);
  864. +     fname = path;
  865. +     }
  866.   
  867.       if ((strcmp(fname, curfile) == 0) &&
  868.       !yn_ask("Confirm that you want to destroy the data base: (y,n)"))
  869. ***************
  870. *** 899,910 ****
  871. --- 944,992 ----
  872.           progname, cn-c0+1);
  873.       coldelim = '&';
  874.       }
  875. +     else if ( tbl_style == FRAME ) {
  876. +     fprintf(f,"<MIFFile 3.00> # generated by the sc spreadsheet calculator\n");
  877. +     fprintf(f,"<Tbls\n");
  878. +     fprintf(f," <Tbl \n");
  879. +     fprintf(f,"  <TblID 1> # This table's ID is 1\n");
  880. +     fprintf(f,"  <TblFormat \n");
  881. +     fprintf(f,"   <TblTag `Format A'> # Table Format Catalog\n");
  882. +     fprintf(f,"  > # end of TblFormat\n");
  883. +     fprintf(f,"  <TblNumColumns %d> # Has %d columns\n",cn-c0+1,cn-c0+1);
  884. +     fprintf(f,"  <TblTitleContent\n");
  885. +     fprintf(f,"   <Para\n");
  886. +     fprintf(f,"    <PgfTag `TableTitle'> # Forces lookup in Paragraph Format Catalog\n");
  887. +     fprintf(f,"    <ParaLine\n");
  888. +     fprintf(f,"     <String `%s'>\n",fname);
  889. +     fprintf(f,"    > # end of ParaLine\n");
  890. +     fprintf(f,"   > # end of Para\n");
  891. +     fprintf(f,"  > # end of TblTitleContent\n");
  892. +     fprintf(f,"  <TblH # The heading\n");
  893. +     fprintf(f,"   <Row # The heading row\n");
  894. +     for (col=c0; col <= cn; col++) {
  895. +         fprintf(f,"    <Cell <CellContent <Para # Cell in column \n");
  896. +         fprintf(f,"       <PgfTag `CellHeading'> # in Paragraph Format Catalog\n");
  897. +         fprintf(f,"       <ParaLine <String `%c'>>\n",'A'+col);
  898. +         fprintf(f,"    >>> # end of Cell\n");
  899. +     }
  900. +     fprintf(f,"   > # end of Row\n");
  901. +     fprintf(f,"  > # end of TblH\n");
  902. +     fprintf(f,"  <TblBody # The body\n");
  903. +     }
  904.   
  905.       for (row=r0; row<=rn; row++) {
  906.       if ( tbl_style == TEX )
  907.           (void) fprintf (f, "\\+");
  908. +     else if ( tbl_style == FRAME ) {
  909. +         fprintf(f,"   <Row # The next body row\n");
  910. +     }
  911.       
  912.       for (pp = ATBL(tbl, row, col=c0); col<=cn; col++, pp++) {
  913. +         if ( tbl_style == FRAME ) {
  914. +         fprintf(f,"    <Cell <CellContent <Para\n");
  915. +         fprintf(f,"       <PgfTag `CellBody'> # in Paragraph Format Catalog\n");
  916. +         fprintf(f,"       <ParaLine <String `");
  917. +         } 
  918.           if (*pp) {
  919.           char *s;
  920.           if ((*pp)->flags&is_valid) {
  921. ***************
  922. *** 932,939 ****
  923.                   unspecial (f, s, coldelim);
  924.           }
  925.           }
  926.           if ( col < cn )
  927. !         (void) fprintf(f,"%c", coldelim);
  928.       }
  929.       if ( tbl_style == LATEX ) {
  930.           if ( row < rn ) (void) fprintf (f, "\\\\");
  931. --- 1014,1026 ----
  932.                   unspecial (f, s, coldelim);
  933.           }
  934.           }
  935. +         if (tbl_style == FRAME) {
  936. +         fprintf(f, "'>>\n");
  937. +         fprintf(f,"    >>> # end of Cell\n");
  938. +         }
  939.           if ( col < cn )
  940. !         if (tbl_style != FRAME)
  941. !             (void) fprintf(f,"%c", coldelim);
  942.       }
  943.       if ( tbl_style == LATEX ) {
  944.           if ( row < rn ) (void) fprintf (f, "\\\\");
  945. ***************
  946. *** 944,949 ****
  947. --- 1031,1039 ----
  948.       else if ( tbl_style == TEX ) {
  949.           (void) fprintf (f, "\\cr");
  950.       }
  951. +     else if ( tbl_style == FRAME ) {
  952. +         fprintf(f,"   > # end of Row\n");
  953. +     }
  954.       (void) fprintf (f,"\n");
  955.       }
  956.   
  957. ***************
  958. *** 955,960 ****
  959. --- 1045,1059 ----
  960.       (void) fprintf (f,"!end<tabular>\n%% ** end of %s spreadsheet output\n", progname);
  961.       else if ( tbl_style == TEX )
  962.       (void) fprintf (f,"}\n%% ** end of %s spreadsheet output\n", progname);
  963. +     else if ( tbl_style == FRAME ) {
  964. +     fprintf(f,"  > # end of TblBody\n");
  965. +     fprintf(f," ># end of Tbl\n");
  966. +     fprintf(f,"> # end of Tbls\n");
  967. +     fprintf(f,"<TextFlow <Para \n");
  968. +     fprintf(f,"  <PgfTag Body> \n");
  969. +     fprintf(f,"  <ParaLine <ATbl 1>> # Reference to table ID 1\n");
  970. +     fprintf(f,">>\n");
  971. +     }
  972.   
  973.       closeout(f, pid);
  974.   }
  975. *** ../620/crypt.c    Thu May  7 16:22:10 1992
  976. --- crypt.c    Fri May  8 12:31:19 1992
  977. ***************
  978. *** 2,8 ****
  979.    * Encryption utilites
  980.    * Bradley Williams    
  981.    * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
  982. !  * $Revision: 6.20 $
  983.    */
  984.   
  985.   #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
  986. --- 2,8 ----
  987.    * Encryption utilites
  988.    * Bradley Williams    
  989.    * {allegra,ihnp4,uiucdcs,ctvax}!convex!williams
  990. !  * $Revision: 6.21 $
  991.    */
  992.   
  993.   #if !defined(VMS) && !defined(MSDOS) && defined(CRYPT_PATH)
  994. *** ../620/format.c    Thu May  7 16:22:11 1992
  995. --- format.c    Fri May  8 13:40:26 1992
  996. ***************
  997. *** 3,9 ****
  998.    * Mark Nagel <nagel@ics.uci.edu>
  999.    * 20 July 1989
  1000.    *
  1001. !  * $Revision: 6.20 $
  1002.    *
  1003.    * bool
  1004.    * format(fmt, num, buf, buflen)
  1005. --- 3,9 ----
  1006.    * Mark Nagel <nagel@ics.uci.edu>
  1007.    * 20 July 1989
  1008.    *
  1009. !  * $Revision: 6.21 $
  1010.    *
  1011.    * bool
  1012.    * format(fmt, num, buf, buflen)
  1013. ***************
  1014. *** 489,495 ****
  1015.    * format is used.  The formats are:         example
  1016.    *    0:   Fixed point (default)             0.00010
  1017.    *    1:   Scientific                        1.00E-04
  1018. !  *    2:   Engineering                       100.00u
  1019.    *
  1020.    * The format command 'f' now uses three values.  The first two are the
  1021.    * width and precision, and the last one is the format value 0, 1, or 2 as
  1022. --- 489,495 ----
  1023.    * format is used.  The formats are:         example
  1024.    *    0:   Fixed point (default)             0.00010
  1025.    *    1:   Scientific                        1.00E-04
  1026. !  *    2:   Engineering                       100.00e-06
  1027.    *
  1028.    * The format command 'f' now uses three values.  The first two are the
  1029.    * width and precision, and the last one is the format value 0, 1, or 2 as
  1030. ***************
  1031. *** 499,507 ****
  1032.    * resulting string is too long to fit into the passed buffer, the
  1033.    * function returns false.  Otherwise the function returns true.
  1034.    *
  1035. !  * When a number is formatted as engineering and is outside of the range
  1036. !  * of typically used engineering exponents, the format reverts to
  1037. !  * scientific.
  1038.    *
  1039.    * To preserve compatability with old spreadsheet files, the third value
  1040.    * may be missing, and the default will be fixed point (format 0).
  1041. --- 499,506 ----
  1042.    * resulting string is too long to fit into the passed buffer, the
  1043.    * function returns false.  Otherwise the function returns true.
  1044.    *
  1045. !  * When a number is formatted as engineering and is outside of the range,
  1046. !  * the format reverts to scientific.
  1047.    *
  1048.    * To preserve compatability with old spreadsheet files, the third value
  1049.    * may be missing, and the default will be fixed point (format 0).
  1050. ***************
  1051. *** 518,525 ****
  1052.   #define REFMTDATE    3
  1053.   #endif
  1054.   
  1055. - char engmult[] = "afpnum kMGT";
  1056.   bool
  1057.   engformat(fmt, width, lprecision, val, buf, buflen)
  1058.   int fmt; 
  1059. --- 517,522 ----
  1060. ***************
  1061. *** 529,534 ****
  1062. --- 526,537 ----
  1063.   char *buf;
  1064.   int buflen;
  1065.   {
  1066. +   static char *engmult[] = {
  1067. +       "-18", "-15", "-12", "-09", "-06", "-03",
  1068. +       "+00",
  1069. +       "+03", "+06", "+09", "+12", "+15", "+18"
  1070. +   };
  1071.     int engind = 0;
  1072.     double engmant, pow(), engabs, engexp;
  1073.     if (buflen < width) return (false);
  1074. ***************
  1075. *** 557,563 ****
  1076.         if ((engabs >= 1e6) && (engabs < 1e9 )) engind=8;
  1077.         if ((engabs >= 1e9) && (engabs < 1e12 )) engind=9;
  1078.         if ((engabs >= 1e12) && (engabs < 1e15 )) engind=10;
  1079. !       if ((engabs <1e-18) || (engabs >=1e15))
  1080.         {
  1081.         /* Revert to floating point */
  1082.           (void) sprintf(buf,"%*.*E", width, lprecision, val);
  1083. --- 560,568 ----
  1084.         if ((engabs >= 1e6) && (engabs < 1e9 )) engind=8;
  1085.         if ((engabs >= 1e9) && (engabs < 1e12 )) engind=9;
  1086.         if ((engabs >= 1e12) && (engabs < 1e15 )) engind=10;
  1087. !       if ((engabs >= 1e15) && (engabs < 1e18 )) engind=11;
  1088. !       if ((engabs >= 1e18) && (engabs < 1e21 )) engind=12;
  1089. !       if ((engabs <1e-18) || (engabs >=1e21))
  1090.         {
  1091.         /* Revert to floating point */
  1092.           (void) sprintf(buf,"%*.*E", width, lprecision, val);
  1093. ***************
  1094. *** 566,572 ****
  1095.         {
  1096.           engexp= (double) (engind-6)*3;
  1097.           engmant= val/pow(10.0e0,engexp);
  1098. !         (void) sprintf(buf,"%*.*f%c", width-1,
  1099.                         lprecision, engmant, engmult[engind]);
  1100.         }
  1101.       }
  1102. --- 571,577 ----
  1103.         {
  1104.           engexp= (double) (engind-6)*3;
  1105.           engmant= val/pow(10.0e0,engexp);
  1106. !         (void) sprintf(buf,"%*.*fe%s", width-4,
  1107.                         lprecision, engmant, engmult[engind]);
  1108.         }
  1109.       }
  1110. *** ../620/gram.y    Thu May  7 16:22:11 1992
  1111. --- gram.y    Fri May  8 12:31:22 1992
  1112. ***************
  1113. *** 9,15 ****
  1114.    *
  1115.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  1116.    *
  1117. !  *        $Revision: 6.20 $
  1118.    */
  1119.   
  1120.   
  1121. --- 9,15 ----
  1122.    *
  1123.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  1124.    *
  1125. !  *        $Revision: 6.21 $
  1126.    */
  1127.   
  1128.   
  1129. ***************
  1130. *** 146,151 ****
  1131. --- 146,152 ----
  1132.   %token K_LATEX
  1133.   %token K_SLATEX
  1134.   %token K_TEX
  1135. + %token K_FRAME
  1136.   %token K_RNDINFINITY
  1137.   %token K_MYROW
  1138.   %token K_MYCOL
  1139. ***************
  1140. *** 155,160 ****
  1141. --- 156,162 ----
  1142.   %token K_CRCOL
  1143.   %token K_ROWLIMIT
  1144.   %token K_COLLIMIT
  1145. + %token K_NUMITER
  1146.     
  1147.   %left '?' ':'
  1148.   %left '|'
  1149. ***************
  1150. *** 373,378 ****
  1151. --- 375,381 ----
  1152.       | '@' K_MYROW            { $$ = new(MYROW, ENULL, ENULL);}
  1153.       | '@' K_MYCOL            { $$ = new(MYCOL, ENULL, ENULL);}
  1154.       | '@' K_COLTOA '(' e ')'    { $$ = new(COLTOA, ENULL, $4);}
  1155. +     | '@' K_NUMITER            { $$ = new(NUMITER, ENULL, ENULL);}
  1156.       ;
  1157.   
  1158.   /* expressions */
  1159. ***************
  1160. *** 466,471 ****
  1161. --- 469,475 ----
  1162.       |    K_TBLSTYLE '=' K_LATEX    { tbl_style = LATEX; }
  1163.       |    K_TBLSTYLE '=' K_SLATEX    { tbl_style = SLATEX; }
  1164.       |    K_TBLSTYLE '=' K_TEX    { tbl_style = TEX; }
  1165. +     |    K_TBLSTYLE '=' K_FRAME    { tbl_style = FRAME; }
  1166.       |    K_RNDINFINITY        { rndinfinity = 1; FullUpdate++; }
  1167.       |    '!' K_RNDINFINITY    { rndinfinity = 0; FullUpdate++; }
  1168.       |    K_CRACTION '=' NUMBER    { craction = $3; }
  1169. *** ../620/help.c    Thu May  7 16:22:13 1992
  1170. --- help.c    Fri May  8 12:31:24 1992
  1171. ***************
  1172. *** 2,14 ****
  1173.    * Help functions for sc 
  1174.    * R. Bond, 1988
  1175.    * J. Buhrt 1990
  1176. !  * $Revision: 6.20 $
  1177.    */
  1178.   
  1179.   #ifdef QREF
  1180.   #include <stdio.h>
  1181.   char    *header = " Quick Reference";
  1182. ! char    *revision = "$Revision: 6.20 $";
  1183.   #else
  1184.   #include <curses.h>
  1185.   #include "sc.h"
  1186. --- 2,14 ----
  1187.    * Help functions for sc 
  1188.    * R. Bond, 1988
  1189.    * J. Buhrt 1990
  1190. !  * $Revision: 6.21 $
  1191.    */
  1192.   
  1193.   #ifdef QREF
  1194.   #include <stdio.h>
  1195.   char    *header = " Quick Reference";
  1196. ! char    *revision = "$Revision: 6.21 $";
  1197.   #else
  1198.   #include <curses.h>
  1199.   #include "sc.h"
  1200. *** ../620/interp.c    Thu May  7 16:22:14 1992
  1201. --- interp.c    Fri May  8 12:31:27 1992
  1202. ***************
  1203. *** 7,13 ****
  1204.    *
  1205.    *              More mods Robert Bond, 12/86
  1206.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1207. !  *        $Revision: 6.20 $
  1208.    */
  1209.   
  1210.   #define DEBUGDTS 1        /* REMOVE ME */
  1211. --- 7,13 ----
  1212.    *
  1213.    *              More mods Robert Bond, 12/86
  1214.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1215. !  *        $Revision: 6.21 $
  1216.    */
  1217.   
  1218.   #define DEBUGDTS 1        /* REMOVE ME */
  1219. *** ../620/lex.c    Thu May  7 16:22:16 1992
  1220. --- lex.c    Fri May  8 12:31:28 1992
  1221. ***************
  1222. *** 7,13 ****
  1223.    *
  1224.    *              More mods Robert Bond, 12/86
  1225.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  1226. !  *        $Revision: 6.20 $
  1227.    *
  1228.    */
  1229.   
  1230. --- 7,13 ----
  1231.    *
  1232.    *              More mods Robert Bond, 12/86
  1233.    *        More mods by Alan Silverstein, 3/88, see list of changes.
  1234. !  *        $Revision: 6.21 $
  1235.    *
  1236.    */
  1237.   
  1238. *** ../620/psc.c    Thu May  7 16:22:16 1992
  1239. --- psc.c    Fri May  8 12:31:29 1992
  1240. ***************
  1241. *** 17,23 ****
  1242.    *  Author: Robert Bond
  1243.    *  Adjustments: Jeff Buhrt and Eric Putz
  1244.    */
  1245. ! char *rev = "$Revision: 6.20 $";
  1246.   
  1247.   #include <ctype.h>
  1248.   #include <stdio.h>
  1249. --- 17,23 ----
  1250.    *  Author: Robert Bond
  1251.    *  Adjustments: Jeff Buhrt and Eric Putz
  1252.    */
  1253. ! char *rev = "$Revision: 6.21 $";
  1254.   
  1255.   #include <ctype.h>
  1256.   #include <stdio.h>
  1257. *** ../620/range.c    Thu May  7 16:22:17 1992
  1258. --- range.c    Fri May  8 12:31:29 1992
  1259. ***************
  1260. *** 4,10 ****
  1261.    *
  1262.    *              Robert Bond, 4/87
  1263.    *
  1264. !  *        $Revision: 6.20 $
  1265.    */
  1266.   
  1267.   #include <sys/types.h>
  1268. --- 4,10 ----
  1269.    *
  1270.    *              Robert Bond, 4/87
  1271.    *
  1272. !  *        $Revision: 6.21 $
  1273.    */
  1274.   
  1275.   #include <sys/types.h>
  1276. *** ../620/sc.c    Thu May  7 16:22:18 1992
  1277. --- sc.c    Fri May  8 12:31:31 1992
  1278. ***************
  1279. *** 8,14 ****
  1280.    *              More mods Robert Bond, 12/86
  1281.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1282.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1283. !  *        $Revision: 6.20 $
  1284.    *
  1285.    */
  1286.   
  1287. --- 8,14 ----
  1288.    *              More mods Robert Bond, 12/86
  1289.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1290.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1291. !  *        $Revision: 6.21 $
  1292.    *
  1293.    */
  1294.   
  1295. *** ../620/sc.h    Thu May  7 16:22:19 1992
  1296. --- sc.h    Fri May  8 12:31:32 1992
  1297. ***************
  1298. *** 6,12 ****
  1299.    *            University of Maryland
  1300.    *        R. Bond  12/86
  1301.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1302. !  *        $Revision: 6.20 $
  1303.    *
  1304.    */
  1305.   
  1306. --- 6,12 ----
  1307.    *            University of Maryland
  1308.    *        R. Bond  12/86
  1309.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1310. !  *        $Revision: 6.21 $
  1311.    *
  1312.    */
  1313.   
  1314. *** ../620/screen.c    Thu May  7 16:22:20 1992
  1315. --- screen.c    Fri May  8 12:31:33 1992
  1316. ***************
  1317. *** 8,14 ****
  1318.    *              More mods Robert Bond, 12/86
  1319.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1320.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1321. !  *        $Revision: 6.20 $
  1322.    *
  1323.    */
  1324.   
  1325. --- 8,14 ----
  1326.    *              More mods Robert Bond, 12/86
  1327.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1328.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1329. !  *        $Revision: 6.21 $
  1330.    *
  1331.    */
  1332.   
  1333. *** ../620/version.c    Thu May  7 16:22:20 1992
  1334. --- version.c    Fri May  8 12:31:33 1992
  1335. ***************
  1336. *** 4,7 ****
  1337.    * The part after the first colon, except the last char, appears on the screen.
  1338.    */
  1339.   
  1340. ! char *rev = "$Revision: 6.20 $";
  1341. --- 4,7 ----
  1342.    * The part after the first colon, except the last char, appears on the screen.
  1343.    */
  1344.   
  1345. ! char *rev = "$Revision: 6.21 $";
  1346. *** ../620/vi.c    Thu May  7 16:22:20 1992
  1347. --- vi.c    Fri May  8 12:31:34 1992
  1348. ***************
  1349. *** 1,7 ****
  1350.   /*    SC    A Spreadsheet Calculator
  1351.    *
  1352.    *    One line vi emulation
  1353. !  *    $Revision: 6.20 $
  1354.    */
  1355.   
  1356.   #include <sys/types.h>
  1357. --- 1,7 ----
  1358.   /*    SC    A Spreadsheet Calculator
  1359.    *
  1360.    *    One line vi emulation
  1361. !  *    $Revision: 6.21 $
  1362.    */
  1363.   
  1364.   #include <sys/types.h>
  1365. *** ../620/vmtbl.c    Thu May  7 16:22:21 1992
  1366. --- vmtbl.c    Fri May  8 12:31:35 1992
  1367. ***************
  1368. *** 8,14 ****
  1369.    *              More mods Robert Bond, 12/86
  1370.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1371.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1372. !  *        $Revision: 6.20 $
  1373.    *
  1374.    */
  1375.   #ifdef PSC
  1376. --- 8,14 ----
  1377.    *              More mods Robert Bond, 12/86
  1378.    *        More mods by Alan Silverstein, 3-4/88, see list of changes.
  1379.    *        Currently supported by sequent!sawmill!buhrt (Jeff Buhrt)
  1380. !  *        $Revision: 6.21 $
  1381.    *
  1382.    */
  1383.   #ifdef PSC
  1384. *** ../620/xmalloc.c    Thu May  7 16:22:21 1992
  1385. --- xmalloc.c    Fri May  8 12:31:35 1992
  1386. ***************
  1387. *** 1,6 ****
  1388.   /*
  1389.    * A safer saner malloc, for careless programmers
  1390. !  * $Revision: 6.20 $
  1391.    */
  1392.   
  1393.   #include <stdio.h>
  1394. --- 1,6 ----
  1395.   /*
  1396.    * A safer saner malloc, for careless programmers
  1397. !  * $Revision: 6.21 $
  1398.    */
  1399.   
  1400.   #include <stdio.h>
  1401.