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

	* 4.1.1: Release tar ball made.

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

	* README: Update.
	* configure.ac: Bump version.

2014-04-03         Arnold D. Robbins     <arnold@skeeve.com>

	* regcomp.c (parse_bracket_exp): Move a call to `re_free' inside
	an ifdef. Makes the code marginally cleaner.

2014-03-30         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Sync with GNU grep.

2014-03-28         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac: Remove duplicate AC_HEADER_TIME and rearrange
	order of macros some. May help on older systems.

2014-03-23         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Move include of dfa.h around for correct building
	on Irix. Thanks to Nelson H.F. Beebe for the report.

	Unrelated:

	* .gitignore: Simplify .dSYM pattern for Mac OS X.

2014-03-21         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c (using_simple_locale): Add ifdefs in case there is no
	locale support at all. Thanks to Scott Deifik for the report.

	Unrelated:

	* main.c (UPDATE_YEAR): Set to 2014.

2014-03-17         Arnold D. Robbins     <arnold@skeeve.com>

	* .gitignore: Add .dSYM directories for Mac OS X.
	Thanks to Hermann Peifer for the suggestion.

2014-03-10         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.h, dfa.c: Sync with grep. Yet again.
	* regex_internal.c (built_wcs_upper_buffer, build_upper_buffer):
	Fixes from GNULIB for mixed case matching on Mac OS X.

	Unrelated:

	* builtin.c (format_tree): Smarten handling of %' flag. Always
	pass it in for floating point formats. Then only add the
	thousands_sep if there is one. Also, allow for thousands_sep
	to be a string, not just one character.  Thanks to Michal Jaegermann
	for the report.

2014-03-08         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* gawkapi.c (api_impl): Add memory allocation function pointers.
	* gawkapi.h (GAWK_API_MINOR_VERSION): Bump.
	(gawk_api_t): Add memory allocation function pointers api_malloc,
	api_calloc, api_realloc, and api_free.
	(gawk_malloc, gawk_calloc, gawk_realloc, gawk_free): New macros.
	(emalloc): Replace malloc with gawk_malloc.
	(erealloc): Replace erealloc with gawk_erealloc.

2014-03-05         Arnold D. Robbins     <arnold@skeeve.com>

	Straighten out enumerated types some more.

	* awk.h (add_srcfile): Fix type of first parameter.
	* awkgram.y (add_srcfile, do_add_srcfile): Ditto.
	* cmd.h (A_NONE): New enum nametypeval.
	* command.y (argtab): Use it in final value.
	* ext.c (make_builtin): Use awk_false, awk_true.
	* io.c (init_output_wrapper): Use awk_false.

	Unrelated:

	* debug.c (do_commands): Initialize num to silence warnings.
	Thanks to Michal Jaegermann.

	Unrelated:

	* builtin.c (do_mktime): Change lint warning for minutes to
	check against 59, not 60.  Thanks to Hermann Peifer for the report.

2014-03-03         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Sync with grep. Yet again.

2014-02-28         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Sync with grep. Looks like good improvement with
	respect to bracket expressions.

2014-02-27         Arnold D. Robbins     <arnold@skeeve.com>

	Fixes for enum/int mismatches as warned by some compilers.

	* awk.h (ANONE): New enum for array sorting.
	* array.c (assoc_list): Use it.
	* builtin.c (format_tree): New MP_NONE value.
	* gawkapi.c: Use awk_false and awk_true everywhere instead of
	false and true.

2014-02-26         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac: Set up do-nothing extension/Makefile on
	MirBSD also.

2014-02-21         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.h, dfa.c (parse_bracket_exp): Sync with grep.

2014-02-20         Arnold D. Robbins     <arnold@skeeve.com>

	* regex.h, regex.c, regex_internal.c, regex_internal.h: Sync
	with GLIBC. Mainly copyright updates.
	* getopt.c, getopt.h, getopt1.c, getopt_int.h: Ditto.
	* dfa.c (parse_bracket_exp): Sync with grep, where they restored
	the buggy code.  Sigh.

	Unrelated:

	* NEWS: Typo fix.
	* interpret.h (r_interpret): Init a variable for BEGINFILE to avoid
	compiler warnings. Thanks to Michal Jaegermann.

2014-02-15         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.c, command.c: Regenerated - Bison 3.0.2.

2014-02-04         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c (to_uchar): Make use of this. Syncs with GNU grep.

2014-02-03         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (negate_num): Bracket `tval' in #ifdef MPFR since it's
	only used in that code.

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

	* Makefile.am (dist-hook): Improve creation of pc/config.h. We
	have to jump through a lot of hoops for 'make distcheck' to
	actually work.

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

	* Makefile.am (dist-hook): Improve creation of pc/config.h to copy
	the new file into the distribution directory being created.
	Also, put the temporary files into /tmp.

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

	* awkgram.y (negate_num): If just a double, return. Fixes a bug
	that showed up on 32-bit systems with MPFR. Thanks to Eli Zaretskii
	and Corinna Vinschen for the report.  Also, free the MPZ integer.
	Thanks to valgrind for the report.

	Unrelated:

	* dfa.c: Sync with GNU grep - removed some special cased code
	for grep.

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

	* configure.ac, field.c: Update copyright year.

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

	* awkgram.y (negate_num): Handle the case of -0 for MPFR; the sign
	was getting lost. Thanks to Hermann Peifer for the report.

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

	* dfa.c (parse_bracket_exp): Sync with GNU grep, which now uses
	gawk's code for RRI in single-byte locales!  Hurray.

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

	* configure.ac: For z/OS, restore creation of do-nothing
	Makefile in extension directory.

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

	* field.c (do_split): Make sure split() gets FS value if no
	third arg even after FPAT was set. Thanks to Janis Papanagnou
	for the report.

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

	* README: Fix John Malmberg's email address.

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

	* awkgram.y:  Update copyright year.
	(func_use): Simplify code.
	* command.y:  Update copyright year.
	* ext.c:  Update copyright year.
	(make_builtin): Small simplification.
	(make_old_builtin): Make code consistent with make_builtin(), add
	call to track_ext_func().
	* bootstrap.sh: Update copyright year. Remove touch of version.c
	since that file is no longer autogenerated.

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

	* command.y (next_word): Move into ifdef for HAVE_LIBREADLINE,
	since it's only used by that code.
	* ext.c (load_old_ext): Minor improvements.

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

	* config.guess, config.rpath, config.sub, depcomp,
	install-sh: Updated.
	* dfa.h, dfa.c: Sync with GNU grep; comment fix and copyright year.
	* NEWS: Updated some, including copyright year.

