Fix joerg's patch to actually do the right thing on NetBSD 6.
Add option to build with Intl support using textproc/icu.
Cleanup.
2015.05.22, Version 0.12.4 (Stable)
* npm: upgrade to 2.10.1
* V8: revert v8 Array.prototype.values() removal (cjihrig)
* win: bring back xp/2k3 support (Bert Belder)
The removed hunk is definitely wrong, but I can't figure out what it was
trying to do. I think the patch hunk was accidentally reintroduced in r1.4
after being correctly removed in r1.3.
The reason it is wrong is because it breaks later tests by introducing code
into confdefs.h. The following tests always break, because they have
duplicate main() definitions.
Build test on NetBSD works because the java support isn't in the suggested
options anyway.
* Support for AuroraUX has been removed.
* Added support for a native object file-based bitcode wrapper format.
* Added support for MSVC’s __vectorcall calling convention as x86_vectorcallcc.
* Prefix data rework
* Metadata is not a Value
* Alias syntax change
* The old JIT has been removed
* object::Binary doesn’t own the file buffer
* IR in object files is now supported
* The gold plugin has been rewritten
Changes from 4.1.2 to 4.1.3
---------------------------
1. Regexp parsing with extra brackets should now be working again. There
are several new tests to keep this stuff on track.
2. Updated to latest config.guess and config.sub.
3. A (small) number of bugs have been fixed. See the ChangeLog.
Upstream changes:
CHANGES FROM 2.61 to 3.00
* Code redesign from Howard Wulf, AF5NE
CHANGES FROM 2.60 to 2.61
* Bug fix from Matthias Rustler
CHANGES FROM 2.50 to 2.60
* New maths functions and append mode support from Edmond Orignac
* Bug fixes
2015.05.13, Version 0.12.3 (Stable)
* V8: update to 3.28.71.19
* uv: upgrade to 1.5.0
* npm: upgrade to 2.9.1
* V8: don't busy loop in v8 cpu profiler thread (Mike Tunnicliffe)
* V8: fix issue with let bindings in for loops (adamk)
* debugger: don't spawn child process in remote mode (Jackson Tian)
* net: do not set V4MAPPED on FreeBSD (Julien Gilli)
* repl: make 'Unexpected token' errors recoverable (Julien Gilli)
* src: backport ignore ENOTCONN on shutdown race (Ben Noordhuis)
* src: fix backport of SIGINT crash fix on FreeBSD (Julien Gilli)
* Fix stack check in narrowing optimization.
* Fix Lua/C API typecheck error for special indexes.
* Fix string to number conversion.
* Fix lexer error for chunks without tokens.
* Don't compile IR_RETF after CALLT to ff with-side effects.
* Fix BC_UCLO/BC_JMP join optimization in Lua parser.
* Fix corner case in string to number conversion.
* Gracefully handle lua_error() for a suspended coroutine.
* Avoid error messages when building with Clang.
* Fix snapshot #0 handling for traces with a stack check on entry.
* Fix fused constant loads under high register pressure.
* Invalidate backpropagation cache after DCE.
* Fix ABC elimination.
* Fix debug info for main chunk of stripped bytecode.
* Fix FOLD rule for string.sub(s, ...) == k.
* Fix FOLD rule for STRREF of SNEW.
* Fix frame traversal while searching for error function.
* Prevent GC estimate miscalculation due to buffer growth.
* Prevent adding side traces for stack checks.
* Fix top slot calculation for snapshots with continuations.
* Fix check for reuse of SCEV results in FORL.
* Add PS Vita port.
* Fix compatibility issues with Illumos.
* Fix DragonFly build (unsupported).
* OpenBSD/x86: Better executable memory allocation for W^X mode.
* x86: Fix argument checks for ipairs() iterator.
* x86: lj_math_random_step() clobbers XMM regs on OSX Clang.
* x86: Fix code generation for unused result of math.random().
* x64: Allow building with LUAJIT_USE_SYSMALLOC and
LUAJIT_USE_VALGRIND.
* x86/x64: Fix argument check for bit shifts.
* x86/x64: Fix code generation for fused test/arith ops.
* ARM: Fix write barrier check in BC_USETS.
* PPC: Fix red zone overflow in machine code generation.
* PPC: Don't use mcrxr on PPE.
* Various archs: Fix excess stack growth in interpreter.
* FFI: Fix FOLD rule for TOBIT + CONV num.u32.
* FFI: Prevent DSE across ffi.string().
* FFI: No meta fallback when indexing pointer to incomplete struct.
* FFI: Fix initialization of unions of subtypes.
* FFI: Fix cdata vs. non-cdata arithmetic and comparisons.
* FFI: Fix __index/__newindex metamethod resolution for ctypes.
* FFI: Fix compilation of reference field access.
* FFI: Fix frame traversal for backtraces with FFI callbacks.
* FFI: Fix recording of indexing a struct pointer ctype object
itself.
* FFI: Allow non-scalar cdata to be compared for equality by address.
* FFI: Fix pseudo type conversions for type punning.
Upstream changes:
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.txthttp://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
Upstream changes:
Changes from 4.1.1 to 4.1.2
---------------------------
1. The manual has been considerably improved.
- Thoroughly reviewed and updated.
- Out-of-date examples replaced.
- Chapter 15 on MPFR reworked.
- Summary sections added to all chapters.
- Exercises added in several chapters.
- Heavily proof-read and copyedited.
2. The debugger's "restart" command now works again.
3. Redirected getline is now allowed inside BEGINFILE/ENDFILE.
4. A number of bugs have been fixed in the MPFR code.
5. Indirect function calls now work for both built-in and extension functions.
6. Built-in functions are now included in FUNCTAB.
7. POSIX and historical practice require the exclusive use of the English
alphabet in identifiers. In non-English locales, it was accidentally
possible to use "letters" beside those of the English alphabet. This
has been fixed. (isalpha and isalnum are NOT our friends.)
If you feel that you must have this misfeature, use `configure --help'
to see what option to use when configuring gawk to reenable it.
8. The "where" command has been added to the debugger as an alias
for "backtrace". This will make life easier for long-time GDB users.
9. Gawk no longer explicitly checks the current directory after doing
a path search of AWKPATH. The default value continues to have "." at
the front, so most people should not be affected. If you have your own
AWKPATH setting, be sure to put "." in it somewhere. The documentation
has been updated and clarified.
10. Infrastructure upgrades: Automake 1.15, Gettext 0.19.4, Libtool 2.4.6,
Bison 3.0.4.
11. If a user-defined function has a parameter with the same name as another
user-defined function, it is no longer possible to call the second
function from inside the first.
12. POSIX requires that the names of function parameters not be the
same as any of the special built-in variables and also not conflict
with the names of any functions. Gawk has checked for the former
since 3.1.7. With --posix, it now also checks for the latter.
13. The test suite should check for necessary locales and skip the tests
where it matters if support isn't what it should be.
14. Gawk now expects to be compiled on a system with multibyte character
support. Systems without such support, at least at the C language
level, are so obsolete as to not be worth supporting anymore.
15. A number of bugs have been fixed. See the ChangeLog.