summaryrefslogtreecommitdiffstats
path: root/contrib/awk/ChangeLog
diff options
context:
space:
mode:
authorjraynard <jraynard@FreeBSD.org>1997-10-14 18:17:11 +0000
committerjraynard <jraynard@FreeBSD.org>1997-10-14 18:17:11 +0000
commita46c41193ff2573a4c910e19b570e9c253e714a1 (patch)
treed84200da2f7f2d8f1321c265bc6ddd7ce15633f8 /contrib/awk/ChangeLog
downloadFreeBSD-src-a46c41193ff2573a4c910e19b570e9c253e714a1.zip
FreeBSD-src-a46c41193ff2573a4c910e19b570e9c253e714a1.tar.gz
Virgin import of GNU awk 3.0.3
Diffstat (limited to 'contrib/awk/ChangeLog')
-rw-r--r--contrib/awk/ChangeLog826
1 files changed, 826 insertions, 0 deletions
diff --git a/contrib/awk/ChangeLog b/contrib/awk/ChangeLog
new file mode 100644
index 0000000..0fa6515
--- /dev/null
+++ b/contrib/awk/ChangeLog
@@ -0,0 +1,826 @@
+Thu May 15 12:49:08 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Release 3.0.3: Release tar file made.
+
+Wed May 14 08:06:08 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (do_close): add lint warning if closing something that
+ isn't open.
+
+Tue May 13 12:14:12 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * random.c, builtin.c: remove __GLIBC__ tests, since it breaks
+ `make test'. I prefer consistency across platforms.
+ * Makefile.in (gawk): undid April 25 changes and added comment.
+ Putting COMPLAGS in breaks with -g on VMS POSIX.
+
+Sun May 11 14:48:04 1997 Darrell Hankerson <hankedr@mail.auburn.edu>
+
+ * io.c [MSC_VER]: add cases for WIN32.
+ * regex.c [MSC_VER]: add cases for WIN32.
+
+Sun May 11 07:04:01 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_print): in the loop that evaluates each expression
+ to be printed, do a dupnode to avoid bizarre output. Thanks to
+ Michal for finding this problem.
+ * awk.y (yylex): fix scanning of hexadecimal constants.
+
+Wed May 7 15:09:25 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (get_a_record): fix casetable indexing with cast to int.
+ Keeps Michal happy.
+
+Tue May 6 16:40:19 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (func_call): removed unneeded variables.
+
+Mon May 5 21:17:37 1997 Pat Rankin <rankin@eql.caltech.edu>
+
+ * missing/strftime.c [case 'v', VMS_EXT]: for VMS date format, two
+ digit day of month should not be zero padded on the 1st through
+ the 9th.
+
+Mon May 5 06:33:47 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * regex.h, regex.c: merge with current GLIBC version.
+
+Mon May 5 06:33:47 1997 Pat Rankin <rankin@eql.caltech.edu>
+
+ * io.c (nextfile): move the check for null return from iop_open
+ in the normal case and add one for the "no args" case.
+
+Fri Apr 25 16:52:33 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * array.c (grow_table): add a bunch more large primes so arrays
+ can get really big. Thanks to christos@deshaw.com.
+ * all files: remove ifdef'ed out code and update copyrights.
+ * Makefile.in (gawk): add $(COMPFLAGS) to command line.
+ * eval.c (flags2str): added case for FIELD.
+
+Thu Apr 24 22:39:23 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * COPYING: changed to current official version from FSF.
+ * regex.c: merge with GLIBC version.
+ * awk.h [_GNU_SOURCE]: bracket definition inside ifdef.
+ (NODE.source_line): move name member out of `x' union and
+ into `nodep'; avoids problems doing diagnostics.
+ (nondec2num): put decl into #if BITOPS || NONDECDATA
+ * posix/gawkmisc.c, missing/system.c, missing/strtod.c,
+ missing/strerror.c: move to generic GPL statement at top.
+ * builtin.c (nondec2num): put into #if BITOPS || NONDECDATA
+
+Wed Apr 23 22:14:14 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * dfa.c: misc changes for really pedantic SGI compilers.
+ * builtin.c: bracket defs of random() etc for GLIBC.
+ * random.c: bracket whole file for GLIBC.
+ * configure.in: extra goop for GETPGRP test for VMS POSIX.
+ * custom.h [VMS]: remove hard definition of GETPGRP_VOID.
+
+Fri Apr 18 07:55:47 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * BETA Release 3.0.34: Release tar file made.
+
+Tue Apr 15 21:35:45 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ NEW UNDOCUMENTED FEATURE. USE THE SOURCE LUKE!
+ * acconfig.h [NONDECDATA]: new macro.
+ * awk.h: add decl of do_strtonum.
+ * awk.y (tokentab): add entry for strtonum function.
+ * builtin.c (do_strtonum): new function.
+ * configure.in (non-decimal-data): new --enable-* option.
+ * node.c (r_force_number): change to allow non-decimal data inside
+ ifdef NONDECDATA.
+
+Tue Apr 15 06:32:50 1997 Pat Rankin <rankin@eql.caltech.edu>
+
+ * missing/strftime.c (malloc, realloc, getenv, strchr): only
+ declare these when STDC_HEADERS is not defined.
+ <stdlib.h, string.h>: include these when STDC_HEADERS is defined.
+ * awk.h (freenode, tree_eval, m_tree_eval): reorganize definitions.
+ * alloca.c (malloc): if malloc is already defined as a macro,
+ presumeably by config.h, don't define or declare it.
+
+Wed Apr 9 22:45:27 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in [COMPFLAGS]: per suggestion from Karl Berry, put
+ $(CFLAGS) last.
+
+Tue Apr 8 23:54:46 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (interpret): For Node_K_break and Node_K_continue, if
+ treating them like `next', also check the function call stack
+ and pop it if necessary.
+
+Mon Apr 7 18:22:37 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h: Add decls of new routines do_compl() and set_loc().
+ * awk.y (tokentab): add entry for "compl" function.
+ * builtin.c (do_compl): new functionto do ones complement.
+ (do_substr): rationalized yet again, now notices negative start
+ and length parameters.
+ * eval.c (push_args): fix if call_list gets realloc'ed in the
+ middle of things. Avoids crash for deeply nested function calls.
+ * main.c (catch_sig): add call to set_loc().
+ * msg.c (set_loc, srcfile, srcline): new function and private
+ variables to help out in tracing down source of error messages.
+
+Fri Mar 28 08:42:27 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (iop_alloc, iop_close): Undo changes of Feb 11, apparently
+ other cleanups in io.c made mmap stuff start working again.
+ BAH! It's a mess, the test suite still fails. I'm leaving the
+ mmap stuff undefined for now. It'll probably get ripped out in 3.1.
+
+Thu Mar 27 08:48:57 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * custom.h [_SEQUENT_]: undef HAVE_MMAP.
+
+Wed Mar 26 09:08:16 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (iop_alloc): fix definition to make it static.
+
+Mon Mar 24 23:09:07 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * field.c (init_fields, etc..): more clean up use of Null_field
+ and the various flags.
+ * node.c (unref): if a field, free the node itself. Fixes
+ memory leak problems.
+
+Sun Mar 23 22:51:09 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h [FIELD]: new flag for node->flags field.
+ * builtin.c (sub_common): if FIELD is set, dup the string.
+ * field.c (init_fields): set up a new Null_field global var.
+ (init_fields, set_field, set_record) use the FIELD flag.
+ (getfield): use Null_field instead of private variable.
+ * io.c (wait_any): comment out calls to pclose and iop_close,
+ caused weird race conditions. See test/pipeio1.awk. Thanks
+ to Darrell Hankerson for tracing this one down.
+
+Tue Mar 18 20:57:18 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * dfa.c (inboth): free templist; plugs memory leak.
+ * field.c (init_fields, grow_fields_arr, set_field, rebuild_record,
+ set_record): remove PERM flag from entries in fields_arr[]. Fixes
+ nasty memory leak.
+
+Tue Mar 18 06:33:00 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.y (dup_parms): robustified against parameter errors.
+
+Sun Mar 16 21:31:40 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ NEW UNDOCUMENTED FEATURE. USE THE SOURCE LUKE!
+ * acconfig.h [BITOPS]: new macro. If set, do octal & hex and bit ops.
+ * awk.h [isnondecimal]: new macro, and decl of new functions.
+ * awk.y (yylex): add recognition of octal and hex constants.
+ * builtin.c (do_and, do_or, do_xor, do_lshift, do_rshift): new
+ functions that do bit operations.
+ (nondec2awknum): new function to convert octal or hex to double.
+ * configure.in: Add AC_ARG_ENABLE for bit operations.
+ * node.c (r_force_number): add octal and hex conversion.
+
+Sun Mar 16 21:28:56 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h [IOP_NOFREE_OBJ]: new macro.
+ * io.c (iop_open, iop_alloc): add new third parameter, which is
+ either NULL, meaning allocate a new IOP, or the address of one
+ already allocated. Have a static one in the `nextfile'
+ routine, and use the IOP_NOFREE_OBJ flag for it. All of this
+ keeps us from reading freed memory. The `swaplns' test fails
+ otherwise.
+ (iop_close): if IOP_NOFREE_OBJ is set, don't free the IOBUF.
+
+Wed Feb 26 06:21:02 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (in_function, pop_fcall_stack, pop_fcall, push_args):
+ new functions. These manage "frames" of awk function call arguments.
+ The problem is that a `next' or a `nextfile' from a function
+ leaks memory. These changes allow us to free up that memory.
+ (interpret): for Node_K_next and Node_K_nextfile, check if in
+ a function call and free all function call frames.
+
+Fri Feb 21 06:23:19 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Misc changes from Katsuyuki Okabe <HGC02147@niftyserve.or.jp>:
+ * builtin.c (do_substr): change a %d to %ld in warning message.
+ * eval.c (op_assign): fix format string for warning about %=.
+
+Wed Feb 19 23:29:02 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (main): add do_intervals to condition that causes
+ resetup() to be called again. Makes the --re-interval option
+ actually work. What a concept.
+
+Fri Feb 14 09:47:31 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c [#include "awk.h"]: undef HAVE_MMAP to just use thoe old code.
+ Something is causing a file descriptor leak, and this is getting to
+ be just too much hair. I reserve the right to rip out the mmap
+ code entirely at a future date.
+
+Tue Feb 11 06:28:29 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (iop_alloc): for an mmap'ed file, close the file descriptor,
+ and then touch each page to get a private copy. Fixes nasty case
+ of truncating our input file.
+ (iop_close): don't call close on mmap'ed file.
+
+Wed Feb 5 17:59:04 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (interpret): For Node_K_delete, just call do_delete; let
+ it handle the case of `delete array'.
+ * array.c (do_delete): Changed to handle case of `delete array',
+ and made smarter if the array is actually an uninitialized
+ parameter.
+
+Sun Jan 26 22:58:29 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * getopt.h, getopt.c, getopt1.c: replaced with new versions from
+ GLIBC 2.
+
+Sun Jan 19 23:37:03 1997 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (nodetype2str): not static, for debugging.
+ (flags2str) new function: for debugging.
+ * field.c (get_field): add new var that is like Nnull_string but
+ does not have numeric attributes, so that new fields are strings.
+ (set_record): turn off PERM flag before unrefing fields and field 0.
+ * array.c (in_array): always evaluate subscript, could have
+ side effects.
+ * builtin.c (do_strftime): way increase size of buffer to make sure
+ we don't have overflow problem. Keeps Paul Eggert happy.
+ * custom.h [__amigaos__]: define fork to vfork. From Fred Fish.
+ * dfa.c: move include of config.h to top, for RSXNT. From Kai
+ Uwe Rommel.
+ (ISALPHA, etc): change from Jacob Engelbrecht (jaen@novo.dk)
+ to better handle non-ascii environments.
+ * gawkmisc.c: remove amigados case, posix should now work fine.
+ * amiga/*: nuked per previous entry.
+ * Makefile.in: removed all references to amiga
+ * io.c [HAVE_SYS_PARAM_H]: Add #undef RE_DUP_MAX to avoid
+ spurious conflict with regex.h.
+ (flush_io): remove amiga ifdefs, not needed anymore.
+ (spec_setup): set getrec field for special files. Fix from
+ Mark Gray (markgray@pdt.net).
+ * node.c (more_nodes): fix to get the last entry in the array.
+
+Wed Jan 8 17:42:37 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * io.c (mmap_get_record): Fix return value if file ends without
+ record separator.
+
+Fri Jan 3 19:57:16 1997 Pat Rankin <rankin@eql.caltech.edu>
+
+ * awk.y (get_src_buf): Test for an empty source file by detecting
+ an initial read of 0 bytes rather than by relying on info from
+ stat().
+
+Wed Dec 25 11:25:22 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Release 3.0.2: Release tar file made.
+
+Wed Dec 25 11:17:32 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (install, uninstall): use $(srcdir)/patchlevel.h.
+ Thanks to Richard Levitte, LeViMS@stacken.kth.se.
+ (install): remove chmod command; let $(INSTALL_PROGRAM) use -m.
+
+Mon Dec 23 20:36:59 1996 Pat Rankin <rankin@eql.caltech.edu>
+
+ * custom.h (#if VMS_POSIX): Define GETPGRP_VOID.
+
+Fri Dec 20 08:59:55 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * getopt.c, getopt1.c: comment out the `#if defined (_LIBC) ||
+ !defined (__GNU_LIBRARY__)' and `#endif' to force use of this
+ getopt, even on systems like linux. This will be handled
+ better in 3.1 / glibc 2.
+
+Thu Dec 19 22:52:39 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.y (yylex): In several places, after yyerror(), add call to
+ exit(). Otherwise, infinite messages. This should probably
+ be handled better.
+
+Wed Dec 18 22:42:10 1996 Darrel Hankerson <hankedr@mail.auburn.edu>
+
+ * getopt.c (_getopt_internal): if 'W' and ';', if optind == argc,
+ return c, don't fall through.
+
+Wed Dec 18 10:09:44 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in [AC_PREREQ]: Update to 2.12 in order to switch to
+ autoconf 2.12. Lots of other files will be rebuilt automatically.
+ [AM_SANITY_CHECK_CC]: Removed, autoconf does it now.
+ * alocal.m4 [AM_SANITY_CHECK_CC]: Removed, autoconf does it now.
+
+Tue Dec 17 22:23:16 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_strftime): fix case if format string is "".
+ Also fix it if format is not "" but result of strftime is "".
+ See comments in code.
+
+Tue Dec 10 23:09:26 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Release 3.0.1: Release tar file made.
+
+Tue Dec 10 22:39:41 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (dist): add dependency on `info'. Remove line that
+ does makeinfo.
+ (install): use $(LN) not $(LN_S) to link gawk gawk-version.
+
+Sun Dec 8 07:53:44 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (gawk): took COMPFLAGS out of link line for help
+ on VMS posix. Shouldn't (I hope) affect anything else.
+
+Thu Nov 28 11:52:24 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in (AC_PROG_INSTALL): Set INSTALL to install-sh.
+
+Tue Nov 26 22:42:00 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * PORTS: Updated list of systems.
+ * Makefile.in (install): Fix some typos and add some improvements
+ for Ultrix.
+
+Sun Nov 24 22:16:26 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_printf): if no args, fatal error. Return silently
+ if --traditional.
+
+Thu Nov 7 20:54:43 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (inrec): make sure EOF hasn't already happened before
+ trying to read; prevents accessing freed buffer. Thanks to
+ Michal Jaegermann.
+ * Makefile.in [AWKSRC]: add random.h.
+ random.h: new file, redefines names of the `random' functions.
+ random.c, builtin.c: add include of random.h.
+
+Thu Nov 7 09:06:21 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.y (snode): undo 4 Oct change, put do_split code back.
+ field.c (do_split): restore old code; add test for CONST, so
+ that re_parse_field is used if third arg to split is a regexp
+ constant.
+
+Mon Nov 4 12:57:11 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (main): Research -m[fr] options don't need literal '='
+ characters. Brian's documentation was confusing. Fixed, not
+ that anyone actually uses these options with gawk.
+
+Sun Nov 3 11:23:21 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * field.c (def_parse_field): add \n to list of acceptable white space.
+ (posix_def_parse_field): new routine, just like def_parse_field(),
+ but only allows space and tab as separators.
+ (do_split, set_FS): make appropriate choice between the two
+ *def_parse_field() routines.
+
+Fri Oct 25 10:13:06 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in: remove test for random.
+ * Makefile.in: add random.c to list of files always compiled.
+ * missing.c: remove HAVE_RANDOM test.
+ * builtin.c: remove ifdef's for HAVE_RANDOM.
+ [GAWK_RAND_MAX]: use constant we know works with our random().
+ * random.c: new file - moved from missing/ directory.
+
+Wed Oct 23 19:46:01 1996 Pat Rankin <rankin@eql.caltech.edu>
+
+ * builtin.c (do_tolower, do_toupper): Add `unsigned char *' casts.
+
+Tue Oct 22 21:27:52 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c [GAWK_RANDOM_MAX]: Try to make definition a bit
+ smarter; don't use RAND_MAX if it's equal to SHRT_MAX, blows
+ things up.
+
+Tue Oct 22 08:49:20 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (copyleft): update copyright date to 1996.
+ too many files to list: update copyright date to 1996.
+
+Sun Oct 20 12:21:09 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.y, dfa.c, eval.c, io.c, re.c: added various FIXME comments.
+
+Sat Oct 19 22:06:42 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (nodetype2str): make static, add prototype.
+ * field.c (sc_parse_field): cast array subscripts to int to
+ shut up gcc warnings.
+ * gawkmisc.c: add prototype for xmalloc.
+ * awk.h: add prototype for getredirect.
+ * builtin.c (do_fflush): remove extern decl of getredirect.
+ * io.c (get_a_record, mmap_get_record): change decl of rs to int,
+ to shut up gcc warnings.
+ * awk.y (isassignable): add a default to switch to quiet gcc.
+ * getopt.c (_getopt_internal): give default value to `indfound'.
+
+Fri Oct 18 09:00:49 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * regex.h [RE_SYNTAX_AWK]: add RE_CONTEXT_INDEP_ANCHORS.
+
+Thu Oct 17 22:32:55 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * aclocal.m4 [AM_SANITY_CHECK_CC]: added.
+ * configure.in: use it.
+
+Thu Oct 17 21:43:25 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in: add checks for locale.h and setlocale().
+ awk.h: include locale.h and define out setlocale() if not available.
+ main.c (main): call setlocale().
+ builtin.c (do_tolower, do_toupper): use unsigned char pointers,
+ to get other charsets right in different locales.
+
+Wed Oct 16 21:32:53 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (format_tree): Change initial buffer size to 512
+ and use a constant. Allows large values of %f per bug report
+ from sheyn@cs.bu.edu.
+
+Wed Oct 16 21:22:08 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in [MISC]: removed TAGS and tags
+ (local-distclean): added TAGS and tags
+ (maintainer-clean): removed TAGS and tags
+
+Wed Oct 16 12:28:43 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (version): Add call to copyleft(), per new standards.
+ version.c: Fix text of version string to match new standards.
+
+Sun Oct 6 22:19:45 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * regex.c: updated to Emacs 19.34b base.
+
+Sun Oct 6 21:57:34 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * re.c (make_regexp): fixed to handle \8 and \9 in the middle
+ of a regexp.
+
+Fri Oct 4 10:26:16 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.y (snode): remove case for do_split; always making the
+ third arg a Node_regex is wrong.
+ field.c (do_split): rationalized to distinguish `/ /' from `" "'.
+ Generally fixed up.
+ * node.c (parse_escape): Allow single digit \x escapes.
+
+1996-10-02 Paul Eggert <eggert@twinsun.com>
+
+ * builtin.c (format_tree):
+ Fix bug in %d and %i format: NaNs, and values
+ in the range LONG_MAX+1 .. ULONG_MAX, were mishandled.
+ Don't assume that double values <= -1 are converted to unsigned
+ long in the expected way; the C Standard doesn't guarantee this.
+
+1996-10-02 Paul Eggert <eggert@twinsun.com>
+
+ * awk.h (INT_MAX): Remove unused symbol.
+
+Mon Sep 30 22:19:11 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * getopt.c (_getopt_internal): If 'W' is in the optstring followed
+ by a ';' then search through the long opts table. This makes
+ `-W foo=bar' same as `--foo=bar'.
+ * main.c (main): 'W' now prints an error message.
+ (gawk_option): deleted the routine.
+
+Sun Sep 29 23:04:54 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (sub_common): fix several bugs with gsub when
+ matching null strings. See test/gsubtest.awk.
+
+Fri Sep 20 17:35:54 1996 Pat Rankin <rankin@eql.caltech.edu>
+
+ * alloca.c (NULL): don't define if <config.h> has already done so.
+
+Fri Sep 20 11:54:31 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_print): evaluate all the expressions first and
+ then print them. Avoids suprising behavior. See test/prtoeval.awk
+ for an example.
+
+Tue Sep 10 06:21:40 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h [FUNC]: new flag, marks a Node_parameter_list as really
+ being the function name; allows more checking in awk.y.
+ * awk.y (isassignable): now takes a NODE * instead of a type, to
+ check if a function parameter is marked FUNC, then it's the function
+ name, which is not assignable. Fix call from snode().
+ (function_prologue): mark function name as FUNC.
+ (yyerror): don't call exit() anymore; gawk will now report
+ all syntax errors.
+
+Sun Sep 1 19:36:30 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * field.c (rebuild_record): after building new field 0, go through
+ all old fields, and if they used to point into the old one,
+ have them point into the new one. Then turn off PERM flag before
+ unref-ing field 0.
+
+Wed Aug 28 19:13:34 1996 Arnold D. Robbins <arnold@math.utah.edu>
+
+ * eval.c (set_IGNORECASE): Correctly parenthesize bit operations
+ in test and fix logic for string value.
+
+Wed Aug 28 22:06:33 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (usage): add email addresses for bug reporting, per
+ change in GNU Coding Standards from RMS.
+
+Sun Aug 11 23:13:22 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (install): correct use of $(INSTALL_PROGRAM).
+
+Thu Aug 8 23:29:43 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * parse.y (isassignable): new function, checks in type can
+ be assigned to.
+ (snode): changed checking for 3rd arg of gsub to be more
+ general, supersedes earlier change.
+
+Thu Aug 8 13:58:26 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * parse.y (snode): If third arg to sub or gsub is builtin
+ function, complain, since can't substitute into result.
+ * eval.c (r_get_lhs): diagnose Node_builtin as an error, instead
+ of falling through into default case and using cant_happen().
+
+Thu Aug 1 07:13:14 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * regex.h [RE_DEBUG]: new macro.
+ [RE_SYNTAX_GNU_AWK]: add RE_DEBUG.
+ [RE_SYNTAX_POSIX_AWK]: add RE_INTERVALS.
+ * regex.c (re_set_syntax): add #ifdef DEBUG code to turn on `debug'
+ flag if RE_DEBUG set, and turn off debug if not set and debug
+ was on.
+ * main.c (main): remove `do_intervals = TRUE' from `if (do_posix)',
+ it's now handled in the definition of RE_SYNTAX_POSIX_AWK.
+
+Mon Jul 29 17:49:07 1996 Pat Rankin <rankin@eql.caltech.edu>
+
+ * io.c (O_ACCMODE): define it if <fcntl.h> doesn't.
+
+Mon Jul 29 12:02:48 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (set_IGNORECASE): made somewhat smarter. gawk -v IGNORECASE=0
+ was acting the same as -v IGNORECASE=1. Thanks to Darrell Hankerson
+ for the bug report.
+
+Fri Jul 26 12:04:43 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h (format_val): add declaration of new routine.
+ * node.c (format_val): new routine, abstracts old guts of
+ r_forcestring; accepts format string and index as additional params.
+ (r_force_string): changed to call format_val.
+ * builtin.c (do_print): don't tree_eval the tree twice in case
+ OFMTidx != CONVFMTidx; doing so could cause side effects
+ (from bug report by Tobias Rettstadt, xassp@ipds.uni-kiel.de).
+ Instead, call format_val.
+
+Mon Jul 22 21:59:15 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (iop_close): change check for "is $0 in the input buffer"
+ to use `< (iop->buf + iop->secsiz + iop->size)' instead of
+ `< iop->end'. The latter is bogus if EOF has been hit on the
+ file. Fix from Darrel Hankerson based on bug report by
+ Charles Howes (howes@grid.direct.ca). See test/eofsplit.awk.
+
+Thu Jul 18 19:43:20 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (sub_common): backed out change of Feb 14 in favor of:
+ (do_gensub): Changed to use make_string and then to |= TEMP
+ flag, based on bug report and patch from Katsuyuki Okabe,
+ hgc02147@niftyserve.or.jp.
+
+Thu Jul 18 19:23:53 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * custom.h: added ifdef for QNX, based on bug report from
+ Michael Hunter, mphunter@qnx.com.
+
+Mon Jul 15 09:31:01 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (redirect): When finding the rp pointer, if it's not
+ NULL, set str = rp->value. This gets the '\0' terminated
+ version. Motivated by bug report from John Hawkinson
+ (jhawk@bbnplanet.com).
+
+Sun Jul 14 18:40:26 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in: added call to AC_CHECK_LIB(m, fmod), since
+ apparently some systems have fmod in the math library.
+ Portability: the Holy Grail. Sigh.
+
+Sun Jul 14 18:08:01 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h: add Jim Meyerings ISASCII etc hacks for ctype macros.
+ * builtin.c (do_toupper, do_tolower, sub_common): changed to use
+ upper-case versions of ctype macros.
+ * main.c (main): ditto.
+ * node.c (r_force_number, parse_escape): ditto.
+
+Sun Jul 14 06:34:18 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * field.c (set_record): made it always do the PERM flag.
+ Fixes cases where $0 is assigned to, e.g. by gsub, keeps
+ the fields valid.
+ (get_field): removed the call to reset_record in
+ case where ! field0_valid. We want to leave the fields alone
+ if they've been changed.
+
+Thu Jul 11 23:04:20 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (devopen): change tests of (flag & O_fooONLY) to
+ (flag & O_ACCMODE) == O_fooONLY. Per (long standing) bug
+ report from Chapman Flack.
+ (close_redir): change final conditional to just (status != 0)
+ so that ERRNO always set; the warning had its own `if (do_lint)'
+ anyway.
+ * eval.c (do_split): force type of array to be Node_var_array
+ instead of Node_var. Per (long standing) bug report from
+ Chapman Flack.
+
+Thu Jul 11 22:17:14 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (install): added symlink of gawk to awk if
+ no awk in $(bindir).
+ (LN_S): new variable for symlinking.
+ (uninstall): remove awk if it's the same gawk.
+ * Configure.in: Added call to AC_PROG_LN_S for Makefile.in.
+
+Sun Jul 7 15:47:13 1996 Arnold D. Robbins <arnold@infographix.com>
+
+ * main.c (main): made `--posix' turn on interval expressions.
+ Gawk now matches its documentation. (What a concept!)
+
+Wed Jul 3 15:02:48 1996 Arnold D. Robbins <arnold@infographix.com>
+
+ * regex.h, regex.c: upgraded to changes from Emacs 19.31.
+
+Fri May 17 08:46:07 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (get_a_record): added `continued' flag. Fix from
+ Darrell Hankerson for when RS = "\n|something".
+
+Wed May 15 02:34:55 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (awklib/all): now depends on gawk, fixes problem
+ with parrallel make.
+
+Tue May 14 15:02:52 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (format_tree): fix handling of '*' to deal with
+ negative value for fieldwidth -- make positive and turn on
+ left justify. Per bug report from Michael Brennan.
+
+Sun May 12 20:42:06 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * eval.c (r_get_lhs): case Node_subscript. Check if array name
+ is actually a function, fatal error if so.
+
+Sun May 5 10:11:52 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (redirect): call flush_io() before creating a new output pipe,
+ per bug report from Brian Kernighan (bwk@research.bell-labs.com).
+
+Fri Mar 15 06:38:33 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (install): use $(INSTALL_PROGRAM), not $(INSTALL).
+ (local-distclean): add `*~' to list of files to be removed.
+ (CFLAGS): now contains just @CFLAGS@.
+ (COMPFLAGS): replaces use of CFLAGS, has CFLAGS plus all the
+ other stuff.
+
+Wed Mar 13 14:19:38 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (mmap_get_record): fixed to not place sentinel at end
+ of mmap'ed object. Won't work if file is exact multiple of
+ disk block size. See comments in code for more info.
+ Thanks to Rick Adams (rick@uunet.uu.net) for help in testing.
+
+Sun Mar 10 22:50:23 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * io.c (do_close): notice if we were called as `close(FILENAME)'
+ and arrange to close the current input file. This turns out
+ to be easy to do, just call `nextfile(TRUE)'. Based on bug report
+ from Pascal A. Dupuis, <dupuis@lei.ucl.ac.be>.
+
+Thu Mar 7 08:08:51 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * field.c (init_fields, grow_fields, set_field, rebuild_record):
+ Nuke the `nodes' array everywhere. Anytime a field is unref'ed,
+ allocate a new node that is a copy of Nnull_string. This avoids
+ subtle memory management problems when doing a lot of assignment
+ to fields, and tweaking of NF. Make sure that fields_arr[0] always
+ has a type of Node_val!
+ * field.c (set_NF): If NF is decremented, clear fields between
+ NF and parse_high_water, otherwise if NF incremented, clear
+ fields between parse_high_water and NF.
+ * eval.c (nodetype2str): new function, used for diganostics.
+ eval.c (interpret): use nodetype2str when finding invalid node.
+
+Mon Mar 4 09:02:28 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_toupper, do_tolower): use isascii along with
+ isupper/islower before changing case, in case characters have
+ the high bit set. This is a hack.
+
+Mon Feb 26 22:24:44 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (sub_common): if no match, and called from gensub,
+ don't free the temporary string, since the tmp_number then
+ writes over it.
+
+Sun Feb 25 23:13:01 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (format_tree): fixed %c to treat user input as
+ numeric also by adding test for MAYBE_NUM.
+
+Tue Feb 20 12:25:50 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * configure.in: Added AC_FUNC_MMAP call and add madvise to
+ list of functions to look for.
+ * awk.h [IOP_ISMAPPED]: new flag value for mmap support and new
+ `getrec' structure member in struct iobuf.
+ * io.c (iop_alloc, iop_close): changed to map/unmap input file
+ into memory if possible.
+ (mmap_get_record): new function to actually retrieve the
+ record from mmaped file.
+
+Thu Feb 1 08:56:46 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_substr): fixed lint message to use indx+1 when
+ start position is past end of string.
+
+Sun Jan 28 07:00:56 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_substr): rationalized handling of missing length
+ argument, as well as various accompagnying lint warnings. Previous
+ code was slightly bogus. Talk about your Day 1 bugs.
+
+Thu Jan 25 14:09:11 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * builtin.c (do_substr): if length exceeds length of actual
+ string, do computation of needed substring length *after*
+ the lint warning.
+
+Wed Jan 24 10:06:16 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * Makefile.in (gawk): Add $(CFLAGS) to link line.
+ (Makefile): target depends on the Makefile.in files.
+ (OTHERS): Added TAGS and tags to the distribution.
+ (local-distclean): New rule.
+ (distclean): Use it.
+ (maintainer-clean): Don't `make distclean' before running submakes,
+ since that removes makefiles needed for the submakes.
+ * builtin.c (do_strftime): Remove hard coded limit on length of result.
+ Based on code from Paul Eggert (eggert@twinsun.com).
+
+Mon Jan 22 13:16:37 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * main.c (usage): takes new fp parameter which is either
+ stdout for `--help' (per the GNU Coding Standards) or stderr
+ if an error occurs. Fix all calls.
+ (version): prints to stdout per the coding stds.
+ (copyleft): prints to stdout now, not stderr, and exits.
+
+Fri Jan 19 08:10:29 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * regex.h [RE_GNU_AWK]: added RE_CONTEXT_INDEP_OPS to set of
+ bits we turn off for regular operation. Breaks things like
+ /^+[0-9]+/ to match a literal `+' at the beginning of, say,
+ a phone number.
+
+Wed Jan 10 23:19:36 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * 3.0.0 polished up and release tar file made.
+
+Wed Dec 27 11:46:16 1995 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * 2.94.0 released to porting group (no, I haven't been good
+ about this file; I'll do better once 3.0 is released).
+
+Mon Aug 28 23:04:30 1995 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * awk.h updated for NeXT - bracket TRUE/FALSE
+ * io.c (get_a_record): removed shadowing of 'start' in
+ * Makefile.in and doc/Makefile.in: fixed to use gawk.1 and gawk.texi,
+ instead of gawk.1.in and gawk.texi.in.
+
+Mon Aug 25 11:04:30 1995 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
+
+ * 2.90.0 released to porting group.
+
+Fri Aug 18 12:43:31 1995 Arnold D. Robbins <arnold@puny.ssc.com>
+
+ * ChangeLog created.
OpenPOWER on IntegriCloud