2013-12-26         Arnold D. Robbins     <arnold@skeeve.com>

	* README: Add John Malmberg for VMS.

2013-12-24         Arnold D. Robbins     <arnold@skeeve.com>

	* getopt.h: Add `defined(__sun)' to list of system that do get to
	include stdlib.h.  Needed for Illumos. Thanks to
	Richard Palo <richard.palo@free.fr> for the report.

2013-12-21         Mike Frysinger        <vapier@gentoo.org>

	* configure.ac: Add --disable-extensions flag to control
	compiling extensions.  Better for cross-compiling.
	(AC_CANONICAL_HOST): Added. Changed case statments appropriately.
	* Makefile.am (check-for-shared-lib-support): Removed.
	(check-recursive, all-recursive): Removed.

2013-12-21         Arnold D. Robbins     <arnold@skeeve.com>

	* config.guess: Updated.
	* configure, aclocal.m4: Updated based on automake 1.13.4.

2013-12-19         Arnold D. Robbins     <arnold@skeeve.com>

	* regexec.c (re_search_internal): Make sure `dfa' pointer is
	not NULL before trying to dereference it.

2013-12-16         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac (AC_FUNC_VPRINTF): Remove. Not needed on current
	systems.
	* awk.h (HAVE_VPRINTF): Remove check.

2013-12-12         John E. Malmberg      <wb8tyw@qsl.net>

	* io.c (redirect): Add additional VMS error codes.
	(nextfile): Retry open after closing some files.

2013-12-10         Scott Deifik          <scottd.mail@sbcglobal.net>

	* io.c (closemaybesocket): Add definition for DJGPP.

2013-12-10         Arnold D. Robbins     <arnold@skeeve.com>

	* awk.h (Floor, Ceil): Remove declarations and VMS redefinitions.
	* floatcomp.c (Floor, Ceil): Removed, not needed. Move bracketing
	ifdef to the top of the file.
	* builtin.c (double_to_int): Use floor() and ceil().

