mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
2642 lines
101 KiB
Plaintext
2642 lines
101 KiB
Plaintext
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.
|