gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-542


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-542-g969ee3c
Date: Wed, 24 Dec 2014 18:30:43 +0000

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, gawk-4.1-stable has been updated
       via  969ee3cbf2255a508eca008c0b25d8a1f09bdeb3 (commit)
       via  0585c4e6f3d68846d56fe766675099b539e2cba9 (commit)
       via  5f4811bd1b91dd3b50a30a227e455738f5dcfe36 (commit)
       via  608116b9826d199c2df99d79fe6c0b39c4febb8b (commit)
       via  ba81a835d78656b966a81e3426af82ee903f97de (commit)
       via  06e47b84ed3eb2ec562ee9910d192853f351a0bc (commit)
      from  769d7886cceec048dcd4aa67236b5971891418c3 (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=969ee3cbf2255a508eca008c0b25d8a1f09bdeb3

commit 969ee3cbf2255a508eca008c0b25d8a1f09bdeb3
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 20:28:14 2014 +0200

    New test for bad builds (with non-bison).

diff --git a/test/ChangeLog b/test/ChangeLog
index 10fc949..e51148d 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,8 +1,13 @@
 2014-12-24         Andrew J. Schorr     <address@hidden>
 
        * Makefile.am (check): If tests don't pass, run 'make diffout'
-       and exit 1. Should help distros that notice when they
-       have built gawk incorrectly. (Can you say "Fedora", boys and girls?)
+       and exit 1. Should help distros to notice when they have built
+       gawk incorrectly. (Can you say "Fedora", boys and girls?)
+
+       Not quite unrelated:
+
+       * Makefile.am (badbuild): New test.
+       * badbuild.awk, badbuild.in, badbuild.ok: New files.
 
 2014-11-26         Arnold D. Robbins     <address@hidden>
 
diff --git a/test/Makefile.am b/test/Makefile.am
index b9a404e..b93f851 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -123,6 +123,9 @@ EXTRA_DIST = \
        badargs.ok \
        badassign1.awk \
        badassign1.ok \
+       badbuild.awk \
+       badbuild.in \
+       badbuild.ok \
        beginfile1.awk \
        beginfile1.ok \
        beginfile2.in \
@@ -974,7 +977,7 @@ BASIC_TESTS = \
        arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
        arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
        aryprm8 arysubnm asgext awkpath \
-       back89 backgsub badassign1 \
+       back89 backgsub badassign1 badbuild \
        childin clobber closebad clsflnam compare compare2 concat1 concat2 \
        concat3 concat4 convfmt \
        datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress 
dynlj \
diff --git a/test/Makefile.in b/test/Makefile.in
index f342de9..7a281ec 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -370,6 +370,9 @@ EXTRA_DIST = \
        badargs.ok \
        badassign1.awk \
        badassign1.ok \
+       badbuild.awk \
+       badbuild.in \
+       badbuild.ok \
        beginfile1.awk \
        beginfile1.ok \
        beginfile2.in \
@@ -1220,7 +1223,7 @@ BASIC_TESTS = \
        arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
        arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
        aryprm8 arysubnm asgext awkpath \
-       back89 backgsub badassign1 \
+       back89 backgsub badassign1 badbuild \
        childin clobber closebad clsflnam compare compare2 concat1 concat2 \
        concat3 concat4 convfmt \
        datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress 
dynlj \
@@ -2547,6 +2550,11 @@ badassign1:
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
 
+badbuild:
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  < 
"$(srcdir)"/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+
 childin:
        @echo $@
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  < 
"$(srcdir)"/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 85c13d5..e1b92bf 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -125,6 +125,11 @@ badassign1:
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
 
+badbuild:
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  < 
"$(srcdir)"/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+
 childin:
        @echo $@
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  < 
"$(srcdir)"/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/badbuild.awk b/test/badbuild.awk
new file mode 100644
index 0000000..12a6cae
--- /dev/null
+++ b/test/badbuild.awk
@@ -0,0 +1,6 @@
+$1 == $2 == $3 {
+       print "Gawk was built incorrectly."
+       print "Use bison, not byacc or something else!"
+       print "(Really, why aren't you using the awkgram.c in the 
distribution?)"
+       exit 42
+}
diff --git a/test/badbuild.in b/test/badbuild.in
new file mode 100644
index 0000000..560711d
--- /dev/null
+++ b/test/badbuild.in
@@ -0,0 +1 @@
+a a 1
diff --git a/test/badbuild.ok b/test/badbuild.ok
new file mode 100644
index 0000000..6d60f5a
--- /dev/null
+++ b/test/badbuild.ok
@@ -0,0 +1,3 @@
+gawk: badbuild.awk:1: $1 == $2 == $3 {
+gawk: badbuild.awk:1:          ^ syntax error
+EXIT CODE: 1

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=0585c4e6f3d68846d56fe766675099b539e2cba9

commit 0585c4e6f3d68846d56fe766675099b539e2cba9
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 20:25:05 2014 +0200

    If a test fails, run make diffout and exit 1.

diff --git a/test/ChangeLog b/test/ChangeLog
index a8d12fd..10fc949 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-24         Andrew J. Schorr     <address@hidden>
+
+       * Makefile.am (check): If tests don't pass, run 'make diffout'
+       and exit 1. Should help distros that notice when they
+       have built gawk incorrectly. (Can you say "Fedora", boys and girls?)
+
 2014-11-26         Arnold D. Robbins     <address@hidden>
 
        * Gentests: Fix gensub call after adding warning.
diff --git a/test/Makefile.am b/test/Makefile.am
index 3c85012..b9a404e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1100,7 +1100,7 @@ check:    msg \
        charset-msg-start charset-tests charset-msg-end \
        shlib-msg-start  shlib-tests     shlib-msg-end \
        mpfr-msg-start   mpfr-tests      mpfr-msg-end
-       @$(MAKE) pass-fail
+       @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
 
 basic: $(BASIC_TESTS)
 
diff --git a/test/Makefile.in b/test/Makefile.in
index 5a7610e..f342de9 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1528,7 +1528,7 @@ check:    msg \
        charset-msg-start charset-tests charset-msg-end \
        shlib-msg-start  shlib-tests     shlib-msg-end \
        mpfr-msg-start   mpfr-tests      mpfr-msg-end
-       @$(MAKE) pass-fail
+       @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
 
 basic: $(BASIC_TESTS)
 

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=5f4811bd1b91dd3b50a30a227e455738f5dcfe36

commit 5f4811bd1b91dd3b50a30a227e455738f5dcfe36
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 20:24:38 2014 +0200

    Update it.po.

diff --git a/po/it.po b/po/it.po
index 68f2d7f..12305a7 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,13 +1,13 @@
 # Italian messages for GNU Awk
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 # Antonio Colombo <address@hidden>.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU Awk 4.0.73, API: 0.0\n"
-"Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2014-04-08 19:23+0300\n"
-"PO-Revision-Date: 2014-01-15 10:39+0100\n"
+"Report-Msgid-Bugs-To: address@hidden"
+"POT-Creation-Date: 2014-12-14 21:30+0100\n"
+"PO-Revision-Date: 2014-12-14 22:10+0100\n"
 "Last-Translator: Antonio Colombo <address@hidden>\n"
 "Language-Team: Italian <address@hidden>\n"
 "Language: it\n"
@@ -34,9 +34,9 @@ msgstr "tentativo di usare il parametro scalare `%s' come un 
vettore"
 msgid "attempt to use scalar `%s' as an array"
 msgstr "tentativo di usare scalare '%s' come vettore"
 
-#: array.c:409 array.c:576 builtin.c:85 builtin.c:1615 builtin.c:1661
-#: builtin.c:1674 builtin.c:2102 builtin.c:2116 eval.c:1122 eval.c:1126
-#: eval.c:1531
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1600 builtin.c:1646
+#: builtin.c:1659 builtin.c:2086 builtin.c:2100 eval.c:1150 eval.c:1154
+#: eval.c:1559
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "tentativo di usare vettore `%s' in un contesto scalare"
@@ -95,412 +95,412 @@ msgstr ""
 "asorti: non consentito un primo argomento che sia un sottovettore del "
 "secondo argomento"
 
-#: array.c:1314
+#: array.c:1313
 #, c-format
 msgid "`%s' is invalid as a function name"
 msgstr "`%s' non è un nome funzione valido"
 
-#: array.c:1318
+#: array.c:1317
 #, c-format
 msgid "sort comparison function `%s' is not defined"
 msgstr "funzione di confronto del sort `%s' non definita"
 
-#: awkgram.y:233
+#: awkgram.y:241
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "blocchi %s richiedono una `azione'"
 
-#: awkgram.y:236
+#: awkgram.y:244
 msgid "each rule must have a pattern or an action part"
 msgstr "ogni regola deve avere una parte `espressione' o una parte `azione'"
 
-#: awkgram.y:325 awkgram.y:336
+#: awkgram.y:354 awkgram.y:368
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "il vecchio awk non supporta più di una regola `BEGIN' o `END'"
 
-#: awkgram.y:373
+#: awkgram.y:412
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' è una funzione interna, non si può ridefinire"
 
-#: awkgram.y:419
+#: awkgram.y:474
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "espressione regolare costante `//' sembra un commento C++, ma non lo è"
 
-#: awkgram.y:423
+#: awkgram.y:478
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo è"
 
-#: awkgram.y:515
+#: awkgram.y:590
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "valori di `case' doppi all'interno di uno `switch': %s"
 
-#: awkgram.y:536
+#: awkgram.y:611
 msgid "duplicate `default' detected in switch body"
 msgstr "valori di default doppi all'interno di uno `switch'"
 
-#: awkgram.y:796 awkgram.y:3723
+#: awkgram.y:871 awkgram.y:3948
 msgid "`break' is not allowed outside a loop or switch"
 msgstr "`break' non consentito fuori da un ciclo o da uno `switch'"
 
-#: awkgram.y:805 awkgram.y:3715
+#: awkgram.y:880 awkgram.y:3940
 msgid "`continue' is not allowed outside a loop"
 msgstr "`continue' non consentito fuori da un un ciclo"
 
-#: awkgram.y:815
+#: awkgram.y:890
 #, c-format
 msgid "`next' used in %s action"
 msgstr "`next' usato in `azione' %s"
 
-#: awkgram.y:824
+#: awkgram.y:899
 #, c-format
 msgid "`nextfile' used in %s action"
 msgstr "`nextfile' usato in `azione' %s"
 
-#: awkgram.y:848
+#: awkgram.y:923
 msgid "`return' used outside function context"
 msgstr "`return' usato fuori da una funzione"
 
-#: awkgram.y:922
+#: awkgram.y:997
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'"
 
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:1063 awkgram.y:1112
 msgid "`delete' is not allowed with SYMTAB"
 msgstr "`delete' non consentito in SYMTAB"
 
-#: awkgram.y:990 awkgram.y:1039
+#: awkgram.y:1065 awkgram.y:1114
 msgid "`delete' is not allowed with FUNCTAB"
 msgstr "`delete' non consentito in FUNCTAB"
 
-#: awkgram.y:1024 awkgram.y:1028
+#: awkgram.y:1099 awkgram.y:1103
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete(array)' è un'estensione tawk non-portabile"
 
-#: awkgram.y:1149
+#: awkgram.y:1224
 msgid "multistage two-way pipelines don't work"
 msgstr "`pipeline' multistadio bidirezionali non funzionano"
 
-#: awkgram.y:1264
+#: awkgram.y:1339
 msgid "regular expression on right of assignment"
 msgstr "espressione regolare usata per assegnare un valore"
 
-#: awkgram.y:1275
+#: awkgram.y:1350
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "espressione regolare prima di operatore `~' o `!~'"
 
-#: awkgram.y:1291 awkgram.y:1442
+#: awkgram.y:1366 awkgram.y:1508
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'"
 
-#: awkgram.y:1301
+#: awkgram.y:1376
 msgid "regular expression on right of comparison"
 msgstr "espressione regolare a destra in un confronto"
 
-#: awkgram.y:1417
+#: awkgram.y:1488
 #, c-format
-msgid "`getline var' invalid inside `%s' rule"
-msgstr "`getline var' invalida all'interno della regola `%s'"
+msgid "non-redirected `getline' invalid inside `%s' rule"
+msgstr "`getline' non ridiretta invalida all'interno della regola `%s'"
 
-#: awkgram.y:1420
-#, c-format
-msgid "`getline' invalid inside `%s' rule"
-msgstr "`getline' invalida all'interno della regola `%s'"
-
-#: awkgram.y:1425
+#: awkgram.y:1491
 msgid "non-redirected `getline' undefined inside END action"
-msgstr "`getline' non re-diretta indefinita dentro `azione' END"
+msgstr "`getline' non ri-diretta indefinita dentro `azione' END"
 
-#: awkgram.y:1444
+#: awkgram.y:1510
 msgid "old awk does not support multidimensional arrays"
 msgstr "il vecchio awk non supporta vettori multidimensionali"
 
-#: awkgram.y:1541
+#: awkgram.y:1607
 msgid "call of `length' without parentheses is not portable"
 msgstr "chiamata a `length' senza parentesi non portabile"
 
-#: awkgram.y:1607
+#: awkgram.y:1673
 msgid "indirect function calls are a gawk extension"
 msgstr "chiamate a funzione indirette sono un'estensione gawk"
 
-#: awkgram.y:1620
+#: awkgram.y:1686
 #, c-format
 msgid "can not use special variable `%s' for indirect function call"
 msgstr ""
 "non riesco a usare la variabile speciale `%s' come parametro indiretto di "
 "funzione"
 
-#: awkgram.y:1698
+#: awkgram.y:1764
 msgid "invalid subscript expression"
 msgstr "espressione indice invalida"
 
-#: awkgram.y:2048 awkgram.y:2068 gawkapi.c:206 gawkapi.c:224 msg.c:126
+#: awkgram.y:2111 awkgram.y:2131 gawkapi.c:206 gawkapi.c:224 msg.c:126
 msgid "warning: "
 msgstr "attenzione: "
 
-#: awkgram.y:2066 gawkapi.c:192 gawkapi.c:221 msg.c:158
+#: awkgram.y:2129 gawkapi.c:192 gawkapi.c:221 msg.c:158
 msgid "fatal: "
 msgstr "fatale: "
 
-#: awkgram.y:2116
+#: awkgram.y:2179
 msgid "unexpected newline or end of string"
 msgstr "carattere 'a capo' o fine stringa non previsti"
 
-#: awkgram.y:2383 awkgram.y:2459 awkgram.y:2682 debug.c:523 debug.c:539
-#: debug.c:2812 debug.c:5055
+#: awkgram.y:2470 awkgram.y:2546 awkgram.y:2769 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5056
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
 
-#: awkgram.y:2384 awkgram.y:2509
+#: awkgram.y:2471 awkgram.y:2596
 #, c-format
 msgid "can't open shared library `%s' for reading (%s)"
 msgstr "non riesco ad aprire shared library `%s' in lettura (%s)"
 
-#: awkgram.y:2386 awkgram.y:2460 awkgram.y:2510 builtin.c:135 debug.c:5206
+#: awkgram.y:2473 awkgram.y:2547 awkgram.y:2597 builtin.c:135 debug.c:5207
 msgid "reason unknown"
 msgstr "ragione indeterminata"
 
-#: awkgram.y:2395 awkgram.y:2419
+#: awkgram.y:2482 awkgram.y:2506
 #, c-format
 msgid "can't include `%s' and use it as a program file"
 msgstr "non riesco a includere `%s' per usarlo come file di programma"
 
-#: awkgram.y:2408
+#: awkgram.y:2495
 #, c-format
 msgid "already included source file `%s'"
 msgstr "file sorgente `%s' già incluso"
 
-#: awkgram.y:2409
+#: awkgram.y:2496
 #, c-format
 msgid "already loaded shared library `%s'"
 msgstr "shared library `%s' già inclusa"
 
-#: awkgram.y:2444
+#: awkgram.y:2531
 msgid "@include is a gawk extension"
 msgstr "@include è un'estensione gawk"
 
-#: awkgram.y:2450
+#: awkgram.y:2537
 msgid "empty filename after @include"
 msgstr "nome-file mancante dopo @include"
 
-#: awkgram.y:2494
+#: awkgram.y:2581
 msgid "@load is a gawk extension"
 msgstr "@load è un'estensione gawk"
 
-#: awkgram.y:2500
+#: awkgram.y:2587
 msgid "empty filename after @load"
 msgstr "nome-file mancante dopo @include"
 
-#: awkgram.y:2634
+#: awkgram.y:2721
 msgid "empty program text on command line"
 msgstr "programma nullo sulla riga comandi"
 
-#: awkgram.y:2749
+#: awkgram.y:2836
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "non riesco a leggere file sorgente `%s' (%s)"
 
-#: awkgram.y:2760
+#: awkgram.y:2847
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "file sorgente `%s' vuoto"
 
-#: awkgram.y:2937
+#: awkgram.y:2906
+#, c-format
+msgid "PEBKAC error: invalid character '\\%03o' in source code"
+msgstr "errore PEBKAC: carattere invalido '\\%03o' nel codice sorgente"
+
+#: awkgram.y:3142
 msgid "source file does not end in newline"
 msgstr "file sorgente non termina con carattere 'a capo'"
 
-#: awkgram.y:3042
+#: awkgram.y:3247
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "espressione regolare non completata termina con `\\' a fine file"
 
-#: awkgram.y:3066
+#: awkgram.y:3271
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "%s: %d: modificatore di espressione regolare tawk `/.../%c' non valido in "
 "gawk"
 
-#: awkgram.y:3070
+#: awkgram.y:3275
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "modificatore di espressione regolare tawk `/.../%c' non valido in gawk"
 
-#: awkgram.y:3077
+#: awkgram.y:3282
 msgid "unterminated regexp"
 msgstr "espressione regolare non completata"
 
-#: awkgram.y:3081
+#: awkgram.y:3286
 msgid "unterminated regexp at end of file"
 msgstr "espressione regolare non completata a fine file"
 
-#: awkgram.y:3140
+#: awkgram.y:3357
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "uso di `\\ #...' continuazione riga non portabile"
 
-#: awkgram.y:3156
+#: awkgram.y:3377
 msgid "backslash not last character on line"
 msgstr "'\\' non è l'ultimo carattere della riga"
 
-#: awkgram.y:3217
+#: awkgram.y:3438
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX non permette l'operatore `**='"
 
-#: awkgram.y:3219
+#: awkgram.y:3440
 msgid "old awk does not support operator `**='"
 msgstr "il vecchio awk non supporta l'operatore `**='"
 
-#: awkgram.y:3228
+#: awkgram.y:3449
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX non permette l'operatore `**'"
 
-#: awkgram.y:3230
+#: awkgram.y:3451
 msgid "old awk does not support operator `**'"
 msgstr "il vecchio awk non supporta l'operatore `**'"
 
-#: awkgram.y:3265
+#: awkgram.y:3486
 msgid "operator `^=' is not supported in old awk"
 msgstr "l'operatore `^=' non è supportato nel vecchio awk"
 
-#: awkgram.y:3273
+#: awkgram.y:3494
 msgid "operator `^' is not supported in old awk"
 msgstr "l'operatore `^' non è supportato nel vecchio awk"
 
-#: awkgram.y:3366 awkgram.y:3382 command.y:1178
+#: awkgram.y:3591 awkgram.y:3607 command.y:1180
 msgid "unterminated string"
 msgstr "stringa non terminata"
 
-#: awkgram.y:3603
+#: awkgram.y:3828
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "carattere '%c' non valido in un'espressione"
 
-#: awkgram.y:3650
+#: awkgram.y:3875
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' è un'estensione gawk"
 
-#: awkgram.y:3655
+#: awkgram.y:3880
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX non permette `%s'"
 
-#: awkgram.y:3663
+#: awkgram.y:3888
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' non è supportato nel vecchio awk"
 
-#: awkgram.y:3753
+#: awkgram.y:3978
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' considerato pericoloso!\n"
 
-#: awkgram.y:3787
+#: awkgram.y:4012
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d non valido come numero di argomenti per %s"
 
-#: awkgram.y:3822
+#: awkgram.y:4047
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: una stringa come ultimo argomento di `substitute' non ha effetto"
 
-#: awkgram.y:3827
+#: awkgram.y:4052
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "il terzo parametro di '%s'  non è un oggetto modificabile"
 
-#: awkgram.y:3910 awkgram.y:3913
+#: awkgram.y:4144 awkgram.y:4147
 msgid "match: third argument is a gawk extension"
 msgstr "match: il terzo argomento è un'estensione gawk"
 
-#: awkgram.y:3967 awkgram.y:3970
+#: awkgram.y:4201 awkgram.y:4204
 msgid "close: second argument is a gawk extension"
 msgstr "close: il secondo argomento è un'estensione gawk"
 
-#: awkgram.y:3982
+#: awkgram.y:4216
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale"
 
-#: awkgram.y:3997
+#: awkgram.y:4231
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale"
 
-#: awkgram.y:4016
+#: awkgram.y:4250
 msgid "index: regexp constant as second argument is not allowed"
 msgstr "index: espressione regolare come secondo argomento non consentita"
 
-#: awkgram.y:4069
+#: awkgram.y:4303
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
 
-#: awkgram.y:4126 debug.c:4041 debug.c:4084 debug.c:5204
+#: awkgram.y:4360 debug.c:4042 debug.c:4085 debug.c:5205
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "non riesco ad aprire `%s' in scrittura (%s)"
 
-#: awkgram.y:4127
+#: awkgram.y:4361
 msgid "sending variable list to standard error"
 msgstr "mando lista variabili a 'standard error'"
 
-#: awkgram.y:4135
+#: awkgram.y:4369
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: `close' non riuscita (%s)"
 
-#: awkgram.y:4160
+#: awkgram.y:4394
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() chiamata due volte!"
 
-#: awkgram.y:4168
+#: awkgram.y:4402
 msgid "there were shadowed variables."
 msgstr "c'erano variabili nascoste."
 
-#: awkgram.y:4239
+#: awkgram.y:4481
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "funzione di nome `%s' definita in precedenza"
 
-#: awkgram.y:4285
+#: awkgram.y:4527
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr ""
 "funzione `%s': non è possibile usare nome della funzione come nome parametro"
 
-#: awkgram.y:4288
+#: awkgram.y:4530
 #, c-format
 msgid "function `%s': can't use special variable `%s' as a function parameter"
 msgstr ""
 "funzione `%s': non è possibile usare la variabile speciale `%s' come "
 "parametro di funzione"
 
-#: awkgram.y:4296
+#: awkgram.y:4538
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
 
-#: awkgram.y:4383 awkgram.y:4389
+#: awkgram.y:4625 awkgram.y:4631
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "funzione `%s' chiamata ma mai definita"
 
-#: awkgram.y:4393
+#: awkgram.y:4635
 #, c-format
 msgid "function `%s' defined but never called directly"
 msgstr "funzione `%s' definita ma mai chiamata direttamente"
 
-#: awkgram.y:4425
+#: awkgram.y:4667
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "espressione regolare di valore costante per parametro #%d genera valore "
 "booleano"
 
-#: awkgram.y:4484
+#: awkgram.y:4726
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -509,23 +509,23 @@ msgstr ""
 "funzione `%s' chiamata con spazio tra il nome e `(',\n"
 "o usata come variabile o vettore"
 
-#: awkgram.y:4720
+#: awkgram.y:4962
 msgid "division by zero attempted"
 msgstr "tentativo di dividere per zero"
 
-#: awkgram.y:4729
+#: awkgram.y:4971
 #, c-format
 msgid "division by zero attempted in `%%'"
 msgstr "tentativo di dividere per zero in `%%'"
 
-#: awkgram.y:5049
+#: awkgram.y:5294
 msgid ""
 "cannot assign a value to the result of a field post-increment expression"
 msgstr ""
 "impossibile assegnare un valore al risultato di un'espressione di post-"
 "incremento di un campo"
 
-#: awkgram.y:5052
+#: awkgram.y:5297
 #, c-format
 msgid "invalid target of assignment (opcode %s)"
 msgstr "destinazione di assegnazione non valida (codice operativo %s)"
@@ -541,7 +541,7 @@ msgstr "standard output"
 
 #: builtin.c:148
 msgid "exp: received non-numeric argument"
-msgstr "exp: argomento non-numerico"
+msgstr "exp: l'argomento ricevuto non è numerico"
 
 #: builtin.c:154
 #, c-format
@@ -566,189 +566,198 @@ msgstr ""
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' non è un file aperto, una `pipe' o un co-processo"
 
-#: builtin.c:362
+#: builtin.c:351
 msgid "index: received non-string first argument"
-msgstr "index: il primo argomento non è una stringa"
+msgstr "index: il primo argomento ricevuto non è una stringa"
 
-#: builtin.c:364
+#: builtin.c:353
 msgid "index: received non-string second argument"
-msgstr "index: il secondo argomento non è una stringa"
+msgstr "index: il secondo argomento ricevuto non è una stringa"
 
-#: builtin.c:488 mpfr.c:757
+#: builtin.c:466 mpfr.c:777
 msgid "int: received non-numeric argument"
-msgstr "int: argomento non-numerico"
+msgstr "int: l'argomento ricevuto non è numerico"
 
-#: builtin.c:525
+#: builtin.c:503
 msgid "length: received array argument"
-msgstr "length: l'argomento fornito è un vettore"
+msgstr "length: l'argomento ricevuto è un vettore"
 
-#: builtin.c:528
+#: builtin.c:506
 msgid "`length(array)' is a gawk extension"
 msgstr "`length(array)' è un'estensione gawk"
 
-#: builtin.c:544
+#: builtin.c:522
 msgid "length: received non-string argument"
-msgstr "length: l'argomento non è una stringa"
+msgstr "length: l'argomento ricevuto non è una stringa"
 
-#: builtin.c:575
+#: builtin.c:551
 msgid "log: received non-numeric argument"
-msgstr "log: argomento non-numerico"
+msgstr "log: l'argomento ricevuto non è numerico"
 
-#: builtin.c:578
+#: builtin.c:554
 #, c-format
 msgid "log: received negative argument %g"
-msgstr "log: argomento negativo %g"
+msgstr "log: argomento ricevuto negativo %g"
 
-#: builtin.c:776 builtin.c:781
+#: builtin.c:752 builtin.c:757
 msgid "fatal: must use `count$' on all formats or none"
-msgstr "fatale: `count$' va usato per ogni `format' o per nessuno"
+msgstr "fatale: `count$' va usato per tutti i formati o per nessuno"
 
-#: builtin.c:851
+#: builtin.c:827
 #, c-format
 msgid "field width is ignored for `%%' specifier"
 msgstr "larghezza campo ignorata per la specifica `%%'"
 
-#: builtin.c:853
+#: builtin.c:829
 #, c-format
 msgid "precision is ignored for `%%' specifier"
 msgstr "precisione ignorata per la specifica `%%'"
 
-#: builtin.c:855
+#: builtin.c:831
 #, c-format
 msgid "field width and precision are ignored for `%%' specifier"
 msgstr "larghezza campo e precisone ignorate per la specifica `%%'"
 
-#: builtin.c:906
+#: builtin.c:882
 msgid "fatal: `$' is not permitted in awk formats"
-msgstr "fatale: operatore `$' non consentito nei `format' awk"
+msgstr "fatale: operatore `$' non consentito nei formati awk"
 
-#: builtin.c:915
+#: builtin.c:891
 msgid "fatal: arg count with `$' must be > 0"
 msgstr "fatale: numero argomenti con `$' dev'essere > 0"
 
-#: builtin.c:919
+#: builtin.c:895
 #, c-format
 msgid "fatal: arg count %ld greater than total number of supplied arguments"
 msgstr "fatale: numero argomenti %ld > del numero totale argomenti specificati"
 
-#: builtin.c:923
+#: builtin.c:899
 msgid "fatal: `$' not permitted after period in format"
-msgstr "fatale: `$' non consentito dopo il punto in un `format'"
+msgstr "fatale: `$' non consentito dopo il punto in un formato"
 
-#: builtin.c:939
+#: builtin.c:915
 msgid "fatal: no `$' supplied for positional field width or precision"
 msgstr "fatale: manca `$' per i campi posizionali larghezza o precisione"
 
-#: builtin.c:1009
+#: builtin.c:985
 msgid "`l' is meaningless in awk formats; ignored"
-msgstr "`l' non ha senso nei `format' awk; ignorato"
+msgstr "`l' non ha senso nei formati awk; ignorato"
 
-#: builtin.c:1013
+#: builtin.c:989
 msgid "fatal: `l' is not permitted in POSIX awk formats"
-msgstr "fatale: `l' non consentito nei `format' POSIX awk"
+msgstr "fatale: `l' non consentito nei formati POSIX awk"
 
-#: builtin.c:1026
+#: builtin.c:1002
 msgid "`L' is meaningless in awk formats; ignored"
-msgstr "`L' non ha senso nei `format' awk; ignorato"
+msgstr "`L' non ha senso nei formati awk; ignorato"
 
-#: builtin.c:1030
+#: builtin.c:1006
 msgid "fatal: `L' is not permitted in POSIX awk formats"
-msgstr "`L' non ha senso nei `format' awk; ignorato"
+msgstr "fatale: `L' non consentito nei formati POSIX awk"
 
-#: builtin.c:1043
+#: builtin.c:1019
 msgid "`h' is meaningless in awk formats; ignored"
-msgstr "`h' non ha senso nei `format' awk; ignorato"
+msgstr "`h' non ha senso nei formati awk; ignorato"
 
-#: builtin.c:1047
+#: builtin.c:1023
 msgid "fatal: `h' is not permitted in POSIX awk formats"
-msgstr "fatale: `h' non consentito nei `format' POSIX awk"
+msgstr "fatale: `h' non consentito nei formati POSIX awk"
+
+#: builtin.c:1049
+#, c-format
+msgid "[s]printf: value %g is too big for %%c format"
+msgstr "[s]printf: valore %g troppo elevato per il formato %%c"
 
-#: builtin.c:1463
+#: builtin.c:1062
+#, c-format
+msgid "[s]printf: value %g is not a valid wide character"
+msgstr "[s]printf: valore %g non è un carattere multibyte valido "
+
+#: builtin.c:1448
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: valore %g fuori intervallo per il `format' `%%%c'"
+msgstr "[s]printf: valore %g fuori intervallo per il formato `%%%c'"
 
-#: builtin.c:1561
+#: builtin.c:1546
 #, c-format
 msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"carattere di `format' sconosciuto `%c' ignorato: nessun argomento convertito"
+msgstr "carattere di formato ignoto `%c' ignorato: nessun argomento convertito"
 
-#: builtin.c:1566
+#: builtin.c:1551
 msgid "fatal: not enough arguments to satisfy format string"
 msgstr ""
 "fatale: argomenti in numero minore di quelli richiesti dalla stringa di "
-"`format'"
+"formato"
 
-#: builtin.c:1568
+#: builtin.c:1553
 msgid "^ ran out for this one"
 msgstr "^ esauriti a questo punto"
 
-#: builtin.c:1575
+#: builtin.c:1560
 msgid "[s]printf: format specifier does not have control letter"
-msgstr "[s]printf: specifica di `format' senza un carattere di controllo"
+msgstr "[s]printf: specifica di formato senza un carattere di controllo"
 
-#: builtin.c:1578
+#: builtin.c:1563
 msgid "too many arguments supplied for format string"
-msgstr "troppi argomenti specificati per questa stringa di `format'"
+msgstr "troppi argomenti specificati per questa stringa di formato"
 
-#: builtin.c:1634
+#: builtin.c:1619
 msgid "sprintf: no arguments"
 msgstr "sprintf: nessun argomento"
 
-#: builtin.c:1657 builtin.c:1668
+#: builtin.c:1642 builtin.c:1653
 msgid "printf: no arguments"
 msgstr "printf: nessun argomento"
 
-#: builtin.c:1711
+#: builtin.c:1696
 msgid "sqrt: received non-numeric argument"
-msgstr "sqrt: argomento non-numerico"
+msgstr "sqrt: l'argomento ricevuto non è numerico"
 
-#: builtin.c:1715
+#: builtin.c:1700
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: chiamata con argomento negativo %g"
 
-#: builtin.c:1746
+#: builtin.c:1731
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: lunghezza %g non >= 1"
 
-#: builtin.c:1748
+#: builtin.c:1733
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: lunghezza %g non >= 0"
 
-#: builtin.c:1755
+#: builtin.c:1747
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: lunghezza non intera %g: sarà troncata"
 
-#: builtin.c:1760
+#: builtin.c:1752
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: lunghezza %g troppo elevata per indice stringa, tronco a %g"
 
-#: builtin.c:1772
+#: builtin.c:1764
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: indice di partenza %g non valido, uso 1"
 
-#: builtin.c:1777
+#: builtin.c:1769
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: indice di partenza non intero %g: sarà troncato"
 
-#: builtin.c:1802
+#: builtin.c:1792
 msgid "substr: source string is zero length"
 msgstr "substr: stringa di partenza lunga zero"
 
-#: builtin.c:1818
+#: builtin.c:1806
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: indice di partenza %g oltre la fine della stringa"
 
-#: builtin.c:1826
+#: builtin.c:1814
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -756,191 +765,213 @@ msgstr ""
 "substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
 "argomento (%lu)"
 
-#: builtin.c:1900
+#: builtin.c:1884
 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
 msgstr ""
-"strftime: il valore del `format' in PROCINFO[\"strftime\"] è di tipo numerico"
+"strftime: il valore del formato in PROCINFO[\"strftime\"] è di tipo numerico"
 
-#: builtin.c:1923
+#: builtin.c:1907
 msgid "strftime: received non-numeric second argument"
-msgstr "strftime: secondo argomento non-numerico"
+msgstr "strftime: il secondo argomento ricevuto non è numerico"
 
-#: builtin.c:1927
+#: builtin.c:1911
 msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr "strftime: secondo argomento < 0 o troppo elevato per time_t"
+msgstr "strftime: il secondo argomento è < 0 o troppo elevato per time_t"
 
-#: builtin.c:1934
+#: builtin.c:1918
 msgid "strftime: received non-string first argument"
-msgstr "strftime: il primo argomento non è una stringa"
+msgstr "strftime: il primo argomento ricevuto non è una stringa"
 
-#: builtin.c:1941
+#: builtin.c:1925
 msgid "strftime: received empty format string"
-msgstr "strftime: `format' è una stringa nulla"
+msgstr "strftime: il formato ricevuto è una stringa nulla"
 
-#: builtin.c:2007
+#: builtin.c:1991
 msgid "mktime: received non-string argument"
-msgstr "mktime: l'argomento non è una stringa"
+msgstr "mktime: l'argomento ricevuto non è una stringa"
 
-#: builtin.c:2024
+#: builtin.c:2008
 msgid "mktime: at least one of the values is out of the default range"
 msgstr "mktime: almeno un valore è fuori dall'intervallo di default"
 
-#: builtin.c:2059
+#: builtin.c:2043
 msgid "'system' function not allowed in sandbox mode"
 msgstr "funzione 'system' non consentita in modo `sandbox'"
 
-#: builtin.c:2064
+#: builtin.c:2048
 msgid "system: received non-string argument"
-msgstr "system: l'argomento non è una stringa"
+msgstr "system: l'argomento ricevuto non è una stringa"
 
-#: builtin.c:2184
+#: builtin.c:2168
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "riferimento a variabile non inizializzata `$%d'"
 
-#: builtin.c:2271
+#: builtin.c:2253
 msgid "tolower: received non-string argument"
-msgstr "tolower: l'argomento non è una stringa"
+msgstr "tolower: l'argomento ricevuto non è una stringa"
 
-#: builtin.c:2305
+#: builtin.c:2284
 msgid "toupper: received non-string argument"
-msgstr "toupper: l'argomento non è una stringa"
+msgstr "toupper: l'argomento ricevuto non è una stringa"
 
-#: builtin.c:2341 mpfr.c:672
+#: builtin.c:2317 mpfr.c:679
 msgid "atan2: received non-numeric first argument"
-msgstr "atan2: primo argomento non-numerico"
+msgstr "atan2: il primo argomento ricevuto non è numerico"
 
-#: builtin.c:2343 mpfr.c:674
+#: builtin.c:2319 mpfr.c:681
 msgid "atan2: received non-numeric second argument"
-msgstr "atan2: secondo argomento non-numerico"
+msgstr "atan2: il secondo argomento ricevuto non è numerico"
 
-#: builtin.c:2362
+#: builtin.c:2338
 msgid "sin: received non-numeric argument"
-msgstr "sin: argomento non-numerico"
+msgstr "sin: l'argomento ricevuto non è numerico"
 
-#: builtin.c:2378
+#: builtin.c:2354
 msgid "cos: received non-numeric argument"
-msgstr "cos: argomento non-numerico"
+msgstr "cos: l'argomento ricevuto non è numerico"
 
-#: builtin.c:2431 mpfr.c:1156
+#: builtin.c:2468 mpfr.c:1176
 msgid "srand: received non-numeric argument"
-msgstr "srand: argomento non-numerico"
+msgstr "srand: l'argomento ricevuto non è numerico"
 
-#: builtin.c:2462
+#: builtin.c:2499
 msgid "match: third argument is not an array"
 msgstr "match: terzo argomento non-vettoriale"
 
-#: builtin.c:2734
-msgid "gensub: third argument of 0 treated as 1"
-msgstr "gensub: il terzo argomento è 0, trattato come 1"
+#: builtin.c:2760
+#, c-format
+msgid "gensub: third argument `%.*s' treated as 1"
+msgstr "gensub: il terzo argomento `%.*s' trattato come 1"
+
+#: builtin.c:2775
+#, c-format
+msgid "gensub: third argument %g treated as 1"
+msgstr "gensub: il terzo argomento %g trattato come 1"
 
-#: builtin.c:3030
+#: builtin.c:3075
 msgid "lshift: received non-numeric first argument"
-msgstr "lshift: primo argomento non-numerico"
+msgstr "lshift: il primo argomento ricevuto non è numerico"
 
-#: builtin.c:3032
+#: builtin.c:3077
 msgid "lshift: received non-numeric second argument"
-msgstr "lshift: secondo argomento non-numerico"
+msgstr "lshift: il secondo argomento ricevuto non è numerico"
 
-#: builtin.c:3038
+#: builtin.c:3083
 #, c-format
 msgid "lshift(%f, %f): negative values will give strange results"
 msgstr "lshift(%f, %f): valori negativi daranno risultati strani"
 
-#: builtin.c:3040
+#: builtin.c:3085
 #, c-format
 msgid "lshift(%f, %f): fractional values will be truncated"
 msgstr "lshift(%f, %f): valori decimali saranno troncati"
 
-#: builtin.c:3042
+#: builtin.c:3087
 #, c-format
 msgid "lshift(%f, %f): too large shift value will give strange results"
 msgstr "lshift(%f, %f): valori troppo alti daranno risultati strani"
 
-#: builtin.c:3067
+#: builtin.c:3112
 msgid "rshift: received non-numeric first argument"
-msgstr "rshift: primo argomento ricevuto non-numerico"
+msgstr "rshift: il primo argomento ricevuto non è numerico"
 
-#: builtin.c:3069
+#: builtin.c:3114
 msgid "rshift: received non-numeric second argument"
-msgstr "rshift: secondo argomento non-numerico"
+msgstr "rshift: il secondo argomento ricevuto non è numerico"
 
-#: builtin.c:3075
+#: builtin.c:3120
 #, c-format
 msgid "rshift(%f, %f): negative values will give strange results"
 msgstr "rshift(%f, %f): valori negativi daranno risultati strani"
 
-#: builtin.c:3077
+#: builtin.c:3122
 #, c-format
 msgid "rshift(%f, %f): fractional values will be truncated"
 msgstr "rshift(%f, %f): valori decimali saranno troncati"
 
-#: builtin.c:3079
+#: builtin.c:3124
 #, c-format
 msgid "rshift(%f, %f): too large shift value will give strange results"
 msgstr "rshift(%f, %f): valori troppo alti daranno risultati strani"
 
-#: builtin.c:3104 mpfr.c:968
+#: builtin.c:3149 mpfr.c:988
 msgid "and: called with less than two arguments"
 msgstr "and: chiamata con meno di due argomenti"
 
-#: builtin.c:3109
+#: builtin.c:3154
 #, c-format
 msgid "and: argument %d is non-numeric"
-msgstr "and: argomento %d non-numerico"
+msgstr "and: l'argomento %d non è numerico"
 
-#: builtin.c:3113
+#: builtin.c:3158
 #, c-format
 msgid "and: argument %d negative value %g will give strange results"
 msgstr "and: argomento %d, valore negativo %g darà risultati strani"
 
-#: builtin.c:3136 mpfr.c:1000
+#: builtin.c:3181 mpfr.c:1020
 msgid "or: called with less than two arguments"
 msgstr "or: chiamata con meno di due argomenti"
 
-#: builtin.c:3141
+#: builtin.c:3186
 #, c-format
 msgid "or: argument %d is non-numeric"
-msgstr "or: argomento %d non-numerico"
+msgstr "or: l'argomento %d non è numerico"
 
-#: builtin.c:3145
+#: builtin.c:3190
 #, c-format
 msgid "or: argument %d negative value %g will give strange results"
 msgstr "or: argomento %d, valore negativo %g darà risultati strani"
 
-#: builtin.c:3167 mpfr.c:1031
+#: builtin.c:3212 mpfr.c:1051
 msgid "xor: called with less than two arguments"
 msgstr "xor: chiamata con meno di due argomenti"
 
-#: builtin.c:3173
+#: builtin.c:3218
 #, c-format
 msgid "xor: argument %d is non-numeric"
-msgstr "xor: argomento %d non-numerico"
+msgstr "xor: l'argomento %d non è numerico"
 
-#: builtin.c:3177
+#: builtin.c:3222
 #, c-format
 msgid "xor: argument %d negative value %g will give strange results"
 msgstr "xor: argomento %d, valore negativo %g darà risultati strani"
 
-#: builtin.c:3202 mpfr.c:787
+#: builtin.c:3247 mpfr.c:807
 msgid "compl: received non-numeric argument"
-msgstr "compl: argomento non-numerico"
+msgstr "compl: l'argomento ricevuto non è numerico"
 
-#: builtin.c:3208
+#: builtin.c:3253
 #, c-format
 msgid "compl(%f): negative value will give strange results"
 msgstr "compl(%f): valore negativo, darà risultati strani"
 
-#: builtin.c:3210
+#: builtin.c:3255
 #, c-format
 msgid "compl(%f): fractional value will be truncated"
 msgstr "compl(%f): valori decimali saranno troncati"
 
-#: builtin.c:3379
+#: builtin.c:3424
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' non è una categoria `locale' valida"
 
+#: builtin.c:3611 mpfr.c:1209
+msgid "div: third argument is not an array"
+msgstr "div: terzo argomento non-vettoriale"
+
+#: builtin.c:3619 mpfr.c:1217
+msgid "div: received non-numeric first argument"
+msgstr "div: il primo argomento ricevuto non è numerico"
+
+#: builtin.c:3621 mpfr.c:1219
+msgid "div: received non-numeric second argument"
+msgstr "div: il secondo argomento ricevuto non è numerico"
+
+#: builtin.c:3630 mpfr.c:1253
+msgid "div: division by zero attempted"
+msgstr "div: tentativo di dividere per zero"
+
 #: command.y:225
 #, c-format
 msgid "Type (g)awk statement(s). End with the command \"end\"\n"
@@ -1141,7 +1172,7 @@ msgstr ""
 #: command.y:855
 msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
 msgstr ""
-"list [-|+|[nome-file:]num_linea|funzione|intervallo] - elenca riga/he "
+"list [-|+|[nome-file:]num_riga|funzione|intervallo] - elenca riga/he "
 "richiesta/e."
 
 #: command.y:857
@@ -1167,7 +1198,7 @@ msgstr "print var [var] - stampa valore di variabile/i o 
vettore/i."
 
 #: command.y:865
 msgid "printf format, [arg], ... - formatted output."
-msgstr "printf format, [arg], ... - output secondo formato specificato."
+msgstr "printf format, [arg], ... - output secondo formato."
 
 #: command.y:867
 msgid "quit - exit debugger."
@@ -1228,8 +1259,8 @@ msgid ""
 "until [[filename:]N|function] - execute until program reaches a different "
 "line or line N within current frame."
 msgstr ""
-"until [[nome-file:]N|funzione] - esegui finché il programma arriva una "
-"rigadifferente, o alla riga N nell'elemento di stack corrente."
+"until [[nome-file:]N|funzione] - esegui finché il programma arriva una riga "
+"differente, o alla riga N nell'elemento di stack corrente."
 
 #: command.y:895
 msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1243,40 +1274,48 @@ msgstr "up [N] - spostati di N elementi dello stack 
verso l'alto."
 msgid "watch var - set a watchpoint for a variable."
 msgstr "watch var - imposta un watchpoint per una variabile."
 
-#: command.y:1011 debug.c:401 msg.c:135
+#: command.y:901
+msgid ""
+"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
+"if N < 0) frames."
+msgstr ""
+"dove [N] - (equivalente a backtrace) stampa tracia di tutti gli elementi o "
+"degli N più interni (più esterni se N <0)"
+
+#: command.y:1013 debug.c:401 msg.c:135
 #, c-format
 msgid "error: "
 msgstr "errore: "
 
-#: command.y:1051
+#: command.y:1053
 #, c-format
 msgid "can't read command (%s)\n"
 msgstr "non riesco a leggere comando (%s)\n"
 
-#: command.y:1065
+#: command.y:1067
 #, c-format
 msgid "can't read command (%s)"
 msgstr "non riesco a leggere comando (%s)"
 
-#: command.y:1116
+#: command.y:1118
 msgid "invalid character in command"
 msgstr "carattere non valido nel comando"
 
-#: command.y:1152
+#: command.y:1154
 #, c-format
 msgid "unknown command - \"%.*s\", try help"
 msgstr "comando sconosciuto - \"%.*s\", vedere help"
 
-#: command.y:1222
+#: command.y:1224
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: command.y:1284
+#: command.y:1286
 msgid "invalid character"
 msgstr "carattere non valido"
 
-#: command.y:1455
+#: command.y:1457
 #, c-format
 msgid "undefined command: %s\n"
 msgstr "comando non definito: %s\n"
@@ -1488,17 +1527,17 @@ msgstr "[\"%s\"] non presente nel vettore `%s\n"
 msgid "`%s[\"%s\"]' is not an array\n"
 msgstr "`%s[\"%s\"]' non è un vettore\n"
 
-#: debug.c:1236 debug.c:4964
+#: debug.c:1236 debug.c:4965
 #, c-format
 msgid "`%s' is not a scalar variable"
 msgstr "`%s' non è una variabile scalare"
 
-#: debug.c:1258 debug.c:4994
+#: debug.c:1258 debug.c:4995
 #, c-format
 msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
 msgstr "tentativo di usare vettore `%s[\"%s\"]' in un contesto scalare"
 
-#: debug.c:1280 debug.c:5005
+#: debug.c:1280 debug.c:5006
 #, c-format
 msgid "attempt to use scalar `%s[\"%s\"]' as array"
 msgstr "tentativo di usare scalare `%s[\"%s\"]' come vettore"
@@ -1776,99 +1815,99 @@ msgstr "'finish' not significativo per salti non-locali 
'%s'\n"
 msgid "'until' not meaningful with non-local jump '%s'\n"
 msgstr "'until' not significativo per salti non-locali '%s'\n"
 
-#: debug.c:4185
+#: debug.c:4186
 msgid "\t------[Enter] to continue or q [Enter] to quit------"
 msgstr "\t------[Invio] per continuare o q [Invio] per uscire------"
 
-#: debug.c:4186
+#: debug.c:4187
 msgid "q"
 msgstr "q"
 
-#: debug.c:5001
+#: debug.c:5002
 #, c-format
 msgid "[\"%s\"] not in array `%s'"
 msgstr "[\"%s\"] non presente nel vettore `%s'"
 
-#: debug.c:5207
+#: debug.c:5208
 #, c-format
 msgid "sending output to stdout\n"
 msgstr "output inviato a stdout\n"
 
-#: debug.c:5247
+#: debug.c:5248
 msgid "invalid number"
 msgstr "numero non valido"
 
-#: debug.c:5381
+#: debug.c:5382
 #, c-format
 msgid "`%s' not allowed in current context; statement ignored"
 msgstr "`%s' non consentito nel contesto corrente; istruzione ignorata"
 
-#: debug.c:5389
+#: debug.c:5390
 msgid "`return' not allowed in current context; statement ignored"
 msgstr "`return' non consentito nel contesto corrente; istruzione ignorata"
 
-#: debug.c:5590
+#: debug.c:5605
 #, c-format
 msgid "No symbol `%s' in current context"
 msgstr "Simbolo `%s' non esiste nel contesto corrente"
 
-#: dfa.c:1118 dfa.c:1121 dfa.c:1142 dfa.c:1150 dfa.c:1162 dfa.c:1197
-#: dfa.c:1206 dfa.c:1209 dfa.c:1214 dfa.c:1228 dfa.c:1275
+#: dfa.c:1051 dfa.c:1054 dfa.c:1073 dfa.c:1083 dfa.c:1095 dfa.c:1131
+#: dfa.c:1140 dfa.c:1143 dfa.c:1148 dfa.c:1162 dfa.c:1210
 msgid "unbalanced ["
 msgstr "[ non chiusa"
 
-#: dfa.c:1174
+#: dfa.c:1107
 msgid "invalid character class"
 msgstr "character class non valida"
 
-#: dfa.c:1316
+#: dfa.c:1253
 msgid "character class syntax is [[:space:]], not [:space:]"
 msgstr "sintassi character class è [[:spazio:]], non [:spazio:]"
 
-#: dfa.c:1366
+#: dfa.c:1315
 msgid "unfinished \\ escape"
 msgstr "sequenza escape \\ non completa"
 
-#: dfa.c:1513 regcomp.c:161
-msgid "Invalid content of \\{\\}"
-msgstr "Contenuto di \\{\\} non valido"
+#: dfa.c:1462
+msgid "invalid content of \\{\\}"
+msgstr "contenuto di \\{\\} non valido"
 
-#: dfa.c:1516 regcomp.c:176
-msgid "Regular expression too big"
-msgstr "Espressione regolare troppo complessa"
+#: dfa.c:1465
+msgid "regular expression too big"
+msgstr "espressione regolare troppo complessa"
 
-#: dfa.c:1936
+#: dfa.c:1900
 msgid "unbalanced ("
 msgstr "( non chiusa"
 
-#: dfa.c:2062
+#: dfa.c:2026
 msgid "no syntax specified"
 msgstr "nessuna sintassi specificata"
 
-#: dfa.c:2070
+#: dfa.c:2034
 msgid "unbalanced )"
 msgstr ") non aperta"
 
-#: eval.c:394
+#: eval.c:397
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tipo nodo sconosciuto %d"
 
-#: eval.c:405 eval.c:419
+#: eval.c:408 eval.c:422
 #, c-format
 msgid "unknown opcode %d"
 msgstr "codice operativo sconosciuto %d"
 
-#: eval.c:416
+#: eval.c:419
 #, c-format
 msgid "opcode %s not an operator or keyword"
 msgstr "codice operativo %s non è un operatore o una parola chiave"
 
-#: eval.c:472
+#: eval.c:475
 msgid "buffer overflow in genflags2str"
 msgstr "superamento limiti buffer in 'genflags2str'"
 
-#: eval.c:675
+#: eval.c:677
 #, c-format
 msgid ""
 "\n"
@@ -1879,216 +1918,216 @@ msgstr ""
 "\t# `Stack' (Pila) Chiamate Funzione:\n"
 "\n"
 
-#: eval.c:704
+#: eval.c:706
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' è un'estensione gawk"
 
-#: eval.c:736
+#: eval.c:738
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' è un'estensione gawk"
 
-#: eval.c:794
+#: eval.c:796
 #, c-format
 msgid "BINMODE value `%s' is invalid, treated as 3"
 msgstr "valore di BINMODE `%s' non valido, considerato come 3"
 
-#: eval.c:885
+#: eval.c:913
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "specificazione invalida `%sFMT' `%s'"
 
-#: eval.c:969
+#: eval.c:997
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
 
-#: eval.c:1147
+#: eval.c:1175
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "riferimento ad argomento non inizializzato `%s'"
 
-#: eval.c:1148
+#: eval.c:1176
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "riferimento a variabile non inizializzata `%s'"
 
-#: eval.c:1166
+#: eval.c:1194
 msgid "attempt to field reference from non-numeric value"
 msgstr "tentativo di riferimento a un campo da valore non-numerico"
 
-#: eval.c:1168
+#: eval.c:1196
 msgid "attempt to field reference from null string"
 msgstr "tentativo di riferimento a un campo da una stringa nulla"
 
-#: eval.c:1176
+#: eval.c:1204
 #, c-format
 msgid "attempt to access field %ld"
 msgstr "tentativo di accedere al campo %ld"
 
-#: eval.c:1185
+#: eval.c:1213
 #, c-format
 msgid "reference to uninitialized field `$%ld'"
 msgstr "riferimento a campo non inizializzato `$%ld'"
 
-#: eval.c:1272
+#: eval.c:1300
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "funzione `%s' chiamata con più argomenti di quelli previsti"
 
-#: eval.c:1473
+#: eval.c:1501
 #, c-format
 msgid "unwind_stack: unexpected type `%s'"
 msgstr "unwind_stack: tipo non previsto `%s'"
 
-#: eval.c:1569
+#: eval.c:1597
 msgid "division by zero attempted in `/='"
 msgstr "divisione per zero tentata in `/='"
 
-#: eval.c:1576
+#: eval.c:1604
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "divisione per zero tentata in `%%='"
 
-#: ext.c:89 ext.c:171
+#: ext.c:65 ext.c:147
 msgid "extensions are not allowed in sandbox mode"
 msgstr "le estensioni non sono consentite in modo `sandbox'"
 
-#: ext.c:92
+#: ext.c:68
 msgid "-l / @load are gawk extensions"
 msgstr "-l / @load sono estensioni gawk"
 
-#: ext.c:95
+#: ext.c:71
 msgid "load_ext: received NULL lib_name"
-msgstr "load_ext: nome libreria ricevuto è NULL"
+msgstr "load_ext: il nome libreria ricevuto è NULL"
 
-#: ext.c:98
+#: ext.c:74
 #, c-format
 msgid "load_ext: cannot open library `%s' (%s)\n"
 msgstr "load_ext: non riesco ad aprire libreria `%s' (%s)\n"
 
-#: ext.c:104
+#: ext.c:80
 #, c-format
 msgid ""
 "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
 msgstr ""
 "load_ext: libreria `%s': non definisce `plugin_is_GPL_compatible' (%s)\n"
 
-#: ext.c:110
+#: ext.c:86
 #, c-format
 msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
 msgstr "load_ext: libreria `%s': non riesco a chiamare funzione `%s' (%s)\n"
 
-#: ext.c:114
+#: ext.c:90
 #, c-format
 msgid "load_ext: library `%s' initialization routine `%s' failed\n"
 msgstr ""
 "load_ext: libreria `%s' routine di inizializzazione `%s' non riuscita\n"
 
-#: ext.c:174
+#: ext.c:150
 msgid "`extension' is a gawk extension"
 msgstr "`extension' è un'estensione gawk"
 
-#: ext.c:177
+#: ext.c:153
 msgid "extension: received NULL lib_name"
-msgstr "extension: nome libreria ricevuto è NULL"
+msgstr "extension: il nome libreria ricevuto è NULL"
 
-#: ext.c:180
+#: ext.c:156
 #, c-format
 msgid "extension: cannot open library `%s' (%s)"
 msgstr "extension: non riesco ad aprire libreria `%s' (%s)"
 
-#: ext.c:186
+#: ext.c:162
 #, c-format
 msgid ""
 "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
 msgstr ""
 "extension: libreria `%s': non definisce `plugin_is_GPL_compatible' (%s)"
 
-#: ext.c:190
+#: ext.c:166
 #, c-format
 msgid "extension: library `%s': cannot call function `%s' (%s)"
 msgstr "extension: libreria `%s': non riesco a chiamare funzione `%s' (%s)"
 
-#: ext.c:221
+#: ext.c:197
 msgid "make_builtin: missing function name"
 msgstr "make_builtin: manca nome di funzione"
 
-#: ext.c:236
+#: ext.c:212
 #, c-format
 msgid "make_builtin: can't redefine function `%s'"
 msgstr "make_builtin: non riesco a ridefinire funzione `%s'"
 
-#: ext.c:240
+#: ext.c:216
 #, c-format
 msgid "make_builtin: function `%s' already defined"
 msgstr "make_builtin: funzione `%s' già definita"
 
-#: ext.c:244
+#: ext.c:220
 #, c-format
 msgid "make_builtin: function name `%s' previously defined"
 msgstr "make_builtin: funzione di nome `%s' definita in precedenza"
 
-#: ext.c:246
+#: ext.c:222
 #, c-format
 msgid "make_builtin: can't use gawk built-in `%s' as function name"
 msgstr ""
 "make_builtin: nome funzione interna gawk `%s' non ammesso come nome funzione"
 
-#: ext.c:249 ext.c:304
+#: ext.c:225 ext.c:280
 #, c-format
 msgid "make_builtin: negative argument count for function `%s'"
 msgstr "make_builtin: contatore argomenti negativo per la funzione `%s'"
 
-#: ext.c:276
+#: ext.c:252
 msgid "extension: missing function name"
 msgstr "extension: manca nome di funzione"
 
-#: ext.c:279 ext.c:283
+#: ext.c:255 ext.c:259
 #, c-format
 msgid "extension: illegal character `%c' in function name `%s'"
 msgstr "extension: carattere non ammesso `%c' nel nome di funzione `%s'"
 
-#: ext.c:291
+#: ext.c:267
 #, c-format
 msgid "extension: can't redefine function `%s'"
 msgstr "extension: non riesco a ridefinire funzione `%s'"
 
-#: ext.c:295
+#: ext.c:271
 #, c-format
 msgid "extension: function `%s' already defined"
 msgstr "extension: funzione `%s' già definita"
 
-#: ext.c:299
+#: ext.c:275
 #, c-format
 msgid "extension: function name `%s' previously defined"
 msgstr "extension: funzione di nome `%s' definita in precedenza"
 
-#: ext.c:301
+#: ext.c:277
 #, c-format
 msgid "extension: can't use gawk built-in `%s' as function name"
 msgstr ""
 "extension: nome funzione interna gawk `%s' non ammesso come nome funzione"
 
-#: ext.c:375
+#: ext.c:351
 #, c-format
 msgid "function `%s' defined to take no more than %d argument(s)"
 msgstr "funzione `%s' definita per avere al massimo %d argomenti(o)"
 
-#: ext.c:378
+#: ext.c:354
 #, c-format
 msgid "function `%s': missing argument #%d"
 msgstr "funzione `%s': manca argomento #%d"
 
-#: ext.c:395
+#: ext.c:371
 #, c-format
 msgid "function `%s': argument #%d: attempt to use scalar as an array"
 msgstr "funzione `%s': argomento #%d: tentativo di usare scalare come vettore"
 
-#: ext.c:399
+#: ext.c:375
 #, c-format
 msgid "function `%s': argument #%d: attempt to use array as a scalar"
 msgstr "funzione `%s': argomento #%d: tentativo di usare vettore come scalare"
 
-#: ext.c:413
+#: ext.c:389
 msgid "dynamic loading of library not supported"
 msgstr "caricamento dinamico di libreria non supportato"
 
@@ -2232,7 +2271,7 @@ msgstr "wait: chiamata con troppi argomenti"
 msgid "inplace_begin: in-place editing already active"
 msgstr "inplace_begin: modifica in-place già attiva"
 
-#: extension/inplace.c:133 extension/inplace.c:207
+#: extension/inplace.c:133 extension/inplace.c:210
 #, c-format
 msgid "inplace_begin: expects 2 arguments but called with %d"
 msgstr "inplace_begin: 2 argumenti richiesti, ma chiamata con %d"
@@ -2263,56 +2302,56 @@ msgstr "inplace_begin: `%s' non 
 msgid "inplace_begin: mkstemp(`%s') failed (%s)"
 msgstr "inplace_begin: mkstemp(`%s') non riuscita (%s)"
 
-#: extension/inplace.c:178
+#: extension/inplace.c:181
 #, c-format
 msgid "inplace_begin: chmod failed (%s)"
 msgstr "inplace_begin: chmod non riuscita (%s)"
 
-#: extension/inplace.c:185
+#: extension/inplace.c:188
 #, c-format
 msgid "inplace_begin: dup(stdout) failed (%s)"
 msgstr "inplace_begin: dup(stdout) non riuscita (%s)"
 
-#: extension/inplace.c:188
+#: extension/inplace.c:191
 #, c-format
 msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
 msgstr "inplace_begin: dup2(%d, stdout) non riuscita (%s)"
 
-#: extension/inplace.c:191
+#: extension/inplace.c:194
 #, c-format
 msgid "inplace_begin: close(%d) failed (%s)"
 msgstr "inplace_begin: close(%d) non riuscita (%s)"
 
-#: extension/inplace.c:210
+#: extension/inplace.c:213
 msgid "inplace_end: cannot retrieve 1st argument as a string filename"
 msgstr ""
 "inplace_end: non riesco a trovare il 1° argomento come stringa nome-file"
 
-#: extension/inplace.c:217
+#: extension/inplace.c:220
 msgid "inplace_end: in-place editing not active"
 msgstr "inplace_end: modifica in-place non attiva"
 
-#: extension/inplace.c:223
+#: extension/inplace.c:226
 #, c-format
 msgid "inplace_end: dup2(%d, stdout) failed (%s)"
 msgstr "inplace_end: dup2(%d, stdout) non riuscita (%s)"
 
-#: extension/inplace.c:226
+#: extension/inplace.c:229
 #, c-format
 msgid "inplace_end: close(%d) failed (%s)"
 msgstr "inplace_end: close(%d) non riuscita (%s)"
 
-#: extension/inplace.c:230
+#: extension/inplace.c:233
 #, c-format
 msgid "inplace_end: fsetpos(stdout) failed (%s)"
 msgstr "inplace_end: fsetpos(stdout) non riuscita (%s)"
 
-#: extension/inplace.c:243
+#: extension/inplace.c:246
 #, c-format
 msgid "inplace_end: link(`%s', `%s') failed (%s)"
 msgstr "inplace_end: link(`%s', `%s') non riuscita (%s)"
 
-#: extension/inplace.c:253
+#: extension/inplace.c:256
 #, c-format
 msgid "inplace_end: rename(`%s', `%s') failed (%s)"
 msgstr "inplace_end: rename(`%s', `%s') non riuscito (%s)"
@@ -2426,90 +2465,90 @@ msgstr "sleep: l'argomento 
 msgid "sleep: not supported on this platform"
 msgstr "sleep: non supportato in questa architettura"
 
-#: field.c:345
+#: field.c:346
 msgid "NF set to negative value"
 msgstr "NF impostato a un valore negativo"
 
-#: field.c:971 field.c:978 field.c:982
+#: field.c:958 field.c:965 field.c:969
 msgid "split: fourth argument is a gawk extension"
 msgstr "split: il quarto argomento è un'estensione gawk"
 
-#: field.c:975
+#: field.c:962
 msgid "split: fourth argument is not an array"
 msgstr "split: quarto argomento non-vettoriale"
 
-#: field.c:989
+#: field.c:976
 msgid "split: second argument is not an array"
 msgstr "split: secondo argomento non-vettoriale"
 
-#: field.c:993
+#: field.c:980
 msgid "split: cannot use the same array for second and fourth args"
 msgstr ""
 "split: non si può usare un unico vettore come secondo e quarto argomento"
 
-#: field.c:998
+#: field.c:985
 msgid "split: cannot use a subarray of second arg for fourth arg"
 msgstr ""
 "split: non consentito un quarto argomento che sia un sottovettore del "
 "secondo argomento"
 
-#: field.c:1001
+#: field.c:988
 msgid "split: cannot use a subarray of fourth arg for second arg"
 msgstr ""
 "split: non consentito un secondo argomento che sia un sottovettore del "
 "quarto argomento"
 
-#: field.c:1032
+#: field.c:1019
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: la stringa nulla come terzo arg. è un'estensione gawk"
 
-#: field.c:1072
+#: field.c:1059
 msgid "patsplit: fourth argument is not an array"
 msgstr "patsplit: secondo argomento non-vettoriale"
 
-#: field.c:1077
+#: field.c:1064
 msgid "patsplit: second argument is not an array"
 msgstr "patsplit: secondo argomento non-vettoriale"
 
-#: field.c:1083
+#: field.c:1070
 msgid "patsplit: third argument must be non-null"
 msgstr "patsplit: il terzo argomento non può essere nullo"
 
-#: field.c:1087
+#: field.c:1074
 msgid "patsplit: cannot use the same array for second and fourth args"
 msgstr ""
 "patsplit: non si può usare un unico vettore come secondo e quarto argomento"
 
-#: field.c:1092
+#: field.c:1079
 msgid "patsplit: cannot use a subarray of second arg for fourth arg"
 msgstr ""
 "patsplit: non consentito un quarto argomento che sia un sottovettore del "
 "secondo argomento"
 
-#: field.c:1095
+#: field.c:1082
 msgid "patsplit: cannot use a subarray of fourth arg for second arg"
 msgstr ""
 "patsplit: non consentito un secondo argomento che sia un sottovettore del "
 "quarto argomento"
 
-#: field.c:1133
+#: field.c:1120
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' è un'estensione gawk"
 
-#: field.c:1197
+#: field.c:1184
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
 
-#: field.c:1270
+#: field.c:1257
 msgid "null string for `FS' is a gawk extension"
 msgstr "la stringa nulla usata come `FS' è un'estensione gawk"
 
-#: field.c:1274
+#: field.c:1261
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
 
-#: field.c:1393
+#: field.c:1380
 msgid "`FPAT' is a gawk extension"
 msgstr "`FPAT' è un'estensione gawk"
 
@@ -2525,20 +2564,20 @@ msgstr "node_to_awk_value: ricevuto nodo nullo"
 msgid "node_to_awk_value: received null val"
 msgstr "node_to_awk_value: ricevuto valore nullo"
 
-#: gawkapi.c:807
+#: gawkapi.c:810
 msgid "remove_element: received null array"
 msgstr "remove_element: ricevuto vettore nullo"
 
-#: gawkapi.c:810
+#: gawkapi.c:813
 msgid "remove_element: received null subscript"
 msgstr "remove_element: ricevuto indice nullo"
 
-#: gawkapi.c:947
+#: gawkapi.c:950
 #, c-format
 msgid "api_flatten_array: could not convert index %d\n"
 msgstr "api_flatten_array: non sono riuscito a convertire l'indice %d\n"
 
-#: gawkapi.c:952
+#: gawkapi.c:955
 #, c-format
 msgid "api_flatten_array: could not convert value %d\n"
 msgstr "api_flatten_array: non sono riuscito a convertire il valore %d\n"
@@ -2598,293 +2637,275 @@ msgstr "%s: l'opzione '-W %s' non ammette un 
argomento\n"
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: l'opzione '-W %s' richiede un argomento\n"
 
-#: io.c:392
+#: io.c:423
 #, c-format
 msgid "command line argument `%s' is a directory: skipped"
-msgstr "l'argomento in linea comando `%s' è una directory: saltato"
+msgstr "l'argomento in riga comando `%s' è una directory: ignorata"
 
-#: io.c:395 io.c:513
+#: io.c:426 io.c:544
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "non riesco ad aprire file `%s' in lettura (%s)"
 
-#: io.c:640
+#: io.c:671
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "chiusura di fd %d (`%s') non riuscita (%s)"
 
-#: io.c:716
+#: io.c:749
 msgid "redirection not allowed in sandbox mode"
-msgstr "re-direzione non consentita in modo `sandbox'"
+msgstr "ri-direzione non consentita in modo `sandbox'"
 
-#: io.c:750
+#: io.c:783
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
-msgstr "espressione nella re-direzione `%s' ha solo un valore numerico"
+msgstr "espressione nella ri-direzione `%s' ha solo un valore numerico"
 
-#: io.c:756
+#: io.c:789
 #, c-format
 msgid "expression for `%s' redirection has null string value"
-msgstr "espressione nella re-direzione `%s' ha per valore la stringa nulla"
+msgstr "espressione nella ri-direzione `%s' ha per valore la stringa nulla"
 
-#: io.c:761
+#: io.c:794
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
-"nome-file `%s' per la re-direzione `%s' può essere il risultato di una "
+"nome-file `%s' per la ri-direzione `%s' può essere il risultato di una "
 "espressione logica"
 
-#: io.c:809
+#: io.c:842
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
 
-#: io.c:863
+#: io.c:896
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "non riesco ad aprire `pipe' `%s' in scrittura (%s)"
 
-#: io.c:873
+#: io.c:906
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "non riesco ad aprire `pipe' `%s' in lettura (%s)"
 
-#: io.c:904
+#: io.c:937
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
 "non riesco ad aprire `pipe' bidirezionale `%s' in lettura/scrittura (%s)"
 
-#: io.c:986
+#: io.c:1019
 #, c-format
 msgid "can't redirect from `%s' (%s)"
-msgstr "non riesco a re-dirigere da `%s' (%s)"
+msgstr "non riesco a ri-dirigere da `%s' (%s)"
 
-#: io.c:989
+#: io.c:1022
 #, c-format
 msgid "can't redirect to `%s' (%s)"
-msgstr "non riesco a re-dirigere a `%s' (%s)"
+msgstr "non riesco a ri-dirigere a `%s' (%s)"
 
-#: io.c:1040
+#: io.c:1073
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "numero massimo consentito di file aperti raggiunto: comincio a riutilizzare "
 "i descrittori di file"
 
-#: io.c:1056
+#: io.c:1089
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "chiusura di `%s' non riuscita (%s)."
 
-#: io.c:1064
+#: io.c:1097
 msgid "too many pipes or input files open"
 msgstr "troppe `pipe' o file di input aperti"
 
-#: io.c:1086
+#: io.c:1119
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: il secondo argomento deve essere `a' o `da'"
 
-#: io.c:1103
+#: io.c:1136
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: `%.*s' non è un file aperto, una `pipe' o un co-processo"
 
-#: io.c:1108
+#: io.c:1141
 msgid "close of redirection that was never opened"
-msgstr "chiusura di una re-direzione mai aperta"
+msgstr "chiusura di una ri-direzione mai aperta"
 
-#: io.c:1205
+#: io.c:1238
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr "close: re-direzione `%s' non aperta con `|&', ignoro secondo argomento"
+msgstr "close: ri-direzione `%s' non aperta con `|&', ignoro secondo argomento"
 
-#: io.c:1222
+#: io.c:1255
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "errore ritornato (%d) dalla chiusura della `pipe' `%s' (%s)"
 
-#: io.c:1225
+#: io.c:1258
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
 
-#: io.c:1245
+#: io.c:1278
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per `socket' `%s'"
 
-#: io.c:1248
+#: io.c:1281
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
 
-#: io.c:1251
+#: io.c:1284
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per `pipe' `%s'"
 
-#: io.c:1254
+#: io.c:1287
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per file `%s'"
 
-#: io.c:1284 io.c:1342 main.c:864 main.c:906
+#: io.c:1317 io.c:1375 main.c:615 main.c:657
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "errore scrivendo 'standard output' (%s)"
 
-#: io.c:1289 io.c:1348 main.c:866
+#: io.c:1322 io.c:1381 main.c:617
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "errore scrivendo 'standard error' (%s)"
 
-#: io.c:1297
+#: io.c:1330
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "scaricamento di `pipe' `%s' non riuscito (%s)."
 
-#: io.c:1300
+#: io.c:1333
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "scaricamento da co-processo di `pipe' a `%s' non riuscito (%s)."
 
-#: io.c:1303
+#: io.c:1336
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "scaricamento di file `%s' non riuscito (%s)."
 
-#: io.c:1420
+#: io.c:1453
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "porta locale %s invalida in `/inet'"
 
-#: io.c:1438
+#: io.c:1471
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "host remoto e informazione di porta (%s, %s) invalidi"
 
-#: io.c:1590
-#, c-format
-msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "nessuno protocollo (noto) specificato nel filename speciale `%s'"
-
-#: io.c:1604
-#, c-format
-msgid "special file name `%s' is incomplete"
-msgstr "nome-file speciale `%s' incompleto"
-
-#: io.c:1621
-msgid "must supply a remote hostname to `/inet'"
-msgstr "va fornito nome di `host' remoto a `/inet'"
-
-#: io.c:1639
-msgid "must supply a remote port to `/inet'"
-msgstr "va fornita porta remota a `/inet'"
-
-#: io.c:1685
+#: io.c:1673
 msgid "TCP/IP communications are not supported"
 msgstr "comunicazioni TCP/IP non supportate"
 
-#: io.c:1867
+#: io.c:1854
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "non riesco ad aprire `%s', modo `%s'"
 
-#: io.c:1917
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "close di `pty' principale non riuscita (%s)"
 
-#: io.c:1919 io.c:2105 io.c:2305
+#: io.c:1906 io.c:2092 io.c:2293
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "close di `stdout' nel processo-figlio non riuscita (%s)"
 
-#: io.c:1922
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "trasferimento di `pty' secondaria a `stdout' nel processo-figlio non "
 "riuscita (dup: %s)"
 
-#: io.c:1924 io.c:2110
+#: io.c:1911 io.c:2097
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "close di `stdin' nel processo-figlio non riuscita (%s)"
 
-#: io.c:1927
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio non riuscito "
 "(dup: %s)"
 
-#: io.c:1929 io.c:1951
+#: io.c:1916 io.c:1938
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "close di 'pty' secondaria non riuscita (%s)"
 
-#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
+#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
 "passaggio di `pipe' a `stdout' nel processo-figlio non riuscito (dup: %s)"
 
-#: io.c:2047 io.c:2113
+#: io.c:2034 io.c:2100
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 "passaggio di pipe a `stdin' nel processo-figlio  non riuscito (dup: %s)"
 
-#: io.c:2073 io.c:2298
+#: io.c:2060 io.c:2286
 msgid "restoring stdout in parent process failed\n"
 msgstr "ripristino di `stdout' nel processo-padre non riuscito\n"
 
-#: io.c:2081
+#: io.c:2068
 msgid "restoring stdin in parent process failed\n"
 msgstr "ripristino di `stdin' nel processo-padre non riuscito\n"
 
-#: io.c:2116 io.c:2310 io.c:2324
+#: io.c:2103 io.c:2298 io.c:2313
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "close di 'pipe' non riuscita (%s)"
 
-#: io.c:2174
+#: io.c:2162
 msgid "`|&' not supported"
 msgstr "`|&' non supportato"
 
-#: io.c:2261
+#: io.c:2249
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "non riesco ad aprire `pipe' `%s' (%s)"
 
-#: io.c:2318
+#: io.c:2307
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
 
-#: io.c:2790
+#: io.c:2734
 msgid "register_input_parser: received NULL pointer"
 msgstr "register_input_parser: ricevuto puntatore NULL"
 
-#: io.c:2818
+#: io.c:2762
 #, c-format
 msgid "input parser `%s' conflicts with previously installed input parser `%s'"
 msgstr ""
 "input parser `%s' in conflitto con l'input parser `%s' installato in "
 "precedenza"
 
-#: io.c:2825
+#: io.c:2769
 #, c-format
 msgid "input parser `%s' failed to open `%s'"
 msgstr "l'input parser `%s' non è riuscito ad aprire `%s'"
 
-#: io.c:2845
+#: io.c:2789
 msgid "register_output_wrapper: received NULL pointer"
 msgstr "register_output_wrapper: ricevuto puntatore NULL"
 
-#: io.c:2873
+#: io.c:2817
 #, c-format
 msgid ""
 "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
@@ -2892,16 +2913,16 @@ msgstr ""
 "output wrapper `%s' in conflitto con l'output wrapper `%s' installato in "
 "precedenza"
 
-#: io.c:2880
+#: io.c:2824
 #, c-format
 msgid "output wrapper `%s' failed to open `%s'"
 msgstr "l'output wrapper `%s' non è riuscito ad aprire `%s'"
 
-#: io.c:2901
+#: io.c:2845
 msgid "register_output_processor: received NULL pointer"
 msgstr "register_output_processor: ricevuto puntatore NULL"
 
-#: io.c:2930
+#: io.c:2874
 #, c-format
 msgid ""
 "two-way processor `%s' conflicts with previously installed two-way processor "
@@ -2910,209 +2931,195 @@ msgstr ""
 "processore doppio `%s' in conflitto con il processore doppio installato in "
 "precedenza `%s'"
 
-#: io.c:2939
+#: io.c:2883
 #, c-format
 msgid "two way processor `%s' failed to open `%s'"
 msgstr "il processore doppio `%s' non è riuscito ad aprire `%s'"
 
-#: io.c:3064
+#: io.c:3008
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "file dati `%s' vuoto"
 
-#: io.c:3106 io.c:3114
+#: io.c:3050 io.c:3058
 msgid "could not allocate more input memory"
 msgstr "non riesco ad allocare ulteriore memoria per l'input"
 
-#: io.c:3682
+#: io.c:3636
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "valore multicarattere per `RS' è un'estensione gawk"
 
-#: io.c:3771
+#: io.c:3783
 msgid "IPv6 communication is not supported"
 msgstr "comunicazioni IPv6 non supportate"
 
-#: main.c:405
-msgid "empty argument to `-e/--source' ignored"
-msgstr "argomento di `-e/--source' nullo, ignorato"
-
-#: main.c:495
-#, c-format
-msgid "%s: option `-W %s' unrecognized, ignored\n"
-msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
-
-#: main.c:541
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
-
-#: main.c:562
+#: main.c:309
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
 
-#: main.c:568
+#: main.c:315
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' annulla `--traditional'"
 
-#: main.c:579
+#: main.c:326
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
 
-#: main.c:583
+#: main.c:330
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "eseguire %s con `setuid' root può essere un rischio per la sicurezza"
 
-#: main.c:588
+#: main.c:334
 msgid "`--posix' overrides `--characters-as-bytes'"
 msgstr "`--posix' annulla `--characters-as-bytes'"
 
-#: main.c:647
+#: main.c:392
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "non è possibile impostare modalità binaria su `stdin'(%s)"
 
-#: main.c:650
+#: main.c:395
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "non è possibile impostare modalità binaria su `stdout'(%s)"
 
-#: main.c:652
+#: main.c:397
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "non è possibile impostare modalità binaria su `stderr'(%s)"
 
-#: main.c:710
+#: main.c:457
 msgid "no program text at all!"
 msgstr "manca del tutto il testo del programma!"
 
-#: main.c:799
+#: main.c:550
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f file-prog. [--] file ...\n"
 
-#: main.c:801
+#: main.c:552
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n"
 
-#: main.c:806
+#: main.c:557
 msgid "POSIX options:\t\tGNU long options: (standard)\n"
 msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n"
 
-#: main.c:807
+#: main.c:558
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fileprog\t\t--file=file-prog.\n"
 
-#: main.c:808
+#: main.c:559
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:809
+#: main.c:560
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=valore\t\t--assign=var=valore\n"
 
-#: main.c:810
+#: main.c:561
 msgid "Short options:\t\tGNU long options: (extensions)\n"
 msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n"
 
-#: main.c:811
+#: main.c:562
 msgid "\t-b\t\t\t--characters-as-bytes\n"
 msgstr "\t-b\t\t\t--characters-as-bytes\n"
 
-#: main.c:812
+#: main.c:563
 msgid "\t-c\t\t\t--traditional\n"
 msgstr "\t-c\t\t\t--traditional\n"
 
-#: main.c:813
+#: main.c:564
 msgid "\t-C\t\t\t--copyright\n"
 msgstr "\t-C\t\t\t--copyright\n"
 
-#: main.c:814
+#: main.c:565
 msgid "\t-d[file]\t\t--dump-variables[=file]\n"
 msgstr "\t-d[file]\t\t--dump-variables[=file]\n"
 
-#: main.c:815
+#: main.c:566
 msgid "\t-D[file]\t\t--debug[=file]\n"
 msgstr "\t-D[file]\t\t--debug[=file]\n"
 
-#: main.c:816
+#: main.c:567
 msgid "\t-e 'program-text'\t--source='program-text'\n"
 msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n"
 
-#: main.c:817
+#: main.c:568
 msgid "\t-E file\t\t\t--exec=file\n"
 msgstr "\t-E file\t\t\t--exec=file\n"
 
-#: main.c:818
+#: main.c:569
 msgid "\t-g\t\t\t--gen-pot\n"
 msgstr "\t-g\t\t\t--gen-pot\n"
 
-#: main.c:819
+#: main.c:570
 msgid "\t-h\t\t\t--help\n"
 msgstr "\t-h\t\t\t--help\n"
 
-#: main.c:820
+#: main.c:571
 msgid "\t-i includefile\t\t--include=includefile\n"
 msgstr "\t-i include_file\t\t--include=include_file\n"
 
-#: main.c:821
+#: main.c:572
 msgid "\t-l library\t\t--load=library\n"
 msgstr "\t-l libreria\t\t--load=libreria\n"
 
-#: main.c:822
-msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
-msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-
-#: main.c:823
-msgid "\t-n\t\t\t--non-decimal-data\n"
-msgstr "\t-n\t\t\t--non-decimal-data\n"
+#: main.c:573
+msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
+msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
 
-#: main.c:824
+#: main.c:574
 msgid "\t-M\t\t\t--bignum\n"
 msgstr "\t-M\t\t\t--bignum\n"
 
-#: main.c:825
+#: main.c:575
 msgid "\t-N\t\t\t--use-lc-numeric\n"
 msgstr "\t-N\t\t\t--use-lc-numeric\n"
 
-#: main.c:826
+#: main.c:576
+msgid "\t-n\t\t\t--non-decimal-data\n"
+msgstr "\t-n\t\t\t--non-decimal-data\n"
+
+#: main.c:577
 msgid "\t-o[file]\t\t--pretty-print[=file]\n"
 msgstr "\t-o[file]\t\t--pretty-print[=file]\n"
 
-#: main.c:827
+#: main.c:578
 msgid "\t-O\t\t\t--optimize\n"
 msgstr "\t-O\t\t\t--optimize\n"
 
-#: main.c:828
+#: main.c:579
 msgid "\t-p[file]\t\t--profile[=file]\n"
 msgstr "\t-p[file]\t\t--profile[=file]\n"
 
-#: main.c:829
+#: main.c:580
 msgid "\t-P\t\t\t--posix\n"
 msgstr "\t-P\t\t\t--posix\n"
 
-#: main.c:830
+#: main.c:581
 msgid "\t-r\t\t\t--re-interval\n"
 msgstr "\t-r\t\t\t--re-interval\n"
 
-#: main.c:831
+#: main.c:582
 msgid "\t-S\t\t\t--sandbox\n"
 msgstr "\t-S\t\t\t--sandbox\n"
 
-#: main.c:832
+#: main.c:583
 msgid "\t-t\t\t\t--lint-old\n"
 msgstr "\t-t\t\t\t--lint-old\n"
 
-#: main.c:833
+#: main.c:584
 msgid "\t-V\t\t\t--version\n"
 msgstr "\t-V\t\t\t--version\n"
 
-#: main.c:835
+#: main.c:586
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:838
+#: main.c:589
 msgid "\t-Y\t\t--parsedebug\n"
 msgstr "\t-Y\t\t--parsedebug\n"
 
@@ -3121,7 +3128,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:847
+#: main.c:598
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3134,7 +3141,7 @@ msgstr ""
 "Problemi di traduzione, segnalare ad: address@hidden"
 "\n"
 
-#: main.c:851
+#: main.c:602
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -3144,7 +3151,7 @@ msgstr ""
 "Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
 "\n"
 
-#: main.c:855
+#: main.c:606
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3154,7 +3161,7 @@ msgstr ""
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:880
+#: main.c:631
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3173,7 +3180,7 @@ msgstr ""
 "Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
 "\n"
 
-#: main.c:888
+#: main.c:639
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3187,7 +3194,7 @@ msgstr ""
 "Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
 "\n"
 
-#: main.c:894
+#: main.c:645
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n";
@@ -3196,16 +3203,16 @@ msgstr ""
 "assieme a questo programma; se non è così, vedi http://www.gnu.org/";
 "licenses/.\n"
 
-#: main.c:931
+#: main.c:682
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft non imposta FS a `tab' nell'awk POSIX"
 
-#: main.c:1208
+#: main.c:973
 #, c-format
 msgid "unknown value for field spec: %d\n"
 msgstr "valore non noto per specifica campo: %d\n"
 
-#: main.c:1306
+#: main.c:1071
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3214,98 +3221,116 @@ msgstr ""
 "%s: `%s' argomento di `-v' non in forma `var=valore'\n"
 "\n"
 
-#: main.c:1332
+#: main.c:1097
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' non è un nome di variabile ammesso"
 
-#: main.c:1335
+#: main.c:1100
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s' non è un nome di variabile, cerco il file `%s=%s'"
 
-#: main.c:1339
+#: main.c:1104
 #, c-format
 msgid "cannot use gawk builtin `%s' as variable name"
 msgstr "nome funzione interna gawk `%s' non ammesso come nome variabile"
 
-#: main.c:1344
+#: main.c:1109
 #, c-format
 msgid "cannot use function `%s' as variable name"
 msgstr "non è possibile usare nome di funzione `%s' come nome di variabile"
 
-#: main.c:1397
+#: main.c:1162
 msgid "floating point exception"
 msgstr "eccezione floating point"
 
-#: main.c:1404
+#: main.c:1169
 msgid "fatal error: internal error"
 msgstr "errore fatale: errore interno"
 
-#: main.c:1419
+#: main.c:1184
 msgid "fatal error: internal error: segfault"
 msgstr "errore fatale: errore interno: segfault"
 
-#: main.c:1431
+#: main.c:1196
 msgid "fatal error: internal error: stack overflow"
 msgstr "errore fatale: errore interno: stack overflow"
 
-#: main.c:1490
+#: main.c:1255
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "manca `fd' pre-aperta %d"
 
-#: main.c:1497
+#: main.c:1262
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "non riesco a pre-aprire /dev/null per `fd' %d"
 
-#: mpfr.c:550
+#: main.c:1476
+msgid "empty argument to `-e/--source' ignored"
+msgstr "argomento di `-e/--source' nullo, ignorato"
+
+#: main.c:1547
+msgid "-M ignored: MPFR/GMP support not compiled in"
+msgstr "-M ignorato: supporto per MPFR/GMP non generato"
+
+#: main.c:1568
+#, c-format
+msgid "%s: option `-W %s' unrecognized, ignored\n"
+msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
+
+#: main.c:1621
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opzione richiede un argomento -- %c\n"
+
+#: mpfr.c:557
 #, c-format
 msgid "PREC value `%.*s' is invalid"
 msgstr "valore PREC `%.*s' non valido"
 
-#: mpfr.c:608
+#: mpfr.c:615
 #, c-format
 msgid "RNDMODE value `%.*s' is invalid"
 msgstr "valore di RNDMODE `%.*s' non valido"
 
-#: mpfr.c:698
+#: mpfr.c:711
 #, c-format
 msgid "%s: received non-numeric argument"
-msgstr "%s: ricevuto argomento non-numerico"
+msgstr "%s: l'argomento ricevuto non è numerico"
 
-#: mpfr.c:800
+#: mpfr.c:820
 msgid "compl(%Rg): negative value will give strange results"
 msgstr "compl(%Rg): valore negativo, darà risultati strani"
 
-#: mpfr.c:804
+#: mpfr.c:824
 msgid "comp(%Rg): fractional value will be truncated"
 msgstr "comp(%Rg): valore decimale sarà troncato"
 
-#: mpfr.c:816
+#: mpfr.c:836
 #, c-format
 msgid "cmpl(%Zd): negative values will give strange results"
 msgstr "cmpl(%Zd): valori negativi, daranno risultati strani"
 
-#: mpfr.c:835
+#: mpfr.c:855
 #, c-format
 msgid "%s: received non-numeric argument #%d"
-msgstr "%s:ricevuto argomento non-numerico #%d"
+msgstr "%s: l'argomento ricevuto non è numerico #%d"
 
-#: mpfr.c:845
+#: mpfr.c:865
 msgid "%s: argument #%d has invalid value %Rg, using 0"
 msgstr "%s: argomento #%d con valore non valido %Rg, uso 0"
 
-#: mpfr.c:857
+#: mpfr.c:877
 msgid "%s: argument #%d negative value %Rg will give strange results"
 msgstr "%s: argomento #%d con valore negativo %Rg, darà risultati strani"
 
-#: mpfr.c:863
+#: mpfr.c:883
 msgid "%s: argument #%d fractional value %Rg will be truncated"
 msgstr "%s: argomento #%d, valore decimale sarà troncato"
 
-#: mpfr.c:878
+#: mpfr.c:898
 #, c-format
 msgid "%s: argument #%d negative value %Zd will give strange results"
 msgstr "%s: argomento #%d con valore negativo %Zd, darà risultati strani"
@@ -3313,26 +3338,26 @@ msgstr "%s: argomento #%d con valore negativo %Zd, dar
 #: msg.c:68
 #, c-format
 msgid "cmd. line:"
-msgstr "linea com.:"
+msgstr "riga com.:"
 
-#: node.c:421
+#: node.c:409
 msgid "backslash at end of string"
 msgstr "'\\' a fine stringa"
 
-#: node.c:500
+#: node.c:488
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "il vecchio awk non supporta la sequenza di escape '\\%c'"
 
-#: node.c:551
+#: node.c:539
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX non permette escape `\\x'"
 
-#: node.c:557
+#: node.c:545
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "niente cifre esadecimali nella sequenza di escape `\\x'"
 
-#: node.c:579
+#: node.c:566
 #, c-format
 msgid ""
 "hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -3341,12 +3366,12 @@ msgstr ""
 "sequenza di escape esadec.\\x%.*s di %d caratteri probabilmente non "
 "interpretata nel modo previsto"
 
-#: node.c:594
+#: node.c:581
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "sequenza di escape `\\%c' considerata come semplice `%c'"
 
-#: node.c:739
+#: node.c:725
 msgid ""
 "Invalid multibyte data detected. There may be a mismatch between your data "
 "and your locale."
@@ -3365,25 +3390,25 @@ msgid "%s %s `%s': could not set close-on-exec: (fcntl 
F_SETFD: %s)"
 msgstr ""
 "%s %s `%s': non riesco a impostare 'close-on-exec': (fcntl F_SETFD: %s)"
 