2013-12-07         Arnold D. Robbins     <arnold@skeeve.com>

	* regex_internal.h (__attribute__): Define to empty if not GCC.
	* custom.h (__attribute__): Remove the definition from here; the
	right place was regex_internal.h.

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

	No need to generate version.c from version.in.
	Thanks to John E. Malmberg <wb8tyw@qsl.net> for the suggestion.

	* version.in: Removed.
	* version.c: Use PACKAGE_STRING directly.
	* Makefile.am (EXTRA_DIST): Remove version.in.
	(distcleancheck_listfiles): Remove this rule.
	(MAINTAINERCLEANFILES): Remove this definition.
	(version.c): Remove the rule to create it.

2013-12-05         Arnold D. Robbins     <arnold@skeeve.com>

	Fixes for Z/OS.

	* custom.h (__attribute__): Define to empty.
	* dfa.c (parse_bracket_exp): Add a cast to quiet a warning.
	* regex.c: Correctly bracket include of <sys/param.h>.

	Unrelated:

	* debug.c (find_rule): Add a FIXME comment.

2013-12-03         John E. Malmberg	<wb8tyw@qsl.net>

	* io.c (redirect): Add additional VMS error code to check.
	(do_find_source): Append "/" if not a VMS filename.

2013-12-01         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* main.c (optab): Sort by long option name.

2013-11-27         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* main.c (optab): Add entry for --include.

2013-11-23         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Merge from grep; minor fixes in how bit twiddling
	is done.

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

	* dfa.c (lex): Reset laststart so that stuff like \s* works.
	Fix from grep.

2013-10-31         Arnold D. Robbins     <arnold@skeeve.com>

	* builtin.c (efwrite): If write error to stdout is EPIPE,
	die silently.  Thanks to Hermann Peifer for helping find this.

2013-10-22         Arnold D. Robbins     <arnold@skeeve.com>

	Revise error messages when writing to standard output or standard
	error to ignore EPIPE.  Add the ability based on an environment
	variable to get the source file and line number.

	* awk.h (r_warning): Renamed from warning.
	(warning): New macro to set location and call warning.
	* io.c (flush_io): Print errors only if not EPIPE.
	(close_io): Ditto.
	* main.c (lintfunc): Init to r_warning.
	(main): Enhance explanatory comment.
	(usage): Print errors only if not EPIPE.
	(copyleft): Ditto.
	* msg.c (err): Make printing srcfile and srcline depend upon
	GAWK_MSG_SRC environment variable.
	(r_warning): Renamed from warning.

2013-10-17         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (main): Ignore SIGPIPE. See the comment in the code.
	Thanks to Alan Broder for reporting the issue.

2013-10-16         Arnold D. Robbins     <arnold@skeeve.com>

	Make -O work again.  Turns out that C99 bool variables
	are clamped to zero or one.

	* main.c (do_optimize): Init to false.
	(main): Set do_optimize to true on -O.
	* eval.c (setup_frame): Change all uses of do_optimize to be
	a boolean check instead of a test > 1.
	* awkgram.y: Ditto.
	(optimize_assignment): Remove check against do_optimize since
	it was inited to true anyway.

	Unrelated:

	* re.c (resetup): Add a comment about the joy of syntax bits.

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

	* dfa.c (lex): Sync with GNU grep. Handle multibyte \s and \S.

	Unrelated:

	* awk.h [ARRAY_MAXED]: Fix value of this and subsequent flags
	after addition of NULL_FIELD.
	* eval.c (flags2str): Add NULL_FIELD. Duh.

2013-10-09         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (mk_assignment): Rework switch to handle Op_assign,
	and to provide a better error message upon unknown opcode.

2013-09-28         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c: Sync with GNU grep.

2013-09-24         Arnold D. Robbins     <arnold@skeeve.com>

	* debug.c (find_rule): Handle case where lineno is zero. Can happen
	if break is given without a line number on a current line. Thanks
	to Ray Song <i@maskray.me> for the report.

2013-09-19         Arnold D. Robbins     <arnold@skeeve.com>

	* dfa.c (parse_bracket_exp): Use code from grep to keep things within
	range (updates change of 2013-09-08). Fix whitespace in one of the
	gawk-only additions.

