Changes in version 2.0.3 of ICI

*	Makefile.maint is useful again. This is used for packaging
	source distribution and similar maintainance tasks.

*	The old Linux Makefile and configuration files, Makefile.lgx
	and conf-lgx.h, have been removed. Use the '.linux' files
	instead. Also the mkstruct.c file has been removed because
	it wasn't used in the interpreter. If you need it for some-
	thing it is still in the earlier versions.

*	Gary Gendel's IRIX port is now incorporated. This adds
	Makefile.irix and a conf-irix.h and adds some more #ifdefs
	to syscall.c (see TODO).

*	The MS VC++ generated makefiles have been removed. They're
	huge and don't work well with version control. They can be
	easily generated if required. The default Win32 build uses
	Makefile.w32 and nmake.exe. In addition the conf_w95.h file
	has been removed as it is no longer used. The conf-w32.h
	file defines the Win32 configuration (which is almost as
	complete as the Unix versions of ICI).

*	The socket type now has its own prime used when hashing.
	This should make some code a little faster (although it
	may even slow things down) although it isn't expected to
	be noticeable.

*	The Makefiles have been added to. There are now "install" and
	"clean" targets in these files (Makefile.w32 has no install
	target).

*	The exec() function is now complemented by the execp() function
	which searches along the user's $PATH to find the executable.

*	Various documentation updates and all documents have been moved
	into a `doc' subdirectory.

*	ICI now has a man page - ici.1 - look in the doc directory.

*	The domainname() function has been removed from the sockets
	code. This is an NIS thing that isn't too useful.

*	Linux and Win32 versions now in better shape. Linux version
	has sockets, directory reading and password file access
	enabled (as do the Solaris, SunOS and BSD versions).

*	put() now detects write errors and raises an error if writes
	are failing.

Changes in version 2.0.2 of ICI

*	Directory used with '-l' option changed to /usr/local/etc/ici
	as CISRA's /usr/local/include is architecture dependent.

*	Various fixes and usability mods to sockets interface,

	-	gethostbyaddr works
	-	bind accepts a string or integer as the port and also
		allows having the system pick a free port number.
	-	a shutdown function exists

*	Configuration files (conf-XXX.h) updated. New conf-sample.h file
	showing potential configuration options.

*	Fixed del() to update VSVER which caused cached lookups of string
	objects	to be incorrect and crash the interpreter.

*	eof() now defaults to testing stdin like other input functions.

*	Numerous documentation fixes.

*	Hash functions for sets and structs fixed (had a `;' in the
	wrong place). Atomic sets and structs now far faster.

*	Now supports Win32 environments (i.e., Windows 95 and Windows NT)
	with many of the "Unix system calls" available.

*	A getcwd() function was added.

*	Unix password file access routine, passwd() (see docs).

*	Solaris 2.x configuration builds without reference to UCB libraries.

*	Excessive memory allocation in array objects tamed.

*	Now supports BSD 4.4 (tested under FreeBSD 2.x)

*	Numerous bug fixes with special attention paid to memory leaks.

*	New regexp test program (see test directory).

*	New "method call" operator allows support for object-orientated
	programming. See documentation for details.

*	New intrinsic functions,

		dir	Reads names from a directory and perform optional
			pattern matching (regexp) to return an array of
			strings. E.g.,

			    forall (srcfile in dir("../ici", #\.[ch]$#))
				printf("ICI source file %s\n", srcfile);

		remove	Delete a file. More portable than unlink().

		getcwd	Returns name of the current directory.

*	Error handling in seek() now operational.

*	Sockets code has own file type implemenation making it more
	usuable and portable to WIN32 (old code used fdopen() to turn
	a socket descriptor into a FILE * which meant the socket got
	closed when the file was closed, now it doesn't get closed
	when the file object is closed).

*	Implementation of select() modified to make it portable to
	WIN32 and more efficient.

*	gsub() and sub() properly implement \n replacements.

*	Off by one allocation error in do_sub() fixed.

Changes in version 2.0.1 of ICI.

*	New builtin function regexpi() which produces a	case-
	insensitive compiled regular expression from a string.
	Note there is no literal form of case-insensitive regexps.

*	Port to Solaris 2 (aka SunOS 5). See the files conf-sol2.h
	and Makefile.sol2.

*	Document reclaim() builtin.

*	Code cleaned up a little to minimise warnings from various
	compilers (mainly gcc under SunOS as that is what I use - AN).

*	Fixes to some memory leak and reference counting bugs. Most
	sinister was one in parse.c relating to struct literals and
	their super structs.

*	Fixes to (very) broken reference counting in skt.c

*	Introduced new internal function, null_ret(), for ICI intrinsic
	functions that return the NULL object (less typing than the
	"loose_ret(objof(&o_null))" that was being used everywhere).

*	Better memory debugging support (see alloc.c/alloc.h).
