4897 lines
186 KiB
Plaintext
4897 lines
186 KiB
Plaintext
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 IDT 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: 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.
|
|
eval.c (interpret): use nodetype2str when finding invalid node.
|
|
|
|
Mon Mar 4 09:02:28 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* builtin.c (do_toupper, do_tolower): use isascii along with
|
|
isupper/islower before changing case, in case characters have
|
|
the high bit set. This is a hack.
|
|
|
|
Mon Feb 26 22:24:44 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* builtin.c (sub_common): if no match, and called from gensub,
|
|
don't free the temporary string, since the tmp_number then
|
|
writes over it.
|
|
|
|
Sun Feb 25 23:13:01 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* builtin.c (format_tree): fixed %c to treat user input as
|
|
numeric also by adding test for MAYBE_NUM.
|
|
|
|
Tue Feb 20 12:25:50 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* configure.in: Added AC_FUNC_MMAP call and add madvise to
|
|
list of functions to look for.
|
|
* awk.h [IOP_ISMAPPED]: new flag value for mmap support and new
|
|
`getrec' structure member in struct iobuf.
|
|
* io.c (iop_alloc, iop_close): changed to map/unmap input file
|
|
into memory if possible.
|
|
(mmap_get_record): new function to actually retrieve the
|
|
record from mmaped file.
|
|
|
|
Thu Feb 1 08:56:46 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* builtin.c (do_substr): fixed lint message to use indx+1 when
|
|
start position is past end of string.
|
|
|
|
Sun Jan 28 07:00:56 1996 Arnold D. Robbins <arnold@skeeve.atl.ga.us>
|
|
|
|
* builtin.c (do_substr): rationalized handling of missing length
|
|
argument, as well as various 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.
|