2013-09-13         Arnold D. Robbins     <arnold@skeeve.com>

	Fix use of NF after it's extended, e.g. see test/nfloop.awk.

	* awk.h (NULL_FIELD): New flag
	* builtin.c (do_print_rec): Check f0->flags instead of if
	equal to Nnull_string.
	* eval.c (r_get_field): Check (*lhs)->flags instead of if
	equal to Nnull_string or Null_field.
	* field.c (init_fields): Init field zero and Null_field with
	NULL_FIELD flag.
	(set_NF): Set parse_high_water = NF in case NF extended past the
	end. This is the actual bug fix.

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

	Fixes based on reports from a static code checker. Thanks to
	Anders Wallin for sending in the list.

	* array.c (asort_actual): Free list if it's not NULL.
	* builtin.c (do_sub): Set buf to NULL and assert on it before using
	it.
	* cint_array.c (cint_array_init): Clamp any value of NHAT from the
	environment such that it won't overflow power_two_table when used as
	an index.
	* dfa.c (parse_bracket_exp): Check that len is in range before using it
	to index buf.
	* getopt.c (_getopt_internal_r): Change call to alloca to use malloc.
	* io.c (socket_open): Init read_len to zero.
	(two_way_open): Upon failure to fork, close the slave fd also.
	* re.c (research): Init try_backref to false.
	* regcomp.c (build_range_exp): Free any items that were allocated in
	the case where not all items were.
	(build_charclass_op): Same. Init br_token to zero with memset.
	(create_tree): Init token t to zero with memset.
	* regex_internal.c (re_dfa_add_node): Free any items that were
	allocated in the case where not all items were.
	* symbol.c (destroy_symbol): On default, break, to fall into releasing
	of resources.

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

	* debug.c (HAVE_HISTORY_LIST): Move checks and defines to the top.
	(do_save, serialize): Adjust #if checks to depend on having both
	readline and the history functions. Needed for Mac OS X whose
	native readline is a very old version. Sigh.
	* configh.in, configure: Regenerated due to change in m4/readline.m4.
	Issue reported by Hermann Peifer and Larry Baker.

	Unrelated:

	* getopt.c: Sync with GLIBC, changes are minor.

	Unrelated:

	* dfa.c: Sync with version in grep. Primarily whitespace / comment
	wording changes.

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

	* regcomp.c (parse_dup_op): Remove RE_TOKEN_INIT_BUG code (change of
	Feb 19 2005) since it's no longer needed.

	* regcomp.c (re_fastmap_iter): Undo addition of volatile from
	Jan 18 2007; no longer needed and is one less change to have to
	maintain aginst the upstream.

	* regcomp.c, regex.h, regex_internal.h: Sync with GLIBC.

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

	* nonposix.h: New file. Contains FAKE_FD_VALUE.
	* awk.h: Include it if MinGW or EMX.
	* Makefile.am (base_sources): Add nonposix.h.

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

	* array.c (force_array): Set symbol->xarray to NULL before
	initing the array if it was Node_var_new.
	(null_array): Restore assert, undoing change of 2013-05-27.

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

	* debug.c (print_memory): Fix whitespace / indentation.

2013-07-24         Arnold D. Robbins     <arnold@skeeve.com>

	* io.c (FAKE_FD_VALUE): Move definition from here ...
	* awk.h (FAKE_FD_VALUE): ... to here. Fixes compilation on MinGW.

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

	* io.c (get_a_record): Change `min' to `MIN' for consistency with
	other files and general practice.

2013-07-04         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* gawkapi.h (awk_element_t): Add comment indicating that the array
	element index will always be a string!
	* gawkapi.c (api_flatten_array): When converting the index to an awk
	value, request a string conversion, since we want the indices to
	appear as strings to the extensions.  This makes the call to
	force_string redundant, since node_to_awk_value does that internally
	when we request a string.

2013-07-04         Arnold D. Robbins     <arnold@skeeve.com>

	* builtin.c (format_tree): Fixes for %c with multibyte characters
	and field width > 1. Bugs reported by Nethox <nethox@gmail.com>.

2013-07-02         Arnold D. Robbins     <arnold@skeeve.com>

	* profile.c (pp_string): Add a call to chksize and fix another.
	Avoids valgrind errors on profile5 test. Thanks to Andrew
	Schorr for the report.

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

	* awkgram.y: Minor whitespace cleanup, remove redundant ifdef.

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

	* dfa.c (copytoks): Rewrite to call addtok_mb() directly. Avoids
	problems with multibyte characters inside character sets.
	Thanks to Steven Daniels <stevendaniels88@gmail.com> for reporting
	the problem.  Much thanks to Mike Haertel <mike@ducky.net> for the
	analysis and fix.

2013-06-24  Eli Zaretskii  <eliz@gnu.org>

	* io.c: Move #include "popen.h" out of the HAVE_SOCKETS condition,
	as this is needed for non-sockets builds as well.  See
	http://lists.gnu.org/archive/html/bug-gawk/2013-06/msg00014.html
	for the details of the problem this caused.

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

	* io.c: Add ifdefs for VMS so that it will compile again.
	Thanks to Anders Wallin.

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

	* debug.c (print_lines): Move setting of binary mode to after all
	the messing with the fd. Simplifies code some.
	* io.c (srcopen): Rearrange so that can add call to setbinmode
	here too. This fixes the debugger and makes reading source
	files a little faster. Thanks again to Corinna Vinschen.

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

	* debug.c (print_lines): Set binary mode so that calculation of the
	byte offsets will be right. Thanks to Corinna Vinschen for the
	direction.

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

	* re.c (check_bracket_exp): Remove warning about ranges being
	locale dependent, since they aren't anymore.

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

	* io.c (iop_finish): Change fstat call to fcntl/F_GETFL per
	Eli Z., for Windows.

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

	* eval.c (unwind_stack): If exiting, don't worry about strange stuff
	on the stack.

	Unrelated:

	* awk.h (init_sockets): Declare.
	* io.c (init_io): Remove ifdef around call.

2013-06-01  Eli Zaretskii  <eliz@gnu.org>

	* io.c (SHUT_RD) [SD_RECEIVE]: Define to SD_RECEIVE.
	(SHUT_WR) [SD_SEND]: Define to SD_SEND.
	(SHUT_RDWR) [SD_BOTH]: Define to SD_BOTH.
	(FD_TO_SOCKET, closemaybesocket) [!FD_TO_SOCKET]: New macros.
	(SOCKET_TO_FD, SOCKET) [!SOCKET_TO_FD]: New macros.
	(PIPES_SIMULATED): Define only for DJGPP.
	(pipe) [__MINGW32__]: Define to call _pipe, unless PIPES_SIMULATED
	is defined.
	(init_io) [HAVE_SOCKETS]: Call init_sockets.
	(iop_close, socketopen): Call closemaybesocket instead of close.
	(redirect) [__MINGW32__]: Call wait_any with a non-zero argument.
	(devopen) [__EMX__ || __MINGW32__]: Don't call stat on network
	pseudo-filenames.
	(two_way_open) [HAVE_SOCKETS]: Switch input and output to binary
	mode if appropriate.
	(two_way_open) [!PIPES_SIMULATED]: Use the __EMX__ code for MinGW
	as well.
	[__MINGW32__] Call spawnl to invoke $ComSpec and pass it a
	suitably quoted command line.
	(two_way_open) [__MINGW32__]: Wait only for a specified process
	ID.  If successful, update the exit status of the exited process.
	Don't use signals that are undefined on MinGW.
	(two_way_open) [!PIPES_SIMULATED]: Use the __EMX__ code for MinGW
	as well.
	(min): Define only if not already defined.
	(read_with_timeout) [__MINGW32__]: Allow reading from sockets with
	timeout.
	(gawk_fclose) [__MINGW32__]: Close the underlying socket as well.

	* getopt.c: Include stdlib.h for MinGW as well.

