📄 news
字号:
Changes from 2.15.1 to 2.15.2---------------------------Additions to the FUTURES file.Document undefined order of output when using both standard output and /dev/stdout or any of the /dev output files that gawk emulates in the absence of OS support.Clean up the distribution generation in Makefile.in: the info files are now included, the distributed files are marked read-only and patched distributions are now unpacked in a directory named with the patch level.Changes from 2.15 to 2.15.1---------------------------Close stdout and stderr before all redirections on program exit. This allows detection of write errors and also fixes the messages test on Solaris 2.x.Removed YYMAXDEPTH define in awk.y which was limiting the parser stack depth.Changes to config/bsd44, Makefile.bsd44 and configure to bring it into line with the BSD4.4 release.Changed Makefile to use prefix, exec_prefix, bindir etc.make install now installs info files.make install now sets permissions on installed files.Make targets added: uninstall, distclean, mostlyclean and realclean.Added config.h to cleaner and clobber make targets.Changes to config/{hpux8x,sysv3,sysv4,ultrix41} to deal with alloca().Change to getopt.h for portability.Added more special cases to the getpgrp() call.Added README.ibmrt-aos and config/ibmrt-aos.Changes from 2.14 to 2.15---------------------------Command-line source can now be mixed with library functions.ARGIND variable tracks index in ARGV of FILENAME.GNU style long options in addition to short options.Plan 9 style special files interpreted by gawk: /dev/pid /dev/ppid /dev/pgrpid /dev/user $1 = getuid $2 = geteuid $3 = getgid $4 = getegid $5 ... $NF = getgroups if supportedERRNO variable contains error string if getline or close fails.Very old options -a and -e have gone away.Inftest has been removed from the default target in test/Makefile -- the results were too machine specific and resulted in too many false alarms.A README.amiga has been added.The "too many arguments supplied for format string" warning message is only in effect under the lint option.Code improvements in dfa.c.Fixed all reported bugs: Writes are checked for failure (such as full filesystem). Stopped (at least some) runaway error messages. gsub(/^/, "x") does the right thing for $0 of 0, 1, or more length. close() on a command being piped to a getline now works properly. The input record will no longer be freed upon an explicit close() of the input file. A NUL character in FS now works. In a substitute, \\& now means a literal backslash followed by what was matched. Integer overflow of substring length in substr() is caught. An input record without a newline termination is handled properly. In io.c, check is against only EMFILE so that system file table is not filled. Renamed all files with names longer than 14 characters. Escaped characters in regular expressions were being lost when IGNORECASE was used. Long source lines were not being handled properly. Sourcefiles that ended in a tab but no newline were bombing. Patterns that could match zero characters in split() were not working properly. The parsedebug option was not working. The grammar was being a bit too lenient, allowing some very dubious programs to pass. Compilation with DEBUG defined now works. A variable read in with getline was not being treated as a potential number. Array subscripts were not always of string type.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().Plugged small memory leak in sub_common().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.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 getlineFixed 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 += xUse 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.Changes from 2.13.1 to 2.13.2-----------------------------Toward conformity with GNU standards, configure is a link to mkconf, the latter to disappear in the next major release.Update to config/bsd43.Added config/apollo, config/msc60, config/cray2-50, config/interactive2.2sgi33.cc added for compilation using cc ratther than gcc.Ultrix41 now propagates to config.h properly -- as part of a general mechanism in configure for kludges -- #define anything from a config file just gets tacked onto the end of config.h -- to be used sparingly.Got rid of an unnecessary and troublesome declaration of vprintf().Small improvement in locality of error messages.Try to diagnose use of array as scalar and vice versa -- to be improved in the future.Fix for last bug fix for Cray division code--sigh.More changes to test suite to explicitly use sh. Also get rid of a few generated files.Fixed off-by-one bug in string concatenation code.Fix for use of array that is passed in from a previous function parameter. Addition to test suite for above.A number of changes associated with changing NF and access to fields beyond the end of the current record.Change to missing/memcmp.c to avoid seg. fault on zero length input.Updates to test suite (including some inadvertently left out of the last patch) to invoke sh explicitly (rather than rely on #!/bin/sh) and remove some junk files. test/chem/good updated to correspond to bug fixes.Changes from 2.13.0 to 2.13.1-----------------------------More configs and PORTS.Fixed bug wherein a simple division produced an erroneous FPE, caused by the Cray division workaround -- that code is now #ifdef'd only for Cray *and* fixed.Fixed bug in modulus implementation -- it was very close to the above code, so I noticed it.Fixed portability problem with limits.h in missing.cFixed portability problem with tzname and daylight -- define TZNAME_MISSING if strftime() is missing and tzname is also.Better support for Latin-1 character set.Fixed portability problem in test Makefile.Updated PROBLEMS file.=============================== gawk-2.13 released =========================Changes from 2.12.42 to 2.12.43-------------------------------Typo in awk.yFixed up strftime.3 and added doc. for %V.Changes from 2.12.41 to 2.12.42-------------------------------Fixed bug in devopen() -- if you had write permission in /dev, it would just create /dev/stdout etc.!!Final (?) VMS update.Make NeXT use GFMT_WORKAROUNDFixed bug in sub_common() for substitute on zero-length match. Improved the code a bit while I was at it.Fixed grammar so that $i++ parses as ($i)++Put support/* back in the distribution (didn't I already do this?!)Changes from 2.12.40 to 2.12.41-------------------------------VMS workaround for broken %g format.Changes from 2.12.39 to 2.12.40-------------------------------Minor man page update.Fixed latent bug in redirect().Changes from 2.12.38 to 2.12.39-------------------------------Updates to test suite -- remove dependence on changing gawk.1 man page.Changes from 2.12.37 to 2.12.38-------------------------------Fixed bug in use of *= without whitespace following.VMS update.Updates to man page.Option handling updates in main.ctest/manyfiles redone and added to bigtest.Fixed latent (on Sun) bug in handling of save_fs.Changes from 2.12.36 to 2.12.37-------------------------------Update REL in Makefile-dist. Incorporate test suite into main distribution.Minor fix in regtest.Changes from 2.12.35 to 2.12.36-------------------------------Release takes on dual personality -- 2.12.36 and 2.13.0 -- any further patches before public release won't count for 2.13, although they will for 2.12 -- be careful to avoid confusion! patchlevel.h will be the last thing to change.Cray updates to deal with arithmetic problems.Minor test suite updates.Fixed latent bug in parser (freeing memory).Changes from 2.12.34 to 2.12.35-------------------------------VMS updates.Flush stdout at top of err() and stderr at bottom.Fixed bug in eval_condition() -- it wasn't testing for MAYBE_NUM and doing the force_number().Included the missing manyfiles.awk and a new test to catch the above bug which I am amazed wasn't already caught by the test suite -- it's pretty basic.Changes from 2.12.33 to 2.12.34-------------------------------Atari updates -- including bug fix.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -