2020-01-20         Arnold D. Robbins     <arnold@skeeve.com>

	* run.c (openfile): Set the close-on-exec flag for file
	and pipe redirections that aren't stdin/stdout/stderr.

2020-01-06         Arnold D. Robbins     <arnold@skeeve.com>

	Minor fixes.
	* b.c (replace_repeat): Turn init_q back into an int.
	* lex.c (string): Use \a instead of \007.
	* tran.c (catstr): Use snprintf instead of sprintf.

2020-01-01         Arnold D. Robbins     <arnold@skeeve.com>

	* tran.c (syminit, arginit, envinit): Free sval member before
	setting it. Thanks to valgrind.
	* b.c: Small formatting cleanups in several routines.

2019-12-27         Arnold D. Robbins     <arnold@skeeve.com>

	* b.c (replace_repeat): Fix a bug whereby a{0,3} could match
	four a's.  Thanks to Anonymous AWK fan <awkfan77@mailfence.com>
	for the report. Also, minor code formatting cleanups.
	* testdir/T.int-expr: New file.

2019-12-11         Arnold D. Robbins     <arnold@skeeve.com>

	* README: Renamed to ...
	* README.md: ... this. Cleaned up some as well,
	including moving to Markdown.

2019-11-08         Arnold D. Robbins     <arnold@skeeve.com>

	* test/T.chem: Use $oldawk instead of hardwiring 'awk'.
	* test/T.lilly: Remove gawk warnings from output, improves
	portability.

2019-10-07         Arnold D. Robbins     <arnold@skeeve.com>

	* b.c (fnematch): Change type of pbuf from unsigned char to char.
	* proto.h (fnematch): Ditto.

2019-10-06         Arnold D. Robbins     <arnold@skeeve.com>

	* lib.c (readrec): Allow RS a regular expression. Imported
	the code from the NetBSD awk.
	* b.c (fnematch): New function for implementing the feature.
	* awk.1: Updated.
	* main.c (version): Updated.

2019-06-24         Arnold D. Robbins     <arnold@skeeve.com>

	* makefile: Revise to take into account there is no more awktest.tar,
	add targets 'check' and 'test', and also 'testclean' to clean up
	after test run.  Have 'clean' and 'cleaner' depend upon 'testclean'.

2019-06-23         Arnold D. Robbins     <arnold@skeeve.com>

	* testdir: Extracted from awktest.tar and added to Git.
	* awktest.tar: Removed.

2019-06-06         Arnold D. Robbins     <arnold@skeeve.com>

	* awk.1: Fix a typo, minor edits.

2019-06-05         Arnold D. Robbins     <arnold@skeeve.com>

	* b.c (relex): Count parentheses and treat umatched right paren
	as a literal character.
	* awktest.tar (testdir/T.re): Added a test case.
	* main.c (version): Updated.

2019-05-29         Arnold D. Robbins     <arnold@skeeve.com>

	* lib.c (isclvar): Remove check for additional '=' after
	first one. No longer needed.

2019-01-26         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (version): Updated.

2019-01-25         Arnold D. Robbins     <arnold@skeeve.com>

	* run.c (awkgetline): Check for numeric value in all getline
	variants. See the numeric-getline.* files in bugs-fixed directory.

2018-08-29         Arnold D. Robbins     <arnold@skeeve.com>

	* REGRESS: Check for existence of a.out. If not there, run
	make.  Enable core dumps for T.arnold system status test
	to work on MacOS X.

2018-08-22         Arnold D. Robbins     <arnold@skeeve.com>

	* awktest.tar (testdir/T.expr): Fix test for unary plus.

2018-08-22         Arnold D. Robbins     <arnold@skeeve.com>

	* REGRESS: Extract tests if necessary, set PATH to include '.'.
	* regdir/beebe.tar (Makefile): Fix longwrds test to prefix
	sort with LC_ALL=C.
	* awktest.tar: Updated from fixed test suite, directory
	it extracts is now called 'testdir' to match what's in top-level
	REGRESS script.
	* regdir: Removed, as Brian wants to keep the test suite in
	the tar file.