2013-05-30         Arnold D. Robbins     <arnold@skeeve.com>

	More profiling fixes:

	* profile.c (pprint): For Op_in_array, parenthesize subscript if
	the precedence is lower. E.g.:  (c = tolower(foo)) in ARRAY.
	(prec_level): Merge cases for precedence of 5.
	(parenthesize): Simplify, as in 3.1.8. Avoids stuff like
	`(x == 1 && (z ==2 && (q == 4 && w == 7)))'.

	Unrelated:

	* io.c (iop_finish): fstat the fd before closing it to avoid
	errors on some operating systems. Thanks to Eli Zaretskii
	for the report.

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

	* profile.c (pp_group3): Renamed from pp_concat. Change all calls.
	(is_binary): Change return type to bool.
	(is_scalar): New function.
	(pp_concat): New function to handle concatenation operator better.
	(pprint): Call it at case Op_concat. Fix Op_K_delete if multiple
	indexes to separate with "][".
	General: Add leading comments as needed.

2013-05-28         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (main): Add minor hack to not run code if pretty printing
	and undocumented env var GAWK_NO_PP_RUN exists.
	* profile.c (pp_string): Explicitly print NUL chars as \000.

2013-05-27         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac (AM_INIT_AUTOMAKE): Add dist-lzip to quiet
	outside maintainer warnings.

	Unrelated:

	* configure.ac (AC_STRUCT_ST_BLKSIZE): Replaced with call to
	AC_CHECK_MEMBERS.

	Unrelated:

	* array.c (null_array): Remove the assert and just clear
	symbol->xarray.

2013-05-26         Arnold D. Robbins     <arnold@skeeve.com>

	* getopt.c: For Mac OS X, also include <stdlib.h> to avoid
	some compiler warnings.

2013-05-20         Arnold D. Robbins     <arnold@skeeve.com>

	* gawkapi.h [FAKE_FD_VALUE]: Moved from here to ...
	* io.c [FAKE_FD_VALAUE]: here.

2013-05-14  Eli Zaretskii  <eliz@gnu.org>

	* io.c (devopen) [__EMX__ || __MINGW32__]: Produce EISDIR on MinGW
	when an attempt to open() a directory fails.
	(two_way_open) [__EMX__ || __MINGW32__]: When trying to open() a
	directory fails with EISDIR, assign FAKE_FD_VALUE to the file
	descriptor and attributes of a directory to its mode bits.  This
	is needed to support the readdir extension.

	* gawkapi.h (FAKE_FD_VALUE): New macro, used in io.h and in
	extension/gawkdirfd.h.

2013-05-09         Arnold D. Robbins     <arnold@skeeve.com>

	* 4.1.0: Release tar ball made.

2013-05-09         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (snode): Make it a fatal error to use a regexp constant
	as the second argument of index(). Thanks to Christopher Durant
	<christopher.durant@marquesa.net> and Brian Kernighan for the report
	and the advice.

2013-04-28  Eli Zaretskii  <eliz@gnu.org>

	* io.c (redirect): Remove the HACK that called close_one when
	errno was zero in the MinGW build.  This prevents failure in
	several tests in the test suite, e.g., closebad.

2013-04-28         Arnold D. Robbins     <arnold@skeeve.com>

	* bootstrap.sh: Fix a comment.

2013-04-24         Arnold D. Robbins     <arnold@skeeve.com>

	* io.c (do_getline_redir): Fix the leading comment.

2013-04-23         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (load_procinfo): Add PROCINFO entries for API major
	and minor versions.

2013-04-21         Arnold D. Robbins     <arnold@skeeve.com>

	* missing: Update from Automake 1.13.1.

2013-04-18         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac: Fix a typo.

2013-04-17         Corinna Vinschen      <vinschen@redhat.com>

	* configure.ac: Remove special casing for cygwin for libiconv
	and libintl.

2013-04-16         Arnold D. Robbins     <arnold@skeeve.com>

	* bootstrap.sh: Touch gawk.texi too. Update copyright.

2013-04-16         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.c: Regenerated from bison 2.7.1.
	* command.c: Ditto.
	* dfa.h, dfa.c: Minor edits to sync with GNU grep.
	* gettext.h: Sync with gettext 0.18.2.1.
	* random.h: Remove obsolete __P macro and use. Update copyright year.
	* Makefile.am, array.c, builtin.c, cint_array.c, cmd.h, debug.c,
	eval.c, ext.c, field.c, gawkapi.c, gawkapi.h, gettext.h, int_array.c,
	interpret.h, msg.c, node.c, profile.c, re.c, replace.c, str_array.c,
	symbol.c: Update copyright year.

	Update to automake 1.13.1:

	* configure.ac (AM_INIT_AUTOMAKE): Update version.
	* configure, Makefile.in, aclocal.m4, awklib/Makefile.in,
	doc/Makefile.in, test/Makefile.in: Regenerated.

	* getopt.c, getopt.h, getopt1.c, getopt_int.h: Sync with GLIBC.

2013-04-14         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (check_funcs): Fix logic of test for called but
	not defined warning. Thanks to Scott Deifik for the bug report.

2013-04-02         Arnold D. Robbins     <arnold@skeeve.com>

	* profile.c (print_lib_list): Send final newline to prof_fp
	instead of stdout.  Thanks to Hermann Peifer for the bug report.

2013-03-27         Arnold D. Robbins     <arnold@skeeve.com>

	* Makefile.am (SUBDIRS): Move extension back into the middle of
	the list so that `make check' without a prior `make' works.

	Unrelated:

	* main.c (main): Move env_lc into ifdef for LIBC_IS_BORKED.

