diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | Makefile.in | 6 | ||||
-rw-r--r-- | README | 12 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 68 | ||||
-rw-r--r-- | doc/gawk.texi | 3 | ||||
-rw-r--r-- | doc/gawktexi.in | 3 | ||||
-rw-r--r-- | extension/ChangeLog | 4 | ||||
-rw-r--r-- | extension/rwarray.c | 8 | ||||
-rw-r--r-- | test/ChangeLog | 6 | ||||
-rw-r--r-- | test/Makefile.am | 2 | ||||
-rw-r--r-- | test/Makefile.in | 2 |
13 files changed, 83 insertions, 49 deletions
@@ -1,3 +1,10 @@ +2017-09-12 Petr Ovtchenkov <ptr@void-ptr.info> + Andrew J. Schorr <aschorr@telemetry-investments.com> + + * Makefile.am (command.c): Make dependant on awkgram.c so + that bison is run serially with make -j. Use -o option so + that we no longer need bisonfix.awk in this rule. + 2017-08-28 Arnold D. Robbins <arnold@skeeve.com> * interpret.h (r_interpret): Add some casts to avoid warning diff --git a/Makefile.am b/Makefile.am index 0d2efd18..1040a77e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -193,9 +193,9 @@ awkgram.c: awkgram.y if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ else :; fi -command.c: command.y - $(YACC) -p zz $< - sed 's/parse error/syntax error/g' < y.tab.c | awk -f "$(srcdir)"/bisonfix.awk command > $*.c && rm y.tab.c +command.c: command.y awkgram.c + $(YACC) -o $@ -p zz $< + sed 's/parse error/syntax error/g' < $@ > $@.tmp && mv $@.tmp $@ # This is for my development & testing. efence: gawk diff --git a/Makefile.in b/Makefile.in index 9a46553a..e978a6e1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1203,9 +1203,9 @@ awkgram.c: awkgram.y if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ else :; fi -command.c: command.y - $(YACC) -p zz $< - sed 's/parse error/syntax error/g' < y.tab.c | awk -f "$(srcdir)"/bisonfix.awk command > $*.c && rm y.tab.c +command.c: command.y awkgram.c + $(YACC) -o $@ -p zz $< + sed 's/parse error/syntax error/g' < $@ > $@.tmp && mv $@.tmp $@ # This is for my development & testing. efence: gawk @@ -34,10 +34,14 @@ have read and didn't, and you bug me about it, I'm going to yell at you. See the file INSTALL for installation instructions. -If you have neither bison nor yacc, use the awkgram.c file here. It was -generated with bison, and has no proprietary code in it. (Note that -modifying awkgram.y without bison or yacc will be difficult, at best. -You might want to get a copy of bison from the FSF too.) +If you have neither Bison nor yacc, use the awkgram.c file here. It was +generated with Bison, and has no proprietary code in it. (Note that +modifying awkgram.y without Bison or yacc will be difficult, at best. +You might want to get a copy of Bison from the FSF too.) + +Since there are two parsers in gawk (one for the grammar, one for the +debugger), there is a dependency on Bison's ability to rename the +yacc internal variables. So, you should really use Bison and not yacc. If you have an MS-DOS, MS-Windows, or OS/2 system, use the stuff in the `pc' directory. Similarly, there is a separate directory for VMS. diff --git a/doc/ChangeLog b/doc/ChangeLog index ac171b25..9afe6d5a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2017-09-12 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Installation summary): Note OS/2 exists for PCs + in a comment. + 2017-08-28 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Contributors): Update entry for Steven Davies. diff --git a/doc/gawk.info b/doc/gawk.info index c66e1461..b988084d 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -29748,9 +29748,9 @@ B.6 Summary ./configure && make && make check * 'gawk' may be built on non-POSIX systems as well. The currently - supported systems are MS-Windows using MSYS, MinGW, and Cygwin, and - both Vax/VMS and OpenVMS. Instructions for each system are included - in this major node. + supported systems are MS-Windows using MSYS, DJGPP, MinGW, and + Cygwin, and both Vax/VMS and OpenVMS. Instructions for each system + are included in this major node. * Bug reports should be sent via email to <bug-gawk@gnu.org>. Bug reports should be in English and should include the version of @@ -36396,36 +36396,36 @@ Node: Usenet1191436 Node: Maintainers1192213 Node: Other Versions1193474 Node: Installation summary1200058 -Node: Notes1201093 -Node: Compatibility Mode1201958 -Node: Additions1202740 -Node: Accessing The Source1203665 -Node: Adding Code1205100 -Node: New Ports1211318 -Node: Derived Files1215806 -Ref: Derived Files-Footnote-11221291 -Ref: Derived Files-Footnote-21221326 -Ref: Derived Files-Footnote-31221924 -Node: Future Extensions1222038 -Node: Implementation Limitations1222696 -Node: Extension Design1223879 -Node: Old Extension Problems1225033 -Ref: Old Extension Problems-Footnote-11226551 -Node: Extension New Mechanism Goals1226608 -Ref: Extension New Mechanism Goals-Footnote-11229972 -Node: Extension Other Design Decisions1230161 -Node: Extension Future Growth1232274 -Node: Old Extension Mechanism1233110 -Node: Notes summary1234873 -Node: Basic Concepts1236055 -Node: Basic High Level1236736 -Ref: figure-general-flow1237018 -Ref: figure-process-flow1237703 -Ref: Basic High Level-Footnote-11241004 -Node: Basic Data Typing1241189 -Node: Glossary1244517 -Node: Copying1276464 -Node: GNU Free Documentation License1314003 -Node: Index1339121 +Node: Notes1201100 +Node: Compatibility Mode1201965 +Node: Additions1202747 +Node: Accessing The Source1203672 +Node: Adding Code1205107 +Node: New Ports1211325 +Node: Derived Files1215813 +Ref: Derived Files-Footnote-11221298 +Ref: Derived Files-Footnote-21221333 +Ref: Derived Files-Footnote-31221931 +Node: Future Extensions1222045 +Node: Implementation Limitations1222703 +Node: Extension Design1223886 +Node: Old Extension Problems1225040 +Ref: Old Extension Problems-Footnote-11226558 +Node: Extension New Mechanism Goals1226615 +Ref: Extension New Mechanism Goals-Footnote-11229979 +Node: Extension Other Design Decisions1230168 +Node: Extension Future Growth1232281 +Node: Old Extension Mechanism1233117 +Node: Notes summary1234880 +Node: Basic Concepts1236062 +Node: Basic High Level1236743 +Ref: figure-general-flow1237025 +Ref: figure-process-flow1237710 +Ref: Basic High Level-Footnote-11241011 +Node: Basic Data Typing1241196 +Node: Glossary1244524 +Node: Copying1276471 +Node: GNU Free Documentation License1314010 +Node: Index1339128 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 1d7b9b70..e2d23321 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -40305,7 +40305,8 @@ cd gawk-@value{VERSION}.@value{PATCHLEVEL} @item @command{gawk} may be built on non-POSIX systems as well. The currently supported systems are MS-Windows using -MSYS, MinGW, and Cygwin, +MSYS, DJGPP, MinGW, and Cygwin, +@c OS/2, and both Vax/VMS and OpenVMS. Instructions for each system are included in this @value{APPENDIX}. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index c9b8aedf..f2471cc1 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -39319,7 +39319,8 @@ cd gawk-@value{VERSION}.@value{PATCHLEVEL} @item @command{gawk} may be built on non-POSIX systems as well. The currently supported systems are MS-Windows using -MSYS, MinGW, and Cygwin, +MSYS, DJGPP, MinGW, and Cygwin, +@c OS/2, and both Vax/VMS and OpenVMS. Instructions for each system are included in this @value{APPENDIX}. diff --git a/extension/ChangeLog b/extension/ChangeLog index 613479e1..84c9a9df 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,7 @@ +2017-09-12 Arnold D. Robbins <arnold@skeeve.com> + + * rwarray.c: Add support for writing/reading undefined values. + 2017-08-30 Arnold D. Robbins <arnold@skeeve.com> * fnmatch.c: Use the right autoconf goop to get the major diff --git a/extension/rwarray.c b/extension/rwarray.c index 53c908df..0b6d0360 100644 --- a/extension/rwarray.c +++ b/extension/rwarray.c @@ -85,7 +85,7 @@ static awk_bool_t read_value(FILE *fp, awk_value_t *value); * For each element: * Length of index val: 4 bytes - network order * Index val as characters (N bytes) - * Value type 4 bytes (0 = string, 1 = number, 2 = array, 3 = regex, 4 = strnum) + * Value type 4 bytes (0 = string, 1 = number, 2 = array, 3 = regex, 4 = strnum, 5 = undefined) * IF string: * Length of value 4 bytes * Value as characters (N bytes) @@ -243,6 +243,9 @@ write_value(FILE *fp, awk_value_t *val) case AWK_REGEX: code = htonl(3); break; + case AWK_UNDEFINED: + code = htonl(5); + break; default: /* XXX can this happen? */ code = htonl(0); @@ -475,6 +478,9 @@ read_value(FILE *fp, awk_value_t *value) case 4: value->val_type = AWK_STRNUM; break; + case 5: + value->val_type = AWK_UNDEFINED; + break; default: /* this cannot happen! */ warning(ext_id, _("treating recovered value with unknown type code %d as a string"), code); diff --git a/test/ChangeLog b/test/ChangeLog index 391828ae..29b4181a 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2017-09-12 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (readdir): Add to message that test can fail on + a JFS fileystem also. Thanks to Nelson Beebe for the info + and suggestion. + 2017-08-28 Arnold D. Robbins <arnold@skeeve.com> * nonfatal1.ok: Update after code change. diff --git a/test/Makefile.am b/test/Makefile.am index 99b9fade..7976fcda 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -2218,7 +2218,7 @@ getfile: readdir: @if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { print $$NF }'`" = nfs ]; then \ - echo This test may fail on GNU/Linux systems when run on an NFS filesystem.; \ + echo This test may fail on GNU/Linux systems when run on NFS or JFS filesystems.; \ echo If it does, try rerunning on an ext'[234]' filesystem. ; \ fi @echo $@ diff --git a/test/Makefile.in b/test/Makefile.in index 7493f439..abb3b341 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -2657,7 +2657,7 @@ getfile: readdir: @if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { print $$NF }'`" = nfs ]; then \ - echo This test may fail on GNU/Linux systems when run on an NFS filesystem.; \ + echo This test may fail on GNU/Linux systems when run on NFS or JFS filesystems.; \ echo If it does, try rerunning on an ext'[234]' filesystem. ; \ fi @echo $@ |