-#: profile.c:71
+#: profile.c:73
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "non riesco ad aprire `%s' in scrittura: %s"
 
-#: profile.c:73
+#: profile.c:75
 msgid "sending profile to standard error"
 msgstr "mando profilo a 'standard error'"
 
-#: profile.c:193
+#: profile.c:220
 #, c-format
 msgid ""
-"\t# %s block(s)\n"
+"\t# %s rule(s)\n"
 "\n"
 msgstr ""
-"\t# blocco(hi) %s\n"
+"\t# %s regola(e)\n"
 "\n"
 
-#: profile.c:198
+#: profile.c:227
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -3392,16 +3417,16 @@ msgstr ""
 "\t# Regola(e)\n"
 "\n"
 
-#: profile.c:272
+#: profile.c:308
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "errore interno: %s con `vname' nullo"
 
-#: profile.c:537
+#: profile.c:574
 msgid "internal error: builtin with null fname"
 msgstr "errore interno: funzione interna con `fname' nullo"
 
-#: profile.c:949
+#: profile.c:1016
 #, c-format
 msgid ""
 "\t# Loaded extensions (-l and/or @load)\n"
@@ -3410,12 +3435,12 @@ msgstr ""
 "\t# Estensioni caricate (-l e/o @load)\n"
 "\n"
 