2013-03-20         Arnold D. Robbins     <arnold@skeeve.com>

	For systems where libc is borked (MirBSD, maybe others).

	* dfa.c: Force use of gawk_mb_cur_max instead of MB_CUR_MAX and make
	mbrtowc a macro that always fails.
	(using_utf8): Force utf8 to be 0 if libc borked and gawk_mb_cur_max
	is one.
	* main.c (main): If libc is borked and LC_ALL or LANG exist in the
	environment and are set to "C" or "c", force gawk_mb_cur_max to one.

2013-03-11         Arnold D. Robbins     <arnold@skeeve.com>

	* re.c (check_bracket_exp): Make handling of embedded ] in
	regexp smarter. Thanks to Ed Morton <mortoneccc@comcast.net>
	for reporting the bug.

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

	Don't build extensions if API isn't supported:

	* Makefile.am (SUBDIRS): Move extension directory to last in case
	building the extensions is not supported.
	* configure.ac: Add check for MirBSD and don't even try to run the
	checks for DYNAMIC if so.

	Check for systems (MirBSD) where libc doesn't understand not
	to use UTF-8 for LC_ALL=C.

	* configure.ac (LIBC_IS_BORKED): AC_DEFINE if needed.
	* regcomp.c (init_dfa): Change logic as needed if LIBC_IS_BORKED.

2013-02-28         Arnold D. Robbins     <arnold@skeeve.com>

	Cause profiling / pretty printing to include a list of
	loaded extensions. Thanks to Hermann Peifer for the bug report.

	* awk.h (srcfiles): Add declaration.
	* profile.c (print_lib_list): New function.
	(dump_prog): Call it.

2013-02-26         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (expression_list): In case of error return the list
	instead of NULL so that snode gets something it can count.

2013-02-12         Arnold D. Robbins     <arnold@skeeve.com>

	* bisonfix.awk: Comment out code for fixing contined #if
	statements. It is likely not needed anymore. Leave it there in
	case I'm wrong.

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

	* builtin.c (printf_common): Move nargs > 0 check into assert.
	(do_sprintf): Add nargs check and fatal message to here.

2013-02-04         Arnold D. Robbins     <arnold@skeeve.com>

	* main.c (main): Remove undocumented -m option which was for
	compatibility with BWK awk. His awk dropped it back in 2007.