2018-08-22         Arnold D. Robbins     <arnold@skeeve.com>

	* FIXES, lib.c, run.c, makefile, main.c: Merge from Brian's tree.
	* REGRESS: New file, from Brian.
	* awktest.tar: Restored from Brian's tree.

2018-08-22         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (UPLUS): New token. In the grammar, call op1()
	with it.
	* maketab.c (proc): Add entry for UPLUS.
	* run.c (arith): Handle UPLUS.
	* main.c (version): Updated.
	* bugs-fixed/unary-plus.awk, bugs-fixed/unary-plus.bad,
	bugs-fixed/unary-plus.ok: New files.

2018-08-10         Arnold D. Robbins     <arnold@skeeve.com>

	* TODO: Updated.
	* awk.1: Improve use of macros, add some additional explanation
	in a few places, alphabetize list of variables.

2018-08-08         Arnold D. Robbins     <arnold@skeeve.com>

	* awk.h (Cell): Add new field `fmt' to track xFMT value used
	for a string conversion.
	[CONVC, CONVO]: New flag macros.
	* bugs-fixed/README: Updated.
	* bugs-fixed/string-conv.awk, bugs-fixed/string-conv.bad,
	bugs-fixed/string-conv.ok: New files.
	* main.c (version): Updated.
	* proto.h (flags2str): Add declaration.
	* tran.c (setfval): Clear CONVC and CONVO flags and set vp->fmt
	to NULL.
	(setsval): Ditto. Add large comment and new code to manage
	correct conversion of number to string based on various flags
	and the value of vp->fmt. The idea is to not convert again
	if xFMT is the same as before and we're doing the same conversion.
	Otherwise, clear the old flags, set the new, and reconvert.
	(flags2str): New function. For debug prints and for use from a debugger.

2018-08-05         Arnold D. Robbins     <arnold@skeeve.com>

	Fix filename conflicts in regdir where the only difference was
	in letter case. This caused problems on Windows systems.

	* regdir/Compare.T1: Renamed from regdir/Compare.T.
	* regdir/t.delete0: Renamed from regdir/t.delete.
	* regdir/t.getline1: Renamed from regdir/t.getline.
	* regdir/t.redir1: Renamed from regdir/t.redir.
	* regdir/t.split1: Renamed from regdir/t.split.
	* regdir/t.sub0: Renamed from regdir/t.sub.
	* regdir/REGRESS: Adjusted.

2018-08-04         Arnold D. Robbins     <arnold@skeeve.com>

	With scalpel, tweasers, magnifying glass and bated breath,
	borrow code from the NetBSD version of nawk to fix the years-old
	bug whereby decrementing the value of NF did not change the
	record.

	* lib.c (fldbld): Set donerec to 1 when done.
	(setlastfld): New function.
	* proto.h (setlastfld): Add declaration.
	* run.c (copycell): Make code smarter about flags (from NetBSD code).
	* tran.c (setfree): New function.
	* tran.c (setfval): Normalize negative zero to positive zero.
	If setting NF, clear donerec and call setlastfld().
	(setsval): Remove call to save_old_OFS().  If setting OFS, call
	recbld(). If setting NF, clear donerec and call setlastfld().

	As part of the process, revert OFS-related changes of 2018-05-22:

	* awk.h (saveOFS, saveOFSlen, save_old_OFS): Remove declarations.
	* lib.c (recbld): Use *OFS instead of saveOFS.
	* run.c (saveOFS, saveOFSlen, save_old_OFS): Remove.
	* tran.c (syminit): Remove initialization of saveOFS and saveOFSlen.

	General stuff that goes along with all this:

	* bugs-fixed/README: Updated.
	* bugs-fixed/decr-NF.awk, bugs-fixed/decr-NF.bad,
	bugs-fixed/decr-NF.ok: New files.
	* main.c (version): Updated.
	* regdir/README.TESTS: Fix awk book title.
	* regdir/T.misc: Revise test to match fixed code.
	* run.c (format): Increase size of buffer used for %a test. (Unrelated
	to NF or OFS, but fixes a compiler complaint.)

2018-06-07         Arnold D. Robbins     <arnold@skeeve.com>

	* regdir/beebe.tar: Fix longwrds.ok so that the test will pass.
	The file was incorrectly sorted.

2018-06-06         Arnold D. Robbins     <arnold@skeeve.com>

	* regdir/T.lilly: Fix the bug again in the second instance
	of the code. Thanks to BWK for pointing this out.

2018-05-31         Arnold D. Robbins     <arnold@skeeve.com>

	* regdir/T.lilly: Fix a syntax error and ordering bug
	in creating the 'foo' file.

2018-05-23         Arnold D. Robbins     <arnold@skeeve.com>

	* awk.1: Remove standalone 'awk' at the top of file, it messed up
	the formatting. Arrange built-in variable list in alphabetical
	order.

2018-05-23         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (version): Add my email address and a date so that
	users can tell this isn't straight BWK awk.
	* README.md: Minor updates.
	* TODO: Updated.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	Add POSIX-required formats %a and %A.

	* run.c (format): Check for %a support in C library. If there,
	allow %a and %A as valid formats.
	* TODO: Updated.
	* bugs-fixed/README: Updated.
	* bugs-fixed/a-format.awk, bugs-fixed/a-format.bad,
	bugs-fixed/a-format.ok: New files.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* FIXES: Restored a line from a much earlier version that
	apparently got lost when the dates were reordered.
	* TODO: Updated.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* README.md: New file.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* regdir/echo.c, regdir/time.c: Minor fixes to compile without
	warning on current GCC / Linux.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* TODO: New file.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* makefile (gitadd, gitpush): Remove these targets. They
	should not be automated and were incorrect for things that
	would be done regularly.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	Fix nawk so that [[:blank:]] only matches space and tab instead
	of any whitespace character, originally made May 10, 2018.
	See bugs-fixed/space.awk.

	This appears to have been a thinko on Brian's part.

	* b.c (charclasses): Use xisblank() function for [[:blank:]].
	* bugs-fixed/README: Updated.
	* bugs-fixed/space.awk, bugs-fixed/space.bad,
	bugs-fixed/space.ok: New files.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* .gitignore: New file.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	Fix nawk to provide reasonable exit status for system(),
	a la gawk, originally made March 12, 2016. See
	bugs-fixed/system-status.awk.

	* run.c (bltin): For FSYSTEM, use the macros defined for wait(2)
	to produce a reasonable exit value, instead of doing a floating-point
	division by 256.
	* awk.1: Document the return status values.
	* bugs-fixed/README: Updated.
	* bugs-fixed/system-status.awk, bugs-fixed/system-status.bad,
	bugs-fixed/system-status.ok: New files.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	Bug fix with respect to rebuilding a record, originally
	made August 19, 2014. See bugs-fixed/ofs-rebuild.awk.

	* awk.h (saveOFS, saveOFSlen): Declare new variables.
	* lib.c (recbld): Use them when rebuilding the record.
	* run.c (saveOFS, saveOFSlen): Define new variables.
	(save_old_OFS): New function to save OFS aside.
	* tran.c (syminit): Initialize saveOFS and saveOFSlen.
	(setsval): If setting a field, call save_old_OFS().
	* bugs-fixed/README, bugs-fixed/ofs-rebuild.awk,
	bugs-fixed/ofs-rebuild.bad, bugs-fixed/ofs-rebuild.ok: New files.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* makefile (YACC): Use bison.

2018-05-22         Arnold D. Robbins     <arnold@skeeve.com>

	* ChangeLog: Created.
	* regdir: Created. Based on contents of awktest.a.
	* .gitattributes: Created, to preserve CR LF in regdir/t.crlf.
	* awktest.a: Removed.
	* regdir/T.gawk, regdir/T.latin1: Updated from awktest.tar.
	* awktest.tar: Removed.