-#: profile.c:972
+#: profile.c:1065
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# profilo gawk, creato %s\n"
 
-#: profile.c:1475
+#: profile.c:1607
 #, c-format
 msgid ""
 "\n"
@@ -3424,10 +3449,10 @@ msgstr ""
 "\n"
 "\t# Funzioni, in ordine alfabetico\n"
 
-#: profile.c:1513
+#: profile.c:1658
 #, c-format
 msgid "redir2str: unknown redirection type %d"
-msgstr "redir2str: tipo di re-direzione non noto %d"
+msgstr "redir2str: tipo di ri-direzione non noto %d"
 
 #: re.c:607
 #, c-format
@@ -3464,8 +3489,8 @@ msgid "Invalid back reference"
 msgstr "Riferimento indietro non valido"
 
 #: regcomp.c:152
-msgid "Unmatched [ or [^"
-msgstr "[ o [^ non chiusa"
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "[, [^, [:, [. o [= non chiusa"
 
 #: regcomp.c:155
 msgid "Unmatched ( or \\("
@@ -3475,6 +3500,10 @@ msgstr "( o \\( non chiusa"
 msgid "Unmatched \\{"
 msgstr "\\{ non chiusa"
 
+#: regcomp.c:161
+msgid "Invalid content of \\{\\}"
+msgstr "Contenuto di \\{\\} non valido"
+
 #: regcomp.c:164
 msgid "Invalid range end"
 msgstr "Fine di intervallo non valido"
