delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2017/10/22/12:16:04

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-Id: <201710221615.v9MGFXwU030968@delorie.com>
Date: Sun, 22 Oct 2017 18:10:35 +0200
From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" <djgpp-announce AT delorie DOT com>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of GNU Gawk 4.2.0 uploaded.
Reply-To: djgpp AT delorie DOT com

This is a port of GNU Gawk 4.2.0 to MSDOS/DJGPP.


   GNU Gawk is an interpreter for text scanning and processing language named
   Awk. It is specifically suited for programs that process text files one line
   at a time, but can also be used for much more complex tasks.



   DJGPP specific changes.
   =======================

   - Although GAWK already offers DJGPP support out-of-the-box, I have done
     some minor changes to the Makefile.
   - All changes I have done to this GAWK version are documented in the diffs
     file stored in the /pc/djgpp directory.
   - The port has been configured and compiled on WinXP SP3.  There is no
     guarantee that this may be possible with any other DOS-like OS.  Due
     to the use of long file names it will not be possible to configure and
     compile without LFN support.



   Here is an extract of the NEWS file showing the user visible changes from
   the last port (GNU Gawk 4.1.4) to this one:

-------------------------------------------------------------------------------
Changes from 4.1.4 to 4.2.0
---------------------------

1. If not in POSIX mode, changes to ENVIRON are reflected into
    gawk's environment, affecting any programs run by system()
    or for piped redirections. This can also affect built-in routines, such
    as mktime(), which is typically influenced by the TZ environment variable.

2. The series of numbers returned by rand() should now be "more
    random" than previously.  Gawk's rand() remains repeatable; you will
    get the same series of numbers each time you call rand() repeatedly,
    but this will be a different series than previously.

3. Multiple changes related to the pretty printer:

    * The --pretty-print option no longer runs the program too.

    * Pretty printing now preserves comments and places them into the
      pretty-printed file.

    * Pretty-printing now uses the original text of constant numeric values
      for pretty-printing and profiling.

    * Pretty-printing now preserves parenthesized expressions as they
      were in the source file. This solves several niggling corner cases
      with such things.

4. The igawk script and igawk.1 man page are no longer installed by
    `make install'.  They have been obsolete since gawk 4.0.0.

5. Gawk can now be built with CMake.  This is an alternative build
    system for those who may want it; gawk is not going to switch off
    use of the autotools anytime soon, if ever.

6. Gawk now processes a maximum of two hexadecimal digits in \x
    escape sequences inside strings.

7. Setting PROCINFO["redirection", "NONFATAL"] to true makes I/O
    errors for "redirection" not fatal, setting ERRNO. Setting
    PROCINFO["NONFATAL"] makes all I/O nonfatal. See the manual.

8. MirBSD is no longer supported.

9. `make install' now installs shell startup files
    $sysconfdir/profile.d/gawk.{csh,sh} containing shell functions to
    manipulate the AWKPATH and AWKLIBPATH environment variables.  On a Fedora
    system, these files belong in /etc/profile.d, but the appropriate location
    may be different on other platforms.

10. Gawk now supports retryable I/O via PROCINFO[input-file, "RETRY"]; see
     the manual.

11. The C API has undergone changes that break binary compatibility with
     the previous version. Thus the API version is now at 2.0.  YOU WILL
     NEED TO RECOMPILE YOUR EXTENSIONS to work with this version of gawk.
     Source code compatibility remains intact, although you will get
     compiler warnings if you do not revise your extensions. We strongly
     recommend that you do so.  Fortunately, the changes are fairly minor
     and straightforward.

     See the manual for the new features.

12. Revisions in the POSIX standard remove the special case for POSIX
     mode when FS = " " where newline was not a field separator. The code
     and doc have been updated.

13. Gawk now supports strongly typed regexp constants. Such constants
     look like @/.../.  You can assign them to variables, pass them to
     functions, use them in ~, !~ and the case part of a switch statement.
     More details are provided in the manual.

14. The new typeof() function can be used to indicate if a variable or
     array element is an array, regexp, string or number.

15. As promised when 4.1 was released, the old extension mechanism,
     using the `extension' function, is now gone.

16. Support for GNU/Linux on Alpha systems has been removed.

17. Optimizations are now enabled by default. Use the new -s/--no-optimize
     option(s) to disable them.  Pretty-printing and profiling automatically
     disable optimizations so that the output program is the same as the
     original input program.

18. Gawk now uses fwrite_unlocked if it's available. The yields a 7% - 18%
     improvement in raw output speed (gawk '{ print }' on a large file).

19. Passing negative operands to any of the bitwise functions now
     produces a fatal error.

20. Programs that toggle IGNORECASE a lot should now be noticeably faster.

21. The mktime function now accepts an optional second argument. If this
     argument is present and is non-zero or non-null, the time will be converted
     from UTC instead of from the local timezone.

22. The FIELDWIDTHS parsing syntax has been enhanced to allow specifying
     how many characters to skip before a field starts. It also allows
     specifying '*' as the last character to mean "the rest of the record".
     Field splitting with FIELDWIDTHS now sets NF correctly.  The documentation
     for FIELDWIDTHS in the manual has been considerably reorganized and
     improved as well.

23. The PROCINFO["argv"] array records all of gawk's command line arguments
     as gawk received them (the values of the C level argv array).

24. The DJGPP port has been revived and now has an official maintainer.

25. The manual has been translated into Italian!  The translation is
     included in the distribution.

-------------------------------------------------------------------------------


   Compiling the sources.
   ======================

   Compile, test and install the binaries produced from the source distribution
   running the following commands from the _build directory:
     make
     make check
     make install

   31 tests from the test suite will fail without aborting the test suite.
   This is expected to happen.  It may be usefull to increment the "files"
   directive in your config.sys or config.nt to around the max. value of 255
   before running the testsuite.
   For further information about GNU Gawk please read the info docs and NEWS file.


   The port consists of the usual three packages that have been produced
   using djdev205 and can be downloaded from ftp.delorie.com and mirrors
   as (time stamp 2017-10-21):


     Gawk 4.2.0 binary, info and man format documentation:
     ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk420b.zip

     Gawk 4.2.0 dvi, html and ps format documentation:
     ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk420d.zip

     Gawk 4.2.0 source:
     ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk420s.zip


   Send Gawk specific bug reports to <bug-gawk AT gnu DOT org>.
   Send suggestions and bug reports concerning the DJGPP port
   to comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.

Enjoy.

       Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019