aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-10-13 11:25:20 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-10-13 11:25:20 +0300
commit2a8c128ca91b42261720368e5d25431ee4362c70 (patch)
tree1c0ff9838299b655f38ec0b866e35b5fb89a7502
parent5e73f350819b4cd9efb0d50b8a57e50ab271dcda (diff)
parent8529cd991d329ca9f17da5d75320248a86400f3d (diff)
downloadegawk-2a8c128ca91b42261720368e5d25431ee4362c70.tar.gz
egawk-2a8c128ca91b42261720368e5d25431ee4362c70.tar.bz2
egawk-2a8c128ca91b42261720368e5d25431ee4362c70.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog6
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info1035
-rw-r--r--doc/gawk.texi20
-rw-r--r--doc/gawktexi.in20
-rw-r--r--regcomp.c2
6 files changed, 556 insertions, 532 deletions
diff --git a/ChangeLog b/ChangeLog
index b219adae..a5ef3211 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-10-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regcomp.c (__re_error_msgid): Make error message for REG_EBRACK
+ more helpful - also used for unmatched [:, [., [=.
+ Thanks to Davide Brini for raising the issue.
+
2014-10-12 Arnold D. Robbins <arnold@skeeve.com>
* README: Remove Pat Rankin from VMS duties, per his request.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 3f6d0641..ed2a2761 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Fix example outputs in chapter 2.
+ Improve description of SYMTAB.
+
2014-10-12 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Revise doc for {INT,STR}_CHAIN_MAX. Remove Pat
diff --git a/doc/gawk.info b/doc/gawk.info
index 65b7d008..caa557e8 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -3047,8 +3047,8 @@ and here is `test2':
Running `gawk' with `test2' produces the following result:
$ gawk -f test2
- -| This is file test1.
- -| This is file test2.
+ -| This is script test1.
+ -| This is script test2.
`gawk' runs the `test2' script which includes `test1' using the
`@include' keyword. So, to include external `awk' source files you just
@@ -3070,9 +3070,9 @@ namely `test3':
Running `gawk' with the `test3' script produces the following results:
$ gawk -f test3
- -| This is file test1.
- -| This is file test2.
- -| This is file test3.
+ -| This is script test1.
+ -| This is script test2.
+ -| This is script test3.
The file name can, of course, be a pathname. For example:
@@ -10465,9 +10465,14 @@ Options::), they are not special.
separator. It is set every time a record is read.
`SYMTAB #'
- An array whose indices are the names of all currently defined
- global variables and arrays in the program. The array may be used
- for indirect access to read or write the value of a variable:
+ An array whose indices are the names of all defined global
+ variables and arrays in the program. `SYMTAB' makes `gawk''s
+ symbol table visible to the `awk' programmer. It is built as
+ `gawk' parses the program and is complete before the program
+ starts to run.
+
+ The array may be used for indirect access to read or write the
+ value of a variable:
foo = 5
SYMTAB["foo"] = 4
@@ -32102,7 +32107,7 @@ Index
(line 46)
* dark corner, FILENAME variable <1>: Auto-set. (line 98)
* dark corner, FILENAME variable: Getline Notes. (line 19)
-* dark corner, FNR/NR variables: Auto-set. (line 316)
+* dark corner, FNR/NR variables: Auto-set. (line 321)
* dark corner, format-control characters: Control Letters. (line 18)
* dark corner, FS as null string: Single Character Fields.
(line 20)
@@ -32644,7 +32649,7 @@ Index
(line 12)
* FNR variable <1>: Auto-set. (line 107)
* FNR variable: Records. (line 6)
-* FNR variable, changing: Auto-set. (line 316)
+* FNR variable, changing: Auto-set. (line 321)
* for statement: For Statement. (line 6)
* for statement, looping over arrays: Scanning an Array. (line 20)
* fork() extension function: Extension Sample Fork.
@@ -33280,7 +33285,7 @@ Index
* not Boolean-logic operator: Boolean Ops. (line 6)
* NR variable <1>: Auto-set. (line 132)
* NR variable: Records. (line 6)
-* NR variable, changing: Auto-set. (line 316)
+* NR variable, changing: Auto-set. (line 321)
* null strings <1>: Basic Data Typing. (line 26)
* null strings <2>: Truth Values. (line 6)
* null strings <3>: Regexp Field Splitting.
@@ -33784,7 +33789,7 @@ Index
* scanning arrays: Scanning an Array. (line 6)
* scanning multidimensional arrays: Multiscanning. (line 11)
* Schorr, Andrew <1>: Contributors. (line 133)
-* Schorr, Andrew <2>: Auto-set. (line 299)
+* Schorr, Andrew <2>: Auto-set. (line 304)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
@@ -33868,7 +33873,7 @@ Index
(line 118)
* sidebar, Changing FS Does Not Affect the Fields: Field Splitting Summary.
(line 38)
-* sidebar, Changing NR and FNR: Auto-set. (line 314)
+* sidebar, Changing NR and FNR: Auto-set. (line 319)
* sidebar, Controlling Output Buffering with system(): I/O Functions.
(line 137)
* sidebar, Escape Sequences for Metacharacters: Escape Sequences.
@@ -34353,507 +34358,507 @@ Node: AWKLIBPATH Variable137203
Node: Other Environment Variables137962
Node: Exit Status141453
Node: Include Files142128
-Node: Loading Shared Libraries145706
-Node: Obsolete147133
-Node: Undocumented147830
-Node: Invoking Summary148097
-Node: Regexp149763
-Node: Regexp Usage151222
-Node: Escape Sequences153255
-Node: Regexp Operators159355
-Ref: Regexp Operators-Footnote-1166789
-Ref: Regexp Operators-Footnote-2166936
-Node: Bracket Expressions167034
-Ref: table-char-classes169051
-Node: Leftmost Longest171991
-Node: Computed Regexps173293
-Node: GNU Regexp Operators176690
-Node: Case-sensitivity180392
-Ref: Case-sensitivity-Footnote-1183282
-Ref: Case-sensitivity-Footnote-2183517
-Node: Regexp Summary183625
-Node: Reading Files185094
-Node: Records187188
-Node: awk split records187920
-Node: gawk split records192834
-Ref: gawk split records-Footnote-1197373
-Node: Fields197410
-Ref: Fields-Footnote-1200208
-Node: Nonconstant Fields200294
-Ref: Nonconstant Fields-Footnote-1202530
-Node: Changing Fields202732
-Node: Field Separators208664
-Node: Default Field Splitting211368
-Node: Regexp Field Splitting212485
-Node: Single Character Fields215835
-Node: Command Line Field Separator216894
-Node: Full Line Fields220106
-Ref: Full Line Fields-Footnote-1220614
-Node: Field Splitting Summary220660
-Ref: Field Splitting Summary-Footnote-1223791
-Node: Constant Size223892
-Node: Splitting By Content228498
-Ref: Splitting By Content-Footnote-1232571
-Node: Multiple Line232611
-Ref: Multiple Line-Footnote-1238500
-Node: Getline238679
-Node: Plain Getline240890
-Node: Getline/Variable243530
-Node: Getline/File244677
-Node: Getline/Variable/File246061
-Ref: Getline/Variable/File-Footnote-1247662
-Node: Getline/Pipe247749
-Node: Getline/Variable/Pipe250432
-Node: Getline/Coprocess251563
-Node: Getline/Variable/Coprocess252815
-Node: Getline Notes253554
-Node: Getline Summary256346
-Ref: table-getline-variants256758
-Node: Read Timeout257587
-Ref: Read Timeout-Footnote-1261401
-Node: Command-line directories261459
-Node: Input Summary262363
-Node: Input Exercises265615
-Node: Printing266343
-Node: Print268120
-Node: Print Examples269577
-Node: Output Separators272356
-Node: OFMT274374
-Node: Printf275728
-Node: Basic Printf276513
-Node: Control Letters278084
-Node: Format Modifiers282068
-Node: Printf Examples288075
-Node: Redirection290557
-Node: Special FD297396
-Ref: Special FD-Footnote-1300553
-Node: Special Files300627
-Node: Other Inherited Files301243
-Node: Special Network302243
-Node: Special Caveats303104
-Node: Close Files And Pipes304055
-Ref: Close Files And Pipes-Footnote-1311234
-Ref: Close Files And Pipes-Footnote-2311382
-Node: Output Summary311532
-Node: Output Exercises312528
-Node: Expressions313208
-Node: Values314393
-Node: Constants315069
-Node: Scalar Constants315749
-Ref: Scalar Constants-Footnote-1316608
-Node: Nondecimal-numbers316858
-Node: Regexp Constants319858
-Node: Using Constant Regexps320383
-Node: Variables323521
-Node: Using Variables324176
-Node: Assignment Options326086
-Node: Conversion327961
-Node: Strings And Numbers328485
-Ref: Strings And Numbers-Footnote-1331549
-Node: Locale influences conversions331658
-Ref: table-locale-affects334403
-Node: All Operators334991
-Node: Arithmetic Ops335621
-Node: Concatenation338126
-Ref: Concatenation-Footnote-1340945
-Node: Assignment Ops341051
-Ref: table-assign-ops346034
-Node: Increment Ops347312
-Node: Truth Values and Conditions350750
-Node: Truth Values351833
-Node: Typing and Comparison352882
-Node: Variable Typing353675
-Node: Comparison Operators357327
-Ref: table-relational-ops357737
-Node: POSIX String Comparison361252
-Ref: POSIX String Comparison-Footnote-1362324
-Node: Boolean Ops362462
-Ref: Boolean Ops-Footnote-1366941
-Node: Conditional Exp367032
-Node: Function Calls368759
-Node: Precedence372639
-Node: Locales376307
-Node: Expressions Summary377938
-Node: Patterns and Actions380512
-Node: Pattern Overview381632
-Node: Regexp Patterns383311
-Node: Expression Patterns383854
-Node: Ranges387634
-Node: BEGIN/END390740
-Node: Using BEGIN/END391502
-Ref: Using BEGIN/END-Footnote-1394239
-Node: I/O And BEGIN/END394345
-Node: BEGINFILE/ENDFILE396659
-Node: Empty399560
-Node: Using Shell Variables399877
-Node: Action Overview402153
-Node: Statements404480
-Node: If Statement406328
-Node: While Statement407826
-Node: Do Statement409854
-Node: For Statement410996
-Node: Switch Statement414151
-Node: Break Statement416539
-Node: Continue Statement418580
-Node: Next Statement420405
-Node: Nextfile Statement422785
-Node: Exit Statement425415
-Node: Built-in Variables427818
-Node: User-modified428951
-Ref: User-modified-Footnote-1436631
-Node: Auto-set436693
-Ref: Auto-set-Footnote-1449887
-Ref: Auto-set-Footnote-2450092
-Node: ARGC and ARGV450148
-Node: Pattern Action Summary454352
-Node: Arrays456779
-Node: Array Basics458108
-Node: Array Intro458952
-Ref: figure-array-elements460916
-Ref: Array Intro-Footnote-1463440
-Node: Reference to Elements463568
-Node: Assigning Elements466018
-Node: Array Example466509
-Node: Scanning an Array468267
-Node: Controlling Scanning471283
-Ref: Controlling Scanning-Footnote-1476472
-Node: Numeric Array Subscripts476788
-Node: Uninitialized Subscripts478973
-Node: Delete480590
-Ref: Delete-Footnote-1483334
-Node: Multidimensional483391
-Node: Multiscanning486486
-Node: Arrays of Arrays488075
-Node: Arrays Summary492836
-Node: Functions494941
-Node: Built-in495814
-Node: Calling Built-in496892
-Node: Numeric Functions498880
-Ref: Numeric Functions-Footnote-1503704
-Ref: Numeric Functions-Footnote-2504061
-Ref: Numeric Functions-Footnote-3504109
-Node: String Functions504378
-Ref: String Functions-Footnote-1527850
-Ref: String Functions-Footnote-2527979
-Ref: String Functions-Footnote-3528227
-Node: Gory Details528314
-Ref: table-sub-escapes530095
-Ref: table-sub-proposed531615
-Ref: table-posix-sub532979
-Ref: table-gensub-escapes534519
-Ref: Gory Details-Footnote-1535351
-Node: I/O Functions535502
-Ref: I/O Functions-Footnote-1542603
-Node: Time Functions542750
-Ref: Time Functions-Footnote-1553219
-Ref: Time Functions-Footnote-2553287
-Ref: Time Functions-Footnote-3553445
-Ref: Time Functions-Footnote-4553556
-Ref: Time Functions-Footnote-5553668
-Ref: Time Functions-Footnote-6553895
-Node: Bitwise Functions554161
-Ref: table-bitwise-ops554723
-Ref: Bitwise Functions-Footnote-1559031
-Node: Type Functions559200
-Node: I18N Functions560349
-Node: User-defined561994
-Node: Definition Syntax562798
-Ref: Definition Syntax-Footnote-1568204
-Node: Function Example568273
-Ref: Function Example-Footnote-1571190
-Node: Function Caveats571212
-Node: Calling A Function571730
-Node: Variable Scope572685
-Node: Pass By Value/Reference575673
-Node: Return Statement579183
-Node: Dynamic Typing582167
-Node: Indirect Calls583096
-Ref: Indirect Calls-Footnote-1594400
-Node: Functions Summary594528
-Node: Library Functions597227
-Ref: Library Functions-Footnote-1600845
-Ref: Library Functions-Footnote-2600988
-Node: Library Names601159
-Ref: Library Names-Footnote-1604619
-Ref: Library Names-Footnote-2604839
-Node: General Functions604925
-Node: Strtonum Function606028
-Node: Assert Function609048
-Node: Round Function612372
-Node: Cliff Random Function613913
-Node: Ordinal Functions614929
-Ref: Ordinal Functions-Footnote-1617994
-Ref: Ordinal Functions-Footnote-2618246
-Node: Join Function618457
-Ref: Join Function-Footnote-1620228
-Node: Getlocaltime Function620428
-Node: Readfile Function624169
-Node: Shell Quoting626139
-Node: Data File Management627540
-Node: Filetrans Function628172
-Node: Rewind Function632231
-Node: File Checking633616
-Ref: File Checking-Footnote-1634944
-Node: Empty Files635145
-Node: Ignoring Assigns637124
-Node: Getopt Function638675
-Ref: Getopt Function-Footnote-1650135
-Node: Passwd Functions650338
-Ref: Passwd Functions-Footnote-1659189
-Node: Group Functions659277
-Ref: Group Functions-Footnote-1667180
-Node: Walking Arrays667393
-Node: Library Functions Summary668996
-Node: Library Exercises670397
-Node: Sample Programs671677
-Node: Running Examples672447
-Node: Clones673175
-Node: Cut Program674399
-Node: Egrep Program684129
-Ref: Egrep Program-Footnote-1691633
-Node: Id Program691743
-Node: Split Program695387
-Ref: Split Program-Footnote-1698833
-Node: Tee Program698961
-Node: Uniq Program701748
-Node: Wc Program709169
-Ref: Wc Program-Footnote-1713417
-Node: Miscellaneous Programs713509
-Node: Dupword Program714722
-Node: Alarm Program716753
-Node: Translate Program721557
-Ref: Translate Program-Footnote-1726121
-Node: Labels Program726391
-Ref: Labels Program-Footnote-1729740
-Node: Word Sorting729824
-Node: History Sorting733894
-Node: Extract Program735730
-Node: Simple Sed743262
-Node: Igawk Program746324
-Ref: Igawk Program-Footnote-1760650
-Ref: Igawk Program-Footnote-2760851
-Ref: Igawk Program-Footnote-3760973
-Node: Anagram Program761088
-Node: Signature Program764150
-Node: Programs Summary765397
-Node: Programs Exercises766590
-Ref: Programs Exercises-Footnote-1770721
-Node: Advanced Features770812
-Node: Nondecimal Data772760
-Node: Array Sorting774350
-Node: Controlling Array Traversal775047
-Ref: Controlling Array Traversal-Footnote-1783378
-Node: Array Sorting Functions783496
-Ref: Array Sorting Functions-Footnote-1787388
-Node: Two-way I/O787582
-Ref: Two-way I/O-Footnote-1792526
-Ref: Two-way I/O-Footnote-2792712
-Node: TCP/IP Networking792794
-Node: Profiling795666
-Node: Advanced Features Summary803219
-Node: Internationalization805152
-Node: I18N and L10N806632
-Node: Explaining gettext807318
-Ref: Explaining gettext-Footnote-1812347
-Ref: Explaining gettext-Footnote-2812531
-Node: Programmer i18n812696
-Ref: Programmer i18n-Footnote-1817562
-Node: Translator i18n817611
-Node: String Extraction818405
-Ref: String Extraction-Footnote-1819536
-Node: Printf Ordering819622
-Ref: Printf Ordering-Footnote-1822408
-Node: I18N Portability822472
-Ref: I18N Portability-Footnote-1824921
-Node: I18N Example824984
-Ref: I18N Example-Footnote-1827784
-Node: Gawk I18N827856
-Node: I18N Summary828494
-Node: Debugger829833
-Node: Debugging830855
-Node: Debugging Concepts831296
-Node: Debugging Terms833153
-Node: Awk Debugging835728
-Node: Sample Debugging Session836620
-Node: Debugger Invocation837140
-Node: Finding The Bug838524
-Node: List of Debugger Commands844999
-Node: Breakpoint Control846331
-Node: Debugger Execution Control850023
-Node: Viewing And Changing Data853387
-Node: Execution Stack856752
-Node: Debugger Info858390
-Node: Miscellaneous Debugger Commands862407
-Node: Readline Support867599
-Node: Limitations868491
-Node: Debugging Summary870588
-Node: Arbitrary Precision Arithmetic871756
-Node: Computer Arithmetic873172
-Ref: table-numeric-ranges876773
-Ref: Computer Arithmetic-Footnote-1877632
-Node: Math Definitions877689
-Ref: table-ieee-formats880976
-Ref: Math Definitions-Footnote-1881580
-Node: MPFR features881685
-Node: FP Math Caution883356
-Ref: FP Math Caution-Footnote-1884406
-Node: Inexactness of computations884775
-Node: Inexact representation885723
-Node: Comparing FP Values887078
-Node: Errors accumulate888151
-Node: Getting Accuracy889584
-Node: Try To Round892243
-Node: Setting precision893142
-Ref: table-predefined-precision-strings893826
-Node: Setting the rounding mode895620
-Ref: table-gawk-rounding-modes895984
-Ref: Setting the rounding mode-Footnote-1899438
-Node: Arbitrary Precision Integers899617
-Ref: Arbitrary Precision Integers-Footnote-1904521
-Node: POSIX Floating Point Problems904670
-Ref: POSIX Floating Point Problems-Footnote-1908546
-Node: Floating point summary908584
-Node: Dynamic Extensions910776
-Node: Extension Intro912328
-Node: Plugin License913594
-Node: Extension Mechanism Outline914391
-Ref: figure-load-extension914819
-Ref: figure-register-new-function916299
-Ref: figure-call-new-function917303
-Node: Extension API Description919289
-Node: Extension API Functions Introduction920739
-Node: General Data Types925575
-Ref: General Data Types-Footnote-1931262
-Node: Memory Allocation Functions931561
-Ref: Memory Allocation Functions-Footnote-1934391
-Node: Constructor Functions934487
-Node: Registration Functions936221
-Node: Extension Functions936906
-Node: Exit Callback Functions939202
-Node: Extension Version String940450
-Node: Input Parsers941100
-Node: Output Wrappers950915
-Node: Two-way processors955431
-Node: Printing Messages957635
-Ref: Printing Messages-Footnote-1958712
-Node: Updating `ERRNO'958864
-Node: Requesting Values959604
-Ref: table-value-types-returned960332
-Node: Accessing Parameters961290
-Node: Symbol Table Access962521
-Node: Symbol table by name963035
-Node: Symbol table by cookie965015
-Ref: Symbol table by cookie-Footnote-1969154
-Node: Cached values969217
-Ref: Cached values-Footnote-1972721
-Node: Array Manipulation972812
-Ref: Array Manipulation-Footnote-1973910
-Node: Array Data Types973949
-Ref: Array Data Types-Footnote-1976606
-Node: Array Functions976698
-Node: Flattening Arrays980552
-Node: Creating Arrays987439
-Node: Extension API Variables992206
-Node: Extension Versioning992842
-Node: Extension API Informational Variables994743
-Node: Extension API Boilerplate995831
-Node: Finding Extensions999647
-Node: Extension Example1000207
-Node: Internal File Description1000979
-Node: Internal File Ops1005046
-Ref: Internal File Ops-Footnote-11016704
-Node: Using Internal File Ops1016844
-Ref: Using Internal File Ops-Footnote-11019227
-Node: Extension Samples1019500
-Node: Extension Sample File Functions1021024
-Node: Extension Sample Fnmatch1028626
-Node: Extension Sample Fork1030108
-Node: Extension Sample Inplace1031321
-Node: Extension Sample Ord1032996
-Node: Extension Sample Readdir1033832
-Ref: table-readdir-file-types1034688
-Node: Extension Sample Revout1035499
-Node: Extension Sample Rev2way1036090
-Node: Extension Sample Read write array1036831
-Node: Extension Sample Readfile1038770
-Node: Extension Sample Time1039865
-Node: Extension Sample API Tests1041214
-Node: gawkextlib1041705
-Node: Extension summary1044355
-Node: Extension Exercises1048037
-Node: Language History1048759
-Node: V7/SVR3.11050416
-Node: SVR41052597
-Node: POSIX1054042
-Node: BTL1055431
-Node: POSIX/GNU1056165
-Node: Feature History1061794
-Node: Common Extensions1074885
-Node: Ranges and Locales1076209
-Ref: Ranges and Locales-Footnote-11080848
-Ref: Ranges and Locales-Footnote-21080875
-Ref: Ranges and Locales-Footnote-31081109
-Node: Contributors1081330
-Node: History summary1086870
-Node: Installation1088239
-Node: Gawk Distribution1089195
-Node: Getting1089679
-Node: Extracting1090503
-Node: Distribution contents1092145
-Node: Unix Installation1097915
-Node: Quick Installation1098532
-Node: Additional Configuration Options1100963
-Node: Configuration Philosophy1102703
-Node: Non-Unix Installation1105054
-Node: PC Installation1105512
-Node: PC Binary Installation1106838
-Node: PC Compiling1108686
-Ref: PC Compiling-Footnote-11111707
-Node: PC Testing1111812
-Node: PC Using1112988
-Node: Cygwin1117103
-Node: MSYS1117926
-Node: VMS Installation1118424
-Node: VMS Compilation1119216
-Ref: VMS Compilation-Footnote-11120438
-Node: VMS Dynamic Extensions1120496
-Node: VMS Installation Details1122180
-Node: VMS Running1124432
-Node: VMS GNV1127273
-Node: VMS Old Gawk1128007
-Node: Bugs1128477
-Node: Other Versions1132381
-Node: Installation summary1138594
-Node: Notes1139650
-Node: Compatibility Mode1140515
-Node: Additions1141297
-Node: Accessing The Source1142222
-Node: Adding Code1143658
-Node: New Ports1149830
-Node: Derived Files1154312
-Ref: Derived Files-Footnote-11159787
-Ref: Derived Files-Footnote-21159821
-Ref: Derived Files-Footnote-31160417
-Node: Future Extensions1160531
-Node: Implementation Limitations1161137
-Node: Extension Design1162385
-Node: Old Extension Problems1163539
-Ref: Old Extension Problems-Footnote-11165056
-Node: Extension New Mechanism Goals1165113
-Ref: Extension New Mechanism Goals-Footnote-11168473
-Node: Extension Other Design Decisions1168662
-Node: Extension Future Growth1170770
-Node: Old Extension Mechanism1171606
-Node: Notes summary1173368
-Node: Basic Concepts1174554
-Node: Basic High Level1175235
-Ref: figure-general-flow1175507
-Ref: figure-process-flow1176106
-Ref: Basic High Level-Footnote-11179335
-Node: Basic Data Typing1179520
-Node: Glossary1182848
-Node: Copying1208006
-Node: GNU Free Documentation License1245562
-Node: Index1270698
+Node: Loading Shared Libraries145716
+Node: Obsolete147143
+Node: Undocumented147840
+Node: Invoking Summary148107
+Node: Regexp149773
+Node: Regexp Usage151232
+Node: Escape Sequences153265
+Node: Regexp Operators159365
+Ref: Regexp Operators-Footnote-1166799
+Ref: Regexp Operators-Footnote-2166946
+Node: Bracket Expressions167044
+Ref: table-char-classes169061
+Node: Leftmost Longest172001
+Node: Computed Regexps173303
+Node: GNU Regexp Operators176700
+Node: Case-sensitivity180402
+Ref: Case-sensitivity-Footnote-1183292
+Ref: Case-sensitivity-Footnote-2183527
+Node: Regexp Summary183635
+Node: Reading Files185104
+Node: Records187198
+Node: awk split records187930
+Node: gawk split records192844
+Ref: gawk split records-Footnote-1197383
+Node: Fields197420
+Ref: Fields-Footnote-1200218
+Node: Nonconstant Fields200304
+Ref: Nonconstant Fields-Footnote-1202540
+Node: Changing Fields202742
+Node: Field Separators208674
+Node: Default Field Splitting211378
+Node: Regexp Field Splitting212495
+Node: Single Character Fields215845
+Node: Command Line Field Separator216904
+Node: Full Line Fields220116
+Ref: Full Line Fields-Footnote-1220624
+Node: Field Splitting Summary220670
+Ref: Field Splitting Summary-Footnote-1223801
+Node: Constant Size223902
+Node: Splitting By Content228508
+Ref: Splitting By Content-Footnote-1232581
+Node: Multiple Line232621
+Ref: Multiple Line-Footnote-1238510
+Node: Getline238689
+Node: Plain Getline240900
+Node: Getline/Variable243540
+Node: Getline/File244687
+Node: Getline/Variable/File246071
+Ref: Getline/Variable/File-Footnote-1247672
+Node: Getline/Pipe247759
+Node: Getline/Variable/Pipe250442
+Node: Getline/Coprocess251573
+Node: Getline/Variable/Coprocess252825
+Node: Getline Notes253564
+Node: Getline Summary256356
+Ref: table-getline-variants256768
+Node: Read Timeout257597
+Ref: Read Timeout-Footnote-1261411
+Node: Command-line directories261469
+Node: Input Summary262373
+Node: Input Exercises265625
+Node: Printing266353
+Node: Print268130
+Node: Print Examples269587
+Node: Output Separators272366
+Node: OFMT274384
+Node: Printf275738
+Node: Basic Printf276523
+Node: Control Letters278094
+Node: Format Modifiers282078
+Node: Printf Examples288085
+Node: Redirection290567
+Node: Special FD297406
+Ref: Special FD-Footnote-1300563
+Node: Special Files300637
+Node: Other Inherited Files301253
+Node: Special Network302253
+Node: Special Caveats303114
+Node: Close Files And Pipes304065
+Ref: Close Files And Pipes-Footnote-1311244
+Ref: Close Files And Pipes-Footnote-2311392
+Node: Output Summary311542
+Node: Output Exercises312538
+Node: Expressions313218
+Node: Values314403
+Node: Constants315079
+Node: Scalar Constants315759
+Ref: Scalar Constants-Footnote-1316618
+Node: Nondecimal-numbers316868
+Node: Regexp Constants319868
+Node: Using Constant Regexps320393
+Node: Variables323531
+Node: Using Variables324186
+Node: Assignment Options326096
+Node: Conversion327971
+Node: Strings And Numbers328495
+Ref: Strings And Numbers-Footnote-1331559
+Node: Locale influences conversions331668
+Ref: table-locale-affects334413
+Node: All Operators335001
+Node: Arithmetic Ops335631
+Node: Concatenation338136
+Ref: Concatenation-Footnote-1340955
+Node: Assignment Ops341061
+Ref: table-assign-ops346044
+Node: Increment Ops347322
+Node: Truth Values and Conditions350760
+Node: Truth Values351843
+Node: Typing and Comparison352892
+Node: Variable Typing353685
+Node: Comparison Operators357337
+Ref: table-relational-ops357747
+Node: POSIX String Comparison361262
+Ref: POSIX String Comparison-Footnote-1362334
+Node: Boolean Ops362472
+Ref: Boolean Ops-Footnote-1366951
+Node: Conditional Exp367042
+Node: Function Calls368769
+Node: Precedence372649
+Node: Locales376317
+Node: Expressions Summary377948
+Node: Patterns and Actions380522
+Node: Pattern Overview381642
+Node: Regexp Patterns383321
+Node: Expression Patterns383864
+Node: Ranges387644
+Node: BEGIN/END390750
+Node: Using BEGIN/END391512
+Ref: Using BEGIN/END-Footnote-1394249
+Node: I/O And BEGIN/END394355
+Node: BEGINFILE/ENDFILE396669
+Node: Empty399570
+Node: Using Shell Variables399887
+Node: Action Overview402163
+Node: Statements404490
+Node: If Statement406338
+Node: While Statement407836
+Node: Do Statement409864
+Node: For Statement411006
+Node: Switch Statement414161
+Node: Break Statement416549
+Node: Continue Statement418590
+Node: Next Statement420415
+Node: Nextfile Statement422795
+Node: Exit Statement425425
+Node: Built-in Variables427828
+Node: User-modified428961
+Ref: User-modified-Footnote-1436641
+Node: Auto-set436703
+Ref: Auto-set-Footnote-1450070
+Ref: Auto-set-Footnote-2450275
+Node: ARGC and ARGV450331
+Node: Pattern Action Summary454535
+Node: Arrays456962
+Node: Array Basics458291
+Node: Array Intro459135
+Ref: figure-array-elements461099
+Ref: Array Intro-Footnote-1463623
+Node: Reference to Elements463751
+Node: Assigning Elements466201
+Node: Array Example466692
+Node: Scanning an Array468450
+Node: Controlling Scanning471466
+Ref: Controlling Scanning-Footnote-1476655
+Node: Numeric Array Subscripts476971
+Node: Uninitialized Subscripts479156
+Node: Delete480773
+Ref: Delete-Footnote-1483517
+Node: Multidimensional483574
+Node: Multiscanning486669
+Node: Arrays of Arrays488258
+Node: Arrays Summary493019
+Node: Functions495124
+Node: Built-in495997
+Node: Calling Built-in497075
+Node: Numeric Functions499063
+Ref: Numeric Functions-Footnote-1503887
+Ref: Numeric Functions-Footnote-2504244
+Ref: Numeric Functions-Footnote-3504292
+Node: String Functions504561
+Ref: String Functions-Footnote-1528033
+Ref: String Functions-Footnote-2528162
+Ref: String Functions-Footnote-3528410
+Node: Gory Details528497
+Ref: table-sub-escapes530278
+Ref: table-sub-proposed531798
+Ref: table-posix-sub533162
+Ref: table-gensub-escapes534702
+Ref: Gory Details-Footnote-1535534
+Node: I/O Functions535685
+Ref: I/O Functions-Footnote-1542786
+Node: Time Functions542933
+Ref: Time Functions-Footnote-1553402
+Ref: Time Functions-Footnote-2553470
+Ref: Time Functions-Footnote-3553628
+Ref: Time Functions-Footnote-4553739
+Ref: Time Functions-Footnote-5553851
+Ref: Time Functions-Footnote-6554078
+Node: Bitwise Functions554344
+Ref: table-bitwise-ops554906
+Ref: Bitwise Functions-Footnote-1559214
+Node: Type Functions559383
+Node: I18N Functions560532
+Node: User-defined562177
+Node: Definition Syntax562981
+Ref: Definition Syntax-Footnote-1568387
+Node: Function Example568456
+Ref: Function Example-Footnote-1571373
+Node: Function Caveats571395
+Node: Calling A Function571913
+Node: Variable Scope572868
+Node: Pass By Value/Reference575856
+Node: Return Statement579366
+Node: Dynamic Typing582350
+Node: Indirect Calls583279
+Ref: Indirect Calls-Footnote-1594583
+Node: Functions Summary594711
+Node: Library Functions597410
+Ref: Library Functions-Footnote-1601028
+Ref: Library Functions-Footnote-2601171
+Node: Library Names601342
+Ref: Library Names-Footnote-1604802
+Ref: Library Names-Footnote-2605022
+Node: General Functions605108
+Node: Strtonum Function606211
+Node: Assert Function609231
+Node: Round Function612555
+Node: Cliff Random Function614096
+Node: Ordinal Functions615112
+Ref: Ordinal Functions-Footnote-1618177
+Ref: Ordinal Functions-Footnote-2618429
+Node: Join Function618640
+Ref: Join Function-Footnote-1620411
+Node: Getlocaltime Function620611
+Node: Readfile Function624352
+Node: Shell Quoting626322
+Node: Data File Management627723
+Node: Filetrans Function628355
+Node: Rewind Function632414
+Node: File Checking633799
+Ref: File Checking-Footnote-1635127
+Node: Empty Files635328
+Node: Ignoring Assigns637307
+Node: Getopt Function638858
+Ref: Getopt Function-Footnote-1650318
+Node: Passwd Functions650521
+Ref: Passwd Functions-Footnote-1659372
+Node: Group Functions659460
+Ref: Group Functions-Footnote-1667363
+Node: Walking Arrays667576
+Node: Library Functions Summary669179
+Node: Library Exercises670580
+Node: Sample Programs671860
+Node: Running Examples672630
+Node: Clones673358
+Node: Cut Program674582
+Node: Egrep Program684312
+Ref: Egrep Program-Footnote-1691816
+Node: Id Program691926
+Node: Split Program695570
+Ref: Split Program-Footnote-1699016
+Node: Tee Program699144
+Node: Uniq Program701931
+Node: Wc Program709352
+Ref: Wc Program-Footnote-1713600
+Node: Miscellaneous Programs713692
+Node: Dupword Program714905
+Node: Alarm Program716936
+Node: Translate Program721740
+Ref: Translate Program-Footnote-1726304
+Node: Labels Program726574
+Ref: Labels Program-Footnote-1729923
+Node: Word Sorting730007
+Node: History Sorting734077
+Node: Extract Program735913
+Node: Simple Sed743445
+Node: Igawk Program746507
+Ref: Igawk Program-Footnote-1760833
+Ref: Igawk Program-Footnote-2761034
+Ref: Igawk Program-Footnote-3761156
+Node: Anagram Program761271
+Node: Signature Program764333
+Node: Programs Summary765580
+Node: Programs Exercises766773
+Ref: Programs Exercises-Footnote-1770904
+Node: Advanced Features770995
+Node: Nondecimal Data772943
+Node: Array Sorting774533
+Node: Controlling Array Traversal775230
+Ref: Controlling Array Traversal-Footnote-1783561
+Node: Array Sorting Functions783679
+Ref: Array Sorting Functions-Footnote-1787571
+Node: Two-way I/O787765
+Ref: Two-way I/O-Footnote-1792709
+Ref: Two-way I/O-Footnote-2792895
+Node: TCP/IP Networking792977
+Node: Profiling795849
+Node: Advanced Features Summary803402
+Node: Internationalization805335
+Node: I18N and L10N806815
+Node: Explaining gettext807501
+Ref: Explaining gettext-Footnote-1812530
+Ref: Explaining gettext-Footnote-2812714
+Node: Programmer i18n812879
+Ref: Programmer i18n-Footnote-1817745
+Node: Translator i18n817794
+Node: String Extraction818588
+Ref: String Extraction-Footnote-1819719
+Node: Printf Ordering819805
+Ref: Printf Ordering-Footnote-1822591
+Node: I18N Portability822655
+Ref: I18N Portability-Footnote-1825104
+Node: I18N Example825167
+Ref: I18N Example-Footnote-1827967
+Node: Gawk I18N828039
+Node: I18N Summary828677
+Node: Debugger830016
+Node: Debugging831038
+Node: Debugging Concepts831479
+Node: Debugging Terms833336
+Node: Awk Debugging835911
+Node: Sample Debugging Session836803
+Node: Debugger Invocation837323
+Node: Finding The Bug838707
+Node: List of Debugger Commands845182
+Node: Breakpoint Control846514
+Node: Debugger Execution Control850206
+Node: Viewing And Changing Data853570
+Node: Execution Stack856935
+Node: Debugger Info858573
+Node: Miscellaneous Debugger Commands862590
+Node: Readline Support867782
+Node: Limitations868674
+Node: Debugging Summary870771
+Node: Arbitrary Precision Arithmetic871939
+Node: Computer Arithmetic873355
+Ref: table-numeric-ranges876956
+Ref: Computer Arithmetic-Footnote-1877815
+Node: Math Definitions877872
+Ref: table-ieee-formats881159
+Ref: Math Definitions-Footnote-1881763
+Node: MPFR features881868
+Node: FP Math Caution883539
+Ref: FP Math Caution-Footnote-1884589
+Node: Inexactness of computations884958
+Node: Inexact representation885906
+Node: Comparing FP Values887261
+Node: Errors accumulate888334
+Node: Getting Accuracy889767
+Node: Try To Round892426
+Node: Setting precision893325
+Ref: table-predefined-precision-strings894009
+Node: Setting the rounding mode895803
+Ref: table-gawk-rounding-modes896167
+Ref: Setting the rounding mode-Footnote-1899621
+Node: Arbitrary Precision Integers899800
+Ref: Arbitrary Precision Integers-Footnote-1904704
+Node: POSIX Floating Point Problems904853
+Ref: POSIX Floating Point Problems-Footnote-1908729
+Node: Floating point summary908767
+Node: Dynamic Extensions910959
+Node: Extension Intro912511
+Node: Plugin License913777
+Node: Extension Mechanism Outline914574
+Ref: figure-load-extension915002
+Ref: figure-register-new-function916482
+Ref: figure-call-new-function917486
+Node: Extension API Description919472
+Node: Extension API Functions Introduction920922
+Node: General Data Types925758
+Ref: General Data Types-Footnote-1931445
+Node: Memory Allocation Functions931744
+Ref: Memory Allocation Functions-Footnote-1934574
+Node: Constructor Functions934670
+Node: Registration Functions936404
+Node: Extension Functions937089
+Node: Exit Callback Functions939385
+Node: Extension Version String940633
+Node: Input Parsers941283
+Node: Output Wrappers951098
+Node: Two-way processors955614
+Node: Printing Messages957818
+Ref: Printing Messages-Footnote-1958895
+Node: Updating `ERRNO'959047
+Node: Requesting Values959787
+Ref: table-value-types-returned960515
+Node: Accessing Parameters961473
+Node: Symbol Table Access962704
+Node: Symbol table by name963218
+Node: Symbol table by cookie965198
+Ref: Symbol table by cookie-Footnote-1969337
+Node: Cached values969400
+Ref: Cached values-Footnote-1972904
+Node: Array Manipulation972995
+Ref: Array Manipulation-Footnote-1974093
+Node: Array Data Types974132
+Ref: Array Data Types-Footnote-1976789
+Node: Array Functions976881
+Node: Flattening Arrays980735
+Node: Creating Arrays987622
+Node: Extension API Variables992389
+Node: Extension Versioning993025
+Node: Extension API Informational Variables994926
+Node: Extension API Boilerplate996014
+Node: Finding Extensions999830
+Node: Extension Example1000390
+Node: Internal File Description1001162
+Node: Internal File Ops1005229
+Ref: Internal File Ops-Footnote-11016887
+Node: Using Internal File Ops1017027
+Ref: Using Internal File Ops-Footnote-11019410
+Node: Extension Samples1019683
+Node: Extension Sample File Functions1021207
+Node: Extension Sample Fnmatch1028809
+Node: Extension Sample Fork1030291
+Node: Extension Sample Inplace1031504
+Node: Extension Sample Ord1033179
+Node: Extension Sample Readdir1034015
+Ref: table-readdir-file-types1034871
+Node: Extension Sample Revout1035682
+Node: Extension Sample Rev2way1036273
+Node: Extension Sample Read write array1037014
+Node: Extension Sample Readfile1038953
+Node: Extension Sample Time1040048
+Node: Extension Sample API Tests1041397
+Node: gawkextlib1041888
+Node: Extension summary1044538
+Node: Extension Exercises1048220
+Node: Language History1048942
+Node: V7/SVR3.11050599
+Node: SVR41052780
+Node: POSIX1054225
+Node: BTL1055614
+Node: POSIX/GNU1056348
+Node: Feature History1061977
+Node: Common Extensions1075068
+Node: Ranges and Locales1076392
+Ref: Ranges and Locales-Footnote-11081031
+Ref: Ranges and Locales-Footnote-21081058
+Ref: Ranges and Locales-Footnote-31081292
+Node: Contributors1081513
+Node: History summary1087053
+Node: Installation1088422
+Node: Gawk Distribution1089378
+Node: Getting1089862
+Node: Extracting1090686
+Node: Distribution contents1092328
+Node: Unix Installation1098098
+Node: Quick Installation1098715
+Node: Additional Configuration Options1101146
+Node: Configuration Philosophy1102886
+Node: Non-Unix Installation1105237
+Node: PC Installation1105695
+Node: PC Binary Installation1107021
+Node: PC Compiling1108869
+Ref: PC Compiling-Footnote-11111890
+Node: PC Testing1111995
+Node: PC Using1113171
+Node: Cygwin1117286
+Node: MSYS1118109
+Node: VMS Installation1118607
+Node: VMS Compilation1119399
+Ref: VMS Compilation-Footnote-11120621
+Node: VMS Dynamic Extensions1120679
+Node: VMS Installation Details1122363
+Node: VMS Running1124615
+Node: VMS GNV1127456
+Node: VMS Old Gawk1128190
+Node: Bugs1128660
+Node: Other Versions1132564
+Node: Installation summary1138777
+Node: Notes1139833
+Node: Compatibility Mode1140698
+Node: Additions1141480
+Node: Accessing The Source1142405
+Node: Adding Code1143841
+Node: New Ports1150013
+Node: Derived Files1154495
+Ref: Derived Files-Footnote-11159970
+Ref: Derived Files-Footnote-21160004
+Ref: Derived Files-Footnote-31160600
+Node: Future Extensions1160714
+Node: Implementation Limitations1161320
+Node: Extension Design1162568
+Node: Old Extension Problems1163722
+Ref: Old Extension Problems-Footnote-11165239
+Node: Extension New Mechanism Goals1165296
+Ref: Extension New Mechanism Goals-Footnote-11168656
+Node: Extension Other Design Decisions1168845
+Node: Extension Future Growth1170953
+Node: Old Extension Mechanism1171789
+Node: Notes summary1173551
+Node: Basic Concepts1174737
+Node: Basic High Level1175418
+Ref: figure-general-flow1175690
+Ref: figure-process-flow1176289
+Ref: Basic High Level-Footnote-11179518
+Node: Basic Data Typing1179703
+Node: Glossary1183031
+Node: Copying1208189
+Node: GNU Free Documentation License1245745
+Node: Index1270881

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index be14ec3d..20087fa7 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4521,8 +4521,8 @@ produces the following result:
@example
$ @kbd{gawk -f test2}
-@print{} This is file test1.
-@print{} This is file test2.
+@print{} This is script test1.
+@print{} This is script test2.
@end example
@code{gawk} runs the @file{test2} script which includes @file{test1}
@@ -4552,9 +4552,9 @@ following results:
@example
$ @kbd{gawk -f test3}
-@print{} This is file test1.
-@print{} This is file test2.
-@print{} This is file test3.
+@print{} This is script test1.
+@print{} This is script test2.
+@print{} This is script test3.
@end example
The @value{FN} can, of course, be a pathname. For example:
@@ -15000,9 +15000,13 @@ the record separator. It is set every time a record is read.
@cindex @code{SYMTAB} array
@cindex differences in @command{awk} and @command{gawk}, @code{SYMTAB} variable
@item @code{SYMTAB #}
-An array whose indices are the names of all currently defined
-global variables and arrays in the program. The array may be used
-for indirect access to read or write the value of a variable:
+An array whose indices are the names of all defined global variables and
+arrays in the program. @code{SYMTAB} makes @command{gawk}'s symbol table
+visible to the @command{awk} programmer. It is built as @command{gawk}
+parses the program and is complete before the program starts to run.
+
+The array may be used for indirect access to read or write the value of
+a variable:
@example
foo = 5
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index c354d2c8..875893f1 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4432,8 +4432,8 @@ produces the following result:
@example
$ @kbd{gawk -f test2}
-@print{} This is file test1.
-@print{} This is file test2.
+@print{} This is script test1.
+@print{} This is script test2.
@end example
@code{gawk} runs the @file{test2} script which includes @file{test1}
@@ -4463,9 +4463,9 @@ following results:
@example
$ @kbd{gawk -f test3}
-@print{} This is file test1.
-@print{} This is file test2.
-@print{} This is file test3.
+@print{} This is script test1.
+@print{} This is script test2.
+@print{} This is script test3.
@end example
The @value{FN} can, of course, be a pathname. For example:
@@ -14330,9 +14330,13 @@ the record separator. It is set every time a record is read.
@cindex @code{SYMTAB} array
@cindex differences in @command{awk} and @command{gawk}, @code{SYMTAB} variable
@item @code{SYMTAB #}
-An array whose indices are the names of all currently defined
-global variables and arrays in the program. The array may be used
-for indirect access to read or write the value of a variable:
+An array whose indices are the names of all defined global variables and
+arrays in the program. @code{SYMTAB} makes @command{gawk}'s symbol table
+visible to the @command{awk} programmer. It is built as @command{gawk}
+parses the program and is complete before the program starts to run.
+
+The array may be used for indirect access to read or write the value of
+a variable:
@example
foo = 5
diff --git a/regcomp.c b/regcomp.c
index 1f6d978a..70468c82 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -149,7 +149,7 @@ const char __re_error_msgid[] attribute_hidden =
gettext_noop ("Invalid back reference") /* REG_ESUBREG */
"\0"
#define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference")
- gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */
+ gettext_noop ("Unmatched [, [^, [:, [., or [=") /* REG_EBRACK */
"\0"
#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^")
gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */