2 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
seb
|
9165b4364c |
Update to version 3.1.0 (lots of new features and bug fixes).
Enable this package for all platforms. Added GAWK_ENABLE_PORTALS to mk/bsd.pkg.defaults.mk to enable/disable gawk handling file names that start with `/p/' as a 4.4 BSD type portal file. Changes from 3.0.4 to 3.0.5: - bug fix release only. Changes from 3.0.5 to 3.0.6: - bug fix release only. Changes from 3.0.6 to 3.1.0: - A new PROCINFO array provides info about the process. The non-I/O /dev/xxx files are now obsolete, and their use always generates a warning. - A new `mktime' builtin function was added for creating time stamps. The `mktime' function written in awk was removed from the user's guide. - New `--gen-po' option creates GNU gettext .po files for strings marked with a leading underscore. - Gawk now completely interprets special file names internally, ignoring the existence of real /dev/stdin, /dev/stdout files, etc. - The mmap code was removed. It was a worthwhile experiment that just didn't work out. - The BINMODE variable is new; on non-UNIX systems it affects how gawk opens files for text vs. binary. - Gawk no longer supports `next file' as two words. - On systems that support it, gawk now sets the `close on exec' flag on all files and pipes it opens. This makes sure that child processes run via system() or pipes have plenty of file descriptors available. - If `--posix' is in effect, newlines are not allowed after ?:. - Weird OFMT/CONVFMT formats no longer cause fatal errors. - Diagnostics about array parameters now include the parameter's name, not just its number. - It is now possible to open a two-way pipe via the `|&' operator. See the discussion in the manual about putting `sort' into such a pipeline, though. (NOTE! This is borrowed from ksh: it is not the same as the same operator in csh!) - The close() function now takes an optional second string argument that allows closing one or the other end of the two-way pipe to a co-process. This is needed to use `sort' in a co-process, see the doc. - If TCP/IP is available, special file names beginning with `/inet' can be used with `|&' for IPC. - With `--enable-portals' on the configure command line, gawk will also treat file names that start with `/p/' as a 4.4 BSD type portal file, i.e., a two-way pipe for `|&'. - Unrecognized escapes, such as "\q" now always generate a warning. - The LINT variable is new; it provides dynamic control over the --lint option. - Lint warnings can be made fatal by using --lint=fatal or `LINT = "fatal"'. Use this if you're really serious about portable code. - A number of lint warnings have been added. Most notably, gawk will detect if a variable is used before assigned to. Warnings for when a string that isn't a number gets converted to a number are in the code but disabled; they seem to be too picky in practice. Also, gawk will now warn about function parameter names that shadow global variable names. - It is now possible to dynamically add builtin functions on systems that support dlopen. This facility is not (yet) as portable or well integrated as it might be. *** WARNING *** THIS FEATURE WILL EVOLVE! - Profiling has been added! A separate version of gawk, named pgawk, is built and generates a run-time execution profile. The --profile option can be used to change the default output file. In regular gawk, this option pretty-prints the parse tree. - Gawk has been internationalized, using GNU gettext. Translations for future distributions are most welcome. - New asort() function for sorting arrays. See the doc for details. - The match function takes an optional array third argument to hold the text matched by parenthesized sub-expressions. - The bit op functions and octal and hex source code constants are on by default, no longer a configure-time option. Recognition of non-decimal data is now enabled at runtime with --non-decimal-data command line option. - Internationalization features available at the awk level: new TEXTDOMAIN variable and bindtextdomain() and dcgettext() functions. printf formats may contain the "%2$3.5d" kind of notation for use in translations. See the texinfo manual for details. - The return value from close() has been rationalized. Most notably, closing something that wasn't open returns -1 but remains non-fatal. - The array effeciency change from 3.0.5 was reverted; the semantics were not right. Additionally, index values of previously stored elements can no longer change dynamically. - The new option --dump-variables dumps a list of all global variables and their final types and values to a file you give, or to `awkvars.out'. - Gawk now uses a recent version of random.c courtesy of the FreeBSD project. - The gawk source code now uses ANSI C function definitions (new style), with ansi2knr to translate code for old compilers. - `for (iggy in foo)' loops should be more robust now in the face of adding/deleting elements in the middle; they loop over just the elements that are present in the array when the loop starts. |
||
bouyer
|
56b3477621 | A package for the GNU awk utility. |