$Id: CHANGES,v 1.7 1997/08/12 03:04:58 phil Exp $


For detailed revision history see History file

Changes since 0.99.3 release;
============================

	DATE() function takes an argument (per Catspaw SPITBOL)

	autoconf script takes --add-{cppflags,ldflags,objs,opt,srcs} options

	Support for LOAD() using dynamic libraries
		(works on SunOS4, SunOS5, IRIX, Digital Unix, Linux, NetBSD)
		Tentative support for HP-UX

	Speedups for BREAK(), BREAKX(), SPAN(), ANY(), and NOTANY()

	Cleaned up generated C code for function calls

	Trim tabs as well as spaces (&TRIM and TRIM())

	timing script reports hardware info on BSD, HP, Linux systems

	Floating point I/O;
		exponents allowed without decimals (ie; 1e10)
		'd' exponents removed; did not work
		will now output exponents

	Fixed getstring() with null string

	I/O changes;
		'T' mode implies unbuffered output for terminal prompts
		new magic path /dev/fd/N
		characters in excess of record length discarded on read
		New IO_FINDUNIT() function
		Unit numbers up to 256 now allowed

	Compiler line length uppped from 132 to 1024

	Allow long command lines to be passed via HOST(0) and &PARM

	Allow long strings returned from LOAD()'ed functions

Changes since 0.99.2 release;
============================

	Added OpenBSD to "autoconf"

	Ported back to HP-UX 7, DOS/Borland

	Fixed bug with EVAL() of long strings

	Fixed autoconf to handle bad strings.h (Solaris 2.4)

Changes since 0.99.1 release;
============================

	Portability/autoconfig improvements

	Added magic "/udp" pathname for UDP data

	Debugged "update" I/O

	Added functions to allow writing I/O subroutines to be
		added via "Poor Man's Load" (PML)

Changes since 0.99 release;
==========================

	Added I/O options (binary, noecho, etc)

	Added config file for 64-bit IRIX
		(64-bit integers, double-precision reals)

	Added magic "/tcp" pathname for opening TCP connections

	Fixed bugs with syntax errors detected by CODE() or EVAL()

	Syntax errors in CODE() or EVAL() set &ERRTEXT

	Fixed bugs with REWIND()

Changes since 0.91.2 release;
============================

Command line additions;
	command line arguments available to user (via HOST(2,n) and &PARM)
	-h gives help/usage
	-n toggles EXECUTE/NOEXECUTE setting
	-p toggles SPITBOL operators (enabled by default)
	-u passes argument string (for HOST(0))
	-P controls size of pattern match stack
	-M option required to compile multiple source files

Bugs fixed;
	lexical comparison of a string with a shorter prefix
	ANY() NOTANY() BREAK() SPAN() with 8-bit data
	removed trailing spaces in listings
	case folding handled properly in all contexts requiting NAMEs
	tabs handled properly in error messages

Other Changes;
	case folding always enabled in control card processing
	source file and line included in error messages
	new error messages for bad -INCLUDE lines
	PUNCH I/O variable removed

SPITBOL compatible features added;
	&ERRTEXT system variable
	&LINE, &FILE, &LASTLINE and &LASTFILE system variables
	&STLIMIT defaults to -1 (no limit)
	-EXECUTE/-NOEXECUTE control cards
	-LINE control card
	, alternation construct; (exp1, exp2, ....)
	= (assignment) operator
	? (scan) operator
	BREAKX() function
	CHAR() function
	EXIT() function (partial support)
	HOST() function
	LEQ(), LNE(), LLT(), LLE() and LGE() functions
	LPAD() and RPAD() functions
	NUMERIC type in CONVERT()
	REVERSE() function
	SORT() and RSORT() functions
	SQRT() function
	SUBSTR() function
	TERMINAL I/O variable
	leading spaces ignored when CONVERT()'ing to REAL and INTEGER

SNOBOL4+ compatible features added;
	&PARM system variable
	-PLUSOPS control card
	CHOP() function
	EXP() and LOG() functions
	FREEZE() and THAW() functions

SITBOL compatible features added;
	FILE() DELETE() and RENAME() functions

Other features added;
	Automatic LOAD()'ing of linked-in external C functions available
	REALs are double precision on Alpha under Digital Unix

IMPORTANT for users of versions prior to 0.99;
=============================================
	Configuration is now automatic.  DO NOT create config.m4 by
	hand!  some systems no longer have system specific config files.

	SPITBOL operators are enabled by default, this causes problems
	for the (very) rare program that OPSYN's the "?" binary operator!

	The PUNCH variable is no longer available; use TERMINAL.

	-d option takes size in bytes, not descriptors.
