Log message:
Update to 1.3.4-20100625
Major changes:
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.
|
Log message:
Update to the latest upstream release 1.3.4
Changes:
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
|