gawk-diffs
[Top][All Lists]
Advanced

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

[SCM] gawk branch, gawk-5.2-stable, updated. gawk-4.1.0-4926-g388e0f58


From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.2-stable, updated. gawk-4.1.0-4926-g388e0f58
Date: Fri, 14 Oct 2022 02:40:13 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-5.2-stable has been updated
       via  388e0f586dbc0573a2a7cf8a3f9c77d7b63b9c97 (commit)
       via  5f33de7c199d77551f77e4e14f2a94d8a1e03134 (commit)
       via  81439c4ce738ae1af8756a0e6882117d20627896 (commit)
       via  03c960cdae4be283a525ab731d9d60b372960f78 (commit)
      from  f4b98a7f0960b6284c158a3af8758b73588a587d (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=388e0f586dbc0573a2a7cf8a3f9c77d7b63b9c97

commit 388e0f586dbc0573a2a7cf8a3f9c77d7b63b9c97
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Fri Oct 14 09:39:39 2022 +0300

    Documentation updates.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index df03bd17..3f541041 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,11 @@
+2022-10-14         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * gawktexi.in (Statements/Lines): Add a pointer to the bug list
+       for a patch that allows newlines inside parentheses without a
+       backslash.
+       (Persistent Memory): Document that PMA only works (right now)
+       on Intel-based macOS systems.
+
 2022-10-04         Arnold D. Robbins     <arnold@skeeve.com>
 
        * gawktexi.in: Make usage consistent for VAX, macos, z/OS and a few
diff --git a/doc/gawk.info b/doc/gawk.info
index f6930ade..f54ae7ad 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2342,6 +2342,12 @@ onto the next line.  However, the backslash-newline 
combination is never
 even noticed because it is "hidden" inside the comment.  Thus, the
 'BEGIN' is noted as a syntax error.
 
+   If you're interested, see
+<https://lists.gnu.org/archive/html/bug-gawk/2022-10/msg00025.html> for
+a source code patch that allows lines to be continued when inside
+parentheses.  This patch was not added to 'gawk' since it would quietly
+decrease the portability of 'awk' programs.
+
    When 'awk' statements within one rule are short, you might want to
 put more than one of them on a line.  This is accomplished by separating
 the statements with a semicolon (';').  This also applies to the rules
@@ -22164,9 +22170,9 @@ so:
 If you see the 'PMA' with a version indicator, then it's supported.
 
    As of this writing, persistent memory has only been tested on
-GNU/Linux, Cygwin, Solaris 2.11, macOS, FreeBSD 13.1 and OpenBSD 7.1.
-On all others, persistent memory is disabled by default.  You can force
-it to be enabled by exporting the shell variable
+GNU/Linux, Cygwin, Solaris 2.11, Intel-based macOS systems,(1) FreeBSD
+13.1 and OpenBSD 7.1.  On all others, persistent memory is disabled by
+default.  You can force it to be enabled by exporting the shell variable
 'REALLY_USE_PERSIST_MALLOC' with a nonempty value before running
 'configure' (*note Quick Installation::).  If you do so and all the
 tests pass, please let the maintainer know.
@@ -22300,11 +22306,15 @@ otherwise undocumented.
 persistent functions.
 
    As noted earlier, support for persistent memory is _experimental_.
-If it becomes burdensome,(1) then the feature will be removed.
+If it becomes burdensome,(2) then the feature will be removed.
 
    ---------- Footnotes ----------
 
-   (1) Meaning, there are too many bug reports, or too many strange
+   (1) As of this writing, the PMA allocator does not work on Apple M1
+systems, and therefore its use is disabled by 'configure'.  We hope that
+this will eventually be fixed.
+
+   (2) Meaning, there are too many bug reports, or too many strange
 differences in behavior from when 'gawk' is run normally.
 
 
@@ -35780,8 +35790,8 @@ Index
 * : (colon), ?: operator:                Precedence.          (line  91)
 * : (colon), :: namespace separator:     Qualified Names.     (line   6)
 * ; (semicolon), separating statements in actions: Statements/Lines.
-                                                              (line  92)
-* ; (semicolon), separating rules:       Statements/Lines.    (line  92)
+                                                              (line  98)
+* ; (semicolon), separating rules:       Statements/Lines.    (line  98)
 * ; (semicolon), separating statements in actions <1>: Action Overview.
                                                               (line  19)
 * ; (semicolon), separating statements in actions <2>: Statements.
@@ -38689,8 +38699,8 @@ Index
 * sed utility <2>:                       Glossary.            (line  16)
 * seeding random number generator:       Numeric Functions.   (line  63)
 * semicolon (;), separating statements in actions: Statements/Lines.
-                                                              (line  92)
-* semicolon (;), separating rules:       Statements/Lines.    (line  92)
+                                                              (line  98)
+* semicolon (;), separating rules:       Statements/Lines.    (line  98)
 * semicolon (;), separating statements in actions <1>: Action Overview.
                                                               (line  19)
 * semicolon (;), separating statements in actions <2>: Statements.
@@ -38891,7 +38901,7 @@ Index
 * starting the debugger:                 Debugger Invocation. (line   6)
 * stat() extension function:             Extension Sample File Functions.
                                                               (line  18)
-* statements, multiple:                  Statements/Lines.    (line  92)
+* statements, multiple:                  Statements/Lines.    (line  98)
 * statements, control, in actions:       Statements.          (line   6)
 * statements, compound, control statements and: Statements.   (line  10)
 * step debugger command:                 Debugger Execution Control.
@@ -39283,586 +39293,587 @@ Node: Very Simple100588
 Node: Two Rules106690
 Node: More Complex108575
 Node: Statements/Lines110907
-Ref: Statements/Lines-Footnote-1115391
-Node: Other Features115656
-Node: When116592
-Ref: When-Footnote-1118346
-Node: Intro Summary118411
-Node: Invoking Gawk119295
-Node: Command Line120809
-Node: Options121607
-Ref: Options-Footnote-1139856
-Ref: Options-Footnote-2140087
-Node: Other Arguments140112
-Node: Naming Standard Input144123
-Node: Environment Variables145333
-Node: AWKPATH Variable145891
-Ref: AWKPATH Variable-Footnote-1149303
-Ref: AWKPATH Variable-Footnote-2149337
-Node: AWKLIBPATH Variable149708
-Ref: AWKLIBPATH Variable-Footnote-1151405
-Node: Other Environment Variables151780
-Node: Exit Status156068
-Node: Include Files156745
-Node: Loading Shared Libraries160435
-Node: Obsolete161863
-Node: Undocumented162483
-Node: Invoking Summary162780
-Node: Regexp165621
-Node: Regexp Usage167075
-Node: Escape Sequences169112
-Node: Regexp Operators175354
-Node: Regexp Operator Details175839
-Ref: Regexp Operator Details-Footnote-1183203
-Node: Interval Expressions183350
-Ref: Interval Expressions-Footnote-1185525
-Node: Bracket Expressions185623
-Ref: table-char-classes188099
-Node: Leftmost Longest191426
-Node: Computed Regexps192729
-Node: GNU Regexp Operators196156
-Node: Case-sensitivity199952
-Ref: Case-sensitivity-Footnote-1202818
-Ref: Case-sensitivity-Footnote-2203053
-Node: Regexp Summary203161
-Node: Reading Files204627
-Node: Records206896
-Node: awk split records207971
-Node: gawk split records212671
-Ref: gawk split records-Footnote-1217745
-Node: Fields217782
-Node: Nonconstant Fields220523
-Ref: Nonconstant Fields-Footnote-1222759
-Node: Changing Fields222963
-Node: Field Separators228994
-Node: Default Field Splitting231692
-Node: Regexp Field Splitting232810
-Node: Single Character Fields236487
-Node: Command Line Field Separator237547
-Node: Full Line Fields240765
-Ref: Full Line Fields-Footnote-1242287
-Ref: Full Line Fields-Footnote-2242333
-Node: Field Splitting Summary242434
-Node: Constant Size244508
-Node: Fixed width data245240
-Node: Skipping intervening248707
-Node: Allowing trailing data249505
-Node: Fields with fixed data250542
-Node: Splitting By Content252060
-Ref: Splitting By Content-Footnote-1255896
-Node: More CSV256059
-Node: FS versus FPAT257674
-Node: Testing field creation258834
-Node: Multiple Line260459
-Node: Getline266736
-Node: Plain Getline269205
-Node: Getline/Variable271778
-Node: Getline/File272929
-Node: Getline/Variable/File274317
-Ref: Getline/Variable/File-Footnote-1275922
-Node: Getline/Pipe276010
-Node: Getline/Variable/Pipe278714
-Node: Getline/Coprocess279849
-Node: Getline/Variable/Coprocess281116
-Node: Getline Notes281858
-Node: Getline Summary284655
-Ref: table-getline-variants285079
-Node: Read Timeout285828
-Ref: Read Timeout-Footnote-1289744
-Node: Retrying Input289802
-Node: Command-line directories291001
-Node: Input Summary291907
-Node: Input Exercises295079
-Node: Printing295513
-Node: Print297347
-Node: Print Examples298804
-Node: Output Separators301584
-Node: OFMT303601
-Node: Printf304957
-Node: Basic Printf305742
-Node: Control Letters307316
-Node: Format Modifiers312478
-Node: Printf Examples318493
-Node: Redirection320979
-Node: Special FD327820
-Ref: Special FD-Footnote-1330988
-Node: Special Files331062
-Node: Other Inherited Files331679
-Node: Special Network332680
-Node: Special Caveats333540
-Node: Close Files And Pipes334489
-Ref: table-close-pipe-return-values341396
-Ref: Close Files And Pipes-Footnote-1342210
-Ref: Close Files And Pipes-Footnote-2342358
-Node: Nonfatal342510
-Node: Output Summary344848
-Node: Output Exercises346070
-Node: Expressions346749
-Node: Values347937
-Node: Constants348615
-Node: Scalar Constants349306
-Ref: Scalar Constants-Footnote-1351816
-Node: Nondecimal-numbers352066
-Node: Regexp Constants355067
-Node: Using Constant Regexps355593
-Node: Standard Regexp Constants356215
-Node: Strong Regexp Constants359403
-Node: Variables363118
-Node: Using Variables363775
-Node: Assignment Options365685
-Node: Conversion368156
-Node: Strings And Numbers368680
-Ref: Strings And Numbers-Footnote-1371743
-Node: Locale influences conversions371852
-Ref: table-locale-affects374610
-Node: All Operators375229
-Node: Arithmetic Ops375858
-Node: Concatenation378574
-Ref: Concatenation-Footnote-1381421
-Node: Assignment Ops381528
-Ref: table-assign-ops386519
-Node: Increment Ops387833
-Node: Truth Values and Conditions391293
-Node: Truth Values392367
-Node: Typing and Comparison393415
-Node: Variable Typing394235
-Ref: Variable Typing-Footnote-1400698
-Ref: Variable Typing-Footnote-2400770
-Node: Comparison Operators400847
-Ref: table-relational-ops401266
-Node: POSIX String Comparison404762
-Ref: POSIX String Comparison-Footnote-1406457
-Ref: POSIX String Comparison-Footnote-2406596
-Node: Boolean Ops406680
-Ref: Boolean Ops-Footnote-1411162
-Node: Conditional Exp411254
-Node: Function Calls412990
-Node: Precedence416867
-Node: Locales420526
-Node: Expressions Summary422158
-Node: Patterns and Actions424731
-Node: Pattern Overview425851
-Node: Regexp Patterns427528
-Node: Expression Patterns428070
-Node: Ranges431851
-Node: BEGIN/END434959
-Node: Using BEGIN/END435720
-Ref: Using BEGIN/END-Footnote-1438474
-Node: I/O And BEGIN/END438580
-Node: BEGINFILE/ENDFILE440893
-Node: Empty444124
-Node: Using Shell Variables444441
-Node: Action Overview446715
-Node: Statements449040
-Node: If Statement450888
-Node: While Statement452383
-Node: Do Statement454411
-Node: For Statement455559
-Node: Switch Statement458814
-Node: Break Statement461255
-Node: Continue Statement463347
-Node: Next Statement465174
-Node: Nextfile Statement467557
-Node: Exit Statement470246
-Node: Built-in Variables472649
-Node: User-modified473782
-Node: Auto-set481549
-Ref: Auto-set-Footnote-1498269
-Ref: Auto-set-Footnote-2498475
-Node: ARGC and ARGV498531
-Node: Pattern Action Summary502744
-Node: Arrays505174
-Node: Array Basics506503
-Node: Array Intro507347
-Ref: figure-array-elements509322
-Ref: Array Intro-Footnote-1512027
-Node: Reference to Elements512155
-Node: Assigning Elements514619
-Node: Array Example515110
-Node: Scanning an Array517064
-Node: Controlling Scanning520086
-Ref: Controlling Scanning-Footnote-1526542
-Node: Numeric Array Subscripts526858
-Node: Uninitialized Subscripts529042
-Node: Delete530661
-Ref: Delete-Footnote-1533413
-Node: Multidimensional533470
-Node: Multiscanning536565
-Node: Arrays of Arrays538156
-Node: Arrays Summary542924
-Node: Functions545017
-Node: Built-in546055
-Node: Calling Built-in547208
-Node: Boolean Functions549204
-Node: Numeric Functions549758
-Ref: Numeric Functions-Footnote-1553785
-Ref: Numeric Functions-Footnote-2554433
-Ref: Numeric Functions-Footnote-3554481
-Node: String Functions554753
-Ref: String Functions-Footnote-1579595
-Ref: String Functions-Footnote-2579723
-Ref: String Functions-Footnote-3579971
-Node: Gory Details580058
-Ref: table-sub-escapes581849
-Ref: table-sub-proposed583369
-Ref: table-posix-sub584733
-Ref: table-gensub-escapes586275
-Ref: Gory Details-Footnote-1587099
-Node: I/O Functions587253
-Ref: table-system-return-values593707
-Ref: I/O Functions-Footnote-1595788
-Ref: I/O Functions-Footnote-2595936
-Node: Time Functions596056
-Ref: Time Functions-Footnote-1606727
-Ref: Time Functions-Footnote-2606795
-Ref: Time Functions-Footnote-3606953
-Ref: Time Functions-Footnote-4607064
-Ref: Time Functions-Footnote-5607176
-Ref: Time Functions-Footnote-6607403
-Node: Bitwise Functions607669
-Ref: table-bitwise-ops608263
-Ref: Bitwise Functions-Footnote-1614327
-Ref: Bitwise Functions-Footnote-2614500
-Node: Type Functions614691
-Node: I18N Functions618212
-Node: User-defined619863
-Node: Definition Syntax620675
-Ref: Definition Syntax-Footnote-1626369
-Node: Function Example626440
-Ref: Function Example-Footnote-1629362
-Node: Function Calling629384
-Node: Calling A Function629972
-Node: Variable Scope630930
-Node: Pass By Value/Reference633924
-Node: Function Caveats636568
-Ref: Function Caveats-Footnote-1638615
-Node: Return Statement638735
-Node: Dynamic Typing641714
-Node: Indirect Calls642644
-Node: Functions Summary653571
-Node: Library Functions656276
-Ref: Library Functions-Footnote-1659760
-Ref: Library Functions-Footnote-2659903
-Node: Library Names660074
-Ref: Library Names-Footnote-1663741
-Ref: Library Names-Footnote-2663964
-Node: General Functions664050
-Node: Strtonum Function665232
-Node: Assert Function668254
-Node: Round Function671580
-Node: Cliff Random Function673120
-Node: Ordinal Functions674136
-Ref: Ordinal Functions-Footnote-1677199
-Ref: Ordinal Functions-Footnote-2677451
-Node: Join Function677661
-Ref: Join Function-Footnote-1679431
-Node: Getlocaltime Function679631
-Node: Readfile Function683373
-Node: Shell Quoting685350
-Node: Isnumeric Function686778
-Node: Data File Management688166
-Node: Filetrans Function688798
-Node: Rewind Function692894
-Node: File Checking694803
-Ref: File Checking-Footnote-1696137
-Node: Empty Files696338
-Node: Ignoring Assigns698317
-Node: Getopt Function699867
-Ref: Getopt Function-Footnote-1715164
-Node: Passwd Functions715364
-Ref: Passwd Functions-Footnote-1724203
-Node: Group Functions724291
-Ref: Group Functions-Footnote-1732189
-Node: Walking Arrays732396
-Node: Library Functions Summary735404
-Node: Library Exercises736810
-Node: Sample Programs737275
-Node: Running Examples738045
-Node: Clones738773
-Node: Cut Program739997
-Node: Egrep Program750137
-Node: Id Program759138
-Node: Split Program769073
-Ref: Split Program-Footnote-1778966
-Node: Tee Program779139
-Node: Uniq Program781929
-Node: Wc Program789517
-Node: Bytes vs. Characters789904
-Node: Using extensions791452
-Node: wc program792206
-Node: Miscellaneous Programs797071
-Node: Dupword Program798284
-Node: Alarm Program800314
-Node: Translate Program805169
-Ref: Translate Program-Footnote-1809734
-Node: Labels Program810004
-Ref: Labels Program-Footnote-1813355
-Node: Word Sorting813439
-Node: History Sorting817511
-Node: Extract Program819736
-Node: Simple Sed827749
-Node: Igawk Program830823
-Ref: Igawk Program-Footnote-1845452
-Ref: Igawk Program-Footnote-2845654
-Ref: Igawk Program-Footnote-3845776
-Node: Anagram Program845891
-Node: Signature Program848953
-Node: Programs Summary850200
-Node: Programs Exercises851414
-Ref: Programs Exercises-Footnote-1855544
-Node: Advanced Features855630
-Node: Nondecimal Data858027
-Node: Boolean Typed Values859625
-Node: Array Sorting861506
-Node: Controlling Array Traversal862211
-Ref: Controlling Array Traversal-Footnote-1870579
-Node: Array Sorting Functions870697
-Ref: Array Sorting Functions-Footnote-1876608
-Node: Two-way I/O876804
-Ref: Two-way I/O-Footnote-1884530
-Ref: Two-way I/O-Footnote-2884717
-Node: TCP/IP Networking884799
-Node: Profiling887875
-Node: Persistent Memory897181
-Ref: Persistent Memory-Footnote-1905318
-Node: Extension Philosophy905445
-Node: Advanced Features Summary906932
-Node: Internationalization909104
-Node: I18N and L10N910778
-Node: Explaining gettext911465
-Ref: Explaining gettext-Footnote-1917357
-Ref: Explaining gettext-Footnote-2917542
-Node: Programmer i18n917707
-Ref: Programmer i18n-Footnote-1922656
-Node: Translator i18n922705
-Node: String Extraction923499
-Ref: String Extraction-Footnote-1924631
-Node: Printf Ordering924717
-Ref: Printf Ordering-Footnote-1927503
-Node: I18N Portability927567
-Ref: I18N Portability-Footnote-1930023
-Node: I18N Example930086
-Ref: I18N Example-Footnote-1933361
-Ref: I18N Example-Footnote-2933434
-Node: Gawk I18N933543
-Node: I18N Summary934165
-Node: Debugger935506
-Node: Debugging936506
-Node: Debugging Concepts936947
-Node: Debugging Terms938756
-Node: Awk Debugging941331
-Ref: Awk Debugging-Footnote-1942276
-Node: Sample Debugging Session942408
-Node: Debugger Invocation942942
-Node: Finding The Bug944328
-Node: List of Debugger Commands950802
-Node: Breakpoint Control952135
-Node: Debugger Execution Control955829
-Node: Viewing And Changing Data959191
-Node: Execution Stack962732
-Node: Debugger Info964369
-Node: Miscellaneous Debugger Commands968440
-Node: Readline Support973502
-Node: Limitations974398
-Node: Debugging Summary976952
-Node: Namespaces978231
-Node: Global Namespace979342
-Node: Qualified Names980740
-Node: Default Namespace981739
-Node: Changing The Namespace982480
-Node: Naming Rules984094
-Node: Internal Name Management985942
-Node: Namespace Example986984
-Node: Namespace And Features989546
-Node: Namespace Summary990981
-Node: Arbitrary Precision Arithmetic992458
-Node: Computer Arithmetic993945
-Ref: table-numeric-ranges997711
-Ref: table-floating-point-ranges998205
-Ref: Computer Arithmetic-Footnote-1998864
-Node: Math Definitions998921
-Ref: table-ieee-formats1001897
-Node: MPFR features1002465
-Node: MPFR On Parole1002910
-Ref: MPFR On Parole-Footnote-11003739
-Node: MPFR Intro1003894
-Node: FP Math Caution1005545
-Ref: FP Math Caution-Footnote-11006617
-Node: Inexactness of computations1006986
-Node: Inexact representation1008017
-Node: Comparing FP Values1009377
-Node: Errors accumulate1010618
-Node: Strange values1012074
-Ref: Strange values-Footnote-11014662
-Node: Getting Accuracy1014767
-Node: Try To Round1017477
-Node: Setting precision1018376
-Ref: table-predefined-precision-strings1019073
-Node: Setting the rounding mode1020904
-Ref: table-gawk-rounding-modes1021278
-Ref: Setting the rounding mode-Footnote-11025210
-Node: Arbitrary Precision Integers1025389
-Ref: Arbitrary Precision Integers-Footnote-11028564
-Node: Checking for MPFR1028713
-Node: POSIX Floating Point Problems1030187
-Ref: POSIX Floating Point Problems-Footnote-11034840
-Node: Floating point summary1034878
-Node: Dynamic Extensions1037068
-Node: Extension Intro1038621
-Node: Plugin License1039887
-Node: Extension Mechanism Outline1040684
-Ref: figure-load-extension1041123
-Ref: figure-register-new-function1042689
-Ref: figure-call-new-function1043782
-Node: Extension API Description1045845
-Node: Extension API Functions Introduction1047558
-Ref: table-api-std-headers1049394
-Node: General Data Types1053644
-Ref: General Data Types-Footnote-11062350
-Node: Memory Allocation Functions1062649
-Ref: Memory Allocation Functions-Footnote-11067150
-Node: Constructor Functions1067249
-Node: API Ownership of MPFR and GMP Values1070902
-Node: Registration Functions1072435
-Node: Extension Functions1073135
-Node: Exit Callback Functions1078457
-Node: Extension Version String1079707
-Node: Input Parsers1080370
-Node: Output Wrappers1093091
-Node: Two-way processors1097603
-Node: Printing Messages1099868
-Ref: Printing Messages-Footnote-11101039
-Node: Updating ERRNO1101192
-Node: Requesting Values1101931
-Ref: table-value-types-returned1102668
-Node: Accessing Parameters1103777
-Node: Symbol Table Access1105014
-Node: Symbol table by name1105526
-Ref: Symbol table by name-Footnote-11108551
-Node: Symbol table by cookie1108679
-Ref: Symbol table by cookie-Footnote-11112864
-Node: Cached values1112928
-Ref: Cached values-Footnote-11116464
-Node: Array Manipulation1116617
-Ref: Array Manipulation-Footnote-11117708
-Node: Array Data Types1117745
-Ref: Array Data Types-Footnote-11120403
-Node: Array Functions1120495
-Node: Flattening Arrays1125280
-Node: Creating Arrays1132256
-Node: Redirection API1137023
-Node: Extension API Variables1139856
-Node: Extension Versioning1140567
-Ref: gawk-api-version1140996
-Node: Extension GMP/MPFR Versioning1142728
-Node: Extension API Informational Variables1144356
-Node: Extension API Boilerplate1145429
-Node: Changes from API V11149403
-Node: Finding Extensions1150975
-Node: Extension Example1151534
-Node: Internal File Description1152332
-Node: Internal File Ops1156412
-Ref: Internal File Ops-Footnote-11167762
-Node: Using Internal File Ops1167902
-Ref: Using Internal File Ops-Footnote-11170285
-Node: Extension Samples1170559
-Node: Extension Sample File Functions1172088
-Node: Extension Sample Fnmatch1179737
-Node: Extension Sample Fork1181224
-Node: Extension Sample Inplace1182442
-Node: Extension Sample Ord1186068
-Node: Extension Sample Readdir1186904
-Ref: table-readdir-file-types1187793
-Node: Extension Sample Revout1188861
-Node: Extension Sample Rev2way1189450
-Node: Extension Sample Read write array1190190
-Node: Extension Sample Readfile1193376
-Node: Extension Sample Time1194471
-Node: Extension Sample API Tests1196223
-Node: gawkextlib1196715
-Node: Extension summary1199633
-Node: Extension Exercises1203335
-Node: Language History1204577
-Node: V7/SVR3.11206233
-Node: SVR41208385
-Node: POSIX1209819
-Node: BTL1211200
-Node: POSIX/GNU1211929
-Node: Feature History1217854
-Node: Common Extensions1235593
-Node: Ranges and Locales1236876
-Ref: Ranges and Locales-Footnote-11241492
-Ref: Ranges and Locales-Footnote-21241519
-Ref: Ranges and Locales-Footnote-31241754
-Node: Contributors1241977
-Node: History summary1247974
-Node: Installation1249354
-Node: Gawk Distribution1250298
-Node: Getting1250782
-Node: Extracting1251745
-Node: Distribution contents1253383
-Node: Unix Installation1260889
-Node: Quick Installation1261693
-Node: Compiling with MPFR1264113
-Node: Shell Startup Files1264803
-Node: Additional Configuration Options1265892
-Node: Configuration Philosophy1268207
-Node: Compiling from Git1270603
-Node: Building the Documentation1271158
-Node: Non-Unix Installation1272542
-Node: PC Installation1273002
-Node: PC Binary Installation1273843
-Node: PC Compiling1274716
-Node: PC Using1275822
-Node: Cygwin1279318
-Node: MSYS1280542
-Node: VMS Installation1281144
-Node: VMS Compilation1281863
-Ref: VMS Compilation-Footnote-11283270
-Node: VMS Dynamic Extensions1283328
-Ref: VMS Dynamic Extensions-Footnote-11285052
-Node: VMS Installation Details1285142
-Node: VMS Running1287404
-Node: VMS GNV1291683
-Node: Bugs1292397
-Node: Bug definition1293309
-Node: Bug address1296811
-Node: Usenet1300330
-Node: Performance bugs1301519
-Node: Asking for help1304440
-Node: Maintainers1306407
-Node: Other Versions1307414
-Node: Installation summary1315684
-Node: Notes1317041
-Node: Compatibility Mode1317835
-Node: Additions1318617
-Node: Accessing The Source1319542
-Node: Adding Code1320979
-Node: New Ports1327794
-Node: Derived Files1332169
-Ref: Derived Files-Footnote-11337828
-Ref: Derived Files-Footnote-21337863
-Ref: Derived Files-Footnote-31338458
-Node: Future Extensions1338572
-Node: Implementation Limitations1339230
-Node: Extension Design1340440
-Node: Old Extension Problems1341584
-Ref: Old Extension Problems-Footnote-11343102
-Node: Extension New Mechanism Goals1343159
-Ref: Extension New Mechanism Goals-Footnote-11346523
-Node: Extension Other Design Decisions1346712
-Node: Extension Future Growth1348825
-Node: Notes summary1349431
-Node: Basic Concepts1350589
-Node: Basic High Level1351270
-Ref: figure-general-flow1351552
-Ref: figure-process-flow1352238
-Ref: Basic High Level-Footnote-11355540
-Node: Basic Data Typing1355725
-Node: Glossary1359053
-Node: Copying1390940
-Node: GNU Free Documentation License1428483
-Node: Index1453603
+Ref: Statements/Lines-Footnote-1115675
+Node: Other Features115940
+Node: When116876
+Ref: When-Footnote-1118630
+Node: Intro Summary118695
+Node: Invoking Gawk119579
+Node: Command Line121093
+Node: Options121891
+Ref: Options-Footnote-1140140
+Ref: Options-Footnote-2140371
+Node: Other Arguments140396
+Node: Naming Standard Input144407
+Node: Environment Variables145617
+Node: AWKPATH Variable146175
+Ref: AWKPATH Variable-Footnote-1149587
+Ref: AWKPATH Variable-Footnote-2149621
+Node: AWKLIBPATH Variable149992
+Ref: AWKLIBPATH Variable-Footnote-1151689
+Node: Other Environment Variables152064
+Node: Exit Status156352
+Node: Include Files157029
+Node: Loading Shared Libraries160719
+Node: Obsolete162147
+Node: Undocumented162767
+Node: Invoking Summary163064
+Node: Regexp165905
+Node: Regexp Usage167359
+Node: Escape Sequences169396
+Node: Regexp Operators175638
+Node: Regexp Operator Details176123
+Ref: Regexp Operator Details-Footnote-1183487
+Node: Interval Expressions183634
+Ref: Interval Expressions-Footnote-1185809
+Node: Bracket Expressions185907
+Ref: table-char-classes188383
+Node: Leftmost Longest191710
+Node: Computed Regexps193013
+Node: GNU Regexp Operators196440
+Node: Case-sensitivity200236
+Ref: Case-sensitivity-Footnote-1203102
+Ref: Case-sensitivity-Footnote-2203337
+Node: Regexp Summary203445
+Node: Reading Files204911
+Node: Records207180
+Node: awk split records208255
+Node: gawk split records212955
+Ref: gawk split records-Footnote-1218029
+Node: Fields218066
+Node: Nonconstant Fields220807
+Ref: Nonconstant Fields-Footnote-1223043
+Node: Changing Fields223247
+Node: Field Separators229278
+Node: Default Field Splitting231976
+Node: Regexp Field Splitting233094
+Node: Single Character Fields236771
+Node: Command Line Field Separator237831
+Node: Full Line Fields241049
+Ref: Full Line Fields-Footnote-1242571
+Ref: Full Line Fields-Footnote-2242617
+Node: Field Splitting Summary242718
+Node: Constant Size244792
+Node: Fixed width data245524
+Node: Skipping intervening248991
+Node: Allowing trailing data249789
+Node: Fields with fixed data250826
+Node: Splitting By Content252344
+Ref: Splitting By Content-Footnote-1256180
+Node: More CSV256343
+Node: FS versus FPAT257958
+Node: Testing field creation259118
+Node: Multiple Line260743
+Node: Getline267020
+Node: Plain Getline269489
+Node: Getline/Variable272062
+Node: Getline/File273213
+Node: Getline/Variable/File274601
+Ref: Getline/Variable/File-Footnote-1276206
+Node: Getline/Pipe276294
+Node: Getline/Variable/Pipe278998
+Node: Getline/Coprocess280133
+Node: Getline/Variable/Coprocess281400
+Node: Getline Notes282142
+Node: Getline Summary284939
+Ref: table-getline-variants285363
+Node: Read Timeout286112
+Ref: Read Timeout-Footnote-1290028
+Node: Retrying Input290086
+Node: Command-line directories291285
+Node: Input Summary292191
+Node: Input Exercises295363
+Node: Printing295797
+Node: Print297631
+Node: Print Examples299088
+Node: Output Separators301868
+Node: OFMT303885
+Node: Printf305241
+Node: Basic Printf306026
+Node: Control Letters307600
+Node: Format Modifiers312762
+Node: Printf Examples318777
+Node: Redirection321263
+Node: Special FD328104
+Ref: Special FD-Footnote-1331272
+Node: Special Files331346
+Node: Other Inherited Files331963
+Node: Special Network332964
+Node: Special Caveats333824
+Node: Close Files And Pipes334773
+Ref: table-close-pipe-return-values341680
+Ref: Close Files And Pipes-Footnote-1342494
+Ref: Close Files And Pipes-Footnote-2342642
+Node: Nonfatal342794
+Node: Output Summary345132
+Node: Output Exercises346354
+Node: Expressions347033
+Node: Values348221
+Node: Constants348899
+Node: Scalar Constants349590
+Ref: Scalar Constants-Footnote-1352100
+Node: Nondecimal-numbers352350
+Node: Regexp Constants355351
+Node: Using Constant Regexps355877
+Node: Standard Regexp Constants356499
+Node: Strong Regexp Constants359687
+Node: Variables363402
+Node: Using Variables364059
+Node: Assignment Options365969
+Node: Conversion368440
+Node: Strings And Numbers368964
+Ref: Strings And Numbers-Footnote-1372027
+Node: Locale influences conversions372136
+Ref: table-locale-affects374894
+Node: All Operators375513
+Node: Arithmetic Ops376142
+Node: Concatenation378858
+Ref: Concatenation-Footnote-1381705
+Node: Assignment Ops381812
+Ref: table-assign-ops386803
+Node: Increment Ops388117
+Node: Truth Values and Conditions391577
+Node: Truth Values392651
+Node: Typing and Comparison393699
+Node: Variable Typing394519
+Ref: Variable Typing-Footnote-1400982
+Ref: Variable Typing-Footnote-2401054
+Node: Comparison Operators401131
+Ref: table-relational-ops401550
+Node: POSIX String Comparison405046
+Ref: POSIX String Comparison-Footnote-1406741
+Ref: POSIX String Comparison-Footnote-2406880
+Node: Boolean Ops406964
+Ref: Boolean Ops-Footnote-1411446
+Node: Conditional Exp411538
+Node: Function Calls413274
+Node: Precedence417151
+Node: Locales420810
+Node: Expressions Summary422442
+Node: Patterns and Actions425015
+Node: Pattern Overview426135
+Node: Regexp Patterns427812
+Node: Expression Patterns428354
+Node: Ranges432135
+Node: BEGIN/END435243
+Node: Using BEGIN/END436004
+Ref: Using BEGIN/END-Footnote-1438758
+Node: I/O And BEGIN/END438864
+Node: BEGINFILE/ENDFILE441177
+Node: Empty444408
+Node: Using Shell Variables444725
+Node: Action Overview446999
+Node: Statements449324
+Node: If Statement451172
+Node: While Statement452667
+Node: Do Statement454695
+Node: For Statement455843
+Node: Switch Statement459098
+Node: Break Statement461539
+Node: Continue Statement463631
+Node: Next Statement465458
+Node: Nextfile Statement467841
+Node: Exit Statement470530
+Node: Built-in Variables472933
+Node: User-modified474066
+Node: Auto-set481833
+Ref: Auto-set-Footnote-1498553
+Ref: Auto-set-Footnote-2498759
+Node: ARGC and ARGV498815
+Node: Pattern Action Summary503028
+Node: Arrays505458
+Node: Array Basics506787
+Node: Array Intro507631
+Ref: figure-array-elements509606
+Ref: Array Intro-Footnote-1512311
+Node: Reference to Elements512439
+Node: Assigning Elements514903
+Node: Array Example515394
+Node: Scanning an Array517348
+Node: Controlling Scanning520370
+Ref: Controlling Scanning-Footnote-1526826
+Node: Numeric Array Subscripts527142
+Node: Uninitialized Subscripts529326
+Node: Delete530945
+Ref: Delete-Footnote-1533697
+Node: Multidimensional533754
+Node: Multiscanning536849
+Node: Arrays of Arrays538440
+Node: Arrays Summary543208
+Node: Functions545301
+Node: Built-in546339
+Node: Calling Built-in547492
+Node: Boolean Functions549488
+Node: Numeric Functions550042
+Ref: Numeric Functions-Footnote-1554069
+Ref: Numeric Functions-Footnote-2554717
+Ref: Numeric Functions-Footnote-3554765
+Node: String Functions555037
+Ref: String Functions-Footnote-1579879
+Ref: String Functions-Footnote-2580007
+Ref: String Functions-Footnote-3580255
+Node: Gory Details580342
+Ref: table-sub-escapes582133
+Ref: table-sub-proposed583653
+Ref: table-posix-sub585017
+Ref: table-gensub-escapes586559
+Ref: Gory Details-Footnote-1587383
+Node: I/O Functions587537
+Ref: table-system-return-values593991
+Ref: I/O Functions-Footnote-1596072
+Ref: I/O Functions-Footnote-2596220
+Node: Time Functions596340
+Ref: Time Functions-Footnote-1607011
+Ref: Time Functions-Footnote-2607079
+Ref: Time Functions-Footnote-3607237
+Ref: Time Functions-Footnote-4607348
+Ref: Time Functions-Footnote-5607460
+Ref: Time Functions-Footnote-6607687
+Node: Bitwise Functions607953
+Ref: table-bitwise-ops608547
+Ref: Bitwise Functions-Footnote-1614611
+Ref: Bitwise Functions-Footnote-2614784
+Node: Type Functions614975
+Node: I18N Functions618496
+Node: User-defined620147
+Node: Definition Syntax620959
+Ref: Definition Syntax-Footnote-1626653
+Node: Function Example626724
+Ref: Function Example-Footnote-1629646
+Node: Function Calling629668
+Node: Calling A Function630256
+Node: Variable Scope631214
+Node: Pass By Value/Reference634208
+Node: Function Caveats636852
+Ref: Function Caveats-Footnote-1638899
+Node: Return Statement639019
+Node: Dynamic Typing641998
+Node: Indirect Calls642928
+Node: Functions Summary653855
+Node: Library Functions656560
+Ref: Library Functions-Footnote-1660044
+Ref: Library Functions-Footnote-2660187
+Node: Library Names660358
+Ref: Library Names-Footnote-1664025
+Ref: Library Names-Footnote-2664248
+Node: General Functions664334
+Node: Strtonum Function665516
+Node: Assert Function668538
+Node: Round Function671864
+Node: Cliff Random Function673404
+Node: Ordinal Functions674420
+Ref: Ordinal Functions-Footnote-1677483
+Ref: Ordinal Functions-Footnote-2677735
+Node: Join Function677945
+Ref: Join Function-Footnote-1679715
+Node: Getlocaltime Function679915
+Node: Readfile Function683657
+Node: Shell Quoting685634
+Node: Isnumeric Function687062
+Node: Data File Management688450
+Node: Filetrans Function689082
+Node: Rewind Function693178
+Node: File Checking695087
+Ref: File Checking-Footnote-1696421
+Node: Empty Files696622
+Node: Ignoring Assigns698601
+Node: Getopt Function700151
+Ref: Getopt Function-Footnote-1715448
+Node: Passwd Functions715648
+Ref: Passwd Functions-Footnote-1724487
+Node: Group Functions724575
+Ref: Group Functions-Footnote-1732473
+Node: Walking Arrays732680
+Node: Library Functions Summary735688
+Node: Library Exercises737094
+Node: Sample Programs737559
+Node: Running Examples738329
+Node: Clones739057
+Node: Cut Program740281
+Node: Egrep Program750421
+Node: Id Program759422
+Node: Split Program769357
+Ref: Split Program-Footnote-1779250
+Node: Tee Program779423
+Node: Uniq Program782213
+Node: Wc Program789801
+Node: Bytes vs. Characters790188
+Node: Using extensions791736
+Node: wc program792490
+Node: Miscellaneous Programs797355
+Node: Dupword Program798568
+Node: Alarm Program800598
+Node: Translate Program805453
+Ref: Translate Program-Footnote-1810018
+Node: Labels Program810288
+Ref: Labels Program-Footnote-1813639
+Node: Word Sorting813723
+Node: History Sorting817795
+Node: Extract Program820020
+Node: Simple Sed828033
+Node: Igawk Program831107
+Ref: Igawk Program-Footnote-1845736
+Ref: Igawk Program-Footnote-2845938
+Ref: Igawk Program-Footnote-3846060
+Node: Anagram Program846175
+Node: Signature Program849237
+Node: Programs Summary850484
+Node: Programs Exercises851698
+Ref: Programs Exercises-Footnote-1855828
+Node: Advanced Features855914
+Node: Nondecimal Data858311
+Node: Boolean Typed Values859909
+Node: Array Sorting861790
+Node: Controlling Array Traversal862495
+Ref: Controlling Array Traversal-Footnote-1870863
+Node: Array Sorting Functions870981
+Ref: Array Sorting Functions-Footnote-1876892
+Node: Two-way I/O877088
+Ref: Two-way I/O-Footnote-1884814
+Ref: Two-way I/O-Footnote-2885001
+Node: TCP/IP Networking885083
+Node: Profiling888159
+Node: Persistent Memory897465
+Ref: Persistent Memory-Footnote-1905626
+Ref: Persistent Memory-Footnote-2905802
+Node: Extension Philosophy905929
+Node: Advanced Features Summary907416
+Node: Internationalization909588
+Node: I18N and L10N911262
+Node: Explaining gettext911949
+Ref: Explaining gettext-Footnote-1917841
+Ref: Explaining gettext-Footnote-2918026
+Node: Programmer i18n918191
+Ref: Programmer i18n-Footnote-1923140
+Node: Translator i18n923189
+Node: String Extraction923983
+Ref: String Extraction-Footnote-1925115
+Node: Printf Ordering925201
+Ref: Printf Ordering-Footnote-1927987
+Node: I18N Portability928051
+Ref: I18N Portability-Footnote-1930507
+Node: I18N Example930570
+Ref: I18N Example-Footnote-1933845
+Ref: I18N Example-Footnote-2933918
+Node: Gawk I18N934027
+Node: I18N Summary934649
+Node: Debugger935990
+Node: Debugging936990
+Node: Debugging Concepts937431
+Node: Debugging Terms939240
+Node: Awk Debugging941815
+Ref: Awk Debugging-Footnote-1942760
+Node: Sample Debugging Session942892
+Node: Debugger Invocation943426
+Node: Finding The Bug944812
+Node: List of Debugger Commands951286
+Node: Breakpoint Control952619
+Node: Debugger Execution Control956313
+Node: Viewing And Changing Data959675
+Node: Execution Stack963216
+Node: Debugger Info964853
+Node: Miscellaneous Debugger Commands968924
+Node: Readline Support973986
+Node: Limitations974882
+Node: Debugging Summary977436
+Node: Namespaces978715
+Node: Global Namespace979826
+Node: Qualified Names981224
+Node: Default Namespace982223
+Node: Changing The Namespace982964
+Node: Naming Rules984578
+Node: Internal Name Management986426
+Node: Namespace Example987468
+Node: Namespace And Features990030
+Node: Namespace Summary991465
+Node: Arbitrary Precision Arithmetic992942
+Node: Computer Arithmetic994429
+Ref: table-numeric-ranges998195
+Ref: table-floating-point-ranges998689
+Ref: Computer Arithmetic-Footnote-1999348
+Node: Math Definitions999405
+Ref: table-ieee-formats1002381
+Node: MPFR features1002949
+Node: MPFR On Parole1003394
+Ref: MPFR On Parole-Footnote-11004223
+Node: MPFR Intro1004378
+Node: FP Math Caution1006029
+Ref: FP Math Caution-Footnote-11007101
+Node: Inexactness of computations1007470
+Node: Inexact representation1008501
+Node: Comparing FP Values1009861
+Node: Errors accumulate1011102
+Node: Strange values1012558
+Ref: Strange values-Footnote-11015146
+Node: Getting Accuracy1015251
+Node: Try To Round1017961
+Node: Setting precision1018860
+Ref: table-predefined-precision-strings1019557
+Node: Setting the rounding mode1021388
+Ref: table-gawk-rounding-modes1021762
+Ref: Setting the rounding mode-Footnote-11025694
+Node: Arbitrary Precision Integers1025873
+Ref: Arbitrary Precision Integers-Footnote-11029048
+Node: Checking for MPFR1029197
+Node: POSIX Floating Point Problems1030671
+Ref: POSIX Floating Point Problems-Footnote-11035324
+Node: Floating point summary1035362
+Node: Dynamic Extensions1037552
+Node: Extension Intro1039105
+Node: Plugin License1040371
+Node: Extension Mechanism Outline1041168
+Ref: figure-load-extension1041607
+Ref: figure-register-new-function1043173
+Ref: figure-call-new-function1044266
+Node: Extension API Description1046329
+Node: Extension API Functions Introduction1048042
+Ref: table-api-std-headers1049878
+Node: General Data Types1054128
+Ref: General Data Types-Footnote-11062834
+Node: Memory Allocation Functions1063133
+Ref: Memory Allocation Functions-Footnote-11067634
+Node: Constructor Functions1067733
+Node: API Ownership of MPFR and GMP Values1071386
+Node: Registration Functions1072919
+Node: Extension Functions1073619
+Node: Exit Callback Functions1078941
+Node: Extension Version String1080191
+Node: Input Parsers1080854
+Node: Output Wrappers1093575
+Node: Two-way processors1098087
+Node: Printing Messages1100352
+Ref: Printing Messages-Footnote-11101523
+Node: Updating ERRNO1101676
+Node: Requesting Values1102415
+Ref: table-value-types-returned1103152
+Node: Accessing Parameters1104261
+Node: Symbol Table Access1105498
+Node: Symbol table by name1106010
+Ref: Symbol table by name-Footnote-11109035
+Node: Symbol table by cookie1109163
+Ref: Symbol table by cookie-Footnote-11113348
+Node: Cached values1113412
+Ref: Cached values-Footnote-11116948
+Node: Array Manipulation1117101
+Ref: Array Manipulation-Footnote-11118192
+Node: Array Data Types1118229
+Ref: Array Data Types-Footnote-11120887
+Node: Array Functions1120979
+Node: Flattening Arrays1125764
+Node: Creating Arrays1132740
+Node: Redirection API1137507
+Node: Extension API Variables1140340
+Node: Extension Versioning1141051
+Ref: gawk-api-version1141480
+Node: Extension GMP/MPFR Versioning1143212
+Node: Extension API Informational Variables1144840
+Node: Extension API Boilerplate1145913
+Node: Changes from API V11149887
+Node: Finding Extensions1151459
+Node: Extension Example1152018
+Node: Internal File Description1152816
+Node: Internal File Ops1156896
+Ref: Internal File Ops-Footnote-11168246
+Node: Using Internal File Ops1168386
+Ref: Using Internal File Ops-Footnote-11170769
+Node: Extension Samples1171043
+Node: Extension Sample File Functions1172572
+Node: Extension Sample Fnmatch1180221
+Node: Extension Sample Fork1181708
+Node: Extension Sample Inplace1182926
+Node: Extension Sample Ord1186552
+Node: Extension Sample Readdir1187388
+Ref: table-readdir-file-types1188277
+Node: Extension Sample Revout1189345
+Node: Extension Sample Rev2way1189934
+Node: Extension Sample Read write array1190674
+Node: Extension Sample Readfile1193860
+Node: Extension Sample Time1194955
+Node: Extension Sample API Tests1196707
+Node: gawkextlib1197199
+Node: Extension summary1200117
+Node: Extension Exercises1203819
+Node: Language History1205061
+Node: V7/SVR3.11206717
+Node: SVR41208869
+Node: POSIX1210303
+Node: BTL1211684
+Node: POSIX/GNU1212413
+Node: Feature History1218338
+Node: Common Extensions1236077
+Node: Ranges and Locales1237360
+Ref: Ranges and Locales-Footnote-11241976
+Ref: Ranges and Locales-Footnote-21242003
+Ref: Ranges and Locales-Footnote-31242238
+Node: Contributors1242461
+Node: History summary1248458
+Node: Installation1249838
+Node: Gawk Distribution1250782
+Node: Getting1251266
+Node: Extracting1252229
+Node: Distribution contents1253867
+Node: Unix Installation1261373
+Node: Quick Installation1262177
+Node: Compiling with MPFR1264597
+Node: Shell Startup Files1265287
+Node: Additional Configuration Options1266376
+Node: Configuration Philosophy1268691
+Node: Compiling from Git1271087
+Node: Building the Documentation1271642
+Node: Non-Unix Installation1273026
+Node: PC Installation1273486
+Node: PC Binary Installation1274327
+Node: PC Compiling1275200
+Node: PC Using1276306
+Node: Cygwin1279802
+Node: MSYS1281026
+Node: VMS Installation1281628
+Node: VMS Compilation1282347
+Ref: VMS Compilation-Footnote-11283754
+Node: VMS Dynamic Extensions1283812
+Ref: VMS Dynamic Extensions-Footnote-11285536
+Node: VMS Installation Details1285626
+Node: VMS Running1287888
+Node: VMS GNV1292167
+Node: Bugs1292881
+Node: Bug definition1293793
+Node: Bug address1297295
+Node: Usenet1300814
+Node: Performance bugs1302003
+Node: Asking for help1304924
+Node: Maintainers1306891
+Node: Other Versions1307898
+Node: Installation summary1316168
+Node: Notes1317525
+Node: Compatibility Mode1318319
+Node: Additions1319101
+Node: Accessing The Source1320026
+Node: Adding Code1321463
+Node: New Ports1328278
+Node: Derived Files1332653
+Ref: Derived Files-Footnote-11338312
+Ref: Derived Files-Footnote-21338347
+Ref: Derived Files-Footnote-31338942
+Node: Future Extensions1339056
+Node: Implementation Limitations1339714
+Node: Extension Design1340924
+Node: Old Extension Problems1342068
+Ref: Old Extension Problems-Footnote-11343586
+Node: Extension New Mechanism Goals1343643
+Ref: Extension New Mechanism Goals-Footnote-11347007
+Node: Extension Other Design Decisions1347196
+Node: Extension Future Growth1349309
+Node: Notes summary1349915
+Node: Basic Concepts1351073
+Node: Basic High Level1351754
+Ref: figure-general-flow1352036
+Ref: figure-process-flow1352722
+Ref: Basic High Level-Footnote-11356024
+Node: Basic Data Typing1356209
+Node: Glossary1359537
+Node: Copying1391424
+Node: GNU Free Documentation License1428967
+Node: Index1454087
 
 End Tag Table
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index cc6e7311..6fc495fe 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3645,6 +3645,12 @@ next line. However, the backslash-newline combination is 
never even
 noticed because it is ``hidden'' inside the comment. Thus, the
 @code{BEGIN} is noted as a syntax error.
 
+If you're interested, see
+@uref{https://lists.gnu.org/archive/html/bug-gawk/2022-10/msg00025.html}
+for a source code patch that allows lines to be continued when inside
+parentheses. This patch was not added to @command{gawk} since it would
+quietly decrease the portability of @command{awk} programs.
+
 @cindex statements @subentry multiple
 @cindex @code{;} (semicolon) @subentry separating statements in actions
 @cindex semicolon (@code{;}) @subentry separating statements in actions
@@ -31069,7 +31075,11 @@ If you see the @samp{PMA} with a version indicator, 
then it's supported.
 @cindex @env{REALLY_USE_PERSIST_MALLOC} environment variable
 @cindex environment variables @subentry @env{REALLY_USE_PERSIST_MALLOC}
 As of this writing, persistent memory has only been tested on GNU/Linux,
-Cygwin, Solaris 2.11, macOS, FreeBSD 13.1 and OpenBSD 7.1.
+Cygwin, Solaris 2.11, Intel-based macOS systems,@footnote{As of this writing,
+the PMA allocator does not work on Apple M1 systems, and therefore its
+use is disabled by @command{configure}. We hope that this will
+eventually be fixed.}
+FreeBSD 13.1 and OpenBSD 7.1.
 On all others, persistent memory is disabled by default. You can force
 it to be enabled by exporting the shell variable
 @env{REALLY_USE_PERSIST_MALLOC} with a nonempty value before
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index a13fc271..47b1b17b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3555,6 +3555,12 @@ next line. However, the backslash-newline combination is 
never even
 noticed because it is ``hidden'' inside the comment. Thus, the
 @code{BEGIN} is noted as a syntax error.
 
+If you're interested, see
+@uref{https://lists.gnu.org/archive/html/bug-gawk/2022-10/msg00025.html}
+for a source code patch that allows lines to be continued when inside
+parentheses. This patch was not added to @command{gawk} since it would
+quietly decrease the portability of @command{awk} programs.
+
 @cindex statements @subentry multiple
 @cindex @code{;} (semicolon) @subentry separating statements in actions
 @cindex semicolon (@code{;}) @subentry separating statements in actions
@@ -29951,7 +29957,11 @@ If you see the @samp{PMA} with a version indicator, 
then it's supported.
 @cindex @env{REALLY_USE_PERSIST_MALLOC} environment variable
 @cindex environment variables @subentry @env{REALLY_USE_PERSIST_MALLOC}
 As of this writing, persistent memory has only been tested on GNU/Linux,
-Cygwin, Solaris 2.11, macOS, FreeBSD 13.1 and OpenBSD 7.1.
+Cygwin, Solaris 2.11, Intel-based macOS systems,@footnote{As of this writing,
+the PMA allocator does not work on Apple M1 systems, and therefore its
+use is disabled by @command{configure}. We hope that this will
+eventually be fixed.}
+FreeBSD 13.1 and OpenBSD 7.1.
 On all others, persistent memory is disabled by default. You can force
 it to be enabled by exporting the shell variable
 @env{REALLY_USE_PERSIST_MALLOC} with a nonempty value before

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

commit 5f33de7c199d77551f77e4e14f2a94d8a1e03134
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Fri Oct 14 09:28:43 2022 +0300

    Fixes and cleanups in symbol.c.

diff --git a/ChangeLog b/ChangeLog
index 1259cd5b..08e842e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-10-14         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * symbol.c (make_symbol): Save and restore symbol_table in
+       the root_pointers struct instead of using lookup.
+       (func_count, var_count): Removed the variables and their uses.
+       (get_symbols): Getting functions, use the_table->table_size for
+       the count, not func_count.
+
 2022-10-11         Arnold D. Robbins     <arnold@skeeve.com>
 
        * symbol.c (get_symbols): Getting variables, use
diff --git a/symbol.c b/symbol.c
index f315a483..b74208d7 100644
--- a/symbol.c
+++ b/symbol.c
@@ -31,9 +31,6 @@ extern INSTRUCTION *rule_list;
 
 #define HASHSIZE       1021
 
-static int func_count; /* total number of functions */
-static int var_count;  /* total number of global variables and functions */
-
 static NODE *symbol_list;
 static void (*install_func)(NODE *) = NULL;
 static NODE *make_symbol(const char *name, NODETYPE type);
@@ -85,6 +82,7 @@ init_symbol_table()
        struct root_pointers {
                NODE *global_table;
                NODE *func_table;
+               NODE *symbol_table;
        } *root_pointers = NULL;
 
        root_pointers = (struct root_pointers *) pma_get_root();
@@ -99,20 +97,18 @@ init_symbol_table()
                emalloc(root_pointers, struct root_pointers *, sizeof(struct 
root_pointers), "init_symbol_table");
                root_pointers->global_table = global_table;
                root_pointers->func_table = func_table;
+               root_pointers->symbol_table = symbol_table;
                pma_set_root(root_pointers);
        } else {
                // this is the next time, get the saved pointers and put them 
back in place
                global_table = root_pointers->global_table;
                func_table = root_pointers->func_table;
+               symbol_table = root_pointers->symbol_table;
 
                // still need to set this one up as usual
                getnode(param_table);
                memset(param_table, '\0', sizeof(NODE));
                null_array(param_table);
-
-               // set the global variables
-               symbol_table = lookup("SYMTAB");
-               func_table = lookup("FUNCTAB");
        }
 }
 
@@ -370,10 +366,6 @@ install(const char *name, NODE *parm, NODETYPE type)
        else {
                /* global symbol */
                r = make_symbol(name, type);
-               if (type == Node_func)
-                       func_count++;
-               if (type != Node_ext_func && type != Node_builtin_func && table 
!= global_table)
-                       var_count++;    /* total, includes Node_func */
        }
 
        if (type == Node_param_list) {
@@ -450,7 +442,7 @@ get_symbols(SYMBOL_TYPE what, bool sort)
                max = the_table->table_size * 2;
 
                list = assoc_list(the_table, "@unsorted", ASORTI);
-               emalloc(table, NODE **, (func_count + 1) * sizeof(NODE *), 
"get_symbols");
+               emalloc(table, NODE **, (the_table->table_size + 1) * 
sizeof(NODE *), "get_symbols");
 
                for (i = count = 0; i < max; i += 2) {
                        r = list[i+1];

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

commit 81439c4ce738ae1af8756a0e6882117d20627896
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Fri Oct 14 09:23:57 2022 +0300

    Updates to NEWS.

diff --git a/NEWS b/NEWS
index 632b6b19..956ae6ef 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,21 @@
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.
 
+Changes from 5.2.0 to 5.2.1
+---------------------------
+
+1. More subtle issues with untyped array elements being passed to
+   functions have been fixed.
+
+2. The rwarray extension's readall() function has had some bugs fixed.
+
+3. The PMA allocator is now supported on Linux on s/390, FreeBSD and OpenBSD.
+   It is currently disabled on macos on M1 since there are some unsolved
+   problems in that environment. macos on Intel works without problem.
+
+4. There have been several minor code cleanups and bug fixes. See the
+   ChangeLog for details.
+
 Changes from 5.1.x to 5.2.0
 ---------------------------
 

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

commit 03c960cdae4be283a525ab731d9d60b372960f78
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Fri Oct 14 09:22:09 2022 +0300

    Some edits in ChangeLog.

diff --git a/ChangeLog b/ChangeLog
index d2094eb1..1259cd5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,8 @@
        the_table->table_size for the count, not var_count. Bug
        was tickled when using --dump-var together with persistent
        memory. (Why didn't valgrind catch this?)  Thanks to Hermann
-       Peifer (peifer@gmx.eu) for the report.
+       Peifer for the report. Thanks to Terence Kelly for detective work
+       that helped pinpoint the search area for the bug.
 
 2022-09-30         Arnold D. Robbins     <arnold@skeeve.com>
 
@@ -284,8 +285,8 @@
 
 2022-06-13         Arnold D. Robbins     <arnold@skeeve.com>
 
-       * main.c (main): If persistent memory not available and
-       GAWK_PERSIST_FILE supplied, issue a warnning. Similarly, don't
+       * main.c (main): If persistent memory is not available and
+       GAWK_PERSIST_FILE is supplied, issue a warnning. Similarly, don't
        do mtrace if using persistent malloc.
        (version): Include PMA version in the output.
 

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

Summary of changes:
 ChangeLog       |   15 +-
 NEWS            |   15 +
 doc/ChangeLog   |    8 +
 doc/gawk.info   | 1191 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |   12 +-
 doc/gawktexi.in |   12 +-
 symbol.c        |   16 +-
 7 files changed, 662 insertions(+), 607 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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