-- $MawkId: CHANGES,v 1.47 2009/07/28 23:30:12 tom Exp $

Changes by Thomas E Dickey <dickey@invisible-island.net>

20090728
	add fallback definitions for GCC_NORETURN and GCC_UNUSED to build with
	non-gcc compilers (report by Jan Wells).

20090727
	add check/fix to prevent gsub from recurring to modify on a substring
	of the current line when the regular expression is anchored to the
	beginning of the line; fixes gawk's anchgsub testcase.

	add check for implicit concatenation mistaken for exponent; fixes
	gawk's hex testcase.

	add character-classes to built-in regular expressions.

	add 8-bit locale support

20090726
	improve configure checks for MAX__UINT.

	add a check for infinite loop in REmatch(), to work with gawk's noloop1
	testcase.

	modify logic to allow setting RS to an explicit null character, e.g.,
		RS="\0"
	(Ubuntu #400409). 

	modify workaround for (incorrect) scripts which use a zero-parameter
	for substr to ensure the overall length of the result stays the same.
	For example, from makewhatis:
		filename_no_gz = substr(filename, 0, RSTART - 1);

	move regular-expression files into main directory to simplify building
	using configure --srcdir and VPATH.

	modify internal functions for gsub() to handle a case from makewhatis
	script from man 1.6f which substitutes embedded zero bytes to a
	different value (report by Gabor Z Papp).

	change default for configure --with-builtin-regex to prefer the
	builtin regular expressions.  They are incomplete, but POSIX regular
	expressions cannot match nulls embedded in strings.

	require standard C compiler; converted to ANSI C.

	rename #define'd SV_SIGINFO to MAWK_SV_SIGINFO to avoid predefined
	name on Mac OS X (report on comp.lang.awk).

	revise configure script to use conventional scheme for generating
	config.h

20090721
	port to cygwin, modifying test-script to work with executable-suffix
	and fp-exception code to allow const in declaration.

20090712
	update patch-date.

	fix Debian #127293 "mawk does not understand unescaped '/' in character
	classes", noting that gawk 3.1.6 also has problems with this area.

	drop support for varargs; use stdarg only.

	add tags rule to makefile.

	rename configure option "--with-local-regexp" to "--with-builtin-regex"

	add build-fix from NetBSD port:  enable vax FP support when
	defined(__vax__) as well as BSD43_VAX.  from ragge.

	add configure --disable-echo option

	identify updated files with "MawkId" keywords, retaining old log
	comments for reference.  Ongoing changes are recorded here.

	update maintainer email address.

20090711
	use conventional install/uninstall rules in makefile.

	add install-sh script, mkdirs.sh, config.guess and config.sub

	add $DESTDIR support to makefile

	add uninstall make-target

	add configure --enable-warnings option (fixed some warnings...)

	update configure script to autoconf 2.52 to permit cross-compiles.

	drop config.user file; replace with conventional autoconf --prefix, etc.

	fill-in CA_REC.type in two places in parse.y which weren't initialized.

	fix Debian #38353 (absent expression on last part of "for" statement
	caused core-dump).

	fix Debian #303825 (printf %x clamps numbers to signed range rather
	than unsigned range).

	apply fix from Debian #355966 (null-pointer check in is_string_split())

	apply fix from Debian #391051 (limit-check in scan.c)

20090709
	add patch from Aleksey Cheusov for external regexp libraries
	(originally comp.lang.awk June 15 2005, also cited in Debian #355442
	March 6, 2006).

20090705
	fixes to build on BeOS (if LIBS is set to -lroot), and QNX (redefinition
	of setmode).

20080909
	fix gcc 4.3.1 -Wall warnings

	transform mawk.ac.m4 to aclocal.m4, renaming macros to use "CF_" or
	"CF_MAWK_" prefixes depending on their reusability.  Modified macros
	to use quoting consistent with recent autoconf versions.

	regenerate configure with autoconf version 2.13.20030927

	regenerate parse.c with byacc - 1.9 20080827

	ifdef'd prototypes in nstd.h which belong to stdlib.h, string.h to
	use standard C by default.

	source-in Debian patches 01-08 (see below).  Changes for 20080909 fix
	Debian #496980 as well.

-------------------------------------------------------------------------------
Debian patches:

(Peter Eisentraut <petere@debian.org>  Sat, 05 Apr 2008 17:11:11 +0200)

08_fix-for-gcc3.3
	Debian #195371

(James Troup <james@nocrew.org>  Fri, 30 May 2003 15:24:50 +0100)

07_mawktest-check-devfull
	Debian #51875

06_parse.y-semicolons
	Debian #170973

05_-Wall-fixes

04_mawk.1-fix-pi
	Debian #103699

03_read-and-close-redefinition
	Debian #104124

02_fix-examples
	Debian #36011

01_error-on-full-fs
	Debian #28249
	Debian #4293

-------------------------------------------------------------------------------
1.3.1 -> 1.3.2 Sep 1996

1) Numeric but not integer indices caused core dump in new array scheme.
   Fixed bug and fired test division.

2) Added ferror() checks on writes.

3) Added some static storage specs to array.c to keep non-ansi 
   compilers happy.

1.3 -> 1.3.1 Sep 1996
Release to new ftp site ftp://ftp.whidbey.net.

1) Workaround for overflow exception in strtod, sunos5.5 solaris.

2) []...] and [^]...] put ] in a class (or not in a class) without
   having to use back-slash escape.

1.2.2 -> 1.3 Jul 1996
Extensive redesign of array data structures to support large arrays and
fast access to arrays created with split.  Many of the ideas in the
new design were inspired by reading "The Design and Implementation of
Dynamic Hashing Sets and Tables in Icon" by William Griswold and
Gregg Townsend, SPE 23,351-367.
 
1.2.1 -> 1.2.2  Jan 1996

1) Improved autoconfig, in particular, fpe tests.  This is far from
   perfect and never will be until C standardizes an interface to ieee754.

2) Removed automatic error message on open failure for getline.

3) Flush all output before system().  Previous behavior was to only
   flush std{out,err}.

4) Explicitly fclose() all output on exit to work around AIX4.1 bug. 

5) Fixed random number generator to work with longs larger than
   32bits.

6) Added a type Int which is int on real machines and long on dos machines.
   Believe that all implicit assumptions that int=32bits are now gone.
