[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, master, updated. gawk-4.1.0-4811-gbe74f1b5
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, master, updated. gawk-4.1.0-4811-gbe74f1b5 |
Date: |
Wed, 27 Jul 2022 02:57:35 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, master has been updated
via be74f1b5bdff49f7be2fe52471df2f23ae31ab3f (commit)
via e8ac20ec1aed696c1d11731613bce88d4de25211 (commit)
via 2ff2003910410a0a4d78a03c68bfd32b935bf4c0 (commit)
via d48373207039d72f733f427e9cc5ab0966d5e558 (commit)
via 216dd6c05197e66812d8f1a183e7b48a90f73127 (commit)
from c220a970623b597fc34064d0abf7776ecdcd302c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=be74f1b5bdff49f7be2fe52471df2f23ae31ab3f
commit be74f1b5bdff49f7be2fe52471df2f23ae31ab3f
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Jul 27 09:57:08 2022 +0300
Small fixes in test/Makefile.am; make distcheck working.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 0f46cfc7..8de9f95c 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -364,7 +364,7 @@ check: env-check \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end \
- pma-msg-start pma-tests pma-msg-end \
+ pma-msg-start pma-tests pma-msg-end
@-$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -451,6 +451,7 @@ makepmafile: makepmafile.c
$(CC) $< -o $@
pma:
+ @echo $@
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
diff --git a/test/Makefile.am b/test/Makefile.am
index 75709682..9c69d474 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1665,7 +1665,7 @@ check: env-check \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end \
- pma-msg-start pma-tests pma-msg-end \
+ pma-msg-start pma-tests pma-msg-end
@$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -1752,6 +1752,7 @@ makepmafile: makepmafile.c
$(CC) $< -o $@
pma:
+ @echo $@
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
diff --git a/test/Makefile.in b/test/Makefile.in
index ad9b0997..c19017e2 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -2120,7 +2120,7 @@ check: env-check \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end \
- pma-msg-start pma-tests pma-msg-end \
+ pma-msg-start pma-tests pma-msg-end
@$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -2207,6 +2207,7 @@ makepmafile: makepmafile.c
$(CC) $< -o $@
pma:
+ @echo $@
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=e8ac20ec1aed696c1d11731613bce88d4de25211
commit e8ac20ec1aed696c1d11731613bce88d4de25211
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Jul 27 09:22:45 2022 +0300
Add test and infrastructure for PMA.
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 9b821b52..be91eaaf 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,7 @@
+2022-07-27 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst: Regenerated.
+
2022-07-22 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.tst: Regenerated.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 067a72e4..0f46cfc7 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -283,6 +283,9 @@ NEED_SANDBOX = sandbox1
# List of tests that need --traditional
NEED_TRADITIONAL = litoct tradanch rscompat
+# Lists of tests that need the PMA allocator and a backing file
+NEED_PMA = pma
+
# Lists of tests that run a shell script
RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01
@@ -360,7 +363,8 @@ check: env-check \
machine-msg-start machine-tests machine-msg-end \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
- mpfr-msg-start mpfr-tests mpfr-msg-end
+ mpfr-msg-start mpfr-tests mpfr-msg-end \
+ pma-msg-start pma-tests pma-msg-end \
@-$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -428,6 +432,30 @@ env-check:
exit 1; \
fi
+pma-msg-start:
+ @-echo "======== Starting PMA tests ========"
+
+pma-msg-end:
+ @-echo "======== Done with PMA tests ========"
+
+pma-tests:
+ @-if $(AWK) --version | $(AWK) ' /PMA/ { exit 1 }' ; then \
+ echo PMA tests not supported on this system ; \
+ else \
+ $(MAKE) makepmafile ; \
+ ./makepmafile ; \
+ $(MAKE) $(NEED_PMA) ; \
+ fi
+
+makepmafile: makepmafile.c
+ $(CC) $< -o $@
+
+pma:
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(RM) -f test.pma
+
msg::
@echo ''
@echo 'Any output from "$(CMP)" is bad news, although some differences'
@@ -3719,7 +3747,7 @@ Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
clean-local:
rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 \
seq *~ readfile.ok fork.tmp.* testext.awk fts.ok readdir.ok \
- readdir_test.ok readdir_retest.ok profile1.ok X_*
+ readdir_test.ok readdir_retest.ok profile1.ok X_* makepmafile
# An attempt to print something that can be grepped for in build logs
pass-fail:
diff --git a/test/ChangeLog b/test/ChangeLog
index 0c583671..648df5e9 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,13 @@
+2022-07-27 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (EXTRA_DIST): Add makepmafile.c and pma.ok.
+ (NEED_PMA): New macro.
+ (pma-msg-start, pma-tests, pma-msg-end, pma): New targets.
+ These add a test for the PMA allocator. Thanks to Pat Rankin for
+ the suggestion.
+ (clean-local): Remove the makepmafile executable.
+ * makepmafile, pma.ok: New files.
+
2022-07-22 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am: Take indirectbuiltin2 out of the extension tests also.
diff --git a/test/Makefile.am b/test/Makefile.am
index 7a57cec0..75709682 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -30,6 +30,7 @@ EXTRA_DIST = \
ChangeLog.1 \
Gentests \
Maketests \
+ makepmafile.c \
README \
aadelete1.awk \
aadelete1.ok \
@@ -963,6 +964,7 @@ EXTRA_DIST = \
pipeio2.awk \
pipeio2.in \
pipeio2.ok \
+ pma.ok \
posix2008sub.awk \
posix2008sub.ok \
posix_compare.awk \
@@ -1566,6 +1568,9 @@ NEED_SANDBOX = sandbox1
# List of tests that need --traditional
NEED_TRADITIONAL = litoct tradanch rscompat
+# Lists of tests that need the PMA allocator and a backing file
+NEED_PMA = pma
+
# Lists of tests that run a shell script
RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01
@@ -1659,7 +1664,8 @@ check: env-check \
machine-msg-start machine-tests machine-msg-end \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
- mpfr-msg-start mpfr-tests mpfr-msg-end
+ mpfr-msg-start mpfr-tests mpfr-msg-end \
+ pma-msg-start pma-tests pma-msg-end \
@$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -1727,6 +1733,31 @@ env-check:
exit 1; \
fi
+pma-msg-start:
+ @echo "======== Starting PMA tests ========"
+
+pma-msg-end:
+ @echo "======== Done with PMA tests ========"
+
+pma-tests:
+ @if $(AWK) --version | $(AWK) ' /PMA/ { exit 1 }' ; then \
+ echo PMA tests not supported on this system ; \
+ else \
+ $(MAKE) makepmafile ; \
+ ./makepmafile ; \
+ $(MAKE) $(NEED_PMA) ; \
+ fi
+
+makepmafile: makepmafile.c
+ $(CC) $< -o $@
+
+pma:
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(RM) -f test.pma
+
+
msg::
@echo ''
@echo 'Any output from "$(CMP)" is bad news, although some differences'
@@ -2559,7 +2590,7 @@ Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
clean-local:
rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 \
seq *~ readfile.ok fork.tmp.* testext.awk fts.ok readdir.ok \
- readdir_test.ok readdir_retest.ok profile1.ok X_*
+ readdir_test.ok readdir_retest.ok profile1.ok X_* makepmafile
# An attempt to print something that can be grepped for in build logs
pass-fail:
diff --git a/test/Makefile.in b/test/Makefile.in
index 3cb513ec..ad9b0997 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -297,6 +297,7 @@ EXTRA_DIST = \
ChangeLog.1 \
Gentests \
Maketests \
+ makepmafile.c \
README \
aadelete1.awk \
aadelete1.ok \
@@ -1230,6 +1231,7 @@ EXTRA_DIST = \
pipeio2.awk \
pipeio2.in \
pipeio2.ok \
+ pma.ok \
posix2008sub.awk \
posix2008sub.ok \
posix_compare.awk \
@@ -1833,6 +1835,9 @@ NEED_SANDBOX = sandbox1
# List of tests that need --traditional
NEED_TRADITIONAL = litoct tradanch rscompat
+# Lists of tests that need the PMA allocator and a backing file
+NEED_PMA = pma
+
# Lists of tests that run a shell script
RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01
@@ -2114,7 +2119,8 @@ check: env-check \
machine-msg-start machine-tests machine-msg-end \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
- mpfr-msg-start mpfr-tests mpfr-msg-end
+ mpfr-msg-start mpfr-tests mpfr-msg-end \
+ pma-msg-start pma-tests pma-msg-end \
@$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -2182,6 +2188,30 @@ env-check:
exit 1; \
fi
+pma-msg-start:
+ @echo "======== Starting PMA tests ========"
+
+pma-msg-end:
+ @echo "======== Done with PMA tests ========"
+
+pma-tests:
+ @if $(AWK) --version | $(AWK) ' /PMA/ { exit 1 }' ; then \
+ echo PMA tests not supported on this system ; \
+ else \
+ $(MAKE) makepmafile ; \
+ ./makepmafile ; \
+ $(MAKE) $(NEED_PMA) ; \
+ fi
+
+makepmafile: makepmafile.c
+ $(CC) $< -o $@
+
+pma:
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
+ @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(RM) -f test.pma
+
msg::
@echo ''
@echo 'Any output from "$(CMP)" is bad news, although some differences'
@@ -5441,7 +5471,7 @@ Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
clean-local:
rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 \
seq *~ readfile.ok fork.tmp.* testext.awk fts.ok readdir.ok \
- readdir_test.ok readdir_retest.ok profile1.ok X_*
+ readdir_test.ok readdir_retest.ok profile1.ok X_* makepmafile
# An attempt to print something that can be grepped for in build logs
pass-fail:
diff --git a/test/makepmafile.c b/test/makepmafile.c
new file mode 100644
index 00000000..c6df717d
--- /dev/null
+++ b/test/makepmafile.c
@@ -0,0 +1,63 @@
+/*
+ * makepmafile.c -- Create a small sparse file.
+ */
+
+/*
+ * Copyright (C) 2022,
+ * the Free Software Foundation, Inc.
+ *
+ * This file is part of GAWK, the GNU implementation of the
+ * AWK Programming Language.
+ *
+ * GAWK is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GAWK is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+int
+main(int argc, char **argv)
+{
+ size_t four_meg = 1024 * 1024 * 4;
+ char c = 0;
+ int fd = creat("test.pma", 0666);
+
+ if (fd < 0) {
+ fprintf(stderr, "%s: could not create test.pma: %s\n",
+ argv[0], strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+
+ if (lseek(fd, four_meg - 1, SEEK_SET) < 0) {
+ fprintf(stderr, "%s: lseek failed: %s\n",
+ argv[0], strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+
+ if (write(fd, &c, 1) < 0) {
+ fprintf(stderr, "%s: write failed: %s\n",
+ argv[0], strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+
+ (void) close(fd);
+ return EXIT_SUCCESS;
+}
diff --git a/test/pma.ok b/test/pma.ok
new file mode 100644
index 00000000..1191247b
--- /dev/null
+++ b/test/pma.ok
@@ -0,0 +1,2 @@
+1
+2
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=2ff2003910410a0a4d78a03c68bfd32b935bf4c0
commit 2ff2003910410a0a4d78a03c68bfd32b935bf4c0
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Jul 27 09:21:47 2022 +0300
Small non-MPFR fix in gawkapi.c.
diff --git a/ChangeLog b/ChangeLog
index c7946f6d..a697ba7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-07-27 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkapi.c (awk_value_to_node): Put tval declaration inside
+ MPFR ifdef. Avoids warning if no MPFR when compiling.
+
2022-07-26 Arnold D. Robbins <arnold@skeeve.com>
* io.c (iopflags2str): Remove 'static' from declaration, causes
diff --git a/gawkapi.c b/gawkapi.c
index cec4a899..195ade53 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -148,7 +148,9 @@ awk_value_to_node(const awk_value_t *retval)
{
NODE *ext_ret_val = NULL;
NODE *v;
+#ifdef HAVE_MPFR
int tval = 0;
+#endif
if (retval == NULL)
fatal(_("awk_value_to_node: received null retval"));
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=d48373207039d72f733f427e9cc5ab0966d5e558
commit d48373207039d72f733f427e9cc5ab0966d5e558
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Tue Jul 26 20:43:56 2022 +0300
Doc updates.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9b18c753..1f17a147 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2022-07-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Persistent Memory): Document how to tell if you
+ have PMA. Thanks to Antonio Colombo for pointing this out.
+ Also update the version message in the similar MPFR discussion.
+
2022-07-19 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Persistent Memory): Document the PMA_VERBOSITY
diff --git a/doc/gawk.info b/doc/gawk.info
index cd28adb9..513f4c03 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -22148,6 +22148,16 @@ store ends up holding pointers to functions held
within the 'gawk'
executable. This also means that to use the persistent memory, you must
use the same 'gawk' executable from run to run.
+ You can see if your version of 'gawk' supports persistent memory like
+so:
+
+ $ gawk --version
+ -| GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
+ -| Copyright (C) 1989, 1991-2022 Free Software Foundation.
+ ...
+
+If you see the 'PMA' with a version indicator, then it's supported.
+
As of this writing, persistent memory has only been tested on
GNU/Linux, Cygwin, Solaris 2.11, and Mac OS systems. On others, your
mileage may vary, and/or you may need to investigate how to make it work
@@ -24789,7 +24799,7 @@ uses the GNU MPFR (http://www.mpfr.org) and GNU MP
(https://gmplib.org)
see if MPFR support is available like so:
$ gawk --version
- -| GNU Awk 5.2.0, API: 3.2 (GNU MPFR 4.0.2, GNU MP 6.2.0)
+ -| GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
-| Copyright (C) 1989, 1991-2022 Free Software Foundation.
...
@@ -36992,9 +37002,9 @@ Index
* environment variables, AWKPATH <3>: Igawk Program. (line 12)
* environment variables, AWKPATH <4>: Igawk Program. (line 211)
* environment variables, GAWK_PERSIST_FILE <1>: Persistent Memory.
- (line 32)
+ (line 42)
* environment variables, PMA_VERBOSITY <1>: Persistent Memory.
- (line 74)
+ (line 84)
* environment variables, LANGUAGE: Explaining gettext. (line 120)
* environment variables, GAWK_LOCALE_DIR <1>: Explaining gettext.
(line 132)
@@ -37488,7 +37498,7 @@ Index
* GAWK_PERSIST_FILE environment variable: Other Environment Variables.
(line 15)
* GAWK_PERSIST_FILE environment variable <1>: Persistent Memory.
- (line 32)
+ (line 42)
* GAWK_READ_TIMEOUT environment variable: Other Environment Variables.
(line 19)
* GAWK_READ_TIMEOUT environment variable <1>: Read Timeout. (line 71)
@@ -37746,8 +37756,8 @@ Index
* Kahrs, Jürgen: Acknowledgments. (line 60)
* Kahrs, Jürgen <1>: Contributors. (line 71)
* Kasal, Stepan: Acknowledgments. (line 60)
-* Kelly, Terence: Persistent Memory. (line 56)
-* Kelly, Terence <1>: Persistent Memory. (line 84)
+* Kelly, Terence: Persistent Memory. (line 66)
+* Kelly, Terence <1>: Persistent Memory. (line 94)
* Kelly, Terence <2>: Feature History. (line 508)
* Kenobi, Obi-Wan: Undocumented. (line 6)
* Kernighan, Brian: History. (line 17)
@@ -38183,7 +38193,7 @@ Index
* plus sign (+), += operator <1>: Precedence. (line 94)
* PMA_VERBOSITY environment variable: Other Environment Variables.
(line 29)
-* PMA_VERBOSITY environment variable <1>: Persistent Memory. (line 74)
+* PMA_VERBOSITY environment variable <1>: Persistent Memory. (line 84)
* pointers to functions: Indirect Calls. (line 6)
* portability, #! (executable scripts): Executable Scripts. (line 29)
* portability, ARGV variable: Executable Scripts. (line 55)
@@ -39538,244 +39548,244 @@ Ref: Two-way I/O-Footnote-2884403
Node: TCP/IP Networking884485
Node: Profiling887561
Node: Persistent Memory896867
-Ref: Persistent Memory-Footnote-1903373
-Node: Extension Philosophy903500
-Node: Advanced Features Summary904987
-Node: Internationalization907159
-Node: I18N and L10N908833
-Node: Explaining gettext909520
-Ref: Explaining gettext-Footnote-1915412
-Ref: Explaining gettext-Footnote-2915597
-Node: Programmer i18n915762
-Ref: Programmer i18n-Footnote-1920711
-Node: Translator i18n920760
-Node: String Extraction921554
-Ref: String Extraction-Footnote-1922686
-Node: Printf Ordering922772
-Ref: Printf Ordering-Footnote-1925558
-Node: I18N Portability925622
-Ref: I18N Portability-Footnote-1928078
-Node: I18N Example928141
-Ref: I18N Example-Footnote-1931416
-Ref: I18N Example-Footnote-2931489
-Node: Gawk I18N931598
-Node: I18N Summary932220
-Node: Debugger933561
-Node: Debugging934561
-Node: Debugging Concepts935002
-Node: Debugging Terms936811
-Node: Awk Debugging939386
-Ref: Awk Debugging-Footnote-1940331
-Node: Sample Debugging Session940463
-Node: Debugger Invocation940997
-Node: Finding The Bug942383
-Node: List of Debugger Commands948857
-Node: Breakpoint Control950190
-Node: Debugger Execution Control953884
-Node: Viewing And Changing Data957246
-Node: Execution Stack960787
-Node: Debugger Info962424
-Node: Miscellaneous Debugger Commands966495
-Node: Readline Support971557
-Node: Limitations972453
-Node: Debugging Summary975007
-Node: Namespaces976286
-Node: Global Namespace977397
-Node: Qualified Names978795
-Node: Default Namespace979794
-Node: Changing The Namespace980535
-Node: Naming Rules982149
-Node: Internal Name Management983997
-Node: Namespace Example985039
-Node: Namespace And Features987601
-Node: Namespace Summary989036
-Node: Arbitrary Precision Arithmetic990513
-Node: Computer Arithmetic992000
-Ref: table-numeric-ranges995766
-Ref: table-floating-point-ranges996260
-Ref: Computer Arithmetic-Footnote-1996919
-Node: Math Definitions996976
-Ref: table-ieee-formats999952
-Node: MPFR features1000520
-Node: MPFR On Parole1000965
-Ref: MPFR On Parole-Footnote-11001794
-Node: MPFR Intro1001949
-Node: FP Math Caution1003588
-Ref: FP Math Caution-Footnote-11004660
-Node: Inexactness of computations1005029
-Node: Inexact representation1006060
-Node: Comparing FP Values1007420
-Node: Errors accumulate1008661
-Node: Strange values1010117
-Ref: Strange values-Footnote-11012705
-Node: Getting Accuracy1012810
-Node: Try To Round1015520
-Node: Setting precision1016419
-Ref: table-predefined-precision-strings1017116
-Node: Setting the rounding mode1018947
-Ref: table-gawk-rounding-modes1019321
-Ref: Setting the rounding mode-Footnote-11023253
-Node: Arbitrary Precision Integers1023432
-Ref: Arbitrary Precision Integers-Footnote-11026607
-Node: Checking for MPFR1026756
-Node: POSIX Floating Point Problems1028230
-Ref: POSIX Floating Point Problems-Footnote-11032883
-Node: Floating point summary1032921
-Node: Dynamic Extensions1035111
-Node: Extension Intro1036664
-Node: Plugin License1037930
-Node: Extension Mechanism Outline1038727
-Ref: figure-load-extension1039166
-Ref: figure-register-new-function1040732
-Ref: figure-call-new-function1041825
-Node: Extension API Description1043888
-Node: Extension API Functions Introduction1045601
-Ref: table-api-std-headers1047437
-Node: General Data Types1051687
-Ref: General Data Types-Footnote-11060393
-Node: Memory Allocation Functions1060692
-Ref: Memory Allocation Functions-Footnote-11065193
-Node: Constructor Functions1065292
-Node: API Ownership of MPFR and GMP Values1068945
-Node: Registration Functions1070478
-Node: Extension Functions1071178
-Node: Exit Callback Functions1076500
-Node: Extension Version String1077750
-Node: Input Parsers1078413
-Node: Output Wrappers1091134
-Node: Two-way processors1095646
-Node: Printing Messages1097911
-Ref: Printing Messages-Footnote-11099082
-Node: Updating ERRNO1099235
-Node: Requesting Values1099974
-Ref: table-value-types-returned1100711
-Node: Accessing Parameters1101820
-Node: Symbol Table Access1103057
-Node: Symbol table by name1103569
-Ref: Symbol table by name-Footnote-11106594
-Node: Symbol table by cookie1106722
-Ref: Symbol table by cookie-Footnote-11110907
-Node: Cached values1110971
-Ref: Cached values-Footnote-11114507
-Node: Array Manipulation1114660
-Ref: Array Manipulation-Footnote-11115751
-Node: Array Data Types1115788
-Ref: Array Data Types-Footnote-11118446
-Node: Array Functions1118538
-Node: Flattening Arrays1123323
-Node: Creating Arrays1130299
-Node: Redirection API1135066
-Node: Extension API Variables1137899
-Node: Extension Versioning1138610
-Ref: gawk-api-version1139039
-Node: Extension GMP/MPFR Versioning1140771
-Node: Extension API Informational Variables1142399
-Node: Extension API Boilerplate1143472
-Node: Changes from API V11147446
-Node: Finding Extensions1149018
-Node: Extension Example1149577
-Node: Internal File Description1150375
-Node: Internal File Ops1154455
-Ref: Internal File Ops-Footnote-11165805
-Node: Using Internal File Ops1165945
-Ref: Using Internal File Ops-Footnote-11168328
-Node: Extension Samples1168602
-Node: Extension Sample File Functions1170131
-Node: Extension Sample Fnmatch1177780
-Node: Extension Sample Fork1179267
-Node: Extension Sample Inplace1180485
-Node: Extension Sample Ord1184111
-Node: Extension Sample Readdir1184947
-Ref: table-readdir-file-types1185836
-Node: Extension Sample Revout1186904
-Node: Extension Sample Rev2way1187493
-Node: Extension Sample Read write array1188233
-Node: Extension Sample Readfile1191398
-Node: Extension Sample Time1192493
-Node: Extension Sample API Tests1194245
-Node: gawkextlib1194737
-Node: Extension summary1197655
-Node: Extension Exercises1201357
-Node: Language History1202599
-Node: V7/SVR3.11204255
-Node: SVR41206407
-Node: POSIX1207841
-Node: BTL1209222
-Node: POSIX/GNU1209951
-Node: Feature History1215857
-Node: Common Extensions1233596
-Node: Ranges and Locales1234879
-Ref: Ranges and Locales-Footnote-11239495
-Ref: Ranges and Locales-Footnote-21239522
-Ref: Ranges and Locales-Footnote-31239757
-Node: Contributors1239980
-Node: History summary1245977
-Node: Installation1247357
-Node: Gawk Distribution1248301
-Node: Getting1248785
-Node: Extracting1249748
-Node: Distribution contents1251386
-Node: Unix Installation1258447
-Node: Quick Installation1259251
-Node: Compiling with MPFR1261671
-Node: Shell Startup Files1262361
-Node: Additional Configuration Options1263450
-Node: Configuration Philosophy1265765
-Node: Compiling from Git1268161
-Node: Building the Documentation1268716
-Node: Non-Unix Installation1270100
-Node: PC Installation1270560
-Node: PC Binary Installation1271398
-Node: PC Compiling1272271
-Node: PC Using1273388
-Node: Cygwin1276884
-Node: MSYS1278108
-Node: VMS Installation1278710
-Node: VMS Compilation1279429
-Ref: VMS Compilation-Footnote-11280658
-Node: VMS Dynamic Extensions1280716
-Node: VMS Installation Details1282401
-Node: VMS Running1284663
-Node: VMS GNV1288942
-Node: Bugs1289656
-Node: Bug definition1290568
-Node: Bug address1293504
-Node: Usenet1296692
-Node: Performance bugs1297881
-Node: Asking for help1300802
-Node: Maintainers1302769
-Node: Other Versions1303776
-Node: Installation summary1312046
-Node: Notes1313403
-Node: Compatibility Mode1314197
-Node: Additions1314979
-Node: Accessing The Source1315904
-Node: Adding Code1317341
-Node: New Ports1324156
-Node: Derived Files1328531
-Ref: Derived Files-Footnote-11334191
-Ref: Derived Files-Footnote-21334226
-Ref: Derived Files-Footnote-31334824
-Node: Future Extensions1334938
-Node: Implementation Limitations1335596
-Node: Extension Design1336806
-Node: Old Extension Problems1337950
-Ref: Old Extension Problems-Footnote-11339468
-Node: Extension New Mechanism Goals1339525
-Ref: Extension New Mechanism Goals-Footnote-11342889
-Node: Extension Other Design Decisions1343078
-Node: Extension Future Growth1345191
-Node: Notes summary1345797
-Node: Basic Concepts1346955
-Node: Basic High Level1347636
-Ref: figure-general-flow1347918
-Ref: figure-process-flow1348604
-Ref: Basic High Level-Footnote-11351906
-Node: Basic Data Typing1352091
-Node: Glossary1355419
-Node: Copying1387306
-Node: GNU Free Documentation License1424849
-Node: Index1449969
+Ref: Persistent Memory-Footnote-1903720
+Node: Extension Philosophy903847
+Node: Advanced Features Summary905334
+Node: Internationalization907506
+Node: I18N and L10N909180
+Node: Explaining gettext909867
+Ref: Explaining gettext-Footnote-1915759
+Ref: Explaining gettext-Footnote-2915944
+Node: Programmer i18n916109
+Ref: Programmer i18n-Footnote-1921058
+Node: Translator i18n921107
+Node: String Extraction921901
+Ref: String Extraction-Footnote-1923033
+Node: Printf Ordering923119
+Ref: Printf Ordering-Footnote-1925905
+Node: I18N Portability925969
+Ref: I18N Portability-Footnote-1928425
+Node: I18N Example928488
+Ref: I18N Example-Footnote-1931763
+Ref: I18N Example-Footnote-2931836
+Node: Gawk I18N931945
+Node: I18N Summary932567
+Node: Debugger933908
+Node: Debugging934908
+Node: Debugging Concepts935349
+Node: Debugging Terms937158
+Node: Awk Debugging939733
+Ref: Awk Debugging-Footnote-1940678
+Node: Sample Debugging Session940810
+Node: Debugger Invocation941344
+Node: Finding The Bug942730
+Node: List of Debugger Commands949204
+Node: Breakpoint Control950537
+Node: Debugger Execution Control954231
+Node: Viewing And Changing Data957593
+Node: Execution Stack961134
+Node: Debugger Info962771
+Node: Miscellaneous Debugger Commands966842
+Node: Readline Support971904
+Node: Limitations972800
+Node: Debugging Summary975354
+Node: Namespaces976633
+Node: Global Namespace977744
+Node: Qualified Names979142
+Node: Default Namespace980141
+Node: Changing The Namespace980882
+Node: Naming Rules982496
+Node: Internal Name Management984344
+Node: Namespace Example985386
+Node: Namespace And Features987948
+Node: Namespace Summary989383
+Node: Arbitrary Precision Arithmetic990860
+Node: Computer Arithmetic992347
+Ref: table-numeric-ranges996113
+Ref: table-floating-point-ranges996607
+Ref: Computer Arithmetic-Footnote-1997266
+Node: Math Definitions997323
+Ref: table-ieee-formats1000299
+Node: MPFR features1000867
+Node: MPFR On Parole1001312
+Ref: MPFR On Parole-Footnote-11002141
+Node: MPFR Intro1002296
+Node: FP Math Caution1003976
+Ref: FP Math Caution-Footnote-11005048
+Node: Inexactness of computations1005417
+Node: Inexact representation1006448
+Node: Comparing FP Values1007808
+Node: Errors accumulate1009049
+Node: Strange values1010505
+Ref: Strange values-Footnote-11013093
+Node: Getting Accuracy1013198
+Node: Try To Round1015908
+Node: Setting precision1016807
+Ref: table-predefined-precision-strings1017504
+Node: Setting the rounding mode1019335
+Ref: table-gawk-rounding-modes1019709
+Ref: Setting the rounding mode-Footnote-11023641
+Node: Arbitrary Precision Integers1023820
+Ref: Arbitrary Precision Integers-Footnote-11026995
+Node: Checking for MPFR1027144
+Node: POSIX Floating Point Problems1028618
+Ref: POSIX Floating Point Problems-Footnote-11033271
+Node: Floating point summary1033309
+Node: Dynamic Extensions1035499
+Node: Extension Intro1037052
+Node: Plugin License1038318
+Node: Extension Mechanism Outline1039115
+Ref: figure-load-extension1039554
+Ref: figure-register-new-function1041120
+Ref: figure-call-new-function1042213
+Node: Extension API Description1044276
+Node: Extension API Functions Introduction1045989
+Ref: table-api-std-headers1047825
+Node: General Data Types1052075
+Ref: General Data Types-Footnote-11060781
+Node: Memory Allocation Functions1061080
+Ref: Memory Allocation Functions-Footnote-11065581
+Node: Constructor Functions1065680
+Node: API Ownership of MPFR and GMP Values1069333
+Node: Registration Functions1070866
+Node: Extension Functions1071566
+Node: Exit Callback Functions1076888
+Node: Extension Version String1078138
+Node: Input Parsers1078801
+Node: Output Wrappers1091522
+Node: Two-way processors1096034
+Node: Printing Messages1098299
+Ref: Printing Messages-Footnote-11099470
+Node: Updating ERRNO1099623
+Node: Requesting Values1100362
+Ref: table-value-types-returned1101099
+Node: Accessing Parameters1102208
+Node: Symbol Table Access1103445
+Node: Symbol table by name1103957
+Ref: Symbol table by name-Footnote-11106982
+Node: Symbol table by cookie1107110
+Ref: Symbol table by cookie-Footnote-11111295
+Node: Cached values1111359
+Ref: Cached values-Footnote-11114895
+Node: Array Manipulation1115048
+Ref: Array Manipulation-Footnote-11116139
+Node: Array Data Types1116176
+Ref: Array Data Types-Footnote-11118834
+Node: Array Functions1118926
+Node: Flattening Arrays1123711
+Node: Creating Arrays1130687
+Node: Redirection API1135454
+Node: Extension API Variables1138287
+Node: Extension Versioning1138998
+Ref: gawk-api-version1139427
+Node: Extension GMP/MPFR Versioning1141159
+Node: Extension API Informational Variables1142787
+Node: Extension API Boilerplate1143860
+Node: Changes from API V11147834
+Node: Finding Extensions1149406
+Node: Extension Example1149965
+Node: Internal File Description1150763
+Node: Internal File Ops1154843
+Ref: Internal File Ops-Footnote-11166193
+Node: Using Internal File Ops1166333
+Ref: Using Internal File Ops-Footnote-11168716
+Node: Extension Samples1168990
+Node: Extension Sample File Functions1170519
+Node: Extension Sample Fnmatch1178168
+Node: Extension Sample Fork1179655
+Node: Extension Sample Inplace1180873
+Node: Extension Sample Ord1184499
+Node: Extension Sample Readdir1185335
+Ref: table-readdir-file-types1186224
+Node: Extension Sample Revout1187292
+Node: Extension Sample Rev2way1187881
+Node: Extension Sample Read write array1188621
+Node: Extension Sample Readfile1191786
+Node: Extension Sample Time1192881
+Node: Extension Sample API Tests1194633
+Node: gawkextlib1195125
+Node: Extension summary1198043
+Node: Extension Exercises1201745
+Node: Language History1202987
+Node: V7/SVR3.11204643
+Node: SVR41206795
+Node: POSIX1208229
+Node: BTL1209610
+Node: POSIX/GNU1210339
+Node: Feature History1216245
+Node: Common Extensions1233984
+Node: Ranges and Locales1235267
+Ref: Ranges and Locales-Footnote-11239883
+Ref: Ranges and Locales-Footnote-21239910
+Ref: Ranges and Locales-Footnote-31240145
+Node: Contributors1240368
+Node: History summary1246365
+Node: Installation1247745
+Node: Gawk Distribution1248689
+Node: Getting1249173
+Node: Extracting1250136
+Node: Distribution contents1251774
+Node: Unix Installation1258835
+Node: Quick Installation1259639
+Node: Compiling with MPFR1262059
+Node: Shell Startup Files1262749
+Node: Additional Configuration Options1263838
+Node: Configuration Philosophy1266153
+Node: Compiling from Git1268549
+Node: Building the Documentation1269104
+Node: Non-Unix Installation1270488
+Node: PC Installation1270948
+Node: PC Binary Installation1271786
+Node: PC Compiling1272659
+Node: PC Using1273776
+Node: Cygwin1277272
+Node: MSYS1278496
+Node: VMS Installation1279098
+Node: VMS Compilation1279817
+Ref: VMS Compilation-Footnote-11281046
+Node: VMS Dynamic Extensions1281104
+Node: VMS Installation Details1282789
+Node: VMS Running1285051
+Node: VMS GNV1289330
+Node: Bugs1290044
+Node: Bug definition1290956
+Node: Bug address1293892
+Node: Usenet1297080
+Node: Performance bugs1298269
+Node: Asking for help1301190
+Node: Maintainers1303157
+Node: Other Versions1304164
+Node: Installation summary1312434
+Node: Notes1313791
+Node: Compatibility Mode1314585
+Node: Additions1315367
+Node: Accessing The Source1316292
+Node: Adding Code1317729
+Node: New Ports1324544
+Node: Derived Files1328919
+Ref: Derived Files-Footnote-11334579
+Ref: Derived Files-Footnote-21334614
+Ref: Derived Files-Footnote-31335212
+Node: Future Extensions1335326
+Node: Implementation Limitations1335984
+Node: Extension Design1337194
+Node: Old Extension Problems1338338
+Ref: Old Extension Problems-Footnote-11339856
+Node: Extension New Mechanism Goals1339913
+Ref: Extension New Mechanism Goals-Footnote-11343277
+Node: Extension Other Design Decisions1343466
+Node: Extension Future Growth1345579
+Node: Notes summary1346185
+Node: Basic Concepts1347343
+Node: Basic High Level1348024
+Ref: figure-general-flow1348306
+Ref: figure-process-flow1348992
+Ref: Basic High Level-Footnote-11352294
+Node: Basic Data Typing1352479
+Node: Glossary1355807
+Node: Copying1387694
+Node: GNU Free Documentation License1425237
+Node: Index1450357
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index ebce2b93..65bc20aa 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -31050,6 +31050,19 @@ store ends up holding pointers to functions held
within the @command{gawk}
executable. This also means that to use the persistent memory, you must
use the same @command{gawk} executable from run to run.
+You can see if your version of @command{gawk} supports persistent
+memory like so:
+
+@example
+$ @kbd{gawk --version}
+@print{} GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
+@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation.
+@dots{}
+@end example
+
+@noindent
+If you see the @samp{PMA} with a version indicator, then it's supported.
+
As of this writing, persistent memory has only been tested on GNU/Linux,
Cygwin, Solaris 2.11, and Mac OS systems. On others, your mileage may
vary, and/or you may need to investigate how to make it work for you.
@@ -34486,7 +34499,7 @@ is available like so:
@example
$ @kbd{gawk --version}
-@print{} GNU Awk 5.2.0, API: 3.2 (GNU MPFR 4.0.2, GNU MP 6.2.0)
+@print{} GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation.
@dots{}
@end example
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 4d021657..8e783ff5 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -29932,6 +29932,19 @@ store ends up holding pointers to functions held
within the @command{gawk}
executable. This also means that to use the persistent memory, you must
use the same @command{gawk} executable from run to run.
+You can see if your version of @command{gawk} supports persistent
+memory like so:
+
+@example
+$ @kbd{gawk --version}
+@print{} GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
+@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation.
+@dots{}
+@end example
+
+@noindent
+If you see the @samp{PMA} with a version indicator, then it's supported.
+
As of this writing, persistent memory has only been tested on GNU/Linux,
Cygwin, Solaris 2.11, and Mac OS systems. On others, your mileage may
vary, and/or you may need to investigate how to make it work for you.
@@ -33368,7 +33381,7 @@ is available like so:
@example
$ @kbd{gawk --version}
-@print{} GNU Awk 5.2.0, API: 3.2 (GNU MPFR 4.0.2, GNU MP 6.2.0)
+@print{} GNU Awk 5.2.0, API: 3.2, PMA: 2022.07Jul.19.1658299753 (Avon 6), (GNU
MPFR 4.0.2, GNU MP 6.2.0)
@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation.
@dots{}
@end example
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=216dd6c05197e66812d8f1a183e7b48a90f73127
commit 216dd6c05197e66812d8f1a183e7b48a90f73127
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Tue Jul 26 20:43:30 2022 +0300
Kill some compiler warnings.
diff --git a/ChangeLog b/ChangeLog
index cf5dd1aa..c7946f6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2022-07-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * io.c (iopflags2str): Remove 'static' from declaration, causes
+ the compiler to stop complaining. Thanks to Pat Rankin for the
+ suggestion.
+ * re.c (reflags2str): Ditto.
+ * debug.c (debug_prog): Translate the "Restarting ..." message.
+ Thanks to Antonio Colombo for pointing this out.
+
2022-07-22 Arnold D. Robbins <arnold@skeeve.com>
* NEWS: Updated.
diff --git a/debug.c b/debug.c
index 87d6fa74..efc5a9a1 100644
--- a/debug.c
+++ b/debug.c
@@ -2833,7 +2833,7 @@ debug_prog(INSTRUCTION *pc)
unserialize_list(HISTORY);
unserialize_list(OPTION);
unsetenv("DGAWK_RESTART");
- fprintf(out_fp, "Restarting ...\n");
+ fprintf(out_fp, _("Restarting ...\n"));
if (strcasecmp(run, "true") == 0)
(void) do_run(NULL, 0);
diff --git a/io.c b/io.c
index 91fa2225..950d1a7f 100644
--- a/io.c
+++ b/io.c
@@ -4132,7 +4132,7 @@ pty_vs_pipe(const char *command)
/* iopflags2str --- make IOP flags printable */
-static const char *
+const char *
iopflags2str(int flag)
{
static const struct flagtab values[] = {
diff --git a/re.c b/re.c
index fa94fdd6..9c1905a6 100644
--- a/re.c
+++ b/re.c
@@ -523,7 +523,7 @@ reisstring(const char *text, size_t len, Regexp *re, const
char *buf)
/* reflags2str --- make a regex flags value readable */
-static const char *
+const char *
reflags2str(int flagval)
{
static const struct flagtab values[] = {
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 14 ++
debug.c | 2 +-
doc/ChangeLog | 6 +
doc/gawk.info | 500 ++++++++++++++++++++-------------------
doc/gawk.texi | 15 +-
doc/gawktexi.in | 15 +-
gawkapi.c | 2 +
io.c | 2 +-
pc/ChangeLog | 4 +
pc/Makefile.tst | 33 ++-
re.c | 2 +-
test/ChangeLog | 10 +
test/Makefile.am | 36 ++-
test/Makefile.in | 35 ++-
gawkmisc.c => test/makepmafile.c | 52 ++--
test/{nulrsend.ok => pma.ok} | 0
16 files changed, 456 insertions(+), 272 deletions(-)
copy gawkmisc.c => test/makepmafile.c (52%)
copy test/{nulrsend.ok => pma.ok} (100%)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, master, updated. gawk-4.1.0-4811-gbe74f1b5,
Arnold Robbins <=