diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-10-13 11:25:20 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-10-13 11:25:20 +0300 |
commit | 2a8c128ca91b42261720368e5d25431ee4362c70 (patch) | |
tree | 1c0ff9838299b655f38ec0b866e35b5fb89a7502 | |
parent | 5e73f350819b4cd9efb0d50b8a57e50ab271dcda (diff) | |
parent | 8529cd991d329ca9f17da5d75320248a86400f3d (diff) | |
download | egawk-2a8c128ca91b42261720368e5d25431ee4362c70.tar.gz egawk-2a8c128ca91b42261720368e5d25431ee4362c70.tar.bz2 egawk-2a8c128ca91b42261720368e5d25431ee4362c70.zip |
Merge branch 'gawk-4.1-stable'
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 1035 | ||||
-rw-r--r-- | doc/gawk.texi | 20 | ||||
-rw-r--r-- | doc/gawktexi.in | 20 | ||||
-rw-r--r-- | regcomp.c | 2 |
6 files changed, 556 insertions, 532 deletions
@@ -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 @@ -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 */ |