gawk 3.0.95, beta for gawk 3.1.0, now available 
Author Message
 gawk 3.0.95, beta for gawk 3.1.0, now available

This note is to announce the BETA release of version 3.1 of gawk. It is
available from

This release fixes a number of bugs, almost all of which have been posted
previously.  More importantly, there is a large number of new features
in this release, the first major release in approximately five years!
The relevant part of NEWS is appended below.

The documentation is still undergoing revision, although what's in the
distribution is complete in its coverage.  On the other hand, I believe
I've hit feature freeze and code freeze in the code.

Since this is a BETA release, I do NOT recommend installing it for
production use unless lack of one of the features listed below is really
hurting you.

On the other hand, why do a beta release? So that you, yes you, the end
user, can see if anything I've done breaks gawk for you.  Then you can
TELL ME ABOUT IT so that I can fix it for the final release.

I want version 3.1 to be stable for the long term. PLEASE help me do
that by building and testing this release, and letting me know if there
are any problems.  Ultimately, it is yourself you're helping, as well
as every other gawk user, when you do this.


Arnold Robbins

Changes from 3.0.6 to 3.1.0

1. 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.

2. A new `mktime' builtin function was added for creating time stamps. The
   `mktime' function written in awk was removed from the user's guide.

3. New `--gen-po' option creates GNU gettext .po files for strings marked
   with a leading underscore.

4. Gawk now completely interprets special file names internally, ignoring the
   existence of real /dev/stdin, /dev/stdout files, etc.

5. The mmap code was removed. It was a worthwhile experiment that just
   didn't work out.

6. The BINMODE variable is new; on non-UNIX systems it affects how gawk
   opens files for text vs. binary.

7. The atari port is now unsupported.

8. Gawk no longer supports `next file' as two words.

9. 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.

10. New ports: Tandem and BeOS.  The Tandem port is unsupported.

11. If `--posix' is in effect, newlines are not allowed after ?:.

12. Weird OFMT/CONVFMT formats no longer cause fatal errors.

13. Diagnostics about array parameters now include the parameter's name,
    not just its number.

14. configure should now automatically add -D_SYSV3 for ISC Unix.
    (This seems to have made it into the gawk 3.0.x line long ago.)

15. 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!)

16. 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.

17. If TCP/IP is available, special file names beginning with `/inet'
    can be used with `|&' for IPC. Thanks to Juergen Kahrs for the initial

18. 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 `|&'.

19. Unrecognized escapes, such as "\q" now always generate a warning.

20. The LINT variable is new; it provides dynamic control over the --lint

21. Lint warnings can be made fatal by using --lint=fatal or `LINT = "fatal"'.
    Use this if you're really serious about portable code.

22. Due to an enhanced sed script, there is no longer any need to worry
    about finding or using alloca.  alloca.c is thus now gone.

23. 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.

24. 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!

25. There are *many* new tests in the test suite.

26. 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.

27. Gawk has been internationalized, using GNU gettext.  Translations for
    future distributions are most welcome.  Simultaneously, gawk was switched
    over to using automake.  You need Automake 1.4a (from the CVS archive)
    if you want to muck with the files.

28. New asort() function for sorting arrays.  See the doc for details.

29. The match function takes an optional array third argument to hold
    the text matched by parenthesized sub-expressions.

30. 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.

31. 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.

32. The return value from close() has been rationalized.  Most notably,
    closing something that wasn't open returns -1 but remains non-fatal.

33. 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.

34. 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'.

35. Gawk now uses a recent version of random.c courtesy of the FreeBSD

36. The gawk source code now uses ANSI C function definitions (new style),
    with ansi2knr to translate code for old compilers.

37. `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.
Arnold Robbins                  | If There's More Than One Way To Do It,
Guest account at Emory Math/CS  | then why is there only one implementation

                                |       -- Arnold Robbins

Fri, 15 Aug 2003 16:46:59 GMT  
 gawk 3.0.95, beta for gawk 3.1.0, now available

> 34. 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'.

Priliminary info:
Redhat Linux 7.0
$ gawk -W version
GNU Awk 3.0.95

Compiled with no special options using only ./configure ;make ;make install

cd /usr/local/gawk-3.0.95
gawk --dump-variables=awk1.out -vRS="package" '{print RT}' INSTALL

 $ gawk -vRS="^(RS|RT):" '{print RT}'  awk1.out
RS: string ("package")
RT: string ("")


I like this nifty new diagnostic tool but is the value shown for `RT'
correct above?

Sat, 16 Aug 2003 08:50:18 GMT  
 [ 2 post ] 

 Relevant Pages 

1. 2nd Beta of gawk 3.1.2 now available for testing

2. beta test version of patch 2 to gawk 3.1 available

3. Second beta of gawk 3.1 now available

4. public beta of next gawk release now available

5. Gawk for win32 slower than Gawk for Dos_32?

6. Gawk bug, gawk won't nawk.

7. GAWK 3.0.95 - question on the extensions stuff

8. Recent emails from A. Robbins, regarding latest GAWK (3.0.95)

9. GAWK 3.0.95 - Bug (er, problem) report on extension stuff

10. GAWK 3.0.95 - some questions/comments on PC compilation(s)

11. GAWK 2.15.6 for Windows NT/95, DOS32

12. gawk for 95/NT


Powered by phpBB® Forum Software