$Id: History,v 1.1359 2022-03-31 19:58:27 phil Exp $

The Macro Implementation of SNOBOL4 in C (CSNOBOL4) history

3/31/2022:
	configure: change version to 2.3.1

3/31/2022:
	doc/snolib.3.pea: update

3/31/2022:
	include/snotypes.h: fix 32-bit compilation!
		reported by Neil Rowe

*** 2.3 (tag REL_2_3)

3/25/2022:
	LOTS: switch to regressive.org for web & mail
	configure: change version to 2.3

2/14/2022:
	configure: change version to 2.2.2+

2/14/2022:
	EXPERIMENTAL: allow 64-bit V field on LP64 for Dani Richard
	configure: add --xxl (defines VFLD_T as unsigned long)
	v311.sil: [PLB132] use PCOMP for SIZLMT tests
	include/snotypes.h: add comment for 64-bit v field
	lib/snolib/handle.c: use VFLD_T for handle_datatype_t

1/26/2022:
	doc/snobol4func.1.pea: Fix description of COPY.

12/8/2021:
	pkg/win32/maketar.bat: add "if exist" before rmdir

*** 2.2.2 (tag REL_2_2_2)

12/8/2021:
	configure: change version to 2.2.2

12/8/2021:
	include/msvc/vars.h: add $v to VARS (v between a and z)

12/4/2021:
	COPYRIGHT, README: Update Copyright years

