gawk-diffs
[Top][All Lists]
Advanced

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

[SCM] gawk branch, gawk-5.3-stable, updated. gawk-4.1.0-5453-ge05040b5


From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.3-stable, updated. gawk-4.1.0-5453-ge05040b5
Date: Sun, 28 Jan 2024 13:24:35 -0500 (EST)

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-5.3-stable has been updated
       via  e05040b5d81b5a0e809fc56df2a7c3d654c77e1d (commit)
       via  37cb234d105f77222d99ca09802df10a23327a6e (commit)
      from  9893d0fe39f3c60d65500f50c0527588f8e8bb03 (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=e05040b5d81b5a0e809fc56df2a7c3d654c77e1d

commit e05040b5d81b5a0e809fc56df2a7c3d654c77e1d
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Sun Jan 28 20:24:09 2024 +0200

    Bug fix in str2wstr.

diff --git a/ChangeLog b/ChangeLog
index 3f1a4413..5d709533 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-01-28         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * node.c (str2wstr): Always allocate the array for use
+       by do_match().  Bug reported by Sam James <sam@gentoo.org>.
+       Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc> for the
+       simplified test case.
+
 2024-01-20         Arnold D. Robbins     <arnold@skeeve.com>
 
        * configure.ac: MPFR on 32 bit Power PC is back
diff --git a/node.c b/node.c
index de12f05d..5aac5e88 100644
--- a/node.c
+++ b/node.c
@@ -815,6 +815,20 @@ str2wstr(NODE *n, size_t **ptr)
 
        assert((n->flags & (STRING|STRCUR)) != 0);
 
+       /*
+        * For use by do_match, create and fill in an array.
+        * For each byte `i' in n->stptr (the original string),
+        * a[i] is equal to `j', where `j' is the corresponding wchar_t
+        * in the converted wide string.
+        *
+        * This is needed even for Nnull_string or Null_field.
+        *
+        * Create the array.
+        */
+       if (ptr != NULL) {
+               ezalloc(*ptr, size_t *, sizeof(size_t) * (n->stlen + 1), 
"str2wstr");
+       }
+
        /*
         * Don't convert global null string or global null field
         * variables to a wide string. They are both zero-length anyway.
@@ -848,18 +862,6 @@ str2wstr(NODE *n, size_t **ptr)
        emalloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->stlen + 1), 
"str2wstr");
        wsp = n->wstptr;
 
-       /*
-        * For use by do_match, create and fill in an array.
-        * For each byte `i' in n->stptr (the original string),
-        * a[i] is equal to `j', where `j' is the corresponding wchar_t
-        * in the converted wide string.
-        *
-        * Create the array.
-        */
-       if (ptr != NULL) {
-               ezalloc(*ptr, size_t *, sizeof(size_t) * (n->stlen + 1), 
"str2wstr");
-       }
-
        sp = n->stptr;
        src_count = n->stlen;
        memset(& mbs, 0, sizeof(mbs));
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 199b5ad7..2bb86f9f 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,7 @@
+2024-01-28         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * Makefile.tst: Regenerated.
+
 2023-12-24         Arnold D. Robbins     <arnold@skeeve.com>
 
        * Makefile.tst: Regenerated.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index daf3c56d..9ab61c72 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -180,6 +180,7 @@ BASIC_TESTS = \
        substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \
        trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \
        unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \
+       match4 \
        widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = \
@@ -2602,6 +2603,11 @@ widesub3:
        AWKPATH="$(srcdir)" $(AWK) -f $@.awk  < "$(srcdir)"/$@.in >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
 
+match4:
+       @echo $@
+       @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
 widesub4:
        @echo $@ $(ZOS_FAIL)
        @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
diff --git a/test/ChangeLog b/test/ChangeLog
index b955dcd0..dc3acab4 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2024-01-28         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * Makefile.am (EXTRA_DIST): New tests: match4.
+       * match4.awk, match4.ok,
+
 2023-12-24         Arnold D. Robbins     <arnold@skeeve.com>
 
        * Makefile.am (EXTRA_DIST): New tests: dbugarray3, dbugarray4.
diff --git a/test/Makefile.am b/test/Makefile.am
index a876b3ab..e1e1f3fe 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2023 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2024 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
@@ -763,6 +763,8 @@ EXTRA_DIST = \
        match3.awk \
        match3.in \
        match3.ok \
+       match4.awk \
+       match4.ok \
        math.awk \
        math.ok \
        mbfw1.awk \
@@ -1544,6 +1546,7 @@ BASIC_TESTS = \
        substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \
        trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \
        unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \
+       match4 \
        widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = \
diff --git a/test/Makefile.in b/test/Makefile.in
index 1ef143fe..681a85b6 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -17,7 +17,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2023 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2024 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
@@ -1027,6 +1027,8 @@ EXTRA_DIST = \
        match3.awk \
        match3.in \
        match3.ok \
+       match4.awk \
+       match4.ok \
        math.awk \
        math.ok \
        mbfw1.awk \
@@ -1808,6 +1810,7 @@ BASIC_TESTS = \
        substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \
        trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \
        unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \
+       match4 \
        widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = \
@@ -4414,6 +4417,11 @@ widesub3:
        AWKPATH="$(srcdir)" $(AWK) -f $@.awk  < "$(srcdir)"/$@.in >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
 
+match4:
+       @echo $@
+       @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
 widesub4:
        @echo $@ $(ZOS_FAIL)
        @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE; \
diff --git a/test/Maketests b/test/Maketests
index bac220f1..9a001409 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1288,6 +1288,11 @@ widesub3:
        AWKPATH="$(srcdir)" $(AWK) -f $@.awk  < "$(srcdir)"/$@.in >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
 
+match4:
+       @echo $@
+       @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
 widesub4:
        @echo $@ $(ZOS_FAIL)
        @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE; \
diff --git a/test/match4.awk b/test/match4.awk
new file mode 100644
index 00000000..e50150a3
--- /dev/null
+++ b/test/match4.awk
@@ -0,0 +1 @@
+BEGIN { print match (m, /a?/) }
diff --git a/test/match4.ok b/test/match4.ok
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/test/match4.ok
@@ -0,0 +1 @@
+1

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

commit 37cb234d105f77222d99ca09802df10a23327a6e
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Sun Jan 28 20:13:28 2024 +0200

    Doc update on strftime and flags.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9ecffbbc..26b9fef1 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2024-01-28         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * gawk.texi (Time Functions): Add a note that some versions of
+       strftime accept flags, but that this isn't portable. Thanks
+       to Ed Morton <mortoneccc@comcast.net>.
+
 2023-12-27         Arnold D. Robbins     <arnold@skeeve.com>
 
        * gawk.texi (Requesting Values): Fix a spelling typo.
diff --git a/doc/gawk.info b/doc/gawk.info
index 211a7cd5..31767c31 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -14524,6 +14524,13 @@ format specifications are available:
    Additionally, the alternative representations are recognized but
 their normal representations are used.
 
+     NOTE: Similar to ‘printf()’, some versions of ‘strftime()’ support
+     the use of flags between the ‘%’ and the format specification
+     letter.  Check your local manpage for ‘strftime()’ to see if it
+     supports flags or not, and what they are.  Be aware, however, that
+     using any such flags is likely to make your script less portable to
+     other systems.
+
    The following example is an ‘awk’ implementation of the POSIX ‘date’
 utility.  Normally, the ‘date’ utility prints the current date and time
 of day in a well-known format.  However, if you provide an argument to
@@ -37209,7 +37216,7 @@ Index
 * database, group, reading:              Group Functions.     (line   6)
 * database, users, reading:              Passwd Functions.    (line   6)
 * date utility, GNU:                     Time Functions.      (line  17)
-* date utility, POSIX:                   Time Functions.      (line 254)
+* date utility, POSIX:                   Time Functions.      (line 261)
 * dates, converting to timestamps:       Time Functions.      (line  77)
 * dates, information related to, localization: Explaining gettext.
                                                               (line 112)
@@ -38879,7 +38886,7 @@ Index
 * POSIX awk, changes in awk versions:    POSIX.               (line   6)
 * POSIX awk, continue statement and:     Continue Statement.  (line  44)
 * POSIX awk, CONVFMT variable and:       User-modified.       (line  30)
-* POSIX awk, date utility and:           Time Functions.      (line 254)
+* POSIX awk, date utility and:           Time Functions.      (line 261)
 * POSIX awk, field separators and:       Full Line Fields.    (line  16)
 * POSIX awk, function keyword in:        Definition Syntax.   (line  99)
 * POSIX awk, functions and, gsub()/sub(): Gory Details.       (line  93)
@@ -40080,358 +40087,358 @@ Ref: table-system-return-values627345
 Ref: I/O Functions-Footnote-1629507
 Ref: I/O Functions-Footnote-2629655
 Node: Time Functions629775
-Ref: Time Functions-Footnote-1640857
-Ref: Time Functions-Footnote-2640925
-Ref: Time Functions-Footnote-3641087
-Ref: Time Functions-Footnote-4641198
-Ref: Time Functions-Footnote-5641314
-Ref: Time Functions-Footnote-6641541
-Node: Bitwise Functions641819
-Ref: table-bitwise-ops642417
-Ref: Bitwise Functions-Footnote-1648659
-Ref: Bitwise Functions-Footnote-2648836
-Node: Type Functions649031
-Node: I18N Functions651202
-Node: User-defined652937
-Node: Definition Syntax653683
-Ref: Definition Syntax-Footnote-1659501
-Node: Function Example659576
-Ref: Function Example-Footnote-1662555
-Node: Function Calling662577
-Node: Calling A Function663169
-Node: Variable Scope664139
-Node: Pass By Value/Reference667193
-Node: Function Caveats669921
-Ref: Function Caveats-Footnote-1672012
-Node: Return Statement672132
-Node: Dynamic Typing675164
-Node: Dynamic Typing Awk675742
-Node: Dynamic Typing Gawk677880
-Node: Indirect Calls681250
-Node: Functions Summary692387
-Node: Library Functions695353
-Ref: Library Functions-Footnote-1698901
-Ref: Library Functions-Footnote-2699046
-Node: Library Names699221
-Ref: Library Names-Footnote-1702992
-Ref: Library Names-Footnote-2703219
-Node: General Functions703313
-Node: Strtonum Function704583
-Node: Assert Function707665
-Node: Round Function711115
-Node: Cliff Random Function712687
-Node: Ordinal Functions713711
-Ref: Ordinal Functions-Footnote-1716814
-Ref: Ordinal Functions-Footnote-2717066
-Node: Join Function717280
-Ref: Join Function-Footnote-1719078
-Node: Getlocaltime Function719282
-Node: Readfile Function723056
-Node: Shell Quoting725085
-Node: Isnumeric Function726541
-Node: To CSV Function727977
-Node: Data File Management730069
-Node: Filetrans Function730701
-Node: Rewind Function734977
-Node: File Checking736948
-Ref: File Checking-Footnote-1738314
-Node: Empty Files738519
-Node: Ignoring Assigns740582
-Node: Getopt Function742156
-Ref: Getopt Function-Footnote-1757974
-Node: Passwd Functions758186
-Ref: Passwd Functions-Footnote-1767321
-Node: Group Functions767409
-Ref: Group Functions-Footnote-1775533
-Node: Walking Arrays775744
-Node: Library Functions Summary778790
-Node: Library Exercises780210
-Node: Sample Programs780695
-Node: Running Examples781477
-Node: Clones782229
-Node: Cut Program783497
-Node: Egrep Program793921
-Node: Id Program803226
-Node: Split Program813318
-Ref: Split Program-Footnote-1823531
-Node: Tee Program823716
-Node: Uniq Program826622
-Node: Wc Program834482
-Node: Bytes vs. Characters834877
-Node: Using extensions836477
-Node: wc program837255
-Node: Miscellaneous Programs842248
-Node: Dupword Program843473
-Node: Alarm Program845522
-Node: Translate Program850425
-Ref: Translate Program-Footnote-1855134
-Node: Labels Program855412
-Ref: Labels Program-Footnote-1858847
-Node: Word Sorting858931
-Node: History Sorting863105
-Node: Extract Program865378
-Node: Simple Sed873631
-Node: Igawk Program876841
-Ref: Igawk Program-Footnote-1892051
-Ref: Igawk Program-Footnote-2892257
-Ref: Igawk Program-Footnote-3892387
-Node: Anagram Program892514
-Node: Signature Program895600
-Node: Programs Summary896850
-Node: Programs Exercises898104
-Ref: Programs Exercises-Footnote-1902406
-Node: Advanced Features902492
-Node: Nondecimal Data904973
-Node: Boolean Typed Values906603
-Node: Array Sorting908560
-Node: Controlling Array Traversal909289
-Ref: Controlling Array Traversal-Footnote-1917792
-Node: Array Sorting Functions917914
-Ref: Array Sorting Functions-Footnote-1924011
-Node: Two-way I/O924219
-Ref: Two-way I/O-Footnote-1932190
-Ref: Two-way I/O-Footnote-2932381
-Node: TCP/IP Networking932463
-Node: Profiling935631
-Node: Persistent Memory945301
-Ref: Persistent Memory-Footnote-1954873
-Node: Extension Philosophy955004
-Node: Advanced Features Summary956531
-Node: Internationalization958797
-Node: I18N and L10N960499
-Node: Explaining gettext961194
-Ref: Explaining gettext-Footnote-1967330
-Ref: Explaining gettext-Footnote-2967523
-Node: Programmer i18n967688
-Ref: Programmer i18n-Footnote-1972800
-Node: Translator i18n972849
-Node: String Extraction973679
-Ref: String Extraction-Footnote-1974855
-Node: Printf Ordering974953
-Ref: Printf Ordering-Footnote-1977811
-Node: I18N Portability977879
-Ref: I18N Portability-Footnote-1980439
-Node: I18N Example980506
-Ref: I18N Example-Footnote-1983900
-Ref: I18N Example-Footnote-2983973
-Node: Gawk I18N984090
-Node: I18N Summary984744
-Node: Debugger986141
-Node: Debugging987161
-Node: Debugging Concepts987610
-Node: Debugging Terms989427
-Node: Awk Debugging992030
-Ref: Awk Debugging-Footnote-1993003
-Node: Sample Debugging Session993139
-Node: Debugger Invocation993689
-Node: Finding The Bug995314
-Node: List of Debugger Commands1001946
-Node: Breakpoint Control1003323
-Node: Debugger Execution Control1007145
-Node: Viewing And Changing Data1010619
-Node: Execution Stack1014353
-Node: Debugger Info1016034
-Node: Miscellaneous Debugger Commands1020329
-Node: Readline Support1025570
-Node: Limitations1026514
-Node: Debugging Summary1029138
-Node: Namespaces1030437
-Node: Global Namespace1031564
-Node: Qualified Names1032998
-Node: Default Namespace1034033
-Node: Changing The Namespace1034806
-Node: Naming Rules1036488
-Node: Internal Name Management1038403
-Node: Namespace Example1039473
-Node: Namespace And Features1042050
-Node: Namespace Summary1043505
-Node: Arbitrary Precision Arithmetic1045016
-Node: Computer Arithmetic1046535
-Ref: table-numeric-ranges1050343
-Ref: table-floating-point-ranges1050840
-Ref: Computer Arithmetic-Footnote-11051498
-Node: Math Definitions1051555
-Ref: table-ieee-formats1054587
-Node: MPFR features1055160
-Node: MPFR On Parole1055613
-Ref: MPFR On Parole-Footnote-11056454
-Node: MPFR Intro1056613
-Node: FP Math Caution1058297
-Ref: FP Math Caution-Footnote-11059369
-Node: Inexactness of computations1059742
-Node: Inexact representation1060773
-Node: Comparing FP Values1062154
-Node: Errors accumulate1063412
-Node: Strange values1064877
-Ref: Strange values-Footnote-11067531
-Node: Getting Accuracy1067636
-Node: Try To Round1070373
-Node: Setting precision1071280
-Ref: table-predefined-precision-strings1071985
-Node: Setting the rounding mode1073869
-Ref: table-gawk-rounding-modes1074251
-Ref: Setting the rounding mode-Footnote-11078303
-Node: Arbitrary Precision Integers1078486
-Ref: Arbitrary Precision Integers-Footnote-11081696
-Node: Checking for MPFR1081849
-Node: POSIX Floating Point Problems1083339
-Ref: POSIX Floating Point Problems-Footnote-11088159
-Node: Floating point summary1088197
-Node: Dynamic Extensions1090453
-Node: Extension Intro1092050
-Node: Plugin License1093352
-Node: Extension Mechanism Outline1094165
-Ref: figure-load-extension1094616
-Ref: figure-register-new-function1096194
-Ref: figure-call-new-function1097303
-Node: Extension API Description1099418
-Node: Extension API Functions Introduction1101147
-Ref: table-api-std-headers1103041
-Node: General Data Types1107482
-Ref: General Data Types-Footnote-11116628
-Node: Memory Allocation Functions1116931
-Ref: Memory Allocation Functions-Footnote-11121648
-Node: Constructor Functions1121747
-Node: API Ownership of MPFR and GMP Values1125648
-Node: Registration Functions1127201
-Node: Extension Functions1127905
-Node: Exit Callback Functions1133479
-Node: Extension Version String1134793
-Node: Input Parsers1135488
-Node: Output Wrappers1150107
-Node: Two-way processors1154949
-Node: Printing Messages1157302
-Ref: Printing Messages-Footnote-11158513
-Node: Updating ERRNO1158666
-Node: Requesting Values1159465
-Ref: table-value-types-returned1160218
-Node: Accessing Parameters1162277
-Node: Symbol Table Access1163558
-Node: Symbol table by name1164070
-Ref: Symbol table by name-Footnote-11167271
-Node: Symbol table by cookie1167403
-Ref: Symbol table by cookie-Footnote-11171672
-Node: Cached values1171736
-Ref: Cached values-Footnote-11175368
-Node: Array Manipulation1175525
-Ref: Array Manipulation-Footnote-11176624
-Node: Array Data Types1176661
-Ref: Array Data Types-Footnote-11179479
-Node: Array Functions1179575
-Node: Flattening Arrays1184604
-Node: Creating Arrays1191652
-Node: Redirection API1196494
-Node: Extension API Variables1199511
-Node: Extension Versioning1200234
-Ref: gawk-api-version1200663
-Node: Extension GMP/MPFR Versioning1202450
-Node: Extension API Informational Variables1204154
-Node: Extension API Boilerplate1205407
-Node: Changes from API V11209537
-Node: Finding Extensions1211169
-Node: Extension Example1211744
-Node: Internal File Description1212566
-Node: Internal File Ops1216858
-Ref: Internal File Ops-Footnote-11228408
-Node: Using Internal File Ops1228556
-Ref: Using Internal File Ops-Footnote-11230987
-Node: Extension Samples1231265
-Node: Extension Sample File Functions1232834
-Node: Extension Sample Fnmatch1240959
-Node: Extension Sample Fork1242554
-Node: Extension Sample Inplace1243830
-Node: Extension Sample Ord1247496
-Node: Extension Sample Readdir1248372
-Ref: table-readdir-file-types1249161
-Node: Extension Sample Revout1250517
-Node: Extension Sample Rev2way1251114
-Node: Extension Sample Read write array1251866
-Node: Extension Sample Readfile1255140
-Node: Extension Sample Time1256271
-Node: Extension Sample API Tests1258271
-Node: gawkextlib1258779
-Node: Extension summary1261811
-Node: Extension Exercises1265659
-Node: Language History1266929
-Node: V7/SVR3.11268641
-Node: SVR41270991
-Node: POSIX1272523
-Node: BTL1273948
-Node: POSIX/GNU1274715
-Node: Feature History1281370
-Node: Common Extensions1301172
-Node: Ranges and Locales1302647
-Ref: Ranges and Locales-Footnote-11307432
-Ref: Ranges and Locales-Footnote-21307459
-Ref: Ranges and Locales-Footnote-31307694
-Node: Contributors1307917
-Node: History summary1314108
-Node: Installation1315550
-Node: Gawk Distribution1316514
-Node: Getting1317006
-Node: Extracting1318005
-Node: Distribution contents1319711
-Node: Unix Installation1327601
-Node: Quick Installation1328421
-Node: Compiling with MPFR1330961
-Node: Shell Startup Files1331667
-Node: Additional Configuration Options1332824
-Node: Configuration Philosophy1335207
-Node: Compiling from Git1337707
-Node: Building the Documentation1338266
-Node: Non-Unix Installation1339678
-Node: PC Installation1340154
-Node: PC Binary Installation1341023
-Node: PC Compiling1341916
-Node: PC Using1343094
-Node: Cygwin1346810
-Node: MSYS1348062
-Node: OpenVMS Installation1348688
-Node: OpenVMS Compilation1349369
-Ref: OpenVMS Compilation-Footnote-11350852
-Node: OpenVMS Dynamic Extensions1350910
-Node: OpenVMS Installation Details1352546
-Node: OpenVMS Running1354977
-Node: OpenVMS GNV1359114
-Node: Bugs1359869
-Node: Bug definition1360789
-Node: Bug address1364390
-Node: Usenet1367959
-Node: Performance bugs1369172
-Node: Asking for help1372188
-Node: Maintainers1374175
-Node: Other Versions1375202
-Node: Installation summary1384806
-Node: Notes1386188
-Node: Compatibility Mode1386998
-Node: Additions1387820
-Node: Accessing The Source1388765
-Node: Adding Code1390296
-Node: New Ports1397407
-Node: Derived Files1401910
-Ref: Derived Files-Footnote-11407721
-Ref: Derived Files-Footnote-21407756
-Ref: Derived Files-Footnote-31408367
-Node: Future Extensions1408481
-Node: Implementation Limitations1409151
-Node: Extension Design1410393
-Node: Old Extension Problems1411553
-Ref: Old Extension Problems-Footnote-11413125
-Node: Extension New Mechanism Goals1413186
-Ref: Extension New Mechanism Goals-Footnote-11416656
-Node: Extension Other Design Decisions1416857
-Node: Extension Future Growth1419054
-Node: Notes summary1419674
-Node: Basic Concepts1420884
-Node: Basic High Level1421569
-Ref: figure-general-flow1421851
-Ref: figure-process-flow1422553
-Ref: Basic High Level-Footnote-11425923
-Node: Basic Data Typing1426112
-Node: Glossary1429520
-Node: Copying1462399
-Node: GNU Free Documentation License1499957
-Node: Index1525080
+Ref: Time Functions-Footnote-1641247
+Ref: Time Functions-Footnote-2641315
+Ref: Time Functions-Footnote-3641477
+Ref: Time Functions-Footnote-4641588
+Ref: Time Functions-Footnote-5641704
+Ref: Time Functions-Footnote-6641931
+Node: Bitwise Functions642209
+Ref: table-bitwise-ops642807
+Ref: Bitwise Functions-Footnote-1649049
+Ref: Bitwise Functions-Footnote-2649226
+Node: Type Functions649421
+Node: I18N Functions651592
+Node: User-defined653327
+Node: Definition Syntax654073
+Ref: Definition Syntax-Footnote-1659891
+Node: Function Example659966
+Ref: Function Example-Footnote-1662945
+Node: Function Calling662967
+Node: Calling A Function663559
+Node: Variable Scope664529
+Node: Pass By Value/Reference667583
+Node: Function Caveats670311
+Ref: Function Caveats-Footnote-1672402
+Node: Return Statement672522
+Node: Dynamic Typing675554
+Node: Dynamic Typing Awk676132
+Node: Dynamic Typing Gawk678270
+Node: Indirect Calls681640
+Node: Functions Summary692777
+Node: Library Functions695743
+Ref: Library Functions-Footnote-1699291
+Ref: Library Functions-Footnote-2699436
+Node: Library Names699611
+Ref: Library Names-Footnote-1703382
+Ref: Library Names-Footnote-2703609
+Node: General Functions703703
+Node: Strtonum Function704973
+Node: Assert Function708055
+Node: Round Function711505
+Node: Cliff Random Function713077
+Node: Ordinal Functions714101
+Ref: Ordinal Functions-Footnote-1717204
+Ref: Ordinal Functions-Footnote-2717456
+Node: Join Function717670
+Ref: Join Function-Footnote-1719468
+Node: Getlocaltime Function719672
+Node: Readfile Function723446
+Node: Shell Quoting725475
+Node: Isnumeric Function726931
+Node: To CSV Function728367
+Node: Data File Management730459
+Node: Filetrans Function731091
+Node: Rewind Function735367
+Node: File Checking737338
+Ref: File Checking-Footnote-1738704
+Node: Empty Files738909
+Node: Ignoring Assigns740972
+Node: Getopt Function742546
+Ref: Getopt Function-Footnote-1758364
+Node: Passwd Functions758576
+Ref: Passwd Functions-Footnote-1767711
+Node: Group Functions767799
+Ref: Group Functions-Footnote-1775923
+Node: Walking Arrays776134
+Node: Library Functions Summary779180
+Node: Library Exercises780600
+Node: Sample Programs781085
+Node: Running Examples781867
+Node: Clones782619
+Node: Cut Program783887
+Node: Egrep Program794311
+Node: Id Program803616
+Node: Split Program813708
+Ref: Split Program-Footnote-1823921
+Node: Tee Program824106
+Node: Uniq Program827012
+Node: Wc Program834872
+Node: Bytes vs. Characters835267
+Node: Using extensions836867
+Node: wc program837645
+Node: Miscellaneous Programs842638
+Node: Dupword Program843863
+Node: Alarm Program845912
+Node: Translate Program850815
+Ref: Translate Program-Footnote-1855524
+Node: Labels Program855802
+Ref: Labels Program-Footnote-1859237
+Node: Word Sorting859321
+Node: History Sorting863495
+Node: Extract Program865768
+Node: Simple Sed874021
+Node: Igawk Program877231
+Ref: Igawk Program-Footnote-1892441
+Ref: Igawk Program-Footnote-2892647
+Ref: Igawk Program-Footnote-3892777
+Node: Anagram Program892904
+Node: Signature Program895990
+Node: Programs Summary897240
+Node: Programs Exercises898494
+Ref: Programs Exercises-Footnote-1902796
+Node: Advanced Features902882
+Node: Nondecimal Data905363
+Node: Boolean Typed Values906993
+Node: Array Sorting908950
+Node: Controlling Array Traversal909679
+Ref: Controlling Array Traversal-Footnote-1918182
+Node: Array Sorting Functions918304
+Ref: Array Sorting Functions-Footnote-1924401
+Node: Two-way I/O924609
+Ref: Two-way I/O-Footnote-1932580
+Ref: Two-way I/O-Footnote-2932771
+Node: TCP/IP Networking932853
+Node: Profiling936021
+Node: Persistent Memory945691
+Ref: Persistent Memory-Footnote-1955263
+Node: Extension Philosophy955394
+Node: Advanced Features Summary956921
+Node: Internationalization959187
+Node: I18N and L10N960889
+Node: Explaining gettext961584
+Ref: Explaining gettext-Footnote-1967720
+Ref: Explaining gettext-Footnote-2967913
+Node: Programmer i18n968078
+Ref: Programmer i18n-Footnote-1973190
+Node: Translator i18n973239
+Node: String Extraction974069
+Ref: String Extraction-Footnote-1975245
+Node: Printf Ordering975343
+Ref: Printf Ordering-Footnote-1978201
+Node: I18N Portability978269
+Ref: I18N Portability-Footnote-1980829
+Node: I18N Example980896
+Ref: I18N Example-Footnote-1984290
+Ref: I18N Example-Footnote-2984363
+Node: Gawk I18N984480
+Node: I18N Summary985134
+Node: Debugger986531
+Node: Debugging987551
+Node: Debugging Concepts988000
+Node: Debugging Terms989817
+Node: Awk Debugging992420
+Ref: Awk Debugging-Footnote-1993393
+Node: Sample Debugging Session993529
+Node: Debugger Invocation994079
+Node: Finding The Bug995704
+Node: List of Debugger Commands1002336
+Node: Breakpoint Control1003713
+Node: Debugger Execution Control1007535
+Node: Viewing And Changing Data1011009
+Node: Execution Stack1014743
+Node: Debugger Info1016424
+Node: Miscellaneous Debugger Commands1020719
+Node: Readline Support1025960
+Node: Limitations1026904
+Node: Debugging Summary1029528
+Node: Namespaces1030827
+Node: Global Namespace1031954
+Node: Qualified Names1033388
+Node: Default Namespace1034423
+Node: Changing The Namespace1035196
+Node: Naming Rules1036878
+Node: Internal Name Management1038793
+Node: Namespace Example1039863
+Node: Namespace And Features1042440
+Node: Namespace Summary1043895
+Node: Arbitrary Precision Arithmetic1045406
+Node: Computer Arithmetic1046925
+Ref: table-numeric-ranges1050733
+Ref: table-floating-point-ranges1051230
+Ref: Computer Arithmetic-Footnote-11051888
+Node: Math Definitions1051945
+Ref: table-ieee-formats1054977
+Node: MPFR features1055550
+Node: MPFR On Parole1056003
+Ref: MPFR On Parole-Footnote-11056844
+Node: MPFR Intro1057003
+Node: FP Math Caution1058687
+Ref: FP Math Caution-Footnote-11059759
+Node: Inexactness of computations1060132
+Node: Inexact representation1061163
+Node: Comparing FP Values1062544
+Node: Errors accumulate1063802
+Node: Strange values1065267
+Ref: Strange values-Footnote-11067921
+Node: Getting Accuracy1068026
+Node: Try To Round1070763
+Node: Setting precision1071670
+Ref: table-predefined-precision-strings1072375
+Node: Setting the rounding mode1074259
+Ref: table-gawk-rounding-modes1074641
+Ref: Setting the rounding mode-Footnote-11078693
+Node: Arbitrary Precision Integers1078876
+Ref: Arbitrary Precision Integers-Footnote-11082086
+Node: Checking for MPFR1082239
+Node: POSIX Floating Point Problems1083729
+Ref: POSIX Floating Point Problems-Footnote-11088549
+Node: Floating point summary1088587
+Node: Dynamic Extensions1090843
+Node: Extension Intro1092440
+Node: Plugin License1093742
+Node: Extension Mechanism Outline1094555
+Ref: figure-load-extension1095006
+Ref: figure-register-new-function1096584
+Ref: figure-call-new-function1097693
+Node: Extension API Description1099808
+Node: Extension API Functions Introduction1101537
+Ref: table-api-std-headers1103431
+Node: General Data Types1107872
+Ref: General Data Types-Footnote-11117018
+Node: Memory Allocation Functions1117321
+Ref: Memory Allocation Functions-Footnote-11122038
+Node: Constructor Functions1122137
+Node: API Ownership of MPFR and GMP Values1126038
+Node: Registration Functions1127591
+Node: Extension Functions1128295
+Node: Exit Callback Functions1133869
+Node: Extension Version String1135183
+Node: Input Parsers1135878
+Node: Output Wrappers1150497
+Node: Two-way processors1155339
+Node: Printing Messages1157692
+Ref: Printing Messages-Footnote-11158903
+Node: Updating ERRNO1159056
+Node: Requesting Values1159855
+Ref: table-value-types-returned1160608
+Node: Accessing Parameters1162667
+Node: Symbol Table Access1163948
+Node: Symbol table by name1164460
+Ref: Symbol table by name-Footnote-11167661
+Node: Symbol table by cookie1167793
+Ref: Symbol table by cookie-Footnote-11172062
+Node: Cached values1172126
+Ref: Cached values-Footnote-11175758
+Node: Array Manipulation1175915
+Ref: Array Manipulation-Footnote-11177014
+Node: Array Data Types1177051
+Ref: Array Data Types-Footnote-11179869
+Node: Array Functions1179965
+Node: Flattening Arrays1184994
+Node: Creating Arrays1192042
+Node: Redirection API1196884
+Node: Extension API Variables1199901
+Node: Extension Versioning1200624
+Ref: gawk-api-version1201053
+Node: Extension GMP/MPFR Versioning1202840
+Node: Extension API Informational Variables1204544
+Node: Extension API Boilerplate1205797
+Node: Changes from API V11209927
+Node: Finding Extensions1211559
+Node: Extension Example1212134
+Node: Internal File Description1212956
+Node: Internal File Ops1217248
+Ref: Internal File Ops-Footnote-11228798
+Node: Using Internal File Ops1228946
+Ref: Using Internal File Ops-Footnote-11231377
+Node: Extension Samples1231655
+Node: Extension Sample File Functions1233224
+Node: Extension Sample Fnmatch1241349
+Node: Extension Sample Fork1242944
+Node: Extension Sample Inplace1244220
+Node: Extension Sample Ord1247886
+Node: Extension Sample Readdir1248762
+Ref: table-readdir-file-types1249551
+Node: Extension Sample Revout1250907
+Node: Extension Sample Rev2way1251504
+Node: Extension Sample Read write array1252256
+Node: Extension Sample Readfile1255530
+Node: Extension Sample Time1256661
+Node: Extension Sample API Tests1258661
+Node: gawkextlib1259169
+Node: Extension summary1262201
+Node: Extension Exercises1266049
+Node: Language History1267319
+Node: V7/SVR3.11269031
+Node: SVR41271381
+Node: POSIX1272913
+Node: BTL1274338
+Node: POSIX/GNU1275105
+Node: Feature History1281760
+Node: Common Extensions1301562
+Node: Ranges and Locales1303037
+Ref: Ranges and Locales-Footnote-11307822
+Ref: Ranges and Locales-Footnote-21307849
+Ref: Ranges and Locales-Footnote-31308084
+Node: Contributors1308307
+Node: History summary1314498
+Node: Installation1315940
+Node: Gawk Distribution1316904
+Node: Getting1317396
+Node: Extracting1318395
+Node: Distribution contents1320101
+Node: Unix Installation1327991
+Node: Quick Installation1328811
+Node: Compiling with MPFR1331351
+Node: Shell Startup Files1332057
+Node: Additional Configuration Options1333214
+Node: Configuration Philosophy1335597
+Node: Compiling from Git1338097
+Node: Building the Documentation1338656
+Node: Non-Unix Installation1340068
+Node: PC Installation1340544
+Node: PC Binary Installation1341413
+Node: PC Compiling1342306
+Node: PC Using1343484
+Node: Cygwin1347200
+Node: MSYS1348452
+Node: OpenVMS Installation1349078
+Node: OpenVMS Compilation1349759
+Ref: OpenVMS Compilation-Footnote-11351242
+Node: OpenVMS Dynamic Extensions1351300
+Node: OpenVMS Installation Details1352936
+Node: OpenVMS Running1355367
+Node: OpenVMS GNV1359504
+Node: Bugs1360259
+Node: Bug definition1361179
+Node: Bug address1364780
+Node: Usenet1368349
+Node: Performance bugs1369562
+Node: Asking for help1372578
+Node: Maintainers1374565
+Node: Other Versions1375592
+Node: Installation summary1385196
+Node: Notes1386578
+Node: Compatibility Mode1387388
+Node: Additions1388210
+Node: Accessing The Source1389155
+Node: Adding Code1390686
+Node: New Ports1397797
+Node: Derived Files1402300
+Ref: Derived Files-Footnote-11408111
+Ref: Derived Files-Footnote-21408146
+Ref: Derived Files-Footnote-31408757
+Node: Future Extensions1408871
+Node: Implementation Limitations1409541
+Node: Extension Design1410783
+Node: Old Extension Problems1411943
+Ref: Old Extension Problems-Footnote-11413515
+Node: Extension New Mechanism Goals1413576
+Ref: Extension New Mechanism Goals-Footnote-11417046
+Node: Extension Other Design Decisions1417247
+Node: Extension Future Growth1419444
+Node: Notes summary1420064
+Node: Basic Concepts1421274
+Node: Basic High Level1421959
+Ref: figure-general-flow1422241
+Ref: figure-process-flow1422943
+Ref: Basic High Level-Footnote-11426313
+Node: Basic Data Typing1426502
+Node: Glossary1429910
+Node: Copying1462789
+Node: GNU Free Documentation License1500347
+Node: Index1525470
 
 End Tag Table
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 1b758db3..e4da785f 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -19949,6 +19949,14 @@ The date in OpenVMS format (e.g., @samp{20-JUN-1991}).
 Additionally, the alternative representations are recognized but their
 normal representations are used.
 
+@quotation NOTE
+Similar to @code{printf()}, some versions of @code{strftime()} support
+the use of flags between the @code{%} and the format specification
+letter.  Check your local manpage for @code{strftime()} to see if it
+supports flags or not, and what they are. Be aware, however, that using
+any such flags is likely to make your script less portable to other systems.
+@end quotation
+
 @cindex @code{date} utility @subentry POSIX
 @cindex POSIX @command{awk} @subentry @code{date} utility and
 The following example is an @command{awk} implementation of the POSIX

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

Summary of changes:
 ChangeLog                        |   7 +
 doc/ChangeLog                    |   6 +
 doc/gawk.info                    | 715 ++++++++++++++++++++-------------------
 doc/gawk.texi                    |   8 +
 node.c                           |  26 +-
 pc/ChangeLog                     |   4 +
 pc/Makefile.tst                  |   6 +
 test/ChangeLog                   |   5 +
 test/Makefile.am                 |   5 +-
 test/Makefile.in                 |  10 +-
 test/Maketests                   |   5 +
 test/match4.awk                  |   1 +
 test/{arrayprm3.ok => match4.ok} |   0
 13 files changed, 430 insertions(+), 368 deletions(-)
 create mode 100644 test/match4.awk
 copy test/{arrayprm3.ok => match4.ok} (100%)


hooks/post-receive
-- 
gawk



reply via email to

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