1$Id: History,v 1.1350 2021-12-08 20:02:45 phil Exp $
2
3The Macro Implementation of SNOBOL4 in C (CSNOBOL4) history
4
5*** 2.2.2 (tag REL_2_2_2)
6
712/8/2021:
8	configure: change version to 2.2.2
9
1012/8/2021:
11	include/msvc/vars.h: add $v to VARS (v between a and z)
12
1312/4/2021:
14	COPYRIGHT, README: Update Copyright years
15
1611/20/2021:
17	lib/snolib/getstring.c: add nmgetstring (check for, return NULL)
18	include/load.h: add nmgetstring prototype
19	Use nmgetstring in places checking for NULL before OR after
20	    (may cure some SMALL memory leaks (after a malloc failure?)
21		lib/snolib/file.c, modules/digest/digest.c
22		modules/ffi/ffi.c, modules/sqlite3/sqlite3mod.c
23		modules/time/time.c
24
2511/18/2021:
26	configure: add support for DragonFly (reported by Harald Arnesen)
27
28*** 2.2.2-pre1 (tag REL_2_2_2_PRE1)
29
3011/17/2021:
31	configure: change version to 2.2.2-pre1
32
337/7/2021:
34	doc/snobol4func.1.pea: improve TRACE function info
35
366/10/2021:
37	INSTALL: note parallel make fails (suggested by hacksaw)
38		remove note about "time" package requirement
39
402/28/2021:
41	Makefile2.m4: add (back) man directory creation
42		(reported by Rafal M. Sulejman)
43
442/6/2021:
45	modules/ffi/ffi.c: fix for Solus Linux (reported by Neil Rowe)
46
471/25/2021:
48	configure/check: honor CPPFLAGS environment variable
49		(set by FreeBSD ports framework with USE=readline)
50
511/24/2021:
52	configure: add --without-lib{edit,readline}
53
541/14/2021:
55	.cvsignore file additions
56	update TODO.soon
57
581/10/2021:
59	snolib/ezio.sno: avoid ENDFILE(null)
60
611/1/2021!
62	snolib/setuputil.sno: add help to usage message (12/18/2020)
63	Makefile2.m4: add debug_modules (12/21/2020)
64
6512/23/2020:
66	lib/snolib/file.c, pml.h: add FILE_LIB_FIND
67
6812/20/2020:
69	lib/init.c: add -z to usage
70
7112/19/2020:
72	INSTALL: Add --with(out)-docs
73
74*** 2.2.1 (tag REL_2_2_1)
75
7612/19/2020:
77	Makefile2.m4: use ../../snobol4 in RUNMAKE, flush PATH
78		caused heartburn under cygwin?
79
8012/18/2020:
81	configure: display bad option; add --with-docs to help
82		output MAN_COMPRESS to config.sno
83		update to version 2.2.1 (51 years since SNOBOL4 v3.7)
84	Makefile2.m4: define/use INSTALL_MAN_PAGES macro
85	snolib/setuputil.sno: honor MAN_COMPRESS
86	config/win32/linux-mingw.sh: update SNOBOL4 for new Makefile.mod
87	config/win32/mingw.mak: comments
88
8912/17/2020:
90	configure: add --with-docs, so symmetric for FreeBSD ports
91
9212/16/2020:
93	doc/snobol4.1.pea: add snobol4load
94	doc/snobol4load.3.pea: clean up, add snopea to example
95	doc/snopea.7.pea: add \=
96	snolib/snopea.sno: add \=
97	snolib/setuputil.sno: add snopea docs for modulename.sno output
98
9912/15/2020:
100	configure: check for compressed man pages
101	Makefile2.m4: man page compression
102		remove lint
103		savage GENERATED_DOCS
104		don't install load.txt
105	Makefile: cleanup, add comments
106
10712/14/2020:
108	doc/snobol4load.3.pea (new), from load.txt
109	doc/Makefile: add snobol4load.3
110
11112/13/2020:
112	configure: add --without-docs, remove SNOBIN
113	Makefile2.m4: honor INSTALL_DOCS
114
11512/12/2020:
116	Makefile2.m4: pass -N/-I to module makes in SNOBOL4
117	modules/Makefile.mod: default SNOBOL4 to snobol, remove INC
118
11912/12/2020:
120	Makefile: clean removes module .dll files
121		add install_notiming
122	setuputil.sno: honor -v for test
123	modules/Makefile.mod: test_verbose (test w/ -v)
124		run snobol4 from PATH
125		add/use IN
126		remove SNOBOL4 from IN
127		make OUT/debug depend on IN
128	modules/*/Makefile: add test_verbose
129	modules/base64/test.sno: remove /dev/tty output
130	configure Makefile2.m4: use for loop for module actions
131		pass PATH in for snobol4 binary
132		flush MODULES_GENERATED
133		copy xsnobol4 to snobol4 before module tests
134		add install_notiming
135
13612/10/2020:
137	Makefile2.m4: create relative links, per FreeBSD port
138
13912/5/2020:
140	modules/fork/fork.c, modules/sprintf/sprintf.c: fix NAME line
141
142*** 2.2 (tag REL_2_2)
143
14412/5/2020:
145	configure, lib/snolib/host.h: change version to 2.2
146
14711/30/2020:
148	timing: add /bin/kenv for smbios on FreeBSD
149
15011/27/2020:
151	lib/openssl/tlsio_obj.c: TLS1_3_VERSION not in 1.1.0
152		found by Harald Arnesen on OpenBSD w/ LibreSSL
153
15411/26/2020:
155	snolib/{http,tcp,url}.sno: add https URL support
156	lib/io.c: allow binary read less than full recl
157		Thanks to Burkhard Meißner!
158	lib/openssl/tlsio_obj.c: remove SSL_VERIFY_FAIL_IF_NO_PEER_CERT
159		(for server use?)
160
16111/25/2020:
162	modules/com/com.cpp: turn off DEBUG
163		try (again) to quiet format warnings
164
165*** 2.2-pre3 (tag REL_2_2_PRE3)
166
16711/22/2020:
168	configure: change version to 2.2-pre3
169	doc/snobol4io.1.pea: verify verbiage
170
17111/21/2020:
172	lib/compio_obj.c: fix compression level
173	lib/io.c: comments, disable recl warning
174
17511/20/2020:
176	doc/snobol4io.1.pea: add /tls
177	modules/digest/digest.c: add docs for snobol4digest.3
178
17911/19/2020:
180	Add inet "verify" option for TLS
181	tlsio_obj.c: add SSL_CTX_set_options, SSL_CTX_set_min_proto_version,
182		optional: SSL_CTX_set_verify
183
18411/18/2020:
185	LOTS: Quash -Wextra warnings
186	configure: add -Wno-unused-parameter
187
18811/17/2020:
189	Implement TLS I/O
190	Makefile2.m4: add TLSIO_OBJ_C default, tlsio_obj.o rule
191	configure: check for openssl/bio.h & ssl.h, enable TLS_IO
192	include/inet.h: add argument names
193	include/io_obj.h: add tlsio_open()
194	lib/io.c: add tlsio_open call if TLS_IO defined
195	lib/stdio_obj.c: switch to str.h
196	lib/bsd/inet(6).c: fix inet_socket args
197	lib/dummy/inet.c: fix tcp/udp_socket flags arg
198	lib/openssl/tls_io.c (new)
199
20011/15/2020:
201	Eliminate module warnings:
202	modules/base64/base64.c
203	modules/ffi/ffi.c
204	modules/sqlite3/sqlite3mod.c
205	modules/time/time.c
206
20711/15/2020:
208	Make it possible to configure to use MacPorts libraries
209	INSTALL: update
210	Makefile2.m4: add ADD_SNOBOL4_LDFLAGS macro,
211		add CONFIG_CPPFLAGS, LDFLAGS variables
212		define CONFIG_{C,CPP,LD}FLAGS for host.o
213	configure: add --add-snobol4-ldflags to use ADD_SNOBOL4_LDFLAGS
214		convert most ADD_LDFLAGS to ADD_SNOBOL4_LDFLAGS
215		export LDFLAGS for config/check
216	config/check: use LDFLAGS environment variable
217	include/module.h: eliminate warning from DECLARE_MODULE
218	host.[ch]: add HOST_CONFIG_{C,CPP,LD}FLAGS
219	module/dirs/dirs.c, module/stat/stat.c: eliminate unused variables
220	snolib/setuputil.sno: fetch, use HOST_CONFIG_{C,CPP,LD}FLAGS
221
22211/14/2020:
223	modules/zlib (new)
224	configure: add zlib module
225
22611/14/2020:
227	modules/sqlite3/sqlite3mod.c: use sqlite3_prepare for old sqlite
228
22911/13/2020:
230	modules/digest: revamp using EVP, digest lookup by name
231		makes SHA3 algorithms available
232		tweak to build on OpenSSL older than 1.1.0
233	configure: tweak to build on OpenSSL older than 1.1.0
234
23511/12/2020:
236	configure: test for SHA512 in libcrypto for digest module
237	modules/digest (new): MD5, SHA{1,224,256,384,512}
238	modules/*/Makefile: add debug
239	modules/Makefile.mod: add debug target
240
24111/12/2020:
242	lib/compio_obj.c, lib/io.c: Implement compression level
243	    (digit after compression option)
244	Makefile2.m4: fix "make install" problem reported by Phillip Thomas
245	snolib/setuputil.sno: copy lines bracketed by *=snobol4 and *=cut
246	doc/snobol4func.1.pea: document EXTERNAL_{DATATYPE,MODULE_{NAME,PATH}}
247	doc/snobol4io.1.pea: document compression options
248
24911/11/2020:
250	Implement compressed file I/O as an I/O object layer
251	configure: detect libz, bzip2, lzma libraries
252	lib/compio_obj.c (new)
253	lib/io.c: add file compression
254		make ioo_close public
255	include/compio_obj.h (new)
256	include/io_obj.h: add ioo_close
257
25811/11/2020:
259	lib/loadx.c: keep lib name & path, add EXTERNAL_MODULE_{NAME,PATH}
260	pml.h: add EXTERNAL_MODULE_{NAME,PATH}
261
26211/10/2020:
263	modules/fork/fork.c: add GETPID, GETPPID
264	lib/bsd/inet.c: fix typo
265
26611/10/2020:
267	snolib/setuputil.sno: Fix for MSYS2
268	configure: define IMPORT/EXPORT on Cygwin/MSYS
269
27011/10/2020:
271	Revamp module ABI once again!
272	Create SNOBOL4_MODULE macro, no more mod_xxx.c
273	Create module_instance_private
274	Makefile.m4: remove MOD_SUPPORT_SRC install
275	modules/random/test.sno
276	configure: remove MOD_SUPPORT_SRC
277	config/win32/config.sno: remove MOD_SUPPORT_SRC
278	include/handle.h: remove new_handle
279	include/lib.h: add module(_instance)_{init,cleanup}
280	include/module.h: add get_module_instance method
281		replace htlist with module_instance_private
282		add SNOBOL4_MODULE macro
283	lib/loadx.c: EXTERNAL_DATATYPE returns module|type
284		pass original name/path to libopen, save as name
285		check oslib pointers for dups
286	lib/snolib/handle.c: add module_instance_private
287		remove new_handle
288		add handle_cleanup_tables
289	snolib/setuputil.c: remove MOD_SUPPORT_SRC
290
29111/8/2020:
292	Revamp module ABI, again; create EXTERNAL_DATATYPE
293	pml.h: add EXTERNAL_DATATYPE
294	include/handle.h: new_handle2: take modinst again
295	include/lib.h: add handle_table_name
296	include/module.h: remove unused prev from struct lib
297	lib/loadx.c: do os_find_symbol for "module"
298		add EXTERNAL_DATATYPE
299	lib/stdio_obj.c: put 'b' second for glibc 2.9 thru 21 fmemopen
300	lib/bsd/load.c: put in crock for module lookup (time to kill it?)
301	lib/snolib/handle.c: debug to stderr
302		new_handle2: take modinst again
303		add handle_table_name
304		module_(instance_){init,cleanup} no longer SNOLOAD_ABI
305	module/lots/module.c: add SNOBOL4_MODULE invocations
306		pick presentable table names
307	modules/com/com.cpp: change INTEGER to EXTERNAL in LOAD calls
308	modules/dirs/dirs.c: change INTEGER to EXTERNAL in LOAD calls
309	modules/random/random.c: try /dev/urandom before /dev/random
310		shift usec or nsec up to cover high order bits
311	pkg/win32/install.bat: "C:\Program Files\SNOBOL4
312	snolib/sdb.sno: don't display RETVAL on FRETURN
313
31411/6/2020:
315	configure: Try treating MSYS same as CYGWIN
316
31711/6/2020:
318	include/lib.h: fix find_snolib_directory
319
320*** 2.2-pre2 (tag REL_2_2_PRE2)
321
32211/6/2020:
323	configure: change version to 2.2-pre2
324
32511/6/2020:
326	Try to find library directory on Windows
327	Makefile2.m4: add DIRNAME_C, dirname.o rule (not (yet?) used)
328	configure: comment out dirname test (for now?)
329	config/djgpp/Makefile: add dirname.o rule (not (yet?) used)
330	config/win32/config.h: add HAVE_FIND_SNOLIB_DIRECTORY
331		add NEED_DIRNAME (MSVC)
332		add HAVE_DIRNAME, HAVE_GETOPT (MINGW)
333	config/win32/mingw.mak: add lib/win32/dirname.c, lib/win32/findlib.c
334	config/win32/ntmsvc.mak: add dirname.{c,obj} findlib.{c,obj}
335	include/lib.h: add NEED_DIRNAME/dirname HAVE_FIND_SNOLIB_DIR/find_snolib_dir
336	lib/init.c: pass argv[0] to pathinit, add HAVE_FIND_SNOLIB_DIR/find_snolib_dir
337
33811/5/2020:
339	Move birthtime & nsec ugliness to configure script
340	configure: set STAT_CFLAGS
341	modules/stat/stat.c: just depend on st_{a,c,m,birth}time(nsec) defines
342
34311/2/2020:
344	config.h: SNOLIB_BASE "C:\Program Files\SNOBOL4"
345	pkg/win32/README.win32: ditto
346	INSTALL: update
347
34811/2/2020:
349	config/vms/config.h: flush PML_NDBM
350	lib/win32/sys.c: comments
351	lib/win32/exists.c: remove UTF-16 comments
352
353*** 2.2-pre1 (tag REL_2_2_PRE1)
354
35510/31/2020:
356	configure: change version to 2.2-pre1
357
35810/31/2020:
359	modules/Makefile.mod: make build depend on ../../config.sno
360
36110/30/2020:
362	Makefile: add tested to M2TARGETS
363	doc/Makefile: add snobol4json.3[.html]
364	snolib/utf.sno: use CHAR; make RUNE check for UTF-16 surrogate range
365	snolib/json.sno: implement \Uxxxxxxxx
366		change functions names to JSON_{EN,DE}CODE
367		add documentation
368		accept "null"
369	test/json1.{sno,ref}: add \U test
370		change function names
371		add null tests
372
37310/30/2020:
374	test/loaderr.sno: add library args to LOADs
375		(unloading "self" is fatal on FreeBSD 3.2!)
376
37710/29/2020:
378	Remove all use of make -C (missing in FreeBSD 3.2!)!!
379	Makefile, Makefile.m4, configure
380
38110/28/2020:
382	Makefile: cleanup remove config.sno
383
38410/27/2020:
385	Makefile, Makefile2.m4: use $(MAKE) -C doc ....
386
38710/27/2020:
388	snolib/json.sno: use own hex conversions, so can test
389	test/tests.in: add json1.sno
390	test/json1.{sno,ref} (new): test program for json.sno
391
39210/27/2020:
393	config/win32/ntmsvc.mak: detect x64, use C99 long long conversions
394
39510/26/2020:
396	configure: back to generated build_modules list
397
39810/26/2020:
399	Makefile2.m4: remove sleep.o sdbm*.o rules
400
40110/26/2020:
402	config/win32/config.h: changed SNOLIB_BASE to C:\Program Files\CSNOBOL4
403	pkg/win32/README.win32: update base
404
40510/25/2020:
406	modules/stat/stat.c: fetch OpenBSD birthtime (zero in OBSD 6.8?!)
407
40810/25/2020:
409	Implement setup.sno test command
410	Makefile: add test_modules
411	lib/snolib/handle.c: debug ifdefs
412	modules/Makefile.mod: add SETUPOPT for debug
413		use setup.sno test command!
414	modules/dirs/test.sno: create & check table
415	modules/sqlite3/setup.sno: add tests entry
416	modules/sqlite3/sqlite3.mod: remove stmt handles!!
417		test.sno: just check type_str
418	modules/sqlite3/setup.sno: add tests entry
419	modules/time/test.sno: fix sleep test to run faster (most of the time)
420		    /generic/sleep.c: sleep a whole second if any fration given
421		    /test2.sno: copied from tests/time.sno
422	modules/*/*.ref (new)
423	snolib/cmp.sno (new)
424	snolib/setuputil.sno: add "test" command (for posix)
425	test/tests.in: turned off random.sno
426
42710/24/2020:
428	configure: Solaris make doesn't have ?=
429
43010/24/2020:
431	include/load.h: "module" now a pointer
432	include/module.h (new): move module ABI here, add module_init function
433	lib/snolib/mod_gcc.c, mod_win32.cpp: export module pointer.
434	lib/snolib/handle.c: add module_init function
435	modules/dirs/dirs.c
436	modules/ffi/ffi.c
437	modules/ndbm/ndbm.c
438	modules/sqlite3/sqlite3mod.c
439	modules/stcl/stcl.c
440	    module now a pointer
441
44210/24/2020:
443	configure: rename MOD_SUPPORT to MOD_SUPPORT_C
444	Makefile2.m4: install MOD_SUPPORT_C in INCLUDE_DIR
445	snolib/setuputil.sno: use MOD_SUPPORT_C, look in INCLUDE_DIR
446
44710/23/2020:
448	modules/random/random.c: use inttypes.h, if available
449	configure: check for inttypes.h if stdint not available (FreeBSD 4.9)
450
45110/23/2020:
452	cpuid.c: gcc 2.95.4 (FreeBSD 4.9) doesn't define __GNUC_PATCHLEVEL__(!)
453
45410/23/2020:
455	Include <unistd.h> if available for ssize_t (FreeBSD 4.9!)
456	include/lib.h (if getline needed)
457	lib/io.c
458	lib/auxil/bufio_obj.c
459	lib/auxil/getline.c
460	lib/auxil/memio_obj.c
461	lib/bsd/ptyio_obj.c
462	lib/dummy/ptyio_obj.c
463	lib/posix/memio_obj.c
464	lib/win32/inetio_obj.c
465	lib/win32/ptyio_obj.c
466	modules/base64/base64.c
467
46810/23/2020:
469	Makefile2.m4, configure: back to MODULES_GENERATED
470
47110/22/2020:
472	modules/base64/base64.c: remove debug
473	configure: fix a few echo redirects
474	Makefile2.m4: tested: build_modules
475	modules/stat/test.c: add ST_TYPE_STR
476	modules/stat/stat.c: fix S_IFSOCK
477
47810/22/2020:
479	modules/Makefile.mod: remove .so output/dependency
480		(wrong when dynamic library isn't a .so file)
481
48210/20/2020:
483	turn off tests/sleep.sno tests/ndbm.sno
484	modules/time/time.sno: copy of sleep.sno
485
48610/20/2020:
487	Makefile2 => modules/X/Makefile => modules/Makefile.mod
488	configure: output {build,clean,install,test}_modules to config.m4
489	modules/Makefile.mod (new): common makefile, has test target
490	modules/*/Makefile: invoke ../Makefile.mod
491	modules/{base64,dirs,logic,ndbm,sprintf,stat}/test.sno (new)
492
49310/20/2020:
494	Add FILE_NEWER (for use by setuptil.sno)
495	pml.h: add FILE_NEWER
496	include/lib.h: newer
497	Makefile2.m4: newer.o
498	config/win32/{mingw,ntmsvc}.mak: newer.o(bj)
499	config/djgpp/Makefile: newer.o
500	lib/generic/newer.c (new): newer function
501	lib/snolib/file.c: FILE_NEWER function
502
50310/20/2020:
504	configure: deal with OSX stat st_Xtimespec
505	modules/stat/stat.c: use config.sno STAT_CFLAGS
506
50710/20/2020:
508	add snolib/json.sno
509
51010/20/2020:
511	add base64
512	configure
513	modules/base64/base64.c
514	modules/base64/setup.sno
515	modules/base64/funcs.sno
516
51710/19/2020:
518	rename mod_msvc.cpp to mod_win32.cpp
519	config/win32/linux-mingw.sh
520	config/win32/config.sno
521
52210/19/2020:
523	modules/stat/stat.c: swap to ifdef __CYGWIN__
524	lib/break.c: register for cleanup on first malloc
525
52610/18/2020:
527	flush mentions of __P
528	lib/auxil/getopt.c
529	lib/bsd/inet.c
530	lib/bsd/inet6.c
531	lib/djgpp/osinit.c
532	lib/dummy/inet.c
533	lib/dummy/ptyio_obj.c
534	lib/win32/inetio_obj.c
535
53610/18/2020:
537	modules/stat/stat.c: try to deal with Cygwin/Apple birth time mess
538
53910/18/2020:
540	one more import/export go-around
541	Makefile2.m4: add -DSNOBOL4 to MYCPPFLAGS
542	main.c: flush SNOBOL4_PROVIDER
543	config/vms/descrip.mms: define SNOBOL4
544	config/win32/borland.mak: add -DSNOBOL4 to CFLAGS
545	config/win32/config.h: use ifndef SNOBOL4 for IMPORT action
546	config/win32/mingw.mak: add -DSNOBOL4 to CFLAGS
547		add IMPLIB comment, SETUPFLAGS
548	config/win32/ntmsvc.mak: add -DSNOBOL4 to CFLAGS
549	include/load.h: use SNOBOL4 to select SNOLOAD_API IMPORT vs EXPORT
550	include/snobol4.h: use SNOBOL4 & SHARED to select SNOBOL4_API behav.
551	lib/init: flush SNOBOL4_PROVIDER
552	lib/snolib/getstring.c: include comments, flush SNOLOAD_API_PROVIDER
553	lib/snolib/retstring.c: flush SNOLOAD_API_PROVIDER
554
55510/18/2020:
556	configure: test for, use GNU C visibility for SO build!
557
55810/18/2020:
559	API cleanup
560	include/snotypes.h: moved LOAD_PROTO here (avoid internal use of load.h)
561	include/load.h: moved LOAD_PROTO
562		define/use SNOLOAD_API instead of SNOEXP
563		look at SNOLOAD_API_PROVIDER instead of lack of DYNAMIC
564	include/handle.h: use SNOLOAD_API
565	lib/break.c: use pmlret_t, remove static
566	lib/init.c: update include comments
567	lib/loadx.c, pml.c: remove load.h
568	lib/{bsd,dummy,vms,hpux}/load.c: trim includes, use const
569	lib/snolib/[gr]etstring.c: SNOLOAD_API_PROVIDER, SNOLOAD_API
570	mod_*.c(pp): include comments, config.h
571
57210/18/2020:
573	include/snobol4.h: SNOBOL4_API macro, noop if not PROVIDER && SHARED
574	main.c: use SNOBOL4_API
575
57610/18/2020:
577	lib/init.c: strdup -u argument
578
57910/18/2020:
580	more VAR declarations (only statics left are in VMS code?)
581	lib/init.c
582	lib/loadx.c
583	lib/generic/popen.c
584	lib/posix/dynamic.c
585	lib/snolib/handle.c
586
58710/17/2020:
588	include/handle.h: add sizes, reserved bytes
589	modules/stat/stat.c: st_atimensec predefined on NetBSD 9
590		add ST_BTIME
591
59210/17/2020:
593	gcc 9.3-win32
594	include/lib.h, lib/{msdos,vms,win32}/tty.c: tty_read
595	lib/win32/inetio_obj.c: inetio_open
596
59710/17/2020:
598	gcc 9.3 write-string warnings
599	main.c: ni_argv (crock)
600	include/io_obj.h: fname
601	include/stdio_obj.h: stdio_wrap {std,pipe,pty}io_open
602	lib/io.c: io_open_funcs
603	lib/stdio_obj.c: stdio_wrap, {std,pipe}io_open
604	lib/{bsd,win32}/ptyio_obj.c: ptyio_open
605
60610/17/2020:
607	More const char *
608	include/load.h: io_fname
609	include/snobol4.h: io_output_string (name)
610	lib/io.c: io_input_string (name), io_fname (EXPORT it)
611
61210/17/2020:
613	Clean compile with -Wwrite-string (const paranoia)
614	globals.h: snolib_base
615	include/lib.h: io_add_lib_dir, strjoin
616	include/snobol4.h: io_input_{file,string}
617	lib/init.c: p
618	lib/io.c: lots
619	lib/str.c: strjoin
620
62110/17/2020:
622	Another module go-round; instantiate module in support file
623	include/load.h: moved struct module to handle.h
624	include/handle.h: struct module here
625		wrapped support stuff in "ifdef MODULE_SUPPORT"
626	modules/LOTS: removed MODULE invocations
627	lib/snolib/mod_xxx: add module, use MODULE_INIT, MODULE_CLEANUP
628
62910/17/2020:
630	Clean up some g++ complaints
631		basic tests pass w/ -fpermissive & w/o -Werror
632		punted on modules (need to pick API for helpers)
633	configure: guard around setting _GNU_SOURCE
634	include/snotypes.h: cast DESCR SPEC sizes to int
635	include/stdio_obj.h: put enum last_direction at top level
636	include/syntab.h: const char *
637	include/io_obj.h: io_write take const char *
638	include/lib.h: io_lib_find take const char *
639	lib/date.c: cast int to enum
640	lib/io.c: io_write, ioo_write, io_lib_find, trypath take const char *
641	lib/pml.c: const char *
642	lib/bsd/inet6.c: true => yes
643	lib/snolib/serv.c: const char *
644	lib/win32/ptyio_obj.c: ptyio_write take const char *
645	lib/win32/inetio_obj.c: inetio_write take const char *
646	lib/stdio_obj.c: stdio_write take const char *
647	lib/auxil/bufio_obj.c: bufio_write take const char *
648	lib/auxil/memio_obj.c: memio_write take const char *
649	gendata.sno: output constant strings as char* not char[]
650
65110/17/2020:
652	Add cleanup routines
653	modules/dirs/dirs.c
654	modules/ffi/ffi.c
655	modules/sqlite3/sqlite3mod.c
656	modules/stcl/stcl.c (add new_obj too!)
657	Makefile2.m4: remove ancient dummy environ.o from OBJS
658	snolib/setuputil.sno: add setup.sources()
659	modules/com/com.cpp: add MODULE(), add new_obj (use new_handle2)
660
66110/16/2020:
662	First cut at releasing handles
663	configure: set MOD_SUPPORT in config.sno
664	config/win32/config.sno: set MOD_SUPPORT
665	include/h.h: define TLS as VAR
666	lib/snolib/handle.c: add new_handle2 (takes release, module ptr)
667		add handle_cleanup for cleanup
668		complain once if old new_handle called
669	include/load.h: add struct module, MODULE
670	modules/*/*.c: add MODULE invocations
671	modules/ndbm/ndbm.c: use new_handle2, add ndbm_cleanup
672	snolib/setuputil.sno: ugly mashing to include MOD_SUPPORT
673
67410/16/2020:
675	COPYING: update Copyright dates!
676	configure: more gcc doc quotes, include URLs
677	lib/posix/term.c: dup stderr so cleanup from DLL doesn't close fd 2
678	include/load.h: add pmlret_t, new_handle2
679	lib/snolib/LOTS: use (pm)lret_t
680
68110/15/2020:
682	lib/io.c, include/io_obj.h: move FL_INCLUDE to io_obj.h
683
68410/14/2020:
685	lib/io.c: add FL_INCLUDE flag, free include file file struct
686
68710/14/2020:
688	lib/io.c: use mstrdup in io_include (wrapper for io_include2)
689	lib/init.c: free snolib_{local,v{ers,lib,local}}, fclose termin
690
69110/14/2020:
692	Implement reg_cleanup for shared library cleanup
693	lib/init.c: add reg_cleanup, cleanup
694	lib/endex.c: call cleanup if SHARED
695	include/lib.h: add reg_cleanup, cleanup
696	lib/loadx.c: register for cleanup, unload all functions
697
69810/14/2020:
699	include/lib.h: add freeparm extern
700	include/macros.h: add FREEPARM
701	v311.sil: [PLB131] call FREEPARM
702	lib/init.c: add freeparm function
703
70410/14/2020:
705	lib/auxil/memio_obj.c: close: free buffer, return TRUE
706
70710/13/2020:
708	MSVC VAR support
709	include/h.h: include msvc/vars.h
710	include/msvc/vars.h: surprisingly reasonable/easy!
711
71210/13/2020:
713	Implement zeroing VAR variables in SHARED lib builds
714	data_init.c: include str.h, invoke ZERO_VARS to do the work
715	include/gcc/vars.h (new): put VAR into own section with gcc-like
716		compilers, include goo for OSX
717	include/h.h: include gcc/vars.h in SHARED build with "gcc"
718	lib/msdos/mstime.c: fix non-zero initializer
719
72010/13/2020:
721	lib/io.c, lib/stdio_obj.c: use globals.h
722
72310/12/2020:
724	Makefile: Solaris m4 doesn't have -I; not needed
725
72610/12/2020:
727	flush NO_STATIC_VARS, replace with VAR declaration
728	globals.h (new): declare all globals using VAR
729	include/h.h: default VAR to empty (could be TLS or __attr__(section))
730	gendata.sno: output VAR
731	main.c: declare all globals
732	include/vars.h: removed
733	32 other .c files
734
73510/12/2020:
736	config/win32/mingw.mak: DLL/tests tested.
737
73810/11/2020:
739	configure: fix ICC check
740
74110/11/2020:
742	config/win32/mingw.mak: tweak to build snobol4.dll (not tested!)
743	config/win32/ntmsvc.mak: first swipe at DLL build (not run)
744
74510/11/2020:
746	turn off shell timing of genc.sno run
747	    interferes with DYLD_LIBRARY_PATH on MacOS 10.15?
748		(was just looking for a reason to kill it, it only
749		mattered in ancient days when getrusage wasn't widely
750		available, and clock tick size was often a a result of
751		divination)
752	    Turns out to be a feature (System Integrity Protection)
753	timing: comment out time
754	timing.sno: add, check CHECK_TIMING setting
755
75610/11/2020:
757	shared library cleanup
758	Makefile: use SO_CFLAGS instead of -fPIC
759	Makefile2.m4: use SNOBOL4_LDFLAGS
760		use SO_EXT from configure instead of .so
761		add rule to make tlib test
762	configure: put -rdynamic in SNOBOL4_LDFLAGS
763		define DYNAMIC in DL_CFLAGS
764	main.c: define SNOBOL4_PROVIDER for snobol4.h
765	include/load.h: honor DYNAMIC define
766		add iunit/xunit arg names
767	include/snobol4.h: check SNOBOL4_PROVIDER instead of DYNAMIC
768		remove many io functions (KISS), explain UNITx
769	lib/init.c: define SNOBOL4_PROVIDER for snobol4.h
770
77110/10/2020:
772	config/win32/ntmsvc.mak: missing a few $(SRCDIR)s
773
77410/10/2020:
775	lib/auxil/memio_obj.c: fix
776	tlib.c: test output to TERMINAL
777	main.c: add -b to non-interactive init
778
77910/10/2020:
780	Second round of shared library fun
781	Makefile: just define SHARED
782	Makefile2.m4: no MAINFLAGS
783	main.c: add snobol4_init, snobol4_init_ni, snobol4_run
784	ssnobol4.c: need stdio.h, h.h
785	config/win32/config.h: comment
786	include/lib.h: move stuff to snobol4.h
787	include/snobol4.h: stuff from lib.h
788	lib/endex.c: s/ENDEX_LONGJMP/SHARED/
789	lib/init.c: s/stdinc/std_includes/
790		init_args takes interactive argument
791		create signal_init, call from io_init (instead of SIL INIT)
792	lib/io.c: s/MEM_IO/SHARED/
793		fix io_memfile
794		EXPORT io_input_string
795	tlib.c (new): demo/test
796
79710/10/2020:
798	Experiment to build libsnobol4.so
799	No lines of code changed!
800	Makefile: rules to make so/Makefile2 (creates private config.m4)
801		runs it to make shared_library
802	Makefile2.m4: split out rule (run in submake) for build.o
803		added rules to make shared library, ssnobol4 executable using it
804		added missing $(SRCDIR): MYCPPFLAGS, top level files
805	configure: add missing $(SRCDIR) prefixes
806	ssnobol4.c: one line main program to invoke shared library!
807
80810/10/2020:
809	lib/snolib/handle.c: hand out handle numbers sequentially
810
81110/10/2020:
812	lib/posix/memio_obj.c: memio_open using POSIX fmemopen
813	include/io_obj.h, lib/auxil/memio_obj.c: make memio_open take dir
814	lib/io.c: pass dir to memio_open, fix some comments
815
81610/8/2020:
817	lib/djgpp/osinit.c: add export of relstring
818
81910/8/2020:
820	configure: note ILP32, funny programming models
821
82210/8/2020:
823	snolib/sdb.sno: add SDB.RETVAL (can't concatenate DATA types)
824
82510/8/2020:
826	test/tests.in: add factor.sno, alis.sno
827	test/factor.{sno,ref}: from green book (via DEC-10,VAX ports)
828	test/alis.{sno,ref}: from green book (via DEC-10 port)
829		Execution time in green book was 5159ms
830		time on 2017 vintage Intel i5 was   2.429ms (2124x faster)
831
83210/8/2020:
833	fixes for OpenIndiana (illumos/OpenSolaris 11)
834	configure: change HAVE_ to NEED_
835		check if can use lib/posix/pty.c
836		add CLOSEFROM_IN_STDLIB_H
837		use config/check for finite
838	config/win32/config.h: update
839	lib/posix/pty.c (new): forkpty from FreeBSD
840	include/libpty.h (new): forkpty prototype
841	Makefile2.m4: add rule for pty.o
842	include/lib.h: use NEED_ defines
843	lib/init.c: use NEED_GETOPT_EXTERNS define
844	lib/bsd/ptyio_obj.c: use CLOSEFROM_IN_STDLIB_H
845
84610/7/2020:
847	config/win32/config.h: add NTDDI_VERSION and _WIN32_WINNT again
848	lib/bsd/inet6.c: moved _WIN32_WINNT
849	lib/win32/ptyio_obj.c: moved NTDDI_VERSION and _WIN32_WINNT again
850
85110/7/2020:
852	configure: define (s)size_t if needed
853	config/win32/config.h: use WS2 socklen_t
854
85510/7/2020:
856	config/win32/{ntmsvc,mingw}.mak: winsock ipv6 comment
857	configure: fix readline module
858	include/macros.h: convert MOVBLK from bcopy to memmove
859	lib/{io,str}.c lib/ansi/sp{cint,real}.c	lib/bsd/inet(6).c
860	    lib/c99/spcint.c lib/generic/sp{cint,real}.c
861	    lib/snolib/getstring.c lib/win32/inet.c:
862		convert bcopy to memcpy
863
86410/6/2020:
865	lib/win32/execute.c: Windows runtime implements execl
866	config/win32/{ntmsvc,mingw}.mak: use lib/win32/execute.c
867
86810/6/2020:
869	v311.sil: [PLB130] implement handling for type "M"
870		(malloc'ed linked string) in LNKFNC.
871		Calls relstring after variable generated.
872	include/lib.h: add relstring
873	include/macros.h: RELSTRING wrapper for relstring
874	include/load.h: add RETSTR2_FREE, RETSTR_FREE: call retstring_free
875		add extern/export for retstring_free
876	lib/retstring.c: flush static retbuf[len] vars:
877		add retstring_free which returns string via type "M"
878		retstring also returns via type "M" (unless RETSTRING_STATIC)
879		add relstring function called back on type "M" after interning
880	include/vars.h: flush retbuf[len]
881
88210/5/2020:
883	lib/{io,stdio_obj}.c: try pulling ^C handling down
884		removed ioo_clearerr -- flush??
885
88610/5/2020:
887	config/win32/config.h: always define HAVE_FSEEKO
888
88910/4/2020:
890	config/win32/mingw.mak: use windres to compile manifest.rc
891		take TOOLCHAIN prefix
892	config/win32/ntmsvc.mak: use rc to compile manifest.rc
893	config/win32/manifest.rc (new)
894		Manifest file necessary to get Windows version
895		(upto latest version binary manifested for)
896	config/win32/linux-mingw.sh: pass TOOLCHAIN
897	lib/win32/sys.c: restore build, server, add back break, ansify
898	lib/bsd/dynamic.c: ansify
899
90010/4/2020:
901	configure: just set _GNU_SOURCE if glibc detected
902	modules/ffi/ffi.c: remove _GNU_SOURCE __USE_GNU
903	parms.h: move config.h back to top
904	parms.h, include/macros.h: move ieeefp.h include to parms.h
905
90610/3/2020:
907	configure: remove --force-memmove from help
908		move module support checks together
909		fix -Werror= for gcc 4.1.2
910		set {NDBM,TIME,RANDOM}_CFLAGS in config.sno
911		fix getrusage
912		removed clock_gettime for runtime (user+sys)
913		pull glibc check up, set _GNU_SOURCE if found
914	config/check: honor CHECK_OUT
915	CHANGES: update, organize
916	modules/ndbm/setup.sno: honor NDBM_CFLAGS
917	modules/random/setup.sno: honor RANDOM_CFLAGS
918	modules/time/setup.sno: honor TIME_CFLAGS
919
92010/2/2020:
921	configure: --without-modules
922
92310/2/2020:
924	lib/win32/inet.c: VERY last file to ansify?
925		(leaving ancient dummy files)
926
92710/2/2020:
928	Make configure fussier about checking for functions
929	configure:
930		If gcc/icc/clang set -Werror -Wimplicit-function-declartion
931		Fix glibc check for Ubuntu
932		Fix glibc 2.1 check (not to hop on 2.11)
933
93410/2/2020:
935	Makefile2.m4 configure pml.h:
936		cleanup/simplify: no more --force-pml, snolib.a, NO_PML_X
937	removed: lib/{bsd,generic,posix,win32}/sleep.c
938
93910/2/2020:
940	more ansification!
941	data_init.c
942	gensyn.sno
943	include/snotypes.h
944	lib/init.c
945	lib/io.c
946	lib/ordvst.c
947	lib/realst.c
948	lib/ansi/spreal.c
949	lib/auxil/getopt.c
950	lib/bsd/inet.c
951	lib/win32/inetio_obj.c
952	lib/win32/ptyio_obj.c
953
95410/1/2020:
955	lib/bsd/inet6.c: ansify
956	lib/win32/inetio_obj.c: turn off SO_OPENTYPE (added 1999/05/02!)
957		add comments
958
95910/1/2020:
960	configure: fix memmove test, put first
961	include/str.h: guard all function redefines
962
96310/1/2020:
964	yet ANOTHER bash at load
965	include/lib.h: os_unload_function, stash ptr to os_find_symbol
966	lib/loadx.c: call os_unload function with stash ptr from os_find_symbol
967	lib/{bsd,dummy,hpux,next,unix98,vms,win32}/load.c: rake again
968		bsd no longer keeps function list
969
97010/1/2020:
971	config/win32/mingw.mak: add IMPLIB variable
972
9739/30/2020:
974	time module: make TV_USEC int again, add TV_NSEC!
975
9769/30/2020:
977	one more bash at load
978	lib/loadx.c: maintain lib & func structs
979	include/lib.h: os_(un)load_library, os_find_symbol
980	lib/{bsd,dummy,hpux,next,unix98,vms,win32}/load.c: rake
981
9829/30/2020:
983	new config/makerulesdep
984	config/win32/mingw.mak: use makerulesdep to generate rules(!!)
985
9869/30/2020:
987	configure: use -MM for dependency generation
988
9899/29/2020:
990	mingw attempt to get fractional seconds (failed)
991	config/win32/config.h: use timspec_get w/ MSVC
992		getpid() in unistd.h on mingw
993			 in process.h on msvc
994		getopt() in unistd.h on mingw
995	config/win32/linux-mingw.sh: try using -lpthread
996	modules/{time,random}/setup.sno: ldflags from config.sno
997
9989/29/2020:
999	HAVE_CLOCK_GETTIME_REALTIME
1000	configure
1001	modules/time/time.c
1002	modules/random/random.c
1003
10049/29/2020:
1005	Final(?) pml_find cleanup
1006	include/load.h
1007	lib/hpux/load.c
1008	lib/win32/load.c
1009
10109/28/2020:
1011	configure: detect clock_gettime(CLOCK_REALTIME,&ts)
1012		and timespec_get(&ts, TIME_UTC)
1013	modules/random/random.c, modules/time/time.c:
1014		use timespec (need a .h file to paper it over)
1015		GETTIMEOFDAY TV_USEC can be a REAL!
1016
10179/28/2020:
1018	config/win32/mingw.mak: improve module builds
1019
10209/28/2020:
1021	config/djgpp/Makefile: always include loadx.o
1022
10239/28/2020:
1024	ansify next dir (one file, for a (hopefully) dead interface)
1025	lib/next/load.c: ansify, convert to os_load
1026	Makefile2.m4: always include loadx.o
1027	configure: never need to add loadx.o
1028
10299/28/2020:
1030	ansify hpux dir (one file, for a (hopefully) dead interface)
1031	lib/hpux/load.c: ansify, convert to os_load
1032
10339/28/2020:
1034	ansify vms(!) files, convert to os_load
1035	config/vms/descrip.mms: add loadx
1036	lib/vms/*.c: convert to ansi, os_load
1037
10389/28/2020:
1039	Cross compile for Windows/MINGW under Linux
1040	NOTE!!! Binaries not tested.  Will have funny CC name!
1041	(new) config/win32/linux-mingw.sh
1042	config/win32/mingw.mak: add overrides for cross-compile
1043	lib/win32/ptyio_obj.c, configure:
1044		moved cygwin WIN32_WINNT, NTDDI_VERSION defines
1045
10469/28/2020:
1047	snolib/setup.sno: prefetch HOST vars
1048		(allow override by config.sno)
1049	modules/*/setup.sno: remove unneeded setup.sno include
1050
10519/28/2020:
1052	timing: add /etc/os-release (for arch)
1053
10549/27/2020:
1055	doc/snobol4.1.pea: add SNOBOL4UNBUFFERED
1056
10579/27/2020:
1058	CHANGES: update with changes since 2.1.6
1059
10609/27/2020:
1061	configure: install cygwin libsnobol4.a in a versioned dir
1062
10639/27/2020:
1064	Clobber // comment by compiling with -stc=c90
1065	lib/bsd/inet6.c
1066	include/io_obj.h
1067	lib/bsd/ptyio_obj.c
1068
10699/27/2020:
1070	Remove old cygwin COM crockery
1071	config/win32/config.h
1072	modules/com/com.cpp
1073	configure
1074
10759/27/2020:
1076	First pass at ANSIfication
1077	Assumes all systems have string.h, stdlib.h
1078	Too many files to name.
1079
10809/26/2020:
1081	modules/stat/funcs.sno: missing comment chars!!!!
1082
10839/26/2020:
1084	Make cygwin w/ gcc 10 happy:
1085	configure: add HAVE_GETOPT[_EXTERNS]
1086	include/lib.h: add getopt()
1087	lib/init.c: honor HAVE_GETOPT_EXTERNS, remove getopt()
1088	modules/time/time.c: define magic for strptime, tm_gmtoff
1089
10909/26/2020:
1091	lib/io.c: FL_KEEPEOL, fix io_mkfile2 to preseve flags.
1092	include/io_obj.h, lib/io.c, lib/stdio_obj.c: FL_KEEPEOL
1093
10949/26/2020:
1095	doc/snobol4io.1.pea: update for 2.2, add tcp/udp flags.
1096
10979/26/2020:
1098	mingw compile cleanup (under Linux!)
1099	config/win32/mingw.mak: enable warnings, add depend, clean
1100	config/win32/config.h: wrap fseeko/ftello in ifndef __MINGW32__
1101		add HAVE_STRFTIME
1102	lib/io.c: use SIGINT_EOF_CHECK instead of _MSC_VER
1103	lib/win32/sys.c: quiet DWORD formatting complaints
1104	lib/win32/inet.c: caught bindresvport usage error
1105
11069/26/2020:
1107	timing: check for systeminfo.exe!
1108	modules/random/random.c: use GETPID_IN_PROCESS_H
1109		expect getpid() to be available!!
1110
11119/26/2020:
1112	bufio/ptyio cleanup:
1113	include/bufio_obj.h: comments
1114	lib/auxil/bufio_obj.c: read_raw == 0 no longer EOF
1115	lib/win32/inetio_obj.c: read_raw return -1 on EOF
1116	lib/win32/ptyio_obj.c: flush flags, free buffer
1117
11189/25/2020:
1119	configure: comments for debugging win32/ptyio
1120	lib/auxil/bufio_obj.c: DEBUG_BUFIO_{READ_RAW,GETLINE}
1121	lib/win32/ptyio_obj.c: working?
1122	timing: look for smbios on Solaris
1123
11249/24/2020:
1125	lib/auxil/bufio_obj.c: fix memory corruption
1126	lib/win32/ptyio_obj.c: version with threads (broken)
1127
11289/22/2020:
1129	bsdtsort.c lib/{io,realst,str}.c lib/bsd/inet[6].c
1130	    lib/snolib/serv.c lib/win32/{exists,inet}.c
1131	    modules/ndbm/sdbm/dbe.c:
1132		cast ctype args to unsigned char
1133
11349/21/2020:
1135	Cleanup:
1136	configure: detect getline, or use auxil version
1137		fix missing g++ test under cygwin
1138	Makefile2.m4: auxil/getline.c (if needed)
1139	include/lib.h: add getline (if needed)
1140	lib/auxil/getline.c: fix!
1141	lib/win32/{inet,pty}io_obj.c: s/XXXio_read /XXXio_getline /
1142	config/win32/{ntmsvc,mingw}.mak: use auxil/getline.c
1143	config/djgpp/Makefile: use auxil/getline.c
1144
11459/21/2020:
1146	Another I/O Overhaul: Remove record length limits from text I/O.
1147	v311.sil: [PLB129] Add VLRECL (variable length record length(!))
1148		as default/TERMINAL input record length.  io_read will
1149		poke address of malloc'ed buffer into IOSP, and must
1150		generate variable (and copy) each line.
1151	config/win32/config.h: add SIGINT_EOF_CHECK
1152	include/io_obj.h: add linebuf, linebufsize, io_getline
1153		removed io_read. Update MSVC comments.
1154		Use C99 designated initializers when detected available.
1155		Add comments for inet_parse
1156	include/lib.h: add names/comments for tty_mode, tty_read args
1157	include/units.h: add NUNITS, comments
1158	lib/io.c: moved NUNITS to units.h
1159		add, use ioo_getline; remove ioo_read
1160		io_close frees io_linebuf
1161		use SIGINT_EOF_CHECK define
1162		call ioo_read_raw directly for FL_BINARY read
1163		io_openi: issue warning if recl given outside binary mode
1164	lib/stdio_obj.c: remove stdio_read; add stdio_getline, stdio_read_setup
1165		remove direct read/write/lseek for FL_UNBUF
1166		use setvbuf _IONBF for FL_UNBUF
1167		replace pipeio_read NULL define w/ pipeio_getline
1168	lib/auxil/bufio_obj.c: replace bufio_read w/ bufio_getline
1169		remove abort from bufio_write; remove bufio_read_raw
1170	lib/auxil/memio_obj.c: memio_seek call SUPER.io_seek to invalidate buf
1171		if opened in FL_APPEND(!!), preset pos to len
1172	lib/bsd/ptyio_obj.c: replace ptyio_read w/ ptyio_getline
1173	lib/generic/popen.c: retuen FILE pointer!!!
1174	lib/vms/tty.c: add ttyio_obj comment
1175	snolib/http.sno: add HTTP.MODE argument to HTTP.OPEN
1176	test/longrec.ref: include full record!!!
1177	test/tests.in: obsolete breakline.sno, k.sno tests!!!
1178	(new) lib/auxil/getline.c: for them that don't
1179
11809/19/2020:
1181	config/djgpp/config.h: add sock_t
1182
11839/19/2020:
1184	Conditionally ansify for MSVC:
1185	lib/init.c: SIGFUNC_ARG[_DECL]
1186	lib/ordvst.c: ordvst_cmp
1187
11889/19/2020:
1189	include/io_obj.h: default io_off_t
1190	lib/io.c, lib/stdio_obj.c, lib/auxil/memio_obj.c: use io_off_t
1191	config/win32/config.h: define io_off_t
1192
11939/19/2020:
1194	lib/win32/mstime.c: fix(?) HIGHMS
1195	config/win32/config.h: clean up(?)
1196	lib/auxil/memio.h: use bufio
1197	config/win32/ntmsvc.mak: moved BITFIELDS_SAME_TYPE to win32/config.h
1198
11999/16/2020:
1200	configure: fix for ptyio_obj.c
1201	cleanup new file headers
1202
12039/16/2020:
1204	include/io_obj.h: make nomatch extern
1205	lib/io.c: declare nomatch
1206
12079/16/2020:
1208	lib/io_stdio.c: handle line breaking for full-record size lines
1209	new: test/k.{in,sno}
1210
12119/16/2020:
1212	Clean compilation under MINGW w/ WS2, WS1, or NOTA
1213	Conditionalize ptyio as well
1214	config/win32/config.h
1215	config/win32/{mingw,ntmsvc}.mak
1216	lib/io.c
1217	lib/init.c
1218	lib/stdio_obj.c
1219	lib/bsd/inet6.c
1220	lib/dummy/inet.c
1221	lib/snolib/delete.c
1222	lib/auxil/bindresvport.c
1223	lib/win32/{exists,inet,inetio_obj,ptyio_obj}.c
1224
12259/15/2020:
1226	renamed all/pty.c to all/ptyio_obj.c
1227	split win32/inetio_obj.c from win32/inet.c
1228	Begin WS2 conditionalization
1229
1230	include/inet.h: add close_socket, SETSOCKOPT_ARG_CAST
1231	config/win32/config.h: remove HAVE_WINSOCK_H
1232	config/win32/ntmsvc.mak: add WINSOCK conditionals
1233	lib/win32/ptyio_obj.c: dynamic lookup of C{reate,lose}PseudoConsole
1234	lib/endex.c: need inet.h for inet_cleanup
1235	lib/auxil/bindresvport.c: conditionalize for WS2
1236	lib/io.c: remove ISOPEN
1237	lib/bsd/inet6.c: start of WS2 support
1238
12399/14/2020:
1240	config/djgpp/Makefile: use gmake ifdef
1241	lib/win32/inet.c: refactoring, use inet.h
1242	config/win32/config.h: add sock_t, remove isnan
1243	include/lib.h: move {tc,ud}p_socket, flags to inet.h
1244	include/inet.h (new)
1245	include/vars.h: rename wsock_init to wsock_init_done
1246	lib/io.c: use inet.h, silence strncpy complaints w/ memcpy
1247	lib/stdio_obj.c: use inet.h
1248	lib/bsd/inet.c: use inet.h
1249	lib/bsd/inet6.c: use inet.h, sock_t, remove inet_close
1250	lib/dummy/inet.c: remove inet_close, use inet.h
1251
12529/14/2020:
1253	modules: add .cvsignore files
1254	doc: update .cvsignore
1255	test: add .cvsignore
1256
12579/14/2020:
1258	lib/auxil.c/bufio_obj.c: fully populate methods
1259		(io_write and io_read raw print message and abort)
1260		io_close frees buffer
1261		do eof tracking, add MINBUFLEN
1262	include/bufio_obj.h: add eof member
1263	include/io_obj.h: add io_name to io_ops, MAKE_OPS for error messages
1264	lib/win32/inet.c: remove eof (now handled in bufio) and many methods
1265		call bufio close
1266	lib/win32/pty.c: convert to bufio, add command, make command_line
1267		call bufio close
1268
12699/13/2020:
1270	Windows compilation fixes.  inetio seems to be working!
1271	Try updating djgpp/Makefile
1272
12739/13/2020:
1274	MSVC doesn't like io.h, rename to io_obj.h
1275
12769/13/2020:
1277	Another hack attack (or three):
1278	lib/init.c: Implement -U option, SNOBOL4UNBUFFERED
1279	doc/snobol4cmd.1.pea: Document -U SNOBOL4UNBUFFERED
1280	include/stdio_obj.h: stdio_wrap takes path
1281	lib/stdio_obj.c: honor unbuffer_all,
1282		have stdio_wrap take path
1283	lib/io.c: add inetio_open, pass path to stdio_wrap
1284	lib/bsd/pty.c: pass path to stdio_wrap
1285	include/lib.h: convert {tcp,udp}_open to _socket, remove inet_close
1286	lib/bsd/inet(6).c: convert {tcp,udp}_open to ..._socket
1287	lib/dummy/inet.c: convert {tcp,udp}_open to ..._socket
1288	lib/win32/inet.c: implement as inetio_open (io_obj provider)
1289	include/io.h: add inetio_open
1290	lib/auxil/memio_obj.c: cleanup header comments
1291
12929/13/2020:
1293	LOOOONG overdue OO refactoring of I/O
1294	  (lamented as badly needed & last attempted in 2002)
1295	Makefile2.m4: add FISATTY, STDIO_OBJ, fix PTY_C
1296	config/win32/config.h: fix isnan, fake ftello/fseeko, add ssize_t
1297	include/lib.h: fisatty no longer takes fname
1298	lib/io.c: reduced by 20% (chars) 18% (lines)
1299	lib/bsd/pty.c: convert from forkexecpty to io_obj
1300	lib/bsd/tty.c: removed fisatty
1301	lib/dummy/pty.c: convert from forkexecpty to io_obj
1302	lib/dummy/tty.c: remove fname arg from fisatty
1303	lib/msdos/tty.c: remove fname arg from fisatty
1304	lib/posix/tty.c: remove fisatty
1305	lib/vms/tty.c: remove fname arg from fisatty
1306	lib/win32/tty.c: remove fname arg from fisatty
1307	new:
1308	include/io.h: OO base class/API
1309	lib/stdio_obj.c include/stdio_obj.h: most I/O code here
1310	lib/auxil/bufio_obj.c include/bufio_obj.h: helper for reading lines
1311	lib/auxil/memio_obj.c: memory based I/O w/o fmemopen
1312	lib/generic/fisatty.c: generic code moved from lib/many/tty.c
1313	lib/win32/pty.c: compiles, not tested
1314
13159/11/2020:
1316	lib/io.c: expand mode storage, add comments
1317	lib/vms/osopen.c: fix /dev/null
1318
13198/20/2020:
1320	new: lib/{bsd,dummy}/pty.c
1321	include/lib.h: add forkexecpty, waitpty
1322	lib/io.c: use forkexecpty, waitpty
1323	config/win32/{mingw,ntmsvc}.mak
1324	configure: add PTY_C=lib/bsd/pty.c
1325	Makefile2.m4: add PTY_C=lib/dummy/pty.c
1326
13278/17/2020:
1328	man page fixes
1329	configure: move strftime test
1330	genc.sno: handle RCALL single return label with if
1331
13328/13/2020:
1333	sdb.sh: handle lack of /tmp (Android)
1334
13358/12/2020:
1336	lib/snolib/serv.c: try to quell gcc9 truncation complaint
1337
13388/11/2020:
1339	configure: check for strftime, set HAVE_STRFTIME
1340	lib/date.c: use HAVE_STRFTIME -- reduce gcc space complaints
1341	modules/time/time.c: use HAVE_STRFTIME
1342	lib/snolib/host.c: enlarge buffer to make gcc happy
1343
13448/11/2020:
1345	Cleanup for Android:
1346	timing: search PATH for getprop
1347	config/check: check for /tmp (Android)
1348	configure: check for closefrom
1349		try checking for libncursesw for readline
1350	include/lib.h: add closefrom, getdtablesize
1351	lib/bsd/closefrom.c: closefrom using getdtablesize
1352	lib/posix/getdtablesize.c: getdtablesize using sysconf
1353	lib/dummy/getdtablesize.c: dummy getdtablesize
1354	Makefile2.m4: add closefrom.o getdtablesize.o rules
1355
13568/10/2020:
1357	timing: add stuff for version, hw & clock on Android
1358
1359**************** release 2.1.6 (CVS tag REL_2_1_6)
1360
13618/9/2020:
1362	configure: update for version 2.1.6
1363
13648/8/2020:
1365	tests/{tests.in,setexit7.{sno,ref}}: add &FATALLIMIT test
1366
13678/8/2020:
1368	modules/ffi/funcs.sno: credit Fred Weigel in AUTHOR section
1369
13708/8/2020:
1371	v311.sil: [PLB128] add &FATALLIMIT
1372		enables trapping some otherwise fatal errors for sdb
1373	procs: new labels/functions for FATALLIMIT
1374	snolib/sdb.sno: use &FATALLIMIT to trap some fatal errors
1375	doc/snobol4error.1.pea: note trapable fatal errors!
1376	doc/snobol4ext.1.pea: remove "ERRTEXT can be traced"
1377	doc/snobol4key.1.pea: add &FATAL, &FATALLIMIT
1378	test/{a,diag1,diag2,dump}.ref: add &FATALLIMIT
1379	test/blocks/dump.ref: add &FATALLIMIT
1380
13817/28/2020:
1382	doc/sdb.1.pea:
1383		Add =break for bt/run
1384		Fix what description
1385		Add a bug (cannot trap fatal errors)
1386
13877/7/2020:
1388	pkg/win32/README.win32: add doc directory mention.
1389
13907/6/2020:
1391	INSTALL: update Windows info
1392
13937/4/2020:
1394	pkg/win32/README.win32: fix SNOLIB (was SNODIR)
1395	config/win32/ntmsvc.mak: runinstall
1396
13977/2/2020:
1398	doc/snobol4.1.pea: add ezio link
1399
1400**************** release 2.1.5 (CVS tag REL_2_1_5)
1401
14027/2/2020:
1403	configure: update for version 2.1.5
1404
14057/2/2020:
1406	More Win10 cleanup: make more batch scripts work!
1407	config/win32/
1408		modules.bat: clean up, add readline
1409		format.bat: clean up
1410		ntmsvc.mak: remove snobol4.exp snolib4.lib
1411	lib/win32/sys.c: cleanup, again
1412	pkg/win32/
1413		README.win32: s/zip/tar/
1414		sdb.bat: fix, support run command
1415		timing.bat: run in temp dir; fix/cleanup; add systeminfo
1416	snolib/setuputil.sno: add win.msc clean command
1417	parms.h: move config.h include
1418
1419**************** release 2.1.4 (CVS tag REL_2_1_4)
1420
14217/1/2020:
1422	configure: update for version 2.1.4
1423
14247/1/2020:
1425	Updates for build on Windows 10:
1426	new pkg/win32/maketar.bat: make tarball
1427	removed: pkg/win32/makezip.sh
1428	config/win32/config.h: ifndef isnan
1429	config/win32/format.bat: create snopea.1.html
1430	config/win32/mingw.mak: add all, cpuid.exe
1431	config/win32/modules.bat: explicit snobol4.exe
1432	config/win32/ntmsvc.mak: add clean, tar
1433	lib/win32/sys.c: version
1434	lib/win32/tty.c: needs malloc.h (now available) on 64 bits
1435	modules/random/Makefile: fix INC, dependencies
1436	modules/random/random.c: fix typedefs, make bsd_random uint32_t
1437	pkg/win32/install.bat: comment out load.doc, use "call"
1438	snolib/setuputil.sno: remove destdir for win.msc install
1439
14406/28/2020:
1441	CHANGES, README: tiny tweaks
1442	TODO.soon: add doc/html/man ideas for setuputils
1443
1444**************** release 2.1.3 (CVS tag REL_2_1_3)
1445
14466/25/2020:
1447	configure: update for version 2.1.3
1448
14496/23/2020:
1450	doc/snopea.7.pea: tweak L format example
1451
1452**************** release 2.1.2 (CVS tag REL_2_1_2)
1453
14546/21/2020:
1455	configure: update for version 2.1.2
1456
14576/21/2020:
1458	Makefile2.m4: quote tab for INSTALL_SYSTEM
1459		(seen on cygwin)
1460
14616/21/2020:
1462	Makefile2.m4: install snobol4ezio.3 man page
1463	doc/Makefile: note generated list in two places!
1464
14656/21/2020:
1466	configure: test for g++ for cygwin COM module
1467
1468**************** release 2.1.1 (CVS tag REL_2_1_1)
1469
14706/20/2020:
1471	doc/Makefile: remove $(TXT) from $(ALL)
1472		nroff and/or -ms not always available!
1473	configure: update for version 2.1.1
1474
1475**************** release 2.1 (CVS tag REL_2_1)
1476
14776/20/2020:
1478	README, CHANGES, configure: update for version 2.1
1479
14806/20/2020:
1481	modules/stat/funcs.sno: add ST_TYPE_STR
1482	TODO.soon: update
1483
14846/20/2020:
1485	snolib/ezio.sno: improve snopea embedded documentation
1486
14876/9/2020:
1488	doc/snobol4io.1.pea: document 'E' and 'X'
1489
14906/8/2020:
1491	include/macros.h: Use S4_EXTERN on _NORET
1492
14936/7/2020:
1494	Implement I/O 'X' (eXclusive) and 'E' (closE on ExEc)
1495		depends on stdio support (FreeBSD 10, glibc 2.7)
1496	lib/io.c, lib/bsd/inet[6].c, lib/win32/inet.c, include/lib.h
1497	README: John Willis
1498	Update TODO.soon
1499
15006/7/2020:
1501	1000th version of History file!!
1502	new snolib/ezio.sno: easy to use I/O functions
1503	Makefile: make snobol4ezio manual pages
1504	doc/snobol4io.1.pea: reference snobol4ezio(3) man page
1505
15062/18/2020:
1507	doc/snobol4func.1.pea: note STOPTR extension
1508	doc/snobol4pea.7.pea: tweaks; add perlpodspec link
1509
15102/17/2020:
1511	modules/stcl/stcl.c: improve documentation
1512
15132/13/2020:
1514	doc/snobol4func.1.pea: formatting fix
1515
15162/8/2020:
1517	doc/snobol4.1.pea doc/snobol4op.1.pea:
1518		add unary operator table to snobol4op(1)
1519	Makefile2.m4: always do doc directory make
1520
15212/7/2020:
1522	Makefile2.m4: use GENERATED_DOCS_DOCDIR3 for installs
1523	v311.sil, globals, test/labelcode.{sno,ref}, test/tests.in,
1524	    doc/snobol4func.1.pea: add LABELCODE function (ala SITBOL LABEL())
1525	modules/time/time.c: quash glibc 2.20+ warning
1526
15272/6/2020
1528	doc/snobol4func.1.pea: more history corrections
1529
15302/4/2020
1531	lib/snolib/host.h: add snopea doc for snobol4host(3)
1532	doc/snobol4func.1.pea: reference snobol4host(3)
1533	doc/Makefile: commands to create snobol4host.3[.html]
1534
153502/02/2020!!!
1536	snolib/sdb.sno: add .sdb_history file
1537		need to keep history over "run" commands if nothing else!
1538	doc/sdb.1.pea: document .sdb_history, /tmp files
1539
154002/01/2020
1541	configure: try /usr/lib/tclConfig.sh as default TCONF
1542
154301/25/2020
1544	doc/snobol4func.1.pea: note more extensions from SPITBOL 360
1545
154601/24/2020
1547	configure: fix for build with libreadline
1548	doc/snobol4func.1.pea: update HOST() output!
1549
155001/24/2020
1551	Add run command!
1552	snolib/sdb.sno: add run command!
1553	sdb.sh: support run command via temporary file!
1554	doc/sdb.1.pea: add run command, /tmp file bug
1555
155601/21/2020
1557	FreeBSD 12:
1558	configure: check for readline.h in /usr/include/edit
1559	modules/readline/setup.sno: use READLINE_INCLUDE
1560
156101/12/2020
1562	modules/sqlite3/sqlite3dbm.sno: more doc fixes
1563
156411/22/2019
1565	modules/sqlite3/sqlite3dbm.sno: fix documentation
1566
156710/13/2019
1568	doc/snobol4blocks.1.pea: fix text
1569
1570	configure: check for C99 <stdint.h>
1571	modules/random/random.c: use HAVE_STDINT_H
1572		to help compilation on Solaris 5.7!
1573		reported by John Willis
1574
15758/2/2019
1576	timing: add lscpu
1577
15786/15/2019:
1579	modules/ffi/ffi.c: switch from <inttypes.h> (SUSv2) to <stdint.h> (C99)
1580
15813/22/2019
1582	modules/dirs/dirs.c: fix SEEKDIR doc text
1583
15843/6/2019
1585	cpuid.c: decode cpuid model number
1586
15871/22/2018
1588	modules/stat/funcs.sno: fix ATIMENS paste-o
1589
15901/7/2018
1591	timing: fix emerge command (thanks to Mateusz Grotek)
1592
159312/30/2017
1594	doc/sdb.1.pea: document .sdbinit
1595
159612/23/2017
1597	snolib/sdb.sno: make "s" mean "step" again
1598		prevent "source" loops
1599
160012/22/2017
1601	snolib/sdb.sno: add save command (and function) from start of run
1602	doc/sdb.1.pea: document "save" and "source"
1603	doc/snobol4.1.pea: mention BLOCKS/SNOBOL4B up top
1604
160512/21/2017
1606	doc/sdb.1.pea: document that "list" takes LABEL_OR_STATEMENT_NUMBER
1607	snolib/sdb.sno: add source command (it nests!)
1608
160911/19/2017:
1610	snolib/sdb.sno: start of work for "run" command
1611		Read commands from .sdbinit file
1612		Modifications to watch/break @NUMBER
1613		Start of "run" command (output commands to restore breakpoints)
1614
16159/7/2017:
1616	snolib/sdb.sno: add missing comma to SDB.TRAP.VARS
1617	pkg/win32/timing.bat: changes from 11/14/2016
1618
161911/18/2016:
1620	modules/ffi/ffi.c: fix RTLD_NEXT paste-o
1621	configure: fix help output tabbing
1622
162310/22/2016:
1624	configure, modules/readline/readline.sno
1625		Supply dummy READLINE() for sdb
1626		reported by many(?)
1627
162810/13/2016:
1629	doc/snobol4blocks.1.pea
1630		new URL for asa2pdf
1631
16327/1/2016:
1633	timing: /sys/class/dmi/id/{sys_vendor,product_name}
1634
16352/26/2016:
1636	doc/snobol4func.1.pea: fix DATE(2) description
1637		reported by Laurence G. Battin
1638
16392/23/2016:
1640	modules/ffi/ffi.c: handle no RTLD_NEXT (Cygwin)
1641		reported by Laurence G. Battin
1642
164311/29/2015:
1644	modules/ffi/ffi.c: fix FFI_DLSYM
1645		Fix submitted by Fred Weigel in February!
1646	doc/snobol4cmd.1.pea: Add -B
1647	doc/snobol4io.1.pea: Document 'K'
1648
164911/8/2015:
1650	doc/snopea.7.pea: add perlpod link
1651
16528/18/2015:
1653	lib/win32/sys.c: add Win8.1, Win10
1654
16558/4/2015:
1656	include/lib.h: add inet routines
1657	lib/io.c: implement experimental 'K' (breaK) flag for Phillip Thomas
1658	lib/win32/inet.c: support breakline
1659	test/tests.in: add breakline.sno
1660	test/breakline.{sno,ref}: breakline tests
1661
16624/7/2015:
1663	lib/break.c: allow breakpoint table expansion for Fred Weigel
1664
16654/6/2015:
1666	modules/random/random.c: kill warning for gcc 4.8.2
1667	History: fix 2015 dates!
1668
16693/31/2015:
1670	lib/io.c: check for NULL fp in io_print_str
1671		(reported by Fred Weigel)
1672
16733/30/2015:
1674	snolib/sdb.sno: create, use SDB.VALUE for what, args
1675
16761/12/2015:
1677	DJGPP updates (from Burkhard Meissner)
1678	config/djgpp/Makefile: remove module files, add loadx.o
1679	config/djgpp/config.h: add defines
1680	lib/djgpp/osinit.c: DXE_EXPORT (__dpmi_int)
1681
16821/11/2015:
1683	Makefile2.m4: NDBM_C typo (thanks to Burkhard Meissner)
1684
16851/10/2015:
1686	doc/snobol4key.1.pea: note Traceable keywords.
1687
16881/8/2015:
1689	doc/snobol4key.1.pea: fix snobol4error refs
1690	modules/readline/readline.c: add comma in SEE ALSO
1691
16921/6/2015:
1693	INSTALL: mention development packages
1694	configure: warn when falling back to sdbm
1695		fix "Using"
1696		check for sqlite3 amalgamation sources in modules/sqlite3
1697
16981/5/2015:
1699	configure: AIX flags & comments, add SNOLIB_LOCAL
1700	Makefile2.m4: use SNOLIB_LOCAL
1701	snolib/sdb.sno: FREEZE SDB.SCALAR
1702
17031/4/2015:
1704	snolib/sdb.sno: add SDB.SCALAR:
1705		table of datatypes safe to display
1706	lib/io.c: io_ecomp() -- check for NULL pointer
1707	test/{ndbm,random,sleep,time}.sno: use ../modules/... for includes
1708	configure: update to 2.0+
1709		add missing quote
1710	doc/snobol4cmd.1.pea: update -I description
1711	modules/random/random.c, lib/io.c: try fixing icc warning
1712	configure: removed some ancient stuff, add icc support
1713	lib/snolib/host.[ch]: add HOST_CC_IS
1714	config/win32/config.h: add HOST_CC_IS
1715	Solaris fixes, thanks to Mark R Riordan:
1716	include/lib.h: add loadable_function_t for os_load() (SunCC warning)
1717	lib/{unix98,win32}/load.c: use loadable_function_t *
1718	test/run.sh: avoid ksh-ism (export VAR=var)
1719	Makefile: pass make spotless down to doc/Makefile
1720	doc/Makefile: add make spotless (remove porting.txt)
1721
17221/3/2015:
1723	lib/init.c: always add ".", before processing options
1724	doc/snobol4.1.pea: update search path description
1725	modules/stcl/stcl.c: remove debug printf
1726
17271/2/2015:
1728	v311.sil: another PCOMP!
1729	doc/snobol4io.1.pea: ``terminal''
1730	test/base.{sno,ref} (new): test basename.sno
1731	test/tests.in: add base.sno
1732	Makefile2.m4: add snobol4op to GENERATED_DOCS_DOCDIR1
1733	doc/snobol4func.1.pea: fix typo
1734
1735**************** release 2.0 (CVS tag REL_2_0)
1736
17371/1/2015:
1738	configure: set SO_LD for Solaris/cc; quit if SO_LD not set
1739		fix SNOLIB= value
1740		override SNOLIB in RUNSETUP (problem seen by Phillip Thomas)
1741		update version to 2.0
1742	snolib/basename.sno: revised (idea thanks to Phillip Thomas)
1743	lib/init.c: move "." first in search path
1744	snolib/snopea.sno: output <p> before <ul>; htext;
1745		output endlist in 'para'
1746	doc/snobol4.1.pea: fix search list order,
1747		made "DIRECTORY SEARCH LIST" a section
1748		add more spacing in characters table
1749	snolib/setuputil.sno: use basename.sno
1750		fix windoze setuputil path
1751	README, COPYRIGHT, snolib/sdb.sno: update Copyright date
1752
175312/31/2014:
1754	README: update
1755	INSTALL: ran ispell
1756	configure: append -VERSION to DOC_DIR
1757	doc/snobol4blocks.1.pea: fix, add link
1758	lib/init.c: fix missing newline (thanks to Phillip Thomas)
1759
176012/30/2014:
1761	doc/snobol4.1.pea: add snobol4{readline,sqlite3dbm}(3) refs
1762	doc/snobol4func.1.pea: fontify!
1763	snolib/snopea.sno,doc/snopea.7.pea: add L<>
1764	doc/snobol4[blocks].1.pea: use L<>
1765	Makefile2.m4: remove modules/setuputil.sno
1766		(spotted by Jonathan Kaye, Harald Arnesen)
1767
1768*** 2.0-rc3 (tag REL_2_0_RC3)
1769
177012/30/2014:
1771	genc.sno: add INCDEC to generate ++/--
1772	doc/snobol4func.1.pea: fill in remaining empty spots.
1773	README, CHANGES: update
1774	configure: update to 2.0-rc3
1775
177612/29/2014:
1777	README: update
1778	configure: fix bindresvport_sa detection on OpenBSD 5.6
1779	timing: grep for VBOX, bios0: in dmesg.boot
1780	doc/load.txt: add lret_t
1781	v311.sil: [PLB125] two more PCOMPs
1782		died when dynamic region straddled 2G line on OpenBSD!!
1783	modules/sqlite3/sqlite3dbm.sno: fix docs
1784	doc/{sdb,snobol4{blocks,cmd,ctrl,func}}.1.pea: ran ispell
1785
178612/28/2014:
1787	configure: check for TCL_VERSION
1788		remove test for HAVE_FSTAT
1789	INSTALL, CHANGES: update
1790	doc/snobol4op.1.pea (new)
1791	doc/snobol4blocks.1.pea: update
1792	doc/snobol4.1.pea: update for snobol4op(1)
1793	doc/Makefile: add snobol4op
1794	snolib/setuputil.sno: update support comment
1795	snolib/snopea.sno: force paragraph before table
1796	doc/snobol4io.1.pea: fix table, ran ispell
1797
179812/27/2014:
1799	snolib/setuputil.sno: win: install one file at a time, html files
1800	config/win32/modules.bat: add random, add -v
1801	config/win32/ntmsvc.mak: add docs, move -DBITFIELDS... back
1802	config/win32/format.bat: format .pea files
1803	config/win32/config.h: BITFIELDS_SAME_TYPE moved back to makefile
1804	pkg/win32/install.bat: install modules last, check if dirs exist
1805		install snopea.in as lib\snopeacmd.sno
1806		install snopea.bat
1807	pkg/win32/timing.bat: add -x
1808	pkg/win32/snopea.bat (new)
1809	lib/init.c: add -x to usage
1810
181112/26/2014:
1812	modules/ffi/ffi.c: add =ecode
1813	doc/snobol4.1.pea: fix snobol4stcl
1814
181512/25/2014:
1816	config/win32/mingw.mak: clean out old stuff, conditionalize sqlite
1817	config/win32/ntmsvc.mak: clean out more old stuff
1818	config/win32/borland.mak: clean out more old stuff
1819	config/win32/config.h: define HOST_SHARED_OBJ_SUBDIR
1820	pkg/win32/install.bat: fix
1821	modules/setuputil.sno: fix for windows install
1822	make.bat: pass %1
1823	Makefile2.m4,configure,doc/Makefile: moved setuputil.sno to snolib
1824	snolib/setuputil.sno: change path tests
1825
182612/24/2014:
1827	README, INSTALL: update
1828	config/win32/{mingw.mak,config.h}: add -shared-libgcc
1829	config/win32/ntmsvc.mak: if EXISTS
1830	config/modules.bat: add sqlite3 (test for sqlite3.c)
1831	modules/com/com.cpp: fix handle handling
1832	snolib/snopea.sno: don't need repl.sno
1833	modules/{dirs/dirs.c,fork/fork.c,ndbm/ndbm.c,readline/readline.c,
1834		sqlite3/sqlite3mod.c,stcl/stcl.c}: lret_t
1835
1836**** NOTE!! changed handle.h API/ABI!!!
1837
183812/23/2014:
1839	lib/init.c: create, use, export snolib_vers
1840	lib/snolib/host.[ch]: HOST_SNOLIB_VERS
1841	modules/setuputil.sno: use HOST_SNOLIB_VERS
1842		process -d and -v
1843	pkg/win32/install.bat: put snobol4.lib in %SNOVER%
1844	config/win32/{mingw,ntmsvc}.mak: kill cygwin config.{h,sno}
1845	configure: output INSTALL_SYSDEP on cygwin to install libsnobol4.a
1846	Makefile2.m4: use INSTALL_SYSDEP
1847	include/handle.h: make snohandle_t a descr
1848		add LA_HANDLE/RETHANDLE
1849		new_handle() takes table name
1850		fix handle lookup on 32 bit system
1851	lib/snolib/handle.c: return handles as EXTERN types
1852		new_handle() takes table name
1853	module/{dir/dirs.c,ffi/ffi.c,ndbm/ndm.c,sqlite3/sqlite3mod.c,
1854		stcl/stcl.c}: use LA_HANDLE/RETHANDLE
1855			pass table name to new_handle()
1856	module/ffi/funcs.sno: use unique to generate vars to hold handles
1857	lib/io.o: try fixing iNTEL C warnings (reported by Clem Cole)
1858	lib/auxil/bindresvport.c: musl libc broken (reported by Harald Arnesen)
1859
186012/22/2014:
1861	modules/setuputil.sno: wrap copy dest in quotes
1862	pkg/win32/install.bat: cleanup, set SNOLIB
1863	modules/stcl/stcl.c: one more try to get rid of warning!
1864
186512/21/2014:
1866	configure, Makefile2.m4: s/SNOLIB_VER/SNOLIB/
1867	snolib/snopea.sno: tweak headers, links for snopea
1868	doc/snobol4.1.pea: ref snopea(1) & snopea(7)
1869	doc/snobol4func.1.pea: add entries for some standard functions!
1870		clean up (most) question marks about extensions
1871	modules/logic/funcs.sno: add missing =ecode
1872	doc/snobol4ctrl.1.pea: tweaks
1873	modules/dirs/dirs.c: use =item
1874	modules/logic/readline.c: add missing =ecode
1875	modules/setuputil.sno: honor DESTDIR
1876		implement install for win.msc
1877	Makefile: cleanup *_modules, add printenv
1878	Makefile2.m4: add printenv
1879	pkg/win32/install.bat: use copy /y & modules.bat install
1880	config/win32/modules.bat: take command argument
1881	snolib/{logic,ndbm,random,readline,stcl,time}.sno: removed
1882
188312/20/2014:
1884	snolib/snopea.sno: output .IP for empty =item
1885		use HOST_VERSION_DATE
1886	doc/snobol4io.1.pea: cleanup
1887	modules/setuputil.sno: update BUGS
1888	lib/snolib/host.[ch]: add HOST_VERSION_DATE
1889
1890*** 2.0-rc2 (tag REL_2_0_RC2)
1891
189212/20/2014:
1893	doc/snobol4key.1.pea: made it real.
1894	doc/snobol4ctrl.1.pea: made it real.
1895	doc/snobol4ext.1.pea: moved stuff to other pages.
1896	doc/snobol4error.1.pea: ref snobol4cmd(1), remove =break
1897	doc/snobol4func.1.pea: add first entries!
1898	doc/snobol4.1.pea: remove =break, moved stuff into snobol4io(1)
1899	modules/sprintf/sprintf.c: fix man page title line
1900	doc/snobol4io.1.pea: cleaned up.
1901	snolib/snopea.sno: force paragraph before =item
1902	configure: update version to 2.0-rc2
1903
190412/19/2014:
1905	modules/sqlite3/setup.sno: detect amalgamation sources
1906	modules/sqlite3/sqlite3mod.c (renamed)
1907	modules/setuputil.sno: add mingw, remove nologo
1908	config/win32/modules.bat: use %TOP%
1909	config/win32/config.h: cleanup
1910	config/win32/ntmsvc.mak: cleanup, removed module files
1911	config/win32/mingw.mak: removed PML files, make modules
1912	config/win32/snobol4.vcxproj: removed module files
1913	modules/stat/funcs.sno: fix comment/docs.
1914	pkg/win32/install.bat: update
1915	doc/snobol4.1.pea: snobol4func(1) ref
1916
191712/18/2014:
1918	config/win32/{config.h,ntmsvc.mak}:
1919		disable PML_{TIME,RANDOM,COM,NDBM}
1920		remove logic.obj, sleep.obj
1921		define HAVE_SDBM_H
1922	modules/stat/stat.c: ifdef st_atimensec
1923	config/win32/config.sno: fix sleep path, add sdbm files
1924	modules/setuputil.sno: /LIBPATH
1925	include/load.h: define lret_t (required in windows DLLs)
1926	modules/*/*.c: use lret_t
1927	Makefile2.m4: remove obsolete option for com.cpp
1928	configure: ditch HAVE_FILE_NSEC, tweak cygwin LDFLAGS
1929		output to config.sno for COM module
1930	modules/dirs/win32/dirent.[ch]: utilities for win32
1931	modules/com/com.cpp (moved from snolib/win32): add COM_DL
1932	modules/com/setup.sno (new)
1933	config/win32/config.sno: set DIRS_{INCLUDE,FILES}
1934	modules/dirs/setup.sno: use DIRS_{INCLUDE,FILES}
1935	config/win32/modules.bat (new)
1936
193712/17/2014:
1938	README, INSTALL: update for 2.0
1939
194012/16/2014:
1941	man page tweaks
1942	configure, Makefile2.m4: install HTML in $PREFIX/share/doc/snobol4
1943
194412/15/2014:
1945	modules/stcl/stcl.c: clean up warning (reported by Clem Cole)
1946	lib/snolib/{atan,exp,tan}.c: propogate REAL_ISFINITE (Clem again)
1947
1948*** 2.0-rc1 (tag REL_2_0_RC1)
1949
195012/14/2014:
1951	CHANGES: Updated
1952	configure: update version to 2.0-rc1
1953
195412/13/14!
1955	include/lib.h, lib/{init.c,io.c,snolib/host.[ch]}:
1956		HOST_SNO{LIB_{BASE,LOCAL,V{LIB,LOCAL}},PATH_DIR}
1957	configure: define SHARED_OBJ_SUBDIR
1958	lib/snolib/host.[ch]: HOST_SHARED_OBJ_SUBDIR
1959	modules/setuputil.sno: use HOST_{SHARED_OBJ_SUBDIR,LIB_V{LIB,LOCAL}}
1960	snolib/repl.sno: replace pattern w/ EVAL(expr)
1961	snolib/snopea.sno: crock to detect man pages, and turn into links!
1962		add =link and =anchor
1963	doc/snobol4.1.pea: use =link & =anchor
1964
196512/12/2014:
1966	configure: fix config.sno MAN3DIR
1967	Makefile: add M2TARGETS, timing.out, build_all
1968	Makefile2.m4: remove obsolete man files, add build_all
1969		revert to always timing on "make"
1970	test/bench.sno: tweak ending conditions
1971
197212/11/2014:
1973	doc/snobol4blocks.1.pea: fonts, cleanup
1974	snolib/snopea.sno: fix html \'
1975	modules/setuputil.sno: clean -- remove extras man pages
1976		install .sno & man files (extras too!)
1977	modules/*/Makefile: ../../snobol4, remove -b
1978	modules/sqlite3/sqlite3dbm.sno: rename SQL3DBM_ERRMSG, flush CLEARERR
1979	configure: output MAN3DIR in config.sno
1980	Makefile2.m4: use setup.sno install
1981		create local/shared
1982	Changed "dynload" to "shared"
1983
198412/10/2014:
1985	lib/init.c: usage: fix -b, add -N/-I
1986	doc/snobol4cmd.1.pea: add -N
1987	Makefile2.m4: install snobol4cmd.1
1988	snolib/sdb.sno: fix "info"; allow "ignore bkpt"
1989		use built-in INTEGER()
1990	doc/sdb.1.pea: document "ignore" change
1991	doc/snobol4{ctrl,func,key}.1.pea reference snobol4ext(1)
1992
199312/9/2014:
1994	Makefile2.m4: add snobol4{func,blocks,key,ctrl}
1995	doc/Makefile: add snobol4{func,blocks,key,ctrl}
1996	doc/snobol4func.1.pea (new): list of functions
1997	doc/snobol4blocks.1.pea (new): blocks extension
1998	doc/snobol4key.1.pea (new): list of keywords
1999	doc/snobol4ctrl.1.pea (new): list of keywords
2000	doc/snolib.3 (removed)
2001	doc/snolib.3.pea (new)
2002
200312/8/2014:
2004	doc/snobol4.1.pea: fixes
2005	Makefile: add rule for "with"; remove callgraph from DISP
2006	modules/ndbm/ndbm.c: tweak documentation
2007
200812/7/2014:
2009	snolib/snopea.sno: add missing escapes to html charpats
2010	doc/sdb.1.pea: clean up
2011	doc/snopea.7.pea: clean up
2012	doc/snobol4.1.pea split out snobol4cmd
2013	doc/snobol4cmd.1.pea split out of snobol4.1.pea
2014
201512/6/2014:
2016	snolib/snopea.sno: add =nitem, =table/=row/=etable
2017		put CSNOBOL4(B) version in headers
2018		output <body> & </body>
2019	doc/snopea.pea: document =nitem, =table/=row/=etable
2020	snopea.in: infer output format from output filename
2021	renamed doc/*.pea to doc/*.sect.pea *.sect.html
2022	doc/Makefile: explicit rules
2023	new: doc/snobol4.1.pea doc/snobol4ext.1.pea doc/snobol4io.1.pea
2024	removed old doc/snobol4.1
2025	moved lib/snolib/readline.c to modules/readline/
2026	configure: make readline a module
2027	modules/readline/setup.sno (new)
2028	modules/readline/readline.c: add pea docs
2029	removed old doc/snobol4readline.3
2030	doc/Makefile: removed snobol4readline
2031	Makefile2.m4: adjust READLINE_C, remove an --format option
2032
203312/5/2014:
2034	Makefile: add callgraph to GENERATED
2035	doc/Makefile: use explicit rules
2036		GENERATED files depend on ../snobol4
2037	doc/snobol4.1: move error codes to snobol4error(1)
2038	doc/snobol4error.pea (new): from snobol4.1
2039	Makefile2.m4: install config.sno
2040	modules/sqlite3/{sqlite3.c,funcs.sno}: add pea docs
2041	v311.sil: Fix compilation withut BLOCKS:
2042		commented out unused R_R_N
2043		(nested .IFs don't work)
2044	snolib/snopea.sno: fix HTML =item formatting
2045	doc/man2pea.sno: char mapping; handle .br, .IP
2046
204712/4/2014:
2048	Makefile: {clean,build}_modules shorthands
2049	Makefile2.m4: add rule for snopea.7, move GENERATED_DOCS up
2050		add sdb.1 to GENERATED_DOCS
2051		add $(SNOPEA) shorthand
2052		sed BINDIR/VERS into snopea.in
2053	configure: output, use $(RUNSETUP) shorthand
2054	doc/Makefile: flush test, output snopea.7 as snopea-format.{html,ps,pdf}
2055		Add SNOPEA=, use -N
2056		make snopea-format.7 a symlink
2057		add txt, html to ALL
2058	modules/setuputil.sno: fix extras handling, check for =pea lines
2059	snolib/snopea.sno: cleanup html charpat, complain on open errors
2060		add subsect, new special chars
2061	doc/snopea.pea: add subsect, special characters
2062	doc/sdb.pea: snopea version of sdb man page
2063	doc/sdb.1 (deleted)
2064	doc/man2pea.sno: handle SS, TP
2065	snopea.in (was snopea)
2066
206712/3/2014:
2068	Makefile: clean up more generated doc files
2069	snopea, doc/snopea.pea, modules/LOTS: don't bold parens in man page refs
2070	snolib/snopea.sno, doc/snopea.pea: add =break
2071	modules/ndbm/ndbm.c: add pea docs
2072	modules/random/random.c: add pea docs
2073	modules/stcl/stcl.c: add pea docs
2074	modules/time/funcs.sno: add pea docs
2075	doc/snobol4{dbm,random,tcl,time}.3: deleted
2076	doc/Makefile: remove snobol4{dbm,random,tcl,time}
2077	Makefile2.m4: fix modules/snobol4setup.3.html
2078		remove snobol4{dbm,random,tcl,time}.3
2079		install snopea script
2080		install snopea.7 page
2081	configure: output MAN7DIR
2082
208312/2/2014:
2084	Makefile: config.m4 config.h config.sno version.h version: configure
2085	COPYRIGHT, README, snolib/sdb.sno: update copyright date, use utf
2086
208712/1/2014:
2088	snolib/snopea.sno: cleanup & add oline "command"
2089	doc/snobol4tcl.3: fix typo
2090	doc/man2pea.sno: comment
2091
209211/30/2014:
2093	doc/snobol4dbm.3: mention snobol4sqlite3dbm(3)
2094	doc/snobol4tcl.3: reference wish(1) man page
2095	doc/man2pea.sno: a start
2096	moved (copied & removed) files to modules/
2097		snolib/{fork,logic,ndbm,random,sprintf,stcl,time}.c
2098		sdbm directory
2099
210011/29/2014:
2101	modules/setuputil.sno: process 'extras' w/ snopea
2102	modules/sqlite3/sqlite3dbm.sno: add snopea docs
2103	modules/sqlite3/setup.sno: add extras = sqlite3dbm.sno
2104
210511/27/2014:
2106	config/win32/config.sno (new)
2107	config/win32/{config.h,ntmsvc.mak}: tweakage for MSC
2108	modules/stat/stat.c: tweak for MSC
2109	configure: add HAVE_FILE_NSEC
2110
211111/26/2014:
2112	modules/sqlite3/{sqlite3dbm,testdbm}.sno: DBM interface, test
2113	modules/sqlite3/sqlite3.c: ifdef DEBUG
2114
211511/25/2014:
2116	many: replace =pod with =pea
2117	modules/logic/funcs.sno: add documentation
2118	Makefile2.m4: generated docs
2119
212011/23/2014:
2121	snopea, modules/dirs/dirs.c, modules/ffi/ffi.c, modules/stat/funcs.sno:
2122		use \- in man page header
2123
212411/21/2014:
2125	snolib/snopea.sno: disable hyphenation after .SH
2126
212711/20/2014:
2128	snolib/snopea.sno: implement character mappings
2129	doc/snopea.7: tweak
2130	snopea: use HOST_xxx constants
2131
213211/19/2014:
2133	doc/snobol4.1: document -b change, -x option
2134	doc/snobol4dbm.3: fix spelling
2135	doc/snopea.pea (new): snopea(7) man page
2136	doc/Makefile: add stuff for snopea(7)
2137
213811/18/2014:
2139	snopea: flush single letter opts, some renaming
2140	modules/setuputil.sno: make html man pages
2141	snolib/snopea.sno: </h1>
2142	configure: output MODULES_HTML MODULES_MAN
2143	Makefile2.m4: use MODULES_MAN
2144
214511/17/2014:
2146	snopea: add argument processing
2147	snolib/snopea.sno: add lsep for <dd>, fix html fonts
2148
214911/15/2014:
2150	lib/init.c: add -x to force banner
2151	timing: use -x
2152	lib/snolib/{fork,sprintf}.c: head1 -> head
2153	LOTS: replace =head1 w/ =sect
2154	snolib/snopea.sno: first cut at HTML output
2155
215611/13/2014:
2157	Makefile2.m4: install depends on modules/snobol4setup.3
2158		add rule for modules/snobol4setup.3
2159		install modules/snobol4setup.3
2160		install modules/*/*.3
2161
216211/12/2014:
2163	lib/init.c: no banner if source file on command line
2164		-b always cancels banner
2165	snopea: remove -b
2166
216711/11/2014:
2168	modules/ffi/{ffi.c,funcs.sno}: tweak doc
2169	snopea (new): program to run snopea
2170
217111/10/2014:
2172	snolib/snopea.sno: made into an include file
2173	modules/setuputil.sno: call snopea() if pod seen
2174	configure: use SNOPATH, add ../../snolib to setup.sno
2175	modules/ffi/ffi.c: more POD
2176	doc/Makefile: force old-style bolding (no escapes)
2177		turned off ps, pdf, html
2178
217911/9/2014:
2180	lib/snolib/{fork,sprintf}.c: add POD doc
2181
218211/8/2014:
2183	modules/setuputil.sno: add POD doc
2184	modules/dirs/dirs.c: fix documentation
2185	snolib/snopea.sno: use basename, add =bull, =code, =ecode
2186	snolib/basename.sno (new)
2187
218811/7/2014:
2189	snolib/snopea.sno (new): tiny "POD" formatter
2190	modules/setuputil.sno: add pre.sno, pass POD documentation
2191		first cut at msc commands
2192	modules/ffi/{ffi.c,funcs.sno}: add documentation
2193	modules/stat/funcs.sno: add documentation
2194	modules/stat/stat.c: add block device
2195	modules/dirs/dirs.c: add POD docs
2196	config/win32/config.h: more tweaking for mingw
2197	lib/win32/tty.c: include malloc.h under mingw
2198
219911/2/2014:
2200	modules/ffi/{ffi.c,funcs.sno,test.sno,test2.sno}: PREP takes one arg
2201		fix ffi.c for Linux
2202	modules/setuputil.sno: fix config.h check
2203	configure: fix cygwin --out-implib
2204
220511/1/2014:
2206	configure: tweak messages, add SO_XXX for Cygwin
2207	config/win32/config.h: fix CC collision
2208	config/win32/mingw.mak: define CC on command line
2209	modules/ffi/{ffi.c,setup.sno,test.sno,test2.sno}: FFI interface!!
2210	configure: detect ffi, try making libsnobol4export.a on cygwin
2211	config/win32/mingw.mak: try making libsnobol4export.a
2212
221310/22/2014:
2214	modules/sqlite3/sqlite3.c: fix typo, floating point tweaks
2215
221610/21/2014:
2217	main.c: display MODIFIED_BANNER if defined
2218
221910/20/2014:
2220	Makefile2.m4: snolib cleanup
2221	lib/snolib/fork.c: WAITPID cleanup
2222	lib/snolib/readline.c: add free()
2223
222410/19/2014:
2225	configure: add fork module
2226		auto-detect Tcl on MacOS
2227	lib/snolib/fork.c: add WAITPID()
2228	modules/fork/setup.sno: new
2229
223010/18/2014:
2231	Makefile2.m4: removed time.o sleep.o logic.o random.o sprintf.o
2232		from snolib.a
2233	configure: ADD_OBJS([logic.o random.o time.o sleep.o]) if --force-pml
2234		add sprintf module
2235	config/win32/config.h: first cut at MSC, Borland flags
2236	modules/sprintf/setup.sno: new
2237
223810/16/2014:
2239	modules/setuputil.sno: auto-detect distribution builds
2240	configure: flush dbuild
2241	test/run.sh: show search path
2242	lib/snolib/{delete,exit,getenv,host,ndbm,
2243		readline,rename,sprintf,stcl}.c: use mgetstring, free
2244
224510/16/2014:
2246	configure: check for timegm; fix missing "c"; add SETUP_SYS
2247	lib/snolib/time.c: add TIMEGM()
2248	lib/snolib/host.[ch]: add HOST_SETUP_SYS
2249	config/win32/config.h: alias for timegm, add HAVE_TIMEGM
2250		add SETUP_SYS, SO_LD, DL_LD
2251	modules/setuputil.sno: use HOST_OBJ_EXT, HOST_SETUP_SYS
2252
225310/14/2014:
2254	lib/snolib/ndbm.c: fix day one error in LOAD() comment
2255		(now being used to generate ndbm.sno)!!
2256		Misbehavior spotted by Rafal Sulejman
2257
225810/13/2014:
2259	Makefile: cleanup for modules directories
2260		add "with" as configure output
2261		remove configure dependancy
2262			(runs constantly when newer than with)
2263	Makefile2.m4: explictly pass -N to test/run.sh
2264	test/run.sh: remove -N (explicitly passed by Makefile2)
2265	v311.sil,procs: remove unused blocks code/functions
2266	bsdtsort.c: quiet clang 3.3 warnings
2267	configure: fix ndbm loadable w/ sdbm
2268	sdbm.c: save errno for dbm_error
2269
227010/12/2014:
2271	Makefile2.m4: install MODULES_{INCLUDE,LOADABLE}
2272
227310/11/2014:
2274	modules: dirs logic ndbm random sqlite3 stat stcl time
2275	(only a year after code was written!)
2276	too many changes to mention.
2277	-N option
2278	-INCLUDE no longer implicitly searches local dir (must be in path)
2279	Tested on FreeBSD 10.0, Ubuntu 12.04.05, MacOS 10.7.5
2280
228110/8/2014:
2282	Makefile2.m4: install handle.h
2283	configure: use -rdynamic on ELF systems; add -fPIC to SO_LDFLAGS
2284
22853/17/2014:
2286	configure: check for lstat(), define HAVE_LSTAT
2287
22882/22/2014:
2289	configure: check for isfinite(); define HAVE_ISFINITE
2290	include/macros.h: check HAVE_ISFINITE
2291		"finite" gives warning on MacOS 10.9
2292		(reported by Clem Cole)
2293
22941/18/2014:
2295	v311.sil: [PLB124] fix "FUNCTION" TRACE()
2296		(problem reported by Dani Richard)
2297	test/tests.in: add trfunc.sno
2298	test/trfunc.{sno,ref}: new: tests for TRACE
2299
23001/1/2014:
2301	configure: quiet warnings for "alignof"
2302
230312/24/2013:
2304	Makefile2.m4: install str.h
2305	configure: add OBJECT_EXT
2306	config/{win32,vms,djgpp}/config.h: add OBJECT_EXT
2307	lib/snolib/host.[ch]: add OBJECT_EXT, HOST_OBJ_EXT
2308	lib/snolib/{logic,random,time}.c: add LOAD() comments
2309
231012/22/2013:
2311	configure: switch to --without-blocks
2312
231311/9/2013:
2314	snolib/wrapper.sno: add INT32, INT64
2315	configure: use -fPIC
2316
231711/4/2013:
2318	pml.h: BREAKPOINT() was under ifdef PML_RANDOM
2319
232011/3/2013:
2321	Makefile2.m4: add INSTALL_BIN_FLAGS
2322	configure: use "check" for bindresvport[_sa]()
2323		clear INSTALL_BIN_FLAGS on MacOS
2324		add '-undefined dynamic_lookup' on MacOS
2325	lib/win32/com.cpp: fix a paste-o
2326
232710/28/2013:
2328	configure: fix manpath default display
2329
233010/27/2013:
2331	v311.sil: [PLB123] Add &COMPNO (ala SITBOL/SNOBOL4B)
2332	snolib/sdb.sno: use &COMPNO
2333	lib/io.c: flush unused variable
2334
233510/26/2013:
2336	v311.sil: [PLB122] Fix paste-o for single letter 'R' trace
2337
233810/22/2013:
2339	Merge from BR_1_5_PLUS_BLOCKS (see below)
2340
2341=== merged from BR_1_5_PLUS_BLOCKS
2342
234310/17/2013:
2344	v311.sil: [PLB121] Clean up PRINT/EJECT carriage control
2345		Implement ASCII Carriage Control if CC(unit) < 0
2346	lib/io.c: Implement ASCII Carriage Control if CC(unit) < 0
2347		add findfile() function; do multiple writes in fastpr
2348	{acm44[01],mts1{44,6[46]},reg,tree[12]}.ref: update
2349
235010/15/2013:
2351	v311.sil: [PLB119] fix BCHAR() -- was writing into const string
2352		  clean up warning FORMATs, report file & line
2353		  [PLB120] change DI_8 to DI_DSC for 64-bit systems!
2354	test/blocks/bc.{sno,ref}: test BCHAR
2355	test/blocks.in: add blocks/bc.sno
2356
235710/13/2013:
2358	test/blocks.in: tweak dump test
2359	test/blocks/dump.ref: update
2360	lib/io.c: supply missing argument to io_print_str()!
2361
236210/12/2013:
2363	test/blocks.in: blocks/mts16[246].sno
2364	blocks/mts16[246].{sno,ref}
2365	lib/str.c: remove divide from movblk2
2366
236710/11/2013:
2368	Working better!
2369	v311.sil: [PLB118] replace MOVBLK with MOVBLK2 in BLAND
2370	genc.sno: add MOVBLK2
2371	include/macros.h: add MOVBLK2
2372	include/lib.h: add movblk2
2373	lib/str.c: add movblk2
2374	test/blocks.in: blocks/{box,acm443a,mts145,tree1,tree2}
2375	test/test.in.sh: (new) take BASE from environment
2376	test/blocks/{box,mts14[35],tree[12]}.ref (new)
2377	test/blocks/{mts145,tree}.sno (new)
2378
237910/11/2013:
2380	On branch BR_1_5_PLUS_BLOCKS
2381	SNOBOL4B (SNOBOL4 with BLOCKS) thanks to Mike Alexander <mta@umich.edu>
2382	new: procs.blocks
2383	genc.sno: Make macros used by BLOCKS macros into functions.
2384		Add --with NAME flag, process .IF[E] NAME / .FI
2385		Add notes about clearing F&V from reading PDP-10 macros
2386		Read procs.blocks if --with BLOCKS selected
2387		BLOCKS macros: CYC IF{DEF,FIT,MERGE,PHY,REP,ST,CONT}
2388			MAX, MERGSP, NN, RELS, SWAP, TRL, FASTPR
2389	Makefile: add "with"
2390	bsdtsort.c: make hash unsigned, do rotate
2391	configure: add --with-blocks, write "with" file (if changed)
2392	gendata.sno: Add --with flag, process .IF NAME / .FI
2393		Process data defns before end of code (for BLOCKS)
2394	gensyn.sno: Add --with flag, process .IF NAME / .FI
2395	globals: add BLOCKS related globals
2396	main.c: change name to CSNOBOL4B under ifdef BLOCKS
2397	syntax.tbl: add blocks binary operator tables: BBIOPTB and BSBIPTB
2398	v311.sil: [BLOCKS] add BLOCKS code
2399		  [PLB117] add -[NO]BLOCKS to dis/enable blocks operators
2400	lib.h: add io_fastpr(), mergsp()
2401	macros.h: renamed INSERT macro to X_INSERT; add FASTPR, MERGSP macros
2402	lib/init.c: add -B option to toggle blocks
2403	lib/io.c: io_printf(): add %A %L %V
2404	test/blocks.in: list of blocks tests
2405	test/test.{dump,err,genc,opt,reg,trace}.sh: handle test with dir name
2406	test/blocks/ (new)
2407	test/blocks/{ab,acm4{39,40,41,42,43,43a,43b},
2408			block{0,0n,1,1b,1b},
2409			box,dump,image,reg,tree
2410			mts14{2,3,4}.{sno,ref}
2411
2412==== end merge from BR_1_5_PLUS_BLOCKS
2413
241410/15/2013:
2415	configure: check double alignment; disable bitfields if strict
2416		(would pad descriptor to 16 bytes).
2417
241810/11/2013:
2419	tag TAG_1_5_PLUS
2420	branch BR_1_5_PLUS_BLOCKS
2421
242210/8/2013:
2423	make.bat, pkg/win32/{sdb,timing}.bat:
2424		wrap batch file variable expansions in double quotes
2425		replace NL with CRLF
2426	configure: check for ELF the same way on all BSD systems
2427
242810/6/2013:
2429	configure: check for BASEDIR/share/man (Reported by Mike Greenberg)
2430
243110/3/2013:
2432	timing: force display of /sys/devices/..../name path
2433	configure: add CFLAGS_LONGLONG
2434
243510/2/2013:
2436	configure: update to version 1.5+
2437
243810/1/2013:
2439	config/win32/ntmsvc.mak: add SNOBOL4_C_CFLAGS
2440	pkg/win32/makezip.sh: make SNOBOL4 upper case
2441	configure: check for long long, output SIZEOF_{INT,REAL}_T
2442	include/macros.h: handle SIZEOF_INT_T != SIZEOF_REAL_T in DCMP
2443	lib/pair.c: include equ.h for DCMP()
2444	config/win32/config.h: add SIZEOF_{INT,REAL}_T
2445
2446**************** release 1.5 (CVS tag REL_1_5)
2447
244810/1/2013:
2449	configure: update version to 1.5
2450
24519/27/2013:
2452	conf/win32/config.h: comments on _WIN64 ifdef
2453	Makefile: took cpuid out of "make cleanmostly"
2454		remove *.exe in "make clean"
2455	make.bat: (new) got tired of typing makefile path for VS
2456	lib/snolib/random.c: forgo use of [s]size_t for VS
2457		add pragma to disable warning on VS
2458	doc/snobol4.1: update HOST() example
2459
24609/26/2013:
2461	snolib/sdb.sno: make sure &INPUT enabled before trying to read!!
2462		found trying to debug genc.sno (for SNOBOL4B)
2463	doc/snobol4.1: fix documentation for "-PLUSOPS"
2464	configure, lib/snolib/random.c: ditched HAVE_DEV_RANDOM
2465		pick up DEV_RANDOM, if defined
2466
24679/25/2013:
2468	Makefile2.m4, configure, sdb.sh: fix sdb.sno path
2469	params.h: fix snobol4.c compilation!
2470
24719/24/2013:
2472	Makefile2.m4: put SNOBOL4_C_FLAGS after CFLAGS
2473		straighten out(?) SNOLIB_xxx paths
2474		install docs at version top level
2475	configure: enable -Wall for gcc, set SNOBOL4_C_FLAGS like w/ clang
2476		OPT=-O3 w/ clang
2477		straighten out(?) SNOLIB_xxx paths
2478	timing: clean up dmesg.boot (e)grep
2479		find/run lspci -v on linux for any VM info
2480		flush ref to config.guess
2481		find /sys/devices/...../model files
2482	lib/init.c: fix strjoin() calls for K&R C
2483		fix VER/lib path (found on Windows!)
2484	lib/snolib/random.c: enhance comment
2485	.cvsignore: add version
2486	sdb.sh: remove listfile on exit trap
2487	pkg/win32/install.bat: COPYRIGHT, CHANGES, README, fix README.win32
2488		take SNOBASE as optional argument
2489	pkg/win32/makezip.sh (new)
2490
24919/23/2013:
2492	v311.sil: [PLB116] use SMAXINT
2493	config/win32/config.h: add ifdef _WIN64, USE_MEMMOVE, USE_MEMSET
2494	config/win32/ntmsvc.mak: remove bcopy, bzero
2495	include/str.h: add ifdef USE_MEMSET
2496	include/snotypes.h: define SMAXINT, use (unsigned INT_T)1
2497	configure: save INITIAL_CFLAGS
2498		enable warnings for problems found by clang
2499		detect clang, disable warnings for SIL code issues
2500	pml.h, lib/dump.c, lib/{dump,bsd/inet6,posix/tty}.c
2501		fix nits to quiet clang
2502	include/macros.h: fix nit found by gcc w/ -Wparens enabled
2503	lib/{io,snolib/serv,unix98/load}.c: fix bugs found by clang warnings
2504	pkg/win32/sdb.bat: add LIBDIR, comments, RCS-Id
2505
25069/22/2013:
2507	lib/io.c, lib/init.c: make UINTCL a counter for VC10 ^C handling
2508		ditched DEF_SNOPATH; build using SNOLIB for base
2509		add io_show_path() -- command line option -z
2510	include/lib.h: add io_show_path()
2511	pkg/win32/README.win32 (new)
2512	pkg/win32/install.bat: install README.win32
2513	configure: ditch DEF_SNOPATH, add SNOLIB_BASE
2514	config/win32/config.h: ditch DEF_SNOPATH, define SNOLIB_BASE
2515	doc/snobol4.1: update
2516
25179/20/2013:
2518	lib/io.c: try to clear EOF condition from ^C in VC10
2519
25209/19/2013:
2521	lib/init.c: re-arm SIGINT handler for Win32/VC10
2522
2523*** 1.5-rc3 (tag REL_1_5_RC3)
2524
25259/19/2013:
2526	configure: update to 1.5-rc3
2527	CHANGES: update
2528	lib/init.c: usage() displays built-in SNOPATH setting
2529	doc/snobol4.1: update
2530	doc/snobol4tcl.3: update date
2531	lib/io.c: moved "mode" string creation to of io_fopen2()
2532
25339/18/2013:
2534	Makefile: use HAVE_CONFIG_H w/ tsort
2535		recurse to make tsort, so isnobol4.c doesn't
2536		depend on tsort or config.h!!
2537	bsdsort.c: use HAVE_CONFIG_H
2538	INSTALL: update
2539	doc/sdb.1: update
2540	doc/snobol4.1: update
2541	lib/init.c: don't raise "User Interrupt" if &ERRLIMIT is zero.
2542	snolib/sdb.sno: comment
2543	configure: remove old comments
2544
25459/17/2013:
2546	lib/init.c: Set UINTCL on SIGINT except if in compiler
2547	snolib/sdb.sno: detect and ignore ^C in readline()
2548	Makefile: bsdtsort requires config.h to build/run correctly on 64bits
2549	bsdsort.c: need config.h to get include file ifdefs
2550
25519/16/2013:
2552	config/win32/config.h: add "lib" to default SNOPATH
2553	pkg/win32/sdb.bat: add \lib\ to sdb.sno path
2554
25559/15/2013:
2556	configure: --with-tcl= now requires path to tclConfig.sh
2557		fix forkpty check on OSX
2558	INSTALL: document --with-tcl=
2559	lib/io.c: fix compilation without PTYs
2560
25619/14/2013:
2562	configure: check for forkpty
2563	lib/io.c: add support for ||ptycommand
2564		unionize variant data
2565
25669/13/2013:
2567	configure: check for clock_getcpuclockid()
2568	lib/posix2001/mstime.c: use clock_getcpuclockid()
2569	pkg/win32/install.bat: moved from config dir, updated, enhanced
2570	config/win32/config.h: have SNOLIB_DIR include drive name
2571	snolib/sdb.sno: cleanup
2572
25739/12/2013:
2574	snolib/sdb.sno: fix watchpoints, use SCONTINUE for ^C (again)
2575	v311.sil: [PLB114] pulled LASTFILE/LINE & USRINT checks to top of INIT
2576		[PLB115] single letter trace types (ala SPITBOL)
2577	test/t.{sno,ref} (new): test single letter trace types
2578	test/tests.in: add t.sno
2579
25809/11/2013:
2581	snolib/sdb.sno: cleanup;
2582		"silent" command now works
2583		next steps only once
2584
25859/10/2013:
2586	snolib/sdb.sno: cleanup
2587
25889/5/2013:
2589	snolib/sdb.sno: upto 25x faster!!
2590		enable STCOUNT trace ONLY when needed!!
2591		use BREAKPOINT() (&STNO trace)
2592		use FNCLEVEL trace for finish/next
2593
25949/3/2013:
2595	configure: create version file
2596	Makefile: note version file
2597
25989/2/2013:
2599	test/keytrace.{sno,ref}: test STOPTR and reenable
2600	config/win32/snobol4.vcxproj: add break.c
2601	snolib/sdb.sno: flush VARS0
2602
26038/31/2013:
2604	snolib/sdb.sno: get rid of CONS on first trap line (was failing?)
2605		set SDB.INTERRUPT on ^C instead of STEP_COUNT
2606		move SDB.TRAP.EXIT entry up
2607		clean up SETEXIT_HANDLER
2608	doc/sdb.1: add "what" command
2609	v311.sil: [PLB113] fix keyword trace output I broke in 2005 (in [PLB90])
2610		add chk_break() call -- fires STNO KEYWORD trace
2611	lib/break.c (new): chk_break() and BREAKPOINT()
2612	Makefile2.m4: add break.c
2613	config/{djgpp/Makefile,vms/descrip.mms}: add break.c
2614	config/win32/{borland,mingw,ntmsvc}.mak: add break.c
2615	pml.h: add BREAKPOINT() function
2616	include/lib.h: add chk_break()
2617	test/tests.in: add keytrace.sno
2618	test/keytrace.{sno,ref}: test KEYWORD tracing, incl. BREAKPOINT()
2619
26208/30/2013:
2621	v311.sil: [PLB112] save/restore &LAST{FILE,LINE} in TRPHND
2622		restore saved &LINE at GOTL3 (ABORT handler)
2623	test/setexit.{sno,ref}: output &LAST{NO,FILE,LINE}
2624	test/setexit6.{sno,ref}: setexit.sno w/ STCOUNT trace
2625	test/tests.in: add setexit6
2626	snolib/sdb.sno: output date as well as version
2627	test/bench.sno: drop max time to 60s (from 120s)
2628
2629*** 1.5-rc2 (tag REL_1_5_RC2)
2630
26318/29/2013:
2632	configure: test for rl_copy_keymap() -- missing on NetBSD/OSX
2633		update for 1.5-rc2
2634
2635*** 1.5-rc1 (tag REL_1_5_RC2)
2636
26378/27/2013:
2638	lib/unix98/load.c: fix missing return value (found by clang)
2639	test/tests.in: add atn.sno
2640	test/atn.{sno,ref}: new test
2641	CHANGES: updated
2642	README: add Fred Weigel to credits
2643	doc/sdb.1: credit Fred Weigel for DDT
2644
26458/26/2013:
2646	snolib/sdb.sno: add "what" command
2647	v311.sil: [PLB111] check for null value in LABEL()
2648	pkg/win32/{sdb,timing}.bat: use %~dp0 to get SNODIR
2649	pkg/win32/timing.bat: use start for ^C trapping
2650	lib/posix2001/mstime.c: fall back to getrusage()
2651	    flush unused variable
2652
26538/25/2013:
2654	CHANGES: updated
2655	README: updated for 1.5
2656	snolib/sdb.sno: updated copyright
2657	doc/snobol4.1: update with 1.5 changes, all error numbers
2658	configure: update to 1.5rc1
2659	doc/sdb.1: mention error catching, ^C
2660	pkg/win32/{sdb,timing}.bat: use SYSTEMDRIVE
2661
26628/24/2013:
2663	lib/init.c: fatal error if -L file doesn't exist
2664		allow list to stdout w/ -l -
2665	test/setexit4.{sno,ref}: test END trap after error
2666	test/setexit5.{sno,ref}: test [F]RETURN from error handler
2667	test/tests.in: add setexit[45]
2668
26698/23/2013:
2670	snolib/sdb.sno: allow continue after error
2671		trap ^C (step once)
2672	v311.sil: [PLB110] fix continue from END after an error
2673			fix duplicate END2 label
2674	procs: add END0
2675	test/diag1.ref: adjust
2676
26778/22/2013:
2678	init.c: if SETEXIT handler set, set UINTCL on SIGINT (^C)
2679	v311.sil: [PLB109] Implement "User Interrupt" (SIGINT) handling
2680		Set &LAST{NO,FILE,LINE} in XITHND
2681		Allow new errors to overwrite old return information
2682	procs: add USRINT, remove XITERR
2683	snolib/sdb.sno: cleanup, use SETEXIT()
2684	snobol4.1: add missing .TP
2685
26868/16/2013:
2687	timing: add "END"
2688	lib/init.c: explicitly init lib path with "."
2689	lib/io.c: fix some memory leaks
2690		no longer need to try include locally first
2691	pkg/win32/timing.bat: add "running benchmark:" and "END"
2692
26938/15/2013:
2694	config/win32/snobol4.vcxproj: add loadx.c
2695	config/win32/ntmsvc.mak: fix cpuid build
2696
26978/14/2013:
2698	configure: check for POSIX-2001 clock_gettime(CLOCK_PROCESS_CPUTIME_ID)
2699	config/check: add -r and -d options (also honor CHECK_DEBUG)
2700	lib/posix2001/mstime.c: get precise runtime on Linux
2701	timing.sno: add PREC() INT() functions
2702	Makefile2.m4: make separate tested target
2703	Makefile: have make clean remove tested
2704	config/win32/ntmsvc.mak: fix loadx.obj, add cpuid.exe
2705	lib/win32/osopen.c: fix /dev/null, unbuffer /dev/tty
2706	pkg/win32/sdb.bat: script to run sdb!
2707	pkg/win32/timing.bat: script to run timing!!
2708	timing.sno: don't look for shell time on windows
2709
27108/13/2013:
2711	COPYRIGHT, README: update copyright for 2013
2712	timing: run test/bench.sno
2713	test/genc.sno: frozen version of 1.4.1 genc for regression test
2714	test/test.genc.sh: test script for genc
2715	test/tests.in: add genc test
2716	test/{callgraph,genc,proc.h,static.h}.ref: genc test outputs
2717	test/bench.sno: frozen benchmark 1.4.1 genc; loops for accuracy
2718	test/v311.sil, test/globals, test/procs: 1.4.1 files for timing, genc
2719	test/{nqueens,sudoku}.{sno,ref}: from berstis.com
2720	test/tests.in: add nqueens,sudoku
2721
27228/7/2013:
2723	doc/snobol4tcl.3: update example code
2724	v311.sil: [PLB108] Add &MAXINT
2725	lib/snolib/host.c: moved BPS to include/snotypes.h
2726	include/snotypes.h: add BPS, MAXINT
2727	test/maxint.{sno,ref}: test &MAXINT
2728	test/tests.in: add maxint
2729	configure: drop down to 15 digits precision for double formatting
2730		better safe than sorry.  15 is all Perl prints!
2731	test/float2.{sno,ref}: add more tests
2732
27338/6/2013:
2734	lib/snolib/stcl.c: fix for Tcl 8.6
2735		problem found by Michael Richter
2736
27378/4/2013:
2738	v311.sil: [PLB107] Display avg ns. per statement
2739		Add &STEXEC -- total statements executed
2740		    &GCTIME -- total time in GC
2741	timing.sno: update for ns.
2742
27438/1/2013:
2744	v311.sil: [PLB106] add &PI
2745
27467/31/2013:
2747	test/float.{sno,ref}: output PI
2748	test/pow.{sno,ref}: output only rational numbers
2749	test/float2.{sno,ref}: test for double precision formatting
2750	test/digits.{sno,ref}: test for &DIGITS &LCASE &UCASE
2751	test/spit.sno: truncate PI string
2752	test/tests.in: add float2, digits
2753	data_init.c: add DIGITS
2754	v311.sil: [PLB105] add &DIGITS
2755
27567/6/2013:
2757	Discovered 64-bit doubles are never output with full precision,
2758		Thanks to Phillip Thomas
2759	configure: define REALST_FORMAT when double precision in use
2760	lib/realst.c: add REALST_FORMAT
2761	lib/ansi/spreal.c: use real_t
2762
27637/5/2013:
2764	timing: tweak lsb_release usage for Beaglebone "Angstrom"
2765
276612/3/2012:
2767	lib/win32/sys.c: add WinServer2012
2768
27697/8/2012:
2770	configure: OpenBSD MIPS requires sys/types.h before socket.h
2771		(reported by Anonymous)
2772
27734/24/2012:
2774	doc/snobol4.1: document default INPUT record length
2775		(suggested by John McHugh)
2776
27773/9/2012:
2778	snolib/dynamic.sno: use HOST(HOST_INCLUDE_DIR)
2779
27803/6/2012:
2781	lib/loadx.c: include stdlib.h
2782	lib/io.c: avoid rl_keymap_discard()
2783		call rl_initialize() if no rl_keymap_discard() available
2784		works on OS X 10.4 (but not NetBSD 5.1?)
2785	configure: check libedit for readline()
2786
27873/4/2012:
2788	include/lib.h: add strjoin()
2789	lib/str.c: add strjoin()
2790	lib/loadx.c: try bare path + DL_EXT
2791	lib/unix98/load.c: if path contaisn no DIR_SEP, try ./path
2792
27932/29/2012:
2794	configure: set HAVE_RL_SET_KEYMAP
2795	lib/io.c: check HAVE_RL_SET_KEYMAP (OS X comes with NetBSD editline)
2796
27972/24/2012:
2798	configure: replace HAVE_READLINE with COMPILER_READLINE
2799	lib/io.c: honor COMPILER_READLINE
2800	gendata.sno: add REAL op
2801	genc.sno: fix many ops; set LIVE if no success label
2802	v311.sil: [PLB104] safety check KSt/sec division; use REAL constants
2803		flush SPDLDR; increase PMSTACK to 8000, ISTACK to 4000
2804	lib/init.c: increase NDYNAMIC to 512K, flush SPDLDR
2805
28062/23/2012:
2807	doc/snobol4random.3: fix typo, enhance SRANDOMDEV entry.
2808	v311.sil: [PLB103] Report K Statements/sec
2809
28102/18/2012:
2811	Makefile2.m4: install INCLUDE_H files in INCLUDE_DIR
2812
28132/17/2012:
2814	lib/unix98/load.c: add missing return
2815	configure: put SNOLIB_DIR/local (w/ version) before SNOLIB_BASE/local
2816
28172/15/2012:
2818	Use loadx/os_load for Win32
2819	config/win32/{borland,mingw,ntmsvc}.mak: add loadx.c
2820	lib/loadx.c: add comment
2821	lib/win32/load.c: convert to os_load() API
2822	lib/init.c: Add def_snopath
2823
28242/15/2012:
2825	lib/loadx.c (new): O/S independant load(), callx(); uses "lib_find"
2826	Makefile2.m4: add LOADX_C, loadx.o rule
2827	configure: add loadx.o when using unix98/load.c
2828	timing.sno: output KStatements/sec
2829	include/lib.h: add mspec2str(), os_load()
2830	lib/str.c: add mspec2str(), strjoin()
2831	lib/unix98/load.c: implement os_load()
2832
28332/14/2012:
2834	v311.sil: [PLB102] Add -HIDE for sdb
2835	snolib/sdb.sno: use -HIDE
2836	pml.h, lib/snolib/file.c: add FILE_ISDIR, FILE_ABSPATH, use mgetstring
2837	test/tests.in: add file.sno, hide.sno
2838	test/file.{sno,ref} (new): test FILE, FILE_ISDIR, FILE_ABSPATH
2839	load.h: add RETPRED(bool)
2840	test/run.sh: set enviroment variables inside a subshell
2841	lib/init.c: add pathinit(): called after options, before io_preload()
2842	test/hide.{sno,ref} (new): test -HIDE
2843
28442/13/2012:
2845	tests/run.sh: remove bogus shifts
2846
28472/12/2012:
2848	doc/snobol4.1: update for SNOPATH, -I, -L
2849	test/tests.in: add include path, preload tests
2850	tests/run.sh: handle command line, environment args
2851	tests/include{2,3,4}.{sno,ref}: include path tests
2852	tests/preload{1,2,3,4}.{sno,ref}: preload tests
2853	test/aa/aa.sno: include test file
2854	test/bb/bb.sno: include test file
2855	test/pa/preload.sno: preload test file
2856	test/pb/preload.sno: preload test file
2857
28582/10/2012:
2859	lib/io.c: move preload code to io_preload()
2860	lib/init.c: call io_preload()
2861	include/lib.h: declare io_preload()
2862
28632/9/2012:
2864	configure: drop DEF_SNOBOL_PRELOAD_PATH
2865	lib/init.c: default SNOBOL_PRELOAD_PATH from SNOPATH
2866		append PRELOAD_FILENAME to dir names in SNOBOL_PRELOAD_PATH
2867	lib/io.c: use abspath() function
2868	include/lib.h: add prototypes for isdir() and abspath()
2869	lib/generic/exists.c: add isdir() and abspath()
2870	lib/win32/exists.c: add isdir() and abspath()
2871
28722/2/2012:
2873	v311.sil: [PLB101] only modify function entry if LOAD succeeds
2874o	test/tests.in: add loaderr.sno
2875	test/loaderr.{sno,ref}: test load failure
2876
28772/2/2012:
2878	configure: add DEF_SNOBOL_PRELOAD_PATH
2879	lib/init.c: new preload code: SNOBOL_PRELOAD_PATH env var
2880		-L FILE preloads a file (search SNOPATH)
2881	sdb.sh: use -L for sdb.sno
2882
28831/22/2012:
2884	configure: add INCLUDE_DIR, DEF_SNOPATH, version 1.5-
2885	lib/io.c: add lib dirs; io_add_lib_{dir,path}, io_lib_find
2886	include/lib.h: io_add_lib_{dir,path}, io_lib_find
2887	lib/init.c: set up lib path: honor SNOPATH, -I option
2888	lib/snolib/host.[ch]: add HOST_DEF_SNOPATH, HOST_INCLUDE_DIR
2889
2890**************** rerelease 1.4.1 (CVS tag REL_1_4_1bis)
2891
28921/22/2012:
2893	include/snotypes.h: flush uint_t (Solaris sys/types.h has uint_t)
2894	lib/generic/expops.c: flush uint_t; use unsigned INT_T
2895
2896**************** release 1.4.1 (CVS tag REL_1_4_1)
2897
28981/19/2012:
2899	include/snotypes.h: add uint_t for expops.c
2900	lib/generic/expops.c: use uint_t fix Solaris Studio warning
2901	lib/snolib/ndbm.c: include stdlib for strtol()
2902	Makefile: add cpuid
2903	Makefile2.m4: have cpuid depend on cpuid.c, use CC
2904	cpuid.c: update for Solaris Studio,
2905		report compiler versions
2906	configure: check for finite() in ieeefp.h on Solaris
2907		use CFLAGS on size check
2908	include/macros.h: check for FINITE_IN_IEEEFP_H
2909
29101/18/2012:
2911	configure: cleanup/fix socket tests (again)
2912	README: add Anonymous
2913
29141/16/2012:
2915	configure: rework socket library tests for Solaris
2916		simplify socklen_t check
2917	Makefile: remove sdb in make clean
2918	.cvsignore: add version.h
2919	snolib/dynamic.c: use DSEP, add DYNAMIC.DEBUG variable
2920
29211/15/2012:
2922	configure: detect glibc on Ubuntu, set HAVE_GLIBC
2923	lib/snolib/time.c: test for HAVE_GLIBC, check datatypes, lengths
2924	test/random.{sno,ref}: show avg*100
2925
29261/11/2012:
2927	doc/sdb.1: add readline references
2928	CHANGES: update
2929
29301/10/2012:
2931	Makefile: add all, sdb
2932	Makefile2.m4: add all, ALL
2933		install sdb as sdb-VERS, snobol4-VERS
2934		have sdb use snobol4-VERS
2935		make symlinks to sdb, snobol4
2936	sdb.sh: add <VERS>
2937	test/random.{sno,ref}: test RANDOM()
2938	tests.in: add random.sno
2939
29401/9/2012:
2941	Makefile2.m4: make sdb depend on configure
2942	snolib/sdb.sno: fix readline test!
2943	configure: fix typo
2944	doc/sdb.1: can't break on END label
2945		fix bolding on "next"
2946
29471/7/2012:
2948	configure: try to fix tcl search on ubuntu; update to v1.4+
2949	doc/.cvsignore: add snobol4{random,tcl,time}.{0,html,ps,pdf}
2950	Makefile2.m4: install sdb.1
2951
2952**************** release 1.4 (CVS tag REL_1_4)
2953
29541/6/2012:
2955	INSTALL, README: update for 1.4 release
2956	lib/snolib/readline.c: include stdlib.h for free()
2957	include/load.h: fix RETSTR_FREE() warning
2958	lib/auxil/bindresvport.c: fix VS10 warning
2959	doc/snobol4tcl.3: update date
2960	configure: fix gdbm support on cygwin, cleanup readline checks
2961		move LIBDIR under Tcl support
2962		update version to 1.4
2963
2964**** tag REL_1_4_RC2
2965
29661/5/2012:
2967	load.h: add RETSTR_FREE() macro
2968	lib/snolib/random.c: add GCC pragma to disable -Wunused
2969	lib/snolib/readline.c: use RETSTR_FREE()
2970	configure: export CC and CFLAGS (if needed) for "check script
2971	Makefile2.m4: update timing.out advertisement
2972
29731/5/2012:
2974	configure: give error exit when MINGW detected to abort "make"
2975	config/win32/snobol4.vcxproj: add sleep.c
2976	lib/win32/sleep.c: fix includes for non-test compilation
2977	lib/generic/sleep.c: fix includes
2978
29791/4/2012:
2980	configure: look for nanosleep(); use posix/sleep.c; update to -rc2
2981	config/win32/{borland,mingw,ntmsvc}.mak: add sleep
2982	config/win32/config.h: add HAVE_SLEEP
2983	doc/snobol4time.3: document sleep failure return
2984	include/lib.h: sleepf() returns int
2985	lib/{bsd,generic,win32}/sleep.c: return value
2986	lib/posix/sleep.c (new): use nanosleep
2987	test/sleep.{sno,ref} (new): test sleep
2988	test/tests.in: add sleep.sno
2989	pml.h: removed RANDOM prototypes
2990	doc/snobol4.1: remove RANDOM function
2991	doc/snobol4random.3 (new): document RANDOM functions
2992	doc/snobol4readline.3 (new): document READLINE functions
2993	doc/Makefile: use implicit rules, add snobol4r{andom,eadline}
2994	snolib/random.sno (new): load RANDOM functions
2995	snolib/readline.sno (new): load READLINE functions
2996	Makefile2.m4: add snobol4{random,readline,time}.3
2997	lib/init.c: use %lu for sizes to avoid warnings (want %z)
2998	lib/snolib/time.c: fix features defines for Ubuntu 11.10 (glibc 2.13)
2999
30001/3/2012:
3001	config/check (new): do a test compile w/ include, code, libs
3002	configure: use config/check
3003		fix for COM libs on Windows 7 (thanks to Robert Shanley)
3004		add --without-com
3005		use db.h for dbm w/ DB_DBM_HSEARCH
3006		add checks for sleep.c
3007	snolib/readline.sno (new): readline prototypes
3008	snolib/sdb.sno: use readline.sno
3009	pml.h: removed readline prototypes
3010	lib/generic/execute.c: use NULL to keep gcc quiet
3011	Makefile2.m4: add SLEEP_C/sleep.o
3012	lib/snolib/time.c: use sleepf(real_t) for SLEEP()
3013	lib/bsd/sleep.c (new): implement sleepf using select
3014	lib/generic/sleep.c (new): implement sleepf using sleep
3015	lib/win32/sleep.c (new): implement sleepf using Sleep
3016	include/lib.h: add sleepf()
3017	doc/snobol4time.3: document SLEEP taking f.p. seconds
3018	timing: more release files
3019
30201/2/2012:
3021	configure: use LIBDIR in TCL_CONF_DIRS instead of /usr/lib
3022		detect MINGW
3023		uname cleanup
3024	lib/win32/sys.c: Add a cast, arm architecture
3025	cpuid.c: fix MSC defines
3026
30271/1/2012:
3028	snolib/sdb.sno: update copyright notice
3029	configure: flush ALTLIBDIR
3030	lib/snolib/time.c: cleanup: enums, error checks/returns
3031	lib/snolib/readline.c: fix warning
3032	lib/win32/sys.c: Add Win 8, show build on unknown systems
3033	lib/init.c: fix warning
3034
303512/31/2011:
3036	cpuid.c: rework for 64-bit Mac and Windows
3037	configure: quiet some compiler warnings, fix HWNAME display
3038	CHANGES: cleanup
3039
3040*** 1.4-rc1
3041
304212/30/2011:
3043	Update manual pages, CHANGES, COPYRIGHT, README
3044	New: doc/snobol4time.3, doc/sdb.3
3045
304612/29/2011:
3047	pml.h, lib/snolib/random.c: add SRANDOM, SRANDOMDEV
3048	       default to srandom(1) for seed.
3049	v311.sil: [PLB100] SETEXIT returns old value
3050	doc/snobol4.1: Document ATAN, LN, SETEXIT.
3051
305212/28/2011:
3053	configure: use tclConfig.sh for Tcl configuration
3054		   (Thanks to Michael Richter)
3055
305610/1/2011:
3057	cpuid.c: declare main as returning int
3058	configure: declare main as returning int, avoid exit()
3059
30609/24/2011:
3061	timing: look for acpi0: in dmesg.boot
3062
30639/23/2011:
3064	cpuid.c: Get Hypervisor info (name)
3065		only use PIC code on OSX
3066		ifdef body for x86[-64]
3067	Makefile: always compile cpuid
3068	timing: remove -fPIC, run cpuid if it exists
3069
30709/5/2011:
3071	cpuid.c: make PIC safe (for MacOS) with help from
3072	  http://sam.zoy.org/blog/2007-04-13-shlib-with-non-pic-code-have-inlin
3073	timing: force -fPIC for cpuid compile (default on MacOS)
3074
30758/18/2011:
3076	configure: crock to look in /usr/lib/INSTSET-linux-gnu for
3077		gdbm_compat library for Ubuntu 11.04
3078
30796/19/2011:
3080	configure: look in /usr/include/tcl*.* for tcl.h
3081		problem reported by Michael Richter
3082		Fatal error if Tcl not found when --with-tcl given!
3083
3084	doc/snobol4tcl.3: remove duplicated code from example program
3085
30866/1/2011:
3087	doc/snobol4tcl.3: remove FILES section (pasted from dbm page)!
3088
30895/25/2011:
3090	doc/snobol4.1: fixes from Mark Laster
3091	README: Add Mark Laster, update for 2011
3092	COPYRIGHT: Update for 2011
3093	TODO.soon: update (parity: removed one, added one)
3094
30952/16/2011:
3096	removed version.c, no longer used
3097	configure: put VERSION and VERSION_DATE in version.h
3098		output HAVE_SLEEP
3099		check for /dev/random, output HAVE_DEV_RANDOM
3100	main.c: include version.h
3101	Makefile: version.h create by configure
3102	Makefile2.m4: install version.h
3103	config/djgpp/Makefile, config/vms/descrip.mms,
3104	    config/win32/{borland.mak,mingw.mak,ntmsvc.mak,snobol4.vcxproj}:
3105		flush version.c
3106	lib/snolib/time.c: check HAVE_SLEEP
3107	lib/snolib/random.c: fix a warning, try making win32 safe,
3108		always call into own [s]random() functions!
3109	config/win32/{borland.mak,mingw.mak,ntmsvc.mak,snobol4.vcxproj}:
3110		add atan, random
3111
31122/7/2011:
3113	lib/init.c: fix "-l" entry in usage message
3114	doc/snobol4.1: merge two &GTRACE entries
3115		update -l entry, URLs
3116
31172/2/2011:
3118	configure: fix readline test
3119
31201/30/2011:
3121	lib/snolib/time.c: add SLEEP()
3122	snolib/time.sno: add SLEEP()
3123	pml.h: add SLEEP
3124	configure: define VERSION & VERSION_DATE here
3125		output VERSION and VERSION_DATE into config.h
3126		output VERS into config.m4
3127		append VERSION to default SNOLIB_DIR
3128 	removed: version.c
3129	Makefile: remove pv
3130	Makefile2.m4: remove pv, version.c, version.o
3131	main.c: move version display in-line
3132
31331/29/2011:
3134	new sdb.sh: driver script for SDB debugger
3135	Makefile2.m4: create and install sdb from sdb.sh
3136
31371/24/2011:
3138	new snolib/random.c: FreeBSD random() function
3139	pml.h: add RANDOM
3140	Makefile2.m4: add random
3141	sdb.sno: cleanup
3142
31431/23/2011:
3144	v311.sil [PLB99] fix FUNCTION for referenced, but undefined functions
3145	Makefile2.m4: add atan to snolib
3146	pml.h: add ATAN, LN
3147	version.c: update to 1.3+
3148	sdb.sno: get version from Id, use readline
3149	test/function.sno: test undefined, but referenced functions!
3150
31511/22/2011:
3152	configure: add --snolibdir= --without-readline
3153	configure, Makefile2.m4: add readline
3154	pml.h: readline, atan, ln
3155	new lib/snolib/readline.c: readline functions
3156	new lin/snolib/atan.c: arc tangent
3157	new snolib/sdb.sno
3158	sdb.sno: use readline!
3159
31601/21/2011:
3161	v311.sil [PLB98] SETEXIT cleanup; prohibit re-entry, trap at END
3162	test/diag1.{ref,sno}: update for SETEXIT
3163	test/diag2.ref: update for SETEXIT
3164	test/setexit.sno: update
3165	test/setexit2.{ref,sno}: test for END trap
3166	test/tests.in: add setexit2.sno
3167	test/time.{sno,ref}: test MKTIME w/ LOCALTIME
3168
31691/20/2011:
3170	v311.sil: [PLB97] implement SETEXIT/CONTINUE/SCONTINUE/ABORT
3171	globals, procs: add labels for SETEXIT
3172	lib/init.c: comment in signal handler
3173	test/setexit.{sno,ref}: SETEXIT test
3174	test/test.err.sh: test runner for programs that err out!
3175	test/tests.in: add SETEXIT test
3176
317712/22/2010:
3178	snolib/http.sno: 6/20/2009 fix broke it! add HTTP.CRLF!!
3179	cpuid.c: return 0
3180
318112/20/2010:
3182	lib/io.c: quiet gcc warnings, again
3183	snolib/time.sno: add STRPTIME
3184	pml.h: renamed STRPTIME to STRPTIME_
3185	lib/snolib/time.c: fix STRPTIME_
3186
318712/18/2010:
3188	lib/init.c, lib/io.c: -l flag takes listing file name
3189	pml.h, lib/snolib/time.c, snolib/time.sno, test/time.{ref,sno}:
3190		clean/tweak time to be more standards aligned
3191	configure: add time-related checks
3192
319312/16/2010:
3194	Add POSIX date/time handling; inspired by Rafal Sulejman
3195	new lib/snolib/time.c
3196	new snolib/time.sno
3197	Makefile2.m4: add time.o, TIME_C
3198	test/time.{sno,ref}
3199
320011/18/2010:
3201	Handle allocations of > 4GB -- reported by Howard Bussey
3202	include/lib.h: dynamic(size_t)
3203	lib/init.c: size_t ndynamic, pmstack, istack; getk takes size_t
3204	lib/{bsd,generic,posix}/dynamic.c: dynamic(size_t)
3205
320610/23/2010:
3207	doc/snobol4.1: fix incorrect usage of it's reported by Guido M.
3208
32099/28/2010:
3210	configure: fix search for "install" script reported by Noah Birnel
3211
32125/30/2010:
3213	config/win32/snobol4.vcxproj: VS10 Project thanks to Meir Livneh
3214	config/win32/ntmsvc.mak: comment tested w/ VS10
3215	lib/win32/{osopen,load}.c: include string.h
3216	lib/sdbm/sdbm.c: if'ed out extern errno
3217	lib/auxil/bindresvport.c: only define EADDRINUSE if needed on Win32
3218	README: Add Meir Livneh
3219
32205/24/2010:
3221	lib/posix/dynamic.c: prefer posix_ api for madvise
3222		latest CygWIN only supplies posix version
3223	lib/win32/sys.c: add server variable
3224
3225**************** re-release 1.3 (CVS tag REL_1_3bis)
3226
32275/19/2010:
3228	Makefile: add cpuid binary to disposables
3229		causes pain on CygWIN!
3230
3231**************** release 1.3 (CVS tag REL_1_3)
3232
3233	(35th anniversary of SNOBOL4 v3.11 release)
3234
32355/19/2010:
3236	History: update for 1.3
3237	version.c: update to 1.3
3238	README: update to 1.3
3239	Copyright: update year
3240	CHANGES: update for 1.3 release
3241	doc/snobol4.1: update for 1.3
3242
32435/15/2010:
3244	timing: try cpuid.c more freely
3245
32463/10/2010:
3247	timing: try compiling/running cpuid.c for CYGWIN/MINGW/SolX86
3248	cpuid.c: fetch, print vendor and cpu model using cpuid instruction
3249
32502/27/2010:
3251	configure: defend against empty MACHINE variable
3252
325312/24/2009:
3254	timing: run lsb_release program, if found
3255
325612/22/2009:
3257	configure: be more careful about using /usr/lib64
3258	timing: look for lsb-release before debian-version for Ubuntu
3259		look for lsb-release.d for RedHat/Fedora
3260
326111/10/2009:
3262	lib/win32/sys.c: put wProductType under ifdef HAVE_GETVERSIONEX,
3263		thanks to Dani Richard.
3264		Add Win7/WinServer2008R2
3265	lib/win32/com.cpp: get rid of a VC 6.0 compiler complaint
3266	README: Add Dani Richard
3267
32688/29/2009:
3269	v311.sil: fix GC crash when COLLECT() called immediately after
3270		an "external" function.  Reported by Laurence Battin.
3271	tests/collect.sno, test/collect2.ref: regression tests
3272	include/load.h: add SETRETVAL macro
3273	README: Add Lawrence
3274
32756/20/2009:
3276	fix http.sno (thanks to Burkhard Mesisner)
3277		to send entire request in one TCP segment
3278		was giving trouble under DJGPP+WatTCP
3279
32801/24/2009:
3281	fix MinGW compilation (thanks to Bruce Axtens)
3282	lib/win32/sys.c: use HAVE_GETVERSIONEX
3283	config/win32/mingw.mak: link with libstdc++
3284		removed -fvtable-thunks -DNEED_COGETOBJECT
3285	config/win32/config.h: define HAVE_GETVERSIONEX
3286	README: Add Bruce
3287
328812/17/2008:
3289	lib/win32/com.cpp: fix for VS2003 compilation
3290	version.c: update to 1.2+
3291
3292**************** release 1.2 (CVS tag REL_1_2)
3293
3294	(15th anniversary of ALPHA1 release)
3295
329612/8/2008:
3297	History: update for 1.2
3298	version.c: update to 1.2
3299	README: update to 1.2
3300	Copyright: update year
3301	CHANGES: update for 1.2 release
3302	doc/snobol4.1: update for 1.2
3303	lib/win32/sys.c: detect WinServer2008
3304	timing: output END_SYSTEM_PROFILER
3305
33064/25/2008:
3307	INSTALL: document --universal
3308
33093/13/2008:
3310	use $(MAKE) in "make pv"
3311
33121/18/2008
3313	lib/win32/sys.c: detect WOW64
3314
33151/11/2008
3316	timing: run system_profiler on Darwin
3317
331810/25/2007
3319	snolib/utf.sno: fix UTFLEN() to handle zero
3320
33213/18/2006
3322	lib/win32/sys.c: add amd64
3323
33243/6/2007
3325	INSTALL: document --add-cflags
3326	configure: document --add-cflags --fast
3327		add & document --universal
3328
33291/7/2007
3330	configure, Makefile2.m4: replace ADD_WARN with ADD_CFLAGS
3331		lp64 options ALWAYS need to be present!
3332		add --add-cflags option to configure
3333
33341/4/2007
3335	timing: dump "machdep" sysctl, needed to find CPU model on MacIntel
3336
333710/3/2006
3338	lib/bsd/inet6.c: remove INADDR_NONE define
3339
33406/26/2006
3341	lib/snolib/host.[ch]: add comments, HOST_USER_EXTENSIONS
3342	new pkg/lsm
3343
33441/27/2006
3345	lib/win32/com.cpp: add debug, have GET/PUT take arb arg (index) lists
3346	configure: 1/3 change: add snolib.bundle
3347
33481/2/2006
3349	configure: uncomment SNOLIB_FILE for NeXT style load
3350
335112/24/2005
3352	lib/win32/com.cpp: cleanup/fix?
3353
335412/23/2005
3355	timing: HP-UX getconf CPU_CHIP_TYPE
3356
335712/22/2005
3358	configure: output alternate LIBDIR choice
3359	INSTALL: update optimization discussion, mention CPUFlags
3360		repaginate
3361
336212/20/2005
3363	lib/win32/com.cpp: check for BAD_HANDLE in retvariant
3364	lib/snolib/handle.c: allow redundant create_handle calls
3365		renamed handle_list to handle_table
3366
336712/12/2005
3368	configure: look for libraries in /usr/lib64, if it exists
3369		add --force-sdbm
3370	INSTALL: add --force-sdbm
3371
337212/11/2005
3373	lib/snolib/cos.c: fix comment (Thanks to Dave Feustel)
3374	timing: send "ln" errors to /dev/null (thanks to Devon)
3375		need to copy executable if hard link fails!
3376	version.c: update to 1.1+
3377
3378**************** release 1.1 (CVS tag REL_1_1)
3379
3380	(12th anniversary of ALPHA1 release)
3381
338212/9/2005
3383	pkg/rpm/makerpm: use rpmbuild command
3384		attempt to be more eccumenical (Thanks to Rafal)
3385	pkg/solaris/prototype:
3386		add ndbm.sno stcl.sno dynamic.sno snolib.3 snobol4{dbm,tcl}.3
3387	doc/snobol4.1: tweak HOST() description
3388	version.c: update to 1.1, return instead of exit()
3389
339012/8/2005
3391	doc/snobol4.1: add SEE snobol4tcl (Thanks to Phillip Thomas)
3392		update date, HOST() example
3393	doc/snolib.3: add SEE snobol4dbm and snobol4tcl, cleanup.
3394	INSTALL: ran ispell, updated VMS info
3395	README: add snobol4tcl, snobol4dbm. repaginate
3396
339712/7/2005
3398	INSTALL: update
3399	bsd/Makefile.freebsd bsd/Makefile.netbsd debian/copyright
3400		rpm/makerpm solaris/pkginfo: update for version 1.1
3401	removed: rpm/snobol4-1.0-1.spec
3402	new: rpm/snobol4-1.1-1.spec
3403
340412/6/2005
3405	configure: try to fix --mandir=
3406	new doc/snobol4tcl.3: STCL man page
3407	Makefile2.m4 doc/Makefile doc/snolib.3: update for snobol4tcl(3)
3408	lib/bsd/popen.c: include h.h for non-ansi compilation!
3409
341012/5/2005
3411	lib/snolib/{stcl,handle}.c: include str.h to keep gcc4 quiet
3412	lib/io.c: try to keep gcc quiet
3413	snolib/ndbm.sno: add DBM_DELETE (thanks to Rafal)
3414	snolib/stcl.sno: add comments
3415	doc/.cvsignore: add snobol4dbm entries
3416	doc/snobol4dbm.3: improved
3417	CHANGES: updated
3418	test/popen2.sno: clean up
3419
342012/4/2005
3421	lib/snolib/ndbm.c, snolib/ndbm.sno, pml.h,
3422	    config/vms/config.h, doc/snobol4dbm.3: add DBM_ERROR, DBM_CLEARERR
3423	doc/Makefile: add snobol4dbm targets
3424	lib/win32/sys.c: fall back to OSVERSIONINFO
3425	lib/snolib/handle.c: bzero new hash tables!
3426
342712/3/2005
3428	new snolib/stcl.sno snolib/ndbm.sno: do LOAD()ing define constants
3429	pml.h: remove PMPROTO lines for NDBM and STCL functions
3430
343112/2/2005
3432	lib/init.c: ifdef -L usage message (thanks to Rafal)
3433		default preloading off (thanks to Rafal)
3434		Change preload filenames, add warnings
3435	lib/io.c: protect against overflow in io_printf()
3436
343712/1/2005
3438	timing: show all emerge output (11/26 change)
3439	Test/clean up under VMS, turn on SDBM:
3440	config/vms/config.h: SNOLIB_DIR, NDBM defines
3441	config/vms/descrip.mms: add ndbm, handle, SDBM
3442	lib/init.c: missing return value
3443		add ifdef PRELOAD (off by default)
3444		use DIR_SEP
3445	include/load.h: turn off const in LA_STR_PTR() too much pain on VMS
3446	pml.h: use PMLPROC2 for NDBM functions
3447	Makefile2.m4: remove -L on test run (PRELOAD disabled)
3448	config/{djgpp,vms,win32}/config.h: add DIR_SEP, PATH_SEP
3449	lib/snolib/host.{h,sno}: add HOST_DIR_SEP, HOST_PATH_SEP
3450	lib/snolib/ndbm.c: fix: was using strtod() instead of strtol()!!
3451
345211/29/2005
3453	INSTALL: document --double's failings
3454	configure: --longlong implies --double, as documented!
3455		note --double should probably be removed!
3456	test/test.trace.sh: handle very tiny F.P. numbers!
3457
345811/28/2005
3459	lib/snolib/ndbm.c, pml.h:
3460		have DBM_OPEN take mode as STRING
3461
346211/25/2005
3463	include/snotypes.h, include/macros.h:
3464		fix to make --longlong + --double work on OS X
3465		(only will work in combination)
3466
346711/22/2005
3468	timing.sno: fix tabbing for DATE(2)
3469	configure: libtcl tweaks
3470	test/run.sh: fix failure exit
3471	data_init.c: remove space from COLSTR; add SPCSTR
3472	v311.sil: add SPCSP, output spaces explicitly (not in file:line)
3473		shorten "statement" to "stmt"
3474	test/{ftrace,spit,trace1,trace2}.ref: new reference output
3475
347611/21/2005
3477	Makefile2.m4: add ADD_WARN() and WARN for C compiler
3478		warning options not to be included in HOST_COPT
3479	configure: add -add-warn=
3480	lib/win32/com.cpp: update for handle_handle_t
3481
348211/20/2005
3483	configure: include leading dot on DL_EXT and SO_EXT
3484	snolib/dynamic.sno: don't need to add dot before DL_EXT
3485
348611/19/2005
3487	timing.sno: use DATE(2)
3488	lib/snolib/ndbm.c: removed parse_mode()
3489	configure: send DL_ and SO_ params to config.h too for HOST()
3490	Makefile2.m4: flush dlparam.sno; pass CC and COPT to host.c
3491	lib/snolib/host.[ch]: add HOST_DL..., HOST_SO..., HOST_CC, HOST_COPT
3492	snolib/dynamic.sno: use HOST() instead of dlparam.sno
3493		now with optimization!
3494
349511/18/2005
3496	configure: need -Ilib/sdbm to use SDBM (thanks Rafal!)
3497	lib/io.c: remove tty_setmode from io_flushall()
3498		endex -> io_finish -> io_closeall should do restore?!
3499		Was causing badness (restoring settings from bad data?)
3500
350111/16/2005
3502	new: test/test.opt.sh: implement optional test
3503	test/run.sh: handle exit status 2 from optional test failure
3504	new: test/ndbm.{sno,ref} optional test for NDBM
3505
350611/15/2005
3507	Makefile2.m4: install snobol4dbm.3 (thanks Rafal!)
3508
350911/14/2005
3510	new: doc/snobol4dbm.3: DBM info
3511	doc/snobol4.1: reference snobol4dbm(3), new Burks URLs
3512	README: new Burks URLs
3513
351411/12/2005
3515	timing: use HP-UX IA64 machinfo, add ENDCPUINFO
3516	CHANGES: updated
3517	doc/snolib.3: add dynamic.sno
3518
351911/11/2005
3520	Makefile2.m4: run regressions without preloads
3521
352211/10/2005
3523	v311.sil: decrement &GTRACE if positive
3524	init.c:
3525		experimental "preload" files
3526		keep count of files, append "-" if none
3527		-g sets &GTRACE to -1 (permanently on)
3528		-L to disable preloading
3529	configure: changed --without-tk to --with-tk
3530
353111/9/2005
3532	lib/sdbm/sdbm{,_hash,_pair}.c: use config.h
3533	lib/sdbm/sdbm.c: use unistd.h if HAVE_UNISTD_H defined
3534	configure Makefile2.m4: use SDBM as last resort
3535	README: add money
3536	include/handle.h lib/snolib/{handle,ndbm,stcl}.c:
3537		revamp handles; users pass handle_handle_t *
3538		added SNOEXP() to handle.c routines
3539
354011/8/2005
3541	snolib/wrapper.sno: add SYSPRED
3542
354311/7/2005
3544	config/win32/ntmsvc.mak: define DUFF for SDBM
3545	lib/win32/sys.c: Add IA64, Longhorn (from MSDN)
3546	lib/snolib/stcl.c: cleanup, release handles
3547
354811/4/2005
3549	config/win32/mingw.mak: add SDBM_OBJ
3550	config/djgpp/Makefile: add SDBM
3551	lib/sdbm/sdbm.c: if out old imports
3552
355311/2/2005
3554	Makefile2: TEMP: have xsnobol4 depend on dlparam.sno
3555	configure: fix dynamic linking on OSF1/DU/Tru64, SunOS4/cc
3556	Makefile2: output dlparam.sno.tmp, do mv -f at end
3557
3558	config/win32/borland.mak: add comment (behind the times)
3559	config/win32/mingw.mak config/win32/ntmsvc.mak: use SDBM
3560	lib/snolib/ndbm.c: allow use of SDBM
3561	new lib/sdbm/LOTS: Ozan Yigit's SDBM library
3562
356311/1/2005
3564	new snolib/dynamic.sno: dynamic loadable module utilities
3565	configure: Tcl tweaks
3566	Makefile2.m4: use divert/undivert for ADD_xxx macros/values
3567	configure: update for HP-UX export symbols when dld'ing; add -fast
3568
356910/31/2005
3570	snolib/wrapper.sno: fix, update
3571
357210/30/2005
3573	configure: fix SunOS4 dlparams
3574	Makefile2.m4: dlparams.sno depends on Makefile2
3575
357610/29/2005
3577	v311.sil: fix GC trace; was stomping on XCL. Use TEMPCL.
3578	configure: tweak Tcl configuration testing
3579	lib/snolib/stcl.c: add URLs
3580	timing: if no uname, run hostname if found
3581		run name w/ -n -rs and -m
3582	timing.sno: add DATE() output
3583
358410/28/2005
3585	test/tests.in test/diag1.ref test/diag2.ref
3586		diag1/2 tests need "dump" filtering
3587
358810/27/2005
3589	v311.sil timing.sno lib/init.c lib/io.c test/a.ref
3590	test/diag1.ref test/diag2.ref test/dump.ref doc/snobol4.1
3591		implement GC trace (-g flag, &GTRACE) GC total time stats
3592	README, COPYRIGHT:
3593		update dates
3594	CHANGES:
3595		update
3596
359710/23/2005
3598	new: test/diag1.ref test/diag1.sno test/diag2.ref test/diag2.sno
3599		add diags from VAX/VMS Macro SNOBOL4 (from SPITBOL?)
3600	v311.sil: fix backtracking w/ *opr [PLB91]
3601	new: test/unsc.sno
3602		test backtracking w/ *opr
3603
360410/22/2005
3605	test/ftrace.ref test/spit.ref test/trace1.ref test/trace2.ref
3606		update for new trace output
3607
360810/21/2005
3609	test/tests.in v311.sil
3610	new: test/func2.sno test/func2.ref
3611		Fix case folding of alternate function rentry label [PLB89]
3612		add test program
3613	v311.sil: prepend &FILE and &LINE to trace output! [PLB90]
3614
36156/14/2005
3616	configure: set, export SO_ and DL_ defines
3617	Makefile2.m4: create, install dlparams.sno
3618
36196/5/2005
3620	lib/init.c lib/io.c include/lib.h: add io_fname()
3621		Make non-existant initial command line file fatal again
3622		make sure lib.h has complete set of io.c entries
3623
36245/28/2005
3625	lib/init.c: Make non-fatal for term_open() to fail!!
3626		regression tests were failing!
3627
36285/27/2005
3629	Makefile: make all GENERATED files "precious"
3630	lib/io.c, lib/init.c, include/units.h, README:
3631		make MEM_IO work, based on work by Sudarshan Gaikaiwari
3632		Pull io_init() out to init.c
3633		renamed io_input() to io_input_file()
3634		new: io_memfile(), io_skip(), io_input_string(),
3635			io_setfile(), io_mkfile_noclose(),
3636			io_output_string(), io_attached().
3637
36385/20/2005
3639	new: .cvsignore doc/.cvsignore
3640
36411/3/2005
3642	lib/win32/com.cpp: handle VT_DISPATCH in retvariant()
3643
364412/27/2004
3645	doc/snobol4.1: fix typo/pasteo
3646
364712/14/2004
3648	lib/snolib/getstring.c, include/load.h:
3649		add mgetstring()
3650	lib/win32/com.cpp:
3651		use mgetstring()
3652
36539/30/2004
3654	test/clean.sh: remove *.dat.  Thanks to Rafal Sulejman!
3655
36569/28/2004
3657	configure, Makefile2.m4:
3658		install snolib.3 in MAN3DIR
3659		Noticed by Phillip Thomas
3660
36619/17/2004
3662	configure: check for libgdbm_compat
3663
36649/14/2004
3665	configure: cleanup ndbm; use USE_GDBM
3666	Makefile: config.{h,m4} depend on configure
3667
36689/12/2004
3669	lib/snolib.c: include stdio.h first
3670
36719/8/2004
3672	configure: fixes for cygwin, ndbm works
3673
36749/7/2004
3675	configure, lib/snolib/ndbm.c:
3676		add HAVE_{,GDBM_{D,SL}ASH_}NDBM_H
3677		works on wide variety of platforms
3678
36799/6/2004
3680	configure: add --without-ndbm
3681	new lib/snolib/ndbm.c: ndbm interface
3682	pml.h: add DBM_xxx functions
3683	Makefile2.m4: ndbm.o
3684
36859/2/2004
3686	include/handle.h, lib/snolib/handle.c:
3687		return pointer value as handle
3688	lib/snolib/stcl.c:
3689		rationalize function names w/ Tcl_ names:
3690			TCL_{CREATE,DELETE}INTERP
3691		Add suite of OBJ(ect) related functions
3692			(not yet tested)
3693	pml.h: add STCL object functions
3694
36958/31/2004
3696	configure: allow tcl .so's without .a's
3697		seen by Rafal M. Sulejman (from CVS source!)
3698
36998/30/2004
3700	lib/io.c: treat all errors as non-fatal if !ISAFILE
3701		problem seen by Martin Waller w/ Windoze TCP
3702
37038/26/2004
3704	lib/snolib/stcl.c: add back Tk under STCL_USE_TK
3705	configure: add --with-tcl and --without-tk
3706		use $INCDIR more
3707	Makefile2.m4: tweaks for stcl
3708
37098/24/2004
3710	pml.h: add STCL under PML_STCL
3711	lib/snolib/stcl.c: cleanup
3712	lib/snolib/handle.c: fix handle search
3713
37148/23/2004
3715	pml.h: rename COM_UNLOAD to COM_RELEASE
3716	configure: keep quiet in installer grep
3717	lib/win32/com.cpp: ifdef NEED_COGETOBJECT, rename COM_RELEASE
3718	lib/snolib/handle.c: made it work
3719
37208/21/2004
3721	snolib/http.sno: add HTTP.RECL variable
3722
37238/20/2004
3724	new: include/handle.h lib/snolib/handle.c
3725		manage handles
3726	lib/snolib/stcl.c, lib/win32/com.cpp:
3727		convert to use handles
3728
37298/19/2004
3730	snolib/ftp.sno: fix a comment
3731	snolib/http.sno: add HTTP.POST() function
3732	configure: fix broken 6/4/2004 changes
3733		output $(DESTDIR) as prefix
3734		avoid AIX installer, add more names
3735		loop seperately for dir and install prog
3736
37378/12/2004
3738	v311.sil, genc.sno, include/macros.h:
3739		Create new PCOMP[C] SIL operators for pointer comparison.
3740		On some versions of RedHat ES and Fedora Core, dynamic
3741		pointers can be negative!  Thankfully Mark Emmer had
3742		found all the necessary places to change for SNOBOL4+
3743		Sizes are still constrained to be positive signed ints.
3744
37457/19/2004
3746	configure: update for CygWin 1.5.9(0.112/4/2)
3747	lib/win32/com.cpp: use USE_WCHAR_H, NEED_COGETOBJECT
3748	config/win32/mingw.mak: define NEED_COGETOBJECT
3749
37507/10/2004
3751	configure, Makefile2.m4, lib/win32/com.cpp: Support COM under CygWin!
3752
37537/1/2004
3754	config/win32/ntmsvc.mak: add COM
3755	lib/win32/com.cpp: fix for Visual Studio .NET 2003 (VC71)
3756	lib/win32/inet.c: tweak setsockopt() args
3757
37586/23/2004
3759	new lib/snolib/stcl.c:
3760		start of attempt at Tcl/Tk interface
3761
37626/20/2004
3763	pml.h: add COM_GETPROP, COM_PUTPROP, COM_UNLOAD
3764
37656/19/2004
3766	new lib/win32/com.cpp: COM (OLE) Automation
3767	config/win32/mingw.mak: add COM
3768	pml.h: PML_COM support
3769
37706/4/2004
3771	configure: Improvements suggested by Robin Kay
3772		<komadori@gekkou.co.uk>.
3773
3774		autoconf compatibility: Honor CC, CFLAGS, CPPFLAGS,
3775		LDFLAGS, DESTDIR environment variables.
3776
3777		Don't use (Solaris/SysV) /usr/sbin/install -- it's
3778		(way) different.
3779
37805/31/2004
3781	lib/bsd/inet6.c: NOTE: functions ignore "port" arg (OK, not used)
3782	INSTALL: fix 1.0 typos
3783
37843/3/2004
3785	configure: attempt to fix pre-panther socklen_t lossage
3786	version.c: update to 1.0+
3787
3788**************** release 1.0 (CVS tag REL_1_0)
3789	(11th anniversary of BETA1 release)
3790
37912/18/2004
3792	doc/snobol4.1 doc/snolib.3: ran ispell, update dates, version
3793	README, INSTALL: ran ispell, update version
3794	Switched development from RCS to CVS
3795	Makefile: add syn.c to GENERATED; remove make tar
3796	pkg/{bsd,debian,rpm,solaris}: add packaging files
3797	History: cleanup add RCS tag names, versions
3798
37992/17/2004
3800	lib/bsd/inet.c: add (const void *) cast for MSVC
3801
38022/16/2004
3803	CHANGES: update
3804	configure: fix LP64_NATIVE
3805
38062/5/2004
3807	COPYRIGHT, README: update copyright years
3808	include/dt.h: improve info for functions
3809	lib/io.c: implement MEM_IO; compiles, but not tested
3810
38112/3/2004
3812	lib/{ansi,c99}/spcint.c: check for overflow
3813	configure: fix test for bsd/suspend.c (look for sigmask macro)
3814
38151/29/2004
3816	doc/snobol4.1: fix SSET entry
3817
38181/11/2004
3819	v311.sil: Fix argument processing for LOADed functions:
3820		if there are more actuals than formals, pass extras
3821		without conversion (was looking past end of formal list)!
3822	pml.h: no longer need (,) in HOST prototype (testing above fix)
3823	include/snotypes.h: Add BITFIELDS_SAME_TYPE
3824		gcc 3.3.1 (SuSE Linux) can't handle this!
3825	config/win32/ntmsvc.mak: set BITFIELDS_SAME_TYPE
3826
38271/6/2004
3828	include/snotypes.h: make FFLD packable by MSVC
3829	config/win32/ntmsvc.mak: no longer need NO_BITFIELDS define
3830
383112/23/2003
3832	configure: compile test program to get long/pointer sizes
3833		for LP64 and LP64_native checks
3834
383512/22/2003
3836	timing: use gentoo "emerge" if present
3837
383812/18/2003
3839	INSTALL: update win32 info
3840	config/win32/ntmsvc.mak: add last tested info
3841
384212/9/2003
3843	Built and tested under WinXP using MS Visual Studio 2003 .NET
3844	include/lib.h: use EXPORT() on declarations
3845	include/load.h: SNOEXP() -- import or export, depending on build
3846	lib/win32/inet.c: handle missing SD_BOTH
3847
384811/15/2003
3849	timing: add gentoo-release, *-release, move redhat to end
3850
385111/14/2003
3852	lib/win32/inet.c: add true (from 8/9/2003)
3853	lib/ordvst.c: add consts
3854	config/vms/descrip.mms: add bindresport.obj
3855	tested w/ Compaq C V6.5-001 on OpenVMS Alpha V7.3-1
3856	tested w/ hp C X6.6-329 (GEM 50DA7) for I64 on OpenVMS Alpha V7.3-1
3857	tested under Cygwin, MINGW, DJGPP, AIX, IRIX, SunOS, Solaris, HP-UX
3858
385911/12/2003
3860	configure: add sparc64
3861	Makefile: fix for BSD parallel make, gmake on BSD
3862	Makefile2.m4: wrap regression in subshell for BSD parallel make
3863
386411/6/2003
3865	doc/snobol4.1: add a bit more info on bidirectional "pipe" I/O
3866
386710/9/2003
3868	removed doc/ports.txt
3869
38708/6/2003
3871	doc/porting.ms: add SIL, fix sys.c and inet.c
3872	doc/snobol4.1: fix typo
3873	lib/bsd/inet6.c: add IEEE 1003.1g credit
3874
38757/29/2003
3876	doc/snolib.3: improve a little
3877	doc/*.doc -> doc/*.txt
3878	README: add snolib.{3,0,ps,pdf}
3879		remove ports.doc
3880		s/.doc/.txt/
3881	Makefile2.m4: remove mention of ports.doc
3882		install load.txt
3883		clean up timing.out requests -- send everything to stderr
3884	Makefile: cleanup
3885	INSTALL: load.txt, porting.txt. paypal
3886
38877/23/2003
3888	new: doc/snolib.3
3889
38907/21/2003
3891	doc/snobol4.1: add BUG: integer overflow not detected
3892	configure: FINITE_C and ISNAN_C not needed (were wrong too)
3893
38947/19/2003
3895	doc/snobol4.1: document /udp!!
3896
38977/15/2003
3898	new: test/popen(2).{ref,sno}: popen tests
3899	Makefile2.m4: make snobol4 depend on tests.in
3900	timing: tweak for FreeBSD/Alpha
3901
39027/14/2003
3903	lib/snolib/{exp,tan}.c: RETFAIL if result is !finite
3904
39057/11/2003
3906	doc/snobol4.1: talk about CASE & UTF-8
3907
39087/9/2003
3909	include/lib.h lib/bsd/inet(6).c lib/io.c lib/win32/inet.c: add
3910		INETxxx flags/magic paths: broadcast reuseaddr
3911			dontroute oobinline keepalive nodelay
3912
39137/8/2003
3914	CHANGES: update
3915	doc/snobol4.1: document 8th bit handling
3916
39177/7/2003
3918	gensyn.sno: treat all bytes with 8th bit set as ALPHA on ASCII systems
3919		allows UTF-8 encoded characters, and national character sets
3920		to used in labels and identifiers!
3921	new: test/8bit2.{sno,ref}: 8bit id/label test
3922
39237/6/2003
3924	INSTALL: update Win32 UDP info
3925	configure, Makefile2.m4:
3926		move SNOLIB_DEFINES, PREFIX, BINDIR, MANDIR, MAN1DIR,
3927		SNOLIB_DIR to configure
3928		seperate greps for socketpair
3929
39307/5/2003
3931	README: update copyright dates, add logic.sno
3932	INSTALL: update timing e-mail address, add SNOBOL4 listserv info URL
3933	Makefile2.m4: add SNOLIB_FILES variable, add README to SNOLIB_FILES
3934		update timing e-mail address
3935	lib/djgpp/osinit.c: fix WATTCP compilation
3936	doc/snobol4.1: updated SEE ALSO
3937
39387/4/2003
3939	COPYRIGHT: update year
3940	Makefile: removed SMALL_SNO commands
3941	INSTALL: update VMS and Win32 info, gcc/lp64 info
3942	config/vms/descrip.mms: fix DECC4 support
3943		add NEED_BCOPY,NEED_BZERO,SOCKLEN_INT,HAVE_UNIXIO_H
3944	config/vms/config.h: add SOCKLEN_INT ifdef
3945	lib/io.c: add unixio.h
3946	config/win32/config.h lib/ansi/spcint.c lib/bsd/inet.c
3947		lib/bsd/inet6.c lib/bsd/popen.c lib/djgpp/osinit.c
3948		lib/{c99,generic,longlong}/intspc.c
3949		lib/{dummy,hpux,next,unix98,win32}/load.c
3950		lib/generic/{execute,popen}.c lib/init.c
3951		lib/{posix,vms}/sys.c lib/{posix,vms,win32}/tty.c
3952		lib/snolib/retstring.c lib/snolib/system.c
3953		lib/vms/getredirect.c lib/vms/popen.c lib/vms/sys.c
3954		include/{bindresvport,macros,snotypes,str}.h: ran comdef
3955
39567/3/2003
3957	configure: check netinet6/in6.h for HAVE_SOCKADDR_IN6
3958		always set HAVE_SOCKADDR_IN6, for serv.c
3959	lib/snolib/serv.c: set sin*.sin*_family fields
3960	config/vms/descrip.mms: fix osopen source path
3961		vms7.3 TCP needs bindresvport.obj
3962	lib/vms/osopen.c: use str.h for strcmp
3963	main.c: comdef fix (leave spaces)
3964	include/vars.h: use HAVE_WINSOCK_H
3965
39666/26/2003
3967	configure: defend against __vfork, look for popen() shell
3968
39696/25/2003
3970	doc/snobol4.1: add inet6 for SERV_LISTEN()
3971	configure: check for paths.h, vfork
3972	lib/bsd/popen.c: use vfork.h
3973
39746/24/2003
3975	doc/snobol4.1: document SERV_LISTEN(), update HOST() output, date
3976		add DIAGNOSTICS section, more AUTHORS
3977	lib/snolib/serv.c: update for inet6
3978
39796/22/2003
3980	new: lib/bsd/popen.c
3981	configure: check for socketpair, use bsd popen.c
3982	Makefile2.m4: add popen
3983	doc/snobol4.1: document bidirectional pipes
3984
39856/21/2003
3986	doc/snobol4.1: document /dev/tty and /dev/null magic
3987
39886/19/2003
3989	doc/porting.ms: update
3990	new: lib/{msdos,vms}/osopen.c
3991	config/vms/{config.h,descrip.mms}: add OSDEP_OPEN, osopen.obj
3992	config/win32/{borland,mingw,ntmsvc}.mak: add osopen
3993	config/win32/config.h: OPDEP_OPEN
3994	include/lib.h: add osdep_open
3995
39966/18/2003
3997	config/djgpp/config.h: SOCKLEN_T
3998	configure: flushed HAVE_STDARG_H
3999	doc/porting.ms: update
4000
40016/16/2003
4002	lib/posix/tty.c: add VALID test
4003	new: lib/win32/term.c
4004	config/win32/{borland,mingw,ntmsvc}.mak: use win32/term.c
4005
40066/15/2003:
4007	timing: add hwinfo, sw_vers for Darwin/NS
4008	lib/win32/tty.c: works!
4009	config/win32/config.h: WIN32_LEAN_AND_MEAN, TTY_READ_RAW
4010	config/win32/{borland,mingw,ntmsvc}.mak: use win32/tty.c
4011
40126/8/2003:
4013	configure: always set SOCKLEN_T
4014	config/win32/borland.mak: cleanup; use config\win32
4015	config/win32/ntmsvc.mak: cleanup
4016	config/win32/config.h: SOCKLEN_T
4017	genc.sno: remove config.h
4018	parms.h: include config.h, move system includes first
4019	lib/snolib/{delete,fork,host,sprintf}.c: move system includes first
4020	lib/snolib/system.c: use stdlib.h
4021	lib/auxil/bindresvport.c, lib/snolib/serv.c: use SOCKLEN_T
4022
40236/6/2003:
4024	configure: flushed $SYS, config.guess refs, pass HWNAME, OSNAME
4025	lib/generic/sys.c: flushed CONFIG_GUESS
4026	include/snotypes.h: flused SIL_FUNC_PROTO
4027
40286/5/2003
4029	new: bindresvport.h
4030	configure: SOCKLEN_T
4031	lib/bsd/inet.c: use bindresvport.h, OLD_UCX_INCLUDES, netdb.h!
4032	lib/bsd/inet6.c: use bindresvport.h
4033	lib/auxil/bindresvport.h: use bindresvport.h, SOCKLEN_T
4034	config/vms/descrip.mms:
4035		only use OLD_UCX_INCLUDES on VAXC?
4036		move stuff to UCXDEFS
4037		use bsd/inet.c!!
4038	config/vms/config.h: add SOCKLEN_T
4039
40406/3/2003
4041	config/{djgpp,win32}/config.h: NEED_SOCKLEN_T
4042	config/vms/descrip.mms: OLD_UCX_INCLUDES
4043	lib/auxil/bindresvport.c: OLD_UCX_INCLUDES
4044
40456/2/2003
4046	configure: NEED_SOCKLEN_T, AUX_BINDRESVPORT, Tru64 v5 crap
4047	lib/auxil/bindresvport.c: use socklen_t again
4048
40496/1/2003
4050	include/lib.h: remove bindresvport proto
4051	lib/bsd/inet.c: add bindresvport proto, NULL arg
4052
40535/31/2003
4054	include/h.h: protect TRUE/FALSE, ran comdef
4055	lib/bsd/inet6.c: move bindresvport_sa decl
4056
40575/29/2003
4058	configure: HAVE_SOCKADDR_IN6, NEED_BINDRESVPORT_SA
4059	include/snotypes.h: remove mstime()
4060	include/str.h: s/__/_/
4061	lib/bsd/inet.c: NEED_BINDRESVPORT_SA
4062	lib/win32/inet.c: bindresvport()
4063	lib/{hash,pair,pat,top}.c: move STATIC ifdefs up to top
4064	lib/auxil/bindresvport.c: HAVE_SOCKADDR_IN6, HAVE_WINSOCK_H
4065	lib/djgpp/osinit.c: bindresvport
4066	config/vms/descrip.mms, include/lib.h: NEED_POPEN
4067	config/win32/{borland,mingw,ntmsvc}.mak: bindresvport.o(bj)
4068	config/djgpp/config.h: NEED_BINDRESVPORT
4069	config/djgpp/Makefile: bindresvport.o
4070
40715/23/2003
4072	flushed dummy/rresvport.c
4073	config/vms/descrip.mms: UCXLIB, UCXOBJ, flush rresvport
4074	config/win32/{borland,mingw,ntmsvc}.mak: flush rresvport
4075	lib/vms/inet.c: punt on bindresvport()
4076	lib/win32/inet.c: punt on bindresvport()
4077	configure: define NEED_SOCKLEN_T
4078
40795/22/2003
4080	configure, Makefile2.m4:
4081		use bindresvport[_sa]() instead of rresvport[_af]()
4082	new: lib/auxil/bindresvport.c
4083	lib/bsd/inet(6).c: switch from rresvport(_af) to bindresvport(_sa)
4084
40855/20/2003
4086	new: lib/vms/load.c: first cut at VMS LOAD() support!!
4087	new: lib/bsd/inet6.c: use getaddrinfo()
4088	new: lib/auxil/rresvport_af.c
4089	configure: detect getaddrinfo(); use inet6.o
4090		test for ipv6 first, add string(s).h comments
4091	config/vms/descrip.mms: more cleanup, add load.c
4092		use native popen(), bzero(), bcopy(), unlink()
4093		use bsd/inet.c, posix/mstime.c
4094		compiles without implicit warnings w C 6.5 on VMS 7.3!!
4095	config/vms/config.h: add NEED_RRESVPORT_DECL, PML comment
4096	pml.h: use PMLFUNC2 for renamed functions
4097	include/lib.h: add getredirection(), popen(), pclose(), rresvport()
4098	lib/init.c: cleanup, remove dynamic() extern
4099	lib/io.c: remove externs for term_input(), {udp,tcp}_open(), popen()
4100	lib/vms/getredirect.c: cleanup: use stdlib.h, lib.h
4101	lib/vms/sys.c: use starlet.h for system prototypes
4102	lib/{dummy,vms}/tty.c: add tty_suspend()
4103	config/win32/config.h: add NEED_RRESVPORT_DECL
4104	config/djgpp/config.h: add HAVE_STRINGS_H
4105	Makefile2.m4: add rresvport_af.o, remove finite.o
4106
41075/17/2003
4108	configure: more HP-UX/ia64 tuning
4109	INSTALL, config/vms/{config.h,descrip.mms}
4110		update for Compaq C V6.5-001 on OpenVMS Alpha V7.3-1
4111	config/vms/descrip.mms, lib/io.c, doc/porting.ms:
4112		s/NO_OFF_T/NEED_OFF_T/
4113
41145/16/2003
4115	timing: add eval for debian 3.0
4116	configure: more HP-UX/ia64 tuning
4117	INSTALL: update --longlong, explain ILP32
4118		include --lp64 caveat for HP-UX
4119	config/{vms,win32}/config.h: HAVE_STRING_H
4120	lib/win32/sys.c: detect WinServer2003, Win95OSR2, Win98SE
4121
41225/15/2003
4123	configure, include/str.h:
4124		handle HP-UX IA64 like PA-RISC
4125		rework string function handling
4126		add HAVE_STRING(S)_H
4127		s/USE_OWN/NEED/
4128
41295/14/2003
4130	lib/hpux/load.c: remove unused variables
4131
41325/5/2003
4133	include/str.h: always use memcmp if ANSI_STRINGS (Solaris 2.4)
4134
41354/30/2003
4136	configure: KERNEL_BITS fix for HP-UX 10 (and earlier)
4137		up maxmem for full optimization of data_init.c on AIX
4138
41394/24/2003
4140	Cleanup misc ports;
4141	lib/{c99,generic,longlong}/spcint.c lib/generic/spreal.c: include stdio
4142	lib/{bsd,dummy,hpux,next}/load.c: include stdio.h and lib.h
4143	lib/{dummy,dos,vms,win32}/tty.c: include lib.h
4144	lib/{vms,win32}/exists.c: include stdio.h,h.h,snotypes.h,lib.h
4145	lib/{vms,win32}/inet.c: lib.h, use str.h for bcopy
4146	h.h: add NEED_CONST; Tru64 5.0 also has __STDC__ == 0
4147	INSTALL: add --double and --longlong doc
4148
41494/23/2003
4150	Second round of prototype changes (compilers other than gcc);
4151	Makefile: add static.h (generated by genc.sno)
4152	configure: fix strings.h test
4153	genc.sno: output static prototypes to static.h2; use ret_t
4154		upcase library call names
4155	v311.sil: upcase library routines which take descrs or specs
4156		rename ENFILE to ENDFIL to avoid Unix errno collision
4157	globals, procs: ENDFIL
4158	main.c: always include macros.h, for NORET; use NORET for BEGIN call
4159	include/macros.h: define macros for upcase versions of lib routines
4160		cast args, call functions; add NORET
4161	parms.h: remove NORET, include static.h
4162	include/snotypes.h: add ret_t
4163	include/str.h: protect index/rindex against multiple definitions
4164	lib/bal.c: use NORET
4165	lib/init.c: use NORET for SYSCUT() call
4166	lib/io.c: use NORET for UNDF() call; add comments
4167	lib/bsd/inet.c: reverse order of macros and snotypes (for NORET)
4168	lib/generic/execute.c: include unistd.h before stdio.h
4169	lib/snolib/host.c: include unistd.h before stdio.h
4170
41714/21/2003
4172	include/snotypes.h: create ptr_t; use void * to avoid gcc3 warnings
4173	gendata.sno: use (ptr_t) instead of (char *)
4174
4175	Start(!!) cleanup for -Wimplicit warnings;
4176	lib/unix98/load.c: include stdio.h, lib.h, RTLD_LAZY cleanup
4177	lib/{dummy,vms,win32}/tty.c: flush tty_{sav,restor}e
4178	include/lib.h: add {execute,exists,suspend,tcp,tty,term,sys,version}.c
4179			entries
4180		add io_sseek(), io_finish(), io_closeall(),
4181			io_findunit(), io_getfp(), io_mkfile(), apdsp()
4182		remove io functions declared by libret.h
4183		fix getbal() prototype (was bal, returning void!)
4184		fix pad(), reverse(), substr() return types
4185		fix unit types for io_{printf,endfile,backspace,rewind}
4186	lib/snolib/{chop,cos,delete,exp,log,ord,sin,sqrt,tan}.c: return type!
4187	lib/snolib/{exit,,sset}.c: include lib.h, stdio.h
4188	lib/snolib/file.c: include lib.h, stdio.h; rename entry point!
4189	lib/snolib/fork.c: add system headers, return type
4190	lib/snolib/host.c: add system headers, lib.h, stdio.h
4191	lib/snolib/findunit.c: include stdio.h, lib.h, add return type
4192	lib/snolib/serv.c: add system headers, lib.h, stdio.h, flushall arg
4193	lib/snolib/{rename,sprintf}.c: add stdio.h
4194	pml.h: rename FILE() entry point to FILE2()
4195	lib/date.c: include stdio.h, lib.g; fix Y2K bug w/ old date!!
4196	lib/posix/tty.c: include lib.h for proc_suspend()
4197	lib/stream.c: remove libret.h
4198		remove extra arg to clertb -- unused for almost 10 years!!
4199	include/syntab.h: move stream() declaration here from libret.h
4200		enable any(), clertb(), plugtb() prototypes
4201		remove extra arg from clertb()!
4202	lib/bal.c: include lib.h for getbal() prototype
4203	parms.h: add includes
4204	isnobol4.c compiles clean w/ -Wimplicit on RH7.3, FreeBSD4.7
4205
4206	lib/bsd/inet.c: add includes
4207	lib/init.c, main.c: include proc.h
4208	lib/io.c: include lib.h, proc.h; ignore HAVE_STDARG_H; use __STDC__
4209	version.c: include lib.h
4210	new include/gen.h: generated (init) functions
4211	main.c: include lib.h, gen.h
4212	data_init.c: include gen.h
4213	genc.sno: output full prototypes to proc.h
4214	gensyn.sno: output include gen.h
4215	lib/{bsd,posix}/dynamic.c: include lib.h (et al)
4216	lib/generic/{expops,intspc}.c: include lib.h
4217	lib/{ansi,bsd,dummy,generic,msdos,posix,vms,win32}/mstime.c
4218		lib/{djgpp,generic,posix,vms,win32}/sys.c:  lib.h &c
4219	lib/{hash,lexcmp,ordvst,pat,pair,pml,realst,replace,top,tree}.c
4220		{bsd,generic,posix}/suspend.c
4221		{posix,vms}/term.c generic/ex{ists,execute}.c: lib.h
4222	lib/snolib/getstring.c: load.h
4223	lib/snolib/retstring.c: load.h, stdio.h
4224	new include/str.h: string includes/prototypes
4225	include/h.h: remove index, bcmp defines
4226	include/macros.h: move bcmp, bcopy defines to str.h
4227	parms.h: use str.h
4228	lib/auxil/getopt.c,lib/djgpp/osinit.c,lib/bsd/inet.c,
4229		lib/{date,init,ordvst,pml,realst,str}.c,
4230		lib/snolib/{host,[gr]etstring,serv,sprintf}.c
4231		lib/{generic,posix,vms,win32}/sys.c,
4232		lib/{bsd,hpux,next,unix98,win32}/load.c: use str.h
4233	lib/{ansi,c99,generic,longlong}/{spcint,intspc}.c,
4234		lib/{generic,ansi}/spreal.c: lib.h str.h
4235	lib/generic/execute.c: unistd.h
4236	configure: only use strings.h if it contains both index and strcmp
4237		(GNU/Linux version is minimal)
4238	compiles cleanly (except isnobol4.c loops & snolib functions)
4239		w/ gcc -Wmissing-prototypes!!
4240
42411/13/2003
4242	doc/load.doc: cleanup
4243	lib/next/load.c: use snolib.so on Darwin
4244	INSTALL: cleanup
4245
42461/12/2003
4247	config/win32/config.h: add missing endif
4248	INSTALL: update cygwin info
4249
425010/29/2002
4251	lib/snolib/logic.c: fix for AXP/VMS compilation
4252	lib/vms/sys.c: fix
4253
42548/20/2002
4255	lib/djgpp/osinit.c: replace with Burkhard's version!
4256		(He says mine doesn't work)
4257	lib/io.c: only flag STD{IN,OUT,ERR}_FILENO's w/ NOCLOSE
4258	README: updated, added URL
4259	doc/snobol4.1: added http:// to URL
4260
42616/13/2002
4262	genc.sno: pass CPP directives! (3/3/2002)
4263
42646/6/2002
4265	v311.sil include/macros.h lib/init.c doc/snobol4.1:
4266		Add '-S' option for enlarging interpreter stack.
4267		** 1% speed penalty for genc.sno **
4268	timing.sno lib/snolib/host.[ch]:
4269		add HOST_ISTACK_SIZE
4270
42714/25/2002
4272	configure, lib/next/load.c:
4273		add TRY_UNDERSCORE to next/load.c for Darwin
4274
42754/19/2002
4276	lib/next/load.c: check NSLinkModule() return
4277		add comments
4278
42794/12/2002
4280	lib/next/load.c: remove unused variable & label
4281
42824/2/2002
4283	lib/snolib/host.h: fix comment typo
4284
42853/23/2002
4286	include/h.h: add default {IM,EX}PORT macros
4287	include/load.h: add io_closeall, io_mkfile; use IMPORT macro
4288	lib/djgpp/osinit.c: add io_{findunit,closeall,getfp,mkfile}
4289	lib/io.c: use EXPORT macro for io_{findunit,closeall,getfp,mkfile}
4290	lib/snolib/[gr]etstring.c: use EXPORT macro
4291	config/win32/config.h: add IMPORT & EXPORT macro declarations
4292
42933/21/2002
4294	Fixes for mingw build.
4295	lib/win32/inet.c: remove dangling saweol
4296	config/win32/mingw.mak: add a missing $
4297	doc/porting.ms: add HAVE_OS_INIT
4298	README: add text from COPYRIGHT
4299
43003/20/2002
4301	clean DJGPP build w/ DXE2, WATTCP.  Tested DXE2.
4302	lib/djgpp/osinit.c: cleanup
4303	config/djgpp/Makefile: use install.bat
4304	config/djgpp/config.h: fix HAVE_OS_INIT
4305	config/win32/{borland,mingw,ntmsvc}.mak: add make SRCDIR, make install
4306	doc/load.doc: DJGPP/DXE2, dllwrap info
4307	new: config/install.bat
4308
43093/17/2002
4310	load.h: add prototypes for getstring, retstring,
4311		io_findunit, io_getfp
4312
43133/16/2002
4314	configure: make gcc -O3 the default, use -fno-inline-functions
4315
43163/15/2002
4317	config/djgpp/Makefile: fix for WATTCP build
4318		add HAVE_{WATTCP,DXE2}
4319		add comments
4320	config/djgpp/config.h: add defines under HAVE_{WATTCP,DXE2}
4321		add FOLD_HOSTNAMES
4322	lib/djgpp/sys.c: add +DXE2 and +WATTCP to sys string
4323	lib/djgpp/osinit.c: add lib.h, comments
4324	lib/bsd/inet.c: change WATTCP_DOS to FOLD_HOSTNAMES
4325
43263/14/2002
4327	configure: add --bindir=
4328		document --mandir=
4329		show --prefix default
4330	doc/load.doc: add ArnaudRecipes link
4331
43323/13/2002
4333	version.c: version 0.99.44+
4334	configure: add --mandir=
4335	Makefile2.m4: add MAN1DIR
4336
43373/12/2002
4338	lib/init.c: fix VMS getredirection() call
4339
43403/9/2002
4341	Makefile: sh clean.sh
4342
43433/8/2002
4344	timing: show AIX memory/cache conf (thanks to info from
4345		http://www.fortran-2000.com/ArnaudRecipes/hardwareinfo.html)
4346	Makefile: add lint
4347
43483/6/2002
4349	Makefile2.m4: add "lint"
4350	Makefile: remove *.ln
4351
4352**************** released 0.99.44 (RCS tag BETA8)
4353
43543/2/2002
4355	version.c: update to 0.99.44
4356	timing: do an ls -l of Entries file
4357
43583/1/2002
4359	config/djgpp/Makefile: tested, make DXE loading optional
4360	config/djgpp/config.h: remove unneeded stuff!
4361	lib/djgpp/sys.c: HOST() support for DJGPP
4362	lib/vms/getredirect.c: defend against argc==0
4363	v311.sil: remove an empty RCALL label list
4364
43652/28/2002
4366	configure: force -n32 compiler IRIX 32-bit compilations
4367
43682/22/2002
4369	genc.sno, v311.sil: XINCLD 3-way return to handle multiple includes
4370	lib/io.c: io_include() 3-way return
4371		defend against path overflow
4372		cleanup, add comments, type member
4373	include/libret.h: io_include_ret
4374	test/line.{ref,sno}: test multiple include handling
4375	new: test/include.{ref,sno}: test includes w/o -line
4376
43772/21/2002
4378	configure: seperate -Wuninitialized from OPT
4379	lib/win32/inet.c: cleanup; read text past eol, handle CR
4380	lib/io.c: fix unix inet I/O
4381
43822/20/2002
4383	install-sh: make cpprog the default
4384	doc/snobol4.1: add www.snobol4.org
4385	lib/init.c: fix -P
4386
43872/19/2002
4388	new: COPYRIGHT
4389
43902/18/2002
4391	configure: use -fomit-frame-pointer for --fast w/ gcc
4392		report glibc version to stderr, config.m4
4393		default compilation includes -Wuninitialized
4394		always compile with -Wunused
4395	v311.sil: compile cleanly with gcc -Wunused;
4396		add entry labels where needed; add XECODE op
4397		removed unused labels and unused code!!
4398	include/macros.h: ENTRY() no longer drops a label!
4399	genc.sno, gendata.sno: use new XECODE op
4400	lib/unix98/load.c: only declare found: label if needed
4401
44022/16/2002
4403	configure: add IRIX compiler flags; merge IRIX and IRIX64
4404		check for /sbin/install
4405	Makefile: remove timdir.* in cleanmostly
4406	new lib/djgpp/osinit.c: djgpp os_init()
4407	lib/init.c: add os_init() call
4408	new config/djgpp/{config.h,Makefile}
4409	removed config/djgpp/ misc...
4410
44112/15/2002
4412	config/win32/{borland,ntmsvc}.mak: clean up, bring in to sync
4413	config/win32/config.h: update
4414	lib/snolib/getenv.c: needs equ.h
4415
44162/14/2002
4417	Makefile: go back to "cvs login"
4418	Compile under MINGW (Minimal GNU for Windoze) http://mingw.org
4419	config/win32/config.h: only define __STD__ if not defined
4420		add defines for popen, pclose
4421		no longer NEED_POPEN_DECL?
4422	lib/snolib/system.c: needs equ.h
4423	lib/win32/inet.c: remove BORLAND ifdef
4424	lib/win32/sys.c: add Win{98,ME,2K,XP}; display unknown platforms
4425		strip trailing spaces from szCSDVersion
4426	lib/win32/tty.c: add HANDLE casts
4427	config/win32/ntmsvc.mak: put -Iconfig\win32 first
4428		intspc moved to ansi/
4429		add ord.obj
4430	removed lib/win32/popen.c, config/borland directory
4431	new config/win32/mingw.mak, config/win32/borland.mak
4432
44332/13/2002
4434	timing: use /usr/bin/oslevel on AIX
4435
44362/12/2002
4437	lib/snolib/host.[ch]: changed HOST_SYSTEM to HOST_SYSCMD
4438	lib/snolib/host.c: no longer need to set RETTYPE before RETINT()
4439		handle REAL and integers encoded as strings
4440	include/load.h: set RETTYPE in RETNULL
4441	lib/snolib/{delete,file,rename}.c: include equ.h for RETNULL
4442	doc/snobol4.1: HOST() changes
4443	CHANGES: HOST() changes
4444
44452/7/2002
4446	snolib/{file,ftp,http,smtp,tcp,url}.sno: s/C-MAINBOL/CSNOBOL4/
4447	doc/porting.ms: undocument DCMP_BYTES (never needed?)
4448	lib/init.c: display build date
4449	CHANGES: add -v
4450	INSTALL: update --no-gcc --lp64
4451
44522/6/2002
4453	new install-sh (X11 install script)
4454	configure: find install program/script, set INSTALL
4455	Makefile2.m4: use INSTALL for make install
4456
44572/5/2002
4458	configure: improve help/usage output
4459		deal with cc==gcc and --no-gcc
4460	lib/snolib/ord.c: fix comments; fail on null string
4461	lib/snolib/environ.c: include config.h
4462	lib/bsd/suspend.c lib/generic/suspend.c lib/posix/suspend.c: config.h
4463	new test/ord.{sno,ref} test ORD() function
4464	test/tests.in: add ord.sno
4465
44662/4/2002
4467	configure: get along without config.guess
4468		add more non-gcc compiler opt(timizat)ions
4469		add --fast
4470		Use -O2 w/ SunOS4 cc (don't optimize data_init.c)
4471	timing: check if config.guess exists
4472	removed config.guess
4473	genc.sno: handle 3-way LEXCMP (used in SORT)
4474	Makefile2.m4: include h.h in build.c for non-ansi compilers
4475	cc-M: perform basename on object files
4476
44771/30/2002
4478	configure: don't compile data_init.c w/ -O2 on Darwin
4479		add --double; add NO_BITFIELDS variable
4480		rework LP/LONGLONG/NO_BITFIELDS
4481		use ~(VFLD_T)0 for SIZLIM
4482	CHANGES, INSTALL: add --double
4483	genc.sno: flush D_RV() function, use pre-existing RV()!
4484
44851/28/2002
4486	INSTALL: ran ispell, C-MAINBOL -> CSNOBOL4
4487	README, History: C-MAINBOL -> CSNOBOL4
4488	configure: output explicit OPT= if NO_OPT
4489
44901/27/2002
4491	Makefile2.m4: install equ.h
4492	include/load.h: always set RETTYPE in RET{INT,REAL} macros
4493	lib/{chop,cos,exp,fork,findunit,log,serv,sin,sqrt,sset,tan,ord}.c:
4494		include equ.h
4495	doc/load.doc: describe LA_STR_{PTR,LEN}
4496
44971/26/2002
4498	v311.sil: set MAXLNGTH to SIZLIM; increase FNLIST space to 40 slots
4499	CHANGES: mention MAXLNGTH
4500	lib/hash.c: defend against Sun compiler bug
4501	Makefile: fix spotless, comment cleanup options
4502		rename clean to cleanmostly
4503		rename distclean to clean
4504		replaced make tar; removed TAR, G1 (reuse G2)
4505	lib/snolib/logic.c: use pointers to const for inputs
4506		handle bases upto 36; no longer use strtol(), getstring()
4507	include/load.h: make LA_STR_PTR() return ptr to const
4508	config/vms/descrip.mms: add logic; move defines to config.h
4509	config/win32/ntmsvc.mak: add logic; move defines to config.h
4510	config/borland/borlandsnob.mak: add logic; mov defines to config.h
4511	config/djgpp/{borlandsnob.mak,mak1i.bat}: add logic
4512	new: config/{vms,borland,win32}/config.h
4513
45141/25/2002
4515	doc/porting.ms: update vfld/NO_BITFIELDS; add SIZLIM data models
4516	include/snotypes.h: drop default SIZLIM back to 0x7fffffff
4517	configure: redefine SIZLIM to 0xffffffff if using 64-bit INT_T
4518		add --no-bitfields
4519	INSTALL: document --no-bitfields
4520	timing: move psrinfo to generic location (SunOS5 and Tru64 v5)
4521	new: test/test.dump.sh: massage MAXLNGTH output
4522	test/tests.in: use "dump" script for a.sno, dump.sno
4523	test/{a,dump}.sno: massage for "dump" test script
4524
45251/24/2002
4526	genc.sno: rename ENTER to ENTRY, flush ';' and label
4527		avoid cast and parens for integers in SETAC
4528		avoid parens for simple constants for SETAC
4529		saves 4094 bytes in snobol4.c
4530		(7928 with yesterday's changes)
4531	include/macros.h: rename ENTER to ENTRY, output label
4532	Makefile: don't have Makefile2 depend on GENERATED files
4533		move GENERATED to before Makefile2
4534		add "make tidy"
4535
45361/23/2002
4537	timing: add psrinfo, sysDescr for OSF/1
4538		use ARGS when running timing.sno
4539	doc/ports.doc: last of old reports! add new ones
4540	genc.sno: clean up output (snobol4.c is 3838 bytes smaller)
4541
45421/22/2002
4543	lib/snolib/logic.c: cleanup
4544	v311.sil: make LABEL() honor case folding
4545		add experimental FUNCTION() predicate
4546	new: test/function.{sno,ref}
4547	test/tests.in: add function.sno
4548	test/label.{sno,ref}: update for case folding
4549	globals: add FUNCTN
4550	gensyn.sno: use ALPHA and ALPHANUM variables; fix ALPHANUM!
4551	doc/ports.doc: update!
4552	CHANGES: updated
4553
45541/21/2002
4555	v311.sil: add LABEL() and VDIFFER() functions
4556		updated Table of Contents
4557	globals: add LABEL and VDIFFR
4558	doc/snobol4.1: document LABEL() and VDIFFER()
4559		do some bolding
4560	new: test/{label,viffer}.{sno,ref}
4561	test/tests.in: add label.sno, vdiffer.sno
4562	timing: if 00README.CVS exists, display CVS/Entries
4563	new snolib/logic.sno, lib/snolib/logic.c
4564	pml.h: add LOGIC (but not prototype)
4565	Makefile2.m4: fix install (VERS/pv)
4566	include/load.h: add LA_STR_{PTR,LEN}
4567
45681/20/2002
4569	started logic.c
4570
45711/19/2002
4572	Makefile2.m4: add star bars
4573
45741/18/2002
4575	configure, INSTALL: add --no-opt
4576	gensyn.sno: shake off dust; use TERMINAL, SUBSTR()
4577		use CHARSET, own ORD() function to allow bootstrapping
4578		take input file from command line
4579	Makefile: pass right input file to gensyn.sno!
4580	doc/Makefile: rename porting.doc to porting.txt
4581		add ALL, PORTING variables
4582		make snobol4.pdf (by default)
4583		add "make porting"
4584		add "make clean"
4585	doc/snobol4.1: update LOAD(), charset discussions
4586	v311.sil: fix compiler syntax error pointer display
4587		fix internal error trying to compile " ()("
4588
45891/17/2002
4590	INSTALL: add more --add-opt= discussion
4591	CHANGES: updated
4592	timing: show History RCSID
4593	v311.sil: up hash table size to 8192, define shift factor (OBSFT)
4594		fix lexical comparison function optimizations; add to index
4595	test/lexcmp.{sno,ref}: new version -- test null strings
4596	lib/hash.c: Use Bob Jenkins' hash function; real assention value
4597		5% decreases in genc.sno compile & run times
4598
45991/16/2002
4600	Makefile: use $(CC) to build bsdtsort
4601	INSTALL: note OPT defaults to -O2 with gcc
4602		enhance --add-opt= and --opt= discussions
4603		ask for gifts
4604
46051/15/2002
4606	configure:
4607		renamed autoconf to configure
4608		retabbed
4609		output to config.m4 explicitly
4610		added --debug option
4611		rework option processing; always m4 quote values
4612		add --add-define to usage
4613		add OPT variable; use -O2 for gcc
4614	Makefile: remove autoconf from kit
4615		rework tsort comments
4616		move tools to top
4617		added pkg to kit
4618	timing: check if FREQ is non-empty; check for 00README.CVS
4619	renamed lib/borland to lib/msdos
4620	config/borland/borlandsnob.mak: renamed lib/borland to lib/msdos
4621	config/win32/ntmsvc.mak: renamed lib/borland to lib/msdos
4622	doc/load.doc: update, mention dt.h
4623
46241/14/2002
4625	Makefile: use find | xargs for "make clean"; catch CVS .# files
4626	lib/snolib/host.h: update comments for Catspaw functions
4627	snolib/spitbol.sno: add aliases for HOST() functions
4628
46291/13/2002
4630	new: 00README.CVS
4631	new: bsdtsort.c
4632	Makefile: use bsdtsort
4633	Makefile2.m4: remove pv reference
4634	lib/unix98/load.c: remove NO_UNDERSCORE ifdef
4635	autoconf: set TRY_UNDERSCORE directly; set for darwin
4636	doc/snobol4.1: updated
4637	doc/load.doc: updated
4638
46391/12/2002
4640	lib/init.c: take -d and -P in descriptors (again)
4641		add showk(), rework p() function
4642		make -v display just version
4643	README: add host.sno
4644	INSTALL: update
4645
46461/10/2002
4647	autoconf: split generated/on lines
4648
46491/9/2002
4650	new: lib/snolib/host.h -- HOST() function codes
4651	lib/snolib/host.c: use host.h, handle arbitrary string "codes"
4652		add pmstack, dynamic region size functions
4653		add char bits
4654	new: host.awk -- create host.sno from host.h
4655	timing, timing.sno: use host.sno, report GC's
4656	Makefile2.sno: add GENSNOLIB for host.sno installation
4657	lib/init.c: allow NDYNAMIC override, add PSSIZE, allow override
4658		accept 'm' suffix on region sizes
4659		accept -v for version
4660		globals for pmstack, dynamic region size functions
4661
46621/8/2002
4663	doc/Makefile: use groff -Thtml
4664
46651/7/2002
4666	test/tests.in: add crlf.sno
4667	test/crlf.{sno,ref}: program and data with CR/LF at end of line
4668
46691/6/2002
4670	lib/io.c: toss CR's for DOS files transferred in BINARY mode
4671		or on Cygwin for files transferred in ASCII mode!
4672	Makefile: get tsort.sno from parent directory
4673	v311.sil, globals, procs: rename CON to CONCAT for Cygwin build
4674	timing: move cygwin EXT check to top; fix blank lines
4675	autoconf: add --no-inline; rework largefile code again: add USE_FLAGS
4676
4677Clean builds on: SunOS 4.1.4; Solaris 2.4, 2.5.1, 2.6, 7, 8
4678	FreeBSD 3.4, 4.4; OSF1/DU/Tru64 3.2, 4.0; IRIX 6.2, 6.5
4679	Darwin 5.1 (MacOS X); NetBSD/i386 1.5ZA; Cygwin 1.3.3
4680	HP-UX 10.20, 11.0; AIX 4.3; RH Linux 5.1, 6.0, 7.0, 7.2
4681
46821/5/2002
4683	timing: on HP-UX, try getconf MACHINE_MODEL if "model" cmd not found
4684	autoconf: use XBS5_LP64_OFF64_{C,LD}FLAGS on IRIX for --lp64
4685		set XBS5_MODEL on AIX if using native compiler; LFS_CFLAGS
4686			is not supported.  Don't try to turn on large
4687			file support under lp64 compilations.  Save
4688			extra large file getconf values using
4689			ADD_OPT()
4690		allow --lp64 builds under AIX (not tested); set ARFLAGS
4691		Darwin: alias "GT" (conflicts with curses global?)
4692	Makefile2.m4: use ARFLAGS for AIX lp64
4693	lib/ordvst.c: remove an old comment
4694
46951/4/2002
4696	autoconf: canonicalize "using" messages to lowercase
4697		make LARGEFILE checks glibc aware, add --no-largefile back!
4698		update for Darwin (cc define __GNUC__ but not __gcc__)
4699			get right path for mach-o/dyld.h (dlopen available)
4700			add LDFLAGS for libdl
4701		add HAVE_STDARGS_H check -- Darwin varargs is broken?
4702	timing: remove CCVERS, show build.c contents
4703		grep for Id in timing, timing.sno
4704		clean up BSD sysctl, CPU display
4705		prefix Linux releasefile
4706		treat Darwin like BSD (use sysctl hw)
4707	timing.sno: removed Revision, add ERROR/WARNING prefixes
4708		display TERMINAL messages at end for WARNINGS/FATAL
4709	io.c: check HAVE_STDARGS_H (was USE_STDARGS_H)
4710	lib/ordvst.c: include stdlib.h before h.h for FreeBSD 3.4
4711	lib/snolib/retstring.c: include stdlib.h before h.h for FreeBSD 3.4
4712
47131/3/2002
4714	autoconf: define CONFIG_HOST, CONFIG_OPTIONS (only if non-null)
4715	lib/snolib/host.c: add CONFIG_HOST, CONFIG_OPTIONS, reorder 2xxx
4716		add integer constants (23xx range)
4717	Makefile: push SNOBOL4 variable down to Makefile2, add TSORT variable
4718	Makefile2.m4: add SNOBOL4 variable
4719
47201/1/2002
4721	autoconf: disable largefile/getconf cleverness -- glibc getconf botch
4722
472312/31/2001
4724	lib/dummy/mstime.c: add comment to use time()
4725	lib/io.c, lib/str.c: tweaks (casts) to work on sparc w/ --longlong
4726	Thank God It's Over
4727
472812/29/2001
4729	lib/io.c: fix sset cast; tested SSET; use HAVE_FSEEKO (or lack thereof)
4730	autoconf: detect largefile support, always use it, define HAVE_FSEEKO
4731		detect SIGTSTP on Solaris 8
4732
473312/28/2001
4734	wrote count-procs script
4735
473612/27/2001
4737	genc.sno: make callgraph file tsort friendly
4738	Makefile: move tsort out to seperate command
4739		so we can detect errors from bogus tsort programs
4740		use new callgraph format
4741	v311.sil, procs:
4742		rearrange some code to avoid functionization
4743		eliminate procs (and loops): TRAC{1,4,6},STOPT1,RECOM{N,F,Q,T}
4744	INSTALL: add "Advanced configuration" section
4745		(information on local-config, local-defines)
4746	README: add chars.sno
4747	new: snolib/chars.sno: character sets
4748
474912/26/2001
4750	CHANGES: update configure options
4751	lib/io.c: add %G
4752	v311.sil: use %G for us/stmt
4753	autoconf: LP64 comments, GETRUSAGE_BUG for openbsd, select suspend.c
4754		changed cygwin32 to cygwin, check sys/signal.h for sigset_t
4755	lib/{bsd,posix}/tty.c: fix bad return in find...
4756		add tty_invalidate, ran comdef
4757		keep "last" dev_t used
4758	lib/{endex,init,io,stream,posix/tty}.c: kill unused variables
4759	include/macros.h: fix cast in OFCHK() to kill warnings
4760	timing.sno: allow integer compile/execute time/avg
4761
476212/25/2001
4763	config.guess: updated to latest
4764	Makefile2.m4: add suspend.o, SUSPEND_C
4765	Makefile: add .NOTPARALLEL
4766	lib/init.c: add suspend handler, remove tty_save() call
4767	lib/endex.c: remove tty_restore() call
4768	lib/posix/tty.c, lib/bsd/tty.c:
4769		keep state by device dev_t
4770		flush tty_save(), tty_restore()
4771		add tty_suspend()
4772	lib/snolib/serv.c: add SIGFUNC_T for fireman, casts for bzero() args
4773	lib/bsd/inet.c: cast bzero() args
4774	new: lib/posix/suspend.c: POSIX process suspension
4775	new: lib/bsd/suspend.c: BSD42 process suspension
4776	new: lib/generic/suspend.c: generic process suspension
4777	new: lib/dummy/suspend.c: dummy process suspension
4778
477912/21/2000
4780	Makefile: don't need to pass SIL to Makefile2
4781	lib/posix/tty.c: restrict recl to 0xff
4782
478312/20/2001
4784	Makefile: consolidate .PRECIOUS lines, add data_init.h
4785	Makefile2.m4: create and compile build.c before linking
4786	host.c: add HOST(2001) ... HOST(2005) -- build variables
4787	include/load.h: handle const strings in RETSTR()
4788
478912/19/2001
4790	INSTALL: updated
4791	autoconf: always define CONFIG_GUESS for HOST(2000)
4792	lib/snolib/host.c: add HOST(2000); display CONFIG_GUESS
4793	timing.sno: display HOST() and HOST(2000)
4794
479512/18/2001
4796	timing: show Ids from genc.sno, v311.sil
4797	README: updated.  Include snolib file information, web docs.
4798	lib/{ansi,borland,bsd,dummy,generic,posix,vms,win32}/mstime.c,
4799	    v311.sil, timing, genc.sno, include/snotypes.h, test/test.trace.sh:
4800		Keep runtime as a REAL (adds range at loss of
4801		resolution) effects all contexts; TIME(), trace
4802		messages, stats messages report microseconds/stmt.
4803	Makefile, Makefile2.m4: moved data_init.o rule back to Makefile2!
4804		add comment on DATA_INIT_CFLAGS and local-config
4805		add $(SRCDIR) prefixes for $(SNOBOL4).c
4806	Makefile: removed charset.c from TAR
4807	data_init.c: merged in stuff from charset.c
4808	lib/init.c: add '+' to start of getopt() optstring for RH7.
4809		Linux Losers chose incompatible behavior as the DEFAULT!!!
4810		For "snobol4.c -b genc.sno --inline" getopt was picking
4811		up the '--' "option"!!!
4812	removed: charset.c -- merged into data_init.c
4813
481412/17/2001
4815	Makefile2.m4, autoconf: add EXT variable for Cygwin
4816	test/tests.in: fix scanerr entry
4817	v311.sil: use CASECL to determine if compiler done at FTLEN2
4818		ETMCL can be zero on fast systems with bad resolution!
4819	timing.sno: remove crock for zero execution times
4820
482112/16/2001
4822	autoconf: check LONGLONG seperately for doubles, improve comments
4823		improved(?) getrusage() detection and comments
4824		only try LP64 on hppa*w architecture
4825	charset.c: was ASCII dependant.  use just numeric constants
4826	timing.sno: crock for zero execution times
4827
482812/15/2001
4829	snolib/wrapper.sno: update TODO, comment out tests
4830	Makefile: removed bugs dir from TAR list
4831
483212/14/2001
4833	INSTALL: document --add-define= --longlong
4834
483512/13/2001
4836	new: test/scanerr.{sno,ref} scanner error case tests
4837	test/tests.in: add scanerr
4838	new: config/djgpp/lots: build scripts for DOS/DJGPP from B.Meissner
4839	new: lib/djgpp/load.c: DXE based load from Burkhard Meissner
4840	lib/bsd/inet.c: flatten hostnames to upper case for WATTCP/DOS
4841	lib/win32/inet.c: borland ifdef/include's
4842		from Greg White <glwhite@netconnect.com.au> 8/30/2000
4843	new: Borland make/batch files from Greg White;
4844		config/borland/{borlandmake.bat,borlandsnob.mak}
4845		config/borland/{win95test,win95tlist}.bat
4846	new: snolib/wrapper.sno -- create wrappers for LOAD()ables
4847	lib/bsd/load.c lib/dummy/load.c lib/hpux/load.c	lib/next/load.c
4848		lib/unix98/load.c lib/win32/load.c genc.sno:
4849			renamed link() to callx() to avoid unistd.h conflict
4850	Makefile: removed []'s carried over from Makefile2.m4
4851		added "make generated"
4852
485312/12/2001
4854	CHANGES: updated
4855	autoconf: fix Solaris, Linux
4856		include date, host, sys info in config.h
4857	timing: ls -l config.h
4858
485912/08/2001
4860	Makefile, Makefile2.m4: move source generation up to Makefile
4861		allows clean cvs checkout to build (with existing binary)
4862		added "make spotless"
4863
486412/06/2001
4865	include/load.h: RETSTR() takes single arg, handles NULL
4866		all RETxxx macros wrapped in do { ... } while(0)
4867	pml.h, Makefile2.m4: add ORD() to snolib.a, PML it
4868	doc/snobol4.1: add ORD()
4869	win32/mstime.c: fix Win9x NO_STATIC_VARS
4870
487112/05/2001
4872	win32/mstime.c: fix Win9x version
4873	timing.sno: ignore zero shell time (cygwin)
4874
487512/04/2001
4876	autoconf: create config.h, add --add-define=
4877		use longlong/c99 functions when --longlong given
4878	Makefile2.m4: flushed $(CONFIG_GUESS) $(SYSDEFS), install config.h
4879	generic/intspc.c: fix comment, add cast
4880	tested --longlong (on FreeBSD)
4881	data_init.c: include config.h (for INT_T)
4882	lib/io.c: use int_t for io_print unit
4883	lib/longlong/spcint.c: ad hoc implementation (untested)
4884	new: c99/spcint.c c99/intspc.c
4885	timing: display config.h contents
4886
488712/02/2001
4888	LOTS: add 'ifdef HAVE_CONFIG_H/include "config.h"'
4889		(done using a SNOBOL4 program, of course!)
4890
489111/15/2001
4892	split {ansi,generic}/convert.c into {ansi,generic}/{spcint,spreal}.c
4893	moved intspc.c to generic/
4894	updated Makefile2.m4, config/vms/descrip.mms, config/win32/ntmsvc.mak
4895	add serv.sno to snolib/
4896
489711/13/2001
4898	lib/io.c: move osdep_open to top, move popen() to end
4899
490009/26/2001
4901	lib/win32/inet.c: added wVersionRequested variable
4902
490308/16/2001
4904	lib/snolib/serv.c: re-arm fireman at end of handler
4905		(to avoid zombie creation)
4906
490704/29/2001
4908	doc/snobol4.1: document SSET()
4909
491004/26/2001
4911	autoconf: fix long long, always set PML_SERV
4912	pml.h: add SERV_LISTEN (under ifdef PML_SERV)
4913	Makefile2.m4: add SERV_C, add serv.o to SNOLIB_OBJS
4914
491503/28/2001
4916	timing: add SuSE-release
4917
491801/18/2001
4919	autoconf: use win32/mstime.c under Cygwin
4920
492101/13/2001
4922	autoconf: add --longlong
4923	include/macros.h: cast pointer args for bzero/bcopy to void *
4924		so that we can use 64-bit ints when pointers are only 32-bits
4925	include/snotypes.h: allow INT_T to be redefined (default to long)
4926
492701/04/2001
4928	timing: add .exe EXTension if needed, for cygwin
4929	timing.sno: handle zero execution time (cygwin on win9x)
4930	autoconf: only add -ldl on SunOS (all flavors)
4931
493212/08/2000
4933	timing: improved for OpenBSD
4934
493511/14/2000
4936	autoconf: add --no-largefile, ARCH_OPT, add Id, options output
4937	config/vms/descrip.mms: make DEC C the default
4938	INSTALL: document VMS change, -lp64, --largefile, --no-largefile
4939
494011/07/2000
4941	lib/ordvst.c: declare ordvst_cmp() to take void *'s
4942	lib/posix/term.c: add ifdef HAVE_UNISTD_H
4943	removed; lib/generic/term.c
4944
494511/06/2000
4946	autoconf: major rework; disposed of ALL config/*.m4 files
4947	timing: run "file" command on executable
4948
494911/03/2000
4950	new: config/64bit.m4
4951	removed: config/{sony_news,ultrx-mips}.m4 (empty)
4952	config/{irix64,ultrasparc64,irix64}.m4: use 64bit.m4
4953	lib/next/load.c: NextStep (and MacOS X) LOAD() support
4954	autoconf: figure out which load.c to use
4955		removed sunpro goo
4956		removed empty config files
4957		use $INCDIR in dynamic.c tests
4958	config/{bsd43,netbsd-alpha,nextstep3,osf1}.m4,
4959		config/skel.inc: remove all LOAD_C settings
4960
496110/28/2000
4962	config.guess: add darwin (MacOS X),
4963		from www.darwinfo.org/pub/darwin/devel/config.guess
4964	autoconf: add darwin, help from Russ Urquhart
4965
496610/12/2000
4967	timing: display CPU: line from /var/run/dmesg.boot on BSD systems
4968
49699/22/2000
4970	timing: display mandrake-release file, add "break"
4971
4972
49739/14/2000
4974	autoconf: check for libsocket.so (in case SUNWarc not installed)
4975
49769/13/2000
4977	autoconf: fix dynamic.c messages
4978
49798/23/2000
4980	lib/generic/convert.c: fixed pasteo's thanks to
4981		"Greg White" <glwhite@netconnect.com.au>
4982
49838/21/2000
4984	autoconf: add NetBSD ELF check
4985
49868/15/2000
4987	timing: display slackware, turbolinux, debian RELEASE files
4988
49898/14/2000
4990	timing: display redhat-release, SuSe-release files
4991
49928/5/2000
4993	Fix for FreeBSD 4.x;
4994	autoconf: check for /usr/include/sys/vadvise.h to select dynamic.c
4995	config/nextstep3.m4 config/osf1.m4 config/skel.inc: remove DYNAMIC_C
4996	timing: display machdep.tsc_freq on FreeBSD
4997
49987/25/2000
4999	new file lib/snolib/serv.c
5000	autoconf: detect ELF on FreeBSD and add -export-symbolic, NO_UNDERSCORE
5001		add -export-symbolic on ELF Linux systems
5002	lib/unix98/load.c: add NO_UNDERSCORE
5003
50041/6/2000
5005	config/ultrasparc64.m4: config for solaris7 64bit env (tested)
5006	autoconf: emit HAVE_STDLIB_H
5007	main.c lib/init.c lib/io.c lib/ordvst.c
5008		lib/{bsd,generic}/dynamic.c lib/{bsd,posix}/tty.c
5009		lib/generic/popen.c lib/{hpux,unix98,bsd}/load.c:
5010			use HAVE_STDLIB_H for malloc/getenv
5011
501212/17/99
5013	timing: use psrinfo if available on suns
5014
50158/8/99
5016	config/borland/build.bat: add sset
5017	config/vms/descrip.mms: add sset
5018	config/win32/ntmsvc.mak: add sset
5019	lib/vms/popen.c: add retlen cast (for Alpha)
5020	lib/vms/tty.c: remove trailing NULs
5021
50227/2/99
5023	timing: use ./xsnobol4 (in case . not in user PATH)
5024		redirect sysctl stderr (some garbage on BSDI 4.0)
5025	autoconf: check for libdl in /shlib (for BSDI 4.0)
5026
50275/2/99
5028	autoconf: add mtxinu43, check for missing finite() on hpux
5029	new: config/mtxinu43.m4, lib/hpux/finite.c
5030
50315/1/99
5032	lib/win32/inet.c: add setsockopt, get_osfhandle, (short) casts
5033
50344/27/99
5035	snolib/http.sno: request 8k record length
5036	lib/snolib/sset.c: use oof parameter to io_sseek
5037	lib/io.c: fixed io_findunit, io_sseek
5038	Makefile2.m4: add sset.o
5039
50404/16/99
5041	config/vms/descrip.mms: fixes for AXP/DECC (not tested in 4 yrs?)
5042
50434/12/99
5044	lib/win32/sys.c: fix osname()
5045	Makefile2.m4: set SHELL=/bin/sh
5046
50473/12/99
5048	Add Experimental scaled SET interface;
5049	lib/io.c: add io_sseek()
5050	pml.h: add SSET
5051	new lib/snolib/sset.c
5052
50533/3/99
5054	INSTALL: update for --prefix
5055
50562/26/99
5057	Tested on FreeBSD 3.1
5058	autoconf: look for getopt in unistd.h
5059	timing: look for sysctl in /sbin
5060
50612/2/99
5062	Makefile2.m4: add SHELL=sh for IRIX
5063
50641/22/99
5065	lib/win32/mstime.c: fix if(n)def NO_STATIC_VARS
5066
50671/14/99
5068	lib/{win32,vms}/inet.c: removed HAVE_SOCKADDR_LEN
5069
50701/8/99
5071	INSTALL: updates from John Refling <johnr@spimageworks.com>
5072	Makefile2.m4: remove $(MANPATH) first (from John Refling)
5073	README: add John Refling!
5074
507512/31/98
5076	updates from trying to make a FreeBSD "port";
5077	autoconf: add --prefix
5078	Makefile: change "default" to "all"
5079	Makefile2.m4: use PREFIX
5080
508112/28/98
5082	v311.sil, test/a.ref, test/dump.ref: fixed CASECL position
5083
508412/26/98
5085	autoconf: add --largefile
5086	lib/io.c: use ftello/fseeko thruout (crock ifdef on _LARGEFILE_SOURCE)
5087
508812/23/98
5089	lib/win32/sys.c: fix typo
5090
509112/19/98
5092	lib/bsd/inet.c, autoconf: removed HAVE_SOCKADDR_LEN
5093
509412/18/98
5095	autoconf: experiment: try setting _FILE_OFFSET_BITS to 64
5096		on Solaris 2.6 for Phillip Thomas
5097
509812/17/98
5099	config/vms/descrip.mms: tested, fixed
5100
510112/16/98
5102	Makefile: add .depend dependancy!
5103	Makefile2.m4: removed HAVE_UNISTD_H variable
5104		add explicit rules for version.o main.o data.o syn.o
5105	autoconf: check stdlib.h for getopt()
5106		flushed HAVE_UNISTD_H variable
5107		prefer gcc on sun4u systems!
5108	config/bsd44.m4 config/ansi.m4 config/bsd43.m4
5109		config/generic.m4 config/hpux-68k.m4
5110		config/netbsd-alpha.m4 config/nextstep3.m4
5111		config/osf1.m4 config/posix.m4 config/skel.inc
5112		config/ultrix-mips.m4: add $(SRCDIR)
5113	lib/bsd/mstime.c: set last_mstime!
5114		changed NO_GETRUSAGE_BUG to GETRUSAGE_BUG
5115	lib/date.c lib/generic/expops.c lib/unix98/load.c
5116		lib/realst.c lib/str.c lib/auxil/getopt.c
5117		lib/snolib/chop.c lib/snolib/cos.c
5118		lib/snolib/exp.c lib/snolib/log.c
5119		lib/snolib/sin.c lib/snolib/sqrt.c
5120		lib/snolib/tan.c: include system files first (to get __P)
5121	timing: make seperate symlink for snobol4 binary; remove .. prefix
5122
512312/14/98
5124	config/vms/descrip.mms: use vms inet.c!
5125	config/win32/ntmsvc.mak: use win32 inet.c!
5126	new lib/vms/inet.c: VMS only version
5127	new lib/win32/inet.c: winsock version; call WSAInit/Cleanup
5128	include/vars.h: add wsock_init
5129
513012/12/98
5131	timing:
5132		redir lsattr stderr to stdout (in case proc0 not found)
5133		avoid builtin "time" command if possible (for AIX4, OpenBSD)
5134	timing.sno: add "User" pattern for AIX4
5135	Makefile:
5136		add "default"; AIX4 make was making all the targets!
5137		moved "clean", "realclean" from Makefile2
5138		added "distclean"
5139	Makefile2.m4: moved "clean", "realclean" to Makefile
5140	autoconf: output libdl instead of -ldl
5141	config/osf1.m4: added -D_SOCKADDR_LEN
5142
514311/23/98
5144	lib/io.c: pass mode to osdep_open()
5145	doc/porting.ms: update
5146
514711/09/98
5148	config.guess: updated to new version
5149		added romp-ibm-aos
5150	autoconf: try use of dlopen() on 64-bit HP-UX
5151	genc.sno: process options
5152	Makefile2.m4: use genc.sno --inline option instead of inline.sno
5153		removed inline.sno from TAR files
5154
515511/02/98
5156	lib/vms/mstime.c: use CLK_TCK if available
5157
515810/31/98
5159	lib/bsd/mstime.c: avoid negative runtime deltas
5160
516110/22/98
5162	README: updated
5163
51648/18/98
5165	lib/win32/sys.c:
5166		add Win98
5167		suppress version numbers on Win95/Win98
5168		strip leading spaces from szCSDVersion
5169
51707/23/98
5171	autoconf: added cygwin32 test
5172
51736/12/98
5174	include/macros.h: change APDSP to call apdsp function
5175		after checking for non-zero length!
5176	lib/str.c: new apdsp function; call bcopy if above
5177		threshold (else do simple copy)
5178	12% reduction in genc.sno compile time
5179	 7% reduction in genc.sno run time
5180
5181Made 060298.tar.gz; fetched by;
5182	Charles Wardell <cwardell@skila.com>
5183
51845/30/98
5185	Changes to allow building a Win32 DLL out of SNOBOL4;
5186		(under ifdef NO_STATIC_VARS)
5187	Makefile2.m4: add syn_init.{h,h2}
5188	data_init.c: include vars.h
5189	gendata.sno: bracket equ.h & res.h against multiple includes
5190		include BUFFERs in res struct; ifdef struct res decls
5191	gensyn.sno: output syn_init.h (included by generated syn.c)
5192	main.c: allocate vars struct; call init_syntab
5193	parms.h: include vars.h
5194	version.c: include vars.h; update to 0.99.4++
5195	include/vars.h: new include file for static vars struct
5196	include/macros.h: ifdef math_error decl
5197	lib/{expops,endex,stream,date,ordvst,intspc,realst,init}.c: vars.h
5198	lib/{ansi,generic}/convert.c: include vars.h
5199	lib/win32/{load,mstime,tty}.c: keep static in vars.h storage
5200	lib/snolib/{host,retstring}.c: use vars.h
5201
52025/29/98
5203	lib/io.c: moved all static vars to "struct iovars" for DLL'ification
5204		units array and indexing now hidden by INTERN and FINDUNIT
5205		ran comdef
5206
52075/6/98
5208	autoconf: seperate --no-dynlib and --no-dlopen options
5209
52104/9/98
5211	doc/ports.doc: updated
5212
52133/7/98
5214	lib/bsd/inet.c: comments, ran comdef
5215	lib/win32/mstime.c: swap old & new in subtraction!
5216
52173/3/98
5218	lib/win32/load.c: rework load path handling;
5219		try bare filename first, then prepend snolib dir
5220	lib/bsd/inet.c: define "unix" (for HP-UX, AIX)
5221
52223/2/98
5223	doc/load.doc: talk about HP-UX and getstring()
5224	README: fix Steve Kibler's name!
5225
52263/1/98
5227	config/vms/descrip.mms: add .ifdefs (for DEC_C, NO_TCP)
5228	INSTALL: document VMS MMS/MACRO= options
5229
52302/26/98
5231	lib/hpux/load.c: keep seperate "lib" struct with refcounts
5232
5233Gave to Steve Kibler (Win32 DLL port) 2/24/98
5234
52352/15/98
5236	INSTALL: updated
5237
52382/14/98
5239	config/borland/build.bat: add exists.c
5240	genc.sno: check for zero integer divisor, use RMATH_ERROR() macro
5241	include/macros.h: add RMATH_ERROR(); calls finite()
5242	config/win32/ntmsvc.mak: add -Dfinite=_finite
5243	new lib/dummy/finite.c
5244	Makefile2.m4: add FINITE_C
5245	autoconf: add finite.o
5246
52472/13/98
5248	config/win32/ntmsvc.mak: add exists.c
5249
52502/12/98
5251	new lib/vms/unlink.c: use delete function!
5252	lib/io.c: fixed TTY_READ_COOKED (noeol arg, accept empty lines)
5253	lib/vms/popen.c: fixed typo
5254	lib/vms/sys.c: blows on VAX up unless debug puts() present?
5255	lib/vms/tty.c: fixed term/termlen swap
5256	config/vms/descrip.mms: updated (works on uVAX 3100 under VMS 6.1)!
5257	removed build.com
5258
52592/10/98
5260	config/vms/{build.com,descrip.mms}: updated
5261	lib/stream.c: renamed index variable for VAX/VMS cpp
5262	lib/io.c: include res.h for VAX/VMS CC
5263	lib/bsd/inet.c: ifdef includes for VMS
5264	lib/vms/tty.c: fix typo
5265	lib/vms/popen.c: add <errno.h>
5266	new lib/vms/exists.c: check for file existance
5267	INSTALL: cleaned up VMS instructions
5268
52692/8/98
5270	config/win32/ntmsvc.mak: add TTY_C TTY_DEFS NO_BITFIELDS vars
5271	lib/io.c: add /dev/tmpfile, OSDEP_FOPEN
5272	README: add L. Gene Battin
5273
52742/6/98
5275	lib/bsd/inet.c: use winsock.h under USE_WINSOCK_H
5276	config/win32/ntmsvc.mak: USE_WINSOCK_H, use wsock32.lib
5277
52782/5/98
5279	Makefile2.m4: move exists to snolib.a
5280	config/vms/descrip.mms, build.com: add exists
5281
52822/4/98
5283	lib/dummy/rresvport.c: for NT
5284	lib/bsd/inet.c: use winsock2.h on NT
5285	lib/win32/tty.c: fix typos
5286	new config/win32/ntmsvc.mak: NMAKE file
5287		add -O2, remove -Za, define __STDC__ as zero to avoid
5288		losing non-ANSI extensions! define isnan as _isnan
5289
52902/2/98
5291	lib/snolib/file.c: use exists() function
5292	lib/win32/load.c: use exists() function
5293	new lib/generic/exists.c, lib/win32/exists.c
5294	ntmsvc.bat: add -DUSE_STDARG_H, -DUSE_WINSOCK_H
5295		removed dump.{c,obj}
5296	Makefile2.m4: add exists.c, EXISTS_C
5297	lib/bsd/inet.c: add USE_WINSOCK_H ifdef (ugh)
5298
52991/28/98
5300	Fixed up ntmsvc.bat with help from Bert Vincent
5301	add win32/rename.bat to fix truncated filenames
5302	new lib/win32/tty.c
5303
53041/27/98
5305	lib/win32/sys.c: worked first try; made it better
5306	lib/win32/load.c: now compiles
5307	tested win32 popen-- works on NT 4.0
5308	lib/bsd/inet.c: added NEED_SOCKADDR_LEN ifdef
5309	autoconf: add INCDIR; define NEED_SOCKADDR_LEN if needed
5310
53111/26/98
5312	config/win32/ntmsvc.bat: removed some rem's, use new files!
5313
53141/5/98
5315	new lib/win32/popen.c: use MSVC _popen() UNTESTED!!
5316	new lib/win32/load.c: use LoadLibrary() UNTESTED!!
5317	lib/win32/sys.c: use GetSystemInfo() for hw type
5318		use GetVersionEx for O/S
5319	lib/win32/mstime.c: use GetSystemTime() and SystemTimeToFileTime()
5320		if GetProcessTimes fails (only implemented on NT?)
5321
532212/23/97
5323	include/h.h: add __P macro
5324	include/snotypes.h: add SIL_FUNC_PROTO macro
5325	include/syntab.h: add prototypes for functions in stream.h (if'ed out)
5326	lib/realst.c: declare void return
5327	lib/stream.c: fix accidental parameter removal?
5328	genc.sno: put silpath in top comment
5329	New include/lib.h: lib file prototypes (not used)
5330
533112/22/97
5332	New lib/win32/sys.c, lib/win32/mstime.c: UNTESTED, UNUSED
5333	README: add David Feustel
5334
533512/21/97
5336	New config/win32/tlist.bat
5337	New config/win32/nttest.bat
5338		David Feustel's WinNT reression test batch files
5339
534012/17/97
5341	New config/win32/ntmsvc.bat:
5342		David Feustel's WinNT batch file using MS VC++ 5.0
5343
534412/10/97
5345	Fixes from David Feustel's WinNT port;
5346	config/borland/build.bat: add missing files
5347	lib/io.c: added NEED_POPEN_DECL
5348
534912/5/97
5350	doc/snobol4.1: fix typo (thanks to Phillip Thomas)
5351
5352Gave to David Feustel 12/3/97 for WinNT port (0-99-4xx.zip)
5353Gave to Phillip Thomas 11/23? for tcp/findunit fixes
5354
535511/23/97:
5356	lib/init.c: catch SIGPIPE!
5357	lib/io.c: write newline directly if unbuffered
5358	Makefile2.m4: send test results to stdout
5359
536011/22/97:
5361	lib/bsd/inet.c: removed extra "int port" decl
5362
536311/21/97:
5364	Fix io_endfile() exhaustion reported by Phillip Thomas
5365	lib/io.c: io_closeall(); return status, free file blocks
5366		io_endfile(); call io_closeall(), even if no curr!
5367
536811/16/97:
5369	lib/generic/expops.c: use int_t in SIGN cast
5370
537111/8/97:
5372	doc/porting.doc: NO_UNBUF_RW
5373	Makefile2.m4: install .h files in snolib dir
5374		make hard link for snobol4-VERS
5375		touch snobol4 after hard link
5376			to ensure newer than snobol4.c
5377
537811/7/97:
5379	v311.sil: removed keyword tracing for &ERRTEXT
5380		didn't work (output as integer)
5381		neither SNOBOL4+ nor SPITBOL allow it
5382
538311/5/97:
5384	v311.sil: replace PROC with XPROC on merged scanner procs
5385	snolib/spitbol.sno: set &FULLSCAN = 1
5386	gendata.sno: get input filename using HOST() functions
5387	genc.sno: get input filename using HOST() functions
5388		add missing "new" SIL op names to comments
5389		add new XPROC op
5390	Makefile2.m4: pass SIL file to genc, gendata on command line
5391	lib/dump.c: use X_BKSIZE() in dump_dyn()
5392	timing: link v311.sil into timdir, and pass on command line to genc.sno
5393	include/macros.h: check second character in LEXEQ()
5394
539511/4/97:
5396	lib/init.c: increase default dynamic space to 64K descrs
5397	Makefile2.m4: removed -d512k arg from SNOBOL4 command
5398		(could reduce workspace in 64bit environs)
5399	genc.sno: use X_BKSIZE and X_GETLTH macros
5400	include/macros: add X_BKSIZE and X_GETLTH macros
5401
540210/30/97:
5403	lib/pat.c: make inlinable
5404	parms.h: inline pat.c
5405		8% reduction in genc.sno compile time
5406	v311.sil: catch bad data at PATBRA
5407
540810/29/97:
5409	lib/vms/{tty,getredirect,term}.c: flushed xxx_file hacks
5410		always use fgetname()
5411
541210/28/97:
5413	genc.sno: add IND before "hash()"
5414	v311.sil: merge scanner functions into SCIN1
5415	globals, procs: removed scanner functions
5416		genc runtime reduced 15%
5417		avoids nasty mutual recursions, stack overflows
5418		atn.sno runtime reduced by 63%!! (2.7x faster)
5419		worst case (4096 char string) reduced 69% (4.8x faster)
5420		snocone self-compile runtime reduced 5%
5421
542210/27/97:
5423	lib/io.c: perform lseek() directly on unbuffered units
5424	config/hpux.m4: removed -Dconst (now done in h.h)
5425	snolib/ftp.sno: add mode arg to FTP.DATA.COMMAND
5426			add TCP.DATA.CLOSE function
5427			fix anon open error return
5428
542910/24/97:
5430	v311.sil: allow REALs in INTVAL for Stephen Del Rea (from SNOBOL4+)
5431	snolib/snobol4+.sno: removed CONVERT() calls
5432	snolib/url.sno: use file.sno for local files
5433	test/tests.in: add intval
5434	New snolib/file.sno: local file ops for URLs
5435	New test/intval.sno test/intval.ref tests
5436
543710/11/97:
5438	snolib/http.sno: add "Host: " to request
5439
544010/10/97:
5441	snolib/snobol4+.sno: accept REAL offset argument to SEEK()!
5442	lib/vms/sys.c: removed OSNAME, trim trailing spaces from version
5443
544410/10/97:
5445	snolib/snobol4+.sno: add SEEK()
5446
544710/5/97:
5448	New h/dt.h; struct definitions for SNOBOL4 datatypes
5449	include/h.h: define dummy const & volatile if __STDC__ == 0
5450	lib/dump.c: use dt.h
5451
545210/3/97:
5453	lib/vms/sys.c: use SYS$GETSYIW to get architecture and VMS version
5454	lib/{bsd,dummy,posix,vms}/tty.c: add fname arg to fisatty
5455	lib/io.c: add FL_INPUT and FL_OUTPUT flags
5456		add fname arg to fisatty
5457
545810/1/97:
5459	New lib/borland/tty.c
5460	config/borland/build.bat: define TTY_READ_RAW, use borland/tty.c
5461
54629/30/97:
5463	Fixed (integer) math error handling;
5464	lib/init.c: declare math_error volatile
5465	include/macros.h: declare math_error extern volatile
5466	include/h.h: dummy out volatile on non-ansi compilers
5467
54689/29/97:
5469	doc/ports.doc: updated
5470
54719/27/97:
5472	gensyn.sno: set exit code if input file not found
5473	lib/realst.c: fixed comment
5474	doc/porting.ms: updated, merged, sorted ifdefs
5475
54769/26/97:
5477	lib/io.c: pass raw, keepeol flags to tty_read()
5478		add seperate TTY_READ_{RAW,COOKED} ifdefs
5479	lib/vms/tty.c: add back "raw" arg; support cooked reads (not used)
5480		add keepeol arg; use fgetname() to get fname for ASSIGN
5481		add TRMNOECHO (for cooked)
5482	config/vms/{build.com,descrip.mms}: TTY_READ_{RAW,COOKED}
5483	New: snolib/ftp.sno
5484
54859/25/97:
5486	lib/vms/tty.c: added SUCCESS() macro, NOFILTR flag, term[] mask
5487	lib/vms/popen.c: added SUCCESS() macro
5488
54899/24/97:
5490	autoconf: accept null string as an option for HPUX9
5491		problem reported by Yuli Barcohen
5492	config/borland/build.bat: added lib/generic/popen.c
5493	lib/io.c: removed NO_POPEN ifdefs
5494		TTY_READ for binary only, pass fname
5495	lib/bsd/tty.c: removed "old" and "TTY_SAVE_RECL"
5496	lib/vms/tty.c: use filenames to assign tty channels
5497	lib/posix/tty.c: removed "old"; fixed recl saving
5498	lib/vms/term.c: add term_file, term_fd globals
5499	lib/vms/getredirect.c: add std{in,out}_file globals
5500	New: lib/dummy/popen.c: does nothing
5501	New: lib/generic/popen.c: uses system()
5502
55039/23/97:
5504	lib/generic/expops.c: check for overflow
5505	New: snolib/smtp.sno snolib/http.sno snolib/url.sno
5506
55079/22/97:
5508	config/vms/{descrip.mms,build.com}: add READ_TTY define
5509	lib/generic/expops.c: use repeated multiply for expint()
5510	lib/vms/tty.c: implement tty_read(), tested
5511	lib/vms/popen.c: tested.  Now available in DEC C RTL??
5512
55139/21/97:
5514	lib/io.c: add io_finish();
5515		much tweaking;
5516		added TTY_READ ifdef
5517		call tty_close() even if FL_NOCLOSE set
5518		free source files when compiler finishes
5519		make "|xxx" open fail if NO_POPEN defined
5520	lib/endex.c: call io_finish()
5521	lib/vms/popen.c: replaced with version from Icon
5522	config/hpux-pa.m4: removed -mlong-calls per Yuli Barcohen
5523	timing: check for /bin/model
5524
55259/17/97:
5526	Makefile2.m4: made snobol4 precious
5527	lib/init.c: catch resource limit signals
5528	lib/io.c: use fgets() again in io_read(). Only getc()
5529		for last character, if needed.
5530	New: lib/vms/popen.c
5531	New: lib/vms/tty.c my crude attempt at noecho support
5532	config/vms/{descrip.mms,build.com}: add popen.c, use vms/tty.c
5533
55349/15/97:
5535	New: snolib/snobol4+.sno emulates SNOBOL4+ functions
5536
55379/13/97:
5538	New: snolib/{unique,fence,not}.sno from Peter Arno-Coppen
5539	New: snolib/spitbol.sno emulates SPITBOL I/O & functions
5540	snolib/bq.sno: use IO_FINDUNIT()
5541
55429/10/97:
5543	Makefile: replaced seperate 2nd level rules with one using $@
5544	Makefile2.m4: added SH=sh for IRIX
5545		replaced TESTED with "snobol4"
5546		do all cmp's silently
5547	lib/stream.c: stream tweaking; do put outside loop, use for()
5548
55499/9/97:
5550	v311.sil: Call io_pad() to fix -LIST RIGHT
5551	lib/io.c: add io_pad() function
5552	gensyn.sno: CONTIN is always implicit action zero
5553	lib/stream.c: handle CONTIN quickly (no table lookup);
5554		CONTIN actions are taken for 97% of characters scanned
5555		while compiling genc.sno; Compile time reduced by 8%
5556
55579/7/97:
5558	Ran profiling (prof and tcov)
5559	lib/io.c: only tack on one space to compiler input
5560	v311.sil: have compiler use length returned by STREAD
5561		reduces genc.sno compile time by 65%
5562			an average of 1000 padding spaces were being
5563			added to each line using 1024 recl.
5564		reduced 10% below compile time for 80 char recl.
5565		Use input length for listings; -LIST RIGHT is dead.
5566	lib/top.c: allow inlining
5567	parms.h: inline top.c
5568
55699/3/97:
5570	config/vms/build.com, config/vms/descrip.mms: updated
5571	new file lib/vms/sys.c
5572
55739/2/97:
5574	v311.sil: Implemented fatal "Output error"
5575		problem reported by Phillip Thomas in June 1994!
5576	genc.sno: pass iokey to io_output(), add labels to ENFILE
5577	io.c: return status from io_output(), io_endfile()
5578	procs: add COMP6
5579
55808/29/97:
5581	lib/unix98.c: add TRY_UNDERSCORE ifdef, enable for FreeBSD
5582		added mode var, default to zero if RTLD_LAZY not defined
5583
55848/20/97:
5585	lib/realst.c: include stdio.h for SGI -n32 ABI
5586
55878/19/97:
5588	lib/io.c: removed unused vars, fixed typos
5589	autoconf: fixed irix64 comment
5590
55918/13/97:
5592	configure: check into RCS!  Use ./autoconf
5593
55948/12/97:
5595	INSTALL: replaced autoconf references with configure
5596	timing: redirect sunmodel standard error output
5597
5598**************** version 0.99.4 (RCS tag BETA7)
5599
56008/11/97:
5601	version.c: upped to 0.99.4
5602	CHANGES, README: updated
5603	doc/snobol4.1: updated date
5604	doc/load.doc: new sections on shared libraries, I/O functions
5605	doc/ports.doc: updated version numbers
5606
56078/10/97:
5608	timing.sno: calculate FACTOR before using it! use CHECKHZ()!!
5609	new test: any
5610
56118/8/97:
5612	doc/ports.doc: updated
5613
56148/6/97:
5615	Makefile: use ./configure
5616	Makefile2.m4: added configure to tar
5617
56188/5/97:
5619	v311.sil procs syntax.tbl: Code from SNOBOL4+
5620		seperate syntax tables for BREAK(X) and SPAN
5621		simple index lookup for ANY/NOTANY
5622	lib/stream.c: new any() function
5623
56248/1/97:
5625	autoconf: general cleanup
5626		commented out irix64 detection (does not yet work)
5627	lib/stream.c: optimized clertb() -- 4% reduction in genc runtime!!
5628
56297/26/97:
5630	gensyn.sno: include h.h before syntab.h for non-ANSI compilers (sos4)
5631	sunmodel: use hostid on systems without openprom
5632	timing.sno: use REM to capture version number
5633	timing: removed "who am i"
5634	doc/ports.doc: updated
5635
56367/25/97:
5637	v311.sil: cleaned up clearing of compiler variables
5638	lib/auxil/bzero.c: zero blocks of "words"
5639
56407/18/97:
5641	autoconf: revamped gcc testing for Solaris/x86
5642
56437/16/97:
5644	doc/ports.doc: updated
5645
56467/11/97:
5647	autoconf: use CCVERS to output comments
5648		add --force-memmove; check for memmove in string.h if
5649			no bcopy(); define USE_MEMMOVE
5650	include/macros.h: added USE_MEMMOVE USE_MEMCMP ifdefs
5651		USE_MEMCMP not set; only necessary if DCMP_BYTES in use (rare)
5652	lib/bsd/inet.c: include macros.h for bcopy redefn
5653	INSTALL: document --force-memmove
5654	doc/ports.doc: updated
5655
56567/7/97:
5657	README CHANGES: updated for 0.99.4
5658
56597/6/97:
5660	init.c: deal with long arg vectors; created getargs() -- no static bufs
5661	lib/snolib/retstring.c: return long strings -- no static buf
5662
56637/5/97:
5664	autoconf: redirect grep output to /dev/null
5665	version.c: upped to ".3++" (pre .4 testing)
5666	doc/ports.doc: updated with "3++" timings
5667
56687/4/97:
5669	Makefile: made Makefile2 precious
5670	INSTALL: add --no-dlopen --no-dynlib
5671	doc/snobol4.1: add IO_FINDUNIT(), unit range, /dev/fd/n, dlopen(3)
5672	doc/porting.ms: add NO_FDOPEN
5673
56747/3/97:
5675	lib/io.c: add /dev/fd/ magic path, NO_FDOPEN ifdef
5676		add FL_NOCLOSE flag bit (but do fflush)
5677		have I/O close return status from (p|f)close
5678		have io_findunit() keep static finger
5679		Upped MAXUNIT to 256
5680	lib/snolib/findunit.c: PML access to io_findunit()
5681	pml.h: add IO_FINDUNIT
5682	Makefile2.m4: add findunit.c
5683	new tests longline, longrec
5684
56857/2/97:
5686	v311.sil: upped CARDSZ to 1024 again. For David J Birnbaum
5687
56887/1/97:
5689	lib/io.c: soak up excess "record" data after newline in ASCII input
5690		(problem reported by David J Birnbaum)
5691		Return full recl's worth of data for EOL mode ASCII input
5692			used to return recl-1; replaced fgets()
5693
56946/23/97:
5695	timing: cat /proc/meminfo on linux
5696
56976/22/97:
5698	lib/io.c: have T mode I/O imply unbuffered (for tty prompts)
5699	lib/snolib/getstring.c: handle null string
5700	tested resp.sno (see spring 1985)
5701	Makefile2.m4: add SNOLIB_FILE variable
5702	autoconf: check for bcopy() and bzero() in string.h
5703		alter SNOLIB_FILE when using dynamic linking
5704
57056/21/97:
5706	timing: use HP-UX "model" command, if present
5707	doc/snobol4.1: updated exponent info
5708
57096/20/97:
5710	lib/aux/bcopy.c: use (long) for casts
5711	ports.doc: updated
5712
57136/19/97:
5714	autoconf: look for /lib/libdl (for Linux)
5715	gensyn.sno: removed letter D from EXP class
5716	lib/ansi/convert.c: removed extra strtod() arg
5717	lib/realst.c: expanded buffer
5718		use "g" format (but make sure output doesn't look like an int)
5719		will use exponentials if output smaller.
5720		eliminates trailing zeroes, inaccurate output;
5721		(ie; 1e12 output as 999999995904.000000,
5722		 1.e14 output as 100000000376832.000000)
5723	syntax.tbl: allow exponent's without fractions (ie; 1e5), like SPITBOL
5724	timing: cat /proc/cpuinfo (if present) on Linux
5725		dump hw sysctl info on BSD systems
5726	updated test output for realst change for;
5727		conv2.ref float.ref pow.ref space.ref spit.ref
5728
57295/27/97:
5730	lib/str.c: add spec2str() utility
5731	lib/bsd/load.c lib/unix98/load.c lib/dummy/load.c lib/hpux/load.c:
5732		make consistant; use spec2str, check for abs path
5733			clear V/F fields in function pointer
5734	autoconf: use hpux/load.c on HP's with dl.h
5735
57365/22/97:
5737	lib/bsd/load.c lib/unix98/load.c:
5738		fix "next" pointer setup
5739	new lib/hpux/load.c
5740
57415/21/97:
5742	gendata.sno gensyn.sno parms.h data_init.c v311.sil version.c
5743	Makefile2.m4 lib/ansi/convert.c lib/generic/convert.c
5744	lib/dump.c lib/endex.c lib/str.c lib/ordvst.c lib/init.c:
5745		Created "struct res" for resident data.  All data now
5746		in named members, for easier debug.  Expressions now
5747		legal in SIL ARRAY macro!  flushed duplicate COPYSP decl.
5748		New machine generated res.h file.
5749	lib/stream.c:
5750		use isspace() in trimsp().
5751
57525/20/97:
5753	genc.sno lib/endex.c include/macros.h parms.h:
5754		applied 10/10/96 tailcall depth stats changes
5755		all tailcalls use "BRANCH()" macro
5756		don't output PANIC() if LIVE not set
5757		9% reduction in isnobol4.c size
5758	genc.sno include/macros.h:
5759		moved RSTSTK() to RETURN() macro
5760		"alt" variable never needed,
5761		no need to bracket/indent calls
5762		5% reduction in isnobol4.c size
5763
57645/17/97:
5765	lib/str.c: TRIM tabs as well as spaces, like SPITBOL
5766	test/trim{0,1}.{sno.ref}: added tab tests
5767
57685/3/97:
5769	lib/unix98/load.c: check for name with _ prepended
5770		if not found (for NetBSD/pc532)
5771
57724/24/97:
5773	autoconf: added comments, $(SRCDIR) on XXX_C= lines
5774
57754/17/97:
5776	Makefile, Makefile2.m4: use mv -f throughout
5777	tested dlopen() on OSF/1, SGI
5778
57794/14/97:
5780	config/irix64.m4: ditch long long
5781	autoconf: check for libdl
5782
57834/13/97:
5784	new lib/unix98/load.c: load support using dlopen()
5785	autoconf: check for dlfcn.h, added --no-dlopen
5786
57874/5/97:
5788	doc/snobol4.1: document DATE() args
5789	autoconf, timing: added CCVERS for C Compiler version
5790	autoconf: new options --add-{cppflags,ldflags,objs,opt,srcs}= --opt=
5791	INSTALL: document new autoconf options
5792
57934/2/97:
5794	genc.sno, v311.sil, lib/date.c: support SPITBOL DATE() args
5795	doc/ports.doc: 486SX33
5796
57973/27/97:
5798	doc/snobol4.1: typo tweaks
5799
58003/7/97:
5801	doc/ports.doc: lots of new stuff from Rik Faith
5802		reformatted: removed "conf" column, added "opt"
5803
5804**************** version 0.99.3 (RCS tag BETA6)
5805
58062/12/97:
5807	autoconf: added sun4u and define __SPARCV9__
5808	lib/bsd/dynamic.c: add vm_gc_advise()
5809	lib/generic/dynamic.c: add vm_gc_advise
5810	lib/io.c: default SNOLIB_DIR to "./" (for DOS)
5811	v311.sil: add calls to vm_gc_advise()
5812	version.c: upped version to 0.99.3
5813	config/borland/build.bat: new version from Steve Kibler
5814	config/borland/README: updated
5815	doc/ports.doc: new ss2 timing
5816	diffall: take TAG arg
5817	README: upped version to 0.99.3
5818	CHANGES: updated
5819
582012/25/96:
5821	autoconf: added openbsd
5822	config.guess: updated to latest (knows openbsd)
5823	doc/ports.doc: add openbsd/486, hpux7
5824
582512/10/96:
5826	README: mention SNOBOL4 list, new contributors
5827	lib/ansi/convert.c, lib/generic/convert.c:
5828		apply length limit.  EVAL() can pass big strings!
5829		bug reported by p.a.coppen
5830
583112/07/96:
5832	second last TMRC open house in Bldg 20
5833	init.c: mention "k" suffix in usage message, per skibler
5834	lib/auxil/getopt.c: reorder includes for borland 4.51, per skibler
5835	lib/dummy/tty.c: add h.h for FALSE, per skibler
5836	lib/generic/sys.c: fixed ANSI_STRINGS ifdef sense. ran comdef
5837
583812/04/96:
5839	autoconf: grep strings.h for "index" before using BSD functions
5840
5841**************** version 0.99.2 (RCS tag BETA5)
5842
584311/28/96:
5844	timing.sno: made NOTIME error non-fatal
5845	doc/ports.doc: added bsdi
5846	checked out on AIX 4.1.2
5847
584811/27/96:
5849	README: updated version
5850	INSTALL: ./autoconf
5851	genc.sno: renamed raise() to raise1() to avoid ANSI raise() function
5852	lib/str.c: raise() -> raise1()
5853	doc/ports.doc: added HP 720/HP-UX 9.05
5854	version.c: upped version to 0.99.2
5855	checked out on HP-UX 9.05, SunOS 5.4, SunOS 4.1.4
5856
585711/24/96:
5858	doc/ports.doc: new timings
5859
586011/19/96:
5861	CHANGES: updated
5862
586311/14/96:
5864	timing.sno: output $rev$
5865	config/gcc.m4: removed obsolete(?) SNOBOL4_CFLAGS=$(SNOBOL4_C_CFLAGS)
5866	config/hpux.m4: changed -D_INCLUDE_POSIX_SOURCE to -D_HPUX_SOURCE
5867
586811/13/96:
5869	timing, timing.sno:
5870		output on genc.sno to stdout, stderr
5871		move stdout compare check out of timing.sno
5872		allow times +/-1, +/-5%
5873	autoconf: avoid gcc on hppa-hpux
5874	test/clean.sh: rm *.bin
5875
587611/12/96:
5877	autoconf: check for sys/ttyio.h, define USE_TTYIO
5878	lib/bsd/tty.c: add USE_TTYIO ifdef for Version 10
5879
588011/11/96:
5881	INSTALL: change tcp.c to inet.c
5882
588311/08/96:
5884	doc/ports.doc: Ultra 170E, 200MHz PPro
5885
588611/06/96:
5887	lib/io.c: export io_mkfile(), call io_closeall(), return a value
5888		add /udp magic path
5889		add {STDOUT,STDERR,TERMIN}_NAME defines
5890		add io_findunit(), io_getfp(),
5891			export io_closeall() for PML'ed I/O
5892		renamed FOPEN_NO_B to NO_FOPEN_B
5893		add comments (incl. "close hook" idea)
5894	lib/bsd/inet.c: make "priv" open for UDP fail
5895		use INADDR_NONE; define our own if none avail
5896	Makefile: add xsnobol4 tag, $(TARGET)
5897	doc/ports.doc: timing for 110Mhz SS5
5898
589911/05/96:
5900	doc/ports.doc: timing for netbsd/sparc on 4/110
5901		clock speeds for A3000, 4/100
5902	put allrcs, diffall, tagall under RCS
5903
590411/04/96:
5905	lib/io.c: fix "update I/O"; add "last" member to struct file and
5906		fseek() before direction changes
5907	test/tests.in: add update
5908	INSTALL: add c-mainbol-users-request addr
5909	fixed diffall to handle new files
5910
591110/30/96:
5912	autoconf: add option processing; --force-gcc, --no-gcc options
5913		add check for getopt in stdio.h; add getopt.o $(GETOPT_C)
5914		add comments on sgtty use
5915		use CCPATH more
5916	config/skel.inc, config/bsd43.m4: remove getopt.o $(GETOPT_C)
5917	doc/ports.doc: new P75, PPro175(!!) numbers
5918	doc/snobol4.1: fix typo
5919	checked out fresh copies of all files with old (two digit year)
5920		RCS Id's, for cleaner rcsdiffing
5921	INSTALL: talk more about what autoconf, Makefile2 do
5922		document autoconf options
5923	Makefile2.m4: remove old files in SNOLIB_DIR before installing new ones
5924		(thanks to Jerry Leichter)
5925
592610/29/96:
5927	config/hpux-pa.m4: add gcc -mlong-calls comments
5928	doc/ports.doc: got an Alpha model number
5929
5930**************** version 0.99.1 (RCS tag BETA4)
5931
593210/28/96:
5933	autoconf: fix c89 test, add isnan.o for m68k-hp-bsd
5934	config/bsd43.m4: remove isnan.o
5935	version.c: updated vdate
5936	doc/snobol4.1: updated date
5937
593810/27/96:
5939	lib/io.c: add USE_STDARG_H ifdefs (just in case)
5940
594110/26/96:
5942	Makefile2.m4: have io.o, load.o depend on $(MAKEFILE)
5943		use $(LD_PATH) for load.o
5944	INSTALL: no longer need to fuss with io.o, load.o
5945	autoconf: use generic/term.c if no unistd.h
5946	config/bsd43.m4: set LD_PATH, removed TERM_C
5947	timing: search PATH for uname
5948	lib/bsd/tty.c, lib/posix/tty.c:
5949		use tty_mode(stdin,0,0,0) for tty_save() AND tty_restore()!!
5950	lib/io.c: call tty_mode() in io_flushall if FL_TTY set
5951
595210/25/96:
5953	v311.sil: call io_flushall
5954	lib/io.c: add io_flushall, ran comdef, add comments
5955		add fp check in io_seek()
5956		include ctype.h
5957	lib/lexcmp.c: subtract lengths
5958	lib/bsd/inet.h: include ctype.h
5959	lib/snolib/host.c, lib/snolib/exit.c: call io_flushall
5960	autoconf: tweak *bsd*
5961	Makefile2.m4: add sunmodel to tar; add leading -'s in install
5962	config/bsd43.m4: add getopt, isnan
5963	doc/ports.doc: hp370/bsd43, pc532/netbsd
5964	include/macros.h: compare first char in LEXEQ macro
5965		NOTE: all timings for 0.99.1 include LEXEQ change
5966	tested on Mt. Xinu 4.3
5967
596810/24/96:
5969	INSTALL: updated
5970	new: sunmodel script
5971	timing: run sunmodel on SunOS, hinv on IRIX
5972		add cleanup trap
5973	Makefile2.m4: removed syn.c2 from GENERATED
5974
597510/23/96:
5976	new lib/generic/execute.c
5977	new lib/dummy/execute.c
5978	removed lib/dummy/execl.c
5979	lib/snolib/exit.c: use execute function
5980	Makefile2.m4: add execute.o EXECUTE_C, removed execl.o EXECL_C
5981	CHANGES: updated
5982	README: updated
5983	version.c: upped to 0.99.1
5984	tested on SunOS 5.4, IRIX 5.2
5985
598610/22/96:
5987	new lib/bsd/tty.c
5988	new lib/bsd/tty.c
5989	new lib/dummy/tty.c
5990	lib/posix/tty.c: add USE_TERMIO
5991	lib/io.c: free include list at end of compilation
5992	new config/irix64.4
5993	autoconf: use irix64.m4 on "IRIX64"
5994		add -lsocket if libsocket.a exists
5995		add -lnsl if libsocket.a exists and on "SunOS"
5996		use dummy/inet.c if no socket.h
5997		check for termios.h/termio.h/sgtty.h
5998	Makefile2.m4: mention ports.doc
5999	doc/porting.ms: updated
6000	doc/snobol4.1: fixed lq,rq
6001
600210/21/96:
6003	lib/io.c: pass recl to tty_mode; use fisatty, tty_close
6004	lib/posix/tty.c: add save list, tty_close, tty_mode recl arg
6005		add TTY_SAVE_RECL, TTY_RAW ifdefs
6006	doc/snobol4.1: updated
6007
600810/20/96:
6009	lib/io.c: fix so REWIND(5) works on stdin: clear fp->f in io_close
6010	lib/posix/tty.c: disable CR/LF translation, signal processing
6011
601210/19/96:
6013	v311.sil: add SPITBOL SET() function
6014	procs, globals: add SET
6015	lib/io.c: fix io_open[io] to allow rewind (set "head")
6016		add io_seek for SET()
6017		add /tcp magic path
6018	new lib/bsd/inet.c lib/dummy/inet.c
6019
602010/18/96 (my 35th birthday);
6021	lib/io.c: implement update, unbuffered, append, raw tty, noecho
6022		tty modes are per-unit!
6023	lib/posix/tty.c: POSIX.1 tty support
6024	lib/endex.c: call tty_restore()
6025	lib/init.c: call tty_save()
6026	Makefile2.m4: add tty.o TTY_C
6027
602810/17/96:
6029	hacked up a version to use gcc &&label construct and compile
6030	all of v311.sil as a monolithic function (no SYSCUT or UNDF
6031	entry points) benchmarked using genc.sno, snocone2.sno, atn.sno
6032
603310/15/96:
6034	v311.sil: use XCALLC for io_open[io]
6035		replace INPUT() 3'rd arg with options string
6036		pass options/format to io_open[io]
6037		get recl back from io_openi
6038	genc.sno:
6039		deprecated XOPEN[IO]
6040	lib/io.c:
6041		implement io_options, io_open[io] take new args
6042		implemented "terminal" mode
6043
604410/13/96:
6045	v311.sil: fixes from SNOBOL4+ to avoid "Internal Errors" on runout
6046
604710/12/96:
6048	v311.sil: fix error pointer again
6049		add COMPCL; don't show syntax errors after compilation done
6050		set &ERRTEXT with compilation error messages!
6051
605210/11/96:
6053	doc/ports.doc: updated
6054	v311.sil: don't crash on CODE() syntax errors
6055
605610/10/96:
6057	doc/ports.doc: updated
6058
605910/9/96
6060	test/spit.sno: enabled ? at top level
6061	test/tests.in: removed ntrace.sno -- covered in spit.sno
6062	performed analysis of functions inlined
6063	looked at longjmp'ing out of deep tail-calls
6064		(analyzed tail-call depths)
6065
6066**************** version 0.99 (RCS tag BETA3)
6067
606810/7/96
6069	TODO: updated
6070	CHANGES: updated
6071	INSTALL: wrote it
6072	doc/snobol4.1: updated
6073	doc/ports.doc: updated
6074	autoconf: fix CONFIG_GUESS; add netbsd-alpha, osf1-alpha
6075		add CCPATH (was GCCPATH)
6076	config/alpha.m4: split out from osf1.m4
6077	config/gcc.m4: let autoconf do CC=
6078	new: config/netbsd-alpha.m4 config/osf1-alpha.m4
6079	lib/bsd/load.c: undef N_SIZE for NetBSD
6080	lib/init.c: save signal number in SIGNCL
6081	v311.sil: display signam number (SIGNCL) from SYSCUT
6082	config.guess: latest version; added romp-ibm-aos
6083	Makefile: add spotless, install
6084	Makefile2.m4: add spotless, install
6085	tested on AOS/ACIS 4.3; NetBSD/Alpha 1.2
6086	version.c: upped to 0.99
6087
608810/6/96
6089	CHANGES: new
6090	INSTALL: empty place holder
6091	doc/porting.ms: updated
6092	Makefile2.m4: add CHANGES INSTALL to tar
6093		add syn.c, syn.c2 back to tar
6094	doc/ports.doc: updated
6095	tested on SunOS 4.1.3U1, 4.1.4, 5.4, 5.5;
6096		HP-UX 10.10; IRIX 5.2; AIX 4.1; OSF/1 3.2
6097
6098**************** version 0.98.5
6099
610010/5/96
6101	README: updated
6102	add bsplitu.c
6103	autoconf: ADD_OBJS/SRCS for bcopy, bzero
6104		flushed ANSI_STRINGS var; moved back to ADD_CPPFLAGS
6105		added SYSDEFS to sys.o (for -DOSNAME or -DHWNAME)
6106	Makefile2.m4: flushed ANSI_STRINGS var
6107		added SYSDEFS
6108		added rules for dummy files: execl.o getenv.o system.o
6109		worked on "make tar"
6110		use bsplitu in "make uu"
6111	config/skel.inc: removed ADD_OBJS/SRCS for bcopy, bzero
6112	lib/init.c: fix usage; show name, version, date, descr size
6113	new lib/dummy/{execl,getenv,system}.c
6114	doc/snobol4.1: updated
6115
611610/4/96
6117	new lib/generic/sys.c, lib/posix/sys.c
6118	lib/snolib/host.c: use osname(), hwname()
6119	autoconf: check for ranlib, set RANLIB
6120		check for sys/utsname.h; set SYS_C
6121		add CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
6122	Makefile2.m4: add SYS_C, sys.o
6123		use CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
6124	config/skel.inc: removed -DANSI_STRINGS
6125	Makefile: add local-config comment to Makefile2
6126	doc/porting.ms: updated
6127	v311.sil: more comment tweaking
6128		moved INCSTK to ICLBLK (sir.sno GC crashed compiler)
6129		increased FNLIST free space to 20 functions
6130	version.c: always include macros.h
6131		upped version to 0.98.5
6132
613310/2/96
6134	doc/load.sno: add polymorphic args/returns
6135	include/load.h: add RETTYPE macro
6136	autoconf: add comments about local-config to generated config.m4
6137	Makefile2.m4: add SNOLIB_SRCS for make depend; quote include for pv
6138	lib/init.c: round ndynamic, pmstack down to even number of descrs
6139	lib/pml.c: fix const pointer, rename PMLOAD to PMPROTO
6140	lib/snolib/host.c: use RETTYPE
6141	lib/snolib/exit.c: improve comments
6142	test/tests.in: add ntrace
6143	pml.h: add FILE() RENAME() DELETE(); changed PMLOAD to PMPROTO
6144	include/macros.h: removed D_XXX; declare ostack as global descr
6145	v311.sil: fixed space at end of FNLIST; upped STSIZE from 1000 to 1500
6146		dynamic allocation slows OFCHK!
6147
61489/30/96
6149	v311.sil: don't zap FILENM at XLATND in case only stmt is END!
6150		use getpmproto function
6151	lib/pml.c:
6152		made arrays const
6153		add getpmproto function
6154	include/path.h
6155		removed SNOLIB_A, SNOLIB_DIR defaults
6156	Makefile2.m4: fixed SNOLIB_A path
6157		add SNOLIB_DEFS (supply SNOLIB_DIR and SNOLIB_A values)
6158		add *.a to disposables
6159
6160**************** 0.98.4
6161
61629/29/96
6163	v311.sil, procs, globals: renamed EXP to EXPOP
6164	renamed lib/{dummy,generic}/exp.c to lib/{dummy,generic}/expops.c
6165	autoconfig: include contents of local-config file, if any
6166	genc.sno: output '#define INLINING'
6167	param.h: add ifdef INLINING; inline hash.c
6168	pml.h: add HOST, EXIT, LOG, EXP, CHOP, SQRT, SIN, COS, TAN
6169		add NO_PML_{EXIT,HOST,REAL,TRIG}, ran comdef
6170	lib/hash.c: allow inlining
6171	lib/io.c: use HAVE_UNISTD_H, check for L_SET
6172	moved snolib/*.c to lib/snolib/
6173	Makefile2.m4: add AUX_OBJS, AUX_SRCS, SNOLIB_A
6174		add SNOLIB_A to regular link
6175		add -r flag (back?) to make clean
6176		add warning for make realclean
6177		renamed exp.c to expops.c
6178		add rules to build snolib.a
6179		moved AUX_OBJS to snolib.a
6180	version.c: 0.98.4
6181
61829/28/96
6183	doc/snobol4.1: ran ispell
6184
61859/27/96
6186	doc/snobol4.1: updated
6187	doc/Makefile: use groff; add snobol4.html, snobol4.ps, porting.html
6188	doc/design.doc: updated
6189
61909/25/96
6191	doc/snobol4.1: updated
6192	added sin.c, cos.c, tan.c, exp.c, log.c, sqrt.c, chop.c to snolib
6193	v311.sil: fixed autoload temp usage
6194	version.c: add snoname, made version strings "const" again
6195	Makefile2.m4: add RANLIB, compile pv with -I./include
6196	lib/init.c: added -h
6197	lib/io.c: check SNOLIB for INCLUDE files
6198		remove trailing NUL's in STPRNT when compiling
6199		plug NUL's with spaces in place
6200		Listings finally tamed?
6201
62029/24/96
6203	lib/init.c: cleaned up usage message; fixed getk(), -p/-D alloc
6204		have math_catch & err_catch take int arg
6205	genc.sno: pass hash() two args
6206	lib/hash.c: take two args; added lots of comments
6207		tried different ascention calculations, no big wins
6208	Makefile2.m4: added DATA_INIT_CFLAGS
6209	removed unused symlinks config/posix.m4, config/irix.m4
6210	timing: take snobol path and args
6211	timing.sno: get version, added CHECKHZ(), DIFF array
6212		add yet another time format for m68k-hpux8.0
6213		indicate line number of diff failure
6214		handle blank line at end of diff
6215	include/snotypes.h: added VFLD_T
6216	lib/io.c: use strncpy, S_L for %v/%S in io_printf
6217	doc/ports.doc: updated
6218	config/osf1.m4: set NO_BITFIELDS, use double for FLOAT_T
6219	v311.sil: add autoload!!
6220	procs: add LOAD2
6221	pml.c: add PMPROTO macro for autoload
6222
6223**************** version 0.98.3?
6224
62259/23/96
6226	genc.sno: twiddle &INPUT (reduces some overhead)
6227	ports.doc: updated
6228	autoconf: (re)set CC when cc is gcc!
6229		show gcc version
6230		added HAVE_UNISTD_H define
6231	lib/init.c: cleanup, implemented -P (malloc pmstack)
6232		added getk(), -d takes bytes, k = 1024
6233	v311.sil: removed PDLBLK (now malloced in init)
6234		dropped SPDLDZ back to 5000
6235		tried doubling string hash table size (to 512)
6236			no big win (<2%); left it alone
6237	Makefile2.m4: updated -d arg
6238
62399/22/96
6240	v311.sil: use MOVA for &LAST(FILE|LINE) for speed
6241		handle tabs in error pointer code, moved FILCHK
6242		include file & line in compiler error messages
6243	test/tests.in: add line.sno err.sno reverse.sno
6244	lib/io.c: trim STPRNT output while compiling
6245	doc/snobol4.1: updated
6246	Makefile2.m4: fixed make tar
6247	version.c: upped version to 0.98.3
6248
62499/21/96
6250	v311.sil: added &PARM. fixed error number typos from yesterday.
6251	lib/init.c: added getparm()
6252	lib/date.c: use full julian year
6253	Makefile2.m4: removed vfprintf
6254	config/bsd43.m4 removed vfprintf
6255	deleted lib/auxil/vfprintf
6256	doc/snobol4.1: updated
6257
6258**************** version 0.98.2
6259
62609/19/96 & 9/20/96
6261	v311.sil:
6262		canonicalized lines with two edit numbers
6263			fixed some comment typos
6264		don't increment &STCOUNT if &STLIMIT < 0
6265			keep seperate stmt count for stats output
6266		add errors for bad INCLUDE, INCLUDE open error, missing END
6267		add &LINE &FILE and -LINE for real source line in errors
6268			use io_file to get initial (and subsequent filenms)
6269		add S4+ CTLADV proc, use for INCLUDE and LINE processing
6270		put all control card tests in a row
6271		add &LASTLINE &LASTFILE &ERRTEXT keywords
6272		changed formats; added file/line to errors
6273	lib/io.c: add NO_OFF_T, io_file
6274		removed quote removal in io_include
6275		implement conversions for io_printf for var/spec
6276	lib/init.c: implemented -M option for multifile input
6277		added SIGARG_T to SYSCUT prototype for picky compilers
6278	lib/lexcmp.c: fix for unequal string lengths by Keith Waclena
6279	README: added Keith Waclena
6280	test/tests.in: add lgt (by Keith Waclena)
6281	procs: add CTLADV, FILCHK, COMP1
6282	genc.sno: put &TRIM = 1 back for SNOBOL4+, allow _ in args
6283		pass addrs to io_printf, no more hacks for floats
6284	config/hpux-pa.m4: add -D_INCLUDE_POSIX_SOURCE for non gcc builds
6285	config/vms/build.com, config/vms/descrip.mms: add NO_OFF_T, SUBSTR defs
6286	autoconf: added undefine hpux, interferes with include file names!
6287	param.h include/macros.h: declare cstack only once (in snobol4.c)
6288	cc-M: reworked for #line output (AIX)
6289	Makefile2.m4: make GENERATED files newer than G2 versions
6290		add comments, cleanup & quoting in kitting
6291		compile, use pv
6292	version.c: moved version, ifdef MAIN back (for VMS)
6293		upped version to 0.98.2
6294
62959/18/96
6296	lib/auxil/getopt.c: fix ERR() for SUNpro (Sol2 fix)
6297	configure: fixed echo to stderr (Sol2 fix)
6298	doc/ports.doc: updated (new section for 0.98+)
6299	gendata.sno, genc.sno, gendep.sno: use TERMINAL, flush STDERR
6300		read SIL source from stdin
6301	Makefile2.m4: add SIL=, gendata.sno, genc.sno, gendep.sno read stdin
6302	timing: genc.sno takes SIL from stdin
6303	v311.sil: add REVERSE(), SUBSTR(), LEQ(), LGE(), LLE(), LLT(), LNE()
6304	globals: add REVERSE, SUBSTR, LEQ, LGE, LLE, LLT, LNE
6305	lib/str.c: support for REVERSE(), SUBSTR()
6306	test/tests.in: removed punch, added substr, lexcmp, space, space2
6307	Makefile: renamed configure to autoconf
6308
6309**************** version 0.98.1
6310
63119/17/96
6312	lib/tree.c: fixed INSERT (from SNOBOL4+)
6313	lib/dump.c: added dumpcode()
6314	added test/ops.sno
6315	now runs all GNAT SPITBOL programs
6316	version.c: use VERS/DATE, changed name to C-MAINBOL
6317	Makefile2.m4: Added VERS/VDATE (for version.c), use in make tar
6318		upped version to 0.98.1
6319
63209/12/96
6321	v311.sil: add TERMINAL variable associations for input & output
6322	include/units.h: UNITT for TERMINAL input
6323	lib/posix/term.c, lib/generic/term.c, lib/vms/term.c: term_input()
6324	lib/io.c: use term_input() to setup UNITT
6325	lib/hash.c: only look at first and last four! Thanks Mark!!
6326	Makefile2.m4: add TERM_C/term.c/term.o
6327	config/bsd43.m4; use generic/term.c
6328	config/vms/build.com, config/vms/descrip.mms; add term.c/term.o
6329
63309/11/96
6331	v311.sil: fix sort; edit [PLB31] added one MULTC too many
6332
63339/8/96
6334	v311.sil: only case fold strings in FIELD (fix from SNOBOL4+)
6335		upped SPLDSZ to 10k for snocone.sno
6336	lib/init.c: parameters support (-u and --) used by "external" host.c
6337	lib/stream.c: use unsigned char in stream/plugtb;
6338		ANY/NOTANY/BREAK/BREAKX/SPAN with 8-bit bytes
6339		were causing PREVIOUS table to get trashed!
6340	Makefile2.m4: make both isnobol4.c and snobol4.c PRECIOUS
6341
63429/6/96
6343	v311.sil: FREEZE()/THAW(), new table access code from SNOBOL4+
6344		added -EXECUTE/-NOEXECUTE control cards
6345		ran untabify (skipped RCS History)
6346		moved all [edit] ids to column 64+
6347		moved SORT to Arrays, Tables etc section
6348	include/snotyoes.h: add FRZN bit
6349	lib/ansi/convert.c, lib/generic/convert.c: strip leading
6350		spaces in spcint()/spreal() under SPITCL. Append
6351		terminator if using scanf() to detect if whole string
6352		was accepted (necessary for NUMERIC conversion)
6353	lib/init.c: updated usage(), added -n, parse up 'k' suffix on -d
6354	genc.sno: use FREEZE()/THAW(); 15% reduction in execute time!
6355	Makefile2.m4: added COPT, use -d<n>k
6356	doc/snobol4.1: updated
6357	globals: updated
6358
6359**************** version 0.98
6360
63619/4/96
6362	v311.sil: &STLIMIT < 0 means no limit, default to -1
6363		always case fold control card keywords
6364		disable stats by default
6365		default listing off (was being hit by init.c)
6366		removed EXPCL; default SPITCL to on
6367		fixed SPITBOL ? operator at top level
6368	lib/init.c: make -p toggle SPITCL, removed LISTCL hack
6369	gen{c,data,dep,syn}.sno: remove refs to &STLIMIT (and &TRIM)
6370	inline.sno: fix comment typo
6371	gensyn.sno, syntab.h: output syn.c2; made acts const
6372		tried making syntab's const; fails for SNABTB
6373	genc.sno: quiet warnings from PLUSOPS AEQLIC usage
6374	lib/pml.c: fix ifdef STDC typo
6375	timing: add/subtract -s switches
6376	version.c: upped to vers to 0.98, added "ifdef MAIN"
6377	Makefile2.m4: remove .c2/h2 files, added syn.c to SRCS (for depend)
6378		changed .c.TMP to .c2
63799/3/96
6380	v311.sil: Add SPITBOL operators (under -PLUSOPS) from SNOBOL4+;
6381		embeded scan, assign, scan/replace, selection (comma),
6382		NUMERIC conversion.  value tracing for pattern match
6383		assignment.  allow multiple array/table accesses.
6384	syntax.tbl: added SPITBOL binop table, exponents on REALs
6385	gensyn.sno: upped STLIMIT, added EXP char class
6386	gendep.sno: fixed SPREAL, added SPCINT
6387	procs: updated
6388	timing: run config.guess
6389	gendata.sno: output data.h2 data.c2 equ.h2 data_init.h2
6390	Makefile2.m4: cmp || cp for .h2/c2 files
6391	globals: added CMA
6392	configure: include config.guess output
6393	lib/init.c: added -p option
6394	test/run.sh: pass additional ARGS
6395
63968/31/96
6397	v311.sil Add SPITBOL features with code from SNOBOL4+ and
6398		Minnesota SNOBOL4; CHAR(), RPAD()/LPAD(), BREAKX(),
6399		SORT()/RSORT().
6400	lib/str.c: added pad()
6401	genc.sno: added VCOMPC and NANCHK macros,
6402		optimize three-way with three different labels
6403		handle boolean with no labels (for XCALLC)
6404		output braces around escaped code
6405	renamed global.procs to globals
6406	gendep.sno: handle %{ %}, XCALLC, RCOMP, NANCHK, upped &STLIMIT
6407	Makefile2.m4: added isnan, configure, config.guess, globals
6408	added lib/dummy/isnan.c
6409	updated procs, doc/snobol4.1
6410
64118/29/96
6412	Tested on DS3100 (MIPS Ultrix -- 4.3 with a COFF)
6413	added config/ultrix-mips.m4
6414	updated ports.doc, configure
6415
64168/25/96
6417	Makefile: use new configure script
6418	configure: create config.m4 from thin air, using config.guess
6419	config.guess: GNU script
6420
64218/19/96
6422	Makefile2.m4: renamed lib/aux/ to lib/auxil/
6423		AUX is a reserved filename in DOS(?!) thanks to Mark Emmer
6424	genc.sno: added XCALLC, %{ %}, allow LC in arguments
6425		added -CASE 0 (try and win back some speed)
6426	v311.sno: added real VARVUP, VPXPTR (Thanks to Mark Emmer)
6427	procs: added VPXPTR
6428	str.c: added raise2
6429	Makefile2.m4: leave test.out at top level!
6430
64317/28/95
6432	timing: include config.m4 contents
6433	doc/snobol4.1: update &DUMP &ABEND and &CODE behaviors
6434	v311.sil: add VARVUP (copy of VARVAL for now)
6435
64365/15/95
6437	hp4xx port (3/95 -pb):
6438	config/hpux-68k.m4
6439	gendata.sno: cast values for D_V()
6440	updated ports.doc
6441
64423/15/85
6443	config/nextstep3.m4		(Thanks to Leigh Smith)
6444	updated ports.doc
6445	added tests/rewind1
6446
64473/7/95
6448	lib/io.c: struct unit: better rewind 	(Thanks to Leigh Smith)
6449	lib/pml.c: fix for nextstep compilation	(Thanks to Leigh Smith)
6450
64512/10/95
6452	lib/init.c, include/macros.h: implement [CLR_]MATH_ERROR()
6453
64542/3/95
6455	genc.sno: port improvements from experimental version:
6456		SELBRA() omits redundant labels
6457		new PLUS() functions omits "+ 0"
6458		include "else" in DOCMP2 and DOBOOL
6459		generate SHORTN/FSHRTN in-line
6460		Net change in snobol4.c size: +35 chars
6461	include/macros.h: removed SHORTN/FSHRTN
6462	Makefile2.m4: Add -b flag to SNO
6463
64641/25/95
6465	Makefile2.m4 config/{gcc,aix-rs6000,hpux,hpux-pa,skel.inc}.m4
6466		new ADD_XXX m4 macros
6467
64681/24/95
6469	lib/aux/getopt.c: fix endless comment
6470	Makefile2.m4: include CONFIG_CFLAGS in "make depend"
6471
6472**************** BETA2 patch2 version 0.91.2 (tag BETA2_patch2)
6473
64741/20/95
6475	lib/io.c: check for std{in,out,err} before fclose()
6476
64771/13/95
6478	config/borland/build.bat: added -DANSI_STRINGS
6479	lib/aux/getopt.c: include h.h (for index)
6480
64811/10/95
6482	config/vms/build.com: use CFLAGS variable
6483	lib/io.c: hacks for "-", "/dev/stdin" and "/dev/stdout", cleanup
6484	genc.sno: generate return after endex call!
6485	timing.sno: added stmts/sec
6486
64871/7/95
6488	Merged in DOS Port (using 32-bit Borland C++ 4.0) by Mark Emmer!
6489	lib/generic/convert.c: check for empty strings, changed ifdefs
6490	lib/init.c: ifdef SIGBUS
6491	new files: lib/borland/mstime.c
6492		config/borland/build.bat config/borland/snobol4.lnk
6493
6494	Alpha fixes;
6495	don't need "long long"
6496	lib/intspc.c: use %ld
6497	lib/realst.c: use %lf
6498	lib/ordvst.c: declare malloc() as returning pointer
6499
65001/6/95
6501	checked in 11/3/94 v311.sno, tests
6502	README, History: updated/fixed
6503
6504	** Tested on AXP OpenVMS and DECC (1/4/94);
6505	lib/init.c: fix VMS typo
6506	lib/aux/getopt.c: use stdio.h
6507	lib/vms/getredirect.c: use unixio.h with DECC
6508	include/h.h: add index/bcmp defines under ANSI_STRINGS
6509	new files: config/vms/descrip.mms config/vms/build.com
6510
6511	** Ported to AXP OSF/1 (1/5/94) -- has 64-bit integers!!
6512	Makefile2.m4; moved .PRECIOUS after first real target
6513		make TESTED depend snobol4.c
6514	Fix pointer/int sloppiness (sizeof(int) < sizeof(void*))!!
6515		gensyn.sno; cast pointers to int_t, move syntab.h include
6516		include/syntab.h; make put an int_t to hold pointers!
6517		include/macros.h; fix various stack macros casting to (int)!!!
6518		lib/stream.c; declare "tok" as "int_t"
6519	new files: config/osf1-alpha.h config/osf1-alpha-cc.h
6520
652111/3/94
6522	lib/ansi/mstime.c: ansi only version
6523	doc/porting.ms: update for above
6524	config/ansi.m4: config to use ansi mstime function
6525	config/generic.m4: added a comment
6526	v311.sil: quick fix for local variable case folding
6527	test/tests.in test/local.{sno,ref} tests for local var case folding
6528
65299/14/94
6530	timing, timing.sno: cleanup/improvements
6531	config/hpux-pa-cc.m4: new config for HPUX with native C compiler
6532	lib/date.c: tweak for VMS compilation (Martin Waller)
6533	charset.c: fix for SunOS5 SC3.0 compiler
6534	README: updated
6535
65369/13/94
6537	timing: AFS doesn't allow hard links across directories (Rik Faith)
6538
65399/3/94
6540	porting.ms, snobol4.1, load.doc, goals.doc, design.doc: ran ispell
6541	doc/Makefile: update for Solaris 2
6542
65439/2/94
6544	README: fixed spellings!
6545
65468/8/94
6547	lib/ordvst: got rid of a warning
6548	config/posix-cc.m4: new. used/tested on SunOS 5.3
6549	config/sunos5.m4: now a symlink to posix.m4
6550	charset.c: make ALPHA unsigned (for Sun SC3.0 compiler)
6551
65528/1/94
6553	lib/ordvst.c: real code, thanks to Martin D. Waller!!
6554	README, TODO: updated
6555	test/a.ref, test/dump.ref: updated
6556
65577/24/94
6558	lib/init.c: fix call to getredirect() (Thanks to Martin Waller)
6559
65607/7/95
6561	v311.sil, global.procs: Added FAILG label so FAIL can be inlined.
6562	timing.sno: more tweaks for AIX
6563	config/aix-rs6000.m4: new file (thanks to Phillip Lee Thomas)
6564	Makefile2.m4: fixed awk command
6565
6566**************** BETA2 patch1 version 0.91.1 (RCS tag BETA2_patch1)
6567
65687/5/94
6569	h.h: only define NULL if not already defined
6570	version.c: update for patch1
6571
65726/30/94
6573	more cleanup of timing.sno, added start of diff tag line
6574	fixed bsd/load.c when space in pathname
6575
65766/29/94
6577	version.c: clean up for non-ansi compilation
6578	timing.sno: Output bad diff results, loosten ms/stmt check
6579
6580**************** Second Beta release (RCS tag BETA2) version 0.91
6581
65826/24/94
6583	Made isnobol4 the default
6584	Added label RTNL3G so RTNUL3 can be inlined
6585	Use register pointer to "res" in data_init.c
6586	Updated load.doc
6587	Use awk to reverse tsort input (instead of reverse on output)
6588	Fixed sense of DO_UFCHK!
6589	Updated ports.doc
6590
65916/23/94
6592	Include both snobol4.c and isnobol4.c in kit
6593	Use register in data_init.c
6594	Implemented TRACE_DEPTH
6595	Ran "prof" profiling
6596	Inline pair.c!!
6597
65986/21/94
6599	Cleaned up config/ dir.
6600		Removed all "cc" configs.
6601	Turned on -finline-functions by default
6602	Added Makefile2 rules for isnobol4.c
6603	Added SNOBOL4 variable
6604
66056/20/94
6606	Fixed problem found by Phillip Thomas; Restart "card"
6607		processing after a semi.  Allows comment and control
6608		lines after a semi.
6609	Created scripts for analysis of inlining results.
6610
66116/19/94
6612	Added {generic,posix}-cc.m4 configs
6613	Use skel.inc in generic configs
6614	Added AUX_{SRC,OBJ}, PML_OBJ
6615	Played with inlining
6616
66176/17/94
6618	Dropped compiler CARDSZ down to 132 for sane listings
6619
66206/15/94
6621	Upped compiler CARDSZ and default input size from 80 to 1024.
6622	Created snolib/{breakx,lcmp,pad,sort,substr}.sno,
6623			{fork,system,sprintf}.c
6624	bsd/load.c; use PML before trying real load. use SNOLIB env var.
6625
66266/13/94
6627	Prevent multiple inclusions
6628	trim include file names (after multiple inclusion test)
6629
66306/12/94
6631	Implemented -INCLUDE/-COPY
6632	Use RETxxx macros in snolib
6633
66346/10/94
6635	Added RETxxx macros to load.h
6636
66376/9/94
6638	Gave WIPS talk at Boston Usenix
6639	Created configs for aix, linux, irix, sunos5
6640		(all just include posix.m4)
6641
66426/6/94
6643	Run timing script in regression test (runs genc)!!
6644	UFCHK no longer on by default
6645
66466/4/94
6647	Created snolib (DELETE, FILE and RENAME functions)
6648	Call getredirect() under vms
6649
66506/3/94
6651	Turned off output NUL translation after compiler runs
6652	Try PML if ld() fails in bsd/load.c
6653
66546/2/94
6655	Created load.h LOAD_PROTO, LA_xxx macros
6656	Updated load.doc, sqrt.c
6657	Implemented "Poor Man's LOAD" for linked in functions!!
6658	Made REPLACE() 8-bit clean
6659	Fixed padding on input problem
6660
66616/1/94
6662	Started man page
6663	Made 8-bit clean
6664	Implemented simple pipe open
6665
66665/31/94
6667	Fixed/improved make tar; include "bugs" dir
6668	Updated porting.ms
6669	Added vms/getredirect.c
6670	Handle errors in genc.sno
6671	Avoid .h.new (for VMS)
6672	Updated ports.doc for LINUX
6673	Started on autoconfig script
6674
66755/30/94
6676	Fixed hp*.m4 include path
6677	Updated ports.doc for hp710
6678
66795/29/94
6680	Finished &LCASE &UCASE
6681	Fixed -CASE n
6682
66835/28/94
6684	Updated ports.doc for HP, SGI, IBM
6685	Implemented -f option
6686	Added ; and ! as comment chars (per SITBOL)
6687	Added &LCASE, &UCASE
6688
66895/27/94
6690	Allow external redefinition of HZ in generic/mstime.c
6691	Invalidate self pointer in lib/bsd/load.c unload()
6692	Changed types.h to snotypes.h to avoid include confusion on VMS?!
6693
66945/26/94
6695	Supress padding once compliation is over
6696	Turned off &TRIM by default
6697	Caught more CASE sensitivities
6698	Accept either case for S/F gotos
6699
67005/25/94
6701	moved Un*x version banner to version.c
6702	implemented case insensitivity -CASE/&CASE
6703	implemented DOBOOL() in genc for real
6704
67055/24/94
6706	converted Makefile2, config files to use m4
6707
67085/23/94
6709	cleaned up bsd load.c, for use on bsd44 systems
6710	added SIGFUNC_T to init.c, made default void
6711
6712**************** First Beta release (RCS tag BETA1) version 0.90
6713
67142/18/94
6715	*** First Beta release (RCStag BETA1)
6716	updated README, late entry in ports.doc
6717	include tests in tar!
6718
67191/25/94
6720	updated README, include TODO.soon in tar
6721
67221/24/94
6723	improved porting.doc
6724	run regression test from Makefile2
6725	added "make uu"
6726
67271/18/94
6728	wrote porting.doc, put all doc files under RCS
6729	added getopt to Makefile2.cpp, generic.h
6730
67311/16/94
6732	set exit code on fatal errors (including when
6733	execution aborted due to -NOERRORS)
6734
67351/8/94
6736	output UNIXF UNIXF2 at startup
6737	make 'LEFT' default listing side
6738	output error name string to stderr
6739	implemented -b (BANRCL), -s (STATCL)
6740
67411/7/94
6742	cleaned up config/ files. added bsd43, sony_news, posix
6743	checked in changes from 1/3
6744	added standards info to various lib files
6745	updated README (was README.alpha) for beta test
6746	split intspc.c realst.c from convert.c
6747	caseified formats, converted to printf() style
6748	caseified misc strings
6749
67501/3/94
6751	Brought up on Sony News 800 (68020) sqrt.sno works (no changes)!
6752	Tested on hp9000s800 (added posix/mstime.c)
6753	Brought up on Mt. Xinu hp300 4.3 BSD and IBM RT ACIS 4.3
6754		added generic/vfprintf.c, generic/convert.c
6755		use mktemp() in load.c
6756
675712/30/93
6758	cleaned up gensyn.sno output
6759	made format.c strings const
6760	did compiler timings (tried gcc -O2)
6761	did profiling. do DCMP() inline!!
6762		do LOCAPV inline? (called 6.7 million times by genc.sno)!!
6763	Created Makefile2, lib subdirs (generic, bsd, dummy)
6764		Flushed lib/Makefile
6765
676612/29/93
6767	cleaned up gendata.sno output, output formats
6768	cleaned up include file Id lines
6769
677012/28/93
6771	created (empty) mlink.h, mdata.h
6772	renamed headers.h to parms.h
6773	created dynamic.c
6774	include charset.c into init.c
6775	types.h cleanup;
6776		flushed flags.h
6777		created VFLD/FFLD macros
6778		made f field char, v field a 24 bit bitfield!
6779		(no time penalty on sparc!?)
6780
678112/27/93
6782	Announced alpha dist (finally got a place to put it)!
6783	Have gendata.sno (was data.sno) generate data.h, data.c, init.h
6784	Created init.c
6785
6786	Compiled and ran on HP 9000/8xx (PA RISC) machine!
6787
6788**************** First Alpha release (RCS tag ALPHA1)
6789
679012/9/93
6791	*** First Alpha release (RCS tag ALPHA1)
6792	Updated usage message, README.alpha, Make tar
6793	put this (and other files) under RCS
6794
679512/4/93
6796	Implemented -NOERRORS/-ERRORS control cards (default -NOERRORS)
6797	to supress/allow exeution of programs with compile errors.
6798	Implemented -k command line switch (like -ERRORS)
6799
680012/3/93
6801	output compilation error messages to stderr as well as listing
6802	accept '#' and '|' as start of line comments
6803	(can now use '#!' magic number for scripts!)
6804
680511/27/93
6806	revised README.alpha
6807	wrote LOAD.doc sqrt.c sqrt.c
6808
680911/26/93
6810	re-implemented io.c (file lists, no more io_unit struct)
6811	take file names on command line! implement -r flag
6812	changed -D to -d; default now 25000 now that GC works!
6813
681411/25/93
6815	fixed RSETFI; genc runs with 25K descrs (with 69 GC's)!!
6816
681711/24/93
6818	wrote dump.c
6819
682011/23/93
6821	fixed lvalue: comment.sno works
6822	atn.sno produces same SIZED (chars/lines) output as spitbol
6823
682411/22/93
6825	fixed linkor: alt1/2.sno work
6826	found problem in atn.sno (comment.sno)
6827	atn.sno gets pattern stack overflow (runs with SPDLSZ of 5000)
6828	atn.sno dies after table to array conversion (convert.sno)
6829	fixed MOVDIC: convert.sno works
6830	atn.sno runs to completion (sans comment problem)
6831		but output differs from spitbol?!
6832	w/ 200K descrs genc dies in last few lines (after 2 GCs)
6833		runs to completion with "only" 250K descrs (1 GC)
6834
683511/19/93
6836	implemented expint() exreal()
6837	found smallest proram with atn.sno bug (alt2.sno)
6838	create/use LEXEQ() macro!
6839	worked on README.alpha, DESIGN
6840	genstg.sno now creates equ.h, stgtyp.c, stg.h
6841		(flushed equ.awk, stgtyp.h stgh.awk)
6842
684311/18/93
6844	isolated match problem with atn.sno
6845
684611/17/93
6847	fixed MNREAL/MNSINT F/V output
6848	created IND_ARR, INDENTX, UNINDENT in genc.sno
6849
685011/16/93
6851	fixed locap{v,t} F/V output
6852
685311/15/93
6854	ran genstg under mainbol (w/ -D1M) after consolidating patterns
6855
685611/13/93
6857	ran genstg under mainbol (w/ -D2M)
6858
685911/10/93
6860	implemented filename support ala Catspaw (Vanilla) SNOBOL4(+)!!
6861		added XOPENI, XOPENO, XECOMP
6862	send all completion messages to stderr (PUNCH)
6863	ran gensyn under mainbol
6864
686511/9/93
6866	wrote, debugged load() and link()
6867	added CLR_S_UNUSED() to no avail
6868
686911/8/93
6870	clear V&F in DATE, MSTIME, SETAV, INTSP, REALSP, MULTC
6871	GC generally runs, but leaves bad pointers
6872
687311/6/93
6874	fixed lengths in MOVBLK and ZERBLK
6875	genc ran for the first time (generated code until LOCA1) died in GCM
6876	runs to completion with -D1000000
6877
687811/5/93
6879	implemented GETLTH by the book
6880	collect.sno runs (nothing to collect)
6881
688211/4/93
6883	fixed order of spec members, GC marking pass now runs
6884	upped number of user defined functions from 10 to 50
6885	upped OCASIZ from 1500 to 15000!
6886	implemented command line options
6887
688811/3/93
6889	diff.sno runs
6890	added junk PUSH() to SAVSTK() -- GC expects RCALL to use stack!!
6891
689211/2/93
6893	immed value assignment working (fixed assignment order in MAKNOD)
6894	cond value assignment working (output PUTSPC!!)
6895	put v311.sil, syntax.tbl under RCS
6896	got rid of IDENT columns!!!
6897	cleaned up genc, now parsed by mainbol!!
6898	worked on POUND_LINE
6899	match replacement working (fixed SPUSH/SPOP again!!)
6900	implemented rplace() library routine
6901
690211/1/93
6903	have gensyn process comments
6904	last SIL ops (ADJUST, ORDVST, RPLACE) handled in genc
6905	function args working (fixed PSTACK *PUSH, *POP)
6906	implemented getbal library routine
6907
690810/29/93
6909	complex patterns working (fixed CPYPAT)
6910
691110/28/93
6912	simple patterns working (but not pattern concatenation)
6913	implemented
6914		CLERTB, PLUGTB, DATE, LINK, MOVBLK, REMSP, LOAD, UNLOAD
6915
691610/27/93
6917	implemented;
6918		misc I/O (BKSPCE ENFILE REWIND)
6919		code tree ops (ADDSIB ADDSON INSERT)
6920		pattern ops (MAKNOD LINKOR
6921		value pair ops (LOCAPT LOCAPV)
6922		others;
6923			ADDLG BKSIZE CHKVAL EXPINT EXREAL LCOMP LVALUE
6924			MOVDIC PUTSPC SUBSP TOP TRIMSP
6925	runs simple programs (loops.sno runs ~15 x slower than SPITBOL)!!
6926
692710/25/93
6928	recieved S4D58 report (SIL reference manual) from Dr. Griswold
6929	implemented SETVA
6930
693110/24/93
6932	implemented INTSPC, REALST, SHORTN, SPCINT, SPREAL
6933	END recognized!
6934
693510/20/93
6936	implemented FSHRTN
6937	"END" not recognized
6938
693910/19/93
6940	implemented input and output ops (STPRNT, STREAD)
6941	implemented STREAM!
6942
694310/18/93
6944	implemented APDSP, LOCSP, PUTVC
6945	initialization code starts to run
6946
694710/17/93
6948	implemeted SETVC, VCMPIC
6949
695010/15/93
6951	implemented ENDEX, LEXCMP, VARID
6952
695310/14/93
6954	implemented GETSP, LEQLC
6955
695610/13?/93
6957	implemented ZERBLK
6958
695910/8/93
6960	implemented GETLG, SETSP
6961
696210/5/93 - 10/7/93
6963	implemented INIT, MSTIME, PUTLG, PUTSPC, GETSPC
6964		MOVDIC, GETLTH, PSTACK
6965
69668/92
6967	46 ops remaining (on 522 lines of SIL)
6968
6969
69707/24/92
6971	implemented:
6972		PUTAC, GETAC, SETFI, RSETFI, DIVIDE, BRANIC, INCRV
6973		MNSINT, RLINT, ADREAL, SBREAL, MPREAL, ADREAL, DVREAL
6974
69757/22/92
6976	implemented:
6977		int math: SUM, SUBTRT, MULT, MULTC
6978		SETAV, SETVC, SETLC, SPEC, TESTFI, MOVA, MNREAL
6979
6980to 7/21/92
6981	71 ops remaining
6982
69835/92
6984	C pattern matching working (see 3/90)
6985
69863/91
6987	Started genc.sno using Catspaw SPARC SPITBOL
6988
698911/90
6990	Found out about Catspaw SPARC SPITBOL from a Catspaw mailing.
6991
69927/90
6993	Started work at Shiva Corp.
6994
69953/90
6996	Started on C implementation of SNOBOL patterns using
6997	Gimpel's CACM article (and Orange book).
6998
699912/89 thru 3/90
7000	Worked on C versions of syn, genc using "traditional" tools
7001	awk/lex/yacc
7002
700311/89
7004	Got report on old/new naming conventions from Dr. Griswold
7005	began studying SIL source in earnest.
7006
700710/89
7008	Got (a rare) copy of "The Macro Implementation of SNOBOL4" book
7009	from Catspaw.
7010
7011late 1988?
7012	Found Vanilla SNOBOL4 (including Catspaw book order form)
7013	and SIL sources on cs.arizona.edu
7014
7015Fall 1987
7016	Tried using OS/360 MAINBOL to run questionnare analyzer
7017
7018Fall 1986
7019	BUCS20 unplugged, lost access to SITBOL for first time in 7 yrs
7020
7021Fall 1985
7022	Started work at BU full time.
7023
7024Spring 1985
7025	Used SITBOL to analyze questionnaires from
7026		Psychology directed study on computer mediated communication.
7027
7028Fall 1983
7029	Returned to school full time at BU, helped manage BUCS20 (2060)
7030
7031Fall 1981
7032	Started at DEC/LCG FORTRAN-10/20 group (which used SITBOL
7033	to perform FORTRAN regression tests)
7034
7035Fall 1979
7036	Learned SNOBOL4 using SITBOL freshman year at Stevens Tech
7037	Used to find errors (typos, mismatched commons) in FORTRAN programs
7038