@@ -3491,6 +3520,10 @@ msgstr "Espressione regolare precedente invalida"
 msgid "Premature end of regular expression"
 msgstr "Fine di espressione regolare inaspettata"
 
+#: regcomp.c:176
+msgid "Regular expression too big"
+msgstr "Espressione regolare troppo complessa"
+
 #: regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") o \\) non aperta"
@@ -3499,9 +3532,6 @@ msgstr ") o \\) non aperta"
 msgid "No previous regular expression"
 msgstr "Nessuna espressione regolare precedente"
 
-#: symbol.c:741
+#: symbol.c:749
 msgid "can not pop main context"
 msgstr "non posso salire più in alto nello stack"
-
-#~ msgid "range of the form `[%c-%c]' is locale dependent"
-#~ msgstr "intervallo della forma `[%c-%c]' dipende da `locale'"

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=608116b9826d199c2df99d79fe6c0b39c4febb8b

commit 608116b9826d199c2df99d79fe6c0b39c4febb8b
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 20:24:21 2014 +0200

    Update texinfo.tex.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index eb7a04b..957e482 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -4,6 +4,8 @@
        * gawktexi.in: Fix exponentiation in TeX mode. Thanks to
        Marco Curreli by way of Antonio Giovanni.
 
+       * texinfo.tex: Updated.
+
 2014-12-12         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Minor fix.
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 7506dff..370d450 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2014-03-18.17}
+\def\texinfoversion{2014-12-03.16}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -96,7 +96,9 @@
 \let\ptexraggedright=\raggedright
 \let\ptexrbrace=\}
 \let\ptexslash=\/
