Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/historical/nawk/dist imprort latest nawk



details:   https://anonhg.NetBSD.org/src/rev/1854ad037c80
branches:  trunk
changeset: 757355:1854ad037c80
user:      christos <christos%NetBSD.org@localhost>
date:      Thu Aug 26 14:53:14 2010 +0000

description:
imprort latest nawk

diffstat:

 external/historical/nawk/dist/FIXES     |   968 +++++++++++++++
 external/historical/nawk/dist/README    |    94 +
 external/historical/nawk/dist/awk.1     |   529 ++++++++
 external/historical/nawk/dist/awk.h     |   233 +++
 external/historical/nawk/dist/awkgram.y |   486 +++++++
 external/historical/nawk/dist/b.c       |   954 +++++++++++++++
 external/historical/nawk/dist/lex.c     |   582 +++++++++
 external/historical/nawk/dist/lib.c     |   697 +++++++++++
 external/historical/nawk/dist/main.c    |   194 +++
 external/historical/nawk/dist/makefile  |    86 +
 external/historical/nawk/dist/maketab.c |   168 ++
 external/historical/nawk/dist/parse.c   |   276 ++++
 external/historical/nawk/dist/proctab.c |   207 +++
 external/historical/nawk/dist/proto.h   |   195 +++
 external/historical/nawk/dist/run.c     |  1930 +++++++++++++++++++++++++++++++
 external/historical/nawk/dist/tran.c    |   455 +++++++
 16 files changed, 8054 insertions(+), 0 deletions(-)

diffs (truncated from 8118 to 300 lines):

