aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog9888
1 files changed, 5 insertions, 9883 deletions
diff --git a/ChangeLog b/ChangeLog
index af6bd99f..47482a4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9885 +1,7 @@
-Mon Jun 20 20:33:26 2011 Arnold D. Robbins <arnold@skeeve.com>
+2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
- * dfa.c (dfaanalyze): Allocate the right number of leaves to
- avoid crashes. Thanks to Jim Meyering.
-
-Mon Jun 20 20:22:35 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (setbit_c, setbit_case_fold_c): Compare btowc result against
- WEOF. Thanks to Eli Zaretskii for pointing out the problem.
-
-Mon Jun 20 20:22:26 2011 Pat Rankin <rankin@pactechdata.com>
-
- * dfa.c (addtok_wc): enclose prototype within #if MBS_SUPPORT.
-
-Fri Jun 17 11:09:22 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.86: Final beta test tar ball for 4.0.
-
-Fri Jun 17 10:55:27 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Implement Rational Range Interpretation (RRI) directly in code.
-
- * regex.h [RE_RANGES_IGNORE_LOCALES]: Remove macro and its use.
- * dfa.c (parse_bracket_exp): Remove use of RE_RANGES_IGNORE_LOCALES
- and just do it in code.
- (hard-locale.h): Remove include.
- (hard_LC_COLLATE): Remove variable and its uses.
- * re.c (resetup): Remove use of RE_RANGES_IGNORE_LOCALES.
- * regcomp.c (build_range_exp): Remove use of RE_RANGES_IGNORE_LOCALES
- and just do it in code. Remove cmp_buf array; it's no longer needed.
- * Makefile.am (base_sources): Remove hard_locale.h and hard_locale.c.
- * hard_locale.h, hard_locale.c: Removed from dist.
-
-Sun Jun 12 23:43:06 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (resetup): Always turn on RE_RANGES_IGNORE_LOCALES.
- Add justifying comment with URLs for the relevant portions of
- POSIX. Thanks to Paul Eggert for pointing out the happy change
- to the rules and supplying the URLs.
-
-Wed Jun 8 22:41:30 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (build_range_exp): Add check for RE_NO_EMPTY_RANGES
- from GNULIB regcomp.c, courtesy of GNU grep.
-
-Wed Jun 8 22:10:03 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync with GNU grep.
-
-Sun Jun 5 21:49:30 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.85: Fourth beta test tar ball for 4.0.
-
-Sun Jun 5 21:39:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (fpat_parse_field): Bug fix. Thanks to
- "Radoulov, Dimitre" <cichomitiko@gmail.com> for pointing
- out the problem.
-
-Fri Jun 3 10:39:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (build_range_exp): Make syntax the first argument,
- for compatibility with gnulib version of the file.
-
-Wed Jun 1 06:29:27 2011 Pat Rankin <rankin@pactechdata.com>
-
- * re.c (check_bracket_exp): Fix typo.
-
-Tue May 31 23:01:00 2011 John Haque <j.eh@mchsi.com>
-
- * re.c (check_bracket_exp): Use mem* routines instead of str*
- for searching.
- * main.c (arg_assign): Disallow builtin or user-defined function
- as the name of a variable.
- * awkgram.y (check_special): Rework so can be called from
- arg_assign.
-
-Tue May 31 22:23:41 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- In order to attain the goal of having ranges act like they are
- always in the C locale, bit the bullet and did the work in
- the regex and dfa engines. The pre-processing routine was not
- handling too many cases that a full regexp parser would catch.
-
- * regex.h [RE_RANGES_IGNORE_LOCALES]: New syntax bit.
- (RE_SYNTAX_GNU_AWK): Use it.
- * dfa.c (parse_bracket_exp): If the RE_RANGES_IGNORE_LOCALES
- is set, ignore locales when building a range.
- * re.c (expand_range): Remove function and declaration.
- (add_char): Remove function and declaration.
- (make_regexp): Remove use of expand_range.
- (resetup): Add RE_RANGES_IGNORE_LOCALES if --traditional.
- * regcomp.c (build_range_exp): Add syntax variable as last argument.
- Add code to check for RE_RANGES_IGNORE_LOCALES and do the right thing.
- Adjust all calls.
-
-Sun May 29 22:48:41 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (expand_range): Handle cases where expanded range
- includes '\\' (and ']'). Thanks to Juergen Daubert <jue@jue.li>.
- Fatal error if end point is below start point ([z-a]),
- thanks to John Haque. Don't repeat the last character in
- the expansion. Thanks to Arnold Robbins.
-
-Fri May 27 10:01:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.84: Third beta test tar ball for 4.0.
-
-Thu May 26 22:10:08 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (get_field): Enhance logic for setting NF if we're
- using FPAT to parse fields. Can end up with weird cases. Thanks
- to Pat Rankin for pointing them out.
-
-Mon May 23 22:06:13 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: Allow newline after comma in range patterns,
- per POSIX. Thanks to discussion in comp.lang.awk. (!!!)
-
-Mon May 23 22:02:46 2011 John Haque <j.eh@mchsi.com>
-
- * ext.c (get_actual_argument): Change argument type from
- Node_var_new to Node_var when used as a scalar.
-
-Sun May 22 11:56:40 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (varinit): Give FPAT a reasonable default value.
- * field (get_field): Adjust test for at end of record to >=;
- fpat_parse_field can go beyond when matching null regexps.
- Thanks to Pat Rankin.
-
-Fri May 20 11:00:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.h (__attribute_warn_unused_result__): Always
- ifdef out. Bleah.
-
-Thu May 19 17:13:18 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.83: Second beta test tar ball for 4.0.
-
-Thu May 19 16:47:19 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (dump_vars): Fix warning message. Thanks to Pat Rankin.
- * main.c (usage): No space allowed after -d and -p. Also thanks
- to Pat Rankin.
-
-Thu May 19 16:34:04 2011 Pat Rankin <rankin@pactechdata.com>
-
- * regex_internal.h (__attribute_warn_unused_result__): Define with
- empty expansion for !__GNUC__ configuration.
-
-Wed May 18 22:13:18 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.82: Beta test tar ball for 4.0, we hope!
-
-Wed May 18 21:47:54 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (PIPES_SIMULATED): Simplify the case where PIPES_SIMULATED
- is true but using temporary files - that code not needed anymore.
- * regcomp.c, regex.h, regex_internal.c, regex_internal.h,
- regexec.c: Sync with GLIBC. Why not.
-
-Mon May 16 17:55:25 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.c: Regenerated using bison 2.5.
-
-Sat May 14 22:25:50 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (nextfile): Use `in_array' in main loop to see if element
- of ARGV exists, instead of using `assoc_lookup'. The latter creates
- the element! A day one bug!
- * dfa.c (parse_bracket_exp): For z/OS init pattern manually.
-
-Mon May 9 16:30:49 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (sort_up_value_type): Remove unused variable ret.
- (do_delete): Initialize local variables to silence warnings.
- Thanks to Michal Jaegermann.
-
-Mon May 9 15:07:29 2011 Corinna Vinschen <vinschen@redhat.com>
-
- * awk.h: Remove cygwin code for libsigsegv.
-
-Sun May 8 20:38:03 2011 John Haque <j.eh@mchsi.com>
-
- * eval.c (r_interpret): In case Op_sub_array, store only the
- subarray index as 'vname'.
- * array.c (make_aname): Redone for dynamic computation of
- a subarray actual 'vname'.
- (array_vname): Use make_aname() for (sub)array name.
- (asort_actual): Performance optimization for asort(a).
-
-Sun May 8 20:29:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * debug.c (print_array): Sort in order of string indices, per
- request from John Haque.
- * array.c (sort_up_value_number): Use string value to provide
- ordering when numeric values are equal. Ensures that tests come
- out OK on different systems.
-
-Sun May 8 20:27:27 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync with GNU grep.
- * regex.h: Sync with GLIBC in preparation for submitting updates
- back.
-
-Thu May 5 21:22:44 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_interpret): PROCINFO sorting only takes effect
- if not do_posix.
-
-Wed May 4 23:31:14 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Move array sorting to using predefined strings, add value sorting
- by type of assignment.
-
- * array.c (sort_up_value_type, sort_down_value_type): New routines.
- (asort_actual): Pass string value to assoc_list, not NODE *.
- Make sure indices of new arrays have numeric value set also.
- (sort_up_value_number): Don't break the tie based on string value.
- (sort_selection): Removed.
- (assoc_list): Third arg is string constant. Add name to table of
- functions. Linear search it.
- * awk.h (assoc_list): Fix declaration.
- * debug.c (print_array): And use of assoc_list.
- * eval.c (r_interpret): Ditto.
-
-Wed May 4 23:06:17 2011 John Haque <j.eh@mchsi.com>
-
- * eval.c (setup_frame): Handle a Node_var in stack. Fixes
- a problem when a Node_var_new as param becomes Node_var during
- expresssion evaluation for a subsequent param.
-
-Wed May 4 23:04:06 2011 John Haque <j.eh@mchsi.com>
-
- Fix the problem (crash) with disappearing array argument when
- it is a subarray of another deleted array argument.
-
- * awk.h (struct exp_node): Nuke unused field sub.nodep.number.
- New field sub.nodep.rn.
- (parent_array): New definition for sub.nodep.rn to keep track
- of the parent of a subarray.
- * awkgram.y (mk_symbol): Initialize parent_array to NULL.
- * eval.c (r_interpret): In the case Op_sub_array, assign
- parent_array.
- * array.c (get_array): Initialize parent_array to NULL when
- a Node_var_new becomes a Node_var_array.
- (assoc_find): Add a fourth argument for the previous node
- of the returned bucket.
- (in_array, assoc_lookup): Adjust calls to assoc_find().
- (adjust_fcall_stack): New routine to change a soon-to-be deleted
- subarray parameter in the function call stack to a local array.
- (do_delete): Simplify code, remove recursive usage. Call
- adjust_fcall_stack() where appropriate.
- (do_delete_loop): Call adjust_fcall_stack() before clearing the
- array.
- (asort_actual): Don't accept an array and its subarray as
- arguments for asort() or asorti().
- (asort_actual, dup_table): For asort(), appropriately assign
- parent_array when creating the result array.
- * field.c (do_split, do_patsplit): An array and its subarray not
- accepted for the second and the fourth arguments. Remove
- unnecessary dupnode of the field seperator node.
-
- Unrelated:
- * awkgram.y (LEX_DELETE, simple_variable): Change type argument
- from Node_var_array to Node_var_new for calls to variable().
- * io.c (devopen): Fix parsing GAWK_MSEC_SLEEP env variable.
-
-Mon May 2 23:44:34 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (parse_bracket_exp): Sync with GNU grep, since we
- now require C 90, go ahead and put non-constant values into
- the array initializers.
-
-Mon May 2 23:37:09 2011 Corinna Vinschen <vinschen@redhat.com>
-
- * awk.h (small): Undef after include of <sigsegv.h> to compile
- builtin.c on Cygwin.
-
-Fri Apr 29 12:29:56 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync with GNU grep, mainly typos in comments.
-
-Fri Apr 29 12:13:32 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (inetfile): Change ifdef to ifndef for have getaddrinfo.
- Ooops.
-
-Fri Apr 29 11:49:38 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Per Pat Rankin, remove code related to GFMT_WORKAROUND and VAXCRTL.
-
- * builtin.c (sgfmt): Nuked.
- (format_tree): Removed code related to GFMT_WORKAROUND and VAXCRTL.
- * node.c (format_val): Revise comment.
-
-Fri Apr 29 11:33:08 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NUMIND): New flag, indicates numeric value of an
- array index is current.
- * array.c (awk_hash): Remove code for VAXC, it's no longer
- needed. Per Pat Rankin.
- (assoc_lookup): Only assign the numeric value if it's available.
- (do_delete): Add comment about free_subs calling force_string.
- (sort_force_index): Use NUMIND.
-
-Fri Apr 29 10:15:24 2011 John Haque <j.eh@mchsi.com>
-
- * builtin.c: Relocate all codes from awkprintf.h. Restore
- format_tree.
- * debug.c (do_print_f): Adjust appropriately. Install fatal trap
- for format_tree.
- * Makefile.am (base_sources): Remove awkprintf.h.
-
- * array.c (assoc_list): Avoid possible crash; Remove unneeded
- initialization of pre_func.
-
-Wed Apr 27 22:31:23 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (ahash_dupnode): Merged into dupnode in node.c, change uses.
- * array.c (ahash_unref): Merged into unref in node.c, change all uses.
- * node.c (dupnode): Revised to support Node_ahash.
- (unref): Ditto.
-
- Lots of code clean up in array.c:
-
- * array.c (AVG_CHAIN_MAX): Made unsigned.
- (array_init): Use strtoul to convert value instead of doing it
- manually.
- (array_vname): Nuke code that could limit length of name. It
- was never used.
- (concat_exp): Make len unsigned, clean up the calculation.
- (assoc_lookup): Set ahname_num in the index at time of element
- creation.
- (dup_table): Copy ahname_num also.
- Other minor cleanups after code review.
-
-Sun Apr 24 15:39:19 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * NEWS.0: Moved all pre-4.0 news to here.
- * NEWS: Shortened.
- * Makefile.am (EXTRA_DIST): Add NEWS.0.
-
-Sun Apr 24 12:43:49 2011 John Haque <j.eh@mchsi.com>
-
- * array.c (sort_user_func): Fix return value to match the
- documentaion.
- (sort_selection): Make user-specified comparison function with
- the same name override default "unsorted" specification.
-
-Fri Apr 22 16:05:27 2011 John Haque <j.eh@mchsi.com>
-
- * array.c (sort_user_func): New routine to handle user-defined
- quicksort comparison function.
- (assoc_list): Adjust for user-defined comparison function.
-
-Fri Apr 22 09:18:16 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (awk_hash): Force results into 32 bits for consistency
- across platforms. Keeps the test suite happy. This may turn out
- to be a bad idea in the long run.
-
-Mon Apr 18 10:18:26 2011 John Haque <j.eh@mchsi.com>
-
- * array.c (assoc_list): New function to construct, and optionally
- sort, a list of array elements.
- (asort_actual): Use the new function to sort array elements.
- (assoc_sort_inplace, assoc_from_list, merge_sort, merge): Nuked.
- (sort_selection): Simplify handling of error and warning messages.
- (sorted_in, sort_match): Nuked, related code in sort_selection() and
- assoc_list().
- (sort_ignorecase, sort_up_index_ignrcase, sort_down_index_ignrcase,
- sort_maybe_numeric_index, sort_cmp_nodes, cmp_func, sort_up_value,
- sort_down_value): Nuked. Ignorecase handling done in the corresponding
- non-ignorecase versions.
- (cmp_string): New routine for string comparisons.
- (sort_up_value_string, sort_down_value_string, sort_up_value_number,
- sort_down_value_number, sort_force_index_number,
- sort_force_value_number, sort_force_value_string): New routines.
- * awk.h (struct exp_node): New field sub.hash.num to store the
- numeric value of an array index.
- (ahname_num): New define.
- (SORT_CTXT): New typedef.
- * awkgram.y (tokentab): Accept three args for asort() and asorti().
- (snode): Adjust for the extra args.
- * eval.c (r_interpret): In case Op_arrayfor_init, call assoc_list()
- for a list of array elements.
- * debug.c (print_array): Call assoc_list() for a sorted list of array
- elements.
-
-Wed Apr 13 10:17:37 2011 John Haque <j.eh@mchsi.com>
-
- * builtin.c (do_strftime): Make the third argument to strftime
- really work.
- * io.c (redirect): Do not free `rp' after failure to open socket
- in redirect_twoway. Fixes a double-free memory error.
-
-Thu Apr 7 21:38:08 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (merge): Use sort_cmp_nodes for asort/asorti.
- See test/arraysort.awk test 1.
-
-Thu Apr 7 10:48:21 2011 Pat Rankin <rankin@patechdata.com>
-
- * array.c (sort_cmp_nodes): New routine. Unlike cmp_nodes, numbers
- are less than strings instead of being formatted and then compared.
- (sort_up_value): Use it.
-
-Sun Apr 3 22:18:26 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * README, FUTURE: Minor edits.
-
-Fri Apr 1 11:53:54 2011 Pat Rankin <rankin@patechdata.com>
-
- * array.c (sort_up_index_number): Fix the NODE arguments passed to
- sort_up_index_string() when a tie breaker is needed.
-
-Fri Apr 1 11:49:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Change ISATTY macro to os_isatty function.
-
- * awk.h (ISATTY): Remove definition.
- (os_isatty): Add declaration.
- * debug.c, io.c, main.c: Change all calls.
-
-Thu Mar 31 22:57:36 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * Checklist: Updated. This is a git-only file.
- * POSIX.STD: Revised some.
-
-Tue Mar 29 20:52:38 2011 John Haque <j.eh@mchsi.com>
-
- * awkgram.y (LEXT_NEXT): Don't issue an error message if the next
- statement is in a function (rule = 0).
-
- Always resolve the jump target for an exit statement at run-time.
- This fixes a bug when the statement occurs in a function.
-
- * awk.h: New defines target_atexit and target_end.
- * awkgram.y (LEX_EXIT): Initilize the jump targets.
- * eval.c (r_interpret): Use current rule to choose the jump target
- for Op_K_exit.
- * debug.c (print_instruction): Adjust case Op_K_exit.
-
-Tue Mar 29 20:45:49 2011 Pat Rankin <rankin@patechdata.com>
-
- Move the code to support sorting `for (index in array)' from
- eval.c to array.c, and implement several additional orderings.
-
- * array.c (comp_func, sorted_in, sort_ignorecase,
- sort_up_index_ignrcase, sort_down_index_ignrcase): Move from eval.c.
- (sort_up_index_string, sort_down_index_string): Move from eval.c
- and rename from *_str to *_string.
- (sort_selection, sort_match, sort_maybe_numeric_index,
- sort_up_index_number, sort_down_index_number,
- sort_up_value, sort_down_value): New routines.
- * eval.c (sort_&c): Move to array.c.
- (r_interpret: case Op_arrayfor_init): Call sort_maybe_numeric_index
- before and after qsort.
- * awk.h (qsort_compfunc): New typedef.
- (sorted_in, sort_maybe_numeric_index): Declare.
-
-Fri Mar 25 13:15:36 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Move libsigsegv portability checks to here from main.c.
- * eval.c (fcall_list, fcall_count): Move definitions to here
- from main.c.
- * io.c (do_find_source): Check against NULL in for loop.
- * main.c: Lots of cleanup. Move some things out to other files,
- add comments to some variable definitions.
- (enum asgntype): To assign_type
- (main): Remove decls of getopt variables, clean up comments.
- Use emalloc and efree for libsigsegv stack. Remove check for SCCS
- leading magic characters.
- (add_preassign): Change allocassigns to alloc_assigns.
- (init_locale): Change strdup calls to estrdup.
- (save_argv): Make the routine static.
- * version.in (version_string): Remove leading 4 SCCS magic characters.
-
-Wed Mar 2 08:15:02 2011 John Haque <j.eh@mchsi.com>
-
- * array.c (asort_actual): Handle the case when the same array
- is used as the source and destination.
- * field.c (do_split): Make it fatal if attempting to use the same
- array for both second and fourth arguments.
- (do_patsplit): Ditto.
-
-Sun Feb 27 08:01:04 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Update copryright in all relevant files.
-
-Sat Feb 26 21:54:07 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (sorted_in): Revise text of lint warning.
-
-Fri Feb 25 17:34:14 2011 Pat Rankin <rankin@patechdata.com>
-
- * eval.c (sorted_in): Remove incorrect unref() call.
-
-Wed Feb 23 21:48:20 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Free extra_stack, to make valgrind happier.
-
-Tue Feb 22 12:04:09 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (UPDATE_YEAR): Move to 2011. Fix copyright.
-
-Tue Feb 15 17:11:26 2011 Pat Rankin <rankin@pactechdata.com>
-
- * eval.c (sorted_in, sort_up_index_str, sort_down_index_str,
- sort_up_index_ignrcase, sort_down_index_ignrcase, sort_ignorecase):
- New functions to sort arrays for `for (index in array)' statements.
- (r_interpret: case Op_arrayfor_init): Call sorted_in().
-
-Wed Feb 16 07:12:50 2011 John Haque <j.eh@mchsi.com>
-
- Fix line numbers in the lint, warning and error messages issued
- by the parser.
-
- * awkgram.y (lintwarn_ln, warning_ln, error_ln): New local versions,
- each accepts an additional line number argument.
- (print_included_from): New function to seperate 'Included from ..'
- message from yyerror. Use it in yyerror, and in the new functions.
- (grammar): Use the local versions for messages.
- (add_srcfile, include_source, dup_parms, func_install, param_sanity,
- mk_binary, add_lint): Ditto.
- (dup_params, include_source): Adjust arguments to pass line number.
- * awk.h: New definition ATTRIBUTE_PRINTF_2.
-
- * awkgram.y (yylex): New variable warntab. Use it to issue only one
- warning for the same non-standard special token in source.
- (parse_program): Avoid spurious warnings. Don't call check_funcs if
- yyparse aborts prematurely.
-
-Mon Feb 14 08:03:41 2011 John Haque <j.eh@mchsi.com>
-
- * awkgram.y (regexp): Don't use tokstart in lint warning, it isn't
- `\0' terminated.
- (grammar): Copy update and assign routines from relevant variables into
- instructions to avoid extra pointer dereferencing at run-time.
- * awk.h (update_var, assign_var): new definitions.
- * eval.c (r_interpret): Adjust cases Op_var_assign and Op_var_update.
-
-Sun Feb 13 20:22:47 2011 Eli Zaretskii <eliz@gnu.org>
-
- * awkgram.y (add_srcfile):
- * debug.c (source_find): Pass `path' and `src' to files_are_same.
- * gawkmisc.c [__DJGPP__ || __MINGW32__]: Include pc/gawkmisc.pc,
- for consistency with __EMX__ and pc/Makefile.
- * debug.c (interpret, initialize_pager, prompt_continue)
- (set_gawk_output): Use ISATTY instead of isatty.
- * io.c (redirect, iop_alloc): Same.
- * main.c (main): Same.
- * awk.h (ISATTY): Trivial definition, if not defined elsewhere.
-
-Sun Feb 13 20:16:04 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (check_funcs): Update warning about never called to say
- "never called directly" since it could be called indirectly.
-
-Sun Feb 13 07:12:50 2011 John Haque <j.eh@mchsi.com>
-
- * profile.c (pprint): In case Op_indirect_func_call, pop off
- indirect var after function parameters.
- Thanks to Hermann Peifer <peifer@gmx.eu> for the bug report.
- * array.c (do_delete): Always free an empty sub-array name and node.
- * ChangeLog: Fix typos.
-
-Fri Feb 11 10:26:25 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (remad_std_file): Close oldfd first, in case we've
- run out of fd and do dup2 if the newfd isn't what we were
- looking for. Thanks to Hermann Peifer <peifer@gmx.eu> for
- the bug report.
-
-Thu Feb 10 21:31:36 2011 Andreas Buening <andreas.buening@nexgo.de>
-
- * main.c (load_procinfo): Fix warning about unsed variables if we
- don't have multiple groups.
- * protos.h: Move decls for many standard functions here if
- they aren't in the header files (OS/2) and bracket inside
- #ifndef STDC_HEADERS.
- * io.c (devopen): Remove decl of strtoul.
- * field.c (set_FIELDWIDTHS): Same.
- * awk.h: Always include protos.h.
-
-Tue Feb 8 22:46:22 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c, builtin.c, eval.c: Equalize message strings and
- fix a typo. Thanks to Benno Schulenberg <bensberg@justemail.net>.
-
-Mon Feb 7 11:23:33 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (next_sourcefile): Comment out assertion that
- lexeof is true; causes core dump on user typos of bad
- characters which previous versions did not do. Thanks to
- Pat Rankin for the report.
-
- * re.c (expand_range): Allow for ^ as first character
- inside range. Thanks for Nelson Beebe for the bug report.
-
-Fri Feb 4 10:28:19 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * README.cvs: Udpated.
- * Checklist: New file for storage in the git repository.
-
-Wed Feb 2 20:34:41 2011 Corinna Vinschen <vinschen@redhat.com>
-
- * awkgram.y (free_bc_internal): Remove unused variable.
-
-Tue Feb 1 23:13:10 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * bootstrap.sh: No need to find aclocal.m4, just touch it.
-
-Tue Feb 1 23:05:51 2011 Corinna Vinschen <vinschen@redhat.com>
-
- Make values of ctype macros into unsigned char to fix
- warnings found on Cygwin / Newlib.
-
- * array.c (array_init): Add cast.
- * awkgram.y: Ditto.
- * awkprintf.h: Ditto.
- * builtin.c (sub_common, nondec2awknum): Ditto.
- * command.y: Ditto.
- * eval.c (fmt_ok): Ditto.
- * ext.c (make_builtin): Ditto.
- * main.c (main, arg_assign): Ditto.
- * re.c (check_bracket_exp): Ditto.
- * node.c (r_force_number, parse_escape): Ditto.
- (dump_wstr): Add unused attribute (unrelated).
-
-Tue Feb 1 23:01:40 2011 John Haque <j.eh@mchsi.com>
-
- Fix switch debugging.
-
- * awkgram.y (LEX_SWITCH, case_statements, case_statement,
- case_value): Linearize instructions to facilitate debugging.
- (switch_body): Removed.
- (yylex): Add LEX_CASE in special token processing.
- (free_bc_internal): Remove case Op_K_switch.
- * awk.h (OPCODE): Remove opcode Op_case_list.
- * eval.c (r_interpret): Remove Op_K_switch. Add case
- Op_K_case to handle switch.
- Add cases Op_K_do, Op_K_while, Op_K_for, Op_K_arrayfor, Op_K_switch
- and Op_K_default as no-ops, needed for pgawk.
- * debug.c (print_instruction): Remove case Op_K_switch,
- add case Op_K_case instead.
-
- Unrelated:
- * awkgram.y (case_statements): As case values, "abc" and /abc/
- no longer considered as duplicates.
-
- Cleanup grammar and run-time code for switch and loops.
- Jump targets for break and continue are now fixed, and known
- at parse time. See ChangeLog entry dated Oct 21, 2010.
-
- * awk.h (OPCODE): Remove Op_push_loop and Op_pop_loop.
- (loop_count): Remove definition.
- * awkgram.y (fix_break_continue): Change calling parameters to
- instruction list, break and continue targets. Adjust code.
- (LEX_DO, LEX_WHILE, LEX_SWITCH, LEX_FOR): Simplify grammar. Use
- Op_no_op as target for break. Adjust call to fix_break_continue.
- (mk_for_loop): Ditto.
- * eval.c (r_interpret): Nuke cases Op_push_loop and Op_pop_loop.
- Simplify Op_K_break and Op_K_continue. Remove declaration of in_loop
- and all loop detection code thereof.
- * debug.c (pre_execute, post_execute): Adjust declarations and code.
- (print_instruction): Nuke cases Op_push_loop and Op_pop_loop.
- * eval.c (r_interpret): Adjust calls to pre_execute and post_execute.
- * profile.c (pprint): Adjust cases Op_K_for, Op_K_do, Op_K_while,
- Op_K_switch and Op_K_arrayfor. Add cases Op_K_case and Op_K_default.
- Remove Op_push_loop and Op_pop_loop.
-
- Unrelated cleanup:
- * awkgram.y (mk_condition): Don't include Op_K_if, Op_K_else and
- Op_cond_exp if not profiling.
-
-Tue Feb 1 10:20:02 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_interpret): Change magic string for array sorting.
-
-Sun Jan 30 21:49:53 2011 John Haque <j.eh@mchsi.com>
-
- Add `isarray' built-in function.
-
- * awk.h (enum opcodeval): Op_push_arg: new opcode.
- (do_isarray): Add declaration.
- * awkgram.y (tokentab): Add new entry for `isarray' function.
- (snode): Add handling for it.
- * builtin.c (do_isarray): New function.
- (do_length): Die if posix and get an array argument.
- * debug.c (print_instruction): Handle Op_push_arg.
- * profile.c (pprint): Likewise.
- * eval.c (optypes, r_interpret): Likewise.
-
-Sun Jan 30 21:13:01 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * hard-locale.h: Synced to GNU grep.
- * hard-locale.c: New file, brought in from GNU grep.
- * Makefile.am (base_sources): Add hard-locale.c.
- * dfa.h: Sync as much as possible to GNU grep.
- * dfa.c: Sync as much as possible to GNU grep.
- * builtin.c (do_strftime): Remove unneeded variable.
-
-Thu Jan 27 22:52:54 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (comp_func): Add declaration.
- * debug.c (comp_func): Make not static, and move to ...
- * eval.c (comp_func): ... here.
- (r_interpret): Add array sorting if magic index is
- set in PROCINFO.
-
-Thu Jan 27 22:12:00 2011 Corinna Vinschen <vinschen@redhat.com>
-
- * Makefile.am: Remove $(EXEEXT) from 'awk' symlink.
-
-Thu Jan 27 21:21:13 2011 John Haque <j.eh@mchsi.com>
-
- * eval.c (r_interpret): When in BEGINFILE or ENDFILE, add check for
- `getline var < file' in cases Op_K_getline_redir and Op_K_getline.
-
- * awkgram.y (constant_fold): Code cleanups. Fix bug in the code for
- string concatenation.
-
- * configure.ac: Remove unneeded extra call to AC_LANG.
-
-Thu Jan 27 15:00:42 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c: Fix up some comments.
- * io.c (remap_std_file): New function.
- (iop_close): Use it.
-
-Mon Jan 24 22:14:21 2011 Andreas Buening <andreas.buening@nexgo.de>
-
- * debug.c: Bracket variables used with readline in #ifdef.
- * dfa.c (add_utf8_anychar): Move inside ifdef.
-
-Mon Jan 24 22:05:26 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (make_regexp): Add separate variable for dfa syntax.
- General formatting cleanup.
- (research): General formatting cleanup.
- (refree): Remove out of date comment.
- (re_update): Comment the routine.
- (check_bracket_exp): Improve check for range to not get [^-/]
- kinds of things. Thanks to Nelson Beebe for pointing out the bug.
-
-Wed Jan 19 20:31:17 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (is_valid_character): Add `& 0XFF' and remove casts to
- unsigned chars in other files. Remove definition of this macro
- in not MBS_SUPPORT case, since it wasn't being used.
- (btowc_cache): New macro to index into the array and use the
- same trick. Relies on ANSI C preprocessor semantics.
- Fix all uses.
- * builtin.c, node.c, io.c: Fix uses of these macros.
-
-Wed Jan 19 20:19:29 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (wstr2str): New function.
- * awk.h: Declare it.
- * builtin.c (is_wupper, is_wlower, to_wupper, to_wlower,
- wide_change_case, wide_tolower, wide_toupper): New functions to
- simplify wide character case conversions.
- (do_tolower, do_toupper): Use wide_tolower, wide_toupper in multibyte
- case.
- (do_substr): Simplify code a little bit.
-
-Mon Jan 17 22:48:48 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_bindtextdomain): Change type of `the_result'
- to const char* to kill compiler warnings.
- * debug.c (source_find): Improve error message when file not
- found.
- * awkgram.y (get_src_buf): Add cast to value of `read' to
- turn off compiler warnings on different systems.
-
-Mon Jan 10 21:40:05 2011 Andreas Buening <andreas.buening@nexgo.de>
-
- * io.c (devopen): Handle opening of directories for OS/2.
-
-Mon Jan 10 21:37:49 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Rearrange includes of <fcntl.h> so it won't be
- included for VMS, move definition of O_BINARY down.
-
-Sat Jan 8 23:00:37 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Include <fcntl.h> here.
- * main.c, io.c: Remove includes of <fcntl.h>.
-
-2011-01-08 Eli Zaretskii <eliz@gnu.org>
-
- * io.c (PIPES_SIMULATED) [__DJGPP__ || __MINGW32__]: Define.
- (binmode): Define for __DJGPP__ and __MINGW32__ as well.
- (gawk_popen) [!PIPES_SIMULATED]: Define for __DJGPP__ and
- __MINGW32__ as well.
-
-Wed Jan 5 20:35:30 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Move call to AC_LANG([C]) into here from
- m4/readline.m4.
-
-Tue Jan 4 11:21:18 2011 Arnold D. Robbins <arnold@skeeve.com>
-
- Clean up some compiler warnings:
-
- * array.c (do_delete): Cast for printf.
- * builtin.c (do_bindtextdomain): Casts for const char *.
- * io.c (rs1scan): Cast for indexing of array.
- * re.c (add_char): Remove unused variables.
-
-Fri Dec 31 11:05:11 2010 Michal Jaegermann <michal@harddata.com>
-
- * awk.h (strncasecmpmbs): Change parameters to const char *.
- * builtin.c (strncasecmpmbs): Change parameters to const char *.
- Add casts as appropriate in calls to other functions.
- * eval.c (cmp_nodes): Add casts in calls to strncasecmpmbs.
- * node.c (str2wstr): Ditto.
-
-Tue Dec 28 21:13:31 2010 Eli Zaretskii <eliz@gnu.org>
-
- * gawkmisc.c: Restore inclusion of pc/gawkmisc.pc.
-
-Tue Dec 28 21:00:36 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * ext.c (make_builtin): Make first parameter const char *.
- Adjust code inside to fit.
- * awk.h (make_builtin): Adjust declaration.
-
-Mon Dec 27 19:55:10 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c [AF_UNSPEC, AF_INET, AF_INET6]: Add definitions for systems
- that don't define them.
- (inetfile): Make IPv6 a fatal error if using the fake getaddrinfo,
- since chances are good that IPv6 really isn't available.
-
-Sat Dec 25 19:36:27 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Fixes for z/OS.
-
- * awkgram.y (tokcompare): Change argument types to const void *.
- (check_special): Add cast to void * in call to qsort.
- * builtin.c (do_bindtextdomain): Change `directory' and `domain'
- to const char *.
- * custom.h (ZOS_USS): Undef HAVE_SYS_PARAM_H and HAVE_MCHECK_H.
- Beats me why configure thinks it has those things.
-
-Fri Dec 24 12:56:46 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h: Remove defs for MIPS RiscOS.
- * configure.ac, aclocal.m4: Updated to Autoconf 2.68.
-
-Wed Dec 22 21:21:28 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * gettext.h: Synchronized with gettext 0.18.1.
-
-2010-12-22 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.18.1.
- * ABOUT-NLS, config.rpath: Updated from gettext 0.18.1.
-
-Sun Dec 19 16:43:14 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (update_PROCINFO_str, update_PROCINFO_num, make_str_node):
- Change `char *' parameters to `const char *' to avoid some
- compiler warnings.
- * ext.c (do_ext): Remove cast in call to make_string.
- * field.c (update_PROCINFO_str, update_PROCINFO_num): Adjust.
- * main.c (init_args): Remove casts in calls to make_string.
- * node.c (r_make_str_node): Add cast in assignment if ALREADY_MALLOCED.
-
-Sat Dec 18 20:12:59 2010 Eli Zaretskii <eliz@gnu.org>
-
- * array.c, gawkmisc.c, io.c, main.c, regex_internal.h,
- awkgram.y, awk.h, array.c: Remove OS2 and _MSC_VER defines.
-
-Sat Dec 18 19:56:17 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c, eval.c, floatcomp.c, io.c: Remove all the crufty
- old code for #ifdef CRAY.
-
-Thu Dec 16 11:06:50 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Put strftime() default format into PROCINFO["strftime"].
-
- * awk.h (def_strftime_format): Declare const char[] array.
- * main.c (def_strftime_format): Define it.
- (load_procinfo): Load it into PROCINFO.
- * builtin.c (do_strftime): Use value in PROCINFO for format
- string if it's there. Remove old def_format static array.
-
-Mon Dec 13 17:12:44 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- If not POSIX, turn [d-h] into [defgh].
-
- * re.c (check_bracket_exp): Make warning about ranges under
- lint control.
- (expand_range): New routine to expand ranges.
- (make_regexp): Check if might have range and call expand_range.
- (add_char): New helper function for expand_range.
-
-Thu Dec 9 22:12:48 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c: Restored changes of 1 July 2010 to allow /inet4 and /inet6;
- they got lost amongst the merges. Fixed checking of do_sandbox.
- Also, removed the option for raw IP sockets since it was never
- implemented and wasn't going to be.
-
-Tue Dec 7 11:59:00 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Remove test for return type of sprintf. Another
- renegade from the late 1980's bites the dust!
- * protos.h (sprintf): Remove declaration.
-
-Sun Dec 5 15:01:35 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (grow_stack): Change env var to GAWK_STACKSIZE.
- * awk.h, main.c, eval.c, profile.c: Removed features added
- for those who are Strong In The Ways of the Source.
- * debug.c (comp_func): Moved to here from eval.c, where it's
- no longer needed.
-
-Sat Dec 4 21:44:38 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (init_btowc_cache): New function.
- (btowc_cache): New array.
- (str2wstr): Use is_valid_character in test instead of several isXXX
- calls.
- * awk.h [is_valid_character]: Macro to use btowc_cache.
- * main.c (main): Call init_btowc_cache().
- * io.c (rs1scan): Add call to is_valid_character when processing
- characters byte by byte.
-
-Wed Dec 1 08:10:21 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h, awkgram.y, debug.c: Change CONTEXT to AWK_CONTEXT
- everywhere to avoid problems with libsigsegv on cygwin.
-
-Tue Nov 30 13:48:34 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (MRL): Removed variable, not used since Tandem code nuked.
- (main): Fix argument parsing for -m.
- (usage): Make -m undocumented (already is the doc/* files).
- * io.c (MRL): Remove declaration.
-
-Mon Nov 29 21:59:21 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (check_bracket_exp): Add check and warning for ranges.
- I may live to regret this.
-
-Mon Nov 29 20:09:18 2010 Eli Zaretskii <eliz@gnu.org>
-
- * replace.c [!HAVE_STRFTIME]: For __MINGW32__, define
- HAVE_STRFTIME while compiling missing_d/strftime.c.
-
-Thu Nov 25 20:12:28 2010 John Haque <j.eh@mchsi.com>
-
- * awkgram.y (grammar): Bug fix in delete for loop efficiency hack.
- * debug.c (do_info): Don't sort functions to avoid potential memory leak
- in case A_FUNCTIONS.
-
- Plug more potential leaks in the debugger eval/condition commands:
- * builtin.c (POP_TWO_SCALARS): New macro to free first scalar in case
- of a fatal error in the next.
- (do_index, do_atan2, do_lshift, do_rshift, do_and, do_or, do_xor): Use it
- instead of two consecutive POP_SCALARs.
-
- Execution context related code cleanups. Also, added descriptive
- comments for functions.
- * awkgram.y (get_context): Nuked.
- (push_context, pop_context, in_main_context): New functions.
- (mk_program, parse_program, yylex): Updated.
- * debug.c (condition_triggered, do_eval, parse_condition): Updated.
- * eval.c (unwind_stack): Updated.
- * main.c (main): Updated.
- * awk.h (struct context): Removed member level, not needed.
-
- * eval.c (op_assign): Initialize r to NULL, and declare x only
- if HAVE_FMOD not defined to remove GCC warnings.
-
-Thu Nov 25 08:32:31 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (posix_compare): Do string comparison with strcoll() /
- wcscoll().
- (cmp_nodes): Call it if do_posix. This may be a bad idea,
- but what the heck. Standards compatibility uber alles!
-
-Wed Nov 24 20:09:23 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * ext.c (do_ext): Require definition of `plugin_is_GPL_compatible'
- per GNU Coding standards.
-
-Sun Nov 21 14:23:58 2010 John Haque <j.eh@mchsi.com>
-
- Debugger: Fix memory leak when quitting pager.
- * awk.h (PUSH_BINDING, POP_BINDING): Generalize macro definitions.
- * debug.c (print_array): save and restore bindings for pager.
- free list in case of an early exit in the pager.
- (do_dump_instructions): Don't sort functions to avoid potential
- memory leak.
- (execute_code): Adjust PUSH_BINDING and POP_BINDING macro invocations.
-
- * awkgram.y (func_call): Avoid reading freed memory for indirect var
- name; do the special variable check before the call to 'variable'.
-
- * eval.c (r_interpret): Fixes and cleanups. Change TOP to TOP_SCALAR
- in the case Op_store_field.
- (assign_common, assign, compare): Nuked macros.
- (cmp_scalar, op_assign): New functions as replacements for the macros.
-
-Fri Nov 19 11:57:28 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * bootstrap.sh, Makefile.am: Remove treatment of CVS.
- * README.cvs: Updated further.
-
-Thu Nov 18 23:28:23 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Remove `--enable-portals' option. I don't think
- anyone ever used it.
- * io.c (two_way_open): Remove the code for portals.
- * README.cvs, README.git, bootstrap.sh: New files for storage
- in the Git repository.
-
-Tue Nov 16 11:56:31 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * version.in: Removed descriptive comments. New features and
- so on are documented in the documentation and in NEWS.
-
-Mon Nov 15 19:19:25 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (LEX_LENGTH): Removed warning about length with
- no argument being deprecated.
- * awkprintf.h: Remove code for sun386. Fix %c to print multibyte
- character instead of first byte.
- * builtin.c (sub_common): Update commentary about POSIX.
- * io.c (nextfile): Add MAYBE_NUM to FILENAME.
-
-Fri Nov 12 11:53:15 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (update_global_values): New routine, needed for correct
- operation of --dump-variables.
- * awk.h: Declared it.
- * awkgram.y (get_varlist): Call it.
- Thanks to Hermann Peifer <peifer@gmx.eu> for the bug report.
-
- * debug.c (find_subscript): Initialize `r' to NULL, per
- Michal Jaegermann.
-
-Thu Nov 11 16:31:49 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Restore decls of strcasecmp, strncasecmp.
- * builtin.c: Lots of general cleanups.
- (sub_common): Actually enable POSIX rules! (Wasn't done right
- earlier.)
-
-Thu Nov 4 14:08:29 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c, awkgram.y, awkprintf.h, builtin.c, debug.c, eval.c,
- field.c, io.c, main.c, node.c, profile.c, re.c: Remove register
- keyword everywhere.
- * node.c: Minor code cleanups.
-
-Wed Nov 3 08:29:15 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (free_wstr): If argument is null string or null field,
- return. Thanks to Vojtech Vitek <vvitek@redhat.com>
-
-Tue Nov 2 16:45:06 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Straighten out options more. --lint --> -L, --lint-old --> -t
-
- * main.c (optlist, optab, main, usage): Adjusted approrpiately.
-
- Other:
- * awk.h: Lots more general cleanup.
- * builtin.c (strncasecmpmbs): Move mbstate vars into the routine.
- * awk.h (strncasecmpmbs): Adjust declaration.
- * eval.c (cmp_nodes): Adjust call.
- * awkgram.y, command.y: Remove unused variables.
-
-Mon Nov 1 21:55:26 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (optlist, optab, main): Renamed -l option to -t
- so can eventually merge in xgawk's -l option.
- (usage): Adjusted approrpiately.
-
-Mon Nov 1 16:23:52 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c, awk.h, custom.h, eval.c, gawkmisc.c, io.c, main.c,
- protos.h, replace.c: Remove code related to: __amigaos__,
- atarist, BeOS, _MSC_VER, MSDOS, TANDOM, WIN32, and anything
- not for __STDC__.
-
-Sun Oct 31 21:49:22 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Start on cleaning up. Remove stuff for DOS, WIN32,
- TANDEM, atarist, NeXT even!
-
-Sun Oct 31 05:56:23 2010 John Haque <j.eh@mchsi.com>
-
- Add array of arrays.
-
- * awk.h (Op_sub_array): New opcode.
- (POP_SCALAR, TOP_SCALAR): New macros. If the item is not a scalar,
- make it a fatal error.
- (POP_STRING, TOP_STRING): Use POP_SCALAR and TOP_SCALAR instead
- of POP and TOP.
- (force_string, force_number): Unrelated: simplify (remove) macros
- for older gcc and non-gcc compilers.
- * awkgram.y (grammar): New non-terminals for array subscripts.
- delete array subscripts are handled differently than array subscripts
- used as a variable.
- (SUBSCRIPT): New terminal symbol to indicate end of subscripts.
- (yylex): Return SUBSCRIPT after all the subscripts has been read.
- (rules variable, LEX_DELETE and LEX_FOR): Adapt to these changes.
- (sub_counter): New global to count the number of subscripts in a
- delete statement.
- (optimize_assignment): Adjust code for assignment to an array element.
- * array.c (make_aname): New function to construct a sub-array name.
- (get_array): Handle Node_val in the default case.
- (concat_exp): Issue fatal error message if each expression is not a
- scalar.
- (assoc_clear): Recursively clear sub-arrays.
- (do_delete, assoc_dump, assoc_sort_inplace, dup_table):
- Handle array of arrays.
- * builtin.c: Replace POP with POP_SCALAR as appropriate.
- * eval.c (optypes): Add entry for Op_sub_array.
- (r_interpret): Handle Op_sub_array. For case Op_subscript, increment
- reference count only if the result is a scalar. If type is not a
- scalar in Op_subscript_lhs, make it fatal. Adjust stack pointer
- after a call to do_delete in Op_K_delete. Change POP(TOP)
- to POP_SCALAR(TOP_SCALAR) as needed.
- * profile.c (pprint): Add case for Op_sub_array.
- * command.y (grammar): New non-terminals and rules to handle
- array of arrays.
- * debug.c (struct list_item): Redesigned. Field subs is NODE ** now,
- new fields num_subs and sname. New flags OLD_IS_ARRAY and CUR_IS_ARRAY;
- removed flag ARRAY_WATCH. Renamed macro IS_ARRAY() to WATCHING_ARRAY.
- (do_info): Adapt to the structural changes in cases A_WATCH and
- A_DISPLAY.
- (print_array): New function to print contents of an array.
- (print_subscript): New function to print an element of an array.
- (do_print_var): Use the new functions to print an array element
- and contents.
- (do_set_var): Adapt to the structural changes in list_item for
- an array element.
- (delete_item, do_add_item, display): Ditto.
- (add_item): Ditto. Use field symbol, not subs to store field number and
- adjust accordingly everywhere.
- Unrelated: handle function parameter correctly, watch and display now
- prints the param name instead of the actual array name.
- (find_subscript): New function.
- (initialize_watch_item): Use the new function find_subscript
- to locate an array element NODE.
- (watchpoint_triggered): Redone.
- (cmp_val): Redone.
- (print_watch_code): Adjust code for printing subscript.
- (print_instruction): Add case for Op_sub_array.
- (serialize_subscript): New function.
- (serialize): Use the new function to serialize watch and display
- subscripts.
- (unserialize_list_item): Adapt to the structural changes. Also,
- simplify code.
- (do_print_f): Redo code for printting array element.
- (pre_execute_code, execute_code): Change POP to POP_SCALAR.
-
- Unrelated:
-
- * debug.c (unserialize_commands): New function for common code in
- unserialize_breakpoint and unserialize_list_item.
- (unserialize_breakpoint and unserialize_list_item): Use the new
- function.
-
- * awkgram.y (grammar): Do not terminate parser if seen an empty(NULL)
- subscript. Install null string as subscript and continue parsing.
- (variable): Do not terminate parser if type is Node_func, change it
- to Node_var_new temporarily. Simplifies grammar and allows parser to
- continue.
-
- * command.y (yylex): Add history entry when blank line repeats
- previous command.
-
- * debug.c (pp_args): Removed. Pretty-printing SUBSEP
- seperated indexes can not be made to work reasonably in all cases.
- (struct list_item): Removed field pp_subs.
- (concat_args): Move to file command.y.
- * command.y (grammar): Concatenate SUPSEP seperated indexes.
-
-Thu Oct 28 16:25:08 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Remove use of varargs.h everywhere:
-
- * awkgram.y (yyerror): Fixed.
- * awk.h [CAN_USE_STADARG_H]: Removed, #error added if not available.
- (snprintf, Func_print, msg, error, warning): Fix declarations.
- * cmd.h (gprintf, d_error): Fix declaration.
- * command.y (yyerror): Fixed.
- * debug.c (d_error, gprintf): Fixed code.
- * main.c (lintfunc): Fix declaration.
- * msg.c (msg, warnning, error, r_fatal): Fixed code.
-
-Wed Oct 27 16:45:29 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [P]: Finally, nuked the `P' macro. Removed definitions
- and uses.
- [HAVE_DOPRNT]: Removed check for this, now require vfprintf.
- [BELL]: Nuked; require a compiler that supports '\a'.
- * array.c, awkgram.y, awkprintf.h, builtin.c, cmd.h, command.y,
- debug.c, eval.c, ext.c, field.c, io.c, main.c, protos.h [P]:
- Remove all uses.
- * node.c (r_force_number): Change check with strtod to `ptr == cpend',
- SunOS 3.5 compatibility no longer concerns us. Removed the comment.
- [P]: Removed all uses.
- (parse_escape): Change from BELL to '\a'.
- * profile.c (pp_string): Change from BELL to '\a'.
- [P]: Removed all uses.
-
-Tue Oct 26 20:11:37 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (fix_break_continue): New routine to make break and
- continue instructions point to where they should jump to. Adjusted
- grammar to call it for switch and loops.
- * eval.c (r_interpret): For Op_K_break and Op_K_continue, jump
- to pc->target_jmp.
- * command.y (cmdtab, do_help): Translate the help messages.
- * debug.c (option_list, option_help): Translate the help messages.
- Elsewhere, clean up / add calls to gettext.
-
-Fri Oct 22 11:18:29 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * ChangeLog: Merged with ChangeLog.BYTECODE.
- * Makefile.am (EXTRA_DIST): Removed ChangeLog.BYTECODE.
- * ChangeLog.BYTECODE: Removed the file.
-
-Thu Oct 21 12:16:35 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Make break and continue outside a loop not allowed at all,
- even with --traditional, as BWK awk no longer allows this.
-
- * eval.c (r_interpret): For Op_K_break and Op_K_continue, make
- them fatal errors if not in a loop.
- * awkgram.y (break_allowed, continue_allowed): New variables.
- [BREAK, CONTINUE]: New flags for tokentab.
- (yylex): If set, increment the corresponding variable.
- (Grammar): Test variables when break/continue seen, decrement them
- at the end of productions for loops and switch.
-
-Tue Oct 19 20:03:29 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (optab, usage): Remove --compat, --copyleft, and --usage extra
- option aliases.
-
-Tue Oct 19 08:25:02 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkprintf.h (r_format_arg): Undouble "%" characters in
- error messages. Thanks to Scott Deifik for catching the problem.
-
-Sat Oct 16 22:08:54 2010 Arnold Robbins <arnold@skeeve.com>
-
- Apply changes from John Haque:
-
- * awk.h [ASSIGNED]: Remove unused flag.
- (Op_cond_pair_left): Remove.
- * debug.c (print_instruction): Remove Op_cond_pair_left.
- (do_trace_instruction): Fix print for Op_newfile.
- (parse_condition): Improve code.
- * eval.c (optypes): Add space to string for "!".
- (r_interpret): Remove Op_cond_pair_left and Node_instruction cases.
- Revise Op_cond_pair to handle left and right sides correctly.
- Simple code fixes in some other cases.
- * profile.c (pprint): Remove Op_cond_pair_left. Simplify Op_not.
-
-Fri Oct 15 14:17:09 2010 Arnold Robbins <arnold@skeeve.com>
-
- * awk.h (Op_cond_pair_left): New op for left side of condition pair.
- * debug.c (print_instruction): Support it.
- * profile.c (pprint): Ditto.
- * eval.c (r_interpret): Split Op_cond_pair into two cases; they have
- to be handled differently.
-
-Wed Oct 13 19:17:03 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.h [RE_SYNTAX_AWK]: Add RE_CHAR_CLASSES, for compatibility
- with modern Unix awk.
-
-Sun Oct 10 15:31:01 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (dfawarn): Do nothing in body, since gawk does it's
- own checking.
-
-Sun Oct 10 15:30:34 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- MERGE with bytecode version! Many many files changed / added.
-
-Sun Oct 3 08:41:25 2010 John Haque <j.eh@mchsi.com>
-
- * Lots of files: Indirect function call, FPAT, BEGINFILE/ENDFILE
- from gawk-devel.
-
- * awk.h (defrule): New enum for rule types.
- (ruletab): Converts rule types to string constants.
- * awkgram.y: Use rule types to simplify code in grammar.
- * eval.c, debug.c, profile.c, awkgram.y routines: Update to use ruletab.
-
- * Lots of files: New debugger command eval for evaluation of
- arbitrary (g)awk expression(s).
- eval "awk statement(s)"
- OR
- eval p1, p2
- > awk statement
- > more awk statement(s)
- > end
- p1, p2 are eval locals.
- Conditional break/watch point:
- break 1 "condition expression"
- OR
- break 1
- condition "condition expression"
-
- * command.y: grammar clean-ups.
- (find_command): Redo to fix bugs in abbreviation/partial-string
- search.
-
- * debug.c (command_source): New structure. Used to manage
- sources for debugger commands. 'source file' command can now
- include additional source commands.
-
- * awk.h: new enum type redirval for I/O redirection types;
- remove redirection types from OPCODE.
- * awkgram.y: Adjust grammar for redirection type changes.
- (yylex, mk_getline): Update for redirection type changes.
- * io.c (redirect, do_getline): Ditto.
- * profile.c (redir2str): New function to convert redirection types
- to string constants.
- (pprint): Use new function redir2str.
- * debug.c (print_instruction): Ditto.
- * eval.c (optypes): Remove redirection types from table.
-
- * main.c (main): initialize do_optimize to 1, default optimizations.
- do_optimize > 1 for -O (--optimize) command line option.
- do_optimize = 0 turns off all optimizations, and is for debugging
- purposes.
- * awkgram.y: Updated.
-
- Lots of other cleanups and improvements.
-
-Thu Sep 16 09:44:47 2010 John Haque <j.eh@mchsi.com>
-
- Lots of bug fixes & improvements, including work on
- profiling.
-
-Wed Aug 18 22:15:06 2010 Arnold Robbins <arnold@skeeve.com>
-
- Lots of files: Sync fully with gawk-stable version, in particular
- documentation edits and all ChangeLog files.
-
-Mon Aug 9 07:17:54 2010 John Haque <j.eh@mchsi.com>
-
- Fix the case when runtime stack can have a INSTRUCTION pointer
- while popping stack items (a next/nextfile statement inside a loop).
-
- * awk.h: new NODETYPE Node_instruction. Remove instruction pointer
- from STACK_ITEM union, and all related macros.
- * eval.c (r_interpret): wrap code (INSTRUCTION) pointer inside
- a NODE for Op_push_loop. Change Op_pop_loop, Op_K_break
- and Op_K_continue accordingly.
- (unwind_stack): free Node_instruction.
- (nodetypes): add new entry for Node_instruction.
-
-Thu Aug 5 15:05:22 2010 Arnold Robbins <arnold@skeeve.com>
-
- * awk.h: Remove redundant declaration of struct lconv loc;
- * awkprintf.h: Move ifdef for HAVE_LOCALE_H inside case '\''.
- * custom.h: Add macros for setenv and unsetenv for Z/OS.
- * main.c (main): Remove three argument version for Tiny CC after
- applying patches to local copy that fix the issue with environ.
-
-Mon Jul 26 07:23:01 2010 John Haque <j.eh@mchsi.com>
-
- Started Byte Code version ChangeLog.
-
- * awk.h, eval.c, debug.c, profile.c: Renamed opcode Op_exit to
- Op_atexit. Simplify exit value handling; use existing global
- exit_val from main.c.
- New opcode Op_stop.
-
- * msg.c: New variables fatal_tag_valid, fatal_tag.
- (r_fatal): Use these new variables.
- (err): Change myname from dgawk to gawk when debugging;
- reflects the correct source of error messages.
-
- * builtin.c, msg.c: Change stdout to output_fp.
- (do_fflush): Also flush output_fp if not stdout.
-
- * command.y (yylex, yyparse): (Much) improved error recovery.
-
- * awkgram.y (yylex): Add 'goto out' in 'check_special'
- for do_traditional or do_posix check, lost somewhere
- between 3.1.3 to 3.1.8.
- (pop_var): New name remove_symbol to go with mk_symbol.
- (install): New name install_symbol.
-
- * debug.c:(set_gawk_output): Improved handling of /dev files
- including /dev/ttyN, /dev/pts/N.
- (pre_execute): Renamed execute, a pre_hook in r_interpret.
- (post_execute): New function, a post_hook in r_interpret;
- used to detect non-local jumps (next, nextfile, exit)
- with commands 'until' and 'finish', and to print the
- returned value for finish.
- (print_instruction): Redo function params initialization
- when trace is on. Hopefully, correct this time around.
- (close_all): New function to close all known files
- during quit and restart.
-
- * eval.c(r_interpret): Redefine macro JUMPTO to include
- post_hook from above, and use it exclusively to move to
- the next instruction for execution.
-
- * debug.c (do_run): Trap gawk fatal errors.
-Sun Sep 5 12:44:24 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (check_bracket_exp): Add `warned' flag to table and adjust
- code to only warn once about each candidate.
- (make_regexp): Always call check_bracket_exp, per discussion
- on comp.lang.awk.
-
-Fri Aug 6 16:29:55 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (check_bracket_exp): Improved the code, again.
-
-Thu Aug 5 18:41:27 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (check_bracket_exp): Improved the code.
-
-Tue Aug 3 11:35:11 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (check_bracket_exp): New function.
- (make_regexp): Call it if do_lint.
-
-Thu Jul 1 19:22:33 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Add support for /inet4/... and /inet6/... files.
-
- * io.c (socketopen): New parameter `family' for address family.
- (inetfile): New function. Changed everywhere to use it and
- the values it sets.
-
-Fri Jun 25 01:01:39 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Added short option letters for all long options
- that didn't have them so that they can be used in #!. This
- reinstates -r, FWIW.
- (usage): Revised message to list standard options first, then
- options for extensions, sorted by short letter.
-
-Mon Jun 21 23:05:20 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- New FPAT variable and patsplit built-in function.
-
- * awk.h (NODETYPE): Add Node_FPAT.
- (FPAT_node, do_patsplit, set_FPAT): Declare.
- (set_FPAT, update_PROCINFO_str, update_PROCINFO_num,
- current_field_sep): New functions.
- * awkgram.y (tokentab): Add patsplit.
- (snode): Add code for do_patsplit to default third arg to FPAT.
- (isnoeffect, isassignable): Add cases for Node_FPAT.
- * eval.c (nodetypes): Add FPAT.
- (r_tree_eval, r_get_lhs): Add cases for Node_FPAT.
- * field.c (fpat_parse_field, update_PROCINFO_num, set_FPAT,
- do_patsplit): New functions.
- (update_PROCINFO): Renamed to update_PROCINFO_str.
- (FPAT_re_yes_case, FPAT_re_no_case, FPAT_regexp): New variables.
- (using_FIELDWIDTHS): Replaced with current_field_sep and all calls.
- * io.c (set_RS): Call current_field_sep insead of using_fieldwidths.
- * main.c (main): Use update_PROCINFO_str and update_PROCINFO_num
- instead of manually updating the array.
- (varinit): Add FPAT.
- * profile.c (tree_eval, pp_lhs, is_scalar, pp_var): Add case for
- Node_FPAT.
-
-Fri Jun 12 13:25:32 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Make command line arguments that are directories a warning.
- They remain a fatal error if --posix or --traditional.
-
- * configure.ac: Remove the --disable-directories-fatal option.
- * io.c (nextfile): Rationalize the code that handles directories,
- including setting ERRNO correctly.
-
-Thu Feb 26 20:57:52 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes from August 2008 through February 2009 to add
- BEGINFILE and ENDFILE, originally against 3.1.6, merged into
- development version.
-
- * awk.h (in_beginfile_rule, in_endfile_rule): Add declarations.
- * awkgram.y (beginfile_block, endfile_block): Add declarations.
- (beginfile_or_endfile_rule, parsing_endfile_rule): New variables.
- (LEX_BEGINFILE, LEX_ENDFILE): New tokens, new rules for those tokens.
- (tokentab): Add new entries for BEGINFILE, ENDFILE.
- (LEX_NEXTFILE): Allow nextfile in BEGINFILE rule.
- (LEX_GETLINE): Allow only `getline var < file' inside BEGINFILE or
- ENDFILE.
- * eval.c (interpret): Check in_beginfile_rule and in_endfile_rule for
- errors for next and nextfile.
- (update_ERRNO_saved): When errno == 0, set to ERRNO to
- null string.
- (interpret): Allow nextfile in BEGINFILE rule.
- (update_ERRNO_saved): Check errcode paramater, not global errno.
- * io.c (beginfile_block, endfile_block, in_beginfile_rule,
- in_endfile_rule): New variables.
- (do_input): Set them. Update ERRNO only if not do_traditional.
- Propogate error code down to fatal message.
- (run_beginfile_rule, run_endfile_rule): New functions.
- (iop_alloc): Use it instead of inline code. Add fourth argument
- indicating that the open hooks should run. Adjust calls. Point is
- to not call open hooks twice inside `nextfile'.
- (do_nextfile): Check it and also in_beginfile_rule and only longjump
- when both filebuf valid and not in a BEGINFILE rule.
- (nextfile): Call run_beginfile_rule and run_endfile_rule as
- appropriate. Reorder the logic to set ERRNO and allow BEGINFILE
- to call nextfile to skip a bad data file. Adjust calls to
- iop_open and find_open_hook.
- (nextfile): Call iop_alloc if there's a BEGINFILE block in case
- the hooks changed.
- (find_open_hook): New function.
- (get_a_record): On read error, just set *errcode and return. Let
- higher level logic decide if it's fatal.
- (inrec): Have error be fatal if traditional or if there isn't
- an ENDFILE rule.
- * profile.c (dump_prog): Add code for BEGINFILE / ENDFILE.
- * awk.h (dump_prog): Adjust declaration.
- * main.c (main): Adjust call to `dump_prog'. Check beginfile_block and
- endfile_block also to be not NULL in order to call do_input. Thanks to
- Steffen Schuler for pointing out the bug.
-
-Thu Feb 26 07:54:51 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Per advice from BWK and my own feelings, nuke additions from 2001
- of seek and tell functions. They were never documented anyway.
-
- * awk.h (do_seek, do_tell): Remove declarations.
- (IOBUF): Remove save_start and rec_size members.
- * awkgram.y (tokentab): Remove "seek" and "tell" entries.
- * io.c (do_getline): Remove code setting save_start and rec_size.
- (iop_alloc): Remove code initializing save_start and rec_size.
- (do_seek, do_tell): Removed.
- * configure.ac: Remove --enable-seektell option.
-
-Mon Feb 16 21:54:13 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (tokentab): Enable switch / case by default.
- * configure.ac: Remove test for --enable-switch.
-
-Thu Feb 12 22:06:17 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (optab): --gen-po becomes --gen-pot. -r goes away since it's
- now on by default.
- (usage): Similar changes.
- * regex.h [RE_SYNTAX_GNU_AWK, RE_SYNTAX_POSIX_AWK]: Adjust to support
- interval expressions.
- [RE_DEBUG]: Nuke: it is no longer used.
- * re.c (resetup): Adjust comment for do_intervals.
- (reflags2str): Remove RE_DEBUG.
-
-Sat Jan 17 20:41:54 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (WSTRCUR): Always define, no real need for ifdef.
- * eval.c (flags2str): Similar.
- * field.c (rebuild_record): Similar.
-
-Sat Jan 17 19:59:39 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Add indirect function calls. They require a special
- syntax, which is an `@' in front of a function call.
-
- * awk.h (NODETYPE): New Node_indirect_function_call value.
- (ASSIGNED): New flag value.
- * eval.c (nodetype2str): Add new node type.
- (flags2str): Add ASSIGNED.
- (func_call): Test the node type to determine
- what kind of call. Cache the function body if a real function
- is called indirectly. Also get scoping right if called from a function.
- LOTS of work here to get this code right!
- (op_assign): Add ASSIGNED to flags.
- * awkgram.y (function_call, direct_function_call): New productions for
- creating indirect function calls. Only call func_use for direct call.
- (yylex): Add case for '@'. Only return it if not posix or traditional.
- * profile.c (tree_eval): Add case for Node_indirect_func_call.
- (pp_func_call): Check type and print '@' for indirect call.
-
-Tue Dec 30 22:25:04 2008 Assaf Gordon <gordon@cshl.edu>
-
- * awk.h (do_sandbox): New variable declaration.
- * main.c (do_sandbox): Variable definition.
- (opttab): Add new option --sandbox.
- (usage): Add to usage message.
- * builtin.c (do_system): Disallow if sandboxed.
- * io.c (redirect): Disallow redirections if sandboxed.
-
-Tue Dec 30 22:22:04 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (usage): Change --binary to --characters-as-bytes,
- per Karl Berry.
-
-Thu Dec 18 05:29:46 2008 Steffen Schuler <schuler.steffen@googlemail.com>
-
- * field.c (*_parse_field): Add `sep_arr' argument and fill it.
- * field.c (do_split): Add handling of fourth argument of awk
- builtin `split'.
- * field.c (get_field): Extend parse_field by default argument.
- * awkgram.y (tokentab): Extend `split' entry with fourth argument.
-
-Wed Dec 17 09:54:00 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (do_binary): New variable for new option -b which
- makes gawk not mess with multibyte strings.
- (opttab): Add option entry for -b / --binary.
- (main): If do_binary, set gawk_mb_cur_max to 1.
-
-Sat Oct 27 22:43:50 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (resetup): Add RE_INVALID_INTERVAL_ORD to syntax bits if
- doing interval expressions.
-
-Thu Oct 25 23:11:10 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (devopen): Add `isdir' pointer argument.
- * io.c (devopen): Ditto. Adjust logic that checks for directory.
- Adjust all calls.
- * main.c (main): Adjust call to devopen.
-
-Sun Oct 3 23:18:44 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (lex): Enabled \s and \S escape sequences.
- * regcomp.c (peek_token): Ditto.
-
-Tue Aug 3 13:29:53 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): Make POSIX 2001 behavior the
- default for `sub' and `gsub'.
-
-Wed Aug 21 13:39:08 2002 Dean Wakerly <dean@wakerly.com>
-
- * main.c (main): Add short option letter 'r' for --re-interval.
- Mainly for use in #! scripts.
-
-Wed Dec 26 22:03:48 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Nuke /dev/pid etc. special files!
-
- * awk.h (IOP_IS_INTERNAL, IOP_NO_FREE): Removed. Other defines
- renumbered.
- * io.c (iop_open, spec_setup, specfdopen, pidopen, useropen): Removed.
- (do_input, redirect): Change uses of iop_open() to devopen() +
- iop_alloc().
- (iop_close, get_a_record): Remove special handling for IOP_INTERNAL,
- IOP_NO_FREE.
- (devopen): Remove comment relating to iop_open.
- Add fstat check for valid fd for /dev/fd/N.
-
-Sun Nov 4 10:27:58 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h, builtin.c, awkgram.y: Renamed mark/reset to tell/seek.
- * acconfig.h: Add `#undef SEEK_TELL'.
- * configure.in: Add `--enable-seektell' configure-time option.
- * io.c (do_seek, do_tell): renamed from do_reset, do_mark.
-
-Thu Aug 16 12:21:28 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- New feature, undocumented for now, use #define MARK_RESET to
- to turn it on. New function val = mark("/some/file") to
- save start position of current record. Use
- reset("/some/file", pos) to go back to it. ONLY works
- with getline.
-
- * awk.h (IOBUF): New members save_start and rec_size.
- (do_mark, do_reset): Add declarations.
- * awkgram.y (tokentab): Add entries for mark and reset.
- * io.c (specsetup): Initialize save_start and rec_size.
- (iop_alloc): Ditto.
- (do_getline): Update them as appropriate.
- (do_mark, do_reset): New functions.
-
-Fri Sep 17 12:42:42 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (btowc): Changed to use mbrtowc.
-
-Wed Sep 15 08:26:55 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Further sync with GNU grep.
-
-Tue Sep 14 09:53:55 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (str2wstr): Per advice from Ulrich Drepper, when converting,
- if the current byte is isprint, isgraph, iscntrl or zero, then it
- can't start a multibyte character. This can save many calls to
- `mbrtowcs', and speed up the conversion considerably.
-
-Mon Sep 13 11:19:21 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Sync with GNU grep.
- * re.c (dfawarn): New routine for use by dfa.
-
-Sun Sep 12 22:17:02 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (tree_eval): Fix comment on for ... delete array loop.
- (pp_string_fp): Get escapes right on regex constant.
-
-Sun Sep 5 20:38:42 2010 John E. Haque <j.eh@mchsi.com>
-
- * re.c (str2wstr): Decrement src_count when skipping bad bytes.
-
-Fri Aug 27 13:51:13 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync with current GNU grep - minor edits only.
-
-Fri Aug 20 16:26:14 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (tree_eval): Always parenthesize Node_cond_exp.
- May add a few extra parens but guarantees the right semantics.
- Thanks to Hermann Peifer <peifer@gmx.eu> for the bug report.
-
-Thu Aug 19 21:35:13 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.c (re_string_reconstruct): Move ifdef out to cover
- variable declarations, to avoid "unused variable" warnings.
- * regexec.c (check_arrival_add_next_nodes): Bracket declaration of
- `err' with ifdef for the same reason.
-
- Thanks to avarab@gmail.com for the suggestions.
-
-Wed Aug 18 22:13:30 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am (AUTOMAKE_OPTIONS): Added. Other minor cleanups.
-
-Tue Aug 17 23:27:43 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pp_string_fp): Use different sets of escape characters
- if printing a string or a regex, based on delimiter. Thanks to
- Hermann Peifer <peifer@gmx.eu> for the bug report.
-
-Sun Aug 8 23:05:09 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (make_regexp): Don't allocate rp->dfareg unless
- we're using dfa; causes a memory leak otherwise. Thanks to
- Antonio Columbo for reporting the bug.
-
-Wed Jul 14 23:04:30 2010 Eli Zaretskii <eliz@gnu.org>
-
- * dfa.c: Include langinfo.h only if HAVE_LANGINFO_CODESET is
- defined.
-
-Wed Jul 14 23:00:19 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yylex): Allow a backslash before CR-LF to also
- work for line continuation, for MS-DOS style source files.
- Thanks to (Vincent Belaiche) for pointing this out.
-
-Wed Jul 14 22:31:53 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (str2wstr): Keep going if get a bad multibyte sequence.
- Allows match to give correct answers for RSTART, RLENGTH.
- Add a lint warning. Correctly set the length of the string
- based on pointer subtraction.
-
-Wed Jun 16 21:52:09 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (exec_count): Moved into NODE structure as standalone
- element since count on `/pat/ { ... }' was wrong. Thanks to
- Hermann Peifer <peifer@gmx.eu> for the bug report.
-
- Note to self: DO NOT propogate this to the byte-code version.
-
- Unrelated:
-
- * awkgram.y (matchop): Made left associative to match behavior
- of other awks.
- (print_expression_list): Simplified so that something like
- `print ("a", "b") in B in A' will work. Again, to match what
- other awks do.
-
-Fri Jun 4 15:56:59 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Further merges with GNU grep.
-
-Thu May 20 22:20:32 2010 Stepan Kasal <skasal@redhat.com>
-
- * Makefile.am [AUTOMAKE_OPTIONS]: Removed, contents now in ...
- * configure.ac [AM_INIT_AUTOMAKE]: ... here.
- Added dist-xz while I'm at it, per Karl Berry.
-
-Tue May 18 14:52:04 2010 Marcin Szewczyk <Marcin.Szewczyk@wodny.org>
-
- * builtin.c (format_tree): Simplify code in pr_tail when multibyte
- and %s or %d.
-
-Thu May 6 20:55:14 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.8: Release tar file made.
-
-Fri Apr 30 11:37:54 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Remove check for libsnprintf.
-
-Tue Apr 27 22:23:26 2010 Andreas Schwab <schwab@linux-m68k.org>
-
- * builtin.c (do_mktime): Make lint check more sane.
- Fix overflow check. Removes GCC warning that Arnold
- incorrectly didn't like.
-
-Mon Apr 26 20:16:07 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * ltmain.sh: Removed.
- * builtin.c (do_mktime): Restored old code to match the
- documentation. We now have a warning that we just have to
- live with. Sigh. Stupid GCC. Added a lint warning though.
- (format_tree): More code so that %'d acts like %d on systems
- without <locale.h>.
- * main.c (main): Add `&& #if defined(HAVE_LOCALE_H)' for
- call to setlocale.
-
-Wed Apr 21 23:35:43 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am: Change quoting of -Dargs so that even tcsh
- users will be happy.
- * regex_internal.c (MAX): Add `#undef MAX', just in case.
- * configure.ac: Don't look for libsigsegv on OSF/1, gives
- us severe headaches.
-
-Tue Apr 20 12:01:01 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Sync with GNU grep. The long-standing x{0} bug
- is now gone. Matching UTF-8 with "." is now much faster.
- * re.c (avoid_dfa): Remove call to dfabroken() which is now gone.
- * builtin.c (do_mktime): Simplify check of values passed in to be
- more readable and to avoid a weird compiler warning from GCC.
-
-Fri Apr 16 15:02:26 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Add cast in error message to turn
- off compiler warning.
- * dfa.c (is_blank): New function. Use it everywhere instead of
- ctype.h `isblank' macro which isn't available universally.
-
-Tue Apr 13 22:36:31 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c, awkgram.y, builtin.c, dfa.c, eval.c, ext.c, main.c,
- node.c, re.c: Remove old ISxxx and TOxxx macros in favor of
- standard versions. ``We're two wild and crazy guys!''
-
-Tue Apr 13 22:07:18 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.c, getopt.h, getopt1.c, getopt_int.h, regcomp.c, regex.c,
- regex.h, regex_internal.c, regex_internal.h, regexec.c: Sync with
- glibc. What the heck.
-
-Thu Apr 8 21:33:09 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: All leading indentation is now spaces only. Yet
- another sync with grep.
-
-Thu Apr 8 20:45:25 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Move dfa internals into dfa.c and sync with grep. Avoids VMS and
- z/OS compile problems in order to avoid cygwin issue when used
- with ligsigsegv. ("Portability? We don't need no stinkin'
- portability!")
-
- * dfa.h: Move all the internals into dfa.c.
- (dfaalloc, dfamusts, dfabroken): Add declarations.
- * dfa.c: Accept all the internals.
- (dfaalloc, dfamusts, dfabroken): New functions.
- * awk.h (Regexp): Use a `struct dfa *'.
- * re.c (make_regexp): Call dfaalloc. Adjust uses of dfareg
- in other routines.
- (refree): Free the dfa struct too.
-
-Tue Apr 6 23:06:55 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Further sync with GNU grep for enum change
- and other misc changes.
-
-Tue Apr 6 20:13:45 2010 Michal Jaegermann <michal@harddata.com>
-
- * main.c: Wrap declarations and bodies of `catchsegv' and
- `catchstackoverflow' in #ifdef HAVE_LIBSIGSEGV to avoid
- "not used" warnings.
-
-Tue Apr 6 20:11:47 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h: Move definition of token enum to dfa.c to avoid conflict
- with Windows WCHAR introduced by libsigsegv. Thanks to Corinna
- Vinschen.
- * dfa.c: Enum body here.
- (in_coll_range): z/OS fix: Initialize array to all zeros and assign
- values instead of putting them into the initializer. Thanks to Dave
- Pitts for reporting the problem.
-
-Fri Apr 2 12:32:40 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync with grep 2.6.3.
-
-Wed Mar 31 15:50:34 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (dfaexec): Move decl of `saved_end' up to top of function.
- Fixes compilation on C89 compilers.
-
-Mon Mar 29 08:40:29 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- Remove local copy of libsigsegv. Use an external copy if available.
-
- * Makefile.am: Remove SEGVSUBDIR and SEGVINCLUDE.
- * configure.ac: Remove previous code that handled the library and use
- gl_LIBSIGSEGV library.
- * custom.h: Remove code for HAVE_SIGSEGV_H.
- * main.c: Move to HAVE_LIBSIGSEGV.
- * libsigegv/ : Removed.
-
-Mon Mar 29 05:41:35 2010 Corinna Vinschen <vinschen@redhat.com>
-
- * dfa.c: Include hard-locale.h after xalloc.h because it needs
- xmalloc.
- * hard-locale.h (xmalloc): Remove declaration.
- (hard_locale): Cast xmalloc to correct target type.
-
-Mon Mar 29 05:38:47 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c: (two_way_open): In counting down retries, test for > 0
- instead of >= 0 since retries is unsigned. Thanks to Pat Rankin
- for noticing.
- * configure.ac: Remove use of -export-dynamic on cygwin.
-
-Thu Mar 25 21:48:13 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Sync to grep 2.6.1. That's probably enough for now.
-
-Wed Mar 24 19:48:01 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: More sync with grep.
-
-Tue Mar 23 19:42:48 2010 Jeff Chua <jeff.chua.linux@gmail.com>
-
- * io.c (two_way_open): Bug fix in management of timeout value.
-
-Tue Mar 23 19:40:04 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Synced with released grep 2.6. Oh Frabjous Day!
- Callou! Callay!
-
-Mon Mar 22 22:49:44 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.c: Regenerated using bison 2.4.2.
-
-Fri Mar 19 10:19:20 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Minor edits for compat with grep.
-
-Fri Mar 19 09:19:56 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (two_way_open): Cleanup new code for socket opens.
- * replace.c: Include missing_d/usleep.c based HAVE_USLEEP.
- * configure.ac: Add usleep to list of functions to look for.
-
-Thu Mar 18 23:30:33 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Imported from GNU grep and merged. Passes "make test".
- * xalloc.h: New file, needed by dfa.c.
- * Makefile.am (base_sources ): Added xalloc.h.
-
-Thu Mar 18 07:29:45 2010 Jeff Chua <jeff.chua.linux@gmail.com>
-
- * io.c (two_way_open): Make failure to open a socket a non-fatal error.
- Allow the amount of time to sleep during socket retries to come from an
- undocumented env variable giving time in milliseconds.
-
-Mon Mar 8 20:58:05 2010 Paolo Bonzini <bonzini@gnu.org>
-
- More fixes from GNU grep.
-
- * dfa.c (dfaexec): Remove register keywords.
- (FETCH): Use do..while(0) idiom.
- (parse_bracket_exp_mb): Return MBCSET.
- (in_coll_range): New.
- (lex): Assign return value of parse_bracket_exp_mb to lasttok,
- return it. Use in_coll_range instead of regcomp/regexec.
-
-Mon Mar 8 20:36:35 2010 Jim Meyering <jim@meyering.net>
-
- Fixes from GNU grep development version:
-
- build: avoid shadowing warnings
- * dfa.c (match_mb_charset): Rename parameter: s/index/idx/.
- (check_matching_with_multibyte_ops, match_anychar): Likewise.
-
- build: avoid shadowing warning for unused "rs"
- * dfa.c (transit_state): Remove dead stores;
- Ignore transit_state_consume_1char return value.
-
- syntax: remove trailing blanks
- * dfa.c: Remove trailing blanks, to ease synchronization with grep.
-
- clean-up: limit visibility of an internal function
- * dfa.c (match_mb_charset): Declare static.
-
- build: rename local to avoid shadowing global, dfa
- * dfa.c (dfamust): Rename parameter: s/dfa/d/.
-
-Thu Feb 18 22:44:01 2010 Arnold D. Robbins <arnold@skeeve.com>0
-
- * eval.c (push_args): Clear the stack to NULL pointers after mallocing
- it. Fixes yesterday's problem when called from a rule.
- See test/fcall_exit2.awk. Thanks to Seb <sbb@tuxfamily.org>.
-
-Wed Feb 17 23:19:32 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (pop_fcall): Check that argument on stack is not NULL before
- attempting to clear it; add comment explaining it.
- (push_args): Set nodes to zero for argument to make sure that values
- are NULL for testing later in pop_fcall. See test/fcall_exit.awk.
- Thanks to Seb <sbb@tuxfamily.org>.
-
-Sun Jan 31 22:46:49 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (prec_level): Add Node_regex to the switch so that
- `! /xxx/' works. Thanks to Hermann Peifer <peifer@gmx.eu> for
- reporting the bug.
-
-Thu Jan 28 17:40:14 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure, Makefile.am: Updated to Autoconf 2.65 and Automake 1.11.1,
- libsigsegv 2.8.
-
-Thu Jan 21 23:24:56 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pprint): Separate out code for Node_switch_body and only
- print the lnode; avoids printing the default case twice. Thanks to
- Hermann Peifer <peifer@gmx.eu> for reporting the bug.
-
-Sun Jan 3 21:03:01 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Added casts as needed to silence warnings about
- signedness of pointers from GCC 4.x.
-
-Fri Jan 1 11:41:50 2010 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): At pr_tail, remember to take the precision
- into account when determining how many characters to copy out.
- Thanks to tczy <cy@wre.ath.cx> for the bug report.
-
-Tue Dec 8 12:29:30 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac, awk.h: Remove use of <signum.h> header file.
-
-Mon Dec 7 15:25:02 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Use <= and >= in the comparisons with
- LONG_xxx instead of < and > so that things work correctly on systems
- with 64 bit integers. Thanks to Stephen Davies for pointing out
- the problem.
-
-Sat Nov 21 23:14:59 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): If there is not an actual thousands
- separator character, don't let `quote_flag' have an effect. Fixes
- test failure on Solaris 10, which bizarrely says to use the
- thousands separator character every three digits, but then doesn't
- actually supply one. Thanks to Nelson Beebe for the initial
- report.
-
-Mon Nov 16 22:27:44 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (getnode): If MPROF wrap body in parentheses; remove
- incorrect trailing semicolon.
- * bisonfix.awk: Convert "y.tab.c" to "awkgram.c" for those rare
- instances where we need to use a debugger on the parser so
- that gdb will find the right source file.
-
-2009-10-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * io.c (iop_open): Set errno when rejecting a directory.
-
-Tue Oct 20 22:48:14 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (constant_fold): Fix check for two strings to look
- at `right->flags'. Fix division code to check for division by
- zero first. Thanks to Stephen Davies <scldad@sdc.com.au>
- for both.
-
-Fri Oct 16 08:41:29 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): Do the close-on-exec setting before
- attempt to get a FILE *. Thanks to Andreas Schwab.
-
-Wed Oct 14 23:25:47 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): When opening a file, set the close-on-exec flag.
- Thanks to Chris Pearson <kermit4@gmail.com> for the bug report.
-
-Tue Oct 6 21:07:23 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): When an option requires an argument and we print a
- message, call `usage' and exit.
-
- Fix all calls to `usage' to use EXIT_FAILURE and EXIT_SUCCESS
- instead of 1 and 0.
-
-Sun Oct 4 21:46:11 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Don't reset argv[0] to myname. In call
- to `init_args', pass argv[0] if do_posix. Based on
- Fedora bug report.
-
-Sun Oct 4 18:45:06 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): In lint warning, don't clobber
- the character at the end of the subscript; instead use the
- length to limit the number of characters printed. Thanks to
- Nick Hobson <nick.hobson@yahoo.com>.
-
-Sun Aug 30 22:40:12 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_length): Handle the case where Node_var_new
- was passed in as a parameter via a function call parameter.
- Thanks to Greg Johnson <gregfjohnson@yahoo.com> for reporting
- the bug.
-
-Tue Aug 11 19:23:51 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (parenthesize_expr): New function.
- (tree_eval): Use it for Node_and and Node_or. Thanks to
- Hermann Peifer <peifer@gmx.eu> for reporting the bug.
-
-Tue Aug 4 06:04:23 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): zero_flag does not apply to
- %c and %s conversions. Thanks to Mike Brennan and Thomas Dickey
- for the bug report.
-
-Tue Jul 21 22:28:56 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.7: Release tar file made.
-
-Fri Jul 17 08:35:10 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.c: Rebuilt with current Bison (2.4.1).
-
-Thu Jul 9 22:55:17 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * (NEWS README array.c awk.h awkgram.y builtin.c configure
- configure.ac custom.h dfa.c ext.c field.c floatcomp.c io.c
- main.c node.c profile.c re.c replace.c): Update copyrights
- and other prep for a release.
-
-Thu Jul 9 22:20:04 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (init_locale): New function to make a deep copy of the
- struct lconv. Thanks to KIMURA Koichi <kimura.koichi@canon.co.jp>
- for the info.
- * eval.c (r_tree_eval): Further improve Node_assign_concat code to
- temporarily to keep reference counts correct and to get the
- desired behavior.
-
-Mon Jul 6 20:29:12 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * floatmagic.h: Remove @ signs copied from Texinfo.
- It would help if I were more awake.
-
-Sat Jul 4 21:55:18 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am (base_sources): Add floatmagic.h so it'll
- go into the tar ball.
-
-Fri Jul 3 13:47:36 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (is_scalar): Add Node_func_call to list.
- (pp_concat): Make logic smarter for tree created by Node_assign_concat.
-
-Fri Jul 3 13:01:49 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (optimize_concat): New function that applies
- Node_assign_concat more generally.
- * eval.c (r_tree_eval): Improve Node_assign_concat code to temporarily
- increase the stref on `l' to avoid side effects during evaluation of
- `r'. This makes test/nasty.awk work. Ouch.
-
-Tue Jun 30 22:10:37 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * floatmagic.h: New file.
- * builtin.c (format_tree): Use functions defined in floatmagic.h.
-
-Tue Jun 30 21:57:47 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac, Makefile.am: Add new --disable-libsigsegv command line
- option to configure.
- (LIBSIGSEGV, SEGVINCLUDE, SEGVSUBDIR): New variables that will be empty
- if libsigsegv is disabled so nothing will happen, and that will have the
- right values otherwise. They are then substituted into the Makefile.
-
-Wed Jun 24 23:00:10 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * bootstrap.sh: Revised. Now works again. We think. (CVS-only file)
-
-Wed Jun 24 21:57:30 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h: Move z/OS EXIT_FAILURE definition from here to ...
- * awk.h: Here. Define at end after regular definition.
-
-Thu Jun 18 06:17:38 2009 Scott Deifik <scottd@amgen.com>
-
- * awk.h: Don't define HAVE_SIGSEGV_H for DJGPP.
-
-Thu Jun 18 05:38:42 2009 Dave Pitts <dpitts@cozx.com>
-
- * custom.h: Changes needed for z/OS.
-
-Wed Jun 10 08:22:53 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (parse_escape): Add a lint warning if \x.. has more than two
- hex digits.
-
-2009-06-08 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
-
-Mon Jun 8 22:13:49 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Update to Autoconf 2.63, Automake 1.11, Libtool 2.2.6a
-
- * ltmain.sh: New file.
- * configure.ac: Changes to keep infrastructure tools happy.
- * alocal.m4, configure: Regenerated.
- * Makefile.in, */Makefile.in: Regenerated.
-
-Mon Jun 8 07:43:25 2009 John DuBois <spcecdt@armory.com>
-
- * builtin.c (mbc_byte_count, mbc_char_count): Make sure all declarations
- come before executable code, for older compilers.
- * dfa.c (insert): Ditto.
- * io.c (devoopen): Ditto.
-
-Thu May 21 21:11:44 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Add simple constant folding.
-
- * awk.h (do_optimize): New declaration.
- (calc_exp): Add declaration.
- * eval.c (calc_exp): Make non-static.
- * main.c (do_optimize): New variable.
- (opttab): Add new entry for --optimize.
- (main): Add 'O' to optlist and code for argument parsing.
- (usage): Update for new option.
- * awkgram.y (Node_concat, Node_exp, Node_times, Node_quotient, Node_mod,
- Node_plus, Node_minus): Call `constant_fold' to create the node in
- the tree.
- (constant_fold): New function.
-
-Fri May 15 16:02:01 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (getnode): For MPROF: Fix a typo.
-
-Fri May 15 14:10:44 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Function arguments cannot be reserved variable names, per POSIX.
-
- * main.c (struct varinit): Add flags member.
- (varinit): Add values for flags member (one or both of NON_STANDARD
- or NO_INSTALL). Add entries for the rest of the gawk variables and
- sort them, so that the table can be searched by ...
- (is_std_var): New routine to see if a name is a standard variable.
- * awk.h (is_std_var): Add declaration.
- * awkgram.y (func_install): Use new routine and issue error.
-
-Wed Apr 22 07:42:05 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): In code for handling \<dig> replacements,
- first make sure that <dig> is within the range of parentheses sets
- given, and then make sure that the subpattern start is not -1, meaning
- that something actually matched. Thanks to Martin Olsson
- <mnemo@minimum.se> for the bug report.
- (do_length): Add a lint warning if `length' is passed an untyped
- argument.
-
-Thu Apr 16 22:59:32 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (func_call): Save nloops_active; if after function returns
- the actual nloops_active is greater than the saved value, it means
- there was a return inside the loop body, so pop off the necessary
- number of loops. Bug reported by Aleksey Cheusov <a.cheusov@gmail.com>.
- Gawk was not leaking memory - that is, things were still pointed
- to, but memory use could keep on growing.
-
-Fri Mar 27 10:59:11 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): Add lint warnings for fieldwidth and/or
- precision in %%, and add lint warning for unknown format specifier
- (e.g. %b). Thanks to "joanes.polus" <joanes.polus@laposte.net> for
- the report.
-
-Wed Mar 18 18:15:41 2009 Pat Rankin <rankin@pactechdata.com>
-
- * awk.h (EXIT_SUCCESS, EXIT_FAILURE): Move VMS-specific values
- to vms/vms-conf.h.
- (EXIT_FATAL): Define here instead of in msg.c.
- * msg.c (EXIT_FATAL): Move definition to awk.h.
-
-Mon Mar 16 18:58:09 2009 Pat Rankin <rankin@pactechdata.com>
-
- * main.c [#if HAVE_SIGSEGV_H]: For the #else case (VMS),
- (stackoverflow_context_t): Dummy typedef for use in prototypes;
- (stackoverflow_install_handler): Make macro expand to 0 rather
- than nothing so that (void) cast on invocation of it works.
-
- * main.c (catchstackoverflow): Don't return 0 from void function.
-
-Wed Feb 25 21:34:14 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (tokentab): Have only one copy of BEGIN / END.
- (tokcompare): New function.
- (check_special): Sort tokentab for EBCDIC systems.
-
-Sun Feb 15 22:39:30 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pp_delete): Print tree->exec_count to actually get
- the value printed. Thanks to Hermann Peifer <peifer@gmx.eu>
- for reporting the bug.
-
-Thu Feb 12 21:54:34 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: Change to use EXIT_FAILURE.
- * msg.c [EXIT_FATAL]: New macro.
- * msg.c (r_fatal): Change to use EXIT_FATAL.
- Thanks to Pat Rankin for pointing these out.
- * re.c (reflags2str): Account for RE_SYNTAX_EMACS.
- * awk.h: If not VMS, define HAVE_SIGSEGV_H.
- * main.c: Check HAVE_SIGSEGV_H before including <sigsegv.h>. If not
- there, define dummy macros.
- (catchsegv, catchstackoverflow): Remove unneeded comment. Add return 0
- for compilers that care.
-
-Mon Feb 9 05:24:52 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [CONST]: Renamed CONSTANT to avoid conflict with libsigsegv
- on Windows.
- * awkgram.y, field.c, re.c: Update all uses.
-
-Tue Feb 3 22:46:59 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (do_close): Wrap updating of ERRNO in check for not
- do_traditional.
-
-Sat Jan 31 23:14:00 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): For '%s', don't count the multibyte
- characters if we are just copying all the characters. Gives
- big speedup. Thanks to Hirofumi Saito <hi_saito@yk.rim.or.jp>
- for reporting the problem.
-
-Thu Jan 29 21:14:30 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (parse_field, re_parse_field, def_parse_field,
- posix_def_parse_field, null_parse_field, sc_parse_field,
- fw_parse_field): Add new last arg `in_middle'. Ignored by all
- except re_parse_field.
- (re_parse_field): Enhance logic to only allow ^ in a regex to match
- if indeed at the beginning of a record.
- (getfield): Adjust call to parse_field.
-
-Tue Jan 27 21:42:47 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes suggested by Toni Schilling <Schilling@equicon.de>,
- as modified by feedback from Pat Rankin, and some help
- from me.
-
- * awk.h [WEXITSTATUS]: Improve definition for MSC and VMS.
- [EXIT_SUCCESS, EXIT_FAILURE]: Define if they aren't.
- * io.c, main.c, profile.c: Switch to using EXIT_xxx instead of
- 0 and 1.
- (main): Use constants instead of 0/1 for exit_val variable.
- * eval.c (interpret): Map exit value from `exit' statement into
- success / fail constants for VMS for exit_val variable.
-
-Tue Jan 20 07:35:34 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.h: Define __USE_GNU if not _LIBC; needed for non-GLIBC
- systems such as, oh say, Mac OS X.
-
-Tue Jan 13 09:23:40 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.c, regex_internal.h: Remove some changes that are no
- longer needed after sync with GLIBC.
-
-Mon Jan 12 22:27:10 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- Bi-annual sync with GLIBC.
-
- * regexec.c, regex.h, regex_internal.c, regcomp.c, regex_internal.h,
- regex.c: Reapply any portability patches specific to gawk.
- * getopt.c: Sync with GLIBC.
-
- Base versions:
- getopt.c 1.57 Thu Jan 8 20:02:05 2009
- getopt.h 1.21 Fri Mar 19 00:19:32 2004
- getopt1.c 1.10 Tue Mar 9 10:35:37 2004
- getopt_int.h 1.1 Tue Mar 9 10:31:19 2004
- regex.c 1.129 Tue Sep 6 20:49:44 2005
- regexec.c 1.99 Thu Jan 8 20:02:06 2009
- regexec.c 1.99 Thu Jan 8 20:02:06 2009
- regex.h 1.43 Wed Jan 16 10:09:47 2008
- regex_internal.c 1.69 Thu Jan 8 20:02:06 2009
- regex_internal.h 1.76 Thu Jan 8 20:02:06 2009
- regcomp.c 1.120 Thu Jan 8 20:02:06 2009
-
-Mon Jan 5 23:07:58 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (devopen): Add a retry to calls to socketopen. Tunable
- via undocumented GAWK_SOCK_RETRIES environment variable. Based
- on code from Juergen Kahrs <Juergen.Kahrs@vr-web.de> after a
- suggestion from Hermann Peifer <peifer@gmx.eu>.
-
-Mon Jan 5 22:48:39 2009 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): A getline from a directory is no longer
- fatal; instead it returns -1. Thanks to Paolo <oopla@users.sf.net>
- for the report.
-
-Mon Dec 29 22:04:57 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): Case for 's', improve logic for setting
- the number of characters to copy, also at pr_tail. Based on
- bug report by Hermann Peifer <peifer@gmx.net>.
-
-Thu Dec 11 21:23:50 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_length): If the wide string has zero length
- but the bytes are more than zero, use the number of bytes.
- (do_index): Similar also: fall back to byte count if the
- bytes don't make a wide-character string.
- Bug reported by "Carlos G." <charlie.brown.uy@gmail.com>
-
- (do_substr): If defaulting to length of rest of the string,
- do it based on the wide char string if it's valid.
-
-Fri Dec 5 11:12:11 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (free_rp): New function.
- (redirect): Improved logic for yesterday's change, including
- use of free_rp.
- (close_redir): Use free_rp.
-
-Thu Dec 4 22:35:05 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): Only put the new struct redirect into
- the list if the file or pipe could actually be opened. Fixes
- a bug with the wrong return value of close, noticed by
- Seb <sbb@tuxfamily.org>.
- * dfa.c (parse_bracket_exp_mb): Don't zero out work_mbc->chars
- after we malloc'ed it. Fixes a leak found by valgrind when
- using UTF-8. (Hmmm. This got fixed in January 2007; It seems
- to have crept back into the code in the August 2007 merge with
- GNU grep. Sigh.)
-
-Mon Oct 20 11:47:59 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add -g3 and -gdwarf-2 to CFLAGS if compiling with
- GCC and doing development. Should have done this ages ago.
-
-Sun Aug 31 22:03:55 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Tighten up the code even more so
- that it matches the documentation.
-
-Mon Aug 25 22:41:47 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Tighten up the code to only allow
- certain reasonable values when setting BINMODE.
-
-Fri Aug 22 14:43:49 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (nextfile): Users Strong In The Ways Of The Source can use
- non-existant files on the command line without it being a fatal error.
-
-Wed Jul 30 23:10:51 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (research): Don't ever use DFA if need_start. It can
- break on some weird cases. Reported by
- "T. X. G." <leopardie333@yahoo.com>.
-
-Wed Jul 30 22:27:20 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_match): Add MAYBE_NUM flag to elements of array
- created by `match' since data could come from user. Similar
- semantics to `split'. Thanks to Dr. Dirk Zimoch <dirk.zimoch@psi.ch>
- for reporting the bug.
-
-Tue Jun 24 07:44:06 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (insert): Reworked for significant speed improvement
- by Johan Walles <johan.walles@gmail.com>. Imported from grep
- bug list.
- * profile.c (tree_eval): Do a return after all the built-in
- variables instead of a break. Thanks again to Hermann Peifer
- <peifer@gmx.eu> for finding the problem.
-
-Sun Jun 22 23:08:14 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Restore old code to use %ld when the value
- is within the range of a long; improves performance noticably for
- applications that convert integers to strings. Use %.0f only for
- integral values that are outside the range of a long. Thanks to
- Hermann Peifer <peifer@gmx.eu> for pointing out the existence
- of a problem.
-
-Fri May 23 12:08:24 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (epsclosure): Change type of `visited' from int to char for
- potential speedup. Based on bug report to bug-grep list from
- Johan Walles <johan.walles@gmail.com>.
-
-Wed May 14 05:55:48 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): For `%c' case, add a lint warning
- if the value is greater than 255.
- (mbc_byte_count, mbc_char_count): Remove unused variable `i'.
-
-Thu Apr 24 20:31:03 2008 Bruno Haible <bruno@clisp.org>
-
- * main.c (main): Move call to catch SIGBUS to before installation of
- libsigsegv handler, since on some systems libsigsegv installs its
- own handler for SIGBUS.
- [STACK_SIZE]: Add a constant instead of inline. ADR.
-
-Wed Apr 23 22:30:27 2008 Duncan Moore <duncan.m00re@btinternet.com>
-
- * builtin.c (state): Do as an integer array for systems that need it.
- (do_rand, init_rand): Modify call to `initstate' as needed.
-
-Wed Apr 23 22:22:06 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (prednames): Add an extra zero to final initializer to
- silence a compiler warning. Reported by Duncan Moore
- <duncan.m00re@btinternet.com>.
-
-Wed Apr 23 21:36:06 2008 Steffen Schuler <schuler.steffen@googlemail.com>
-
- * field.c (fw_parse_field): Add code for multibyte case.
-
-Sat Mar 15 22:17:21 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_length): Handle the case of the parameter being
- an array that was a function parameter.
-
-Tue Mar 11 22:49:11 2008 Kimura Koichi <kimura.koichi@canon.co.jp>
-
- * builtin.c (format_tree): Fix call to mbc_byte_count to pass the
- right number of characters based on the format type.
-
-Tue Mar 11 22:31:58 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * libsigsegv: Incorporated into the dist.
- * Makefile.am (SUBDIRS): Added. Make it first so that the library
- is built before gawk is.
- (LDADD): Add the library.
- (AM_CPPFLAGS): Add -I option to find <sigsegv.h> header.
- * configure.ac: Add call to AC_CONFIG_SUBDIRS for libsigsegv.
- * main.c (catchsegv, catchstackoverflow): New functions.
- (main): Call into sigsegv library with them.
-
-Tue Mar 4 21:02:25 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (mbc_char_count, mbc_byte_count): New functions to return
- the number of m.b. chars there are and the number of bytes needed to
- copy them.
- (format_tree): Use them for %s and %c cases to adjust precision and
- for copying characters at pr_tail label.
-
-Thu Feb 14 14:05:01 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (init_args): Adjust type of third arg to remove warning from
- GCC 4.2, add cast in call to make_string. Bleah.
-
-Fri Jan 25 12:13:39 2008 Dave Pitts <dpitts@cozx.com>
-
- * README_d/README.zos: New file.
- * Makefile.am: Add sed on y.tab.c to convert older Bison "parse error"
- messages to "syntax error" messages.
- * configure.ac: Added ZOS_USS changes.
- * m4/arch.m4: Added ZOS_USS changes.
- * m4/inttypes_h.m4: Added ZOS_USS changes.
- * m4/inttypes.m4: Added ZOS_USS changes.
- * m4/stdint_h.m4: Added ZOS_USS changes.
- * awkgram.y: Added USE_EBCDIC changes for EBCDIC collating sequence.
- * awk.h: Added ZOS_USS compile changes.
- * eval.c: Added EBCDIC casetable and ZOS_USS changes.
- * regcomp.c: Added btowc function for ZOS_USS.
- * regex.h: Changed __string to __cstring to avoid ZOS_USS header usage.
- * regex_internal.h: Added ZOS_USS changes and type defines.
-
-Sun Jan 13 08:16:38 2008 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (epsclosure): Replace MALLOC + zero-out-loop with CALLOC for
- large potential speedup, based on bug report to bug-grep list from
- Johan Walles <johan.walles@gmail.com>.
- (dfaanalyze): Made a similar change.
-
-Fri Dec 21 11:22:16 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pprint): Add a missing `#ifdef PROFILING'.
-
-Thu Dec 13 22:19:19 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (parenthesize): Remove "!" from output string.
- (tree_eval): Fix quotes for delete array case.
- (pp_var): New function, call it as appropriate everywhere else.
-
-Fri Nov 30 11:11:52 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Use NULL as first argument to `getaddrinfo'
- if any_remote_host is true. Should help on Non-GLIBC systems.
-
-Thu Nov 15 22:01:36 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (two_way_open): Case for ptys. Change search for letters
- to avoid ASCII / EBCDIC problems.
-
-Mon Oct 22 08:49:05 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.6: Release tar file made.
-
-Sun Oct 14 23:19:12 2007 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am: Avoid GNU make-specific `make -C'.
-
-Sun Oct 14 19:37:01 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add check for `atexit', needed by replacement
- version of `snprintf'.
-
-Sun Sep 30 21:50:59 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Rationalize locale's influence on %'g, strtonum, and input.
-
- * awk.h (use_lc_numeric): Add declaration.
- * builtin.c (format_tree): Add check for quote_flag and set
- LC_NUMERIC so that The Right Thing gets done, then reset it.
- (do_strtonum): Pass use_lc_numeric as second arg to isnondecimal.
- * main.c (main): Have do_posix set use_lc_numeric also.
-
-Thu Sep 27 21:36:23 2007 Stepan Kasal <skasal@redhat.com>
-
- * configure.ac: Do not instantiate version.c; remove the hack
- to keep version.c from being removed upon `make distclean'.
- * Makefile.am (version.c): New rule.
- (.c.i, SUFFIXES): Remove, `.i' is unused.
- (MAINTAINERCLEANFILES): Remove awkgram.c; Automake takes care of that.
-
-Wed Sep 26 14:40:13 2007 Eli Zaretskii <eliz@gnu.org>
-
- * builtin.c (format_tree): Handle non-standard snprintf that
- returns a negative value when the buffer is too small.
-
-Tue Sep 25 23:27:41 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * ChangeLog: Removed all leading spaces. Fixed up formatting of
- entries to have capital letter after the colon. Fixed a number of
- entries to have the '*' in the right place. ASCII instead of ascii.
- Capitalize Linux. (Is this anal-retentive or what? Sheesh.)
-
-Tue Sep 25 08:24:11 2007 KIMURA Koichi <kimura.koichi@canon.co.jp>
-
- * awk.h: Add include of <io.h> for Visual Studio.
- * regex_internal.h: Do the right thing for replacing alloca.
-
-Sat Sep 22 23:26:27 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_FIELDWIDTHS): Restore behavior of 3.1.4 that allowed
- FIELDWIDTHS to be "" without crashing, and such a value has NF = 0.
- Yet Another Dark Corner. Thanks to Glenn Zazulia <gnu@t1.zazu.com>
- for pointing out the problem.
-
- Unrelated:
-
- * builtin.c (format_free): Make `quote_flag' not sticky. Thanks to
- Ulrich Drepper for pointing this out.
- * main.c (main): Adjust calls to `setlocale' and `localeconv' so that
- the %'d flag will work even if not using the locale's decimal point.
-
-Thu Sep 20 21:02:41 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (hash, awk_hash, gst_hash_string): Add fourth argument
- pointer to retrieve code. Only assign a value if not NULL.
- Fix most places to pass NULL for fourth argument.
- (assoc_lookup): Save the code in the node for use in growing the
- array later.
- (grow_table): Use the saved code instead of recomputing each time.
- * awk.h (NODE hash): Add `code' member and `ahcode' macro.
- (hash): Revise declaration.
- * awkgram.y: Revise calls to `hash'.
-
-Tue Aug 21 17:47:07 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (copyleft): Cite version 3 of the license.
- * dfa.c: Minor edits to sync with grep 2.5.3.
-
-Sat Aug 11 22:48:11 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * COPYING: Replaced with GPL 3.
- * All other relevent files: Upgraded to GPL 3.
-
-Fri Aug 3 15:01:38 2007 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- * builtin.c (format_tree): Free `obuf' before call to `fatal'
- to keep valgrind happy.
-
-Mon Jun 4 01:12:21 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * All relevant files: Updated copyright year to 2007.
-
-Mon May 28 08:06:15 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (use_lc_numeric): New variable, true for new
- option `--use-lc-numeric'.
- (optab): Add option "use-lc-numeric".
- (usage): Add to usage message.
- (main): Allow the --use-lc-numeric option to also use the
- local decimal point.
-
-Fri May 18 16:26:00 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (_TANDME_SOURCE): Add test for ! _SCO_DS for
- SCO systems. Thanks to John DuBois <spcecdt@armory.com>
-
-Tue May 15 13:14:04 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- General capability suggested by Michael May <mmlpz@t-online.de>.
-
- * configure.ac: New option --disable-directories-fatal. Makes gawk
- silently skip directories on the command line.
- * io.c (iop_open): Add fourth parameter, pointer to flag which is set
- to true if the file is a directory. In this case, close the fd and
- return NULL.
- (nextfile): Modify call to iop_open. Add logic to check for directory
- and skip if --disable-directories-fatal was used. If the configure flag
- was not used, then if do_traditional also skip.
- (redirect): Modify call to iop_open and call fatal if isdir is true.
-
-Mon May 7 14:51:54 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * POSIX.STD: Updated.
-
-Wed May 2 19:29:56 2007 Stepan Kasal <kasal@ucw.cz>
-
- Revert precedence of concatenation and | getline.
- From mail dated 2005-10-31.
-
- * awkgram.y (common_exp): Move the two rules for naked regexp and
- the rule for "(...) in arr" to ...
- (non_post_simp_exp): ... here ...
- (simp_exp): ... and here, respectively. Fixes test/parsefld.awk/.
- (simp_exp_nc): New nonterminal, needed to fix the
- precedence of concatenation over "|getline".
- (common_exp): Can also start with simp_exp_nc.
-
-Tue May 1 19:53:11 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Work around problem with /ab{0}c/.
- * dfa.h (struct dfa): Add member `broken'.
- * dfa.c (dfainit): Initialize it to false.
- (lex): Set it if `minrep == maxrep && minrep == 0'.
- * re.c (avoid_dfa): Check flag and return TRUE if set.
-
-Tue May 1 05:34:53 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add calls to AM_LANGINFO_CODESET, and gt_LC_MESSAGES.
- Thanks to Matthew Burgess <matthew@linuxfromscratch.org>.
-
-Sun Apr 29 22:55:12 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (utf8_sb_map): Remove const if not __GNUC__ >= 3.
- * regex_internal.h (re_dfa_t): Bracket bizarre macro call with
- check for _LIBC.
- Thanks to Nelson Beebe for finding both problems.
-
-Sun Apr 29 13:10:31 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_strftime): Add optional third argument to strftime()
- which if non-zero or non-null means to use UTC.
- * awkgram.y (tokentab): Allow three arguments to strftime.
-
-Fri Apr 27 11:44:27 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * README.cvs, bootstrap.sh: Added to CVS archive, not for
- inclusion in tarballs.
-
-Fri Apr 20 16:48:30 2007 Pat Rankin <rankin@pactechdata.com>
-
- * awk.h: Move inclusion of redirect.h before HAVE_func blocks.
-
-Tue Apr 24 21:55:36 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (research): In the multibyte case, fall back to the full
- matcher if need_start, since there are bugs in the dfa matcher
- in some obscure cases. Sigh.
- * builtin.c (format_tree): When using %.0f instead of %d, assert
- that we're not malloc-ing zero.
-
-Tue Apr 17 21:51:40 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Portability fixes for lsbcc from Nelson Beebe.
-
- * configure.ac: Check for stddef.h header.
- * regex.h: Use check and include header to get size_t definition.
- * main.c: Update UPDATE_YEAR, add #ifdef for HAVE_MTRACE.
-
-Tue Apr 17 13:49:13 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add test for struct sockaddr_storage.
- * io.c: Add macro to redefine sockaddr_storage as sockaddr.
-
-Tue Apr 17 05:45:19 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Make it static, to match declaration at the
- top of the file. (Thank you GCC for not reporting this. Grr.)
-
-Fri Apr 13 00:29:24 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * replace.c: Only include missing/getaddrinfo.c if HAVE_SOCKETS
- is defined. Avoids problems on VMS. Thanks to Pat Rankin.
-
-Tue Apr 10 18:53:04 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y, builtin.c, eval.c, ext.c, field.c, io.c,
- node.c: Added some sanity to the lint warnings, to only
- print them once if they are syntactic or of the type where
- they don't need to be repeated. Switch to `short' instead
- of `int', and in general use a variable named `warned', for
- consistency.
-
-Sun Apr 8 16:49:28 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: Add guard code to ifdef out "signed" for VMS. Thanks for
- the heads-up to Pat Rankin.
- * regcomp.c (utf8_sb_map, init_dfa): Move non-GCC code to initialize
- this array into code, to preserve word-size independance.
- * configure.ac: Add check for <arpa/inet.h>.
- * io.c: Include <arpa/inet.h> if we have it, instead of keyed off
- Tandem, needed on some Unix systems.
- * awk.h, main.c, msg.c, awkgram.y: Move to use of CAN_USE_STDARG_H
- instead of continuously repeating check for header and defined STDC
- and STDC. Thanks to Pat Rankin.
-
-Fri Apr 6 15:28:09 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_length): Only print `length(array)' lint warning once.
- * node.c (dump_wstr): Restore from being ifdef'ed out. Useful in case
- it needs to be called from a debugger.
- * regcomp.c (utf8_sb_map): Fix gcc-specific code.
- * awk.h (snprintf): Add declaration in case not available on the system.
- (Ceil, Floor): Add macros changing the name for VMS, in an attempt to
- fix linkage problems.
- * io.c: Simplify includes for internet headers and for getaddrinfo
- defines.
-
-Wed Apr 4 23:38:24 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c [AI_ADDRCONFIG]: Add a definition in case it's not available.
- * main.c (usage): Add comment for translators to add translation
- bug report address.
-
-Wed Apr 4 18:26:45 2007 Pat Rankin <rankin@pactechdata.com>
-
- * regexec.c (build_trtrable): Add missing #if HAVE_ALLOCA.
-
-Thu Mar 29 19:30:20 2007 Pat Rankin <rankin@pactechdata.com>
-
- * re.c (make_regexp): Cast casetable to RE_TRANSLATE_TYPE.
-
-Mon Mar 19 12:35:00 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Finish removing references to STRTOD_NOT_C89.
-
- * awk.h (gawk_strtod): Use now if there is no strtod.
- * replace.c (strtod.c): Include if there is no strtod.
- * configure.ac [GAWK_AC_FUNC_STRTOD_C89]: Removed.
-
-Mon Mar 19 12:17:16 2007 Kimura Koichi <kimura.koichi@canon.co.jp>
-
- * dfa.c (dfaexec): Add check for half-width katakana characters in
- character classes in ShiftJIS locale.
- From mail originally sent Mon, 01 Aug 2005 09:07:55 +0900
-
-Fri Mar 9 11:53:25 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (rebuild_record): Assert that wide string is off when
- creating new fields. Inspired by Karel Zak.
-
-Fri Mar 9 11:26:01 2007 Matthew Woehlke <mwoehlke@tibco.com>
-
- * io.c (get_a_record): Limit the max amount read to SSIZE_MAX. Needed
- on Tandem systems where this amount is incredibly small.
-
-Tue Mar 6 08:17:49 2007 Paul Eggert <eggert@cs.ucla.edu>
-
- * node.c (is_ieee_magic_val): Don't rely on strncasecmp; it mishandles
- ASCII bytes in some locales.
- (get_ieee_magic_val): Use strtod if it works, relying on our handbuilt
- code only if it doesn't work. This is more likely to do the right
- thing with strings like "-nan".
-
-Tue Feb 27 20:51:29 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac (AM_PROG_CC_STDC): Removed, per email suggestion
- from Stepan Kasal some time ago.
-
-Tue Feb 27 20:44:07 2007 Aleksey Cheusov <vle@gmx.net>
-
- * awk.h: Revise checks for MEMCPY_ULONG and MEMSET_ULONG
- for MS Interix using MSVC.
- * configure.ac (AC_CHECK_FUNCS): Add checks for memcopy_ulong
- and memset_ulong.
- From mail dated Tue Aug 30 12:38:39 2005.
-
-Mon Feb 26 12:47:10 2007 Tony Leneis <tleneis@cvrreg.com>
-
- * dfa.c (dfacomp): Check that regexp is non-zero in length
- also. Avoids problems with empty regex and IGNORECASE on
- systems where `malloc(0)' returns a non-NULL pointer.
- From mail dated Wed, 26 Oct 2005 15:42:07 -0700.
-
-Wed Feb 21 10:23:12 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * floatcomp.c (Floor, Ceil): Restore correct expression for Cray.
- Then ifdef out the whole business, since it's likely to be obsolete.
- Thanks to Paul Eggert.
-
-Mon Feb 19 12:28:47 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Simplify code: always format the value
- ourselves. Use %.0f if the value is integral.
- * floatcomp.c (dval_out_of_range): Remove function, not needed.
- (awknum_fraction_bits): Removed.
- (adjust_uint): New function, defined IFF have uintmax_t.
- * builtin.c (tmp_integer): Use adjust_uint.
- Move include of <inttypes.h> and <stdint.h> ...
- * awk.h: to here.
- (awknum_fraction_bits): Removed.
- (adjust_uint): Declare, or define as do-nothing macro.
-
-Sun Feb 18 17:43:33 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c, floatcomp.c: Add include of <math.h> to get
- correct declarations of math functions.
- * configure.ac: If doing development, add -DYYDEBUG and also
- -fno-builtin for GCC.
-
-Wed Feb 14 19:42:08 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Add support for special infinity and NaN values in non-POSIX
- mode, and in POSIX mode, just call system `strtod'.
-
- * configure.ac [GAWK_AC_FUNC_STRTOD_C89]: Comment out.
- * node.c (is_ieee_magic_val, get_ieee_magic_val): New functions.
- (r_force_number): Adapt logic and use new functions.
-
-Tue Feb 13 13:02:32 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Move Paul's numeric stuff to a separate file to make code cleaner.
-
- * floatcomp.c (awknum_fraction_bits): New variable.
- (Floor, Ceil): Functions, moved here from macros in builtin.c.
- (dval_out_of_range): New function for checking if double is in range
- of long.
- (FLT_RADIX, FLT_MANT_DIG, DBL_MANT_DIG, AWKSMALL_MANT_DIG,
- AWKNUM_MANT_DIG, AWKNUM_FRACTION_BITS): Moved here from awk.h.
- * awk.h: Add decls of stuff now in floatcomp.c.
- * Makefile.am[base_sources]: Add floatcomp.c.
- * builtin.c (tmp_integer): Refer to `awknum_fraction_bits'
- instead of AWKNUM_FRACTION_BITS.
- * node.c (format_val): Call `dval_out_of_range' instead of
- inline coding the test.
-
-2007-02-06 Paul Eggert <eggert@cs.ucla.edu>
-
- * node.c (format_val): Fix bug when handling numbers close to
- LONG_MIN and LONG_MAX.
- * awk.h (FLT_RADIX, FLT_MANT_DIG, DBL_MANT_DIG, AWKSMALL_MANT_DIG,
- AWKNUM_MANT_DIG, AWKNUM_FRACTION_BITS): Moved here from builtin.c.
- * builtin.c: Move those macros to awk.h.
- * awk.h (DBL_FRACTION_BITS): New macro.
-
-Fri Feb 9 13:40:10 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
-
- More Tandem fixes.
-
- * configure.ac: Check in Tandem's zrldsrl library for dlopen.
- * regex_internal.h: Move <alloca.h> include into ifdef.
- * regexec.c: Bracket alloca uses. Fix GCC use of `?:'.
-
-Fri Feb 9 13:30:15 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * replace.c: Add include of snprintf.c. Ooops!
- * configure.ac: Add check for mkstemp and tmpfile for replacement
- snprintf.c.
-
-Tue Feb 6 14:33:51 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Restructure a bit to remove need for and
- use of goto.
-
-Sun Feb 4 16:35:21 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (field_spec, opt_incdec): New terminals.
- (variable): Change definition of field reference to use field_spec.
- See test/parse1.awk.
-
-Thu Feb 1 17:38:38 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c: Allow YYDEBUG to enable the `-D' option, not just
- GAWKDEBUG.
-
-Wed Jan 31 19:30:26 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Restore my test for numeric values
- being representable, as it includes more conditions than
- Andrew's, pending a thorough review of undealt-with emails on
- the topic.
- * regexec.c (proceed_next_node): Move check for NULL to after
- variable declarations inside initial `if'.
-
-Wed Jan 31 19:25:21 2007 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- * configure.ac (getaddrinfo): Improve test, since this function
- can be in libsocket on some systems.
-
-Mon Jan 29 15:33:10 2007 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- * Makefile.am (valgrind): Also call new valgrind-scan target.
-
-Mon Jan 29 12:44:54 2007 Andreas Schwab <schwab@suse.de>
-
- * dfa.c (copytoks): Adjust index into multibyte csets when
- copying an MBCSET token.
-
-Fri Jan 26 20:01:38 2007 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- * node.c (format_val): Test whether a numeric value is integral
- simply by converting it to long and then back again, and checking
- if the value matches. That's more robust than trying to test
- whether the floating-point value is representable as a long.
- * builtin.c (format_tree): Fix buffer overflow bug, off-by-one errors
- in checking snprintf return codes, and use "%.0f" to implement "%d"
- formatting. For octal or hex formatting, test whether the value
- is integral by trying to convert back to floating point and seeing
- if the value matches. This is more robust than trying to test
- whether the floating-point value is representable as an integer.
-
-Tue Jan 23 17:49:28 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Initialize socketfd to avoid "may be used
- uninitialized" warning.
- * regexec.c (regexec, re_search_stub): Removed unused variable `dfa'.
- * builtin.c (wide_tolower_toupper): Fix signedness of pointer in
- allocation calls and in call to make_str_node.
-
-Mon Jan 22 12:57:19 2007 Kimura Koichi <kimura.koichi@canon.co.jp>
-
- Deal with halfwidth katakana in SJIS locale inside character ranges.
- Based on http://sources.redhat.com/bugzilla/show_bug.cgi?id=1149.
- Changes affect non-__LIBC code only.
-
- * regcomp.c (re_compile_fastmap_iter): Handle half-size characters.
- * regexec.c (check_node_accept_bytes): Same.
-
-Thu Jan 18 22:19:01 2007 Karel Zak <kzak@redhat.com>
-
- * node.c (free_wstr): Assert that type is Node_val.
-
-Thu Jan 18 12:18:47 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (re_compile_fastmap_iter): Declare `dfa' to be
- be volatile. Fixes valgrind problem with the ignrcase test.
- Sheesh. Gawk should now be valgrind-clean. We hope.
-
-Mon Jan 15 14:28:04 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Use getaddrinfo instead of gethostbyname, to handle IPV6
- format addresses. Based on patch submitted by
- Jan Pazdziora <jpazdziora@redhat.com>.
-
- * configure.ac: Add getaddrinfo to list of checked functions.
- * configh.in, configure: Regenerated.
- * io.c: Rework includes based on HAVE_GETADDRINFO.
- (socketopen): Reworked for getaddrinfo.
- (devopen): Modified for new socketopen.
- * replace.c: Include getaddrinfo.c if necessary.
-
-Sun Jan 14 12:19:53 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: For bad name in array subscripting, build a
- valid node anyway to avoid invalid reads reported by valgrind.
- * dfa.c (parse_bracket_exp_mb): Remove assignment of NULL
- to work_mbc->chars, was losing data malloc'ed earlier. Thanks
- to valgrind.
- (state_index): Alway initialize d->states[i].mbps elements to zero.
- (dfafree): Free allocated d->states[i].mbps.elems if needed.
- * regex.c: Try harder to undef alloca.
- * regex_internal.h (__mempcpy): Undef before redefinining for
- more recent versions of GLIBC.
-
-Sat Jan 13 22:10:43 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (str2wstr): For count of zero from mbrtowc, set count to 1
- and fall through to code that copies. Originally from Paul Eggert.
-
- Unrelated:
- * configure.ac: Add call to AC_USE_SYSTEM_EXTENSIONS, should help
- on Tandem. This lets us remove AC_AIX and AC_MINIX.
-
- From Matthew Woehlke <mwoehlke@tibco.com> for Tandem:
-
- * awk.h (_TANDEM_SOURCE): Also define _XOPEN_SOURCE_EXTENDED.
- * io.c (_TANDEM_SOURCE): Include more headers.
-
-Sat Jan 13 21:53:48 2007 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * field.c (set_FIELDWIDTHS): Avoid writing one past the end of
- the array.
- * node.c (r_force_number): Avoid reading uninitialized variable.
-
-Sat Jan 13 21:37:15 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am (valgrind): New target based on idea from
- Ralf Wildenhues for running valgrind on test suite.
-
-Sat Jan 13 21:24:54 2007 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Enable more `--lint-old' warnings.
- * awkgram.y: Warning about multiple BEGIN or END rules,
- `index in array' outside of for loops, multidimensional arrays.
- * field.c (set_FS): Warn about regex FS.
- * node.c (parse_escape): Warn about `\b', `\f', `\r'.
-
-Sat Jan 13 20:56:56 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (wcasestrstr): Revert use of continue, reinstate goto.
- Thanks to Andrew Schorr.
- (free_wstr): Move zeroing of wsptr and wslen and clearing of flag
- back outside the if.
- * field.c (rebuild_record): In loop that copies fields to new record,
- add call to `free_wstr'. This ensures that flag values are correct
- and avoids double free later. Thanks to Karel Zak for pointing out
- the problem.
-
-Fri Jan 12 14:01:51 2007 Dmitry V. Levin <ldv@altlinux.org>
-
- * builtin.c (do_match): In addition to "gawk_mb_cur_max > 1" check,
- check for positive string length.
-
-Fri Jan 12 13:57:20 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- Sync with GLIBC. Bi-annual this time.
-
- * regexec.c, regex.h, regex_internal.c, regcomp.c:
- Reapply any portability patches specific to gawk.
- * regex_internal.h (build_wcs_upper_buffer): Fix return type
- in declaration. Reapply any portability patches specific to gawk.
- * regex.c: Add definitions for `bool', `true' and `false'.
- Define `alloca' to something invalid to keep it from linking
- in case a usage of `alloca' slipped through. Reapply any portability
- patches specific to gawk.
-
- Base versions:
- getopt1.c 1.10 Tue Mar 9 10:35:37 2004
- getopt.c 1.55 Fri Mar 24 10:59:56 2006
- getopt.h 1.21 Fri Mar 19 00:19:32 2004
- getopt_int.h 1.1 Tue Mar 9 10:31:19 2004
- regex.c 1.129 Fri Mar 24 10:59:57 2006
- regexec.c 1.97 Fri Mar 24 10:59:57 2006
- regex.h 1.40 Mon Sep 25 20:03:05 2006
- regex_internal.c 1.67 Mon Sep 25 20:03:05 2006
- regex_internal.h 1.73 Fri Mar 24 10:59:57 2006
- regcomp.c 1.112 Fri Mar 24 10:59:57 2006
-
-Fri Jan 12 12:28:51 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * ABOUT-NLS, INSTALL, Makefile.in, aclocal.m4, config.guess,
- config.rpath, config.sub, configh.in, configure, configure.ac,
- depcomp, gettext.h, install-sh, missing, mkinstalldirs, ylwrap:
- Updated to current autotools, Autoconf 2.61, Automake 1.10,
- gettext 0.16.1.
-
-Thu Jan 4 18:23:50 2007 Dmitry V. Levin <ldv@altlinux.org>
-
- * node.c (free_wstr): Zero wstptr and wstlen only if WSTRCUR
- flag is set.
- (str2wstr): Replace invalid `free' call with `free_wstr' call.
-
-Thu Jan 4 16:49:21 2007 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_match): Move freeing of wc_indices to outside if.
- Thanks to Sven Wegener <swegener@gentoo.org> for the report.
-
-Thu Dec 21 14:32:13 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (arg_assign): Reassign the '=' only if not initing.
- * profile.c (varname): Deleted.
- (pp_concat): New function to print concatenations.
- (tree_eval): Don't use `varname' anymore. Use `pp_concat'.
-
-Mon Dec 11 12:43:04 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): Clear numeric flags on result
- unconditionally.
- * node.c (wcasestr): Replace `goto' with `continue'.
-
-Thu Nov 30 15:54:07 2006 Bruno Haible <bruno@clisp.org>.
-
- * builtin.c: Change use of HAVE_LC_MESSAGES to defined(LC_MESSAGES).
- Bruno suggested only for dcngettext, I did it everywhere (ADR).
-
-Wed Sep 6 02:04:32 2006 Andrew J. Schorr <aschorr@telemetry-investments.com>
-
- * awkgram.y (get_src_buf): Adjust `source' and `sourceline' to
- correctly handle mixed -f and --source options.
-
-Mon Aug 28 21:17:20 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * AUTHORS, FUTURES, LIMITATIONS, NEWS, POSIX.STD, PROBLEMS, README:
- Added FSF copyright for no other reason than to satisfy the flunkies
- running Savannah.
- * Makefile.am: Removed `ansi2knr' from AUTOMAKE_OPTIONS also.
-
-Fri Aug 11 15:07:45 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_field, rebuild_record, set_record): Remove calls to
- `free_wstr' since they're not needed.
-
-Sat Aug 5 22:04:24 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (unref): Call `free_wstr' for fields also. Thanks to
- Andrew Schorr.
-
-Tue Jul 4 22:43:05 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (interpret): Node_assign_concat case: Turn off NUMBER and
- NUMCUR flags in result. Sheesh. Thanks to
- <Heiner.Marxen@DrB.Insel.DE> for finding the problem.
-
-Mon Jul 3 22:49:44 2006 Pat Rankin <rankin@pactechdata.com>
-
- * main.c (load_environ): When AWKPATH is missing from ENVIRON[],
- try to find it with getenv("AWKPATH") before resorting to DEFPATH.
- Suggested by Galen Tackett.
-
-Mon Jul 3 00:27:59 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (INTERNAL_HANDLE): New constant for use by `iop_alloc'
- when allocating an internal IOBUF.
- (pidopen, useropen): Use it.
- (iop_alloc): Add check for it and just return iop.
-
-Fri Jun 23 15:48:34 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (subn): At end for `do_sprintf' check, verify
- that lnode is not NULL before using it to assign through.
-
-Sun Jun 18 22:27:25 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- Repair internal names like /dev/user, /dev/pid, as well as /dev/fd/N,
- which have been broken for a long time but noone noticed.
-
- * io.c (is_internal): New macro to check for internal file like
- `/dev/user'.
- (spec_setup): Reduce to two parameters, allocate logic is always true.
- Add IOP_NO_FREE to flag.
- (pidopen, useropen): Return `IOBUF *' instead of int. Fix
- logic to test if `iop' parameter is NULL and if so to allocate it.
- (specfdopen,): Return `IOBUF *' instead of int. Fix
- logic to test if `iop' parameter is NULL and if so to allocate it.
- Don't set IOP_NO_FREE in flag.
- (iop_open): Remove `IOBUF iob' field from `struct internal' and its use
- and the use of `spec_setup' from the code here. Change the check in the
- call to the open function to look for NULL.
- (get_a_record): Use `is_internal' in initial check for filling the
- buffer to not try to call `read' on internal files. If true, set
- the IOP_AT_EOF in the flag and return EOF.
-
-Fri Mar 24 13:05:56 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (get_src_buf): Remove function argument types from
- declaration of `readfunc' to avoid bugaboos with VMS declaration
- of `read' system call.
-
-Fri Mar 10 06:28:23 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (free_wstr): New declaration if MBS_SUPPORT, empty macro
- otherwise.
- * node.c (free_wstr): New function, inside MBS_SUPPORT. Frees the wide
- string part of a node. Provided so that it can be used consistently
- everywhere.
- (format_val, r_dupnode, mk_number, make_str_node, unref): Use it.
- * builtin.c (sub_common): Call `free_wstr' instead of doing it manually.
- * eval.c (r_tree_eval): Same in Node_assign_concat case.
- * field.c (set_field, rebuild_record, set_record): Add calls to
- `free_wstr'.
-
-Mon Feb 13 22:45:34 2006 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_tree_eval): Node_assign_concat. Release any
- wide string value and reset the WSTRCUR flag. Based on
- bug report by Karel Zak.
-
-2006-01-03 Paul Eggert <eggert@cs.ucla.edu>
-
- * Makefile.am (awkgram.c): Use $(AWK), not awk, so that the rule
- works on Solaris too (e.g., Solaris 10). Problem reported by
- Andrew J. Schorr.
-
-Mon Dec 19 05:39:46 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (format_val): Account for overlow of conversion
- from double to long. Shows up worse on 64-bit systems.
-
-Wed Dec 14 18:57:34 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Fix logic of test for no numeric value.
- Makes `gawk -v BINMODE=1 ...' work again. Thanks to Eli Zaretskii
- <eliz@gnu.org> for pointing out the problem.
-
-Wed Oct 19 10:58:27 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main, arg_init): Only use the locale's decimal
- point if do_posix is set. Too many people the world over
- have complained about this.
-
-Fri Oct 7 13:54:09 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Enhancement to fix from 23 Sept 2005, suggested by Pat Rankin.
-
- * awkgram.y (one_line_close): New function, closes open FILE * used
- by `read_one_line'.
- (fp): Static FILE * used by `read_one_line' and `one_line_close'.
- * awkgram.y (read_one_line): Simplify check for call to `fdopen'.
- (get_src_buf): New variable `closefunc' which is a pointer to a
- function implementing the `close' system call interface.
-
-Fri Oct 7 13:23:29 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_FIELDWIDTHS): Fix off-by-one error in assignment
- of sentinel value at end of FIELDWIDTHS array.
-
-Fri Sep 23 16:05:13 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (read_one_line): New function, mainly for debugging,
- that reads one line of data at a time to pass back as a buffer.
- Emulates the variable-length record filesystem of VMS, where
- we first saw the problem fixed here.
- (get_src_buf): New variable `readfunc' which is a pointer to a
- function implementing the `read' system call interface. Based on
- an environment variable, use `read_one_line' instead of `read'
- for testing. Make the test for expanding the buffer smarter,
- so that it doesn't grow unnecessarily.
-
- Thanks to Galen Tackett (tackett_galen@bah.com) for reporting
- the problem and to Anders Wallin and Pat Rankin for help
- tracing and reproducing the problem and testing the fix.
-
-Fri Sep 9 15:06:07 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * hard-locale.h (xmalloc): Move declaration to file scope
- for non-glibc systems and gcc 4. Thanks to Kito Danya Dietrich
- <kito@gentoo.org>.
-
-Thu Aug 25 22:40:40 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (build_range_exp): Avoid `btowc' for single-byte
- characters. Fedora Core 2, maybe others, have a broken version
- that can't handle values > 127.
-
-Fri Aug 19 16:13:28 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * regexec.c (proceed_next_node): Added a band-aid check at the
- top of the first `if' to make sure that `mctx->state_log[*pidx]'
- isn't NULL.
-
-Fri Aug 12 13:10:33 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (iop_alloc): Only free `iop' if it was malloc'ed in
- the first place.
-
-Tue Jul 26 21:46:16 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.5: Release tar file made.
-
-Tue Jul 26 21:44:54 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Copyright dates on all relevant files updated to 2005.
-
-Wed Jul 6 17:09:02 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Minor cleanups:
-
- * io.c (do_index): Remove unused variables `mbclen', `mbs1' and `mbs2'.
- * node.c (wstrstr): Remove unsed variable `j'.
- (dump_wstr): `#ifdef' out, not currently needed.
- * eval.c (op_assign): Move decl of `t1' and `t2' into a separate block
- for the `! HAVE_FMOD' case. Keeps the compiler quiet. Similar for
- `ltemp'.
-
-Wed Jul 6 16:51:31 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (close_io): Now takes pointer to boolean parameter indicating
- if there was a problem closing standard output or standard error.
- Update it in the right places.
- * awk.h (close_io): Update the declaration.
- * main.c (main): New variable `stdio_problem'. Pass it to `close_io'.
- Check the result and exit non-zero if there was a problem.
- (usage, version): Print warning message if problems with stdout.
-
- Unrelated:
-
- * main.c (main): For call to `setlocale' for LC_MESSAGES, just use
- `#ifdef LC_MESSAGES'. Per Bruno Haible <bruno@clisp.org>.
-
-Wed Jul 6 16:44:58 2005 Jim Meyering <jim@meyering.net>
-
- * main.c (init_fds): If any of the STDIN_FILENO, STDOUT_FILENO,
- STDERR_FILENO are initially closed, reopen them with permissions
- contrary to common usage so that any reasonable attempt to use
- them will evoke the same sort of error as reading or writing to
- a closed file descriptor would.
-
-Mon Jul 4 09:38:29 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- More multibyte fixes from Kimura Koichi, <kimura.koichi@canon.co.jp>.
-
- * node.c (format_val, r_dupnode): Spell `wstptr' correctly.
- * regex_internal.c (build_wcs_upper_buffer): Label `offsets_needed'
- should not be inside `#ifdef _LIBC'.
- * regcomp.c (build_charclass): Fix declaration of `class_name' in
- prototype to not be unsigned.
-
-Thu Jun 30 11:52:34 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (tree_eval): Node_not: Remember to print the exclamation
- point! Thanks to Dan Nielsen <Dan.Nielsen@corporate.ge.com>
- for the bug report.
- * mbsupport.h: Fix spelling of HAVE_ISWUPPER. Thanks to
- Kimura Koichi, <kimura.koichi@canon.co.jp>.
-
-Sun Jun 26 16:37:59 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Unrelated changes:
-
- * builtin.c (do_length): Allow array argument to length().
- Returns number of elements in array.
-
- * awkgram.y (yylex): Ignore carriage returns in source code. Sigh.
-
-Wed Jun 15 22:12:15 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (isnondecimal): Check loc.decimal_point before using it.
- Avoids problems with command line assignment when locale info may
- not be set up all the way yet.
-
-Wed Jun 15 21:59:54 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (make_str_node): If working with multibyte characters, while
- parsing string constants, keep multibyte characters together. This
- avoids problems in cases where one of the bytes is backslash. Initial
- patch supplied by Kimura Koichi, <kimura.koichi@canon.co.jp>.
-
-Tue Jun 14 21:50:37 2005 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- Use Exponentiation By Squaring for integer powers for ^ and ^=.
-
- * eval.c (calc_exp, cal_exp_posint): New functions.
- (r_tree_eval): Use them.
-
-Fri Jun 3 12:15:54 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Further change the hack at the end so that
- it works on Mac OS X `sed'. Sigh.
-
-Thu Jun 2 22:44:01 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac (TYPE_SOCKLEN_T): Use `int' as default type if can't
- figure one out.
- * awkgram.y: Warn that `//' is not a C++ comment. (:-)
-
-Thu Jun 2 20:55:27 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- From: Benno Schulenberg <benno@nietvergeten.nl>
-
- * eval.c (func_call): Take message out of gettext call since it's for
- debugging.
- * ext.c (get_actual_argument): Fix formatting of message.
-
-Wed May 25 09:19:37 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Change hack at end that fixes Makefile to keep
- version.c to use `sed' and not `ed'. More portable to OS/2, probably
- other systems.
-
-Mon May 23 09:01:26 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Portability help from Jim Meyering.
-
- * io.c: Rework ifdefs for <inttypes.h> and <stdint.h>. Test them
- individually.
- * configure.ac: Add AC_C_RESTRICT and code for socklen_t from rsync.
- Check for isascii and btowc for regex.
-
-Sat May 14 22:49:54 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * wait_any (errno): Remove decl.
- * gawk_popen: The pipe-simulated but not VMS or DOS version. Remove
- decl/use of `strdup' in favor of `emalloc' and `strcpy'.
-
-Wed May 11 18:33:30 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- All files: Updated address of FSF to:
-
- 51 Franklin Street, Fifth Floor
- Cambridge, MA 02110-1301
-
-Wed May 11 18:19:03 2005 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Use AM_GNU_GETTEXT([external]).
- Reflect upgrade to gettext-0.14.4.
- Reflect renaming of `jm_'-prefixed macros.
- (AC_CONFIG_FILES): Remove intl/Makefile.
-
- * Makefile.am (SUBDIRS): Remove intl.
- (AM_CPPFLAGS): Remove -Iintl.
-
-Wed May 11 11:42:06 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Straighten out mess with `isblank' which is C99 <ctype.h> function.
-
- * configure.ac: Remove check for `isblank' in call to AC_CHECK_FUNCS.
- * regex_internal.h: #ifdef out definition of `isblank' and provide
- `is_blank' function a la dfa.c.
- * field.c: Ditto.
- * regcomp.c: #ifdef use of `isblank' and add `is_blank' use instead.
-
-Mon May 9 08:29:37 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add type check for `socklen_t', fixes compile
- warning on AMD/64 Linux.
- * io.c (socketopen): Change type of socket length variables
- to `socklen_t' from `size_t'.
-
-Thu May 5 22:00:03 2005 John E. Haque <j.eh@mchsi.com>
-
- * io.c (iop_alloc): Let an input processor hook installed via
- `register_open_hooks' open its own fd in case gawk does not know
- how to open it.
- (iop_open): Call `os_close_on_exec' after `iop_alloc'.
- ADR: If `iop_alloc' returns NULL but the fd is valid, close
- the fd to avoid an fd leak.
-
-Mon May 2 08:05:59 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (update_ERRNO): Don't use `return' in a `void' function.
- * awk.h (AWKNUM): Back out use of `long double' based on LDBL_MANT_DIG.
- * builtin.c (tmp_integer): Back out extra ifdefs.
-
-Fri Apr 29 13:01:05 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Look for `isblank' function.
- * field.c: Add define for `isblank' if we don't have it.
-
-Fri Apr 29 12:01:33 2005 Julian Foad <julianfoad@btopenworld.com>
-
- From grep. Doesn't seem to affect awk.
-
- * dfa.c (lex): Fix bug #9519: "echo do^re | grep do^re" was
- failing to find a match. [Towards end, set `lasttok' before
- returning `c'.]
-
-Fri Apr 29 00:28:46 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Jump through an amazingly convoluted hoop to get
- config.status to keep version.c upon `make distclean'. Seems to
- work though.
-
-Thu Apr 28 23:40:02 2005 Stepan Kasal <kasal@ucw.cz>
-
- * configure.ac (PRINTF_HAS_F_FORMAT): Some cosmetic changes.
- (custom.h): Don't cat custom.h at the end of config.h; instead, use
- AH_BOTTOM([#include "custom.h"])
- * awklib/Makefile.am (AM_CPPFLAGS): Add $(top_srcdir) so that
- custom.h can be found.
-
-Thu Apr 28 23:21:22 2005 Jim Meyering <jim@meyering.net>
-
- * field.c (set_FIELDWIDTHS): Tighten up the code to accept FIELDWIDTHS
- values in [1..INT_MAX], e.g., detect overflow and invalid strings,
- and reject strings starting with `-'.
-
-Thu Apr 28 23:05:33 2005 Stepan Kasal <kasal@ucw.cz>
-
- * dfa.c (parse_bracket_exp_mb): Shorten one part of the code, to get
- closer to grep's copy.
-
-Thu Apr 28 23:00:58 2005 Pat Rankin <rankin@pactechdata.com>
-
- * builtin.c (format_tree) [#if VAXCRTL]: For floating point
- formatting, reject zero_flag if using old VAXCRTL run-time
- library to avoid getting erroneous results which appear as if
- numerically incorrect (due to an embedded space in some cases,
- extra trailing zeroes in others) rather than just misformatted.
- `hsprint' test still fails, but not as badly.
-
-Thu Apr 28 19:12:03 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (reflags2str): Add three new RE_ flags from current regex.h
- to bring the table up to date.
-
- * builtin.c (format_tree): Save 2 spare bytes instead of one. Suggested
- by Stepan Kasal.
-
-Thu Apr 28 18:16:09 2005 Andrew J. Schorr <ajschorr@users.sourceforge.net>
-
- * awk.h (IOBUF): Add new fields `opaque', `get_record', and
- *close_func', to support insertion of an alternate input processor.
- This is used by the XML extension.
- (register_deferred_variable, register_open_hook, update_ERRNO_saved):
- Declare new functions.
- (load_environ, load_procinfo): Remove declarations -- these functions
- are no longer global, since we use register_deferred_variable instead.
- * awkgram.y (register_deferred_variable): New function to allow
- calling code to register special variable names that trigger a callback
- upon the first reference. This is now used to implement ENVIRON
- and PROCINFO.
- (variable): Search the list of deferred variables instead of hardcoded
- tests for ENVIRON and PROCINFO.
- * eval.c (set_BINMODE): Fix spelling of "arbitrary" in warning message.
- (update_ERRNO_saved): New function that allows the caller to specify
- the errno value instead of using the current value.
- (update_ERRNO): Implement by calling update_ERRNO_saved(errno).
- * io.c (iop_close): Call `iop->close_func' if non-NULL.
- (close_redir): Should save `errno' value, otherwise `lintwarn' messages
- might update it. Then use `update_ERRNO_saved' to set ERRNO.
- (do_getline): Call `update_ERRNO_saved' to set ERRNO based on the
- error code returned by the redirect function (instead of the current
- value of errno). Similarly, use `update_ERRNO_saved' to set ERRNO
- based on the value returned by `get_a_record'. But add a special
- check to avoid updating ERRNO if `get_a_record' returns an error
- code value of -1 (this is used by the XML extension which already
- sets ERRNO before returning).
- (register_open_hook): New function to register a function to be
- called whenever a new data file is opened. This can be used to
- install a special input processor (as in the XML extension).
- (iop_alloc): Call registered open hook.
- (get_a_record): If a `get_record' method has been set, call that instead.
- * main.c (init_vars): Use `register_deferred_variable' to implement
- ENVIRON and PROCINFO.
- (load_environ, load_procinfo): Now static instead of global.
- * doc/gawk.texi: Document new internal functions `update_ERRNO_saved',
- `register_deferred_variable', and `register_open_hook'.
-
-Thu Apr 28 10:50:10 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_find, do_delete): Change incorrect uses of STREQN
- to memcmp.
- * builtin.c (do_index): Same.
- * field.c (set_FS): Same.
- * io.c (redirect, getredirect, do_close, set_RS): Same.
- * re.c (reisstring): Same.
-
-Wed Apr 27 21:35:57 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Allow for long double. Initial changes from Jean-Marc Saffroy
- <jean-marc.saffroy@ext.bull.net>.
-
- * awk.h (AWKNUM): If have long doubles (LDBL_MANT_DIG), define AWKNUM
- as long double, otherwise just use double.
- * builtin.c (format_tree): Change type of tmpval to double.
- (do_strtonum): Same for `d' and types used in casts.
- (tmp_integer): Don't do bit shifting if have long doubles.
-
- Unrelated, from Andrew J. Schorr:
-
- * io.c (close_one): Check for RED_FILE|RED_WRITE, not just RED_FILE.
-
-Mon Apr 25 12:23:18 2005 Andrew J. Schorr <aschorr@telemetry-investments.com>
-
- * eval.c (r_tree_eval): In Node_assign_concat case, when copying string
- constants, include the terminating zero byte.
-
-Fri Apr 1 06:26:31 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Update to Automake 1.9.5.
-
- * INSTALL, aclocal.m4, depcomp, install-sh, missing,
- mkinstalldirs, ylwrap: Updated.
-
- Unrelated:
-
- * builtin.c (do_tolower, do_toupper): Remove old code
- based on 8-bit character table.
-
-Wed Feb 23 08:23:22 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * bisonfix.awk: New file, fixes continued #ifdef for dumb compilers.
- * Makefile.am (awkgram.c): Fix rule to use it.
- (EXTRA_DIST): Include bisonfix.awk.
-
-Tue Feb 22 21:18:50 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.h: Remove include of config.h and move it to ...
- * random.c: Here. Move include of random.h back to where it was.
-
- * regcomp.c, regex.c, regexec.c: NUKED all use of alloca not inside
- `_LIBC' ifdef. Hooray!
-
-Sat Feb 19 20:13:28 2005 Pat Rankin <rankin@pactechdata.com>
-
- Workarounds for bugs and missing C89 features in old VAX C compiler.
-
- * regex_internal.h "mbsupport.h": Suppress inclusion if NO_MBSUPPORT
- is defined.
- [MB_CUR_MAX]: Define as 1 if mbsupport.h hasn't defined it.
- [ER_ERRMSG, ERRMSG_TYPE, ERRMSG_OFFSET, ERRMSG_SEPARATOR]: New macros
- conditionalized upon gawk's NO_TOKEN_PASTING macro.
- * regcomp.c: Use them.
- (parse_dup_op): Use alternate initialization of start_token if
- RE_TOKEN_INIT_BUG is defined.
- * regexec.c (proceed_next_node): Compare push_fail_stack() result
- explicitly against REG_NOERROR rather than implicitly against 0.
-
-Sat Feb 19 20:05:50 2005 Pat Rankin <rankin@pactechdata.com>
-
- * dfa.c "mbsupport.h": Suppress inclusion if NO_MBSUPPORT is defined.
-
-Wed Feb 16 20:43:07 2005 Pat Rankin <rankin@pactechdata.com>
-
- * awk.h "mbsupport.h": Suppress inclusion if NO_MBSUPPORT is defined.
- * regex.h <sys/types.h>: Guard inclusion with HAVE_SYS_TYPES_H.
- * regex.c <sys/types.h>: Likewise.
- * random.c "random.h": Include this first to get config.h setup.
- <fcntl.h>: Guard inclusion with HAVE_FCNTL_H.
- <unistd.h>: Guard inclusion with HAVE_UNISTD_H.
- * io.c [#if defined(MSDOS) ||... defined(__CYGWIN__)]: Splice the
- backslash continuation back into one long line.
-
-Wed Feb 16 10:11:21 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (unref, format_val): Add assertions checking that both
- `tmp->wstptr != NULL' and `(tmp->flags & WSTRCUR) != 0' before
- freeing `tmp->wstptr'. Thanks to kimura.koichi@canon.co.jp.
-
- * random.c (HAVE_UNISTD_H): Conditionalize include of <unistd.h>.
- Thanks to Scott Deifik <scottd@amgen.com>.
-
-Sun Feb 13 18:24:50 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Move `#ifdef MSG_PEEK' up to above
- declarations too. Thanks to Michal Jaegermann.
-
- * config.guess, config.sub: Updated from Savannah.
-
-Thu Feb 10 15:48:48 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.c (re_dfa_add_node): Remove variable `type'
- and just use `token.type' directly in RE_ENABLE_I18N code below.
- Saves a compiler warning, and a good compiler will handle it anyway.
- * regexec.c (check_arrival_add_next_nodes): Move decl of `err'
- inside #ifdef RE_ENABLE_I18N code where it's used.
- * awkgram.y (yylex): Add casts to int before use of `strlen' results
- for printf-style precision. Avoid a compiler warning.
- * io.c (redirect, do_close): Same for use of tmp->stlen.
-
- Thanks to Michal Jaegermann <michal@harddata.com>.
-
-Wed Feb 9 10:19:15 2005 Stepan Kasal <kasal@ucw.cz>
-
- * Makefile.am (datadir, libexecdir): Removed.
- (awkdatadir): Renamed to pkgdatadir.
- (pkgdatadir, LDADD): Use the make syntax to refer to other variables,
- not @...@.
-
-Wed Feb 9 10:05:46 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (r_dupnode): Assign NULL to r->wstr after `getnode'.
- Fix count of bytes to copy in call to `memcpy'.
- Thanks to Kimura Koichi, <kimura.koichi@canon.co.jp>.
-
-Tue Feb 8 19:26:22 2005 Pat Rankin <rankin@pactechdata.com>
-
- * regcomp.c (init_dfa): Avoid strcasecmp() since regex.c doesn't
- use awk.h and none of the assorted other included header files
- are guaranteed to declare it.
- (parse_expression): Modify casts for the string arguments passed to
- build_charclass_op() to fix char * vs unsigned char * mismatch.
- (parse_bracket_exp): Likewise add cast for the string argument
- passed to build_charclass().
-
-Mon Feb 7 15:04:09 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (make_scalar): Don't use P() macro in definition.
- Thanks to Juergen Kahrs <Juergen.Kahrs@barco.com>.
-
-Wed Feb 2 16:36:19 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Call `close_io', without its result affecting
- the exit status. Super small, super dark corner.
-
- See test/exitval2.awk.
-
-Tue Feb 1 11:58:29 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.h (__APPLE_CC__): Removed test and definition of __restrict.
- Not needed for current MacOS X compiler.
-
-Sun Jan 30 13:56:37 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Fresh merge with CVS regex routines. Fixes handling of \B.
- See tests/gnureop3.awk and also
- http://sources.redhat.com/bugzilla/show_bug.cgi?id=693.
-
- CVS base versions:
-
- * regcomp.c: Version 1.92, Thu Jan 27 19:05:20 2005.
- * regexec.c: Version 1.77, Thu Jan 27 19:06:34 2005.
- * regex_internal.c: Version 1.49, Thu Jan 27 19:07:15 2005.
- * regex_internal.h: Version 1.60, Wed Jan 26 22:40:50 2005.
- * regexec.c: Version 1.77, Thu Jan 27 19:06:34 2005.
-
-Sat Jan 22 22:30:40 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Reinstate patch of 18 Nov 2001, for VMS, at least:
-
- * random.c (srandomdev): ifdef-out. Lots of compile time
- problems on multiple platforms, and gawk doesn't even
- use the routine. The heck with fine-grained solutions.
-
-Thu Jan 20 14:15:32 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (LEX_FOR): Free NAME tokens in transformation of
- `for (iggy in foo) delete foo[iggy]' into `delete foo'.
- Thanks and a tip of the hatlo to Valgrind.
-
- * dfa.c (_): Clean up stuff here by just including "gettext.h".
- Per Bruno Haible.
-
-Wed Jan 19 18:29:23 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yylex): Improve parsing of numeric constants
- and hex values, via a push from Paul Eggert. See test/hex.awk.
-
- * regex_internal.c (re_node_set_alloc): If `size' is 0, just
- zero out the structure. From valgrind.
-
-Tue Jan 18 17:23:25 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Make gawk multibyte aware. This means that index(), length(),
- substr() and match() all work in terms of characters, not bytes.
-
- * awk.h (NODE): Add `wsp' and `wslen' elements to value for wide
- string.
- (WSTRCUR, wstptr, wstlen, force_wstring): New macros.
- (str2wstr, wstrstr, wcasestrstr): New declarations.
- * builtin.c (do_index, do_length, do_substr, do_match): Handle wide
- strings.
- * eval.c (flags2str): Add WSTRCUR.
- * node.c (format_val, r_dupnode, mk_number, make_str_node, unref):
- Add code to deal with wide strings.
- (str2wstr, dump_wstr, wstrstr, wcasestrstr): New functions.
-
-Sun Jan 16 15:10:35 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.h (int32_t): Define this type.
-
-Thu Jan 13 14:38:13 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Cause `configure --disable-nls' to still allow locale-correct
- formating of numeric values.
-
- * builtin.c (format_tree): Change #ifdefs to only test HAVE_LOCALE_H.
- Improve code for ' flag so that extraneous separator is not included if
- number of digits is multiple of locale separater count (3, 6, 9, etc.)
- * dfa.c (dfaparse): Change ifdef to only test #ifdef LC_COLLATE.
- * eval.c (fmt_ok): Remove ENABLE_NLS from #ifdef test.
- * gettext.h: Include <locale.h> on both sides of test. Should really
- be factored out.
- * main.c (loc): Remove ENABLE_NLS from #ifdef test.
- (main): Same in call to localeconv().
- * node.c (isnondecimal): Remove ENABLE_NLS from #ifdef test.
-
- Unrelated:
-
- * regcomp.c (init_dfa): Change `codeset' to `codeset_name' in two
- places.
-
-Mon Jan 10 11:49:56 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Annual sync with glibc.
-
- * getopt_int.h: New file.
- * Makefile.am (base_sources): Add it.
- * getopt.h, getopt.c, getopt1.c: Updated.
- * regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h,
- regexec.c: Updated.
-
- Original versions:
-
- getopt_int.h, 1.1, Tue Mar 9 10:31:19 2004
- getopt1.c, 1.10, Tue Mar 9 10:35:37 2004
- getopt.h, 1.21, Fri Mar 19 00:19:32 2004
- getopt.c, 1.53, Wed Mar 10 23:13:26 2004
- regcomp.c, 1.87, Mon Dec 6 02:56:42 2004
- regex.c, 1.126, Fri Jan 30 05:19:58 2004
- regex.h, 1.33, Thu Nov 18 23:50:57 2004
- regex_internal.c, 1.46, Thu Jan 6 20:59:49 2005
- regex_internal.h, 1.57, Mon Dec 27 16:29:05 2004
- regexec.c, 1.75, Mon Dec 27 16:29:52 2004
-
- * regex.h: Add check for __APPLE_CC__ and definition of __restrict.
- * regex.c: Add check for _MSC_VER and include <stdio.h>.
- * regex_internal.h (_RE_ENABLE_I18N): Change test.
- (re_realloc): Add check/fix for SunOS 4.1.x.
- * regex_internal.c (build_wcs_upper_buffer): ifdef label
- `offsets_needed', add cast in call to `wcrtomb'.
- * regcomp.c (build_charclass, build_charclass_op): Remove `unsigned'
- from declarations of `char *' params.
- (regerror): Remove use of mempcpy.
- (peek_token): Disallow \s and \S for gawk.
- (build_charclass): Change decl of `class_name' and use it directly.
- Nuke variable `name'.
- (build_charclass_op): Change decl of `class_name' and `extra'.
-
-Thu Jan 6 16:44:32 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Improve autoconfiscation stuff for wide character use.
-
- * builtin.c (do_tolower, do_toupper): Conditionally compile
- call to `wide_tolower_toupper'.
- (wide_tolower_toupper): Conditionally compile typedefs and function.
- * mbsupport.h: Add check for having `wint_t', and `iswlower',
- `iswupper', `towlower' and `towupper'.
- * configure.ac (HAVE_WINT_T): Add test.
- (AC_CHECK_FUNCS): Add `wint_t', `iswlower', `iswupper', `towlower'
- and `towupper'.
-
- Unrelated change:
-
- * hard-locale.h (hard_locale): Add decl of `xmalloc' to prevent
- redeclaration problems on some compilers.
-
-Wed Jan 5 10:20:17 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Update to Bison 2.0.
-
- * bisonfix.sed: Removed, no longer needed.
- * Makefile.am (EXTRA_DIST): Removed bisonfix.sed.
- (awkgram.c): Fix build rule.
- * awkgram.c: Regenerated.
-
-Tue Jan 4 18:47:56 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Update to Automake 1.9.4.
-
- * alocal.m4, config.guess, config.sub, install-sh: Updated.
-
-Mon Jan 3 14:08:27 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Update to Automake 1.9.3.
-
- * INSTALL, alocal.m4, config.guess, config.sub, depcomp,
- install-sh, missing, ylwrap: Updated.
-
-Mon Jan 3 11:23:36 2005 Arnold D. Robbins <arnold@skeeve.com>
-
- Fix obscure issue. ^ in RS should only match at the very
- beginning of the input. Essentially, the file is one long
- string. To do this, use the `not_bol' flag in the `struct
- pattern_buffer'. Thanks to Stepan Kasal for pointing out the
- problem and to Andreas Schwab for pointing out the mechanism
- for a solution.
-
- * awk.h (RE_NEED_START, RE_NO_BOL): New flags for `research'.
- (IOP_AT_START): New flag for IOBUF.
- (research): Last parameter is now `flags'.
- * builtin.c (do_match, sub_common): Change calls to `research'.
- * eval.c (interpret, match_op): Same.
- * field.c (re_parse_field): Same.
- * io.c (spec_setup): Add IOP_AT_START flag.
- (iop_alloc): Same.
- (rsrescan): Modify logic to check IOP_AT_START and if not on to
- add RE_NO_BOL to flags value in call to `research'.
- (get_a_record): Clear IOP_AT_START upon return from `*matchrec'.
- (iopflags2str): Add IOP_AT_START to table. Also IOP_CLOSED,
- which was missing. (Ooops.)
- * re.c (research): Last paramater is now flags. Modify logic to
- handle RE_NO_BOL case by setting the right bit initially. Clean
- up control flow so that it's cleared before returning. If RE_NO_BOL,
- don't bother with the dfa matcher, as it doesn't have an analogous
- capability.
-
-Wed Dec 22 12:33:48 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- For --exec, don't allow x=y assignments where filenames would be.
- Do allow -v. This is because we assume --exec is used mainly for
- CGI stuff and we don't want var assigns to affect the code.
-
- Suggested by Stepan Kasal; motivated by reading about web security.
-
- * main.c (disallow_var_assigns): New variable.
- (main): Set the var for --exec.
- (arg_assign): Check it appropriately.
-
-Sun Dec 19 17:27:09 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_gensub): Make `global' flag smarter, such that
- a string numeric constant (e.g., "3") acts like a numeric
- constant.
- * node.c (r_force_number): Not really related: Only set NUMCUR
- if we actually convert some digits.
-
-Sun Dec 19 16:08:50 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.h, dfa.c: Synchronize with what's happening in GNU grep
- development. Effectively only minor whitespace changes and some
- slight code motion of ifdefs and includes.
- * hard-locale.h: New file, extracted from old dfa.c.
- * Makefile.am (base_sources): Add hard-locale.h.
-
-Sun Dec 19 11:13:45 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Change type of `readle' and `namelen'
- variables to size_t. For QNX, but a good idea anyway. Thanks
- to `Anthony' (rz1a@mail.ru).
-
-Mon Dec 6 11:11:22 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Undid change of Mar 9 2004, to add gofast patch. It gets things
- wrong for gawk. This removes the bandaid of ifdef-ing out the
- main check. Eventually this'll all get straightened out in the
- GNU grep code.
-
- * dfa.c (buf_offset): Removed.
- (SKIP_REMAINS_MB_IF_INITIAL_STATE): Removed use of buf_offset, do
- free `mblen_buf', `inputwcs'.
- (match_anychar, match_mb_charset, transit_state_consume_1char,
- transit_state): Remove use of buf_offset in mblen_buf.
- (dfaexec): Use `free' and `malloc', not `realloc'.
-
-Mon Dec 6 10:55:37 2004 Fumitoshi UKAI <ukai@debian.or.jp>
-
- Forwarded from james@nocrew.org, the Debian contact.
-
- * dfa.c (parse_bracket_exp_mb):
- 1. Build range correctly when IGNORECASE for [a-a] to also get 'A'.
- 2. For [:lower:] and [:upper:], if ignoring case, set type string
- to "alpha". This parallels code in the regex routines.
- 3. Reset wc1 to EOF when parsing bracket expressions.
-
-Mon Nov 29 18:36:25 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): When allocating a new struct redirect, set
- rp->pid to -1, not 0, so that code checking for EOF on an
- input pipe works correctly.
-
-Thu Nov 25 14:22:41 2004 Stepan Kasal <kasal@ucw.cz>
-
- * Makefile.am (MAINTAINERCLEANFILES): Add.
- * version.in (version_string): Use PACKAGE_STRING.
-
-Tue Nov 23 17:27:38 2004 Stepan Kasal <kasal@ucw.cz>
-
- * re.c: Fix a typo in a comment.
-
-Mon Nov 22 16:47:00 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yylex): Add lint check for tawk style modifiers on
- regexes, /.../i and /.../s. Not that it'll help anyone.
-
-Wed Oct 27 14:25:18 2004 Stepan Kasal <kasal@ucw.cz>
-
- * builtin.c (do_tolower, do_toupper): Fix the wide char handling,
- especially when the lowercased char doesn't ocuppy the same
- number of bytes as its uppercase equivalent. Make use of ...
- (wide_tolower_toupper): ... this new static function.
-
-Mon Oct 25 11:51:14 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (bchunk, bchunk_one, cksize): Change type of `olen'
- to size_t from long. It is the 21st century now, after all...
- Thanks to Stepan Kasal.
-
-Mon Oct 11 10:49:09 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yylex): Improve lint warnings for non-decimal constants.
- * node.c (isnondecimal): Made a little smarter, thanks to Stepan Kasal.
-
-Thu Oct 7 21:59:38 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (dfamust): Redo fix of 22 Sep to match code from
- current GNU grep.
-
-Sun Oct 3 23:06:00 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (isnondecimal): Made smarter, so that 0xEE does
- register as non-decimal. Added parameter to indicate use of
- locale's decimal point and changed declaration and callers.
-
-Tue Sep 28 18:38:17 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (isnondecimal): New function, now smarter.
- * awk.h (isnondecimal): Changed from macro to function.
-
-Wed Sep 22 11:24:46 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (dfamust): At end, check results of `malloc'.
- Based on bug report from Sorav Bansal <sbansal@stanford.edu>
- for grep.
-
-Mon Sep 20 13:18:18 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- New --exec option. Needed for gawk CGI scripts to prevent
- arbitrary options and/or source getting passed in from the web.
-
- * main.c (optab): New long option, --exec.
- (main): Catch it. Like -f but end option processing.
- (usage): Add it to the usage message.
-
- Thanks to John DuBois and Don Stokes for their input.
-
- Unrelated:
-
- * dfa.c (dfaexec): Disabled caching into buffer that bypasses
- multibyte initialization, since it can get things wrong. Thanks
- to Andreas Schwab <schwab@suse.de>.
-
-Mon Sep 20 12:59:42 2004 Andreas Schwab <schwab@suse.de>
-
- * awkgram.y (nextc): Check for end of lexer buffer before
- advancing ring buffer index.
-
-Wed Sep 8 09:54:53 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Force LC_NUMERIC locale to "C" before parsing
- the program, since a variable assignment with -v can leave the
- locale set incorrectly.
-
- Thanks to Sirix <sirix@poczta.onet.pl> for reporting the problem.
-
-Wed Aug 25 18:55:30 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (UPDATE_YEAR): New constant at top of file, where we
- won't miss it.
- (copyleft): Use it.
-
-Sun Aug 22 17:26:39 2004 Stepan Kasal <kasal@ucw.cz>
-
- Define gawk_mb_cur_max even if there is no mbs support, as
- ``const int'' and assign 1 to it.
- This fixes a bug in re.c where #ifdef MBS_SUPPORT was missing.
-
- * awk.h (gawk_mb_cur_max): Declare.
- * main.c (gawk_mb_cur_max): Define.
- * awkgram.y (nextc_is_1stbyte): Without mbs support, define to 1.
- * builtin.c (index_multibyte_buffer): Define a dummy function
- when there is no mbs support.
- * awkgram.y, builtin.c, re.c: Remove some `#ifdef MBS_SUPPORT'.
-
-Sun Aug 15 22:08:04 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Import current FreeBSD random.c. Make it work for gawk.
- Needed for cases where long is more than 32 bits.
-
- * random.c: Imported from FreeBSD. Header includes tweaked.
- * random.h: Typdef gawk_uint32_t appropriately and #define uint32_t
- to it.
- * configure.ac: Add calls to AC_CHECK_SIZEOF for unsigned int
- and unsigned long.
-
- Started with
- http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/random.c
- Thanks to Andreas Schwab <schwab@suse.de> for the pointer.
-
-Thu Aug 12 13:09:53 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (copyleft): Fix copyright year.
-
-Mon Aug 2 12:18:15 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.4: Release tar file made.
-
-Mon Aug 2 12:17:40 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Fix the hack. Do the sed on `Makefile',
- not `Makefile.in'. Sigh.
-
-Sun Aug 1 14:48:30 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: MAJOR HACK: At end, remove version.c from Makefile.in
- variable `CONFIG_CLEAN_FILES' so that `make distclean' doesn't
- remove version.c.
-
-Mon Jul 19 17:07:27 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * config.guess, config.sub: Updated from Savannah CVS.
-
-Fri Jul 16 10:59:07 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (make_regexp): Bracket code using `gawk_mb_cur_max'
- inside `#ifdef MBS_SUPPORT'.
-
-Thu Jul 15 12:36:25 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (parse_bracket_exp_mb): If doing case folding,
- include the other case for regular characters inside [...].
-
- * re.c (make_regexp): Smarten up handling of IGNORECASE,
- particularly for multibyte character sets. Sigh.
-
-Wed Jul 14 16:25:23 2004 John Haque <mary1john8@earthlink.net>
-
- * eval.c (interpret): For `Node_K_return', use `copynode'
- and not `dupnode' for non-PERM, non-TEMP values.
- (func_call): Don't add TEMP flag to returned value.
-
- These two fix a problem uncovered by the July 8 change in
- `assoc_lookup'.
-
-Wed Jul 14 16:14:09 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (node_common): Add check `lexeme >= lexptr_begin',
- from valgrind run.
-
-Wed Jul 14 16:00:51 2004 John Haque <mary1john8@earthlink.net>
-
- * io.c (rsrescan): Fix off by one error at end of record.
-
-Thu Jul 8 16:59:51 2004 Stepan Kasal <kasal@ucw.cz>
-
- * awkgram.y (output_redir): Make sure not to dereference NULL
- pointer. The bug was triggered by the following code:
-
- gawk 'BEGIN{print "date" |& getline}'
-
- No test case created, beacuse of the following:
- Correct interpretation involves executing "1" or "0" -- as the user
- may have defined this, we would have to override this in the test
- script. It's not worth the hassle.
-
-Thu Jul 8 12:59:49 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (load_casetable): Name changed from `load_ignorecase'.
- * eval.c (load_casetable): Name changed from `load_ignorecase'.
- Fix all uses.
-
-Thu Jul 8 12:32:13 2004 John Haque <mary1john8@earthlink.net>
-
- * awkgram.y (get_src_buf): Fix off-by-one error to avoid "does not end
- in newline" messages.
- * array.c (assoc_lookup): Small performance hack: for TEMP subs nodes,
- use its string memory for ahname.
- * ext.c (get_actual_argument): Minor code cleanup.
- * builtin.c (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl):
- fixed to issue "non-numeric argument" lint warnings before using
- `force_number'.
-
-Mon Jun 21 16:53:35 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- More changes from John Haque to rationalize extension functions.
-
- * awk.h (get_curfunc_arg_count): Name changed from
- `get_curfunc_parm_count'.
- * eval.c (get_curfunc_arg_count): Ditto, body redone to count actual
- args passed at call time.
- * ext.c (get_argument): Update range check.
- (get_actual_argument): Simplify the code.
-
-Mon Jun 14 14:01:16 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes from John Haque and ADR to rationalize extension functions.
-
- * awk.h (check_special, get_curfunc_parm_count, get_actual_argument):
- new function declarations.
- (get_scalar_argument, get_array_argument): New macros.
- * awkgram.y (check_special): New function.
- (yylex): Use `check_special' to search `tokentab'.
- (dump_funcs): Always count functions, in order to get dynamic ones.
- Removed bogus use of `static' on `tab' variable.
- * eval.c (struct fcall): Change type of `count' to `size_t'.
- (get_curfunc_parm_count): New function.
- (push_args): Set `r->rnode' to NULL for local variable.
- * ext.c (make_builtin): Add sanity checking for presence and
- name of new function, and that it's not a redefinition.
- (get_argument): Check that requested arg is within range of actual
- number of parameters. Also clean up logic for Node_var_new,
- Node_var_array, Node_array_ref.
- (get_actual_argument): New function.
- * profile.c (pp_builtin): Better handling of dynamic extension function.
-
-Sun Jun 13 14:32:22 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): Conditionalize checking for process recovery
- on `#ifdef PIPES_SIMULATED'. Needed for MS-DOS and VMS.
- * builtin.c (tmp_integer): Change bracketing of magic test to
- `#ifdef HAVE_UINTMAX_T' which is more general and more correct.
-
-Wed Jun 9 21:36:01 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (make_regexp): Add dfa matching into IGNORECASE handling.
-
-Tue Jun 8 15:38:56 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (casetable): Remove `const'.
- * eval.c (casetable): Remove `const'.
- (load_ignorecase): New function. Loads locale-correct values in
- upper 128 bytes.
- (set_IGNORECASE): Call `load_ignorecase'.
-
-Tue Jun 8 14:04:19 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (get_src_buf): Make sure that value from
- `optimal_bufsize' is reasonable. Increase it if not.
-
-Tue Jun 8 13:54:28 2004 John E. Haque <mary1john8@earthlink.net>
-
- * awkgram.y (statement:LEX_FOR): Fix bug in loop to `delete a'
- optimization.
- * io.c (format_tree): Check for out of range values for
- positional specifiers.
-
-Mon Jun 7 17:02:48 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (tmp_integer): Bracket the magic test inside
- `#ifndef VMS'.
-
- * awk.h (child_catcher): Remove declaration.
- * main.c (main): Remove `signal' calls for SIGCLD, SIGCHLD.
- * io.c (child_died, child_signo, child_catcher): Removed.
- (get_a_record): Remove code checking for death of child.
- (redirect): If `rp' matches and is at EOF and type is input
- pipe, and `rp->pid' is not -1, call `wait_any' to reap the
- child. This is a heuristic, but it works pretty well.
-
-Sun Jun 6 18:35:17 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Restore use of `memmove' instead of
- memcpy. Otherwise some tests break on some systems. We think.
- (child_died): Don't reset signal handler; breaks on some S5 systems.
- (get_a_record): Reset handler if child_died. Still flaky on Solaris.
- * configure.ac (version.c): Made from version.in again, for
- non-Unix systems.
- * Makefile.am (base_sources): Add version.c back.
- * version.in: Include config.h for definition of const.
- * main.c (version_string): Add back declaration, don't
- include "version.i".
- (main): Don't install child_catcher on Sun. (HACK)
-
-Thu Jun 3 14:06:06 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (version_string): Removed declaration, since
- version.i is included directly.
- * version.in: Removed test for definition of const.
-
-Tue Jun 1 19:23:53 2004 Stepan Kasal <kasal@ucw.cz>
-
- * Makefile.am (base_sources): Don't mention version.c, so that
- it doesn't get distributed.
- * po/POTFILES.in: Remove version.c
- * configure.ac: Create version.i from version.in.
- * main.c: Include version.i.
-
-Tue Jun 1 18:33:32 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Fix problem reported by Stephen Marchant <Stephen.Marchant@Cognex.com>
- on Thu, 30 Oct 2003 13:11:42 -0500.
-
- * regex_internal.h (re_realloc): Allow for SunOS pre-Standard C
- `realloc' which doesn't accept NULL pointers.
- * awk.h (erealloc): Same.
-
- Unrelated. Change suggested by Peter Sobisch <petersob@gmx.net>, have
- PROCINFO["version"] be the version of gawk:
-
- * main.c (load_procinfo): Add in version.
-
- Unrelated: Avoid warning:
-
- * main.c (main): Cast calls to `bindtextdomain' and `textdomain' to
- void. Avoids diagnostic with `configure --disable-nls'.
- * dfa.c (check_matching_with_multibyte_ops): Remove unneeded nested
- #ifdef, per Scott Deifik (scottd@amgen.com). Also fix some spelling
- errors in comments.
-
-Tue Jun 1 18:26:45 2004 Paul Eggert <eggert@twinsun.com>
-
- Fix a bug reported by Mike Romaniw <msr@micromonumental.com>
- to bug-gnu-utils on 2003-09-27: compl(compl(0xf0f)) returned 0xfff
- on hosts with 64-bit uintmax_t and 64-bit IEEE-764 double, due to
- rounding errors.
-
- * doc/gawk.texi (Bitwise Functions): Leading nonzero bits are
- removed in order to fit the result into a C 'double' without rounding
- error.
- * builtin.c: Include <float.h> if available.
- (FLT_RADIX, FLT_MANT_DIG, DBL_MANT_DIG): Define if not already defined.
- (AWKSMALL_MANT_DIG, AWKNUM_MANT_DIG, AWKNUM_FRACTION_BITS): New macros.
- (tmp_integer): New function.
- (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl): Use them.
-
-Tue Jun 1 17:40:47 2004 Stepan Kasal <kasal@ucw.cz>
-
- * eval.c (push_args): Set var_value to Nnull_string for
- local variables.
-
-Mon May 31 11:49:20 2004 Stepan Kasal <kasal@ucw.cz>
-
- * replace.c: #undef DEBUG before including mktime.c, it has
- different meaning there.
-
-Mon May 31 08:25:30 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (get_actual): Add extra error message for `delete f'
- inside body of function `f'.
-
-Mon May 3 09:53:34 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in, */Makefile.in: Updated to automake 1.8.4.
- * config.guess, config.sub: Same.
- * aclocal.m4, depcomp, install-sh: Same.
-
-Mon May 3 09:24:45 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Look for missing `strtoul'.
- * replace.c: Include missing_d/stroul.c if not HAVE_STRTOUL.
- * io.c (devopen): Use `strtoul' instead of `strtod' for
- extracting fd number from "/dev/fd/N". (Thanks to Jim Meyering.)
- * field.c (set_FIELDWIDTHS): Use `strtoul' instead of `strtod'
- when parsing FIELDWIDTHS values. (Thanks to Jim Meyering.)
-
-Mon Apr 19 20:12:57 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in, */Makefile.in: Updated to automake 1.8.3.
- * config.guess, config.sub: Same.
-
-2004-03-18 Stepan Kasal <kasal@ucw.cz>
-
- * eval.c (make_scalar): Comment clarification.
-
- * array.c (get_actual): Remove the condition ``canfatal''
- before ``cant_happen()''; if the data are consistent, we
- simply cannot get there with a non-func Node_param_list,
- no matter whether we are called via get_array or not.
-
- * awkgram.y (variable): Make one longer message, to help translators.
-
-Tue Mar 9 17:34:10 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Adapted `gofast' patch from Redhat Enterprise version of grep
- to current dfa.c.
-
- * dfa.c (buf_offset): New variable.
- (SKIP_REMAINS_MB_IF_INITIAL_STATE): Modified to use it, don't
- free `mblen_buf', `inputwcs'.
- (match_anychar, match_mb_charset, transit_state_consume_1char,
- transit_state): Use buf_offset in mblen_buf.
- (dfaexec): Realloc things instead of free and malloc.
-
-Thu Mar 4 16:46:55 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac (AC_FUNC_MBRTOWC): Added.
- (AC_CHECK_FUNCS): Removed `mbrtwoc'.
- (REGEX_MALLOC): Removed. Not needed for new regex* routines.
-
- * re.c (research): Removed comment and check for return of -2
- since that was for old regex using alloca or REGEX_MALLOC.
-
-Wed Mar 3 17:10:16 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (close_one): Don't close stdout or stderr; can happen if
- /dev/stdout or /dev/stderr are used in redirection and all the
- open files get used.
-
-Sun Feb 29 12:17:37 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (build_charclass, build_charclass_op): Change type of
- `class_name' parameter to `const char *' from `const unsigned char *'
- and adjust callers.
-
-Thu Feb 26 15:20:22 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (get_src_buf): Rewritten to better manage input and
- supplying newlines on command line programs. Fixes problems reading
- source files on Cygwin.
-
- Unrelated fixes from mary1john8@earthlink.net:
-
- * node.c (format_val): For no malloc case, free s->stptr if necessary.
- * io.c (nextfile): Add missing call to `unref(FILENAME_node->var_value)'
- for no files case.
- (close_redir): Remove file from redirection list even if fp is
- stdout or stderr.
-
-Tue Feb 24 12:11:34 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.c (build_wcs_upper_buffer): Enclose `offsets_needed'
- label in `#ifdef _LIBC' to silence `unused label' compiler warning.
-
-Tue Feb 24 11:57:18 2004 Nelson H.F. Beebe <beebe@math.utah.edu>
-
- * regcomp.c (parse_expression): Add cast to (unsigned char *) in calls
- to `build_charclass_op'.
- * regex_internal.c (build_wcs_buffer): Add cast to char* in call to
- `wcrtomb'.
- * regex_internal.h (bitset_not, bitset_merge, bitset_not_merge,
- bitset_mask, re_string_char_size_a, re_string_wchar_at,
- re_string_elem_size_at): Change to use prototypes.
- (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
- Declare as `internal_function'.
-
- * Makefile.am: Add rule to make .i files. This assists in debugging.
- * awk.h (m_tree_eval): Add casts to NULL. (Some compilers are just
- dumb. ADR)
-
-Mon Feb 23 15:58:39 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Clean up occupied process slots of children that have died:
-
- * awk.h (child_catcher): New function, declare it.
- * main.c (main): Catch SIGCHLD/SIGCLD with `child_catcher'.
- * io.c (child_died): New static variable.
- (child_catcher): New function, sets `child_died', reinstalls self
- as signal handler.
- (close_rp): New function: isolates actual fp/iop closing logic.
- (close_redir): Call `close_rp'.
- (get_a_record): Check `child_died' and call `wait_any(0)' if so.
- Add descriptive comment.
-
- Unrelated clean up:
-
- * eval.c (fcalls): Renamed from `fcall_list'. All uses changed.
- (pop_fcall, push_args, dump_fcall_stack): Adjusted to use indexing
- on `fcalls' instead of a pointer into it. Avoids hassles if `fcalls'
- is realloc-ed during recursive tree_evals. Thanks to BWK.
-
- * config.guess, config.sub: Updated from Savannah.
-
-2004-02-19 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.14.1.
-
-Wed Feb 18 12:40:09 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (rule): Use `msg' not `warning' for `must have an
- an action part' message. `warning' is wrong, since it's a real error.
-
-Mon Feb 16 12:17:39 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c, eval.c, builtin.c: Change test for `#ifdef HAVE_LOCALE_H'
- to `#if ENABLE_NLS && defined(HAVE_LOCALE_H)' so that builds with
- `configure --disable-nls' will actually work on non-glibc systems.
-
-Thu Feb 12 02:05:34 2004 Stepan Kasal <kasal@ucw.cz>
-
- Lots of misc changes from Stepan Kasal integrated.
-
- * array.c: Various variables and parameters of static functions
- changed from int to long, in order to prevent overflow.
-
- * eval.c (make_scalar): New function; takes care of everything
- that has to be done when a node of type Node_var_new or
- Node_array_ref changes to a scalar variable.
- (tree_eval, get_lhs): Call it.
- (tree_eval): From now on, tree_eval(NULL) doesn't work;
- it reports an internal error.
- * awk.h (m_tree_eval): Likewise for the two macro versions.
- * awkgram.y (statement): Make sure the Node_K_return's lnode is
- always the return value, never NULL.
-
- * Makefile.am (install-exec-hook, uninstall-links): Make use of
- $(VERSION).
- (INCLUDES): Renamed to AM_CPPFLAGS.
- (AM_CPPFLAGS): The file libintl.h is generated in the
- build subdirectory intl, not in the directory $(srcdir)/intl.
- (diffout): New target is an alias for ``make -C test diffout.''
- * awklib/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
-
- * README_d/README.hpux: Change the whitespace in the appended patch,
- so that it applies to the current source.
- * posix/gawkmisc.c: Change a tab to a space (needed for the above).
-
- Make version control more in the style of current autotools:
-
- * configure.ac: Remove obsolete versions of macros:
- AM_INIT_AUTOMAKE doesn't need any parameters.
- AC_OUTPUT shouldn't have any parameters either.
- Its parameters go to a new macro: AC_CONFIG_FILES.
- AC_CONFIG_HEADERS moved near the end of the file.
- * configure.ac: Add [version.c:version.in] to AC_CONFIG_FILES
- * version.in: Modify for autoconf substitutions.
- * version.c: Remove, it's generated at configure time now.
- * fixvers, patchlev.h, unsupported/tandem/ptchlvl.h: Nuke and ...
- * Makefile.am, main.c: ... forget them.
-
-Mon Feb 9 12:57:00 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h builtin.c eval.c field.c (HUGE): Changed to `UNLIMITED'.
- Avoids possible conflict with constant in svid-mode math.h. Thanks to
- Roman.Putanowicz@iecn.u-nancy.fr for pointing out the problem.
-
-Fri Feb 6 12:09:55 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Check for `wctype', `wcscoll' and `iswctype'.
- * mbsupport.h: New file. Merges and centralizes testing for MBS support.
- * Makefile.am (base_sources): Add mbsupport.h to list.
- * dfa.c, dfa.h, awk.h (MBS_SUPPORT): Include "mbsupport.h" and use the
- test there.
- * regex_internal (RE_ENABLE_I18N): Same.
-
- * Makefile.am (CLEANFILES): Added.
-
-Thu Feb 5 18:05:12 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac (HAVE_WCTYPE_T): New test code added.
- * dfa.h (wctype_t): Define if system doesn't. Needed here too
- for other files that include dfa.h.
- * dfa.c (wctype_t): Define if system doesn't.
- (lex): Manually fill in arrays used for char class range testing
- so will work on c89 and older compilers.
- (parse_bracket_exp_mb): Split up an assignment to avoid type complaints.
-
- * main.c (main): When checking for `close_io' failure, only set
- `exit_val' to 1 if not already exiting.
-
- * regcomp.c (regerror): Remove use of mempcpy. Generates too
- many compiler warnings.
- * configure.ac (AC_CHECK_FUNCS): Don't bother checking for it.
-
-Wed Feb 4 17:34:47 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.h (__THROW): Only define it if C++. The __GNU_PREREQ
- macro is a major headache.
-
-2004-02-02 Paolo Bonzini <bonzini@gnu.org>
-
- * regexec.c (check_matching): Add P_MATCH_FIRST parameter.
- (re_search_internal): Pass new parameter to check_matching.
- (check_matching): Unless a parenthesized group is found at the
- beginning of the regexp, advance P_MATCH_FIRST until we entered
- a state different from the initial state.
-
-Mon Feb 2 15:52:37 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (research): Change last param to re_search to pass
- NULL if `need_start' is false. May give us a marginal speed gain.
-
-Thu Jan 29 17:04:51 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): Fix logic for `&' in replacement for
- multibyte case. Simplify code a bit.
-
-Tue Jan 20 10:41:45 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Add check for `memmove'.
- * replace.c: Include missing_d/memmove.c if don't have `memmove'.
-
-Sun Jan 18 12:01:29 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): Add comment and support for 2001 POSIX
- behavior when --posix in effect. The masses have been
- clamoring for this one.
-
-2004-01-16 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.13.1.
- * intl/*: Updated to 0.13.1.
-
-Fri Jan 16 08:16:38 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.h, getopt.c, getopt1.c: Synced to GLIBC version:
- getopt.c: 1.51
- getopt.h: 1.18
- getopt1.c: 1.9
-
-Thu Jan 15 15:28:48 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- Here we go again:
-
- * regcomp.c, regex.h, regex.c, regex_internal.h, regex_internal.c,
- regexec.c: Sync to GLIBC version, but with bug fixes. GLIBC
- CVS versions:
-
- regcomp.c: 1.76
- regexec.c: 1.55
- regex.c: 1.125
- regex.h: 1.30
- regex_internal.c: 1.39
- regex_internal.h: 1.45
- regexec.c: 1.55
-
- * acinclude.m4: Removed, not needed for automake 1.8.x.
- * configure.ac: Updated to autoconf 2.59.
-
- Everything else updated to automake 1.8x and autoconf 2.59.
-
-Wed Jan 14 14:26:36 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c, dfa.h: Updated manually with most of the changes in
- grep 2.5.1. That version lost the ability to match newlines
- in the data, so the merge had to be done by hand. Sigh.
-
-2004-01-12 Paolo Bonzini <bonzini@gnu.org>
-
- ALLOCA patch from
- http://sources.redhat.com/ml/libc-alpha/2004-01/msg00099.html
- added.
-
- * regcomp.c [_LIBC && !RE_ENABLE_I18N]:
- Drop code to support this, it is never true.
- (build_range_exp) [!_LIBC]: Do not create a range
- in MBCSET for a single-byte character set.
- (build_range_exp) [_LIBC]: Do not create a range
- in MBCSET for a single-byte character set without
- collation elements.
- (init_dfa): Do not conditionalize on _LIBC, it
- just makes the code less clear.
- (parse_bracket_exp): Use NON_MATCH variable in
- addition to "mbcset->non_match", not as an
- alternative.
- (build_charclass_op): Rename NOT parameter to
- NON_MATCH, use it instead of declaring a variable.
- (parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET
- if the character set is single-byte.
-
-Wed Jan 7 15:23:04 2004 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (mk_rexp): Set n->re_cnt to 1. Makes reinstated
- dfa code actually take effect! Don't know how I missed this.
-
- Unrelated: sync regex code to glibc.
-
- * regcomp.c, regex.h, regex.c, regex_internal.h, regex_internal.c,
- regexec.c: Sync to GLIBC version, but with bug fixes. GLIBC
- CVS versions:
-
- regcomp.c: 1.74
- regex.c: 1.124
- regex.h: 1.30
- regex_internal.c: 1.39
- regex_internal.h: 1.43
- regexec.c: 1.55
-
- * regcomp.c (peek_token): Temporarily, we hope, disable \s and \S
- operators. Too much trouble to document right now.
- * dfa.c (lex): Add code for \s and \S but disable it until
- next release.
-
-Wed Dec 24 15:28:57 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_tree_eval): For Node_assign_concat, add
- call `free_temp(r)'. Thanks to mary1john8@earthlink.net.
-
-Mon Dec 1 10:25:52 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- CONSTVAL not needed if we test PERM instead. Thanks to
- mary1john8@earthlink.net. See test/concat3.awk.
-
- * awk.h [CONSTVAL]: Removed.
- * eval.c (flag2str): Removed CONSTVAL from table.
- (r_tree_eval): For Node_assign_concat, it's enough to check
- if l->flags has PERM clear.
- * awkgram.y (yylex): Removed use of CONSTVAL for YSTRING and YNUMBER.
-
-Mon Nov 3 16:33:26 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (get_src_buf): Replace `memmove' with `memcpy' for
- marginal portability gain to older systems.
- * io.c (get_a_record): Ditto.
-
-Sun Nov 2 15:59:27 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [CONSTVAL]: Renamed from `STRCONST'.
- * eval.c (flags2str): Fix in table.
- (r_tree_eval): For Node_assign_concat, check for the flag for
- both left and right hand sides. Also add a `force_string' call
- for the right hand side and the left hand side.
- * awkgram.y (yylex): Change flag value for YSTRING and add use
- of flag for YNUMBER.
-
-Wed Oct 29 14:23:29 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [STRCONST]: New flag value.
- * eval.c (flags2str): Add it to table.
- (r_tree_eval): For Node_assign_concat, check for the flag so that
- we don't clobber string constants given:
- s = ""
- s = s something
- * awkgram.y (yylex): For YSTRING, set STRCONST flag.
-
-Tue Oct 28 18:00:00 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Force SUBSEP to always have a string value. Per bug report
- from mary1john8@earthlink.net.
-
- * awk.h (NODETYPE): New type, Node_SUBSEP.
- (set_SUBSEP): Add declaration.
- * awkgram.y (isnoeffect, isassignable): Add Node_SUBSPEP case.
- * array.c (set_SUBSEP): New function.
- * eval.c (nodetypes): Add Node_SUBSEP.
- (r_tree_eval, r_get_lhs): Add code for Node_SUBSEP.
- * main.c (varinit): Use Node_SUBSEP as type for SUBSEP.
- * profile.c (tree_eval, pp_lhs, is_scalar, prec_level): Handle
- Node_SUBSEP.
-
-Tue Oct 7 09:26:33 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NODETYPE): New member `Node_assign_concat'.
- * awkgram.y (exp): Look for case of `x = x y' and if so, create a
- Node_assign_concat.
- * eval.c (interpret): Add case for Node_assign_concat.
- * profile.c (prec_level): Ditto.
- (tree_eval): Ditto. For variables, call new function `vname' to
- print name; handles varname field for -v variables, which end up
- including the value.
- (vname): New function.
-
-Wed Sep 24 17:32:31 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Speed up `avoid_dfa' kludge, at least a little:
-
- * awk.h (struct Regexp): Add `has_anchor' member. Make it and
- `dfa' member shorts; keeps space the same.
- * re.c (make_regexp): Set `has_anchor' member correctly.
- (avoid_dfa): Test for `has_anchor' member instead of searching
- for it each time.
-
-Sun Sep 21 18:34:32 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (state): Only needs to be 256 bytes, initstate() can't
- use any more than that. Well whadayaknow.
- (do_rand, do_srand): Call `setstate' after calling `initstate'.
-
-Tue Sep 16 15:44:29 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (interpret): For Node_K_switch, add kludge_need_start stuff
- as used in `match_op'. Sigh.
- * re.c (make_regexp): Add `no_dfa' variable, which is true if
- GAWK_NO_DFA exists in the environment. This enables run time
- testing of things with/without the dfa matcher.
-
-Mon Sep 15 18:36:38 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- After much soul searching, reinstated old dfa code. The performance
- of the new regex is just disastrous. Sigh.
-
- * awk.h (re_cnt): Reinstated old definition.
- (struct Regexp): Added `dfareg' and `dfa' members.
- (make_regexp): New last parameter in function, changed decl.
- (avoid_dfa): Added declaration.
- * awkgram.y (regexp, mk_rexp): Added use of `re_cnt'. Fixed call
- to `make_regexp'.
- * Makefile.am: Add dfa.h and dfa.c.
- * eval.c (match_op): Complexified: added call to `avoid_dfa' and
- `kludge_need_start' variable where used to pass FALSE as last parameter
- of research().
- * field.c (set_FS): Fixed call to `make_regexp'.
- * io.c (get_a_record, set_RS): Fixed calls to `make_regexp'.
- * re.c (make_regexp): Added last paramter (`dfa') to function.
- Complexified the code.
- (re_update): Fixed call to `make_regexp'.
- (research): Complexified the code, added calls to dfa stuff.
- (dfaerror): New function.
- (re_update): Fixed call to `make_regexp'.
- (avoid_dfa): New function.
-
-Tue Sep 9 15:57:38 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (get_src_buf): Fix calculation of `offset' when shifting
- source lines around. In general, improve handling of things when
- moving the source code line around. What a mess this code is.
-
-Mon Sep 8 19:08:55 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (fmt_ok): Make provision for %F format and printf %'f flag
- here too.
-
-2003-07-23 Christophe Bisiere <bisiere@univ-tlse1.fr> (tiny change)
-
- * posix/regex.h (RE_TRANSLATE_TYPE): Define it to "unsigned char,"
- to avoid problems at hosts with signed char.
- * posix/regexec.c (re_search_internal): Don't say
- "unsigned RE_TRANSLATE_TYPE."
-
-Thu Aug 28 11:09:41 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (nextfile): Change use of variable `files' to make it
- clearer that it's a boolean flag.
-
-Tue Aug 26 22:58:15 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (useropen): Add `defined (HAVE_GETGROUPS)' as first test
- in `#ifdef'. Brings things in sync with same test in main.c and awk.h.
-
-Tue Aug 26 22:49:37 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * dbug.h: New file.
-
- * array.c, awkgram.y, builtin.c, eval.c, ext.c, field.c, io.c,
- main.c, msg.c, node.c, profile.c, re.c: Converted to use
- Fred Fish's `dbug' library. By default compiled out, thus
- not affecting speed.
-
- For the nonce, the `dbug' library itself is not shipped with
- gawk, since I expect no-one else but me to be using it.
-
-Thu Aug 21 23:15:36 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (numfiles): Change extern decl to long, to match what's
- in main.c. Keeps things working on 64-bit systems. Thanks to bug
- report from Jan Oravec <jan.oravec@6com.sk>.
-
-Wed Aug 20 14:53:47 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (genflags2str): Move test for out-of-space inside test
- for is the bit set.
-
-Mon Aug 11 11:26:51 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (parse_bracket_exp): If `build_charclass' fails, just pass
- its value on as the return value.
-
-Sun Aug 10 16:59:14 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c (build_range_exp): Make sure we don't
- get WEOF on range characters.
-
-Tue Aug 5 21:49:32 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (get_actual): In `case Node_param_list' add test for
- `&& (symbol->flags & FUNC) == 0' to the if.
-
-Sun Jul 13 18:28:38 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Further bug fix:
-
- * awkgram.y (variable): Give the new variable an lnode
- of Nnull_string if it's not an array, even if it is
- a Node_var_new.
-
-Fri Jul 11 09:32:21 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Bug fix:
-
- * eval.c (r_tree_eval): For Node_array_ref, set
- tree->orig_array->var_value to Nnull_string too.
-
- Unrelated i18n and POSIX change:
-
- * configure.ac: Add check for local printf supporting %F format.
- * awk.h (loc): New variable declaration.
- * main.c (loc): Defined.
- (main): Call `localeconv' to set loc.
- * io.c (format_tree): Add support for printf quote flag, %'d for
- decimal formats (not %e, %E), adds thousand separator into value.
-
-2003-07-10 Paul Eggert <eggert@twinsun.com>
-
- * io.c (two_way_open): If /bin/sh cannot be executed, exit
- with status 126 consistently.
-
-Mon Jul 7 11:01:43 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.3: Release tar file made.
-
-Mon Jul 7 09:55:49 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (copyleft, usage): Make sure to fflush output fp. Per Jim
- Meyering, if error, exit non-zero.
- * ext.c (get_argument): Fix array paramater handling.
-
-2003-07-06 Paul Eggert <eggert@twinsun.com>
-
- * builtin.c (do_substr): Issue better diagnostics when
- d_substr and d_length are NaN, or when 0 < d_length < 1.
- Be careful when comparing double to SIZE_MAX, as
- the comparison might return the "wrong" answer when
- `(double) SIZE_MAX' is a number that is not equal to
- SIZE_MAX.
- (do_gensub): Watch out for HOW values that are out of range
- or are NaN.
- (do_dcngettext): dcngettext wants an argument of type
- unsigned long, not long, so use a value of that type.
-
-Fri Jul 4 10:58:02 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Make option letter 'D' fall through into default
- unknown case if not debugging. Let's us have just one version of
- `optlist'.
-
-Thu Jun 26 15:25:57 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (get_actual): Undo Stepan Kasal change of 2003-06-17.
- See test/match2.awk.
-
-Wed Jun 25 15:26:08 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_rand): Change calculation so that result
- obeys constraint: 0 <= N < 1. This is per history and POSIX.
- Thanks to Nelson Beebe (beebe@math.utah.edu) for reporting
- this issue.
-
-Mon Jun 23 15:13:39 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (rs1scan): Per advice from Bruno Haible, it's safe
- to skip the multibyte checking code if RS is '\n'. See
- the comment in the code. Big performance improvement for
- multibyte locales.
-
-2003-06-20 Stepan Kasal <kasal@ucw.cz>
-
- * eval.c (comp_func): If memcmp returns 0, we have to compare
- the lengths.
-
-2003-06-19 Stepan Kasal <kasal@ucw.cz>
-
- * eval.c (interpret) <Node_K_arrayfor>: Use NULL, not 0, to
- initialize the variable list.
- (comp_func): Array indices no longer are string values,
- you have to use ahname_str, ahname_len.
-
-Tue Jun 17 11:53:46 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (get_actual): Make check for isparam
- smarter: also check for FUNC flag.
-
-2003-06-17 Stepan Kasal <kasal@ucw.cz>
-
- * array.c (get_actual): Even if canfatal is FALSE, don't
- tolerate existence of things which can't happen.
-
-Mon Jun 16 16:21:44 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Removed m4/Makefile.
- * m4/Makefile.am: Removed.
-
-2003-06-16 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.ac (AC_OUTPUT): Add m4/Makefile.
- (AM_GNU_GETTEXT_VERSION): Bump to 0.12.1.
-
-Sun Jun 15 20:45:43 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Enhance logic to fill buffers to include
- `|| no_data_left(iop)'.
- (rs1scan): Fix logic for setting recm fields for multibyte
- character case.
-
-2003-06-10 Stepan Kasal <kasal@ucw.cz>
-
- * awkgram.y (release_all_vars): Do not try to release a value of
- Node_var_new; after get_lhs, use the lhs directly, do not try
- to do (*lhs)->var_value; the Node_var case doesn't need
- special treatment.
- * builtin.c (do_match): `get_param' is successful iff it returns
- Node_var_array---if the variable was new, get_param has already
- changed the type.
- * field.c (do_split): Likewise.
-
-Sun Jun 15 19:36:35 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (r_dupnode): Typo fix in hash tables: stptr -> ahname_str.
- Thanks to mary1john8@earthlink.net.
- * array.c (get_actual): Add `if (canfatal)' before call to
- `cant_happen'.
-
-Sun Jun 15 19:25:49 2003 Patrick T.J. McPhee <ptjm@interlog.com>
-
- * awk.h (memcpy_ulong): Add ! WIN32 to ifdefs.
-
-Mon Jun 9 18:38:20 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h (hpux): Added stuff to (hopefully) get `tzset'
- declared on HP/UX 10 and up.
-
-Mon Jun 9 17:12:24 2003 Patrick T.J. McPhee <ptjm@interlog.com>
-
- * awk.h (ATTRIBUTE_EXPORTED): New macro for dynamic libs on Windows32.
- * CONVMFTidx, stack_ptr, do_lint, lintfunc: Now have this attribute.
-
-Mon Jun 9 13:11:33 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Clean up of Stepan's patches.
-
- * array.c (get_actual): Renamed from r_get_array. Added second
- param canfatal if routine should print fatal message when not an array.
- (get_actual): Renamed 'prm' to `isparam'.
- (array_vname): Add static msglen var; only realloc string if it grows.
- Don't use `s += sprintf(...)'. No good on old systems where sprintf
- returns char *. Minor formatting cleanups.
- (do_adump): Restored separate `a' and `r' variables; helps for debugging.
-
- * awk.h (SCALAR, UNINITIALIZED): Removed entirely, renumbered other flags.
- (get_array, get_param): New macros, calls get_actual.
- (get_actual): Declaration changed from that of r_get_array.
-
- * awkgram.y (release_all_vars): Restored previous version of code; new
- version isn't right for Node_xx variables.
- (variable): Minor code cleanup for readability.
-
- * builtin.c (do_match): Use get_param and print our own message when
- third parameter is not an array.
-
- * eval.c: Added a few comments here and there, removed some no longer
- needed comments.
-
- * field.c (do_split): Use get_param and print our own message when
- second parameter is not an array.
-
-Mon Jun 9 11:46:21 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (do_delete): Initialize hash1 and last to keep gcc -Wall happy.
- * io.c (rsnullscan): Comment out label skip_leading for same reason.
-
-Wed May 28 08:31:23 CEST 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * eval.c (forloops_active, in_function): Nuked.
- (pop_all_forloops, pop_fcall_stack): Are now inline.
-
-Wed May 28 07:58:35 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * field.c, awk.h (Null_field): No longer static.
- * field.c (init_fields): Initial value of $0 can be Nnull_string,
- no need to copy it.
- * eval.c (r_get_lhs) <Node_field_spec>: Test for uninitialized field,
- which is Nnull_string for $0 and Null_field for $(>0).
- * builtin.c (do_print_rec): Test for uninitialized $0.
-
-Tue May 27 17:03:02 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * awk.h (Node_var_new): New node type for variables which can be
- either scalar or array. From now on, Node_var is always scalar.
- (Node_gvar_ref): Nuked, its role can be taken by Node_array_ref.
- (orig_var): Removed, orig_array is enough.
- (SCALAR, UNINITIALIZED): Flags nuked.
- (var_uninitialized): New macro to distinguish uninitialized vars;
- used in several other macros.
- * array.c (r_get_array, array_vname, do_adump): Adapt to the
- above changes.
- * awkgram.y, eval.c, field.c, main.c, node.c, profile.c: Ditto.
-
-Tue May 27 14:27:50 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * array.c (r_get_array): New function, which goes all the way
- through Node_param_list to actual Node_var_array; if it encounters
- non scalar Node_var, it changes it to Node_var_array.
- (in_array, do_delete, do_delete_loop, do_adump, assoc_sort_inplace):
- Use get_array.
- (assoc_lookup): The parameter must be a Node_var_array.
- * awk.h (get_array, r_get_array): Declare the new function and define
- a macro to speed it up.
- * builtin.c (do_match): Use get_array.
- * eval.c (interpret) <Node_K_arrayfor>: Ditto.
- (r_get_lhs) <Node_K_arrayfor>: Ditto.
- * field.c (do_split): Ditto.
-
-Tue May 27 08:23:51 2003 Stepan Kasal <kasal@math.cas.cz>
-
- Changed node->vname meaning for type Node_array_ref and Node_gvar_ref.
- It contains only the reference name; one has to (recursively) follow
- node->prev_array to find out the call history for the array.
-
- * array.c (array_vname): New function to print the array name.
- (assoc_lookup, do_delete): Use array_vname.
- * eval.c (interpret, r_tree_eval, r_get_lhs): Use array_vname.
- (push_args, pop_fcall): Things have simplified.
- * awk.h (array_vname): Declare.
- (prev_array): Define.
-
-Sun Jun 8 11:25:36 2003 Stepan Kasal <kasal@ucw.cz>
-
- * awkgram.y (append_right): When using savetail, remember that it
- is not necessarily the tail of the list---it's just a pointer to
- the last chunk appended.
-
-Thu Jun 5 12:01:41 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_strtonum): Make `strtonum(13)' work.
-
-Wed Jun 4 17:07:06 2003 Corinna Vinschen <vinschen@redhat.com>
-
- * io.c (binmode): Include function for __CYGWIN__ too.
-
-Tue Jun 3 12:40:50 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (interpret): Node_K_switch. For regex case, don't
- call `free_temp' on the result of `force_string' if it's equal to
- switch_value. Thanks to John DuBois <spcecdt@armory.com>
- for finding the problem.
-
-Sun Jun 1 13:08:22 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): For %c, force precision to 1.
-
-Wed May 28 11:55:48 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (isnoeffect, isassignable): Add Node_TEXTDOMAIN to
- switches in both functions.
-
-Wed May 28 11:38:59 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * awkgram.y (switch_body): Remove rule ``switch_body:/*empty/''
- as ``switch_body:case_statements'' covers it---this disambiguation
- fixes a reduce/reduce conflict.
-
-Sun May 25 16:23:43 2003 Corinna Vinschen <vinschen@redhat.com>
-
- * configure.ac: Remove linking against /usr/lib/automode.o.
- * configure: Regenerate.
-
-Sun May 25 15:19:19 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * awk.h (get_lhs): For an initialized Node_var, you may return
- the address of var_value pointer, no matter whether reference
- bit was set or not. We were silly slowing down most of the
- assignements.
-
- * (get_a_record): After grow_iop_buffer, move recm.rt_start even
- if recm.len == 0.
-
-Mon May 19 16:55:59 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Code for C-style switch statements. Initial version contributed by
- Michael Benzinger <Michael.Benzinger@sabre-holdings.com>.
-
- Disabled by default, use `configure --enable-switch' to turn it on.
-
- * configure.ac: New AC_ARG_ENABLE for switch statements.
- * awk.h (NODETYPE): New types for switch, case, default keywords
- and respective lists.
- * awkgram.y: New productions for switch statement. Does checking to
- avoid duplicate cases.
- * eval.c (nodetypes): New entries for new NODETYPEs.
- (interpret): New code to do switch execution.
- * profile.c (pprint): New code to print switch statements.
-
-Mon May 19 15:05:43 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.ac: Renamed from configure.in.
- * fixvers: Now looks in configure.ac.
- * Makefile.am: Now cites configure.ac.
-
- * Misc other: Updated to Automake 1.7.5.
-
-Sun May 18 12:03:56 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (do_delete_loop): Fix bracing of logic for
- tests.
-
-Wed May 14 09:01:16 2003 Stepan Kasal <kasal@math.cas.cz>
-
- Misc patches:
-
- * builtin.c (do_match): If third parameter to `match' is supplied,
- store all subexpressions which are applicable, even though there
- are some unused between them.
-
- * awkgram.y (yylex): When returning from unterminated REGEXP
- (which is /* kludge */), take care to fake a yylval, to
- prevent ``internal error'' later.
-
-Sun May 11 15:51:00 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * io.c (rsnullscan, get_a_record): Boundary condition bug fixes.
-
-Sun May 11 15:15:20 2003 Scott Deifik <scottd@amgen.com>
-
- * awk.h: Add decls for `memcpy_ulong', `memset_ulong', and
- MSC defines.
- * regex.c: Include <stdio.h> if MSC for size_t.
-
-Mon May 5 15:11:06 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Only tweak RT's value in place if the current
- RS scanner is the same as the last one. Bug report submitted by
- John DuBois (<spcecdt@armory.com>).
-
-Fri May 2 14:39:48 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Add logic at end to be smart about setting
- RT. Saves considerable time, esp for default case where RS = "\n".
-
-Wed Apr 30 11:44:38 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (do_split): Add check and code for Node_gvar_ref.
- * array.c (in_array, do_delete, asort_actual): Same.
- * builtin.c (do_split): Same for 3rd arg array parameter.
- * eval.c (interpret): Same for Node_K_array_for.
- (push_args): Same for evaluating extra args.
-
-Tue Apr 29 15:54:28 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Record reading code redone/simplified considerably.
-
- * awk.h (IOBUF): Removed total field, no longer used.
- * io.c (at_eof, has_data, no_data_left): New macros.
- (RECVALUE, SCANSTATE): New enumerated types.
- (rs1get_a_record, rsnull_get_a_record, rsre_get_a_record): Removed.
- (get_a_record): Rewritten, again. Now contains just buffer and
- record code; searching code moved into these functions:
- (rs1scan, rsnullscan, rsrescan): New functions to scan a buffer
- for record contents and terminator. Fill in values in:
- (struct recmatch): Holds found record and terminator.
- (spec_setup): Set iop->dataend to indicate data is already in buffer.
- (nextfile, inrec): Use new macros instead of flag and pointer tests.
- (set_RS): Set scanning function instead of record function.
-
- FWIW, it all passes `make test'.
-
-Sun Apr 27 21:02:39 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (do_close): At end, if do_posix return 0. See comment in code.
-
-Tue Apr 15 09:56:03 2003 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * configure.in: Check existence of wcrtomb, and wcscoll.
- * configh.in: Likewise.
- * configure: Re-generate.
- Thanks to Kimura Koichi <kimura.koichi@canon.co.jp> for reporting.
-
-Sun Apr 13 16:02:10 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Add call to `setlocale' for LC_NUMERIC after program is
- parsed.
- (arg_assign): Switch back to "C" locale for LC_NUMERIC for command
- line assignments; this is per POSIX that period is decimal point for
- program and command line assignments and the locale's separator
- applies for input, output, and string to number conversion.
-
-2003-03-26 Paul Eggert <eggert@twinsun.com>
-
- * builtin.c [HAVE_INTTYPES_H]: Include <inttypes.h>.
- [!HAVE_INTTYPES_H && HAVE_STDINT_H]: Include <stdint.h>.
- (CHAR_BIT, INTMAX_MIN, UINTMAX_MAX): Define if the system does not.
- (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): New macros, taken from
- coreutils and many other GNU utilities.
- (format_tree): When formatting, use widest possible integers
- rather than settling with 'long'.
- (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl): Likewise,
- when doing bitwise operations.
- * configure.in (jm_AC_TYPE_LONG_LONG, jm_AC_TYPE_UNSIGNED_LONG_LONG,
- jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): Add, since the mainline
- code now needs this.
- * doc/gawk.texi (Control Letters, Bitwise Functions): Document this.
- * m4/intmax_t.m4: New file, taken from coreutils (but renamed to
- avoid collision with our m4/inttypes.m4).
- * m4/longlong.m4: New file, taken from coreutils.
- * m4/uintmax_t.m4, m4/ulonglong.m4: Remove; superseded by the above
- new m4 files.
-
- * builtin.c (BITS_PER_BYTE): Remove; use CHAR_BIT instead, since
- it's the standard name.
- (do_lshift, do_rshift): Complain if the shift width is exactly equal
- to the word size, too.
-
-Thu Mar 27 10:44:11 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record):
- Enhance check for no data left in file to be only if file has
- non-zero size. Linux files such as /proc/filesystems stat as a
- regular file of size 0, but actually have contents. Ugh.
- Thanks to Martin Schlemmer <azarah@gentoo.org> for the bug report.
-
-Wed Mar 26 12:19:32 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): Add a lint warning at label `out_of_range'.
-
-Tue Mar 25 12:24:38 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (variable): For array subscript, if NAME is in the
- symbol table, but not a variable, array, or parameter, generate
- a syntax error.
- (isarray): New function, tests if a symbol can be an array.
-
- * custom.h: Add check for HP/UX, needed for GCC.
-
-Mon Mar 17 09:21:09 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Allow simultaneous manipulation of a global array directly
- and when passed as a parameter.
-
- * awk.h (Node_gvar_ref): New nodetype.
- [orig_var]: New macro.
- * array.c (do_delete_loop, do_delete): Add logic to handle
- seeing Node_gvar_ref.
- * eval.c (nodetypes): Add Node_gvar_ref.
- (r_tree_eval, r_get_lhs): Add Node_gvar_ref case.
-
-Wed Mar 19 14:10:31 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- This time for sure.
- -- Bullwinkle
-
- * Release 3.1.2: Release tar file made.
-
-Wed Mar 19 14:08:11 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: Production `program --> program error'. Add a return so
- that we don't produce an infinite stream of error messages.
- Thanks to Michael Mauch <michael.mauch@gmx.de> for pointing this out.
-
-Wed Mar 19 13:45:50 2003 Corinna Vinschen <vinschen@redhat.com>
-
- * regex.c [RE_ENBABLE_I18N]: Remove definition; the one in
- regex_internal.h is better and makes things work with Cygwin.
-
-Tue Mar 11 11:54:20 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.h: Don't include <limits.h> after <regex.h> was
- included in regex.c, since it could redefine RE_DUP_MAX to a lower
- value.
- (bitset_set, bitset_clear, bitset_contain): Use 1UL instead of 1 in
- left shift operations.
- * regex.c: Include <limits.h> before <regex.h>
- * regcomp.c (re_compile_fastmap_iter, init_word_char, parse_expression):
- Use 1UL instead of 1 in left shift operations.
-
-Mon Mar 10 15:45:37 2003 Corinna Vinschen <vinschen@redhat.com>
-
- * configure.in: Update CYGWIN case to add /usr/lib/automode.o.
-
-Thu Mar 6 11:07:36 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Updated to automake 1.7.3.
-
- * config.guess, config.sub: Updated from prep.
- * Makefile.am (AUTOMAKE_OPTIONS): Add dist-bzip2 to get .bz2 files.
-
-Tue Mar 4 10:40:46 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * version.in: Added goop for K&R compilers; forgot that I have to fix
- this file which then is used to create version.c.
-
-Mon Mar 3 17:00:44 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: New option --disable-lint.
- * awk.h (do_lint, do_lint_old): Conditionally declare based on NO_LINT.
- * eval.c (set_LINT): Ifdef out body if NO_LINT.
- * main.c (do_lint, do_lint_old): Conditionally compile properly.
- (main): Handle --lint argument code.
-
-Fri Feb 28 10:43:07 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Add LC_TIME to the things that get set with
- setlocale().
- * builtin.c (format_tree): Change test of `n0-- <= 0' to ==, avoids
- VMS diagnostic.
-
-Thu Feb 27 17:48:29 2003 Pat Rankin <rankin@pactechdata.com>
-
- * regexec.c (proceed_next_node): Cast re_string_get_buffer to char *.
- (get_subexp): Likewise.
-
-Tue Feb 25 12:33:41 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.h, regex_internal.c, regcomp.c, regexec.c:
- Make MB_CUR_MAX into thread local variable re_mb_cur_max.
-
- Unrelated, from Scott Deifik:
-
- * io.c (grow_iop_buffer): Add checks for overflow of new buffer size.
-
-Mon Feb 24 13:30:59 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (gawk_mb_cur_max): Declared:
- * main.c (gawk_mb_cur_max): Defined, init to 1.
- (main): Initialize gawk_mb_cur_max.
- * awkgram.y, builtin.c, eval.c, field.c, io.c, re.c (mb_cur_max):
- Replaces all instances of MB_CUR_MAX, which is a function call (!)
- in glibc. Big speed up, especially for -Fx case, where x is a
- single character.
-
- Unrelated:
-
- * awkgram.y (rule): For non-existent action, use a Node_K_print_rec
- node.
-
-Sun Feb 23 15:45:20 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Speed up plain `print' and `print $0':
-
- * awk.h (Node_K_print_rec): New node type.
- (do_print_rec): Declare function.
- * awkgram.y (simple_stmt): Create humongous test for plain `print'
- or `print $0', and if so, use a Node_K_print_rec for it. Modify
- test for lint message.
- * builtin.c (redirect_to_fp): New function for common code to get fp
- and rp for do_print{,f,_rec} functions.
- (do_print): Use redirect_to_fp().
- (do_printf): Use redirect_to_fp().
- (do_print_rec): New function to just print $0 from field_arr[0]
- directly; will rebuild the record first if necessary.
- * eval.c (nodetypes): Add Node_K_print_rec.
- (interpret): Add Node_K_print_rec case.
- * profile.c (pprint): Add Node_K_print_rec case.
- (pp_print_stmt): If null lnode, print "$0" else print the lnode.
-
- Unrelated:
-
- * regex_internal.h: Add ENABLE_NLS to the condition for using
- gettext so that --disable-nls really disables it.
-
-Sat Feb 23 22:46:00 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record):
- Modify buffer-filling algorithm to always read one or more multiples
- of the blocksize (iop->readsize).
- (grow_iop_buffer): Make sure there's room for the current partially
- read record and one disk block buffer.
-
-Thu Feb 20 22:02:00 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (research): Fix typo in cast of precision value to int.
- * regex.h, regex.c, re_internal.h, re_internal.c, regcomp.c, regexec.c:
- synced to GLIBC source, maintaining K&R portability changes, and bug
- fixes, although losing ability to compile each file separately.
- * Makefile.am (SOURCES): Moved placement of regex source files from here ...
- (EXTRA_DIST): ... to here.
-
-Tue Feb 18 14:17:33 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (research): Cast precision value to int.
- * builtin.c (format_tree): For toofew, cast field width value to int.
- * io.c (rsre_get_a_record): Initialize restart and reend. Add a variable
- to make sure they're set before used at end of function.
- (iopflags2str): Removed decl at top and made not static so that GCC
- stops complaining that it's defined but not used. Bleah.
-
-Mon Feb 17 11:02:34 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * config.guess, config.sub: Updated from prep.
-
-Sun Feb 16 15:47:15 2003 Scott Deifik <scottd@amgen.com>
-
- * awk.h (format_tree, make_str_node): Changed decls to match how
- they are called.
- * builtin.c (format_tree, sub_common): Same.
- * node.c (make_str_node): Same.
-
-Wed Feb 5 14:18:01 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Removed duplicate decl of set_prof_file(). Removed
- undef of const for non-ANSI C; config.h should handle it.
- * msg.c (set_loc): Use srcfile and srcline in regular code to shut up
- stupid SGI compiler.
-
-Tue Feb 4 14:28:06 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- All relevant files: Copyright year updated to 2003.
-
-Tue Feb 4 13:40:41 2003 Martin C. Brown <mc@whoever.com>
-
- * intl/libgnuintl.h: Preprocessor fixes for MacOS X.
- * regex.h: Ditto.
-
-Tue Feb 4 13:39:37 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (builtin_func): New string for use in rationalizing
- function parsing and installation code.
-
-Sun Feb 2 16:00:55 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Cache function body code pointer so that only have to find it the
- first time a function is called. This potential for optimization
- brought to my attention by Stepan Kasal.
-
- * awk.h [funcbody]: New macro.
- * awkgram.y (FUNC_CALL): Set $$->funcbody to NULL.
- * eval.c (func_call): Changed to take top-level Node_func_call as the
- single parameter. Do the lookup and caching.
- (r_tree_eval): Change how func_call() is called in switch.
- * profile.c (pp_func_call): Similar changes.
- (tree_eval): Ditto.
-
-Sun Feb 2 15:32:42 2003 Stepan Kasal <kasal@math.cas.cz>
-
- ADR: More grammar rationalization/repair from Stepan.
-
- * awkgram.y (common_exp, simp_exp): The rule from getline (without
- pipe) has been moved from common_exp to simp_exp.
-
- The redirection of print statements reworked. The idea comes from
- mawk-1.3.3; much thanks to Michael Brennan!
-
- * awkgram.y (IO_OUT, IO_IN): New tokens.
- (APPEND_OP, TWOWAYIO): Swallowed by the above ones.
- (in_print, in_parens): New static variables, to trace whether
- IO_OUT is expected.
- (yylex): Emit the new tokens, update in_parens on '(' and ')'.
- (exp): The print command(s) reworked.
- (oputput_redir): Reworked.
- (print_expression_list): New non-terminal.
- (rexp, rexpression_list opt_rexpression_list): Nuked.
- (exp, simp_exp): ``cmd|getline'' rule changed to
- ``cmd IO_IN getline'' and moved from exp to simp_exp.
-
- Unrelated:
-
- * awkgram.y (variable): Don't return Node_func, issue a fatal
- error instead.
- * eval.c (r_tree_eval, r_get_lhs): Omit special checks for Node_func,
- nodes of this type cannot get into the program tree.
- * profile.c (tree_eval, pp_lhs): Likewise.
-
-Thu Jan 30 17:42:05 2003 Stepan Kasal <kasal@math.cas.cz>
-
- ADR: Applied lots of patches from Stepan.
-
- * array.c (do_delete_loop): Call after_assign for the loop index.
- * field.c (do_split): The third argument to split(), sep, has to be
- evaluated and the result dupnoded before assoc_clear is called,
- similarily as src. And we needn't to evaluate the third argument
- if it's CONSTant regex and the first parameter is null string.
- * awk.h (dupnode): Changed to macro, function renamed to r_dupnode.
- * node.c (dupnode, r_dupnode): Rename.
- * awkgram.y (parms_shadow): Return bool value, ...
- (shadow_funcs): ... which will enable us to end the program if
- lintfunc is fatal.
- (program): Cleanup of the rules defining the ``program'' non-terminal.
- (start, program, rule): No value associated,
- expression_value is now treated similarily as begin_block and end_block.
- (pattern, rule): Bison actions for non-terminal `pattern' now
- add a new rule to the appropriate Node_rule_list, action for
- non-terminal `rule' now only adds the associated code block
- to the rnode of Node_rule_node.
- (io_allowed): Renamed to !begin_or_end_rule.
- (append_pattern): New function, adds new Node_rule_node to a rule_list.
- (mkrangenode): Deleted, this tiny function was called only once.
- (function_body): Non-terminal replaced by `action'.
- (statements, action, statement): `statements' can now be empty;
- both callers had to accomodate to this.
- (statements): Don't call isnoeffect($2->type) if
- $2 happens to be NULL.
-
-Mon Jan 27 14:12:19 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (iop_close): Based on report by Stepan Kasal and because of
- his changes, don't call reset_record() when saving a copy of contents
- of $0.
- * awkgram.y: Improved function parsing error messages for case where
- user uses a builtin name as a function name. Based on error report
- by Stepan Kasal.
- * ext.c (make_builtin): Set FUNC flag for new function. Based on error
- report by Stepan Kasal.
-
-Mon Jan 27 14:06:20 2003 Stepan Kasal <kasal@math.cas.cz>
-
- * field.c (reset_record): No longer call set_record(), the code is
- moved to the function body. Do not set MAYBE_NUM.
- (set_record): Call reset_record() to perform the common tasks.
- The prototype has changed, change awk.h and all callers.
-
-Mon Jan 27 10:50:03 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NODE): `proc' renamed to `builtin,' to fix a conflict
- on some systems. Replaced on all spots where it was used.
-
-Sun Jan 26 11:52:01 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [NUMSUBPATS]: New macro.
- * builtin.c (do_match): Use it in loop that fills in subpattern info.
- * eval.c (r_tree_eval): For Node_assign, don't call free_temp(),
- as assign_val() contains dupnode(), which would clear the TEMP
- flag. From Stepan Kasal <kasal@math.cas.cz>.
- * config.sub: Updated from prep.
-
-Sun Jan 19 22:34:01 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (do_asorti): Add declaration.
- * awkgram.y (tokentab): Add asorti() function to table.
- * array.c (ASORT_TYPE): New enumerated type for VALUE or INDEX array
- sorting.
- (assoc_sort_inplace): New second arg of type ASORT_TYPE. Additional code
- to rearrange array so rest of merge-sorting works; basically values are
- tossed and index moved into value spot.
- (asort_actual): Renamed from do_asort(). Takes new ASORT_TYPE argument.
- (do_asort): Calls asort_actual(tree, VALUE).
- (do_asorti): Calls asort_actual(tree, INDEX).
-
- * main.c (load_procinfo): Free groupset array when done with it.
-
-Thu Jan 16 18:30:50 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_match): Revised to provide start and length
- indices in array 3rd parameter.
- * config.guess, config.sub: Updated from prep.
-
-Thu Jan 2 11:09:12 2003 Arnold D. Robbins <arnold@skeeve.com>
-
- Updated to bison 1.875.
-
-Tue Dec 31 17:14:45 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Updated things to automake 1.7.2 and autoconf 2.57.
-
-Tue Dec 31 16:54:44 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [IOP_CLOSED]: New flag.
- * io.c (iop_close): Set IOP_CLOSED flag.
- (inrec): Check for IOP_CLOSED; if set return EOF.
- (rs1_get_a_record, rsnull_get_a_record): Check for EOF before
- refilling buffers.
- (rsre_get_a_record): Ditto. Also, set RT before updating pointers in IOP.
- * Makefile.am (efence): New target to compile with Electric Fence.
-
-2002-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * awk.h (catchsig): Delete prototype.
- * main.c (catchsig): Make static and remove excess argument.
- (main): Delete unnecessary casts.
- * io.c (rs1_get_a_record, rsnull_get_a_record): Mark parameter
- with ATTRIBUTE_UNUSED.
-
-Mon Dec 23 11:54:07 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex_internal.h, regex_internal.c, regcomp.c, regexec.c, version.c:
- Fixed to compile, once again, under K&R compilers.
- * io.c (grow_iop_buffer): Fix calculation of new size to
- first subtract 2, double, then add 2 back in.
-
-Fri Dec 20 11:48:42 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- get_a_record split into three routines.
-
- * awk.h (IOBUF): Structure reworked for new code.
- * io.c (get_a_record): Now a pointer to different functions.
- (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record): New functions.
- (iop_alloc, iop_close): Reworked for new structure.
- (do_getline, inrec): Modifiend for new EOF condition.
- (iopflags2str): New routine.
-
-Fri Dec 20 11:05:50 2002 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c, regex_internal.c, regex_internal.h: Changes to allow separate
- compilation of the reg*c files.
- * regcomp.c: Fix bug in using translation tables with [[:upper:]] etc.
- * Makefile.am: Move regex files into sources from EXTRA_DIST. (ADR)
-
-Mon Dec 9 14:20:42 2002 Stepan Kasal <kasal@math.cas.cz>
-
- * main.c (main): When processing option '-f' don't ignore spaces
- if optarg points at the beginning of the current argument
- (like ``gawk -f " " file'').
-
-2002-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * awkgram.y (stopme): Mark parameter with ATTRIBUTE_UNUSED.
- (yyerror): Add ATTRIBUTE_PRINTF_1.
- * builtin.c (do_systime, do_rand): Likewise.
- * field.c (set_field, re_parse_field, def_parse_field,
- posix_def_parse_field, null_parse_field, sc_parse_field,
- fw_parse_field): Likewise.
- * io.c (pidopen, useropen): Likewise.
- * main.c (catchsig): Likewise.
- * profile.c (init_profiling): Likewise.
- * awk.h (err): Add ATTRIBUTE_PRINTF.
- * msg.c (err): Delete redundant prototype. Fix format specifier.
-
-Wed Nov 27 06:04:20 2002 Pat Rankin <rankin@pactechdata.com>
-
- * ext.c [#if !DYNAMIC] (do_ext): Cast string value for error node.
-
-Sun Nov 24 18:23:29 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- From Paul Eggert, with some edits by me.
-
- * builtin.c (do_substr): Consistently use floating point
- values for lint messages, so they should be printed pretty
- much as the user saw them. Check for overflow before
- converting floating point to integer. Do the right thing with
- NaNs.
-
- Check for index out-of-range before checking for length
- out-of-range, to avoid some nasty effects if address
- arithmetic overflows (e.g., indx + length < index).
-
- Allow zero-length substrings when checking for lint if
- do_lint == LINT_INVALID.
-
-Sun Nov 24 18:21:06 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (LINT_ALL, LINT_INVALID): New constants.
- * main.c (main): Allow --lint=invalid which restricts warning to
- things that aren't valid.
- * eval.c (set_LINT): Update setting logic.
-
-Wed Nov 20 13:14:58 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (lintfunc): Improve ifdef for attribute to only
- work for GCC 3.2 and later.
- * io.c (PIPES_SIMULATED): Don't define if on AIX, which
- does define TANDEM in one of its header files. Ugh.
-
-Tue Nov 19 15:33:55 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_substr): Use %lu in warnings instead of %d.
-
-Mon Nov 18 14:42:53 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * config.guess: Synced from ftp.gnu.org.
- * config.sub: Ditto.
-
-Sun Nov 17 21:32:49 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Updated things to automake 1.7.1.
-
-Sun Nov 3 14:33:30 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_get_lhs): For variables, always clear UNINITIALIZED,
- since the variable is about to be assigned to. From Stepan Kasal.
-
-Fri Nov 1 11:19:01 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (lintfunc): Can only supply attributes for a function
- pointer if GCC >= 3. Added ifdefs. Bah, humbug.
-
-2002-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * array.c (array_init, concat_exp, assoc_find, do_delete):
- Const-ify.
- * awk.h (redirect, set_record, pp_func, pp_string_fp, format_val,
- parse_escape, make_regexp, research, reisstring, remaybelong):
- Likewise.
- * awkgram.y (dumpintlstr, dumpintlstr2, func_use, dup_parms,
- var_comp, finfo, fcompare, func_use, dumpintlstr, dumpintlstr2):
- Likewise.
- * builtin.c (stdfile, do_fflush, do_index, category_table):
- Likewise.
- * eval.c (push_forloop, push_args, PUSH_BINDING, RESTORE_BINDING,
- cmp_nodes, op_assign, loop_info, fcall, fmt_ok, set_LINT,
- comp_func): Likewise.
- * ext.c (do_ext): Likewise.
- * field.c (set_record): Likewise.
- * io.c (gawk_popen, two_way_open, binmode, redirect, getredirect,
- fatal): Likewise.
- * node.c (values, format_val, make_str_node, parse_escape): Likewise.
- * profile.c (pp_string, pp_match_op, pp_func, pp_string,
- pp_string_fp): Likewise.
- * re.c (make_regexp, research, reisstring, remaybelong): Likewise.
-
-2002-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * awk.h (__attribute__, ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN,
- ATTRIBUTE_PRINTF, ATTRIBUTE_PRINTF_1, __extension__): Define.
- (emalloc, erealloc): Fix format specifier warnings.
- (do_nextfile):Mark with ATTRIBUTE_NORETURN.
- (getredirect): Const-ify.
- (msg, error, warning, r_fatal, lintfunc): Mark with
- ATTRIBUTE_PRINTF_1.
- (r_fatal): Mark with ATTRIBUTE_NORETURN.
- * builtin.c (format_tree): Fix format specifier warning.
- * eval.c (interpret): Likewise.
- * main.c (usage, copyleft, catchsig, nostalgia, version): Mark
- with ATTRIBUTE_NORETURN.
- * profile.c (dump_and_exit): Likewise.
-
-2002-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * array.c (array_init): Use ISDIGIT, not isdigit.
- * awk.h (m_tree_eval, force_number, force_string): Use
- __extension__ in statement expressions.
- * main.c (lintfunc): Fix !__SDTC__ case.
- * regex_internal.c (calc_state_hash): Fix inline declaration.
- * regexec.c (proceed_next_node): Cast assignment to correct type.
-
-2002-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * awk.h (exp_node, Func_ptr): Add prototype arguments.
- * awkgram.y (yystype, token, getfname, nextc, pushback,
- allow_newline, yylex): Likewise.
- * io.c (wait_any): Likewise.
- * profile.c (indent_in, indent_out): Likewise.
- * random.h (random): Likewise.
-
-2002-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * array.c (grow_table): Const-ify.
- * awk.h (RE_TRANSLATE_TYPE): Define.
- (flagtab, casetable): Const-ify.
- (getfname, shadow_funcs, redflags2str): Prototype.
- (flags2str, genflags2str, nodetype2str, redflags2str, set_loc,
- msg, error, warning, r_fatal): Const-ify.
- * awkgram.y (tokentab, snode): Likewise.
- * builtin.c (format_tree, do_strftime,
- localecategory_from_argument): Likewise.
- * eval.c (casetable, nodetypes, nodetype2str, flags2str,
- genflags2str): Likewise.
- * io.c (redflags2str, socketopen): Likewise.
- * main.c (varfile, version_string, lintfunc, optab, copyleft,
- varinit, init_vars): Likewise.
- * msg.c (srcfile, msg, warning, error, set_loc, r_fatal):
- Likewise.
- * profile.c (pp_op_assign, pp_match_op, pp_redir): Likewise.
- * random.c (sccsid): Likewise.
- * version.c, version.in (version_string): Likewise.
-
-Tue Oct 29 10:50:52 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Update version in AC_INIT and AM_INIT_AUTOMAKE
- * fixvers: Make grep for pattern a little smarter.
-
-Mon Oct 28 16:35:39 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (hash): Now a function pointer.
- * array.c (gst_hash_string, scramble): New functions.
- (awk_hash): Renamed from hash.
- (hash): Now a function pointer.
- (array_init): Change hash function based on environment for
- experimentation.
-
-Mon Oct 28 13:21:20 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Applied lots of patches from Stepan Kasal, tweaked as needed
- for current code base.
-
- * node.c (dupnode): When n->stref overfows, flag the node as PERM.
- Same for n->ahname_ref.
- (unref): Remove the check for n->stref == LONG_MAX and
- n->ahname_ref == LONG_MAX.
- * awk.h (make_string): The third argument to make_str_node changed
- from FALSE to 0, it's not Boolean.
- (free_temp): Evaluate the argument only once, so that we
- can call free_temp(tree_eval(n)) for achieving side effects.
- (load_environ, load_procinfo): Changed return type to NODE *.
- * main.c (load_environ): The ENVIRON_node should be created with type
- Node_var_array and lnode set to NULL. Return pointer to the created node
- and create an empty hash even on TANDEM.
- (load_procinfo): Same mods for PROCINFO_node.
- (init_args): ARGV_node should also have lnode set to NULL.
- * eval.c (r_tree_eval): case Node_assign moved just above the other
- assignment cases.
- (op_assign): ++ and -- cases merged with += and -=, respectively.
- (push_args): Evaluate all args, even in cases where more args are
- supplied then required.
- (interpret): In case Node_K_forarray, flag the variable
- num_elems also as volatile, so that it survives longjmp() and
- can be trusted when linting code.
- (r_get_lhs): Case Node_param_list was unreachable (unless
- something breaks really badly), remove it;
- (r_tree_eval): Case Node_var_array removed from the last switch,
- it was caught in the first switch above.
- * profile.c (tree_eval): Again, case Node_var_array was caught above.
- * awkgram.y (variable): Code simplified, making use of the above
- changes.
- * field.c (sc_parse_field): IGNORECASE only applies to regex based
- field-splitting, so remove code that pays attention to it.
- (do_split): Don't use parse_field if RS_is_null.
- (set_FS): Beware of FS == "\\" even if RS_is_null.
-
- Code changes to make things work better:
- * field.c (set_FS): Don't use cmp_nodes() to compare old and new
- value of FS, that uses IGNORECASE, which is a bad idea. Improve
- logic for choosing sc_parse_field. Ensure that when RS_is_null
- but using a single character, that we do pay attention to
- case when doing regex splitting.
- * io.c (set_RS): Don't use cmp_nodes() to compare old and new
- value of RS, that uses IGNORECASE, which is a bad idea.
-
-Mon Oct 28 09:43:14 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * recomp.c (parse_expression): Change return statement into
- two so it'll compile for SGI cc.
-
- * awk.h (STR, CUR): Changed to STRCUR and NUMCUR respectively,
- to avoid conflict with STR on some System V systems. Changed
- in all source files.
-
-Thu Oct 24 16:14:34 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (AVG_CHAIN_MAX): Now a variable, to allow easy experimentation.
- (array_init): Pulls a new value from env var AVG_CHAIN_MAX if it
- exists and sets the variable.
- * awk.h: Add declaration for array_init().
- * main.c (main): Call array_init().
-
-Tue Oct 22 11:23:56 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * bisonfix.sed: Updated for current bison. Death to alloca!
-
-2002-10-21 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * builtin.c (tolower, toupper): Add casts to char* to fix some
- compiler warnings.
- * eval.c (cmp_nodes): Ditto.
- * regcomp.c (peek_token_bracket): Skip the byte already read.
-
-Wed Oct 16 15:02:09 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (set_RS): Make sure to always call set_FS().
-
-2002-10-11 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regcomp.c (re_compile_fastmap_iter): Remove the handling
- OP_CONTEXT_NODE.
- (regfree): Likewise.
- (create_initial_state): Likewise.
- (analyze): Remove the substitutions which became useless.
- (calc_first): Likewise.
- (calc_epsdest): Use edests of OP_BACK_REF in case that it has
- epsilon destination.
- (duplicate_node_closure): New function.
- (duplicate_node): Remove the handling OP_CONTEXT_NODE.
- (calc_inveclosure): Likewise.
- (calc_eclosure): Likewise.
- (calc_eclosure_iter): Invoke duplicate_node_closure instead of
- direct invocation of duplicate_node.
- (parse): Don't use comma operator in the return to avoid compiler
- warning.
- (parse_reg_exp): Likewise.
- (parse_branch): Likewise.
- (parse_expression): Likewise.
- (parse_sub_exp): Likewise.
- (parse_dup_op): Likewise.
- * regex_internal.c (re_dfa_add_node): Remove the substitutions
- which became useless.
- (create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
- (create_cd_newstate): Likewise.
- * posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
- (re_token_t): Likewise.
- (re_dfa_t): Likewise.
- (re_node_set_remove): New macro.
- * regexec.c (check_matching): Remove the handling
- OP_CONTEXT_NODE.
- (check_halt_node_context): Likewise.
- (proceed_next_node): Likewise.
- (pop_fail_stack): Fix the memory leak.
- (set_regs): Likewise.
- (free_fail_stack_return): New function.
- (sift_states_backward): Fix the memory leak. Remove the handling
- OP_CONTEXT_NODE.
- (update_cur_sifted_state): Append some if clause to avoid redundant
- call.
- (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
- back reference.
- (check_dst_limits): Remove the handling OP_CONTEXT_NODE.
- (check_subexp_limits): Likewise.
- (search_subexp): Likewise.
- (sift_states_bkref): Likewise.
- (transit_state_mb): Likewise.
- (transit_state_bkref_loop): Likewise.
- (transit_state_bkref_loop): Likewise.
- (group_nodes_into_DFAstates): Likewise.
- (check_node_accept): Likewise.
- (sift_ctx_init): Add initializing.
-
-Tue Oct 15 14:18:53 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_IGNORECASE): Call set_RS() instead of
- set_FS_if_not_FIELDWIDTHS(). The former calls the latter
- for us, and also makes IGNORECASE affect RS like it's supposed to.
- * field.c (FS_re_yes_case, FS_re_no_case): New variables.
- (set_FS): Smarten up routine to not recompile FS_regexp if all
- that's changed is IGNORECASE or if switching back to FS from
- FIELDWIDTHS. Significant speed-up for cases where IGNORECASE
- is assigned to for every record.
- * io.c (RS_re_yes_case, RS_re_no_case): New variables.
- (set_RS): Similar changes as to set_FS(). In particular,
- IGNORECASE changing now affects record splitting too.
- * re.c (refree): Set rp->pat.tranaslate to NULL. It comes
- from casetable and shouldn't be freed. (Strictly necessary
- only for old regex, but a good idea anyway).
- Also, call regfree(& rp->pat) instead of manually free()ing
- things, since there's dynamically allocated stuff hiding in
- the buffer. Avoids a memory leak.
-
-Mon Oct 14 12:02:39 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Major space reduction in array management. Overhead reduced
- to two NODE's per element from three.
-
- * awk.h (ahash): Union is gone.
- (hash.ref): New union member.
- (ahnext): New definition into hash union.
- (ahvalue): New definition into hash union.
- (ahname_str): New member, points into hash union.
- (ahname_len): New member, points into hash union.
- (ahname_ref): New member, points into hash union.
- * array.c: Replaces uses of ahname member with string and
- length. Set the reference count correctly to 1 on new nodes.
- * eval.c (interpret): Case for Node_K_arrayfor. dupnode() the
- array indices, and set loop variable to new value made via
- make_string().
- * node.c (unref, dupnode): Node_ahash nodes are now also
- reference counted, a la strings. Similar code is used to
- increment/decrement the counts, and/or copy nodes as
- needed.
-
- Unrelated:
- * awk.h (forsub): Removed. Not used.
-
-Sun Oct 13 16:58:27 2002 Stepan Kasal <kasal@math.cas.cz>
-
- * profile.c (pprint): #undef the temporary defines at the end
- of the case.
- * eval.c (interpret): Likewise.
- (assign_val): We can unref() before doing dupnode().
- Also, move the check for NF < 0 from here ...
- * field.c (set_NF): ... to here.
- * main.c (varinit): No need to call set_NF().
- * awkgram.y (statements): Don't be so generous when concatenating
- `statements' with a `statement'.
-
-
-2002-10-13 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regcomp.c: Synced with development sources.
- * regex_internal.c: Synced with development sources.
- * regex_internal.h: Synced with development sources.
- * regexec.c: Synced with development sources.
-
-Sun Oct 13 21:35:35 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NODE): Reflags is now unsigned long for:
- (exec_count): Defined to be sub.nodep.reflags. Using `number'
- broke pgawk.
- * profile.c (Node_K_delete_loop): Print out as a for loop
- with a comment that it's internally the same as `delete array'.
- * eval.c (Node_K_delete_loop): Increment the exec_count. Ooops.
- * configure.in (AM_GNU_GETTEXT_VERSION): New macro call.
- * custom.h: Updated description of the file at the top.
-
-Thu Oct 10 16:39:51 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (vname, exec_count): Now macros into different
- parts of the NODE structure that can be safely used for them.
- Saves 16 bytes per NODE.
- * eval.c: Changed use of `vname' to `varname' to avoid new
- macro.
- * main.c (lintfunc): Made ifdefed decls match awk.h.
- * eval.c (comp_func): Use memcmp instead of strcmp.
- * configure.in (AC_CONFIG_HEADER): Physically append custom.h
- to config.h to avoid subdir compiliation problems.
-
-Sun Oct 6 17:36:15 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Updated to automake 1.7 and bison 1.50.
-
- * INSTALL: Replaced with current version from automake 1.7.
- * config.guess: Replaced with current version from automake 1.7.
- * config.sub: Replaced with current version from automake 1.7.
- * depcomp: Replaced with current version from automake 1.7.
- * doc/texinfo.tex: Replaced with current version from automake 1.7.
- * install-sh: Replaced with current version from automake 1.7.
- * missing: Replaced with current version from automake 1.7.
- * mkinstalldirs: Replaced with current version from automake 1.7.
- * ylwrap: Replaced with current version from automake 1.7.
-
- * configure.in (DYNAMIC): Updated AC_DEFINE(DYNAMIC) to
- three-argument form for autoheader.
- * acinclude.m4: Removed includes of jm-mktime.m4 and
- largefile.m4, which are now standard parts of Autoconf.
-
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * awkgram.c: Regenerated.
- * awklib/Makefile.in: Regenerated.
+ * configure.ac: Update version to 4.0.0.
* configure: Regenerated.
- * doc/Makefile.in: Regenerated.
- * test/Makefile.in: Regenerated.
-
-Sun Sep 29 16:47:49 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h (__WIN32__): Added from gnuwin32 project, via
- Stepan Kasal.
-
- * awkgram.y: For tawk compatibility, added `delete(array)'.
- To remain undocumented, since it's WAY non-standard.
-
-Sun Sep 22 22:23:50 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (re_cnt): Removed, not needed since no dfa code.
- * awkgram.y (regexp, a_regexp): Removed use of re_cnt.
- * re.c (re_update): Ditto.
-
-Thu Sep 19 10:55:37 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (binmode): Create function if defined(WIN32) also.
-
- Updated to gettext 0.11.5, autoconf 2.54 and automake 1.6.3.
-
- * aclocal.m4: Regenerated.
- * m4/codeset.m4: Updated.
- * m4/gettext.m4: Updated.
- * m4/glibc21.m4: Updated.
- * m4/iconv.m4: Updated.
- * m4/lcmessage.m4: Updated.
- * m4/lib-ld.m4: Updated.
- * m4/lib-link.m4: Updated.
- * m4/lib-prefix.m4: Updated.
- * m4/progtest.m4: Updated.
- * po/Makefile.in.in: Updated.
- * po/Rules-quot: Updated.
- * po/boldquot.sed: Updated.
- * po/en@boldquot.header: Updated.
- * po/en@quot.header: Updated.
- * po/insert-header.sin: Updated.
- * po/quot.sed: Updated.
- * po/remove-potcdate.sin: Updated.
-
-Tue Sep 17 23:46:01 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Moved override of INSTALL to just after
- AC_INIT so that it takes effect. Necessary for Autoconf 2.5x.
-
-Mon Sep 16 16:40:57 2002 Stepan Kasal <kasal@math.cas.cz>
-
- * awkgram.y (want_assign): Removed.
- (SLASH_BEFORE_EQUAL, ASSIGN): New terminals; ``/='' is now
- formed from these two.
- (a_slash): New non-terminal, representing either '/' or
- SLASH_BEFORE_EQUAL.
- (assign_operator): New non-terminal, replaces ASSIGNOP.
- (REGEXP): yylex now eats the terminating '/' before
- returning REGEXP token.
- (exp): The check for C-like comments moved from here
- (regexp): ... to here.
- (common_exp): New non-terminal; contains common parts of exp
- and rexp. (a_relop, relop_or_less): New non-terminals.
- (rexp): Some rules updated to be analogous to exp.
- (output_redir): Can contain only common_exp, not exp in general.
-
-Mon Sep 16 22:51:51 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (two_way_open): Move label use_pipes outsidef of ifdef,
- just in case.
-
-Thu Sep 12 15:11:28 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (getfname): Return NULL if not found, remove
- fatal error. Could be an extension function.
- (dump_funcs): Walk symbol table counting functions before
- mallocing table, since there could be extension functions,
- func_count could be too small.
- * profile.c (pp_builtin): Handle NULL return from getfname().
- Print it as "extension_function()" if so.
-
-Tue Sep 10 17:33:48 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Minor code simplification.
-
- * awk.h (in_array): Change return type to NODE*.
- (assoc_exists): Remove declaration.
- * array.c (in_array): Change return type to NODE *.
- Return value is pointer to element value or NULL.
- (assoc_exists): Removed function.
- * eval.c (r_tree_eval): Case Node_in_array, change value
- to test return of in_array() against NULL.
- * io.c (pty_vs_pipes): Change test to make a tmp_string()
- of the index and call in_array(). Add free_temp() of
- subscript and free() of full_index (oops).
-
-2002-09-10 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * posix/regcomp.c: Wrap #include wchar.h and wctype.h in #if.
- (build_range_exp): Add castings to strlen invocations.
- (build_collating_symbol): Restore the type of characters from "char"
- to "unsigned char", and supplement castings.
- (build_collating_symbol): Likewise.
- (build_equiv_class): Likewise.
- (build_charclass): Likewise.
- (seek_collating_symbol_entry): Likewise.
- (parse_bracket_exp): Likewise.
- (build_word_op): Supplement a casting.
- * posix/regex_internal.c: Wrap #include wchar.h and wctype.h in #if.
- (re_string_allocate): Fix castings.
- (re_string_construct): Likewise.
- (re_string_construct_common): Likewise.
- (re_string_realloc_buffers): Likewise.
- (build_wcs_buffer): Likewise.
- (build_wcs_upper_buffer): Likewise.
- (re_string_skip_chars): Likewise.
- (re_string_reconstruct): Likewise.
- * posix/regex_internal.h: Restore the type of characters in
- re_string_t and bracket_elem_t from "char" to "unsigned char".
- (re_string_elem_size_at): Fix castings.
- * posix/regexec.c: Wrap #include wchar.h and wctype.h in #if.
- (transit_state_bkref_loop): Restore the type of characters from
- "char" to "unsigned char", and append a cast to "char*" pointer in
- array subscript.
- (check_node_accept_bytes): Likewise.
- (find_collation_sequence_value): Likewise.
-
-Thu Sep 5 13:15:09 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (remaybelong): New routine.
- (reisstring): Simplified the code a bit.
- * awk.h (remaybelong): Declaration added.
- * io.c (get_a_record): Change fourth grungy special case to
- use remaybelong() instead of strchr() on last character.
-
-Wed Sep 4 13:20:26 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (do_input): Recode guts of main loop to be easier
- to trace with a debugger.
- (get_a_record): Fourth grungy special case for RE-based
- record splitting added. See explanatory comments there
- and test/rebuf.awk.
-
-2002-09-03 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid
- warnings of some compilers.
- (build_collating_symbol): Change the type of characters from
- "unsigned char" to "char", and append a cast to "char*" pointer in
- array subscript.
- (build_collating_symbol): Likewise.
- (build_equiv_class): Likewise.
- (build_charclass): Likewise.
- (re_compile_pattern): Remove incorrect cast.
- (re_compile_fastmap_iter): Change the type of characters from
- "unsigned char" to "char", and append a cast to "char*" pointer
- in array subscript.
- (parse_bracket_exp): Likewise.
- * posix/regex_internal.c (re_string_construct_common): Likewise.
- (re_string_allocate): Likewise.
- (re_string_construct): Likewise.
- (re_string_realloc_buffers): Likewise.
- (build_wcs_buffer): Likewise.
- (re_string_reconstruct): Likewise.
- * posix/regex_internal.h: Change the type of characters in
- re_string_t and bracket_elem_t from "unsigned char" to "char".
- * posix/regexec.c (regexec): Append "__restrict" modifier to avoid
- warnings of some compilers.
- (transit_state_bkref_loop): Change the type of characters from
- "unsigned char" to "char", and append a cast to "char*" pointer in
- array subscript.
- (check_node_accept_bytes): Likewise.
- (find_collation_sequence_value): Likewise.
-
-Wed Aug 21 15:40:36 2002 Corinna Vinschen <vinschen@redhat.com>
-
- * configure.in: Define --without-libintl-prefix and
- --without-libiconv-prefix for Cygwin by default.
- * Makefile.am: Call fixvers from $(srcdir).
- * awk.h: Don't define O_BINARY on Cygwin.
-
-Wed Aug 21 15:31:57 2002 Andreas Buening <andreas.buening@nexgo.de>
-
- * configure.in (AC_OBJEXT, AC_EXEEXT): Added. Removed OS/2 goo.
- * Makefile.am (check-local): Add $(EXEEXT) suffixes, remove OS/2 goo.
- * regcomp.c, regex_internal.c, regexec.c: Conditionalize include of
- <wchar.h> and <wctype.h> on RE_ENABLE_I18N.
-
-Wed Aug 21 14:43:57 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * gettext.h (ENABLE_NLS): Add include of locale.h so that things
- compile even without optimization. Sheesh.
- * io.c (two_way_open, pty_vs_pipes): Conditionalize pty code on
- HAVE_TERMIOS_H.
-
-Thu Aug 8 22:16:10 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (main): Force LC_NUMERIC locale to "C", esp. for
- M$ systems. Ugh.
-
-Wed Aug 7 13:42:01 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Improve test for newlines at beginning of
- record but with nothing following it. See test/nulrsend.
-
-Mon Aug 5 10:12:39 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Add option to use ptys instead of pipes for |&.
- Basic plumbing originally from Paolo Bonzini <bonzini@gnu.org>.
-
- * awk.h (RED_PTY): New flag.
- (assoc_exists): Add declaration.
- * array.c (in_array): Use FALSE not zero for return value.
- (assoc_exists): New routine to find and return value for an index
- in an array.
- * configure.in: Test for termios.h and stropts.h, and grantpt function.
- * io.c: Include termios.h and stropts.h if available.
- (redflags2str): Add RED_PTY to table.
- (redirect): Add RED_PTY to flags turned off when searching.
- (close_redir): Close write channel for two-way pipes
- that use ptys by sending an EOF.
- (two_way_open): If pty_vs_pipe(), use pty's to open two-way pipes as
- they are line-buffered by default --> alleviates deadlock problems.
- If fails, fall back to using pipes.
- (pty_vs_pipe): New function.
- * main.c (arg_assign): Clean up English in some of the error messages.
-
-Sun Aug 4 00:37:38 2002 Stepan Kasal <kasal@math.cas.cz>
-
- * re.c (make_regexp): Don't pass the error message returned by
- re_compile_pattern() to gettext(); it's already gettextized.
- (make_regexp): Minor reformat of code.
-
-Wed Jul 31 23:50:31 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Removed dfa code from gawk since not really needed with new regex.
-
- * Makefile.am: Removed dfa.h and dfa.c.
- * awk.h (struct Regexp): Removed `dfareg' and `dfa' members.
- (make_regexp): Last parameter in function went away, changed decl.
- (avoid_dfa): Removed declaration.
- * awkgram.y: Fixed call to make_regexp().
- * eval.c (match_op): Simplified: removed call to avoid_dfa() and
- `kludge_need_start' variable. Instead, pass FALSE as last parameter
- of research().
- * field.c (set_FS): Fixed call to make_regexp().
- * io.c (get_a_record, set_RS): Fixed calls to make_regexp().
- * re.c (make_regexp): Removed last paramter (`dfa') from function.
- Simplified the code.
- (research): Simplified the code, removed calls to dfa stuff.
- (dfaerror): Removed function.
- (re_update): Fixed call to make_regexp().
- (avoid_dfa): Removed function.
-
-Thu Jul 25 21:55:45 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * regcomp.c, regex_internal.c, regex_internal.h, regexec.c: Bug
- fixes from Isamu Hasegawa <isamu@yamato.ibm.com> and Stepan Kasal
- <kasal@math.cas.cz> applied.
-
-Sat Jul 6 23:28:37 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yyerror): Change text of unexpected newline message to
- include end of string.
-
-Mon Jun 17 17:58:55 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (do_split): Per Michal Jaegermann, move free_temp(fs)
- above label `out'.
-
-Tue Jun 11 23:26:09 2002 Paul Eggert <eggert@twinsun.com>
-
- Update to autoconf 2.53 and automake 1.6.1.
-
- * acconfig.h: Removed.
- * m4/isc-posix.m4: Removed.
- * m4/jm-mktime.m4: Removed.
- * m4/largefile.m4: Removed.
- * m4/ssize_t.m4: Removed.
- * ansi2knr.c: Updated.
- * depcomp: Updated.
- * install-sh: Updated.
- * missing: Updated.
- * mkinstalldirs: Updated.
- * ylwrap: Updated.
-
- * configure.in: Improved quoting.
- * acinclude.m4: Use `m4_sinclude', not antiquated `sinclude'.
-
-Tue Jun 11 23:08:40 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Add `getgrent' to list of functions checked
- so that awklib/grcat is compiled correctly.
-
-Tue Jun 11 22:18:42 2002 Stepan Kasal <kasal@math.cas.cz>
-
- Improve argument parsing and -v assignment.
-
- * awk.h (struct src): Add additional enum values.
- (arg_assign): Return type and arg list changes.
- * io.c (nextfile): Add extra arg in call to `arg_assign'.
- * main.c (pre_assign): Nuked.
- (allocfiles): New variable.
- (srcfiles_add, preassigns_add): New macros.
- (main): Logic cleaned up.
- (add_src): New function.
-
- Use `size_t' for optimal_bufsize function.
-
- * awkgram.y (yylex): `len' is now size_t.
- * pc/gawkmisc.pc (optimal_bufsize): Change return type to size_t.
- * posix/gawkmisc.c (optimal_bufsize): Change return type to size_t.
- * unsupported/atari/gawkmisc.atr (optimal_bufsize): Change return type
- to size_t.
- * unsupported/tandem/tmisc.c (optimal_bufsize): Change return type to size_t.
- * vms/gawkmisc.vms (optimal_bufsize): Change return type to size_t.
- * README_d/README.hpux: New file.
-
-Fri May 24 12:23:01 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (init_profiling): Remove default initialization
- of `prof_fp' to stderr. Per Stepan Kasal <kasal@math.cas.cz>.
-
-Wed May 15 15:39:17 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Work through builtin operations to make sure that
- anything that might have side effects gets dealt with.
-
- * array.c (do_delete): Evaluate subscript first before
- checking if something is or isn't an array.
- * builtin.c (sub_common): Evaluate replacement text, and
- free it if no match of regex in source text.
-
-Wed May 15 15:30:34 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Switch to new version of regex from IBM Japan.
-
- * regcomp.c: New file.
- * regex.c: Replaced with new version.
- * regex.h: Replaced with new version.
- * regex_internal.c: New file.
- * regex_internal.h: New file.
- * regexec.c: New file.
- * Makefile.am (EXTRA_SOURCES): New files added.
-
-Tue May 14 17:04:05 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (<locale.h>): Move check and include into gettext.h.
- * gettext.h (<locale.h>): Add check and include per patch from
- Bruno Haible.
-
- * field.c (do_split): When checking for split of null string,
- evaluate seperator if it's not FS, since could have side effects.
- At end, free_temp(fs), not free_temp(sep).
- Both of these thanks to Stepan Kasal <kasal@math.cas.cz>.
-
-Mon May 13 00:41:31 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h (ultrix): Add define GETGROUPS_NOT_STANDARD.
- * main.c (init_groupset): For GETGROUPS_NOT_STANDARD, use old way
- to set `ngroups'.
-
-2002-05-10 Andreas Schwab <schwab@suse.de>
-
- * dfa.c (parse_bracket_exp_mb): Fix warning.
-
-Thu May 9 22:28:32 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (sub_common): Fix logic for match of null strings to
- get correct semantics. See test/gsubtst2.*.
- * field.c (do_split): Minor code cleanup; the third arg to split()
- is set to be FS by the grammar, so don't need to check it for NULL.
- Thanks to Stepan Kasal <kasal@math.cas.cz>.
- * awk.h (locale.h): Move include before that of "gettext.h" for systems
- that define functions that gettext.h would use when NLS is disabled.
- Per bug report from Ayamura Kikuchi <ayamura@ayamura.org>.
-
-Tue May 7 17:31:01 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Miscellanious patches courtesy of Stepan Kasal <kasal@math.cas.cz>.
-
- * field.c, main.c: Tidy up some comments.
- * field.c (set_FIELDWIDTHS): Init fw_alloc to 4 so it isn't
- immediately realloced.
- * main.c (load_procinfo): Check value of FS/FIELDWIDTHS for
- value of PROCINFO["FS"].
- * awk.h (set_FS_if_not_FIELDWIDTHS): Removed decl.
- * field.c (set_FS_if_not_FIELDWIDTHS): Removed function.
- * eval.c (set_IGNORECASE): Use inline code checking `using_fieldwidths()'.
- * io.c (set_IGNORECASE): Ditto.
-
-Sun May 5 14:28:34 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Fix a memory leak in array for loops if the body contains a
- `next' or `nextfile' statement. The changes maintain a stack
- of active for loops that is pushed and popped for each loop,
- and popped entirely for `next', `nextfile', etc.
-
- * eval.c (forloops_active, pop_forloop, pop_all_forloops, push_forloop):
- new functions.
- (interpret): Case Node_K_arrayfor, call push and pop functions.
- Case Node_rule_list: Pop loops and pop fcalls after longjmp.
- Cases Node_K_next, Node_K_nextfile, Node_K_break and
- Node_K_continue, removed check before longjmp.
- Case Node_K_exit: Add loop check.
- (loop_stack, nloops, nloops_active): New variables that implement
- the stack.
-
-Wed May 1 16:41:32 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.1: Release tar file made.
-
-Wed May 1 16:07:49 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.c: Installed latest version from glibc.
-
-Sun Apr 28 17:19:07 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * fixvers: Changed patterns to allow test versions of the
- form `gawk-3.1.1a'.
- * patchlev.h: Patchlevel is now a string constant.
- * main.c (version): Print patchlevel using %s, not %d.
- * Makefile.am: Rework DEFPATH stuff and datadir stuff yet again.
-
- * config.sub: Updated with current version from ftp.gnu.org.
- * config.guess: Ditto.
-
- Upgrade to gettext-0.11.2:
-
- * ABOUT-NLS: Replaced with version from gettext 0.11.2.
- * config.rpath: Replaced with version from gettext 0.11.2.
- * intl/*: Replaced with version from gettext 0.11.2.
- * po/Makefile.in.in: Replaced with version from gettext 0.11.2.
- * po/Makevars.template: Replaced with version from gettext 0.11.2.
- * po/Rules-quot: Replaced with version from gettext 0.11.2.
- * po/boldquot.sed: Replaced with version from gettext 0.11.2.
- * po/en@boldquot.header: Replaced with version from gettext 0.11.2.
- * po/en@quot.header: Replaced with version from gettext 0.11.2.
- * po/insert-header.sin: Replaced with version from gettext 0.11.2.
- * po/quot.sed: Replaced with version from gettext 0.11.2.
- * po/remove-potcdate.sin: Replaced with version from gettext 0.11.2.
- * m4/codeset.m4: Replaced with version from gettext 0.11.2.
- * m4/gettext.m4: Replaced with version from gettext 0.11.2.
- * m4/glibc21.m4: Replaced with version from gettext 0.11.2.
- * m4/iconv.m4: Replaced with version from gettext 0.11.2.
- * m4/isc-posix.m4: Replaced with version from gettext 0.11.2.
- * m4/lcmessage.m4: Replaced with version from gettext 0.11.2.
- * m4/lib-ld.m4: Replaced with version from gettext 0.11.2.
- * m4/lib-link.m4: Replaced with version from gettext 0.11.2.
- * m4/lib-prefix.m4: Replaced with version from gettext 0.11.2.
- * m4/progtest.m4: Replaced with version from gettext 0.11.2.
-
-Wed Apr 17 15:09:45 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.c (PREFIX): Change test for token concatenation ability
- to `#ifdef HAVE_STRINGIZE'. If a cpp has one, it ought to have
- the other.
-
-Tue Apr 16 12:26:06 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (tree_eval): Make unary minus case smarter,
- use is_scalar test and if false parenthesize expression.
- Add Node_TEXTDOMAIN case.
- (pp_lhs, is_scalar, prec_level): Add Node_TEXTDOMAIN cases.
-
-Thu Apr 11 21:28:33 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (do_adump): Spelling fix in output message.
- * builtin.c: Ditto, in multiple routines.
- (do_toupper, do_tolower): Add cast to size_t in assigment to mbclen
- for some compilers.
- * re.c (research): Fix way returning is done to silence some
- compiler diagnostics.
-
-Wed Apr 10 19:30:51 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am (datadir): Set directly to have `/awk'.
- (DEFPATH): Go back to using $(datadir) for path.
-
-Tue Apr 9 17:34:09 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Upgraded to gettext 0.11.1.
-
- * Makefile.am (LDADD): Use @LIBINTL@ instead of @INTLLIBS@.
- * ABOUT-NLS: Version from 0.11.1.
- * config.rpath: Version from 0.11.1.
- * aclocal.m4: Regenerated based on new files.
- * intl/*: Replaced with version from 0.11.1.
- * m4/ChangeLog: New file.
- * m4/codeset.m4: New file.
- * m4/gettext.m4: Version from 0.11.1.
- * po/ChangeLog: New file.
- * po/Makefile.in.in: Version from 0.11.1.
- * po/remove-potcdate.sin: New file.
-
-Mon Apr 8 22:22:58 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.am (libexecdir): Set directly to have `/awk'.
- (DEFPATH): Use $(pkgdatadir) for path.
- (install-exec-hook): Add version link for pgawk.
- (uninstall-links): Remove pgawk version link.
-
-Wed Mar 20 13:44:21 2002 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c (__alignof__): Definition for non-GCC compilers.
-
-Sun Mar 17 17:41:55 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (do_pathopen): Malloc buffers to hold constructed
- filenames: No Arbitrary Limits! Thanks to keoki@techie.com
- for the bug report.
-
-Sun Mar 10 16:59:06 2002 Scott Deifik <scottd@amgen.com>
-
- * awk.h (LOCALEDIR): Provide a definition in case not using
- i18n stuff.
-
-Wed Mar 6 18:14:44 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (usage): Add some explanatory text and examples at end.
-
-Sun Mar 3 16:42:50 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.h, getopt.c, getopt1.c: Update to current version
- from glibc CVS.
-
-Fri Feb 22 15:53:38 2002 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * dfa.c (fetch_wc): Fix type from wchar_t to wint_t.
- (parse_bracket_exp_mb): Likewise.
- * regex.c (extract_number): Retrieve the sign information from
- byte-code in case of AIX.
-
-Thu Feb 21 16:44:24 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (resetup): Moved setting re_max_failures into regex.c.
- * regex.c (re_max_failures): Set to really big if REGEX_MALLOC
- defined. Do this in both places that define re_max_failures.
-
-Thu Feb 21 19:02:22 2002 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * builtin.c (sub_common): Avoid index_multibyte_buffer invocation
- in single byte character environments.
-
-Thu Feb 21 10:08:56 2002 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * dfa.c (parse_bracket_exp_mb): For ':', use wctype_t in MALLOC,
- not wchar_t.
-
-Thu Feb 21 09:52:16 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- Upgraded to automake 1.5 and gettext-0.11.
- Also bug fix to multibyte code.
-
- * ABOUT-NLS: Upgraded.
- * config.guess, config.sub, config.rpath, gettext.h, ylwrap: New files.
- * Makefile.am: Added above to appropriate places.
- * awk.h: Replace libintl.h and macros with include of gettext.h.
- (emalloc, erealloc): Add num bytes to error message, put string inside _().
- (index_multibyte_buffer): Removed decl.
- * awklib/Makefile.am: Use $(EXEEXT) for grcat and pwcat targets.
- * builtin.c (index_multibyte_buffer): Made static to this file.
- (sub_common): Add checks that replacement string is length > 0 so
- that we don't try to malloc(0): this fails on some systems.
- * configure.in (AM_GNU_GETTEXT): Update macro for gettext 0.11.
- (ALL_LINGUAS): Removed.
- * m4/codeset.m4: New file.
- * m4/gettext.m4: Updated.
- * m4/glibc21.m4: New file.
- * m4/iconv.m4: New file.
- * m4/isc-posix.m4: New file.
- * m4/lcmessage.m4: Updated.
- * m4/lib-ld.m4: New file.
- * m4/lib-link.m4: New file.
- * m4/lib-prefix.m4: New file.
- * m4/progtest.m4: Updated.
- * intl/*: Replaced with version from gettext 0.11.
- * po/*: Revised for gettext 0.11.
-
-Mon Feb 18 14:42:39 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (nondec2awknum): Change assert to runtime check
- in case user passed in bad data.
-
-2002-02-17 Paul Eggert <eggert@twinsun.com>
-
- * re.c (resetup): Try to avoid silly limitation of regex.c by
- setting re_max_failures to the largest reasonable value.
-
-Sun Feb 17 14:57:43 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (research): If re_search() returns -2, the
- match failed since regex couldn't allocate enough memory
- for what it needed. Fail with a fatal message instead.
- This is a workaround, not a fix, but I don't mess with
- regex.[ch].
-
-Fri Feb 8 16:01:11 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (LEX_FOR): Fix case of array loop with body of single
- delete statement to actually check the right things to make the
- optimization.
- * profile.c (tree_eval): Add case for Node_K_delete_loop.
- (prec_level): Ditto.
-
-Mon Feb 4 10:38:00 2002 Bruno Haible <bruno@clisp.org>
-
- * awk.h (dcngettext): New macro.
- (do_dcngettext): New declaration.
- * awkgram.y (tokentab): Add dcngettext.
- (snode): Add a warning for incorrect use of dcngettext.
- (dumpintlstr): fflush at the end, not in the middle.
- (dumpintlstr2): New function.
- * builtin.c (localecategory_from_argument): New function, extracted
- from do_dcgettext.
- (do_dcgettext): Call it.
- (do_dcngettext): New function.
-
-Sun Feb 3 17:56:20 2002 Bruno Haible <bruno@clisp.org>
-
- * builtin.c (do_bindtextdomain): Don't free the same variable twice.
- * main.c (main): Call setlocale for LC_MESSAGE, to make dcgettext
- function work on glibc systems.
-
-Wed Jan 23 15:03:36 2002 Andreas Buening <andreas.buening@nexgo.de>
-
- * configure.in (PATH_SEPARATOR): Code added for OS/2.
- Makefile.am (PATH_SEPARATOR): Added.
- (DEFPATH): Make use of PATH_SEPARATOR.
-
-Wed Jan 23 14:46:04 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yylex): Add test for lasttok != '$' when looking
- at _"...". See comments in code.
-
-Wed Aug 15 07:43:10 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c : Implements the codes for exactn_bin to work correctly
- in multibyte environments, in case of invalid multibyte sequence.
-
-Wed Aug 15 07:36:56 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c : Implements the codes for charset/charset_not to
- work in multibyte environments.
-
-Wed Aug 15 05:04:34 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c : Add some comments.
-
-Wed Aug 15 05:04:15 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c (count_mbs_length): New function, check the mutibyte
- strings and count how many wchar_t the substring occupy.
- (CHAR_T): New macro, character type depending on
- environments(singlebyte/multibyte).
- (UCHAR_T): New macro, unsigned character type.
- (COMPILED_BUFFER_VAR): New macro, the buffer containing
- the compiled buffer.
- Adapt singlebyte/multibyte environments with CHAR_T, UCHAR_T,
- and COMPILED_BUFFER_VAR.
-
-Mon Jun 25 09:00:41 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c : Reorganize code to build code twice. byte_* are
- for single byte, wcs_* are for multibyte character sets.
- Chose functions according to current locale dynamically.
- * regex.c (convert_mbs_to_wcs): New function, convert multibyte
- strings to wide character strings for multibyte environments.
-
-Fri Jun 22 05:43:50 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * regex.c (MBS_SUPPORT): New macro, defined if the environment
- can handle multibyte characters.
- (OFFSET_ADDRESS_SIZE): Offset address size in the
- compiled buffer.
- Rewrite offset addresses with OFFSET_ADDRESS_SIZE.
-
-Thu Apr 26 08:03:17 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * builtin.c (index_multibyte_buffer): Inspect the buffer and write
- the index.
- (sub_common): In multibyte environment, skip multibyte characters
- when we check special characters.
- * awk.h (index_multibyte_buffer): Add prototype.
- * eval.c (cmp_nodes): In multibyte environment, compare per character.
- * field.c (re_parse_field): In multibyte environment, avoid to
- call research() on invalid boundary.
- (sc_parse_field): In multibyte environment, avoid to compare on
- invalid boundary.
- (null_parse_field): In multibyte environment, split per
- character, not per byte.
- * io.c (get_a_record): In multibyte environment, avoid to compare
- on invalid boundary.
-
-Wed Apr 25 08:29:47 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * awk.h (strncasecmpmbs): Add prototype.
- * builtin.c (strncasecmpmbs): New function like strncasecmp but for
- multibyte strings.
- (do_index): In multibyte environment, compare per character.
- * builtin.c (do_tolower): In multibyte environment, user towlower
- instead of TOLOWER.
- (do_toupper): In multibyte environment, user towupper instead
- of TOUPPER.
-
-Tue Apr 24 10:38:06 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- In multibyte environments, handle multibyte characters as single
- characters in bracket expressions.
-
- * dfa.h (mb_char_classes): New structure.
- (mbcsets): New variable.
- (nmbcsets): New variable.
- (mbcsets_alloc): New variable.
- * dfa.c (prtok): Handle MBCSET.
- (fetch_wc): New function to fetch a wide character.
- (parse_bracket_exp_mb): New function to handle multibyte character
- in lex().
- (lex): Invoke parse_bracket_exp_mb() for multibyte bracket expression.
- (atom): Handle MBCSET.
- (epsclosure): Likewise.
- (dfaanalyze): Likewise.
- (dfastate): Likewise.
- (match_mb_charset): New function to judge whether a bracket match
- with a multibyte character.
- (check_matching_with_multibyte_ops): Handle MBCSET.
- (dfainit): Initialize new variables.
- (dfafree): Free new variables.
-
-Mon Apr 23 01:40:09 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- Implement the mechanism to match with multibyte characters,
- and use it for `period' in multibyte environments.
-
- * dfa.h (mbps): New variable.
- * dfa.c (prtok): Handle ANYCHAR.
- (lex): Use ANYCHAR for `period' in multibyte environments.
- (atom): Handle ANYCHAR.
- (state_index): Initialize mbps in multibyte environments.
- (epsclosure): Handle ANYCHAR.
- (dfaanalyze): Handle ANYCHAR.
- (dfastate): Handle ANYCHAR.
- (realloc_trans_if_necessary): New function.
- (transit_state_singlebyte): New function.
- (match_anychar): New function.
- (check_matching_with_multibyte_ops): New function.
- (transit_state_consume_1char): New function.
- (transit_state): New function.
- (dfaexec): Invoke transit_state if expression can match with
- a multibyte character in multibyte environments.
- (dfamust): Handle ANYCHAR.
-
-Fri Apr 20 11:31:24 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- Avoid incorrect state transition in multibyte environments.
-
- * dfa.h (nmultibyte_prop): New variable.
- (multibyte_prop): New variable.
- * dfa.c (addtok): Set inputwcs.
- (dfastate): Avoid incorrect state transition in multibyte
- environments.
- (dfaexec): Likewise.
- (dfainit): Init multibyte_prop.
- (dfafree): Free multibyte_prop.
- (inputwcs): New variable.
- (mblen_buf): New variable contains the amount of remain byte
- of corresponding multibyte character in the input string.
-
-Fri Apr 20 06:28:59 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- Handle a multibyte character followed by '*', '+', and '{n,m}'
- correctly.
-
- * dfa.c (update_mb_len_index): New function.
- Support for multibyte string.
- (FETCH): Call update_mb_len_index.
- (lex): Check cur_mb_index not to misunderstand multibyte characters.
- (atom): Make a tree from a multibyte character.
- (dfaparse): Initialize new variables.
- (mbs): New variable.
- (cur_mb_len): New variable.
- (cur_mb_index): New variable.
-
-Thu Apr 19 09:32:47 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * awkgram.y (cur_mbstate): New varialble containing means current
- shift state.
- (cur_char_ring): New varialbe reffering the buffer which contains
- last some character from the buffer.
- (cur_ring_idx): New variable containing the current index on
- cur_char_ring.
- (nextc_is_1stbyte): New macro, means that last nextc() return a
- singlebyte character or 1st byte of a multibyte character.
- (nextc): Check the buffer and update cur_ring_char in multibyte
- environments.
- (pushback): Adjust cur_ring_idx in multibyte environments.
- (yylex): Add check whether nextc() returned 1st-byte in multibyte
- environments.
- * re.c (make_regexp): In multibyte environment, skip multibyte
- characters when we check special characters.
-
-Wed Apr 18 07:58:20 2001 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * awk.h (MBS_SUPPORT): New flag, means supporting multibyte strings.
- * configure.in : Add check for wchar.h, wctype.h, mbrtowc, and mbrlen.
-
-Wed Jan 16 16:32:40 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_strtonum): Simplified. Check first if the
- value matches a non-decimal number, and if so convert it.
- Otherwise do a regular force_number.
-
-Mon Jan 7 22:12:15 2002 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (statement): Moved delete, print, and expressions into
- new non-terminal `simple_stmt'. Allow opt_simple_stmt in the
- first and third part of a for loop, per latest POSIX, which documents
- an otherwise undocumented historical oddity in Unix awk. This has
- the pleasant side effect of making line numbers more accurate for
- messages involving delete statements.
- (opt_simple_stmt, simple_stmt): New non-terminals.
-
- Based on bug report from drj@pobox.com.
-
-Mon Dec 24 14:04:02 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Changes for VMS with new strftime:
- (AC_HEADER_TIME): Added.
- (AC_CHECK_HEADERS): Check for sys/time.h.
- (TIME_T_IN_SYS_TYPES_H): Add header check.
- * acconfig.h (TIME_T_IN_SYS_TYPES_H): Added.
-
-Wed Dec 19 16:01:58 2001 Peter J. Farley III <pjfarley@dorsai.org>
-
- * configure.in: Add MS-DOS to getpgrp special case.
- * dfa.c, getopt.c, regex.c: Fix code to work with --disable-nls.
-
-Wed Dec 19 15:59:25 2001 Eli Zaretskii <eliz@is.elta.co.il>
-
- * profile.c (init_profiling_signals) [__DJGPP__]: Use SIGINT
- instead of SIGHUP and SIGQUIT instead of SIGUSR1.
-
-Tue Dec 18 20:56:07 2001 Andreas Buening <andreas.buening@nexgo.de>
-
- More OS/2 stuff.
-
- * awk.h (O_BINARY): Don't redefine for EMX.
- * io.c (gawk_popen): Add __EMX__ in case compiling DOS executable.
- * configure.in: Add OS/2 to case for manual GETPGRP_VOID.
-
-Tue Dec 4 17:54:30 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- New configure time option, --with-whiny-user-strftime.
-
- * configure.in (AC_ARG_WITH): Add appropriate code for autoconf.
- * accondig.h (USE_INCLUDED_STRFTIME): Add #undef for it.
- * custom.h (USE_INCLUDED_STRFTIME): Set things up write.
-
-Tue Dec 4 16:44:07 2001 Andreas Buening <andreas.buening@nexgo.de>
-
- Mongo patch for updated OS/2 support.
-
- * awk.h (TOUPPER, TOLOWER): Define only if not already defined.
- * awkgram.y (extproc feature): Add ifdef for __EMX__.
- * gawkmisc.c (__EMX__): Include pc/gawkmisc.c directly.
- * io.c (__EMX__): Added for a number of places in addition to OS2 def.
- (two_way_open): Added OS/2 specific code added that uses spawn.
- (gawk_popen): Ditto.
-
-Mon Dec 3 14:07:56 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Fix use of getgroups to use dynamic memory, solves
- problem of systems where NGROUPS_MAX lies.
-
- * awk.h (groupset, ngroups): New extern variables.
- * configure.in (AC_CHECK_FUNCS): Add getgroups to list.
- * io.c (user_open): Use global ngroups and groupset variables,
- don't call getgroups here.
- * main.c (init_groupset): New function to init global
- vars using malloc. Declare it at top.
- (main): Call init_groupset().
- (load_procinfo): Use global ngroups and groupset variables.
-
-Sun Nov 18 11:56:01 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.c (srandomdev): ifdef-out. Lots of compile time
- problems on multiple platforms, and gawk doesn't even
- use the routine. The heck with fine-grained solutions.
-
-Wed Nov 14 16:12:40 2001 Pat Rankin <rankin@eql.caltech.edu>
-
- * builtin.c (bchunk_one): Use `ofre < 1' instead of `ofre <= 0'
- to avoid compiler complaint about suspicious comparison for
- unsigned variable. (`ofre == 0' ought to suffice...)
-
-Tue Nov 13 17:27:52 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yyerror): Fix the code to behave like it
- used to. Keep "no arbitrary limits" by mallocing the
- buffer and freeing it.
-
-Wed Nov 7 16:46:20 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (yyerror): Remove dependency upon buf[] to
- hold prepended space and `^' pointer. Avoids core dumps
- for long source lines.
-
-Sat Nov 3 22:27:21 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * m4/strtod.m4: Add missing `#endif'. Oops.
-
-Mon Oct 29 14:53:57 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y: Add semicolons in calls to count_args().
- Apparently bisoon adds a semicolon to each body
- automatically and byacc doesn't.
-
-Sun Oct 28 16:53:18 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): Fix off-by-one error in "ran out
- for this one" diagnostic. Also fix lint check for too many
- arguments vs. count in format string.
-
-Wed Oct 10 11:01:47 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * fixvers: Check that files exist before doing `cmp', in
- case they're in a source code system and aren't there.
- Fix from Grant Erickson (gerickson@brocade.com).
-
-Thu Oct 4 18:20:36 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_tree_eval): For comparison, dupnode() results of
- evaluation so that we can hang on to them and avoid memory
- corruption. Change calls to free_temp() to unref().
-
-Tue Sep 25 15:19:53 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (iop_open): Only call os_close_on_exec() for
- fd > fileno(stderr).
-
-2001-09-07 Paul Eggert <eggert@twinsun.com>
-
- * io.c (redirect): When deciding to use the fdopen bug hack,
- use "__sun" rather than "solaris". No compilers predefine
- "solaris", but both GCC and Sun C predefine "__sun".
-
-Thu Aug 30 15:17:12 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (copyleft): Use a printf %d for last year of update
- to avoid translation strings changing when the file
- is updated from now on. Suggestion from Ulrich Drepper.
-
-Thu Aug 23 14:01:14 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (unary minus production): Add check that value
- isn't a string. Based on bug report from drj@pobox.com.
- * profile.c (tree_eval): For node_val, only test NUMBER
- to see if value is numeric, not NUM|NUMBER.
-
-Thu Aug 16 12:21:28 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in (ALL_LINGUAS): Added `fr' and `tr'.
- * po/fr.po, po/tr.fo: New files.
-
-2001-08-13 Paul Eggert <eggert@twinsun.com>
-
- This patch fixes a bug that causes gawk to rewind standard
- input incorrectly. It also removes all instances of fseek,
- from the gawk source proper, which should make gawk a bit
- more portable.
-
- (The original patch removed off_t & lseek too, but I need
- that for something else. ADR.)
-
- * posix/gawkmisc.c (optimal_bufsize):
- Don't use lseek on the input, because that might change
- its state. Instead, just check whether it is a regular file.
- This obviates the need to invoke isatty.
- (Also, fix a spelling error in the first line of the source.)
- * pc/gawkmisc.pc, unsupported/atari/gawkmisc.atr: Likewise.
-
- * awk.h (S_ISREG): Move this macro here ...
- * io.c (S_ISREG): from here.
-
- * protos.h (fseek): Remove prototype; no longer used.
-
-Fri Aug 3 13:38:54 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Change assert test on type to real test
- to protect against FS[1] = "x" kinds of things. It'd be better
- to do this in the grammar, but this is easier and just as
- effective.
-
- Undid BECAMEARRAY changes of 25 June 2001 in favor of correct code:
- * eval.c (pop_fcall): Change test and comment for freeing n->vname.
- (flags2str): Removed BECAMEARRAY entry.
- * awk.h (BECAMEARRAY): Removed define.
- * array.c (assoc_lookup): Removed setting of BECAMEARRAY flag.
-
-Mon Jul 23 17:33:13 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Handle case where RS = "" and input file
- is only newlines. See test/onlynl. Bug report by
- Michel Jouvin <jouvin@lal.in2p3.fr>.
-
-Wed Jul 4 18:34:19 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (assign_val): Don't allow negative values for NF.
- * field.c (set_NF): Robustify field-freeing code to make sure
- values are always positive.
-
-Sun Jul 1 19:15:01 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_index): If second string is "", return 1.
-
-Mon Jun 25 19:34:24 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Further rationalization of treatment of dynamic regexes,
- so that profiling code works correctly.
-
- * awk.h (NODETYPE): New type, Node_dynregex.
- * awkgram.y (mk_rexp): Use Node_dynregex.
- * eval.c (nodetypes): Add Node_dynregex.
- (r_tree_eval): Add Node_dynregex to case for match_op().
- * profile.c (tree_eval): Add Node_dynregex to case for pp_match_op().
- (pp_match_op): Handle Node_dynregex, simplify cases for ~ and !~.
- * re.c (re_update): Add assertion that type is Node_regex when flags
- indicate CONST.
-
- New lint warning.
-
- * awkgram.y (yylex): Added lint warning that constant with leading
- zero is treated as octal or hex.
-
- Generalized code for those who are Strong In The Ways of the Source.
-
- * awk.h: New boolean variable.
- * main.c (main): Set it.
- * eval.c (interpret): For arrays, check it. Remove variable 'first',
- not needed anymore.
- * profile.c (pp_string_fp): Enable printing of non-ASCII characters
- verbatim if variable set.
-
- Fix memory corruption on SCO for array vars as params changed globally.
-
- * awk.h (BECAMEARRAY): New flag.
- * array.c (assoc_lookup): Set the flag as appropriate.
- * eval.c (flags2str): Add the flag.
- (pop_fcall): Check the flag, don't free memory if set.
-
-Wed Jun 13 18:07:06 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (fmt_index): Actually call erealloc() to grow fmt_list
- if that's really necessary. Bug report from David Jones,
- djones@zoonami.com.
-
-Sun Jun 10 14:24:48 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pp_match_op): Rationalized the code.
-
-Thu Jun 7 11:54:36 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (O_BINARY): Don't define if already defined
- (as is true for cygwin/gcc --- oops).
-
-Sun Jun 3 13:04:44 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.1.0: Release tar file made. And there was
- rejoicing.
-
-Wed Apr 25 11:44:07 2001 Arnold Robbins <arnold@skeeve.com>
-
- * Makefile.am (AM_MAKEFLAGS): Add definition per advice from
- Nelson Beebe.
-
-Tue Apr 24 14:28:00 2001 Arnold Robbins <arnold@skeeve.com>
-
- * io.c (devopen): Patch from Jeurgen to robustify pulling
- out hostname, port numbers, etc, to avoid any buffer overrun
- problems.
-
-Mon Apr 23 10:26:38 2001 Arnold Robbins <arnold@skeeve.com>
-
- * awkgram.y: Fix grammar so that `print ... |& ".." |& getline'
- dies with a parse-time error message.
-
-Sun Apr 22 16:46:48 2001 Arnold Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Fix from Juergen in recursive call.
-
-Thu Apr 19 18:39:20 2001 Pat Rankin <rankin@eql.caltech.edu>
-
- * awk.h: Really fix logic around include of <sys/types.h>.
-
- * awk.h (callresult): New name for `result' macro.
- * eval.c (r_get_lhs, case Node_builtin): Use it.
-
-Thu Apr 19 16:31:09 2001 Pat Rankin <rankin@eql.caltech.edu>
-
- * io.c: Move code around to allow compilation with DEC C.
-
-Thu Apr 19 16:21:56 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.h: Move decl of random() here.
- * random.c: Remove decl of random().
-
-Mon Apr 9 11:41:58 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c (dfainit): Initialize more members in the structure,
- based on bug report in bug.gnu.utils by aaronl@vitelus.com
- (Aaron Lehmann).
- * awk.h: Fix logic around include of <sys/types.h>.
-
-Thu Apr 5 20:12:05 2001 Pat Rankin <rankin@eql.caltech.edu>
-
- * dfa.c: For VMS, #include <stddef.h> instead of <sys/types.h>.
- * missing_d/mktime.c: Likewise.
-
- * random.c: Reorder include directives to get gawk config info
- from random.h sooner.
- [fcntl.h]: Guard #include with HAVE_FCNTL_H test.
- [unistd.h]: Guard #include with HAVE_UNISTD_H test.
-
- * random.c (srandomdev): Skip /dev/urandom usage if O_RDONLY
- is not defined.
-
-Tue Mar 20 11:07:11 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (function_body): Add opt_nls to end of production.
-
-Tue Mar 20 09:30:32 2001 Pat Rankin <rankin@eql.caltech.edu>
-
- * awk.h (BROKEN_STRNCASECMP): Add decl of strcasecmp.
- * io.c (two_way_open): Add `return FALSE;' for fussy compilers.
-
-Sun Mar 18 15:10:56 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (gawk_pclose): Set the exit value for close correctly
- if the pipe died with a signal.
-
-Wed Mar 7 11:28:52 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (get_a_record): Correctly handle the case of a leading
- single newline at the front of the file when RS = "".
-
-2001-02-26 Paul Eggert <eggert@twinsun.com>
-
- * COPYING: Incorporate latest version from FSF, which fixes a Y2k bug.
-
- * builtin.c (do_mktime): Allow the user to specify the
- tm_isdst member as an optional trailing integer, and to
- specify "out-of-range" members. Check for overflow when
- subtracting 1 from month or 1900 from year. Allow years just
- past INT_MAX, as they work on some hosts when INT_MAX - 1900
- is representable as an int.
-
- * doc/gawk.1, doc/gawk.texi: Document the above changes.
- Also, document that the origin-zero Gregorian calendar is used.
- Fix confusing wording about "midnight" by replacing it with 00:00
- ("midnight" is also 24:00, the end of the day).
- Mention the typical range for time stamps.
- Do not assume that years are nonnegative and are less than 10,000.
- Suggest TZ=UTC0 instead of TZ=GMT0, as that's how recent versions
- of GNU date behave.
- GMT is not always the time of day in Greenwich these days.
- Fix typos: "Emporer/Era", "1980's", "1970's".
-
- * m4/largefile.m4: Synchronized with latest version.
-
-Tue Feb 27 12:10:11 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pp_in_array): Change test to tree->type == Node_expression_list.
-
-Wed Feb 7 14:46:50 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (LEX_FOR): Allow newline after `;' in for loops.
- Per bug report from Brian Kernighan, bwk@research.bell-labs.com.
-
-Tue Feb 6 18:35:27 2001 Martin C. Brown <mc@whoever.com>
-
- * io.c (socket_open): Conditionalize various options based on
- ifdef. Needed for BeOS port.
-
-Tue Feb 6 18:17:13 2001 Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
-
- * regex.c (re_match_2_internal): Case maybe_pop_jump, for
- charset and not_charset: Change cast from (unsigned char)
- to (unsigned). Catches last 8 chars with high bit set
- if backtracking. See test/rebt8b1.awk, test/rebt8b2.awk.
-
-Tue Feb 6 11:20:21 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Have `for (iggy in foo)' save the elements and loop over them.
- Make sorted for loops a dynamic test instead of a compile time test.
- Still requires being Strong In The Ways Of The Source.
-
- * awk.h: (struct search): Removed.
- (assoc_scan, assoc_next): Removed declarations.
- * array.c (assoc_scan, assoc_next): Removed functions.
- * eval.c (interpret): Remove Node_K_array_sorted_for. Change code
- at Node_K_arrayfor.
- (nodetypes): Remove Node_K_array_sorted_for.
- * configure.in: Removed array sorting test.
- * awkgram.y: Removed sorted_in keyword and associated code.
-
-Sun Feb 4 14:57:49 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (interpret): Use tree->rnode->exec_count to hold count of
- times if was true.
- profile.c (interpret): Ditto.
- * main.c (pre_assign): Gross hack. malloc fresh copy of assign so can
- clear the '=', otherwise screws up profiling print out.
-
-Sun Jan 28 16:16:02 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Per request from Nelson Beebe, SIGHUP to pgawk dumps profile
- and function call stack and exits, SIGUSR1 dumps and continues
- running.
-
- * eval.c (dump_fcall_stack): New function, dumps awk function call
- stack.
- * awk.h (dump_fcall_stack): Add declaration.
- (init_profiling_signals): Ditto.
- * main.c (main): Call init_profiling_signals.
- * profile.c (init_profiling_signals, dump_and_exit, just_dump): New
- functions.
-
-Sun Jan 28 15:50:02 2001 Eli Zaretskii <eliz@is.elta.co.il>
-
- * io.c (gawk_popen): Restore the mode of stdin before running the
- child process and switch it back if BINMODE is in effect after the
- child returns.
- (redirect): Restore the mode of stdin before running the child
- process.
- (close_redir): Switch mode of stdin back to binary if BINMODE is
- in effect, after the child returns.
-
- * builtin.c (do_system): Restore the mode of stdin before running
- the child process and switch it back if BINMODE is in effect after
- the child returns.
-
- * awk.h (os_restore_mode): Add prototype.
-
-Thu Jan 18 14:03:06 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h, README_d/README.ultrix: Fixes for Ultrix
- from Juergen Kahrs.
-
-Wed Jan 17 11:03:40 2001 Eli Zaretskii <eliz@is.elta.co.il>
-
- * io.c (redirect) [F_GETFL && O_APPEND]: Use binmode in the call
- to fdopen.
-
-Mon Jan 15 16:29:52 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (prec_level): Made Node_K_getline higher than <
- but lower than others. Allows use of getline with redirection
- inside an if.
-
-Wed Jan 10 15:35:06 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Rationalized string assignment.
-
-Sun Jan 7 15:26:16 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * getopt.h: Removed names in prototypes for getopt_long
- and getopt_long_only, fixes problems on MINGW32.
-
-Thu Jan 4 10:13:46 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Add check for mcheck.h
- * main.c: Include mcheck.h if have it.
- (main): If TIDYMEM turned on in environment, also call mtrace().
-
-Wed Jan 3 16:41:33 2001 Arnold D. Robbins <arnold@skeeve.com>
-
- Fixed minor memory leaks.
- * re.c (re_update): When IGNORECASE changed, unref(t->re_text).
- * eval.c (pop_fcall): Fix the logic to correctly free the vname
- when copying array args back to their underlying source.
-
- Fixed massive memory leaks.
- * node.c (dupnode): If PERM is set, do nothing.
- (unref): Fix logic. Always turn off TEMP. Check just for MALLOC
- when incrementing the stref.
- * array.c (assoc_lookup): Turn off PERM also when saving subscript.
- * builtin.c (sub_common): Turn off PERM also when making private copy
- of string.
-
- Add a minor memory cleanup facility (undocumented):
- * awk.h (do_tidy_mem, release_all_vars): Add declarations.
- * main.c (do_tidy_mem): Add declaration.
- (main): If $TIDYMEM exists, do_tidy_mem is true, and call mtrace().
- * awkgram.y (release_all_vars): New function.
-
-Sun Dec 31 10:47:37 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (in_end_rule): Renamed `parsing_end_rule' to avoid
- conflict with global var of same name.
-
-Sun Dec 24 10:36:54 2000 Eli Zaretskii <eliz@is.elta.co.il>
-
- * awkgram.y (snode): Reword the error message about the number of
- arguments for a builtin, so as not to use the English `s' as a
- plural suffix.
-
-Tue Dec 12 08:38:03 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * ext.c (do_ext): ifdef out use of `dummy'. Duh.
- * regex.c (re_error_msgid): Revert to array of `char *' so that can
- compile on K&R compilers. Fix all uses appropriately.
- (re_error_msgid_idx): Removed.
-
-Fri Dec 8 11:47:26 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * ext.c (dummy): Make gcc specific via ifdef.
- * builtin.c (do_dcgettext): Make conditional compilation smarter.
- * msg.c (warning, error, r_fatal): Finish switching back to
- multi-version function header.
-
-Wed Dec 6 13:28:58 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.h: Include <config.h> to get ssize_t definition.
- * awkgram.y (yyerror): Restore multi-version function header,
- it seems that what ansi2knr produces doesn't quite do the
- job on old compilers.
- msg.c (msg): Ditto.
-
-Tue Dec 5 15:05:35 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in (AC_C_INLINE): Added macro call.
- * Makefile.am (LN): Define it for install hooks.
-
-Sun Dec 3 17:28:53 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (os_setbinmode): Declare new function.
- (setmode): Remove definition: conflicts with MacOS X.
- * main.c (main): Change call of setmode to os_setbindmode.
-
- * builtin.c (do_dcgettext): Improve ifdef for code, fixes MacOS X.
- * custom.h (__APPLE__): Force definition of HAVE_MKTIME, won't
- link otherwise. Harumph.
-
-Sun Nov 26 11:58:52 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_dcgettext, do_bindtextdomain): Add calls to
- free_temp the various arguments. Sigh.
- * io.c (yylex): Nuked bstart variable, put all uses of mend variable
- into TANDEM ifdef.
- * main.c (load_environ): Removed cp variable, value never used.
- * random.c: Remvoed uses of `inline' keyword.
- * Makefile.am (install-exec-hook, uninstall-local): New targets.
- Adds creation of gawk-X.Y.Z and awk links, as in 3.0.x.
- * configure.in (GAWK_AC_TYPE_SSIZE_T): Added.
- m4/ssize_t.m4: New file.
-
-Wed Nov 22 14:47:18 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- After consultation with Brian Kernighan and Michael Brennan,
- nuked the abort keyword.
-
- * awk.h (Node_K_abort): Removed.
- * eval.c (aborting): Removed decl.
- (interpret): Removed Node_K_abort case.
- * io.c (do_input): Removed checks for aborting.
- * main.c (aborting): Removed.
- (main): Removed checks for aborting.
- * profile.c (pprint): Removed Node_K_abort case.
- * awk.y (LEX_ABORT): All stuff removed.
-
-Wed Nov 22 10:45:57 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * ext.c (dummy): Move inside #ifdef DYNAMIC. Helps on
- PCs and other platforms that don't do dynamic loading.
- * awk.h (RED_TCP): New flag, means use shutdown.
- io.c (redflags2str): Add RED_TCP.
- (SHUT_RD, SHUT_WR, SHUT_RDWR): Add conditional defines.
- (redirect): Add RED_TCP to tflag if appropriate. Add more
- #ifdef HAVE_SOCKETS as needed.
- (close_redir): If RED_TCP set, shutdown(2) on each end of the socket.
-
-Tue Nov 21 16:25:41 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y: for (iggy in foo) loops: Add test that index
- in delete statement is a simple variable.
-
-Tue Nov 14 16:11:39 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Add appropriate conditional versions of the gettext
- functions if we don't have <libintl.h> or if ENABLE_NLS
- is not defined or zero.
- * configure.in: Add check for libintl.h header.
-
- From Scott Deifik for PCs.
- * awk.h (lintwarn): Call set_loc unconditionally, makes
- compilation work on PCs.
- * builtin.c (do_dcgettext): Compile out cat_tab and code
- if not ENABLE_NLS.
- * ext.c: For MSC, no long long variable.
- * random.c: Use clock() instead of gettimeofday().
- * builtin.c: Fixed prototypes for new random functions (ADR).
-
-Sun Nov 12 17:45:44 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (parse_next_arg): Fix call to >= num_args so
- running out of args check is correct, instead of core dumping.
- (format_tree): Save and restore `the_args' and `args_size'
- if a nested call is in progress, see explanatory comment.
- See also tests/addcomma.
- * Makefile.am: Fix things so that gawk/pgawk built first,
- even if `make check' called before make. Add some
- commentary.
-
-Wed Nov 8 14:39:20 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Only add -rdynamic for Linux.
- * dfa.h, dfa.c: Upgraded to versions in grep 2.4.2.
-
-Tue Nov 7 18:17:17 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * All: Switched to ANSI function headers and added
- `ansi2knr' automake option. Really cool.
-
-Tue Nov 7 16:57:49 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): Check for O_APPEND in flags when doing
- fdopen() of /dev/fd/N. Thanks to bug report from
- "John H. DuBois III" <spcecdt@armory.com>.
-
-Tue Nov 7 14:09:14 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (os_is_setuid): Declare function.
- * main.c (main): Call it if do_lint and warn if true.
- * awkgram.y (tokentab):
- - Made sure all extensions are actually marked as such. Ouch.
- - Changed "sort" to "asort". Potential to break too much old code.
- * getopt.h, getopt.c, getopt1.c: Replaced with current versions
- from glibc CVS archive.
-
-Mon Nov 6 18:14:33 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * random.c: Replaced with recent version from FreeBSD.
-
-Mon Nov 6 15:37:12 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Major simplification of automake machinery.
-
- * configure.in:
- - INSTALL is forced only if not provided in environment
- - lots of Makefile.in files removed since move to automake 1.4a
- * Makefile.am, */Makefile.am: Moved directories that don't need
- the automake machinery into EXTRA_DIST as appropriate and
- removed the Makefile{,.am,.in} files as needed.
- * eval_p.c, profile_p.c: New files to make it easier with automake
- to compile pgawk.
-
-Tue Oct 24 12:20:18 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (valinfo, var_comp, dump_vars): New functions to dump
- the list of global variables.
- * awk.h: Declare dump_vars.
- * main.c (optab): New option "dump-variables".
- (main): Code to handle it, set the output file and then call
- dump_vars() at the end.
- (usage): New option added to usage message.
-
-Sat Oct 21 22:59:59 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (parms_shadow): For a function, check if any
- parameters shadow global variables and print a warning.
- (shadow_funcs): Go through all functions and call parms_shadow().
- (isnoeffect, isassignable): Add Node_LINT and NODE_BINMODE.
- * main.c (main): If do_lint, call shadow_funcs().
- * awk.h: Add declaration of shadow_funcs().
- * configure.in: Added m4/Makefile and awklib/eg/network/Makefile
- to list of generated makefiles.
-
-Tue Oct 17 10:47:35 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Reverted change that did dupnode of
- array indices. Creates significant problems if index is
- numeric value and CONVFMT changes. Added fix to set
- bucket->ahname->stfmt to -1 so that force_string never recalculates
- the string value, and also turned off NUM and turned on STR.
- See test/arynasty.awk.
-
-Mon Oct 16 12:21:26 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * All: Cleaned up various lint warnings for consistent phrasing.
- * awk.y (in_end_rule): New variable for warning about unredirected
- getline. It's ok in a BEGIN, but not in an END.
-
-Sun Oct 15 14:14:05 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_FS): Add lint warning for FS = "".
- (do_split): Ditto for 3rd arg = "".
-
-Fri Oct 13 09:17:04 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (close_redir): Clear rp->fp on all closes. Remove
- rp from list if either closing both ends or both ends
- have been closed separately. Add exitwarn message for
- co-process.
- (flush_io): Add warning message if fflush of co-process
- fails. Rationalize return value to either 0 or -1.
- * builtin.c (do_gensub): 3rd arg of zero generates a
- warning.
- (do_fflush): Rationalize return value: -1 for unopen or read-only
- redirection, status of fflush otherwise.
-
-Wed Oct 11 22:11:19 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y (for loop): Check that there is a body as
- part of the `is it a delete statement' check.
-
-Thu Oct 5 11:56:42 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h, awkgram.y, configure.in, eval.c: Enabled
- `for (i in_sorted array)' loops for those who
- are Strong In The Way Of The Source. So there.
-
-Mon Oct 2 10:09:32 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (do_close): Make close(x) for non-open x return -1
- and update ERRNO. close(FILENAME) no longer does anything
- magic; this is all for better consistency with other awks
- and is more logical, anyway.
-
-Thu Sep 28 17:27:16 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (close_one): Added a lint warning if it becomes
- necessary to start multiplexing fd's, per ancient suggestion
- from Scott Deifik, <scottd@amgen.com>.
-
-Tue Sep 26 14:41:41 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c: Move enum for redirection placement to top
- of file, and make the value a parameter to pp_redir.
- Fix all the calls. This gets `|&' right everywhere.
-
-Sun Sep 24 16:38:04 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (freenode): Set the flags straight to UNINITIALIZED.
- * node.c (unref): Fix test for MALLOC|TEMP to test the
- actual flags, not zero.
- * builtin.c (format_tree): ala print and concat, dupnode
- the temp nodes from tree_evaling the arguments. See
- test/nasty2.awk.
-
-Mon Sep 18 10:16:58 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (snode): Make match 3rd arg and close 2nd arg fatal
- errors if --tradtional.
-
-Thu Sep 14 12:22:42 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (update_ERRNO): Call gettext on result of strerror.
- i18n rules.
-
-Wed Sep 13 14:56:11 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_tree_eval): Case for Node_concat. Dupnode the
- strings ala do_print to get more consistent results.
- Compare gawk 3.0.6 to nawk/mawk on test/nasty.awk.
- Thanks to Andrew Sumner (andrewsumner@yahoo.com) for
- pointing this one out.
-
-Wed Sep 13 10:06:47 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (two_way_close_type): New enumerated type.
- (close_redir): New third param of type two_way_close_type.
- Add smarts to two-way case for different close types.
- Only remove it from the redir list if closing is for both ends.
- (gawk_pclose): Check that rp->iop != NULL before closing,
- all three versions.
- * awkgram.y (tokentab): Allow 2nd argument to close.
- (snode): Add lint warning.
-
-Sun Sep 10 14:16:10 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_FIELDWIDTHS): Generate a fatal error upon
- encountering a negative width.
-
-Sun Sep 10 10:37:35 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awkgram.y (snode): If first argument to dcgettext is a
- string constant and --gen-po, dump the string constant to
- the .po file too.
- * main.c (nostalgia): Add call to fflush(stderr).
- * eval.c (r_tree_eval): Add entries for Node_LINT and for
- NODE_TEXTDOMAIN.
-
-Thu Sep 7 10:46:20 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_dcgettext): Per suggestion from Ulrich Drepper,
- make the awk interface:
-
- str = dcgettext(string [, domain [, category]])
-
-Wed Sep 6 16:28:12 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Bring gettext features out to the awk level!
-
- * awk.h: Add declarations of new functions `do_dcgettext'
- `do_bindtextdomain', `set_TEXTDOMAIN' and variables
- `TEXTDOMAIN', `TEXTDOMAIN_node'. New NODETYPE enum
- `Node_TEXTDOMAIN'.
- * eval.c (nodetypes): Add Node_TEXTDOMAIN at end.
- (set_TEXTDOMAIN): New function.
- (r_get_lhs): Add case for Node_TEXTDOMAIN.
- * main.c (varinit): Add entry for TEXTDOMAIN.
- * node.c (format_val): If INTLSTR use dcgettext of string
- and TEXTDOMAIN.
- * awkgram.y (tokentab): Add entries for "dcgettext" and
- "bindtextdomain".
- * builtin.c (do_dcgettext, do_bindtextdomain): New functions.
-
-Tue Sep 5 17:01:34 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * profile.c (pp_string_fp): Use lower case versions of
- isascii and isprint to avoid printing high-bit-set
- characters. Make it smarter to break strings at 70
- chars or after embedded newline, for --gen-po.
- Fix the calls to it everywhere for new boolean option
- to yes/no break lines.
- * m4/strtod.m4: New file, defines GAWK_AC_FUNC_STRTOD_C89.
- * configure.in: GAWK_AC_FUNC_STRTOD_C89 call added
- * acinclude.m4: Include strtod.m4.
- * acconfig.h: Add entry for STRTOD_NOT_C89.
- Remove entries for BITOPS and NON_DEC_DATA.
- * missing/missing.c: Add check for STRTOD_NOT_C89, use ours
- if set.
- * missing/strtod.c: Make smarter for input like 0x345.
- * awk.h: [STRTOD_NOT_C89]: Define strtod gawk_strtod to get
- our version. Avoids linker weirdness.
-
-Mon Sep 4 09:16:43 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_record): Fix from Utz-Uwe Haus
- <haus@saturn.Math.Uni-Magdeburg.DE> to make sure there's
- always enough room in the record.
- * builtin.c (nondec2awknum): Fix octal conversions to exit
- when hitting a non-digit, and not go to decimal. Make
- check for non-octal better. Based on bug report from
- Morris_Lee@tvratings.com.
-
-Sun Sep 3 13:52:11 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): Allow positional parameters for
- %*.* kinds of things.
-
- Made octal/hex constants and strtonum on by default. Made
- --enable-non-decimal-data a runtime switch `--non-decimal-data'.
-
- * configure.in: Removed AC_ARG_ENABLE for --enable-bitops and
- --enable-non-decimal-data.
- In .developing check, remove the AC_DEFINEs.
- * awk.h: Decls for bitwise functions now there by default.
- Add decl of `do_non_decimal_data'.
- * main.c (do_non_decimal_data): New variable
- (optlist): Add new entry for `--non-decimal-data'.
- (main): Turn off `do_non_decimal_data' if `do_traditional'.
- (usage): Add the new option.
- * node.c (r_force_number): Make check for non-decimal data a
- runtime check based on do_non_decimal_data.
- * awkgram.y (yylex): Make non-decimal constants a runtime check.
- * builtin.c: Remove the ifdefs around the bit functions and
- nondec2awknum.
-
-Tue Aug 29 18:45:56 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Go back to ARRAYDEBUG if .developing set.
- * awkgram.y: Use ARRAYDEBUG for adump(), use multiple tests
- for stopme().
-
-Mon Aug 28 17:09:06 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (do_split): Add check for first arg is null string,
- if so, skip the work and return zero.
-
-Mon Aug 14 23:01:55 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Add %COUNT$... handling to printf.
-
- * awk.h (printf_count): New define in NODE structure.
- (format_tree): Added decl.
- * awkgram.y (count_args): New function to set printf_count in
- a node.
- [print productions]: Call the function.
- * (snode): For do_sprintf, call count_args, set the count
- in the lnode.
- * builtin.c (format_tree): New fourth arg is argument count.
- Add smarts to handle the `$' in a format.
- * (do_sprintf): Use new argument to format_tree.
- node.c (format_val): Ditto.
-
-Sun Aug 13 11:10:41 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes from Alan J. Broder (ajb@woti.com):
- - Array third arg to match puts subtexts into the array:
-
- * awk.y (tokentab): "match" gets third arg, and lint warning
- * builtin.c (do_match): If third arg there, fill it with subtexts
-
- - New builtin sort function:
-
- * awk.h (do_sort): Declared.
- * array.c (do_sort, dup_table, merge, merge_sort, assoc_from_list,
- assoc_sort_inplace): New functions.
-
- * eval.c (tree_eval): In debug code, make uninitialized var
- a warning, not a fatal error. Breaks too many things.
-
-Wed Aug 9 10:51:41 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (func_call): Increment the exec_count on the
- function's node; this allows printing a call count for
- functions.
- profile.c (pp_func): Print the count for functions.
- * ALL: Changed DEBUG to GAWKDEBUG in all gawk files, so that
- I don't get regex/dfa debugging. In some cases, changed
- memory-related stuff to MEMDEBUG. Still have work to do.
- * awk.h, node.c, profile.c: Removed exec_count_init variable;
- code has been cleaned up to not need different values for
- profiling/not profiling.
-
-Thu Jul 5 21:10:59 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (casetable): Removed the USE_PURE_ASCII stuff; it
- was never documented. Latin 1 forever.
- * main.c (main): Only call `init_profiling' after arg parsing
- if `do_profiling' is still false. Avoids resetting `prof_fp'
- back to stderr.
-
-2000-02-17 Akim Demaille <akim@epita.fr>
-
- * m4: New directory.
- * acinclude.m4: Removed, replaced by m4/*.m4.
- * Makefile.am: Adjusted.
- Added ACLOCAL_AMFLAGS.
- * configure.in Adjusted.
- Use AC_SYS_LARGEFILE not GAWK_AC_SYS_LARGEFILE, jm_FUNC_MKTIME,
- not GAWK_FUNC_MKTIME.
- * acconfig.h: Removed _FILE_OFFSET_BITS, _LARGEFILE_SOURCE and
- _LARGE_FILES now templated by m4/largefile.m4.
-
-2000-02-15 Arnold Robbins <arnold@skeeve.com>
-
- * MOVED TO AUTOMAKE AND GETTEXT.
- Just about every file touched. Work done by Arno Peters.
-
-Sun Jan 2 14:48:23 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- First edit of the new millenium!
- * awk.y (yylex): If lint checking, be obnoxious about gotos.
-
-Mon Oct 25 19:12:02 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h: Remove C_ALLOCA ifdef.
- * main.c (main): Remove C_ALLOCA code.
- * io.c (do_input): Ditto.
-
-Mon Aug 9 17:36:24 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * bisonfix.sed: Unconditionally #undef YYSTACK_USE_ALLOCA.
- * configure.in: Remove all alloca and ALLOCA related stuff.
- * Makefile.in: Ditto.
-
-Thu Jul 29 18:32:05 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NODE): exec_count now in #ifndef NO_PROFILING.
- * Makefile.in: Changes to only recompile eval.c and profile.c to a
- special version for profiling.
- * custom.h [MSC_VER]: Turn on NO_PROFILING to omit the exec_count
- and save space.
- * node.c (more_nodes): Move setting of exec_count to
- #ifndef NO_PROFILING.
-
-Thu Jul 1 12:12:05 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in (AC_PREREQ): Update to 2.13.
- GAWK_AC_C_STRINGIZE: convert to AC_C_STRINGIZE.
- * aclocal.m4 (GAWK_AC_C_STRINGIZE): Remove definition, now
- part of autoconf.
- * acconfig.h (HAVE_STRINGIZE): Ditto.
-
-Wed Apr 28 11:08:05 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Fix call to free_temp(subs) to after
- last use of subs.
-
-Sun Apr 25 16:48:06 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect): Add lint warning when same file is used for
- > and >>.
-
-Thu Apr 22 15:05:30 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Fix call to fatal to lintwarn instead.
- * node.c (r_force_number): Use `0 &&' to disable warnings about
- conversions: they're overzealous, methinks.
-
-Thu Apr 8 14:27:58 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- New features for profiling:
-
- * awk.h (NODE): Add `exec_count' member.
- (freenode): Clear `exec_count' upon free.
- * awk.y (func_count): New variable, counts total number of functions.
- (func_install): Increment func_count.
- (struct finfo): Information for use in sorting functions when
- pretty printing.
- (fcompare): Compare two finfo structures.
- (dump_funcs): Print the functions in sorted order for profiling.
- (getfname): Return the name of a builtin function.
- * eval.c (INCREMENT): New macro for counting execution of nodes.
- (interpret): Call INCREMENT() appropriately.
- * main.c (do_profiling): New flag if doing profiling.
- `--profiling': New option added to getopt_long machinery.
- (main): For profiled version, set do_profile and output file.
- Call `dump_prog' and `dump_funcs' if do_profiling at end.
- (usage): Add new argument.
- * node.c (more_nodes, freenode): Set exec_count to zero.
- * profile.c: New file, does pretty printing and prints counts.
- * Makefile.in: Update to create two versions of gawk, regular
- and `pgawk' which does profiling.
-
-Wed Mar 10 21:38:14 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (close_redir): Use update_ERRNO() instead of manually
- doing it.
-
-Mon Dec 21 15:58:21 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Add BeOS to list of cases where we hardwire
- GETPGRP_VOID.
- custom.h: Remove the #define from __be_os case. Cleaner to
- do it all in configure. Based on email from Martin C. Brown,
- mc@whoever.com.
-
-Mon Nov 30 20:52:52 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (update_ERRNO): New function, mainly for use by
- extension functions.
- * awk.h: Add decl.
-
-Tue Nov 24 18:13:29 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * Changes based on submission from Christos Zoulas at D.E. Shaw
- that adds the following features:
- - checking for use of uninitialized variables
- - checking if a string that's not a number converts to 0
- - ability to load a dynamic library to add built-ins
- - VERSION variable (may or may not stay)
- Additional change:
- - --lint=fatal makes lint errors become fatal
- - LINT="fatal" has the same effect, any other positive
- value makes lint errors be just warnings
- * Makefile.in (includedir): New variable for gawk header files
- (ext.c, ext.o): New source and object files
- (OTHERS, extension): New directory for macro with example extension
- (install): Install header files
- * acconfig.h (DYNAMIC): New macro, true if can do dynamic loading
- * array.c (assoc_lookup): New parameter `reference' is true if we
- want to do reference checking. Add appropriate reference checking
- code.
- * awk.h (UNITITIALIZED): New flag
- (lintfunc): Function pointer for correct function to use
- (lintwarn): New macro to produce warnings
- (result): New macro for func call result, used in commented out
- code in eval.c.
- (getnode, freenode): Revised to set UNINITIALIZED.
- (get_lhs): Third arg for reference checking, change all calls
- -- Add appropriate decls of new/changed functions
- * awk.y (tokentab): New builtin "extension" for adding extensions
- (node_common): Set flags to UNINITIALIZED for Node_var.
- * configure.in (dynamic linking): New check. Probably should
- be a separate macro.
- * eval.c (flag2str): Add UNINITIALIZED to the table.
- (r_tree_eval): Add checks for UNINITIALIZED.
- (push_args): Appropriate changes for UNINITIALIZED to work.
- (r_get_lhs): New third argument for reference checking.
- (set_LINT): Add code to handle setting `lintfunc' appropriately.
- * ext.c: New file, for doing dynamic library extensions.
- * extension/*: New directory with simple example code.
- * main.c (VERSION_node, EXTENSION_node): New nodes for new vars.
- (optab): Change for "lint" to allow optional argument.
- (lintfunc): Definition.
- (main): Add case in option processing for --lint.
- (varinit): Add entries for VERSION and EXTENSION.
- * node.c (r_force_number): Checks that string really is a number.
- (morenodes): Set UNITIALIZED in the flags.
- * re.c (all): Change `result' to `res' globally to avoid conflict
- with new macro.
- * GLOBAL: Change lint calls to warning() to lintwarn().
- * GLOBAL: Change all calls to get_lhs() to have 3rd arg.
- * GLOBAL: Change all calls to assoc_lookup() to have 3rd arg.
-
-Sun Nov 22 17:07:39 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * patchlev.h: Renamed from patchlevel.h to make life
- easier for the PC guys.
- (main.c): Changed to include patchlev.h.
- (Makefile.in): Changed to ref patchlev.h where needed.
-
-Sat Nov 7 21:29:52 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_get_lhs): case Node_field_spec. Fix the lint
- warnings for field reference of null string or non-numeric value.
- When turned on, $0 generated a warning! Oops.
-
-Thu Nov 5 16:58:38 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (init_fds): New function to pre-open 0, 1, and 2 on
- /dev/null if they're not open. Robustness, more or less.
- (main): Call init_fds.
- * io.c (str2mode): Add smarts for two-letter strings
- such as "rw", "r+", "wr", "w+" and "a+".
-
-Mon Nov 2 16:55:46 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_*): Added lint checks for non-numeric
- and/or non-string arguments, as appropriate. This should
- have been done long ago.
-
-Tue Oct 20 21:56:06 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (LINT_node): New variable for LINT special var
- (Node_LINT): New node type.
- (set_LINT): Declare function.
- * main.c (varinit): Add LINT variable.
- (usage): Print an emphatic pointer to the manual for bug reports.
- * eval.c (nodetypes): New entry for Node_LINT.
- (r_get_lhs): Case added for Node_LINT.
- (set_LINT): Set do_lint from LINT variable.
-
-Mon Oct 19 22:35:46 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: For GCC, add -Wall to get warnings for development.
- * Makefile.in (awktab.c): Move sed stuff to separate script.
- * bisonfix.sed: New script, with old fix and Solaris x86 fix.
- * awk.h (nodetype2str): Add declaration.
- (load_procinfo): Add declaration.
-
-Tue Oct 13 22:28:56 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes to make PROCINFO["FS"] reflect the use of FIELDWIDTHS or FS.
-
- * eval.c (assign_val): New function that does the mechanics of
- assignment
- * main.c (load_procinfo): Add setting of PROCINFO["FS"] to "FS".
- * field.c (update_PROCINFO): New function to update the array.
- (set_FS): Call update_PROCINFO.
- (set_FIELDWIDTHS): Ditto.
-
-Sun Sep 27 10:18:05 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (reisstring): New prototype.
- * re.c (reisstring): New function, returns true if the re did
- a simple string match. This is rather simplistic in its logic.
- * io.c (get_a_record): In the case that RS is a regexp, AND
- the re matched at the exact end of the buffer, add a call to
- `reisstring' in case it's a simple string match. If so, we
- don't need to read more into the buffer because we don't
- have a regex like `x.*y' that might extend longer.
- This should be very helpful for interactive /inet clients
- where something like `RS = "\r\n"' happens.
-
-Thu Aug 13 22:07:40 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (socketopen): Fixes from Juergen Kahrs to socket
- opening code for "any host".
-
-Tue Jul 14 19:02:33 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * aclocal.m4 (GAWK_AC_LIB_SOCKETS): Removed the caching;
- configure gave different results the second time it was run!
-
-Fri Jul 10 09:11:06 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (interpret): Minor cleanups: add variable name to
- fatal error Node_K_array_for and other minor changes.
-
-Mon Jun 22 16:53:34 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in (tags, TAGS): Add $(LIBSRC).
-
-Tue Jun 2 15:23:05 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (devopen): Relax previous change, don't require "any",
- just that a port be there. The user can put 0 if they
- don't care.
-
-Wed May 27 21:33:45 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (devopen): For /inet, require that local and remote
- ports and the remote hostname be there, and that `any'
- be used for a port if they don't care.
-
-Thu May 21 14:13:46 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (parse_escape): Add warning that is always on
- for \q for any unknown q inside string or regex constant.
- I got bit by this myself once too often. Or else I'm
- just getting old and senile.
-
-Mon May 4 12:42:49 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (NODETYPE): Sorted the Node_xxx entries for the
- builtin variables. Gotta look nice, don't we?
- * eval.c (nodetypes): Ditto.
- (genflags2str): Added code to check that we don't
- overflow the static buffer. This is just a debugging
- routine, not worth the hassle of dynamic allocation.
-
-Mon Mar 2 16:06:16 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in (dist): Remove any embedded copied RCS or CVS
- directories.
-
-Mon Feb 23 00:09:52 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (genflags2str): Add declaration.
- * eval.c (genflags2str): New function.
- (flags2str): Use new general purpose function.
- * io.c (redflags2str): Same.
-
-Sun Feb 22 23:57:29 1998 Arnold D. Robbins <arnold@skeeve.com>
-
- Significant changes to add two-way i/o and sockets!!!
-
- * Makefile.in: Add @SOCKET_LIBS@ to LIBS variable.
- * acconfig.h: Add HAVE_SOCKETS and HAVE_PORTALS defs.
- * aclocal.m4: New macro GAWK_AC_LIB_SOCKETS.
- * awk.h: New node type, Node_redirect_twoway, and new redirection
- flags: RED_TWOWAY, and RED_SOCKET.
- * awk.y (parser): Add TWOWAYIO token and appropriate productions.
- (yylex): Recognize `|&' token if not traditional.
- * builtin.c (do_print, do_printf): Flush buffer if TWOWAYIO.
- * configure.in: Add header checks for networking header files,
- add --enable-portals switch, call GAWK_AC_LIB_SOCKETS
- * eval.c (nodetypes): Add string constant for Node_redirect_twoway.
- * io.c (redflags2str): New function.
- (redirect): Better error message in default case, add code for
- Node_redirect_twoway.
- (socketopen): New function.
- (iop_open, devopen): Add recognition of `/inet/...'.
- (two_way_open): New function.
-
-Sat Dec 13 21:15:07 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (struct node): New member, `param_list' in union `x', becomes
- `node->parmlist' in the code.
- * awk.y (func_install): Rearranged a bit, to build up a list of
- the function parameter names and to save it in the `parmlist' field.
- * eval.c (push_args): New parameter, `varnames', which is the list
- of variable names. Use this to set the vname field of each
- parameter's value as it's created. Special case arrays to include
- where they came from, mainly for array vs. scalar diagnostics.
- (r_tree_eval): Don't set the `vname' field for parameters.
- (pop_fcall): Free the `vname' field if it's an array.
- (func_call): Pass in the `parmlist' field to call of push_args().
- (r_get_lhs): For Node_subscript, change error message to use
- the `vname' field.
- (stopme): New do-nothing function for use with debugging code
- and setting breakpoints.
-
-Thu Dec 4 15:18:17 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y: Fixed several lint checks and moved some into
- test for do_lint_old.
- * eval.c (fmt_index): Add value of bad format spec to
- error message.
-
-Tue Nov 18 22:19:02 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in (install): Strip the installed binary.
- From Anatoly A. Orehovsky (tolik@mpeks.tomsk.su).
-
-Sun Nov 16 22:12:39 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (in_array, assoc_lookup): Add symbol->vname to
- fatal calls for scalar in array context.
-
-Wed Nov 12 22:18:33 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h [ISASCII]: On all IS* macros, add cast to unsigned char.
- [TOUPPER, TOLOWER]: New macros using unsigned char.
- * awk.y: Change to use of IS* vs. is* macros.
- * builtin.c (nondec2awknum): Change to use of IS* vs. is* macros,
- change casts for casetable[] from int to unsigned char.
- use new TOLOWER, TOUPPER macros
- * dfa.c [ISASCII]: On all IS* macros, add cast to unsigned char.
- (lex): Change isdigit to ISDIGIT.
- [TOUPPER, TOLOWER]: New macros using unsigned char, now used.
- * eval.c (fmt_ok): Change to use of IS* vs. is* macros.
- * field.c (sc_parse_field): Change to use of IS* vs. is* macros,
- change casts for casetable[] from int to unsigned char.
- (set_FS): Change to use of IS* vs. is* macros.
- * io.c (get_a_record): Change to use of IS* vs. is* macros,
- change casts for casetable[] from int to unsigned char.
- * main.c (main): Change to use of IS* vs. is* macros.
- * node.c (r_force_number, parse_escape): Change to use of IS* vs.
- is* macros.
- * re.c (make_regexp): Change to use of IS* vs. is* macros.
- * regex.c [ISASCII]: On all IS* macros, add cast to unsigned char.
-
-Sun Oct 19 12:36:47 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * ALL: Change email address to arnold@gnu.org in all relevant places.
-
-Wed Oct 15 03:38:12 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y (yylex): Don't allow newlines after ? or : if do_posix.
-
-Thu Oct 9 19:28:39 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h [SEQUENT]: Removed; not needed any more since the
- mmap code was ripped out.
-
-Wed Oct 8 17:22:03 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in: Remove check for madvise; don't need it any more
- after nuking use of mmap.
-
-Tue Oct 7 11:14:21 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (flags2str): Made the code table driven. Shortened a lot.
-
-Tue Sep 30 20:59:17 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (r_get_lhs): case Node_field_spec. Add lint warnings
- for field reference of null string or non-numeric value.
- Based on patch submitted by Alan Broder, ajb@dtmr.com.
-
-Wed Sep 24 20:47:59 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h [TANDEM]: New changes. Finishes up Tandem
- integration.
-
-Mon Sep 22 00:42:34 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * custom.h [__be_os]: Remove BROKEN_TOKEN definition.
- * dfa.c, dfa.h: Change `token' to `dfa_token' to avoid BeOS
- compile problems.
-
-Thu Aug 7 22:35:17 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes for BeOS from mc@whoever.com
-
- * awk.h (strncasecmp): Bracket prototype.
- custom.h [__be_os]: New stuff.
- dfa.h, dfa.c [BROKEN_TOK]: New ifdefs to use dfa_token, not token.
-
-Fri Aug 1 13:32:49 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- Tandem changes:
-
- * awk.h [TANDEM]: Misc additions, as needed.
- * io.c (get_a_record): Changes for fixed length records; not used
- on other systems.
- * main.c (MRL): New variable, TANDEM specific.
- (main): Update handling -mr option for TANDEM.
- (load_environ): Comment out whole routine if TANDEM.
- missing.c [TANDEM]: New includes.
- gawkmisc.c [TANDEM]: Include `tmiscc'.
-
-Wed Jul 30 19:53:52 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- Close-on-exec changes:
-
- * awk.h: (os_close_on_exec, os_isdir): New functions.
- * gawkmisc.c: Add include fcntl.h.
- * configure.in [AC_CHECK_HEADERS]: Add fcntl.h.
- * io.c (devopen, iop_open): Change to use os_isdir(), not S_IFDIR().
- (redirect, devopen, iop_open, gawk_popen): Change all calls to
- fcntl() to os_close_on_exec().
-
-Tue Jul 29 11:09:45 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Fixed check for digits to use isdigit()
- instead of looping over digits and using strchr(). Duh.
-
-Sat Jul 26 22:52:08 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (set_BINMODE): Fix so that `-v BINMODE=w' works.
- * node.c (r_force_number): Add decl of strtod(); makes things
- work on MIPS.
- * Makefile.in (install-strip): New target.
-
-Fri Jul 18 13:28:05 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (redirect, devopen, iop_open, gawk_popen): Set the
- close-on-exec flag on all files and pipes opened for I/O.
- Keeps children run via system() or other pipes from running out
- of file descriptors.
-
- (Reported by Kenny McCormack, gazelle@yin.interaccess.com.)
-
-Tue Jul 8 22:18:00 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y [LEX_NEXT]: Removed support for `next file' as two words.
-
-Tue Jul 8 06:46:32 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * dfa.c: Changes from pjr@jet.UK (Paul J Rippin) from an old
- bug report against 2.14.0 that speed up initialization and
- rewrite the inner loop into readable code.
-
-Thu Jul 3 11:44:50 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * Atari support moved into new `unsupported' directory.
- awk.h, Makefile.in, gawkmisc.c, and missing.c modified.
-
-Sun Jun 29 14:17:37 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y (exp): Fixed warning about `x = /foo/'.
-
-Wed Jun 25 09:07:57 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * PORTS: Removed from distribution.
- * Makefile.in (MISC): Removed PORTS.
-
-Sun Jun 22 11:52:57 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- BINMODE changes.
-
- * awk.h (Node_BINMODE): Added.
- (struct redirect): Added mode field to save for io.c:close_one().
- (BINMODE, BINMODE_node, set_BINMODE): Add declarations.
- * awk.y (isnoeffect): Add Node_BINMODE.
- * eval.c (nodetypes): Add Node_BINMODE string.
- (r_tree_eval, r_get_lhs): Add cases for Node_BINMODE.
- (set_BINMODE): New function.
- * io.c (binmode): New function.
- (nextfile, redirect, gawk_popen): Add calls to binmode().
- * main.c (BINMODE, BINMODE_node): Add decls.
- (main): Add call to setmode() if BINMODE is set.
- (varinit): Add entry for BINMODE.
-
-Wed Jun 4 21:52:25 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * configure.in [AC_FUNC_MMAP]: Removed call.
- * awk.h [struct iobuf]: Removed IOP_MMAPED flag and `getrec' member.
- * io.c: Removed all mmap related code.
-
-Sun Apr 27 16:23:56 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * aclocal.m4 [GAWK_AC_FUNC_MKTIME]: New macro.
- * configure.in (GAWK_AC_FUNC_MKTIME): Call it.
-
-Thu Apr 24 23:25:06 1997 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (devopen): Remove stat test for /dev/foo files. Finally.
-
-Fri Jul 26 09:23:15 1996 Arnold D. Robbins <arnold@skeeve.com>
-
- Changes to add an abort statement, a la tawk.
-
- * awk.h (Node_K_abort): New enum value for NODETYPE.
- * main.c (aborting): New flag variable.
- (main): Add logic to handle aborting.
- * eval.c (interpret): Add case for Node_K_abort.
- * io.c (do_input): If aborting, break loop.
- * awk.y (tokentab): Add entry for "abort" keyword
- (PRODUCTIONS): Add production for LEX_ABORT.
-
-Wed Jul 24 12:49:52 1996 Arnold D. Robbins <arnold@skeeve.com>
-
- First cut at changes for i18n.
-
- * awk.h (do_intl): Declare new flag variable.
- [INTLSTR]: New flag def.
- (m_tree_eval): Fix definitions for INTLSTR.
- (force_string): Fix definitions for INTLSTR.
- * awk.y (yylex): Add _"..." for international strings.
- (dumpintlstr): New function.
- * main.c (do_intl): Define new flag variable.
- (optab): Add "gen-po" entry.
- (main): If do_intl, exit, don't run the program.
- (gawkoption): Add "gen-po" entry.
- * node.c (r_force_string): Call gettext if flags indicate INTLSTR.
-
-Thu Mar 14 06:29:42 1996 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (do_mktime): Added declaration of new function.
- * builtin.c (do_mktime): New function.
- * awk.y (tokentab): Added "mktime" to list of gawk extensions.
- * missing.c [HAVE_MKTIME]: Added include of mktime.c if needed.
-
-Mon Feb 26 22:32:19 1996 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (pidopen, useropen): Added warnings to use PROCINFO[],
- not special files.
- * main.c (load_procinfo): New function.
- * awk.y (variable): Added call to load_procinfo() function.
-
-Mon Aug 7 15:23:00 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.0.6: Release tar file made.
-
-Thu Aug 3 17:47:53 2000 Greg McGary <greg@mcgary.org>
-
- * regex.c: Patches for gcc bounded pointer handling.
-
-Thu Aug 3 13:09:09 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (in_array, do_delete): Fix tests for index equality
- when searching through the array to work correctly when
- index is "".
-
-Fri Jul 14 21:40:17 2000 Pat Rankin <rankin@eql.caltech.edu>
-
- * builtin.c (format_tree): Workaround a DEC C V5.7 bug by
- splitting `strcpy() + 3' into two expressions (the builtin
- inline strcpy evidently has erroneous return type of void *
- instead of char *; reputedly fixed in V6.1).
-
- * eval.c (C): New macro.
- [casetable]: Use it to add explicit casts for the character
- values outside the range of 0 to 127.
- * missing/strncasecmp.c [C, charmap]: Likewise.
-
- * io.c (redirect): Add EIO check on failed open for VMS.
-
-Fri Jul 14 11:57:23 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Efficiency hack: turn `for (iggy in foo) delete foo[iggy]'
- into moral equivalent of `delete foo'.
-
- * array.c (do_delete_loop): New routine.
- * awk.h [NODETYPE]: New Node_K_delete_loop value.
- Add declaration of do_delete_loop.
- * awk.y [LEX_FOR]: Fix code to recognize special case.
- * eval.c (nodetypes): New entry for Node_K_delete_loop.
- (interpret): Add case for Node_K_delete_loop, add more
- diagnostic info in default (cant_happen) case.
-
-Tue Jul 11 22:15:10 2000 Pat Rankin <rankin@eql.caltech.edu>
-
- * awk.y (nextc): Recast unsigned char values back to int to
- prevent VAX C from truncating EOF to 255.
-
-Tue Jul 11 14:08:23 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (do_delete): Switch to string comparison, not
- cmp_nodes.
- (assoc_find): Add call to force_string on subscript.
- * eval.c (interpret): Case Node_K_arrayfor: check for
- Node_array_ref and fetch original_array. Yowser.
-
-Fri Jun 30 21:57:00 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Don't force the subscript
- to be a string. Not a good idea after the change
- to using dupnode.
-
-Sun Jun 25 15:08:19 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * Release 3.0.5: Release tar file made.
-
-Wed Jun 14 13:03:45 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * field.c (set_record): Manage a private buffer for $0.
- Keeps things safe in case `getline var' rearranges the
- IOBUF's contents that $0 is still pointing into.
-
-Tue Jun 13 16:27:55 2000 Paul Eggert <eggert@twinsun.com>
-
- Upgrade to latest and greatest version of largefile code.
-
- * configure.in (AC_CANONICAL_HOST): Remove.
- (GAWK_AC_SYS_LARGEFILE): Defer until after AC_MINIX,
- to avoid autoconf warnings.
-
- Rewrite largefile configuration so that we don't need to run
- getconf and don't need AC_CANONICAL_HOST.
- * config.guess, config.sub: Remove these files.
- * Makefile.in (MISC): Remove config.guess, config.sub.
- * m4/largefile.m4 (GAWK_AC_SYS_LARGEFILE_FLAGS,
- GAWK_AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
- (GAWK_AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
- (GAWK_AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
- CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
- All uses changed.
- Instead of inspecting the output of getconf, try to compile the
- test program without and with the macro definition.
- (GAWK_AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
- for getconf. Instead, check for the needed flags by compiling
- test programs.
-
- (GAWK_AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to be 500 to
- work around glibc 2.1.3 bug.
-
- (GAWK_AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on IRIX if the
- installer said otherwise.
-
- (GAWK_AC_SYS_LARGEFILE_FLAGS): Work around a bug in the QNX shell,
- which doesn't propagate exit status of failed commands inside
- shell assignments.
-
-Wed Jun 7 13:23:09 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * Updated copyright dates in appropriate files.
-
-Mon May 22 17:29:43 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * Makefile.in (clean): Get `*/core' too.
-
-Sun May 7 16:33:05 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (concat_exp): Change ref to `lnode->stlen' and
- `lnode->stptr' for SUBSEP to use `var_value->...'.
-
-Tue May 2 09:54:29 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- Fix referencing freed memory as shown by test/arynocls.* tests.
- * awk.h [Node_array_ref]: New node type.
- [orig_array]: New macro element in NODE structure.
- * field.c (do_split): Handle case for Node_array_ref, fetch
- the original array.
- * array.c (in_array, do_delete): Ditto.
- * eval.c (nodetypes[]): Add Node_array_ref string.
- (r_tree_eval): Handle case for Node_array_ref.
- (push_args): Push arrays as Node_array_ref, and pass them on.
- (pop_fcall): Don't unref lnode if it's an array when releasing
- local arguments. Check for both Node_array and Node_array_ref.
- (r_get_lhs): Choke on Node_array_ref as for Node_array.
- For Node_subscript, handle Node_array_ref.
-
-Tue May 2 09:52:12 2000 Bruno Haible <haible@clisp.cons.org>
-
- * io.c (redirect): After reopening a `struct redirect', move it to
- the head of the list.
-
-Sun Apr 2 17:51:40 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * re.c (re_update): Check if IGNORECASE has changed, and
- if so recompute the re. See test/igncdym.awk.
-
-Mon Mar 20 16:18:34 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * io.c (set_RS): Added a lint warning about multicharacter RS,
- per suggestion from Akim DeMaille (akim@epita.fr).
-
-Sun Feb 13 14:40:32 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (push_args): Fix from Nide Naoyuki <nide@ics.nara-wu.ac.jp>,
- re-assign `f' in case tree_eval moved fcall_list around.
-
-Sun Feb 6 11:39:33 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (op_assign): Fix it right. For ++ and --, get the lhs
- in the operations, do the op, and then return. For += etc,
- get the rhs FIRST, since the lhs can move around as a result,
- *then* get the lhs and do the operation. See test/opasnidx.awk.
-
-Tue Feb 1 18:41:40 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (op_assign): Reget the rval after regetting
- the left hand side. See test/opasnslf.awk for why.
-
-Thu Jan 27 18:06:31 2000 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y (yylex): Made ']' not one of the characters
- that sets `want_assign' to false. `a[i] /= 2' was
- broken. Per bug report from Kristofer T. Karas
- <ktk@ktk.bidmc.harvard.edu>.
-
-Wed Dec 22 15:06:37 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y: Removed declarations of functions before
- definition of `tokentab[]'. They're redundant with
- what's in awk.h.
-
-Thu Dec 9 17:01:07 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (parse_escape): Add lint warning for unrecognized
- escape sequences.
-
-Mon Dec 6 15:17:34 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (usage): Changed bug reporting email addresses to
- be a reference to `Bugs' node in the online and printed
- doc, instead.
-
-Thu Dec 2 13:08:18 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (do_compl): Test `d' for negative inside the do_lint
- test, not uval. Ooops.
-
-Fri Nov 26 10:58:36 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_find): ALWAYS compare indexes as strings,
- don't use cmp_nodes in case they are numeric. Oh my.
- Talk about a Day 1 bug!
-
-Tue Nov 23 11:58:53 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.c (SYNTAX): Cast argument to `unsigned char' instead of
- &-ing with 0xFF. Hopefully somewhat more portable, ala 21 Nov 99
- changes to awk.y.
-
-Sun Nov 21 22:25:27 1999 Paul Eggert <eggert@twinsun.com>
-
- * aclocal.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
- problem with the QNX 4.25 shell, which doesn't propagate exit
- status of failed commands inside shell assignments.
-
-Sun Nov 21 20:33:35 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h (nextc): Remove declaration, don't need it here.
- awk.y (nextc): Cast values to unsigned char so that latin-1
- characters in strings don't turn themselves into EOF.
- Most notably y-umlaut, which is decimal 255.
-
-Mon Nov 1 20:00:25 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * regex.c (init_syntax_once): Move below definition of
- ISALNUM etc., then use ISALNUM to init the table, so that
- the word ops will work if i18n'ed.
- (SYNTAX): And subscript with 0xFF for Latin-1 characters.
-
-Mon Oct 25 18:37:13 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.h, main.c, io.c: Undo previous changes (22 Oct 1999).
- * main.c (main): Move call to `init_fields()' to before
- arg parsing. This allows `-v NF=blah' to work ok.
-
-Fri Oct 22 17:43:40 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (arg_assign): Add new arg, `initing' for icky special
- casing of -v of special variables. Use it to check for NF.
- May need to add other cases later.
- (pre_assign): Change call arg_assign, passing initing=TRUE;
- io.c (nextfile): Change call arg_assign, passing initing=FALSE;
- awk.h: Change prototype for arg_assign.
-
-Tue Oct 19 16:06:48 1999 Paul Eggert <eggert@twinsun.com>
-
- * io.c (close_redir): Don't munge errno between setting it and
- using it.
-
-Wed Oct 6 17:47:47 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * main.c (arg_assign): Return NULL on bad variable. Allows
- things like `./3x=stuff' to work as a filename.
-
-Thu Sep 23 21:35:46 1999 Paul Eggert <eggert@twinsun.com>
-
- * aclocal.m4 (GAWK_AC_SYS_LARGEFILE_FLAGS): Work around GCC
- 2.95.1 bug in HP-UX 10.20 or later. (Had to fix the fix. ADR. :-)
-
-Tue Sep 21 13:31:36 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * builtin.c (format_tree): For '0', only set zero_flag if we
- haven't seen the field width or precision yet.
-
-Mon Aug 9 13:06:01 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * array.c (assoc_lookup): Removed code that gave each array
- a private copy of each index. Balloons memory usage for
- no good reason that I can see. Just use dupnode in all
- cases.
- * configure.in: Check for $srcdir/.developing adds extra
- defines for my testing/debugging use. Yes, hack alert.
-
-Sun Aug 1 11:02:02 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * node.c (dupnode): Turn off FIELD when copying nodes.
- * array.c (do_adump, assoc_dump): New functions for array debugging.
- * awk.y (tokentab): Conditionally add "adump" function for debugging.
- * awk.h: Delcare new functions.
-
-Thu Jul 29 23:26:40 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- From wsanchez@apple.com:
- * Makefile.in (install-strip): New target, coding stds. compatibility.
- * config.guess, config.sub: Add MacOS X recognition.
-
-Thu Jul 29 19:09:19 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * awk.y (func_install): Make `function foo(foo)' a fatal error.
- eval.c (r_tree_eval): Diagnose use of a function name as a
- variable inside the function.
-
-Sun Jul 4 16:53:14 1999 Arnold D. Robbins <arnold@skeeve.com>
-
- * eval.c (eval_condition): Add extra braces to avoid
- gcc warning. I'm not going to bother for the library
- code like dfa and regex.
-
-Wed Jun 30 16:14:36 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * Release 3.0.4: Release tar file made. This time for sure.
-
-Wed Jun 30 16:10:11 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.h: Add include of <assert.h>, and comment about config.h
- having to be included before any system headers. Otherwise,
- with egcs-2.91.66 and later on Linux systems, and possibly
- others, things break badly, due to the LFS macros.
- * awk.y, builtin.c, eval.c, field.c, io.c: Removed include
- of assert.h
-
-Wed Jun 9 11:39:19 1999 Paul Eggert <eggert@twinsun.com>
-
- Port the large-file code to AIX, HP-UX, and IRIX.
- Add cross-compilation support for large files.
-
- * config.guess, config.sub: New files.
-
- * configure.in (AC_CANONICAL_HOST):
- Add; GAWK_AC_SYS_LARGEFILE needs this.
- (GAWK_AC_SYS_LARGEFILE): Renamed from GAWK_AC_LARGE_FILES.
-
- * aclocal.m4 (GAWK_AC_SYS_LARGEFILE): Renamed from GAWK_AC_LARGE_FILES.
- Add support for AIX and HP-UX.
- (GAWK_AC_SYS_LARGEFILE_FLAGS, GAWK_AC_SYS_LARGEFILE_SPACE_APPEND,
- GAWK_AC_SYS_LARGEFILE_MACRO_VALUE): New macros.
-
- * acconfig.h (_FILE_OFFSET_BITS, _LARGEFILE_SOURCE, _LARGE_FILES):
- New macros.
-
- * Makefile.in (MISC): Add config.guess and config.sub so they get
- included in the distribution.
-
-Wed Jun 9 11:29:29 1999 Paul Eggert <eggert@twinsun.com>
-
- * io.c (iop_alloc): Don't mmap files whose sizes don't fit in `int'.
- [ This isn't really needed, as HAVE_MMAP is #undef'ed at the top,
- but it's there in case people want to take their life in their hands. ]
-
-Sun Jun 6 11:28:07 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.46: Release tar file made.
-
-Wed Jun 2 14:36:24 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * PORTS: Updated with a more recent list of systems
- that gawk compiles and tests ok on.
-
-Tue Jun 1 14:24:59 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.45: Release tar file made.
-
-Tue May 25 16:32:37 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (format_tree): More smarts for weird cases, such as
- zero precisions and zero values used with the `#' flag.
- Thanks to Andreas Schwab (schwab@gnu.org) for pointing these out.
-
-Wed May 19 14:02:54 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (do_close): Move test for `close(FILENAME)' to after
- loop through all open redirections. Fixes problems in obscure
- cases with redirections in END rules.
-
-Sun May 16 14:08:39 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.y (yylex): Fix group of characters including ',' to
- set want_assign = FALSE. Fixes bizarre parsing problems in
- function call lists, for example.
- * io.c (get_a_record): Repair logic for single-leading-newline
- case.
-
-Tue May 11 16:48:11 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * aclocal.m4 (GAWK_AC_AIX_TWEAK): New macro.
- * configure.in: Call it
- * Makefile.in: (awklib/all): Pass CFLAGS on to sub-make so
- that password programs will get AIX magic defines. Avoids
- having to tweak program code for those in doc/gawk.texi.
-
-Mon May 3 16:56:23 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * array.c (do_delete): Don't free_temp(subs) until after all
- references to it are finished.
-
-Mon May 3 13:41:16 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.44: Release tar file made.
-
-Sun May 2 18:25:43 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (get_a_record): Do a really good job of stripping newlines
- from the front of records when RS = "" and there's only one
- newline at the front of the file, which the regex didn't catch.
-
-Wed Apr 28 12:27:49 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * configure.in: More HP stuff: fix the manual alloca code so that
- gawk will compile and link on HP systems. See the comments.
-
-Sun Apr 25 13:39:16 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * Makefile.in (gawk): Add $(CFLAGS) to linking step.
- * configure.in: Correctly do AC_FUNC_GETPGRP on HP systems too.
-
-Tue Apr 13 20:21:00 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.43: Release tar file made.
-
-Tue Apr 13 19:02:20 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (useropen, pidopen): Add casts to int on arguments to
- silence gcc warnings.
- * regex.c (regcomp,regexec,regfree): Add ifdef for APPLE.
-
-Thu Feb 4 10:38:02 1999 Arnold D. Robbins <arnold@gnu.org>
-
- * custom.h: Hacks for BeOS. Not documented in the manual right now.
- * configure.in: Hacks for BeOS. Check for HP-UX and define C_ALLOCA
- if not using gcc. I wish they'd just fix bison already.
-
-Sun Dec 20 16:57:38 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.42: Release tar file made.
-
-Sun Nov 15 21:05:39 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (gawk_popen): Add WIN32 to list of systems that use
- the non-real-pipe version. From the PC gawk guys.
-
-Wed Nov 4 11:32:24 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.41: Release tar file made.
-
-Tue Nov 3 16:24:35 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * eval.c (r_get_lhs): Fix the cases for the special variables,
- don't unref their current value if it's the same as the internal
- copy; perhaps the current one is used in a concatenation or some
- other expression somewhere higher up in the call chain. Ouch.
- See test/getnr2tm.awk.
-
-Sun Nov 1 15:24:52 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (format_tree): Improve handling of zero-fill
- when a precision is present. See test/zeroflag.awk.
-
-Wed Oct 28 20:40:17 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * eval.c (r_tree_eval): Case for Node_concat. Get lengths
- separately, in case one expression has a side effect that
- that changes another. Ugly, but it keeps gawk from core
- dumping. See test/nasty.awk.
-
-Sun Oct 18 21:27:24 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.y (append_right): Bug fix, if `list' or `new' are NULL,
- return `list', so that things don't break too badly.
- * regex.c (re_compile_fastmap): Remove unused variable `num_regs'.
-
-Thu Oct 8 19:36:57 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * BETA Release 3.0.40: Release tar file made.
-
-Mon Jul 27 10:14:33 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * node.c (parse_escape): Remove assignment with side effects
- from ISXDIGIT test. Thanks to "Mihai T. LAZARESCU"
- <mihai@ccmserv.polito.it> for pointing this out.
-
-Mon Apr 27 11:31:32 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * main.c (usage): Fix the email address for the bug list.
- (copyleft): Update the copyright year.
-
-Mon Mar 23 21:22:32 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * eval.c (r_get_lhs): Make sure that values of type
- Node_param_list don't have the FUNC flag set. This means
- we don't allow the use of a function name as a variable or
- array from within the function.
-
-Sun Mar 22 19:12:32 1998 Paul Eggert <eggert@twinsun.com>
-
- * aclocal.m4 (GAWK_AC_LARGE_FILES): New macro that checks for
- large file support, and updates CPPFLAGS, LDFLAGS, LIBS as
- needed.
- * configure.in: Call GAWK_AC_LARGE_FILES.
- * Makefile.in (CPPFLAGS, LDFLAGS): Let autoconf configure.
- (COMPFLAGS): Add $(CPPFLAGS).
-
-Mon Mar 16 14:06:41 1998 Arnold D. Robbins <arnold@gnu.org>
-
- * field.c (using_FIELDWIDTHS): New macro.
- (using_fieldwidths): Use new macro.
- (do_split): In case for FS_DFLT, also check that
- we're not using FIELDWIDTHS. Otherwise, split() would use
- FIELDWIDTHS, not current value of FS. Oops.
-
-Sun Nov 16 20:08:59 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (sub_common): Fix for count of matches in gsub
- from Geert.Debyser@esat.kuleuven.ac.be.
-
-Wed Oct 15 03:38:12 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * field.c (set_FS): Use `sc_parsefield' if the value of FS is not
- alphabetic OR if not ignoring case. Bug fix if IGNORECASE
- is true and FS happens to be '^'. Sheesh, talk about obscure.
- (rebuild_record): Add more smarts to the code that sets up the
- fields. Thanks to Alan J. Broder (ajb@dtmr.com).
-
-Sun Oct 5 11:56:52 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * configure.in: If ISC add -D_SYSV3 to CFLAGS, per email from
- Mario Vanoni (vanonim@dial.eunet.ch).
-
-Fri Sep 26 00:57:49 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.y (append_right): Return if either list is NULL. Prevents
- syntax errors from causing core dumps.
-
-Wed Sep 17 15:34:15 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * field.c (rebuild_record): Set things up so that all fields point
- into the new record and release any changed fields without
- causing memory leaks. Avoids problems when fields are extended
- with the value of $0 or other fields and then $0 is assigned to.
-
-Mon Sep 15 16:12:55 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (do_print): When testing for NUMBER, make sure
- it's not a string too. Thanks to Michael Brennan for
- clarifying the semantics.
-
-Sun Sep 14 19:55:12 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * node.c (format_val): Always format values ourselves: avoids
- problems if OFMT is bizarre, like %s.
-
-Sun Sep 14 00:08:53 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (get_a_record): Replace all occurrences of the test
- `grRS == FALSE' with `RS_is_null' which makes ` RS = "\0" '
- actually work, is clearer code, and actually makes use of
- the `RS_is_null' variable!
-
-Sun Aug 17 07:15:12 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * field.c (set_FS): Change logic to always set parse_field, even
- if FS hasn't changed. Thanks to Igor Sheyn for catching this.
-
-Wed Aug 6 21:04:37 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * io.c (VMS et al gawk_popen): Use pclose, not fclose, if
- iop_alloc fails.
-
-Wed Jul 30 19:53:52 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.y [variable]: Fix case for subscript if $3 == NULL.
-
-Sun Jul 27 22:47:30 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * awk.y (get_src_buf): Don't close file if it's stdin.
-
-Sun Jul 27 22:47:15 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * io.c (#if VMS: vmsrtl_fileno): New routine.
- (#if VMS: fileno): New macro substituted for stdio one.
-
-Thu Jul 17 20:05:59 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (do_print): When OFMT != CONVFMT, create a new
- temporary node with just the numeric value valid and format it,
- and use that for printing. Avoids memory corruption.
-
-Wed Jul 16 10:01:16 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * regex.c: When SYNTAX_TABLE is defined, but not emacs, then
- CHAR_SET_SIZE is not defined, though used in regcomp. It should
- be taken out of #ifdef SYNTAX_TABLE. Fix from bug group, from
- Akim Demaille, demaille@inf.enst.fr.
- * awk.h (isnondecimal): Make test a little smarter.
- * builtin.c (nondec2awknum): Add bailout for decimal numbers, e.g.
- `00.1'. Fix from Larry Schwimmer <rosebud@cyclone.Stanford.EDU>.
-
-Thu Jun 19 19:00:40 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * eval.c (interpret): case Node_K_next, Node_K_nextfile: fatal
- error if called from BEGIN or END.
- (Fixed completely Mon May 3 13:31:42 1999.)
-
-Mon Jun 9 22:40:04 1997 Arnold D. Robbins <arnold@gnu.org>
-
- * builtin.c (nondec2awknum): Allow `f' and `F' in hexadecimal numbers.
- Gotta get more sleep...
- * array.c (assoc_lookup): Fix from Tom Karzes (karzes@equator.com)
- for memory leak when forcing type to Node_var_array.
-
-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 function to 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 the 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.
- * aclocal.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 surprising 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 parallel 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 diagnostics.
- (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 accompanying 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.
+ * ChangeLog.0: Rotated ChangeLog into this file.
+ * ChangeLog: Created anew for gawk 4.0.0 and on.
+ * 4.0.0: Release tar ball made.