2013-02-03         Arnold D. Robbins     <arnold@skeeve.com>

	* configure.ac: Add Automake test for cross compiling.

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

	* regcomp.c, regex.c, regex_internal.c, regexec.c: Update
	copyright years to sync with GLIBC.

	From: http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html,
	by Andreas Schwab <schwab@suse.de>:

	* regexec.c (extend_buffers): Add parameter min_len.
	(check_matching): Pass minimum needed length.
	(clean_state_log_if_needed): Likewise.
	(get_subexp): Likewise.`

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

	* dfa.c: Include "dfa.h" which includes regex.h after limits.h
	so that RE_DUP_MAX gets the correct value. Especially needed on
	OpenVMS. Thanks to Anders Wallin.

	* main.c (version): Print out API version numbers if DYNAMIC.
	Helpful also for knowing if to run the shlib tests.

	* configure: Regenerated after change in m4/readline.m4.

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

	* PROBLEMS: Removed. It is no longer needed.
	* Makefile.am (EXTRA_DIST): Remove PROBLEMS from list.

2013-01-31         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* configure.ac: Remove TEST_MPFR conditional added in last patch.
	We will instead test for MPFR capability by looking at the output
	from gawk --version.

2013-01-27         Andrew J. Schorr     <aschorr@telemetry-investments.com>

	* configure.ac: Add MPFR test for use in test/Makefile.am.

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

	* awkgram.y (parms_shadow): Change int param to bool.
	* cmd.h (output_is_tty): Sync type with rest of code (is bool).
	* dfa.c (MALLOC): Undef first, for Irix.
	* Makefile.am (LDADD): Use LIBREADLINE and LIBMPFR instead of
	automake substitutions.
	* configure.ac (AC_INIT): Version bump.
	(GAWK_CHECK_READLINE): Renamed from GNUPG_CHECK_READLINE.

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

	* awk.h (list_functions): Change parameter to bool.
	* symbol.c (list_functions): Ditto.
	(get_symbols): Change sort parameter to bool. Additional
	code cleanup.

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

	* symbol.c (get_symbols): Reset count after each loop to only
	sort the actual items retrieved. Thanks to Hermann Peifer (by
	way of Andrew Schorr) for reporting the bug.  Also add some
	commentary and fix function name in emalloc calls.

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

	* re.c (regexflags2str): New routine.
	(resetup): If do_intervals, also turn on RE_NO_BK_BRACES.
	Thanks to Yan Lei <yanl.fnst@cn.fujitsu.com> for the
	bug report.

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

	Fix a problem with include ordering to get ptrdiff_t definition,
	showed up on Debian Lenny. Reported by Manuel Collado.
	Fix brought over from grep.

	* dfa.h: Include regex.h and stddef.h directly.
	* dfa.c: Adjust includes.

2013-01-11         John Haque            <j.eh@mchsi.com>

	* awk.h (do_mpfr_rshift): Renamed from do_mpfr_rhift.
	* awkgram.y (do_mpfr_rshift): Renamed from do_mpfr_rhift.
	* mpfr.c (_tz1, _tz2, _mpz1, _mpz2, mpz1, mpz2, get_bit_ops,
	free_bit_ops): Removed.
	(init_mpfr): Remove calls to mpz_init.
	(get_intval, free_intval): New functions.
	(do_mpfr_rshift, do_mpfr_lshift): Rework code.
	(do_mpfr_and, do_mpfr_or, do_mpfr_xor): Accept two or more arguments
	to match regular functions.

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

	* bisonfix.awk: Adjust ARGV / ARGC to force reading of standard
	input; apparently needed for Mac OS X. Thanks to Akim Demaille
	for the report.

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

	* io.c (redirect, two_way_open): Set the name field in the
	awk_input_buf_t and awk_output_buf_t structures, as needed.
	Thanks to Manuel Collado for the report.

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

	* regex_internal.h (struct re_dfa_t): Restore ifdefs around
	__libc_lock_define, they really were needed. Bleah.

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

	Sync with GLIBC regex files.

	* regex_internal.h (struct re_dfa_t): Remove ifdefs around
	__libc_lock_define since it's already defined to empty in non-LIBC
	case.
	* regexec.c (check_node_accept_bytes): Restore decl with use from
	GLIBC code since this is LIBC case.

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

	* builtin.c (do_print, do_printf): Use output_fp as default
	output for print/printf only if running under the debugger.
	Otherwise use stdout as Brian, Peter, and Al intended.

2012-12-25         Arnold D. Robbins     <arnold@skeeve.com>

	Remove sym-constant from API after discussions with John
	Haque and Andy Schorr.

	* gawkapi.h (api_sym_constant): Removed field in API struct.
	(sym_constant): Remove macro.
	* gawkapi.c (set_constant, api_sym_update, api_sym_constant): Removed.
	(sym_update_real): Renamed to api_sym_update(). is_const parameter
	removed and code adjusted.

2012-12-24         Arnold D. Robbins     <arnold@skeeve.com>

	* 4.0.2: Release tar ball made.

2012-12-23         John Haque      <j.eh@mchsi.com>

	* eval.c (r_get_lhs): Node_array_ref. If original is Node_var,
	don't assign null-string as value.
	* ext.c (get_argument): Node_array_ref. Check if already a scalar.

2011-12-23         John Haque      <j.eh@mchsi.com>

	* awkgram.y (is_deferred_variable): New function.
	(func_install): Call it.
	* eval.c (r_interpret): Op_push_arg. Check for uninitialized scalar.

2012-12-23         Arnold D. Robbins     <arnold@skeeve.com>

	* awkgram.y (tokentab): Whitespace fix for "include".
	* builtin.c (printf_common): Do a fatal error if no args to printf()
	or sprintf().

2012-12-19         Arnold D. Robbins     <arnold@skeeve.com>

	* bootstrap.sh: Touch extension/aclocal.m4 also.

	Unrelated: Extend input parser API:

	* awk.h (IOBUF): Remove read_func pointer.
	* gawkapi.h (awk_input_buf_t): Move it to here.
	* io.c (iop_alloc, get_a_record, get_read_timeout): Adjust code.

	Unrelated: Make sure that variables like NF, NR, FNR are
	accessable correctly both through SYMTAB and through API.