diff -r bdc936887e96 -r 1854ad037c80 external/historical/nawk/dist/FIXES
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/historical/nawk/dist/FIXES       Thu Aug 26 14:53:14 2010 +0000
@@ -0,0 +1,968 @@
+/****************************************************************
+Copyright (C) Lucent Technologies 1997
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that the copyright notice and this
+permission notice and warranty disclaimer appear in supporting
+documentation, and that the name Lucent Technologies or any of
+its entities not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior
+permission.
+
+LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+****************************************************************/
+
+This file lists all bug fixes, changes, etc., made since the AWK book
+was sent to the printers in August, 1987.
+
+May 23, 2010:
+       fixed long-standing overflow bug in run.c; many thanks to
+       nelson beebe for spotting it and providing the fix.
+
+       fixed bug that didn't parse -vd=1 properly; thanks to santiago
+       vila for spotting it.
+
+Feb 8, 2010:
+       i give up.  replaced isblank with isspace in b.c; there are
+       no consistent header files.
+
+Nov 26, 2009:
+       fixed a long-standing issue with when FS takes effect.  a
+       change to FS is now noticed immediately for subsequent splits.
+
+       changed the name getline() to awkgetline() to avoid yet another
+       name conflict somewhere.
+
+Feb 11, 2009:
+       temporarily for now defined HAS_ISBLANK, since that seems to
+       be the best way through the thicket.  isblank arrived in C99,
+       but seems to be arriving at different systems at different
+       times.
+
+Oct 8, 2008:
+       fixed typo in b.c that set tmpvec wrongly.  no one had ever
+       run into the problem, apparently.  thanks to alistair crooks.
+
+Oct 23, 2007:
+       minor fix in lib.c: increase inputFS to 100, change malloc
+       for fields to n+1.  
+
+       fixed memory fault caused by out of order test in setsval.
+
+       thanks to david o'brien, freebsd, for both fixes.
+
+May 1, 2007:
+       fiddle in makefile to fix for BSD make; thanks to igor sobrado.
+
+Mar 31, 2007:
+       fixed some null pointer refs calling adjbuf.
+
+Feb 21, 2007:
+       fixed a bug in matching the null RE in sub and gsub.  thanks to al aho
+       who actually did the fix (in b.c), and to wolfgang seeberg for finding
+       it and providing a very compact test case.
+
+       fixed quotation in b.c; thanks to Hal Pratt and the Princeton Dante
+       Project.
+
+       removed some no-effect asserts in run.c.
+
+       fiddled maketab.c to not complain about bison-generated values.
+
+       removed the obsolete -V argument; fixed --version to print the
+       version and exit.
+
+       fixed wording and an outright error in the usage message; thanks to igor
+       sobrado and jason mcintyre.
+
+       fixed a bug in -d that caused core dump if no program followed.
+
+Jan 1, 2007:
+       dropped mac.code from makefile; there are few non-MacOSX
+       mac's these days.
+
+Jan 17, 2006:
+       system() not flagged as unsafe in the unadvertised -safe option.
+       found it while enhancing tests before shipping the ;login: article.
+       practice what you preach.
+
+       removed the 9-years-obsolete -mr and -mf flags.
+
+       added -version and --version options.
+
+       core dump on linux with BEGIN {nextfile}, now fixed.
+
+       removed some #ifdef's in run.c and lex.c that appear to no 
+       longer be necessary.
+
+Apr 24, 2005:
+       modified lib.c so that values of $0 et al are preserved in the END
+       block, apparently as required by posix.  thanks to havard eidnes
+       for the report and code.
+
+Jan 14, 2005:
+       fixed infinite loop in parsing, originally found by brian tsang.
+       thanks to arnold robbins for a suggestion that started me
+       rethinking it.
+
+Dec 31, 2004:
+       prevent overflow of -f array in main, head off potential error in 
+       call of SYNTAX(), test malloc return in lib.c, all with thanks to 
+       todd miller.
+
+Dec 22, 2004:
+       cranked up size of NCHARS; coverity thinks it can be overrun with
+       smaller size, and i think that's right.  added some assertions to b.c
+       to catch places where it might overrun.  the RE code is still fragile.
+
+Dec 5, 2004:
+       fixed a couple of overflow problems with ridiculous field numbers:
+       e.g., print $(2^32-1).  thanks to ruslan ermilov, giorgos keramidas
+       and david o'brien at freebsd.org for patches.  this really should
+       be re-done from scratch.
+
+Nov 21, 2004:
+       fixed another 25-year-old RE bug, in split.  it's another failure
+       to (re-)initialize.  thanks to steve fisher for spotting this and
+       providing a good test case.
+
+Nov 22, 2003:
+       fixed a bug in regular expressions that dates (so help me) from 1977;
+       it's been there from the beginning.  an anchored longest match that
+       was longer than the number of states triggered a failure to initialize
+       the machine properly.  many thanks to moinak ghosh for not only finding
+       this one but for providing a fix, in some of the most mysterious
+       code known to man.
+
+       fixed a storage leak in call() that appears to have been there since
+       1983 or so -- a function without an explicit return that assigns a 
+       string to a parameter leaked a Cell.  thanks to moinak ghosh for 
+       spotting this very subtle one.
+
+Jul 31, 2003:
+       fixed, thanks to andrey chernov and ruslan ermilov, a bug in lex.c
+       that mis-handled the character 255 in input.  (it was being compared
+       to EOF with a signed comparison.)
+
+Jul 29, 2003:
+       fixed (i think) the long-standing botch that included the beginning of
+       line state ^ for RE's in the set of valid characters; this led to a
+       variety of odd problems, including failure to properly match certain
+       regular expressions in non-US locales.  thanks to ruslan for keeping
+       at this one.
+
+Jul 28, 2003:
+       n-th try at getting internationalization right, with thanks to volker
+       kiefel, arnold robbins and ruslan ermilov for advice, though they
+       should not be blamed for the outcome.  according to posix, "."  is the
+       radix character in programs and command line arguments regardless of
+       the locale; otherwise, the locale should prevail for input and output
+       of numbers.  so it's intended to work that way.
+       
+       i have rescinded the attempt to use strcoll in expanding shorthands in
+       regular expressions (cclenter).  its properties are much too
+       surprising; for example [a-c] matches aAbBc in locale en_US but abBcC
+       in locale fr_CA.  i can see how this might arise by implementation
+       but i cannot explain it to a human user.  (this behavior can be seen
+       in gawk as well; we're leaning on the same library.)
+
+       the issue appears to be that strcoll is meant for sorting, where
+       merging upper and lower case may make sense (though note that unix
+       sort does not do this by default either).  it is not appropriate
+       for regular expressions, where the goal is to match specific
+       patterns of characters.  in any case, the notations [:lower:], etc.,
+       are available in awk, and they are more likely to work correctly in
+       most locales.
+
+       a moratorium is hereby declared on internationalization changes.
+       i apologize to friends and colleagues in other parts of the world.
+       i would truly like to get this "right", but i don't know what
+       that is, and i do not want to keep making changes until it's clear.
+
+Jul 4, 2003:
+       fixed bug that permitted non-terminated RE, as in "awk /x".
+
+Jun 1, 2003:
+       subtle change to split: if source is empty, number of elems
+       is always 0 and the array is not set.
+
+Mar 21, 2003:
+       added some parens to isblank, in another attempt to make things
+       internationally portable.
+
+Mar 14, 2003:
+       the internationalization changes, somewhat modified, are now
+       reinstated.  in theory awk will now do character comparisons
+       and case conversions in national language, but "." will always
+       be the decimal point separator on input and output regardless
+       of national language.  isblank(){} has an #ifndef.
+
+       this no longer compiles on windows: LC_MESSAGES isn't defined
+       in vc6++.
+
+       fixed subtle behavior in field and record splitting: if FS is
+       a single character and RS is not empty, \n is NOT a separator.
+       this tortuous reading is found in the awk book; behavior now
+       matches gawk and mawk.
+
+Dec 13, 2002:
+       for the moment, the internationalization changes of nov 29 are
+       rolled back -- programs like x = 1.2 don't work in some locales,
+       because the parser is expecting x = 1,2.  until i understand this
+       better, this will have to wait.
+
+Nov 29, 2002:
+       modified b.c (with tiny changes in main and run) to support
+       locales, using strcoll and iswhatever tests for posix character
+       classes.  thanks to ruslan ermilov (ru%freebsd.org@localhost) for code.
+       the function isblank doesn't seem to have propagated to any
+       header file near me, so it's there explicitly.  not properly
+       tested on non-ascii character sets by me.
+
+Jun 28, 2002:
+       modified run/format() and tran/getsval() to do a slightly better
+       job on using OFMT for output from print and CONVFMT for other
+       number->string conversions, as promised by posix and done by 
+       gawk and mawk.  there are still places where it doesn't work
+       right if CONVFMT is changed; by then the STR attribute of the
+       variable has been irrevocably set.  thanks to arnold robbins for
+       code and examples.
+
+       fixed subtle bug in format that could get core dump.  thanks to
+       Jaromir Dolecek <jdolecek%NetBSD.org@localhost> for finding and fixing.
+       minor cleanup in run.c / format() at the same time.
+
+       added some tests for null pointers to debugging printf's, which
+       were never intended for external consumption.  thanks to dave
+       kerns (dkerns%lucent.com@localhost) for pointing this out.
+
+       GNU compatibility: an empty regexp matches anything (thanks to
+       dag-erling smorgrav, des%ofug.org@localhost).  subject to reversion if
+       this does more harm than good.
+
+       pervasive small changes to make things more const-correct, as
+       reported by gcc's -Wwrite-strings.  as it says in the gcc manual,
+       this may be more nuisance than useful.  provoked by a suggestion
+       and code from arnaud desitter, arnaud%nimbus.geog.ox.ac.uk@localhost
+
+       minor documentation changes to note that this now compiles out
+       of the box on Mac OS X.
+
+Feb 10, 2002:
+       changed types in posix chars structure to quiet solaris cc.
+
+Jan 1, 2002:
+       fflush() or fflush("") flushes all files and pipes.
+
+       length(arrayname) returns number of elements; thanks to 
+       arnold robbins for suggestion.
+
+       added a makefile.win to make it easier to build on windows.
+       based on dan allen's buildwin.bat.
+
+Nov 16, 2001:
+       added support for posix character class names like [:digit:],
+       which are not exactly shorter than [0-9] and perhaps no more
+       portable.  thanks to dag-erling smorgrav for code.
+
+Feb 16, 2001:
+       removed -m option; no longer needed, and it was actually
+       broken (noted thanks to volker kiefel).
+
+Feb 10, 2001:
+       fixed an appalling bug in gettok: any sequence of digits, +,-, E, e,
+       and period was accepted as a valid number if it started with a period.
+       this would never have happened with the lex version.
+
+       other 1-character botches, now fixed, include a bare $ and a
+       bare " at the end of the input.
+
+Feb 7, 2001:
+       more (const char *) casts in b.c and tran.c to silence warnings.
+
+Nov 15, 2000:
+       fixed a bug introduced in august 1997 that caused expressions
+       like $f[1] to be syntax errors.  thanks to arnold robbins for
+       noticing this and providing a fix.



Home | Main Index | Thread Index | Old Index