This is a much modified version of the public domain spread sheet sc,
originally by James Gosling, and posted a number of years ago by Mark
Weiser as vc.

The current maintainer is Chuck Martin (cmartin@bigfoot.com), at least
for a little while, anyway.  I wanted to fix the Y2K problem (the @dts
function didn't accept years after 1999) and while I was at it, I found
and fixed a few other bugs.  While studying the code, I thought of a few
other features and enhancements I could add, and eventually released it
as version 7.1 in December of 1999 (actually, there was a version 7.0
that I found out had a couple of serious bugs after uploading it to
ftp.cdrom.com, but before it became available for download, so I nixed
it and released 7.1).  I wanted to add a few more features before
distributing the new version, but with the year 2000 rapidly approaching,
I decided to release it as is.

Here it is, March of 2000, more bugs have been fixed, more features added,
and a few other changes, and I decided to release it as version 7.2,
but there are still features I want to add.  That means there will be
at least one more release with me as the maintainer, and probably more.
After that, I'll play it by ear.  As long as it doesn't take too much
time away from other, more pressing things, I'm willing to continue to
maintain it.  If you find any bugs or would like to contribute patches,
please send them to me.  If they're useful and they work, I'll probably
add them.  I prefer to keep it simple, though, since that's what drew
me to sc instead of some other "full-featured" spreadsheet in the first
place.  I like the Unix philosophy of making each program do one thing
and do it well, and would rather leave all the fancy graphics and other
features to other programs that are better suited for them.


IMPORTANT NOTE:

As of version 7.2, the default rounding method has been changed.  The
former default, round-to-even, aka banker's rounding, is still available,
but is no longer the default, since I don't believe most people round
this way, nor do they expect this type of rounding.  If you have older
spreadheets that require it, start sc with the -e option on the command
line.  Older spreadsheets that explicitly set rndinfinity will produce
an error while loading because rndinfinity no longer exists, having been
replaced by rndtoeven, which works exactly opposite to rndinfinity.  The
error is harmless, and the results will still be what you expect, due to
the changed default.  Resaving the file will eliminate the error on
subsequent loads.


More Changes:

The CHANGES file lists the changes since 6.1 to 7.2.  Unfortunately, none
of my changes to date were on the TODO list.  Instead, I've ended up
adding two more items to the list.  Oh well, maybe I can get to some of
those for a later version (or someone else can).


Compiling the program:

Before you compile, make sure to check the Makefile and uncomment the
lines that pertain to your system and comment out the lines for Linux
(which is the default, since that's what I run).  I haven't tried
compiling or running sc on anything besides Linux (Slackware 4.0),
so I hope I haven't broken anything.  If you get it to compile and run
on something else, please let me know.  If it doesn't work and you can
fix it, please send me a patch.  If you have problems with lex.c, and
don't care about arrow keys, define SIMPLE (-DSIMPLE in the makefile).
SIMPLE causes the arrow keys to not be used.

If you have problems with your yacc saying: too many terminals ...127...
find a different yacc: bison, Berkeley yacc, Pd yacc, etc. AT&T's Sys V
yacc has small, fixed sized tables.  SCO will allow dynamic yacc tables
when given the correct flags.

After you get it built, if you aren't familiar with sc, you might want
to try "sc tutorial.sc" for a simple introduction to the basic commands.
Most of the key bindings are patterned after the vi text editor, so if
you're familiar with that program or its variants, you shouldn't have
any problems learning sc.

If you've used sc before, you may want to check out the CHANGES file
to see what's changed, and read the man page for more details.

To print a quick reference card, type the command:
	scqref | [your_printer_commmand]

If you have the command 'file' that uses /etc/magic, and it isn't there
already, you may want to add the following lines:

# sc:  file(1) magic for "sc" spreadsheet
#
38	string		Spreadsheet	sc spreadsheet file

Psc formats ascii files for use in the spreadsheet.  If you don't have
getopts, there is a public domain version by Henry Spencer hidden away in
the VMS_NOTES file (or so the previous README said--I haven't looked at
it myself).

If you'd like to rename the program to something different, just change
"name=sc" and "NAME=SC" to "name=myfavoritename" and "NAME=MYFAVORITENAME"
and try "make myfavoritename".  (Does anyone need or use this?  If so,
please let me know.  Otherwise, I may remove that capability in a future
version, since it seems to me that it reduces confusion if everyone
refers to the program by the same name, and I don't know of any other
programs called sc that would cause a naming conflict.)

Similarly, you can make the documentation with "make myfavoritename.man".
"make install" will make and install the code in EXDIR.  The
installation steps and documentation all key off of the name.  The
makefile even changes the name in the nroffable man page.  If you don't
have nroff, you will have to change sc.man yourself.


Finding the latest version:

I uploaded version 7.1 to ftp.cdrom.com.  That whole archive has since
been moved to ftp.freesoftware.com, and that is most likely where all
future versions may be found.  Check the /pub/unixfreeware/math/
directory.  (ftp.freesoftware.com doesn't seem to be accepting uploads
right now, but I'll keep trying.)

Starting with version 7.2, I'll also be uploading sc to metalab.unc.edu.
It will most likely appear in /pub/Linux/apps/financial/spreadsheet.

If you can't find it, e-mail me.


Disclaimer:

sc is supplied as is with no warranty, express or implied.  It's free--
what do you expect?


Chuck Martin
(cmartin@bigfoot.com)
