mirror of
https://github.com/ThomasDickey/mawk-snapshots.git
synced 2026-01-27 11:24:19 +00:00
1220 lines
45 KiB
Plaintext
1220 lines
45 KiB
Plaintext
-- $MawkId: CHANGES,v 1.418 2025/01/31 22:17:33 tom Exp $
|
|
|
|
20250131
|
|
+ transform nested "+" repetitions to "{1,}" form, to work with the
|
|
runtime stack.
|
|
+ modify M_ENTER to record its loop-level into a runtime stack, which
|
|
can be checked by failing operations to provide quick recovery.
|
|
|
|
20241231
|
|
+ in-progress changes to improve regex brace expressions, using new
|
|
machine codes M_ENTER and M_LOOP.
|
|
+ add a T_CAT in compiled regex to fix a panic (report by Dimitar
|
|
Dimitrov).
|
|
|
|
20241214
|
|
+ fix stricter gcc15 warnings.
|
|
|
|
20241213
|
|
+ disallow reading from a directory like a file (Original-Mawk #83).
|
|
|
|
20241212
|
|
+ modify calls on stdtod() to disallow hexadecimal, infinite and
|
|
not-a-number values unless the "--posix" option is given (report by
|
|
Xose Vazquez Perez).
|
|
+ fix a regression in rexp3.c for pattern /^.$/ (cf: 20240819)
|
|
|
|
20241209
|
|
+ modify use of OFMT when given a format such as %c which cannot fully
|
|
represent a floating point value, like gawk/bwk.
|
|
+ modify format for infinite values, showing plus/minus signs.
|
|
+ allow format to contain an escaped '%'
|
|
+ further printf/sprintf fixes, using line-coverage to guide testing
|
|
|
|
20241117
|
|
+ improve printf/sprintf by handling special case of 2^64 which can be
|
|
represented as an exact value (Original-Mawk #78).
|
|
+ modify use of mktemp in test-scripts to work with HPUX, which uses
|
|
a different interpretation of the "-d" option.
|
|
+ update configure script
|
|
|
|
20240905
|
|
+ update manual page discussing approved extensions.
|
|
+ mask nonprintable characters when reporting errors in scripts
|
|
+ fix for unmatchable pattern workaround in 20240819, in case the regex
|
|
also has a syntax error immediately after (report/testcase by Tyler
|
|
Hawkins).
|
|
+ fix sign-extension in scan.c (report/testcase by Tyler Hawkins).
|
|
|
|
20240827
|
|
+ amend fix for Original-Mawk #48, providing for deep function
|
|
recursion, but disallowing more than 255 parameters for printf, etc.
|
|
+ add test-cases to test/mawkerrs
|
|
+ update config.guess and config.sub
|
|
|
|
20240825
|
|
+ modify struct declarations to simplify further changes to reduce use
|
|
of typeless pointers.
|
|
+ reduce memory requirements for test/longlines.sh (discussion with
|
|
Boyuan Yang).
|
|
+ fix compiler warning about out-of-bounds reference to eval_stack[]
|
|
+ fix regression in ".*$" regex (Debian #1079389).
|
|
|
|
20240819
|
|
+ several changes to improve results with lcov, increasing coverage
|
|
measured by line/function percentages from 82.3/89.2 to 90.5/96.0;
|
|
using new bundled and separate test-cases as well as some code fixes.
|
|
+ some code-changes provide for overriding compiled-in limits to make
|
|
testing simpler, e.g., SP_SIZE, FB_SHIFT, SPRINTF_LIMIT.
|
|
+ adjusted ifdef's based on coverage analysis which showed used code
|
|
+ test package builds with "unused" cases in rexp*.c disabled
|
|
+ new bundled test cases include cclass.awk and mawkerrs script.
|
|
The latter is invoked via the "mawk_errs" target in the makefile.
|
|
+ correct a case in rexp3.c which addressed past end of string.
|
|
+ improve regex handling of nul character.
|
|
+ add a null pointer check to cell_destroy()
|
|
+ show state value in the panic exit in rexp0.c
|
|
+ add RE_bad_state, for panics in rexp2.c and rexp3.c
|
|
+ add workaround in rexp.c for patterns like /{0}/ and /^{0]/ where
|
|
nothing could match, for now with a comment indicating that a
|
|
RE_none() along with a M_REJECT state seems the way to completely
|
|
resolve this. The workaround was needed because trimming the {0}
|
|
caused out-of-bounds access.
|
|
+ use C_NOINIT in bi_funct.c for readability
|
|
+ address special-case in the trace call in execute.c, to avoid
|
|
calling da_type_name() when sp happens to be just before
|
|
eval_stack[] -- which happens in the first call from the main
|
|
program.
|
|
+ add/use TRACE_FUNC2 for cases where we know the number of arguments
|
|
is not sp->type
|
|
+ fix a regression in fin.c introduced by buffer-changes in 20230808
|
|
+ fixes for is_string_split() function, making it work for both
|
|
internal and external regex.
|
|
+ change ifdef in version.c to provide for test-package showing the
|
|
effective limit of sprintf buffer.
|
|
+ correction to usage message: -W traditional rather than -W compat
|
|
+ test/mawktest uses mktemp for the working files
|
|
+ add test/longline.sh
|
|
+ add test/hashbang-S.sh for later use in testing.
|
|
+ add test/cclass.awk script for character-classes
|
|
+ improve regular expression matching (Original-Mawk #76).
|
|
|
|
20240716
|
|
+ add --enable-arc4random option to configure script; this is normally
|
|
disabled for mawk because the developer of arc4random did not provide
|
|
a useful method for initialization (Debian #1075717).
|
|
+ improve configure-check for clock_gettime, checking for both
|
|
monotonic and realtime clocks, as well as adding a check for
|
|
clock_gettime in the "rt" library for Solaris
|
|
|
|
20240622
|
|
+ ensure input buffer is null-terminated (patch by James Cowgill,
|
|
Original-Mawk #77).
|
|
|
|
20240123
|
|
+ improve manpage style/formatting.
|
|
+ improve conversion of parameter of srand() when using srandom()
|
|
(Original-Mawk #66).
|
|
+ minor improvement for configure script
|
|
|
|
20231210
|
|
+ correct interator type in REcompile (Original-Mawk #73)
|
|
+ improve configure script check for arc4random
|
|
+ reduce compiler warnings in configure script checks
|
|
|
|
20231126
|
|
+ fix a couple of problems reported by Coverity:
|
|
+ modify cell_destroy() to set the string pointer to NULL if zfree()
|
|
might have freed it.
|
|
+ replace a couple of strcpy's with loop.
|
|
+ eliminate a fixed-size array in re_cmpl.c
|
|
+ change casts in strftime() and srand() to avoid truncation on 64-bit
|
|
machines (report by John Naman).
|
|
|
|
20231102
|
|
+ environment-fixes for building with Solaris 10.
|
|
|
|
20231101
|
|
+ repair parsing for comma-separated -W options used in "#" lines
|
|
(report by Leif Baron).
|
|
+ updated makedeps.sh and examples/deps.awk, to update Makefile.in
|
|
+ remove obsolete/incorrect zero-termination assignment from fillbuff()
|
|
(Original-Mawk #71).
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20230816
|
|
+ start work on _CALLX
|
|
+ da.c: replace most of the string-literals in fprintf's with result
|
|
from da_op_name()
|
|
+ da.c, mawk.h: simplify ifdef for da_op_name(), to reuse in
|
|
refactoring of _CALL
|
|
+ da.c: dumping the function name in front of the offset is
|
|
distracting, use just "@"
|
|
+ da.c: make the trace show offsets like the -Wdump option
|
|
+ da.c: add traces to show which function is being dumped (and
|
|
possibly patched). this improves on the fix for dump_funcs() as well,
|
|
freeing the linked-list
|
|
+ code.c: fix a use-after-free when no-leaks and traces are combined.
|
|
+ code.c: add trace to be_setup()
|
|
+ parse.y: make trace message consistent with fcall.c
|
|
+ execute.c: eliminate a couple of comparisons
|
|
+ change SYMTAB_TYPES to mixed enum/masks, to reduce comparisons for
|
|
array types.
|
|
+ some cleanup, using NUM_ARGS and SYM_TYPE typedefs.
|
|
|
|
20230808
|
|
+ modify input buffer-resizing to improve performance with very long
|
|
lines (report/testcase by Leif LeBaron).
|
|
|
|
20230804
|
|
> fixes for nulls (patches by Miguel Pineiro Jr).
|
|
+ support nulls in toupper() and tolower().
|
|
+ modify str_str() to ensure lengths for key/target are large enough
|
|
for the memcmp() call.
|
|
+ treat special case of failure to open input file due to too many open
|
|
files as a fatal error (report/testcase by Christoph Brunhuber).
|
|
+ fix a shift/reduce conflict for length vs length()
|
|
+ quote string-parameter in a few error-messages
|
|
+ add MinGW-code for system() calls (Original-Mawk #51).
|
|
|
|
20230730
|
|
+ rexp.c: do not unroll repetition into loops if the repetition applies
|
|
to more than one character.
|
|
+ rexp3.c: increment machine on completing M_2JC step to fix a case
|
|
with infinite loop.
|
|
+ print.c: improve parameter-passing, eliminating a duplicate check.
|
|
|
|
20230726
|
|
+ modify makefile to install mawk-array and mawk-code manpages.
|
|
|
|
20230725
|
|
+ use da_string more consistently in dumps.
|
|
+ improve scanner to some type-checks of arrays versus scalars by
|
|
deferring this into the runtime execution (report by Rajeev V Pillai).
|
|
|
|
20230716
|
|
+ modify scanner to accommodate scripts which use the same name for
|
|
some function-parameters as for a function (report by Kaz Kylheku).
|
|
+ amend/limit special case optimization for redundant wildwards
|
|
(Original-Mawk #36).
|
|
+ regenerate parse.c using byacc 20230521
|
|
|
|
20230525
|
|
+ fix a regression for big-endian machines caused by mismatch between
|
|
printf/sprintf format and long integer types (Original-Mawk #69, cf:
|
|
20200731).
|
|
|
|
20230404
|
|
+ add a null-pointer check in bi_mktime() (Original-Mawk #57).
|
|
+ cast parameter of srand() to double if it is not already (patch by
|
|
"q3cpma", Original-Mawk #66).
|
|
+ manpage fixes (report/suggested by David Apps).
|
|
+ fix parsing of "--" token on command-line, from 20200828 changes
|
|
(report by Pavel Vinogradov).
|
|
+ add a null-pointer check in the case for "-W" when parsing command
|
|
options (Original-Mawk #68).
|
|
+ improve CF_XOPEN_SOURCE configure macro to avoid clearing the host's
|
|
definition for _XOPEN_SOURCE if _POSIX_C_SOURCE is defined (report
|
|
by A. Wilcox).
|
|
+ modify makefile "clean" rule to remove ".i" files.
|
|
+ modify configure script to allow for using clock_gettime vs
|
|
gettimeofday.
|
|
|
|
20230322
|
|
+ remove an unwanted string/number conversion in print.c, from changes
|
|
in 20200717 (report by Jan Psota).
|
|
+ reduce compiler-warnings in configure script checks.
|
|
|
|
20230215
|
|
+ update URLs, changing ftp to https
|
|
+ modify configure.in, moving checks for standard headers before the
|
|
options, to improve check for arc4random (Redhat #2167291).
|
|
|
|
20230203
|
|
+ split up do_printf to fix build with fortified mingw stdio.h
|
|
+ reduce compiler-warnings in configure script checks.
|
|
|
|
20221229
|
|
+ fix shellcheck warnings in test-scripts.
|
|
+ updated configure macros
|
|
+ update config.guess, config.sub, and install-sh
|
|
|
|
20210824
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20210528
|
|
+ add FreeBSD build-scripts, for test-builds
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20201023
|
|
+ start work on experimental approach to interval-expressions which
|
|
does not involve loop-unrolling.
|
|
+ improve type-checking for builtin-regex's by using PTR only for the
|
|
external-regex's.
|
|
+ improve dump format, showing intervals in curly-brace format.
|
|
|
|
20201016
|
|
+ improve dump format, showing the jump-targets rather than offsets.
|
|
|
|
20201009
|
|
+ show limits for brace-expressions in dump.
|
|
+ change RE_panic to stdarg, and log its message in trace file
|
|
|
|
20200925
|
|
+ improve compatibility vs gawk/bwk in gsub handling of backslash by
|
|
only escaping backslash with itself if those backslashes happen to
|
|
precede a "&", e.g., "\\&" vs "\\" (Original-Mawk #14).
|
|
+ fix a regression in recent command-line option parsing.
|
|
+ modify configure/makefile to use .PHONY if available.
|
|
+ review/improve example-scripts
|
|
|
|
20200918
|
|
+ build-fix for HP-UX 11.23, which lacks #define's for maximum of
|
|
int64_t and uint64_t
|
|
+ build-fix for OpenBSD, which mis-types int64_t, just like macOS.
|
|
+ build-fix for macOS, which mis-types int64_t
|
|
|
|
20200911
|
|
+ improve range of printf/sprintf for decimal formats by using the
|
|
unsigned limit if the value is positive.
|
|
+ improve checks for command-line numeric options.
|
|
+ allow long-options to be abbreviated.
|
|
|
|
20200828
|
|
+ modify configure script to move gcc -Werror flags to EXTRA_CFLAGS
|
|
to avoid breaking configure-checks.
|
|
+ use sprintf-buffer for intermediate output of strftime, to handle
|
|
extra-long format strings.
|
|
+ modify MAWK_LONG_OPTIONS "ignore" to limit that to the "-xxx" options
|
|
in this set of changes, plus the existing --lint/--lint-old options.
|
|
+ allow -Wxxx options to use long-option format as -xxx, for better
|
|
script-compatibility with gawk.
|
|
+ use standard output for -Whelp, but show usage message in standard
|
|
error when no command arguments are given.
|
|
+ print version for -Wversion consistently in standard output.
|
|
+ improve use of const for making tables readonly.
|
|
+ change -W compat to -W traditional for better script-compatibility
|
|
with gawk.
|
|
|
|
20200821
|
|
+ completed first draft of mawk-code.7
|
|
|
|
20200807
|
|
+ begin man/mawk-code.7
|
|
+ drop noweb dependency, move docs to man/mawk-arrays.7
|
|
|
|
20200731
|
|
+ amend fix for Debian #303825 to more closely match gawk and BWK.
|
|
Those use larger data types, e.g., long vs int, for limits, and also
|
|
provide for using int64_t and uint64_t. Internally, mawk now uses
|
|
long long's where those are supported.
|
|
+ add --help and --version options
|
|
|
|
20200724
|
|
+ modify logic for "{0}" in rexp.c so that a left-parenthesis is not
|
|
trimmed when cancelling the previous token.
|
|
+ modify RE_cat to add a dummy M_ACCEPT as a workaround for logic in
|
|
the new RE_init_it_cnt and RE_set_limit functions.
|
|
+ modify regexp_system.c to work with interval-expressions.
|
|
+ recognize gawk's --traditional and --posix as aliases for mawk's
|
|
-W options, as well as -r and --re-interval to improve scripting
|
|
compatibility.
|
|
+ add -W compat and -W posix, using the former to replace
|
|
-W repetitions and the latter to replace -W posix_space
|
|
+ enable interval-expressions by default.
|
|
|
|
20200717
|
|
+ add configure option "--disable-interval-expr"
|
|
> integrated/adapted changes by James Parkinson (jlp765):
|
|
+ add regexp intervals,
|
|
+ add tests for intervals to test/mawktest and associated
|
|
test/repetitions files,
|
|
+ add -W repetitions to enable r{m,n}
|
|
+ add man page updates to man/mawk.1
|
|
|
|
20200708
|
|
+ update manpage comment about "nextfile" (AustinGroup #607).
|
|
+ amend manpage comment about "fflush" (AustinGroup #634).
|
|
+ amend manpage comment about "delete array" (AustinGroup #544).
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20200120
|
|
+ resync with my-autoconf.
|
|
+ fix typos found with codespell.
|
|
+ when reading input in interactive mode, provide for extending the
|
|
buffer size for very long lines (Original-Mawk #59).
|
|
|
|
20200106
|
|
+ correct line-number shown in too-many-arguments error message for
|
|
the case where the function is a forward reference (report by
|
|
"mukti").
|
|
+ fix install for manpage when configure --srcdir option is used
|
|
(report by Rajeev V Pillai).
|
|
+ use both CFLAGS/LDFLAGS when linking in makefile (report by
|
|
Rajeev V Pillai).
|
|
+ fix clang-9 warning in bi_funct.c (report by Rajeev V Pillai).
|
|
+ minor improvement to gcc warning options, from vile
|
|
|
|
20191231
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20190203
|
|
+ improve manpage formatting, e.g., for man2html
|
|
+ improve debug-traces
|
|
|
|
20190129
|
|
+ eliminate non-portable tdestroy() from zmalloc no-leaks code.
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20181114
|
|
+ revert a change for memory-leaks which made the forced-exit via a
|
|
user function inconsistent with earlier versions (report by Andre
|
|
Sihera).
|
|
+ amend a change for memory-leaks to avoid a double-free (Original-Mawk
|
|
#56).
|
|
|
|
20171017
|
|
+ add Debian compile/link flags to test-package.
|
|
+ cleanup spurious warnings from latest gcc.
|
|
+ changes for Original-Mawk #48:
|
|
+ add checks for stack overflow and underflow
|
|
+ increase stack limit to 1024
|
|
+ updated configure macros
|
|
+ update config.guess and config.sub
|
|
|
|
20161120
|
|
+ add runtime check for assignments to OFMT and CONVFMT to ensure
|
|
they use a single parameter (Original-Mawk #47).
|
|
+ repair build for --with-valgrind, broken in 20160930 const-fixes.
|
|
|
|
20161107
|
|
+ correct sign-extension from 20160615 change to rand() (report by
|
|
Christian Neukirchen).
|
|
|
|
20160930
|
|
+ optimize closes on regular expressions to filter out redundant
|
|
wildcards, fixing a special case leftover by changes in 20100224
|
|
(Original-Mawk #34).
|
|
+ add regular-expressions to the -Wdump option when using mawk's
|
|
built-in regular expressions.
|
|
+ fix a sign-extension in character-class parser (Original-Mawk #46).
|
|
+ minor optimizations.
|
|
+ improve use of const in tables.
|
|
|
|
20160927
|
|
+ allow single-quote as a flag in printf, to complete the change
|
|
for LC_NUMERIC in 20121129 (report by Graham Monteith).
|
|
+ revert one of the fixes made for a Coverity warning about loss of
|
|
precision in 20121209, which unnecessarily exposed a different
|
|
problem (Original-Mawk #45).
|
|
|
|
20160918
|
|
+ simplify "system()" function by calling C "system()" function, and
|
|
use POSIX macros for wait-status to provide a less-ambiguous return
|
|
value (suggested by Aharon Robbins).
|
|
+ add a null-pointer check in bi_mktime (patch by Ismael Luceno).
|
|
|
|
20160905
|
|
+ escape '/' in range for test/reg4.awk to allow test-comparison with
|
|
gawk and BWK.
|
|
+ updated configure macros, e.g., for compiler warnings and static
|
|
analysis:
|
|
+ CF_CC_ENV_FLAGS
|
|
+ CF_GNU_SOURCE
|
|
+ CF_PROG_LINT
|
|
+ CF_RAND
|
|
+ CF_XOPEN_SOURCE
|
|
+ minor build-fix for HPUX 11.11 "make", which is confused by the
|
|
recursive use of "make" in clean/distclean rules.
|
|
+ amend fix for Gentoo #424137 to eliminate a memory leak when opening
|
|
files (Original-Mawk #44).
|
|
+ update config.guess and config.sub
|
|
|
|
20160615
|
|
+ correct range when using system rand() function, which was 0..2
|
|
rather than 0..1 on BSD systems (report/patch by Masaki Waga).
|
|
|
|
20160313
|
|
+ correct order of checks for machine state in REtest which caused an
|
|
out-of-bounds reference (Original-Mawk #36).
|
|
|
|
20160226
|
|
+ update COPYING from
|
|
https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
|
(Original-Mawk #38).
|
|
+ minor updates to configure script macros
|
|
+ update config.guess and config.sub
|
|
|
|
20150503
|
|
+ add --with-man2html configure option
|
|
+ improve description of -W options and how they can be combined into
|
|
a comma-separated list (adapted from Leif LeBaron).
|
|
+ modify parsing for -Wexec to permit its value to be separated by '='
|
|
in addition to a space, for consistency with the other -W options.
|
|
+ cosmetic changes to configure script macros, from work on xterm.
|
|
+ update config.guess and config.sub
|
|
|
|
20141206
|
|
+ Mawk behaves incorrectly when using the nextfile statement. It marks
|
|
the file as dead, but does not check such state and thus ends reading
|
|
from a closed fd (patch by Ismael Luceno).
|
|
|
|
20141027
|
|
+ remove a special check for anchored regular expressions in gsub3
|
|
which did not handle expressions with "|" alternation (report by
|
|
"Ypnose").
|
|
|
|
20140914
|
|
+ rename vs6.mak / vs6.h to vs2008 for Visual Studio 2008 compiles.
|
|
+ remove MS-DOS support.
|
|
+ add a check in split for empty regex, treating that the same as an
|
|
empty string (Original-Mawk #9).
|
|
+ correct inconsistently-ifdef'd reset of errno in check_strnum()
|
|
function, which caused some values to be internally classified as
|
|
strings rather than strnums (Original-Mawk #26).
|
|
+ add parameter to REmatch to control use of REG_NOTBOL and its
|
|
equivalent in mawk (prompted by discussion with Mike Brennan,
|
|
Original-Mawk #24).
|
|
+ settle on "gsub3" implementation (suggested by Mike Brennan,
|
|
Original-Mawk #11).
|
|
+ change default for configure option --enable-init-srand to enable
|
|
this (discussion with Mike Brennan).
|
|
+ add -W random option to set initial srand() seed.
|
|
+ add TraceVA, use to provide debug-traces for errmsg().
|
|
+ add note in manpage about "nextfile", see for example:
|
|
http://www.opengroup.org/austin/docs/austin_578.txt
|
|
http://austingroupbugs.net/view.php?id=607
|
|
+ make it possible to build with "bsd" library ported to Linux by
|
|
setting LIBS=-lbsd before running configure script.
|
|
+ show random-function names in version message, as well as maximum
|
|
integer-value.
|
|
+ modify initialization of srand default seed from time of day to use
|
|
gettimeofday, etc., so that successive runs of mawk are less likely
|
|
to use the same seed value (suggested by Mike Brennan).
|
|
+ make a further refinement, "gsub3" which uses a single pass.
|
|
+ change SType and SLen types to improve performance as well as
|
|
handling larger regular expressions (suggested by Mike Brennan).
|
|
+ fix some minor issues reported by Coverity.
|
|
+ regenerate parse.c using byacc 20140422
|
|
+ modify makefile-rule for generating parse.c to keep the "#line"
|
|
preprocessor lines consistent with the actual filename. This is
|
|
needed by lcov.
|
|
+ add test/reg7.awk to help with recent testing.
|
|
+ discard intermediate new_gsub used for regression-testing, will do
|
|
further improvements based on "gsub2".
|
|
+ fix a comparison in rexp3.c to work with embedded nulls (patch by
|
|
Mike Brennan).
|
|
+ in-progress changes to implement "gsub2", which will reduce copying.
|
|
+ discard intermediate old_gsub used for regression-testing, using
|
|
original gsub function renamed to "gsub0" for that purpose.
|
|
+ remove old compiler information from version message.
|
|
+ remove NF value from version message.
|
|
+ patches by Mike Brennan:
|
|
+ changed the intermediate storage of STRINGS used by split.
|
|
+ cleaned up the xxx_split() functions.
|
|
a) removed hand loop unrolling. What was an optimization for
|
|
intel 8086/88 is silly today.
|
|
b) consequence of a) some macros went away so the code is easier
|
|
to read/understand.
|
|
c) handles null in input string
|
|
Note: re_split() does \x00 null correctly, but it calls
|
|
REmatch() which does not. I have examples where REmatch works
|
|
with nulls and examples of not working. That needs to be fixed.
|
|
+ changed field allocation to support no upper limit.
|
|
+ when comparing two strings, allow for embedded nulls.
|
|
+ add checks in rexp3.c for infinite loop for testcase noloop.awk
|
|
(report by Tibor Palinkas).
|
|
+ improve test-package for debian by adding postrm script to restore
|
|
"mawk-base" to its unalternatized configuration, as well as adding
|
|
messages to the other pre/post scripts.
|
|
+ patches by Mike Brennan:
|
|
+ increase some limits: NF is now 1048575, sprintf limit is 8192.
|
|
+ updated array.w; mostly documentation improvements
|
|
+ add array.pdf generated from array.w
|
|
+ add -Wu / -Wusage / -Wh / -Whelp to show usage message, like gawk.
|
|
If long options are enabled, honor --help and --usage as well.
|
|
+ if no command-line parameters are given, show usage message like
|
|
gawk and BWK (report by Michael Sanders).
|
|
+ improve configure macros CF_ADD_CFLAGS, CF_ADD_LIBS, CF_XOPEN_SOURCE,
|
|
e.g., for Minix3.2 port.
|
|
+ restore in-progress change to gsub; resolved problem handling its
|
|
internal use of vectors for second parameter when "&" marker is used.
|
|
+ improve configure check for Intel compiler warnings; trim unwanted
|
|
-no-gcc option.
|
|
+ for Solaris suppress the followup check for defining _XOPEN_SOURCE
|
|
+ update config.guess and config.sub
|
|
|
|
20131226
|
|
+ add configure check to work around recent breakage in Cygwin's math.h
|
|
which declares _LIB_VERSION without allowing it to be updated (report
|
|
by Gert Hulselmans).
|
|
+ minor updates to configure script, for clang and mingw
|
|
+ update config.guess and config.sub
|
|
|
|
20130803
|
|
+ minor updates to configure script
|
|
+ add limit-checks, improve index computation in scan.c to fix old
|
|
1.3.3 problems with very long string-literals in the parsed script
|
|
(report by Marcin Krol).
|
|
+ update config.guess and config.sub
|
|
|
|
20130219
|
|
+ modify missing-operand check in rexp.c to allow the case of empty
|
|
"()", matching behavior of gawk and BWK (report by Arkadiusz
|
|
Miskiewicz).
|
|
+ revert in-progress change to gsub retain ifdef'd for additional
|
|
development since it did not handle array as the second parameter
|
|
(report by Arkadiusz Miskiewicz).
|
|
|
|
20121209
|
|
+ build-fix for cygwin in matherr.c, which declares a different type
|
|
for _LIB_VERSION
|
|
+ add missing "-f" option in examples/gdecl.awk
|
|
+ fix a regression in fflush, ensuring that it returns an error if
|
|
the argument does not match any output filename (report by Nathan
|
|
Weeks).
|
|
+ modify wording of configure --help message to make it clear that
|
|
the default for --with-builtin-regex uses the builtin regular
|
|
expression engine of mawk.
|
|
+ fix issues reported by Coverity scan. Most of these were minor,
|
|
and were addressed by modifying the source to allow Coverity to
|
|
improve its analysis of the code.
|
|
+ amend support for LC_NUMERIC by translating period to the local
|
|
decimal separator as needed to work with strtod() which is used
|
|
to validate decimal constants when scanning source files. This
|
|
fixes an infinite loop with
|
|
mawk 'BEGIN { print 1.0 }'
|
|
(report by Jan Psota).
|
|
+ regenerate man/mawk.doc, overlooked in previous updates.
|
|
|
|
20121129
|
|
+ change behavior if internal fflush call fails: rather than exiting
|
|
with an error, propagate the return value to the script as -1, for
|
|
consistency with gawk and BWK (discussion with Aharon Robbins and
|
|
Nathan Weeks).
|
|
+ add special case for forward reference to a function using an array
|
|
parameter, updating the function's parameter type so that the array
|
|
is passed properly.
|
|
+ support length(array), as done in gawk and BWK awk (Original-Mawk #1).
|
|
+ support LC_NUMERIC, which will modify the displayed decimal point in
|
|
some locales. It does not modify the decimal point used for input,
|
|
matching the behavior of nawk and BWK awk (prompted by request from
|
|
Yechiel Bardov for thousands-separator).
|
|
+ add configure option --enable-init-srand to allow choice whether to
|
|
initialize random numbers automatically at startup or not. Not doing
|
|
this makes programs more predictable (Debian #63843, Original-Mawk
|
|
#3).
|
|
+ add configure option --enable-builtin-srand, use that to deprecate
|
|
mawk's builtin srand/rand functions which generally are not as good
|
|
as the system-provided functions.
|
|
+ extend --enable-trace configure option to show builtin functions.
|
|
+ add systime and mktime functions
|
|
+ when warning about unrecognized options, do not exit with error
|
|
on these gawk options:
|
|
--lint
|
|
--lint-old
|
|
--posix
|
|
--re-interval
|
|
--traditional
|
|
+ integrate strftime function (patch by Dominic Letz, Original-Mawk #2).
|
|
+ correct logic for "/dev/stdin" special device (GenToo #424137,
|
|
Original-Mawk #17).
|
|
+ updates for configure script macros:
|
|
+ modify configure script and makefile to support cross-compiles.
|
|
+ remove Turbo C++ and Zortech C++ makefiles.
|
|
+ remove obsolete function-checks: fmod, memcpy, strchr, strerror,
|
|
strtod, vfprintf.
|
|
+ remove obsolete checks for some headers: math.h, stdarg.h,
|
|
stdlib.h, string.h time.h
|
|
+ support --datarootdir option.
|
|
+ add 3rd parameter to AC_DEFINE's to allow autoheader to run.
|
|
+ remove unused macros.
|
|
+ update config.guess and config.sub
|
|
+ add icons for webpage artwork
|
|
|
|
20120627
|
|
+ add "/dev/stdin" name for stdin for consistency with other
|
|
implementations of awk (suggested by Aharon Robbins).
|
|
+ improve overflow check in check_strnum() (Ubuntu #485574).
|
|
+ implement gawk extension "nextfile" (suggested by Aharon Robbins).
|
|
+ updates for configure macros CF_ANSI_CC_CHECK, CF_ENABLE_TRACE,
|
|
CF_GCC_ATTRIBUTES, CF_GCC_WARNINGS, CF_MAKE_TAGS, CF_MSG_LOG,
|
|
CF_REGEX, CF_XOPEN_SOURCE.
|
|
+ update config.guess and config.sub
|
|
|
|
20101210
|
|
+ update copyright notices to reflect changes made starting 20080909.
|
|
This commit was made in May 2012, updates only copyright notices
|
|
needed for project registration on Savannah as discussed in Debian
|
|
#554167. However, since current policy on Savannah discriminates
|
|
against GPLv2, it will be hosted elsewhere. See
|
|
http://invisible-island.net/mawk/
|
|
http://github.com/ThomasDickey
|
|
|
|
20101207
|
|
+ add configure --enable-trace, to consolidate various debugging
|
|
traces which were written to stderr. This writes to Trace.out.
|
|
+ modify zmalloc.c to make it simpler to use the --disable-leaks
|
|
configure script option to analyze memory leaks. The memory pool
|
|
which interferes with analysis can be disabled by defining
|
|
DEBUG_ZMALLOC.
|
|
+ (IN-PROGRESS) convert gsub() function from recursive, to
|
|
non-recursive to lessen use of program stack (Debian #158481).
|
|
+ escape some dashes in manpage, to work with groff.
|
|
+ change section for Debian package to "interpreters" (Debian #442071).
|
|
+ fix printable token value for SC_MATCH in scan.c (report by Heiner
|
|
Marxen).
|
|
|
|
20100625
|
|
+ correct translation of octal and hex escapes for system regular
|
|
expression library.
|
|
+ modify configure script to support --program-suffix, etc.
|
|
+ add Debian package scripts, for "mawk-cur".
|
|
+ add RPM spec-file.
|
|
+ move release- and patch-level values from version.c to patchlev.h
|
|
to simplify packaging scripts.
|
|
|
|
20100618
|
|
+ correct translation of "^{" pattern for system regular expression
|
|
library (report by Elias Pipping).
|
|
+ fix sentence fragment in README (report by Elias Pipping).
|
|
|
|
20100507
|
|
+ cleanup gcc warnings for 64-bit platform, e.g., use size_t rather
|
|
than unsigned, etc.
|
|
+ fix warnings from clang --analyze
|
|
+ update/improve configure script
|
|
+ modify CF_GCC_VERSION to ignore stderr, e.g., from c89 alias
|
|
+ modify CF_GCC_WARNINGS, moving -W and -Wall into the list to check,
|
|
since c89 alias for gcc complains about these options.
|
|
+ add --disable-leaks and related options, for testing.
|
|
+ add lint rule to makefile.
|
|
+ add configure-check for ctags to work with pkgsrc.
|
|
+ amend change of array.w, fixes a regression in "delete" (report by
|
|
Heiner Marxen).
|
|
|
|
20100419
|
|
+ modify split() to handle embedded nulls in the string to split, e.g.,
|
|
BEGIN{s="a\0b"; print length(s); n = split(s,f,""); print n}
|
|
(report by Morris Lee).
|
|
|
|
+ modify array.w to update table pointers in the special case where
|
|
an array is known to have string-indices, but is later indexed via
|
|
integers. The problem occurs when the array grows large enough to
|
|
rehash it, e.g.,
|
|
BEGIN{a["n"];for(i=1;i<1000;++i)printf "%d\n", a[i]; }
|
|
(report by Morris Lee).
|
|
|
|
+ increase size of reference-count for strings to unsigned. It was an
|
|
unsigned short, which prevented using arrays larger than 64k, e.g.,
|
|
BEGIN{for(i = 1; i <= 65550; ++i){if(i >= 65534 && i<= 65537) print i; s[i] = "a"}; delete s;}
|
|
(report by Morris Lee).
|
|
|
|
+ add special case for Solaris 10 (and up) to configure check
|
|
CF_XOPEN_SOURCE
|
|
|
|
+ refactored configure check CF_REGEX
|
|
|
|
20100224
|
|
+ add a configure check for large files (report by Sean Kumar).
|
|
|
|
+ modify check in collect_RE() to show the actual limit value, e.g.,
|
|
MIN_SPRINTF-2 used for built-in regular expressions.
|
|
|
|
+ increase MIN_SPRINTF, used as limit on regular-expression size, to
|
|
match the MAX_SPLIT value, i.e., slightly more than doubling the size
|
|
(report by Markus Gnam).
|
|
|
|
+ further modify makefile to build outside the source-tree.
|
|
|
|
+ modify makefile and mawktest to use relative path again, since the
|
|
existing script did not work with openSUSE's build (patch by Guido
|
|
Berhoerster).
|
|
|
|
+ fix makefile's .c.i rule, which lacked CPP definition.
|
|
|
|
+ update mawktest.bat script to more/less correspond with mawktest,
|
|
for Win32 console except where echo command does not handle the
|
|
required quoting syntax.
|
|
|
|
+ add vs6.mak, for Visual Studio 6.
|
|
|
|
+ modify mawktest script to report results from all tests, rather than
|
|
halting on the first failure.
|
|
|
|
+ add limit-check after processing match(test, "[^0-9A-Za-z]") to
|
|
ensure the internal trailing null of the test-string is not mistaken
|
|
for part of the string, i.e., RSTART, RLENGTH are computed correctly
|
|
(report by Markus Gnam).
|
|
|
|
+ modify parsing of -W option to use comma-separated values, e.g.,
|
|
"-Wi,e" for "-Winteractive" and "-Werror".
|
|
|
|
+ add timestamp to scancode.c, to help manage revisions.
|
|
|
|
+ improve configure macro CF_XOPEN_SOURCE, making it remove possibly
|
|
conflicting definitions before adding new ones.
|
|
|
|
+ update config.guess and config.sub
|
|
|
|
> patches by Jan Psota:
|
|
|
|
+ improve buffering for -Winteractive option.
|
|
|
|
+ allow multiple single-character flags after -W, e.g., "-Wie" for
|
|
"-Winteractive" and "-Werror" to permit these to be passed on a
|
|
"#"-line of a shell script, e.g.,
|
|
#!/usr/bin/mawk -Wie
|
|
|
|
> patches by Jonathan Nieder:
|
|
|
|
+ add new M_SAVE_POS and M_2JC operation codes (states) to the
|
|
built-in regular expression engine. Use these to reimplement
|
|
m* (closure), to provide a way to avoid infinite looping on
|
|
matches against empty strings. This change requires reimplementing
|
|
the workaround for gawk's noloop1 testcase from 20090726.
|
|
|
|
+ improve buffer-overflow check for string_buff.
|
|
|
|
+ fix collect_RE to treat "[^]]" as a character class (meaning "not a
|
|
closing bracket") but "[^^]]" not as one. This also requires
|
|
initializing the local "start of character class" variable to NULL
|
|
rather than the beginning of the string, to avoid an invalid array
|
|
access when collecting expressions such as "^text".
|
|
|
|
+ within a character class and not followed by a :, ., or ~, a "[" is
|
|
just like any other character. This way, you can tell mawk to scan
|
|
for a literal [ character with "mawk /[[]/", and you can scan for a [
|
|
or ] with "mawk /[][]/". Also clean up the relevant loop in
|
|
do_class() to make it a bit more readable.
|
|
|
|
+ outside a character class, a "]" is just like any other character.
|
|
|
|
+ prevent do_class() from scanning past the end, e.g., if the
|
|
terminating zero byte was escaped.
|
|
|
|
+ fix regular-expression parsing when a right parenthesis ")" is
|
|
found without a preceding left parenthesis.
|
|
|
|
+ fix resetting of position stack when backtracking.
|
|
|
|
+ modify regular-expression engine to avoid exponential running time
|
|
for some regular expression matches in which the first match mawk
|
|
finds extends to the end of the string. This is a new fix for the
|
|
gawk noloop2 test, added here for regression testing.
|
|
|
|
20091220
|
|
+ bump version to 1.3.4
|
|
|
|
+ update INSTALL and README files.
|
|
|
|
+ improve configure checks for math library.
|
|
|
|
+ change test for NaN to use sqrt() rather than log() to work around
|
|
cygwin's partly broken math functions.
|
|
|
|
+ add/use isnanf() to work around other breakage in cygwin math
|
|
functions.
|
|
|
|
+ add configure check for _XOPEN_SOURCE, etc., needed to define
|
|
proper function pointer for sigaction, e.g., on Tru64.
|
|
|
|
+ add check for sigaction function pointer, whose POSIX form is
|
|
absent from the cygwin header.
|
|
|
|
+ extend MAWKBINMODE, adding a third bit which when set will suppress
|
|
the change for RS or ORS to use CR/LF rather than LF. This is used
|
|
for MinGW to make the "check" rule in a build work, for instance.
|
|
|
|
+ add configure check for functions used for pipe/system calls, e.g.,
|
|
for MinGW where these are absent.
|
|
|
|
+ add runtime check for floating-point underflow exceptions
|
|
|
|
+ fix an old 1.3.3 bug in re_split(), which did not check properly for
|
|
the end of buffer; this broke on Tru64.
|
|
|
|
+ drop obsolete config-user, v7 and atarist subdirectories
|
|
|
|
+ improve configure checks for sigaction, making the definitions used
|
|
in fpe_check.c consistent with matherr.c
|
|
|
|
+ build fixes for AIX, Tru64.
|
|
|
|
+ add configure check for 'environ'.
|
|
|
|
+ remove redundant setlocale() calls; only LC_CTYPE and LC_NUMERIC
|
|
are used.
|
|
|
|
20091213
|
|
+ add makedeps.sh script to aid in updating object dependencies in
|
|
Makefile.in
|
|
|
|
+ use "mkdir -p" rather than mkdirs.sh (suggested by Aleksey Cheusov).
|
|
|
|
+ reformatted this file, to simplify extraction of contributor names.
|
|
|
|
+ update config.guess and config.sub
|
|
|
|
> patches by Jonathan Nieder:
|
|
|
|
+ modify CF_DISABLE_ECHO autoconf macro to ensure that command lines
|
|
in Makefile.in begin with a tab.
|
|
|
|
+ the makefile does not use $(MAKE); remove the SET_MAKE substitution.
|
|
|
|
+ add some files to the "make clean" rule, in case make gets
|
|
interrupted in the middle of a rule.
|
|
|
|
+ add a maintainer-clean rule to the makefile, to remove files which
|
|
could be regenerated.
|
|
|
|
+ fix an unescaped "-" in man/mawk.1
|
|
|
|
+ remove an unneeded cast in bi_funct.c
|
|
|
|
+ fix an unused parameter warning in matherr.c
|
|
|
|
+ drop unused line_no parameter from compile_error() and its callers.
|
|
|
|
+ convert makescan.c to ANSI C, do further cleanup of that file.
|
|
|
|
+ split-out scancode.h from scan.h
|
|
|
|
20090920
|
|
+ improve hash function by using FNV-1 algorithm (patch/analysis by
|
|
Jim Mellander). This greatly improves speed for accessing arrays
|
|
with a large number of distinct keys; however the unsorted order in
|
|
"for" loops will differ.
|
|
|
|
+ add "internal regex" or "external regex" string to version message to
|
|
allow scripting based on support for embedded nulls.
|
|
|
|
+ drop obsolete CF_MAWK_PROG_GCC and CF_MAWK_PROG_YACC macros from
|
|
configure script (report by Mike Frysinger).
|
|
|
|
+ fixes to allow build outside source-tree (report by Mike Frysinger).
|
|
|
|
+ correct logic in scan.c to handle expression "[[]" (report by Aleksey
|
|
Cheusov).
|
|
|
|
+ add MAWK_LONG_OPTIONS feature to allow mawk to ignore long options
|
|
which are not implemented.
|
|
|
|
+ two changes for embedded nulls, allows FS to be either a null or
|
|
contain a character class with null, e.g., '\000' or '[ \000]':
|
|
|
|
+ modify built-in regular expression functions to accept embedded
|
|
nulls.
|
|
|
|
+ modify input reader FINgets() to accept embedded nulls in data read
|
|
from files. Data read from standard input is line-buffered, and is
|
|
still null-terminated.
|
|
|
|
+ update config.guess and config.sub
|
|
|
|
20090820
|
|
+ minor portability/standards fixes for examples/hical
|
|
|
|
+ add WHINY_USERS sorted-array feature, for compatibility with gawk
|
|
(patch by Aharon Robbins).
|
|
|
|
+ correct lower-limit for d_to_U() function, which broke conversion of
|
|
zero in "%x" format, added in fix for Debian #303825 (report by
|
|
Masami Hiramatsu).
|
|
|
|
+ modify "%s" and "%c" formatting in printf/sprintf commands to ensure
|
|
that "%02s" does not do zero-padding, for standards conformance
|
|
(discussion with Aharon Robbins, Mike Brennan, prompted by Debian
|
|
#339799).
|
|
|
|
20090728
|
|
+ add fallback definitions for GCC_NORETURN and GCC_UNUSED to build
|
|
with non-gcc compilers (report by Jan Wells).
|
|
|
|
20090727
|
|
+ add check/fix to prevent gsub from recurring to modify on a substring
|
|
of the current line when the regular expression is anchored to the
|
|
beginning of the line; fixes gawk's anchgsub testcase.
|
|
|
|
+ add check for implicit concatenation mistaken for exponent; fixes
|
|
gawk's hex testcase.
|
|
|
|
+ add character-classes to built-in regular expressions.
|
|
|
|
+ add 8-bit locale support
|
|
|
|
20090726
|
|
+ improve configure checks for MAX__UINT.
|
|
|
|
+ add a check for infinite loop in REmatch(), to work with gawk's
|
|
noloop1 testcase.
|
|
|
|
+ modify logic to allow setting RS to an explicit null character, e.g.,
|
|
RS="\0"
|
|
(Ubuntu #400409).
|
|
|
|
+ modify workaround for (incorrect) scripts which use a zero-parameter
|
|
for substr to ensure the overall length of the result stays the same.
|
|
For example, from makewhatis:
|
|
filename_no_gz = substr(filename, 0, RSTART - 1);
|
|
|
|
+ move regular-expression files into main directory to simplify
|
|
building using configure --srcdir and VPATH.
|
|
|
|
+ modify internal functions for gsub() to handle a case from makewhatis
|
|
script from man 1.6f which substitutes embedded zero bytes to a
|
|
different value (report by Gabor Z Papp).
|
|
|
|
+ change default for configure --with-builtin-regex to prefer the
|
|
builtin regular expressions. They are incomplete, but POSIX regular
|
|
expressions cannot match nulls embedded in strings.
|
|
|
|
+ require standard C compiler; converted to ANSI C.
|
|
|
|
+ rename #define'd SV_SIGINFO to MAWK_SV_SIGINFO to avoid predefined
|
|
name on Mac OS X (report on comp.lang.awk).
|
|
|
|
+ revise configure script to use conventional scheme for generating
|
|
config.h
|
|
|
|
20090721
|
|
+ port to cygwin, modifying test-script to work with executable-suffix
|
|
and fp-exception code to allow const in declaration.
|
|
|
|
20090712
|
|
+ bump patch-date.
|
|
|
|
+ fix Debian #127293 "mawk does not understand unescaped '/' in
|
|
character classes", noting that gawk 3.1.6 also has problems with
|
|
this area.
|
|
|
|
+ drop support for varargs; use stdarg only.
|
|
|
|
+ add tags rule to makefile.
|
|
|
|
+ rename configure option "--with-local-regexp" to
|
|
"--with-builtin-regex"
|
|
|
|
+ add build-fix from NetBSD port: enable vax FP support when
|
|
defined(__vax__) as well as BSD43_VAX. from ragge.
|
|
|
|
+ add configure --disable-echo option
|
|
|
|
+ identify updated files with "MawkId" keywords, retaining old log
|
|
comments for reference. Ongoing changes are recorded here.
|
|
|
|
+ change maintainer email address to my own.
|
|
|
|
20090711
|
|
+ use conventional install/uninstall rules in makefile.
|
|
|
|
+ add install-sh script, mkdirs.sh, config.guess and config.sub
|
|
|
|
+ add $DESTDIR support to makefile
|
|
|
|
+ add uninstall make-target
|
|
|
|
+ add configure --enable-warnings option (fixed some warnings...)
|
|
|
|
+ change configure script to autoconf 2.52 to permit cross-compiles.
|
|
|
|
+ drop config.user file; replace with conventional autoconf --prefix,
|
|
etc.
|
|
|
|
+ fill-in CA_REC.type in two places in parse.y which weren't
|
|
initialized.
|
|
|
|
+ fix Debian #38353 (absent expression on last part of "for" statement
|
|
caused core-dump).
|
|
|
|
+ fix Debian #303825 (printf %x clamps numbers to signed range rather
|
|
than unsigned range).
|
|
|
|
+ apply fix from Debian #355966 (null-pointer check in
|
|
is_string_split())
|
|
|
|
+ apply fix from Debian #391051 (limit-check in scan.c)
|
|
|
|
20090709
|
|
+ add support for external regexp libraries (patch by Aleksey Cheusov)
|
|
(originally comp.lang.awk June 15 2005, also cited in Debian #355442
|
|
March 6, 2006).
|
|
|
|
20090705
|
|
+ fixes to build on BeOS (if LIBS is set to -lroot), and QNX
|
|
(redefinition of setmode).
|
|
|
|
20080909
|
|
+ fix gcc 4.3.1 -Wall warnings
|
|
|
|
+ transform mawk.ac.m4 to aclocal.m4, renaming macros to use "CF_" or
|
|
"CF_MAWK_" prefixes depending on their reusability. Modified macros
|
|
to use quoting consistent with recent autoconf versions.
|
|
|
|
+ regenerate configure with autoconf version 2.13.20030927
|
|
|
|
+ regenerate parse.c with byacc - 1.9 20080827
|
|
|
|
+ ifdef'd prototypes in nstd.h which belong to stdlib.h, string.h to
|
|
use standard C by default.
|
|
|
|
+ source-in Debian patches 01-08 (see below). Changes for 20080909 fix
|
|
Debian #496980 as well.
|
|
|
|
-------------------------------------------------------------------------------
|
|
Debian patches:
|
|
|
|
(Peter Eisentraut <petere@debian.org> Sat, 05 Apr 2008 17:11:11 +0200)
|
|
|
|
08_fix-for-gcc3.3
|
|
Debian #195371
|
|
|
|
(James Troup <james@nocrew.org> Fri, 30 May 2003 15:24:50 +0100)
|
|
|
|
07_mawktest-check-devfull
|
|
Debian #51875
|
|
|
|
06_parse.y-semicolons
|
|
Debian #170973
|
|
|
|
05_-Wall-fixes
|
|
|
|
04_mawk.1-fix-pi
|
|
Debian #103699
|
|
|
|
03_read-and-close-redefinition
|
|
Debian #104124
|
|
|
|
02_fix-examples
|
|
Debian #36011
|
|
|
|
01_error-on-full-fs
|
|
Debian #28249
|
|
Debian #4293
|
|
|
|
-------------------------------------------------------------------------------
|
|
1.3.1 -> 1.3.2 Sep 1996
|
|
|
|
1) Numeric but not integer indices caused core dump in new array scheme.
|
|
Fixed bug and fired test division.
|
|
|
|
2) Added ferror() checks on writes.
|
|
|
|
3) Added some static storage specs to array.c to keep non-ansi
|
|
compilers happy.
|
|
|
|
1.3 -> 1.3.1 Sep 1996
|
|
Release to new ftp site ftp://ftp.whidbey.net.
|
|
|
|
1) Workaround for overflow exception in strtod, sunos5.5 solaris.
|
|
|
|
2) []...] and [^]...] put ] in a class (or not in a class) without
|
|
having to use back-slash escape.
|
|
|
|
1.2.2 -> 1.3 Jul 1996
|
|
Extensive redesign of array data structures to support large arrays and
|
|
fast access to arrays created with split. Many of the ideas in the
|
|
new design were inspired by reading "The Design and Implementation of
|
|
Dynamic Hashing Sets and Tables in Icon" by William Griswold and
|
|
Gregg Townsend, SPE 23,351-367.
|
|
|
|
1.2.1 -> 1.2.2 Jan 1996
|
|
|
|
1) Improved autoconfig, in particular, fpe tests. This is far from
|
|
perfect and never will be until C standardizes an interface to ieee754.
|
|
|
|
2) Removed automatic error message on open failure for getline.
|
|
|
|
3) Flush all output before system(). Previous behavior was to only
|
|
flush std{out,err}.
|
|
|
|
4) Explicitly fclose() all output on exit to work around AIX4.1 bug.
|
|
|
|
5) Fixed random number generator to work with longs larger than
|
|
32bits.
|
|
|
|
6) Added a type Int which is int on real machines and long on dos machines.
|
|
Believe that all implicit assumptions that int=32bits are now gone.
|
|
|
|
-------------------------------------------------------------------------------
|
|
Changes from version 1.1.4 to 1.2:
|
|
|
|
1) Limit on code size set by #define in sizes.h is gone.
|
|
|
|
2) A number of obscure bugs have been fixed such as,
|
|
you can now make a recursive function call inside a for( i in A) loop.
|
|
Function calls with array parameters in loop expressions sometimes
|
|
generated erroneous internal code.
|
|
|
|
See RCS log comments in code for details.
|
|
|
|
Reported bugs are fixed.
|
|
|
|
3) new -W options
|
|
|
|
|
|
-We file : reads commands from file and next argument, regardless
|
|
of form, is ARGV[1]. Useful for passing -v , -f etc to
|
|
an awk program started with #!/.../mawk
|
|
|
|
|
|
#!/usr/local/bin/mawk -We
|
|
|
|
myprogram -v works, while
|
|
|
|
#!/usr/local/bin/mawk -f
|
|
|
|
myprogram -v gives error message
|
|
mawk: option -v lacks argument
|
|
|
|
This is really a posix bozo. Posix says you end arguments with
|
|
"--" , but this doesn't work with the "#!" convention.
|
|
|
|
-W interactive : forces stdout to be unbuffered and stdin to
|
|
be line buffered. Records from stdin are lines regardless of
|
|
the value of RS. Useful for interaction with a mawk on a pipe.
|
|
|
|
-W dump, -Wd : disassembles internal code to stdout (used to be
|
|
stderr) and exits 0.
|
|
|
|
4) FS = "" causes each record to be broken into characters and placed
|
|
into $1,$2 ...
|
|
|
|
same with split(x,A,"") and split(x,A,//)
|
|
|
|
5) print > "/dev/stdout" writes to stdout, exactly the same as
|
|
print
|
|
|
|
This is useful for passing stdout to
|
|
|
|
function my_special_output_routine(s, file)
|
|
{
|
|
# do something fancy with s
|
|
print s > file
|
|
}
|
|
|
|
6) New built-in function fflush() -- copied from the lastest att awk.
|
|
|
|
fflush() : flushes stdout and returns 0
|
|
fflush(file) flushes file and returns 0; if file was not an
|
|
open output file then returns -1.
|
|
|
|
7) delete A ; -- removes all elements of the array A
|
|
|
|
intended to replace:
|
|
|
|
for( i in A) delete A[i]
|
|
|
|
8) mawk errors such as compilation failure, file open failure, etc.
|
|
now exit 2 which reserves exit 1 for the user.
|
|
|
|
9) No program now silently exits 0, prior behavior was to exit 2 with
|
|
an error message
|