aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.am6
-rw-r--r--Makefile.in6
-rw-r--r--README12
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info68
-rw-r--r--doc/gawk.texi3
-rw-r--r--doc/gawktexi.in3
-rw-r--r--extension/ChangeLog4
-rw-r--r--extension/rwarray.c8
-rw-r--r--test/ChangeLog6
-rw-r--r--test/Makefile.am2
-rw-r--r--test/Makefile.in2
13 files changed, 83 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f8e67c1..21037684 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/README b/README
index 93c4987b..8c1916e0 100644
--- a/README
+++ b/README
@@ -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 $@