Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Stoned Elipot <seb@netbsd.org>
List: pkgsrc-changes
Date: 04/04/2002 16:58:28
Module Name:	pkgsrc
Committed By:	seb
Date:		Thu Apr  4 13:58:28 UTC 2002

Modified Files:
	pkgsrc/lang/gawk: Makefile PLIST distinfo
	pkgsrc/lang/gawk/patches: patch-aa
	pkgsrc/mk: bsd.pkg.defaults.mk
Removed Files:
	pkgsrc/lang/gawk/patches: patch-ab patch-ac

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -r1.5 -r1.6 pkgsrc/lang/gawk/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/lang/gawk/PLIST pkgsrc/lang/gawk/distinfo
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/lang/gawk/patches/patch-aa
cvs rdiff -r1.1.1.1 -r0 pkgsrc/lang/gawk/patches/patch-ab \
    pkgsrc/lang/gawk/patches/patch-ac
cvs rdiff -r1.48 -r1.49 pkgsrc/mk/bsd.pkg.defaults.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.