home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.d
- Path: sparky!uunet!think.com!spool.mu.edu!news.cs.indiana.edu!nstn.ns.ca!cs.dal.ca!david
- From: david@cs.dal.ca (David Trueman)
- Subject: announcing gawk version 2.14
- Message-ID: <BxxHLw.3q1@cs.dal.ca>
- Sender: usenet@cs.dal.ca (USENET News)
- Nntp-Posting-Host: cs.cs.dal.ca
- Organization: Math, Stats & CS, Dalhousie University, Halifax, NS, Canada
- Date: Wed, 18 Nov 1992 20:15:31 GMT
- Lines: 167
-
- Version 2.14 of gawk is now available for ftp on ftp.cs.dal.ca as
- /pub/gawk/gawk-2.14.tar.Z. Hopefully, it will be available elsewhere
- soon, as we have only a 112kbps link to the outside world. This version
- contains many bug fixes, a substantially updated manual and one new
- feature as detailed below. We have not used autoconf in this version,
- but that is high on the TODO list, so you can expect a patch that
- contains that support.
-
- We certainly never intended that it would take so long to get this
- version out, but young families intervened. We are committed to
- keeping this version more up to date, with patches as the need arises.
-
- We are grateful for help from many people, especially our pretesters.
- Some of these people are listed in the ACKNOWLEDGMENT file in the
- distribution, but a large number of people sent bug reports and/or
- fixes and I'm afraid that I was not organized enough to keep track of
- them all, so I cannot acknowledge them individually.
-
- David Trueman
- Arnold Robbins
-
-
- Changes from 2.13.2 to 2.14
- ---------------------------
-
- Updated manual!
-
- Added "next file" to skip efficiently to the next input file.
-
- Fixed potential of overflowing buffer in do_sprintf().
-
- EOF on a redirect is now "sticky" -- it can only be cleared by close()ing
- the pipe or file.
-
- Now works if used via a #! /bin/gawk line at the top of an executable file
- when that line ends with whitespace.
-
- Added some checks to the grammar to catch redefinition of builtin functions.
- This could eventually be the basis for an extension to allow redefining
- functions, but in the mean time it's a good error catching facility.
-
- Negative integer exponents now work.
-
- Modified do_system() to make sure it had a non-null string to be passed
- to system(3). Thus, system("") will flush any pending output but not go
- through the overhead of forking an un-needed shell.
-
- A fix to floating point comparisons so that NaNs compare right on IEEE systems.
-
- Added code to make sure we're not opening directories for reading and such.
-
- Added code to do better diagnoses of weird or null file names.
-
- Allow continue outside of a loop, unless in strict posix mode. Lint option
- will issue warning.
-
- New missing/strftime.c. There has been one chage that affects gawk. Posix
- now defines a %V conversion so the vms conversion has been changed to %v.
- If this version is used with gawk -Wlint and they use %V in a call to
- strftime, they'll get a warning.
-
- Error messages now conform to GNU standard (I hope).
-
- Changed comparisons to conform to the description found in the file POSIX.
- This is inconsistent with the current POSIX draft, but that is broken.
- Hopefully the final POSIX standard will conform to this version.
- (Alas, this will have to wait for 1003.2b, which will be a revision to
- the 1003.2 standard. That standard has been frozen with the broken
- comparison rules.)
-
- The length of a string was a short and now is a size_t.
-
- Updated VMS help.
-
- Added quite a few new tests to the test suite and deleted many due to lack of
- written releases. Test output is only removed if it is identical to the
- "good" output.
-
- Fixed a couple of bugs for reference to $0 when $0 is "" -- particularly in
- a BEGIN block.
-
- Fixed premature freeing in construct "$0 = $0".
-
- Removed the call to wait_any() in gawk_popen(), since on at least some systems,
- if gawk's input was from a pipe, the predecssor process in the pipe was a
- child of gawk and this caused a deadlock.
-
- Regexp can (once again) match a newline, if given explicitly.
-
- nextopen() makes sure file name is null terminated.
-
- Fixed VMS pipe simulation. Improved VMS I/O performance.
-
- Catch . used in variable names.
-
- Fixed bug in getline without redirect from a file -- it was quitting after the
- first EOF, rather than trying the next file.
-
- Fixed bug in treatment of backslash at the end of a string -- it was bombing
- rather than doing something sensible. It is not clear what this should mean,
- but for now I issue a warning and take it as a literal backslash.
-
- Moved setting of regexp syntax to before the option parsing in main(), to
- handle things like -v FS='[.,;]'
-
- Fixed bug when NF is set by user -- fields_arr must be expanded if necessary
- and "new" fields must be initialized.
-
- Plugged small memory leak in sub_common().
-
- Fixed several bugs in [g]sub() for no match found or the match is 0-length.
-
- Fixed bug where in gsub() a pattern anchorred at the beginning would still
- substitute throughout the string.
-
- make test does not assume the . is in PATH.
-
- Fixed bug when a field beyond the end of the record was requested after
- $0 was altered (directly or indirectly).
-
- Fixed bug for assignment to field beyond end of record -- the assigned value
- was not found on subsequent reference to that field.
-
- Fixed bug for FS a regexp and it matches at the end of a record.
-
- Fixed memory leak for an array local to a function.
-
- Fixed hanging of pipe redirection to getline
-
- Fixed coredump on access to $0 inside BEGIN block.
-
- Fixed treatment of RS = "". It now parses the fields correctly and strips
- leading whitspace from a record if FS is a space.
-
- Fixed faking of /dev/stdin.
-
- Fixed problem with x += x
-
- Use of scalar as array and vice versa is now detected.
-
- IGNORECASE now obeyed for FS (even if FS is a single alphabetic character).
-
- Switch to GPL version 2.
-
- Renamed awk.tab.c to awktab.c for MSDOS and VMS tar programs.
-
- Renamed this file (CHANGES) to NEWS.
-
- Use fmod() instead of modf() and provide FMOD_MISSING #define to undo
- this change.
-
- Correct the volatile declarations in eval.c.
-
- Avoid errant closing of the file descriptors for stdin, stdout and stderr.
-
- Be more flexible about where semi-colons can occur in programs.
-
- Check for write errors on all output, not just on close().
-
- Eliminate the need for missing/{strtol.c,vprintf.c}.
-
- Use GNU getopt and eliminate missing/getopt.c.
-
- More "lint" checking.
-
- --
- {uunet watmath}!dalcs!david or david@cs.dal.ca
-