11/20/2021:
	lib/snolib/getstring.c: add nmgetstring (check for, return NULL)
	include/load.h: add nmgetstring prototype
	Use nmgetstring in places checking for NULL before OR after
	    (may cure some SMALL memory leaks (after a malloc failure?)
		lib/snolib/file.c, modules/digest/digest.c
		modules/ffi/ffi.c, modules/sqlite3/sqlite3mod.c
		modules/time/time.c

11/18/2021:
	configure: add support for DragonFly (reported by Harald Arnesen)

*** 2.2.2-pre1 (tag REL_2_2_2_PRE1)

11/17/2021:
	configure: change version to 2.2.2-pre1

7/7/2021:
	doc/snobol4func.1.pea: improve TRACE function info

6/10/2021:
	INSTALL: note parallel make fails (suggested by hacksaw)
		remove note about "time" package requirement

2/28/2021:
	Makefile2.m4: add (back) man directory creation
		(reported by Rafal M. Sulejman)

2/6/2021:
	modules/ffi/ffi.c: fix for Solus Linux (reported by Neil Rowe)

1/25/2021:
	configure/check: honor CPPFLAGS environment variable
		(set by FreeBSD ports framework with USE=readline)

1/24/2021:
	configure: add --without-lib{edit,readline}

1/14/2021:
	.cvsignore file additions
	update TODO.soon

1/10/2021:
	snolib/ezio.sno: avoid ENDFILE(null)

1/1/2021!
	snolib/setuputil.sno: add help to usage message (12/18/2020)
	Makefile2.m4: add debug_modules (12/21/2020)

12/23/2020:
	lib/snolib/file.c, pml.h: add FILE_LIB_FIND

12/20/2020:
	lib/init.c: add -z to usage

12/19/2020:
	INSTALL: Add --with(out)-docs

*** 2.2.1 (tag REL_2_2_1)

12/19/2020:
	Makefile2.m4: use ../../snobol4 in RUNMAKE, flush PATH
		caused heartburn under cygwin?

12/18/2020:
	configure: display bad option; add --with-docs to help
		output MAN_COMPRESS to config.sno
		update to version 2.2.1 (51 years since SNOBOL4 v3.7)
	Makefile2.m4: define/use INSTALL_MAN_PAGES macro
	snolib/setuputil.sno: honor MAN_COMPRESS
	config/win32/linux-mingw.sh: update SNOBOL4 for new Makefile.mod
	config/win32/mingw.mak: comments

12/17/2020:
	configure: add --with-docs, so symmetric for FreeBSD ports

12/16/2020:
	doc/snobol4.1.pea: add snobol4load
	doc/snobol4load.3.pea: clean up, add snopea to example
	doc/snopea.7.pea: add \=
	snolib/snopea.sno: add \=
	snolib/setuputil.sno: add snopea docs for modulename.sno output

12/15/2020:
	configure: check for compressed man pages
	Makefile2.m4: man page compression
		remove lint
		savage GENERATED_DOCS
		don't install load.txt
	Makefile: cleanup, add comments

12/14/2020:
	doc/snobol4load.3.pea (new), from load.txt
	doc/Makefile: add snobol4load.3

12/13/2020:
	configure: add --without-docs, remove SNOBIN
	Makefile2.m4: honor INSTALL_DOCS

12/12/2020:
	Makefile2.m4: pass -N/-I to module makes in SNOBOL4
	modules/Makefile.mod: default SNOBOL4 to snobol, remove INC

12/12/2020:
	Makefile: clean removes module .dll files
		add install_notiming
	setuputil.sno: honor -v for test
	modules/Makefile.mod: test_verbose (test w/ -v)
		run snobol4 from PATH
		add/use IN
		remove SNOBOL4 from IN
		make OUT/debug depend on IN
	modules/*/Makefile: add test_verbose
	modules/base64/test.sno: remove /dev/tty output
	configure Makefile2.m4: use for loop for module actions
		pass PATH in for snobol4 binary
		flush MODULES_GENERATED
		copy xsnobol4 to snobol4 before module tests
		add install_notiming

12/10/2020:
	Makefile2.m4: create relative links, per FreeBSD port

12/5/2020:
	modules/fork/fork.c, modules/sprintf/sprintf.c: fix NAME line

*** 2.2 (tag REL_2_2)

12/5/2020:
	configure, lib/snolib/host.h: change version to 2.2

11/30/2020:
	timing: add /bin/kenv for smbios on FreeBSD

11/27/2020:
	lib/openssl/tlsio_obj.c: TLS1_3_VERSION not in 1.1.0
		found by Harald Arnesen on OpenBSD w/ LibreSSL

11/26/2020:
	snolib/{http,tcp,url}.sno: add https URL support
	lib/io.c: allow binary read less than full recl
		Thanks to Burkhard Meißner!
	lib/openssl/tlsio_obj.c: remove SSL_VERIFY_FAIL_IF_NO_PEER_CERT	
		(for server use?)

11/25/2020:
	modules/com/com.cpp: turn off DEBUG
		try (again) to quiet format warnings

*** 2.2-pre3 (tag REL_2_2_PRE3)

11/22/2020:
	configure: change version to 2.2-pre3
	doc/snobol4io.1.pea: verify verbiage

11/21/2020:
	lib/compio_obj.c: fix compression level
	lib/io.c: comments, disable recl warning

11/20/2020:
	doc/snobol4io.1.pea: add /tls
	modules/digest/digest.c: add docs for snobol4digest.3

11/19/2020:
	Add inet "verify" option for TLS
	tlsio_obj.c: add SSL_CTX_set_options, SSL_CTX_set_min_proto_version,
		optional: SSL_CTX_set_verify

11/18/2020:
	LOTS: Quash -Wextra warnings
	configure: add -Wno-unused-parameter

11/17/2020:
	Implement TLS I/O
	Makefile2.m4: add TLSIO_OBJ_C default, tlsio_obj.o rule
	configure: check for openssl/bio.h & ssl.h, enable TLS_IO
	include/inet.h: add argument names
	include/io_obj.h: add tlsio_open()
	lib/io.c: add tlsio_open call if TLS_IO defined
	lib/stdio_obj.c: switch to str.h
	lib/bsd/inet(6).c: fix inet_socket args
	lib/dummy/inet.c: fix tcp/udp_socket flags arg
	lib/openssl/tls_io.c (new)

11/15/2020:
	Eliminate module warnings:
	modules/base64/base64.c
	modules/ffi/ffi.c
	modules/sqlite3/sqlite3mod.c
	modules/time/time.c

11/15/2020:
	Make it possible to configure to use MacPorts libraries
	INSTALL: update
	Makefile2.m4: add ADD_SNOBOL4_LDFLAGS macro,
		add CONFIG_CPPFLAGS, LDFLAGS variables
		define CONFIG_{C,CPP,LD}FLAGS for host.o
	configure: add --add-snobol4-ldflags to use ADD_SNOBOL4_LDFLAGS
		convert most ADD_LDFLAGS to ADD_SNOBOL4_LDFLAGS
		export LDFLAGS for config/check
	config/check: use LDFLAGS environment variable
	include/module.h: eliminate warning from DECLARE_MODULE
	host.[ch]: add HOST_CONFIG_{C,CPP,LD}FLAGS
	module/dirs/dirs.c, module/stat/stat.c: eliminate unused variables
	snolib/setuputil.sno: fetch, use HOST_CONFIG_{C,CPP,LD}FLAGS

11/14/2020:
	modules/zlib (new)
	configure: add zlib module

11/14/2020:
	modules/sqlite3/sqlite3mod.c: use sqlite3_prepare for old sqlite

11/13/2020:
	modules/digest: revamp using EVP, digest lookup by name
		makes SHA3 algorithms available
		tweak to build on OpenSSL older than 1.1.0
	configure: tweak to build on OpenSSL older than 1.1.0

11/12/2020:
	configure: test for SHA512 in libcrypto for digest module
	modules/digest (new): MD5, SHA{1,224,256,384,512}
	modules/*/Makefile: add debug
	modules/Makefile.mod: add debug target

11/12/2020:
	lib/compio_obj.c, lib/io.c: Implement compression level
	    (digit after compression option)
	Makefile2.m4: fix "make install" problem reported by Phillip Thomas
	snolib/setuputil.sno: copy lines bracketed by *=snobol4 and *=cut
	doc/snobol4func.1.pea: document EXTERNAL_{DATATYPE,MODULE_{NAME,PATH}}
	doc/snobol4io.1.pea: document compression options

11/11/2020:
	Implement compressed file I/O as an I/O object layer
	configure: detect libz, bzip2, lzma libraries
	lib/compio_obj.c (new)
	lib/io.c: add file compression
		make ioo_close public
	include/compio_obj.h (new)
	include/io_obj.h: add ioo_close

11/11/2020:
	lib/loadx.c: keep lib name & path, add EXTERNAL_MODULE_{NAME,PATH}
	pml.h: add EXTERNAL_MODULE_{NAME,PATH}

11/10/2020:
	modules/fork/fork.c: add GETPID, GETPPID
	lib/bsd/inet.c: fix typo

11/10/2020:
	snolib/setuputil.sno: Fix for MSYS2
	configure: define IMPORT/EXPORT on Cygwin/MSYS

11/10/2020:
	Revamp module ABI once again!
	Create SNOBOL4_MODULE macro, no more mod_xxx.c
	Create module_instance_private
	Makefile.m4: remove MOD_SUPPORT_SRC install
	modules/random/test.sno
	configure: remove MOD_SUPPORT_SRC
	config/win32/config.sno: remove MOD_SUPPORT_SRC
	include/handle.h: remove new_handle
	include/lib.h: add module(_instance)_{init,cleanup}
	include/module.h: add get_module_instance method
		replace htlist with module_instance_private
		add SNOBOL4_MODULE macro
	lib/loadx.c: EXTERNAL_DATATYPE returns module|type
		pass original name/path to libopen, save as name
		check oslib pointers for dups
	lib/snolib/handle.c: add module_instance_private
		remove new_handle
		add handle_cleanup_tables
	snolib/setuputil.c: remove MOD_SUPPORT_SRC

11/8/2020:
	Revamp module ABI, again; create EXTERNAL_DATATYPE
	pml.h: add EXTERNAL_DATATYPE
	include/handle.h: new_handle2: take modinst again
	include/lib.h: add handle_table_name
	include/module.h: remove unused prev from struct lib
	lib/loadx.c: do os_find_symbol for "module"
		add EXTERNAL_DATATYPE
	lib/stdio_obj.c: put 'b' second for glibc 2.9 thru 21 fmemopen
	lib/bsd/load.c: put in crock for module lookup (time to kill it?)
	lib/snolib/handle.c: debug to stderr
		new_handle2: take modinst again
		add handle_table_name
		module_(instance_){init,cleanup} no longer SNOLOAD_ABI
	module/lots/module.c: add SNOBOL4_MODULE invocations
		pick presentable table names
	modules/com/com.cpp: change INTEGER to EXTERNAL in LOAD calls
	modules/dirs/dirs.c: change INTEGER to EXTERNAL in LOAD calls
	modules/random/random.c: try /dev/urandom before /dev/random
		shift usec or nsec up to cover high order bits
	pkg/win32/install.bat: "C:\Program Files\SNOBOL4
	snolib/sdb.sno: don't display RETVAL on FRETURN

11/6/2020:
	configure: Try treating MSYS same as CYGWIN

11/6/2020:
	include/lib.h: fix find_snolib_directory

*** 2.2-pre2 (tag REL_2_2_PRE2)

11/6/2020:
	configure: change version to 2.2-pre2

11/6/2020:
	Try to find library directory on Windows
	Makefile2.m4: add DIRNAME_C, dirname.o rule (not (yet?) used)
	configure: comment out dirname test (for now?)
	config/djgpp/Makefile: add dirname.o rule (not (yet?) used)
	config/win32/config.h: add HAVE_FIND_SNOLIB_DIRECTORY
		add NEED_DIRNAME (MSVC)
		add HAVE_DIRNAME, HAVE_GETOPT (MINGW)
	config/win32/mingw.mak: add lib/win32/dirname.c, lib/win32/findlib.c
	config/win32/ntmsvc.mak: add dirname.{c,obj} findlib.{c,obj}
	include/lib.h: add NEED_DIRNAME/dirname HAVE_FIND_SNOLIB_DIR/find_snolib_dir
	lib/init.c: pass argv[0] to pathinit, add HAVE_FIND_SNOLIB_DIR/find_snolib_dir

11/5/2020:
	Move birthtime & nsec ugliness to configure script
	configure: set STAT_CFLAGS
	modules/stat/stat.c: just depend on st_{a,c,m,birth}time(nsec) defines

11/2/2020:
	config.h: SNOLIB_BASE "C:\Program Files\SNOBOL4"
	pkg/win32/README.win32: ditto
	INSTALL: update

11/2/2020:
	config/vms/config.h: flush PML_NDBM
	lib/win32/sys.c: comments
	lib/win32/exists.c: remove UTF-16 comments

*** 2.2-pre1 (tag REL_2_2_PRE1)

10/31/2020:
	configure: change version to 2.2-pre1

10/31/2020:
	modules/Makefile.mod: make build depend on ../../config.sno

10/30/2020:
	Makefile: add tested to M2TARGETS
	doc/Makefile: add snobol4json.3[.html]
	snolib/utf.sno: use CHAR; make RUNE check for UTF-16 surrogate range
	snolib/json.sno: implement \Uxxxxxxxx
		change functions names to JSON_{EN,DE}CODE
		add documentation
		accept "null"
	test/json1.{sno,ref}: add \U test
		change function names
		add null tests

10/30/2020:
	test/loaderr.sno: add library args to LOADs
		(unloading "self" is fatal on FreeBSD 3.2!)

10/29/2020:
	Remove all use of make -C (missing in FreeBSD 3.2!)!!
	Makefile, Makefile.m4, configure

10/28/2020:
	Makefile: cleanup remove config.sno

10/27/2020:
	Makefile, Makefile2.m4: use $(MAKE) -C doc ....

10/27/2020:
	snolib/json.sno: use own hex conversions, so can test
	test/tests.in: add json1.sno
	test/json1.{sno,ref} (new): test program for json.sno

10/27/2020:
	config/win32/ntmsvc.mak: detect x64, use C99 long long conversions

10/26/2020:
	configure: back to generated build_modules list

10/26/2020:
	Makefile2.m4: remove sleep.o sdbm*.o rules

10/26/2020:
	config/win32/config.h: changed SNOLIB_BASE to C:\Program Files\CSNOBOL4
	pkg/win32/README.win32: update base

10/25/2020:
	modules/stat/stat.c: fetch OpenBSD birthtime (zero in OBSD 6.8?!)

10/25/2020:
	Implement setup.sno test command
	Makefile: add test_modules
	lib/snolib/handle.c: debug ifdefs
	modules/Makefile.mod: add SETUPOPT for debug
		use setup.sno test command!
	modules/dirs/test.sno: create & check table
	modules/sqlite3/setup.sno: add tests entry
	modules/sqlite3/sqlite3.mod: remove stmt handles!!
		test.sno: just check type_str
	modules/sqlite3/setup.sno: add tests entry
	modules/time/test.sno: fix sleep test to run faster (most of the time)
		    /generic/sleep.c: sleep a whole second if any fration given
		    /test2.sno: copied from tests/time.sno
	modules/*/*.ref (new)
	snolib/cmp.sno (new)
	snolib/setuputil.sno: add "test" command (for posix)
	test/tests.in: turned off random.sno

10/24/2020:
	configure: Solaris make doesn't have ?=

10/24/2020:
	include/load.h: "module" now a pointer
	include/module.h (new): move module ABI here, add module_init function
	lib/snolib/mod_gcc.c, mod_win32.cpp: export module pointer.
	lib/snolib/handle.c: add module_init function
	modules/dirs/dirs.c
	modules/ffi/ffi.c
	modules/ndbm/ndbm.c
	modules/sqlite3/sqlite3mod.c
	modules/stcl/stcl.c
	    module now a pointer

10/24/2020:
	configure: rename MOD_SUPPORT to MOD_SUPPORT_C
	Makefile2.m4: install MOD_SUPPORT_C in INCLUDE_DIR
	snolib/setuputil.sno: use MOD_SUPPORT_C, look in INCLUDE_DIR

10/23/2020:
	modules/random/random.c: use inttypes.h, if available
	configure: check for inttypes.h if stdint not available (FreeBSD 4.9)

10/23/2020:
	cpuid.c: gcc 2.95.4 (FreeBSD 4.9) doesn't define __GNUC_PATCHLEVEL__(!)

10/23/2020:
	Include <unistd.h> if available for ssize_t (FreeBSD 4.9!)
	include/lib.h (if getline needed)
	lib/io.c
	lib/auxil/bufio_obj.c
	lib/auxil/getline.c
	lib/auxil/memio_obj.c
	lib/bsd/ptyio_obj.c
	lib/dummy/ptyio_obj.c
	lib/posix/memio_obj.c
	lib/win32/inetio_obj.c
	lib/win32/ptyio_obj.c
	modules/base64/base64.c

10/23/2020:
	Makefile2.m4, configure: back to MODULES_GENERATED

10/22/2020:
	modules/base64/base64.c: remove debug
	configure: fix a few echo redirects
	Makefile2.m4: tested: build_modules
	modules/stat/test.c: add ST_TYPE_STR
	modules/stat/stat.c: fix S_IFSOCK

10/22/2020:
	modules/Makefile.mod: remove .so output/dependency
		(wrong when dynamic library isn't a .so file)

10/20/2020:
	turn off tests/sleep.sno tests/ndbm.sno
	modules/time/time.sno: copy of sleep.sno

10/20/2020:
	Makefile2 => modules/X/Makefile => modules/Makefile.mod
	configure: output {build,clean,install,test}_modules to config.m4
	modules/Makefile.mod (new): common makefile, has test target
	modules/*/Makefile: invoke ../Makefile.mod
	modules/{base64,dirs,logic,ndbm,sprintf,stat}/test.sno (new)

10/20/2020:
	Add FILE_NEWER (for use by setuptil.sno)
	pml.h: add FILE_NEWER
	include/lib.h: newer
	Makefile2.m4: newer.o
	config/win32/{mingw,ntmsvc}.mak: newer.o(bj)
	config/djgpp/Makefile: newer.o
	lib/generic/newer.c (new): newer function
	lib/snolib/file.c: FILE_NEWER function

10/20/2020:
	configure: deal with OSX stat st_Xtimespec
	modules/stat/stat.c: use config.sno STAT_CFLAGS

10/20/2020:
	add snolib/json.sno

10/20/2020:
	add base64
	configure
	modules/base64/base64.c
	modules/base64/setup.sno
	modules/base64/funcs.sno

10/19/2020:
	rename mod_msvc.cpp to mod_win32.cpp
	config/win32/linux-mingw.sh
	config/win32/config.sno

10/19/2020:
	modules/stat/stat.c: swap to ifdef __CYGWIN__
	lib/break.c: register for cleanup on first malloc

10/18/2020:
	flush mentions of __P
	lib/auxil/getopt.c
	lib/bsd/inet.c
	lib/bsd/inet6.c
	lib/djgpp/osinit.c
	lib/dummy/inet.c
	lib/dummy/ptyio_obj.c
	lib/win32/inetio_obj.c

10/18/2020:
	modules/stat/stat.c: try to deal with Cygwin/Apple birth time mess

10/18/2020:
	one more import/export go-around
	Makefile2.m4: add -DSNOBOL4 to MYCPPFLAGS
	main.c: flush SNOBOL4_PROVIDER
	config/vms/descrip.mms: define SNOBOL4
	config/win32/borland.mak: add -DSNOBOL4 to CFLAGS
	config/win32/config.h: use ifndef SNOBOL4 for IMPORT action
	config/win32/mingw.mak: add -DSNOBOL4 to CFLAGS
		add IMPLIB comment, SETUPFLAGS
	config/win32/ntmsvc.mak: add -DSNOBOL4 to CFLAGS
	include/load.h: use SNOBOL4 to select SNOLOAD_API IMPORT vs EXPORT
	include/snobol4.h: use SNOBOL4 & SHARED to select SNOBOL4_API behav.
	lib/init: flush SNOBOL4_PROVIDER
	lib/snolib/getstring.c: include comments, flush SNOLOAD_API_PROVIDER
	lib/snolib/retstring.c: flush SNOLOAD_API_PROVIDER

10/18/2020:
	configure: test for, use GNU C visibility for SO build!

10/18/2020:
	API cleanup
	include/snotypes.h: moved LOAD_PROTO here (avoid internal use of load.h)
	include/load.h: moved LOAD_PROTO
		define/use SNOLOAD_API instead of SNOEXP
		look at SNOLOAD_API_PROVIDER instead of lack of DYNAMIC
	include/handle.h: use SNOLOAD_API
	lib/break.c: use pmlret_t, remove static
	lib/init.c: update include comments
	lib/loadx.c, pml.c: remove load.h
	lib/{bsd,dummy,vms,hpux}/load.c: trim includes, use const
	lib/snolib/[gr]etstring.c: SNOLOAD_API_PROVIDER, SNOLOAD_API
	mod_*.c(pp): include comments, config.h

10/18/2020:
	include/snobol4.h: SNOBOL4_API macro, noop if not PROVIDER && SHARED
	main.c: use SNOBOL4_API

10/18/2020:
	lib/init.c: strdup -u argument

10/18/2020:
	more VAR declarations (only statics left are in VMS code?)
	lib/init.c
	lib/loadx.c
	lib/generic/popen.c
	lib/posix/dynamic.c
	lib/snolib/handle.c

10/17/2020:
	include/handle.h: add sizes, reserved bytes
	modules/stat/stat.c: st_atimensec predefined on NetBSD 9
		add ST_BTIME 

10/17/2020:
	gcc 9.3-win32
	include/lib.h, lib/{msdos,vms,win32}/tty.c: tty_read
	lib/win32/inetio_obj.c: inetio_open

10/17/2020:
	gcc 9.3 write-string warnings
	main.c: ni_argv (crock)
	include/io_obj.h: fname
	include/stdio_obj.h: stdio_wrap {std,pipe,pty}io_open
	lib/io.c: io_open_funcs
	lib/stdio_obj.c: stdio_wrap, {std,pipe}io_open
	lib/{bsd,win32}/ptyio_obj.c: ptyio_open

10/17/2020:
	More const char *
	include/load.h: io_fname
	include/snobol4.h: io_output_string (name)
	lib/io.c: io_input_string (name), io_fname (EXPORT it)

10/17/2020:
	Clean compile with -Wwrite-string (const paranoia)
	globals.h: snolib_base
	include/lib.h: io_add_lib_dir, strjoin
	include/snobol4.h: io_input_{file,string}
	lib/init.c: p
	lib/io.c: lots
	lib/str.c: strjoin

10/17/2020:
	Another module go-round; instantiate module in support file
	include/load.h: moved struct module to handle.h
	include/handle.h: struct module here
		wrapped support stuff in "ifdef MODULE_SUPPORT"
	modules/LOTS: removed MODULE invocations
	lib/snolib/mod_xxx: add module, use MODULE_INIT, MODULE_CLEANUP

10/17/2020:
	Clean up some g++ complaints
		basic tests pass w/ -fpermissive & w/o -Werror
		punted on modules (need to pick API for helpers)
	configure: guard around setting _GNU_SOURCE
	include/snotypes.h: cast DESCR SPEC sizes to int
	include/stdio_obj.h: put enum last_direction at top level
	include/syntab.h: const char *
	include/io_obj.h: io_write take const char *
	include/lib.h: io_lib_find take const char *
	lib/date.c: cast int to enum
	lib/io.c: io_write, ioo_write, io_lib_find, trypath take const char *
	lib/pml.c: const char *
	lib/bsd/inet6.c: true => yes
	lib/snolib/serv.c: const char *
	lib/win32/ptyio_obj.c: ptyio_write take const char *
	lib/win32/inetio_obj.c: inetio_write take const char *
	lib/stdio_obj.c: stdio_write take const char *
	lib/auxil/bufio_obj.c: bufio_write take const char *
	lib/auxil/memio_obj.c: memio_write take const char *
	gendata.sno: output constant strings as char* not char[]

10/17/2020:
	Add cleanup routines
	modules/dirs/dirs.c
	modules/ffi/ffi.c
	modules/sqlite3/sqlite3mod.c
	modules/stcl/stcl.c (add new_obj too!)
	Makefile2.m4: remove ancient dummy environ.o from OBJS
	snolib/setuputil.sno: add setup.sources()
	modules/com/com.cpp: add MODULE(), add new_obj (use new_handle2)

10/16/2020:
	First cut at releasing handles
	configure: set MOD_SUPPORT in config.sno
	config/win32/config.sno: set MOD_SUPPORT
	include/h.h: define TLS as VAR
	lib/snolib/handle.c: add new_handle2 (takes release, module ptr)
		add handle_cleanup for cleanup
		complain once if old new_handle called
	include/load.h: add struct module, MODULE
	modules/*/*.c: add MODULE invocations
	modules/ndbm/ndbm.c: use new_handle2, add ndbm_cleanup
	snolib/setuputil.sno: ugly mashing to include MOD_SUPPORT

10/16/2020:
	COPYING: update Copyright dates!
	configure: more gcc doc quotes, include URLs
	lib/posix/term.c: dup stderr so cleanup from DLL doesn't close fd 2
	include/load.h: add pmlret_t, new_handle2
	lib/snolib/LOTS: use (pm)lret_t

10/15/2020:
	lib/io.c, include/io_obj.h: move FL_INCLUDE to io_obj.h

10/14/2020:
	lib/io.c: add FL_INCLUDE flag, free include file file struct

10/14/2020:
	lib/io.c: use mstrdup in io_include (wrapper for io_include2)
	lib/init.c: free snolib_{local,v{ers,lib,local}}, fclose termin

10/14/2020:
	Implement reg_cleanup for shared library cleanup
	lib/init.c: add reg_cleanup, cleanup
	lib/endex.c: call cleanup if SHARED
	include/lib.h: add reg_cleanup, cleanup
	lib/loadx.c: register for cleanup, unload all functions

10/14/2020:
	include/lib.h: add freeparm extern
	include/macros.h: add FREEPARM
	v311.sil: [PLB131] call FREEPARM
	lib/init.c: add freeparm function

10/14/2020:
	lib/auxil/memio_obj.c: close: free buffer, return TRUE

10/13/2020:
	MSVC VAR support
	include/h.h: include msvc/vars.h
	include/msvc/vars.h: surprisingly reasonable/easy!

10/13/2020:
	Implement zeroing VAR variables in SHARED lib builds
	data_init.c: include str.h, invoke ZERO_VARS to do the work
	include/gcc/vars.h (new): put VAR into own section with gcc-like
		compilers, include goo for OSX
	include/h.h: include gcc/vars.h in SHARED build with "gcc"
	lib/msdos/mstime.c: fix non-zero initializer

10/13/2020:
	lib/io.c, lib/stdio_obj.c: use globals.h

10/12/2020:
	Makefile: Solaris m4 doesn't have -I; not needed

10/12/2020:
	flush NO_STATIC_VARS, replace with VAR declaration
	globals.h (new): declare all globals using VAR
	include/h.h: default VAR to empty (could be TLS or __attr__(section))
	gendata.sno: output VAR
	main.c: declare all globals
	include/vars.h: removed
	32 other .c files

10/12/2020:
	config/win32/mingw.mak: DLL/tests tested.

10/11/2020:
	configure: fix ICC check

10/11/2020:
	config/win32/mingw.mak: tweak to build snobol4.dll (not tested!)
	config/win32/ntmsvc.mak: first swipe at DLL build (not run)

10/11/2020:
	turn off shell timing of genc.sno run
	    interferes with DYLD_LIBRARY_PATH on MacOS 10.15?
		(was just looking for a reason to kill it, it only
		mattered in ancient days when getrusage wasn't widely
		available, and clock tick size was often a a result of
		divination)
	    Turns out to be a feature (System Integrity Protection)
	timing: comment out time
	timing.sno: add, check CHECK_TIMING setting

10/11/2020:
	shared library cleanup
	Makefile: use SO_CFLAGS instead of -fPIC
	Makefile2.m4: use SNOBOL4_LDFLAGS
		use SO_EXT from configure instead of .so
		add rule to make tlib test
	configure: put -rdynamic in SNOBOL4_LDFLAGS
		define DYNAMIC in DL_CFLAGS
	main.c: define SNOBOL4_PROVIDER for snobol4.h
	include/load.h: honor DYNAMIC define
		add iunit/xunit arg names
	include/snobol4.h: check SNOBOL4_PROVIDER instead of DYNAMIC
		remove many io functions (KISS), explain UNITx
	lib/init.c: define SNOBOL4_PROVIDER for snobol4.h

10/10/2020:
	config/win32/ntmsvc.mak: missing a few $(SRCDIR)s

10/10/2020:
	lib/auxil/memio_obj.c: fix
	tlib.c: test output to TERMINAL
	main.c: add -b to non-interactive init

10/10/2020:
	Second round of shared library fun
	Makefile: just define SHARED
	Makefile2.m4: no MAINFLAGS
	main.c: add snobol4_init, snobol4_init_ni, snobol4_run
	ssnobol4.c: need stdio.h, h.h
	config/win32/config.h: comment
	include/lib.h: move stuff to snobol4.h
	include/snobol4.h: stuff from lib.h
	lib/endex.c: s/ENDEX_LONGJMP/SHARED/
	lib/init.c: s/stdinc/std_includes/
		init_args takes interactive argument
		create signal_init, call from io_init (instead of SIL INIT)
	lib/io.c: s/MEM_IO/SHARED/
		fix io_memfile
		EXPORT io_input_string
	tlib.c (new): demo/test

10/10/2020:
	Experiment to build libsnobol4.so
	No lines of code changed!
	Makefile: rules to make so/Makefile2 (creates private config.m4)
		runs it to make shared_library
	Makefile2.m4: split out rule (run in submake) for build.o
		added rules to make shared library, ssnobol4 executable using it
		added missing $(SRCDIR): MYCPPFLAGS, top level files
	configure: add missing $(SRCDIR) prefixes
	ssnobol4.c: one line main program to invoke shared library!

10/10/2020:
	lib/snolib/handle.c: hand out handle numbers sequentially

10/10/2020:
	lib/posix/memio_obj.c: memio_open using POSIX fmemopen
	include/io_obj.h, lib/auxil/memio_obj.c: make memio_open take dir
	lib/io.c: pass dir to memio_open, fix some comments

10/8/2020:
	lib/djgpp/osinit.c: add export of relstring

10/8/2020:
	configure: note ILP32, funny programming models

10/8/2020:
	snolib/sdb.sno: add SDB.RETVAL (can't concatenate DATA types)

10/8/2020:
	test/tests.in: add factor.sno, alis.sno
	test/factor.{sno,ref}: from green book (via DEC-10,VAX ports)
	test/alis.{sno,ref}: from green book (via DEC-10 port)
		Execution time in green book was 5159ms
		time on 2017 vintage Intel i5 was   2.429ms (2124x faster)

10/8/2020:
	fixes for OpenIndiana (illumos/OpenSolaris 11)
	configure: change HAVE_ to NEED_
		check if can use lib/posix/pty.c
		add CLOSEFROM_IN_STDLIB_H
		use config/check for finite
	config/win32/config.h: update
	lib/posix/pty.c (new): forkpty from FreeBSD
	include/libpty.h (new): forkpty prototype
	Makefile2.m4: add rule for pty.o
	include/lib.h: use NEED_ defines
	lib/init.c: use NEED_GETOPT_EXTERNS define
	lib/bsd/ptyio_obj.c: use CLOSEFROM_IN_STDLIB_H

10/7/2020:
	config/win32/config.h: add NTDDI_VERSION and _WIN32_WINNT again
	lib/bsd/inet6.c: moved _WIN32_WINNT
	lib/win32/ptyio_obj.c: moved NTDDI_VERSION and _WIN32_WINNT again

10/7/2020:
	configure: define (s)size_t if needed
	config/win32/config.h: use WS2 socklen_t

10/7/2020:
	config/win32/{ntmsvc,mingw}.mak: winsock ipv6 comment
	configure: fix readline module
	include/macros.h: convert MOVBLK from bcopy to memmove
	lib/{io,str}.c lib/ansi/sp{cint,real}.c	lib/bsd/inet(6).c
	    lib/c99/spcint.c lib/generic/sp{cint,real}.c
	    lib/snolib/getstring.c lib/win32/inet.c:
		convert bcopy to memcpy

10/6/2020:
	lib/win32/execute.c: Windows runtime implements execl
	config/win32/{ntmsvc,mingw}.mak: use lib/win32/execute.c

10/6/2020:
	v311.sil: [PLB130] implement handling for type "M"
		(malloc'ed linked string) in LNKFNC.
		Calls relstring after variable generated.
	include/lib.h: add relstring
	include/macros.h: RELSTRING wrapper for relstring
	include/load.h: add RETSTR2_FREE, RETSTR_FREE: call retstring_free
		add extern/export for retstring_free
	lib/retstring.c: flush static retbuf[len] vars:
		add retstring_free which returns string via type "M"
		retstring also returns via type "M" (unless RETSTRING_STATIC)
		add relstring function called back on type "M" after interning
	include/vars.h: flush retbuf[len]

10/5/2020:
	lib/{io,stdio_obj}.c: try pulling ^C handling down
		removed ioo_clearerr -- flush??

10/5/2020:
	config/win32/config.h: always define HAVE_FSEEKO

10/4/2020:
	config/win32/mingw.mak: use windres to compile manifest.rc
		take TOOLCHAIN prefix
	config/win32/ntmsvc.mak: use rc to compile manifest.rc
	config/win32/manifest.rc (new)
		Manifest file necessary to get Windows version
		(upto latest version binary manifested for)
	config/win32/linux-mingw.sh: pass TOOLCHAIN
	lib/win32/sys.c: restore build, server, add back break, ansify
	lib/bsd/dynamic.c: ansify

10/4/2020:
	configure: just set _GNU_SOURCE if glibc detected
	modules/ffi/ffi.c: remove _GNU_SOURCE __USE_GNU
	parms.h: move config.h back to top
	parms.h, include/macros.h: move ieeefp.h include to parms.h

10/3/2020:
	configure: remove --force-memmove from help
		move module support checks together
		fix -Werror= for gcc 4.1.2
		set {NDBM,TIME,RANDOM}_CFLAGS in config.sno
		fix getrusage
		removed clock_gettime for runtime (user+sys)
		pull glibc check up, set _GNU_SOURCE if found
	config/check: honor CHECK_OUT
	CHANGES: update, organize
	modules/ndbm/setup.sno: honor NDBM_CFLAGS
	modules/random/setup.sno: honor RANDOM_CFLAGS
	modules/time/setup.sno: honor TIME_CFLAGS

10/2/2020:
	configure: --without-modules

10/2/2020:
	lib/win32/inet.c: VERY last file to ansify?
		(leaving ancient dummy files)

10/2/2020:
	Make configure fussier about checking for functions
	configure:
		If gcc/icc/clang set -Werror -Wimplicit-function-declartion
		Fix glibc check for Ubuntu
		Fix glibc 2.1 check (not to hop on 2.11)

10/2/2020:
	Makefile2.m4 configure pml.h:
		cleanup/simplify: no more --force-pml, snolib.a, NO_PML_X
	removed: lib/{bsd,generic,posix,win32}/sleep.c

10/2/2020:
	more ansification!
	data_init.c
	gensyn.sno
	include/snotypes.h
	lib/init.c
	lib/io.c
	lib/ordvst.c
	lib/realst.c
	lib/ansi/spreal.c
	lib/auxil/getopt.c
	lib/bsd/inet.c
	lib/win32/inetio_obj.c
	lib/win32/ptyio_obj.c

10/1/2020:
	lib/bsd/inet6.c: ansify
	lib/win32/inetio_obj.c: turn off SO_OPENTYPE (added 1999/05/02!)
		add comments

10/1/2020:
	configure: fix memmove test, put first
	include/str.h: guard all function redefines

10/1/2020:
	yet ANOTHER bash at load
	include/lib.h: os_unload_function, stash ptr to os_find_symbol
	lib/loadx.c: call os_unload function with stash ptr from os_find_symbol
	lib/{bsd,dummy,hpux,next,unix98,vms,win32}/load.c: rake again
		bsd no longer keeps function list

10/1/2020:
	config/win32/mingw.mak: add IMPLIB variable

9/30/2020:
	time module: make TV_USEC int again, add TV_NSEC!

9/30/2020:
	one more bash at load
	lib/loadx.c: maintain lib & func structs
	include/lib.h: os_(un)load_library, os_find_symbol
	lib/{bsd,dummy,hpux,next,unix98,vms,win32}/load.c: rake

9/30/2020:
	new config/makerulesdep
	config/win32/mingw.mak: use makerulesdep to generate rules(!!)

9/30/2020:
	configure: use -MM for dependency generation

9/29/2020:
	mingw attempt to get fractional seconds (failed)
	config/win32/config.h: use timspec_get w/ MSVC
		getpid() in unistd.h on mingw
			 in process.h on msvc
		getopt() in unistd.h on mingw
	config/win32/linux-mingw.sh: try using -lpthread
	modules/{time,random}/setup.sno: ldflags from config.sno

9/29/2020:
	HAVE_CLOCK_GETTIME_REALTIME
	configure
	modules/time/time.c
	modules/random/random.c

9/29/2020:
	Final(?) pml_find cleanup
	include/load.h
	lib/hpux/load.c
	lib/win32/load.c

9/28/2020:
	configure: detect clock_gettime(CLOCK_REALTIME,&ts)
		and timespec_get(&ts, TIME_UTC)
	modules/random/random.c, modules/time/time.c:
		use timespec (need a .h file to paper it over)
		GETTIMEOFDAY TV_USEC can be a REAL!

9/28/2020:
	config/win32/mingw.mak: improve module builds

9/28/2020:
	config/djgpp/Makefile: always include loadx.o

9/28/2020:
	ansify next dir (one file, for a (hopefully) dead interface)
	lib/next/load.c: ansify, convert to os_load
	Makefile2.m4: always include loadx.o
	configure: never need to add loadx.o

9/28/2020:
	ansify hpux dir (one file, for a (hopefully) dead interface)
	lib/hpux/load.c: ansify, convert to os_load

9/28/2020:
	ansify vms(!) files, convert to os_load
	config/vms/descrip.mms: add loadx
	lib/vms/*.c: convert to ansi, os_load

9/28/2020:
	Cross compile for Windows/MINGW under Linux
	NOTE!!! Binaries not tested.  Will have funny CC name!
	(new) config/win32/linux-mingw.sh
	config/win32/mingw.mak: add overrides for cross-compile
	lib/win32/ptyio_obj.c, configure:
		moved cygwin WIN32_WINNT, NTDDI_VERSION defines

9/28/2020:
	snolib/setup.sno: prefetch HOST vars
		(allow override by config.sno)
	modules/*/setup.sno: remove unneeded setup.sno include

9/28/2020:
	timing: add /etc/os-release (for arch)

9/27/2020:
	doc/snobol4.1.pea: add SNOBOL4UNBUFFERED

9/27/2020:
	CHANGES: update with changes since 2.1.6

9/27/2020:
	configure: install cygwin libsnobol4.a in a versioned dir

9/27/2020:
	Clobber // comment by compiling with -stc=c90
	lib/bsd/inet6.c
	include/io_obj.h
	lib/bsd/ptyio_obj.c

9/27/2020:
	Remove old cygwin COM crockery
	config/win32/config.h
	modules/com/com.cpp
	configure

9/27/2020:
	First pass at ANSIfication
	Assumes all systems have string.h, stdlib.h
	Too many files to name.

9/26/2020:
	modules/stat/funcs.sno: missing comment chars!!!!

9/26/2020:
	Make cygwin w/ gcc 10 happy:
	configure: add HAVE_GETOPT[_EXTERNS]
	include/lib.h: add getopt()
	lib/init.c: honor HAVE_GETOPT_EXTERNS, remove getopt()
	modules/time/time.c: define magic for strptime, tm_gmtoff

9/26/2020:
	lib/io.c: FL_KEEPEOL, fix io_mkfile2 to preseve flags.
	include/io_obj.h, lib/io.c, lib/stdio_obj.c: FL_KEEPEOL

9/26/2020:
	doc/snobol4io.1.pea: update for 2.2, add tcp/udp flags.

9/26/2020:
	mingw compile cleanup (under Linux!)
	config/win32/mingw.mak: enable warnings, add depend, clean
	config/win32/config.h: wrap fseeko/ftello in ifndef __MINGW32__
		add HAVE_STRFTIME
	lib/io.c: use SIGINT_EOF_CHECK instead of _MSC_VER
	lib/win32/sys.c: quiet DWORD formatting complaints
	lib/win32/inet.c: caught bindresvport usage error

9/26/2020:
	timing: check for systeminfo.exe!
	modules/random/random.c: use GETPID_IN_PROCESS_H
		expect getpid() to be available!!

9/26/2020:
	bufio/ptyio cleanup:
	include/bufio_obj.h: comments
	lib/auxil/bufio_obj.c: read_raw == 0 no longer EOF
	lib/win32/inetio_obj.c: read_raw return -1 on EOF
	lib/win32/ptyio_obj.c: flush flags, free buffer

9/25/2020:
	configure: comments for debugging win32/ptyio
	lib/auxil/bufio_obj.c: DEBUG_BUFIO_{READ_RAW,GETLINE}
	lib/win32/ptyio_obj.c: working?
	timing: look for smbios on Solaris

9/24/2020:
	lib/auxil/bufio_obj.c: fix memory corruption
	lib/win32/ptyio_obj.c: version with threads (broken)

9/22/2020:
	bsdtsort.c lib/{io,realst,str}.c lib/bsd/inet[6].c
	    lib/snolib/serv.c lib/win32/{exists,inet}.c
	    modules/ndbm/sdbm/dbe.c: 
		cast ctype args to unsigned char

9/21/2020:
	Cleanup:
	configure: detect getline, or use auxil version
		fix missing g++ test under cygwin
	Makefile2.m4: auxil/getline.c (if needed)
	include/lib.h: add getline (if needed)
	lib/auxil/getline.c: fix!
	lib/win32/{inet,pty}io_obj.c: s/XXXio_read /XXXio_getline /
	config/win32/{ntmsvc,mingw}.mak: use auxil/getline.c
	config/djgpp/Makefile: use auxil/getline.c

9/21/2020:
	Another I/O Overhaul: Remove record length limits from text I/O.
	v311.sil: [PLB129] Add VLRECL (variable length record length(!))
		as default/TERMINAL input record length.  io_read will
		poke address of malloc'ed buffer into IOSP, and must
		generate variable (and copy) each line.
	config/win32/config.h: add SIGINT_EOF_CHECK
	include/io_obj.h: add linebuf, linebufsize, io_getline
		removed io_read. Update MSVC comments.
		Use C99 designated initializers when detected available.
		Add comments for inet_parse
	include/lib.h: add names/comments for tty_mode, tty_read args
	include/units.h: add NUNITS, comments
	lib/io.c: moved NUNITS to units.h
		add, use ioo_getline; remove ioo_read
		io_close frees io_linebuf
		use SIGINT_EOF_CHECK define
		call ioo_read_raw directly for FL_BINARY read
		io_openi: issue warning if recl given outside binary mode
	lib/stdio_obj.c: remove stdio_read; add stdio_getline, stdio_read_setup
		remove direct read/write/lseek for FL_UNBUF
		use setvbuf _IONBF for FL_UNBUF
		replace pipeio_read NULL define w/ pipeio_getline
	lib/auxil/bufio_obj.c: replace bufio_read w/ bufio_getline
		remove abort from bufio_write; remove bufio_read_raw
	lib/auxil/memio_obj.c: memio_seek call SUPER.io_seek to invalidate buf
		if opened in FL_APPEND(!!), preset pos to len
	lib/bsd/ptyio_obj.c: replace ptyio_read w/ ptyio_getline
	lib/generic/popen.c: retuen FILE pointer!!!
	lib/vms/tty.c: add ttyio_obj comment
	snolib/http.sno: add HTTP.MODE argument to HTTP.OPEN
	test/longrec.ref: include full record!!!
	test/tests.in: obsolete breakline.sno, k.sno tests!!!
	(new) lib/auxil/getline.c: for them that don't

9/19/2020:
	config/djgpp/config.h: add sock_t

9/19/2020:
	Conditionally ansify for MSVC:
	lib/init.c: SIGFUNC_ARG[_DECL]
	lib/ordvst.c: ordvst_cmp

9/19/2020:
	include/io_obj.h: default io_off_t
	lib/io.c, lib/stdio_obj.c, lib/auxil/memio_obj.c: use io_off_t
	config/win32/config.h: define io_off_t

9/19/2020:
	lib/win32/mstime.c: fix(?) HIGHMS
	config/win32/config.h: clean up(?)
	lib/auxil/memio.h: use bufio
	config/win32/ntmsvc.mak: moved BITFIELDS_SAME_TYPE to win32/config.h

9/16/2020:
	configure: fix for ptyio_obj.c
	cleanup new file headers

9/16/2020:
	include/io_obj.h: make nomatch extern
	lib/io.c: declare nomatch

9/16/2020:
	lib/io_stdio.c: handle line breaking for full-record size lines
	new: test/k.{in,sno}

9/16/2020:
	Clean compilation under MINGW w/ WS2, WS1, or NOTA
	Conditionalize ptyio as well
	config/win32/config.h
	config/win32/{mingw,ntmsvc}.mak
	lib/io.c
	lib/init.c
	lib/stdio_obj.c
	lib/bsd/inet6.c
	lib/dummy/inet.c
	lib/snolib/delete.c
	lib/auxil/bindresvport.c
	lib/win32/{exists,inet,inetio_obj,ptyio_obj}.c

9/15/2020:
	renamed all/pty.c to all/ptyio_obj.c
	split win32/inetio_obj.c from win32/inet.c
	Begin WS2 conditionalization

	include/inet.h: add close_socket, SETSOCKOPT_ARG_CAST
	config/win32/config.h: remove HAVE_WINSOCK_H
	config/win32/ntmsvc.mak: add WINSOCK conditionals
	lib/win32/ptyio_obj.c: dynamic lookup of C{reate,lose}PseudoConsole
	lib/endex.c: need inet.h for inet_cleanup
	lib/auxil/bindresvport.c: conditionalize for WS2
	lib/io.c: remove ISOPEN
	lib/bsd/inet6.c: start of WS2 support

9/14/2020:
	config/djgpp/Makefile: use gmake ifdef
	lib/win32/inet.c: refactoring, use inet.h
	config/win32/config.h: add sock_t, remove isnan
	include/lib.h: move {tc,ud}p_socket, flags to inet.h
	include/inet.h (new)
	include/vars.h: rename wsock_init to wsock_init_done
	lib/io.c: use inet.h, silence strncpy complaints w/ memcpy
	lib/stdio_obj.c: use inet.h
	lib/bsd/inet.c: use inet.h
	lib/bsd/inet6.c: use inet.h, sock_t, remove inet_close
	lib/dummy/inet.c: remove inet_close, use inet.h

9/14/2020:
	modules: add .cvsignore files
	doc: update .cvsignore
	test: add .cvsignore

9/14/2020:
	lib/auxil.c/bufio_obj.c: fully populate methods
		(io_write and io_read raw print message and abort)
		io_close frees buffer
		do eof tracking, add MINBUFLEN
	include/bufio_obj.h: add eof member
	include/io_obj.h: add io_name to io_ops, MAKE_OPS for error messages
	lib/win32/inet.c: remove eof (now handled in bufio) and many methods
		call bufio close
	lib/win32/pty.c: convert to bufio, add command, make command_line
		call bufio close

9/13/2020:
	Windows compilation fixes.  inetio seems to be working!
	Try updating djgpp/Makefile

9/13/2020:
	MSVC doesn't like io.h, rename to io_obj.h

9/13/2020:
	Another hack attack (or three):
	lib/init.c: Implement -U option, SNOBOL4UNBUFFERED
	doc/snobol4cmd.1.pea: Document -U SNOBOL4UNBUFFERED
	include/stdio_obj.h: stdio_wrap takes path
	lib/stdio_obj.c: honor unbuffer_all,
		have stdio_wrap take path
	lib/io.c: add inetio_open, pass path to stdio_wrap
	lib/bsd/pty.c: pass path to stdio_wrap
	include/lib.h: convert {tcp,udp}_open to _socket, remove inet_close
	lib/bsd/inet(6).c: convert {tcp,udp}_open to ..._socket
	lib/dummy/inet.c: convert {tcp,udp}_open to ..._socket
	lib/win32/inet.c: implement as inetio_open (io_obj provider)
	include/io.h: add inetio_open
	lib/auxil/memio_obj.c: cleanup header comments

9/13/2020:
	LOOOONG overdue OO refactoring of I/O
	  (lamented as badly needed & last attempted in 2002)
	Makefile2.m4: add FISATTY, STDIO_OBJ, fix PTY_C
	config/win32/config.h: fix isnan, fake ftello/fseeko, add ssize_t
	include/lib.h: fisatty no longer takes fname
	lib/io.c: reduced by 20% (chars) 18% (lines)
	lib/bsd/pty.c: convert from forkexecpty to io_obj
	lib/bsd/tty.c: removed fisatty
	lib/dummy/pty.c: convert from forkexecpty to io_obj
	lib/dummy/tty.c: remove fname arg from fisatty
	lib/msdos/tty.c: remove fname arg from fisatty
	lib/posix/tty.c: remove fisatty
	lib/vms/tty.c: remove fname arg from fisatty
	lib/win32/tty.c: remove fname arg from fisatty
	new:
	include/io.h: OO base class/API
	lib/stdio_obj.c include/stdio_obj.h: most I/O code here
	lib/auxil/bufio_obj.c include/bufio_obj.h: helper for reading lines
	lib/auxil/memio_obj.c: memory based I/O w/o fmemopen
	lib/generic/fisatty.c: generic code moved from lib/many/tty.c
	lib/win32/pty.c: compiles, not tested

9/11/2020:
	lib/io.c: expand mode storage, add comments
	lib/vms/osopen.c: fix /dev/null

8/20/2020:
	new: lib/{bsd,dummy}/pty.c
	include/lib.h: add forkexecpty, waitpty
	lib/io.c: use forkexecpty, waitpty
	config/win32/{mingw,ntmsvc}.mak
	configure: add PTY_C=lib/bsd/pty.c
	Makefile2.m4: add PTY_C=lib/dummy/pty.c

8/17/2020:
	man page fixes
	configure: move strftime test
	genc.sno: handle RCALL single return label with if

8/13/2020:
	sdb.sh: handle lack of /tmp (Android)

8/12/2020:
	lib/snolib/serv.c: try to quell gcc9 truncation complaint

8/11/2020:
	configure: check for strftime, set HAVE_STRFTIME
	lib/date.c: use HAVE_STRFTIME -- reduce gcc space complaints
	modules/time/time.c: use HAVE_STRFTIME
	lib/snolib/host.c: enlarge buffer to make gcc happy

8/11/2020:
	Cleanup for Android:
	timing: search PATH for getprop
	config/check: check for /tmp (Android)
	configure: check for closefrom
		try checking for libncursesw for readline
	include/lib.h: add closefrom, getdtablesize
	lib/bsd/closefrom.c: closefrom using getdtablesize
	lib/posix/getdtablesize.c: getdtablesize using sysconf
	lib/dummy/getdtablesize.c: dummy getdtablesize
	Makefile2.m4: add closefrom.o getdtablesize.o rules

8/10/2020:
	timing: add stuff for version, hw & clock on Android

**************** release 2.1.6 (CVS tag REL_2_1_6)

8/9/2020:
	configure: update for version 2.1.6

8/8/2020:
	tests/{tests.in,setexit7.{sno,ref}}: add &FATALLIMIT test

8/8/2020:
	modules/ffi/funcs.sno: credit Fred Weigel in AUTHOR section

8/8/2020:
	v311.sil: [PLB128] add &FATALLIMIT
		enables trapping some otherwise fatal errors for sdb
	procs: new labels/functions for FATALLIMIT
	snolib/sdb.sno: use &FATALLIMIT to trap some fatal errors
	doc/snobol4error.1.pea: note trapable fatal errors!
	doc/snobol4ext.1.pea: remove "ERRTEXT can be traced"
	doc/snobol4key.1.pea: add &FATAL, &FATALLIMIT
	test/{a,diag1,diag2,dump}.ref: add &FATALLIMIT
	test/blocks/dump.ref: add &FATALLIMIT

7/28/2020:
	doc/sdb.1.pea:
		Add =break for bt/run
		Fix what description
		Add a bug (cannot trap fatal errors)

7/7/2020:
	pkg/win32/README.win32: add doc directory mention.

7/6/2020:
	INSTALL: update Windows info

7/4/2020:
	pkg/win32/README.win32: fix SNOLIB (was SNODIR)
	config/win32/ntmsvc.mak: runinstall

7/2/2020:
	doc/snobol4.1.pea: add ezio link

**************** release 2.1.5 (CVS tag REL_2_1_5)

7/2/2020:
	configure: update for version 2.1.5

7/2/2020:
	More Win10 cleanup: make more batch scripts work!
	config/win32/
		modules.bat: clean up, add readline
		format.bat: clean up
		ntmsvc.mak: remove snobol4.exp snolib4.lib
	lib/win32/sys.c: cleanup, again
	pkg/win32/
		README.win32: s/zip/tar/
		sdb.bat: fix, support run command
		timing.bat: run in temp dir; fix/cleanup; add systeminfo
	snolib/setuputil.sno: add win.msc clean command
	parms.h: move config.h include

**************** release 2.1.4 (CVS tag REL_2_1_4)

7/1/2020:
	configure: update for version 2.1.4

7/1/2020:
	Updates for build on Windows 10:
	new pkg/win32/maketar.bat: make tarball
	removed: pkg/win32/makezip.sh
	config/win32/config.h: ifndef isnan
	config/win32/format.bat: create snopea.1.html
	config/win32/mingw.mak: add all, cpuid.exe
	config/win32/modules.bat: explicit snobol4.exe
	config/win32/ntmsvc.mak: add clean, tar
	lib/win32/sys.c: version
	lib/win32/tty.c: needs malloc.h (now available) on 64 bits
	modules/random/Makefile: fix INC, dependencies
	modules/random/random.c: fix typedefs, make bsd_random uint32_t
	pkg/win32/install.bat: comment out load.doc, use "call"
	snolib/setuputil.sno: remove destdir for win.msc install

6/28/2020:
	CHANGES, README: tiny tweaks
	TODO.soon: add doc/html/man ideas for setuputils

**************** release 2.1.3 (CVS tag REL_2_1_3)

6/25/2020:
	configure: update for version 2.1.3

6/23/2020:
	doc/snopea.7.pea: tweak L format example

**************** release 2.1.2 (CVS tag REL_2_1_2)

6/21/2020:
	configure: update for version 2.1.2

6/21/2020:
	Makefile2.m4: quote tab for INSTALL_SYSTEM
		(seen on cygwin)

6/21/2020:
	Makefile2.m4: install snobol4ezio.3 man page
	doc/Makefile: note generated list in two places!

6/21/2020:
	configure: test for g++ for cygwin COM module

**************** release 2.1.1 (CVS tag REL_2_1_1)

6/20/2020:
	doc/Makefile: remove $(TXT) from $(ALL)
		nroff and/or -ms not always available!
	configure: update for version 2.1.1

**************** release 2.1 (CVS tag REL_2_1)

6/20/2020:
	README, CHANGES, configure: update for version 2.1

6/20/2020:
	modules/stat/funcs.sno: add ST_TYPE_STR
	TODO.soon: update

6/20/2020:
	snolib/ezio.sno: improve snopea embedded documentation

6/9/2020:
	doc/snobol4io.1.pea: document 'E' and 'X'

6/8/2020:
	include/macros.h: Use S4_EXTERN on _NORET

6/7/2020:
	Implement I/O 'X' (eXclusive) and 'E' (closE on ExEc)
		depends on stdio support (FreeBSD 10, glibc 2.7)
	lib/io.c, lib/bsd/inet[6].c, lib/win32/inet.c, include/lib.h
	README: John Willis
	Update TODO.soon

6/7/2020:
	1000th version of History file!!
	new snolib/ezio.sno: easy to use I/O functions
	Makefile: make snobol4ezio manual pages
	doc/snobol4io.1.pea: reference snobol4ezio(3) man page

2/18/2020:
	doc/snobol4func.1.pea: note STOPTR extension
	doc/snobol4pea.7.pea: tweaks; add perlpodspec link

2/17/2020:
	modules/stcl/stcl.c: improve documentation

2/13/2020:
	doc/snobol4func.1.pea: formatting fix

2/8/2020:
	doc/snobol4.1.pea doc/snobol4op.1.pea:
		add unary operator table to snobol4op(1)
	Makefile2.m4: always do doc directory make

2/7/2020:
	Makefile2.m4: use GENERATED_DOCS_DOCDIR3 for installs
	v311.sil, globals, test/labelcode.{sno,ref}, test/tests.in,
	    doc/snobol4func.1.pea: add LABELCODE function (ala SITBOL LABEL())
	modules/time/time.c: quash glibc 2.20+ warning

2/6/2020
	doc/snobol4func.1.pea: more history corrections

2/4/2020
	lib/snolib/host.h: add snopea doc for snobol4host(3)
	doc/snobol4func.1.pea: reference snobol4host(3)
	doc/Makefile: commands to create snobol4host.3[.html]

02/02/2020!!!
	snolib/sdb.sno: add .sdb_history file
		need to keep history over "run" commands if nothing else!
	doc/sdb.1.pea: document .sdb_history, /tmp files

02/01/2020
	configure: try /usr/lib/tclConfig.sh as default TCONF

01/25/2020
	doc/snobol4func.1.pea: note more extensions from SPITBOL 360

01/24/2020
	configure: fix for build with libreadline
	doc/snobol4func.1.pea: update HOST() output!

01/24/2020
	Add run command!
	snolib/sdb.sno: add run command!
	sdb.sh: support run command via temporary file!
	doc/sdb.1.pea: add run command, /tmp file bug

01/21/2020
	FreeBSD 12:
	configure: check for readline.h in /usr/include/edit
	modules/readline/setup.sno: use READLINE_INCLUDE

01/12/2020
	modules/sqlite3/sqlite3dbm.sno: more doc fixes

11/22/2019
	modules/sqlite3/sqlite3dbm.sno: fix documentation

10/13/2019
	doc/snobol4blocks.1.pea: fix text

	configure: check for C99 <stdint.h>
	modules/random/random.c: use HAVE_STDINT_H
		to help compilation on Solaris 5.7!
		reported by John Willis

8/2/2019
	timing: add lscpu

6/15/2019:
	modules/ffi/ffi.c: switch from <inttypes.h> (SUSv2) to <stdint.h> (C99)

3/22/2019
	modules/dirs/dirs.c: fix SEEKDIR doc text

3/6/2019
	cpuid.c: decode cpuid model number

1/22/2018
	modules/stat/funcs.sno: fix ATIMENS paste-o

1/7/2018
	timing: fix emerge command (thanks to Mateusz Grotek)

12/30/2017
	doc/sdb.1.pea: document .sdbinit

12/23/2017
	snolib/sdb.sno: make "s" mean "step" again
		prevent "source" loops

12/22/2017
	snolib/sdb.sno: add save command (and function) from start of run
	doc/sdb.1.pea: document "save" and "source"
	doc/snobol4.1.pea: mention BLOCKS/SNOBOL4B up top

12/21/2017
	doc/sdb.1.pea: document that "list" takes LABEL_OR_STATEMENT_NUMBER
	snolib/sdb.sno: add source command (it nests!)

11/19/2017:
	snolib/sdb.sno: start of work for "run" command
		Read commands from .sdbinit file
		Modifications to watch/break @NUMBER
		Start of "run" command (output commands to restore breakpoints)

9/7/2017:
	snolib/sdb.sno: add missing comma to SDB.TRAP.VARS	
	pkg/win32/timing.bat: changes from 11/14/2016

11/18/2016:
	modules/ffi/ffi.c: fix RTLD_NEXT paste-o
	configure: fix help output tabbing

10/22/2016:
	configure, modules/readline/readline.sno
		Supply dummy READLINE() for sdb
		reported by many(?)

10/13/2016:
	doc/snobol4blocks.1.pea
		new URL for asa2pdf

7/1/2016:
	timing: /sys/class/dmi/id/{sys_vendor,product_name}

2/26/2016:
	doc/snobol4func.1.pea: fix DATE(2) description
		reported by Laurence G. Battin

2/23/2016:
	modules/ffi/ffi.c: handle no RTLD_NEXT (Cygwin)
		reported by Laurence G. Battin

11/29/2015:
	modules/ffi/ffi.c: fix FFI_DLSYM
		Fix submitted by Fred Weigel in February!
	doc/snobol4cmd.1.pea: Add -B
	doc/snobol4io.1.pea: Document 'K'

11/8/2015:
	doc/snopea.7.pea: add perlpod link

8/18/2015:
	lib/win32/sys.c: add Win8.1, Win10

8/4/2015:
	include/lib.h: add inet routines
	lib/io.c: implement experimental 'K' (breaK) flag for Phillip Thomas
	lib/win32/inet.c: support breakline
	test/tests.in: add breakline.sno
	test/breakline.{sno,ref}: breakline tests

4/7/2015:
	lib/break.c: allow breakpoint table expansion for Fred Weigel

4/6/2015:
	modules/random/random.c: kill warning for gcc 4.8.2
	History: fix 2015 dates!

3/31/2015:
	lib/io.c: check for NULL fp in io_print_str
		(reported by Fred Weigel)

3/30/2015:
	snolib/sdb.sno: create, use SDB.VALUE for what, args

1/12/2015:
	DJGPP updates (from Burkhard Meissner)
	config/djgpp/Makefile: remove module files, add loadx.o
	config/djgpp/config.h: add defines
	lib/djgpp/osinit.c: DXE_EXPORT (__dpmi_int)

1/11/2015:
	Makefile2.m4: NDBM_C typo (thanks to Burkhard Meissner)

1/10/2015:
	doc/snobol4key.1.pea: note Traceable keywords.

1/8/2015:
	doc/snobol4key.1.pea: fix snobol4error refs
	modules/readline/readline.c: add comma in SEE ALSO

1/6/2015:
	INSTALL: mention development packages
	configure: warn when falling back to sdbm
		fix "Using"
		check for sqlite3 amalgamation sources in modules/sqlite3

1/5/2015:
	configure: AIX flags & comments, add SNOLIB_LOCAL
	Makefile2.m4: use SNOLIB_LOCAL
	snolib/sdb.sno: FREEZE SDB.SCALAR

1/4/2015:
	snolib/sdb.sno: add SDB.SCALAR:
		table of datatypes safe to display
	lib/io.c: io_ecomp() -- check for NULL pointer
	test/{ndbm,random,sleep,time}.sno: use ../modules/... for includes
	configure: update to 2.0+
		add missing quote
	doc/snobol4cmd.1.pea: update -I description
	modules/random/random.c, lib/io.c: try fixing icc warning
	configure: removed some ancient stuff, add icc support
	lib/snolib/host.[ch]: add HOST_CC_IS
	config/win32/config.h: add HOST_CC_IS
	Solaris fixes, thanks to Mark R Riordan:
	include/lib.h: add loadable_function_t for os_load() (SunCC warning)
	lib/{unix98,win32}/load.c: use loadable_function_t *
	test/run.sh: avoid ksh-ism (export VAR=var)
	Makefile: pass make spotless down to doc/Makefile
	doc/Makefile: add make spotless (remove porting.txt)

1/3/2015:
	lib/init.c: always add ".", before processing options
	doc/snobol4.1.pea: update search path description
	modules/stcl/stcl.c: remove debug printf

1/2/2015:
	v311.sil: another PCOMP!
	doc/snobol4io.1.pea: ``terminal''
	test/base.{sno,ref} (new): test basename.sno
	test/tests.in: add base.sno
	Makefile2.m4: add snobol4op to GENERATED_DOCS_DOCDIR1
	doc/snobol4func.1.pea: fix typo

**************** release 2.0 (CVS tag REL_2_0)

1/1/2015:
	configure: set SO_LD for Solaris/cc; quit if SO_LD not set
		fix SNOLIB= value
		override SNOLIB in RUNSETUP (problem seen by Phillip Thomas)
		update version to 2.0
	snolib/basename.sno: revised (idea thanks to Phillip Thomas)
	lib/init.c: move "." first in search path
	snolib/snopea.sno: output <p> before <ul>; htext;
		output endlist in 'para'
	doc/snobol4.1.pea: fix search list order,
		made "DIRECTORY SEARCH LIST" a section
		add more spacing in characters table
	snolib/setuputil.sno: use basename.sno
		fix windoze setuputil path
	README, COPYRIGHT, snolib/sdb.sno: update Copyright date

12/31/2014:
	README: update
	INSTALL: ran ispell
	configure: append -VERSION to DOC_DIR
	doc/snobol4blocks.1.pea: fix, add link
	lib/init.c: fix missing newline (thanks to Phillip Thomas)

12/30/2014:
	doc/snobol4.1.pea: add snobol4{readline,sqlite3dbm}(3) refs
	doc/snobol4func.1.pea: fontify!
	snolib/snopea.sno,doc/snopea.7.pea: add L<>
	doc/snobol4[blocks].1.pea: use L<>
	Makefile2.m4: remove modules/setuputil.sno
		(spotted by Jonathan Kaye, Harald Arnesen)

*** 2.0-rc3 (tag REL_2_0_RC3)

12/30/2014:
	genc.sno: add INCDEC to generate ++/--
	doc/snobol4func.1.pea: fill in remaining empty spots.
	README, CHANGES: update
	configure: update to 2.0-rc3

12/29/2014:
	README: update
	configure: fix bindresvport_sa detection on OpenBSD 5.6
	timing: grep for VBOX, bios0: in dmesg.boot
	doc/load.txt: add lret_t
	v311.sil: [PLB125] two more PCOMPs
		died when dynamic region straddled 2G line on OpenBSD!!
	modules/sqlite3/sqlite3dbm.sno: fix docs
	doc/{sdb,snobol4{blocks,cmd,ctrl,func}}.1.pea: ran ispell

12/28/2014:
	configure: check for TCL_VERSION
		remove test for HAVE_FSTAT
	INSTALL, CHANGES: update
	doc/snobol4op.1.pea (new)
	doc/snobol4blocks.1.pea: update
	doc/snobol4.1.pea: update for snobol4op(1)
	doc/Makefile: add snobol4op
	snolib/setuputil.sno: update support comment
	snolib/snopea.sno: force paragraph before table
	doc/snobol4io.1.pea: fix table, ran ispell

12/27/2014:
	snolib/setuputil.sno: win: install one file at a time, html files
	config/win32/modules.bat: add random, add -v
	config/win32/ntmsvc.mak: add docs, move -DBITFIELDS... back
	config/win32/format.bat: format .pea files
	config/win32/config.h: BITFIELDS_SAME_TYPE moved back to makefile
	pkg/win32/install.bat: install modules last, check if dirs exist
		install snopea.in as lib\snopeacmd.sno
		install snopea.bat
	pkg/win32/timing.bat: add -x
	pkg/win32/snopea.bat (new)
	lib/init.c: add -x to usage

12/26/2014:
	modules/ffi/ffi.c: add =ecode
	doc/snobol4.1.pea: fix snobol4stcl

12/25/2014:
	config/win32/mingw.mak: clean out old stuff, conditionalize sqlite
	config/win32/ntmsvc.mak: clean out more old stuff
	config/win32/borland.mak: clean out more old stuff
	config/win32/config.h: define HOST_SHARED_OBJ_SUBDIR
	pkg/win32/install.bat: fix
	modules/setuputil.sno: fix for windows install
	make.bat: pass %1
	Makefile2.m4,configure,doc/Makefile: moved setuputil.sno to snolib
	snolib/setuputil.sno: change path tests

12/24/2014:
	README, INSTALL: update
	config/win32/{mingw.mak,config.h}: add -shared-libgcc
	config/win32/ntmsvc.mak: if EXISTS
	config/modules.bat: add sqlite3 (test for sqlite3.c)
	modules/com/com.cpp: fix handle handling
	snolib/snopea.sno: don't need repl.sno
	modules/{dirs/dirs.c,fork/fork.c,ndbm/ndbm.c,readline/readline.c,
		sqlite3/sqlite3mod.c,stcl/stcl.c}: lret_t

**** NOTE!! changed handle.h API/ABI!!!

12/23/2014:
	lib/init.c: create, use, export snolib_vers
	lib/snolib/host.[ch]: HOST_SNOLIB_VERS
	modules/setuputil.sno: use HOST_SNOLIB_VERS
		process -d and -v
	pkg/win32/install.bat: put snobol4.lib in %SNOVER%
	config/win32/{mingw,ntmsvc}.mak: kill cygwin config.{h,sno}
	configure: output INSTALL_SYSDEP on cygwin to install libsnobol4.a
	Makefile2.m4: use INSTALL_SYSDEP
	include/handle.h: make snohandle_t a descr
		add LA_HANDLE/RETHANDLE
		new_handle() takes table name
		fix handle lookup on 32 bit system
	lib/snolib/handle.c: return handles as EXTERN types
		new_handle() takes table name
	module/{dir/dirs.c,ffi/ffi.c,ndbm/ndm.c,sqlite3/sqlite3mod.c,
		stcl/stcl.c}: use LA_HANDLE/RETHANDLE
			pass table name to new_handle()
	module/ffi/funcs.sno: use unique to generate vars to hold handles
	lib/io.o: try fixing iNTEL C warnings (reported by Clem Cole)
	lib/auxil/bindresvport.c: musl libc broken (reported by Harald Arnesen)

12/22/2014:
	modules/setuputil.sno: wrap copy dest in quotes
	pkg/win32/install.bat: cleanup, set SNOLIB
	modules/stcl/stcl.c: one more try to get rid of warning!

12/21/2014:
	configure, Makefile2.m4: s/SNOLIB_VER/SNOLIB/
	snolib/snopea.sno: tweak headers, links for snopea
	doc/snobol4.1.pea: ref snopea(1) & snopea(7)
	doc/snobol4func.1.pea: add entries for some standard functions!
		clean up (most) question marks about extensions
	modules/logic/funcs.sno: add missing =ecode
	doc/snobol4ctrl.1.pea: tweaks
	modules/dirs/dirs.c: use =item
	modules/logic/readline.c: add missing =ecode
	modules/setuputil.sno: honor DESTDIR
		implement install for win.msc
	Makefile: cleanup *_modules, add printenv
	Makefile2.m4: add printenv
	pkg/win32/install.bat: use copy /y & modules.bat install
	config/win32/modules.bat: take command argument
	snolib/{logic,ndbm,random,readline,stcl,time}.sno: removed

12/20/2014:
	snolib/snopea.sno: output .IP for empty =item
		use HOST_VERSION_DATE
	doc/snobol4io.1.pea: cleanup
	modules/setuputil.sno: update BUGS
	lib/snolib/host.[ch]: add HOST_VERSION_DATE

*** 2.0-rc2 (tag REL_2_0_RC2)

12/20/2014:
	doc/snobol4key.1.pea: made it real.
	doc/snobol4ctrl.1.pea: made it real.
	doc/snobol4ext.1.pea: moved stuff to other pages.
	doc/snobol4error.1.pea: ref snobol4cmd(1), remove =break
	doc/snobol4func.1.pea: add first entries!
	doc/snobol4.1.pea: remove =break, moved stuff into snobol4io(1)
	modules/sprintf/sprintf.c: fix man page title line
	doc/snobol4io.1.pea: cleaned up.
	snolib/snopea.sno: force paragraph before =item
	configure: update version to 2.0-rc2

12/19/2014:
	modules/sqlite3/setup.sno: detect amalgamation sources
	modules/sqlite3/sqlite3mod.c (renamed)
	modules/setuputil.sno: add mingw, remove nologo
	config/win32/modules.bat: use %TOP%
	config/win32/config.h: cleanup
	config/win32/ntmsvc.mak: cleanup, removed module files
	config/win32/mingw.mak: removed PML files, make modules
	config/win32/snobol4.vcxproj: removed module files
	modules/stat/funcs.sno: fix comment/docs.
	pkg/win32/install.bat: update
	doc/snobol4.1.pea: snobol4func(1) ref

12/18/2014:
	config/win32/{config.h,ntmsvc.mak}:
		disable PML_{TIME,RANDOM,COM,NDBM}
		remove logic.obj, sleep.obj
		define HAVE_SDBM_H
	modules/stat/stat.c: ifdef st_atimensec
	config/win32/config.sno: fix sleep path, add sdbm files
	modules/setuputil.sno: /LIBPATH
	include/load.h: define lret_t (required in windows DLLs)
	modules/*/*.c: use lret_t
	Makefile2.m4: remove obsolete option for com.cpp
	configure: ditch HAVE_FILE_NSEC, tweak cygwin LDFLAGS
		output to config.sno for COM module
	modules/dirs/win32/dirent.[ch]: utilities for win32
	modules/com/com.cpp (moved from snolib/win32): add COM_DL
	modules/com/setup.sno (new)
	config/win32/config.sno: set DIRS_{INCLUDE,FILES}
	modules/dirs/setup.sno: use DIRS_{INCLUDE,FILES}
	config/win32/modules.bat (new)

12/17/2014:
	README, INSTALL: update for 2.0

12/16/2014:
	man page tweaks
	configure, Makefile2.m4: install HTML in $PREFIX/share/doc/snobol4

12/15/2014:
	modules/stcl/stcl.c: clean up warning (reported by Clem Cole)
	lib/snolib/{atan,exp,tan}.c: propogate REAL_ISFINITE (Clem again)

*** 2.0-rc1 (tag REL_2_0_RC1)

12/14/2014:
	CHANGES: Updated
	configure: update version to 2.0-rc1
	
12/13/14!
	include/lib.h, lib/{init.c,io.c,snolib/host.[ch]}:
		HOST_SNO{LIB_{BASE,LOCAL,V{LIB,LOCAL}},PATH_DIR}
	configure: define SHARED_OBJ_SUBDIR
	lib/snolib/host.[ch]: HOST_SHARED_OBJ_SUBDIR
	modules/setuputil.sno: use HOST_{SHARED_OBJ_SUBDIR,LIB_V{LIB,LOCAL}}
	snolib/repl.sno: replace pattern w/ EVAL(expr)
	snolib/snopea.sno: crock to detect man pages, and turn into links!
		add =link and =anchor
	doc/snobol4.1.pea: use =link & =anchor

12/12/2014:
	configure: fix config.sno MAN3DIR
	Makefile: add M2TARGETS, timing.out, build_all
	Makefile2.m4: remove obsolete man files, add build_all
		revert to always timing on "make"
	test/bench.sno: tweak ending conditions
	
12/11/2014:
	doc/snobol4blocks.1.pea: fonts, cleanup
	snolib/snopea.sno: fix html \'
	modules/setuputil.sno: clean -- remove extras man pages
		install .sno & man files (extras too!)
	modules/*/Makefile: ../../snobol4, remove -b
	modules/sqlite3/sqlite3dbm.sno: rename SQL3DBM_ERRMSG, flush CLEARERR
	configure: output MAN3DIR in config.sno
	Makefile2.m4: use setup.sno install
		create local/shared
	Changed "dynload" to "shared"

12/10/2014:
	lib/init.c: usage: fix -b, add -N/-I
	doc/snobol4cmd.1.pea: add -N
	Makefile2.m4: install snobol4cmd.1
	snolib/sdb.sno: fix "info"; allow "ignore bkpt"
		use built-in INTEGER()
	doc/sdb.1.pea: document "ignore" change
	doc/snobol4{ctrl,func,key}.1.pea reference snobol4ext(1)

12/9/2014:
	Makefile2.m4: add snobol4{func,blocks,key,ctrl}
	doc/Makefile: add snobol4{func,blocks,key,ctrl}
	doc/snobol4func.1.pea (new): list of functions
	doc/snobol4blocks.1.pea (new): blocks extension
	doc/snobol4key.1.pea (new): list of keywords
	doc/snobol4ctrl.1.pea (new): list of keywords
	doc/snolib.3 (removed)
	doc/snolib.3.pea (new)

12/8/2014:
	doc/snobol4.1.pea: fixes
	Makefile: add rule for "with"; remove callgraph from DISP
	modules/ndbm/ndbm.c: tweak documentation

12/7/2014:
	snolib/snopea.sno: add missing escapes to html charpats
	doc/sdb.1.pea: clean up
	doc/snopea.7.pea: clean up
	doc/snobol4.1.pea split out snobol4cmd
	doc/snobol4cmd.1.pea split out of snobol4.1.pea

12/6/2014:
	snolib/snopea.sno: add =nitem, =table/=row/=etable
		put CSNOBOL4(B) version in headers
		output <body> & </body>
	doc/snopea.pea: document =nitem, =table/=row/=etable
	snopea.in: infer output format from output filename
	renamed doc/*.pea to doc/*.sect.pea *.sect.html
	doc/Makefile: explicit rules
	new: doc/snobol4.1.pea doc/snobol4ext.1.pea doc/snobol4io.1.pea
	removed old doc/snobol4.1
	moved lib/snolib/readline.c to modules/readline/
	configure: make readline a module
	modules/readline/setup.sno (new)
	modules/readline/readline.c: add pea docs
	removed old doc/snobol4readline.3
	doc/Makefile: removed snobol4readline
	Makefile2.m4: adjust READLINE_C, remove an --format option

12/5/2014:
	Makefile: add callgraph to GENERATED
	doc/Makefile: use explicit rules
		GENERATED files depend on ../snobol4
	doc/snobol4.1: move error codes to snobol4error(1)
	doc/snobol4error.pea (new): from snobol4.1
	Makefile2.m4: install config.sno
	modules/sqlite3/{sqlite3.c,funcs.sno}: add pea docs
	v311.sil: Fix compilation withut BLOCKS:
		commented out unused R_R_N
		(nested .IFs don't work)
	snolib/snopea.sno: fix HTML =item formatting
	doc/man2pea.sno: char mapping; handle .br, .IP

12/4/2014:
	Makefile: {clean,build}_modules shorthands
	Makefile2.m4: add rule for snopea.7, move GENERATED_DOCS up
		add sdb.1 to GENERATED_DOCS
		add $(SNOPEA) shorthand
		sed BINDIR/VERS into snopea.in
	configure: output, use $(RUNSETUP) shorthand
	doc/Makefile: flush test, output snopea.7 as snopea-format.{html,ps,pdf}
		Add SNOPEA=, use -N
		make snopea-format.7 a symlink
		add txt, html to ALL
	modules/setuputil.sno: fix extras handling, check for =pea lines
	snolib/snopea.sno: cleanup html charpat, complain on open errors
		add subsect, new special chars
	doc/snopea.pea: add subsect, special characters
	doc/sdb.pea: snopea version of sdb man page
	doc/sdb.1 (deleted)
	doc/man2pea.sno: handle SS, TP
	snopea.in (was snopea)

12/3/2014:
	Makefile: clean up more generated doc files
	snopea, doc/snopea.pea, modules/LOTS: don't bold parens in man page refs
	snolib/snopea.sno, doc/snopea.pea: add =break
	modules/ndbm/ndbm.c: add pea docs
	modules/random/random.c: add pea docs
	modules/stcl/stcl.c: add pea docs
	modules/time/funcs.sno: add pea docs
	doc/snobol4{dbm,random,tcl,time}.3: deleted
	doc/Makefile: remove snobol4{dbm,random,tcl,time}
	Makefile2.m4: fix modules/snobol4setup.3.html
		remove snobol4{dbm,random,tcl,time}.3
		install snopea script
		install snopea.7 page
	configure: output MAN7DIR

12/2/2014:
	Makefile: config.m4 config.h config.sno version.h version: configure
	COPYRIGHT, README, snolib/sdb.sno: update copyright date, use utf

12/1/2014:
	snolib/snopea.sno: cleanup & add oline "command"
	doc/snobol4tcl.3: fix typo
	doc/man2pea.sno: comment

11/30/2014:
	doc/snobol4dbm.3: mention snobol4sqlite3dbm(3)
	doc/snobol4tcl.3: reference wish(1) man page
	doc/man2pea.sno: a start
	moved (copied & removed) files to modules/
		snolib/{fork,logic,ndbm,random,sprintf,stcl,time}.c
		sdbm directory
	
11/29/2014:
	modules/setuputil.sno: process 'extras' w/ snopea
	modules/sqlite3/sqlite3dbm.sno: add snopea docs
	modules/sqlite3/setup.sno: add extras = sqlite3dbm.sno

11/27/2014:
	config/win32/config.sno (new)
	config/win32/{config.h,ntmsvc.mak}: tweakage for MSC
	modules/stat/stat.c: tweak for MSC
	configure: add HAVE_FILE_NSEC

11/26/2014:
	modules/sqlite3/{sqlite3dbm,testdbm}.sno: DBM interface, test
	modules/sqlite3/sqlite3.c: ifdef DEBUG

11/25/2014:
	many: replace =pod with =pea
	modules/logic/funcs.sno: add documentation
	Makefile2.m4: generated docs

11/23/2014:
	snopea, modules/dirs/dirs.c, modules/ffi/ffi.c, modules/stat/funcs.sno:
		use \- in man page header

11/21/2014:
	snolib/snopea.sno: disable hyphenation after .SH

11/20/2014:
	snolib/snopea.sno: implement character mappings
	doc/snopea.7: tweak
	snopea: use HOST_xxx constants

11/19/2014:
	doc/snobol4.1: document -b change, -x option
	doc/snobol4dbm.3: fix spelling
	doc/snopea.pea (new): snopea(7) man page
	doc/Makefile: add stuff for snopea(7)

11/18/2014:
	snopea: flush single letter opts, some renaming
	modules/setuputil.sno: make html man pages
	snolib/snopea.sno: </h1>
	configure: output MODULES_HTML MODULES_MAN
	Makefile2.m4: use MODULES_MAN

11/17/2014:
	snopea: add argument processing
	snolib/snopea.sno: add lsep for <dd>, fix html fonts

11/15/2014:
	lib/init.c: add -x to force banner
	timing: use -x
	lib/snolib/{fork,sprintf}.c: head1 -> head
	LOTS: replace =head1 w/ =sect
	snolib/snopea.sno: first cut at HTML output

11/13/2014:
	Makefile2.m4: install depends on modules/snobol4setup.3
		add rule for modules/snobol4setup.3
		install modules/snobol4setup.3
		install modules/*/*.3

11/12/2014:
	lib/init.c: no banner if source file on command line
		-b always cancels banner
	snopea: remove -b

11/11/2014:
	modules/ffi/{ffi.c,funcs.sno}: tweak doc
	snopea (new): program to run snopea

11/10/2014:
	snolib/snopea.sno: made into an include file
	modules/setuputil.sno: call snopea() if pod seen
	configure: use SNOPATH, add ../../snolib to setup.sno
	modules/ffi/ffi.c: more POD
	doc/Makefile: force old-style bolding (no escapes)
		turned off ps, pdf, html

11/9/2014:
	lib/snolib/{fork,sprintf}.c: add POD doc

11/8/2014:
	modules/setuputil.sno: add POD doc
	modules/dirs/dirs.c: fix documentation
	snolib/snopea.sno: use basename, add =bull, =code, =ecode
	snolib/basename.sno (new)

11/7/2014:
	snolib/snopea.sno (new): tiny "POD" formatter
	modules/setuputil.sno: add pre.sno, pass POD documentation
		first cut at msc commands
	modules/ffi/{ffi.c,funcs.sno}: add documentation
	modules/stat/funcs.sno: add documentation
	modules/stat/stat.c: add block device
	modules/dirs/dirs.c: add POD docs
	config/win32/config.h: more tweaking for mingw
	lib/win32/tty.c: include malloc.h under mingw

11/2/2014:
	modules/ffi/{ffi.c,funcs.sno,test.sno,test2.sno}: PREP takes one arg
		fix ffi.c for Linux
	modules/setuputil.sno: fix config.h check
	configure: fix cygwin --out-implib

11/1/2014:
	configure: tweak messages, add SO_XXX for Cygwin
	config/win32/config.h: fix CC collision
	config/win32/mingw.mak: define CC on command line
	modules/ffi/{ffi.c,setup.sno,test.sno,test2.sno}: FFI interface!!
	configure: detect ffi, try making libsnobol4export.a on cygwin
	config/win32/mingw.mak: try making libsnobol4export.a

10/22/2014:
	modules/sqlite3/sqlite3.c: fix typo, floating point tweaks

10/21/2014:
	main.c: display MODIFIED_BANNER if defined

10/20/2014:
	Makefile2.m4: snolib cleanup
	lib/snolib/fork.c: WAITPID cleanup
	lib/snolib/readline.c: add free()

10/19/2014:
	configure: add fork module
		auto-detect Tcl on MacOS
	lib/snolib/fork.c: add WAITPID()
	modules/fork/setup.sno: new

10/18/2014:
	Makefile2.m4: removed time.o sleep.o logic.o random.o sprintf.o
		from snolib.a
	configure: ADD_OBJS([logic.o random.o time.o sleep.o]) if --force-pml
		add sprintf module
	config/win32/config.h: first cut at MSC, Borland flags
	modules/sprintf/setup.sno: new

10/16/2014:
	modules/setuputil.sno: auto-detect distribution builds
	configure: flush dbuild
	test/run.sh: show search path
	lib/snolib/{delete,exit,getenv,host,ndbm,
		readline,rename,sprintf,stcl}.c: use mgetstring, free

10/16/2014:
	configure: check for timegm; fix missing "c"; add SETUP_SYS
	lib/snolib/time.c: add TIMEGM()
	lib/snolib/host.[ch]: add HOST_SETUP_SYS
	config/win32/config.h: alias for timegm, add HAVE_TIMEGM
		add SETUP_SYS, SO_LD, DL_LD
	modules/setuputil.sno: use HOST_OBJ_EXT, HOST_SETUP_SYS

10/14/2014:
	lib/snolib/ndbm.c: fix day one error in LOAD() comment
		(now being used to generate ndbm.sno)!!
		Misbehavior spotted by Rafal Sulejman

10/13/2014:
	Makefile: cleanup for modules directories
		add "with" as configure output
		remove configure dependancy
			(runs constantly when newer than with)
	Makefile2.m4: explictly pass -N to test/run.sh
	test/run.sh: remove -N (explicitly passed by Makefile2)
	v311.sil,procs: remove unused blocks code/functions
	bsdtsort.c: quiet clang 3.3 warnings
	configure: fix ndbm loadable w/ sdbm
	sdbm.c: save errno for dbm_error

10/12/2014:
	Makefile2.m4: install MODULES_{INCLUDE,LOADABLE}

10/11/2014:
	modules: dirs logic ndbm random sqlite3 stat stcl time
	(only a year after code was written!)
	too many changes to mention.
	-N option
	-INCLUDE no longer implicitly searches local dir (must be in path)
	Tested on FreeBSD 10.0, Ubuntu 12.04.05, MacOS 10.7.5

10/8/2014:
	Makefile2.m4: install handle.h
	configure: use -rdynamic on ELF systems; add -fPIC to SO_LDFLAGS

3/17/2014:
	configure: check for lstat(), define HAVE_LSTAT

2/22/2014:
	configure: check for isfinite(); define HAVE_ISFINITE
	include/macros.h: check HAVE_ISFINITE
		"finite" gives warning on MacOS 10.9
		(reported by Clem Cole)

1/18/2014:
	v311.sil: [PLB124] fix "FUNCTION" TRACE()
		(problem reported by Dani Richard)
	test/tests.in: add trfunc.sno
	test/trfunc.{sno,ref}: new: tests for TRACE

1/1/2014:
	configure: quiet warnings for "alignof"

12/24/2013:
	Makefile2.m4: install str.h
	configure: add OBJECT_EXT
	config/{win32,vms,djgpp}/config.h: add OBJECT_EXT
	lib/snolib/host.[ch]: add OBJECT_EXT, HOST_OBJ_EXT
	lib/snolib/{logic,random,time}.c: add LOAD() comments

12/22/2013:
	configure: switch to --without-blocks

11/9/2013:
	snolib/wrapper.sno: add INT32, INT64
	configure: use -fPIC

11/4/2013:
	pml.h: BREAKPOINT() was under ifdef PML_RANDOM

11/3/2013:
	Makefile2.m4: add INSTALL_BIN_FLAGS
	configure: use "check" for bindresvport[_sa]()
		clear INSTALL_BIN_FLAGS on MacOS
		add '-undefined dynamic_lookup' on MacOS
	lib/win32/com.cpp: fix a paste-o

10/28/2013:
	configure: fix manpath default display

10/27/2013:
	v311.sil: [PLB123] Add &COMPNO (ala SITBOL/SNOBOL4B)
	snolib/sdb.sno: use &COMPNO
	lib/io.c: flush unused variable

10/26/2013:
	v311.sil: [PLB122] Fix paste-o for single letter 'R' trace

10/22/2013:
	Merge from BR_1_5_PLUS_BLOCKS (see below)

=== merged from BR_1_5_PLUS_BLOCKS

10/17/2013:
	v311.sil: [PLB121] Clean up PRINT/EJECT carriage control
		Implement ASCII Carriage Control if CC(unit) < 0
	lib/io.c: Implement ASCII Carriage Control if CC(unit) < 0
		add findfile() function; do multiple writes in fastpr
	{acm44[01],mts1{44,6[46]},reg,tree[12]}.ref: update

10/15/2013:
	v311.sil: [PLB119] fix BCHAR() -- was writing into const string
		  clean up warning FORMATs, report file & line
		  [PLB120] change DI_8 to DI_DSC for 64-bit systems!
	test/blocks/bc.{sno,ref}: test BCHAR
	test/blocks.in: add blocks/bc.sno

10/13/2013:
	test/blocks.in: tweak dump test
	test/blocks/dump.ref: update
	lib/io.c: supply missing argument to io_print_str()!

10/12/2013:
	test/blocks.in: blocks/mts16[246].sno
	blocks/mts16[246].{sno,ref}
	lib/str.c: remove divide from movblk2

10/11/2013:
	Working better!
	v311.sil: [PLB118] replace MOVBLK with MOVBLK2 in BLAND
	genc.sno: add MOVBLK2
	include/macros.h: add MOVBLK2
	include/lib.h: add movblk2
	lib/str.c: add movblk2
	test/blocks.in: blocks/{box,acm443a,mts145,tree1,tree2}
	test/test.in.sh: (new) take BASE from environment
	test/blocks/{box,mts14[35],tree[12]}.ref (new)
	test/blocks/{mts145,tree}.sno (new)

10/11/2013:
	On branch BR_1_5_PLUS_BLOCKS
	SNOBOL4B (SNOBOL4 with BLOCKS) thanks to Mike Alexander <mta@umich.edu>
	new: procs.blocks
	genc.sno: Make macros used by BLOCKS macros into functions.
		Add --with NAME flag, process .IF[E] NAME / .FI
		Add notes about clearing F&V from reading PDP-10 macros
		Read procs.blocks if --with BLOCKS selected
		BLOCKS macros: CYC IF{DEF,FIT,MERGE,PHY,REP,ST,CONT}
			MAX, MERGSP, NN, RELS, SWAP, TRL, FASTPR
	Makefile: add "with"
	bsdtsort.c: make hash unsigned, do rotate
	configure: add --with-blocks, write "with" file (if changed)
	gendata.sno: Add --with flag, process .IF NAME / .FI
		Process data defns before end of code (for BLOCKS)
	gensyn.sno: Add --with flag, process .IF NAME / .FI
	globals: add BLOCKS related globals
	main.c: change name to CSNOBOL4B under ifdef BLOCKS
	syntax.tbl: add blocks binary operator tables: BBIOPTB and BSBIPTB
	v311.sil: [BLOCKS] add BLOCKS code
		  [PLB117] add -[NO]BLOCKS to dis/enable blocks operators
	lib.h: add io_fastpr(), mergsp()
	macros.h: renamed INSERT macro to X_INSERT; add FASTPR, MERGSP macros
	lib/init.c: add -B option to toggle blocks
	lib/io.c: io_printf(): add %A %L %V
	test/blocks.in: list of blocks tests
	test/test.{dump,err,genc,opt,reg,trace}.sh: handle test with dir name
	test/blocks/ (new)
	test/blocks/{ab,acm4{39,40,41,42,43,43a,43b},
			block{0,0n,1,1b,1b},
			box,dump,image,reg,tree
			mts14{2,3,4}.{sno,ref}

==== end merge from BR_1_5_PLUS_BLOCKS

10/15/2013:
	configure: check double alignment; disable bitfields if strict
		(would pad descriptor to 16 bytes).

10/11/2013:
	tag TAG_1_5_PLUS
	branch BR_1_5_PLUS_BLOCKS

10/8/2013:
	make.bat, pkg/win32/{sdb,timing}.bat:
		wrap batch file variable expansions in double quotes
		replace NL with CRLF
	configure: check for ELF the same way on all BSD systems

10/6/2013:
	configure: check for BASEDIR/share/man (Reported by Mike Greenberg)

10/3/2013:
	timing: force display of /sys/devices/..../name path
	configure: add CFLAGS_LONGLONG

10/2/2013:
	configure: update to version 1.5+

10/1/2013:
	config/win32/ntmsvc.mak: add SNOBOL4_C_CFLAGS
	pkg/win32/makezip.sh: make SNOBOL4 upper case
	configure: check for long long, output SIZEOF_{INT,REAL}_T
	include/macros.h: handle SIZEOF_INT_T != SIZEOF_REAL_T in DCMP
	lib/pair.c: include equ.h for DCMP()
	config/win32/config.h: add SIZEOF_{INT,REAL}_T

**************** release 1.5 (CVS tag REL_1_5)

10/1/2013:
	configure: update version to 1.5

9/27/2013:
	conf/win32/config.h: comments on _WIN64 ifdef
	Makefile: took cpuid out of "make cleanmostly"
		remove *.exe in "make clean"
	make.bat: (new) got tired of typing makefile path for VS
	lib/snolib/random.c: forgo use of [s]size_t for VS
		add pragma to disable warning on VS
	doc/snobol4.1: update HOST() example

9/26/2013:
	snolib/sdb.sno: make sure &INPUT enabled before trying to read!!
		found trying to debug genc.sno (for SNOBOL4B)
	doc/snobol4.1: fix documentation for "-PLUSOPS"
	configure, lib/snolib/random.c: ditched HAVE_DEV_RANDOM
		pick up DEV_RANDOM, if defined

9/25/2013:
	Makefile2.m4, configure, sdb.sh: fix sdb.sno path
	params.h: fix snobol4.c compilation!

9/24/2013:
	Makefile2.m4: put SNOBOL4_C_FLAGS after CFLAGS
		straighten out(?) SNOLIB_xxx paths
		install docs at version top level
	configure: enable -Wall for gcc, set SNOBOL4_C_FLAGS like w/ clang
		OPT=-O3 w/ clang
		straighten out(?) SNOLIB_xxx paths
	timing: clean up dmesg.boot (e)grep
		find/run lspci -v on linux for any VM info
		flush ref to config.guess
		find /sys/devices/...../model files
	lib/init.c: fix strjoin() calls for K&R C
		fix VER/lib path (found on Windows!)
	lib/snolib/random.c: enhance comment
	.cvsignore: add version
	sdb.sh: remove listfile on exit trap
	pkg/win32/install.bat: COPYRIGHT, CHANGES, README, fix README.win32
		take SNOBASE as optional argument
	pkg/win32/makezip.sh (new)

9/23/2013:
	v311.sil: [PLB116] use SMAXINT
	config/win32/config.h: add ifdef _WIN64, USE_MEMMOVE, USE_MEMSET
	config/win32/ntmsvc.mak: remove bcopy, bzero
	include/str.h: add ifdef USE_MEMSET
	include/snotypes.h: define SMAXINT, use (unsigned INT_T)1
	configure: save INITIAL_CFLAGS
		enable warnings for problems found by clang
		detect clang, disable warnings for SIL code issues
	pml.h, lib/dump.c, lib/{dump,bsd/inet6,posix/tty}.c
		fix nits to quiet clang
	include/macros.h: fix nit found by gcc w/ -Wparens enabled
	lib/{io,snolib/serv,unix98/load}.c: fix bugs found by clang warnings
	pkg/win32/sdb.bat: add LIBDIR, comments, RCS-Id

9/22/2013:
	lib/io.c, lib/init.c: make UINTCL a counter for VC10 ^C handling
		ditched DEF_SNOPATH; build using SNOLIB for base
		add io_show_path() -- command line option -z
	include/lib.h: add io_show_path()
	pkg/win32/README.win32 (new)
	pkg/win32/install.bat: install README.win32
	configure: ditch DEF_SNOPATH, add SNOLIB_BASE
	config/win32/config.h: ditch DEF_SNOPATH, define SNOLIB_BASE
	doc/snobol4.1: update

9/20/2013:
	lib/io.c: try to clear EOF condition from ^C in VC10

9/19/2013:
	lib/init.c: re-arm SIGINT handler for Win32/VC10

*** 1.5-rc3 (tag REL_1_5_RC3)

9/19/2013:
	configure: update to 1.5-rc3
	CHANGES: update
	lib/init.c: usage() displays built-in SNOPATH setting
	doc/snobol4.1: update
	doc/snobol4tcl.3: update date
	lib/io.c: moved "mode" string creation to of io_fopen2()

9/18/2013:
	Makefile: use HAVE_CONFIG_H w/ tsort
		recurse to make tsort, so isnobol4.c doesn't
		depend on tsort or config.h!!
	bsdsort.c: use HAVE_CONFIG_H
	INSTALL: update
	doc/sdb.1: update
	doc/snobol4.1: update
	lib/init.c: don't raise "User Interrupt" if &ERRLIMIT is zero.
	snolib/sdb.sno: comment
	configure: remove old comments

9/17/2013:
	lib/init.c: Set UINTCL on SIGINT except if in compiler
	snolib/sdb.sno: detect and ignore ^C in readline()
	Makefile: bsdtsort requires config.h to build/run correctly on 64bits
	bsdsort.c: need config.h to get include file ifdefs

9/16/2013:
	config/win32/config.h: add "lib" to default SNOPATH
	pkg/win32/sdb.bat: add \lib\ to sdb.sno path

9/15/2013:
	configure: --with-tcl= now requires path to tclConfig.sh
		fix forkpty check on OSX
	INSTALL: document --with-tcl=
	lib/io.c: fix compilation without PTYs

9/14/2013:
	configure: check for forkpty
	lib/io.c: add support for ||ptycommand
		unionize variant data

9/13/2013:
	configure: check for clock_getcpuclockid()
	lib/posix2001/mstime.c: use clock_getcpuclockid()
	pkg/win32/install.bat: moved from config dir, updated, enhanced
	config/win32/config.h: have SNOLIB_DIR include drive name
	snolib/sdb.sno: cleanup

9/12/2013:
	snolib/sdb.sno: fix watchpoints, use SCONTINUE for ^C (again)
	v311.sil: [PLB114] pulled LASTFILE/LINE & USRINT checks to top of INIT
		[PLB115] single letter trace types (ala SPITBOL)
	test/t.{sno,ref} (new): test single letter trace types
	test/tests.in: add t.sno

9/11/2013:
	snolib/sdb.sno: cleanup;
		"silent" command now works
		next steps only once

9/10/2013:
	snolib/sdb.sno: cleanup

9/5/2013:
	snolib/sdb.sno: upto 25x faster!!
		enable STCOUNT trace ONLY when needed!!
		use BREAKPOINT() (&STNO trace)
		use FNCLEVEL trace for finish/next

9/3/2013:
	configure: create version file
	Makefile: note version file

9/2/2013:
	test/keytrace.{sno,ref}: test STOPTR and reenable
	config/win32/snobol4.vcxproj: add break.c
	snolib/sdb.sno: flush VARS0

8/31/2013:
	snolib/sdb.sno: get rid of CONS on first trap line (was failing?)
		set SDB.INTERRUPT on ^C instead of STEP_COUNT
		move SDB.TRAP.EXIT entry up
		clean up SETEXIT_HANDLER
	doc/sdb.1: add "what" command
	v311.sil: [PLB113] fix keyword trace output I broke in 2005 (in [PLB90])
		add chk_break() call -- fires STNO KEYWORD trace
	lib/break.c (new): chk_break() and BREAKPOINT()
	Makefile2.m4: add break.c
	config/{djgpp/Makefile,vms/descrip.mms}: add break.c
	config/win32/{borland,mingw,ntmsvc}.mak: add break.c
	pml.h: add BREAKPOINT() function
	include/lib.h: add chk_break()
	test/tests.in: add keytrace.sno
	test/keytrace.{sno,ref}: test KEYWORD tracing, incl. BREAKPOINT()

8/30/2013:
	v311.sil: [PLB112] save/restore &LAST{FILE,LINE} in TRPHND
		restore saved &LINE at GOTL3 (ABORT handler)
	test/setexit.{sno,ref}: output &LAST{NO,FILE,LINE}
	test/setexit6.{sno,ref}: setexit.sno w/ STCOUNT trace
	test/tests.in: add setexit6
	snolib/sdb.sno: output date as well as version
	test/bench.sno: drop max time to 60s (from 120s)

*** 1.5-rc2 (tag REL_1_5_RC2)

8/29/2013:
	configure: test for rl_copy_keymap() -- missing on NetBSD/OSX
		update for 1.5-rc2

*** 1.5-rc1 (tag REL_1_5_RC2)

8/27/2013:
	lib/unix98/load.c: fix missing return value (found by clang)
	test/tests.in: add atn.sno
	test/atn.{sno,ref}: new test
	CHANGES: updated
	README: add Fred Weigel to credits
	doc/sdb.1: credit Fred Weigel for DDT

8/26/2013:
	snolib/sdb.sno: add "what" command
	v311.sil: [PLB111] check for null value in LABEL()
	pkg/win32/{sdb,timing}.bat: use %~dp0 to get SNODIR
	pkg/win32/timing.bat: use start for ^C trapping
	lib/posix2001/mstime.c: fall back to getrusage()
	    flush unused variable

8/25/2013:
	CHANGES: updated
	README: updated for 1.5
	snolib/sdb.sno: updated copyright
	doc/snobol4.1: update with 1.5 changes, all error numbers
	configure: update to 1.5rc1
	doc/sdb.1: mention error catching, ^C
	pkg/win32/{sdb,timing}.bat: use SYSTEMDRIVE

8/24/2013:
	lib/init.c: fatal error if -L file doesn't exist
		allow list to stdout w/ -l -
	test/setexit4.{sno,ref}: test END trap after error
	test/setexit5.{sno,ref}: test [F]RETURN from error handler
	test/tests.in: add setexit[45]

8/23/2013:
	snolib/sdb.sno: allow continue after error
		trap ^C (step once)
	v311.sil: [PLB110] fix continue from END after an error
			fix duplicate END2 label
	procs: add END0
	test/diag1.ref: adjust

8/22/2013:
	init.c: if SETEXIT handler set, set UINTCL on SIGINT (^C)
	v311.sil: [PLB109] Implement "User Interrupt" (SIGINT) handling
		Set &LAST{NO,FILE,LINE} in XITHND
		Allow new errors to overwrite old return information
	procs: add USRINT, remove XITERR
	snolib/sdb.sno: cleanup, use SETEXIT()
	snobol4.1: add missing .TP

8/16/2013:
	timing: add "END"
	lib/init.c: explicitly init lib path with "."
	lib/io.c: fix some memory leaks
		no longer need to try include locally first
	pkg/win32/timing.bat: add "running benchmark:" and "END"

8/15/2013:
	config/win32/snobol4.vcxproj: add loadx.c
	config/win32/ntmsvc.mak: fix cpuid build

8/14/2013:
	configure: check for POSIX-2001 clock_gettime(CLOCK_PROCESS_CPUTIME_ID)
	config/check: add -r and -d options (also honor CHECK_DEBUG)
	lib/posix2001/mstime.c: get precise runtime on Linux
	timing.sno: add PREC() INT() functions
	Makefile2.m4: make separate tested target
	Makefile: have make clean remove tested
	config/win32/ntmsvc.mak: fix loadx.obj, add cpuid.exe
	lib/win32/osopen.c: fix /dev/null, unbuffer /dev/tty
	pkg/win32/sdb.bat: script to run sdb!
	pkg/win32/timing.bat: script to run timing!!
	timing.sno: don't look for shell time on windows

8/13/2013:
	COPYRIGHT, README: update copyright for 2013
	timing: run test/bench.sno
	test/genc.sno: frozen version of 1.4.1 genc for regression test
	test/test.genc.sh: test script for genc
	test/tests.in: add genc test
	test/{callgraph,genc,proc.h,static.h}.ref: genc test outputs
	test/bench.sno: frozen benchmark 1.4.1 genc; loops for accuracy
	test/v311.sil, test/globals, test/procs: 1.4.1 files for timing, genc
	test/{nqueens,sudoku}.{sno,ref}: from berstis.com
	test/tests.in: add nqueens,sudoku

8/7/2013:
	doc/snobol4tcl.3: update example code
	v311.sil: [PLB108] Add &MAXINT
	lib/snolib/host.c: moved BPS to include/snotypes.h
	include/snotypes.h: add BPS, MAXINT
	test/maxint.{sno,ref}: test &MAXINT
	test/tests.in: add maxint
	configure: drop down to 15 digits precision for double formatting
		better safe than sorry.  15 is all Perl prints!
	test/float2.{sno,ref}: add more tests

8/6/2013:
	lib/snolib/stcl.c: fix for Tcl 8.6
		problem found by Michael Richter

8/4/2013:
	v311.sil: [PLB107] Display avg ns. per statement
		Add &STEXEC -- total statements executed
		    &GCTIME -- total time in GC
	timing.sno: update for ns.

8/1/2013:
	v311.sil: [PLB106] add &PI

7/31/2013:
	test/float.{sno,ref}: output PI
	test/pow.{sno,ref}: output only rational numbers
	test/float2.{sno,ref}: test for double precision formatting
	test/digits.{sno,ref}: test for &DIGITS &LCASE &UCASE
	test/spit.sno: truncate PI string
	test/tests.in: add float2, digits
	data_init.c: add DIGITS
	v311.sil: [PLB105] add &DIGITS

7/6/2013:
	Discovered 64-bit doubles are never output with full precision,
		Thanks to Phillip Thomas
	configure: define REALST_FORMAT when double precision in use
	lib/realst.c: add REALST_FORMAT
	lib/ansi/spreal.c: use real_t

7/5/2013:
	timing: tweak lsb_release usage for Beaglebone "Angstrom"

12/3/2012:
	lib/win32/sys.c: add WinServer2012

7/8/2012:
	configure: OpenBSD MIPS requires sys/types.h before socket.h
		(reported by Anonymous)

4/24/2012:
	doc/snobol4.1: document default INPUT record length
		(suggested by John McHugh)

3/9/2012:
	snolib/dynamic.sno: use HOST(HOST_INCLUDE_DIR)

3/6/2012:
	lib/loadx.c: include stdlib.h
	lib/io.c: avoid rl_keymap_discard()
		call rl_initialize() if no rl_keymap_discard() available
		works on OS X 10.4 (but not NetBSD 5.1?)
	configure: check libedit for readline()

3/4/2012:
	include/lib.h: add strjoin()
	lib/str.c: add strjoin()
	lib/loadx.c: try bare path + DL_EXT
	lib/unix98/load.c: if path contaisn no DIR_SEP, try ./path

2/29/2012:
	configure: set HAVE_RL_SET_KEYMAP
	lib/io.c: check HAVE_RL_SET_KEYMAP (OS X comes with NetBSD editline)

2/24/2012:
	configure: replace HAVE_READLINE with COMPILER_READLINE
	lib/io.c: honor COMPILER_READLINE
	gendata.sno: add REAL op
	genc.sno: fix many ops; set LIVE if no success label
	v311.sil: [PLB104] safety check KSt/sec division; use REAL constants
		flush SPDLDR; increase PMSTACK to 8000, ISTACK to 4000
	lib/init.c: increase NDYNAMIC to 512K, flush SPDLDR

2/23/2012:
	doc/snobol4random.3: fix typo, enhance SRANDOMDEV entry.
	v311.sil: [PLB103] Report K Statements/sec

2/18/2012:
	Makefile2.m4: install INCLUDE_H files in INCLUDE_DIR

2/17/2012:
	lib/unix98/load.c: add missing return
	configure: put SNOLIB_DIR/local (w/ version) before SNOLIB_BASE/local

2/15/2012:
	Use loadx/os_load for Win32
	config/win32/{borland,mingw,ntmsvc}.mak: add loadx.c
	lib/loadx.c: add comment
	lib/win32/load.c: convert to os_load() API
	lib/init.c: Add def_snopath
		    
2/15/2012:
	lib/loadx.c (new): O/S independant load(), callx(); uses "lib_find"
	Makefile2.m4: add LOADX_C, loadx.o rule
	configure: add loadx.o when using unix98/load.c
	timing.sno: output KStatements/sec
	include/lib.h: add mspec2str(), os_load()
	lib/str.c: add mspec2str(), strjoin()
	lib/unix98/load.c: implement os_load()

2/14/2012:
	v311.sil: [PLB102] Add -HIDE for sdb
	snolib/sdb.sno: use -HIDE
	pml.h, lib/snolib/file.c: add FILE_ISDIR, FILE_ABSPATH, use mgetstring
	test/tests.in: add file.sno, hide.sno
	test/file.{sno,ref} (new): test FILE, FILE_ISDIR, FILE_ABSPATH
	load.h: add RETPRED(bool)
	test/run.sh: set enviroment variables inside a subshell
	lib/init.c: add pathinit(): called after options, before io_preload()
	test/hide.{sno,ref} (new): test -HIDE

2/13/2012:
	tests/run.sh: remove bogus shifts

2/12/2012:
	doc/snobol4.1: update for SNOPATH, -I, -L
	test/tests.in: add include path, preload tests
	tests/run.sh: handle command line, environment args
	tests/include{2,3,4}.{sno,ref}: include path tests
	tests/preload{1,2,3,4}.{sno,ref}: preload tests
	test/aa/aa.sno: include test file
	test/bb/bb.sno: include test file
	test/pa/preload.sno: preload test file
	test/pb/preload.sno: preload test file

2/10/2012:
	lib/io.c: move preload code to io_preload()
	lib/init.c: call io_preload()
	include/lib.h: declare io_preload()

2/9/2012:
	configure: drop DEF_SNOBOL_PRELOAD_PATH
	lib/init.c: default SNOBOL_PRELOAD_PATH from SNOPATH
		append PRELOAD_FILENAME to dir names in SNOBOL_PRELOAD_PATH
	lib/io.c: use abspath() function
	include/lib.h: add prototypes for isdir() and abspath()
	lib/generic/exists.c: add isdir() and abspath()
	lib/win32/exists.c: add isdir() and abspath()

2/2/2012:
	v311.sil: [PLB101] only modify function entry if LOAD succeeds
o	test/tests.in: add loaderr.sno
	test/loaderr.{sno,ref}: test load failure

2/2/2012:
	configure: add DEF_SNOBOL_PRELOAD_PATH
	lib/init.c: new preload code: SNOBOL_PRELOAD_PATH env var
		-L FILE preloads a file (search SNOPATH)
	sdb.sh: use -L for sdb.sno

1/22/2012:
	configure: add INCLUDE_DIR, DEF_SNOPATH, version 1.5-
	lib/io.c: add lib dirs; io_add_lib_{dir,path}, io_lib_find
	include/lib.h: io_add_lib_{dir,path}, io_lib_find
	lib/init.c: set up lib path: honor SNOPATH, -I option
	lib/snolib/host.[ch]: add HOST_DEF_SNOPATH, HOST_INCLUDE_DIR

**************** rerelease 1.4.1 (CVS tag REL_1_4_1bis)

1/22/2012:
	include/snotypes.h: flush uint_t (Solaris sys/types.h has uint_t)
	lib/generic/expops.c: flush uint_t; use unsigned INT_T
	
**************** release 1.4.1 (CVS tag REL_1_4_1)

1/19/2012:
	include/snotypes.h: add uint_t for expops.c
	lib/generic/expops.c: use uint_t fix Solaris Studio warning
	lib/snolib/ndbm.c: include stdlib for strtol()
	Makefile: add cpuid
	Makefile2.m4: have cpuid depend on cpuid.c, use CC
	cpuid.c: update for Solaris Studio,
		report compiler versions
	configure: check for finite() in ieeefp.h on Solaris
		use CFLAGS on size check
	include/macros.h: check for FINITE_IN_IEEEFP_H

1/18/2012:
	configure: cleanup/fix socket tests (again)
	README: add Anonymous

1/16/2012:
	configure: rework socket library tests for Solaris
		simplify socklen_t check
	Makefile: remove sdb in make clean
	.cvsignore: add version.h
	snolib/dynamic.c: use DSEP, add DYNAMIC.DEBUG variable

1/15/2012:
	configure: detect glibc on Ubuntu, set HAVE_GLIBC
	lib/snolib/time.c: test for HAVE_GLIBC, check datatypes, lengths
	test/random.{sno,ref}: show avg*100

1/11/2012:
	doc/sdb.1: add readline references
	CHANGES: update

1/10/2012:
	Makefile: add all, sdb
	Makefile2.m4: add all, ALL
		install sdb as sdb-VERS, snobol4-VERS
		have sdb use snobol4-VERS
		make symlinks to sdb, snobol4
	sdb.sh: add <VERS>
	test/random.{sno,ref}: test RANDOM()
	tests.in: add random.sno

1/9/2012:
	Makefile2.m4: make sdb depend on configure
	snolib/sdb.sno: fix readline test!
	configure: fix typo
	doc/sdb.1: can't break on END label
		fix bolding on "next"

1/7/2012:
	configure: try to fix tcl search on ubuntu; update to v1.4+
	doc/.cvsignore: add snobol4{random,tcl,time}.{0,html,ps,pdf}
	Makefile2.m4: install sdb.1

**************** release 1.4 (CVS tag REL_1_4)

1/6/2012:
	INSTALL, README: update for 1.4 release
	lib/snolib/readline.c: include stdlib.h for free()
	include/load.h: fix RETSTR_FREE() warning
	lib/auxil/bindresvport.c: fix VS10 warning
	doc/snobol4tcl.3: update date
	configure: fix gdbm support on cygwin, cleanup readline checks
		move LIBDIR under Tcl support
		update version to 1.4

**** tag REL_1_4_RC2

1/5/2012:
	load.h: add RETSTR_FREE() macro
	lib/snolib/random.c: add GCC pragma to disable -Wunused
	lib/snolib/readline.c: use RETSTR_FREE()
	configure: export CC and CFLAGS (if needed) for "check script
	Makefile2.m4: update timing.out advertisement

1/5/2012:
	configure: give error exit when MINGW detected to abort "make"
	config/win32/snobol4.vcxproj: add sleep.c
	lib/win32/sleep.c: fix includes for non-test compilation
	lib/generic/sleep.c: fix includes

1/4/2012:
	configure: look for nanosleep(); use posix/sleep.c; update to -rc2
	config/win32/{borland,mingw,ntmsvc}.mak: add sleep
	config/win32/config.h: add HAVE_SLEEP
	doc/snobol4time.3: document sleep failure return
	include/lib.h: sleepf() returns int
	lib/{bsd,generic,win32}/sleep.c: return value
	lib/posix/sleep.c (new): use nanosleep
	test/sleep.{sno,ref} (new): test sleep
	test/tests.in: add sleep.sno
	pml.h: removed RANDOM prototypes
	doc/snobol4.1: remove RANDOM function
	doc/snobol4random.3 (new): document RANDOM functions
	doc/snobol4readline.3 (new): document READLINE functions
	doc/Makefile: use implicit rules, add snobol4r{andom,eadline}
	snolib/random.sno (new): load RANDOM functions
	snolib/readline.sno (new): load READLINE functions
	Makefile2.m4: add snobol4{random,readline,time}.3
	lib/init.c: use %lu for sizes to avoid warnings (want %z)
	lib/snolib/time.c: fix features defines for Ubuntu 11.10 (glibc 2.13)

1/3/2012:
	config/check (new): do a test compile w/ include, code, libs
	configure: use config/check
		fix for COM libs on Windows 7 (thanks to Robert Shanley)
		add --without-com
		use db.h for dbm w/ DB_DBM_HSEARCH
		add checks for sleep.c
	snolib/readline.sno (new): readline prototypes
	snolib/sdb.sno: use readline.sno
	pml.h: removed readline prototypes
	lib/generic/execute.c: use NULL to keep gcc quiet
	Makefile2.m4: add SLEEP_C/sleep.o
	lib/snolib/time.c: use sleepf(real_t) for SLEEP()
	lib/bsd/sleep.c (new): implement sleepf using select
	lib/generic/sleep.c (new): implement sleepf using sleep
	lib/win32/sleep.c (new): implement sleepf using Sleep
	include/lib.h: add sleepf()
	doc/snobol4time.3: document SLEEP taking f.p. seconds
	timing: more release files

1/2/2012:
	configure: use LIBDIR in TCL_CONF_DIRS instead of /usr/lib
		detect MINGW
		uname cleanup
	lib/win32/sys.c: Add a cast, arm architecture
	cpuid.c: fix MSC defines

1/1/2012:
	snolib/sdb.sno: update copyright notice
	configure: flush ALTLIBDIR
	lib/snolib/time.c: cleanup: enums, error checks/returns
	lib/snolib/readline.c: fix warning
	lib/win32/sys.c: Add Win 8, show build on unknown systems
	lib/init.c: fix warning

12/31/2011:
	cpuid.c: rework for 64-bit Mac and Windows
	configure: quiet some compiler warnings, fix HWNAME display
	CHANGES: cleanup

*** 1.4-rc1

12/30/2011:
	Update manual pages, CHANGES, COPYRIGHT, README
	New: doc/snobol4time.3, doc/sdb.3

12/29/2011:
	pml.h, lib/snolib/random.c: add SRANDOM, SRANDOMDEV
	       default to srandom(1) for seed.
	v311.sil: [PLB100] SETEXIT returns old value
	doc/snobol4.1: Document ATAN, LN, SETEXIT.

12/28/2011:
	configure: use tclConfig.sh for Tcl configuration
		   (Thanks to Michael Richter)

10/1/2011:
	cpuid.c: declare main as returning int
	configure: declare main as returning int, avoid exit()

9/24/2011:
	timing: look for acpi0: in dmesg.boot

9/23/2011:
	cpuid.c: Get Hypervisor info (name)
		only use PIC code on OSX
		ifdef body for x86[-64]
	Makefile: always compile cpuid
	timing: remove -fPIC, run cpuid if it exists

9/5/2011:
	cpuid.c: make PIC safe (for MacOS) with help from
	  http://sam.zoy.org/blog/2007-04-13-shlib-with-non-pic-code-have-inlin
	timing: force -fPIC for cpuid compile (default on MacOS)

8/18/2011:
	configure: crock to look in /usr/lib/INSTSET-linux-gnu for
		gdbm_compat library for Ubuntu 11.04

6/19/2011:
	configure: look in /usr/include/tcl*.* for tcl.h
		problem reported by Michael Richter
		Fatal error if Tcl not found when --with-tcl given!

	doc/snobol4tcl.3: remove duplicated code from example program

6/1/2011:
	doc/snobol4tcl.3: remove FILES section (pasted from dbm page)!

5/25/2011:
	doc/snobol4.1: fixes from Mark Laster
	README: Add Mark Laster, update for 2011
	COPYRIGHT: Update for 2011
	TODO.soon: update (parity: removed one, added one)

2/16/2011:
	removed version.c, no longer used
	configure: put VERSION and VERSION_DATE in version.h
		output HAVE_SLEEP
		check for /dev/random, output HAVE_DEV_RANDOM
	main.c: include version.h
	Makefile: version.h create by configure
	Makefile2.m4: install version.h
	config/djgpp/Makefile, config/vms/descrip.mms,
	    config/win32/{borland.mak,mingw.mak,ntmsvc.mak,snobol4.vcxproj}:
		flush version.c
	lib/snolib/time.c: check HAVE_SLEEP
	lib/snolib/random.c: fix a warning, try making win32 safe,
		always call into own [s]random() functions!
	config/win32/{borland.mak,mingw.mak,ntmsvc.mak,snobol4.vcxproj}:
		add atan, random

2/7/2011:
	lib/init.c: fix "-l" entry in usage message
	doc/snobol4.1: merge two &GTRACE entries
		update -l entry, URLs

2/2/2011:
	configure: fix readline test

1/30/2011:
	lib/snolib/time.c: add SLEEP()
	snolib/time.sno: add SLEEP()
	pml.h: add SLEEP
	configure: define VERSION & VERSION_DATE here
		output VERSION and VERSION_DATE into config.h
		output VERS into config.m4
		append VERSION to default SNOLIB_DIR
 	removed: version.c
	Makefile: remove pv
	Makefile2.m4: remove pv, version.c, version.o
	main.c: move version display in-line
	
1/29/2011:
	new sdb.sh: driver script for SDB debugger
	Makefile2.m4: create and install sdb from sdb.sh

1/24/2011:
	new snolib/random.c: FreeBSD random() function
	pml.h: add RANDOM
	Makefile2.m4: add random
	sdb.sno: cleanup

1/23/2011:
	v311.sil [PLB99] fix FUNCTION for referenced, but undefined functions
	Makefile2.m4: add atan to snolib
	pml.h: add ATAN, LN
	version.c: update to 1.3+
	sdb.sno: get version from Id, use readline
	test/function.sno: test undefined, but referenced functions!

1/22/2011:
	configure: add --snolibdir= --without-readline
	configure, Makefile2.m4: add readline
	pml.h: readline, atan, ln
	new lib/snolib/readline.c: readline functions
	new lin/snolib/atan.c: arc tangent
	new snolib/sdb.sno
	sdb.sno: use readline!

1/21/2011:
	v311.sil [PLB98] SETEXIT cleanup; prohibit re-entry, trap at END
	test/diag1.{ref,sno}: update for SETEXIT
	test/diag2.ref: update for SETEXIT
	test/setexit.sno: update
	test/setexit2.{ref,sno}: test for END trap
	test/tests.in: add setexit2.sno
	test/time.{sno,ref}: test MKTIME w/ LOCALTIME

1/20/2011:
	v311.sil: [PLB97] implement SETEXIT/CONTINUE/SCONTINUE/ABORT
	globals, procs: add labels for SETEXIT
	lib/init.c: comment in signal handler
	test/setexit.{sno,ref}: SETEXIT test
	test/test.err.sh: test runner for programs that err out!
	test/tests.in: add SETEXIT test

12/22/2010:
	snolib/http.sno: 6/20/2009 fix broke it! add HTTP.CRLF!!
	cpuid.c: return 0

12/20/2010:
	lib/io.c: quiet gcc warnings, again
	snolib/time.sno: add STRPTIME
	pml.h: renamed STRPTIME to STRPTIME_
	lib/snolib/time.c: fix STRPTIME_
	
12/18/2010:
	lib/init.c, lib/io.c: -l flag takes listing file name
	pml.h, lib/snolib/time.c, snolib/time.sno, test/time.{ref,sno}:
		clean/tweak time to be more standards aligned
	configure: add time-related checks

12/16/2010:
	Add POSIX date/time handling; inspired by Rafal Sulejman
	new lib/snolib/time.c
	new snolib/time.sno
	Makefile2.m4: add time.o, TIME_C
	test/time.{sno,ref}

11/18/2010:
	Handle allocations of > 4GB -- reported by Howard Bussey
	include/lib.h: dynamic(size_t)
	lib/init.c: size_t ndynamic, pmstack, istack; getk takes size_t
	lib/{bsd,generic,posix}/dynamic.c: dynamic(size_t)

10/23/2010:
	doc/snobol4.1: fix incorrect usage of it's reported by Guido M.

9/28/2010:
	configure: fix search for "install" script reported by Noah Birnel

5/30/2010:
	config/win32/snobol4.vcxproj: VS10 Project thanks to Meir Livneh
	config/win32/ntmsvc.mak: comment tested w/ VS10
	lib/win32/{osopen,load}.c: include string.h
	lib/sdbm/sdbm.c: if'ed out extern errno
	lib/auxil/bindresvport.c: only define EADDRINUSE if needed on Win32
	README: Add Meir Livneh

5/24/2010:
	lib/posix/dynamic.c: prefer posix_ api for madvise
		latest CygWIN only supplies posix version
	lib/win32/sys.c: add server variable

**************** re-release 1.3 (CVS tag REL_1_3bis)

5/19/2010:
	Makefile: add cpuid binary to disposables
		causes pain on CygWIN!

**************** release 1.3 (CVS tag REL_1_3)

	(35th anniversary of SNOBOL4 v3.11 release)

5/19/2010:
	History: update for 1.3
	version.c: update to 1.3
	README: update to 1.3
	Copyright: update year
	CHANGES: update for 1.3 release
	doc/snobol4.1: update for 1.3

5/15/2010:
	timing: try cpuid.c more freely

3/10/2010:
	timing: try compiling/running cpuid.c for CYGWIN/MINGW/SolX86
	cpuid.c: fetch, print vendor and cpu model using cpuid instruction

2/27/2010:
	configure: defend against empty MACHINE variable

12/24/2009:
	timing: run lsb_release program, if found

12/22/2009:
	configure: be more careful about using /usr/lib64
	timing: look for lsb-release before debian-version for Ubuntu
		look for lsb-release.d for RedHat/Fedora

11/10/2009:
	lib/win32/sys.c: put wProductType under ifdef HAVE_GETVERSIONEX,
		thanks to Dani Richard.
		Add Win7/WinServer2008R2
	lib/win32/com.cpp: get rid of a VC 6.0 compiler complaint
	README: Add Dani Richard

8/29/2009:
	v311.sil: fix GC crash when COLLECT() called immediately after
		an "external" function.  Reported by Laurence Battin.
	tests/collect.sno, test/collect2.ref: regression tests
	include/load.h: add SETRETVAL macro
	README: Add Lawrence

6/20/2009:
	fix http.sno (thanks to Burkhard Mesisner)
		to send entire request in one TCP segment
		was giving trouble under DJGPP+WatTCP

1/24/2009:
	fix MinGW compilation (thanks to Bruce Axtens)
	lib/win32/sys.c: use HAVE_GETVERSIONEX
	config/win32/mingw.mak: link with libstdc++
		removed -fvtable-thunks -DNEED_COGETOBJECT
	config/win32/config.h: define HAVE_GETVERSIONEX
	README: Add Bruce

12/17/2008:
	lib/win32/com.cpp: fix for VS2003 compilation
	version.c: update to 1.2+

**************** release 1.2 (CVS tag REL_1_2)

	(15th anniversary of ALPHA1 release)

12/8/2008:
	History: update for 1.2
	version.c: update to 1.2
	README: update to 1.2
	Copyright: update year
	CHANGES: update for 1.2 release
	doc/snobol4.1: update for 1.2
	lib/win32/sys.c: detect WinServer2008
	timing: output END_SYSTEM_PROFILER
	
4/25/2008:
	INSTALL: document --universal

3/13/2008:
	use $(MAKE) in "make pv"

1/18/2008
	lib/win32/sys.c: detect WOW64

1/11/2008
	timing: run system_profiler on Darwin

10/25/2007
	snolib/utf.sno: fix UTFLEN() to handle zero

3/18/2006
	lib/win32/sys.c: add amd64

3/6/2007
	INSTALL: document --add-cflags
	configure: document --add-cflags --fast
		add & document --universal

1/7/2007
	configure, Makefile2.m4: replace ADD_WARN with ADD_CFLAGS
		lp64 options ALWAYS need to be present!
		add --add-cflags option to configure

1/4/2007
	timing: dump "machdep" sysctl, needed to find CPU model on MacIntel

10/3/2006
	lib/bsd/inet6.c: remove INADDR_NONE define

6/26/2006
	lib/snolib/host.[ch]: add comments, HOST_USER_EXTENSIONS
	new pkg/lsm

1/27/2006
	lib/win32/com.cpp: add debug, have GET/PUT take arb arg (index) lists
	configure: 1/3 change: add snolib.bundle

1/2/2006
	configure: uncomment SNOLIB_FILE for NeXT style load

12/24/2005
	lib/win32/com.cpp: cleanup/fix?

12/23/2005
	timing: HP-UX getconf CPU_CHIP_TYPE

12/22/2005
	configure: output alternate LIBDIR choice
	INSTALL: update optimization discussion, mention CPUFlags
		repaginate

12/20/2005
	lib/win32/com.cpp: check for BAD_HANDLE in retvariant
	lib/snolib/handle.c: allow redundant create_handle calls
		renamed handle_list to handle_table

12/12/2005
	configure: look for libraries in /usr/lib64, if it exists
		add --force-sdbm
	INSTALL: add --force-sdbm

12/11/2005
	lib/snolib/cos.c: fix comment (Thanks to Dave Feustel)
	timing: send "ln" errors to /dev/null (thanks to Devon)
		need to copy executable if hard link fails!
	version.c: update to 1.1+

**************** release 1.1 (CVS tag REL_1_1)

	(12th anniversary of ALPHA1 release)

12/9/2005
	pkg/rpm/makerpm: use rpmbuild command
		attempt to be more eccumenical (Thanks to Rafal)
	pkg/solaris/prototype:
		add ndbm.sno stcl.sno dynamic.sno snolib.3 snobol4{dbm,tcl}.3
	doc/snobol4.1: tweak HOST() description
	version.c: update to 1.1, return instead of exit()

12/8/2005
	doc/snobol4.1: add SEE snobol4tcl (Thanks to Phillip Thomas)
		update date, HOST() example
	doc/snolib.3: add SEE snobol4dbm and snobol4tcl, cleanup.
	INSTALL: ran ispell, updated VMS info
	README: add snobol4tcl, snobol4dbm. repaginate

12/7/2005
	INSTALL: update
	bsd/Makefile.freebsd bsd/Makefile.netbsd debian/copyright
		rpm/makerpm solaris/pkginfo: update for version 1.1
	removed: rpm/snobol4-1.0-1.spec
	new: rpm/snobol4-1.1-1.spec

12/6/2005
	configure: try to fix --mandir=
	new doc/snobol4tcl.3: STCL man page
	Makefile2.m4 doc/Makefile doc/snolib.3: update for snobol4tcl(3)
	lib/bsd/popen.c: include h.h for non-ansi compilation!

12/5/2005
	lib/snolib/{stcl,handle}.c: include str.h to keep gcc4 quiet
	lib/io.c: try to keep gcc quiet
	snolib/ndbm.sno: add DBM_DELETE (thanks to Rafal)
	snolib/stcl.sno: add comments
	doc/.cvsignore: add snobol4dbm entries
	doc/snobol4dbm.3: improved
	CHANGES: updated
	test/popen2.sno: clean up

12/4/2005
	lib/snolib/ndbm.c, snolib/ndbm.sno, pml.h,
	    config/vms/config.h, doc/snobol4dbm.3: add DBM_ERROR, DBM_CLEARERR
	doc/Makefile: add snobol4dbm targets
	lib/win32/sys.c: fall back to OSVERSIONINFO
	lib/snolib/handle.c: bzero new hash tables!

12/3/2005
	new snolib/stcl.sno snolib/ndbm.sno: do LOAD()ing define constants
	pml.h: remove PMPROTO lines for NDBM and STCL functions

12/2/2005
	lib/init.c: ifdef -L usage message (thanks to Rafal)
		default preloading off (thanks to Rafal)
		Change preload filenames, add warnings
	lib/io.c: protect against overflow in io_printf()

12/1/2005
	timing: show all emerge output (11/26 change)
	Test/clean up under VMS, turn on SDBM:
	config/vms/config.h: SNOLIB_DIR, NDBM defines
	config/vms/descrip.mms: add ndbm, handle, SDBM
	lib/init.c: missing return value
		add ifdef PRELOAD (off by default)
		use DIR_SEP
	include/load.h: turn off const in LA_STR_PTR() too much pain on VMS
	pml.h: use PMLPROC2 for NDBM functions
	Makefile2.m4: remove -L on test run (PRELOAD disabled)
	config/{djgpp,vms,win32}/config.h: add DIR_SEP, PATH_SEP
	lib/snolib/host.{h,sno}: add HOST_DIR_SEP, HOST_PATH_SEP
	lib/snolib/ndbm.c: fix: was using strtod() instead of strtol()!!

11/29/2005
	INSTALL: document --double's failings
	configure: --longlong implies --double, as documented!
		note --double should probably be removed!
	test/test.trace.sh: handle very tiny F.P. numbers!

11/28/2005
	lib/snolib/ndbm.c, pml.h:
		have DBM_OPEN take mode as STRING

11/25/2005
	include/snotypes.h, include/macros.h:
		fix to make --longlong + --double work on OS X
		(only will work in combination)

11/22/2005
	timing.sno: fix tabbing for DATE(2)
	configure: libtcl tweaks
	test/run.sh: fix failure exit
	data_init.c: remove space from COLSTR; add SPCSTR
	v311.sil: add SPCSP, output spaces explicitly (not in file:line)
		shorten "statement" to "stmt"
	test/{ftrace,spit,trace1,trace2}.ref: new reference output

11/21/2005
	Makefile2.m4: add ADD_WARN() and WARN for C compiler
		warning options not to be included in HOST_COPT
	configure: add -add-warn=
	lib/win32/com.cpp: update for handle_handle_t

11/20/2005
	configure: include leading dot on DL_EXT and SO_EXT
	snolib/dynamic.sno: don't need to add dot before DL_EXT

11/19/2005
	timing.sno: use DATE(2)
	lib/snolib/ndbm.c: removed parse_mode()
	configure: send DL_ and SO_ params to config.h too for HOST()
	Makefile2.m4: flush dlparam.sno; pass CC and COPT to host.c
	lib/snolib/host.[ch]: add HOST_DL..., HOST_SO..., HOST_CC, HOST_COPT
	snolib/dynamic.sno: use HOST() instead of dlparam.sno
		now with optimization!

11/18/2005
	configure: need -Ilib/sdbm to use SDBM (thanks Rafal!)
	lib/io.c: remove tty_setmode from io_flushall()
		endex -> io_finish -> io_closeall should do restore?!
		Was causing badness (restoring settings from bad data?)

11/16/2005
	new: test/test.opt.sh: implement optional test
	test/run.sh: handle exit status 2 from optional test failure
	new: test/ndbm.{sno,ref} optional test for NDBM

11/15/2005
	Makefile2.m4: install snobol4dbm.3 (thanks Rafal!)

11/14/2005
	new: doc/snobol4dbm.3: DBM info
	doc/snobol4.1: reference snobol4dbm(3), new Burks URLs
	README: new Burks URLs

11/12/2005
	timing: use HP-UX IA64 machinfo, add ENDCPUINFO
	CHANGES: updated
	doc/snolib.3: add dynamic.sno

11/11/2005
	Makefile2.m4: run regressions without preloads

11/10/2005
	v311.sil: decrement &GTRACE if positive
	init.c:
		experimental "preload" files
		keep count of files, append "-" if none
		-g sets &GTRACE to -1 (permanently on)
		-L to disable preloading
	configure: changed --without-tk to --with-tk

11/9/2005
	lib/sdbm/sdbm{,_hash,_pair}.c: use config.h
	lib/sdbm/sdbm.c: use unistd.h if HAVE_UNISTD_H defined
	configure Makefile2.m4: use SDBM as last resort
	README: add money
	include/handle.h lib/snolib/{handle,ndbm,stcl}.c:
		revamp handles; users pass handle_handle_t *
		added SNOEXP() to handle.c routines

11/8/2005
	snolib/wrapper.sno: add SYSPRED
	
11/7/2005
	config/win32/ntmsvc.mak: define DUFF for SDBM 
	lib/win32/sys.c: Add IA64, Longhorn (from MSDN)
	lib/snolib/stcl.c: cleanup, release handles

11/4/2005
	config/win32/mingw.mak: add SDBM_OBJ
	config/djgpp/Makefile: add SDBM
	lib/sdbm/sdbm.c: if out old imports

11/2/2005
	Makefile2: TEMP: have xsnobol4 depend on dlparam.sno
	configure: fix dynamic linking on OSF1/DU/Tru64, SunOS4/cc
	Makefile2: output dlparam.sno.tmp, do mv -f at end

	config/win32/borland.mak: add comment (behind the times)
	config/win32/mingw.mak config/win32/ntmsvc.mak: use SDBM
	lib/snolib/ndbm.c: allow use of SDBM
	new lib/sdbm/LOTS: Ozan Yigit's SDBM library

11/1/2005
	new snolib/dynamic.sno: dynamic loadable module utilities
	configure: Tcl tweaks
	Makefile2.m4: use divert/undivert for ADD_xxx macros/values
	configure: update for HP-UX export symbols when dld'ing; add -fast

10/31/2005
	snolib/wrapper.sno: fix, update

10/30/2005
	configure: fix SunOS4 dlparams
	Makefile2.m4: dlparams.sno depends on Makefile2

10/29/2005
	v311.sil: fix GC trace; was stomping on XCL. Use TEMPCL.
	configure: tweak Tcl configuration testing
	lib/snolib/stcl.c: add URLs
	timing: if no uname, run hostname if found
		run name w/ -n -rs and -m
	timing.sno: add DATE() output

10/28/2005
	test/tests.in test/diag1.ref test/diag2.ref
		diag1/2 tests need "dump" filtering

10/27/2005
	v311.sil timing.sno lib/init.c lib/io.c test/a.ref
	test/diag1.ref test/diag2.ref test/dump.ref doc/snobol4.1
		implement GC trace (-g flag, &GTRACE) GC total time stats
	README, COPYRIGHT:
		update dates
	CHANGES:
		update

10/23/2005
	new: test/diag1.ref test/diag1.sno test/diag2.ref test/diag2.sno
		add diags from VAX/VMS Macro SNOBOL4 (from SPITBOL?)
	v311.sil: fix backtracking w/ *opr [PLB91]
	new: test/unsc.sno
		test backtracking w/ *opr

10/22/2005
	test/ftrace.ref test/spit.ref test/trace1.ref test/trace2.ref
		update for new trace output

10/21/2005
	test/tests.in v311.sil
	new: test/func2.sno test/func2.ref
		Fix case folding of alternate function rentry label [PLB89]
		add test program
	v311.sil: prepend &FILE and &LINE to trace output! [PLB90]

6/14/2005
	configure: set, export SO_ and DL_ defines
	Makefile2.m4: create, install dlparams.sno

6/5/2005
	lib/init.c lib/io.c include/lib.h: add io_fname()
		Make non-existant initial command line file fatal again
		make sure lib.h has complete set of io.c entries

5/28/2005
	lib/init.c: Make non-fatal for term_open() to fail!!
		regression tests were failing!

5/27/2005
	Makefile: make all GENERATED files "precious"
	lib/io.c, lib/init.c, include/units.h, README:
		make MEM_IO work, based on work by Sudarshan Gaikaiwari
		Pull io_init() out to init.c
		renamed io_input() to io_input_file()
		new: io_memfile(), io_skip(), io_input_string(),
			io_setfile(), io_mkfile_noclose(),
			io_output_string(), io_attached().

5/20/2005
	new: .cvsignore doc/.cvsignore

1/3/2005
	lib/win32/com.cpp: handle VT_DISPATCH in retvariant()

12/27/2004
	doc/snobol4.1: fix typo/pasteo

12/14/2004
	lib/snolib/getstring.c, include/load.h:
		add mgetstring()
	lib/win32/com.cpp:
		use mgetstring()

9/30/2004
	test/clean.sh: remove *.dat.  Thanks to Rafal Sulejman!

9/28/2004
	configure, Makefile2.m4:
		install snolib.3 in MAN3DIR
		Noticed by Phillip Thomas

9/17/2004
	configure: check for libgdbm_compat

9/14/2004
	configure: cleanup ndbm; use USE_GDBM
	Makefile: config.{h,m4} depend on configure

9/12/2004
	lib/snolib.c: include stdio.h first

9/8/2004
	configure: fixes for cygwin, ndbm works

9/7/2004
	configure, lib/snolib/ndbm.c:
		add HAVE_{,GDBM_{D,SL}ASH_}NDBM_H
		works on wide variety of platforms

9/6/2004
	configure: add --without-ndbm
	new lib/snolib/ndbm.c: ndbm interface
	pml.h: add DBM_xxx functions
	Makefile2.m4: ndbm.o

9/2/2004
	include/handle.h, lib/snolib/handle.c:
		return pointer value as handle
	lib/snolib/stcl.c:
		rationalize function names w/ Tcl_ names:
			TCL_{CREATE,DELETE}INTERP
		Add suite of OBJ(ect) related functions
			(not yet tested)
	pml.h: add STCL object functions

8/31/2004
	configure: allow tcl .so's without .a's
		seen by Rafal M. Sulejman (from CVS source!)

8/30/2004
	lib/io.c: treat all errors as non-fatal if !ISAFILE
		problem seen by Martin Waller w/ Windoze TCP

8/26/2004
	lib/snolib/stcl.c: add back Tk under STCL_USE_TK
	configure: add --with-tcl and --without-tk
		use $INCDIR more
	Makefile2.m4: tweaks for stcl

8/24/2004
	pml.h: add STCL under PML_STCL
	lib/snolib/stcl.c: cleanup
	lib/snolib/handle.c: fix handle search

8/23/2004
	pml.h: rename COM_UNLOAD to COM_RELEASE
	configure: keep quiet in installer grep
	lib/win32/com.cpp: ifdef NEED_COGETOBJECT, rename COM_RELEASE
	lib/snolib/handle.c: made it work

8/21/2004
	snolib/http.sno: add HTTP.RECL variable

8/20/2004
	new: include/handle.h lib/snolib/handle.c
		manage handles
	lib/snolib/stcl.c, lib/win32/com.cpp:
		convert to use handles

8/19/2004
	snolib/ftp.sno: fix a comment
	snolib/http.sno: add HTTP.POST() function
	configure: fix broken 6/4/2004 changes
		output $(DESTDIR) as prefix
		avoid AIX installer, add more names
		loop seperately for dir and install prog

8/12/2004
	v311.sil, genc.sno, include/macros.h:
		Create new PCOMP[C] SIL operators for pointer comparison.
		On some versions of RedHat ES and Fedora Core, dynamic
		pointers can be negative!  Thankfully Mark Emmer had
		found all the necessary places to change for SNOBOL4+
		Sizes are still constrained to be positive signed ints.

7/19/2004
	configure: update for CygWin 1.5.9(0.112/4/2)
	lib/win32/com.cpp: use USE_WCHAR_H, NEED_COGETOBJECT
	config/win32/mingw.mak: define NEED_COGETOBJECT

7/10/2004
	configure, Makefile2.m4, lib/win32/com.cpp: Support COM under CygWin!

7/1/2004
	config/win32/ntmsvc.mak: add COM
	lib/win32/com.cpp: fix for Visual Studio .NET 2003 (VC71)
	lib/win32/inet.c: tweak setsockopt() args

6/23/2004
	new lib/snolib/stcl.c:
		start of attempt at Tcl/Tk interface

6/20/2004
	pml.h: add COM_GETPROP, COM_PUTPROP, COM_UNLOAD

6/19/2004
	new lib/win32/com.cpp: COM (OLE) Automation
	config/win32/mingw.mak: add COM
	pml.h: PML_COM support

6/4/2004
	configure: Improvements suggested by Robin Kay
		<komadori@gekkou.co.uk>.

		autoconf compatibility: Honor CC, CFLAGS, CPPFLAGS,
		LDFLAGS, DESTDIR environment variables.

		Don't use (Solaris/SysV) /usr/sbin/install -- it's
		(way) different.

5/31/2004
	lib/bsd/inet6.c: NOTE: functions ignore "port" arg (OK, not used)
	INSTALL: fix 1.0 typos

3/3/2004
	configure: attempt to fix pre-panther socklen_t lossage
	version.c: update to 1.0+

**************** release 1.0 (CVS tag REL_1_0)
	(11th anniversary of BETA1 release)

2/18/2004
	doc/snobol4.1 doc/snolib.3: ran ispell, update dates, version
	README, INSTALL: ran ispell, update version
	Switched development from RCS to CVS
	Makefile: add syn.c to GENERATED; remove make tar
	pkg/{bsd,debian,rpm,solaris}: add packaging files
	History: cleanup add RCS tag names, versions

2/17/2004
	lib/bsd/inet.c: add (const void *) cast for MSVC

2/16/2004
	CHANGES: update
	configure: fix LP64_NATIVE

2/5/2004
	COPYRIGHT, README: update copyright years
	include/dt.h: improve info for functions
	lib/io.c: implement MEM_IO; compiles, but not tested

2/3/2004
	lib/{ansi,c99}/spcint.c: check for overflow
	configure: fix test for bsd/suspend.c (look for sigmask macro)

1/29/2004
	doc/snobol4.1: fix SSET entry

1/11/2004
	v311.sil: Fix argument processing for LOADed functions:
		if there are more actuals than formals, pass extras
		without conversion (was looking past end of formal list)!
	pml.h: no longer need (,) in HOST prototype (testing above fix)
	include/snotypes.h: Add BITFIELDS_SAME_TYPE
		gcc 3.3.1 (SuSE Linux) can't handle this!
	config/win32/ntmsvc.mak: set BITFIELDS_SAME_TYPE

1/6/2004
	include/snotypes.h: make FFLD packable by MSVC
	config/win32/ntmsvc.mak: no longer need NO_BITFIELDS define

12/23/2003
	configure: compile test program to get long/pointer sizes
		for LP64 and LP64_native checks

12/22/2003
	timing: use gentoo "emerge" if present

12/18/2003
	INSTALL: update win32 info
	config/win32/ntmsvc.mak: add last tested info

12/9/2003
	Built and tested under WinXP using MS Visual Studio 2003 .NET
	include/lib.h: use EXPORT() on declarations
	include/load.h: SNOEXP() -- import or export, depending on build
	lib/win32/inet.c: handle missing SD_BOTH

11/15/2003
	timing: add gentoo-release, *-release, move redhat to end

11/14/2003
	lib/win32/inet.c: add true (from 8/9/2003)
	lib/ordvst.c: add consts
	config/vms/descrip.mms: add bindresport.obj
	tested w/ Compaq C V6.5-001 on OpenVMS Alpha V7.3-1
	tested w/ hp C X6.6-329 (GEM 50DA7) for I64 on OpenVMS Alpha V7.3-1  
	tested under Cygwin, MINGW, DJGPP, AIX, IRIX, SunOS, Solaris, HP-UX

11/12/2003
	configure: add sparc64
	Makefile: fix for BSD parallel make, gmake on BSD
	Makefile2.m4: wrap regression in subshell for BSD parallel make

11/6/2003
	doc/snobol4.1: add a bit more info on bidirectional "pipe" I/O

10/9/2003
	removed doc/ports.txt

8/6/2003
	doc/porting.ms: add SIL, fix sys.c and inet.c
	doc/snobol4.1: fix typo
	lib/bsd/inet6.c: add IEEE 1003.1g credit

7/29/2003
	doc/snolib.3: improve a little
	doc/*.doc -> doc/*.txt
	README: add snolib.{3,0,ps,pdf}
		remove ports.doc
		s/.doc/.txt/
	Makefile2.m4: remove mention of ports.doc
		install load.txt
		clean up timing.out requests -- send everything to stderr
	Makefile: cleanup
	INSTALL: load.txt, porting.txt. paypal

7/23/2003
	new: doc/snolib.3

7/21/2003
	doc/snobol4.1: add BUG: integer overflow not detected
	configure: FINITE_C and ISNAN_C not needed (were wrong too)

7/19/2003
	doc/snobol4.1: document /udp!!

7/15/2003
	new: test/popen(2).{ref,sno}: popen tests
	Makefile2.m4: make snobol4 depend on tests.in
	timing: tweak for FreeBSD/Alpha

7/14/2003
	lib/snolib/{exp,tan}.c: RETFAIL if result is !finite

7/11/2003
	doc/snobol4.1: talk about CASE & UTF-8

7/9/2003
	include/lib.h lib/bsd/inet(6).c lib/io.c lib/win32/inet.c: add
		INETxxx flags/magic paths: broadcast reuseaddr
			dontroute oobinline keepalive nodelay
			
7/8/2003
	CHANGES: update
	doc/snobol4.1: document 8th bit handling

7/7/2003
	gensyn.sno: treat all bytes with 8th bit set as ALPHA on ASCII systems
		allows UTF-8 encoded characters, and national character sets
		to used in labels and identifiers!
	new: test/8bit2.{sno,ref}: 8bit id/label test

7/6/2003
	INSTALL: update Win32 UDP info
	configure, Makefile2.m4:
		move SNOLIB_DEFINES, PREFIX, BINDIR, MANDIR, MAN1DIR,
		SNOLIB_DIR to configure
		seperate greps for socketpair

7/5/2003
	README: update copyright dates, add logic.sno
	INSTALL: update timing e-mail address, add SNOBOL4 listserv info URL
	Makefile2.m4: add SNOLIB_FILES variable, add README to SNOLIB_FILES
		update timing e-mail address
	lib/djgpp/osinit.c: fix WATTCP compilation
	doc/snobol4.1: updated SEE ALSO

7/4/2003
	COPYRIGHT: update year
	Makefile: removed SMALL_SNO commands
	INSTALL: update VMS and Win32 info, gcc/lp64 info
	config/vms/descrip.mms: fix DECC4 support
		add NEED_BCOPY,NEED_BZERO,SOCKLEN_INT,HAVE_UNIXIO_H
	config/vms/config.h: add SOCKLEN_INT ifdef
	lib/io.c: add unixio.h
	config/win32/config.h lib/ansi/spcint.c lib/bsd/inet.c
		lib/bsd/inet6.c lib/bsd/popen.c lib/djgpp/osinit.c
		lib/{c99,generic,longlong}/intspc.c
		lib/{dummy,hpux,next,unix98,win32}/load.c
		lib/generic/{execute,popen}.c lib/init.c
		lib/{posix,vms}/sys.c lib/{posix,vms,win32}/tty.c
		lib/snolib/retstring.c lib/snolib/system.c
		lib/vms/getredirect.c lib/vms/popen.c lib/vms/sys.c
		include/{bindresvport,macros,snotypes,str}.h: ran comdef

7/3/2003
	configure: check netinet6/in6.h for HAVE_SOCKADDR_IN6
		always set HAVE_SOCKADDR_IN6, for serv.c
	lib/snolib/serv.c: set sin*.sin*_family fields
	config/vms/descrip.mms: fix osopen source path
		vms7.3 TCP needs bindresvport.obj
	lib/vms/osopen.c: use str.h for strcmp
	main.c: comdef fix (leave spaces)
	include/vars.h: use HAVE_WINSOCK_H

6/26/2003
	configure: defend against __vfork, look for popen() shell

6/25/2003
	doc/snobol4.1: add inet6 for SERV_LISTEN()
	configure: check for paths.h, vfork
	lib/bsd/popen.c: use vfork.h

6/24/2003
	doc/snobol4.1: document SERV_LISTEN(), update HOST() output, date
		add DIAGNOSTICS section, more AUTHORS
	lib/snolib/serv.c: update for inet6

6/22/2003
	new: lib/bsd/popen.c
	configure: check for socketpair, use bsd popen.c
	Makefile2.m4: add popen
	doc/snobol4.1: document bidirectional pipes

6/21/2003
	doc/snobol4.1: document /dev/tty and /dev/null magic

6/19/2003
	doc/porting.ms: update
	new: lib/{msdos,vms}/osopen.c
	config/vms/{config.h,descrip.mms}: add OSDEP_OPEN, osopen.obj
	config/win32/{borland,mingw,ntmsvc}.mak: add osopen
	config/win32/config.h: OPDEP_OPEN
	include/lib.h: add osdep_open

6/18/2003
	config/djgpp/config.h: SOCKLEN_T
	configure: flushed HAVE_STDARG_H
	doc/porting.ms: update

6/16/2003
	lib/posix/tty.c: add VALID test
	new: lib/win32/term.c
	config/win32/{borland,mingw,ntmsvc}.mak: use win32/term.c

6/15/2003:
	timing: add hwinfo, sw_vers for Darwin/NS
	lib/win32/tty.c: works!
	config/win32/config.h: WIN32_LEAN_AND_MEAN, TTY_READ_RAW
	config/win32/{borland,mingw,ntmsvc}.mak: use win32/tty.c

6/8/2003:
	configure: always set SOCKLEN_T
	config/win32/borland.mak: cleanup; use config\win32
	config/win32/ntmsvc.mak: cleanup
	config/win32/config.h: SOCKLEN_T
	genc.sno: remove config.h
	parms.h: include config.h, move system includes first
	lib/snolib/{delete,fork,host,sprintf}.c: move system includes first
	lib/snolib/system.c: use stdlib.h
	lib/auxil/bindresvport.c, lib/snolib/serv.c: use SOCKLEN_T

6/6/2003:
	configure: flushed $SYS, config.guess refs, pass HWNAME, OSNAME
	lib/generic/sys.c: flushed CONFIG_GUESS
	include/snotypes.h: flused SIL_FUNC_PROTO

6/5/2003
	new: bindresvport.h
	configure: SOCKLEN_T
	lib/bsd/inet.c: use bindresvport.h, OLD_UCX_INCLUDES, netdb.h!
	lib/bsd/inet6.c: use bindresvport.h
	lib/auxil/bindresvport.h: use bindresvport.h, SOCKLEN_T
	config/vms/descrip.mms:
		only use OLD_UCX_INCLUDES on VAXC?
		move stuff to UCXDEFS   
		use bsd/inet.c!!
	config/vms/config.h: add SOCKLEN_T

6/3/2003
	config/{djgpp,win32}/config.h: NEED_SOCKLEN_T
	config/vms/descrip.mms: OLD_UCX_INCLUDES
	lib/auxil/bindresvport.c: OLD_UCX_INCLUDES

6/2/2003
	configure: NEED_SOCKLEN_T, AUX_BINDRESVPORT, Tru64 v5 crap
	lib/auxil/bindresvport.c: use socklen_t again

6/1/2003
	include/lib.h: remove bindresvport proto
	lib/bsd/inet.c: add bindresvport proto, NULL arg

5/31/2003
	include/h.h: protect TRUE/FALSE, ran comdef
	lib/bsd/inet6.c: move bindresvport_sa decl

5/29/2003
	configure: HAVE_SOCKADDR_IN6, NEED_BINDRESVPORT_SA
	include/snotypes.h: remove mstime()
	include/str.h: s/__/_/
	lib/bsd/inet.c: NEED_BINDRESVPORT_SA
	lib/win32/inet.c: bindresvport()
	lib/{hash,pair,pat,top}.c: move STATIC ifdefs up to top
	lib/auxil/bindresvport.c: HAVE_SOCKADDR_IN6, HAVE_WINSOCK_H
	lib/djgpp/osinit.c: bindresvport
	config/vms/descrip.mms, include/lib.h: NEED_POPEN
	config/win32/{borland,mingw,ntmsvc}.mak: bindresvport.o(bj)
	config/djgpp/config.h: NEED_BINDRESVPORT
	config/djgpp/Makefile: bindresvport.o

5/23/2003
	flushed dummy/rresvport.c
	config/vms/descrip.mms: UCXLIB, UCXOBJ, flush rresvport
	config/win32/{borland,mingw,ntmsvc}.mak: flush rresvport
	lib/vms/inet.c: punt on bindresvport()
	lib/win32/inet.c: punt on bindresvport()
	configure: define NEED_SOCKLEN_T

5/22/2003
	configure, Makefile2.m4:
		use bindresvport[_sa]() instead of rresvport[_af]()
	new: lib/auxil/bindresvport.c
	lib/bsd/inet(6).c: switch from rresvport(_af) to bindresvport(_sa)

5/20/2003
	new: lib/vms/load.c: first cut at VMS LOAD() support!!
	new: lib/bsd/inet6.c: use getaddrinfo()
	new: lib/auxil/rresvport_af.c
	configure: detect getaddrinfo(); use inet6.o
		test for ipv6 first, add string(s).h comments
	config/vms/descrip.mms: more cleanup, add load.c
		use native popen(), bzero(), bcopy(), unlink()
		use bsd/inet.c, posix/mstime.c
		compiles without implicit warnings w C 6.5 on VMS 7.3!!
	config/vms/config.h: add NEED_RRESVPORT_DECL, PML comment
	pml.h: use PMLFUNC2 for renamed functions
	include/lib.h: add getredirection(), popen(), pclose(), rresvport()
	lib/init.c: cleanup, remove dynamic() extern
	lib/io.c: remove externs for term_input(), {udp,tcp}_open(), popen()
	lib/vms/getredirect.c: cleanup: use stdlib.h, lib.h
	lib/vms/sys.c: use starlet.h for system prototypes
	lib/{dummy,vms}/tty.c: add tty_suspend()
	config/win32/config.h: add NEED_RRESVPORT_DECL
	config/djgpp/config.h: add HAVE_STRINGS_H
	Makefile2.m4: add rresvport_af.o, remove finite.o

5/17/2003
	configure: more HP-UX/ia64 tuning
	INSTALL, config/vms/{config.h,descrip.mms}
		update for Compaq C V6.5-001 on OpenVMS Alpha V7.3-1
	config/vms/descrip.mms, lib/io.c, doc/porting.ms:
		s/NO_OFF_T/NEED_OFF_T/

5/16/2003
	timing: add eval for debian 3.0
	configure: more HP-UX/ia64 tuning
	INSTALL: update --longlong, explain ILP32
		include --lp64 caveat for HP-UX
	config/{vms,win32}/config.h: HAVE_STRING_H
	lib/win32/sys.c: detect WinServer2003, Win95OSR2, Win98SE

5/15/2003
	configure, include/str.h:
		handle HP-UX IA64 like PA-RISC
		rework string function handling
		add HAVE_STRING(S)_H
		s/USE_OWN/NEED/

5/14/2003
	lib/hpux/load.c: remove unused variables

5/5/2003
	include/str.h: always use memcmp if ANSI_STRINGS (Solaris 2.4)

4/30/2003
	configure: KERNEL_BITS fix for HP-UX 10 (and earlier)
		up maxmem for full optimization of data_init.c on AIX

4/24/2003
	Cleanup misc ports;
	lib/{c99,generic,longlong}/spcint.c lib/generic/spreal.c: include stdio
	lib/{bsd,dummy,hpux,next}/load.c: include stdio.h and lib.h
	lib/{dummy,dos,vms,win32}/tty.c: include lib.h
	lib/{vms,win32}/exists.c: include stdio.h,h.h,snotypes.h,lib.h
	lib/{vms,win32}/inet.c: lib.h, use str.h for bcopy
	h.h: add NEED_CONST; Tru64 5.0 also has __STDC__ == 0
	INSTALL: add --double and --longlong doc

4/23/2003
	Second round of prototype changes (compilers other than gcc);
	Makefile: add static.h (generated by genc.sno)
	configure: fix strings.h test
	genc.sno: output static prototypes to static.h2; use ret_t
		upcase library call names
	v311.sil: upcase library routines which take descrs or specs
		rename ENFILE to ENDFIL to avoid Unix errno collision
	globals, procs: ENDFIL
	main.c: always include macros.h, for NORET; use NORET for BEGIN call
	include/macros.h: define macros for upcase versions of lib routines
		cast args, call functions; add NORET
	parms.h: remove NORET, include static.h
	include/snotypes.h: add ret_t
	include/str.h: protect index/rindex against multiple definitions
	lib/bal.c: use NORET
	lib/init.c: use NORET for SYSCUT() call
	lib/io.c: use NORET for UNDF() call; add comments
	lib/bsd/inet.c: reverse order of macros and snotypes (for NORET)
	lib/generic/execute.c: include unistd.h before stdio.h
	lib/snolib/host.c: include unistd.h before stdio.h

4/21/2003
	include/snotypes.h: create ptr_t; use void * to avoid gcc3 warnings
	gendata.sno: use (ptr_t) instead of (char *)

	Start(!!) cleanup for -Wimplicit warnings;
	lib/unix98/load.c: include stdio.h, lib.h, RTLD_LAZY cleanup
	lib/{dummy,vms,win32}/tty.c: flush tty_{sav,restor}e
	include/lib.h: add {execute,exists,suspend,tcp,tty,term,sys,version}.c
			entries
		add io_sseek(), io_finish(), io_closeall(),
			io_findunit(), io_getfp(), io_mkfile(), apdsp()
		remove io functions declared by libret.h
		fix getbal() prototype (was bal, returning void!)
		fix pad(), reverse(), substr() return types
		fix unit types for io_{printf,endfile,backspace,rewind}
	lib/snolib/{chop,cos,delete,exp,log,ord,sin,sqrt,tan}.c: return type!
	lib/snolib/{exit,,sset}.c: include lib.h, stdio.h
	lib/snolib/file.c: include lib.h, stdio.h; rename entry point!
	lib/snolib/fork.c: add system headers, return type
	lib/snolib/host.c: add system headers, lib.h, stdio.h
	lib/snolib/findunit.c: include stdio.h, lib.h, add return type
	lib/snolib/serv.c: add system headers, lib.h, stdio.h, flushall arg
	lib/snolib/{rename,sprintf}.c: add stdio.h
	pml.h: rename FILE() entry point to FILE2()
	lib/date.c: include stdio.h, lib.g; fix Y2K bug w/ old date!!
	lib/posix/tty.c: include lib.h for proc_suspend()
	lib/stream.c: remove libret.h
		remove extra arg to clertb -- unused for almost 10 years!!
	include/syntab.h: move stream() declaration here from libret.h
		enable any(), clertb(), plugtb() prototypes
		remove extra arg from clertb()!
	lib/bal.c: include lib.h for getbal() prototype
	parms.h: add includes
	isnobol4.c compiles clean w/ -Wimplicit on RH7.3, FreeBSD4.7

	lib/bsd/inet.c: add includes
	lib/init.c, main.c: include proc.h
	lib/io.c: include lib.h, proc.h; ignore HAVE_STDARG_H; use __STDC__
	version.c: include lib.h
	new include/gen.h: generated (init) functions
	main.c: include lib.h, gen.h
	data_init.c: include gen.h
	genc.sno: output full prototypes to proc.h
	gensyn.sno: output include gen.h
	lib/{bsd,posix}/dynamic.c: include lib.h (et al)
	lib/generic/{expops,intspc}.c: include lib.h
	lib/{ansi,bsd,dummy,generic,msdos,posix,vms,win32}/mstime.c
		lib/{djgpp,generic,posix,vms,win32}/sys.c:  lib.h &c
	lib/{hash,lexcmp,ordvst,pat,pair,pml,realst,replace,top,tree}.c
		{bsd,generic,posix}/suspend.c
		{posix,vms}/term.c generic/ex{ists,execute}.c: lib.h
	lib/snolib/getstring.c: load.h
	lib/snolib/retstring.c: load.h, stdio.h
	new include/str.h: string includes/prototypes
	include/h.h: remove index, bcmp defines
	include/macros.h: move bcmp, bcopy defines to str.h
	parms.h: use str.h
	lib/auxil/getopt.c,lib/djgpp/osinit.c,lib/bsd/inet.c,
		lib/{date,init,ordvst,pml,realst,str}.c,
		lib/snolib/{host,[gr]etstring,serv,sprintf}.c
		lib/{generic,posix,vms,win32}/sys.c,
		lib/{bsd,hpux,next,unix98,win32}/load.c: use str.h
	lib/{ansi,c99,generic,longlong}/{spcint,intspc}.c,
		lib/{generic,ansi}/spreal.c: lib.h str.h
	lib/generic/execute.c: unistd.h
	configure: only use strings.h if it contains both index and strcmp
		(GNU/Linux version is minimal)
	compiles cleanly (except isnobol4.c loops & snolib functions)
		w/ gcc -Wmissing-prototypes!!

1/13/2003
	doc/load.doc: cleanup
	lib/next/load.c: use snolib.so on Darwin
	INSTALL: cleanup

1/12/2003
	config/win32/config.h: add missing endif
	INSTALL: update cygwin info

10/29/2002
	lib/snolib/logic.c: fix for AXP/VMS compilation
	lib/vms/sys.c: fix

8/20/2002
	lib/djgpp/osinit.c: replace with Burkhard's version!
		(He says mine doesn't work)
	lib/io.c: only flag STD{IN,OUT,ERR}_FILENO's w/ NOCLOSE
	README: updated, added URL
	doc/snobol4.1: added http:// to URL
	
6/13/2002
	genc.sno: pass CPP directives! (3/3/2002)

6/6/2002
	v311.sil include/macros.h lib/init.c doc/snobol4.1:
		Add '-S' option for enlarging interpreter stack.
		** 1% speed penalty for genc.sno **
	timing.sno lib/snolib/host.[ch]:
		add HOST_ISTACK_SIZE

4/25/2002
	configure, lib/next/load.c:
		add TRY_UNDERSCORE to next/load.c for Darwin

4/19/2002
	lib/next/load.c: check NSLinkModule() return
		add comments

4/12/2002
	lib/next/load.c: remove unused variable & label

4/2/2002
	lib/snolib/host.h: fix comment typo

3/23/2002
	include/h.h: add default {IM,EX}PORT macros
	include/load.h: add io_closeall, io_mkfile; use IMPORT macro
	lib/djgpp/osinit.c: add io_{findunit,closeall,getfp,mkfile}
	lib/io.c: use EXPORT macro for io_{findunit,closeall,getfp,mkfile}
	lib/snolib/[gr]etstring.c: use EXPORT macro
	config/win32/config.h: add IMPORT & EXPORT macro declarations

3/21/2002
	Fixes for mingw build.
	lib/win32/inet.c: remove dangling saweol
	config/win32/mingw.mak: add a missing $
	doc/porting.ms: add HAVE_OS_INIT
	README: add text from COPYRIGHT

3/20/2002
	clean DJGPP build w/ DXE2, WATTCP.  Tested DXE2.
	lib/djgpp/osinit.c: cleanup
	config/djgpp/Makefile: use install.bat
	config/djgpp/config.h: fix HAVE_OS_INIT
	config/win32/{borland,mingw,ntmsvc}.mak: add make SRCDIR, make install
	doc/load.doc: DJGPP/DXE2, dllwrap info
	new: config/install.bat

3/17/2002
	load.h: add prototypes for getstring, retstring,
		io_findunit, io_getfp

3/16/2002
	configure: make gcc -O3 the default, use -fno-inline-functions

3/15/2002
	config/djgpp/Makefile: fix for WATTCP build
		add HAVE_{WATTCP,DXE2}
		add comments
	config/djgpp/config.h: add defines under HAVE_{WATTCP,DXE2}
		add FOLD_HOSTNAMES
	lib/djgpp/sys.c: add +DXE2 and +WATTCP to sys string
	lib/djgpp/osinit.c: add lib.h, comments
	lib/bsd/inet.c: change WATTCP_DOS to FOLD_HOSTNAMES

3/14/2002
	configure: add --bindir=
		document --mandir=
		show --prefix default
	doc/load.doc: add ArnaudRecipes link

3/13/2002
	version.c: version 0.99.44+
	configure: add --mandir=
	Makefile2.m4: add MAN1DIR

3/12/2002
	lib/init.c: fix VMS getredirection() call

3/9/2002
	Makefile: sh clean.sh

3/8/2002
	timing: show AIX memory/cache conf (thanks to info from
		http://www.fortran-2000.com/ArnaudRecipes/hardwareinfo.html)
	Makefile: add lint

3/6/2002
	Makefile2.m4: add "lint"
	Makefile: remove *.ln

**************** released 0.99.44 (RCS tag BETA8)

3/2/2002
	version.c: update to 0.99.44
	timing: do an ls -l of Entries file

3/1/2002
	config/djgpp/Makefile: tested, make DXE loading optional
	config/djgpp/config.h: remove unneeded stuff!
	lib/djgpp/sys.c: HOST() support for DJGPP
	lib/vms/getredirect.c: defend against argc==0
	v311.sil: remove an empty RCALL label list

2/28/2002
	configure: force -n32 compiler IRIX 32-bit compilations

2/22/2002
	genc.sno, v311.sil: XINCLD 3-way return to handle multiple includes
	lib/io.c: io_include() 3-way return
		defend against path overflow
		cleanup, add comments, type member
	include/libret.h: io_include_ret
	test/line.{ref,sno}: test multiple include handling
	new: test/include.{ref,sno}: test includes w/o -line

2/21/2002
	configure: seperate -Wuninitialized from OPT
	lib/win32/inet.c: cleanup; read text past eol, handle CR
	lib/io.c: fix unix inet I/O

2/20/2002
	install-sh: make cpprog the default
	doc/snobol4.1: add www.snobol4.org
	lib/init.c: fix -P

2/19/2002
	new: COPYRIGHT

2/18/2002
	configure: use -fomit-frame-pointer for --fast w/ gcc
		report glibc version to stderr, config.m4
		default compilation includes -Wuninitialized
		always compile with -Wunused
	v311.sil: compile cleanly with gcc -Wunused;
		add entry labels where needed; add XECODE op
		removed unused labels and unused code!!
	include/macros.h: ENTRY() no longer drops a label!
	genc.sno, gendata.sno: use new XECODE op
	lib/unix98/load.c: only declare found: label if needed

2/16/2002
	configure: add IRIX compiler flags; merge IRIX and IRIX64
		check for /sbin/install
	Makefile: remove timdir.* in cleanmostly
	new lib/djgpp/osinit.c: djgpp os_init()
	lib/init.c: add os_init() call
	new config/djgpp/{config.h,Makefile}
	removed config/djgpp/ misc...

2/15/2002
	config/win32/{borland,ntmsvc}.mak: clean up, bring in to sync
	config/win32/config.h: update
	lib/snolib/getenv.c: needs equ.h

2/14/2002
	Makefile: go back to "cvs login"
	Compile under MINGW (Minimal GNU for Windoze) http://mingw.org
	config/win32/config.h: only define __STD__ if not defined
		add defines for popen, pclose
		no longer NEED_POPEN_DECL?
	lib/snolib/system.c: needs equ.h
	lib/win32/inet.c: remove BORLAND ifdef
	lib/win32/sys.c: add Win{98,ME,2K,XP}; display unknown platforms
		strip trailing spaces from szCSDVersion
	lib/win32/tty.c: add HANDLE casts
	config/win32/ntmsvc.mak: put -Iconfig\win32 first
		intspc moved to ansi/
		add ord.obj
	removed lib/win32/popen.c, config/borland directory
	new config/win32/mingw.mak, config/win32/borland.mak

2/13/2002
	timing: use /usr/bin/oslevel on AIX

2/12/2002
	lib/snolib/host.[ch]: changed HOST_SYSTEM to HOST_SYSCMD
	lib/snolib/host.c: no longer need to set RETTYPE before RETINT()
		handle REAL and integers encoded as strings
	include/load.h: set RETTYPE in RETNULL
	lib/snolib/{delete,file,rename}.c: include equ.h for RETNULL
	doc/snobol4.1: HOST() changes
	CHANGES: HOST() changes

2/7/2002
	snolib/{file,ftp,http,smtp,tcp,url}.sno: s/C-MAINBOL/CSNOBOL4/
	doc/porting.ms: undocument DCMP_BYTES (never needed?)
	lib/init.c: display build date
	CHANGES: add -v
	INSTALL: update --no-gcc --lp64

2/6/2002
	new install-sh (X11 install script)
	configure: find install program/script, set INSTALL
	Makefile2.m4: use INSTALL for make install

2/5/2002
	configure: improve help/usage output
		deal with cc==gcc and --no-gcc
	lib/snolib/ord.c: fix comments; fail on null string
	lib/snolib/environ.c: include config.h
	lib/bsd/suspend.c lib/generic/suspend.c lib/posix/suspend.c: config.h
	new test/ord.{sno,ref} test ORD() function
	test/tests.in: add ord.sno

2/4/2002
	configure: get along without config.guess
		add more non-gcc compiler opt(timizat)ions
		add --fast
		Use -O2 w/ SunOS4 cc (don't optimize data_init.c)
	timing: check if config.guess exists
	removed config.guess
	genc.sno: handle 3-way LEXCMP (used in SORT)
	Makefile2.m4: include h.h in build.c for non-ansi compilers
	cc-M: perform basename on object files

1/30/2002
	configure: don't compile data_init.c w/ -O2 on Darwin
		add --double; add NO_BITFIELDS variable
		rework LP/LONGLONG/NO_BITFIELDS
		use ~(VFLD_T)0 for SIZLIM
	CHANGES, INSTALL: add --double
	genc.sno: flush D_RV() function, use pre-existing RV()!

1/28/2002
	INSTALL: ran ispell, C-MAINBOL -> CSNOBOL4
	README, History: C-MAINBOL -> CSNOBOL4
	configure: output explicit OPT= if NO_OPT

1/27/2002
	Makefile2.m4: install equ.h
	include/load.h: always set RETTYPE in RET{INT,REAL} macros
	lib/{chop,cos,exp,fork,findunit,log,serv,sin,sqrt,sset,tan,ord}.c:
		include equ.h
	doc/load.doc: describe LA_STR_{PTR,LEN}

1/26/2002
	v311.sil: set MAXLNGTH to SIZLIM; increase FNLIST space to 40 slots
	CHANGES: mention MAXLNGTH
	lib/hash.c: defend against Sun compiler bug
	Makefile: fix spotless, comment cleanup options
		rename clean to cleanmostly
		rename distclean to clean
		replaced make tar; removed TAR, G1 (reuse G2)
	lib/snolib/logic.c: use pointers to const for inputs
		handle bases upto 36; no longer use strtol(), getstring()
	include/load.h: make LA_STR_PTR() return ptr to const
	config/vms/descrip.mms: add logic; move defines to config.h
	config/win32/ntmsvc.mak: add logic; move defines to config.h
	config/borland/borlandsnob.mak: add logic; mov defines to config.h
	config/djgpp/{borlandsnob.mak,mak1i.bat}: add logic
	new: config/{vms,borland,win32}/config.h

1/25/2002
	doc/porting.ms: update vfld/NO_BITFIELDS; add SIZLIM data models
	include/snotypes.h: drop default SIZLIM back to 0x7fffffff
	configure: redefine SIZLIM to 0xffffffff if using 64-bit INT_T
		add --no-bitfields
	INSTALL: document --no-bitfields
	timing: move psrinfo to generic location (SunOS5 and Tru64 v5)
	new: test/test.dump.sh: massage MAXLNGTH output
	test/tests.in: use "dump" script for a.sno, dump.sno
	test/{a,dump}.sno: massage for "dump" test script

1/24/2002
	genc.sno: rename ENTER to ENTRY, flush ';' and label
		avoid cast and parens for integers in SETAC
		avoid parens for simple constants for SETAC
		saves 4094 bytes in snobol4.c
		(7928 with yesterday's changes)
	include/macros.h: rename ENTER to ENTRY, output label
	Makefile: don't have Makefile2 depend on GENERATED files
		move GENERATED to before Makefile2
		add "make tidy"

1/23/2002
	timing: add psrinfo, sysDescr for OSF/1
		use ARGS when running timing.sno
	doc/ports.doc: last of old reports! add new ones
	genc.sno: clean up output (snobol4.c is 3838 bytes smaller)

1/22/2002
	lib/snolib/logic.c: cleanup
	v311.sil: make LABEL() honor case folding
		add experimental FUNCTION() predicate
	new: test/function.{sno,ref}
	test/tests.in: add function.sno
	test/label.{sno,ref}: update for case folding
	globals: add FUNCTN
	gensyn.sno: use ALPHA and ALPHANUM variables; fix ALPHANUM!
	doc/ports.doc: update!
	CHANGES: updated

1/21/2002
	v311.sil: add LABEL() and VDIFFER() functions
		updated Table of Contents
	globals: add LABEL and VDIFFR
	doc/snobol4.1: document LABEL() and VDIFFER()
		do some bolding
	new: test/{label,viffer}.{sno,ref}
	test/tests.in: add label.sno, vdiffer.sno
	timing: if 00README.CVS exists, display CVS/Entries
	new snolib/logic.sno, lib/snolib/logic.c
	pml.h: add LOGIC (but not prototype)
	Makefile2.m4: fix install (VERS/pv)
	include/load.h: add LA_STR_{PTR,LEN}

1/20/2002
	started logic.c

1/19/2002
	Makefile2.m4: add star bars

1/18/2002
	configure, INSTALL: add --no-opt
	gensyn.sno: shake off dust; use TERMINAL, SUBSTR()
		use CHARSET, own ORD() function to allow bootstrapping
		take input file from command line
	Makefile: pass right input file to gensyn.sno!
	doc/Makefile: rename porting.doc to porting.txt
		add ALL, PORTING variables
		make snobol4.pdf (by default)
		add "make porting"
		add "make clean"
	doc/snobol4.1: update LOAD(), charset discussions
	v311.sil: fix compiler syntax error pointer display
		fix internal error trying to compile " ()("

1/17/2002
	INSTALL: add more --add-opt= discussion
	CHANGES: updated
	timing: show History RCSID
	v311.sil: up hash table size to 8192, define shift factor (OBSFT)
		fix lexical comparison function optimizations; add to index
	test/lexcmp.{sno,ref}: new version -- test null strings
	lib/hash.c: Use Bob Jenkins' hash function; real assention value
		5% decreases in genc.sno compile & run times

1/16/2002
	Makefile: use $(CC) to build bsdtsort
	INSTALL: note OPT defaults to -O2 with gcc
		enhance --add-opt= and --opt= discussions
		ask for gifts

1/15/2002
	configure:
		renamed autoconf to configure
		retabbed
		output to config.m4 explicitly
		added --debug option
		rework option processing; always m4 quote values
		add --add-define to usage
		add OPT variable; use -O2 for gcc
	Makefile: remove autoconf from kit
		rework tsort comments
		move tools to top
		added pkg to kit
	timing: check if FREQ is non-empty; check for 00README.CVS
	renamed lib/borland to lib/msdos
	config/borland/borlandsnob.mak: renamed lib/borland to lib/msdos
	config/win32/ntmsvc.mak: renamed lib/borland to lib/msdos
	doc/load.doc: update, mention dt.h

1/14/2002
	Makefile: use find | xargs for "make clean"; catch CVS .# files
	lib/snolib/host.h: update comments for Catspaw functions
	snolib/spitbol.sno: add aliases for HOST() functions

1/13/2002
	new: 00README.CVS
	new: bsdtsort.c
	Makefile: use bsdtsort
	Makefile2.m4: remove pv reference
	lib/unix98/load.c: remove NO_UNDERSCORE ifdef
	autoconf: set TRY_UNDERSCORE directly; set for darwin
	doc/snobol4.1: updated
	doc/load.doc: updated

1/12/2002
	lib/init.c: take -d and -P in descriptors (again)
		add showk(), rework p() function
		make -v display just version
	README: add host.sno
	INSTALL: update

1/10/2002
	autoconf: split generated/on lines

1/9/2002
	new: lib/snolib/host.h -- HOST() function codes
	lib/snolib/host.c: use host.h, handle arbitrary string "codes"
		add pmstack, dynamic region size functions
		add char bits
	new: host.awk -- create host.sno from host.h
	timing, timing.sno: use host.sno, report GC's
	Makefile2.sno: add GENSNOLIB for host.sno installation
	lib/init.c: allow NDYNAMIC override, add PSSIZE, allow override
		accept 'm' suffix on region sizes
		accept -v for version
		globals for pmstack, dynamic region size functions

1/8/2002
	doc/Makefile: use groff -Thtml

1/7/2002
	test/tests.in: add crlf.sno
	test/crlf.{sno,ref}: program and data with CR/LF at end of line

1/6/2002
	lib/io.c: toss CR's for DOS files transferred in BINARY mode
		or on Cygwin for files transferred in ASCII mode!
	Makefile: get tsort.sno from parent directory
	v311.sil, globals, procs: rename CON to CONCAT for Cygwin build
	timing: move cygwin EXT check to top; fix blank lines
	autoconf: add --no-inline; rework largefile code again: add USE_FLAGS

Clean builds on: SunOS 4.1.4; Solaris 2.4, 2.5.1, 2.6, 7, 8
	FreeBSD 3.4, 4.4; OSF1/DU/Tru64 3.2, 4.0; IRIX 6.2, 6.5
	Darwin 5.1 (MacOS X); NetBSD/i386 1.5ZA; Cygwin 1.3.3
	HP-UX 10.20, 11.0; AIX 4.3; RH Linux 5.1, 6.0, 7.0, 7.2

1/5/2002
	timing: on HP-UX, try getconf MACHINE_MODEL if "model" cmd not found
	autoconf: use XBS5_LP64_OFF64_{C,LD}FLAGS on IRIX for --lp64
		set XBS5_MODEL on AIX if using native compiler; LFS_CFLAGS
			is not supported.  Don't try to turn on large
			file support under lp64 compilations.  Save
			extra large file getconf values using
			ADD_OPT()
		allow --lp64 builds under AIX (not tested); set ARFLAGS
		Darwin: alias "GT" (conflicts with curses global?)
	Makefile2.m4: use ARFLAGS for AIX lp64
	lib/ordvst.c: remove an old comment

1/4/2002
	autoconf: canonicalize "using" messages to lowercase
		make LARGEFILE checks glibc aware, add --no-largefile back!
		update for Darwin (cc define __GNUC__ but not __gcc__)
			get right path for mach-o/dyld.h (dlopen available)
			add LDFLAGS for libdl
		add HAVE_STDARGS_H check -- Darwin varargs is broken?
	timing: remove CCVERS, show build.c contents
		grep for Id in timing, timing.sno
		clean up BSD sysctl, CPU display
		prefix Linux releasefile
		treat Darwin like BSD (use sysctl hw)
	timing.sno: removed Revision, add ERROR/WARNING prefixes
		display TERMINAL messages at end for WARNINGS/FATAL
	io.c: check HAVE_STDARGS_H (was USE_STDARGS_H)
	lib/ordvst.c: include stdlib.h before h.h for FreeBSD 3.4
	lib/snolib/retstring.c: include stdlib.h before h.h for FreeBSD 3.4

1/3/2002
	autoconf: define CONFIG_HOST, CONFIG_OPTIONS (only if non-null)
	lib/snolib/host.c: add CONFIG_HOST, CONFIG_OPTIONS, reorder 2xxx
		add integer constants (23xx range)
	Makefile: push SNOBOL4 variable down to Makefile2, add TSORT variable
	Makefile2.m4: add SNOBOL4 variable

1/1/2002
	autoconf: disable largefile/getconf cleverness -- glibc getconf botch

12/31/2001
	lib/dummy/mstime.c: add comment to use time()
	lib/io.c, lib/str.c: tweaks (casts) to work on sparc w/ --longlong
	Thank God It's Over

12/29/2001
	lib/io.c: fix sset cast; tested SSET; use HAVE_FSEEKO (or lack thereof)
	autoconf: detect largefile support, always use it, define HAVE_FSEEKO
		detect SIGTSTP on Solaris 8

12/28/2001
	wrote count-procs script

12/27/2001
	genc.sno: make callgraph file tsort friendly
	Makefile: move tsort out to seperate command
		so we can detect errors from bogus tsort programs
		use new callgraph format
	v311.sil, procs:
		rearrange some code to avoid functionization
		eliminate procs (and loops): TRAC{1,4,6},STOPT1,RECOM{N,F,Q,T}
	INSTALL: add "Advanced configuration" section
		(information on local-config, local-defines)
	README: add chars.sno
	new: snolib/chars.sno: character sets

12/26/2001
	CHANGES: update configure options
	lib/io.c: add %G
	v311.sil: use %G for us/stmt
	autoconf: LP64 comments, GETRUSAGE_BUG for openbsd, select suspend.c
		changed cygwin32 to cygwin, check sys/signal.h for sigset_t
	lib/{bsd,posix}/tty.c: fix bad return in find...
		add tty_invalidate, ran comdef
		keep "last" dev_t used
	lib/{endex,init,io,stream,posix/tty}.c: kill unused variables
	include/macros.h: fix cast in OFCHK() to kill warnings
	timing.sno: allow integer compile/execute time/avg

12/25/2001
	config.guess: updated to latest
	Makefile2.m4: add suspend.o, SUSPEND_C
	Makefile: add .NOTPARALLEL
	lib/init.c: add suspend handler, remove tty_save() call
	lib/endex.c: remove tty_restore() call
	lib/posix/tty.c, lib/bsd/tty.c:
		keep state by device dev_t
		flush tty_save(), tty_restore()
		add tty_suspend()
	lib/snolib/serv.c: add SIGFUNC_T for fireman, casts for bzero() args
	lib/bsd/inet.c: cast bzero() args
	new: lib/posix/suspend.c: POSIX process suspension
	new: lib/bsd/suspend.c: BSD42 process suspension
	new: lib/generic/suspend.c: generic process suspension
	new: lib/dummy/suspend.c: dummy process suspension
 
12/21/2000
	Makefile: don't need to pass SIL to Makefile2
	lib/posix/tty.c: restrict recl to 0xff

12/20/2001
	Makefile: consolidate .PRECIOUS lines, add data_init.h
	Makefile2.m4: create and compile build.c before linking
	host.c: add HOST(2001) ... HOST(2005) -- build variables
	include/load.h: handle const strings in RETSTR()

12/19/2001
	INSTALL: updated
	autoconf: always define CONFIG_GUESS for HOST(2000)
	lib/snolib/host.c: add HOST(2000); display CONFIG_GUESS
	timing.sno: display HOST() and HOST(2000)

12/18/2001
	timing: show Ids from genc.sno, v311.sil
	README: updated.  Include snolib file information, web docs.
	lib/{ansi,borland,bsd,dummy,generic,posix,vms,win32}/mstime.c,
	    v311.sil, timing, genc.sno, include/snotypes.h, test/test.trace.sh:
		Keep runtime as a REAL (adds range at loss of
		resolution) effects all contexts; TIME(), trace
		messages, stats messages report microseconds/stmt.
	Makefile, Makefile2.m4: moved data_init.o rule back to Makefile2!
		add comment on DATA_INIT_CFLAGS and local-config
		add $(SRCDIR) prefixes for $(SNOBOL4).c
	Makefile: removed charset.c from TAR
	data_init.c: merged in stuff from charset.c
	lib/init.c: add '+' to start of getopt() optstring for RH7.
		Linux Losers chose incompatible behavior as the DEFAULT!!!
		For "snobol4.c -b genc.sno --inline" getopt was picking
		up the '--' "option"!!!
	removed: charset.c -- merged into data_init.c

12/17/2001
	Makefile2.m4, autoconf: add EXT variable for Cygwin
	test/tests.in: fix scanerr entry
	v311.sil: use CASECL to determine if compiler done at FTLEN2
		ETMCL can be zero on fast systems with bad resolution!
	timing.sno: remove crock for zero execution times

12/16/2001
	autoconf: check LONGLONG seperately for doubles, improve comments
		improved(?) getrusage() detection and comments
		only try LP64 on hppa*w architecture
	charset.c: was ASCII dependant.  use just numeric constants
	timing.sno: crock for zero execution times

12/15/2001
	snolib/wrapper.sno: update TODO, comment out tests
	Makefile: removed bugs dir from TAR list

12/14/2001
	INSTALL: document --add-define= --longlong

12/13/2001
	new: test/scanerr.{sno,ref} scanner error case tests
	test/tests.in: add scanerr
	new: config/djgpp/lots: build scripts for DOS/DJGPP from B.Meissner
	new: lib/djgpp/load.c: DXE based load from Burkhard Meissner
	lib/bsd/inet.c: flatten hostnames to upper case for WATTCP/DOS
	lib/win32/inet.c: borland ifdef/include's
		from Greg White <glwhite@netconnect.com.au> 8/30/2000
	new: Borland make/batch files from Greg White;
		config/borland/{borlandmake.bat,borlandsnob.mak}
		config/borland/{win95test,win95tlist}.bat
	new: snolib/wrapper.sno -- create wrappers for LOAD()ables
	lib/bsd/load.c lib/dummy/load.c lib/hpux/load.c	lib/next/load.c
		lib/unix98/load.c lib/win32/load.c genc.sno:
			renamed link() to callx() to avoid unistd.h conflict
	Makefile: removed []'s carried over from Makefile2.m4
		added "make generated"

12/12/2001
	CHANGES: updated
	autoconf: fix Solaris, Linux
		include date, host, sys info in config.h
	timing: ls -l config.h

12/08/2001
	Makefile, Makefile2.m4: move source generation up to Makefile 
		allows clean cvs checkout to build (with existing binary)
		added "make spotless"

12/06/2001
	include/load.h: RETSTR() takes single arg, handles NULL
		all RETxxx macros wrapped in do { ... } while(0)
	pml.h, Makefile2.m4: add ORD() to snolib.a, PML it
	doc/snobol4.1: add ORD()
	win32/mstime.c: fix Win9x NO_STATIC_VARS

12/05/2001
	win32/mstime.c: fix Win9x version
	timing.sno: ignore zero shell time (cygwin)

12/04/2001
	autoconf: create config.h, add --add-define=
		use longlong/c99 functions when --longlong given
	Makefile2.m4: flushed $(CONFIG_GUESS) $(SYSDEFS), install config.h
	generic/intspc.c: fix comment, add cast
	tested --longlong (on FreeBSD)
	data_init.c: include config.h (for INT_T)
	lib/io.c: use int_t for io_print unit
	lib/longlong/spcint.c: ad hoc implementation (untested)
	new: c99/spcint.c c99/intspc.c
	timing: display config.h contents

12/02/2001
	LOTS: add 'ifdef HAVE_CONFIG_H/include "config.h"'
		(done using a SNOBOL4 program, of course!)

11/15/2001
	split {ansi,generic}/convert.c into {ansi,generic}/{spcint,spreal}.c
	moved intspc.c to generic/
	updated Makefile2.m4, config/vms/descrip.mms, config/win32/ntmsvc.mak
	add serv.sno to snolib/

11/13/2001
	lib/io.c: move osdep_open to top, move popen() to end

09/26/2001
	lib/win32/inet.c: added wVersionRequested variable

08/16/2001
	lib/snolib/serv.c: re-arm fireman at end of handler
		(to avoid zombie creation)

04/29/2001
	doc/snobol4.1: document SSET()

04/26/2001
	autoconf: fix long long, always set PML_SERV
	pml.h: add SERV_LISTEN (under ifdef PML_SERV)
	Makefile2.m4: add SERV_C, add serv.o to SNOLIB_OBJS

03/28/2001
	timing: add SuSE-release

01/18/2001
	autoconf: use win32/mstime.c under Cygwin

01/13/2001
	autoconf: add --longlong
	include/macros.h: cast pointer args for bzero/bcopy to void *
		so that we can use 64-bit ints when pointers are only 32-bits
	include/snotypes.h: allow INT_T to be redefined (default to long)

01/04/2001
	timing: add .exe EXTension if needed, for cygwin
	timing.sno: handle zero execution time (cygwin on win9x)
	autoconf: only add -ldl on SunOS (all flavors)

12/08/2000
	timing: improved for OpenBSD

11/14/2000
	autoconf: add --no-largefile, ARCH_OPT, add Id, options output
	config/vms/descrip.mms: make DEC C the default
	INSTALL: document VMS change, -lp64, --largefile, --no-largefile

11/07/2000
	lib/ordvst.c: declare ordvst_cmp() to take void *'s
	lib/posix/term.c: add ifdef HAVE_UNISTD_H
	removed; lib/generic/term.c

11/06/2000
	autoconf: major rework; disposed of ALL config/*.m4 files
	timing: run "file" command on executable

11/03/2000
	new: config/64bit.m4
	removed: config/{sony_news,ultrx-mips}.m4 (empty)
	config/{irix64,ultrasparc64,irix64}.m4: use 64bit.m4
	lib/next/load.c: NextStep (and MacOS X) LOAD() support
	autoconf: figure out which load.c to use
		removed sunpro goo        
		removed empty config files
		use $INCDIR in dynamic.c tests
	config/{bsd43,netbsd-alpha,nextstep3,osf1}.m4,
		config/skel.inc: remove all LOAD_C settings

10/28/2000
	config.guess: add darwin (MacOS X),
		from www.darwinfo.org/pub/darwin/devel/config.guess
	autoconf: add darwin, help from Russ Urquhart

10/12/2000
	timing: display CPU: line from /var/run/dmesg.boot on BSD systems

9/22/2000
	timing: display mandrake-release file, add "break"


9/14/2000
	autoconf: check for libsocket.so (in case SUNWarc not installed)

9/13/2000
	autoconf: fix dynamic.c messages

8/23/2000
	lib/generic/convert.c: fixed pasteo's thanks to
		"Greg White" <glwhite@netconnect.com.au>

8/21/2000
	autoconf: add NetBSD ELF check

8/15/2000
	timing: display slackware, turbolinux, debian RELEASE files

8/14/2000
	timing: display redhat-release, SuSe-release files

8/5/2000
	Fix for FreeBSD 4.x;
	autoconf: check for /usr/include/sys/vadvise.h to select dynamic.c
	config/nextstep3.m4 config/osf1.m4 config/skel.inc: remove DYNAMIC_C
	timing: display machdep.tsc_freq on FreeBSD

7/25/2000
	new file lib/snolib/serv.c
	autoconf: detect ELF on FreeBSD and add -export-symbolic, NO_UNDERSCORE
		add -export-symbolic on ELF Linux systems
	lib/unix98/load.c: add NO_UNDERSCORE

1/6/2000
	config/ultrasparc64.m4: config for solaris7 64bit env (tested)
	autoconf: emit HAVE_STDLIB_H
	main.c lib/init.c lib/io.c lib/ordvst.c
		lib/{bsd,generic}/dynamic.c lib/{bsd,posix}/tty.c
		lib/generic/popen.c lib/{hpux,unix98,bsd}/load.c:
			use HAVE_STDLIB_H for malloc/getenv

12/17/99
	timing: use psrinfo if available on suns

8/8/99
	config/borland/build.bat: add sset
	config/vms/descrip.mms: add sset
	config/win32/ntmsvc.mak: add sset
	lib/vms/popen.c: add retlen cast (for Alpha)
	lib/vms/tty.c: remove trailing NULs

7/2/99
	timing: use ./xsnobol4 (in case . not in user PATH)
		redirect sysctl stderr (some garbage on BSDI 4.0)
	autoconf: check for libdl in /shlib (for BSDI 4.0)

5/2/99
	autoconf: add mtxinu43, check for missing finite() on hpux
	new: config/mtxinu43.m4, lib/hpux/finite.c

5/1/99
	lib/win32/inet.c: add setsockopt, get_osfhandle, (short) casts

4/27/99
	snolib/http.sno: request 8k record length
	lib/snolib/sset.c: use oof parameter to io_sseek
	lib/io.c: fixed io_findunit, io_sseek
	Makefile2.m4: add sset.o

4/16/99
	config/vms/descrip.mms: fixes for AXP/DECC (not tested in 4 yrs?)

4/12/99
	lib/win32/sys.c: fix osname()
	Makefile2.m4: set SHELL=/bin/sh

3/12/99
	Add Experimental scaled SET interface; 
	lib/io.c: add io_sseek()
	pml.h: add SSET
	new lib/snolib/sset.c

3/3/99
	INSTALL: update for --prefix

2/26/99
	Tested on FreeBSD 3.1
	autoconf: look for getopt in unistd.h
	timing: look for sysctl in /sbin

2/2/99
	Makefile2.m4: add SHELL=sh for IRIX

1/22/99
	lib/win32/mstime.c: fix if(n)def NO_STATIC_VARS

1/14/99
	lib/{win32,vms}/inet.c: removed HAVE_SOCKADDR_LEN

1/8/99
	INSTALL: updates from John Refling <johnr@spimageworks.com>
	Makefile2.m4: remove $(MANPATH) first (from John Refling)
	README: add John Refling!

12/31/98
	updates from trying to make a FreeBSD "port";
	autoconf: add --prefix
	Makefile: change "default" to "all"
	Makefile2.m4: use PREFIX

12/28/98
	v311.sil, test/a.ref, test/dump.ref: fixed CASECL position

12/26/98
	autoconf: add --largefile
	lib/io.c: use ftello/fseeko thruout (crock ifdef on _LARGEFILE_SOURCE)

12/23/98
	lib/win32/sys.c: fix typo

12/19/98
	lib/bsd/inet.c, autoconf: removed HAVE_SOCKADDR_LEN

12/18/98
	autoconf: experiment: try setting _FILE_OFFSET_BITS to 64
		on Solaris 2.6 for Phillip Thomas

12/17/98
	config/vms/descrip.mms: tested, fixed

12/16/98
	Makefile: add .depend dependancy!
	Makefile2.m4: removed HAVE_UNISTD_H variable
		add explicit rules for version.o main.o data.o syn.o
	autoconf: check stdlib.h for getopt()
		flushed HAVE_UNISTD_H variable
		prefer gcc on sun4u systems!
	config/bsd44.m4 config/ansi.m4 config/bsd43.m4
		config/generic.m4 config/hpux-68k.m4
		config/netbsd-alpha.m4 config/nextstep3.m4
		config/osf1.m4 config/posix.m4 config/skel.inc
		config/ultrix-mips.m4: add $(SRCDIR)
	lib/bsd/mstime.c: set last_mstime!
		changed NO_GETRUSAGE_BUG to GETRUSAGE_BUG
	lib/date.c lib/generic/expops.c lib/unix98/load.c
		lib/realst.c lib/str.c lib/auxil/getopt.c
		lib/snolib/chop.c lib/snolib/cos.c
		lib/snolib/exp.c lib/snolib/log.c
		lib/snolib/sin.c lib/snolib/sqrt.c
		lib/snolib/tan.c: include system files first (to get __P)
	timing: make seperate symlink for snobol4 binary; remove .. prefix

12/14/98
	config/vms/descrip.mms: use vms inet.c!
	config/win32/ntmsvc.mak: use win32 inet.c!
	new lib/vms/inet.c: VMS only version
	new lib/win32/inet.c: winsock version; call WSAInit/Cleanup
	include/vars.h: add wsock_init

12/12/98
	timing:
		redir lsattr stderr to stdout (in case proc0 not found)
		avoid builtin "time" command if possible (for AIX4, OpenBSD)
	timing.sno: add "User" pattern for AIX4
	Makefile:
		add "default"; AIX4 make was making all the targets!
		moved "clean", "realclean" from Makefile2
		added "distclean"
	Makefile2.m4: moved "clean", "realclean" to Makefile
	autoconf: output libdl instead of -ldl
	config/osf1.m4: added -D_SOCKADDR_LEN

11/23/98
	lib/io.c: pass mode to osdep_open()
	doc/porting.ms: update

11/09/98
	config.guess: updated to new version
		added romp-ibm-aos
	autoconf: try use of dlopen() on 64-bit HP-UX
	genc.sno: process options
	Makefile2.m4: use genc.sno --inline option instead of inline.sno
		removed inline.sno from TAR files

11/02/98
	lib/vms/mstime.c: use CLK_TCK if available

10/31/98
	lib/bsd/mstime.c: avoid negative runtime deltas

10/22/98
	README: updated

8/18/98
	lib/win32/sys.c:
		add Win98
		suppress version numbers on Win95/Win98
		strip leading spaces from szCSDVersion

7/23/98
	autoconf: added cygwin32 test

6/12/98
	include/macros.h: change APDSP to call apdsp function
		after checking for non-zero length!
	lib/str.c: new apdsp function; call bcopy if above
		threshold (else do simple copy)
	12% reduction in genc.sno compile time
	 7% reduction in genc.sno run time

Made 060298.tar.gz; fetched by;
	Charles Wardell <cwardell@skila.com>

5/30/98
	Changes to allow building a Win32 DLL out of SNOBOL4;
		(under ifdef NO_STATIC_VARS)
	Makefile2.m4: add syn_init.{h,h2}
	data_init.c: include vars.h
	gendata.sno: bracket equ.h & res.h against multiple includes
		include BUFFERs in res struct; ifdef struct res decls
	gensyn.sno: output syn_init.h (included by generated syn.c)
	main.c: allocate vars struct; call init_syntab
	parms.h: include vars.h
	version.c: include vars.h; update to 0.99.4++
	include/vars.h: new include file for static vars struct
	include/macros.h: ifdef math_error decl
	lib/{expops,endex,stream,date,ordvst,intspc,realst,init}.c: vars.h
	lib/{ansi,generic}/convert.c: include vars.h
	lib/win32/{load,mstime,tty}.c: keep static in vars.h storage
	lib/snolib/{host,retstring}.c: use vars.h

5/29/98
	lib/io.c: moved all static vars to "struct iovars" for DLL'ification
		units array and indexing now hidden by INTERN and FINDUNIT
		ran comdef

5/6/98
	autoconf: seperate --no-dynlib and --no-dlopen options

4/9/98
	doc/ports.doc: updated

3/7/98
	lib/bsd/inet.c: comments, ran comdef
	lib/win32/mstime.c: swap old & new in subtraction!

3/3/98
	lib/win32/load.c: rework load path handling;
		try bare filename first, then prepend snolib dir
	lib/bsd/inet.c: define "unix" (for HP-UX, AIX)

3/2/98
	doc/load.doc: talk about HP-UX and getstring()
	README: fix Steve Kibler's name!

3/1/98
	config/vms/descrip.mms: add .ifdefs (for DEC_C, NO_TCP)
	INSTALL: document VMS MMS/MACRO= options

2/26/98
	lib/hpux/load.c: keep seperate "lib" struct with refcounts

Gave to Steve Kibler (Win32 DLL port) 2/24/98

2/15/98
	INSTALL: updated

2/14/98
	config/borland/build.bat: add exists.c
	genc.sno: check for zero integer divisor, use RMATH_ERROR() macro
	include/macros.h: add RMATH_ERROR(); calls finite()
	config/win32/ntmsvc.mak: add -Dfinite=_finite
	new lib/dummy/finite.c
	Makefile2.m4: add FINITE_C
	autoconf: add finite.o

2/13/98
	config/win32/ntmsvc.mak: add exists.c

2/12/98
	new lib/vms/unlink.c: use delete function!
	lib/io.c: fixed TTY_READ_COOKED (noeol arg, accept empty lines)
	lib/vms/popen.c: fixed typo
	lib/vms/sys.c: blows on VAX up unless debug puts() present?
	lib/vms/tty.c: fixed term/termlen swap
	config/vms/descrip.mms: updated (works on uVAX 3100 under VMS 6.1)!
	removed build.com

2/10/98
	config/vms/{build.com,descrip.mms}: updated
	lib/stream.c: renamed index variable for VAX/VMS cpp
	lib/io.c: include res.h for VAX/VMS CC
	lib/bsd/inet.c: ifdef includes for VMS
	lib/vms/tty.c: fix typo
	lib/vms/popen.c: add <errno.h>
	new lib/vms/exists.c: check for file existance
	INSTALL: cleaned up VMS instructions

2/8/98
	config/win32/ntmsvc.mak: add TTY_C TTY_DEFS NO_BITFIELDS vars
	lib/io.c: add /dev/tmpfile, OSDEP_FOPEN
	README: add L. Gene Battin

2/6/98
	lib/bsd/inet.c: use winsock.h under USE_WINSOCK_H
	config/win32/ntmsvc.mak: USE_WINSOCK_H, use wsock32.lib

2/5/98
	Makefile2.m4: move exists to snolib.a
	config/vms/descrip.mms, build.com: add exists

2/4/98
	lib/dummy/rresvport.c: for NT
	lib/bsd/inet.c: use winsock2.h on NT
	lib/win32/tty.c: fix typos
	new config/win32/ntmsvc.mak: NMAKE file
		add -O2, remove -Za, define __STDC__ as zero to avoid
		losing non-ANSI extensions! define isnan as _isnan

2/2/98
	lib/snolib/file.c: use exists() function
	lib/win32/load.c: use exists() function
	new lib/generic/exists.c, lib/win32/exists.c
	ntmsvc.bat: add -DUSE_STDARG_H, -DUSE_WINSOCK_H
		removed dump.{c,obj}
	Makefile2.m4: add exists.c, EXISTS_C
	lib/bsd/inet.c: add USE_WINSOCK_H ifdef (ugh)

1/28/98
	Fixed up ntmsvc.bat with help from Bert Vincent
	add win32/rename.bat to fix truncated filenames
	new lib/win32/tty.c

1/27/98
	lib/win32/sys.c: worked first try; made it better
	lib/win32/load.c: now compiles
	tested win32 popen-- works on NT 4.0
	lib/bsd/inet.c: added NEED_SOCKADDR_LEN ifdef
	autoconf: add INCDIR; define NEED_SOCKADDR_LEN if needed

1/26/98
	config/win32/ntmsvc.bat: removed some rem's, use new files!

1/5/98
	new lib/win32/popen.c: use MSVC _popen() UNTESTED!!
	new lib/win32/load.c: use LoadLibrary() UNTESTED!!
	lib/win32/sys.c: use GetSystemInfo() for hw type
		use GetVersionEx for O/S
	lib/win32/mstime.c: use GetSystemTime() and SystemTimeToFileTime()
		if GetProcessTimes fails (only implemented on NT?)

12/23/97
	include/h.h: add __P macro
	include/snotypes.h: add SIL_FUNC_PROTO macro
	include/syntab.h: add prototypes for functions in stream.h (if'ed out)
	lib/realst.c: declare void return
	lib/stream.c: fix accidental parameter removal?
	genc.sno: put silpath in top comment
	New include/lib.h: lib file prototypes (not used)

12/22/97
	New lib/win32/sys.c, lib/win32/mstime.c: UNTESTED, UNUSED
	README: add David Feustel

12/21/97
	New config/win32/tlist.bat
	New config/win32/nttest.bat
		David Feustel's WinNT reression test batch files

12/17/97
	New config/win32/ntmsvc.bat:
		David Feustel's WinNT batch file using MS VC++ 5.0

12/10/97
	Fixes from David Feustel's WinNT port;
	config/borland/build.bat: add missing files
	lib/io.c: added NEED_POPEN_DECL

12/5/97
	doc/snobol4.1: fix typo (thanks to Phillip Thomas)

Gave to David Feustel 12/3/97 for WinNT port (0-99-4xx.zip)
Gave to Phillip Thomas 11/23? for tcp/findunit fixes

11/23/97:
	lib/init.c: catch SIGPIPE!
	lib/io.c: write newline directly if unbuffered
	Makefile2.m4: send test results to stdout

11/22/97:
	lib/bsd/inet.c: removed extra "int port" decl

11/21/97:
	Fix io_endfile() exhaustion reported by Phillip Thomas
	lib/io.c: io_closeall(); return status, free file blocks
		io_endfile(); call io_closeall(), even if no curr!

11/16/97:
	lib/generic/expops.c: use int_t in SIGN cast

11/8/97:
	doc/porting.doc: NO_UNBUF_RW
	Makefile2.m4: install .h files in snolib dir
		make hard link for snobol4-VERS
		touch snobol4 after hard link
			to ensure newer than snobol4.c

11/7/97:
	v311.sil: removed keyword tracing for &ERRTEXT
		didn't work (output as integer)
		neither SNOBOL4+ nor SPITBOL allow it

11/5/97:
	v311.sil: replace PROC with XPROC on merged scanner procs
	snolib/spitbol.sno: set &FULLSCAN = 1
	gendata.sno: get input filename using HOST() functions
	genc.sno: get input filename using HOST() functions
		add missing "new" SIL op names to comments
		add new XPROC op
	Makefile2.m4: pass SIL file to genc, gendata on command line
	lib/dump.c: use X_BKSIZE() in dump_dyn()
	timing: link v311.sil into timdir, and pass on command line to genc.sno
	include/macros.h: check second character in LEXEQ()

11/4/97:
	lib/init.c: increase default dynamic space to 64K descrs
	Makefile2.m4: removed -d512k arg from SNOBOL4 command
		(could reduce workspace in 64bit environs)
	genc.sno: use X_BKSIZE and X_GETLTH macros
	include/macros: add X_BKSIZE and X_GETLTH macros

10/30/97:
	lib/pat.c: make inlinable
	parms.h: inline pat.c
		8% reduction in genc.sno compile time
	v311.sil: catch bad data at PATBRA

10/29/97:
	lib/vms/{tty,getredirect,term}.c: flushed xxx_file hacks
		always use fgetname()

10/28/97:
	genc.sno: add IND before "hash()"
	v311.sil: merge scanner functions into SCIN1
	globals, procs: removed scanner functions
		genc runtime reduced 15%
		avoids nasty mutual recursions, stack overflows
		atn.sno runtime reduced by 63%!! (2.7x faster)
		worst case (4096 char string) reduced 69% (4.8x faster)
		snocone self-compile runtime reduced 5%

10/27/97:
	lib/io.c: perform lseek() directly on unbuffered units
	config/hpux.m4: removed -Dconst (now done in h.h)
	snolib/ftp.sno: add mode arg to FTP.DATA.COMMAND
			add TCP.DATA.CLOSE function
			fix anon open error return

10/24/97:
	v311.sil: allow REALs in INTVAL for Stephen Del Rea (from SNOBOL4+)
	snolib/snobol4+.sno: removed CONVERT() calls
	snolib/url.sno: use file.sno for local files
	test/tests.in: add intval
	New snolib/file.sno: local file ops for URLs
	New test/intval.sno test/intval.ref tests

10/11/97:
	snolib/http.sno: add "Host: " to request

10/10/97:
	snolib/snobol4+.sno: accept REAL offset argument to SEEK()!
	lib/vms/sys.c: removed OSNAME, trim trailing spaces from version

10/10/97:
	snolib/snobol4+.sno: add SEEK()
		
10/5/97:
	New h/dt.h; struct definitions for SNOBOL4 datatypes
	include/h.h: define dummy const & volatile if __STDC__ == 0
	lib/dump.c: use dt.h
	
10/3/97:
	lib/vms/sys.c: use SYS$GETSYIW to get architecture and VMS version
	lib/{bsd,dummy,posix,vms}/tty.c: add fname arg to fisatty
	lib/io.c: add FL_INPUT and FL_OUTPUT flags
		add fname arg to fisatty

10/1/97:
	New lib/borland/tty.c
	config/borland/build.bat: define TTY_READ_RAW, use borland/tty.c

9/30/97:
	Fixed (integer) math error handling;
	lib/init.c: declare math_error volatile
	include/macros.h: declare math_error extern volatile
	include/h.h: dummy out volatile on non-ansi compilers

9/29/97:
	doc/ports.doc: updated

9/27/97:
	gensyn.sno: set exit code if input file not found
	lib/realst.c: fixed comment
	doc/porting.ms: updated, merged, sorted ifdefs

9/26/97:
	lib/io.c: pass raw, keepeol flags to tty_read()
		add seperate TTY_READ_{RAW,COOKED} ifdefs
	lib/vms/tty.c: add back "raw" arg; support cooked reads (not used)
		add keepeol arg; use fgetname() to get fname for ASSIGN
		add TRMNOECHO (for cooked)
	config/vms/{build.com,descrip.mms}: TTY_READ_{RAW,COOKED}
	New: snolib/ftp.sno

9/25/97:
	lib/vms/tty.c: added SUCCESS() macro, NOFILTR flag, term[] mask
	lib/vms/popen.c: added SUCCESS() macro

9/24/97:
	autoconf: accept null string as an option for HPUX9
		problem reported by Yuli Barcohen
	config/borland/build.bat: added lib/generic/popen.c
	lib/io.c: removed NO_POPEN ifdefs
		TTY_READ for binary only, pass fname
	lib/bsd/tty.c: removed "old" and "TTY_SAVE_RECL"
	lib/vms/tty.c: use filenames to assign tty channels
	lib/posix/tty.c: removed "old"; fixed recl saving
	lib/vms/term.c: add term_file, term_fd globals
	lib/vms/getredirect.c: add std{in,out}_file globals
	New: lib/dummy/popen.c: does nothing
	New: lib/generic/popen.c: uses system()

9/23/97:
	lib/generic/expops.c: check for overflow
	New: snolib/smtp.sno snolib/http.sno snolib/url.sno

9/22/97:
	config/vms/{descrip.mms,build.com}: add READ_TTY define
	lib/generic/expops.c: use repeated multiply for expint()
	lib/vms/tty.c: implement tty_read(), tested
	lib/vms/popen.c: tested.  Now available in DEC C RTL??

9/21/97:
	lib/io.c: add io_finish(); 
		much tweaking;
		added TTY_READ ifdef
		call tty_close() even if FL_NOCLOSE set
		free source files when compiler finishes
		make "|xxx" open fail if NO_POPEN defined
	lib/endex.c: call io_finish()
	lib/vms/popen.c: replaced with version from Icon
	config/hpux-pa.m4: removed -mlong-calls per Yuli Barcohen
	timing: check for /bin/model

9/17/97:
	Makefile2.m4: made snobol4 precious
	lib/init.c: catch resource limit signals
	lib/io.c: use fgets() again in io_read(). Only getc()
		for last character, if needed.
	New: lib/vms/popen.c
	New: lib/vms/tty.c my crude attempt at noecho support
	config/vms/{descrip.mms,build.com}: add popen.c, use vms/tty.c

9/15/97:
	New: snolib/snobol4+.sno emulates SNOBOL4+ functions

9/13/97:
	New: snolib/{unique,fence,not}.sno from Peter Arno-Coppen
	New: snolib/spitbol.sno emulates SPITBOL I/O & functions
	snolib/bq.sno: use IO_FINDUNIT()

9/10/97:
	Makefile: replaced seperate 2nd level rules with one using $@
	Makefile2.m4: added SH=sh for IRIX
		replaced TESTED with "snobol4"
		do all cmp's silently
	lib/stream.c: stream tweaking; do put outside loop, use for()

9/9/97:
	v311.sil: Call io_pad() to fix -LIST RIGHT
	lib/io.c: add io_pad() function
	gensyn.sno: CONTIN is always implicit action zero
	lib/stream.c: handle CONTIN quickly (no table lookup);
		CONTIN actions are taken for 97% of characters scanned
		while compiling genc.sno; Compile time reduced by 8%

9/7/97:
	Ran profiling (prof and tcov)
	lib/io.c: only tack on one space to compiler input
	v311.sil: have compiler use length returned by STREAD
		reduces genc.sno compile time by 65%
			an average of 1000 padding spaces were being
			added to each line using 1024 recl.
		reduced 10% below compile time for 80 char recl.
		Use input length for listings; -LIST RIGHT is dead.
	lib/top.c: allow inlining
	parms.h: inline top.c

9/3/97:
	config/vms/build.com, config/vms/descrip.mms: updated
	new file lib/vms/sys.c

9/2/97:
	v311.sil: Implemented fatal "Output error"
		problem reported by Phillip Thomas in June 1994!
	genc.sno: pass iokey to io_output(), add labels to ENFILE
	io.c: return status from io_output(), io_endfile()
	procs: add COMP6

8/29/97:
	lib/unix98.c: add TRY_UNDERSCORE ifdef, enable for FreeBSD
		added mode var, default to zero if RTLD_LAZY not defined

8/20/97:
	lib/realst.c: include stdio.h for SGI -n32 ABI

8/19/97:
	lib/io.c: removed unused vars, fixed typos
	autoconf: fixed irix64 comment

8/13/97:
	configure: check into RCS!  Use ./autoconf

8/12/97:
	INSTALL: replaced autoconf references with configure
	timing: redirect sunmodel standard error output

**************** version 0.99.4 (RCS tag BETA7)

8/11/97:
	version.c: upped to 0.99.4
	CHANGES, README: updated
	doc/snobol4.1: updated date
	doc/load.doc: new sections on shared libraries, I/O functions
	doc/ports.doc: updated version numbers

8/10/97:
	timing.sno: calculate FACTOR before using it! use CHECKHZ()!!
	new test: any

8/8/97:
	doc/ports.doc: updated

8/6/97:
	Makefile: use ./configure
	Makefile2.m4: added configure to tar

8/5/97:
	v311.sil procs syntax.tbl: Code from SNOBOL4+
		seperate syntax tables for BREAK(X) and SPAN
		simple index lookup for ANY/NOTANY
	lib/stream.c: new any() function

8/1/97:
	autoconf: general cleanup
		commented out irix64 detection (does not yet work)
	lib/stream.c: optimized clertb() -- 4% reduction in genc runtime!!

7/26/97:
	gensyn.sno: include h.h before syntab.h for non-ANSI compilers (sos4)
	sunmodel: use hostid on systems without openprom
	timing.sno: use REM to capture version number
	timing: removed "who am i"
	doc/ports.doc: updated

7/25/97:
	v311.sil: cleaned up clearing of compiler variables
	lib/auxil/bzero.c: zero blocks of "words"

7/18/97:
	autoconf: revamped gcc testing for Solaris/x86

7/16/97:
	doc/ports.doc: updated

7/11/97:
	autoconf: use CCVERS to output comments
		add --force-memmove; check for memmove in string.h if
			no bcopy(); define USE_MEMMOVE
	include/macros.h: added USE_MEMMOVE USE_MEMCMP ifdefs
		USE_MEMCMP not set; only necessary if DCMP_BYTES in use (rare)
	lib/bsd/inet.c: include macros.h for bcopy redefn
	INSTALL: document --force-memmove
	doc/ports.doc: updated

7/7/97:
	README CHANGES: updated for 0.99.4

7/6/97:
	init.c: deal with long arg vectors; created getargs() -- no static bufs
	lib/snolib/retstring.c: return long strings -- no static buf

7/5/97:
	autoconf: redirect grep output to /dev/null
	version.c: upped to ".3++" (pre .4 testing)
	doc/ports.doc: updated with "3++" timings

7/4/97:
	Makefile: made Makefile2 precious
	INSTALL: add --no-dlopen --no-dynlib
	doc/snobol4.1: add IO_FINDUNIT(), unit range, /dev/fd/n, dlopen(3)
	doc/porting.ms: add NO_FDOPEN

7/3/97:
	lib/io.c: add /dev/fd/ magic path, NO_FDOPEN ifdef
		add FL_NOCLOSE flag bit (but do fflush)
		have I/O close return status from (p|f)close
		have io_findunit() keep static finger
		Upped MAXUNIT to 256
	lib/snolib/findunit.c: PML access to io_findunit()
	pml.h: add IO_FINDUNIT
	Makefile2.m4: add findunit.c
	new tests longline, longrec

7/2/97:
	v311.sil: upped CARDSZ to 1024 again. For David J Birnbaum

7/1/97:
	lib/io.c: soak up excess "record" data after newline in ASCII input
		(problem reported by David J Birnbaum)
		Return full recl's worth of data for EOL mode ASCII input
			used to return recl-1; replaced fgets()

6/23/97:
	timing: cat /proc/meminfo on linux

6/22/97:
	lib/io.c: have T mode I/O imply unbuffered (for tty prompts)
	lib/snolib/getstring.c: handle null string
	tested resp.sno (see spring 1985)
	Makefile2.m4: add SNOLIB_FILE variable
	autoconf: check for bcopy() and bzero() in string.h
		alter SNOLIB_FILE when using dynamic linking

6/21/97:
	timing: use HP-UX "model" command, if present
	doc/snobol4.1: updated exponent info

6/20/97:
	lib/aux/bcopy.c: use (long) for casts
	ports.doc: updated

6/19/97:
	autoconf: look for /lib/libdl (for Linux)
	gensyn.sno: removed letter D from EXP class
	lib/ansi/convert.c: removed extra strtod() arg
	lib/realst.c: expanded buffer
		use "g" format (but make sure output doesn't look like an int)
		will use exponentials if output smaller.
		eliminates trailing zeroes, inaccurate output;
		(ie; 1e12 output as 999999995904.000000,
		 1.e14 output as 100000000376832.000000)
	syntax.tbl: allow exponent's without fractions (ie; 1e5), like SPITBOL
	timing: cat /proc/cpuinfo (if present) on Linux
		dump hw sysctl info on BSD systems
	updated test output for realst change for;
		conv2.ref float.ref pow.ref space.ref spit.ref

5/27/97:
	lib/str.c: add spec2str() utility
	lib/bsd/load.c lib/unix98/load.c lib/dummy/load.c lib/hpux/load.c:
		make consistant; use spec2str, check for abs path
			clear V/F fields in function pointer
	autoconf: use hpux/load.c on HP's with dl.h

5/22/97:
	lib/bsd/load.c lib/unix98/load.c:
		fix "next" pointer setup
	new lib/hpux/load.c

5/21/97:
	gendata.sno gensyn.sno parms.h data_init.c v311.sil version.c
	Makefile2.m4 lib/ansi/convert.c lib/generic/convert.c
	lib/dump.c lib/endex.c lib/str.c lib/ordvst.c lib/init.c:
		Created "struct res" for resident data.  All data now
		in named members, for easier debug.  Expressions now
		legal in SIL ARRAY macro!  flushed duplicate COPYSP decl.
		New machine generated res.h file.
	lib/stream.c:
		use isspace() in trimsp().

5/20/97:
	genc.sno lib/endex.c include/macros.h parms.h:
		applied 10/10/96 tailcall depth stats changes
		all tailcalls use "BRANCH()" macro
		don't output PANIC() if LIVE not set
		9% reduction in isnobol4.c size
	genc.sno include/macros.h:
		moved RSTSTK() to RETURN() macro
		"alt" variable never needed,
		no need to bracket/indent calls
		5% reduction in isnobol4.c size

5/17/97:
	lib/str.c: TRIM tabs as well as spaces, like SPITBOL
	test/trim{0,1}.{sno.ref}: added tab tests

5/3/97:
	lib/unix98/load.c: check for name with _ prepended
		if not found (for NetBSD/pc532)

4/24/97:
	autoconf: added comments, $(SRCDIR) on XXX_C= lines

4/17/97:
	Makefile, Makefile2.m4: use mv -f throughout
	tested dlopen() on OSF/1, SGI

4/14/97:
	config/irix64.m4: ditch long long
	autoconf: check for libdl

4/13/97:
	new lib/unix98/load.c: load support using dlopen()
	autoconf: check for dlfcn.h, added --no-dlopen

4/5/97:
	doc/snobol4.1: document DATE() args
	autoconf, timing: added CCVERS for C Compiler version
	autoconf: new options --add-{cppflags,ldflags,objs,opt,srcs}= --opt=
	INSTALL: document new autoconf options

4/2/97:
	genc.sno, v311.sil, lib/date.c: support SPITBOL DATE() args
	doc/ports.doc: 486SX33

3/27/97:
	doc/snobol4.1: typo tweaks

3/7/97:
	doc/ports.doc: lots of new stuff from Rik Faith
		reformatted: removed "conf" column, added "opt"

**************** version 0.99.3 (RCS tag BETA6)

2/12/97:
	autoconf: added sun4u and define __SPARCV9__
	lib/bsd/dynamic.c: add vm_gc_advise()
	lib/generic/dynamic.c: add vm_gc_advise
	lib/io.c: default SNOLIB_DIR to "./" (for DOS)
	v311.sil: add calls to vm_gc_advise()
	version.c: upped version to 0.99.3
	config/borland/build.bat: new version from Steve Kibler
	config/borland/README: updated
	doc/ports.doc: new ss2 timing
	diffall: take TAG arg
	README: upped version to 0.99.3
	CHANGES: updated

12/25/96:
	autoconf: added openbsd
	config.guess: updated to latest (knows openbsd)
	doc/ports.doc: add openbsd/486, hpux7

12/10/96:
	README: mention SNOBOL4 list, new contributors
	lib/ansi/convert.c, lib/generic/convert.c:
		apply length limit.  EVAL() can pass big strings!
		bug reported by p.a.coppen

12/07/96:
	second last TMRC open house in Bldg 20
	init.c: mention "k" suffix in usage message, per skibler
	lib/auxil/getopt.c: reorder includes for borland 4.51, per skibler
	lib/dummy/tty.c: add h.h for FALSE, per skibler
	lib/generic/sys.c: fixed ANSI_STRINGS ifdef sense. ran comdef

12/04/96:
	autoconf: grep strings.h for "index" before using BSD functions

**************** version 0.99.2 (RCS tag BETA5)

11/28/96:
	timing.sno: made NOTIME error non-fatal
	doc/ports.doc: added bsdi
	checked out on AIX 4.1.2

11/27/96:
	README: updated version
	INSTALL: ./autoconf
	genc.sno: renamed raise() to raise1() to avoid ANSI raise() function
	lib/str.c: raise() -> raise1()
	doc/ports.doc: added HP 720/HP-UX 9.05
	version.c: upped version to 0.99.2
	checked out on HP-UX 9.05, SunOS 5.4, SunOS 4.1.4

11/24/96:
	doc/ports.doc: new timings

11/19/96:
	CHANGES: updated

11/14/96:
	timing.sno: output $rev$
	config/gcc.m4: removed obsolete(?) SNOBOL4_CFLAGS=$(SNOBOL4_C_CFLAGS)
	config/hpux.m4: changed -D_INCLUDE_POSIX_SOURCE to -D_HPUX_SOURCE

11/13/96:
	timing, timing.sno:
		output on genc.sno to stdout, stderr
		move stdout compare check out of timing.sno
		allow times +/-1, +/-5%
	autoconf: avoid gcc on hppa-hpux
	test/clean.sh: rm *.bin

11/12/96:
	autoconf: check for sys/ttyio.h, define USE_TTYIO
	lib/bsd/tty.c: add USE_TTYIO ifdef for Version 10

11/11/96:
	INSTALL: change tcp.c to inet.c

11/08/96:
	doc/ports.doc: Ultra 170E, 200MHz PPro

11/06/96:
	lib/io.c: export io_mkfile(), call io_closeall(), return a value
		add /udp magic path
		add {STDOUT,STDERR,TERMIN}_NAME defines
		add io_findunit(), io_getfp(),
			export io_closeall() for PML'ed I/O
		renamed FOPEN_NO_B to NO_FOPEN_B
		add comments (incl. "close hook" idea)
	lib/bsd/inet.c: make "priv" open for UDP fail
		use INADDR_NONE; define our own if none avail
	Makefile: add xsnobol4 tag, $(TARGET)
	doc/ports.doc: timing for 110Mhz SS5

11/05/96:
	doc/ports.doc: timing for netbsd/sparc on 4/110
		clock speeds for A3000, 4/100
	put allrcs, diffall, tagall under RCS

11/04/96:
	lib/io.c: fix "update I/O"; add "last" member to struct file and
		fseek() before direction changes
	test/tests.in: add update
	INSTALL: add c-mainbol-users-request addr
	fixed diffall to handle new files

10/30/96:
	autoconf: add option processing; --force-gcc, --no-gcc options
		add check for getopt in stdio.h; add getopt.o $(GETOPT_C)
		add comments on sgtty use
		use CCPATH more
	config/skel.inc, config/bsd43.m4: remove getopt.o $(GETOPT_C)
	doc/ports.doc: new P75, PPro175(!!) numbers
	doc/snobol4.1: fix typo
	checked out fresh copies of all files with old (two digit year)
		RCS Id's, for cleaner rcsdiffing
	INSTALL: talk more about what autoconf, Makefile2 do
		document autoconf options
	Makefile2.m4: remove old files in SNOLIB_DIR before installing new ones
		(thanks to Jerry Leichter)

10/29/96:
	config/hpux-pa.m4: add gcc -mlong-calls comments
	doc/ports.doc: got an Alpha model number

**************** version 0.99.1 (RCS tag BETA4)

10/28/96:
	autoconf: fix c89 test, add isnan.o for m68k-hp-bsd
	config/bsd43.m4: remove isnan.o
	version.c: updated vdate
	doc/snobol4.1: updated date

10/27/96:
	lib/io.c: add USE_STDARG_H ifdefs (just in case)

10/26/96:
	Makefile2.m4: have io.o, load.o depend on $(MAKEFILE)
		use $(LD_PATH) for load.o
	INSTALL: no longer need to fuss with io.o, load.o
	autoconf: use generic/term.c if no unistd.h
	config/bsd43.m4: set LD_PATH, removed TERM_C
	timing: search PATH for uname
	lib/bsd/tty.c, lib/posix/tty.c:
		use tty_mode(stdin,0,0,0) for tty_save() AND tty_restore()!!
	lib/io.c: call tty_mode() in io_flushall if FL_TTY set

10/25/96:
	v311.sil: call io_flushall
	lib/io.c: add io_flushall, ran comdef, add comments
		add fp check in io_seek()
		include ctype.h
	lib/lexcmp.c: subtract lengths
	lib/bsd/inet.h: include ctype.h
	lib/snolib/host.c, lib/snolib/exit.c: call io_flushall
	autoconf: tweak *bsd*
	Makefile2.m4: add sunmodel to tar; add leading -'s in install
	config/bsd43.m4: add getopt, isnan
	doc/ports.doc: hp370/bsd43, pc532/netbsd
	include/macros.h: compare first char in LEXEQ macro
		NOTE: all timings for 0.99.1 include LEXEQ change
	tested on Mt. Xinu 4.3

10/24/96:
	INSTALL: updated
	new: sunmodel script
	timing: run sunmodel on SunOS, hinv on IRIX
		add cleanup trap
	Makefile2.m4: removed syn.c2 from GENERATED

10/23/96:
	new lib/generic/execute.c
	new lib/dummy/execute.c
	removed lib/dummy/execl.c
	lib/snolib/exit.c: use execute function
	Makefile2.m4: add execute.o EXECUTE_C, removed execl.o EXECL_C
	CHANGES: updated
	README: updated
	version.c: upped to 0.99.1
	tested on SunOS 5.4, IRIX 5.2

10/22/96:
	new lib/bsd/tty.c
	new lib/bsd/tty.c
	new lib/dummy/tty.c
	lib/posix/tty.c: add USE_TERMIO
	lib/io.c: free include list at end of compilation
	new config/irix64.4
	autoconf: use irix64.m4 on "IRIX64"
		add -lsocket if libsocket.a exists
		add -lnsl if libsocket.a exists and on "SunOS"
		use dummy/inet.c if no socket.h
		check for termios.h/termio.h/sgtty.h
	Makefile2.m4: mention ports.doc
	doc/porting.ms: updated
	doc/snobol4.1: fixed lq,rq

10/21/96:
	lib/io.c: pass recl to tty_mode; use fisatty, tty_close
	lib/posix/tty.c: add save list, tty_close, tty_mode recl arg
		add TTY_SAVE_RECL, TTY_RAW ifdefs
	doc/snobol4.1: updated

10/20/96:
	lib/io.c: fix so REWIND(5) works on stdin: clear fp->f in io_close
	lib/posix/tty.c: disable CR/LF translation, signal processing

10/19/96:
	v311.sil: add SPITBOL SET() function
	procs, globals: add SET
	lib/io.c: fix io_open[io] to allow rewind (set "head")
		add io_seek for SET()
		add /tcp magic path
	new lib/bsd/inet.c lib/dummy/inet.c

10/18/96 (my 35th birthday);
	lib/io.c: implement update, unbuffered, append, raw tty, noecho
		tty modes are per-unit!
	lib/posix/tty.c: POSIX.1 tty support
	lib/endex.c: call tty_restore()
	lib/init.c: call tty_save()
	Makefile2.m4: add tty.o TTY_C

10/17/96:
	hacked up a version to use gcc &&label construct and compile
	all of v311.sil as a monolithic function (no SYSCUT or UNDF
	entry points) benchmarked using genc.sno, snocone2.sno, atn.sno

10/15/96:
	v311.sil: use XCALLC for io_open[io]
		replace INPUT() 3'rd arg with options string
		pass options/format to io_open[io]
		get recl back from io_openi
	genc.sno:
		deprecated XOPEN[IO]
	lib/io.c:
		implement io_options, io_open[io] take new args
		implemented "terminal" mode

10/13/96:
	v311.sil: fixes from SNOBOL4+ to avoid "Internal Errors" on runout

10/12/96:
	v311.sil: fix error pointer again
		add COMPCL; don't show syntax errors after compilation done
		set &ERRTEXT with compilation error messages!

10/11/96:
	doc/ports.doc: updated
	v311.sil: don't crash on CODE() syntax errors

10/10/96:
	doc/ports.doc: updated

10/9/96
	test/spit.sno: enabled ? at top level
	test/tests.in: removed ntrace.sno -- covered in spit.sno
	performed analysis of functions inlined
	looked at longjmp'ing out of deep tail-calls
		(analyzed tail-call depths)

**************** version 0.99 (RCS tag BETA3)

10/7/96
	TODO: updated
	CHANGES: updated
	INSTALL: wrote it
	doc/snobol4.1: updated
	doc/ports.doc: updated
	autoconf: fix CONFIG_GUESS; add netbsd-alpha, osf1-alpha
		add CCPATH (was GCCPATH)
	config/alpha.m4: split out from osf1.m4
	config/gcc.m4: let autoconf do CC=
	new: config/netbsd-alpha.m4 config/osf1-alpha.m4
	lib/bsd/load.c: undef N_SIZE for NetBSD
	lib/init.c: save signal number in SIGNCL
	v311.sil: display signam number (SIGNCL) from SYSCUT
	config.guess: latest version; added romp-ibm-aos
	Makefile: add spotless, install
	Makefile2.m4: add spotless, install
	tested on AOS/ACIS 4.3; NetBSD/Alpha 1.2
	version.c: upped to 0.99

10/6/96
	CHANGES: new
	INSTALL: empty place holder
	doc/porting.ms: updated
	Makefile2.m4: add CHANGES INSTALL to tar
		add syn.c, syn.c2 back to tar
	doc/ports.doc: updated
	tested on SunOS 4.1.3U1, 4.1.4, 5.4, 5.5;
		HP-UX 10.10; IRIX 5.2; AIX 4.1; OSF/1 3.2

**************** version 0.98.5

10/5/96
	README: updated
	add bsplitu.c
	autoconf: ADD_OBJS/SRCS for bcopy, bzero
		flushed ANSI_STRINGS var; moved back to ADD_CPPFLAGS
		added SYSDEFS to sys.o (for -DOSNAME or -DHWNAME)
	Makefile2.m4: flushed ANSI_STRINGS var
		added SYSDEFS
		added rules for dummy files: execl.o getenv.o system.o
		worked on "make tar"
		use bsplitu in "make uu"
	config/skel.inc: removed ADD_OBJS/SRCS for bcopy, bzero
	lib/init.c: fix usage; show name, version, date, descr size
	new lib/dummy/{execl,getenv,system}.c
	doc/snobol4.1: updated

10/4/96
	new lib/generic/sys.c, lib/posix/sys.c
	lib/snolib/host.c: use osname(), hwname()
	autoconf: check for ranlib, set RANLIB
		check for sys/utsname.h; set SYS_C
		add CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
	Makefile2.m4: add SYS_C, sys.o
		use CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
	config/skel.inc: removed -DANSI_STRINGS
	Makefile: add local-config comment to Makefile2
	doc/porting.ms: updated
	v311.sil: more comment tweaking
		moved INCSTK to ICLBLK (sir.sno GC crashed compiler)
		increased FNLIST free space to 20 functions
	version.c: always include macros.h
		upped version to 0.98.5

10/2/96
	doc/load.sno: add polymorphic args/returns
	include/load.h: add RETTYPE macro
	autoconf: add comments about local-config to generated config.m4
	Makefile2.m4: add SNOLIB_SRCS for make depend; quote include for pv
	lib/init.c: round ndynamic, pmstack down to even number of descrs
	lib/pml.c: fix const pointer, rename PMLOAD to PMPROTO
	lib/snolib/host.c: use RETTYPE
	lib/snolib/exit.c: improve comments
	test/tests.in: add ntrace
	pml.h: add FILE() RENAME() DELETE(); changed PMLOAD to PMPROTO
	include/macros.h: removed D_XXX; declare ostack as global descr
	v311.sil: fixed space at end of FNLIST; upped STSIZE from 1000 to 1500
		dynamic allocation slows OFCHK!

9/30/96
	v311.sil: don't zap FILENM at XLATND in case only stmt is END!
		use getpmproto function
	lib/pml.c:
		made arrays const
		add getpmproto function
	include/path.h
		removed SNOLIB_A, SNOLIB_DIR defaults
	Makefile2.m4: fixed SNOLIB_A path
		add SNOLIB_DEFS (supply SNOLIB_DIR and SNOLIB_A values)
		add *.a to disposables

**************** 0.98.4

9/29/96
	v311.sil, procs, globals: renamed EXP to EXPOP
	renamed lib/{dummy,generic}/exp.c to lib/{dummy,generic}/expops.c
	autoconfig: include contents of local-config file, if any
	genc.sno: output '#define INLINING'
	param.h: add ifdef INLINING; inline hash.c
	pml.h: add HOST, EXIT, LOG, EXP, CHOP, SQRT, SIN, COS, TAN
		add NO_PML_{EXIT,HOST,REAL,TRIG}, ran comdef
	lib/hash.c: allow inlining
	lib/io.c: use HAVE_UNISTD_H, check for L_SET
	moved snolib/*.c to lib/snolib/
	Makefile2.m4: add AUX_OBJS, AUX_SRCS, SNOLIB_A
		add SNOLIB_A to regular link
		add -r flag (back?) to make clean
		add warning for make realclean
		renamed exp.c to expops.c
		add rules to build snolib.a
		moved AUX_OBJS to snolib.a
	version.c: 0.98.4

9/28/96
	doc/snobol4.1: ran ispell

9/27/96
	doc/snobol4.1: updated
	doc/Makefile: use groff; add snobol4.html, snobol4.ps, porting.html
	doc/design.doc: updated

9/25/96
	doc/snobol4.1: updated
	added sin.c, cos.c, tan.c, exp.c, log.c, sqrt.c, chop.c to snolib
	v311.sil: fixed autoload temp usage
	version.c: add snoname, made version strings "const" again
	Makefile2.m4: add RANLIB, compile pv with -I./include
	lib/init.c: added -h
	lib/io.c: check SNOLIB for INCLUDE files
		remove trailing NUL's in STPRNT when compiling
		plug NUL's with spaces in place
		Listings finally tamed?

9/24/96
	lib/init.c: cleaned up usage message; fixed getk(), -p/-D alloc
		have math_catch & err_catch take int arg
	genc.sno: pass hash() two args
	lib/hash.c: take two args; added lots of comments
		tried different ascention calculations, no big wins
	Makefile2.m4: added DATA_INIT_CFLAGS
	removed unused symlinks config/posix.m4, config/irix.m4
	timing: take snobol path and args
	timing.sno: get version, added CHECKHZ(), DIFF array
		add yet another time format for m68k-hpux8.0
		indicate line number of diff failure
		handle blank line at end of diff
	include/snotypes.h: added VFLD_T
	lib/io.c: use strncpy, S_L for %v/%S in io_printf
	doc/ports.doc: updated
	config/osf1.m4: set NO_BITFIELDS, use double for FLOAT_T
	v311.sil: add autoload!!
	procs: add LOAD2
	pml.c: add PMPROTO macro for autoload

**************** version 0.98.3?

9/23/96
	genc.sno: twiddle &INPUT (reduces some overhead)
	ports.doc: updated
	autoconf: (re)set CC when cc is gcc!
		show gcc version
		added HAVE_UNISTD_H define
	lib/init.c: cleanup, implemented -P (malloc pmstack)
		added getk(), -d takes bytes, k = 1024
	v311.sil: removed PDLBLK (now malloced in init)
		dropped SPDLDZ back to 5000
		tried doubling string hash table size (to 512)
			no big win (<2%); left it alone
	Makefile2.m4: updated -d arg

9/22/96
	v311.sil: use MOVA for &LAST(FILE|LINE) for speed
		handle tabs in error pointer code, moved FILCHK
		include file & line in compiler error messages
	test/tests.in: add line.sno err.sno reverse.sno
	lib/io.c: trim STPRNT output while compiling
	doc/snobol4.1: updated
	Makefile2.m4: fixed make tar
	version.c: upped version to 0.98.3

9/21/96
	v311.sil: added &PARM. fixed error number typos from yesterday.
	lib/init.c: added getparm()
	lib/date.c: use full julian year
	Makefile2.m4: removed vfprintf
	config/bsd43.m4 removed vfprintf
	deleted lib/auxil/vfprintf
	doc/snobol4.1: updated

**************** version 0.98.2

9/19/96 & 9/20/96
	v311.sil:
		canonicalized lines with two edit numbers
			fixed some comment typos
		don't increment &STCOUNT if &STLIMIT < 0
			keep seperate stmt count for stats output
		add errors for bad INCLUDE, INCLUDE open error, missing END
		add &LINE &FILE and -LINE for real source line in errors
			use io_file to get initial (and subsequent filenms)
		add S4+ CTLADV proc, use for INCLUDE and LINE processing
		put all control card tests in a row
		add &LASTLINE &LASTFILE &ERRTEXT keywords
		changed formats; added file/line to errors
	lib/io.c: add NO_OFF_T, io_file
		removed quote removal in io_include
		implement conversions for io_printf for var/spec
	lib/init.c: implemented -M option for multifile input
		added SIGARG_T to SYSCUT prototype for picky compilers
	lib/lexcmp.c: fix for unequal string lengths by Keith Waclena
	README: added Keith Waclena
	test/tests.in: add lgt (by Keith Waclena)
	procs: add CTLADV, FILCHK, COMP1
	genc.sno: put &TRIM = 1 back for SNOBOL4+, allow _ in args
		pass addrs to io_printf, no more hacks for floats
	config/hpux-pa.m4: add -D_INCLUDE_POSIX_SOURCE for non gcc builds
	config/vms/build.com, config/vms/descrip.mms: add NO_OFF_T, SUBSTR defs
	autoconf: added undefine hpux, interferes with include file names!
	param.h include/macros.h: declare cstack only once (in snobol4.c)
	cc-M: reworked for #line output (AIX)
	Makefile2.m4: make GENERATED files newer than G2 versions
		add comments, cleanup & quoting in kitting
		compile, use pv
	version.c: moved version, ifdef MAIN back (for VMS)
		upped version to 0.98.2

9/18/96
	lib/auxil/getopt.c: fix ERR() for SUNpro (Sol2 fix)
	configure: fixed echo to stderr (Sol2 fix)
	doc/ports.doc: updated (new section for 0.98+)
	gendata.sno, genc.sno, gendep.sno: use TERMINAL, flush STDERR
		read SIL source from stdin
	Makefile2.m4: add SIL=, gendata.sno, genc.sno, gendep.sno read stdin
	timing: genc.sno takes SIL from stdin
	v311.sil: add REVERSE(), SUBSTR(), LEQ(), LGE(), LLE(), LLT(), LNE()
	globals: add REVERSE, SUBSTR, LEQ, LGE, LLE, LLT, LNE
	lib/str.c: support for REVERSE(), SUBSTR()
	test/tests.in: removed punch, added substr, lexcmp, space, space2
	Makefile: renamed configure to autoconf

**************** version 0.98.1

9/17/96
	lib/tree.c: fixed INSERT (from SNOBOL4+)
	lib/dump.c: added dumpcode()
	added test/ops.sno
	now runs all GNAT SPITBOL programs
	version.c: use VERS/DATE, changed name to C-MAINBOL
	Makefile2.m4: Added VERS/VDATE (for version.c), use in make tar
		upped version to 0.98.1

9/12/96
	v311.sil: add TERMINAL variable associations for input & output
	include/units.h: UNITT for TERMINAL input
	lib/posix/term.c, lib/generic/term.c, lib/vms/term.c: term_input()
	lib/io.c: use term_input() to setup UNITT
	lib/hash.c: only look at first and last four! Thanks Mark!!
	Makefile2.m4: add TERM_C/term.c/term.o
	config/bsd43.m4; use generic/term.c
	config/vms/build.com, config/vms/descrip.mms; add term.c/term.o

9/11/96
	v311.sil: fix sort; edit [PLB31] added one MULTC too many

9/8/96
	v311.sil: only case fold strings in FIELD (fix from SNOBOL4+)
		upped SPLDSZ to 10k for snocone.sno
	lib/init.c: parameters support (-u and --) used by "external" host.c
	lib/stream.c: use unsigned char in stream/plugtb;
		ANY/NOTANY/BREAK/BREAKX/SPAN with 8-bit bytes
		were causing PREVIOUS table to get trashed!
	Makefile2.m4: make both isnobol4.c and snobol4.c PRECIOUS

9/6/96
	v311.sil: FREEZE()/THAW(), new table access code from SNOBOL4+
		added -EXECUTE/-NOEXECUTE control cards
		ran untabify (skipped RCS History)
		moved all [edit] ids to column 64+
		moved SORT to Arrays, Tables etc section
	include/snotyoes.h: add FRZN bit
	lib/ansi/convert.c, lib/generic/convert.c: strip leading
		spaces in spcint()/spreal() under SPITCL. Append
		terminator if using scanf() to detect if whole string
		was accepted (necessary for NUMERIC conversion)
	lib/init.c: updated usage(), added -n, parse up 'k' suffix on -d
	genc.sno: use FREEZE()/THAW(); 15% reduction in execute time!
	Makefile2.m4: added COPT, use -d<n>k
	doc/snobol4.1: updated
	globals: updated

**************** version 0.98

9/4/96
	v311.sil: &STLIMIT < 0 means no limit, default to -1
		always case fold control card keywords
		disable stats by default
		default listing off (was being hit by init.c)
		removed EXPCL; default SPITCL to on
		fixed SPITBOL ? operator at top level
	lib/init.c: make -p toggle SPITCL, removed LISTCL hack
	gen{c,data,dep,syn}.sno: remove refs to &STLIMIT (and &TRIM)
	inline.sno: fix comment typo
	gensyn.sno, syntab.h: output syn.c2; made acts const
		tried making syntab's const; fails for SNABTB
	genc.sno: quiet warnings from PLUSOPS AEQLIC usage
	lib/pml.c: fix ifdef STDC typo
	timing: add/subtract -s switches
	version.c: upped to vers to 0.98, added "ifdef MAIN"
	Makefile2.m4: remove .c2/h2 files, added syn.c to SRCS (for depend)
		changed .c.TMP to .c2
9/3/96
	v311.sil: Add SPITBOL operators (under -PLUSOPS) from SNOBOL4+;
		embeded scan, assign, scan/replace, selection (comma),
		NUMERIC conversion.  value tracing for pattern match
		assignment.  allow multiple array/table accesses.
	syntax.tbl: added SPITBOL binop table, exponents on REALs
	gensyn.sno: upped STLIMIT, added EXP char class
	gendep.sno: fixed SPREAL, added SPCINT
	procs: updated
	timing: run config.guess
	gendata.sno: output data.h2 data.c2 equ.h2 data_init.h2
	Makefile2.m4: cmp || cp for .h2/c2 files
	globals: added CMA
	configure: include config.guess output
	lib/init.c: added -p option
	test/run.sh: pass additional ARGS

8/31/96
	v311.sil Add SPITBOL features with code from SNOBOL4+ and
		Minnesota SNOBOL4; CHAR(), RPAD()/LPAD(), BREAKX(),
		SORT()/RSORT().
	lib/str.c: added pad()
	genc.sno: added VCOMPC and NANCHK macros,
		optimize three-way with three different labels
		handle boolean with no labels (for XCALLC)
		output braces around escaped code
	renamed global.procs to globals
	gendep.sno: handle %{ %}, XCALLC, RCOMP, NANCHK, upped &STLIMIT
	Makefile2.m4: added isnan, configure, config.guess, globals
	added lib/dummy/isnan.c
	updated procs, doc/snobol4.1

8/29/96
	Tested on DS3100 (MIPS Ultrix -- 4.3 with a COFF)
	added config/ultrix-mips.m4
	updated ports.doc, configure

8/25/96
	Makefile: use new configure script
	configure: create config.m4 from thin air, using config.guess
	config.guess: GNU script

8/19/96
	Makefile2.m4: renamed lib/aux/ to lib/auxil/
		AUX is a reserved filename in DOS(?!) thanks to Mark Emmer
	genc.sno: added XCALLC, %{ %}, allow LC in arguments
		added -CASE 0 (try and win back some speed)
	v311.sno: added real VARVUP, VPXPTR (Thanks to Mark Emmer)
	procs: added VPXPTR
	str.c: added raise2
	Makefile2.m4: leave test.out at top level!

7/28/95
	timing: include config.m4 contents
	doc/snobol4.1: update &DUMP &ABEND and &CODE behaviors
	v311.sil: add VARVUP (copy of VARVAL for now)

5/15/95
	hp4xx port (3/95 -pb):
	config/hpux-68k.m4
	gendata.sno: cast values for D_V()
	updated ports.doc
	
3/15/85
	config/nextstep3.m4		(Thanks to Leigh Smith)
	updated ports.doc
	added tests/rewind1

3/7/95
	lib/io.c: struct unit: better rewind 	(Thanks to Leigh Smith)
	lib/pml.c: fix for nextstep compilation	(Thanks to Leigh Smith)

2/10/95
	lib/init.c, include/macros.h: implement [CLR_]MATH_ERROR()

2/3/95
	genc.sno: port improvements from experimental version:
		SELBRA() omits redundant labels
		new PLUS() functions omits "+ 0"
		include "else" in DOCMP2 and DOBOOL
		generate SHORTN/FSHRTN in-line
		Net change in snobol4.c size: +35 chars
	include/macros.h: removed SHORTN/FSHRTN
	Makefile2.m4: Add -b flag to SNO

1/25/95
	Makefile2.m4 config/{gcc,aix-rs6000,hpux,hpux-pa,skel.inc}.m4
		new ADD_XXX m4 macros

1/24/95
	lib/aux/getopt.c: fix endless comment
	Makefile2.m4: include CONFIG_CFLAGS in "make depend"

**************** BETA2 patch2 version 0.91.2 (tag BETA2_patch2)

1/20/95
	lib/io.c: check for std{in,out,err} before fclose()

1/13/95
	config/borland/build.bat: added -DANSI_STRINGS
	lib/aux/getopt.c: include h.h (for index)

1/10/95
	config/vms/build.com: use CFLAGS variable
	lib/io.c: hacks for "-", "/dev/stdin" and "/dev/stdout", cleanup
	genc.sno: generate return after endex call!
	timing.sno: added stmts/sec

1/7/95
	Merged in DOS Port (using 32-bit Borland C++ 4.0) by Mark Emmer!
	lib/generic/convert.c: check for empty strings, changed ifdefs
	lib/init.c: ifdef SIGBUS
	new files: lib/borland/mstime.c
		config/borland/build.bat config/borland/snobol4.lnk

	Alpha fixes;
	don't need "long long"
	lib/intspc.c: use %ld
	lib/realst.c: use %lf
	lib/ordvst.c: declare malloc() as returning pointer

1/6/95
	checked in 11/3/94 v311.sno, tests
	README, History: updated/fixed

	** Tested on AXP OpenVMS and DECC (1/4/94);
	lib/init.c: fix VMS typo
	lib/aux/getopt.c: use stdio.h
	lib/vms/getredirect.c: use unixio.h with DECC
	include/h.h: add index/bcmp defines under ANSI_STRINGS
	new files: config/vms/descrip.mms config/vms/build.com

	** Ported to AXP OSF/1 (1/5/94) -- has 64-bit integers!!
	Makefile2.m4; moved .PRECIOUS after first real target
		make TESTED depend snobol4.c
	Fix pointer/int sloppiness (sizeof(int) < sizeof(void*))!!
		gensyn.sno; cast pointers to int_t, move syntab.h include
		include/syntab.h; make put an int_t to hold pointers!
		include/macros.h; fix various stack macros casting to (int)!!!
		lib/stream.c; declare "tok" as "int_t"
	new files: config/osf1-alpha.h config/osf1-alpha-cc.h

11/3/94
	lib/ansi/mstime.c: ansi only version
	doc/porting.ms: update for above
	config/ansi.m4: config to use ansi mstime function
	config/generic.m4: added a comment
	v311.sil: quick fix for local variable case folding
	test/tests.in test/local.{sno,ref} tests for local var case folding

9/14/94
	timing, timing.sno: cleanup/improvements
	config/hpux-pa-cc.m4: new config for HPUX with native C compiler
	lib/date.c: tweak for VMS compilation (Martin Waller)
	charset.c: fix for SunOS5 SC3.0 compiler
	README: updated

9/13/94
	timing: AFS doesn't allow hard links across directories (Rik Faith)

9/3/94
	porting.ms, snobol4.1, load.doc, goals.doc, design.doc: ran ispell
	doc/Makefile: update for Solaris 2

9/2/94
	README: fixed spellings!

8/8/94
	lib/ordvst: got rid of a warning
	config/posix-cc.m4: new. used/tested on SunOS 5.3
	config/sunos5.m4: now a symlink to posix.m4
	charset.c: make ALPHA unsigned (for Sun SC3.0 compiler)

8/1/94
	lib/ordvst.c: real code, thanks to Martin D. Waller!!
	README, TODO: updated
	test/a.ref, test/dump.ref: updated

7/24/94
	lib/init.c: fix call to getredirect() (Thanks to Martin Waller)

7/7/95
	v311.sil, global.procs: Added FAILG label so FAIL can be inlined.
	timing.sno: more tweaks for AIX
	config/aix-rs6000.m4: new file (thanks to Phillip Lee Thomas)
	Makefile2.m4: fixed awk command

**************** BETA2 patch1 version 0.91.1 (RCS tag BETA2_patch1)

7/5/94
	h.h: only define NULL if not already defined
	version.c: update for patch1

6/30/94
	more cleanup of timing.sno, added start of diff tag line
	fixed bsd/load.c when space in pathname

6/29/94
	version.c: clean up for non-ansi compilation
	timing.sno: Output bad diff results, loosten ms/stmt check

**************** Second Beta release (RCS tag BETA2) version 0.91

6/24/94
	Made isnobol4 the default
	Added label RTNL3G so RTNUL3 can be inlined
	Use register pointer to "res" in data_init.c
	Updated load.doc
	Use awk to reverse tsort input (instead of reverse on output)
	Fixed sense of DO_UFCHK!
	Updated ports.doc

6/23/94
	Include both snobol4.c and isnobol4.c in kit
	Use register in data_init.c
	Implemented TRACE_DEPTH
	Ran "prof" profiling
	Inline pair.c!!

6/21/94
	Cleaned up config/ dir.
		Removed all "cc" configs.
	Turned on -finline-functions by default
	Added Makefile2 rules for isnobol4.c
	Added SNOBOL4 variable

6/20/94
	Fixed problem found by Phillip Thomas; Restart "card"
		processing after a semi.  Allows comment and control
		lines after a semi.
	Created scripts for analysis of inlining results.

6/19/94
	Added {generic,posix}-cc.m4 configs
	Use skel.inc in generic configs
	Added AUX_{SRC,OBJ}, PML_OBJ
	Played with inlining

6/17/94
	Dropped compiler CARDSZ down to 132 for sane listings

6/15/94
	Upped compiler CARDSZ and default input size from 80 to 1024.
	Created snolib/{breakx,lcmp,pad,sort,substr}.sno,
			{fork,system,sprintf}.c
	bsd/load.c; use PML before trying real load. use SNOLIB env var.

6/13/94
	Prevent multiple inclusions
	trim include file names (after multiple inclusion test)

6/12/94
	Implemented -INCLUDE/-COPY
	Use RETxxx macros in snolib

6/10/94
	Added RETxxx macros to load.h

6/9/94
	Gave WIPS talk at Boston Usenix
	Created configs for aix, linux, irix, sunos5
		(all just include posix.m4)

6/6/94
	Run timing script in regression test (runs genc)!!
	UFCHK no longer on by default

6/4/94
	Created snolib (DELETE, FILE and RENAME functions)
	Call getredirect() under vms

6/3/94
	Turned off output NUL translation after compiler runs
	Try PML if ld() fails in bsd/load.c

6/2/94
	Created load.h LOAD_PROTO, LA_xxx macros
	Updated load.doc, sqrt.c
	Implemented "Poor Man's LOAD" for linked in functions!!
	Made REPLACE() 8-bit clean
	Fixed padding on input problem

6/1/94
	Started man page
	Made 8-bit clean
	Implemented simple pipe open

5/31/94
	Fixed/improved make tar; include "bugs" dir
	Updated porting.ms
	Added vms/getredirect.c
	Handle errors in genc.sno
	Avoid .h.new (for VMS)
	Updated ports.doc for LINUX
	Started on autoconfig script

5/30/94
	Fixed hp*.m4 include path
	Updated ports.doc for hp710

5/29/94
	Finished &LCASE &UCASE
	Fixed -CASE n

5/28/94
	Updated ports.doc for HP, SGI, IBM
	Implemented -f option
	Added ; and ! as comment chars (per SITBOL)
	Added &LCASE, &UCASE

5/27/94
	Allow external redefinition of HZ in generic/mstime.c
	Invalidate self pointer in lib/bsd/load.c unload()
	Changed types.h to snotypes.h to avoid include confusion on VMS?!

5/26/94
	Supress padding once compliation is over
	Turned off &TRIM by default
	Caught more CASE sensitivities
	Accept either case for S/F gotos
	
5/25/94
	moved Un*x version banner to version.c
	implemented case insensitivity -CASE/&CASE
	implemented DOBOOL() in genc for real

5/24/94
	converted Makefile2, config files to use m4

5/23/94
	cleaned up bsd load.c, for use on bsd44 systems
	added SIGFUNC_T to init.c, made default void

**************** First Beta release (RCS tag BETA1) version 0.90

2/18/94
	*** First Beta release (RCStag BETA1) 
	updated README, late entry in ports.doc
	include tests in tar!
	
1/25/94
	updated README, include TODO.soon in tar

1/24/94
	improved porting.doc
	run regression test from Makefile2
	added "make uu"

1/18/94
	wrote porting.doc, put all doc files under RCS
	added getopt to Makefile2.cpp, generic.h

1/16/94
	set exit code on fatal errors (including when
	execution aborted due to -NOERRORS)

1/8/94
	output UNIXF UNIXF2 at startup
	make 'LEFT' default listing side
	output error name string to stderr
	implemented -b (BANRCL), -s (STATCL)

1/7/94
	cleaned up config/ files. added bsd43, sony_news, posix
	checked in changes from 1/3
	added standards info to various lib files
	updated README (was README.alpha) for beta test
	split intspc.c realst.c from convert.c
	caseified formats, converted to printf() style
	caseified misc strings

1/3/94
	Brought up on Sony News 800 (68020) sqrt.sno works (no changes)!
	Tested on hp9000s800 (added posix/mstime.c)
	Brought up on Mt. Xinu hp300 4.3 BSD and IBM RT ACIS 4.3
		added generic/vfprintf.c, generic/convert.c
		use mktemp() in load.c

12/30/93
	cleaned up gensyn.sno output
	made format.c strings const
	did compiler timings (tried gcc -O2)
	did profiling. do DCMP() inline!!
		do LOCAPV inline? (called 6.7 million times by genc.sno)!!
	Created Makefile2, lib subdirs (generic, bsd, dummy)
		Flushed lib/Makefile

12/29/93
	cleaned up gendata.sno output, output formats
	cleaned up include file Id lines

12/28/93
	created (empty) mlink.h, mdata.h
	renamed headers.h to parms.h
	created dynamic.c
	include charset.c into init.c
	types.h cleanup;
		flushed flags.h
		created VFLD/FFLD macros
		made f field char, v field a 24 bit bitfield!
		(no time penalty on sparc!?)

12/27/93
	Announced alpha dist (finally got a place to put it)!
	Have gendata.sno (was data.sno) generate data.h, data.c, init.h
	Created init.c

	Compiled and ran on HP 9000/8xx (PA RISC) machine!

**************** First Alpha release (RCS tag ALPHA1)

12/9/93
	*** First Alpha release (RCS tag ALPHA1)
	Updated usage message, README.alpha, Make tar
	put this (and other files) under RCS

12/4/93
	Implemented -NOERRORS/-ERRORS control cards (default -NOERRORS)
	to supress/allow exeution of programs with compile errors.
	Implemented -k command line switch (like -ERRORS)

12/3/93
	output compilation error messages to stderr as well as listing
	accept '#' and '|' as start of line comments
	(can now use '#!' magic number for scripts!)

11/27/93
	revised README.alpha
	wrote LOAD.doc sqrt.c sqrt.c

11/26/93
	re-implemented io.c (file lists, no more io_unit struct)
	take file names on command line! implement -r flag
	changed -D to -d; default now 25000 now that GC works!

11/25/93
	fixed RSETFI; genc runs with 25K descrs (with 69 GC's)!!

11/24/93
	wrote dump.c

11/23/93
	fixed lvalue: comment.sno works
	atn.sno produces same SIZED (chars/lines) output as spitbol

11/22/93
	fixed linkor: alt1/2.sno work
	found problem in atn.sno (comment.sno)
	atn.sno gets pattern stack overflow (runs with SPDLSZ of 5000)
	atn.sno dies after table to array conversion (convert.sno)
	fixed MOVDIC: convert.sno works
	atn.sno runs to completion (sans comment problem)
		but output differs from spitbol?!
	w/ 200K descrs genc dies in last few lines (after 2 GCs)
		runs to completion with "only" 250K descrs (1 GC)

11/19/93
	implemented expint() exreal()
	found smallest proram with atn.sno bug (alt2.sno)
	create/use LEXEQ() macro!
	worked on README.alpha, DESIGN
	genstg.sno now creates equ.h, stgtyp.c, stg.h
		(flushed equ.awk, stgtyp.h stgh.awk)

11/18/93
	isolated match problem with atn.sno

11/17/93
	fixed MNREAL/MNSINT F/V output
	created IND_ARR, INDENTX, UNINDENT in genc.sno

11/16/93
	fixed locap{v,t} F/V output

11/15/93
	ran genstg under mainbol (w/ -D1M) after consolidating patterns

11/13/93
	ran genstg under mainbol (w/ -D2M)

11/10/93
	implemented filename support ala Catspaw (Vanilla) SNOBOL4(+)!!
		added XOPENI, XOPENO, XECOMP
	send all completion messages to stderr (PUNCH)
	ran gensyn under mainbol

11/9/93
	wrote, debugged load() and link()
	added CLR_S_UNUSED() to no avail

11/8/93
	clear V&F in DATE, MSTIME, SETAV, INTSP, REALSP, MULTC
	GC generally runs, but leaves bad pointers

11/6/93
	fixed lengths in MOVBLK and ZERBLK
	genc ran for the first time (generated code until LOCA1) died in GCM
	runs to completion with -D1000000

11/5/93
	implemented GETLTH by the book
	collect.sno runs (nothing to collect)

11/4/93
	fixed order of spec members, GC marking pass now runs
	upped number of user defined functions from 10 to 50
	upped OCASIZ from 1500 to 15000!
	implemented command line options

11/3/93
	diff.sno runs
	added junk PUSH() to SAVSTK() -- GC expects RCALL to use stack!!

11/2/93
	immed value assignment working (fixed assignment order in MAKNOD)
	cond value assignment working (output PUTSPC!!)
	put v311.sil, syntax.tbl under RCS
	got rid of IDENT columns!!!
	cleaned up genc, now parsed by mainbol!!
	worked on POUND_LINE
	match replacement working (fixed SPUSH/SPOP again!!)
	implemented rplace() library routine

11/1/93
	have gensyn process comments
	last SIL ops (ADJUST, ORDVST, RPLACE) handled in genc
	function args working (fixed PSTACK *PUSH, *POP)
	implemented getbal library routine

10/29/93
	complex patterns working (fixed CPYPAT)

10/28/93
	simple patterns working (but not pattern concatenation)
	implemented
		CLERTB, PLUGTB, DATE, LINK, MOVBLK, REMSP, LOAD, UNLOAD

10/27/93
	implemented;
		misc I/O (BKSPCE ENFILE REWIND)
		code tree ops (ADDSIB ADDSON INSERT)
		pattern ops (MAKNOD LINKOR
		value pair ops (LOCAPT LOCAPV)
		others;
			ADDLG BKSIZE CHKVAL EXPINT EXREAL LCOMP LVALUE
			MOVDIC PUTSPC SUBSP TOP TRIMSP
	runs simple programs (loops.sno runs ~15 x slower than SPITBOL)!!

10/25/93
	recieved S4D58 report (SIL reference manual) from Dr. Griswold
	implemented SETVA

10/24/93
	implemented INTSPC, REALST, SHORTN, SPCINT, SPREAL
	END recognized!

10/20/93
	implemented FSHRTN
	"END" not recognized

10/19/93
	implemented input and output ops (STPRNT, STREAD)
	implemented STREAM!

10/18/93
	implemented APDSP, LOCSP, PUTVC
	initialization code starts to run

10/17/93
	implemeted SETVC, VCMPIC

10/15/93
	implemented ENDEX, LEXCMP, VARID

10/14/93
	implemented GETSP, LEQLC

10/13?/93
	implemented ZERBLK

10/8/93
	implemented GETLG, SETSP

10/5/93 - 10/7/93
	implemented INIT, MSTIME, PUTLG, PUTSPC, GETSPC
		MOVDIC, GETLTH, PSTACK

8/92
	46 ops remaining (on 522 lines of SIL)


7/24/92
	implemented:
		PUTAC, GETAC, SETFI, RSETFI, DIVIDE, BRANIC, INCRV
		MNSINT, RLINT, ADREAL, SBREAL, MPREAL, ADREAL, DVREAL

7/22/92
	implemented:
		int math: SUM, SUBTRT, MULT, MULTC
		SETAV, SETVC, SETLC, SPEC, TESTFI, MOVA, MNREAL

to 7/21/92
	71 ops remaining

5/92
	C pattern matching working (see 3/90)

3/91
	Started genc.sno using Catspaw SPARC SPITBOL

11/90
	Found out about Catspaw SPARC SPITBOL from a Catspaw mailing.

7/90
	Started work at Shiva Corp.

3/90
	Started on C implementation of SNOBOL patterns using
	Gimpel's CACM article (and Orange book).

12/89 thru 3/90
	Worked on C versions of syn, genc using "traditional" tools
	awk/lex/yacc

11/89
	Got report on old/new naming conventions from Dr. Griswold
	began studying SIL source in earnest.

10/89
	Got (a rare) copy of "The Macro Implementation of SNOBOL4" book
	from Catspaw.

late 1988?
	Found Vanilla SNOBOL4 (including Catspaw book order form)
	and SIL sources on cs.arizona.edu

Fall 1987
	Tried using OS/360 MAINBOL to run questionnare analyzer

Fall 1986
	BUCS20 unplugged, lost access to SITBOL for first time in 7 yrs

Fall 1985
	Started work at BU full time.

Spring 1985
	Used SITBOL to analyze questionnaires from
		Psychology directed study on computer mediated communication.

Fall 1983
	Returned to school full time at BU, helped manage BUCS20 (2060)

Fall 1981
	Started at DEC/LCG FORTRAN-10/20 group (which used SITBOL
	to perform FORTRAN regression tests)

Fall 1979
	Learned SNOBOL4 using SITBOL freshman year at Stevens Tech
	Used to find errors (typos, mismatched commons) in FORTRAN programs