+\let\ptexsp=\sp
 \let\ptexstar=\*
+\let\ptexsup=\sup
 \let\ptext=\t
 \let\ptextop=\top
 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
@@ -1010,24 +1012,15 @@ where each line of input produces a line of output.}
 % paragraph.
 %
 \gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
+  \gdef\indent  {\restorefirstparagraphindent \indent}%
+  \gdef\noindent{\restorefirstparagraphindent \noindent}%
+  \global\everypar = {\kern -\parindent \restorefirstparagraphindent}%
 }
-
+%
 \gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
+  \global\let\indent = \ptexindent
+  \global\let\noindent = \ptexnoindent
+  \global\everypar = {}%
 }
 
 
@@ -2090,12 +2083,9 @@ end
  \endgroup
 }
 
-
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families.  We don't
+% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
   \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
@@ -2109,8 +2099,8 @@ end
 % \tenSTYLE to set the current font.
 %
 % Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
+% and \lllsize (three sizes lower).  These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
 %
 % This all needs generalizing, badly.
 %
@@ -2146,7 +2136,7 @@ end
   \let\tenttsl=\secttsl
   \def\curfontsize{sec}%
   \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{16pt}}
+  \resetmathfonts \setleading{17pt}}
 \def\subsecfonts{%
   \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
   \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
@@ -2851,6 +2841,8 @@ end
   \let\v=\check
   \let\~=\tilde
   \let\dotaccent=\dot
+  % have to provide another name for sup operator
+  \let\mathopsup=\sup
   $\finishmath
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
@@ -2874,6 +2866,18 @@ end
   }
 }
 
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts.  This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
+
 % ctrl is no longer a Texinfo command, but leave this definition for fun.
 \def\ctrl #1{{\tt \rawbackslash \hat}#1}
 
@@ -5739,13 +5743,16 @@ end
 %
 % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
 % Yappendix, Yomitfromtoc), #3 the chapter number.
+% Not used for @heading series.
 %
 % To test against our argument.
 \def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
 \def\Yappendixkeyword{Yappendix}
+\def\Yomitfromtockeyword{Yomitfromtoc}
 %
 \def\chapmacro#1#2#3{%
+  \checkenv{}% chapters, etc., should not start inside an environment.
+  %
   % Insert the first mark before the heading break (see notes for \domark).
   \let\prevchapterdefs=\lastchapterdefs
   \let\prevsectiondefs=\lastsectiondefs
@@ -5798,6 +5805,7 @@ end
   %
   {%
     \chapfonts \rmisbold
+    \let\footnote=\errfootnoteheading % give better error message
     %
     % Have to define \lastsection before calling \donoderef, because the
     % xref code eventually uses it.  On the other hand, it has to be called
@@ -5891,22 +5899,29 @@ end
 
 % Print any size, any type, section title.
 %
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
+% #1 is the text of the title,
+% #2 is the section level (sec/subsec/subsubsec),
+% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc),
+% #4 is the section number.
 %
 \def\seckeyword{sec}
 %
 \def\sectionheading#1#2#3#4{%
   {%
-    \checkenv{}% should not be in an environment.
+    \def\sectionlevel{#2}%
+    \def\temptype{#3}%
+    %
+    % It is ok for the @heading series commands to appear inside an
+    % environment (it's been historically allowed, though the logic is
+    % dubious), but not the others.
+    \ifx\temptype\Yomitfromtockeyword\else
+      \checkenv{}% address@hidden should not be in an environment.
+    \fi
+    \let\footnote=\errfootnoteheading
     %
     % Switch to the right set of fonts.
     \csname #2fonts\endcsname \rmisbold
     %
-    \def\sectionlevel{#2}%
-    \def\temptype{#3}%
-    %
     % Insert first mark before the heading break (see notes for \domark).
     \let\prevsectiondefs=\lastsectiondefs
     \ifx\temptype\Ynothingkeyword
@@ -6333,6 +6348,7 @@ end
   % other math active characters (just in case), to plain's definitions.
   \mathactive
   %
+  % Inverse of the list at the beginning of the file.
   \let\b=\ptexb
   \let\bullet=\ptexbullet
   \let\c=\ptexc
@@ -6348,7 +6364,9 @@ end
   \let\+=\tabalign
   \let\}=\ptexrbrace
   \let\/=\ptexslash
+  \let\sp=\ptexsp
   \let\*=\ptexstar
+  %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
   \let\t=\ptext
   \expandafter \let\csname top\endcsname=\ptextop  % we've made it outer
   \let\frenchspacing=\plainfrenchspacing
@@ -7414,7 +7432,6 @@ end
 %
 % \anythingelse will almost certainly be an error of some kind.
 
-
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
 % where N is the macro parameter number.
@@ -7523,8 +7540,7 @@ end
 % the catcode regime underwhich the body was input).
 %
 % If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
+% arguments, no macro can have more than 256 arguments (else error).
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
@@ -8359,9 +8375,6 @@ end
 %
 % Auto-number footnotes.  Otherwise like plain.
 \gdef\footnote{%
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
-  %
   \global\advance\footnoteno by address@hidden
   \edef\thisfootno{$^{\the\footnoteno}$}%
   %
@@ -8388,7 +8401,7 @@ end
   %
   % Nested footnotes are not supported in TeX, that would take a lot
   % more work.  (\startsavinginserts does not suffice.)
-  \let\footnote=\errfootnote
+  \let\footnote=\errfootnotenest
   %
   % We want to typeset this text as a normal paragraph, even if the
   % footnote reference occurs in (for example) a display environment.
@@ -8427,12 +8440,17 @@ end
 }
 }%end \catcode address@hidden
 
-\def\errfootnote{%
+\def\errfootnotenest{%
   \errhelp=\EMsimple
   \errmessage{Nested footnotes not supported in texinfo.tex,
     even though they work in makeinfo; sorry}
 }
 
+\def\errfootnoteheading{%
+  \errhelp=\EMsimple
+  \errmessage{Footnotes in chapters, sections, etc., are not supported}
+}
+
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
@@ -8856,20 +8874,20 @@ end
 {
   \catcode`\_ = \active
   \globaldefs=1
-\parseargdef\documentlanguage{\begingroup
-  \let_=\normalunderscore  % normal _ character for filenames
+\parseargdef\documentlanguage{%
   \tex % read txi-??.tex file in plain TeX.
     % Read the file by the name they passed if it exists.
+    \let_ = \normalunderscore  % normal _ character for filename test
     \openin 1 txi-#1.tex
     \ifeof 1
-      \documentlanguagetrywithoutunderscore{#1_\finish}%
+      \documentlanguagetrywithoutunderscore #1_\finish
     \else
       \globaldefs = 1  % everything in the txi-LL files needs to persist
       \input txi-#1.tex
     \fi
     \closein 1
   \endgroup % end raw TeX
-\endgroup}
+}
 %
 % If they passed de_DE, and txi-de_DE.tex doesn't exist,
 % try txi-de.tex.
@@ -9279,6 +9297,18 @@ directory should work if nowhere else does.}
   \UTFviiiLoop
 \endgroup
 
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+  \expandafter\ifx\csname uni:#1\endcsname \relax
+    \errhelp = \EMsimple       
+    \errmessage{Unicode character U+#1 not supported, sorry}%
+  \else
+    \csname uni:#1\endcsname
+  \fi
+}
+
 \begingroup
   \catcode`\"=12
   \catcode`\<=12
@@ -9287,7 +9317,6 @@ directory should work if nowhere else does.}
   \catcode`\;=12
   \catcode`\!=12
   \catcode`\~=13
-
   \gdef\DeclareUnicodeCharacter#1#2{%
     \countUTFz = "#1\relax
     %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
@@ -9302,6 +9331,8 @@ directory should work if nowhere else does.}
       \expandafter\expandafter\expandafter\expandafter
        \expandafter\expandafter\expandafter
        \gdef\UTFviiiTmp{#2}%
+      % define an additional control sequence for this code point.
+      \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
     \endgroup}
 
   \gdef\parseXMLCharref{%

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=ba81a835d78656b966a81e3426af82ee903f97de

commit ba81a835d78656b966a81e3426af82ee903f97de
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 20:23:32 2014 +0200

    Typo in exponentiation fix in manual.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 47dd656..eb7a04b 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,6 +1,8 @@
 2014-12-24         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Add one more paragraph to new foreword.
+       * gawktexi.in: Fix exponentiation in TeX mode. Thanks to
+       Marco Curreli by way of Antonio Giovanni.
 
 2014-12-12         Arnold D. Robbins     <address@hidden>
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index a7df231..408bc0c 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -11844,7 +11844,7 @@ The post-increment @samp{foo++} is nearly the same as 
writing @samp{(foo
 not necessarily equal @code{foo}.  But the difference is minute as
 long as you stick to numbers that are fairly small (less than
 @iftex
address@hidden).
address@hidden).
 @end iftex
 @ifnottex
 @ifnotdocbook
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 73471b6..54b084b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -11231,7 +11231,7 @@ The post-increment @samp{foo++} is nearly the same as 
writing @samp{(foo
 not necessarily equal @code{foo}.  But the difference is minute as
 long as you stick to numbers that are fairly small (less than
 @iftex
address@hidden).
address@hidden).
 @end iftex
 @ifnottex
 @ifnotdocbook

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=06e47b84ed3eb2ec562ee9910d192853f351a0bc

commit 06e47b84ed3eb2ec562ee9910d192853f351a0bc
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 24 19:39:05 2014 +0200

    Update foreword from Mike Brennan.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index ede811e..47dd656 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-24         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Add one more paragraph to new foreword.
+
 2014-12-12         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Minor fix.
diff --git a/doc/gawk.info b/doc/gawk.info
index d6fccec..0224c7d 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -797,6 +797,9 @@ module loads the C/C++ module as a dynamic plug-in.  *note 
Dynamic
 Extensions::, has all the details, and as expected, many examples to
 help you learn the ins and outs.
 
+   I enjoy programming in AWK and had fun (re)reading this book.  I
+think you will too.
+
      Michael Brennan
      Author of `mawk'
      October 2014
@@ -31853,7 +31856,7 @@ Index
 * Brennan, Michael <2>:                  Simple Sed.          (line  25)
 * Brennan, Michael <3>:                  Delete.              (line  56)
 * Brennan, Michael <4>:                  Acknowledgments.     (line  78)
-* Brennan, Michael <5>:                  Foreword4.           (line  30)
+* Brennan, Michael <5>:                  Foreword4.           (line  33)
 * Brennan, Michael:                      Foreword3.           (line  84)
 * Brian Kernighan's awk <1>:             I/O Functions.       (line  43)
 * Brian Kernighan's awk <2>:             Gory Details.        (line  19)
@@ -34299,557 +34302,557 @@ Tag Table:
 Node: Top1204
 Node: Foreword342156
 Node: Foreword446598
-Node: Preface48031
-Ref: Preface-Footnote-150902
-Ref: Preface-Footnote-251009
-Ref: Preface-Footnote-351242
-Node: History51384
-Node: Names53730
-Ref: Names-Footnote-154824
-Node: This Manual54970
-Ref: This Manual-Footnote-161457
-Node: Conventions61557
-Node: Manual History63895
-Ref: Manual History-Footnote-166877
-Ref: Manual History-Footnote-266918
-Node: How To Contribute66992
-Node: Acknowledgments68121
-Node: Getting Started72926
-Node: Running gawk75359
-Node: One-shot76549
-Node: Read Terminal77797
-Node: Long79824
-Node: Executable Scripts81340
-Ref: Executable Scripts-Footnote-184129
-Node: Comments84232
-Node: Quoting86714
-Node: DOS Quoting92238
-Node: Sample Data Files92913
-Node: Very Simple95508
-Node: Two Rules100406
-Node: More Complex102292
-Node: Statements/Lines105154
-Ref: Statements/Lines-Footnote-1109609
-Node: Other Features109874
-Node: When110805
-Ref: When-Footnote-1112559
-Node: Intro Summary112624
-Node: Invoking Gawk113507
-Node: Command Line115021
-Node: Options115819
-Ref: Options-Footnote-1131752
-Ref: Options-Footnote-2131981
-Node: Other Arguments132006
-Node: Naming Standard Input134954
-Node: Environment Variables136047
-Node: AWKPATH Variable136605
-Ref: AWKPATH Variable-Footnote-1139908
-Ref: AWKPATH Variable-Footnote-2139953
-Node: AWKLIBPATH Variable140213
-Node: Other Environment Variables141356
-Node: Exit Status145084
-Node: Include Files145760
-Node: Loading Shared Libraries149357
-Node: Obsolete150784
-Node: Undocumented151481
-Node: Invoking Summary151748
-Node: Regexp153412
-Node: Regexp Usage154866
-Node: Escape Sequences156903
-Node: Regexp Operators162914
-Ref: Regexp Operators-Footnote-1170340
-Ref: Regexp Operators-Footnote-2170487
-Node: Bracket Expressions170585
-Ref: table-char-classes172600
-Node: Leftmost Longest175524
-Node: Computed Regexps176826
-Node: GNU Regexp Operators180223
-Node: Case-sensitivity183896
-Ref: Case-sensitivity-Footnote-1186781
-Ref: Case-sensitivity-Footnote-2187016
-Node: Regexp Summary187124
-Node: Reading Files188591
-Node: Records190685
-Node: awk split records191418
-Node: gawk split records196333
-Ref: gawk split records-Footnote-1200877
-Node: Fields200914
-Ref: Fields-Footnote-1203690
-Node: Nonconstant Fields203776
-Ref: Nonconstant Fields-Footnote-1206019
-Node: Changing Fields206223
-Node: Field Separators212152
-Node: Default Field Splitting214857
-Node: Regexp Field Splitting215974
-Node: Single Character Fields219324
-Node: Command Line Field Separator220383
-Node: Full Line Fields223595
-Ref: Full Line Fields-Footnote-1225112
-Ref: Full Line Fields-Footnote-2225158
-Node: Field Splitting Summary225259
-Node: Constant Size227333
-Node: Splitting By Content231922
-Ref: Splitting By Content-Footnote-1235916
-Node: Multiple Line236079
-Ref: Multiple Line-Footnote-1241965
-Node: Getline242144
-Node: Plain Getline244356
-Node: Getline/Variable246996
-Node: Getline/File248144
-Node: Getline/Variable/File249528
-Ref: Getline/Variable/File-Footnote-1251131
-Node: Getline/Pipe251218
-Node: Getline/Variable/Pipe253901
-Node: Getline/Coprocess255032
-Node: Getline/Variable/Coprocess256284
-Node: Getline Notes257023
-Node: Getline Summary259815
-Ref: table-getline-variants260227
-Node: Read Timeout261056
-Ref: Read Timeout-Footnote-1264881
-Node: Command-line directories264939
-Node: Input Summary265844
-Node: Input Exercises269145
-Node: Printing269873
-Node: Print271650
-Node: Print Examples273107
-Node: Output Separators275886
-Node: OFMT277904
-Node: Printf279258
-Node: Basic Printf280043
-Node: Control Letters281613
-Node: Format Modifiers285596
-Node: Printf Examples291605
-Node: Redirection294091
-Node: Special FD300932
-Ref: Special FD-Footnote-1304092
-Node: Special Files304166
-Node: Other Inherited Files304783
-Node: Special Network305783
-Node: Special Caveats306645
-Node: Close Files And Pipes307596
-Ref: Close Files And Pipes-Footnote-1314778
-Ref: Close Files And Pipes-Footnote-2314926
-Node: Output Summary315076
-Node: Output Exercises316074
-Node: Expressions316754
-Node: Values317939
-Node: Constants318617
-Node: Scalar Constants319308
-Ref: Scalar Constants-Footnote-1320167
-Node: Nondecimal-numbers320417
-Node: Regexp Constants323435
-Node: Using Constant Regexps323960
-Node: Variables327103
-Node: Using Variables327758
-Node: Assignment Options329669
-Node: Conversion331544
-Node: Strings And Numbers332068
-Ref: Strings And Numbers-Footnote-1335133
-Node: Locale influences conversions335242
-Ref: table-locale-affects337989
-Node: All Operators338577
-Node: Arithmetic Ops339207
-Node: Concatenation341712
-Ref: Concatenation-Footnote-1344531
-Node: Assignment Ops344637
-Ref: table-assign-ops349616
-Node: Increment Ops350888
-Node: Truth Values and Conditions354326
-Node: Truth Values355411
-Node: Typing and Comparison356460
-Node: Variable Typing357270
-Node: Comparison Operators360923
-Ref: table-relational-ops361333
-Node: POSIX String Comparison364828
-Ref: POSIX String Comparison-Footnote-1365900
-Node: Boolean Ops366038
-Ref: Boolean Ops-Footnote-1370517
-Node: Conditional Exp370608
-Node: Function Calls372335
-Node: Precedence376215
-Node: Locales379876
-Node: Expressions Summary381508
-Node: Patterns and Actions384068
-Node: Pattern Overview385188
-Node: Regexp Patterns386867
-Node: Expression Patterns387410
-Node: Ranges391120
-Node: BEGIN/END394226
-Node: Using BEGIN/END394987
-Ref: Using BEGIN/END-Footnote-1397721
-Node: I/O And BEGIN/END397827
-Node: BEGINFILE/ENDFILE400141
-Node: Empty403042
-Node: Using Shell Variables403359
-Node: Action Overview405632
-Node: Statements407958
-Node: If Statement409806
-Node: While Statement411301
-Node: Do Statement413330
-Node: For Statement414474
-Node: Switch Statement417631
-Node: Break Statement420013
-Node: Continue Statement422054
-Node: Next Statement423881
-Node: Nextfile Statement426262
-Node: Exit Statement428892
-Node: Built-in Variables431295
-Node: User-modified432428
-Ref: User-modified-Footnote-1440109
-Node: Auto-set440171
-Ref: Auto-set-Footnote-1453206
-Ref: Auto-set-Footnote-2453411
-Node: ARGC and ARGV453467
-Node: Pattern Action Summary457685
-Node: Arrays460112
-Node: Array Basics461441
-Node: Array Intro462285
-Ref: figure-array-elements464249
-Ref: Array Intro-Footnote-1466775
-Node: Reference to Elements466903
-Node: Assigning Elements469355
-Node: Array Example469846
-Node: Scanning an Array471604
-Node: Controlling Scanning474620
-Ref: Controlling Scanning-Footnote-1479816
-Node: Numeric Array Subscripts480132
-Node: Uninitialized Subscripts482317
-Node: Delete483934
-Ref: Delete-Footnote-1486677
-Node: Multidimensional486734
-Node: Multiscanning489831
-Node: Arrays of Arrays491420
-Node: Arrays Summary496179
-Node: Functions498271
-Node: Built-in499170
-Node: Calling Built-in500248
-Node: Numeric Functions502239
-Ref: Numeric Functions-Footnote-1506256
-Ref: Numeric Functions-Footnote-2506613
-Ref: Numeric Functions-Footnote-3506661
-Node: String Functions506933
-Ref: String Functions-Footnote-1530408
-Ref: String Functions-Footnote-2530537
-Ref: String Functions-Footnote-3530785
-Node: Gory Details530872
-Ref: table-sub-escapes532653
-Ref: table-sub-proposed534173
-Ref: table-posix-sub535537
-Ref: table-gensub-escapes537073
-Ref: Gory Details-Footnote-1537905
-Node: I/O Functions538056
-Ref: I/O Functions-Footnote-1545274
-Node: Time Functions545421
-Ref: Time Functions-Footnote-1555909
-Ref: Time Functions-Footnote-2555977
-Ref: Time Functions-Footnote-3556135
-Ref: Time Functions-Footnote-4556246
-Ref: Time Functions-Footnote-5556358
-Ref: Time Functions-Footnote-6556585
-Node: Bitwise Functions556851
-Ref: table-bitwise-ops557413
-Ref: Bitwise Functions-Footnote-1561722
-Node: Type Functions561891
-Node: I18N Functions563042
-Node: User-defined564687
-Node: Definition Syntax565492
-Ref: Definition Syntax-Footnote-1570899
-Node: Function Example570970
-Ref: Function Example-Footnote-1573889
-Node: Function Caveats573911
-Node: Calling A Function574429
-Node: Variable Scope575387
-Node: Pass By Value/Reference578375
-Node: Return Statement581870
-Node: Dynamic Typing584851
-Node: Indirect Calls585780
-Ref: Indirect Calls-Footnote-1597082
-Node: Functions Summary597210
-Node: Library Functions599912
-Ref: Library Functions-Footnote-1603521
-Ref: Library Functions-Footnote-2603664
-Node: Library Names603835
-Ref: Library Names-Footnote-1607289
-Ref: Library Names-Footnote-2607512
-Node: General Functions607598
-Node: Strtonum Function608701
-Node: Assert Function611723
-Node: Round Function615047
-Node: Cliff Random Function616588
-Node: Ordinal Functions617604
-Ref: Ordinal Functions-Footnote-1620667
-Ref: Ordinal Functions-Footnote-2620919
-Node: Join Function621130
-Ref: Join Function-Footnote-1622899
-Node: Getlocaltime Function623099
-Node: Readfile Function626843
-Node: Shell Quoting628813
-Node: Data File Management630214
-Node: Filetrans Function630846
-Node: Rewind Function634902
-Node: File Checking636289
-Ref: File Checking-Footnote-1637621
-Node: Empty Files637822
-Node: Ignoring Assigns639801
-Node: Getopt Function641352
-Ref: Getopt Function-Footnote-1652814
-Node: Passwd Functions653014
-Ref: Passwd Functions-Footnote-1661851
-Node: Group Functions661939
-Ref: Group Functions-Footnote-1669833
-Node: Walking Arrays670046
-Node: Library Functions Summary671649
-Node: Library Exercises673050
-Node: Sample Programs674330
-Node: Running Examples675100
-Node: Clones675828
-Node: Cut Program677052
-Node: Egrep Program686771
-Ref: Egrep Program-Footnote-1694269
-Node: Id Program694379
-Node: Split Program698024
-Ref: Split Program-Footnote-1701472
-Node: Tee Program701600
-Node: Uniq Program704389
-Node: Wc Program711808
-Ref: Wc Program-Footnote-1716058
-Node: Miscellaneous Programs716152
-Node: Dupword Program717365
-Node: Alarm Program719396
-Node: Translate Program724200
-Ref: Translate Program-Footnote-1728765
-Node: Labels Program729035
-Ref: Labels Program-Footnote-1732386
-Node: Word Sorting732470
-Node: History Sorting736541
-Node: Extract Program738377
-Node: Simple Sed745902
-Node: Igawk Program748970
-Ref: Igawk Program-Footnote-1763294
-Ref: Igawk Program-Footnote-2763495
-Ref: Igawk Program-Footnote-3763617
-Node: Anagram Program763732
-Node: Signature Program766789
-Node: Programs Summary768036
-Node: Programs Exercises769229
-Ref: Programs Exercises-Footnote-1773360
-Node: Advanced Features773451
-Node: Nondecimal Data775399
-Node: Array Sorting776989
-Node: Controlling Array Traversal777686
-Ref: Controlling Array Traversal-Footnote-1786019
-Node: Array Sorting Functions786137
-Ref: Array Sorting Functions-Footnote-1790026
-Node: Two-way I/O790222
-Ref: Two-way I/O-Footnote-1795167
-Ref: Two-way I/O-Footnote-2795353
-Node: TCP/IP Networking795435
-Node: Profiling798308
-Node: Advanced Features Summary805855
-Node: Internationalization807788
-Node: I18N and L10N809268
-Node: Explaining gettext809954
-Ref: Explaining gettext-Footnote-1814979
-Ref: Explaining gettext-Footnote-2815163
-Node: Programmer i18n815328
-Ref: Programmer i18n-Footnote-1820194
-Node: Translator i18n820243
-Node: String Extraction821037
-Ref: String Extraction-Footnote-1822168
-Node: Printf Ordering822254
-Ref: Printf Ordering-Footnote-1825040
-Node: I18N Portability825104
-Ref: I18N Portability-Footnote-1827559
-Node: I18N Example827622
-Ref: I18N Example-Footnote-1830425
-Node: Gawk I18N830497
-Node: I18N Summary831135
-Node: Debugger832474
-Node: Debugging833496
-Node: Debugging Concepts833937
-Node: Debugging Terms835790
-Node: Awk Debugging838362
-Node: Sample Debugging Session839256
-Node: Debugger Invocation839776
-Node: Finding The Bug841160
-Node: List of Debugger Commands847635
-Node: Breakpoint Control848968
-Node: Debugger Execution Control852664
-Node: Viewing And Changing Data856028
-Node: Execution Stack859406
-Node: Debugger Info861043
-Node: Miscellaneous Debugger Commands865060
-Node: Readline Support870089
-Node: Limitations870981
-Node: Debugging Summary873095
-Node: Arbitrary Precision Arithmetic874263
-Node: Computer Arithmetic875679
-Ref: table-numeric-ranges879277
-Ref: Computer Arithmetic-Footnote-1880136
-Node: Math Definitions880193
-Ref: table-ieee-formats883481
-Ref: Math Definitions-Footnote-1884085
-Node: MPFR features884190
-Node: FP Math Caution885861
-Ref: FP Math Caution-Footnote-1886911
-Node: Inexactness of computations887280
-Node: Inexact representation888239
-Node: Comparing FP Values889596
-Node: Errors accumulate890678
-Node: Getting Accuracy892111
-Node: Try To Round894773
-Node: Setting precision895672
-Ref: table-predefined-precision-strings896356
-Node: Setting the rounding mode898145
-Ref: table-gawk-rounding-modes898509
-Ref: Setting the rounding mode-Footnote-1901964
-Node: Arbitrary Precision Integers902143
-Ref: Arbitrary Precision Integers-Footnote-1905129
-Node: POSIX Floating Point Problems905278
-Ref: POSIX Floating Point Problems-Footnote-1909151
-Node: Floating point summary909189
-Node: Dynamic Extensions911383
-Node: Extension Intro912935
-Node: Plugin License914201
-Node: Extension Mechanism Outline914998
-Ref: figure-load-extension915426
-Ref: figure-register-new-function916906
-Ref: figure-call-new-function917910
-Node: Extension API Description919896
-Node: Extension API Functions Introduction921346
-Node: General Data Types926170
-Ref: General Data Types-Footnote-1931909
-Node: Memory Allocation Functions932208
-Ref: Memory Allocation Functions-Footnote-1935047
-Node: Constructor Functions935143
-Node: Registration Functions936877
-Node: Extension Functions937562
-Node: Exit Callback Functions939859
-Node: Extension Version String941107
-Node: Input Parsers941772
-Node: Output Wrappers951651
-Node: Two-way processors956166
-Node: Printing Messages958370
-Ref: Printing Messages-Footnote-1959446
-Node: Updating `ERRNO'959598
-Node: Requesting Values960338
-Ref: table-value-types-returned961066
-Node: Accessing Parameters962023
-Node: Symbol Table Access963254
-Node: Symbol table by name963768
-Node: Symbol table by cookie965749
-Ref: Symbol table by cookie-Footnote-1969893
-Node: Cached values969956
-Ref: Cached values-Footnote-1973455
-Node: Array Manipulation973546
-Ref: Array Manipulation-Footnote-1974644
-Node: Array Data Types974681
-Ref: Array Data Types-Footnote-1977336
-Node: Array Functions977428
-Node: Flattening Arrays981282
-Node: Creating Arrays988174
-Node: Extension API Variables992945
-Node: Extension Versioning993581
-Node: Extension API Informational Variables995482
-Node: Extension API Boilerplate996547
-Node: Finding Extensions1000356
-Node: Extension Example1000916
-Node: Internal File Description1001688
-Node: Internal File Ops1005755
-Ref: Internal File Ops-Footnote-11017425
-Node: Using Internal File Ops1017565
-Ref: Using Internal File Ops-Footnote-11019948
-Node: Extension Samples1020221
-Node: Extension Sample File Functions1021747
-Node: Extension Sample Fnmatch1029385
-Node: Extension Sample Fork1030876
-Node: Extension Sample Inplace1032091
-Node: Extension Sample Ord1033766
-Node: Extension Sample Readdir1034602
-Ref: table-readdir-file-types1035478
-Node: Extension Sample Revout1036289
-Node: Extension Sample Rev2way1036879
-Node: Extension Sample Read write array1037619
-Node: Extension Sample Readfile1039559
-Node: Extension Sample Time1040654
-Node: Extension Sample API Tests1042003
-Node: gawkextlib1042494
-Node: Extension summary1045152
-Node: Extension Exercises1048841
-Node: Language History1049563
-Node: V7/SVR3.11051219
-Node: SVR41053400
-Node: POSIX1054845
-Node: BTL1056234
-Node: POSIX/GNU1056968
-Node: Feature History1062532
-Node: Common Extensions1075630
-Node: Ranges and Locales1076954
-Ref: Ranges and Locales-Footnote-11081572
-Ref: Ranges and Locales-Footnote-21081599
-Ref: Ranges and Locales-Footnote-31081833
-Node: Contributors1082054
-Node: History summary1087595
-Node: Installation1088965
-Node: Gawk Distribution1089911
-Node: Getting1090395
-Node: Extracting1091218
-Node: Distribution contents1092853
-Node: Unix Installation1098570
-Node: Quick Installation1099187
-Node: Additional Configuration Options1101611
-Node: Configuration Philosophy1103349
-Node: Non-Unix Installation1105718
-Node: PC Installation1106176
-Node: PC Binary Installation1107495
-Node: PC Compiling1109343
-Ref: PC Compiling-Footnote-11112364
-Node: PC Testing1112473
-Node: PC Using1113649
-Node: Cygwin1117764
-Node: MSYS1118587
-Node: VMS Installation1119087
-Node: VMS Compilation1119879
-Ref: VMS Compilation-Footnote-11121101
-Node: VMS Dynamic Extensions1121159
-Node: VMS Installation Details1122843
-Node: VMS Running1125095
-Node: VMS GNV1127931
-Node: VMS Old Gawk1128665
-Node: Bugs1129135
-Node: Other Versions1133018
-Node: Installation summary1139446
-Node: Notes1140502
-Node: Compatibility Mode1141367
-Node: Additions1142149
-Node: Accessing The Source1143074
-Node: Adding Code1144510
-Node: New Ports1150675
-Node: Derived Files1155157
-Ref: Derived Files-Footnote-11160632
-Ref: Derived Files-Footnote-21160666
-Ref: Derived Files-Footnote-31161262
-Node: Future Extensions1161376
-Node: Implementation Limitations1161982
-Node: Extension Design1163230
-Node: Old Extension Problems1164384
-Ref: Old Extension Problems-Footnote-11165901
-Node: Extension New Mechanism Goals1165958
-Ref: Extension New Mechanism Goals-Footnote-11169318
-Node: Extension Other Design Decisions1169507
-Node: Extension Future Growth1171615
-Node: Old Extension Mechanism1172451
-Node: Notes summary1174213
-Node: Basic Concepts1175399
-Node: Basic High Level1176080
-Ref: figure-general-flow1176352
-Ref: figure-process-flow1176951
-Ref: Basic High Level-Footnote-11180180
-Node: Basic Data Typing1180365
-Node: Glossary1183693
-Node: Copying1208851
-Node: GNU Free Documentation License1246407
-Node: Index1271543
+Node: Preface48120
+Ref: Preface-Footnote-150991
+Ref: Preface-Footnote-251098
+Ref: Preface-Footnote-351331
+Node: History51473
+Node: Names53819
+Ref: Names-Footnote-154913
+Node: This Manual55059
+Ref: This Manual-Footnote-161546
+Node: Conventions61646
+Node: Manual History63984
+Ref: Manual History-Footnote-166966
+Ref: Manual History-Footnote-267007
+Node: How To Contribute67081
+Node: Acknowledgments68210
+Node: Getting Started73015
+Node: Running gawk75448
+Node: One-shot76638
+Node: Read Terminal77886
+Node: Long79913
+Node: Executable Scripts81429
+Ref: Executable Scripts-Footnote-184218
+Node: Comments84321
+Node: Quoting86803
+Node: DOS Quoting92327
+Node: Sample Data Files93002
+Node: Very Simple95597
+Node: Two Rules100495
+Node: More Complex102381
+Node: Statements/Lines105243
+Ref: Statements/Lines-Footnote-1109698
+Node: Other Features109963
+Node: When110894
+Ref: When-Footnote-1112648
+Node: Intro Summary112713
+Node: Invoking Gawk113596
+Node: Command Line115110
+Node: Options115908
+Ref: Options-Footnote-1131841
+Ref: Options-Footnote-2132070
+Node: Other Arguments132095
+Node: Naming Standard Input135043
+Node: Environment Variables136136
+Node: AWKPATH Variable136694
+Ref: AWKPATH Variable-Footnote-1139997
+Ref: AWKPATH Variable-Footnote-2140042
+Node: AWKLIBPATH Variable140302
+Node: Other Environment Variables141445
+Node: Exit Status145173
+Node: Include Files145849
+Node: Loading Shared Libraries149446
+Node: Obsolete150873
+Node: Undocumented151570
+Node: Invoking Summary151837
+Node: Regexp153501
+Node: Regexp Usage154955
+Node: Escape Sequences156992
+Node: Regexp Operators163003
+Ref: Regexp Operators-Footnote-1170429
+Ref: Regexp Operators-Footnote-2170576
+Node: Bracket Expressions170674
+Ref: table-char-classes172689
+Node: Leftmost Longest175613
+Node: Computed Regexps176915
+Node: GNU Regexp Operators180312
+Node: Case-sensitivity183985
+Ref: Case-sensitivity-Footnote-1186870
+Ref: Case-sensitivity-Footnote-2187105
+Node: Regexp Summary187213
+Node: Reading Files188680
+Node: Records190774
+Node: awk split records191507
+Node: gawk split records196422
+Ref: gawk split records-Footnote-1200966
+Node: Fields201003
+Ref: Fields-Footnote-1203779
+Node: Nonconstant Fields203865
+Ref: Nonconstant Fields-Footnote-1206108
+Node: Changing Fields206312
+Node: Field Separators212241
+Node: Default Field Splitting214946
+Node: Regexp Field Splitting216063
+Node: Single Character Fields219413
+Node: Command Line Field Separator220472
+Node: Full Line Fields223684
+Ref: Full Line Fields-Footnote-1225201
+Ref: Full Line Fields-Footnote-2225247
+Node: Field Splitting Summary225348
+Node: Constant Size227422
+Node: Splitting By Content232011
+Ref: Splitting By Content-Footnote-1236005
+Node: Multiple Line236168
+Ref: Multiple Line-Footnote-1242054
+Node: Getline242233
+Node: Plain Getline244445
+Node: Getline/Variable247085
+Node: Getline/File248233
+Node: Getline/Variable/File249617
+Ref: Getline/Variable/File-Footnote-1251220
+Node: Getline/Pipe251307
+Node: Getline/Variable/Pipe253990
+Node: Getline/Coprocess255121
+Node: Getline/Variable/Coprocess256373
+Node: Getline Notes257112
+Node: Getline Summary259904
+Ref: table-getline-variants260316
+Node: Read Timeout261145
+Ref: Read Timeout-Footnote-1264970
+Node: Command-line directories265028
+Node: Input Summary265933
+Node: Input Exercises269234
+Node: Printing269962
+Node: Print271739
+Node: Print Examples273196
+Node: Output Separators275975
+Node: OFMT277993
+Node: Printf279347
+Node: Basic Printf280132
+Node: Control Letters281702
+Node: Format Modifiers285685
+Node: Printf Examples291694
+Node: Redirection294180
+Node: Special FD301021
+Ref: Special FD-Footnote-1304181
+Node: Special Files304255
+Node: Other Inherited Files304872
+Node: Special Network305872
+Node: Special Caveats306734
+Node: Close Files And Pipes307685
+Ref: Close Files And Pipes-Footnote-1314867
+Ref: Close Files And Pipes-Footnote-2315015
+Node: Output Summary315165
+Node: Output Exercises316163
+Node: Expressions316843
+Node: Values318028
+Node: Constants318706
+Node: Scalar Constants319397
+Ref: Scalar Constants-Footnote-1320256
+Node: Nondecimal-numbers320506
+Node: Regexp Constants323524
+Node: Using Constant Regexps324049
+Node: Variables327192
+Node: Using Variables327847
+Node: Assignment Options329758
+Node: Conversion331633
+Node: Strings And Numbers332157
+Ref: Strings And Numbers-Footnote-1335222
+Node: Locale influences conversions335331
+Ref: table-locale-affects338078
+Node: All Operators338666
+Node: Arithmetic Ops339296
+Node: Concatenation341801
+Ref: Concatenation-Footnote-1344620
+Node: Assignment Ops344726
+Ref: table-assign-ops349705
+Node: Increment Ops350977
+Node: Truth Values and Conditions354415
+Node: Truth Values355500
+Node: Typing and Comparison356549
+Node: Variable Typing357359
+Node: Comparison Operators361012
+Ref: table-relational-ops361422
+Node: POSIX String Comparison364917
+Ref: POSIX String Comparison-Footnote-1365989
+Node: Boolean Ops366127
+Ref: Boolean Ops-Footnote-1370606
+Node: Conditional Exp370697
+Node: Function Calls372424
+Node: Precedence376304
+Node: Locales379965
+Node: Expressions Summary381597
+Node: Patterns and Actions384157
+Node: Pattern Overview385277
+Node: Regexp Patterns386956
+Node: Expression Patterns387499
+Node: Ranges391209
+Node: BEGIN/END394315
+Node: Using BEGIN/END395076
+Ref: Using BEGIN/END-Footnote-1397810
+Node: I/O And BEGIN/END397916
+Node: BEGINFILE/ENDFILE400230
+Node: Empty403131
+Node: Using Shell Variables403448
+Node: Action Overview405721
+Node: Statements408047
+Node: If Statement409895
+Node: While Statement411390
+Node: Do Statement413419
+Node: For Statement414563
+Node: Switch Statement417720
+Node: Break Statement420102
+Node: Continue Statement422143
+Node: Next Statement423970
+Node: Nextfile Statement426351
+Node: Exit Statement428981
+Node: Built-in Variables431384
+Node: User-modified432517
+Ref: User-modified-Footnote-1440198
+Node: Auto-set440260
+Ref: Auto-set-Footnote-1453295
+Ref: Auto-set-Footnote-2453500
+Node: ARGC and ARGV453556
+Node: Pattern Action Summary457774
+Node: Arrays460201
+Node: Array Basics461530
+Node: Array Intro462374
+Ref: figure-array-elements464338
+Ref: Array Intro-Footnote-1466864
+Node: Reference to Elements466992
+Node: Assigning Elements469444
+Node: Array Example469935
+Node: Scanning an Array471693
+Node: Controlling Scanning474709
+Ref: Controlling Scanning-Footnote-1479905
+Node: Numeric Array Subscripts480221
+Node: Uninitialized Subscripts482406
+Node: Delete484023
+Ref: Delete-Footnote-1486766
+Node: Multidimensional486823
+Node: Multiscanning489920
+Node: Arrays of Arrays491509
+Node: Arrays Summary496268
+Node: Functions498360
+Node: Built-in499259
+Node: Calling Built-in500337
+Node: Numeric Functions502328
+Ref: Numeric Functions-Footnote-1506345
+Ref: Numeric Functions-Footnote-2506702
+Ref: Numeric Functions-Footnote-3506750
+Node: String Functions507022
+Ref: String Functions-Footnote-1530497
+Ref: String Functions-Footnote-2530626
+Ref: String Functions-Footnote-3530874
+Node: Gory Details530961
+Ref: table-sub-escapes532742
+Ref: table-sub-proposed534262
+Ref: table-posix-sub535626
+Ref: table-gensub-escapes537162
+Ref: Gory Details-Footnote-1537994
+Node: I/O Functions538145
+Ref: I/O Functions-Footnote-1545363
+Node: Time Functions545510
+Ref: Time Functions-Footnote-1555998
+Ref: Time Functions-Footnote-2556066
+Ref: Time Functions-Footnote-3556224
+Ref: Time Functions-Footnote-4556335
+Ref: Time Functions-Footnote-5556447
+Ref: Time Functions-Footnote-6556674
+Node: Bitwise Functions556940
+Ref: table-bitwise-ops557502
+Ref: Bitwise Functions-Footnote-1561811
+Node: Type Functions561980
+Node: I18N Functions563131
+Node: User-defined564776
+Node: Definition Syntax565581
+Ref: Definition Syntax-Footnote-1570988
+Node: Function Example571059
+Ref: Function Example-Footnote-1573978
+Node: Function Caveats574000
+Node: Calling A Function574518
+Node: Variable Scope575476
+Node: Pass By Value/Reference578464
+Node: Return Statement581959
+Node: Dynamic Typing584940
+Node: Indirect Calls585869
+Ref: Indirect Calls-Footnote-1597171
+Node: Functions Summary597299
+Node: Library Functions600001
+Ref: Library Functions-Footnote-1603610
+Ref: Library Functions-Footnote-2603753
+Node: Library Names603924
+Ref: Library Names-Footnote-1607378
+Ref: Library Names-Footnote-2607601
+Node: General Functions607687
+Node: Strtonum Function608790
+Node: Assert Function611812
+Node: Round Function615136
+Node: Cliff Random Function616677
+Node: Ordinal Functions617693
+Ref: Ordinal Functions-Footnote-1620756
+Ref: Ordinal Functions-Footnote-2621008
+Node: Join Function621219
+Ref: Join Function-Footnote-1622988
+Node: Getlocaltime Function623188
+Node: Readfile Function626932
+Node: Shell Quoting628902
+Node: Data File Management630303
+Node: Filetrans Function630935
+Node: Rewind Function634991
+Node: File Checking636378
+Ref: File Checking-Footnote-1637710
+Node: Empty Files637911
+Node: Ignoring Assigns639890
+Node: Getopt Function641441
+Ref: Getopt Function-Footnote-1652903
+Node: Passwd Functions653103
+Ref: Passwd Functions-Footnote-1661940
+Node: Group Functions662028
+Ref: Group Functions-Footnote-1669922
+Node: Walking Arrays670135
+Node: Library Functions Summary671738
+Node: Library Exercises673139
+Node: Sample Programs674419
+Node: Running Examples675189
+Node: Clones675917
+Node: Cut Program677141
+Node: Egrep Program686860
+Ref: Egrep Program-Footnote-1694358
+Node: Id Program694468
+Node: Split Program698113
+Ref: Split Program-Footnote-1701561
+Node: Tee Program701689
+Node: Uniq Program704478
+Node: Wc Program711897
+Ref: Wc Program-Footnote-1716147
+Node: Miscellaneous Programs716241
+Node: Dupword Program717454
+Node: Alarm Program719485
+Node: Translate Program724289
+Ref: Translate Program-Footnote-1728854
+Node: Labels Program729124
+Ref: Labels Program-Footnote-1732475
+Node: Word Sorting732559
+Node: History Sorting736630
+Node: Extract Program738466
+Node: Simple Sed745991
+Node: Igawk Program749059
+Ref: Igawk Program-Footnote-1763383
+Ref: Igawk Program-Footnote-2763584
+Ref: Igawk Program-Footnote-3763706
+Node: Anagram Program763821
+Node: Signature Program766878
+Node: Programs Summary768125
+Node: Programs Exercises769318
+Ref: Programs Exercises-Footnote-1773449
+Node: Advanced Features773540
+Node: Nondecimal Data775488
+Node: Array Sorting777078
+Node: Controlling Array Traversal777775
+Ref: Controlling Array Traversal-Footnote-1786108
+Node: Array Sorting Functions786226
+Ref: Array Sorting Functions-Footnote-1790115
+Node: Two-way I/O790311
+Ref: Two-way I/O-Footnote-1795256
+Ref: Two-way I/O-Footnote-2795442
+Node: TCP/IP Networking795524
+Node: Profiling798397
+Node: Advanced Features Summary805944
+Node: Internationalization807877
+Node: I18N and L10N809357
+Node: Explaining gettext810043
+Ref: Explaining gettext-Footnote-1815068
+Ref: Explaining gettext-Footnote-2815252
+Node: Programmer i18n815417
+Ref: Programmer i18n-Footnote-1820283
+Node: Translator i18n820332
+Node: String Extraction821126
+Ref: String Extraction-Footnote-1822257
+Node: Printf Ordering822343
+Ref: Printf Ordering-Footnote-1825129
+Node: I18N Portability825193
+Ref: I18N Portability-Footnote-1827648
+Node: I18N Example827711
+Ref: I18N Example-Footnote-1830514
+Node: Gawk I18N830586
+Node: I18N Summary831224
+Node: Debugger832563
+Node: Debugging833585
+Node: Debugging Concepts834026
+Node: Debugging Terms835879
+Node: Awk Debugging838451
+Node: Sample Debugging Session839345
+Node: Debugger Invocation839865
+Node: Finding The Bug841249
+Node: List of Debugger Commands847724
+Node: Breakpoint Control849057
+Node: Debugger Execution Control852753
+Node: Viewing And Changing Data856117
+Node: Execution Stack859495
+Node: Debugger Info861132
+Node: Miscellaneous Debugger Commands865149
+Node: Readline Support870178
+Node: Limitations871070
+Node: Debugging Summary873184
+Node: Arbitrary Precision Arithmetic874352
+Node: Computer Arithmetic875768
+Ref: table-numeric-ranges879366
+Ref: Computer Arithmetic-Footnote-1880225
+Node: Math Definitions880282
+Ref: table-ieee-formats883570
+Ref: Math Definitions-Footnote-1884174
+Node: MPFR features884279
+Node: FP Math Caution885950
+Ref: FP Math Caution-Footnote-1887000
+Node: Inexactness of computations887369
+Node: Inexact representation888328
+Node: Comparing FP Values889685
+Node: Errors accumulate890767
+Node: Getting Accuracy892200
+Node: Try To Round894862
+Node: Setting precision895761
+Ref: table-predefined-precision-strings896445
+Node: Setting the rounding mode898234
+Ref: table-gawk-rounding-modes898598
+Ref: Setting the rounding mode-Footnote-1902053
+Node: Arbitrary Precision Integers902232
+Ref: Arbitrary Precision Integers-Footnote-1905218
+Node: POSIX Floating Point Problems905367
+Ref: POSIX Floating Point Problems-Footnote-1909240
+Node: Floating point summary909278
+Node: Dynamic Extensions911472
+Node: Extension Intro913024
+Node: Plugin License914290
+Node: Extension Mechanism Outline915087
+Ref: figure-load-extension915515
+Ref: figure-register-new-function916995
+Ref: figure-call-new-function917999
+Node: Extension API Description919985
+Node: Extension API Functions Introduction921435
+Node: General Data Types926259
+Ref: General Data Types-Footnote-1931998
+Node: Memory Allocation Functions932297
+Ref: Memory Allocation Functions-Footnote-1935136
+Node: Constructor Functions935232
+Node: Registration Functions936966
+Node: Extension Functions937651
+Node: Exit Callback Functions939948
+Node: Extension Version String941196
+Node: Input Parsers941861
+Node: Output Wrappers951740
+Node: Two-way processors956255
+Node: Printing Messages958459
+Ref: Printing Messages-Footnote-1959535
+Node: Updating `ERRNO'959687
+Node: Requesting Values960427
+Ref: table-value-types-returned961155
+Node: Accessing Parameters962112
+Node: Symbol Table Access963343
+Node: Symbol table by name963857
+Node: Symbol table by cookie965838
+Ref: Symbol table by cookie-Footnote-1969982
+Node: Cached values970045
+Ref: Cached values-Footnote-1973544
+Node: Array Manipulation973635
+Ref: Array Manipulation-Footnote-1974733
+Node: Array Data Types974770
+Ref: Array Data Types-Footnote-1977425
+Node: Array Functions977517
+Node: Flattening Arrays981371
+Node: Creating Arrays988263
+Node: Extension API Variables993034
+Node: Extension Versioning993670
+Node: Extension API Informational Variables995571
+Node: Extension API Boilerplate996636
+Node: Finding Extensions1000445
+Node: Extension Example1001005
+Node: Internal File Description1001777
+Node: Internal File Ops1005844
+Ref: Internal File Ops-Footnote-11017514
+Node: Using Internal File Ops1017654
+Ref: Using Internal File Ops-Footnote-11020037
+Node: Extension Samples1020310
+Node: Extension Sample File Functions1021836
+Node: Extension Sample Fnmatch1029474
+Node: Extension Sample Fork1030965
+Node: Extension Sample Inplace1032180
+Node: Extension Sample Ord1033855
+Node: Extension Sample Readdir1034691
+Ref: table-readdir-file-types1035567
+Node: Extension Sample Revout1036378
+Node: Extension Sample Rev2way1036968
+Node: Extension Sample Read write array1037708
+Node: Extension Sample Readfile1039648
+Node: Extension Sample Time1040743
+Node: Extension Sample API Tests1042092
+Node: gawkextlib1042583
+Node: Extension summary1045241
+Node: Extension Exercises1048930
+Node: Language History1049652
+Node: V7/SVR3.11051308
+Node: SVR41053489
+Node: POSIX1054934
+Node: BTL1056323
+Node: POSIX/GNU1057057
+Node: Feature History1062621
+Node: Common Extensions1075719
+Node: Ranges and Locales1077043
+Ref: Ranges and Locales-Footnote-11081661
+Ref: Ranges and Locales-Footnote-21081688
+Ref: Ranges and Locales-Footnote-31081922
+Node: Contributors1082143
+Node: History summary1087684
+Node: Installation1089054
+Node: Gawk Distribution1090000
+Node: Getting1090484
+Node: Extracting1091307
+Node: Distribution contents1092942
+Node: Unix Installation1098659
+Node: Quick Installation1099276
+Node: Additional Configuration Options1101700
+Node: Configuration Philosophy1103438
+Node: Non-Unix Installation1105807
+Node: PC Installation1106265
+Node: PC Binary Installation1107584
+Node: PC Compiling1109432
+Ref: PC Compiling-Footnote-11112453
+Node: PC Testing1112562
+Node: PC Using1113738
+Node: Cygwin1117853
+Node: MSYS1118676
+Node: VMS Installation1119176
+Node: VMS Compilation1119968
+Ref: VMS Compilation-Footnote-11121190
+Node: VMS Dynamic Extensions1121248
+Node: VMS Installation Details1122932
+Node: VMS Running1125184
+Node: VMS GNV1128020
+Node: VMS Old Gawk1128754
+Node: Bugs1129224
+Node: Other Versions1133107
+Node: Installation summary1139535
+Node: Notes1140591
+Node: Compatibility Mode1141456
+Node: Additions1142238
+Node: Accessing The Source1143163
+Node: Adding Code1144599
+Node: New Ports1150764
+Node: Derived Files1155246
+Ref: Derived Files-Footnote-11160721
+Ref: Derived Files-Footnote-21160755
+Ref: Derived Files-Footnote-31161351
+Node: Future Extensions1161465
+Node: Implementation Limitations1162071
+Node: Extension Design1163319
+Node: Old Extension Problems1164473
+Ref: Old Extension Problems-Footnote-11165990
+Node: Extension New Mechanism Goals1166047
+Ref: Extension New Mechanism Goals-Footnote-11169407
+Node: Extension Other Design Decisions1169596
+Node: Extension Future Growth1171704
+Node: Old Extension Mechanism1172540
+Node: Notes summary1174302
+Node: Basic Concepts1175488
+Node: Basic High Level1176169
+Ref: figure-general-flow1176441
+Ref: figure-process-flow1177040
+Ref: Basic High Level-Footnote-11180269
+Node: Basic Data Typing1180454
+Node: Glossary1183782
+Node: Copying1208940
+Node: GNU Free Documentation License1246496
+Node: Index1271632
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 3e6fb5d..a7df231 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -1269,6 +1269,9 @@ the C/C++ module as a dynamic plug-in.
 has all the
 details, and as expected, many examples to help you learn the ins and outs.
 
+I enjoy programming in AWK and had fun (re)reading this book.
+I think you will too.
+
 @ifnotdocbook
 @cindex Brennan, Michael
 @display
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 61575e4..73471b6 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -1264,6 +1264,9 @@ the C/C++ module as a dynamic plug-in.
 has all the
 details, and as expected, many examples to help you learn the ins and outs.
 
+I enjoy programming in AWK and had fun (re)reading this book.
+I think you will too.
+
 @ifnotdocbook
 @cindex Brennan, Michael
 @display

-----------------------------------------------------------------------

Summary of changes:
 doc/ChangeLog     |    8 +
 doc/gawk.info     | 1109 +++++++++++++++++++++++++-------------------------
 doc/gawk.texi     |    5 +-
 doc/gawktexi.in   |    5 +-
 doc/texinfo.tex   |  123 ++++--
 po/it.po          | 1174 +++++++++++++++++++++++++++--------------------------
 test/ChangeLog    |   11 +
 test/Makefile.am  |    7 +-
 test/Makefile.in  |   12 +-
 test/Maketests    |    5 +
 test/badbuild.awk |    6 +
 test/badbuild.in  |    1 +
 test/badbuild.ok  |    3 +
 13 files changed, 1292 insertions(+), 1177 deletions(-)
 create mode 100644 test/badbuild.awk
 create mode 100644 test/badbuild.in
 create mode 100644 test/badbuild.ok


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]