From 7d19cbd54ad60474aded4b9fe587c7f53a14d488 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 19 Aug 2013 20:47:49 +0300 Subject: Changes to ENVIRON reflect into the environment. --- doc/gawk.info | 729 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 369 insertions(+), 360 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 9072bf06..12e0c432 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9679,9 +9679,18 @@ with a pound sign (`#'). An associative array containing the values of the environment. The array indices are the environment variable names; the elements are the values of the particular environment variables. For - example, `ENVIRON["HOME"]' might be `/home/arnold'. Changing this - array does not affect the environment passed on to any programs - that `awk' may spawn via redirection or the `system()' function. + example, `ENVIRON["HOME"]' might be `/home/arnold'. + + For POSIX `awk', changing this array does not affect the + environment passed on to any programs that `awk' may spawn via + redirection or the `system()' function. + + However, beginning with version 4.2, if not in POSIX compatibility + mode, `gawk' does update its own environment when `ENVIRON' is + changed, thus changing the environment seen by programs that it + creates. You should therefore be especially careful if you modify + `ENVIRON["PATH"]"', which is the search path for finding + executable programs. Some operating systems may not have environment variables. On such systems, the `ENVIRON' array is empty (except for @@ -30070,9 +30079,9 @@ Index * dark corner, exit statement: Exit Statement. (line 30) * dark corner, field separators: Field Splitting Summary. (line 46) -* dark corner, FILENAME variable <1>: Auto-set. (line 93) +* dark corner, FILENAME variable <1>: Auto-set. (line 102) * dark corner, FILENAME variable: Getline Notes. (line 19) -* dark corner, FNR/NR variables: Auto-set. (line 314) +* dark corner, FNR/NR variables: Auto-set. (line 323) * dark corner, format-control characters: Control Letters. (line 18) * dark corner, FS as null string: Single Character Fields. (line 20) @@ -30241,12 +30250,12 @@ Index (line 23) * differences in awk and gawk, close() function: Close Files And Pipes. (line 81) -* differences in awk and gawk, ERRNO variable: Auto-set. (line 73) +* differences in awk and gawk, ERRNO variable: Auto-set. (line 82) * differences in awk and gawk, error messages: Special FD. (line 16) * differences in awk and gawk, FIELDWIDTHS variable: User-modified. (line 35) * differences in awk and gawk, FPAT variable: User-modified. (line 45) -* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 119) +* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 128) * differences in awk and gawk, function arguments (gawk): Calling Built-in. (line 16) * differences in awk and gawk, getline command: Getline. (line 19) @@ -30269,14 +30278,14 @@ Index (line 261) * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) -* differences in awk and gawk, PROCINFO array: Auto-set. (line 133) +* differences in awk and gawk, PROCINFO array: Auto-set. (line 142) * differences in awk and gawk, record separators: Records. (line 117) * differences in awk and gawk, regexp constants: Using Constant Regexps. (line 43) * differences in awk and gawk, regular expressions: Case-sensitivity. (line 26) * differences in awk and gawk, RS/RT variables: Records. (line 172) -* differences in awk and gawk, RT variable: Auto-set. (line 266) +* differences in awk and gawk, RT variable: Auto-set. (line 275) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -30285,7 +30294,7 @@ Index * differences in awk and gawk, strings, storing: Records. (line 191) * differences in awk and gawk, strtonum() function (gawk): String Functions. (line 406) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 274) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 283) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 162) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -30366,13 +30375,13 @@ Index (line 11) * EREs (Extended Regular Expressions): Bracket Expressions. (line 24) * ERRNO variable <1>: TCP/IP Networking. (line 54) -* ERRNO variable <2>: Auto-set. (line 73) +* ERRNO variable <2>: Auto-set. (line 82) * ERRNO variable <3>: BEGINFILE/ENDFILE. (line 26) * ERRNO variable <4>: Close Files And Pipes. (line 138) * ERRNO variable: Getline. (line 19) * error handling: Special FD. (line 16) -* error handling, ERRNO variable and: Auto-set. (line 73) +* error handling, ERRNO variable and: Auto-set. (line 82) * error output: Special FD. (line 6) * escape processing, gsub()/gensub()/sub() functions: Gory Details. (line 6) @@ -30484,7 +30493,7 @@ Index * file names, distinguishing: Auto-set. (line 52) * file names, in compatibility mode: Special Caveats. (line 9) * file names, standard streams in gawk: Special FD. (line 46) -* FILENAME variable <1>: Auto-set. (line 93) +* FILENAME variable <1>: Auto-set. (line 102) * FILENAME variable: Reading Files. (line 6) * FILENAME variable, getline, setting with: Getline Notes. (line 19) * filenames, assignments as: Ignoring Assigns. (line 6) @@ -30551,9 +30560,9 @@ Index * floating-point, numbers: General Arithmetic. (line 6) * fnmatch extension function: Extension Sample Fnmatch. (line 6) -* FNR variable <1>: Auto-set. (line 103) +* FNR variable <1>: Auto-set. (line 112) * FNR variable: Records. (line 6) -* FNR variable, changing: Auto-set. (line 314) +* FNR variable, changing: Auto-set. (line 323) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) * fork extension function: Extension Sample Fork. @@ -30600,7 +30609,7 @@ Index * FSF (Free Software Foundation): Manual History. (line 6) * fts extension function: Extension Sample File Functions. (line 77) -* FUNCTAB array: Auto-set. (line 119) +* FUNCTAB array: Auto-set. (line 128) * function calls: Function Calls. (line 6) * function calls, indirect: Indirect Calls. (line 6) * function pointers: Indirect Calls. (line 6) @@ -30669,7 +30678,7 @@ Index * gawk, distribution: Distribution contents. (line 6) * gawk, ERRNO variable in <1>: TCP/IP Networking. (line 54) -* gawk, ERRNO variable in <2>: Auto-set. (line 73) +* gawk, ERRNO variable in <2>: Auto-set. (line 82) * gawk, ERRNO variable in <3>: BEGINFILE/ENDFILE. (line 26) * gawk, ERRNO variable in <4>: Close Files And Pipes. (line 138) @@ -30686,7 +30695,7 @@ Index * gawk, FPAT variable in <1>: User-modified. (line 45) * gawk, FPAT variable in: Splitting By Content. (line 26) -* gawk, FUNCTAB array in: Auto-set. (line 119) +* gawk, FUNCTAB array in: Auto-set. (line 128) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) * gawk, IGNORECASE variable in <1>: Array Sorting Functions. @@ -30717,7 +30726,7 @@ Index * gawk, OS/2 version of: PC Using. (line 11) * gawk, PROCINFO array in <1>: Two-way I/O. (line 116) * gawk, PROCINFO array in <2>: Time Functions. (line 47) -* gawk, PROCINFO array in: Auto-set. (line 133) +* gawk, PROCINFO array in: Auto-set. (line 142) * gawk, regexp constants and: Using Constant Regexps. (line 28) * gawk, regular expressions, case sensitivity: Case-sensitivity. @@ -30725,7 +30734,7 @@ Index * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) * gawk, regular expressions, precedence: Regexp Operators. (line 161) -* gawk, RT variable in <1>: Auto-set. (line 266) +* gawk, RT variable in <1>: Auto-set. (line 275) * gawk, RT variable in <2>: Getline/Variable/File. (line 10) * gawk, RT variable in <3>: Multiple Line. (line 129) @@ -30734,7 +30743,7 @@ Index * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 274) +* gawk, SYMTAB array in: Auto-set. (line 283) * gawk, TEXTDOMAIN variable in: User-modified. (line 162) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 36) @@ -31135,16 +31144,16 @@ Index (line 47) * nexti debugger command: Debugger Execution Control. (line 49) -* NF variable <1>: Auto-set. (line 108) +* NF variable <1>: Auto-set. (line 117) * NF variable: Fields. (line 33) * NF variable, decrementing: Changing Fields. (line 107) * ni debugger command (alias for nexti): Debugger Execution Control. (line 49) * noassign.awk program: Ignoring Assigns. (line 15) * not Boolean-logic operator: Boolean Ops. (line 6) -* NR variable <1>: Auto-set. (line 128) +* NR variable <1>: Auto-set. (line 137) * NR variable: Records. (line 6) -* NR variable, changing: Auto-set. (line 314) +* NR variable, changing: Auto-set. (line 323) * null strings <1>: Basic Data Typing. (line 26) * null strings <2>: Truth Values. (line 6) * null strings <3>: Regexp Field Splitting. @@ -31424,7 +31433,7 @@ Index * PROCINFO array <3>: Group Functions. (line 6) * PROCINFO array <4>: Passwd Functions. (line 6) * PROCINFO array <5>: Time Functions. (line 47) -* PROCINFO array <6>: Auto-set. (line 133) +* PROCINFO array <6>: Auto-set. (line 142) * PROCINFO array: Obsolete. (line 11) * profiling awk programs: Profiling. (line 6) * profiling awk programs, dynamically: Profiling. (line 172) @@ -31577,7 +31586,7 @@ Index * right angle bracket (>), >> operator (I/O): Redirection. (line 50) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 55) -* RLENGTH variable: Auto-set. (line 253) +* RLENGTH variable: Auto-set. (line 262) * RLENGTH variable, match() function and: String Functions. (line 225) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) @@ -31604,9 +31613,9 @@ Index * RS variable: Records. (line 20) * RS variable, multiline records and: Multiple Line. (line 17) * rshift() function (gawk): Bitwise Functions. (line 52) -* RSTART variable: Auto-set. (line 259) +* RSTART variable: Auto-set. (line 268) * RSTART variable, match() function and: String Functions. (line 225) -* RT variable <1>: Auto-set. (line 266) +* RT variable <1>: Auto-set. (line 275) * RT variable <2>: Getline/Variable/File. (line 10) * RT variable <3>: Multiple Line. (line 129) @@ -31689,7 +31698,7 @@ Index (line 110) * sidebar, Changing FS Does Not Affect the Fields: Field Splitting Summary. (line 38) -* sidebar, Changing NR and FNR: Auto-set. (line 312) +* sidebar, Changing NR and FNR: Auto-set. (line 321) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 135) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -31831,7 +31840,7 @@ Index * substr() function: String Functions. (line 483) * Sumner, Andrew: Other Versions. (line 64) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 274) +* SYMTAB array: Auto-set. (line 283) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 147) * system() function: I/O Functions. (line 72) @@ -32272,335 +32281,335 @@ Node: Built-in Variables402949 Node: User-modified404044 Ref: User-modified-Footnote-1412404 Node: Auto-set412466 -Ref: Auto-set-Footnote-1425544 -Ref: Auto-set-Footnote-2425749 -Node: ARGC and ARGV425805 -Node: Arrays429656 -Node: Array Basics431161 -Node: Array Intro431987 -Node: Reference to Elements436305 -Node: Assigning Elements438575 -Node: Array Example439066 -Node: Scanning an Array440798 -Node: Controlling Scanning443112 -Ref: Controlling Scanning-Footnote-1448035 -Node: Delete448351 -Ref: Delete-Footnote-1451116 -Node: Numeric Array Subscripts451173 -Node: Uninitialized Subscripts453356 -Node: Multi-dimensional454984 -Node: Multi-scanning458078 -Node: Arrays of Arrays459669 -Node: Functions464310 -Node: Built-in465129 -Node: Calling Built-in466207 -Node: Numeric Functions468195 -Ref: Numeric Functions-Footnote-1472027 -Ref: Numeric Functions-Footnote-2472384 -Ref: Numeric Functions-Footnote-3472432 -Node: String Functions472701 -Ref: String Functions-Footnote-1496259 -Ref: String Functions-Footnote-2496388 -Ref: String Functions-Footnote-3496636 -Node: Gory Details496723 -Ref: table-sub-escapes498402 -Ref: table-sub-posix-92499756 -Ref: table-sub-proposed501107 -Ref: table-posix-sub502461 -Ref: table-gensub-escapes504006 -Ref: Gory Details-Footnote-1505182 -Ref: Gory Details-Footnote-2505233 -Node: I/O Functions505384 -Ref: I/O Functions-Footnote-1512369 -Node: Time Functions512516 -Ref: Time Functions-Footnote-1523449 -Ref: Time Functions-Footnote-2523517 -Ref: Time Functions-Footnote-3523675 -Ref: Time Functions-Footnote-4523786 -Ref: Time Functions-Footnote-5523898 -Ref: Time Functions-Footnote-6524125 -Node: Bitwise Functions524391 -Ref: table-bitwise-ops524949 -Ref: Bitwise Functions-Footnote-1529170 -Node: Type Functions529354 -Node: I18N Functions530505 -Node: User-defined532132 -Node: Definition Syntax532936 -Ref: Definition Syntax-Footnote-1537846 -Node: Function Example537915 -Node: Function Caveats540509 -Node: Calling A Function540930 -Node: Variable Scope542045 -Node: Pass By Value/Reference545008 -Node: Return Statement548516 -Node: Dynamic Typing551497 -Node: Indirect Calls552428 -Node: Library Functions562113 -Ref: Library Functions-Footnote-1565626 -Ref: Library Functions-Footnote-2565769 -Node: Library Names565940 -Ref: Library Names-Footnote-1569411 -Ref: Library Names-Footnote-2569631 -Node: General Functions569717 -Node: Strtonum Function570670 -Node: Assert Function573600 -Node: Round Function576926 -Node: Cliff Random Function578469 -Node: Ordinal Functions579485 -Ref: Ordinal Functions-Footnote-1582555 -Ref: Ordinal Functions-Footnote-2582807 -Node: Join Function583016 -Ref: Join Function-Footnote-1584787 -Node: Getlocaltime Function584987 -Node: Data File Management588702 -Node: Filetrans Function589334 -Node: Rewind Function593403 -Node: File Checking594790 -Node: Empty Files595884 -Node: Ignoring Assigns598114 -Node: Getopt Function599667 -Ref: Getopt Function-Footnote-1610971 -Node: Passwd Functions611174 -Ref: Passwd Functions-Footnote-1620149 -Node: Group Functions620237 -Node: Walking Arrays628321 -Node: Sample Programs630458 -Node: Running Examples631132 -Node: Clones631860 -Node: Cut Program633084 -Node: Egrep Program642929 -Ref: Egrep Program-Footnote-1650702 -Node: Id Program650812 -Node: Split Program654428 -Ref: Split Program-Footnote-1657947 -Node: Tee Program658075 -Node: Uniq Program660878 -Node: Wc Program668307 -Ref: Wc Program-Footnote-1672573 -Ref: Wc Program-Footnote-2672773 -Node: Miscellaneous Programs672865 -Node: Dupword Program674053 -Node: Alarm Program676084 -Node: Translate Program680833 -Ref: Translate Program-Footnote-1685220 -Ref: Translate Program-Footnote-2685448 -Node: Labels Program685582 -Ref: Labels Program-Footnote-1688953 -Node: Word Sorting689037 -Node: History Sorting692921 -Node: Extract Program694760 -Ref: Extract Program-Footnote-1702261 -Node: Simple Sed702389 -Node: Igawk Program705451 -Ref: Igawk Program-Footnote-1720608 -Ref: Igawk Program-Footnote-2720809 -Node: Anagram Program720947 -Node: Signature Program724015 -Node: Advanced Features725115 -Node: Nondecimal Data726997 -Node: Array Sorting728580 -Node: Controlling Array Traversal729277 -Node: Array Sorting Functions737515 -Ref: Array Sorting Functions-Footnote-1741189 -Ref: Array Sorting Functions-Footnote-2741282 -Node: Two-way I/O741476 -Ref: Two-way I/O-Footnote-1746908 -Node: TCP/IP Networking746978 -Node: Profiling749822 -Node: Internationalization757319 -Node: I18N and L10N758744 -Node: Explaining gettext759430 -Ref: Explaining gettext-Footnote-1764498 -Ref: Explaining gettext-Footnote-2764682 -Node: Programmer i18n764847 -Node: Translator i18n769049 -Node: String Extraction769842 -Ref: String Extraction-Footnote-1770803 -Node: Printf Ordering770889 -Ref: Printf Ordering-Footnote-1773673 -Node: I18N Portability773737 -Ref: I18N Portability-Footnote-1776186 -Node: I18N Example776249 -Ref: I18N Example-Footnote-1778887 -Node: Gawk I18N778959 -Node: Debugger779580 -Node: Debugging780551 -Node: Debugging Concepts780984 -Node: Debugging Terms782840 -Node: Awk Debugging785437 -Node: Sample Debugging Session786329 -Node: Debugger Invocation786849 -Node: Finding The Bug788181 -Node: List of Debugger Commands794669 -Node: Breakpoint Control796003 -Node: Debugger Execution Control799667 -Node: Viewing And Changing Data803027 -Node: Execution Stack806383 -Node: Debugger Info807850 -Node: Miscellaneous Debugger Commands811832 -Node: Readline Support817008 -Node: Limitations817839 -Node: Arbitrary Precision Arithmetic820091 -Ref: Arbitrary Precision Arithmetic-Footnote-1821742 -Node: General Arithmetic821890 -Node: Floating Point Issues823610 -Node: String Conversion Precision824491 -Ref: String Conversion Precision-Footnote-1826197 -Node: Unexpected Results826306 -Node: POSIX Floating Point Problems828459 -Ref: POSIX Floating Point Problems-Footnote-1832284 -Node: Integer Programming832322 -Node: Floating-point Programming834061 -Ref: Floating-point Programming-Footnote-1840392 -Ref: Floating-point Programming-Footnote-2840662 -Node: Floating-point Representation840926 -Node: Floating-point Context842091 -Ref: table-ieee-formats842930 -Node: Rounding Mode844314 -Ref: table-rounding-modes844793 -Ref: Rounding Mode-Footnote-1847808 -Node: Gawk and MPFR847987 -Node: Arbitrary Precision Floats849242 -Ref: Arbitrary Precision Floats-Footnote-1851685 -Node: Setting Precision852001 -Ref: table-predefined-precision-strings852687 -Node: Setting Rounding Mode854832 -Ref: table-gawk-rounding-modes855236 -Node: Floating-point Constants856423 -Node: Changing Precision857852 -Ref: Changing Precision-Footnote-1859252 -Node: Exact Arithmetic859426 -Node: Arbitrary Precision Integers862564 -Ref: Arbitrary Precision Integers-Footnote-1865582 -Node: Dynamic Extensions865729 -Node: Extension Intro867187 -Node: Plugin License868452 -Node: Extension Mechanism Outline869137 -Ref: load-extension869554 -Ref: load-new-function871032 -Ref: call-new-function872027 -Node: Extension API Description874042 -Node: Extension API Functions Introduction875255 -Node: General Data Types880121 -Ref: General Data Types-Footnote-1885723 -Node: Requesting Values886022 -Ref: table-value-types-returned886753 -Node: Constructor Functions887707 -Node: Registration Functions890727 -Node: Extension Functions891412 -Node: Exit Callback Functions893637 -Node: Extension Version String894886 -Node: Input Parsers895536 -Node: Output Wrappers905293 -Node: Two-way processors909803 -Node: Printing Messages912011 -Ref: Printing Messages-Footnote-1913088 -Node: Updating `ERRNO'913240 -Node: Accessing Parameters913979 -Node: Symbol Table Access915209 -Node: Symbol table by name915721 -Node: Symbol table by cookie917468 -Ref: Symbol table by cookie-Footnote-1921598 -Node: Cached values921661 -Ref: Cached values-Footnote-1925110 -Node: Array Manipulation925201 -Ref: Array Manipulation-Footnote-1926299 -Node: Array Data Types926338 -Ref: Array Data Types-Footnote-1929041 -Node: Array Functions929133 -Node: Flattening Arrays932899 -Node: Creating Arrays939751 -Node: Extension API Variables944476 -Node: Extension Versioning945112 -Node: Extension API Informational Variables947013 -Node: Extension API Boilerplate948099 -Node: Finding Extensions951903 -Node: Extension Example952463 -Node: Internal File Description953194 -Node: Internal File Ops957285 -Ref: Internal File Ops-Footnote-1968793 -Node: Using Internal File Ops968933 -Ref: Using Internal File Ops-Footnote-1971286 -Node: Extension Samples971552 -Node: Extension Sample File Functions973076 -Node: Extension Sample Fnmatch981563 -Node: Extension Sample Fork983289 -Node: Extension Sample Inplace984507 -Node: Extension Sample Ord986285 -Node: Extension Sample Readdir987121 -Node: Extension Sample Revout988653 -Node: Extension Sample Rev2way989246 -Node: Extension Sample Read write array989936 -Node: Extension Sample Readfile991819 -Node: Extension Sample API Tests992637 -Node: Extension Sample Time993162 -Node: gawkextlib994526 -Node: Language History997286 -Node: V7/SVR3.1998808 -Node: SVR41001129 -Node: POSIX1002571 -Node: BTL1003957 -Node: POSIX/GNU1004691 -Node: Common Extensions1010226 -Node: Ranges and Locales1011532 -Ref: Ranges and Locales-Footnote-11016150 -Ref: Ranges and Locales-Footnote-21016177 -Ref: Ranges and Locales-Footnote-31016437 -Node: Contributors1016658 -Node: Installation1021537 -Node: Gawk Distribution1022431 -Node: Getting1022915 -Node: Extracting1023741 -Node: Distribution contents1025433 -Node: Unix Installation1030694 -Node: Quick Installation1031311 -Node: Additional Configuration Options1033755 -Node: Configuration Philosophy1035232 -Node: Non-Unix Installation1037586 -Node: PC Installation1038044 -Node: PC Binary Installation1039343 -Node: PC Compiling1041191 -Node: PC Testing1044135 -Node: PC Using1045311 -Node: Cygwin1049496 -Node: MSYS1050496 -Node: VMS Installation1051010 -Node: VMS Compilation1051613 -Ref: VMS Compilation-Footnote-11052620 -Node: VMS Installation Details1052678 -Node: VMS Running1054313 -Node: VMS Old Gawk1055920 -Node: Bugs1056394 -Node: Other Versions1060246 -Node: Notes1065847 -Node: Compatibility Mode1066647 -Node: Additions1067430 -Node: Accessing The Source1068357 -Node: Adding Code1069797 -Node: New Ports1075842 -Node: Derived Files1079977 -Ref: Derived Files-Footnote-11085298 -Ref: Derived Files-Footnote-21085332 -Ref: Derived Files-Footnote-31085932 -Node: Future Extensions1086030 -Node: Implementation Limitations1086611 -Node: Extension Design1087863 -Node: Old Extension Problems1089017 -Ref: Old Extension Problems-Footnote-11090525 -Node: Extension New Mechanism Goals1090582 -Ref: Extension New Mechanism Goals-Footnote-11093948 -Node: Extension Other Design Decisions1094134 -Node: Extension Future Growth1096240 -Node: Old Extension Mechanism1097076 -Node: Basic Concepts1098816 -Node: Basic High Level1099497 -Ref: figure-general-flow1099768 -Ref: figure-process-flow1100367 -Ref: Basic High Level-Footnote-11103596 -Node: Basic Data Typing1103781 -Node: Glossary1107136 -Node: Copying1132598 -Node: GNU Free Documentation License1170155 -Node: Index1195292 +Ref: Auto-set-Footnote-1425936 +Ref: Auto-set-Footnote-2426141 +Node: ARGC and ARGV426197 +Node: Arrays430048 +Node: Array Basics431553 +Node: Array Intro432379 +Node: Reference to Elements436697 +Node: Assigning Elements438967 +Node: Array Example439458 +Node: Scanning an Array441190 +Node: Controlling Scanning443504 +Ref: Controlling Scanning-Footnote-1448427 +Node: Delete448743 +Ref: Delete-Footnote-1451508 +Node: Numeric Array Subscripts451565 +Node: Uninitialized Subscripts453748 +Node: Multi-dimensional455376 +Node: Multi-scanning458470 +Node: Arrays of Arrays460061 +Node: Functions464702 +Node: Built-in465521 +Node: Calling Built-in466599 +Node: Numeric Functions468587 +Ref: Numeric Functions-Footnote-1472419 +Ref: Numeric Functions-Footnote-2472776 +Ref: Numeric Functions-Footnote-3472824 +Node: String Functions473093 +Ref: String Functions-Footnote-1496651 +Ref: String Functions-Footnote-2496780 +Ref: String Functions-Footnote-3497028 +Node: Gory Details497115 +Ref: table-sub-escapes498794 +Ref: table-sub-posix-92500148 +Ref: table-sub-proposed501499 +Ref: table-posix-sub502853 +Ref: table-gensub-escapes504398 +Ref: Gory Details-Footnote-1505574 +Ref: Gory Details-Footnote-2505625 +Node: I/O Functions505776 +Ref: I/O Functions-Footnote-1512761 +Node: Time Functions512908 +Ref: Time Functions-Footnote-1523841 +Ref: Time Functions-Footnote-2523909 +Ref: Time Functions-Footnote-3524067 +Ref: Time Functions-Footnote-4524178 +Ref: Time Functions-Footnote-5524290 +Ref: Time Functions-Footnote-6524517 +Node: Bitwise Functions524783 +Ref: table-bitwise-ops525341 +Ref: Bitwise Functions-Footnote-1529562 +Node: Type Functions529746 +Node: I18N Functions530897 +Node: User-defined532524 +Node: Definition Syntax533328 +Ref: Definition Syntax-Footnote-1538238 +Node: Function Example538307 +Node: Function Caveats540901 +Node: Calling A Function541322 +Node: Variable Scope542437 +Node: Pass By Value/Reference545400 +Node: Return Statement548908 +Node: Dynamic Typing551889 +Node: Indirect Calls552820 +Node: Library Functions562505 +Ref: Library Functions-Footnote-1566018 +Ref: Library Functions-Footnote-2566161 +Node: Library Names566332 +Ref: Library Names-Footnote-1569803 +Ref: Library Names-Footnote-2570023 +Node: General Functions570109 +Node: Strtonum Function571062 +Node: Assert Function573992 +Node: Round Function577318 +Node: Cliff Random Function578861 +Node: Ordinal Functions579877 +Ref: Ordinal Functions-Footnote-1582947 +Ref: Ordinal Functions-Footnote-2583199 +Node: Join Function583408 +Ref: Join Function-Footnote-1585179 +Node: Getlocaltime Function585379 +Node: Data File Management589094 +Node: Filetrans Function589726 +Node: Rewind Function593795 +Node: File Checking595182 +Node: Empty Files596276 +Node: Ignoring Assigns598506 +Node: Getopt Function600059 +Ref: Getopt Function-Footnote-1611363 +Node: Passwd Functions611566 +Ref: Passwd Functions-Footnote-1620541 +Node: Group Functions620629 +Node: Walking Arrays628713 +Node: Sample Programs630850 +Node: Running Examples631524 +Node: Clones632252 +Node: Cut Program633476 +Node: Egrep Program643321 +Ref: Egrep Program-Footnote-1651094 +Node: Id Program651204 +Node: Split Program654820 +Ref: Split Program-Footnote-1658339 +Node: Tee Program658467 +Node: Uniq Program661270 +Node: Wc Program668699 +Ref: Wc Program-Footnote-1672965 +Ref: Wc Program-Footnote-2673165 +Node: Miscellaneous Programs673257 +Node: Dupword Program674445 +Node: Alarm Program676476 +Node: Translate Program681225 +Ref: Translate Program-Footnote-1685612 +Ref: Translate Program-Footnote-2685840 +Node: Labels Program685974 +Ref: Labels Program-Footnote-1689345 +Node: Word Sorting689429 +Node: History Sorting693313 +Node: Extract Program695152 +Ref: Extract Program-Footnote-1702653 +Node: Simple Sed702781 +Node: Igawk Program705843 +Ref: Igawk Program-Footnote-1721000 +Ref: Igawk Program-Footnote-2721201 +Node: Anagram Program721339 +Node: Signature Program724407 +Node: Advanced Features725507 +Node: Nondecimal Data727389 +Node: Array Sorting728972 +Node: Controlling Array Traversal729669 +Node: Array Sorting Functions737907 +Ref: Array Sorting Functions-Footnote-1741581 +Ref: Array Sorting Functions-Footnote-2741674 +Node: Two-way I/O741868 +Ref: Two-way I/O-Footnote-1747300 +Node: TCP/IP Networking747370 +Node: Profiling750214 +Node: Internationalization757711 +Node: I18N and L10N759136 +Node: Explaining gettext759822 +Ref: Explaining gettext-Footnote-1764890 +Ref: Explaining gettext-Footnote-2765074 +Node: Programmer i18n765239 +Node: Translator i18n769441 +Node: String Extraction770234 +Ref: String Extraction-Footnote-1771195 +Node: Printf Ordering771281 +Ref: Printf Ordering-Footnote-1774065 +Node: I18N Portability774129 +Ref: I18N Portability-Footnote-1776578 +Node: I18N Example776641 +Ref: I18N Example-Footnote-1779279 +Node: Gawk I18N779351 +Node: Debugger779972 +Node: Debugging780943 +Node: Debugging Concepts781376 +Node: Debugging Terms783232 +Node: Awk Debugging785829 +Node: Sample Debugging Session786721 +Node: Debugger Invocation787241 +Node: Finding The Bug788573 +Node: List of Debugger Commands795061 +Node: Breakpoint Control796395 +Node: Debugger Execution Control800059 +Node: Viewing And Changing Data803419 +Node: Execution Stack806775 +Node: Debugger Info808242 +Node: Miscellaneous Debugger Commands812224 +Node: Readline Support817400 +Node: Limitations818231 +Node: Arbitrary Precision Arithmetic820483 +Ref: Arbitrary Precision Arithmetic-Footnote-1822134 +Node: General Arithmetic822282 +Node: Floating Point Issues824002 +Node: String Conversion Precision824883 +Ref: String Conversion Precision-Footnote-1826589 +Node: Unexpected Results826698 +Node: POSIX Floating Point Problems828851 +Ref: POSIX Floating Point Problems-Footnote-1832676 +Node: Integer Programming832714 +Node: Floating-point Programming834453 +Ref: Floating-point Programming-Footnote-1840784 +Ref: Floating-point Programming-Footnote-2841054 +Node: Floating-point Representation841318 +Node: Floating-point Context842483 +Ref: table-ieee-formats843322 +Node: Rounding Mode844706 +Ref: table-rounding-modes845185 +Ref: Rounding Mode-Footnote-1848200 +Node: Gawk and MPFR848379 +Node: Arbitrary Precision Floats849634 +Ref: Arbitrary Precision Floats-Footnote-1852077 +Node: Setting Precision852393 +Ref: table-predefined-precision-strings853079 +Node: Setting Rounding Mode855224 +Ref: table-gawk-rounding-modes855628 +Node: Floating-point Constants856815 +Node: Changing Precision858244 +Ref: Changing Precision-Footnote-1859644 +Node: Exact Arithmetic859818 +Node: Arbitrary Precision Integers862956 +Ref: Arbitrary Precision Integers-Footnote-1865974 +Node: Dynamic Extensions866121 +Node: Extension Intro867579 +Node: Plugin License868844 +Node: Extension Mechanism Outline869529 +Ref: load-extension869946 +Ref: load-new-function871424 +Ref: call-new-function872419 +Node: Extension API Description874434 +Node: Extension API Functions Introduction875647 +Node: General Data Types880513 +Ref: General Data Types-Footnote-1886115 +Node: Requesting Values886414 +Ref: table-value-types-returned887145 +Node: Constructor Functions888099 +Node: Registration Functions891119 +Node: Extension Functions891804 +Node: Exit Callback Functions894029 +Node: Extension Version String895278 +Node: Input Parsers895928 +Node: Output Wrappers905685 +Node: Two-way processors910195 +Node: Printing Messages912403 +Ref: Printing Messages-Footnote-1913480 +Node: Updating `ERRNO'913632 +Node: Accessing Parameters914371 +Node: Symbol Table Access915601 +Node: Symbol table by name916113 +Node: Symbol table by cookie917860 +Ref: Symbol table by cookie-Footnote-1921990 +Node: Cached values922053 +Ref: Cached values-Footnote-1925502 +Node: Array Manipulation925593 +Ref: Array Manipulation-Footnote-1926691 +Node: Array Data Types926730 +Ref: Array Data Types-Footnote-1929433 +Node: Array Functions929525 +Node: Flattening Arrays933291 +Node: Creating Arrays940143 +Node: Extension API Variables944868 +Node: Extension Versioning945504 +Node: Extension API Informational Variables947405 +Node: Extension API Boilerplate948491 +Node: Finding Extensions952295 +Node: Extension Example952855 +Node: Internal File Description953586 +Node: Internal File Ops957677 +Ref: Internal File Ops-Footnote-1969185 +Node: Using Internal File Ops969325 +Ref: Using Internal File Ops-Footnote-1971678 +Node: Extension Samples971944 +Node: Extension Sample File Functions973468 +Node: Extension Sample Fnmatch981955 +Node: Extension Sample Fork983681 +Node: Extension Sample Inplace984899 +Node: Extension Sample Ord986677 +Node: Extension Sample Readdir987513 +Node: Extension Sample Revout989045 +Node: Extension Sample Rev2way989638 +Node: Extension Sample Read write array990328 +Node: Extension Sample Readfile992211 +Node: Extension Sample API Tests993029 +Node: Extension Sample Time993554 +Node: gawkextlib994918 +Node: Language History997678 +Node: V7/SVR3.1999200 +Node: SVR41001521 +Node: POSIX1002963 +Node: BTL1004349 +Node: POSIX/GNU1005083 +Node: Common Extensions1010618 +Node: Ranges and Locales1011924 +Ref: Ranges and Locales-Footnote-11016542 +Ref: Ranges and Locales-Footnote-21016569 +Ref: Ranges and Locales-Footnote-31016829 +Node: Contributors1017050 +Node: Installation1021929 +Node: Gawk Distribution1022823 +Node: Getting1023307 +Node: Extracting1024133 +Node: Distribution contents1025825 +Node: Unix Installation1031086 +Node: Quick Installation1031703 +Node: Additional Configuration Options1034147 +Node: Configuration Philosophy1035624 +Node: Non-Unix Installation1037978 +Node: PC Installation1038436 +Node: PC Binary Installation1039735 +Node: PC Compiling1041583 +Node: PC Testing1044527 +Node: PC Using1045703 +Node: Cygwin1049888 +Node: MSYS1050888 +Node: VMS Installation1051402 +Node: VMS Compilation1052005 +Ref: VMS Compilation-Footnote-11053012 +Node: VMS Installation Details1053070 +Node: VMS Running1054705 +Node: VMS Old Gawk1056312 +Node: Bugs1056786 +Node: Other Versions1060638 +Node: Notes1066239 +Node: Compatibility Mode1067039 +Node: Additions1067822 +Node: Accessing The Source1068749 +Node: Adding Code1070189 +Node: New Ports1076234 +Node: Derived Files1080369 +Ref: Derived Files-Footnote-11085690 +Ref: Derived Files-Footnote-21085724 +Ref: Derived Files-Footnote-31086324 +Node: Future Extensions1086422 +Node: Implementation Limitations1087003 +Node: Extension Design1088255 +Node: Old Extension Problems1089409 +Ref: Old Extension Problems-Footnote-11090917 +Node: Extension New Mechanism Goals1090974 +Ref: Extension New Mechanism Goals-Footnote-11094340 +Node: Extension Other Design Decisions1094526 +Node: Extension Future Growth1096632 +Node: Old Extension Mechanism1097468 +Node: Basic Concepts1099208 +Node: Basic High Level1099889 +Ref: figure-general-flow1100160 +Ref: figure-process-flow1100759 +Ref: Basic High Level-Footnote-11103988 +Node: Basic Data Typing1104173 +Node: Glossary1107528 +Node: Copying1132990 +Node: GNU Free Documentation License1170547 +Node: Index1195684  End Tag Table -- cgit v1.2.3 From 08e8087fc3b1b9839e464ee436e8b24a45b024aa Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 24 Sep 2013 15:35:02 +0300 Subject: Add readfile function. --- doc/gawk.info | 1097 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 581 insertions(+), 516 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 9072bf06..0bbf9dde 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -401,6 +401,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Join Function:: A function to join an array into a string. * Getlocaltime Function:: A function to get formatted times. +* Readfile Function:: A function to read an entire file at + once. * Data File Management:: Functions for managing command-line data files. * Filetrans Function:: A function for handling data file @@ -13663,6 +13665,7 @@ programming use. vice versa. * Join Function:: A function to join an array into a string. * Getlocaltime Function:: A function to get formatted times. +* Readfile Function:: A function to read an entire file at once.  File: gawk.info, Node: Strtonum Function, Next: Assert Function, Up: General Functions @@ -14055,7 +14058,7 @@ concatenation. The lack of an explicit operator for concatenation makes string operations more difficult than they really need to be.  -File: gawk.info, Node: Getlocaltime Function, Prev: Join Function, Up: General Functions +File: gawk.info, Node: Getlocaltime Function, Next: Readfile Function, Prev: Join Function, Up: General Functions 10.2.7 Managing the Time of Day ------------------------------- @@ -14136,6 +14139,66 @@ formats required by `strftime()'. The `alarm' program presented in the `getlocaltime()' function would have allowed the user to supply an optional timestamp value to use instead of the current time. + +File: gawk.info, Node: Readfile Function, Prev: Getlocaltime Function, Up: General Functions + +10.2.8 Reading A Whole File At Once +----------------------------------- + +Often, it is convenient to have the entire contents of a file available +in memory as a single string. A straightforward but naive way to do +that might be as follows: + + function readfile(file, tmp, contents) + { + if ((getline tmp < file) < 0) + return + + contents = tmp + while (getline tmp < file) > 0) + contents = contents RT tmp + + close(file) + return contents + } + + This function reads from `file' one record at a time, building up +the full contents of the file in the local variable `contents'. It +works, but is not necessarily efficient. + + The following function, based on a suggestion by Denis Shirokov, +reads the entire contents of the named file in one shot: + + # readfile.awk --- read an entire file at once + + function readfile(file, tmp, save_rs) + { + save_rs = RS + RS = "^$" + getline tmp < file + close(file) + RS = save_rs + + return tmp + } + + It works by setting `RS' to `^$', a regular expression that will +never match if the file has contents. `gawk' reads data from the file +into `tmp' attempting to match `RS'. The match fails after each read, +but fails quickly, such that `gawk' fills `tmp' with the entire +contents of the file. (*Note Records::, for information on `RT' and +`RS'.) + + In the case that `file' is empty, the return value is the null +string. Thus calling code may use something like: + + contents = readfile("/some/path") + if (length(contents) == 0) + # file was empty ... + + This tests the result to see if it is empty or not. An equivalent +test would be `contents == ""'. +  File: gawk.info, Node: Data File Management, Next: Getopt Function, Prev: General Functions, Up: Library Functions @@ -31492,6 +31555,7 @@ Index (line 9) * readfile extension function: Extension Sample Readfile. (line 11) +* readfile() user-defined function: Readfile Function. (line 30) * recipe for a programming language: History. (line 6) * record separators <1>: User-modified. (line 143) * record separators: Records. (line 14) @@ -32087,520 +32151,521 @@ Index  Tag Table: Node: Top1360 -Node: Foreword40338 -Node: Preface44683 -Ref: Preface-Footnote-147736 -Ref: Preface-Footnote-247832 -Node: History48064 -Node: Names50438 -Ref: Names-Footnote-151915 -Node: This Manual51987 -Ref: This Manual-Footnote-157761 -Node: Conventions57861 -Node: Manual History60013 -Ref: Manual History-Footnote-163461 -Ref: Manual History-Footnote-263502 -Node: How To Contribute63576 -Node: Acknowledgments64720 -Node: Getting Started68929 -Node: Running gawk71308 -Node: One-shot72494 -Node: Read Terminal73719 -Ref: Read Terminal-Footnote-175369 -Ref: Read Terminal-Footnote-275645 -Node: Long75816 -Node: Executable Scripts77192 -Ref: Executable Scripts-Footnote-179025 -Ref: Executable Scripts-Footnote-279127 -Node: Comments79674 -Node: Quoting82141 -Node: DOS Quoting86764 -Node: Sample Data Files87439 -Node: Very Simple90471 -Node: Two Rules95070 -Node: More Complex97217 -Ref: More Complex-Footnote-1100147 -Node: Statements/Lines100232 -Ref: Statements/Lines-Footnote-1104694 -Node: Other Features104959 -Node: When105887 -Node: Invoking Gawk108034 -Node: Command Line109495 -Node: Options110278 -Ref: Options-Footnote-1125670 -Node: Other Arguments125695 -Node: Naming Standard Input128353 -Node: Environment Variables129447 -Node: AWKPATH Variable130005 -Ref: AWKPATH Variable-Footnote-1132763 -Node: AWKLIBPATH Variable133023 -Node: Other Environment Variables133741 -Node: Exit Status136236 -Node: Include Files136911 -Node: Loading Shared Libraries140480 -Node: Obsolete141844 -Node: Undocumented142541 -Node: Regexp142784 -Node: Regexp Usage144173 -Node: Escape Sequences146199 -Node: Regexp Operators151868 -Ref: Regexp Operators-Footnote-1159248 -Ref: Regexp Operators-Footnote-2159395 -Node: Bracket Expressions159493 -Ref: table-char-classes161383 -Node: GNU Regexp Operators163906 -Node: Case-sensitivity167629 -Ref: Case-sensitivity-Footnote-1170597 -Ref: Case-sensitivity-Footnote-2170832 -Node: Leftmost Longest170940 -Node: Computed Regexps172141 -Node: Reading Files175478 -Node: Records177481 -Ref: Records-Footnote-1186370 -Node: Fields186407 -Ref: Fields-Footnote-1189440 -Node: Nonconstant Fields189526 -Node: Changing Fields191728 -Node: Field Separators197687 -Node: Default Field Splitting200316 -Node: Regexp Field Splitting201433 -Node: Single Character Fields204775 -Node: Command Line Field Separator205834 -Node: Field Splitting Summary209275 -Ref: Field Splitting Summary-Footnote-1212386 -Node: Constant Size212487 -Node: Splitting By Content217071 -Ref: Splitting By Content-Footnote-1220797 -Node: Multiple Line220837 -Ref: Multiple Line-Footnote-1226684 -Node: Getline226863 -Node: Plain Getline229079 -Node: Getline/Variable231174 -Node: Getline/File232321 -Node: Getline/Variable/File233662 -Ref: Getline/Variable/File-Footnote-1235261 -Node: Getline/Pipe235348 -Node: Getline/Variable/Pipe238048 -Node: Getline/Coprocess239155 -Node: Getline/Variable/Coprocess240407 -Node: Getline Notes241144 -Node: Getline Summary243931 -Ref: table-getline-variants244339 -Node: Read Timeout245251 -Ref: Read Timeout-Footnote-1248992 -Node: Command line directories249049 -Node: Printing249679 -Node: Print251310 -Node: Print Examples252647 -Node: Output Separators255431 -Node: OFMT257191 -Node: Printf258549 -Node: Basic Printf259455 -Node: Control Letters260994 -Node: Format Modifiers264806 -Node: Printf Examples270815 -Node: Redirection273530 -Node: Special Files280495 -Node: Special FD281028 -Ref: Special FD-Footnote-1284653 -Node: Special Network284727 -Node: Special Caveats285577 -Node: Close Files And Pipes286373 -Ref: Close Files And Pipes-Footnote-1293356 -Ref: Close Files And Pipes-Footnote-2293504 -Node: Expressions293654 -Node: Values294786 -Node: Constants295462 -Node: Scalar Constants296142 -Ref: Scalar Constants-Footnote-1297001 -Node: Nondecimal-numbers297183 -Node: Regexp Constants300183 -Node: Using Constant Regexps300658 -Node: Variables303713 -Node: Using Variables304368 -Node: Assignment Options306092 -Node: Conversion307964 -Ref: table-locale-affects313464 -Ref: Conversion-Footnote-1314088 -Node: All Operators314197 -Node: Arithmetic Ops314827 -Node: Concatenation317332 -Ref: Concatenation-Footnote-1320125 -Node: Assignment Ops320245 -Ref: table-assign-ops325233 -Node: Increment Ops326564 -Node: Truth Values and Conditions329999 -Node: Truth Values331082 -Node: Typing and Comparison332131 -Node: Variable Typing332920 -Ref: Variable Typing-Footnote-1336817 -Node: Comparison Operators336939 -Ref: table-relational-ops337349 -Node: POSIX String Comparison340898 -Ref: POSIX String Comparison-Footnote-1341854 -Node: Boolean Ops341992 -Ref: Boolean Ops-Footnote-1346070 -Node: Conditional Exp346161 -Node: Function Calls347893 -Node: Precedence351487 -Node: Locales355156 -Node: Patterns and Actions356245 -Node: Pattern Overview357299 -Node: Regexp Patterns358968 -Node: Expression Patterns359511 -Node: Ranges363196 -Node: BEGIN/END366162 -Node: Using BEGIN/END366924 -Ref: Using BEGIN/END-Footnote-1369655 -Node: I/O And BEGIN/END369761 -Node: BEGINFILE/ENDFILE372043 -Node: Empty374957 -Node: Using Shell Variables375273 -Node: Action Overview377558 -Node: Statements379915 -Node: If Statement381769 -Node: While Statement383268 -Node: Do Statement385312 -Node: For Statement386468 -Node: Switch Statement389620 -Node: Break Statement391717 -Node: Continue Statement393707 -Node: Next Statement395500 -Node: Nextfile Statement397890 -Node: Exit Statement400533 -Node: Built-in Variables402949 -Node: User-modified404044 -Ref: User-modified-Footnote-1412404 -Node: Auto-set412466 -Ref: Auto-set-Footnote-1425544 -Ref: Auto-set-Footnote-2425749 -Node: ARGC and ARGV425805 -Node: Arrays429656 -Node: Array Basics431161 -Node: Array Intro431987 -Node: Reference to Elements436305 -Node: Assigning Elements438575 -Node: Array Example439066 -Node: Scanning an Array440798 -Node: Controlling Scanning443112 -Ref: Controlling Scanning-Footnote-1448035 -Node: Delete448351 -Ref: Delete-Footnote-1451116 -Node: Numeric Array Subscripts451173 -Node: Uninitialized Subscripts453356 -Node: Multi-dimensional454984 -Node: Multi-scanning458078 -Node: Arrays of Arrays459669 -Node: Functions464310 -Node: Built-in465129 -Node: Calling Built-in466207 -Node: Numeric Functions468195 -Ref: Numeric Functions-Footnote-1472027 -Ref: Numeric Functions-Footnote-2472384 -Ref: Numeric Functions-Footnote-3472432 -Node: String Functions472701 -Ref: String Functions-Footnote-1496259 -Ref: String Functions-Footnote-2496388 -Ref: String Functions-Footnote-3496636 -Node: Gory Details496723 -Ref: table-sub-escapes498402 -Ref: table-sub-posix-92499756 -Ref: table-sub-proposed501107 -Ref: table-posix-sub502461 -Ref: table-gensub-escapes504006 -Ref: Gory Details-Footnote-1505182 -Ref: Gory Details-Footnote-2505233 -Node: I/O Functions505384 -Ref: I/O Functions-Footnote-1512369 -Node: Time Functions512516 -Ref: Time Functions-Footnote-1523449 -Ref: Time Functions-Footnote-2523517 -Ref: Time Functions-Footnote-3523675 -Ref: Time Functions-Footnote-4523786 -Ref: Time Functions-Footnote-5523898 -Ref: Time Functions-Footnote-6524125 -Node: Bitwise Functions524391 -Ref: table-bitwise-ops524949 -Ref: Bitwise Functions-Footnote-1529170 -Node: Type Functions529354 -Node: I18N Functions530505 -Node: User-defined532132 -Node: Definition Syntax532936 -Ref: Definition Syntax-Footnote-1537846 -Node: Function Example537915 -Node: Function Caveats540509 -Node: Calling A Function540930 -Node: Variable Scope542045 -Node: Pass By Value/Reference545008 -Node: Return Statement548516 -Node: Dynamic Typing551497 -Node: Indirect Calls552428 -Node: Library Functions562113 -Ref: Library Functions-Footnote-1565626 -Ref: Library Functions-Footnote-2565769 -Node: Library Names565940 -Ref: Library Names-Footnote-1569411 -Ref: Library Names-Footnote-2569631 -Node: General Functions569717 -Node: Strtonum Function570670 -Node: Assert Function573600 -Node: Round Function576926 -Node: Cliff Random Function578469 -Node: Ordinal Functions579485 -Ref: Ordinal Functions-Footnote-1582555 -Ref: Ordinal Functions-Footnote-2582807 -Node: Join Function583016 -Ref: Join Function-Footnote-1584787 -Node: Getlocaltime Function584987 -Node: Data File Management588702 -Node: Filetrans Function589334 -Node: Rewind Function593403 -Node: File Checking594790 -Node: Empty Files595884 -Node: Ignoring Assigns598114 -Node: Getopt Function599667 -Ref: Getopt Function-Footnote-1610971 -Node: Passwd Functions611174 -Ref: Passwd Functions-Footnote-1620149 -Node: Group Functions620237 -Node: Walking Arrays628321 -Node: Sample Programs630458 -Node: Running Examples631132 -Node: Clones631860 -Node: Cut Program633084 -Node: Egrep Program642929 -Ref: Egrep Program-Footnote-1650702 -Node: Id Program650812 -Node: Split Program654428 -Ref: Split Program-Footnote-1657947 -Node: Tee Program658075 -Node: Uniq Program660878 -Node: Wc Program668307 -Ref: Wc Program-Footnote-1672573 -Ref: Wc Program-Footnote-2672773 -Node: Miscellaneous Programs672865 -Node: Dupword Program674053 -Node: Alarm Program676084 -Node: Translate Program680833 -Ref: Translate Program-Footnote-1685220 -Ref: Translate Program-Footnote-2685448 -Node: Labels Program685582 -Ref: Labels Program-Footnote-1688953 -Node: Word Sorting689037 -Node: History Sorting692921 -Node: Extract Program694760 -Ref: Extract Program-Footnote-1702261 -Node: Simple Sed702389 -Node: Igawk Program705451 -Ref: Igawk Program-Footnote-1720608 -Ref: Igawk Program-Footnote-2720809 -Node: Anagram Program720947 -Node: Signature Program724015 -Node: Advanced Features725115 -Node: Nondecimal Data726997 -Node: Array Sorting728580 -Node: Controlling Array Traversal729277 -Node: Array Sorting Functions737515 -Ref: Array Sorting Functions-Footnote-1741189 -Ref: Array Sorting Functions-Footnote-2741282 -Node: Two-way I/O741476 -Ref: Two-way I/O-Footnote-1746908 -Node: TCP/IP Networking746978 -Node: Profiling749822 -Node: Internationalization757319 -Node: I18N and L10N758744 -Node: Explaining gettext759430 -Ref: Explaining gettext-Footnote-1764498 -Ref: Explaining gettext-Footnote-2764682 -Node: Programmer i18n764847 -Node: Translator i18n769049 -Node: String Extraction769842 -Ref: String Extraction-Footnote-1770803 -Node: Printf Ordering770889 -Ref: Printf Ordering-Footnote-1773673 -Node: I18N Portability773737 -Ref: I18N Portability-Footnote-1776186 -Node: I18N Example776249 -Ref: I18N Example-Footnote-1778887 -Node: Gawk I18N778959 -Node: Debugger779580 -Node: Debugging780551 -Node: Debugging Concepts780984 -Node: Debugging Terms782840 -Node: Awk Debugging785437 -Node: Sample Debugging Session786329 -Node: Debugger Invocation786849 -Node: Finding The Bug788181 -Node: List of Debugger Commands794669 -Node: Breakpoint Control796003 -Node: Debugger Execution Control799667 -Node: Viewing And Changing Data803027 -Node: Execution Stack806383 -Node: Debugger Info807850 -Node: Miscellaneous Debugger Commands811832 -Node: Readline Support817008 -Node: Limitations817839 -Node: Arbitrary Precision Arithmetic820091 -Ref: Arbitrary Precision Arithmetic-Footnote-1821742 -Node: General Arithmetic821890 -Node: Floating Point Issues823610 -Node: String Conversion Precision824491 -Ref: String Conversion Precision-Footnote-1826197 -Node: Unexpected Results826306 -Node: POSIX Floating Point Problems828459 -Ref: POSIX Floating Point Problems-Footnote-1832284 -Node: Integer Programming832322 -Node: Floating-point Programming834061 -Ref: Floating-point Programming-Footnote-1840392 -Ref: Floating-point Programming-Footnote-2840662 -Node: Floating-point Representation840926 -Node: Floating-point Context842091 -Ref: table-ieee-formats842930 -Node: Rounding Mode844314 -Ref: table-rounding-modes844793 -Ref: Rounding Mode-Footnote-1847808 -Node: Gawk and MPFR847987 -Node: Arbitrary Precision Floats849242 -Ref: Arbitrary Precision Floats-Footnote-1851685 -Node: Setting Precision852001 -Ref: table-predefined-precision-strings852687 -Node: Setting Rounding Mode854832 -Ref: table-gawk-rounding-modes855236 -Node: Floating-point Constants856423 -Node: Changing Precision857852 -Ref: Changing Precision-Footnote-1859252 -Node: Exact Arithmetic859426 -Node: Arbitrary Precision Integers862564 -Ref: Arbitrary Precision Integers-Footnote-1865582 -Node: Dynamic Extensions865729 -Node: Extension Intro867187 -Node: Plugin License868452 -Node: Extension Mechanism Outline869137 -Ref: load-extension869554 -Ref: load-new-function871032 -Ref: call-new-function872027 -Node: Extension API Description874042 -Node: Extension API Functions Introduction875255 -Node: General Data Types880121 -Ref: General Data Types-Footnote-1885723 -Node: Requesting Values886022 -Ref: table-value-types-returned886753 -Node: Constructor Functions887707 -Node: Registration Functions890727 -Node: Extension Functions891412 -Node: Exit Callback Functions893637 -Node: Extension Version String894886 -Node: Input Parsers895536 -Node: Output Wrappers905293 -Node: Two-way processors909803 -Node: Printing Messages912011 -Ref: Printing Messages-Footnote-1913088 -Node: Updating `ERRNO'913240 -Node: Accessing Parameters913979 -Node: Symbol Table Access915209 -Node: Symbol table by name915721 -Node: Symbol table by cookie917468 -Ref: Symbol table by cookie-Footnote-1921598 -Node: Cached values921661 -Ref: Cached values-Footnote-1925110 -Node: Array Manipulation925201 -Ref: Array Manipulation-Footnote-1926299 -Node: Array Data Types926338 -Ref: Array Data Types-Footnote-1929041 -Node: Array Functions929133 -Node: Flattening Arrays932899 -Node: Creating Arrays939751 -Node: Extension API Variables944476 -Node: Extension Versioning945112 -Node: Extension API Informational Variables947013 -Node: Extension API Boilerplate948099 -Node: Finding Extensions951903 -Node: Extension Example952463 -Node: Internal File Description953194 -Node: Internal File Ops957285 -Ref: Internal File Ops-Footnote-1968793 -Node: Using Internal File Ops968933 -Ref: Using Internal File Ops-Footnote-1971286 -Node: Extension Samples971552 -Node: Extension Sample File Functions973076 -Node: Extension Sample Fnmatch981563 -Node: Extension Sample Fork983289 -Node: Extension Sample Inplace984507 -Node: Extension Sample Ord986285 -Node: Extension Sample Readdir987121 -Node: Extension Sample Revout988653 -Node: Extension Sample Rev2way989246 -Node: Extension Sample Read write array989936 -Node: Extension Sample Readfile991819 -Node: Extension Sample API Tests992637 -Node: Extension Sample Time993162 -Node: gawkextlib994526 -Node: Language History997286 -Node: V7/SVR3.1998808 -Node: SVR41001129 -Node: POSIX1002571 -Node: BTL1003957 -Node: POSIX/GNU1004691 -Node: Common Extensions1010226 -Node: Ranges and Locales1011532 -Ref: Ranges and Locales-Footnote-11016150 -Ref: Ranges and Locales-Footnote-21016177 -Ref: Ranges and Locales-Footnote-31016437 -Node: Contributors1016658 -Node: Installation1021537 -Node: Gawk Distribution1022431 -Node: Getting1022915 -Node: Extracting1023741 -Node: Distribution contents1025433 -Node: Unix Installation1030694 -Node: Quick Installation1031311 -Node: Additional Configuration Options1033755 -Node: Configuration Philosophy1035232 -Node: Non-Unix Installation1037586 -Node: PC Installation1038044 -Node: PC Binary Installation1039343 -Node: PC Compiling1041191 -Node: PC Testing1044135 -Node: PC Using1045311 -Node: Cygwin1049496 -Node: MSYS1050496 -Node: VMS Installation1051010 -Node: VMS Compilation1051613 -Ref: VMS Compilation-Footnote-11052620 -Node: VMS Installation Details1052678 -Node: VMS Running1054313 -Node: VMS Old Gawk1055920 -Node: Bugs1056394 -Node: Other Versions1060246 -Node: Notes1065847 -Node: Compatibility Mode1066647 -Node: Additions1067430 -Node: Accessing The Source1068357 -Node: Adding Code1069797 -Node: New Ports1075842 -Node: Derived Files1079977 -Ref: Derived Files-Footnote-11085298 -Ref: Derived Files-Footnote-21085332 -Ref: Derived Files-Footnote-31085932 -Node: Future Extensions1086030 -Node: Implementation Limitations1086611 -Node: Extension Design1087863 -Node: Old Extension Problems1089017 -Ref: Old Extension Problems-Footnote-11090525 -Node: Extension New Mechanism Goals1090582 -Ref: Extension New Mechanism Goals-Footnote-11093948 -Node: Extension Other Design Decisions1094134 -Node: Extension Future Growth1096240 -Node: Old Extension Mechanism1097076 -Node: Basic Concepts1098816 -Node: Basic High Level1099497 -Ref: figure-general-flow1099768 -Ref: figure-process-flow1100367 -Ref: Basic High Level-Footnote-11103596 -Node: Basic Data Typing1103781 -Node: Glossary1107136 -Node: Copying1132598 -Node: GNU Free Documentation License1170155 -Node: Index1195292 +Node: Foreword40461 +Node: Preface44806 +Ref: Preface-Footnote-147859 +Ref: Preface-Footnote-247955 +Node: History48187 +Node: Names50561 +Ref: Names-Footnote-152038 +Node: This Manual52110 +Ref: This Manual-Footnote-157884 +Node: Conventions57984 +Node: Manual History60136 +Ref: Manual History-Footnote-163584 +Ref: Manual History-Footnote-263625 +Node: How To Contribute63699 +Node: Acknowledgments64843 +Node: Getting Started69052 +Node: Running gawk71431 +Node: One-shot72617 +Node: Read Terminal73842 +Ref: Read Terminal-Footnote-175492 +Ref: Read Terminal-Footnote-275768 +Node: Long75939 +Node: Executable Scripts77315 +Ref: Executable Scripts-Footnote-179148 +Ref: Executable Scripts-Footnote-279250 +Node: Comments79797 +Node: Quoting82264 +Node: DOS Quoting86887 +Node: Sample Data Files87562 +Node: Very Simple90594 +Node: Two Rules95193 +Node: More Complex97340 +Ref: More Complex-Footnote-1100270 +Node: Statements/Lines100355 +Ref: Statements/Lines-Footnote-1104817 +Node: Other Features105082 +Node: When106010 +Node: Invoking Gawk108157 +Node: Command Line109618 +Node: Options110401 +Ref: Options-Footnote-1125793 +Node: Other Arguments125818 +Node: Naming Standard Input128476 +Node: Environment Variables129570 +Node: AWKPATH Variable130128 +Ref: AWKPATH Variable-Footnote-1132886 +Node: AWKLIBPATH Variable133146 +Node: Other Environment Variables133864 +Node: Exit Status136359 +Node: Include Files137034 +Node: Loading Shared Libraries140603 +Node: Obsolete141967 +Node: Undocumented142664 +Node: Regexp142907 +Node: Regexp Usage144296 +Node: Escape Sequences146322 +Node: Regexp Operators151991 +Ref: Regexp Operators-Footnote-1159371 +Ref: Regexp Operators-Footnote-2159518 +Node: Bracket Expressions159616 +Ref: table-char-classes161506 +Node: GNU Regexp Operators164029 +Node: Case-sensitivity167752 +Ref: Case-sensitivity-Footnote-1170720 +Ref: Case-sensitivity-Footnote-2170955 +Node: Leftmost Longest171063 +Node: Computed Regexps172264 +Node: Reading Files175601 +Node: Records177604 +Ref: Records-Footnote-1186493 +Node: Fields186530 +Ref: Fields-Footnote-1189563 +Node: Nonconstant Fields189649 +Node: Changing Fields191851 +Node: Field Separators197810 +Node: Default Field Splitting200439 +Node: Regexp Field Splitting201556 +Node: Single Character Fields204898 +Node: Command Line Field Separator205957 +Node: Field Splitting Summary209398 +Ref: Field Splitting Summary-Footnote-1212509 +Node: Constant Size212610 +Node: Splitting By Content217194 +Ref: Splitting By Content-Footnote-1220920 +Node: Multiple Line220960 +Ref: Multiple Line-Footnote-1226807 +Node: Getline226986 +Node: Plain Getline229202 +Node: Getline/Variable231297 +Node: Getline/File232444 +Node: Getline/Variable/File233785 +Ref: Getline/Variable/File-Footnote-1235384 +Node: Getline/Pipe235471 +Node: Getline/Variable/Pipe238171 +Node: Getline/Coprocess239278 +Node: Getline/Variable/Coprocess240530 +Node: Getline Notes241267 +Node: Getline Summary244054 +Ref: table-getline-variants244462 +Node: Read Timeout245374 +Ref: Read Timeout-Footnote-1249115 +Node: Command line directories249172 +Node: Printing249802 +Node: Print251433 +Node: Print Examples252770 +Node: Output Separators255554 +Node: OFMT257314 +Node: Printf258672 +Node: Basic Printf259578 +Node: Control Letters261117 +Node: Format Modifiers264929 +Node: Printf Examples270938 +Node: Redirection273653 +Node: Special Files280618 +Node: Special FD281151 +Ref: Special FD-Footnote-1284776 +Node: Special Network284850 +Node: Special Caveats285700 +Node: Close Files And Pipes286496 +Ref: Close Files And Pipes-Footnote-1293479 +Ref: Close Files And Pipes-Footnote-2293627 +Node: Expressions293777 +Node: Values294909 +Node: Constants295585 +Node: Scalar Constants296265 +Ref: Scalar Constants-Footnote-1297124 +Node: Nondecimal-numbers297306 +Node: Regexp Constants300306 +Node: Using Constant Regexps300781 +Node: Variables303836 +Node: Using Variables304491 +Node: Assignment Options306215 +Node: Conversion308087 +Ref: table-locale-affects313587 +Ref: Conversion-Footnote-1314211 +Node: All Operators314320 +Node: Arithmetic Ops314950 +Node: Concatenation317455 +Ref: Concatenation-Footnote-1320248 +Node: Assignment Ops320368 +Ref: table-assign-ops325356 +Node: Increment Ops326687 +Node: Truth Values and Conditions330122 +Node: Truth Values331205 +Node: Typing and Comparison332254 +Node: Variable Typing333043 +Ref: Variable Typing-Footnote-1336940 +Node: Comparison Operators337062 +Ref: table-relational-ops337472 +Node: POSIX String Comparison341021 +Ref: POSIX String Comparison-Footnote-1341977 +Node: Boolean Ops342115 +Ref: Boolean Ops-Footnote-1346193 +Node: Conditional Exp346284 +Node: Function Calls348016 +Node: Precedence351610 +Node: Locales355279 +Node: Patterns and Actions356368 +Node: Pattern Overview357422 +Node: Regexp Patterns359091 +Node: Expression Patterns359634 +Node: Ranges363319 +Node: BEGIN/END366285 +Node: Using BEGIN/END367047 +Ref: Using BEGIN/END-Footnote-1369778 +Node: I/O And BEGIN/END369884 +Node: BEGINFILE/ENDFILE372166 +Node: Empty375080 +Node: Using Shell Variables375396 +Node: Action Overview377681 +Node: Statements380038 +Node: If Statement381892 +Node: While Statement383391 +Node: Do Statement385435 +Node: For Statement386591 +Node: Switch Statement389743 +Node: Break Statement391840 +Node: Continue Statement393830 +Node: Next Statement395623 +Node: Nextfile Statement398013 +Node: Exit Statement400656 +Node: Built-in Variables403072 +Node: User-modified404167 +Ref: User-modified-Footnote-1412527 +Node: Auto-set412589 +Ref: Auto-set-Footnote-1425667 +Ref: Auto-set-Footnote-2425872 +Node: ARGC and ARGV425928 +Node: Arrays429779 +Node: Array Basics431284 +Node: Array Intro432110 +Node: Reference to Elements436428 +Node: Assigning Elements438698 +Node: Array Example439189 +Node: Scanning an Array440921 +Node: Controlling Scanning443235 +Ref: Controlling Scanning-Footnote-1448158 +Node: Delete448474 +Ref: Delete-Footnote-1451239 +Node: Numeric Array Subscripts451296 +Node: Uninitialized Subscripts453479 +Node: Multi-dimensional455107 +Node: Multi-scanning458201 +Node: Arrays of Arrays459792 +Node: Functions464433 +Node: Built-in465252 +Node: Calling Built-in466330 +Node: Numeric Functions468318 +Ref: Numeric Functions-Footnote-1472150 +Ref: Numeric Functions-Footnote-2472507 +Ref: Numeric Functions-Footnote-3472555 +Node: String Functions472824 +Ref: String Functions-Footnote-1496382 +Ref: String Functions-Footnote-2496511 +Ref: String Functions-Footnote-3496759 +Node: Gory Details496846 +Ref: table-sub-escapes498525 +Ref: table-sub-posix-92499879 +Ref: table-sub-proposed501230 +Ref: table-posix-sub502584 +Ref: table-gensub-escapes504129 +Ref: Gory Details-Footnote-1505305 +Ref: Gory Details-Footnote-2505356 +Node: I/O Functions505507 +Ref: I/O Functions-Footnote-1512492 +Node: Time Functions512639 +Ref: Time Functions-Footnote-1523572 +Ref: Time Functions-Footnote-2523640 +Ref: Time Functions-Footnote-3523798 +Ref: Time Functions-Footnote-4523909 +Ref: Time Functions-Footnote-5524021 +Ref: Time Functions-Footnote-6524248 +Node: Bitwise Functions524514 +Ref: table-bitwise-ops525072 +Ref: Bitwise Functions-Footnote-1529293 +Node: Type Functions529477 +Node: I18N Functions530628 +Node: User-defined532255 +Node: Definition Syntax533059 +Ref: Definition Syntax-Footnote-1537969 +Node: Function Example538038 +Node: Function Caveats540632 +Node: Calling A Function541053 +Node: Variable Scope542168 +Node: Pass By Value/Reference545131 +Node: Return Statement548639 +Node: Dynamic Typing551620 +Node: Indirect Calls552551 +Node: Library Functions562236 +Ref: Library Functions-Footnote-1565749 +Ref: Library Functions-Footnote-2565892 +Node: Library Names566063 +Ref: Library Names-Footnote-1569534 +Ref: Library Names-Footnote-2569754 +Node: General Functions569840 +Node: Strtonum Function570868 +Node: Assert Function573798 +Node: Round Function577124 +Node: Cliff Random Function578667 +Node: Ordinal Functions579683 +Ref: Ordinal Functions-Footnote-1582753 +Ref: Ordinal Functions-Footnote-2583005 +Node: Join Function583214 +Ref: Join Function-Footnote-1584985 +Node: Getlocaltime Function585185 +Node: Readfile Function588926 +Node: Data File Management590765 +Node: Filetrans Function591397 +Node: Rewind Function595466 +Node: File Checking596853 +Node: Empty Files597947 +Node: Ignoring Assigns600177 +Node: Getopt Function601730 +Ref: Getopt Function-Footnote-1613034 +Node: Passwd Functions613237 +Ref: Passwd Functions-Footnote-1622212 +Node: Group Functions622300 +Node: Walking Arrays630384 +Node: Sample Programs632521 +Node: Running Examples633195 +Node: Clones633923 +Node: Cut Program635147 +Node: Egrep Program644992 +Ref: Egrep Program-Footnote-1652765 +Node: Id Program652875 +Node: Split Program656491 +Ref: Split Program-Footnote-1660010 +Node: Tee Program660138 +Node: Uniq Program662941 +Node: Wc Program670370 +Ref: Wc Program-Footnote-1674636 +Ref: Wc Program-Footnote-2674836 +Node: Miscellaneous Programs674928 +Node: Dupword Program676116 +Node: Alarm Program678147 +Node: Translate Program682896 +Ref: Translate Program-Footnote-1687283 +Ref: Translate Program-Footnote-2687511 +Node: Labels Program687645 +Ref: Labels Program-Footnote-1691016 +Node: Word Sorting691100 +Node: History Sorting694984 +Node: Extract Program696823 +Ref: Extract Program-Footnote-1704324 +Node: Simple Sed704452 +Node: Igawk Program707514 +Ref: Igawk Program-Footnote-1722671 +Ref: Igawk Program-Footnote-2722872 +Node: Anagram Program723010 +Node: Signature Program726078 +Node: Advanced Features727178 +Node: Nondecimal Data729060 +Node: Array Sorting730643 +Node: Controlling Array Traversal731340 +Node: Array Sorting Functions739578 +Ref: Array Sorting Functions-Footnote-1743252 +Ref: Array Sorting Functions-Footnote-2743345 +Node: Two-way I/O743539 +Ref: Two-way I/O-Footnote-1748971 +Node: TCP/IP Networking749041 +Node: Profiling751885 +Node: Internationalization759382 +Node: I18N and L10N760807 +Node: Explaining gettext761493 +Ref: Explaining gettext-Footnote-1766561 +Ref: Explaining gettext-Footnote-2766745 +Node: Programmer i18n766910 +Node: Translator i18n771112 +Node: String Extraction771905 +Ref: String Extraction-Footnote-1772866 +Node: Printf Ordering772952 +Ref: Printf Ordering-Footnote-1775736 +Node: I18N Portability775800 +Ref: I18N Portability-Footnote-1778249 +Node: I18N Example778312 +Ref: I18N Example-Footnote-1780950 +Node: Gawk I18N781022 +Node: Debugger781643 +Node: Debugging782614 +Node: Debugging Concepts783047 +Node: Debugging Terms784903 +Node: Awk Debugging787500 +Node: Sample Debugging Session788392 +Node: Debugger Invocation788912 +Node: Finding The Bug790244 +Node: List of Debugger Commands796732 +Node: Breakpoint Control798066 +Node: Debugger Execution Control801730 +Node: Viewing And Changing Data805090 +Node: Execution Stack808446 +Node: Debugger Info809913 +Node: Miscellaneous Debugger Commands813895 +Node: Readline Support819071 +Node: Limitations819902 +Node: Arbitrary Precision Arithmetic822154 +Ref: Arbitrary Precision Arithmetic-Footnote-1823805 +Node: General Arithmetic823953 +Node: Floating Point Issues825673 +Node: String Conversion Precision826554 +Ref: String Conversion Precision-Footnote-1828260 +Node: Unexpected Results828369 +Node: POSIX Floating Point Problems830522 +Ref: POSIX Floating Point Problems-Footnote-1834347 +Node: Integer Programming834385 +Node: Floating-point Programming836124 +Ref: Floating-point Programming-Footnote-1842455 +Ref: Floating-point Programming-Footnote-2842725 +Node: Floating-point Representation842989 +Node: Floating-point Context844154 +Ref: table-ieee-formats844993 +Node: Rounding Mode846377 +Ref: table-rounding-modes846856 +Ref: Rounding Mode-Footnote-1849871 +Node: Gawk and MPFR850050 +Node: Arbitrary Precision Floats851305 +Ref: Arbitrary Precision Floats-Footnote-1853748 +Node: Setting Precision854064 +Ref: table-predefined-precision-strings854750 +Node: Setting Rounding Mode856895 +Ref: table-gawk-rounding-modes857299 +Node: Floating-point Constants858486 +Node: Changing Precision859915 +Ref: Changing Precision-Footnote-1861315 +Node: Exact Arithmetic861489 +Node: Arbitrary Precision Integers864627 +Ref: Arbitrary Precision Integers-Footnote-1867645 +Node: Dynamic Extensions867792 +Node: Extension Intro869250 +Node: Plugin License870515 +Node: Extension Mechanism Outline871200 +Ref: load-extension871617 +Ref: load-new-function873095 +Ref: call-new-function874090 +Node: Extension API Description876105 +Node: Extension API Functions Introduction877318 +Node: General Data Types882184 +Ref: General Data Types-Footnote-1887786 +Node: Requesting Values888085 +Ref: table-value-types-returned888816 +Node: Constructor Functions889770 +Node: Registration Functions892790 +Node: Extension Functions893475 +Node: Exit Callback Functions895700 +Node: Extension Version String896949 +Node: Input Parsers897599 +Node: Output Wrappers907356 +Node: Two-way processors911866 +Node: Printing Messages914074 +Ref: Printing Messages-Footnote-1915151 +Node: Updating `ERRNO'915303 +Node: Accessing Parameters916042 +Node: Symbol Table Access917272 +Node: Symbol table by name917784 +Node: Symbol table by cookie919531 +Ref: Symbol table by cookie-Footnote-1923661 +Node: Cached values923724 +Ref: Cached values-Footnote-1927173 +Node: Array Manipulation927264 +Ref: Array Manipulation-Footnote-1928362 +Node: Array Data Types928401 +Ref: Array Data Types-Footnote-1931104 +Node: Array Functions931196 +Node: Flattening Arrays934962 +Node: Creating Arrays941814 +Node: Extension API Variables946539 +Node: Extension Versioning947175 +Node: Extension API Informational Variables949076 +Node: Extension API Boilerplate950162 +Node: Finding Extensions953966 +Node: Extension Example954526 +Node: Internal File Description955257 +Node: Internal File Ops959348 +Ref: Internal File Ops-Footnote-1970856 +Node: Using Internal File Ops970996 +Ref: Using Internal File Ops-Footnote-1973349 +Node: Extension Samples973615 +Node: Extension Sample File Functions975139 +Node: Extension Sample Fnmatch983626 +Node: Extension Sample Fork985352 +Node: Extension Sample Inplace986570 +Node: Extension Sample Ord988348 +Node: Extension Sample Readdir989184 +Node: Extension Sample Revout990716 +Node: Extension Sample Rev2way991309 +Node: Extension Sample Read write array991999 +Node: Extension Sample Readfile993882 +Node: Extension Sample API Tests994700 +Node: Extension Sample Time995225 +Node: gawkextlib996589 +Node: Language History999349 +Node: V7/SVR3.11000871 +Node: SVR41003192 +Node: POSIX1004634 +Node: BTL1006020 +Node: POSIX/GNU1006754 +Node: Common Extensions1012289 +Node: Ranges and Locales1013595 +Ref: Ranges and Locales-Footnote-11018213 +Ref: Ranges and Locales-Footnote-21018240 +Ref: Ranges and Locales-Footnote-31018500 +Node: Contributors1018721 +Node: Installation1023600 +Node: Gawk Distribution1024494 +Node: Getting1024978 +Node: Extracting1025804 +Node: Distribution contents1027496 +Node: Unix Installation1032757 +Node: Quick Installation1033374 +Node: Additional Configuration Options1035818 +Node: Configuration Philosophy1037295 +Node: Non-Unix Installation1039649 +Node: PC Installation1040107 +Node: PC Binary Installation1041406 +Node: PC Compiling1043254 +Node: PC Testing1046198 +Node: PC Using1047374 +Node: Cygwin1051559 +Node: MSYS1052559 +Node: VMS Installation1053073 +Node: VMS Compilation1053676 +Ref: VMS Compilation-Footnote-11054683 +Node: VMS Installation Details1054741 +Node: VMS Running1056376 +Node: VMS Old Gawk1057983 +Node: Bugs1058457 +Node: Other Versions1062309 +Node: Notes1067910 +Node: Compatibility Mode1068710 +Node: Additions1069493 +Node: Accessing The Source1070420 +Node: Adding Code1071860 +Node: New Ports1077905 +Node: Derived Files1082040 +Ref: Derived Files-Footnote-11087361 +Ref: Derived Files-Footnote-21087395 +Ref: Derived Files-Footnote-31087995 +Node: Future Extensions1088093 +Node: Implementation Limitations1088674 +Node: Extension Design1089926 +Node: Old Extension Problems1091080 +Ref: Old Extension Problems-Footnote-11092588 +Node: Extension New Mechanism Goals1092645 +Ref: Extension New Mechanism Goals-Footnote-11096011 +Node: Extension Other Design Decisions1096197 +Node: Extension Future Growth1098303 +Node: Old Extension Mechanism1099139 +Node: Basic Concepts1100879 +Node: Basic High Level1101560 +Ref: figure-general-flow1101831 +Ref: figure-process-flow1102430 +Ref: Basic High Level-Footnote-11105659 +Node: Basic Data Typing1105844 +Node: Glossary1109199 +Node: Copying1134661 +Node: GNU Free Documentation License1172218 +Node: Index1197355  End Tag Table -- cgit v1.2.3 From 66fd6df0ec28a87e823b0c8e1768a0660d82f33b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 29 Sep 2013 20:58:19 +0300 Subject: Doc updates. --- doc/gawk.info | 106 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 60 insertions(+), 46 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 0bbf9dde..b5120148 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26521,12 +26521,18 @@ Busybox Awk The OpenSolaris POSIX `awk' The version of `awk' in `/usr/xpg4/bin' on Solaris is more-or-less POSIX-compliant. It is based on the `awk' from Mortice Kern - Systems for PCs. The source code can be downloaded from the - OpenSolaris web site (http://www.opensolaris.org). This author - was able to make it compile and work under GNU/Linux with 1-2 - hours of work. Making it more generally portable (using GNU - Autoconf and/or Automake) would take more work, and this has not - been done, at least to our knowledge. + Systems for PCs. This author was able to make it compile and work + under GNU/Linux with 1-2 hours of work. Making it more generally + portable (using GNU Autoconf and/or Automake) would take more + work, and this has not been done, at least to our knowledge. + + The source code used to be available from the OpenSolaris web site. + However, that project was ended and the web site shut down. + Fortunately, the Illumos project + (http://wiki.illumos.org/display/illumos/illumos+Home) makes this + implementation available. You can view the files one at a time + from + `https://github.com/joyent/illumos-joyent/blob/master/usr/src/cmd/awk_xpg4'. `jawk' This is an interpreter for `awk' written in Java. It claims to be @@ -26556,6 +26562,11 @@ QSE Awk `http://www.quiktrim.org/QTawk.html' for more information, including the manual and a download link. +Other Versions + See also the Wikipedia article + (http://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations), + for information on additional versions. +  File: gawk.info, Node: Notes, Next: Basic Concepts, Prev: Installation, Up: Top @@ -30923,6 +30934,8 @@ Index * IGNORECASE variable, array subscripts and: Array Intro. (line 92) * IGNORECASE variable, in example programs: Library Functions. (line 53) +* Illumos: Other Versions. (line 104) +* Illumos, POSIX-compliant awk: Other Versions. (line 104) * implementation issues, gawk: Notes. (line 6) * implementation issues, gawk, debugging: Compatibility Mode. (line 6) * implementation issues, gawk, limits <1>: Redirection. (line 135) @@ -31002,9 +31015,9 @@ Index * Jacobs, Andrew: Passwd Functions. (line 90) * Jaegermann, Michal <1>: Contributors. (line 46) * Jaegermann, Michal: Acknowledgments. (line 60) -* Java implementation of awk: Other Versions. (line 106) +* Java implementation of awk: Other Versions. (line 112) * Java programming language: Glossary. (line 388) -* jawk: Other Versions. (line 106) +* jawk: Other Versions. (line 112) * Jedi knights: Undocumented. (line 6) * join() user-defined function: Join Function. (line 18) * Kahrs, Ju"rgen <1>: Contributors. (line 71) @@ -31051,7 +31064,7 @@ Index * length() function: String Functions. (line 168) * Lesser General Public License (LGPL): Glossary. (line 405) * LGPL (Lesser General Public License): Glossary. (line 405) -* libmawk: Other Versions. (line 114) +* libmawk: Other Versions. (line 120) * libraries of awk functions: Library Functions. (line 6) * libraries of awk functions, assertions: Assert Function. (line 6) * libraries of awk functions, associative arrays and: Library Names. @@ -31338,7 +31351,7 @@ Index * patterns, types of: Pattern Overview. (line 15) * pawk (profiling version of Brian Kernighan's awk): Other Versions. (line 78) -* pawk, awk-like facilities for Python: Other Versions. (line 118) +* pawk, awk-like facilities for Python: Other Versions. (line 124) * PC operating systems, gawk on: PC Using. (line 6) * PC operating systems, gawk on, installing: PC Installation. (line 6) * percent sign (%), % operator: Precedence. (line 55) @@ -31517,12 +31530,12 @@ Index * pwcat program: Passwd Functions. (line 23) * q debugger command (alias for quit): Miscellaneous Debugger Commands. (line 99) -* QSE Awk: Other Versions. (line 124) +* QSE Awk: Other Versions. (line 130) * question mark (?) regexp operator <1>: GNU Regexp Operators. (line 59) * question mark (?) regexp operator: Regexp Operators. (line 111) * question mark (?), ?: operator: Precedence. (line 92) -* QuikTrim Awk: Other Versions. (line 128) +* QuikTrim Awk: Other Versions. (line 134) * quit debugger command: Miscellaneous Debugger Commands. (line 99) * QUIT signal (MS-Windows): Profiling. (line 207) @@ -31811,13 +31824,14 @@ Index * source code, Brian Kernighan's awk: Other Versions. (line 13) * source code, Busybox Awk: Other Versions. (line 88) * source code, gawk: Gawk Distribution. (line 6) -* source code, jawk: Other Versions. (line 106) -* source code, libmawk: Other Versions. (line 114) +* source code, Illumos awk: Other Versions. (line 104) +* source code, jawk: Other Versions. (line 112) +* source code, libmawk: Other Versions. (line 120) * source code, mawk: Other Versions. (line 44) * source code, mixing: Options. (line 131) * source code, pawk: Other Versions. (line 78) -* source code, QSE Awk: Other Versions. (line 124) -* source code, QuikTrim Awk: Other Versions. (line 128) +* source code, QSE Awk: Other Versions. (line 130) +* source code, QuikTrim Awk: Other Versions. (line 134) * source code, Solaris awk: Other Versions. (line 96) * source files, search path for: Igawk Program. (line 368) * sparse arrays: Array Intro. (line 71) @@ -32637,35 +32651,35 @@ Node: VMS Running1056376 Node: VMS Old Gawk1057983 Node: Bugs1058457 Node: Other Versions1062309 -Node: Notes1067910 -Node: Compatibility Mode1068710 -Node: Additions1069493 -Node: Accessing The Source1070420 -Node: Adding Code1071860 -Node: New Ports1077905 -Node: Derived Files1082040 -Ref: Derived Files-Footnote-11087361 -Ref: Derived Files-Footnote-21087395 -Ref: Derived Files-Footnote-31087995 -Node: Future Extensions1088093 -Node: Implementation Limitations1088674 -Node: Extension Design1089926 -Node: Old Extension Problems1091080 -Ref: Old Extension Problems-Footnote-11092588 -Node: Extension New Mechanism Goals1092645 -Ref: Extension New Mechanism Goals-Footnote-11096011 -Node: Extension Other Design Decisions1096197 -Node: Extension Future Growth1098303 -Node: Old Extension Mechanism1099139 -Node: Basic Concepts1100879 -Node: Basic High Level1101560 -Ref: figure-general-flow1101831 -Ref: figure-process-flow1102430 -Ref: Basic High Level-Footnote-11105659 -Node: Basic Data Typing1105844 -Node: Glossary1109199 -Node: Copying1134661 -Node: GNU Free Documentation License1172218 -Node: Index1197355 +Node: Notes1068390 +Node: Compatibility Mode1069190 +Node: Additions1069973 +Node: Accessing The Source1070900 +Node: Adding Code1072340 +Node: New Ports1078385 +Node: Derived Files1082520 +Ref: Derived Files-Footnote-11087841 +Ref: Derived Files-Footnote-21087875 +Ref: Derived Files-Footnote-31088475 +Node: Future Extensions1088573 +Node: Implementation Limitations1089154 +Node: Extension Design1090406 +Node: Old Extension Problems1091560 +Ref: Old Extension Problems-Footnote-11093068 +Node: Extension New Mechanism Goals1093125 +Ref: Extension New Mechanism Goals-Footnote-11096491 +Node: Extension Other Design Decisions1096677 +Node: Extension Future Growth1098783 +Node: Old Extension Mechanism1099619 +Node: Basic Concepts1101359 +Node: Basic High Level1102040 +Ref: figure-general-flow1102311 +Ref: figure-process-flow1102910 +Ref: Basic High Level-Footnote-11106139 +Node: Basic Data Typing1106324 +Node: Glossary1109679 +Node: Copying1135141 +Node: GNU Free Documentation License1172698 +Node: Index1197835  End Tag Table -- cgit v1.2.3 From 409702f929f765cd7ac7b959633ec4c694e493de Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 11 Oct 2013 14:18:24 +0300 Subject: Minor wording improvements in gawk manual. --- doc/gawk.info | 456 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 228 insertions(+), 228 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index b5120148..5b3e4ac7 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -7097,7 +7097,7 @@ controlled by the `awk' built-in variable `CONVFMT' (*note Built-in Variables::). Numbers are converted using the `sprintf()' function with `CONVFMT' as the format specifier (*note String Functions::). - `CONVFMT''s default value is `"%.6g"', which prints a value with at + `CONVFMT''s default value is `"%.6g"', which creates a value with at most six significant digits. For some applications, you might want to change it to specify more precision. On most modern machines, 17 digits is usually enough to capture a floating-point number's value @@ -20571,7 +20571,7 @@ automatic conversion (via `CONVFMT') and from printing (via `OFMT'). what the default string representations show. `CONVFMT''s default value is `"%.6g"', which yields a value with at -least six significant digits. For some applications, you might want to +most six significant digits. For some applications, you might want to change it to specify more precision. On most modern machines, most of the time, 17 digits is enough to capture a floating-point number's value exactly.(1) @@ -32298,232 +32298,232 @@ Node: Variables303836 Node: Using Variables304491 Node: Assignment Options306215 Node: Conversion308087 -Ref: table-locale-affects313587 -Ref: Conversion-Footnote-1314211 -Node: All Operators314320 -Node: Arithmetic Ops314950 -Node: Concatenation317455 -Ref: Concatenation-Footnote-1320248 -Node: Assignment Ops320368 -Ref: table-assign-ops325356 -Node: Increment Ops326687 -Node: Truth Values and Conditions330122 -Node: Truth Values331205 -Node: Typing and Comparison332254 -Node: Variable Typing333043 -Ref: Variable Typing-Footnote-1336940 -Node: Comparison Operators337062 -Ref: table-relational-ops337472 -Node: POSIX String Comparison341021 -Ref: POSIX String Comparison-Footnote-1341977 -Node: Boolean Ops342115 -Ref: Boolean Ops-Footnote-1346193 -Node: Conditional Exp346284 -Node: Function Calls348016 -Node: Precedence351610 -Node: Locales355279 -Node: Patterns and Actions356368 -Node: Pattern Overview357422 -Node: Regexp Patterns359091 -Node: Expression Patterns359634 -Node: Ranges363319 -Node: BEGIN/END366285 -Node: Using BEGIN/END367047 -Ref: Using BEGIN/END-Footnote-1369778 -Node: I/O And BEGIN/END369884 -Node: BEGINFILE/ENDFILE372166 -Node: Empty375080 -Node: Using Shell Variables375396 -Node: Action Overview377681 -Node: Statements380038 -Node: If Statement381892 -Node: While Statement383391 -Node: Do Statement385435 -Node: For Statement386591 -Node: Switch Statement389743 -Node: Break Statement391840 -Node: Continue Statement393830 -Node: Next Statement395623 -Node: Nextfile Statement398013 -Node: Exit Statement400656 -Node: Built-in Variables403072 -Node: User-modified404167 -Ref: User-modified-Footnote-1412527 -Node: Auto-set412589 -Ref: Auto-set-Footnote-1425667 -Ref: Auto-set-Footnote-2425872 -Node: ARGC and ARGV425928 -Node: Arrays429779 -Node: Array Basics431284 -Node: Array Intro432110 -Node: Reference to Elements436428 -Node: Assigning Elements438698 -Node: Array Example439189 -Node: Scanning an Array440921 -Node: Controlling Scanning443235 -Ref: Controlling Scanning-Footnote-1448158 -Node: Delete448474 -Ref: Delete-Footnote-1451239 -Node: Numeric Array Subscripts451296 -Node: Uninitialized Subscripts453479 -Node: Multi-dimensional455107 -Node: Multi-scanning458201 -Node: Arrays of Arrays459792 -Node: Functions464433 -Node: Built-in465252 -Node: Calling Built-in466330 -Node: Numeric Functions468318 -Ref: Numeric Functions-Footnote-1472150 -Ref: Numeric Functions-Footnote-2472507 -Ref: Numeric Functions-Footnote-3472555 -Node: String Functions472824 -Ref: String Functions-Footnote-1496382 -Ref: String Functions-Footnote-2496511 -Ref: String Functions-Footnote-3496759 -Node: Gory Details496846 -Ref: table-sub-escapes498525 -Ref: table-sub-posix-92499879 -Ref: table-sub-proposed501230 -Ref: table-posix-sub502584 -Ref: table-gensub-escapes504129 -Ref: Gory Details-Footnote-1505305 -Ref: Gory Details-Footnote-2505356 -Node: I/O Functions505507 -Ref: I/O Functions-Footnote-1512492 -Node: Time Functions512639 -Ref: Time Functions-Footnote-1523572 -Ref: Time Functions-Footnote-2523640 -Ref: Time Functions-Footnote-3523798 -Ref: Time Functions-Footnote-4523909 -Ref: Time Functions-Footnote-5524021 -Ref: Time Functions-Footnote-6524248 -Node: Bitwise Functions524514 -Ref: table-bitwise-ops525072 -Ref: Bitwise Functions-Footnote-1529293 -Node: Type Functions529477 -Node: I18N Functions530628 -Node: User-defined532255 -Node: Definition Syntax533059 -Ref: Definition Syntax-Footnote-1537969 -Node: Function Example538038 -Node: Function Caveats540632 -Node: Calling A Function541053 -Node: Variable Scope542168 -Node: Pass By Value/Reference545131 -Node: Return Statement548639 -Node: Dynamic Typing551620 -Node: Indirect Calls552551 -Node: Library Functions562236 -Ref: Library Functions-Footnote-1565749 -Ref: Library Functions-Footnote-2565892 -Node: Library Names566063 -Ref: Library Names-Footnote-1569534 -Ref: Library Names-Footnote-2569754 -Node: General Functions569840 -Node: Strtonum Function570868 -Node: Assert Function573798 -Node: Round Function577124 -Node: Cliff Random Function578667 -Node: Ordinal Functions579683 -Ref: Ordinal Functions-Footnote-1582753 -Ref: Ordinal Functions-Footnote-2583005 -Node: Join Function583214 -Ref: Join Function-Footnote-1584985 -Node: Getlocaltime Function585185 -Node: Readfile Function588926 -Node: Data File Management590765 -Node: Filetrans Function591397 -Node: Rewind Function595466 -Node: File Checking596853 -Node: Empty Files597947 -Node: Ignoring Assigns600177 -Node: Getopt Function601730 -Ref: Getopt Function-Footnote-1613034 -Node: Passwd Functions613237 -Ref: Passwd Functions-Footnote-1622212 -Node: Group Functions622300 -Node: Walking Arrays630384 -Node: Sample Programs632521 -Node: Running Examples633195 -Node: Clones633923 -Node: Cut Program635147 -Node: Egrep Program644992 -Ref: Egrep Program-Footnote-1652765 -Node: Id Program652875 -Node: Split Program656491 -Ref: Split Program-Footnote-1660010 -Node: Tee Program660138 -Node: Uniq Program662941 -Node: Wc Program670370 -Ref: Wc Program-Footnote-1674636 -Ref: Wc Program-Footnote-2674836 -Node: Miscellaneous Programs674928 -Node: Dupword Program676116 -Node: Alarm Program678147 -Node: Translate Program682896 -Ref: Translate Program-Footnote-1687283 -Ref: Translate Program-Footnote-2687511 -Node: Labels Program687645 -Ref: Labels Program-Footnote-1691016 -Node: Word Sorting691100 -Node: History Sorting694984 -Node: Extract Program696823 -Ref: Extract Program-Footnote-1704324 -Node: Simple Sed704452 -Node: Igawk Program707514 -Ref: Igawk Program-Footnote-1722671 -Ref: Igawk Program-Footnote-2722872 -Node: Anagram Program723010 -Node: Signature Program726078 -Node: Advanced Features727178 -Node: Nondecimal Data729060 -Node: Array Sorting730643 -Node: Controlling Array Traversal731340 -Node: Array Sorting Functions739578 -Ref: Array Sorting Functions-Footnote-1743252 -Ref: Array Sorting Functions-Footnote-2743345 -Node: Two-way I/O743539 -Ref: Two-way I/O-Footnote-1748971 -Node: TCP/IP Networking749041 -Node: Profiling751885 -Node: Internationalization759382 -Node: I18N and L10N760807 -Node: Explaining gettext761493 -Ref: Explaining gettext-Footnote-1766561 -Ref: Explaining gettext-Footnote-2766745 -Node: Programmer i18n766910 -Node: Translator i18n771112 -Node: String Extraction771905 -Ref: String Extraction-Footnote-1772866 -Node: Printf Ordering772952 -Ref: Printf Ordering-Footnote-1775736 -Node: I18N Portability775800 -Ref: I18N Portability-Footnote-1778249 -Node: I18N Example778312 -Ref: I18N Example-Footnote-1780950 -Node: Gawk I18N781022 -Node: Debugger781643 -Node: Debugging782614 -Node: Debugging Concepts783047 -Node: Debugging Terms784903 -Node: Awk Debugging787500 -Node: Sample Debugging Session788392 -Node: Debugger Invocation788912 -Node: Finding The Bug790244 -Node: List of Debugger Commands796732 -Node: Breakpoint Control798066 -Node: Debugger Execution Control801730 -Node: Viewing And Changing Data805090 -Node: Execution Stack808446 -Node: Debugger Info809913 -Node: Miscellaneous Debugger Commands813895 -Node: Readline Support819071 -Node: Limitations819902 -Node: Arbitrary Precision Arithmetic822154 -Ref: Arbitrary Precision Arithmetic-Footnote-1823805 -Node: General Arithmetic823953 -Node: Floating Point Issues825673 -Node: String Conversion Precision826554 +Ref: table-locale-affects313588 +Ref: Conversion-Footnote-1314212 +Node: All Operators314321 +Node: Arithmetic Ops314951 +Node: Concatenation317456 +Ref: Concatenation-Footnote-1320249 +Node: Assignment Ops320369 +Ref: table-assign-ops325357 +Node: Increment Ops326688 +Node: Truth Values and Conditions330123 +Node: Truth Values331206 +Node: Typing and Comparison332255 +Node: Variable Typing333044 +Ref: Variable Typing-Footnote-1336941 +Node: Comparison Operators337063 +Ref: table-relational-ops337473 +Node: POSIX String Comparison341022 +Ref: POSIX String Comparison-Footnote-1341978 +Node: Boolean Ops342116 +Ref: Boolean Ops-Footnote-1346194 +Node: Conditional Exp346285 +Node: Function Calls348017 +Node: Precedence351611 +Node: Locales355280 +Node: Patterns and Actions356369 +Node: Pattern Overview357423 +Node: Regexp Patterns359092 +Node: Expression Patterns359635 +Node: Ranges363320 +Node: BEGIN/END366286 +Node: Using BEGIN/END367048 +Ref: Using BEGIN/END-Footnote-1369779 +Node: I/O And BEGIN/END369885 +Node: BEGINFILE/ENDFILE372167 +Node: Empty375081 +Node: Using Shell Variables375397 +Node: Action Overview377682 +Node: Statements380039 +Node: If Statement381893 +Node: While Statement383392 +Node: Do Statement385436 +Node: For Statement386592 +Node: Switch Statement389744 +Node: Break Statement391841 +Node: Continue Statement393831 +Node: Next Statement395624 +Node: Nextfile Statement398014 +Node: Exit Statement400657 +Node: Built-in Variables403073 +Node: User-modified404168 +Ref: User-modified-Footnote-1412528 +Node: Auto-set412590 +Ref: Auto-set-Footnote-1425668 +Ref: Auto-set-Footnote-2425873 +Node: ARGC and ARGV425929 +Node: Arrays429780 +Node: Array Basics431285 +Node: Array Intro432111 +Node: Reference to Elements436429 +Node: Assigning Elements438699 +Node: Array Example439190 +Node: Scanning an Array440922 +Node: Controlling Scanning443236 +Ref: Controlling Scanning-Footnote-1448159 +Node: Delete448475 +Ref: Delete-Footnote-1451240 +Node: Numeric Array Subscripts451297 +Node: Uninitialized Subscripts453480 +Node: Multi-dimensional455108 +Node: Multi-scanning458202 +Node: Arrays of Arrays459793 +Node: Functions464434 +Node: Built-in465253 +Node: Calling Built-in466331 +Node: Numeric Functions468319 +Ref: Numeric Functions-Footnote-1472151 +Ref: Numeric Functions-Footnote-2472508 +Ref: Numeric Functions-Footnote-3472556 +Node: String Functions472825 +Ref: String Functions-Footnote-1496383 +Ref: String Functions-Footnote-2496512 +Ref: String Functions-Footnote-3496760 +Node: Gory Details496847 +Ref: table-sub-escapes498526 +Ref: table-sub-posix-92499880 +Ref: table-sub-proposed501231 +Ref: table-posix-sub502585 +Ref: table-gensub-escapes504130 +Ref: Gory Details-Footnote-1505306 +Ref: Gory Details-Footnote-2505357 +Node: I/O Functions505508 +Ref: I/O Functions-Footnote-1512493 +Node: Time Functions512640 +Ref: Time Functions-Footnote-1523573 +Ref: Time Functions-Footnote-2523641 +Ref: Time Functions-Footnote-3523799 +Ref: Time Functions-Footnote-4523910 +Ref: Time Functions-Footnote-5524022 +Ref: Time Functions-Footnote-6524249 +Node: Bitwise Functions524515 +Ref: table-bitwise-ops525073 +Ref: Bitwise Functions-Footnote-1529294 +Node: Type Functions529478 +Node: I18N Functions530629 +Node: User-defined532256 +Node: Definition Syntax533060 +Ref: Definition Syntax-Footnote-1537970 +Node: Function Example538039 +Node: Function Caveats540633 +Node: Calling A Function541054 +Node: Variable Scope542169 +Node: Pass By Value/Reference545132 +Node: Return Statement548640 +Node: Dynamic Typing551621 +Node: Indirect Calls552552 +Node: Library Functions562237 +Ref: Library Functions-Footnote-1565750 +Ref: Library Functions-Footnote-2565893 +Node: Library Names566064 +Ref: Library Names-Footnote-1569535 +Ref: Library Names-Footnote-2569755 +Node: General Functions569841 +Node: Strtonum Function570869 +Node: Assert Function573799 +Node: Round Function577125 +Node: Cliff Random Function578668 +Node: Ordinal Functions579684 +Ref: Ordinal Functions-Footnote-1582754 +Ref: Ordinal Functions-Footnote-2583006 +Node: Join Function583215 +Ref: Join Function-Footnote-1584986 +Node: Getlocaltime Function585186 +Node: Readfile Function588927 +Node: Data File Management590766 +Node: Filetrans Function591398 +Node: Rewind Function595467 +Node: File Checking596854 +Node: Empty Files597948 +Node: Ignoring Assigns600178 +Node: Getopt Function601731 +Ref: Getopt Function-Footnote-1613035 +Node: Passwd Functions613238 +Ref: Passwd Functions-Footnote-1622213 +Node: Group Functions622301 +Node: Walking Arrays630385 +Node: Sample Programs632522 +Node: Running Examples633196 +Node: Clones633924 +Node: Cut Program635148 +Node: Egrep Program644993 +Ref: Egrep Program-Footnote-1652766 +Node: Id Program652876 +Node: Split Program656492 +Ref: Split Program-Footnote-1660011 +Node: Tee Program660139 +Node: Uniq Program662942 +Node: Wc Program670371 +Ref: Wc Program-Footnote-1674637 +Ref: Wc Program-Footnote-2674837 +Node: Miscellaneous Programs674929 +Node: Dupword Program676117 +Node: Alarm Program678148 +Node: Translate Program682897 +Ref: Translate Program-Footnote-1687284 +Ref: Translate Program-Footnote-2687512 +Node: Labels Program687646 +Ref: Labels Program-Footnote-1691017 +Node: Word Sorting691101 +Node: History Sorting694985 +Node: Extract Program696824 +Ref: Extract Program-Footnote-1704325 +Node: Simple Sed704453 +Node: Igawk Program707515 +Ref: Igawk Program-Footnote-1722672 +Ref: Igawk Program-Footnote-2722873 +Node: Anagram Program723011 +Node: Signature Program726079 +Node: Advanced Features727179 +Node: Nondecimal Data729061 +Node: Array Sorting730644 +Node: Controlling Array Traversal731341 +Node: Array Sorting Functions739579 +Ref: Array Sorting Functions-Footnote-1743253 +Ref: Array Sorting Functions-Footnote-2743346 +Node: Two-way I/O743540 +Ref: Two-way I/O-Footnote-1748972 +Node: TCP/IP Networking749042 +Node: Profiling751886 +Node: Internationalization759383 +Node: I18N and L10N760808 +Node: Explaining gettext761494 +Ref: Explaining gettext-Footnote-1766562 +Ref: Explaining gettext-Footnote-2766746 +Node: Programmer i18n766911 +Node: Translator i18n771113 +Node: String Extraction771906 +Ref: String Extraction-Footnote-1772867 +Node: Printf Ordering772953 +Ref: Printf Ordering-Footnote-1775737 +Node: I18N Portability775801 +Ref: I18N Portability-Footnote-1778250 +Node: I18N Example778313 +Ref: I18N Example-Footnote-1780951 +Node: Gawk I18N781023 +Node: Debugger781644 +Node: Debugging782615 +Node: Debugging Concepts783048 +Node: Debugging Terms784904 +Node: Awk Debugging787501 +Node: Sample Debugging Session788393 +Node: Debugger Invocation788913 +Node: Finding The Bug790245 +Node: List of Debugger Commands796733 +Node: Breakpoint Control798067 +Node: Debugger Execution Control801731 +Node: Viewing And Changing Data805091 +Node: Execution Stack808447 +Node: Debugger Info809914 +Node: Miscellaneous Debugger Commands813896 +Node: Readline Support819072 +Node: Limitations819903 +Node: Arbitrary Precision Arithmetic822155 +Ref: Arbitrary Precision Arithmetic-Footnote-1823806 +Node: General Arithmetic823954 +Node: Floating Point Issues825674 +Node: String Conversion Precision826555 Ref: String Conversion Precision-Footnote-1828260 Node: Unexpected Results828369 Node: POSIX Floating Point Problems830522 -- cgit v1.2.3 From 0307bffa31f7c7b51531bd74b730c035c8f1dfa1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sat, 19 Oct 2013 20:19:58 +0300 Subject: Finish removing PVERSION from doc. --- doc/gawk.info | 674 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 337 insertions(+), 337 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index e8ea41db..bf131b48 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9687,12 +9687,12 @@ with a pound sign (`#'). environment passed on to any programs that `awk' may spawn via redirection or the `system()' function. - However, beginning with {No value for `PVERSION'} 4.2, if not in - POSIX compatibility mode, `gawk' does update its own environment - when `ENVIRON' is changed, thus changing the environment seen by - programs that it creates. You should therefore be especially - careful if you modify `ENVIRON["PATH"]"', which is the search path - for finding executable programs. + However, beginning with version 4.2, if not in POSIX compatibility + mode, `gawk' does update its own environment when `ENVIRON' is + changed, thus changing the environment seen by programs that it + creates. You should therefore be especially careful if you modify + `ENVIRON["PATH"]"', which is the search path for finding + executable programs. Some operating systems may not have environment variables. On such systems, the `ENVIRON' array is empty (except for @@ -32359,336 +32359,336 @@ Node: Built-in Variables403073 Node: User-modified404168 Ref: User-modified-Footnote-1412528 Node: Auto-set412590 -Ref: Auto-set-Footnote-1426078 -Ref: Auto-set-Footnote-2426283 -Node: ARGC and ARGV426339 -Node: Arrays430190 -Node: Array Basics431695 -Node: Array Intro432521 -Node: Reference to Elements436839 -Node: Assigning Elements439109 -Node: Array Example439600 -Node: Scanning an Array441332 -Node: Controlling Scanning443646 -Ref: Controlling Scanning-Footnote-1448569 -Node: Delete448885 -Ref: Delete-Footnote-1451650 -Node: Numeric Array Subscripts451707 -Node: Uninitialized Subscripts453890 -Node: Multi-dimensional455518 -Node: Multi-scanning458612 -Node: Arrays of Arrays460203 -Node: Functions464844 -Node: Built-in465663 -Node: Calling Built-in466741 -Node: Numeric Functions468729 -Ref: Numeric Functions-Footnote-1472561 -Ref: Numeric Functions-Footnote-2472918 -Ref: Numeric Functions-Footnote-3472966 -Node: String Functions473235 -Ref: String Functions-Footnote-1496793 -Ref: String Functions-Footnote-2496922 -Ref: String Functions-Footnote-3497170 -Node: Gory Details497257 -Ref: table-sub-escapes498936 -Ref: table-sub-posix-92500290 -Ref: table-sub-proposed501641 -Ref: table-posix-sub502995 -Ref: table-gensub-escapes504540 -Ref: Gory Details-Footnote-1505716 -Ref: Gory Details-Footnote-2505767 -Node: I/O Functions505918 -Ref: I/O Functions-Footnote-1512903 -Node: Time Functions513050 -Ref: Time Functions-Footnote-1523983 -Ref: Time Functions-Footnote-2524051 -Ref: Time Functions-Footnote-3524209 -Ref: Time Functions-Footnote-4524320 -Ref: Time Functions-Footnote-5524432 -Ref: Time Functions-Footnote-6524659 -Node: Bitwise Functions524925 -Ref: table-bitwise-ops525483 -Ref: Bitwise Functions-Footnote-1529704 -Node: Type Functions529888 -Node: I18N Functions531039 -Node: User-defined532666 -Node: Definition Syntax533470 -Ref: Definition Syntax-Footnote-1538380 -Node: Function Example538449 -Node: Function Caveats541043 -Node: Calling A Function541464 -Node: Variable Scope542579 -Node: Pass By Value/Reference545542 -Node: Return Statement549050 -Node: Dynamic Typing552031 -Node: Indirect Calls552962 -Node: Library Functions562647 -Ref: Library Functions-Footnote-1566160 -Ref: Library Functions-Footnote-2566303 -Node: Library Names566474 -Ref: Library Names-Footnote-1569945 -Ref: Library Names-Footnote-2570165 -Node: General Functions570251 -Node: Strtonum Function571279 -Node: Assert Function574209 -Node: Round Function577535 -Node: Cliff Random Function579078 -Node: Ordinal Functions580094 -Ref: Ordinal Functions-Footnote-1583164 -Ref: Ordinal Functions-Footnote-2583416 -Node: Join Function583625 -Ref: Join Function-Footnote-1585396 -Node: Getlocaltime Function585596 -Node: Readfile Function589337 -Node: Data File Management591176 -Node: Filetrans Function591808 -Node: Rewind Function595877 -Node: File Checking597264 -Node: Empty Files598358 -Node: Ignoring Assigns600588 -Node: Getopt Function602141 -Ref: Getopt Function-Footnote-1613445 -Node: Passwd Functions613648 -Ref: Passwd Functions-Footnote-1622623 -Node: Group Functions622711 -Node: Walking Arrays630795 -Node: Sample Programs632932 -Node: Running Examples633606 -Node: Clones634334 -Node: Cut Program635558 -Node: Egrep Program645403 -Ref: Egrep Program-Footnote-1653176 -Node: Id Program653286 -Node: Split Program656902 -Ref: Split Program-Footnote-1660421 -Node: Tee Program660549 -Node: Uniq Program663352 -Node: Wc Program670781 -Ref: Wc Program-Footnote-1675047 -Ref: Wc Program-Footnote-2675247 -Node: Miscellaneous Programs675339 -Node: Dupword Program676527 -Node: Alarm Program678558 -Node: Translate Program683307 -Ref: Translate Program-Footnote-1687694 -Ref: Translate Program-Footnote-2687922 -Node: Labels Program688056 -Ref: Labels Program-Footnote-1691427 -Node: Word Sorting691511 -Node: History Sorting695395 -Node: Extract Program697234 -Ref: Extract Program-Footnote-1704735 -Node: Simple Sed704863 -Node: Igawk Program707925 -Ref: Igawk Program-Footnote-1723082 -Ref: Igawk Program-Footnote-2723283 -Node: Anagram Program723421 -Node: Signature Program726489 -Node: Advanced Features727589 -Node: Nondecimal Data729471 -Node: Array Sorting731054 -Node: Controlling Array Traversal731751 -Node: Array Sorting Functions739989 -Ref: Array Sorting Functions-Footnote-1743663 -Ref: Array Sorting Functions-Footnote-2743756 -Node: Two-way I/O743950 -Ref: Two-way I/O-Footnote-1749382 -Node: TCP/IP Networking749452 -Node: Profiling752296 -Node: Internationalization759793 -Node: I18N and L10N761218 -Node: Explaining gettext761904 -Ref: Explaining gettext-Footnote-1766972 -Ref: Explaining gettext-Footnote-2767156 -Node: Programmer i18n767321 -Node: Translator i18n771523 -Node: String Extraction772316 -Ref: String Extraction-Footnote-1773277 -Node: Printf Ordering773363 -Ref: Printf Ordering-Footnote-1776147 -Node: I18N Portability776211 -Ref: I18N Portability-Footnote-1778660 -Node: I18N Example778723 -Ref: I18N Example-Footnote-1781361 -Node: Gawk I18N781433 -Node: Debugger782054 -Node: Debugging783025 -Node: Debugging Concepts783458 -Node: Debugging Terms785314 -Node: Awk Debugging787911 -Node: Sample Debugging Session788803 -Node: Debugger Invocation789323 -Node: Finding The Bug790655 -Node: List of Debugger Commands797143 -Node: Breakpoint Control798477 -Node: Debugger Execution Control802141 -Node: Viewing And Changing Data805501 -Node: Execution Stack808857 -Node: Debugger Info810324 -Node: Miscellaneous Debugger Commands814306 -Node: Readline Support819482 -Node: Limitations820313 -Node: Arbitrary Precision Arithmetic822565 -Ref: Arbitrary Precision Arithmetic-Footnote-1824216 -Node: General Arithmetic824364 -Node: Floating Point Issues826084 -Node: String Conversion Precision826965 -Ref: String Conversion Precision-Footnote-1828670 -Node: Unexpected Results828779 -Node: POSIX Floating Point Problems830932 -Ref: POSIX Floating Point Problems-Footnote-1834757 -Node: Integer Programming834795 -Node: Floating-point Programming836534 -Ref: Floating-point Programming-Footnote-1842865 -Ref: Floating-point Programming-Footnote-2843135 -Node: Floating-point Representation843399 -Node: Floating-point Context844564 -Ref: table-ieee-formats845403 -Node: Rounding Mode846787 -Ref: table-rounding-modes847266 -Ref: Rounding Mode-Footnote-1850281 -Node: Gawk and MPFR850460 -Node: Arbitrary Precision Floats851715 -Ref: Arbitrary Precision Floats-Footnote-1854158 -Node: Setting Precision854474 -Ref: table-predefined-precision-strings855160 -Node: Setting Rounding Mode857305 -Ref: table-gawk-rounding-modes857709 -Node: Floating-point Constants858896 -Node: Changing Precision860325 -Ref: Changing Precision-Footnote-1861725 -Node: Exact Arithmetic861899 -Node: Arbitrary Precision Integers865037 -Ref: Arbitrary Precision Integers-Footnote-1868055 -Node: Dynamic Extensions868202 -Node: Extension Intro869660 -Node: Plugin License870925 -Node: Extension Mechanism Outline871610 -Ref: load-extension872027 -Ref: load-new-function873505 -Ref: call-new-function874500 -Node: Extension API Description876515 -Node: Extension API Functions Introduction877728 -Node: General Data Types882594 -Ref: General Data Types-Footnote-1888196 -Node: Requesting Values888495 -Ref: table-value-types-returned889226 -Node: Constructor Functions890180 -Node: Registration Functions893200 -Node: Extension Functions893885 -Node: Exit Callback Functions896110 -Node: Extension Version String897359 -Node: Input Parsers898009 -Node: Output Wrappers907766 -Node: Two-way processors912276 -Node: Printing Messages914484 -Ref: Printing Messages-Footnote-1915561 -Node: Updating `ERRNO'915713 -Node: Accessing Parameters916452 -Node: Symbol Table Access917682 -Node: Symbol table by name918194 -Node: Symbol table by cookie919941 -Ref: Symbol table by cookie-Footnote-1924071 -Node: Cached values924134 -Ref: Cached values-Footnote-1927583 -Node: Array Manipulation927674 -Ref: Array Manipulation-Footnote-1928772 -Node: Array Data Types928811 -Ref: Array Data Types-Footnote-1931514 -Node: Array Functions931606 -Node: Flattening Arrays935372 -Node: Creating Arrays942224 -Node: Extension API Variables946949 -Node: Extension Versioning947585 -Node: Extension API Informational Variables949486 -Node: Extension API Boilerplate950572 -Node: Finding Extensions954376 -Node: Extension Example954936 -Node: Internal File Description955667 -Node: Internal File Ops959758 -Ref: Internal File Ops-Footnote-1971266 -Node: Using Internal File Ops971406 -Ref: Using Internal File Ops-Footnote-1973759 -Node: Extension Samples974025 -Node: Extension Sample File Functions975549 -Node: Extension Sample Fnmatch984036 -Node: Extension Sample Fork985762 -Node: Extension Sample Inplace986980 -Node: Extension Sample Ord988758 -Node: Extension Sample Readdir989594 -Node: Extension Sample Revout991126 -Node: Extension Sample Rev2way991719 -Node: Extension Sample Read write array992409 -Node: Extension Sample Readfile994292 -Node: Extension Sample API Tests995110 -Node: Extension Sample Time995635 -Node: gawkextlib996999 -Node: Language History999759 -Node: V7/SVR3.11001281 -Node: SVR41003602 -Node: POSIX1005044 -Node: BTL1006430 -Node: POSIX/GNU1007164 -Node: Common Extensions1012699 -Node: Ranges and Locales1014005 -Ref: Ranges and Locales-Footnote-11018623 -Ref: Ranges and Locales-Footnote-21018650 -Ref: Ranges and Locales-Footnote-31018910 -Node: Contributors1019131 -Node: Installation1024010 -Node: Gawk Distribution1024904 -Node: Getting1025388 -Node: Extracting1026214 -Node: Distribution contents1027906 -Node: Unix Installation1033167 -Node: Quick Installation1033784 -Node: Additional Configuration Options1036228 -Node: Configuration Philosophy1037705 -Node: Non-Unix Installation1040059 -Node: PC Installation1040517 -Node: PC Binary Installation1041816 -Node: PC Compiling1043664 -Node: PC Testing1046608 -Node: PC Using1047784 -Node: Cygwin1051969 -Node: MSYS1052969 -Node: VMS Installation1053483 -Node: VMS Compilation1054086 -Ref: VMS Compilation-Footnote-11055093 -Node: VMS Installation Details1055151 -Node: VMS Running1056786 -Node: VMS Old Gawk1058393 -Node: Bugs1058867 -Node: Other Versions1062719 -Node: Notes1068800 -Node: Compatibility Mode1069600 -Node: Additions1070383 -Node: Accessing The Source1071310 -Node: Adding Code1072750 -Node: New Ports1078795 -Node: Derived Files1082930 -Ref: Derived Files-Footnote-11088251 -Ref: Derived Files-Footnote-21088285 -Ref: Derived Files-Footnote-31088885 -Node: Future Extensions1088983 -Node: Implementation Limitations1089564 -Node: Extension Design1090816 -Node: Old Extension Problems1091970 -Ref: Old Extension Problems-Footnote-11093478 -Node: Extension New Mechanism Goals1093535 -Ref: Extension New Mechanism Goals-Footnote-11096901 -Node: Extension Other Design Decisions1097087 -Node: Extension Future Growth1099193 -Node: Old Extension Mechanism1100029 -Node: Basic Concepts1101769 -Node: Basic High Level1102450 -Ref: figure-general-flow1102721 -Ref: figure-process-flow1103320 -Ref: Basic High Level-Footnote-11106549 -Node: Basic Data Typing1106734 -Node: Glossary1110089 -Node: Copying1135551 -Node: GNU Free Documentation License1173108 -Node: Index1198245 +Ref: Auto-set-Footnote-1426060 +Ref: Auto-set-Footnote-2426265 +Node: ARGC and ARGV426321 +Node: Arrays430172 +Node: Array Basics431677 +Node: Array Intro432503 +Node: Reference to Elements436821 +Node: Assigning Elements439091 +Node: Array Example439582 +Node: Scanning an Array441314 +Node: Controlling Scanning443628 +Ref: Controlling Scanning-Footnote-1448551 +Node: Delete448867 +Ref: Delete-Footnote-1451632 +Node: Numeric Array Subscripts451689 +Node: Uninitialized Subscripts453872 +Node: Multi-dimensional455500 +Node: Multi-scanning458594 +Node: Arrays of Arrays460185 +Node: Functions464826 +Node: Built-in465645 +Node: Calling Built-in466723 +Node: Numeric Functions468711 +Ref: Numeric Functions-Footnote-1472543 +Ref: Numeric Functions-Footnote-2472900 +Ref: Numeric Functions-Footnote-3472948 +Node: String Functions473217 +Ref: String Functions-Footnote-1496775 +Ref: String Functions-Footnote-2496904 +Ref: String Functions-Footnote-3497152 +Node: Gory Details497239 +Ref: table-sub-escapes498918 +Ref: table-sub-posix-92500272 +Ref: table-sub-proposed501623 +Ref: table-posix-sub502977 +Ref: table-gensub-escapes504522 +Ref: Gory Details-Footnote-1505698 +Ref: Gory Details-Footnote-2505749 +Node: I/O Functions505900 +Ref: I/O Functions-Footnote-1512885 +Node: Time Functions513032 +Ref: Time Functions-Footnote-1523965 +Ref: Time Functions-Footnote-2524033 +Ref: Time Functions-Footnote-3524191 +Ref: Time Functions-Footnote-4524302 +Ref: Time Functions-Footnote-5524414 +Ref: Time Functions-Footnote-6524641 +Node: Bitwise Functions524907 +Ref: table-bitwise-ops525465 +Ref: Bitwise Functions-Footnote-1529686 +Node: Type Functions529870 +Node: I18N Functions531021 +Node: User-defined532648 +Node: Definition Syntax533452 +Ref: Definition Syntax-Footnote-1538362 +Node: Function Example538431 +Node: Function Caveats541025 +Node: Calling A Function541446 +Node: Variable Scope542561 +Node: Pass By Value/Reference545524 +Node: Return Statement549032 +Node: Dynamic Typing552013 +Node: Indirect Calls552944 +Node: Library Functions562629 +Ref: Library Functions-Footnote-1566142 +Ref: Library Functions-Footnote-2566285 +Node: Library Names566456 +Ref: Library Names-Footnote-1569927 +Ref: Library Names-Footnote-2570147 +Node: General Functions570233 +Node: Strtonum Function571261 +Node: Assert Function574191 +Node: Round Function577517 +Node: Cliff Random Function579060 +Node: Ordinal Functions580076 +Ref: Ordinal Functions-Footnote-1583146 +Ref: Ordinal Functions-Footnote-2583398 +Node: Join Function583607 +Ref: Join Function-Footnote-1585378 +Node: Getlocaltime Function585578 +Node: Readfile Function589319 +Node: Data File Management591158 +Node: Filetrans Function591790 +Node: Rewind Function595859 +Node: File Checking597246 +Node: Empty Files598340 +Node: Ignoring Assigns600570 +Node: Getopt Function602123 +Ref: Getopt Function-Footnote-1613427 +Node: Passwd Functions613630 +Ref: Passwd Functions-Footnote-1622605 +Node: Group Functions622693 +Node: Walking Arrays630777 +Node: Sample Programs632914 +Node: Running Examples633588 +Node: Clones634316 +Node: Cut Program635540 +Node: Egrep Program645385 +Ref: Egrep Program-Footnote-1653158 +Node: Id Program653268 +Node: Split Program656884 +Ref: Split Program-Footnote-1660403 +Node: Tee Program660531 +Node: Uniq Program663334 +Node: Wc Program670763 +Ref: Wc Program-Footnote-1675029 +Ref: Wc Program-Footnote-2675229 +Node: Miscellaneous Programs675321 +Node: Dupword Program676509 +Node: Alarm Program678540 +Node: Translate Program683289 +Ref: Translate Program-Footnote-1687676 +Ref: Translate Program-Footnote-2687904 +Node: Labels Program688038 +Ref: Labels Program-Footnote-1691409 +Node: Word Sorting691493 +Node: History Sorting695377 +Node: Extract Program697216 +Ref: Extract Program-Footnote-1704717 +Node: Simple Sed704845 +Node: Igawk Program707907 +Ref: Igawk Program-Footnote-1723064 +Ref: Igawk Program-Footnote-2723265 +Node: Anagram Program723403 +Node: Signature Program726471 +Node: Advanced Features727571 +Node: Nondecimal Data729453 +Node: Array Sorting731036 +Node: Controlling Array Traversal731733 +Node: Array Sorting Functions739971 +Ref: Array Sorting Functions-Footnote-1743645 +Ref: Array Sorting Functions-Footnote-2743738 +Node: Two-way I/O743932 +Ref: Two-way I/O-Footnote-1749364 +Node: TCP/IP Networking749434 +Node: Profiling752278 +Node: Internationalization759775 +Node: I18N and L10N761200 +Node: Explaining gettext761886 +Ref: Explaining gettext-Footnote-1766954 +Ref: Explaining gettext-Footnote-2767138 +Node: Programmer i18n767303 +Node: Translator i18n771505 +Node: String Extraction772298 +Ref: String Extraction-Footnote-1773259 +Node: Printf Ordering773345 +Ref: Printf Ordering-Footnote-1776129 +Node: I18N Portability776193 +Ref: I18N Portability-Footnote-1778642 +Node: I18N Example778705 +Ref: I18N Example-Footnote-1781343 +Node: Gawk I18N781415 +Node: Debugger782036 +Node: Debugging783007 +Node: Debugging Concepts783440 +Node: Debugging Terms785296 +Node: Awk Debugging787893 +Node: Sample Debugging Session788785 +Node: Debugger Invocation789305 +Node: Finding The Bug790637 +Node: List of Debugger Commands797125 +Node: Breakpoint Control798459 +Node: Debugger Execution Control802123 +Node: Viewing And Changing Data805483 +Node: Execution Stack808839 +Node: Debugger Info810306 +Node: Miscellaneous Debugger Commands814288 +Node: Readline Support819464 +Node: Limitations820295 +Node: Arbitrary Precision Arithmetic822547 +Ref: Arbitrary Precision Arithmetic-Footnote-1824198 +Node: General Arithmetic824346 +Node: Floating Point Issues826066 +Node: String Conversion Precision826947 +Ref: String Conversion Precision-Footnote-1828652 +Node: Unexpected Results828761 +Node: POSIX Floating Point Problems830914 +Ref: POSIX Floating Point Problems-Footnote-1834739 +Node: Integer Programming834777 +Node: Floating-point Programming836516 +Ref: Floating-point Programming-Footnote-1842847 +Ref: Floating-point Programming-Footnote-2843117 +Node: Floating-point Representation843381 +Node: Floating-point Context844546 +Ref: table-ieee-formats845385 +Node: Rounding Mode846769 +Ref: table-rounding-modes847248 +Ref: Rounding Mode-Footnote-1850263 +Node: Gawk and MPFR850442 +Node: Arbitrary Precision Floats851697 +Ref: Arbitrary Precision Floats-Footnote-1854140 +Node: Setting Precision854456 +Ref: table-predefined-precision-strings855142 +Node: Setting Rounding Mode857287 +Ref: table-gawk-rounding-modes857691 +Node: Floating-point Constants858878 +Node: Changing Precision860307 +Ref: Changing Precision-Footnote-1861707 +Node: Exact Arithmetic861881 +Node: Arbitrary Precision Integers865019 +Ref: Arbitrary Precision Integers-Footnote-1868037 +Node: Dynamic Extensions868184 +Node: Extension Intro869642 +Node: Plugin License870907 +Node: Extension Mechanism Outline871592 +Ref: load-extension872009 +Ref: load-new-function873487 +Ref: call-new-function874482 +Node: Extension API Description876497 +Node: Extension API Functions Introduction877710 +Node: General Data Types882576 +Ref: General Data Types-Footnote-1888178 +Node: Requesting Values888477 +Ref: table-value-types-returned889208 +Node: Constructor Functions890162 +Node: Registration Functions893182 +Node: Extension Functions893867 +Node: Exit Callback Functions896092 +Node: Extension Version String897341 +Node: Input Parsers897991 +Node: Output Wrappers907748 +Node: Two-way processors912258 +Node: Printing Messages914466 +Ref: Printing Messages-Footnote-1915543 +Node: Updating `ERRNO'915695 +Node: Accessing Parameters916434 +Node: Symbol Table Access917664 +Node: Symbol table by name918176 +Node: Symbol table by cookie919923 +Ref: Symbol table by cookie-Footnote-1924053 +Node: Cached values924116 +Ref: Cached values-Footnote-1927565 +Node: Array Manipulation927656 +Ref: Array Manipulation-Footnote-1928754 +Node: Array Data Types928793 +Ref: Array Data Types-Footnote-1931496 +Node: Array Functions931588 +Node: Flattening Arrays935354 +Node: Creating Arrays942206 +Node: Extension API Variables946931 +Node: Extension Versioning947567 +Node: Extension API Informational Variables949468 +Node: Extension API Boilerplate950554 +Node: Finding Extensions954358 +Node: Extension Example954918 +Node: Internal File Description955649 +Node: Internal File Ops959740 +Ref: Internal File Ops-Footnote-1971248 +Node: Using Internal File Ops971388 +Ref: Using Internal File Ops-Footnote-1973741 +Node: Extension Samples974007 +Node: Extension Sample File Functions975531 +Node: Extension Sample Fnmatch984018 +Node: Extension Sample Fork985744 +Node: Extension Sample Inplace986962 +Node: Extension Sample Ord988740 +Node: Extension Sample Readdir989576 +Node: Extension Sample Revout991108 +Node: Extension Sample Rev2way991701 +Node: Extension Sample Read write array992391 +Node: Extension Sample Readfile994274 +Node: Extension Sample API Tests995092 +Node: Extension Sample Time995617 +Node: gawkextlib996981 +Node: Language History999741 +Node: V7/SVR3.11001263 +Node: SVR41003584 +Node: POSIX1005026 +Node: BTL1006412 +Node: POSIX/GNU1007146 +Node: Common Extensions1012681 +Node: Ranges and Locales1013987 +Ref: Ranges and Locales-Footnote-11018605 +Ref: Ranges and Locales-Footnote-21018632 +Ref: Ranges and Locales-Footnote-31018892 +Node: Contributors1019113 +Node: Installation1023992 +Node: Gawk Distribution1024886 +Node: Getting1025370 +Node: Extracting1026196 +Node: Distribution contents1027888 +Node: Unix Installation1033149 +Node: Quick Installation1033766 +Node: Additional Configuration Options1036210 +Node: Configuration Philosophy1037687 +Node: Non-Unix Installation1040041 +Node: PC Installation1040499 +Node: PC Binary Installation1041798 +Node: PC Compiling1043646 +Node: PC Testing1046590 +Node: PC Using1047766 +Node: Cygwin1051951 +Node: MSYS1052951 +Node: VMS Installation1053465 +Node: VMS Compilation1054068 +Ref: VMS Compilation-Footnote-11055075 +Node: VMS Installation Details1055133 +Node: VMS Running1056768 +Node: VMS Old Gawk1058375 +Node: Bugs1058849 +Node: Other Versions1062701 +Node: Notes1068782 +Node: Compatibility Mode1069582 +Node: Additions1070365 +Node: Accessing The Source1071292 +Node: Adding Code1072732 +Node: New Ports1078777 +Node: Derived Files1082912 +Ref: Derived Files-Footnote-11088233 +Ref: Derived Files-Footnote-21088267 +Ref: Derived Files-Footnote-31088867 +Node: Future Extensions1088965 +Node: Implementation Limitations1089546 +Node: Extension Design1090798 +Node: Old Extension Problems1091952 +Ref: Old Extension Problems-Footnote-11093460 +Node: Extension New Mechanism Goals1093517 +Ref: Extension New Mechanism Goals-Footnote-11096883 +Node: Extension Other Design Decisions1097069 +Node: Extension Future Growth1099175 +Node: Old Extension Mechanism1100011 +Node: Basic Concepts1101751 +Node: Basic High Level1102432 +Ref: figure-general-flow1102703 +Ref: figure-process-flow1103302 +Ref: Basic High Level-Footnote-11106531 +Node: Basic Data Typing1106716 +Node: Glossary1110071 +Node: Copying1135533 +Node: GNU Free Documentation License1173090 +Node: Index1198227  End Tag Table -- cgit v1.2.3 From 25520aab6144927a20d501c0396e9597f36fc871 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 24 Oct 2013 22:03:09 +0300 Subject: Improve handling of writes to dead pipes. --- doc/gawk.info | 955 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 483 insertions(+), 472 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 5b3e4ac7..8fc3b2e9 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -2851,10 +2851,6 @@ used by regular users. the `gawk' developers for testing and tuning. They are subject to change. The variables are: -`AVG_CHAIN_MAX' - The average number of items `gawk' will maintain on a hash chain - for managing arrays. - `AWK_HASH' If this variable exists with a value of `gst', `gawk' will switch to using the hash function from GNU Smalltalk for managing arrays. @@ -2866,6 +2862,13 @@ change. The variables are: debugging problems on filesystems on non-POSIX operating systems where I/O is performed in records, not in blocks. +`GAWK_MSG_SRC' + If this variable exists, `gawk' includes the source file name and + line number from which warning and/or fatal messages are + generated. Its purpose is to help isolate the source of a + message, since there can be multiple places which produce the same + warning or error message. + `GAWK_NO_DFA' If this variable exists, `gawk' does not use the DFA regexp matcher for "does it match" kinds of tests. This can cause `gawk' to be @@ -2878,6 +2881,14 @@ change. The variables are: This specifies the amount by which `gawk' should grow its internal evaluation stack, when needed. +`INT_CHAIN_MAX' + The average number of items `gawk' will maintain on a hash chain + for managing arrays indexed by integers. + +`STR_CHAIN_MAX' + The average number of items `gawk' will maintain on a hash chain + for managing arrays indexed by strings. + `TIDYMEM' If this variable exists, `gawk' uses the `mtrace()' library calls from GNU LIBC to help track down possible memory leaks. @@ -32213,473 +32224,473 @@ Node: AWKPATH Variable130128 Ref: AWKPATH Variable-Footnote-1132886 Node: AWKLIBPATH Variable133146 Node: Other Environment Variables133864 -Node: Exit Status136359 -Node: Include Files137034 -Node: Loading Shared Libraries140603 -Node: Obsolete141967 -Node: Undocumented142664 -Node: Regexp142907 -Node: Regexp Usage144296 -Node: Escape Sequences146322 -Node: Regexp Operators151991 -Ref: Regexp Operators-Footnote-1159371 -Ref: Regexp Operators-Footnote-2159518 -Node: Bracket Expressions159616 -Ref: table-char-classes161506 -Node: GNU Regexp Operators164029 -Node: Case-sensitivity167752 -Ref: Case-sensitivity-Footnote-1170720 -Ref: Case-sensitivity-Footnote-2170955 -Node: Leftmost Longest171063 -Node: Computed Regexps172264 -Node: Reading Files175601 -Node: Records177604 -Ref: Records-Footnote-1186493 -Node: Fields186530 -Ref: Fields-Footnote-1189563 -Node: Nonconstant Fields189649 -Node: Changing Fields191851 -Node: Field Separators197810 -Node: Default Field Splitting200439 -Node: Regexp Field Splitting201556 -Node: Single Character Fields204898 -Node: Command Line Field Separator205957 -Node: Field Splitting Summary209398 -Ref: Field Splitting Summary-Footnote-1212509 -Node: Constant Size212610 -Node: Splitting By Content217194 -Ref: Splitting By Content-Footnote-1220920 -Node: Multiple Line220960 -Ref: Multiple Line-Footnote-1226807 -Node: Getline226986 -Node: Plain Getline229202 -Node: Getline/Variable231297 -Node: Getline/File232444 -Node: Getline/Variable/File233785 -Ref: Getline/Variable/File-Footnote-1235384 -Node: Getline/Pipe235471 -Node: Getline/Variable/Pipe238171 -Node: Getline/Coprocess239278 -Node: Getline/Variable/Coprocess240530 -Node: Getline Notes241267 -Node: Getline Summary244054 -Ref: table-getline-variants244462 -Node: Read Timeout245374 -Ref: Read Timeout-Footnote-1249115 -Node: Command line directories249172 -Node: Printing249802 -Node: Print251433 -Node: Print Examples252770 -Node: Output Separators255554 -Node: OFMT257314 -Node: Printf258672 -Node: Basic Printf259578 -Node: Control Letters261117 -Node: Format Modifiers264929 -Node: Printf Examples270938 -Node: Redirection273653 -Node: Special Files280618 -Node: Special FD281151 -Ref: Special FD-Footnote-1284776 -Node: Special Network284850 -Node: Special Caveats285700 -Node: Close Files And Pipes286496 -Ref: Close Files And Pipes-Footnote-1293479 -Ref: Close Files And Pipes-Footnote-2293627 -Node: Expressions293777 -Node: Values294909 -Node: Constants295585 -Node: Scalar Constants296265 -Ref: Scalar Constants-Footnote-1297124 -Node: Nondecimal-numbers297306 -Node: Regexp Constants300306 -Node: Using Constant Regexps300781 -Node: Variables303836 -Node: Using Variables304491 -Node: Assignment Options306215 -Node: Conversion308087 -Ref: table-locale-affects313588 -Ref: Conversion-Footnote-1314212 -Node: All Operators314321 -Node: Arithmetic Ops314951 -Node: Concatenation317456 -Ref: Concatenation-Footnote-1320249 -Node: Assignment Ops320369 -Ref: table-assign-ops325357 -Node: Increment Ops326688 -Node: Truth Values and Conditions330123 -Node: Truth Values331206 -Node: Typing and Comparison332255 -Node: Variable Typing333044 -Ref: Variable Typing-Footnote-1336941 -Node: Comparison Operators337063 -Ref: table-relational-ops337473 -Node: POSIX String Comparison341022 -Ref: POSIX String Comparison-Footnote-1341978 -Node: Boolean Ops342116 -Ref: Boolean Ops-Footnote-1346194 -Node: Conditional Exp346285 -Node: Function Calls348017 -Node: Precedence351611 -Node: Locales355280 -Node: Patterns and Actions356369 -Node: Pattern Overview357423 -Node: Regexp Patterns359092 -Node: Expression Patterns359635 -Node: Ranges363320 -Node: BEGIN/END366286 -Node: Using BEGIN/END367048 -Ref: Using BEGIN/END-Footnote-1369779 -Node: I/O And BEGIN/END369885 -Node: BEGINFILE/ENDFILE372167 -Node: Empty375081 -Node: Using Shell Variables375397 -Node: Action Overview377682 -Node: Statements380039 -Node: If Statement381893 -Node: While Statement383392 -Node: Do Statement385436 -Node: For Statement386592 -Node: Switch Statement389744 -Node: Break Statement391841 -Node: Continue Statement393831 -Node: Next Statement395624 -Node: Nextfile Statement398014 -Node: Exit Statement400657 -Node: Built-in Variables403073 -Node: User-modified404168 -Ref: User-modified-Footnote-1412528 -Node: Auto-set412590 -Ref: Auto-set-Footnote-1425668 -Ref: Auto-set-Footnote-2425873 -Node: ARGC and ARGV425929 -Node: Arrays429780 -Node: Array Basics431285 -Node: Array Intro432111 -Node: Reference to Elements436429 -Node: Assigning Elements438699 -Node: Array Example439190 -Node: Scanning an Array440922 -Node: Controlling Scanning443236 -Ref: Controlling Scanning-Footnote-1448159 -Node: Delete448475 -Ref: Delete-Footnote-1451240 -Node: Numeric Array Subscripts451297 -Node: Uninitialized Subscripts453480 -Node: Multi-dimensional455108 -Node: Multi-scanning458202 -Node: Arrays of Arrays459793 -Node: Functions464434 -Node: Built-in465253 -Node: Calling Built-in466331 -Node: Numeric Functions468319 -Ref: Numeric Functions-Footnote-1472151 -Ref: Numeric Functions-Footnote-2472508 -Ref: Numeric Functions-Footnote-3472556 -Node: String Functions472825 -Ref: String Functions-Footnote-1496383 -Ref: String Functions-Footnote-2496512 -Ref: String Functions-Footnote-3496760 -Node: Gory Details496847 -Ref: table-sub-escapes498526 -Ref: table-sub-posix-92499880 -Ref: table-sub-proposed501231 -Ref: table-posix-sub502585 -Ref: table-gensub-escapes504130 -Ref: Gory Details-Footnote-1505306 -Ref: Gory Details-Footnote-2505357 -Node: I/O Functions505508 -Ref: I/O Functions-Footnote-1512493 -Node: Time Functions512640 -Ref: Time Functions-Footnote-1523573 -Ref: Time Functions-Footnote-2523641 -Ref: Time Functions-Footnote-3523799 -Ref: Time Functions-Footnote-4523910 -Ref: Time Functions-Footnote-5524022 -Ref: Time Functions-Footnote-6524249 -Node: Bitwise Functions524515 -Ref: table-bitwise-ops525073 -Ref: Bitwise Functions-Footnote-1529294 -Node: Type Functions529478 -Node: I18N Functions530629 -Node: User-defined532256 -Node: Definition Syntax533060 -Ref: Definition Syntax-Footnote-1537970 -Node: Function Example538039 -Node: Function Caveats540633 -Node: Calling A Function541054 -Node: Variable Scope542169 -Node: Pass By Value/Reference545132 -Node: Return Statement548640 -Node: Dynamic Typing551621 -Node: Indirect Calls552552 -Node: Library Functions562237 -Ref: Library Functions-Footnote-1565750 -Ref: Library Functions-Footnote-2565893 -Node: Library Names566064 -Ref: Library Names-Footnote-1569535 -Ref: Library Names-Footnote-2569755 -Node: General Functions569841 -Node: Strtonum Function570869 -Node: Assert Function573799 -Node: Round Function577125 -Node: Cliff Random Function578668 -Node: Ordinal Functions579684 -Ref: Ordinal Functions-Footnote-1582754 -Ref: Ordinal Functions-Footnote-2583006 -Node: Join Function583215 -Ref: Join Function-Footnote-1584986 -Node: Getlocaltime Function585186 -Node: Readfile Function588927 -Node: Data File Management590766 -Node: Filetrans Function591398 -Node: Rewind Function595467 -Node: File Checking596854 -Node: Empty Files597948 -Node: Ignoring Assigns600178 -Node: Getopt Function601731 -Ref: Getopt Function-Footnote-1613035 -Node: Passwd Functions613238 -Ref: Passwd Functions-Footnote-1622213 -Node: Group Functions622301 -Node: Walking Arrays630385 -Node: Sample Programs632522 -Node: Running Examples633196 -Node: Clones633924 -Node: Cut Program635148 -Node: Egrep Program644993 -Ref: Egrep Program-Footnote-1652766 -Node: Id Program652876 -Node: Split Program656492 -Ref: Split Program-Footnote-1660011 -Node: Tee Program660139 -Node: Uniq Program662942 -Node: Wc Program670371 -Ref: Wc Program-Footnote-1674637 -Ref: Wc Program-Footnote-2674837 -Node: Miscellaneous Programs674929 -Node: Dupword Program676117 -Node: Alarm Program678148 -Node: Translate Program682897 -Ref: Translate Program-Footnote-1687284 -Ref: Translate Program-Footnote-2687512 -Node: Labels Program687646 -Ref: Labels Program-Footnote-1691017 -Node: Word Sorting691101 -Node: History Sorting694985 -Node: Extract Program696824 -Ref: Extract Program-Footnote-1704325 -Node: Simple Sed704453 -Node: Igawk Program707515 -Ref: Igawk Program-Footnote-1722672 -Ref: Igawk Program-Footnote-2722873 -Node: Anagram Program723011 -Node: Signature Program726079 -Node: Advanced Features727179 -Node: Nondecimal Data729061 -Node: Array Sorting730644 -Node: Controlling Array Traversal731341 -Node: Array Sorting Functions739579 -Ref: Array Sorting Functions-Footnote-1743253 -Ref: Array Sorting Functions-Footnote-2743346 -Node: Two-way I/O743540 -Ref: Two-way I/O-Footnote-1748972 -Node: TCP/IP Networking749042 -Node: Profiling751886 -Node: Internationalization759383 -Node: I18N and L10N760808 -Node: Explaining gettext761494 -Ref: Explaining gettext-Footnote-1766562 -Ref: Explaining gettext-Footnote-2766746 -Node: Programmer i18n766911 -Node: Translator i18n771113 -Node: String Extraction771906 -Ref: String Extraction-Footnote-1772867 -Node: Printf Ordering772953 -Ref: Printf Ordering-Footnote-1775737 -Node: I18N Portability775801 -Ref: I18N Portability-Footnote-1778250 -Node: I18N Example778313 -Ref: I18N Example-Footnote-1780951 -Node: Gawk I18N781023 -Node: Debugger781644 -Node: Debugging782615 -Node: Debugging Concepts783048 -Node: Debugging Terms784904 -Node: Awk Debugging787501 -Node: Sample Debugging Session788393 -Node: Debugger Invocation788913 -Node: Finding The Bug790245 -Node: List of Debugger Commands796733 -Node: Breakpoint Control798067 -Node: Debugger Execution Control801731 -Node: Viewing And Changing Data805091 -Node: Execution Stack808447 -Node: Debugger Info809914 -Node: Miscellaneous Debugger Commands813896 -Node: Readline Support819072 -Node: Limitations819903 -Node: Arbitrary Precision Arithmetic822155 -Ref: Arbitrary Precision Arithmetic-Footnote-1823806 -Node: General Arithmetic823954 -Node: Floating Point Issues825674 -Node: String Conversion Precision826555 -Ref: String Conversion Precision-Footnote-1828260 -Node: Unexpected Results828369 -Node: POSIX Floating Point Problems830522 -Ref: POSIX Floating Point Problems-Footnote-1834347 -Node: Integer Programming834385 -Node: Floating-point Programming836124 -Ref: Floating-point Programming-Footnote-1842455 -Ref: Floating-point Programming-Footnote-2842725 -Node: Floating-point Representation842989 -Node: Floating-point Context844154 -Ref: table-ieee-formats844993 -Node: Rounding Mode846377 -Ref: table-rounding-modes846856 -Ref: Rounding Mode-Footnote-1849871 -Node: Gawk and MPFR850050 -Node: Arbitrary Precision Floats851305 -Ref: Arbitrary Precision Floats-Footnote-1853748 -Node: Setting Precision854064 -Ref: table-predefined-precision-strings854750 -Node: Setting Rounding Mode856895 -Ref: table-gawk-rounding-modes857299 -Node: Floating-point Constants858486 -Node: Changing Precision859915 -Ref: Changing Precision-Footnote-1861315 -Node: Exact Arithmetic861489 -Node: Arbitrary Precision Integers864627 -Ref: Arbitrary Precision Integers-Footnote-1867645 -Node: Dynamic Extensions867792 -Node: Extension Intro869250 -Node: Plugin License870515 -Node: Extension Mechanism Outline871200 -Ref: load-extension871617 -Ref: load-new-function873095 -Ref: call-new-function874090 -Node: Extension API Description876105 -Node: Extension API Functions Introduction877318 -Node: General Data Types882184 -Ref: General Data Types-Footnote-1887786 -Node: Requesting Values888085 -Ref: table-value-types-returned888816 -Node: Constructor Functions889770 -Node: Registration Functions892790 -Node: Extension Functions893475 -Node: Exit Callback Functions895700 -Node: Extension Version String896949 -Node: Input Parsers897599 -Node: Output Wrappers907356 -Node: Two-way processors911866 -Node: Printing Messages914074 -Ref: Printing Messages-Footnote-1915151 -Node: Updating `ERRNO'915303 -Node: Accessing Parameters916042 -Node: Symbol Table Access917272 -Node: Symbol table by name917784 -Node: Symbol table by cookie919531 -Ref: Symbol table by cookie-Footnote-1923661 -Node: Cached values923724 -Ref: Cached values-Footnote-1927173 -Node: Array Manipulation927264 -Ref: Array Manipulation-Footnote-1928362 -Node: Array Data Types928401 -Ref: Array Data Types-Footnote-1931104 -Node: Array Functions931196 -Node: Flattening Arrays934962 -Node: Creating Arrays941814 -Node: Extension API Variables946539 -Node: Extension Versioning947175 -Node: Extension API Informational Variables949076 -Node: Extension API Boilerplate950162 -Node: Finding Extensions953966 -Node: Extension Example954526 -Node: Internal File Description955257 -Node: Internal File Ops959348 -Ref: Internal File Ops-Footnote-1970856 -Node: Using Internal File Ops970996 -Ref: Using Internal File Ops-Footnote-1973349 -Node: Extension Samples973615 -Node: Extension Sample File Functions975139 -Node: Extension Sample Fnmatch983626 -Node: Extension Sample Fork985352 -Node: Extension Sample Inplace986570 -Node: Extension Sample Ord988348 -Node: Extension Sample Readdir989184 -Node: Extension Sample Revout990716 -Node: Extension Sample Rev2way991309 -Node: Extension Sample Read write array991999 -Node: Extension Sample Readfile993882 -Node: Extension Sample API Tests994700 -Node: Extension Sample Time995225 -Node: gawkextlib996589 -Node: Language History999349 -Node: V7/SVR3.11000871 -Node: SVR41003192 -Node: POSIX1004634 -Node: BTL1006020 -Node: POSIX/GNU1006754 -Node: Common Extensions1012289 -Node: Ranges and Locales1013595 -Ref: Ranges and Locales-Footnote-11018213 -Ref: Ranges and Locales-Footnote-21018240 -Ref: Ranges and Locales-Footnote-31018500 -Node: Contributors1018721 -Node: Installation1023600 -Node: Gawk Distribution1024494 -Node: Getting1024978 -Node: Extracting1025804 -Node: Distribution contents1027496 -Node: Unix Installation1032757 -Node: Quick Installation1033374 -Node: Additional Configuration Options1035818 -Node: Configuration Philosophy1037295 -Node: Non-Unix Installation1039649 -Node: PC Installation1040107 -Node: PC Binary Installation1041406 -Node: PC Compiling1043254 -Node: PC Testing1046198 -Node: PC Using1047374 -Node: Cygwin1051559 -Node: MSYS1052559 -Node: VMS Installation1053073 -Node: VMS Compilation1053676 -Ref: VMS Compilation-Footnote-11054683 -Node: VMS Installation Details1054741 -Node: VMS Running1056376 -Node: VMS Old Gawk1057983 -Node: Bugs1058457 -Node: Other Versions1062309 -Node: Notes1068390 -Node: Compatibility Mode1069190 -Node: Additions1069973 -Node: Accessing The Source1070900 -Node: Adding Code1072340 -Node: New Ports1078385 -Node: Derived Files1082520 -Ref: Derived Files-Footnote-11087841 -Ref: Derived Files-Footnote-21087875 -Ref: Derived Files-Footnote-31088475 -Node: Future Extensions1088573 -Node: Implementation Limitations1089154 -Node: Extension Design1090406 -Node: Old Extension Problems1091560 -Ref: Old Extension Problems-Footnote-11093068 -Node: Extension New Mechanism Goals1093125 -Ref: Extension New Mechanism Goals-Footnote-11096491 -Node: Extension Other Design Decisions1096677 -Node: Extension Future Growth1098783 -Node: Old Extension Mechanism1099619 -Node: Basic Concepts1101359 -Node: Basic High Level1102040 -Ref: figure-general-flow1102311 -Ref: figure-process-flow1102910 -Ref: Basic High Level-Footnote-11106139 -Node: Basic Data Typing1106324 -Node: Glossary1109679 -Node: Copying1135141 -Node: GNU Free Documentation License1172698 -Node: Index1197835 +Node: Exit Status136827 +Node: Include Files137502 +Node: Loading Shared Libraries141071 +Node: Obsolete142435 +Node: Undocumented143132 +Node: Regexp143375 +Node: Regexp Usage144764 +Node: Escape Sequences146790 +Node: Regexp Operators152459 +Ref: Regexp Operators-Footnote-1159839 +Ref: Regexp Operators-Footnote-2159986 +Node: Bracket Expressions160084 +Ref: table-char-classes161974 +Node: GNU Regexp Operators164497 +Node: Case-sensitivity168220 +Ref: Case-sensitivity-Footnote-1171188 +Ref: Case-sensitivity-Footnote-2171423 +Node: Leftmost Longest171531 +Node: Computed Regexps172732 +Node: Reading Files176069 +Node: Records178072 +Ref: Records-Footnote-1186961 +Node: Fields186998 +Ref: Fields-Footnote-1190031 +Node: Nonconstant Fields190117 +Node: Changing Fields192319 +Node: Field Separators198278 +Node: Default Field Splitting200907 +Node: Regexp Field Splitting202024 +Node: Single Character Fields205366 +Node: Command Line Field Separator206425 +Node: Field Splitting Summary209866 +Ref: Field Splitting Summary-Footnote-1212977 +Node: Constant Size213078 +Node: Splitting By Content217662 +Ref: Splitting By Content-Footnote-1221388 +Node: Multiple Line221428 +Ref: Multiple Line-Footnote-1227275 +Node: Getline227454 +Node: Plain Getline229670 +Node: Getline/Variable231765 +Node: Getline/File232912 +Node: Getline/Variable/File234253 +Ref: Getline/Variable/File-Footnote-1235852 +Node: Getline/Pipe235939 +Node: Getline/Variable/Pipe238639 +Node: Getline/Coprocess239746 +Node: Getline/Variable/Coprocess240998 +Node: Getline Notes241735 +Node: Getline Summary244522 +Ref: table-getline-variants244930 +Node: Read Timeout245842 +Ref: Read Timeout-Footnote-1249583 +Node: Command line directories249640 +Node: Printing250270 +Node: Print251901 +Node: Print Examples253238 +Node: Output Separators256022 +Node: OFMT257782 +Node: Printf259140 +Node: Basic Printf260046 +Node: Control Letters261585 +Node: Format Modifiers265397 +Node: Printf Examples271406 +Node: Redirection274121 +Node: Special Files281086 +Node: Special FD281619 +Ref: Special FD-Footnote-1285244 +Node: Special Network285318 +Node: Special Caveats286168 +Node: Close Files And Pipes286964 +Ref: Close Files And Pipes-Footnote-1293947 +Ref: Close Files And Pipes-Footnote-2294095 +Node: Expressions294245 +Node: Values295377 +Node: Constants296053 +Node: Scalar Constants296733 +Ref: Scalar Constants-Footnote-1297592 +Node: Nondecimal-numbers297774 +Node: Regexp Constants300774 +Node: Using Constant Regexps301249 +Node: Variables304304 +Node: Using Variables304959 +Node: Assignment Options306683 +Node: Conversion308555 +Ref: table-locale-affects314056 +Ref: Conversion-Footnote-1314680 +Node: All Operators314789 +Node: Arithmetic Ops315419 +Node: Concatenation317924 +Ref: Concatenation-Footnote-1320717 +Node: Assignment Ops320837 +Ref: table-assign-ops325825 +Node: Increment Ops327156 +Node: Truth Values and Conditions330591 +Node: Truth Values331674 +Node: Typing and Comparison332723 +Node: Variable Typing333512 +Ref: Variable Typing-Footnote-1337409 +Node: Comparison Operators337531 +Ref: table-relational-ops337941 +Node: POSIX String Comparison341490 +Ref: POSIX String Comparison-Footnote-1342446 +Node: Boolean Ops342584 +Ref: Boolean Ops-Footnote-1346662 +Node: Conditional Exp346753 +Node: Function Calls348485 +Node: Precedence352079 +Node: Locales355748 +Node: Patterns and Actions356837 +Node: Pattern Overview357891 +Node: Regexp Patterns359560 +Node: Expression Patterns360103 +Node: Ranges363788 +Node: BEGIN/END366754 +Node: Using BEGIN/END367516 +Ref: Using BEGIN/END-Footnote-1370247 +Node: I/O And BEGIN/END370353 +Node: BEGINFILE/ENDFILE372635 +Node: Empty375549 +Node: Using Shell Variables375865 +Node: Action Overview378150 +Node: Statements380507 +Node: If Statement382361 +Node: While Statement383860 +Node: Do Statement385904 +Node: For Statement387060 +Node: Switch Statement390212 +Node: Break Statement392309 +Node: Continue Statement394299 +Node: Next Statement396092 +Node: Nextfile Statement398482 +Node: Exit Statement401125 +Node: Built-in Variables403541 +Node: User-modified404636 +Ref: User-modified-Footnote-1412996 +Node: Auto-set413058 +Ref: Auto-set-Footnote-1426136 +Ref: Auto-set-Footnote-2426341 +Node: ARGC and ARGV426397 +Node: Arrays430248 +Node: Array Basics431753 +Node: Array Intro432579 +Node: Reference to Elements436897 +Node: Assigning Elements439167 +Node: Array Example439658 +Node: Scanning an Array441390 +Node: Controlling Scanning443704 +Ref: Controlling Scanning-Footnote-1448627 +Node: Delete448943 +Ref: Delete-Footnote-1451708 +Node: Numeric Array Subscripts451765 +Node: Uninitialized Subscripts453948 +Node: Multi-dimensional455576 +Node: Multi-scanning458670 +Node: Arrays of Arrays460261 +Node: Functions464902 +Node: Built-in465721 +Node: Calling Built-in466799 +Node: Numeric Functions468787 +Ref: Numeric Functions-Footnote-1472619 +Ref: Numeric Functions-Footnote-2472976 +Ref: Numeric Functions-Footnote-3473024 +Node: String Functions473293 +Ref: String Functions-Footnote-1496851 +Ref: String Functions-Footnote-2496980 +Ref: String Functions-Footnote-3497228 +Node: Gory Details497315 +Ref: table-sub-escapes498994 +Ref: table-sub-posix-92500348 +Ref: table-sub-proposed501699 +Ref: table-posix-sub503053 +Ref: table-gensub-escapes504598 +Ref: Gory Details-Footnote-1505774 +Ref: Gory Details-Footnote-2505825 +Node: I/O Functions505976 +Ref: I/O Functions-Footnote-1512961 +Node: Time Functions513108 +Ref: Time Functions-Footnote-1524041 +Ref: Time Functions-Footnote-2524109 +Ref: Time Functions-Footnote-3524267 +Ref: Time Functions-Footnote-4524378 +Ref: Time Functions-Footnote-5524490 +Ref: Time Functions-Footnote-6524717 +Node: Bitwise Functions524983 +Ref: table-bitwise-ops525541 +Ref: Bitwise Functions-Footnote-1529762 +Node: Type Functions529946 +Node: I18N Functions531097 +Node: User-defined532724 +Node: Definition Syntax533528 +Ref: Definition Syntax-Footnote-1538438 +Node: Function Example538507 +Node: Function Caveats541101 +Node: Calling A Function541522 +Node: Variable Scope542637 +Node: Pass By Value/Reference545600 +Node: Return Statement549108 +Node: Dynamic Typing552089 +Node: Indirect Calls553020 +Node: Library Functions562705 +Ref: Library Functions-Footnote-1566218 +Ref: Library Functions-Footnote-2566361 +Node: Library Names566532 +Ref: Library Names-Footnote-1570003 +Ref: Library Names-Footnote-2570223 +Node: General Functions570309 +Node: Strtonum Function571337 +Node: Assert Function574267 +Node: Round Function577593 +Node: Cliff Random Function579136 +Node: Ordinal Functions580152 +Ref: Ordinal Functions-Footnote-1583222 +Ref: Ordinal Functions-Footnote-2583474 +Node: Join Function583683 +Ref: Join Function-Footnote-1585454 +Node: Getlocaltime Function585654 +Node: Readfile Function589395 +Node: Data File Management591234 +Node: Filetrans Function591866 +Node: Rewind Function595935 +Node: File Checking597322 +Node: Empty Files598416 +Node: Ignoring Assigns600646 +Node: Getopt Function602199 +Ref: Getopt Function-Footnote-1613503 +Node: Passwd Functions613706 +Ref: Passwd Functions-Footnote-1622681 +Node: Group Functions622769 +Node: Walking Arrays630853 +Node: Sample Programs632990 +Node: Running Examples633664 +Node: Clones634392 +Node: Cut Program635616 +Node: Egrep Program645461 +Ref: Egrep Program-Footnote-1653234 +Node: Id Program653344 +Node: Split Program656960 +Ref: Split Program-Footnote-1660479 +Node: Tee Program660607 +Node: Uniq Program663410 +Node: Wc Program670839 +Ref: Wc Program-Footnote-1675105 +Ref: Wc Program-Footnote-2675305 +Node: Miscellaneous Programs675397 +Node: Dupword Program676585 +Node: Alarm Program678616 +Node: Translate Program683365 +Ref: Translate Program-Footnote-1687752 +Ref: Translate Program-Footnote-2687980 +Node: Labels Program688114 +Ref: Labels Program-Footnote-1691485 +Node: Word Sorting691569 +Node: History Sorting695453 +Node: Extract Program697292 +Ref: Extract Program-Footnote-1704793 +Node: Simple Sed704921 +Node: Igawk Program707983 +Ref: Igawk Program-Footnote-1723140 +Ref: Igawk Program-Footnote-2723341 +Node: Anagram Program723479 +Node: Signature Program726547 +Node: Advanced Features727647 +Node: Nondecimal Data729529 +Node: Array Sorting731112 +Node: Controlling Array Traversal731809 +Node: Array Sorting Functions740047 +Ref: Array Sorting Functions-Footnote-1743721 +Ref: Array Sorting Functions-Footnote-2743814 +Node: Two-way I/O744008 +Ref: Two-way I/O-Footnote-1749440 +Node: TCP/IP Networking749510 +Node: Profiling752354 +Node: Internationalization759851 +Node: I18N and L10N761276 +Node: Explaining gettext761962 +Ref: Explaining gettext-Footnote-1767030 +Ref: Explaining gettext-Footnote-2767214 +Node: Programmer i18n767379 +Node: Translator i18n771581 +Node: String Extraction772374 +Ref: String Extraction-Footnote-1773335 +Node: Printf Ordering773421 +Ref: Printf Ordering-Footnote-1776205 +Node: I18N Portability776269 +Ref: I18N Portability-Footnote-1778718 +Node: I18N Example778781 +Ref: I18N Example-Footnote-1781419 +Node: Gawk I18N781491 +Node: Debugger782112 +Node: Debugging783083 +Node: Debugging Concepts783516 +Node: Debugging Terms785372 +Node: Awk Debugging787969 +Node: Sample Debugging Session788861 +Node: Debugger Invocation789381 +Node: Finding The Bug790713 +Node: List of Debugger Commands797201 +Node: Breakpoint Control798535 +Node: Debugger Execution Control802199 +Node: Viewing And Changing Data805559 +Node: Execution Stack808915 +Node: Debugger Info810382 +Node: Miscellaneous Debugger Commands814364 +Node: Readline Support819540 +Node: Limitations820371 +Node: Arbitrary Precision Arithmetic822623 +Ref: Arbitrary Precision Arithmetic-Footnote-1824274 +Node: General Arithmetic824422 +Node: Floating Point Issues826142 +Node: String Conversion Precision827023 +Ref: String Conversion Precision-Footnote-1828728 +Node: Unexpected Results828837 +Node: POSIX Floating Point Problems830990 +Ref: POSIX Floating Point Problems-Footnote-1834815 +Node: Integer Programming834853 +Node: Floating-point Programming836592 +Ref: Floating-point Programming-Footnote-1842923 +Ref: Floating-point Programming-Footnote-2843193 +Node: Floating-point Representation843457 +Node: Floating-point Context844622 +Ref: table-ieee-formats845461 +Node: Rounding Mode846845 +Ref: table-rounding-modes847324 +Ref: Rounding Mode-Footnote-1850339 +Node: Gawk and MPFR850518 +Node: Arbitrary Precision Floats851773 +Ref: Arbitrary Precision Floats-Footnote-1854216 +Node: Setting Precision854532 +Ref: table-predefined-precision-strings855218 +Node: Setting Rounding Mode857363 +Ref: table-gawk-rounding-modes857767 +Node: Floating-point Constants858954 +Node: Changing Precision860383 +Ref: Changing Precision-Footnote-1861783 +Node: Exact Arithmetic861957 +Node: Arbitrary Precision Integers865095 +Ref: Arbitrary Precision Integers-Footnote-1868113 +Node: Dynamic Extensions868260 +Node: Extension Intro869718 +Node: Plugin License870983 +Node: Extension Mechanism Outline871668 +Ref: load-extension872085 +Ref: load-new-function873563 +Ref: call-new-function874558 +Node: Extension API Description876573 +Node: Extension API Functions Introduction877786 +Node: General Data Types882652 +Ref: General Data Types-Footnote-1888254 +Node: Requesting Values888553 +Ref: table-value-types-returned889284 +Node: Constructor Functions890238 +Node: Registration Functions893258 +Node: Extension Functions893943 +Node: Exit Callback Functions896168 +Node: Extension Version String897417 +Node: Input Parsers898067 +Node: Output Wrappers907824 +Node: Two-way processors912334 +Node: Printing Messages914542 +Ref: Printing Messages-Footnote-1915619 +Node: Updating `ERRNO'915771 +Node: Accessing Parameters916510 +Node: Symbol Table Access917740 +Node: Symbol table by name918252 +Node: Symbol table by cookie919999 +Ref: Symbol table by cookie-Footnote-1924129 +Node: Cached values924192 +Ref: Cached values-Footnote-1927641 +Node: Array Manipulation927732 +Ref: Array Manipulation-Footnote-1928830 +Node: Array Data Types928869 +Ref: Array Data Types-Footnote-1931572 +Node: Array Functions931664 +Node: Flattening Arrays935430 +Node: Creating Arrays942282 +Node: Extension API Variables947007 +Node: Extension Versioning947643 +Node: Extension API Informational Variables949544 +Node: Extension API Boilerplate950630 +Node: Finding Extensions954434 +Node: Extension Example954994 +Node: Internal File Description955725 +Node: Internal File Ops959816 +Ref: Internal File Ops-Footnote-1971324 +Node: Using Internal File Ops971464 +Ref: Using Internal File Ops-Footnote-1973817 +Node: Extension Samples974083 +Node: Extension Sample File Functions975607 +Node: Extension Sample Fnmatch984094 +Node: Extension Sample Fork985820 +Node: Extension Sample Inplace987038 +Node: Extension Sample Ord988816 +Node: Extension Sample Readdir989652 +Node: Extension Sample Revout991184 +Node: Extension Sample Rev2way991777 +Node: Extension Sample Read write array992467 +Node: Extension Sample Readfile994350 +Node: Extension Sample API Tests995168 +Node: Extension Sample Time995693 +Node: gawkextlib997057 +Node: Language History999817 +Node: V7/SVR3.11001339 +Node: SVR41003660 +Node: POSIX1005102 +Node: BTL1006488 +Node: POSIX/GNU1007222 +Node: Common Extensions1012757 +Node: Ranges and Locales1014063 +Ref: Ranges and Locales-Footnote-11018681 +Ref: Ranges and Locales-Footnote-21018708 +Ref: Ranges and Locales-Footnote-31018968 +Node: Contributors1019189 +Node: Installation1024068 +Node: Gawk Distribution1024962 +Node: Getting1025446 +Node: Extracting1026272 +Node: Distribution contents1027964 +Node: Unix Installation1033225 +Node: Quick Installation1033842 +Node: Additional Configuration Options1036286 +Node: Configuration Philosophy1037763 +Node: Non-Unix Installation1040117 +Node: PC Installation1040575 +Node: PC Binary Installation1041874 +Node: PC Compiling1043722 +Node: PC Testing1046666 +Node: PC Using1047842 +Node: Cygwin1052027 +Node: MSYS1053027 +Node: VMS Installation1053541 +Node: VMS Compilation1054144 +Ref: VMS Compilation-Footnote-11055151 +Node: VMS Installation Details1055209 +Node: VMS Running1056844 +Node: VMS Old Gawk1058451 +Node: Bugs1058925 +Node: Other Versions1062777 +Node: Notes1068858 +Node: Compatibility Mode1069658 +Node: Additions1070441 +Node: Accessing The Source1071368 +Node: Adding Code1072808 +Node: New Ports1078853 +Node: Derived Files1082988 +Ref: Derived Files-Footnote-11088309 +Ref: Derived Files-Footnote-21088343 +Ref: Derived Files-Footnote-31088943 +Node: Future Extensions1089041 +Node: Implementation Limitations1089622 +Node: Extension Design1090874 +Node: Old Extension Problems1092028 +Ref: Old Extension Problems-Footnote-11093536 +Node: Extension New Mechanism Goals1093593 +Ref: Extension New Mechanism Goals-Footnote-11096959 +Node: Extension Other Design Decisions1097145 +Node: Extension Future Growth1099251 +Node: Old Extension Mechanism1100087 +Node: Basic Concepts1101827 +Node: Basic High Level1102508 +Ref: figure-general-flow1102779 +Ref: figure-process-flow1103378 +Ref: Basic High Level-Footnote-11106607 +Node: Basic Data Typing1106792 +Node: Glossary1110147 +Node: Copying1135609 +Node: GNU Free Documentation License1173166 +Node: Index1198303  End Tag Table -- cgit v1.2.3 From 4e8bd99197f48cfaa79b095a34a88223f96f429d Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 25 Oct 2013 12:13:26 +0300 Subject: Documentation updates. --- doc/gawk.info | 1097 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 555 insertions(+), 542 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 8fc3b2e9..e9965f69 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -196,7 +196,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content -* Multiple Line:: Reading multi-line records. +* Multiple Line:: Reading multiline records. * Getline:: Reading files under explicit program control using the `getline' function. @@ -347,9 +347,9 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) `awk'. * Uninitialized Subscripts:: Using Uninitialized variables as subscripts. -* Multi-dimensional:: Emulating multidimensional arrays in +* Multidimensional:: Emulating multidimensional arrays in `awk'. -* Multi-scanning:: Scanning multidimensional arrays. +* Multiscanning:: Scanning multidimensional arrays. * Arrays of Arrays:: True multidimensional arrays. * Built-in:: Summarizes the built-in functions. * Calling Built-in:: How to call built-in functions. @@ -1821,7 +1821,7 @@ information). Using this information, create your own `BBS-list' and If you are using the stand-alone version of Info, see *note Extract Program::, for an `awk' program that extracts these data files from -`gawk.texi', the Texinfo source file for this Info file. +`gawk.texi', the (generated) Texinfo source file for this Info file.  File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, Up: Getting Started @@ -3889,7 +3889,7 @@ have to be named on the `awk' command line (*note Getline::). * Field Separators:: The field separator and how to change it. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content -* Multiple Line:: Reading multi-line records. +* Multiple Line:: Reading multiline records. * Getline:: Reading files under explicit program control using the `getline' function. * Read Timeout:: Reading input with a timeout. @@ -9508,7 +9508,7 @@ specific to `gawk' are marked with a pound sign (`#'). `FS' This is the input field separator (*note Field Separators::). The - value is a single-character string or a multi-character regular + value is a single-character string or a multicharacter regular expression that matches the separations between fields in an input record. If the value is the null string (`""'), then each character in the record becomes a separate field. (This behavior @@ -9610,7 +9610,7 @@ specific to `gawk' are marked with a pound sign (`#'). This is the subscript separator. It has the default value of `"\034"' and is used to separate the parts of the indices of a multidimensional array. Thus, the expression `foo["A", "B"]' - really accesses `foo["A\034B"]' (*note Multi-dimensional::). + really accesses `foo["A\034B"]' (*note Multidimensional::). `TEXTDOMAIN #' This variable is used for internationalization of programs at the @@ -10101,7 +10101,7 @@ cannot have a variable and an array with the same name in the same * Numeric Array Subscripts:: How to use numbers as subscripts in `awk'. * Uninitialized Subscripts:: Using Uninitialized variables as subscripts. -* Multi-dimensional:: Emulating multidimensional arrays in +* Multidimensional:: Emulating multidimensional arrays in `awk'. * Arrays of Arrays:: True multidimensional arrays. @@ -10682,7 +10682,7 @@ knowledge of the actual rules since they can sometimes have a subtle effect on your programs.  -File: gawk.info, Node: Uninitialized Subscripts, Next: Multi-dimensional, Prev: Numeric Array Subscripts, Up: Arrays +File: gawk.info, Node: Uninitialized Subscripts, Next: Multidimensional, Prev: Numeric Array Subscripts, Up: Arrays 8.4 Using Uninitialized Variables as Subscripts =============================================== @@ -10730,14 +10730,14 @@ string as a subscript if `--lint' is provided on the command line (*note Options::).  -File: gawk.info, Node: Multi-dimensional, Next: Arrays of Arrays, Prev: Uninitialized Subscripts, Up: Arrays +File: gawk.info, Node: Multidimensional, Next: Arrays of Arrays, Prev: Uninitialized Subscripts, Up: Arrays 8.5 Multidimensional Arrays =========================== * Menu: -* Multi-scanning:: Scanning multidimensional arrays. +* Multiscanning:: Scanning multidimensional arrays. A multidimensional array is an array in which an element is identified by a sequence of indices instead of a single index. For @@ -10816,7 +10816,7 @@ the program produces the following output: 3 2 1 6  -File: gawk.info, Node: Multi-scanning, Up: Multi-dimensional +File: gawk.info, Node: Multiscanning, Up: Multidimensional 8.5.1 Scanning Multidimensional Arrays -------------------------------------- @@ -10856,7 +10856,7 @@ The result is to set `separate[1]' to `"1"' and `separate[2]' to recovered.  -File: gawk.info, Node: Arrays of Arrays, Prev: Multi-dimensional, Up: Arrays +File: gawk.info, Node: Arrays of Arrays, Prev: Multidimensional, Up: Arrays 8.6 Arrays of Arrays ==================== @@ -14617,7 +14617,7 @@ characters (*note String Functions::).(1) # a character representing the current option # Private Data: - # _opti -- index in multi-flag option, e.g., -abc + # _opti -- index in multiflag option, e.g., -abc The function starts out with comments presenting a list of the global variables it uses, what the return values are, what they mean, @@ -17198,11 +17198,11 @@ are simply removed. `extract.awk' uses the `join()' library function (*note Join Function::). The example programs in the online Texinfo source for `GAWK: -Effective AWK Programming' (`gawk.texi') have all been bracketed inside -`file' and `endfile' lines. The `gawk' distribution uses a copy of -`extract.awk' to extract the sample programs and install many of them -in a standard directory where `gawk' can find them. The Texinfo file -looks something like this: +Effective AWK Programming' (`gawktexi.in') have all been bracketed +inside `file' and `endfile' lines. The `gawk' distribution uses a copy +of `extract.awk' to extract the sample programs and install many of +them in a standard directory where `gawk' can find them. The Texinfo +file looks something like this: ... This program has a @code{BEGIN} rule, @@ -24323,7 +24323,7 @@ follows: The usage is: The `fts()' function provides a hook to the C library `fts()' routines for traversing file hierarchies. Instead of returning data -about one file at a time in a stream, it fills in a multi-dimensional +about one file at a time in a stream, it fills in a multidimensional array with data about each file and directory encountered in the requested hierarchies. @@ -24418,7 +24418,7 @@ Otherwise it returns -1. lack of a comparison function, since `gawk' already provides powerful array sorting facilities. While an `fts_read()'-like interface could have been provided, this felt less natural than - simply creating a multi-dimensional array to represent the file + simply creating a multidimensional array to represent the file hierarchy and its information. See `test/fts.awk' in the `gawk' distribution for an example. @@ -24956,7 +24956,7 @@ the changes, with cross-references to further details: * Multiple `BEGIN' and `END' rules (*note BEGIN/END::). - * Multidimensional arrays (*note Multi-dimensional::). + * Multidimensional arrays (*note Multidimensional::).  File: gawk.info, Node: SVR4, Next: POSIX, Prev: V7/SVR3.1, Up: Language History @@ -25467,6 +25467,9 @@ Info file, in approximate chronological order: - The modifications to convert `gawk' into a byte-code interpreter, including the debugger. + - The addition of true multidimensional arrays. *note Arrays + of Arrays::. + - The additional modifications for support of arbitrary precision arithmetic. @@ -25477,6 +25480,9 @@ Info file, in approximate chronological order: - Improved array internals for arrays indexed by integers. + - The improved array sorting features were driven by John + together with Pat Rankin. + * Efraim Yawitz contributed the original text for *note Debugger::. * The development of the extension API first released with `gawk' @@ -25665,11 +25671,18 @@ Various `.c', `.y', and `.h' files The `troff' source for a manual page describing `gawk'. This is distributed for the convenience of Unix users. -`doc/gawk.texi' +`doc/gawktexi.in' +`doc/sidebar.awk' The Texinfo source file for this Info file. It should be - processed with TeX (via `texi2dvi' or `texi2pdf') to produce a - printed document, and with `makeinfo' to produce an Info or HTML - file. + processed by `doc/sidebar.awk' before processing with TeX It + should be processed with to produce a printed document, and with + `makeinfo' to produce an Info or HTML file. The `Makefile' takes + care of this processing and produces printable output via + `texi2dvi' or `texi2pdf'. + +`doc/gawk.texi' + The file produced after processing `gawktexi.in' with + `sidebar.awk'. `doc/gawk.info' The generated Info file for this Info file. @@ -25699,6 +25712,7 @@ Various `.c', `.y', and `.h' files `Makefile.in' `aclocal.m4' +`config.guess' `configh.in' `configure.ac' `configure' @@ -27181,7 +27195,7 @@ Some goals for the new API were: fashion for C code. - The ability to create arrays (including `gawk''s true - multi-dimensional arrays). + multidimensional arrays). Some additional important goals were: @@ -29717,8 +29731,8 @@ Index * arrays, IGNORECASE variable and: Array Intro. (line 92) * arrays, indexing: Array Intro. (line 50) * arrays, merging into strings: Join Function. (line 6) -* arrays, multidimensional: Multi-dimensional. (line 10) -* arrays, multidimensional, scanning: Multi-scanning. (line 11) +* arrays, multidimensional: Multidimensional. (line 10) +* arrays, multidimensional, scanning: Multiscanning. (line 11) * arrays, names of: Arrays. (line 18) * arrays, scanning: Scanning an Array. (line 6) * arrays, sorting: Array Sorting Functions. @@ -31669,7 +31683,7 @@ Index * RLENGTH variable, match() function and: String Functions. (line 225) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) -* Robbins, Arnold <3>: Contributors. (line 125) +* Robbins, Arnold <3>: Contributors. (line 131) * Robbins, Arnold <4>: Alarm Program. (line 6) * Robbins, Arnold <5>: Passwd Functions. (line 90) * Robbins, Arnold <6>: Getline/Pipe. (line 40) @@ -31709,7 +31723,7 @@ Index (line 68) * sandbox mode: Options. (line 279) * scalar values: Basic Data Typing. (line 13) -* Schorr, Andrew <1>: Contributors. (line 121) +* Schorr, Andrew <1>: Contributors. (line 127) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -31907,16 +31921,15 @@ Index * sub() function, arguments of: String Functions. (line 464) * sub() function, escape processing: Gory Details. (line 6) * subscript separators: User-modified. (line 156) -* subscripts in arrays, multidimensional: Multi-dimensional. (line 10) -* subscripts in arrays, multidimensional, scanning: Multi-scanning. +* subscripts in arrays, multidimensional: Multidimensional. (line 10) +* subscripts in arrays, multidimensional, scanning: Multiscanning. (line 11) * subscripts in arrays, numbers as: Numeric Array Subscripts. (line 6) * subscripts in arrays, uninitialized variables as: Uninitialized Subscripts. (line 6) * SUBSEP variable: User-modified. (line 156) -* SUBSEP variable, multidimensional arrays: Multi-dimensional. - (line 16) +* SUBSEP variable, multidimensional arrays: Multidimensional. (line 16) * substr() function: String Functions. (line 483) * Sumner, Andrew: Other Versions. (line 64) * switch statement: Switch Statement. (line 6) @@ -32141,7 +32154,7 @@ Index * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) * xor() function (gawk): Bitwise Functions. (line 55) -* Yawitz, Efraim: Contributors. (line 119) +* Yawitz, Efraim: Contributors. (line 125) * Zaretskii, Eli <1>: Bugs. (line 70) * Zaretskii, Eli <2>: Contributors. (line 56) * Zaretskii, Eli: Acknowledgments. (line 60) @@ -32176,457 +32189,457 @@ Index  Tag Table: Node: Top1360 -Node: Foreword40461 -Node: Preface44806 -Ref: Preface-Footnote-147859 -Ref: Preface-Footnote-247955 -Node: History48187 -Node: Names50561 -Ref: Names-Footnote-152038 -Node: This Manual52110 -Ref: This Manual-Footnote-157884 -Node: Conventions57984 -Node: Manual History60136 -Ref: Manual History-Footnote-163584 -Ref: Manual History-Footnote-263625 -Node: How To Contribute63699 -Node: Acknowledgments64843 -Node: Getting Started69052 -Node: Running gawk71431 -Node: One-shot72617 -Node: Read Terminal73842 -Ref: Read Terminal-Footnote-175492 -Ref: Read Terminal-Footnote-275768 -Node: Long75939 -Node: Executable Scripts77315 -Ref: Executable Scripts-Footnote-179148 -Ref: Executable Scripts-Footnote-279250 -Node: Comments79797 -Node: Quoting82264 -Node: DOS Quoting86887 -Node: Sample Data Files87562 -Node: Very Simple90594 -Node: Two Rules95193 -Node: More Complex97340 -Ref: More Complex-Footnote-1100270 -Node: Statements/Lines100355 -Ref: Statements/Lines-Footnote-1104817 -Node: Other Features105082 -Node: When106010 -Node: Invoking Gawk108157 -Node: Command Line109618 -Node: Options110401 -Ref: Options-Footnote-1125793 -Node: Other Arguments125818 -Node: Naming Standard Input128476 -Node: Environment Variables129570 -Node: AWKPATH Variable130128 -Ref: AWKPATH Variable-Footnote-1132886 -Node: AWKLIBPATH Variable133146 -Node: Other Environment Variables133864 -Node: Exit Status136827 -Node: Include Files137502 -Node: Loading Shared Libraries141071 -Node: Obsolete142435 -Node: Undocumented143132 -Node: Regexp143375 -Node: Regexp Usage144764 -Node: Escape Sequences146790 -Node: Regexp Operators152459 -Ref: Regexp Operators-Footnote-1159839 -Ref: Regexp Operators-Footnote-2159986 -Node: Bracket Expressions160084 -Ref: table-char-classes161974 -Node: GNU Regexp Operators164497 -Node: Case-sensitivity168220 -Ref: Case-sensitivity-Footnote-1171188 -Ref: Case-sensitivity-Footnote-2171423 -Node: Leftmost Longest171531 -Node: Computed Regexps172732 -Node: Reading Files176069 -Node: Records178072 -Ref: Records-Footnote-1186961 -Node: Fields186998 -Ref: Fields-Footnote-1190031 -Node: Nonconstant Fields190117 -Node: Changing Fields192319 -Node: Field Separators198278 -Node: Default Field Splitting200907 -Node: Regexp Field Splitting202024 -Node: Single Character Fields205366 -Node: Command Line Field Separator206425 -Node: Field Splitting Summary209866 -Ref: Field Splitting Summary-Footnote-1212977 -Node: Constant Size213078 -Node: Splitting By Content217662 -Ref: Splitting By Content-Footnote-1221388 -Node: Multiple Line221428 -Ref: Multiple Line-Footnote-1227275 -Node: Getline227454 -Node: Plain Getline229670 -Node: Getline/Variable231765 -Node: Getline/File232912 -Node: Getline/Variable/File234253 -Ref: Getline/Variable/File-Footnote-1235852 -Node: Getline/Pipe235939 -Node: Getline/Variable/Pipe238639 -Node: Getline/Coprocess239746 -Node: Getline/Variable/Coprocess240998 -Node: Getline Notes241735 -Node: Getline Summary244522 -Ref: table-getline-variants244930 -Node: Read Timeout245842 -Ref: Read Timeout-Footnote-1249583 -Node: Command line directories249640 -Node: Printing250270 -Node: Print251901 -Node: Print Examples253238 -Node: Output Separators256022 -Node: OFMT257782 -Node: Printf259140 -Node: Basic Printf260046 -Node: Control Letters261585 -Node: Format Modifiers265397 -Node: Printf Examples271406 -Node: Redirection274121 -Node: Special Files281086 -Node: Special FD281619 -Ref: Special FD-Footnote-1285244 -Node: Special Network285318 -Node: Special Caveats286168 -Node: Close Files And Pipes286964 -Ref: Close Files And Pipes-Footnote-1293947 -Ref: Close Files And Pipes-Footnote-2294095 -Node: Expressions294245 -Node: Values295377 -Node: Constants296053 -Node: Scalar Constants296733 -Ref: Scalar Constants-Footnote-1297592 -Node: Nondecimal-numbers297774 -Node: Regexp Constants300774 -Node: Using Constant Regexps301249 -Node: Variables304304 -Node: Using Variables304959 -Node: Assignment Options306683 -Node: Conversion308555 -Ref: table-locale-affects314056 -Ref: Conversion-Footnote-1314680 -Node: All Operators314789 -Node: Arithmetic Ops315419 -Node: Concatenation317924 -Ref: Concatenation-Footnote-1320717 -Node: Assignment Ops320837 -Ref: table-assign-ops325825 -Node: Increment Ops327156 -Node: Truth Values and Conditions330591 -Node: Truth Values331674 -Node: Typing and Comparison332723 -Node: Variable Typing333512 -Ref: Variable Typing-Footnote-1337409 -Node: Comparison Operators337531 -Ref: table-relational-ops337941 -Node: POSIX String Comparison341490 -Ref: POSIX String Comparison-Footnote-1342446 -Node: Boolean Ops342584 -Ref: Boolean Ops-Footnote-1346662 -Node: Conditional Exp346753 -Node: Function Calls348485 -Node: Precedence352079 -Node: Locales355748 -Node: Patterns and Actions356837 -Node: Pattern Overview357891 -Node: Regexp Patterns359560 -Node: Expression Patterns360103 -Node: Ranges363788 -Node: BEGIN/END366754 -Node: Using BEGIN/END367516 -Ref: Using BEGIN/END-Footnote-1370247 -Node: I/O And BEGIN/END370353 -Node: BEGINFILE/ENDFILE372635 -Node: Empty375549 -Node: Using Shell Variables375865 -Node: Action Overview378150 -Node: Statements380507 -Node: If Statement382361 -Node: While Statement383860 -Node: Do Statement385904 -Node: For Statement387060 -Node: Switch Statement390212 -Node: Break Statement392309 -Node: Continue Statement394299 -Node: Next Statement396092 -Node: Nextfile Statement398482 -Node: Exit Statement401125 -Node: Built-in Variables403541 -Node: User-modified404636 -Ref: User-modified-Footnote-1412996 -Node: Auto-set413058 -Ref: Auto-set-Footnote-1426136 -Ref: Auto-set-Footnote-2426341 -Node: ARGC and ARGV426397 -Node: Arrays430248 -Node: Array Basics431753 -Node: Array Intro432579 -Node: Reference to Elements436897 -Node: Assigning Elements439167 -Node: Array Example439658 -Node: Scanning an Array441390 -Node: Controlling Scanning443704 -Ref: Controlling Scanning-Footnote-1448627 -Node: Delete448943 -Ref: Delete-Footnote-1451708 -Node: Numeric Array Subscripts451765 -Node: Uninitialized Subscripts453948 -Node: Multi-dimensional455576 -Node: Multi-scanning458670 -Node: Arrays of Arrays460261 -Node: Functions464902 -Node: Built-in465721 -Node: Calling Built-in466799 -Node: Numeric Functions468787 -Ref: Numeric Functions-Footnote-1472619 -Ref: Numeric Functions-Footnote-2472976 -Ref: Numeric Functions-Footnote-3473024 -Node: String Functions473293 -Ref: String Functions-Footnote-1496851 -Ref: String Functions-Footnote-2496980 -Ref: String Functions-Footnote-3497228 -Node: Gory Details497315 -Ref: table-sub-escapes498994 -Ref: table-sub-posix-92500348 -Ref: table-sub-proposed501699 -Ref: table-posix-sub503053 -Ref: table-gensub-escapes504598 -Ref: Gory Details-Footnote-1505774 -Ref: Gory Details-Footnote-2505825 -Node: I/O Functions505976 -Ref: I/O Functions-Footnote-1512961 -Node: Time Functions513108 -Ref: Time Functions-Footnote-1524041 -Ref: Time Functions-Footnote-2524109 -Ref: Time Functions-Footnote-3524267 -Ref: Time Functions-Footnote-4524378 -Ref: Time Functions-Footnote-5524490 -Ref: Time Functions-Footnote-6524717 -Node: Bitwise Functions524983 -Ref: table-bitwise-ops525541 -Ref: Bitwise Functions-Footnote-1529762 -Node: Type Functions529946 -Node: I18N Functions531097 -Node: User-defined532724 -Node: Definition Syntax533528 -Ref: Definition Syntax-Footnote-1538438 -Node: Function Example538507 -Node: Function Caveats541101 -Node: Calling A Function541522 -Node: Variable Scope542637 -Node: Pass By Value/Reference545600 -Node: Return Statement549108 -Node: Dynamic Typing552089 -Node: Indirect Calls553020 -Node: Library Functions562705 -Ref: Library Functions-Footnote-1566218 -Ref: Library Functions-Footnote-2566361 -Node: Library Names566532 -Ref: Library Names-Footnote-1570003 -Ref: Library Names-Footnote-2570223 -Node: General Functions570309 -Node: Strtonum Function571337 -Node: Assert Function574267 -Node: Round Function577593 -Node: Cliff Random Function579136 -Node: Ordinal Functions580152 -Ref: Ordinal Functions-Footnote-1583222 -Ref: Ordinal Functions-Footnote-2583474 -Node: Join Function583683 -Ref: Join Function-Footnote-1585454 -Node: Getlocaltime Function585654 -Node: Readfile Function589395 -Node: Data File Management591234 -Node: Filetrans Function591866 -Node: Rewind Function595935 -Node: File Checking597322 -Node: Empty Files598416 -Node: Ignoring Assigns600646 -Node: Getopt Function602199 -Ref: Getopt Function-Footnote-1613503 -Node: Passwd Functions613706 -Ref: Passwd Functions-Footnote-1622681 -Node: Group Functions622769 -Node: Walking Arrays630853 -Node: Sample Programs632990 -Node: Running Examples633664 -Node: Clones634392 -Node: Cut Program635616 -Node: Egrep Program645461 -Ref: Egrep Program-Footnote-1653234 -Node: Id Program653344 -Node: Split Program656960 -Ref: Split Program-Footnote-1660479 -Node: Tee Program660607 -Node: Uniq Program663410 -Node: Wc Program670839 -Ref: Wc Program-Footnote-1675105 -Ref: Wc Program-Footnote-2675305 -Node: Miscellaneous Programs675397 -Node: Dupword Program676585 -Node: Alarm Program678616 -Node: Translate Program683365 -Ref: Translate Program-Footnote-1687752 -Ref: Translate Program-Footnote-2687980 -Node: Labels Program688114 -Ref: Labels Program-Footnote-1691485 -Node: Word Sorting691569 -Node: History Sorting695453 -Node: Extract Program697292 -Ref: Extract Program-Footnote-1704793 -Node: Simple Sed704921 -Node: Igawk Program707983 -Ref: Igawk Program-Footnote-1723140 -Ref: Igawk Program-Footnote-2723341 -Node: Anagram Program723479 -Node: Signature Program726547 -Node: Advanced Features727647 -Node: Nondecimal Data729529 -Node: Array Sorting731112 -Node: Controlling Array Traversal731809 -Node: Array Sorting Functions740047 -Ref: Array Sorting Functions-Footnote-1743721 -Ref: Array Sorting Functions-Footnote-2743814 -Node: Two-way I/O744008 -Ref: Two-way I/O-Footnote-1749440 -Node: TCP/IP Networking749510 -Node: Profiling752354 -Node: Internationalization759851 -Node: I18N and L10N761276 -Node: Explaining gettext761962 -Ref: Explaining gettext-Footnote-1767030 -Ref: Explaining gettext-Footnote-2767214 -Node: Programmer i18n767379 -Node: Translator i18n771581 -Node: String Extraction772374 -Ref: String Extraction-Footnote-1773335 -Node: Printf Ordering773421 -Ref: Printf Ordering-Footnote-1776205 -Node: I18N Portability776269 -Ref: I18N Portability-Footnote-1778718 -Node: I18N Example778781 -Ref: I18N Example-Footnote-1781419 -Node: Gawk I18N781491 -Node: Debugger782112 -Node: Debugging783083 -Node: Debugging Concepts783516 -Node: Debugging Terms785372 -Node: Awk Debugging787969 -Node: Sample Debugging Session788861 -Node: Debugger Invocation789381 -Node: Finding The Bug790713 -Node: List of Debugger Commands797201 -Node: Breakpoint Control798535 -Node: Debugger Execution Control802199 -Node: Viewing And Changing Data805559 -Node: Execution Stack808915 -Node: Debugger Info810382 -Node: Miscellaneous Debugger Commands814364 -Node: Readline Support819540 -Node: Limitations820371 -Node: Arbitrary Precision Arithmetic822623 -Ref: Arbitrary Precision Arithmetic-Footnote-1824274 -Node: General Arithmetic824422 -Node: Floating Point Issues826142 -Node: String Conversion Precision827023 -Ref: String Conversion Precision-Footnote-1828728 -Node: Unexpected Results828837 -Node: POSIX Floating Point Problems830990 -Ref: POSIX Floating Point Problems-Footnote-1834815 -Node: Integer Programming834853 -Node: Floating-point Programming836592 -Ref: Floating-point Programming-Footnote-1842923 -Ref: Floating-point Programming-Footnote-2843193 -Node: Floating-point Representation843457 -Node: Floating-point Context844622 -Ref: table-ieee-formats845461 -Node: Rounding Mode846845 -Ref: table-rounding-modes847324 -Ref: Rounding Mode-Footnote-1850339 -Node: Gawk and MPFR850518 -Node: Arbitrary Precision Floats851773 -Ref: Arbitrary Precision Floats-Footnote-1854216 -Node: Setting Precision854532 -Ref: table-predefined-precision-strings855218 -Node: Setting Rounding Mode857363 -Ref: table-gawk-rounding-modes857767 -Node: Floating-point Constants858954 -Node: Changing Precision860383 -Ref: Changing Precision-Footnote-1861783 -Node: Exact Arithmetic861957 -Node: Arbitrary Precision Integers865095 -Ref: Arbitrary Precision Integers-Footnote-1868113 -Node: Dynamic Extensions868260 -Node: Extension Intro869718 -Node: Plugin License870983 -Node: Extension Mechanism Outline871668 -Ref: load-extension872085 -Ref: load-new-function873563 -Ref: call-new-function874558 -Node: Extension API Description876573 -Node: Extension API Functions Introduction877786 -Node: General Data Types882652 -Ref: General Data Types-Footnote-1888254 -Node: Requesting Values888553 -Ref: table-value-types-returned889284 -Node: Constructor Functions890238 -Node: Registration Functions893258 -Node: Extension Functions893943 -Node: Exit Callback Functions896168 -Node: Extension Version String897417 -Node: Input Parsers898067 -Node: Output Wrappers907824 -Node: Two-way processors912334 -Node: Printing Messages914542 -Ref: Printing Messages-Footnote-1915619 -Node: Updating `ERRNO'915771 -Node: Accessing Parameters916510 -Node: Symbol Table Access917740 -Node: Symbol table by name918252 -Node: Symbol table by cookie919999 -Ref: Symbol table by cookie-Footnote-1924129 -Node: Cached values924192 -Ref: Cached values-Footnote-1927641 -Node: Array Manipulation927732 -Ref: Array Manipulation-Footnote-1928830 -Node: Array Data Types928869 -Ref: Array Data Types-Footnote-1931572 -Node: Array Functions931664 -Node: Flattening Arrays935430 -Node: Creating Arrays942282 -Node: Extension API Variables947007 -Node: Extension Versioning947643 -Node: Extension API Informational Variables949544 -Node: Extension API Boilerplate950630 -Node: Finding Extensions954434 -Node: Extension Example954994 -Node: Internal File Description955725 -Node: Internal File Ops959816 -Ref: Internal File Ops-Footnote-1971324 -Node: Using Internal File Ops971464 -Ref: Using Internal File Ops-Footnote-1973817 -Node: Extension Samples974083 -Node: Extension Sample File Functions975607 -Node: Extension Sample Fnmatch984094 -Node: Extension Sample Fork985820 -Node: Extension Sample Inplace987038 -Node: Extension Sample Ord988816 -Node: Extension Sample Readdir989652 -Node: Extension Sample Revout991184 -Node: Extension Sample Rev2way991777 -Node: Extension Sample Read write array992467 -Node: Extension Sample Readfile994350 -Node: Extension Sample API Tests995168 -Node: Extension Sample Time995693 -Node: gawkextlib997057 -Node: Language History999817 -Node: V7/SVR3.11001339 +Node: Foreword40460 +Node: Preface44805 +Ref: Preface-Footnote-147858 +Ref: Preface-Footnote-247954 +Node: History48186 +Node: Names50560 +Ref: Names-Footnote-152037 +Node: This Manual52109 +Ref: This Manual-Footnote-157883 +Node: Conventions57983 +Node: Manual History60135 +Ref: Manual History-Footnote-163583 +Ref: Manual History-Footnote-263624 +Node: How To Contribute63698 +Node: Acknowledgments64842 +Node: Getting Started69051 +Node: Running gawk71430 +Node: One-shot72616 +Node: Read Terminal73841 +Ref: Read Terminal-Footnote-175491 +Ref: Read Terminal-Footnote-275767 +Node: Long75938 +Node: Executable Scripts77314 +Ref: Executable Scripts-Footnote-179147 +Ref: Executable Scripts-Footnote-279249 +Node: Comments79796 +Node: Quoting82263 +Node: DOS Quoting86886 +Node: Sample Data Files87561 +Node: Very Simple90605 +Node: Two Rules95204 +Node: More Complex97351 +Ref: More Complex-Footnote-1100281 +Node: Statements/Lines100366 +Ref: Statements/Lines-Footnote-1104828 +Node: Other Features105093 +Node: When106021 +Node: Invoking Gawk108168 +Node: Command Line109629 +Node: Options110412 +Ref: Options-Footnote-1125804 +Node: Other Arguments125829 +Node: Naming Standard Input128487 +Node: Environment Variables129581 +Node: AWKPATH Variable130139 +Ref: AWKPATH Variable-Footnote-1132897 +Node: AWKLIBPATH Variable133157 +Node: Other Environment Variables133875 +Node: Exit Status136838 +Node: Include Files137513 +Node: Loading Shared Libraries141082 +Node: Obsolete142446 +Node: Undocumented143143 +Node: Regexp143386 +Node: Regexp Usage144775 +Node: Escape Sequences146801 +Node: Regexp Operators152470 +Ref: Regexp Operators-Footnote-1159850 +Ref: Regexp Operators-Footnote-2159997 +Node: Bracket Expressions160095 +Ref: table-char-classes161985 +Node: GNU Regexp Operators164508 +Node: Case-sensitivity168231 +Ref: Case-sensitivity-Footnote-1171199 +Ref: Case-sensitivity-Footnote-2171434 +Node: Leftmost Longest171542 +Node: Computed Regexps172743 +Node: Reading Files176080 +Node: Records178082 +Ref: Records-Footnote-1186971 +Node: Fields187008 +Ref: Fields-Footnote-1190041 +Node: Nonconstant Fields190127 +Node: Changing Fields192329 +Node: Field Separators198288 +Node: Default Field Splitting200917 +Node: Regexp Field Splitting202034 +Node: Single Character Fields205376 +Node: Command Line Field Separator206435 +Node: Field Splitting Summary209876 +Ref: Field Splitting Summary-Footnote-1212987 +Node: Constant Size213088 +Node: Splitting By Content217672 +Ref: Splitting By Content-Footnote-1221398 +Node: Multiple Line221438 +Ref: Multiple Line-Footnote-1227285 +Node: Getline227464 +Node: Plain Getline229680 +Node: Getline/Variable231775 +Node: Getline/File232922 +Node: Getline/Variable/File234263 +Ref: Getline/Variable/File-Footnote-1235862 +Node: Getline/Pipe235949 +Node: Getline/Variable/Pipe238649 +Node: Getline/Coprocess239756 +Node: Getline/Variable/Coprocess241008 +Node: Getline Notes241745 +Node: Getline Summary244532 +Ref: table-getline-variants244940 +Node: Read Timeout245852 +Ref: Read Timeout-Footnote-1249593 +Node: Command line directories249650 +Node: Printing250280 +Node: Print251911 +Node: Print Examples253248 +Node: Output Separators256032 +Node: OFMT257792 +Node: Printf259150 +Node: Basic Printf260056 +Node: Control Letters261595 +Node: Format Modifiers265407 +Node: Printf Examples271416 +Node: Redirection274131 +Node: Special Files281096 +Node: Special FD281629 +Ref: Special FD-Footnote-1285254 +Node: Special Network285328 +Node: Special Caveats286178 +Node: Close Files And Pipes286974 +Ref: Close Files And Pipes-Footnote-1293957 +Ref: Close Files And Pipes-Footnote-2294105 +Node: Expressions294255 +Node: Values295387 +Node: Constants296063 +Node: Scalar Constants296743 +Ref: Scalar Constants-Footnote-1297602 +Node: Nondecimal-numbers297784 +Node: Regexp Constants300784 +Node: Using Constant Regexps301259 +Node: Variables304314 +Node: Using Variables304969 +Node: Assignment Options306693 +Node: Conversion308565 +Ref: table-locale-affects314066 +Ref: Conversion-Footnote-1314690 +Node: All Operators314799 +Node: Arithmetic Ops315429 +Node: Concatenation317934 +Ref: Concatenation-Footnote-1320727 +Node: Assignment Ops320847 +Ref: table-assign-ops325835 +Node: Increment Ops327166 +Node: Truth Values and Conditions330601 +Node: Truth Values331684 +Node: Typing and Comparison332733 +Node: Variable Typing333522 +Ref: Variable Typing-Footnote-1337419 +Node: Comparison Operators337541 +Ref: table-relational-ops337951 +Node: POSIX String Comparison341500 +Ref: POSIX String Comparison-Footnote-1342456 +Node: Boolean Ops342594 +Ref: Boolean Ops-Footnote-1346672 +Node: Conditional Exp346763 +Node: Function Calls348495 +Node: Precedence352089 +Node: Locales355758 +Node: Patterns and Actions356847 +Node: Pattern Overview357901 +Node: Regexp Patterns359570 +Node: Expression Patterns360113 +Node: Ranges363798 +Node: BEGIN/END366764 +Node: Using BEGIN/END367526 +Ref: Using BEGIN/END-Footnote-1370257 +Node: I/O And BEGIN/END370363 +Node: BEGINFILE/ENDFILE372645 +Node: Empty375559 +Node: Using Shell Variables375875 +Node: Action Overview378160 +Node: Statements380517 +Node: If Statement382371 +Node: While Statement383870 +Node: Do Statement385914 +Node: For Statement387070 +Node: Switch Statement390222 +Node: Break Statement392319 +Node: Continue Statement394309 +Node: Next Statement396102 +Node: Nextfile Statement398492 +Node: Exit Statement401135 +Node: Built-in Variables403551 +Node: User-modified404646 +Ref: User-modified-Footnote-1413004 +Node: Auto-set413066 +Ref: Auto-set-Footnote-1426144 +Ref: Auto-set-Footnote-2426349 +Node: ARGC and ARGV426405 +Node: Arrays430256 +Node: Array Basics431761 +Node: Array Intro432587 +Node: Reference to Elements436905 +Node: Assigning Elements439175 +Node: Array Example439666 +Node: Scanning an Array441398 +Node: Controlling Scanning443712 +Ref: Controlling Scanning-Footnote-1448635 +Node: Delete448951 +Ref: Delete-Footnote-1451716 +Node: Numeric Array Subscripts451773 +Node: Uninitialized Subscripts453956 +Node: Multidimensional455583 +Node: Multiscanning458675 +Node: Arrays of Arrays460264 +Node: Functions464904 +Node: Built-in465723 +Node: Calling Built-in466801 +Node: Numeric Functions468789 +Ref: Numeric Functions-Footnote-1472621 +Ref: Numeric Functions-Footnote-2472978 +Ref: Numeric Functions-Footnote-3473026 +Node: String Functions473295 +Ref: String Functions-Footnote-1496853 +Ref: String Functions-Footnote-2496982 +Ref: String Functions-Footnote-3497230 +Node: Gory Details497317 +Ref: table-sub-escapes498996 +Ref: table-sub-posix-92500350 +Ref: table-sub-proposed501701 +Ref: table-posix-sub503055 +Ref: table-gensub-escapes504600 +Ref: Gory Details-Footnote-1505776 +Ref: Gory Details-Footnote-2505827 +Node: I/O Functions505978 +Ref: I/O Functions-Footnote-1512963 +Node: Time Functions513110 +Ref: Time Functions-Footnote-1524043 +Ref: Time Functions-Footnote-2524111 +Ref: Time Functions-Footnote-3524269 +Ref: Time Functions-Footnote-4524380 +Ref: Time Functions-Footnote-5524492 +Ref: Time Functions-Footnote-6524719 +Node: Bitwise Functions524985 +Ref: table-bitwise-ops525543 +Ref: Bitwise Functions-Footnote-1529764 +Node: Type Functions529948 +Node: I18N Functions531099 +Node: User-defined532726 +Node: Definition Syntax533530 +Ref: Definition Syntax-Footnote-1538440 +Node: Function Example538509 +Node: Function Caveats541103 +Node: Calling A Function541524 +Node: Variable Scope542639 +Node: Pass By Value/Reference545602 +Node: Return Statement549110 +Node: Dynamic Typing552091 +Node: Indirect Calls553022 +Node: Library Functions562707 +Ref: Library Functions-Footnote-1566220 +Ref: Library Functions-Footnote-2566363 +Node: Library Names566534 +Ref: Library Names-Footnote-1570005 +Ref: Library Names-Footnote-2570225 +Node: General Functions570311 +Node: Strtonum Function571339 +Node: Assert Function574269 +Node: Round Function577595 +Node: Cliff Random Function579138 +Node: Ordinal Functions580154 +Ref: Ordinal Functions-Footnote-1583224 +Ref: Ordinal Functions-Footnote-2583476 +Node: Join Function583685 +Ref: Join Function-Footnote-1585456 +Node: Getlocaltime Function585656 +Node: Readfile Function589397 +Node: Data File Management591236 +Node: Filetrans Function591868 +Node: Rewind Function595937 +Node: File Checking597324 +Node: Empty Files598418 +Node: Ignoring Assigns600648 +Node: Getopt Function602201 +Ref: Getopt Function-Footnote-1613504 +Node: Passwd Functions613707 +Ref: Passwd Functions-Footnote-1622682 +Node: Group Functions622770 +Node: Walking Arrays630854 +Node: Sample Programs632991 +Node: Running Examples633665 +Node: Clones634393 +Node: Cut Program635617 +Node: Egrep Program645462 +Ref: Egrep Program-Footnote-1653235 +Node: Id Program653345 +Node: Split Program656961 +Ref: Split Program-Footnote-1660480 +Node: Tee Program660608 +Node: Uniq Program663411 +Node: Wc Program670840 +Ref: Wc Program-Footnote-1675106 +Ref: Wc Program-Footnote-2675306 +Node: Miscellaneous Programs675398 +Node: Dupword Program676586 +Node: Alarm Program678617 +Node: Translate Program683366 +Ref: Translate Program-Footnote-1687753 +Ref: Translate Program-Footnote-2687981 +Node: Labels Program688115 +Ref: Labels Program-Footnote-1691486 +Node: Word Sorting691570 +Node: History Sorting695454 +Node: Extract Program697293 +Ref: Extract Program-Footnote-1704796 +Node: Simple Sed704924 +Node: Igawk Program707986 +Ref: Igawk Program-Footnote-1723143 +Ref: Igawk Program-Footnote-2723344 +Node: Anagram Program723482 +Node: Signature Program726550 +Node: Advanced Features727650 +Node: Nondecimal Data729532 +Node: Array Sorting731115 +Node: Controlling Array Traversal731812 +Node: Array Sorting Functions740050 +Ref: Array Sorting Functions-Footnote-1743724 +Ref: Array Sorting Functions-Footnote-2743817 +Node: Two-way I/O744011 +Ref: Two-way I/O-Footnote-1749443 +Node: TCP/IP Networking749513 +Node: Profiling752357 +Node: Internationalization759854 +Node: I18N and L10N761279 +Node: Explaining gettext761965 +Ref: Explaining gettext-Footnote-1767033 +Ref: Explaining gettext-Footnote-2767217 +Node: Programmer i18n767382 +Node: Translator i18n771584 +Node: String Extraction772377 +Ref: String Extraction-Footnote-1773338 +Node: Printf Ordering773424 +Ref: Printf Ordering-Footnote-1776208 +Node: I18N Portability776272 +Ref: I18N Portability-Footnote-1778721 +Node: I18N Example778784 +Ref: I18N Example-Footnote-1781422 +Node: Gawk I18N781494 +Node: Debugger782115 +Node: Debugging783086 +Node: Debugging Concepts783519 +Node: Debugging Terms785375 +Node: Awk Debugging787972 +Node: Sample Debugging Session788864 +Node: Debugger Invocation789384 +Node: Finding The Bug790716 +Node: List of Debugger Commands797204 +Node: Breakpoint Control798538 +Node: Debugger Execution Control802202 +Node: Viewing And Changing Data805562 +Node: Execution Stack808918 +Node: Debugger Info810385 +Node: Miscellaneous Debugger Commands814367 +Node: Readline Support819543 +Node: Limitations820374 +Node: Arbitrary Precision Arithmetic822626 +Ref: Arbitrary Precision Arithmetic-Footnote-1824277 +Node: General Arithmetic824425 +Node: Floating Point Issues826145 +Node: String Conversion Precision827026 +Ref: String Conversion Precision-Footnote-1828731 +Node: Unexpected Results828840 +Node: POSIX Floating Point Problems830993 +Ref: POSIX Floating Point Problems-Footnote-1834818 +Node: Integer Programming834856 +Node: Floating-point Programming836595 +Ref: Floating-point Programming-Footnote-1842926 +Ref: Floating-point Programming-Footnote-2843196 +Node: Floating-point Representation843460 +Node: Floating-point Context844625 +Ref: table-ieee-formats845464 +Node: Rounding Mode846848 +Ref: table-rounding-modes847327 +Ref: Rounding Mode-Footnote-1850342 +Node: Gawk and MPFR850521 +Node: Arbitrary Precision Floats851776 +Ref: Arbitrary Precision Floats-Footnote-1854219 +Node: Setting Precision854535 +Ref: table-predefined-precision-strings855221 +Node: Setting Rounding Mode857366 +Ref: table-gawk-rounding-modes857770 +Node: Floating-point Constants858957 +Node: Changing Precision860386 +Ref: Changing Precision-Footnote-1861786 +Node: Exact Arithmetic861960 +Node: Arbitrary Precision Integers865098 +Ref: Arbitrary Precision Integers-Footnote-1868116 +Node: Dynamic Extensions868263 +Node: Extension Intro869721 +Node: Plugin License870986 +Node: Extension Mechanism Outline871671 +Ref: load-extension872088 +Ref: load-new-function873566 +Ref: call-new-function874561 +Node: Extension API Description876576 +Node: Extension API Functions Introduction877789 +Node: General Data Types882655 +Ref: General Data Types-Footnote-1888257 +Node: Requesting Values888556 +Ref: table-value-types-returned889287 +Node: Constructor Functions890241 +Node: Registration Functions893261 +Node: Extension Functions893946 +Node: Exit Callback Functions896171 +Node: Extension Version String897420 +Node: Input Parsers898070 +Node: Output Wrappers907827 +Node: Two-way processors912337 +Node: Printing Messages914545 +Ref: Printing Messages-Footnote-1915622 +Node: Updating `ERRNO'915774 +Node: Accessing Parameters916513 +Node: Symbol Table Access917743 +Node: Symbol table by name918255 +Node: Symbol table by cookie920002 +Ref: Symbol table by cookie-Footnote-1924132 +Node: Cached values924195 +Ref: Cached values-Footnote-1927644 +Node: Array Manipulation927735 +Ref: Array Manipulation-Footnote-1928833 +Node: Array Data Types928872 +Ref: Array Data Types-Footnote-1931575 +Node: Array Functions931667 +Node: Flattening Arrays935433 +Node: Creating Arrays942285 +Node: Extension API Variables947010 +Node: Extension Versioning947646 +Node: Extension API Informational Variables949547 +Node: Extension API Boilerplate950633 +Node: Finding Extensions954437 +Node: Extension Example954997 +Node: Internal File Description955728 +Node: Internal File Ops959819 +Ref: Internal File Ops-Footnote-1971327 +Node: Using Internal File Ops971467 +Ref: Using Internal File Ops-Footnote-1973820 +Node: Extension Samples974086 +Node: Extension Sample File Functions975610 +Node: Extension Sample Fnmatch984095 +Node: Extension Sample Fork985821 +Node: Extension Sample Inplace987039 +Node: Extension Sample Ord988817 +Node: Extension Sample Readdir989653 +Node: Extension Sample Revout991185 +Node: Extension Sample Rev2way991778 +Node: Extension Sample Read write array992468 +Node: Extension Sample Readfile994351 +Node: Extension Sample API Tests995169 +Node: Extension Sample Time995694 +Node: gawkextlib997058 +Node: Language History999818 +Node: V7/SVR3.11001340 Node: SVR41003660 Node: POSIX1005102 Node: BTL1006488 @@ -32637,60 +32650,60 @@ Ref: Ranges and Locales-Footnote-11018681 Ref: Ranges and Locales-Footnote-21018708 Ref: Ranges and Locales-Footnote-31018968 Node: Contributors1019189 -Node: Installation1024068 -Node: Gawk Distribution1024962 -Node: Getting1025446 -Node: Extracting1026272 -Node: Distribution contents1027964 -Node: Unix Installation1033225 -Node: Quick Installation1033842 -Node: Additional Configuration Options1036286 -Node: Configuration Philosophy1037763 -Node: Non-Unix Installation1040117 -Node: PC Installation1040575 -Node: PC Binary Installation1041874 -Node: PC Compiling1043722 -Node: PC Testing1046666 -Node: PC Using1047842 -Node: Cygwin1052027 -Node: MSYS1053027 -Node: VMS Installation1053541 -Node: VMS Compilation1054144 -Ref: VMS Compilation-Footnote-11055151 -Node: VMS Installation Details1055209 -Node: VMS Running1056844 -Node: VMS Old Gawk1058451 -Node: Bugs1058925 -Node: Other Versions1062777 -Node: Notes1068858 -Node: Compatibility Mode1069658 -Node: Additions1070441 -Node: Accessing The Source1071368 -Node: Adding Code1072808 -Node: New Ports1078853 -Node: Derived Files1082988 -Ref: Derived Files-Footnote-11088309 -Ref: Derived Files-Footnote-21088343 -Ref: Derived Files-Footnote-31088943 -Node: Future Extensions1089041 -Node: Implementation Limitations1089622 -Node: Extension Design1090874 -Node: Old Extension Problems1092028 -Ref: Old Extension Problems-Footnote-11093536 -Node: Extension New Mechanism Goals1093593 -Ref: Extension New Mechanism Goals-Footnote-11096959 -Node: Extension Other Design Decisions1097145 -Node: Extension Future Growth1099251 -Node: Old Extension Mechanism1100087 -Node: Basic Concepts1101827 -Node: Basic High Level1102508 -Ref: figure-general-flow1102779 -Ref: figure-process-flow1103378 -Ref: Basic High Level-Footnote-11106607 -Node: Basic Data Typing1106792 -Node: Glossary1110147 -Node: Copying1135609 -Node: GNU Free Documentation License1173166 -Node: Index1198303 +Node: Installation1024265 +Node: Gawk Distribution1025159 +Node: Getting1025643 +Node: Extracting1026469 +Node: Distribution contents1028161 +Node: Unix Installation1033705 +Node: Quick Installation1034322 +Node: Additional Configuration Options1036766 +Node: Configuration Philosophy1038243 +Node: Non-Unix Installation1040597 +Node: PC Installation1041055 +Node: PC Binary Installation1042354 +Node: PC Compiling1044202 +Node: PC Testing1047146 +Node: PC Using1048322 +Node: Cygwin1052507 +Node: MSYS1053507 +Node: VMS Installation1054021 +Node: VMS Compilation1054624 +Ref: VMS Compilation-Footnote-11055631 +Node: VMS Installation Details1055689 +Node: VMS Running1057324 +Node: VMS Old Gawk1058931 +Node: Bugs1059405 +Node: Other Versions1063257 +Node: Notes1069338 +Node: Compatibility Mode1070138 +Node: Additions1070921 +Node: Accessing The Source1071848 +Node: Adding Code1073288 +Node: New Ports1079333 +Node: Derived Files1083468 +Ref: Derived Files-Footnote-11088789 +Ref: Derived Files-Footnote-21088823 +Ref: Derived Files-Footnote-31089423 +Node: Future Extensions1089521 +Node: Implementation Limitations1090102 +Node: Extension Design1091354 +Node: Old Extension Problems1092508 +Ref: Old Extension Problems-Footnote-11094016 +Node: Extension New Mechanism Goals1094073 +Ref: Extension New Mechanism Goals-Footnote-11097438 +Node: Extension Other Design Decisions1097624 +Node: Extension Future Growth1099730 +Node: Old Extension Mechanism1100566 +Node: Basic Concepts1102306 +Node: Basic High Level1102987 +Ref: figure-general-flow1103258 +Ref: figure-process-flow1103857 +Ref: Basic High Level-Footnote-11107086 +Node: Basic Data Typing1107271 +Node: Glossary1110626 +Node: Copying1136088 +Node: GNU Free Documentation License1173645 +Node: Index1198782  End Tag Table -- cgit v1.2.3 From 07aa3d5dafee42fcaa3eaa0370a187c5cb53570e Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 3 Nov 2013 22:15:37 +0200 Subject: Doc fixes. --- doc/gawk.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index e9965f69..efd6af7c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1081,7 +1081,7 @@ by first pressing and holding the `CONTROL' key, next pressing the `d' key and finally releasing both keys. Dark Corners -............ +------------ Dark corners are basically fractal -- no matter how much you illuminate, there's always a smaller but darker one. -- cgit v1.2.3 From 733c86921bbd3bbeb63adce2a242a73236556ada Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 8 Nov 2013 10:03:01 +0200 Subject: Doc updates on distribution contents. --- doc/gawk.info | 142 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 72 insertions(+), 70 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index efd6af7c..0bbd7728 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25605,6 +25605,13 @@ to different non-Unix operating systems: Various `.c', `.y', and `.h' files The actual `gawk' source code. +`ABOUT-NLS' + Information about GNU `gettext' and translations. + +`AUTHORS' + A file with some information about the authorship of `gawk'. It + exists only to satisfy the pedants at the Free Software Foundation. + `README' `README_d/README.*' Descriptive files: `README' for `gawk' under Unix and the rest for @@ -25630,16 +25637,6 @@ Various `.c', `.y', and `.h' files `COPYING' The GNU General Public License. -`FUTURES' - A brief list of features and changes being contemplated for future - releases, with some indication of the time frame for the feature, - based on its difficulty. - -`LIMITATIONS' - A list of those factors that limit `gawk''s performance. Most of - these depend on the hardware or operating system software and are - not limits in `gawk' itself. - `POSIX.STD' A description of behaviors in the POSIX standard for `awk' which are left undefined, or where `gawk' may not comply fully, as well @@ -25674,11 +25671,11 @@ Various `.c', `.y', and `.h' files `doc/gawktexi.in' `doc/sidebar.awk' The Texinfo source file for this Info file. It should be - processed by `doc/sidebar.awk' before processing with TeX It - should be processed with to produce a printed document, and with - `makeinfo' to produce an Info or HTML file. The `Makefile' takes - care of this processing and produces printable output via - `texi2dvi' or `texi2pdf'. + processed by `doc/sidebar.awk' before processing with `texi2dvi' + or `texi2pdf' to produce a printed document, and with `makeinfo' + to produce an Info or HTML file. The `Makefile' takes care of + this processing and produces printable output via `texi2dvi' or + `texi2pdf'. `doc/gawk.texi' The file produced after processing `gawktexi.in' with @@ -25712,16 +25709,21 @@ Various `.c', `.y', and `.h' files `Makefile.in' `aclocal.m4' +`bisonfix.awk' `config.guess' `configh.in' `configure.ac' `configure' `custom.h' +`depcomp' +`install-sh' `missing_d/*' +`mkinstalldirs' `m4/*' - These files and subdirectories are used when configuring `gawk' - for various Unix systems. They are explained in *note Unix - Installation::. + These files and subdirectories are used when configuring and + compiling `gawk' for various Unix systems. Most of them are + explained in *note Unix Installation::. The rest are there to + support the main infrastructure. `po/*' The `po' library contains message translations. @@ -29745,7 +29747,7 @@ Index * arrays, subscripts, uninitialized variables as: Uninitialized Subscripts. (line 6) * artificial intelligence, gawk and: Distribution contents. - (line 55) + (line 52) * ASCII <1>: Glossary. (line 141) * ASCII: Ordinal Functions. (line 45) * asort() function (gawk) <1>: Array Sorting Functions. @@ -31951,7 +31953,7 @@ Index (line 6) * Texinfo <1>: Adding Code. (line 99) * Texinfo <2>: Distribution contents. - (line 80) + (line 77) * Texinfo <3>: Extract Program. (line 12) * Texinfo <4>: Dupword Program. (line 17) * Texinfo <5>: Library Functions. (line 33) @@ -32655,55 +32657,55 @@ Node: Gawk Distribution1025159 Node: Getting1025643 Node: Extracting1026469 Node: Distribution contents1028161 -Node: Unix Installation1033705 -Node: Quick Installation1034322 -Node: Additional Configuration Options1036766 -Node: Configuration Philosophy1038243 -Node: Non-Unix Installation1040597 -Node: PC Installation1041055 -Node: PC Binary Installation1042354 -Node: PC Compiling1044202 -Node: PC Testing1047146 -Node: PC Using1048322 -Node: Cygwin1052507 -Node: MSYS1053507 -Node: VMS Installation1054021 -Node: VMS Compilation1054624 -Ref: VMS Compilation-Footnote-11055631 -Node: VMS Installation Details1055689 -Node: VMS Running1057324 -Node: VMS Old Gawk1058931 -Node: Bugs1059405 -Node: Other Versions1063257 -Node: Notes1069338 -Node: Compatibility Mode1070138 -Node: Additions1070921 -Node: Accessing The Source1071848 -Node: Adding Code1073288 -Node: New Ports1079333 -Node: Derived Files1083468 -Ref: Derived Files-Footnote-11088789 -Ref: Derived Files-Footnote-21088823 -Ref: Derived Files-Footnote-31089423 -Node: Future Extensions1089521 -Node: Implementation Limitations1090102 -Node: Extension Design1091354 -Node: Old Extension Problems1092508 -Ref: Old Extension Problems-Footnote-11094016 -Node: Extension New Mechanism Goals1094073 -Ref: Extension New Mechanism Goals-Footnote-11097438 -Node: Extension Other Design Decisions1097624 -Node: Extension Future Growth1099730 -Node: Old Extension Mechanism1100566 -Node: Basic Concepts1102306 -Node: Basic High Level1102987 -Ref: figure-general-flow1103258 -Ref: figure-process-flow1103857 -Ref: Basic High Level-Footnote-11107086 -Node: Basic Data Typing1107271 -Node: Glossary1110626 -Node: Copying1136088 -Node: GNU Free Documentation License1173645 -Node: Index1198782 +Node: Unix Installation1033681 +Node: Quick Installation1034298 +Node: Additional Configuration Options1036742 +Node: Configuration Philosophy1038219 +Node: Non-Unix Installation1040573 +Node: PC Installation1041031 +Node: PC Binary Installation1042330 +Node: PC Compiling1044178 +Node: PC Testing1047122 +Node: PC Using1048298 +Node: Cygwin1052483 +Node: MSYS1053483 +Node: VMS Installation1053997 +Node: VMS Compilation1054600 +Ref: VMS Compilation-Footnote-11055607 +Node: VMS Installation Details1055665 +Node: VMS Running1057300 +Node: VMS Old Gawk1058907 +Node: Bugs1059381 +Node: Other Versions1063233 +Node: Notes1069314 +Node: Compatibility Mode1070114 +Node: Additions1070897 +Node: Accessing The Source1071824 +Node: Adding Code1073264 +Node: New Ports1079309 +Node: Derived Files1083444 +Ref: Derived Files-Footnote-11088765 +Ref: Derived Files-Footnote-21088799 +Ref: Derived Files-Footnote-31089399 +Node: Future Extensions1089497 +Node: Implementation Limitations1090078 +Node: Extension Design1091330 +Node: Old Extension Problems1092484 +Ref: Old Extension Problems-Footnote-11093992 +Node: Extension New Mechanism Goals1094049 +Ref: Extension New Mechanism Goals-Footnote-11097414 +Node: Extension Other Design Decisions1097600 +Node: Extension Future Growth1099706 +Node: Old Extension Mechanism1100542 +Node: Basic Concepts1102282 +Node: Basic High Level1102963 +Ref: figure-general-flow1103234 +Ref: figure-process-flow1103833 +Ref: Basic High Level-Footnote-11107062 +Node: Basic Data Typing1107247 +Node: Glossary1110602 +Node: Copying1136064 +Node: GNU Free Documentation License1173621 +Node: Index1198758  End Tag Table -- cgit v1.2.3 From eac9994fe3f765848d7815bb32ece216cd3a7cac Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 28 Nov 2013 21:49:56 +0200 Subject: Some doc edits. --- doc/gawk.info | 1212 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 598 insertions(+), 614 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 0bbd7728..24f08018 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1084,8 +1084,8 @@ Dark Corners ------------ Dark corners are basically fractal -- no matter how much you - illuminate, there's always a smaller but darker one. - Brian Kernighan + illuminate, there's always a smaller but darker one. -- Brian + Kernighan Until the POSIX standard (and `GAWK: Effective AWK Programming'), many features of `awk' were either poorly documented or not documented @@ -3065,8 +3065,7 @@ File: gawk.info, Node: Undocumented, Prev: Obsolete, Up: Invoking Gawk 2.10 Undocumented Options and Features ====================================== - Use the Source, Luke! - Obi-Wan + Use the Source, Luke! -- Obi-Wan This minor node intentionally left blank. @@ -5304,8 +5303,7 @@ File: gawk.info, Node: Getline/Pipe, Next: Getline/Variable/Pipe, Prev: Getli --------------------------------- Omniscience has much to recommend it. Failing that, attention to - details would be useful. - Brian Kernighan + details would be useful. -- Brian Kernighan The output of a command can also be piped into `getline', using `COMMAND | getline'. In this case, the string COMMAND is run as a @@ -7315,8 +7313,7 @@ File: gawk.info, Node: Concatenation, Next: Assignment Ops, Prev: Arithmetic 6.2.2 String Concatenation -------------------------- - It seemed like a good idea at the time. - Brian Kernighan + It seemed like a good idea at the time. -- Brian Kernighan There is only one string operation: concatenation. It does not have a specific operator to represent it. Instead, concatenation is @@ -7622,8 +7619,7 @@ is a summary of increment and decrement expressions: Operator Evaluation Order Doctor, doctor! It hurts when I do this! - So don't do that! - Groucho Marx + So don't do that! -- Groucho Marx What happens for something like the following? @@ -7704,8 +7700,8 @@ File: gawk.info, Node: Typing and Comparison, Next: Boolean Ops, Prev: Truth 6.3.2 Variable Typing and Comparison Expressions ------------------------------------------------ - The Guide is definitive. Reality is frequently inaccurate. - The Hitchhiker's Guide to the Galaxy + The Guide is definitive. Reality is frequently inaccurate. -- The + Hitchhiker's Guide to the Galaxy Unlike other programming languages, `awk' variables do not have a fixed type. Instead, they can be either a number or a string, depending @@ -10133,8 +10129,7 @@ File: gawk.info, Node: Array Intro, Next: Reference to Elements, Up: Array Ba ---------------------------- Doing linear scans over an associative array is like trying to - club someone to death with a loaded Uzi. - Larry Wall + club someone to death with a loaded Uzi. -- Larry Wall The `awk' language provides one-dimensional arrays for storing groups of related strings or numbers. Every `awk' array must have a @@ -12430,7 +12425,7 @@ File: gawk.info, Node: Bitwise Functions, Next: Type Functions, Prev: Time Fu 9.1.6 Bit-Manipulation Functions -------------------------------- - I can explain it for you, but I can't understand it for you. + I can explain it for you, but I can't understand it for you. -- Anonymous Many languages provide the ability to perform "bitwise" operations @@ -13500,7 +13495,7 @@ algorithms and program tasks in a single place. It simplifies programming, making program development more manageable, and making programs more readable. - In their seminal 1976 book, `Software Tools'(1), Brian Kernighan and + In their seminal 1976 book, `Software Tools',(1) Brian Kernighan and P.J. Plauger wrote: Good Programming is not learned from generalities, but by seeing @@ -16640,8 +16635,8 @@ File: gawk.info, Node: Alarm Program, Next: Translate Program, Prev: Dupword 11.3.2 An Alarm Clock Program ----------------------------- - Nothing cures insomnia like a ringing alarm clock. - Arnold Robbins + Nothing cures insomnia like a ringing alarm clock. -- Arnold + Robbins The following program is a simple "alarm clock" program. You give it a time of day and an optional message. At the specified time, it @@ -16885,10 +16880,10 @@ program. ---------- Footnotes ---------- - (1) On some older systems, `tr' may require that the lists be -written as range expressions enclosed in square brackets (`[a-z]') and -quoted, to prevent the shell from attempting a file name expansion. -This is not a feature. + (1) On some older systems, including Solaris, `tr' may require that +the lists be written as range expressions enclosed in square brackets +(`[a-z]') and quoted, to prevent the shell from attempting a file name +expansion. This is not a feature. (2) This program was written before `gawk' acquired the ability to split each character in a string into separate array elements. @@ -17954,8 +17949,8 @@ File: gawk.info, Node: Advanced Features, Next: Internationalization, Prev: S ****************************** Write documentation as if whoever reads it is a violent psychopath - who knows where you live. - Steve English, as quoted by Peter Langston + who knows where you live. -- Steve English, as quoted by Peter + Langston This major node discusses advanced features in `gawk'. It's a bit of a "grab bag" of items that are otherwise unrelated to each other. @@ -20452,8 +20447,7 @@ File: gawk.info, Node: Arbitrary Precision Arithmetic, Next: Dynamic Extension authority; they tend to believe that all digits of a printed answer are significant. Disillusioned computer users have just the opposite approach; they are constantly afraid that their answers - are almost meaningless. - Donald Knuth(1) + are almost meaningless.(1) -- Donald Knuth This major node discusses issues that you may encounter when performing arithmetic. It begins by discussing some of the general @@ -21334,9 +21328,7 @@ File: gawk.info, Node: Changing Precision, Next: Exact Arithmetic, Prev: Floa them to full membership of the high-precision club, or do we treat them and all their associates as second-class citizens? Sometimes the first course is proper, sometimes the second, and it takes - careful analysis to tell which. - - Dirk Laurie(1) + careful analysis to tell which.(1) -- Dirk Laurie `gawk' does not implicitly modify the precision of any previously computed results when the working precision is changed with an @@ -21844,12 +21836,9 @@ File: gawk.info, Node: General Data Types, Next: Requesting Values, Prev: Ext 16.4.2 General Purpose Data Types --------------------------------- - I have a true love/hate relationship with unions. - Arnold Robbins - - That's the thing about unions: the compiler will arrange things so - they can accommodate both love and hate. - Chet Ramey + I have a true love/hate relationship with unions. -- Arnold + Robbins That's the thing about unions: the compiler will arrange + things so they can accommodate both love and hate. -- Chet Ramey The extension API defines a number of simple types and structures for general purpose use. Additional, more specialized, data structures @@ -23632,8 +23621,7 @@ File: gawk.info, Node: Extension Example, Next: Extension Samples, Prev: Find 16.6 Example: Some File Functions ================================= - No matter where you go, there you are. - Buckaroo Bonzai + No matter where you go, there you are. -- Buckaroo Bonzai Two useful functions that are not in `awk' are `chdir()' (so that an `awk' program can change its directory) and `stat()' (so that an `awk' @@ -25364,8 +25352,7 @@ File: gawk.info, Node: Contributors, Prev: Ranges and Locales, Up: Language H A.8 Major Contributors to `gawk' ================================ - Always give credit where credit is due. - Anonymous + Always give credit where credit is due. -- Anonymous This minor node names the major contributors to `gawk' and/or this Info file, in approximate chronological order: @@ -26376,8 +26363,8 @@ File: gawk.info, Node: Bugs, Next: Other Versions, Prev: Non-Unix Installatio B.4 Reporting Problems and Bugs =============================== - There is nothing more dangerous than a bored archeologist. - The Hitchhiker's Guide to the Galaxy + There is nothing more dangerous than a bored archeologist. -- The + Hitchhiker's Guide to the Galaxy If you have problems with `gawk' or think that you have found a bug, please report it to the developers; we cannot promise to do anything @@ -26456,8 +26443,8 @@ B.5 Other Freely Available `awk' Implementations ================================================ It's kind of fun to put comments like this in your awk code. - `// Do C++ comments work? answer: yes! of course' - Michael Brennan + `// Do C++ comments work? answer: yes! of course' -- Michael + Brennan There are a number of other freely available `awk' implementations. This minor node briefly describes where to get them: @@ -27060,10 +27047,7 @@ C.3 Probable Future Extensions ============================== AWK is a language similar to PERL, only considerably more elegant. - Arnold Robbins - - Hey! - Larry Wall + -- Arnold Robbins Hey! -- Larry Wall The `TODO' file in the `gawk' Git repository lists possible future enhancements. Some of these relate to the source code, and others to @@ -29681,7 +29665,7 @@ Index (line 23) * advanced features, specifying field content: Splitting By Content. (line 9) -* Aho, Alfred <1>: Contributors. (line 12) +* Aho, Alfred <1>: Contributors. (line 11) * Aho, Alfred: History. (line 17) * alarm clock example program: Alarm Program. (line 9) * alarm.awk program: Alarm Program. (line 29) @@ -29720,7 +29704,7 @@ Index * arrays: Arrays. (line 6) * arrays, as parameters to functions: Pass By Value/Reference. (line 47) -* arrays, associative: Array Intro. (line 50) +* arrays, associative: Array Intro. (line 49) * arrays, associative, library functions and: Library Names. (line 57) * arrays, deleting entire contents: Delete. (line 39) * arrays, elements, assigning: Assigning Elements. (line 6) @@ -29730,8 +29714,8 @@ Index (line 6) * arrays, elements, retrieving number of: String Functions. (line 29) * arrays, for statement and: Scanning an Array. (line 20) -* arrays, IGNORECASE variable and: Array Intro. (line 92) -* arrays, indexing: Array Intro. (line 50) +* arrays, IGNORECASE variable and: Array Intro. (line 91) +* arrays, indexing: Array Intro. (line 49) * arrays, merging into strings: Join Function. (line 6) * arrays, multidimensional: Multidimensional. (line 10) * arrays, multidimensional, scanning: Multiscanning. (line 11) @@ -29741,7 +29725,7 @@ Index (line 6) * arrays, sorting, IGNORECASE variable and: Array Sorting Functions. (line 81) -* arrays, sparse: Array Intro. (line 71) +* arrays, sparse: Array Intro. (line 70) * arrays, subscripts: Numeric Array Subscripts. (line 6) * arrays, subscripts, uninitialized variables as: Uninitialized Subscripts. @@ -29763,7 +29747,7 @@ Index * assignment operators, evaluation order: Assignment Ops. (line 111) * assignment operators, lvalues/rvalues: Assignment Ops. (line 32) * assignments as filenames: Ignoring Assigns. (line 6) -* associative arrays: Array Intro. (line 50) +* associative arrays: Array Intro. (line 49) * asterisk (*), * operator, as multiplication operator: Precedence. (line 55) * asterisk (*), * operator, as regexp operator: Regexp Operators. @@ -29917,7 +29901,7 @@ Index * BEGINFILE pattern, Boolean patterns and: Expression Patterns. (line 73) * beginfile() user-defined function: Filetrans Function. (line 62) -* Benzinger, Michael: Contributors. (line 98) +* Benzinger, Michael: Contributors. (line 97) * Berry, Karl: Acknowledgments. (line 33) * binary input/output: User-modified. (line 10) * bindtextdomain() function (C library): Explaining gettext. (line 49) @@ -29962,12 +29946,12 @@ Index * Brennan, Michael: Delete. (line 56) * Brian Kernighan's awk: Other Versions. (line 13) * Brian Kernighan's awk, extensions: BTL. (line 6) -* Broder, Alan J.: Contributors. (line 89) -* Brown, Martin: Contributors. (line 83) +* Broder, Alan J.: Contributors. (line 88) +* Brown, Martin: Contributors. (line 82) * BSD-based operating systems: Glossary. (line 624) * bt debugger command (alias for backtrace): Execution Stack. (line 13) * Buening, Andreas <1>: Bugs. (line 71) -* Buening, Andreas <2>: Contributors. (line 93) +* Buening, Andreas <2>: Contributors. (line 92) * Buening, Andreas: Acknowledgments. (line 60) * buffering, input/output <1>: Two-way I/O. (line 70) * buffering, input/output: I/O Functions. (line 137) @@ -29996,7 +29980,7 @@ Index * caret (^), in bracket expressions: Bracket Expressions. (line 17) * caret (^), regexp operator: Regexp Operators. (line 22) * case keyword: Switch Statement. (line 6) -* case sensitivity, array indices and: Array Intro. (line 92) +* case sensitivity, array indices and: Array Intro. (line 91) * case sensitivity, converting case: String Functions. (line 524) * case sensitivity, example programs: Library Functions. (line 53) * case sensitivity, gawk: Case-sensitivity. (line 26) @@ -30028,13 +30012,13 @@ Index * close() function <1>: I/O Functions. (line 10) * close() function <2>: Close Files And Pipes. (line 18) -* close() function <3>: Getline/Pipe. (line 28) +* close() function <3>: Getline/Pipe. (line 27) * close() function: Getline/Variable/File. (line 30) * close() function, return value: Close Files And Pipes. (line 130) * close() function, two-way pipes and: Two-way I/O. (line 77) -* Close, Diane <1>: Contributors. (line 21) +* Close, Diane <1>: Contributors. (line 20) * Close, Diane: Manual History. (line 41) * Collado, Manuel: Acknowledgments. (line 60) * collating elements: Bracket Expressions. (line 69) @@ -30100,7 +30084,7 @@ Index * compl() function (gawk): Bitwise Functions. (line 43) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) -* concatenating: Concatenation. (line 9) +* concatenating: Concatenation. (line 8) * condition debugger command: Breakpoint Control. (line 54) * conditional expressions: Conditional Exp. (line 6) * configuration option, --disable-lint: Additional Configuration Options. @@ -30202,7 +30186,7 @@ Index * dates, converting to timestamps: Time Functions. (line 75) * dates, information related to, localization: Explaining gettext. (line 115) -* Davies, Stephen <1>: Contributors. (line 75) +* Davies, Stephen <1>: Contributors. (line 74) * Davies, Stephen: Acknowledgments. (line 60) * dcgettext() function (gawk) <1>: Programmer i18n. (line 19) * dcgettext() function (gawk): I18N Functions. (line 22) @@ -30315,7 +30299,7 @@ Index * decrement operators: Increment Ops. (line 35) * default keyword: Switch Statement. (line 6) * Deifik, Scott <1>: Bugs. (line 70) -* Deifik, Scott <2>: Contributors. (line 54) +* Deifik, Scott <2>: Contributors. (line 53) * Deifik, Scott: Acknowledgments. (line 60) * delete debugger command: Breakpoint Control. (line 64) * delete statement: Delete. (line 6) @@ -30481,7 +30465,7 @@ Index * eval debugger command: Viewing And Changing Data. (line 23) * evaluation order: Increment Ops. (line 60) -* evaluation order, concatenation: Concatenation. (line 42) +* evaluation order, concatenation: Concatenation. (line 41) * evaluation order, functions: Calling Built-in. (line 30) * examining fields: Fields. (line 6) * exclamation point (!), ! operator <1>: Egrep Program. (line 170) @@ -30544,7 +30528,7 @@ Index * features, advanced, See advanced features: Obsolete. (line 6) * features, deprecated: Obsolete. (line 6) * features, undocumented: Undocumented. (line 6) -* Fenlason, Jay <1>: Contributors. (line 19) +* Fenlason, Jay <1>: Contributors. (line 18) * Fenlason, Jay: History. (line 30) * fflush() function: I/O Functions. (line 25) * field numbers: Nonconstant Fields. (line 6) @@ -30642,7 +30626,7 @@ Index * files, Texinfo, extracting programs from: Extract Program. (line 6) * finish debugger command: Debugger Execution Control. (line 39) -* Fish, Fred: Contributors. (line 51) +* Fish, Fred: Contributors. (line 50) * fixed-width data: Constant Size. (line 9) * flag variables <1>: Tee Program. (line 20) * flag variables: Boolean Ops. (line 67) @@ -30748,7 +30732,7 @@ Index * functions, user-defined, next/nextfile statements and: Next Statement. (line 45) * G-d: Acknowledgments. (line 78) -* Garfinkle, Scott: Contributors. (line 35) +* Garfinkle, Scott: Contributors. (line 34) * gawk program, dynamic profiling: Profiling. (line 172) * gawk, ARGIND variable in: Other Arguments. (line 12) * gawk, awk and <1>: This Manual. (line 14) @@ -30793,7 +30777,7 @@ Index * gawk, IGNORECASE variable in <1>: Array Sorting Functions. (line 81) * gawk, IGNORECASE variable in <2>: String Functions. (line 29) -* gawk, IGNORECASE variable in <3>: Array Intro. (line 92) +* gawk, IGNORECASE variable in <3>: Array Intro. (line 91) * gawk, IGNORECASE variable in <4>: User-modified. (line 82) * gawk, IGNORECASE variable in: Case-sensitivity. (line 26) * gawk, implementation issues: Notes. (line 6) @@ -30909,7 +30893,7 @@ Index * GPL (General Public License): Manual History. (line 11) * GPL (General Public License), printing: Options. (line 102) * grcat program: Group Functions. (line 16) -* Grigera, Juan: Contributors. (line 58) +* Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) * groups, information about: Group Functions. (line 6) @@ -30920,12 +30904,12 @@ Index * gsub() function, escape processing: Gory Details. (line 6) * h debugger command (alias for help): Miscellaneous Debugger Commands. (line 66) -* Hankerson, Darrel <1>: Contributors. (line 61) +* Hankerson, Darrel <1>: Contributors. (line 60) * Hankerson, Darrel: Acknowledgments. (line 60) -* Haque, John: Contributors. (line 104) +* Haque, John: Contributors. (line 103) * Hartholz, Elaine: Acknowledgments. (line 38) * Hartholz, Marshall: Acknowledgments. (line 38) -* Hasegawa, Isamu: Contributors. (line 95) +* Hasegawa, Isamu: Contributors. (line 94) * help debugger command: Miscellaneous Debugger Commands. (line 66) * hexadecimal numbers: Nondecimal-numbers. (line 6) @@ -30953,12 +30937,12 @@ Index * IGNORECASE variable <1>: Array Sorting Functions. (line 81) * IGNORECASE variable <2>: String Functions. (line 29) -* IGNORECASE variable <3>: Array Intro. (line 92) +* IGNORECASE variable <3>: Array Intro. (line 91) * IGNORECASE variable <4>: User-modified. (line 82) * IGNORECASE variable: Case-sensitivity. (line 26) * IGNORECASE variable, array sorting and: Array Sorting Functions. (line 81) -* IGNORECASE variable, array subscripts and: Array Intro. (line 92) +* IGNORECASE variable, array subscripts and: Array Intro. (line 91) * IGNORECASE variable, in example programs: Library Functions. (line 53) * Illumos: Other Versions. (line 104) @@ -30977,7 +30961,7 @@ Index (line 11) * increment operators: Increment Ops. (line 6) * index() function: String Functions. (line 155) -* indexing arrays: Array Intro. (line 50) +* indexing arrays: Array Intro. (line 49) * indirect function calls: Indirect Calls. (line 6) * infinite precision: Arbitrary Precision Arithmetic. (line 6) @@ -30993,7 +30977,7 @@ Index * input files, reading: Reading Files. (line 6) * input files, running awk without: Read Terminal. (line 6) * input files, variable assignments and: Other Arguments. (line 19) -* input pipeline: Getline/Pipe. (line 10) +* input pipeline: Getline/Pipe. (line 9) * input redirection: Getline/File. (line 6) * input, data, nondecimal: Nondecimal Data. (line 6) * input, explicit: Getline. (line 6) @@ -31040,20 +31024,20 @@ Index * ISO 8859-1: Glossary. (line 141) * ISO Latin-1: Glossary. (line 141) * Jacobs, Andrew: Passwd Functions. (line 90) -* Jaegermann, Michal <1>: Contributors. (line 46) +* Jaegermann, Michal <1>: Contributors. (line 45) * Jaegermann, Michal: Acknowledgments. (line 60) * Java implementation of awk: Other Versions. (line 112) * Java programming language: Glossary. (line 388) * jawk: Other Versions. (line 112) * Jedi knights: Undocumented. (line 6) * join() user-defined function: Join Function. (line 18) -* Kahrs, Ju"rgen <1>: Contributors. (line 71) +* Kahrs, Ju"rgen <1>: Contributors. (line 70) * Kahrs, Ju"rgen: Acknowledgments. (line 60) * Kasal, Stepan: Acknowledgments. (line 60) * Kenobi, Obi-Wan: Undocumented. (line 6) * Kernighan, Brian <1>: Basic Data Typing. (line 55) * Kernighan, Brian <2>: Other Versions. (line 13) -* Kernighan, Brian <3>: Contributors. (line 12) +* Kernighan, Brian <3>: Contributors. (line 11) * Kernighan, Brian <4>: BTL. (line 6) * Kernighan, Brian <5>: Concatenation. (line 6) * Kernighan, Brian <6>: Acknowledgments. (line 72) @@ -31063,7 +31047,7 @@ Index * Knights, jedi: Undocumented. (line 6) * Knuth, Donald: Arbitrary Precision Arithmetic. (line 6) -* Kwok, Conrad: Contributors. (line 35) +* Kwok, Conrad: Contributors. (line 34) * l debugger command (alias for list): Miscellaneous Debugger Commands. (line 72) * labels.awk program: Labels Program. (line 51) @@ -31178,7 +31162,7 @@ Index * matching, leftmost longest: Multiple Line. (line 26) * matching, null strings: Gory Details. (line 164) * mawk program: Other Versions. (line 44) -* McPhee, Patrick: Contributors. (line 101) +* McPhee, Patrick: Contributors. (line 100) * message object files: Explaining gettext. (line 41) * message object files, converting from portable object files: I18N Example. (line 62) @@ -31310,7 +31294,7 @@ Index * operators, input/output <1>: Precedence. (line 65) * operators, input/output <2>: Redirection. (line 22) * operators, input/output <3>: Getline/Coprocess. (line 6) -* operators, input/output <4>: Getline/Pipe. (line 10) +* operators, input/output <4>: Getline/Pipe. (line 9) * operators, input/output: Getline/File. (line 6) * operators, logical, See Boolean expressions: Boolean Ops. (line 6) * operators, precedence <1>: Precedence. (line 6) @@ -31318,7 +31302,7 @@ Index * operators, relational, See operators, comparison: Typing and Comparison. (line 9) * operators, short-circuit: Boolean Ops. (line 57) -* operators, string: Concatenation. (line 9) +* operators, string: Concatenation. (line 8) * operators, string-matching: Regexp Usage. (line 19) * operators, string-matching, for buffers: GNU Regexp Operators. (line 48) @@ -31342,7 +31326,7 @@ Index * ord extension function: Extension Sample Ord. (line 12) * ord() user-defined function: Ordinal Functions. (line 16) -* order of evaluation, concatenation: Concatenation. (line 42) +* order of evaluation, concatenation: Concatenation. (line 41) * ORS variable <1>: User-modified. (line 129) * ORS variable: Output Separators. (line 20) * output field separator, See OFS variable: Changing Fields. (line 64) @@ -31386,11 +31370,11 @@ Index * percent sign (%), %= operator: Assignment Ops. (line 129) * period (.): Regexp Operators. (line 43) * Perl: Future Extensions. (line 6) -* Peters, Arno: Contributors. (line 86) -* Peterson, Hal: Contributors. (line 40) +* Peters, Arno: Contributors. (line 85) +* Peterson, Hal: Contributors. (line 39) * pipes, closing: Close Files And Pipes. (line 6) -* pipes, input: Getline/Pipe. (line 10) +* pipes, input: Getline/Pipe. (line 9) * pipes, output: Redirection. (line 57) * Pitts, Dave <1>: Bugs. (line 73) * Pitts, Dave: Acknowledgments. (line 60) @@ -31474,7 +31458,7 @@ Index * POSIX awk, printf format strings and: Format Modifiers. (line 159) * POSIX awk, regular expressions and: Regexp Operators. (line 161) * POSIX awk, timestamps and: Time Functions. (line 6) -* POSIX awk, | I/O operator and: Getline/Pipe. (line 56) +* POSIX awk, | I/O operator and: Getline/Pipe. (line 55) * POSIX mode: Options. (line 247) * POSIX, awk and: Preface. (line 23) * POSIX, gawk extensions not included in: POSIX/GNU. (line 6) @@ -31584,7 +31568,7 @@ Index * range expressions (regexps): Bracket Expressions. (line 6) * range patterns: Ranges. (line 6) * Rankin, Pat <1>: Bugs. (line 72) -* Rankin, Pat <2>: Contributors. (line 38) +* Rankin, Pat <2>: Contributors. (line 37) * Rankin, Pat <3>: Assignment Ops. (line 100) * Rankin, Pat: Acknowledgments. (line 60) * reada extension function: Extension Sample Read write array. @@ -31685,19 +31669,19 @@ Index * RLENGTH variable, match() function and: String Functions. (line 225) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) -* Robbins, Arnold <3>: Contributors. (line 131) +* Robbins, Arnold <3>: Contributors. (line 130) * Robbins, Arnold <4>: Alarm Program. (line 6) * Robbins, Arnold <5>: Passwd Functions. (line 90) -* Robbins, Arnold <6>: Getline/Pipe. (line 40) +* Robbins, Arnold <6>: Getline/Pipe. (line 39) * Robbins, Arnold: Command Line Field Separator. (line 80) -* Robbins, Bill: Getline/Pipe. (line 40) +* Robbins, Bill: Getline/Pipe. (line 39) * Robbins, Harry: Acknowledgments. (line 78) * Robbins, Jean: Acknowledgments. (line 78) * Robbins, Miriam <1>: Passwd Functions. (line 90) -* Robbins, Miriam <2>: Getline/Pipe. (line 40) +* Robbins, Miriam <2>: Getline/Pipe. (line 39) * Robbins, Miriam: Acknowledgments. (line 78) -* Rommel, Kai Uwe: Contributors. (line 43) +* Rommel, Kai Uwe: Contributors. (line 42) * round() user-defined function: Round Function. (line 16) * rounding mode, floating-point: Rounding Mode. (line 6) * rounding numbers: Round Function. (line 6) @@ -31715,7 +31699,7 @@ Index (line 10) * RT variable <3>: Multiple Line. (line 129) * RT variable: Records. (line 117) -* Rubin, Paul <1>: Contributors. (line 16) +* Rubin, Paul <1>: Contributors. (line 15) * Rubin, Paul: History. (line 30) * rule, definition of: Getting Started. (line 21) * run debugger command: Debugger Execution Control. @@ -31725,7 +31709,7 @@ Index (line 68) * sandbox mode: Options. (line 279) * scalar values: Basic Data Typing. (line 13) -* Schorr, Andrew <1>: Contributors. (line 127) +* Schorr, Andrew <1>: Contributors. (line 126) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -31775,7 +31759,7 @@ Index * si debugger command (alias for stepi): Debugger Execution Control. (line 76) * side effects <1>: Increment Ops. (line 11) -* side effects: Concatenation. (line 42) +* side effects: Concatenation. (line 41) * side effects, array indexing: Reference to Elements. (line 42) * side effects, asort() function: Array Sorting Functions. @@ -31861,7 +31845,7 @@ Index * source code, QuikTrim Awk: Other Versions. (line 134) * source code, Solaris awk: Other Versions. (line 96) * source files, search path for: Igawk Program. (line 368) -* sparse arrays: Array Intro. (line 71) +* sparse arrays: Array Intro. (line 70) * Spencer, Henry: Glossary. (line 12) * split utility: Split Program. (line 6) * split() function: String Functions. (line 317) @@ -31876,7 +31860,7 @@ Index * square brackets ([]): Regexp Operators. (line 55) * srand() function: Numeric Functions. (line 82) * Stallman, Richard <1>: Glossary. (line 305) -* Stallman, Richard <2>: Contributors. (line 24) +* Stallman, Richard <2>: Contributors. (line 23) * Stallman, Richard <3>: Acknowledgments. (line 18) * Stallman, Richard: Manual History. (line 6) * standard error: Special FD. (line 6) @@ -31900,7 +31884,7 @@ Index * string constants, vs. regexp constants: Computed Regexps. (line 38) * string extraction (internationalization): String Extraction. (line 6) -* string operators: Concatenation. (line 9) +* string operators: Concatenation. (line 8) * string-matching operators: Regexp Usage. (line 19) * strings, converting <1>: Bitwise Functions. (line 109) * strings, converting: Conversion. (line 6) @@ -32021,13 +32005,13 @@ Index * troubleshooting, readable data files: File Checking. (line 6) * troubleshooting, regexp constants vs. string constants: Computed Regexps. (line 38) -* troubleshooting, string concatenation: Concatenation. (line 27) +* troubleshooting, string concatenation: Concatenation. (line 26) * troubleshooting, substr() function: String Functions. (line 501) * troubleshooting, system() function: I/O Functions. (line 94) * troubleshooting, typographical errors, global variables: Options. (line 112) * true, logical: Truth Values. (line 6) -* Trueman, David <1>: Contributors. (line 31) +* Trueman, David <1>: Contributors. (line 30) * Trueman, David <2>: Acknowledgments. (line 47) * Trueman, David: History. (line 30) * trunc-mod operation: Arithmetic Ops. (line 66) @@ -32107,7 +32091,7 @@ Index * variables, user-defined: Variables. (line 6) * vertical bar (|): Regexp Operators. (line 69) * vertical bar (|), | operator (I/O) <1>: Precedence. (line 65) -* vertical bar (|), | operator (I/O): Getline/Pipe. (line 10) +* vertical bar (|), | operator (I/O): Getline/Pipe. (line 9) * vertical bar (|), |& operator (I/O) <1>: Two-way I/O. (line 44) * vertical bar (|), |& operator (I/O) <2>: Precedence. (line 65) * vertical bar (|), |& operator (I/O): Getline/Coprocess. (line 6) @@ -32130,7 +32114,7 @@ Index (line 67) * wc utility: Wc Program. (line 6) * wc.awk program: Wc Program. (line 46) -* Weinberger, Peter <1>: Contributors. (line 12) +* Weinberger, Peter <1>: Contributors. (line 11) * Weinberger, Peter: History. (line 17) * while statement <1>: While Statement. (line 6) * while statement: Regexp Usage. (line 19) @@ -32138,9 +32122,9 @@ Index (line 6) * whitespace, functions, calling: Calling Built-in. (line 10) * whitespace, newlines as: Options. (line 253) -* Williams, Kent: Contributors. (line 35) -* Woehlke, Matthew: Contributors. (line 80) -* Woods, John: Contributors. (line 28) +* Williams, Kent: Contributors. (line 34) +* Woehlke, Matthew: Contributors. (line 79) +* Woods, John: Contributors. (line 27) * word boundaries, matching: GNU Regexp Operators. (line 38) * word, regexp definition of: GNU Regexp Operators. @@ -32156,20 +32140,20 @@ Index * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) * xor() function (gawk): Bitwise Functions. (line 55) -* Yawitz, Efraim: Contributors. (line 125) +* Yawitz, Efraim: Contributors. (line 124) * Zaretskii, Eli <1>: Bugs. (line 70) -* Zaretskii, Eli <2>: Contributors. (line 56) +* Zaretskii, Eli <2>: Contributors. (line 55) * Zaretskii, Eli: Acknowledgments. (line 60) * zero, negative vs. positive: Unexpected Results. (line 34) * zerofile.awk program: Empty Files. (line 21) -* Zoulas, Christos: Contributors. (line 67) +* Zoulas, Christos: Contributors. (line 66) * {} (braces): Profiling. (line 134) * {} (braces), actions and: Action Overview. (line 19) * {} (braces), statements, grouping: Statements. (line 10) * | (vertical bar): Regexp Operators. (line 69) * | (vertical bar), | operator (I/O) <1>: Precedence. (line 65) * | (vertical bar), | operator (I/O) <2>: Redirection. (line 57) -* | (vertical bar), | operator (I/O): Getline/Pipe. (line 10) +* | (vertical bar), | operator (I/O): Getline/Pipe. (line 9) * | (vertical bar), |& operator (I/O) <1>: Two-way I/O. (line 44) * | (vertical bar), |& operator (I/O) <2>: Precedence. (line 65) * | (vertical bar), |& operator (I/O) <3>: Redirection. (line 102) @@ -32201,511 +32185,511 @@ Ref: Names-Footnote-152037 Node: This Manual52109 Ref: This Manual-Footnote-157883 Node: Conventions57983 -Node: Manual History60135 -Ref: Manual History-Footnote-163583 -Ref: Manual History-Footnote-263624 -Node: How To Contribute63698 -Node: Acknowledgments64842 -Node: Getting Started69051 -Node: Running gawk71430 -Node: One-shot72616 -Node: Read Terminal73841 -Ref: Read Terminal-Footnote-175491 -Ref: Read Terminal-Footnote-275767 -Node: Long75938 -Node: Executable Scripts77314 -Ref: Executable Scripts-Footnote-179147 -Ref: Executable Scripts-Footnote-279249 -Node: Comments79796 -Node: Quoting82263 -Node: DOS Quoting86886 -Node: Sample Data Files87561 -Node: Very Simple90605 -Node: Two Rules95204 -Node: More Complex97351 -Ref: More Complex-Footnote-1100281 -Node: Statements/Lines100366 -Ref: Statements/Lines-Footnote-1104828 -Node: Other Features105093 -Node: When106021 -Node: Invoking Gawk108168 -Node: Command Line109629 -Node: Options110412 -Ref: Options-Footnote-1125804 -Node: Other Arguments125829 -Node: Naming Standard Input128487 -Node: Environment Variables129581 -Node: AWKPATH Variable130139 -Ref: AWKPATH Variable-Footnote-1132897 -Node: AWKLIBPATH Variable133157 -Node: Other Environment Variables133875 -Node: Exit Status136838 -Node: Include Files137513 -Node: Loading Shared Libraries141082 -Node: Obsolete142446 -Node: Undocumented143143 -Node: Regexp143386 -Node: Regexp Usage144775 -Node: Escape Sequences146801 -Node: Regexp Operators152470 -Ref: Regexp Operators-Footnote-1159850 -Ref: Regexp Operators-Footnote-2159997 -Node: Bracket Expressions160095 -Ref: table-char-classes161985 -Node: GNU Regexp Operators164508 -Node: Case-sensitivity168231 -Ref: Case-sensitivity-Footnote-1171199 -Ref: Case-sensitivity-Footnote-2171434 -Node: Leftmost Longest171542 -Node: Computed Regexps172743 -Node: Reading Files176080 -Node: Records178082 -Ref: Records-Footnote-1186971 -Node: Fields187008 -Ref: Fields-Footnote-1190041 -Node: Nonconstant Fields190127 -Node: Changing Fields192329 -Node: Field Separators198288 -Node: Default Field Splitting200917 -Node: Regexp Field Splitting202034 -Node: Single Character Fields205376 -Node: Command Line Field Separator206435 -Node: Field Splitting Summary209876 -Ref: Field Splitting Summary-Footnote-1212987 -Node: Constant Size213088 -Node: Splitting By Content217672 -Ref: Splitting By Content-Footnote-1221398 -Node: Multiple Line221438 -Ref: Multiple Line-Footnote-1227285 -Node: Getline227464 -Node: Plain Getline229680 -Node: Getline/Variable231775 -Node: Getline/File232922 -Node: Getline/Variable/File234263 -Ref: Getline/Variable/File-Footnote-1235862 -Node: Getline/Pipe235949 -Node: Getline/Variable/Pipe238649 -Node: Getline/Coprocess239756 -Node: Getline/Variable/Coprocess241008 -Node: Getline Notes241745 -Node: Getline Summary244532 -Ref: table-getline-variants244940 -Node: Read Timeout245852 -Ref: Read Timeout-Footnote-1249593 -Node: Command line directories249650 -Node: Printing250280 -Node: Print251911 -Node: Print Examples253248 -Node: Output Separators256032 -Node: OFMT257792 -Node: Printf259150 -Node: Basic Printf260056 -Node: Control Letters261595 -Node: Format Modifiers265407 -Node: Printf Examples271416 -Node: Redirection274131 -Node: Special Files281096 -Node: Special FD281629 -Ref: Special FD-Footnote-1285254 -Node: Special Network285328 -Node: Special Caveats286178 -Node: Close Files And Pipes286974 -Ref: Close Files And Pipes-Footnote-1293957 -Ref: Close Files And Pipes-Footnote-2294105 -Node: Expressions294255 -Node: Values295387 -Node: Constants296063 -Node: Scalar Constants296743 -Ref: Scalar Constants-Footnote-1297602 -Node: Nondecimal-numbers297784 -Node: Regexp Constants300784 -Node: Using Constant Regexps301259 -Node: Variables304314 -Node: Using Variables304969 -Node: Assignment Options306693 -Node: Conversion308565 -Ref: table-locale-affects314066 -Ref: Conversion-Footnote-1314690 -Node: All Operators314799 -Node: Arithmetic Ops315429 -Node: Concatenation317934 -Ref: Concatenation-Footnote-1320727 -Node: Assignment Ops320847 -Ref: table-assign-ops325835 -Node: Increment Ops327166 +Node: Manual History60139 +Ref: Manual History-Footnote-163587 +Ref: Manual History-Footnote-263628 +Node: How To Contribute63702 +Node: Acknowledgments64846 +Node: Getting Started69055 +Node: Running gawk71434 +Node: One-shot72620 +Node: Read Terminal73845 +Ref: Read Terminal-Footnote-175495 +Ref: Read Terminal-Footnote-275771 +Node: Long75942 +Node: Executable Scripts77318 +Ref: Executable Scripts-Footnote-179151 +Ref: Executable Scripts-Footnote-279253 +Node: Comments79800 +Node: Quoting82267 +Node: DOS Quoting86890 +Node: Sample Data Files87565 +Node: Very Simple90609 +Node: Two Rules95208 +Node: More Complex97355 +Ref: More Complex-Footnote-1100285 +Node: Statements/Lines100370 +Ref: Statements/Lines-Footnote-1104832 +Node: Other Features105097 +Node: When106025 +Node: Invoking Gawk108172 +Node: Command Line109633 +Node: Options110416 +Ref: Options-Footnote-1125808 +Node: Other Arguments125833 +Node: Naming Standard Input128491 +Node: Environment Variables129585 +Node: AWKPATH Variable130143 +Ref: AWKPATH Variable-Footnote-1132901 +Node: AWKLIBPATH Variable133161 +Node: Other Environment Variables133879 +Node: Exit Status136842 +Node: Include Files137517 +Node: Loading Shared Libraries141086 +Node: Obsolete142450 +Node: Undocumented143147 +Node: Regexp143389 +Node: Regexp Usage144778 +Node: Escape Sequences146804 +Node: Regexp Operators152473 +Ref: Regexp Operators-Footnote-1159853 +Ref: Regexp Operators-Footnote-2160000 +Node: Bracket Expressions160098 +Ref: table-char-classes161988 +Node: GNU Regexp Operators164511 +Node: Case-sensitivity168234 +Ref: Case-sensitivity-Footnote-1171202 +Ref: Case-sensitivity-Footnote-2171437 +Node: Leftmost Longest171545 +Node: Computed Regexps172746 +Node: Reading Files176083 +Node: Records178085 +Ref: Records-Footnote-1186974 +Node: Fields187011 +Ref: Fields-Footnote-1190044 +Node: Nonconstant Fields190130 +Node: Changing Fields192332 +Node: Field Separators198291 +Node: Default Field Splitting200920 +Node: Regexp Field Splitting202037 +Node: Single Character Fields205379 +Node: Command Line Field Separator206438 +Node: Field Splitting Summary209879 +Ref: Field Splitting Summary-Footnote-1212990 +Node: Constant Size213091 +Node: Splitting By Content217675 +Ref: Splitting By Content-Footnote-1221401 +Node: Multiple Line221441 +Ref: Multiple Line-Footnote-1227288 +Node: Getline227467 +Node: Plain Getline229683 +Node: Getline/Variable231778 +Node: Getline/File232925 +Node: Getline/Variable/File234266 +Ref: Getline/Variable/File-Footnote-1235865 +Node: Getline/Pipe235952 +Node: Getline/Variable/Pipe238651 +Node: Getline/Coprocess239758 +Node: Getline/Variable/Coprocess241010 +Node: Getline Notes241747 +Node: Getline Summary244534 +Ref: table-getline-variants244942 +Node: Read Timeout245854 +Ref: Read Timeout-Footnote-1249595 +Node: Command line directories249652 +Node: Printing250282 +Node: Print251913 +Node: Print Examples253250 +Node: Output Separators256034 +Node: OFMT257794 +Node: Printf259152 +Node: Basic Printf260058 +Node: Control Letters261597 +Node: Format Modifiers265409 +Node: Printf Examples271418 +Node: Redirection274133 +Node: Special Files281098 +Node: Special FD281631 +Ref: Special FD-Footnote-1285256 +Node: Special Network285330 +Node: Special Caveats286180 +Node: Close Files And Pipes286976 +Ref: Close Files And Pipes-Footnote-1293959 +Ref: Close Files And Pipes-Footnote-2294107 +Node: Expressions294257 +Node: Values295389 +Node: Constants296065 +Node: Scalar Constants296745 +Ref: Scalar Constants-Footnote-1297604 +Node: Nondecimal-numbers297786 +Node: Regexp Constants300786 +Node: Using Constant Regexps301261 +Node: Variables304316 +Node: Using Variables304971 +Node: Assignment Options306695 +Node: Conversion308567 +Ref: table-locale-affects314068 +Ref: Conversion-Footnote-1314692 +Node: All Operators314801 +Node: Arithmetic Ops315431 +Node: Concatenation317936 +Ref: Concatenation-Footnote-1320728 +Node: Assignment Ops320848 +Ref: table-assign-ops325836 +Node: Increment Ops327167 Node: Truth Values and Conditions330601 Node: Truth Values331684 Node: Typing and Comparison332733 -Node: Variable Typing333522 -Ref: Variable Typing-Footnote-1337419 -Node: Comparison Operators337541 -Ref: table-relational-ops337951 -Node: POSIX String Comparison341500 -Ref: POSIX String Comparison-Footnote-1342456 -Node: Boolean Ops342594 -Ref: Boolean Ops-Footnote-1346672 -Node: Conditional Exp346763 -Node: Function Calls348495 -Node: Precedence352089 -Node: Locales355758 -Node: Patterns and Actions356847 -Node: Pattern Overview357901 -Node: Regexp Patterns359570 -Node: Expression Patterns360113 -Node: Ranges363798 -Node: BEGIN/END366764 -Node: Using BEGIN/END367526 -Ref: Using BEGIN/END-Footnote-1370257 -Node: I/O And BEGIN/END370363 -Node: BEGINFILE/ENDFILE372645 -Node: Empty375559 -Node: Using Shell Variables375875 -Node: Action Overview378160 -Node: Statements380517 -Node: If Statement382371 -Node: While Statement383870 -Node: Do Statement385914 -Node: For Statement387070 -Node: Switch Statement390222 -Node: Break Statement392319 -Node: Continue Statement394309 -Node: Next Statement396102 -Node: Nextfile Statement398492 -Node: Exit Statement401135 -Node: Built-in Variables403551 -Node: User-modified404646 -Ref: User-modified-Footnote-1413004 -Node: Auto-set413066 -Ref: Auto-set-Footnote-1426144 -Ref: Auto-set-Footnote-2426349 -Node: ARGC and ARGV426405 -Node: Arrays430256 -Node: Array Basics431761 -Node: Array Intro432587 -Node: Reference to Elements436905 -Node: Assigning Elements439175 -Node: Array Example439666 -Node: Scanning an Array441398 -Node: Controlling Scanning443712 -Ref: Controlling Scanning-Footnote-1448635 -Node: Delete448951 -Ref: Delete-Footnote-1451716 -Node: Numeric Array Subscripts451773 -Node: Uninitialized Subscripts453956 -Node: Multidimensional455583 -Node: Multiscanning458675 -Node: Arrays of Arrays460264 -Node: Functions464904 -Node: Built-in465723 -Node: Calling Built-in466801 -Node: Numeric Functions468789 -Ref: Numeric Functions-Footnote-1472621 -Ref: Numeric Functions-Footnote-2472978 -Ref: Numeric Functions-Footnote-3473026 -Node: String Functions473295 -Ref: String Functions-Footnote-1496853 -Ref: String Functions-Footnote-2496982 -Ref: String Functions-Footnote-3497230 -Node: Gory Details497317 -Ref: table-sub-escapes498996 -Ref: table-sub-posix-92500350 -Ref: table-sub-proposed501701 -Ref: table-posix-sub503055 -Ref: table-gensub-escapes504600 -Ref: Gory Details-Footnote-1505776 -Ref: Gory Details-Footnote-2505827 -Node: I/O Functions505978 -Ref: I/O Functions-Footnote-1512963 -Node: Time Functions513110 -Ref: Time Functions-Footnote-1524043 -Ref: Time Functions-Footnote-2524111 -Ref: Time Functions-Footnote-3524269 -Ref: Time Functions-Footnote-4524380 -Ref: Time Functions-Footnote-5524492 -Ref: Time Functions-Footnote-6524719 -Node: Bitwise Functions524985 -Ref: table-bitwise-ops525543 -Ref: Bitwise Functions-Footnote-1529764 -Node: Type Functions529948 -Node: I18N Functions531099 -Node: User-defined532726 -Node: Definition Syntax533530 -Ref: Definition Syntax-Footnote-1538440 -Node: Function Example538509 -Node: Function Caveats541103 -Node: Calling A Function541524 -Node: Variable Scope542639 -Node: Pass By Value/Reference545602 -Node: Return Statement549110 -Node: Dynamic Typing552091 -Node: Indirect Calls553022 -Node: Library Functions562707 -Ref: Library Functions-Footnote-1566220 -Ref: Library Functions-Footnote-2566363 -Node: Library Names566534 -Ref: Library Names-Footnote-1570005 -Ref: Library Names-Footnote-2570225 -Node: General Functions570311 -Node: Strtonum Function571339 -Node: Assert Function574269 -Node: Round Function577595 -Node: Cliff Random Function579138 -Node: Ordinal Functions580154 -Ref: Ordinal Functions-Footnote-1583224 -Ref: Ordinal Functions-Footnote-2583476 -Node: Join Function583685 -Ref: Join Function-Footnote-1585456 -Node: Getlocaltime Function585656 -Node: Readfile Function589397 -Node: Data File Management591236 -Node: Filetrans Function591868 -Node: Rewind Function595937 -Node: File Checking597324 -Node: Empty Files598418 -Node: Ignoring Assigns600648 -Node: Getopt Function602201 -Ref: Getopt Function-Footnote-1613504 -Node: Passwd Functions613707 -Ref: Passwd Functions-Footnote-1622682 -Node: Group Functions622770 -Node: Walking Arrays630854 -Node: Sample Programs632991 -Node: Running Examples633665 -Node: Clones634393 -Node: Cut Program635617 -Node: Egrep Program645462 -Ref: Egrep Program-Footnote-1653235 -Node: Id Program653345 -Node: Split Program656961 -Ref: Split Program-Footnote-1660480 -Node: Tee Program660608 -Node: Uniq Program663411 -Node: Wc Program670840 -Ref: Wc Program-Footnote-1675106 -Ref: Wc Program-Footnote-2675306 -Node: Miscellaneous Programs675398 -Node: Dupword Program676586 -Node: Alarm Program678617 -Node: Translate Program683366 -Ref: Translate Program-Footnote-1687753 -Ref: Translate Program-Footnote-2687981 -Node: Labels Program688115 -Ref: Labels Program-Footnote-1691486 -Node: Word Sorting691570 -Node: History Sorting695454 -Node: Extract Program697293 -Ref: Extract Program-Footnote-1704796 -Node: Simple Sed704924 -Node: Igawk Program707986 -Ref: Igawk Program-Footnote-1723143 -Ref: Igawk Program-Footnote-2723344 -Node: Anagram Program723482 -Node: Signature Program726550 -Node: Advanced Features727650 -Node: Nondecimal Data729532 -Node: Array Sorting731115 -Node: Controlling Array Traversal731812 -Node: Array Sorting Functions740050 -Ref: Array Sorting Functions-Footnote-1743724 -Ref: Array Sorting Functions-Footnote-2743817 -Node: Two-way I/O744011 -Ref: Two-way I/O-Footnote-1749443 -Node: TCP/IP Networking749513 -Node: Profiling752357 -Node: Internationalization759854 -Node: I18N and L10N761279 -Node: Explaining gettext761965 -Ref: Explaining gettext-Footnote-1767033 -Ref: Explaining gettext-Footnote-2767217 -Node: Programmer i18n767382 -Node: Translator i18n771584 -Node: String Extraction772377 -Ref: String Extraction-Footnote-1773338 -Node: Printf Ordering773424 -Ref: Printf Ordering-Footnote-1776208 -Node: I18N Portability776272 -Ref: I18N Portability-Footnote-1778721 -Node: I18N Example778784 -Ref: I18N Example-Footnote-1781422 -Node: Gawk I18N781494 -Node: Debugger782115 -Node: Debugging783086 -Node: Debugging Concepts783519 -Node: Debugging Terms785375 -Node: Awk Debugging787972 -Node: Sample Debugging Session788864 -Node: Debugger Invocation789384 -Node: Finding The Bug790716 -Node: List of Debugger Commands797204 -Node: Breakpoint Control798538 -Node: Debugger Execution Control802202 -Node: Viewing And Changing Data805562 -Node: Execution Stack808918 -Node: Debugger Info810385 -Node: Miscellaneous Debugger Commands814367 -Node: Readline Support819543 -Node: Limitations820374 -Node: Arbitrary Precision Arithmetic822626 -Ref: Arbitrary Precision Arithmetic-Footnote-1824277 -Node: General Arithmetic824425 -Node: Floating Point Issues826145 -Node: String Conversion Precision827026 -Ref: String Conversion Precision-Footnote-1828731 -Node: Unexpected Results828840 -Node: POSIX Floating Point Problems830993 -Ref: POSIX Floating Point Problems-Footnote-1834818 -Node: Integer Programming834856 -Node: Floating-point Programming836595 -Ref: Floating-point Programming-Footnote-1842926 -Ref: Floating-point Programming-Footnote-2843196 -Node: Floating-point Representation843460 -Node: Floating-point Context844625 -Ref: table-ieee-formats845464 -Node: Rounding Mode846848 -Ref: table-rounding-modes847327 -Ref: Rounding Mode-Footnote-1850342 -Node: Gawk and MPFR850521 -Node: Arbitrary Precision Floats851776 -Ref: Arbitrary Precision Floats-Footnote-1854219 -Node: Setting Precision854535 -Ref: table-predefined-precision-strings855221 -Node: Setting Rounding Mode857366 -Ref: table-gawk-rounding-modes857770 -Node: Floating-point Constants858957 -Node: Changing Precision860386 -Ref: Changing Precision-Footnote-1861786 -Node: Exact Arithmetic861960 -Node: Arbitrary Precision Integers865098 -Ref: Arbitrary Precision Integers-Footnote-1868116 -Node: Dynamic Extensions868263 -Node: Extension Intro869721 -Node: Plugin License870986 -Node: Extension Mechanism Outline871671 -Ref: load-extension872088 -Ref: load-new-function873566 -Ref: call-new-function874561 -Node: Extension API Description876576 -Node: Extension API Functions Introduction877789 -Node: General Data Types882655 -Ref: General Data Types-Footnote-1888257 -Node: Requesting Values888556 -Ref: table-value-types-returned889287 -Node: Constructor Functions890241 -Node: Registration Functions893261 -Node: Extension Functions893946 -Node: Exit Callback Functions896171 -Node: Extension Version String897420 -Node: Input Parsers898070 -Node: Output Wrappers907827 -Node: Two-way processors912337 -Node: Printing Messages914545 -Ref: Printing Messages-Footnote-1915622 -Node: Updating `ERRNO'915774 -Node: Accessing Parameters916513 -Node: Symbol Table Access917743 -Node: Symbol table by name918255 -Node: Symbol table by cookie920002 -Ref: Symbol table by cookie-Footnote-1924132 -Node: Cached values924195 -Ref: Cached values-Footnote-1927644 -Node: Array Manipulation927735 -Ref: Array Manipulation-Footnote-1928833 -Node: Array Data Types928872 -Ref: Array Data Types-Footnote-1931575 -Node: Array Functions931667 -Node: Flattening Arrays935433 -Node: Creating Arrays942285 -Node: Extension API Variables947010 -Node: Extension Versioning947646 -Node: Extension API Informational Variables949547 -Node: Extension API Boilerplate950633 -Node: Finding Extensions954437 -Node: Extension Example954997 -Node: Internal File Description955728 -Node: Internal File Ops959819 -Ref: Internal File Ops-Footnote-1971327 -Node: Using Internal File Ops971467 -Ref: Using Internal File Ops-Footnote-1973820 -Node: Extension Samples974086 -Node: Extension Sample File Functions975610 -Node: Extension Sample Fnmatch984095 -Node: Extension Sample Fork985821 -Node: Extension Sample Inplace987039 -Node: Extension Sample Ord988817 -Node: Extension Sample Readdir989653 -Node: Extension Sample Revout991185 -Node: Extension Sample Rev2way991778 -Node: Extension Sample Read write array992468 -Node: Extension Sample Readfile994351 -Node: Extension Sample API Tests995169 -Node: Extension Sample Time995694 -Node: gawkextlib997058 -Node: Language History999818 -Node: V7/SVR3.11001340 -Node: SVR41003660 -Node: POSIX1005102 -Node: BTL1006488 -Node: POSIX/GNU1007222 -Node: Common Extensions1012757 -Node: Ranges and Locales1014063 -Ref: Ranges and Locales-Footnote-11018681 -Ref: Ranges and Locales-Footnote-21018708 -Ref: Ranges and Locales-Footnote-31018968 -Node: Contributors1019189 -Node: Installation1024265 -Node: Gawk Distribution1025159 -Node: Getting1025643 -Node: Extracting1026469 -Node: Distribution contents1028161 -Node: Unix Installation1033681 -Node: Quick Installation1034298 -Node: Additional Configuration Options1036742 -Node: Configuration Philosophy1038219 -Node: Non-Unix Installation1040573 -Node: PC Installation1041031 -Node: PC Binary Installation1042330 -Node: PC Compiling1044178 -Node: PC Testing1047122 -Node: PC Using1048298 -Node: Cygwin1052483 -Node: MSYS1053483 -Node: VMS Installation1053997 -Node: VMS Compilation1054600 -Ref: VMS Compilation-Footnote-11055607 -Node: VMS Installation Details1055665 -Node: VMS Running1057300 -Node: VMS Old Gawk1058907 -Node: Bugs1059381 -Node: Other Versions1063233 -Node: Notes1069314 -Node: Compatibility Mode1070114 -Node: Additions1070897 -Node: Accessing The Source1071824 -Node: Adding Code1073264 -Node: New Ports1079309 -Node: Derived Files1083444 -Ref: Derived Files-Footnote-11088765 -Ref: Derived Files-Footnote-21088799 -Ref: Derived Files-Footnote-31089399 -Node: Future Extensions1089497 -Node: Implementation Limitations1090078 -Node: Extension Design1091330 -Node: Old Extension Problems1092484 -Ref: Old Extension Problems-Footnote-11093992 -Node: Extension New Mechanism Goals1094049 -Ref: Extension New Mechanism Goals-Footnote-11097414 -Node: Extension Other Design Decisions1097600 -Node: Extension Future Growth1099706 -Node: Old Extension Mechanism1100542 -Node: Basic Concepts1102282 -Node: Basic High Level1102963 -Ref: figure-general-flow1103234 -Ref: figure-process-flow1103833 -Ref: Basic High Level-Footnote-11107062 -Node: Basic Data Typing1107247 -Node: Glossary1110602 -Node: Copying1136064 -Node: GNU Free Documentation License1173621 -Node: Index1198758 +Node: Variable Typing333526 +Ref: Variable Typing-Footnote-1337423 +Node: Comparison Operators337545 +Ref: table-relational-ops337955 +Node: POSIX String Comparison341504 +Ref: POSIX String Comparison-Footnote-1342460 +Node: Boolean Ops342598 +Ref: Boolean Ops-Footnote-1346676 +Node: Conditional Exp346767 +Node: Function Calls348499 +Node: Precedence352093 +Node: Locales355762 +Node: Patterns and Actions356851 +Node: Pattern Overview357905 +Node: Regexp Patterns359574 +Node: Expression Patterns360117 +Node: Ranges363802 +Node: BEGIN/END366768 +Node: Using BEGIN/END367530 +Ref: Using BEGIN/END-Footnote-1370261 +Node: I/O And BEGIN/END370367 +Node: BEGINFILE/ENDFILE372649 +Node: Empty375563 +Node: Using Shell Variables375879 +Node: Action Overview378164 +Node: Statements380521 +Node: If Statement382375 +Node: While Statement383874 +Node: Do Statement385918 +Node: For Statement387074 +Node: Switch Statement390226 +Node: Break Statement392323 +Node: Continue Statement394313 +Node: Next Statement396106 +Node: Nextfile Statement398496 +Node: Exit Statement401139 +Node: Built-in Variables403555 +Node: User-modified404650 +Ref: User-modified-Footnote-1413008 +Node: Auto-set413070 +Ref: Auto-set-Footnote-1426148 +Ref: Auto-set-Footnote-2426353 +Node: ARGC and ARGV426409 +Node: Arrays430260 +Node: Array Basics431765 +Node: Array Intro432591 +Node: Reference to Elements436908 +Node: Assigning Elements439178 +Node: Array Example439669 +Node: Scanning an Array441401 +Node: Controlling Scanning443715 +Ref: Controlling Scanning-Footnote-1448638 +Node: Delete448954 +Ref: Delete-Footnote-1451719 +Node: Numeric Array Subscripts451776 +Node: Uninitialized Subscripts453959 +Node: Multidimensional455586 +Node: Multiscanning458678 +Node: Arrays of Arrays460267 +Node: Functions464907 +Node: Built-in465726 +Node: Calling Built-in466804 +Node: Numeric Functions468792 +Ref: Numeric Functions-Footnote-1472624 +Ref: Numeric Functions-Footnote-2472981 +Ref: Numeric Functions-Footnote-3473029 +Node: String Functions473298 +Ref: String Functions-Footnote-1496856 +Ref: String Functions-Footnote-2496985 +Ref: String Functions-Footnote-3497233 +Node: Gory Details497320 +Ref: table-sub-escapes498999 +Ref: table-sub-posix-92500353 +Ref: table-sub-proposed501704 +Ref: table-posix-sub503058 +Ref: table-gensub-escapes504603 +Ref: Gory Details-Footnote-1505779 +Ref: Gory Details-Footnote-2505830 +Node: I/O Functions505981 +Ref: I/O Functions-Footnote-1512966 +Node: Time Functions513113 +Ref: Time Functions-Footnote-1524046 +Ref: Time Functions-Footnote-2524114 +Ref: Time Functions-Footnote-3524272 +Ref: Time Functions-Footnote-4524383 +Ref: Time Functions-Footnote-5524495 +Ref: Time Functions-Footnote-6524722 +Node: Bitwise Functions524988 +Ref: table-bitwise-ops525550 +Ref: Bitwise Functions-Footnote-1529771 +Node: Type Functions529955 +Node: I18N Functions531106 +Node: User-defined532733 +Node: Definition Syntax533537 +Ref: Definition Syntax-Footnote-1538447 +Node: Function Example538516 +Node: Function Caveats541110 +Node: Calling A Function541531 +Node: Variable Scope542646 +Node: Pass By Value/Reference545609 +Node: Return Statement549117 +Node: Dynamic Typing552098 +Node: Indirect Calls553029 +Node: Library Functions562714 +Ref: Library Functions-Footnote-1566227 +Ref: Library Functions-Footnote-2566370 +Node: Library Names566541 +Ref: Library Names-Footnote-1570012 +Ref: Library Names-Footnote-2570232 +Node: General Functions570318 +Node: Strtonum Function571346 +Node: Assert Function574276 +Node: Round Function577602 +Node: Cliff Random Function579145 +Node: Ordinal Functions580161 +Ref: Ordinal Functions-Footnote-1583231 +Ref: Ordinal Functions-Footnote-2583483 +Node: Join Function583692 +Ref: Join Function-Footnote-1585463 +Node: Getlocaltime Function585663 +Node: Readfile Function589404 +Node: Data File Management591243 +Node: Filetrans Function591875 +Node: Rewind Function595944 +Node: File Checking597331 +Node: Empty Files598425 +Node: Ignoring Assigns600655 +Node: Getopt Function602208 +Ref: Getopt Function-Footnote-1613511 +Node: Passwd Functions613714 +Ref: Passwd Functions-Footnote-1622689 +Node: Group Functions622777 +Node: Walking Arrays630861 +Node: Sample Programs632998 +Node: Running Examples633672 +Node: Clones634400 +Node: Cut Program635624 +Node: Egrep Program645469 +Ref: Egrep Program-Footnote-1653242 +Node: Id Program653352 +Node: Split Program656968 +Ref: Split Program-Footnote-1660487 +Node: Tee Program660615 +Node: Uniq Program663418 +Node: Wc Program670847 +Ref: Wc Program-Footnote-1675113 +Ref: Wc Program-Footnote-2675313 +Node: Miscellaneous Programs675405 +Node: Dupword Program676593 +Node: Alarm Program678624 +Node: Translate Program683377 +Ref: Translate Program-Footnote-1687764 +Ref: Translate Program-Footnote-2688012 +Node: Labels Program688146 +Ref: Labels Program-Footnote-1691517 +Node: Word Sorting691601 +Node: History Sorting695485 +Node: Extract Program697324 +Ref: Extract Program-Footnote-1704827 +Node: Simple Sed704955 +Node: Igawk Program708017 +Ref: Igawk Program-Footnote-1723174 +Ref: Igawk Program-Footnote-2723375 +Node: Anagram Program723513 +Node: Signature Program726581 +Node: Advanced Features727681 +Node: Nondecimal Data729567 +Node: Array Sorting731150 +Node: Controlling Array Traversal731847 +Node: Array Sorting Functions740085 +Ref: Array Sorting Functions-Footnote-1743759 +Ref: Array Sorting Functions-Footnote-2743852 +Node: Two-way I/O744046 +Ref: Two-way I/O-Footnote-1749478 +Node: TCP/IP Networking749548 +Node: Profiling752392 +Node: Internationalization759889 +Node: I18N and L10N761314 +Node: Explaining gettext762000 +Ref: Explaining gettext-Footnote-1767068 +Ref: Explaining gettext-Footnote-2767252 +Node: Programmer i18n767417 +Node: Translator i18n771619 +Node: String Extraction772412 +Ref: String Extraction-Footnote-1773373 +Node: Printf Ordering773459 +Ref: Printf Ordering-Footnote-1776243 +Node: I18N Portability776307 +Ref: I18N Portability-Footnote-1778756 +Node: I18N Example778819 +Ref: I18N Example-Footnote-1781457 +Node: Gawk I18N781529 +Node: Debugger782150 +Node: Debugging783121 +Node: Debugging Concepts783554 +Node: Debugging Terms785410 +Node: Awk Debugging788007 +Node: Sample Debugging Session788899 +Node: Debugger Invocation789419 +Node: Finding The Bug790751 +Node: List of Debugger Commands797239 +Node: Breakpoint Control798573 +Node: Debugger Execution Control802237 +Node: Viewing And Changing Data805597 +Node: Execution Stack808953 +Node: Debugger Info810420 +Node: Miscellaneous Debugger Commands814402 +Node: Readline Support819578 +Node: Limitations820409 +Node: Arbitrary Precision Arithmetic822661 +Ref: Arbitrary Precision Arithmetic-Footnote-1824310 +Node: General Arithmetic824458 +Node: Floating Point Issues826178 +Node: String Conversion Precision827059 +Ref: String Conversion Precision-Footnote-1828764 +Node: Unexpected Results828873 +Node: POSIX Floating Point Problems831026 +Ref: POSIX Floating Point Problems-Footnote-1834851 +Node: Integer Programming834889 +Node: Floating-point Programming836628 +Ref: Floating-point Programming-Footnote-1842959 +Ref: Floating-point Programming-Footnote-2843229 +Node: Floating-point Representation843493 +Node: Floating-point Context844658 +Ref: table-ieee-formats845497 +Node: Rounding Mode846881 +Ref: table-rounding-modes847360 +Ref: Rounding Mode-Footnote-1850375 +Node: Gawk and MPFR850554 +Node: Arbitrary Precision Floats851809 +Ref: Arbitrary Precision Floats-Footnote-1854252 +Node: Setting Precision854568 +Ref: table-predefined-precision-strings855254 +Node: Setting Rounding Mode857399 +Ref: table-gawk-rounding-modes857803 +Node: Floating-point Constants858990 +Node: Changing Precision860419 +Ref: Changing Precision-Footnote-1861816 +Node: Exact Arithmetic861990 +Node: Arbitrary Precision Integers865128 +Ref: Arbitrary Precision Integers-Footnote-1868146 +Node: Dynamic Extensions868293 +Node: Extension Intro869751 +Node: Plugin License871016 +Node: Extension Mechanism Outline871701 +Ref: load-extension872118 +Ref: load-new-function873596 +Ref: call-new-function874591 +Node: Extension API Description876606 +Node: Extension API Functions Introduction877819 +Node: General Data Types882685 +Ref: General Data Types-Footnote-1888284 +Node: Requesting Values888583 +Ref: table-value-types-returned889314 +Node: Constructor Functions890268 +Node: Registration Functions893288 +Node: Extension Functions893973 +Node: Exit Callback Functions896198 +Node: Extension Version String897447 +Node: Input Parsers898097 +Node: Output Wrappers907854 +Node: Two-way processors912364 +Node: Printing Messages914572 +Ref: Printing Messages-Footnote-1915649 +Node: Updating `ERRNO'915801 +Node: Accessing Parameters916540 +Node: Symbol Table Access917770 +Node: Symbol table by name918282 +Node: Symbol table by cookie920029 +Ref: Symbol table by cookie-Footnote-1924159 +Node: Cached values924222 +Ref: Cached values-Footnote-1927671 +Node: Array Manipulation927762 +Ref: Array Manipulation-Footnote-1928860 +Node: Array Data Types928899 +Ref: Array Data Types-Footnote-1931602 +Node: Array Functions931694 +Node: Flattening Arrays935460 +Node: Creating Arrays942312 +Node: Extension API Variables947037 +Node: Extension Versioning947673 +Node: Extension API Informational Variables949574 +Node: Extension API Boilerplate950660 +Node: Finding Extensions954464 +Node: Extension Example955024 +Node: Internal File Description955754 +Node: Internal File Ops959845 +Ref: Internal File Ops-Footnote-1971353 +Node: Using Internal File Ops971493 +Ref: Using Internal File Ops-Footnote-1973846 +Node: Extension Samples974112 +Node: Extension Sample File Functions975636 +Node: Extension Sample Fnmatch984121 +Node: Extension Sample Fork985847 +Node: Extension Sample Inplace987065 +Node: Extension Sample Ord988843 +Node: Extension Sample Readdir989679 +Node: Extension Sample Revout991211 +Node: Extension Sample Rev2way991804 +Node: Extension Sample Read write array992494 +Node: Extension Sample Readfile994377 +Node: Extension Sample API Tests995195 +Node: Extension Sample Time995720 +Node: gawkextlib997084 +Node: Language History999844 +Node: V7/SVR3.11001366 +Node: SVR41003686 +Node: POSIX1005128 +Node: BTL1006514 +Node: POSIX/GNU1007248 +Node: Common Extensions1012783 +Node: Ranges and Locales1014089 +Ref: Ranges and Locales-Footnote-11018707 +Ref: Ranges and Locales-Footnote-21018734 +Ref: Ranges and Locales-Footnote-31018994 +Node: Contributors1019215 +Node: Installation1024290 +Node: Gawk Distribution1025184 +Node: Getting1025668 +Node: Extracting1026494 +Node: Distribution contents1028186 +Node: Unix Installation1033706 +Node: Quick Installation1034323 +Node: Additional Configuration Options1036767 +Node: Configuration Philosophy1038244 +Node: Non-Unix Installation1040598 +Node: PC Installation1041056 +Node: PC Binary Installation1042355 +Node: PC Compiling1044203 +Node: PC Testing1047147 +Node: PC Using1048323 +Node: Cygwin1052508 +Node: MSYS1053508 +Node: VMS Installation1054022 +Node: VMS Compilation1054625 +Ref: VMS Compilation-Footnote-11055632 +Node: VMS Installation Details1055690 +Node: VMS Running1057325 +Node: VMS Old Gawk1058932 +Node: Bugs1059406 +Node: Other Versions1063262 +Node: Notes1069346 +Node: Compatibility Mode1070146 +Node: Additions1070929 +Node: Accessing The Source1071856 +Node: Adding Code1073296 +Node: New Ports1079341 +Node: Derived Files1083476 +Ref: Derived Files-Footnote-11088797 +Ref: Derived Files-Footnote-21088831 +Ref: Derived Files-Footnote-31089431 +Node: Future Extensions1089529 +Node: Implementation Limitations1090106 +Node: Extension Design1091358 +Node: Old Extension Problems1092512 +Ref: Old Extension Problems-Footnote-11094020 +Node: Extension New Mechanism Goals1094077 +Ref: Extension New Mechanism Goals-Footnote-11097442 +Node: Extension Other Design Decisions1097628 +Node: Extension Future Growth1099734 +Node: Old Extension Mechanism1100570 +Node: Basic Concepts1102310 +Node: Basic High Level1102991 +Ref: figure-general-flow1103262 +Ref: figure-process-flow1103861 +Ref: Basic High Level-Footnote-11107090 +Node: Basic Data Typing1107275 +Node: Glossary1110630 +Node: Copying1136092 +Node: GNU Free Documentation License1173649 +Node: Index1198786  End Tag Table -- cgit v1.2.3 From 5f7c3c807cb7e7f63925bb7d0c18ba3a1c0014c3 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 28 Nov 2013 22:32:43 +0200 Subject: Fix doc/gawk.info. --- doc/gawk.info | 1036 ++++++++++++++++++--------------------------------------- 1 file changed, 331 insertions(+), 705 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 0de77caf..4e31aa3b 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -32329,379 +32329,6 @@ Node: Increment Ops327167 Node: Truth Values and Conditions330601 Node: Truth Values331684 Node: Typing and Comparison332733 -<<<<<<< HEAD -Node: Variable Typing333522 -Ref: Variable Typing-Footnote-1337419 -Node: Comparison Operators337541 -Ref: table-relational-ops337951 -Node: POSIX String Comparison341500 -Ref: POSIX String Comparison-Footnote-1342456 -Node: Boolean Ops342594 -Ref: Boolean Ops-Footnote-1346672 -Node: Conditional Exp346763 -Node: Function Calls348495 -Node: Precedence352089 -Node: Locales355758 -Node: Patterns and Actions356847 -Node: Pattern Overview357901 -Node: Regexp Patterns359570 -Node: Expression Patterns360113 -Node: Ranges363798 -Node: BEGIN/END366764 -Node: Using BEGIN/END367526 -Ref: Using BEGIN/END-Footnote-1370257 -Node: I/O And BEGIN/END370363 -Node: BEGINFILE/ENDFILE372645 -Node: Empty375559 -Node: Using Shell Variables375875 -Node: Action Overview378160 -Node: Statements380517 -Node: If Statement382371 -Node: While Statement383870 -Node: Do Statement385914 -Node: For Statement387070 -Node: Switch Statement390222 -Node: Break Statement392319 -Node: Continue Statement394309 -Node: Next Statement396102 -Node: Nextfile Statement398492 -Node: Exit Statement401135 -Node: Built-in Variables403551 -Node: User-modified404646 -Ref: User-modified-Footnote-1413004 -Node: Auto-set413066 -Ref: Auto-set-Footnote-1426536 -Ref: Auto-set-Footnote-2426741 -Node: ARGC and ARGV426797 -Node: Arrays430648 -Node: Array Basics432153 -Node: Array Intro432979 -Node: Reference to Elements437297 -Node: Assigning Elements439567 -Node: Array Example440058 -Node: Scanning an Array441790 -Node: Controlling Scanning444104 -Ref: Controlling Scanning-Footnote-1449027 -Node: Delete449343 -Ref: Delete-Footnote-1452108 -Node: Numeric Array Subscripts452165 -Node: Uninitialized Subscripts454348 -Node: Multidimensional455975 -Node: Multiscanning459067 -Node: Arrays of Arrays460656 -Node: Functions465296 -Node: Built-in466115 -Node: Calling Built-in467193 -Node: Numeric Functions469181 -Ref: Numeric Functions-Footnote-1473013 -Ref: Numeric Functions-Footnote-2473370 -Ref: Numeric Functions-Footnote-3473418 -Node: String Functions473687 -Ref: String Functions-Footnote-1497245 -Ref: String Functions-Footnote-2497374 -Ref: String Functions-Footnote-3497622 -Node: Gory Details497709 -Ref: table-sub-escapes499388 -Ref: table-sub-posix-92500742 -Ref: table-sub-proposed502093 -Ref: table-posix-sub503447 -Ref: table-gensub-escapes504992 -Ref: Gory Details-Footnote-1506168 -Ref: Gory Details-Footnote-2506219 -Node: I/O Functions506370 -Ref: I/O Functions-Footnote-1513355 -Node: Time Functions513502 -Ref: Time Functions-Footnote-1524435 -Ref: Time Functions-Footnote-2524503 -Ref: Time Functions-Footnote-3524661 -Ref: Time Functions-Footnote-4524772 -Ref: Time Functions-Footnote-5524884 -Ref: Time Functions-Footnote-6525111 -Node: Bitwise Functions525377 -Ref: table-bitwise-ops525935 -Ref: Bitwise Functions-Footnote-1530156 -Node: Type Functions530340 -Node: I18N Functions531491 -Node: User-defined533118 -Node: Definition Syntax533922 -Ref: Definition Syntax-Footnote-1538832 -Node: Function Example538901 -Node: Function Caveats541495 -Node: Calling A Function541916 -Node: Variable Scope543031 -Node: Pass By Value/Reference545994 -Node: Return Statement549502 -Node: Dynamic Typing552483 -Node: Indirect Calls553414 -Node: Library Functions563099 -Ref: Library Functions-Footnote-1566612 -Ref: Library Functions-Footnote-2566755 -Node: Library Names566926 -Ref: Library Names-Footnote-1570397 -Ref: Library Names-Footnote-2570617 -Node: General Functions570703 -Node: Strtonum Function571731 -Node: Assert Function574661 -Node: Round Function577987 -Node: Cliff Random Function579530 -Node: Ordinal Functions580546 -Ref: Ordinal Functions-Footnote-1583616 -Ref: Ordinal Functions-Footnote-2583868 -Node: Join Function584077 -Ref: Join Function-Footnote-1585848 -Node: Getlocaltime Function586048 -Node: Readfile Function589789 -Node: Data File Management591628 -Node: Filetrans Function592260 -Node: Rewind Function596329 -Node: File Checking597716 -Node: Empty Files598810 -Node: Ignoring Assigns601040 -Node: Getopt Function602593 -Ref: Getopt Function-Footnote-1613896 -Node: Passwd Functions614099 -Ref: Passwd Functions-Footnote-1623074 -Node: Group Functions623162 -Node: Walking Arrays631246 -Node: Sample Programs633383 -Node: Running Examples634057 -Node: Clones634785 -Node: Cut Program636009 -Node: Egrep Program645854 -Ref: Egrep Program-Footnote-1653627 -Node: Id Program653737 -Node: Split Program657353 -Ref: Split Program-Footnote-1660872 -Node: Tee Program661000 -Node: Uniq Program663803 -Node: Wc Program671232 -Ref: Wc Program-Footnote-1675498 -Ref: Wc Program-Footnote-2675698 -Node: Miscellaneous Programs675790 -Node: Dupword Program676978 -Node: Alarm Program679009 -Node: Translate Program683758 -Ref: Translate Program-Footnote-1688145 -Ref: Translate Program-Footnote-2688373 -Node: Labels Program688507 -Ref: Labels Program-Footnote-1691878 -Node: Word Sorting691962 -Node: History Sorting695846 -Node: Extract Program697685 -Ref: Extract Program-Footnote-1705188 -Node: Simple Sed705316 -Node: Igawk Program708378 -Ref: Igawk Program-Footnote-1723535 -Ref: Igawk Program-Footnote-2723736 -Node: Anagram Program723874 -Node: Signature Program726942 -Node: Advanced Features728042 -Node: Nondecimal Data729924 -Node: Array Sorting731507 -Node: Controlling Array Traversal732204 -Node: Array Sorting Functions740442 -Ref: Array Sorting Functions-Footnote-1744116 -Ref: Array Sorting Functions-Footnote-2744209 -Node: Two-way I/O744403 -Ref: Two-way I/O-Footnote-1749835 -Node: TCP/IP Networking749905 -Node: Profiling752749 -Node: Internationalization760246 -Node: I18N and L10N761671 -Node: Explaining gettext762357 -Ref: Explaining gettext-Footnote-1767425 -Ref: Explaining gettext-Footnote-2767609 -Node: Programmer i18n767774 -Node: Translator i18n771976 -Node: String Extraction772769 -Ref: String Extraction-Footnote-1773730 -Node: Printf Ordering773816 -Ref: Printf Ordering-Footnote-1776600 -Node: I18N Portability776664 -Ref: I18N Portability-Footnote-1779113 -Node: I18N Example779176 -Ref: I18N Example-Footnote-1781814 -Node: Gawk I18N781886 -Node: Debugger782507 -Node: Debugging783478 -Node: Debugging Concepts783911 -Node: Debugging Terms785767 -Node: Awk Debugging788364 -Node: Sample Debugging Session789256 -Node: Debugger Invocation789776 -Node: Finding The Bug791108 -Node: List of Debugger Commands797596 -Node: Breakpoint Control798930 -Node: Debugger Execution Control802594 -Node: Viewing And Changing Data805954 -Node: Execution Stack809310 -Node: Debugger Info810777 -Node: Miscellaneous Debugger Commands814759 -Node: Readline Support819935 -Node: Limitations820766 -Node: Arbitrary Precision Arithmetic823018 -Ref: Arbitrary Precision Arithmetic-Footnote-1824669 -Node: General Arithmetic824817 -Node: Floating Point Issues826537 -Node: String Conversion Precision827418 -Ref: String Conversion Precision-Footnote-1829123 -Node: Unexpected Results829232 -Node: POSIX Floating Point Problems831385 -Ref: POSIX Floating Point Problems-Footnote-1835210 -Node: Integer Programming835248 -Node: Floating-point Programming836987 -Ref: Floating-point Programming-Footnote-1843318 -Ref: Floating-point Programming-Footnote-2843588 -Node: Floating-point Representation843852 -Node: Floating-point Context845017 -Ref: table-ieee-formats845856 -Node: Rounding Mode847240 -Ref: table-rounding-modes847719 -Ref: Rounding Mode-Footnote-1850734 -Node: Gawk and MPFR850913 -Node: Arbitrary Precision Floats852168 -Ref: Arbitrary Precision Floats-Footnote-1854611 -Node: Setting Precision854927 -Ref: table-predefined-precision-strings855613 -Node: Setting Rounding Mode857758 -Ref: table-gawk-rounding-modes858162 -Node: Floating-point Constants859349 -Node: Changing Precision860778 -Ref: Changing Precision-Footnote-1862178 -Node: Exact Arithmetic862352 -Node: Arbitrary Precision Integers865490 -Ref: Arbitrary Precision Integers-Footnote-1868508 -Node: Dynamic Extensions868655 -Node: Extension Intro870113 -Node: Plugin License871378 -Node: Extension Mechanism Outline872063 -Ref: load-extension872480 -Ref: load-new-function873958 -Ref: call-new-function874953 -Node: Extension API Description876968 -Node: Extension API Functions Introduction878181 -Node: General Data Types883047 -Ref: General Data Types-Footnote-1888649 -Node: Requesting Values888948 -Ref: table-value-types-returned889679 -Node: Constructor Functions890633 -Node: Registration Functions893653 -Node: Extension Functions894338 -Node: Exit Callback Functions896563 -Node: Extension Version String897812 -Node: Input Parsers898462 -Node: Output Wrappers908219 -Node: Two-way processors912729 -Node: Printing Messages914937 -Ref: Printing Messages-Footnote-1916014 -Node: Updating `ERRNO'916166 -Node: Accessing Parameters916905 -Node: Symbol Table Access918135 -Node: Symbol table by name918647 -Node: Symbol table by cookie920394 -Ref: Symbol table by cookie-Footnote-1924524 -Node: Cached values924587 -Ref: Cached values-Footnote-1928036 -Node: Array Manipulation928127 -Ref: Array Manipulation-Footnote-1929225 -Node: Array Data Types929264 -Ref: Array Data Types-Footnote-1931967 -Node: Array Functions932059 -Node: Flattening Arrays935825 -Node: Creating Arrays942677 -Node: Extension API Variables947402 -Node: Extension Versioning948038 -Node: Extension API Informational Variables949939 -Node: Extension API Boilerplate951025 -Node: Finding Extensions954829 -Node: Extension Example955389 -Node: Internal File Description956120 -Node: Internal File Ops960211 -Ref: Internal File Ops-Footnote-1971719 -Node: Using Internal File Ops971859 -Ref: Using Internal File Ops-Footnote-1974212 -Node: Extension Samples974478 -Node: Extension Sample File Functions976002 -Node: Extension Sample Fnmatch984487 -Node: Extension Sample Fork986213 -Node: Extension Sample Inplace987431 -Node: Extension Sample Ord989209 -Node: Extension Sample Readdir990045 -Node: Extension Sample Revout991577 -Node: Extension Sample Rev2way992170 -Node: Extension Sample Read write array992860 -Node: Extension Sample Readfile994743 -Node: Extension Sample API Tests995561 -Node: Extension Sample Time996086 -Node: gawkextlib997450 -Node: Language History1000210 -Node: V7/SVR3.11001732 -Node: SVR41004052 -Node: POSIX1005494 -Node: BTL1006880 -Node: POSIX/GNU1007614 -Node: Common Extensions1013149 -Node: Ranges and Locales1014455 -Ref: Ranges and Locales-Footnote-11019073 -Ref: Ranges and Locales-Footnote-21019100 -Ref: Ranges and Locales-Footnote-31019360 -Node: Contributors1019581 -Node: Installation1024657 -Node: Gawk Distribution1025551 -Node: Getting1026035 -Node: Extracting1026861 -Node: Distribution contents1028553 -Node: Unix Installation1034073 -Node: Quick Installation1034690 -Node: Additional Configuration Options1037134 -Node: Configuration Philosophy1038611 -Node: Non-Unix Installation1040965 -Node: PC Installation1041423 -Node: PC Binary Installation1042722 -Node: PC Compiling1044570 -Node: PC Testing1047514 -Node: PC Using1048690 -Node: Cygwin1052875 -Node: MSYS1053875 -Node: VMS Installation1054389 -Node: VMS Compilation1054992 -Ref: VMS Compilation-Footnote-11055999 -Node: VMS Installation Details1056057 -Node: VMS Running1057692 -Node: VMS Old Gawk1059299 -Node: Bugs1059773 -Node: Other Versions1063625 -Node: Notes1069706 -Node: Compatibility Mode1070506 -Node: Additions1071289 -Node: Accessing The Source1072216 -Node: Adding Code1073656 -Node: New Ports1079701 -Node: Derived Files1083836 -Ref: Derived Files-Footnote-11089157 -Ref: Derived Files-Footnote-21089191 -Ref: Derived Files-Footnote-31089791 -Node: Future Extensions1089889 -Node: Implementation Limitations1090470 -Node: Extension Design1091722 -Node: Old Extension Problems1092876 -Ref: Old Extension Problems-Footnote-11094384 -Node: Extension New Mechanism Goals1094441 -Ref: Extension New Mechanism Goals-Footnote-11097806 -Node: Extension Other Design Decisions1097992 -Node: Extension Future Growth1100098 -Node: Old Extension Mechanism1100934 -Node: Basic Concepts1102674 -Node: Basic High Level1103355 -Ref: figure-general-flow1103626 -Ref: figure-process-flow1104225 -Ref: Basic High Level-Footnote-11107454 -Node: Basic Data Typing1107639 -Node: Glossary1110994 -Node: Copying1136456 -Node: GNU Free Documentation License1174013 -Node: Index1199150 -======= Node: Variable Typing333526 Ref: Variable Typing-Footnote-1337423 Node: Comparison Operators337545 @@ -32742,337 +32369,336 @@ Node: Built-in Variables403555 Node: User-modified404650 Ref: User-modified-Footnote-1413008 Node: Auto-set413070 -Ref: Auto-set-Footnote-1426148 -Ref: Auto-set-Footnote-2426353 -Node: ARGC and ARGV426409 -Node: Arrays430260 -Node: Array Basics431765 -Node: Array Intro432591 -Node: Reference to Elements436908 -Node: Assigning Elements439178 -Node: Array Example439669 -Node: Scanning an Array441401 -Node: Controlling Scanning443715 -Ref: Controlling Scanning-Footnote-1448638 -Node: Delete448954 -Ref: Delete-Footnote-1451719 -Node: Numeric Array Subscripts451776 -Node: Uninitialized Subscripts453959 -Node: Multidimensional455586 -Node: Multiscanning458678 -Node: Arrays of Arrays460267 -Node: Functions464907 -Node: Built-in465726 -Node: Calling Built-in466804 -Node: Numeric Functions468792 -Ref: Numeric Functions-Footnote-1472624 -Ref: Numeric Functions-Footnote-2472981 -Ref: Numeric Functions-Footnote-3473029 -Node: String Functions473298 -Ref: String Functions-Footnote-1496856 -Ref: String Functions-Footnote-2496985 -Ref: String Functions-Footnote-3497233 -Node: Gory Details497320 -Ref: table-sub-escapes498999 -Ref: table-sub-posix-92500353 -Ref: table-sub-proposed501704 -Ref: table-posix-sub503058 -Ref: table-gensub-escapes504603 -Ref: Gory Details-Footnote-1505779 -Ref: Gory Details-Footnote-2505830 -Node: I/O Functions505981 -Ref: I/O Functions-Footnote-1512966 -Node: Time Functions513113 -Ref: Time Functions-Footnote-1524046 -Ref: Time Functions-Footnote-2524114 -Ref: Time Functions-Footnote-3524272 -Ref: Time Functions-Footnote-4524383 -Ref: Time Functions-Footnote-5524495 -Ref: Time Functions-Footnote-6524722 -Node: Bitwise Functions524988 -Ref: table-bitwise-ops525550 -Ref: Bitwise Functions-Footnote-1529771 -Node: Type Functions529955 -Node: I18N Functions531106 -Node: User-defined532733 -Node: Definition Syntax533537 -Ref: Definition Syntax-Footnote-1538447 -Node: Function Example538516 -Node: Function Caveats541110 -Node: Calling A Function541531 -Node: Variable Scope542646 -Node: Pass By Value/Reference545609 -Node: Return Statement549117 -Node: Dynamic Typing552098 -Node: Indirect Calls553029 -Node: Library Functions562714 -Ref: Library Functions-Footnote-1566227 -Ref: Library Functions-Footnote-2566370 -Node: Library Names566541 -Ref: Library Names-Footnote-1570012 -Ref: Library Names-Footnote-2570232 -Node: General Functions570318 -Node: Strtonum Function571346 -Node: Assert Function574276 -Node: Round Function577602 -Node: Cliff Random Function579145 -Node: Ordinal Functions580161 -Ref: Ordinal Functions-Footnote-1583231 -Ref: Ordinal Functions-Footnote-2583483 -Node: Join Function583692 -Ref: Join Function-Footnote-1585463 -Node: Getlocaltime Function585663 -Node: Readfile Function589404 -Node: Data File Management591243 -Node: Filetrans Function591875 -Node: Rewind Function595944 -Node: File Checking597331 -Node: Empty Files598425 -Node: Ignoring Assigns600655 -Node: Getopt Function602208 -Ref: Getopt Function-Footnote-1613511 -Node: Passwd Functions613714 -Ref: Passwd Functions-Footnote-1622689 -Node: Group Functions622777 -Node: Walking Arrays630861 -Node: Sample Programs632998 -Node: Running Examples633672 -Node: Clones634400 -Node: Cut Program635624 -Node: Egrep Program645469 -Ref: Egrep Program-Footnote-1653242 -Node: Id Program653352 -Node: Split Program656968 -Ref: Split Program-Footnote-1660487 -Node: Tee Program660615 -Node: Uniq Program663418 -Node: Wc Program670847 -Ref: Wc Program-Footnote-1675113 -Ref: Wc Program-Footnote-2675313 -Node: Miscellaneous Programs675405 -Node: Dupword Program676593 -Node: Alarm Program678624 -Node: Translate Program683377 -Ref: Translate Program-Footnote-1687764 -Ref: Translate Program-Footnote-2688012 -Node: Labels Program688146 -Ref: Labels Program-Footnote-1691517 -Node: Word Sorting691601 -Node: History Sorting695485 -Node: Extract Program697324 -Ref: Extract Program-Footnote-1704827 -Node: Simple Sed704955 -Node: Igawk Program708017 -Ref: Igawk Program-Footnote-1723174 -Ref: Igawk Program-Footnote-2723375 -Node: Anagram Program723513 -Node: Signature Program726581 -Node: Advanced Features727681 -Node: Nondecimal Data729567 -Node: Array Sorting731150 -Node: Controlling Array Traversal731847 -Node: Array Sorting Functions740085 -Ref: Array Sorting Functions-Footnote-1743759 -Ref: Array Sorting Functions-Footnote-2743852 -Node: Two-way I/O744046 -Ref: Two-way I/O-Footnote-1749478 -Node: TCP/IP Networking749548 -Node: Profiling752392 -Node: Internationalization759889 -Node: I18N and L10N761314 -Node: Explaining gettext762000 -Ref: Explaining gettext-Footnote-1767068 -Ref: Explaining gettext-Footnote-2767252 -Node: Programmer i18n767417 -Node: Translator i18n771619 -Node: String Extraction772412 -Ref: String Extraction-Footnote-1773373 -Node: Printf Ordering773459 -Ref: Printf Ordering-Footnote-1776243 -Node: I18N Portability776307 -Ref: I18N Portability-Footnote-1778756 -Node: I18N Example778819 -Ref: I18N Example-Footnote-1781457 -Node: Gawk I18N781529 -Node: Debugger782150 -Node: Debugging783121 -Node: Debugging Concepts783554 -Node: Debugging Terms785410 -Node: Awk Debugging788007 -Node: Sample Debugging Session788899 -Node: Debugger Invocation789419 -Node: Finding The Bug790751 -Node: List of Debugger Commands797239 -Node: Breakpoint Control798573 -Node: Debugger Execution Control802237 -Node: Viewing And Changing Data805597 -Node: Execution Stack808953 -Node: Debugger Info810420 -Node: Miscellaneous Debugger Commands814402 -Node: Readline Support819578 -Node: Limitations820409 -Node: Arbitrary Precision Arithmetic822661 -Ref: Arbitrary Precision Arithmetic-Footnote-1824310 -Node: General Arithmetic824458 -Node: Floating Point Issues826178 -Node: String Conversion Precision827059 -Ref: String Conversion Precision-Footnote-1828764 -Node: Unexpected Results828873 -Node: POSIX Floating Point Problems831026 -Ref: POSIX Floating Point Problems-Footnote-1834851 -Node: Integer Programming834889 -Node: Floating-point Programming836628 -Ref: Floating-point Programming-Footnote-1842959 -Ref: Floating-point Programming-Footnote-2843229 -Node: Floating-point Representation843493 -Node: Floating-point Context844658 -Ref: table-ieee-formats845497 -Node: Rounding Mode846881 -Ref: table-rounding-modes847360 -Ref: Rounding Mode-Footnote-1850375 -Node: Gawk and MPFR850554 -Node: Arbitrary Precision Floats851809 -Ref: Arbitrary Precision Floats-Footnote-1854252 -Node: Setting Precision854568 -Ref: table-predefined-precision-strings855254 -Node: Setting Rounding Mode857399 -Ref: table-gawk-rounding-modes857803 -Node: Floating-point Constants858990 -Node: Changing Precision860419 -Ref: Changing Precision-Footnote-1861816 -Node: Exact Arithmetic861990 -Node: Arbitrary Precision Integers865128 -Ref: Arbitrary Precision Integers-Footnote-1868146 -Node: Dynamic Extensions868293 -Node: Extension Intro869751 -Node: Plugin License871016 -Node: Extension Mechanism Outline871701 -Ref: load-extension872118 -Ref: load-new-function873596 -Ref: call-new-function874591 -Node: Extension API Description876606 -Node: Extension API Functions Introduction877819 -Node: General Data Types882685 -Ref: General Data Types-Footnote-1888284 -Node: Requesting Values888583 -Ref: table-value-types-returned889314 -Node: Constructor Functions890268 -Node: Registration Functions893288 -Node: Extension Functions893973 -Node: Exit Callback Functions896198 -Node: Extension Version String897447 -Node: Input Parsers898097 -Node: Output Wrappers907854 -Node: Two-way processors912364 -Node: Printing Messages914572 -Ref: Printing Messages-Footnote-1915649 -Node: Updating `ERRNO'915801 -Node: Accessing Parameters916540 -Node: Symbol Table Access917770 -Node: Symbol table by name918282 -Node: Symbol table by cookie920029 -Ref: Symbol table by cookie-Footnote-1924159 -Node: Cached values924222 -Ref: Cached values-Footnote-1927671 -Node: Array Manipulation927762 -Ref: Array Manipulation-Footnote-1928860 -Node: Array Data Types928899 -Ref: Array Data Types-Footnote-1931602 -Node: Array Functions931694 -Node: Flattening Arrays935460 -Node: Creating Arrays942312 -Node: Extension API Variables947037 -Node: Extension Versioning947673 -Node: Extension API Informational Variables949574 -Node: Extension API Boilerplate950660 -Node: Finding Extensions954464 -Node: Extension Example955024 -Node: Internal File Description955754 -Node: Internal File Ops959845 -Ref: Internal File Ops-Footnote-1971353 -Node: Using Internal File Ops971493 -Ref: Using Internal File Ops-Footnote-1973846 -Node: Extension Samples974112 -Node: Extension Sample File Functions975636 -Node: Extension Sample Fnmatch984121 -Node: Extension Sample Fork985847 -Node: Extension Sample Inplace987065 -Node: Extension Sample Ord988843 -Node: Extension Sample Readdir989679 -Node: Extension Sample Revout991211 -Node: Extension Sample Rev2way991804 -Node: Extension Sample Read write array992494 -Node: Extension Sample Readfile994377 -Node: Extension Sample API Tests995195 -Node: Extension Sample Time995720 -Node: gawkextlib997084 -Node: Language History999844 -Node: V7/SVR3.11001366 -Node: SVR41003686 -Node: POSIX1005128 -Node: BTL1006514 -Node: POSIX/GNU1007248 -Node: Common Extensions1012783 -Node: Ranges and Locales1014089 -Ref: Ranges and Locales-Footnote-11018707 -Ref: Ranges and Locales-Footnote-21018734 -Ref: Ranges and Locales-Footnote-31018994 -Node: Contributors1019215 -Node: Installation1024290 -Node: Gawk Distribution1025184 -Node: Getting1025668 -Node: Extracting1026494 -Node: Distribution contents1028186 -Node: Unix Installation1033706 -Node: Quick Installation1034323 -Node: Additional Configuration Options1036767 -Node: Configuration Philosophy1038244 -Node: Non-Unix Installation1040598 -Node: PC Installation1041056 -Node: PC Binary Installation1042355 -Node: PC Compiling1044203 -Node: PC Testing1047147 -Node: PC Using1048323 -Node: Cygwin1052508 -Node: MSYS1053508 -Node: VMS Installation1054022 -Node: VMS Compilation1054625 -Ref: VMS Compilation-Footnote-11055632 -Node: VMS Installation Details1055690 -Node: VMS Running1057325 -Node: VMS Old Gawk1058932 -Node: Bugs1059406 -Node: Other Versions1063262 -Node: Notes1069346 -Node: Compatibility Mode1070146 -Node: Additions1070929 -Node: Accessing The Source1071856 -Node: Adding Code1073296 -Node: New Ports1079341 -Node: Derived Files1083476 -Ref: Derived Files-Footnote-11088797 -Ref: Derived Files-Footnote-21088831 -Ref: Derived Files-Footnote-31089431 -Node: Future Extensions1089529 -Node: Implementation Limitations1090106 -Node: Extension Design1091358 -Node: Old Extension Problems1092512 -Ref: Old Extension Problems-Footnote-11094020 -Node: Extension New Mechanism Goals1094077 -Ref: Extension New Mechanism Goals-Footnote-11097442 -Node: Extension Other Design Decisions1097628 -Node: Extension Future Growth1099734 -Node: Old Extension Mechanism1100570 -Node: Basic Concepts1102310 -Node: Basic High Level1102991 -Ref: figure-general-flow1103262 -Ref: figure-process-flow1103861 -Ref: Basic High Level-Footnote-11107090 -Node: Basic Data Typing1107275 -Node: Glossary1110630 -Node: Copying1136092 -Node: GNU Free Documentation License1173649 -Node: Index1198786 ->>>>>>> gawk-4.1-stable +Ref: Auto-set-Footnote-1426540 +Ref: Auto-set-Footnote-2426745 +Node: ARGC and ARGV426801 +Node: Arrays430652 +Node: Array Basics432157 +Node: Array Intro432983 +Node: Reference to Elements437300 +Node: Assigning Elements439570 +Node: Array Example440061 +Node: Scanning an Array441793 +Node: Controlling Scanning444107 +Ref: Controlling Scanning-Footnote-1449030 +Node: Delete449346 +Ref: Delete-Footnote-1452111 +Node: Numeric Array Subscripts452168 +Node: Uninitialized Subscripts454351 +Node: Multidimensional455978 +Node: Multiscanning459070 +Node: Arrays of Arrays460659 +Node: Functions465299 +Node: Built-in466118 +Node: Calling Built-in467196 +Node: Numeric Functions469184 +Ref: Numeric Functions-Footnote-1473016 +Ref: Numeric Functions-Footnote-2473373 +Ref: Numeric Functions-Footnote-3473421 +Node: String Functions473690 +Ref: String Functions-Footnote-1497248 +Ref: String Functions-Footnote-2497377 +Ref: String Functions-Footnote-3497625 +Node: Gory Details497712 +Ref: table-sub-escapes499391 +Ref: table-sub-posix-92500745 +Ref: table-sub-proposed502096 +Ref: table-posix-sub503450 +Ref: table-gensub-escapes504995 +Ref: Gory Details-Footnote-1506171 +Ref: Gory Details-Footnote-2506222 +Node: I/O Functions506373 +Ref: I/O Functions-Footnote-1513358 +Node: Time Functions513505 +Ref: Time Functions-Footnote-1524438 +Ref: Time Functions-Footnote-2524506 +Ref: Time Functions-Footnote-3524664 +Ref: Time Functions-Footnote-4524775 +Ref: Time Functions-Footnote-5524887 +Ref: Time Functions-Footnote-6525114 +Node: Bitwise Functions525380 +Ref: table-bitwise-ops525942 +Ref: Bitwise Functions-Footnote-1530163 +Node: Type Functions530347 +Node: I18N Functions531498 +Node: User-defined533125 +Node: Definition Syntax533929 +Ref: Definition Syntax-Footnote-1538839 +Node: Function Example538908 +Node: Function Caveats541502 +Node: Calling A Function541923 +Node: Variable Scope543038 +Node: Pass By Value/Reference546001 +Node: Return Statement549509 +Node: Dynamic Typing552490 +Node: Indirect Calls553421 +Node: Library Functions563106 +Ref: Library Functions-Footnote-1566619 +Ref: Library Functions-Footnote-2566762 +Node: Library Names566933 +Ref: Library Names-Footnote-1570404 +Ref: Library Names-Footnote-2570624 +Node: General Functions570710 +Node: Strtonum Function571738 +Node: Assert Function574668 +Node: Round Function577994 +Node: Cliff Random Function579537 +Node: Ordinal Functions580553 +Ref: Ordinal Functions-Footnote-1583623 +Ref: Ordinal Functions-Footnote-2583875 +Node: Join Function584084 +Ref: Join Function-Footnote-1585855 +Node: Getlocaltime Function586055 +Node: Readfile Function589796 +Node: Data File Management591635 +Node: Filetrans Function592267 +Node: Rewind Function596336 +Node: File Checking597723 +Node: Empty Files598817 +Node: Ignoring Assigns601047 +Node: Getopt Function602600 +Ref: Getopt Function-Footnote-1613903 +Node: Passwd Functions614106 +Ref: Passwd Functions-Footnote-1623081 +Node: Group Functions623169 +Node: Walking Arrays631253 +Node: Sample Programs633390 +Node: Running Examples634064 +Node: Clones634792 +Node: Cut Program636016 +Node: Egrep Program645861 +Ref: Egrep Program-Footnote-1653634 +Node: Id Program653744 +Node: Split Program657360 +Ref: Split Program-Footnote-1660879 +Node: Tee Program661007 +Node: Uniq Program663810 +Node: Wc Program671239 +Ref: Wc Program-Footnote-1675505 +Ref: Wc Program-Footnote-2675705 +Node: Miscellaneous Programs675797 +Node: Dupword Program676985 +Node: Alarm Program679016 +Node: Translate Program683769 +Ref: Translate Program-Footnote-1688156 +Ref: Translate Program-Footnote-2688404 +Node: Labels Program688538 +Ref: Labels Program-Footnote-1691909 +Node: Word Sorting691993 +Node: History Sorting695877 +Node: Extract Program697716 +Ref: Extract Program-Footnote-1705219 +Node: Simple Sed705347 +Node: Igawk Program708409 +Ref: Igawk Program-Footnote-1723566 +Ref: Igawk Program-Footnote-2723767 +Node: Anagram Program723905 +Node: Signature Program726973 +Node: Advanced Features728073 +Node: Nondecimal Data729959 +Node: Array Sorting731542 +Node: Controlling Array Traversal732239 +Node: Array Sorting Functions740477 +Ref: Array Sorting Functions-Footnote-1744151 +Ref: Array Sorting Functions-Footnote-2744244 +Node: Two-way I/O744438 +Ref: Two-way I/O-Footnote-1749870 +Node: TCP/IP Networking749940 +Node: Profiling752784 +Node: Internationalization760281 +Node: I18N and L10N761706 +Node: Explaining gettext762392 +Ref: Explaining gettext-Footnote-1767460 +Ref: Explaining gettext-Footnote-2767644 +Node: Programmer i18n767809 +Node: Translator i18n772011 +Node: String Extraction772804 +Ref: String Extraction-Footnote-1773765 +Node: Printf Ordering773851 +Ref: Printf Ordering-Footnote-1776635 +Node: I18N Portability776699 +Ref: I18N Portability-Footnote-1779148 +Node: I18N Example779211 +Ref: I18N Example-Footnote-1781849 +Node: Gawk I18N781921 +Node: Debugger782542 +Node: Debugging783513 +Node: Debugging Concepts783946 +Node: Debugging Terms785802 +Node: Awk Debugging788399 +Node: Sample Debugging Session789291 +Node: Debugger Invocation789811 +Node: Finding The Bug791143 +Node: List of Debugger Commands797631 +Node: Breakpoint Control798965 +Node: Debugger Execution Control802629 +Node: Viewing And Changing Data805989 +Node: Execution Stack809345 +Node: Debugger Info810812 +Node: Miscellaneous Debugger Commands814794 +Node: Readline Support819970 +Node: Limitations820801 +Node: Arbitrary Precision Arithmetic823053 +Ref: Arbitrary Precision Arithmetic-Footnote-1824702 +Node: General Arithmetic824850 +Node: Floating Point Issues826570 +Node: String Conversion Precision827451 +Ref: String Conversion Precision-Footnote-1829156 +Node: Unexpected Results829265 +Node: POSIX Floating Point Problems831418 +Ref: POSIX Floating Point Problems-Footnote-1835243 +Node: Integer Programming835281 +Node: Floating-point Programming837020 +Ref: Floating-point Programming-Footnote-1843351 +Ref: Floating-point Programming-Footnote-2843621 +Node: Floating-point Representation843885 +Node: Floating-point Context845050 +Ref: table-ieee-formats845889 +Node: Rounding Mode847273 +Ref: table-rounding-modes847752 +Ref: Rounding Mode-Footnote-1850767 +Node: Gawk and MPFR850946 +Node: Arbitrary Precision Floats852201 +Ref: Arbitrary Precision Floats-Footnote-1854644 +Node: Setting Precision854960 +Ref: table-predefined-precision-strings855646 +Node: Setting Rounding Mode857791 +Ref: table-gawk-rounding-modes858195 +Node: Floating-point Constants859382 +Node: Changing Precision860811 +Ref: Changing Precision-Footnote-1862208 +Node: Exact Arithmetic862382 +Node: Arbitrary Precision Integers865520 +Ref: Arbitrary Precision Integers-Footnote-1868538 +Node: Dynamic Extensions868685 +Node: Extension Intro870143 +Node: Plugin License871408 +Node: Extension Mechanism Outline872093 +Ref: load-extension872510 +Ref: load-new-function873988 +Ref: call-new-function874983 +Node: Extension API Description876998 +Node: Extension API Functions Introduction878211 +Node: General Data Types883077 +Ref: General Data Types-Footnote-1888676 +Node: Requesting Values888975 +Ref: table-value-types-returned889706 +Node: Constructor Functions890660 +Node: Registration Functions893680 +Node: Extension Functions894365 +Node: Exit Callback Functions896590 +Node: Extension Version String897839 +Node: Input Parsers898489 +Node: Output Wrappers908246 +Node: Two-way processors912756 +Node: Printing Messages914964 +Ref: Printing Messages-Footnote-1916041 +Node: Updating `ERRNO'916193 +Node: Accessing Parameters916932 +Node: Symbol Table Access918162 +Node: Symbol table by name918674 +Node: Symbol table by cookie920421 +Ref: Symbol table by cookie-Footnote-1924551 +Node: Cached values924614 +Ref: Cached values-Footnote-1928063 +Node: Array Manipulation928154 +Ref: Array Manipulation-Footnote-1929252 +Node: Array Data Types929291 +Ref: Array Data Types-Footnote-1931994 +Node: Array Functions932086 +Node: Flattening Arrays935852 +Node: Creating Arrays942704 +Node: Extension API Variables947429 +Node: Extension Versioning948065 +Node: Extension API Informational Variables949966 +Node: Extension API Boilerplate951052 +Node: Finding Extensions954856 +Node: Extension Example955416 +Node: Internal File Description956146 +Node: Internal File Ops960237 +Ref: Internal File Ops-Footnote-1971745 +Node: Using Internal File Ops971885 +Ref: Using Internal File Ops-Footnote-1974238 +Node: Extension Samples974504 +Node: Extension Sample File Functions976028 +Node: Extension Sample Fnmatch984513 +Node: Extension Sample Fork986239 +Node: Extension Sample Inplace987457 +Node: Extension Sample Ord989235 +Node: Extension Sample Readdir990071 +Node: Extension Sample Revout991603 +Node: Extension Sample Rev2way992196 +Node: Extension Sample Read write array992886 +Node: Extension Sample Readfile994769 +Node: Extension Sample API Tests995587 +Node: Extension Sample Time996112 +Node: gawkextlib997476 +Node: Language History1000236 +Node: V7/SVR3.11001758 +Node: SVR41004078 +Node: POSIX1005520 +Node: BTL1006906 +Node: POSIX/GNU1007640 +Node: Common Extensions1013175 +Node: Ranges and Locales1014481 +Ref: Ranges and Locales-Footnote-11019099 +Ref: Ranges and Locales-Footnote-21019126 +Ref: Ranges and Locales-Footnote-31019386 +Node: Contributors1019607 +Node: Installation1024682 +Node: Gawk Distribution1025576 +Node: Getting1026060 +Node: Extracting1026886 +Node: Distribution contents1028578 +Node: Unix Installation1034098 +Node: Quick Installation1034715 +Node: Additional Configuration Options1037159 +Node: Configuration Philosophy1038636 +Node: Non-Unix Installation1040990 +Node: PC Installation1041448 +Node: PC Binary Installation1042747 +Node: PC Compiling1044595 +Node: PC Testing1047539 +Node: PC Using1048715 +Node: Cygwin1052900 +Node: MSYS1053900 +Node: VMS Installation1054414 +Node: VMS Compilation1055017 +Ref: VMS Compilation-Footnote-11056024 +Node: VMS Installation Details1056082 +Node: VMS Running1057717 +Node: VMS Old Gawk1059324 +Node: Bugs1059798 +Node: Other Versions1063654 +Node: Notes1069738 +Node: Compatibility Mode1070538 +Node: Additions1071321 +Node: Accessing The Source1072248 +Node: Adding Code1073688 +Node: New Ports1079733 +Node: Derived Files1083868 +Ref: Derived Files-Footnote-11089189 +Ref: Derived Files-Footnote-21089223 +Ref: Derived Files-Footnote-31089823 +Node: Future Extensions1089921 +Node: Implementation Limitations1090498 +Node: Extension Design1091750 +Node: Old Extension Problems1092904 +Ref: Old Extension Problems-Footnote-11094412 +Node: Extension New Mechanism Goals1094469 +Ref: Extension New Mechanism Goals-Footnote-11097834 +Node: Extension Other Design Decisions1098020 +Node: Extension Future Growth1100126 +Node: Old Extension Mechanism1100962 +Node: Basic Concepts1102702 +Node: Basic High Level1103383 +Ref: figure-general-flow1103654 +Ref: figure-process-flow1104253 +Ref: Basic High Level-Footnote-11107482 +Node: Basic Data Typing1107667 +Node: Glossary1111022 +Node: Copying1136484 +Node: GNU Free Documentation License1174041 +Node: Index1199178  End Tag Table -- cgit v1.2.3 From 70778853494d7ec00a77d42617fdd030c74c9bec Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 12 Dec 2013 12:30:20 +0200 Subject: Fix presentation of asort and asorti. --- doc/gawk.info | 934 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 467 insertions(+), 467 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 24f08018..42228cae 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -10439,42 +10439,45 @@ available: default `awk' behavior. `"@ind_str_asc"' - Order by indices compared as strings; this is the most basic sort. - (Internally, array indices are always strings, so with `a[2*5] = 1' - the index is `"10"' rather than numeric 10.) + Order by indices in ascending order compared as strings; this is + the most basic sort. (Internally, array indices are always + strings, so with `a[2*5] = 1' the index is `"10"' rather than + numeric 10.) `"@ind_num_asc"' - Order by indices but force them to be treated as numbers in the - process. Any index with a non-numeric value will end up - positioned as if it were zero. + Order by indices in ascending order but force them to be treated + as numbers in the process. Any index with a non-numeric value + will end up positioned as if it were zero. `"@val_type_asc"' - Order by element values rather than indices. Ordering is by the - type assigned to the element (*note Typing and Comparison::). All - numeric values come before all string values, which in turn come - before all subarrays. (Subarrays have not been described yet; - *note Arrays of Arrays::). + Order by element values in ascending order (rather than by + indices). Ordering is by the type assigned to the element (*note + Typing and Comparison::). All numeric values come before all + string values, which in turn come before all subarrays. + (Subarrays have not been described yet; *note Arrays of Arrays::.) `"@val_str_asc"' - Order by element values rather than by indices. Scalar values are - compared as strings. Subarrays, if present, come out last. + Order by element values in ascending order (rather than by + indices). Scalar values are compared as strings. Subarrays, if + present, come out last. `"@val_num_asc"' - Order by element values rather than by indices. Scalar values are - compared as numbers. Subarrays, if present, come out last. When - numeric values are equal, the string values are used to provide an - ordering: this guarantees consistent results across different - versions of the C `qsort()' function,(1) which `gawk' uses - internally to perform the sorting. + Order by element values in ascending order (rather than by + indices). Scalar values are compared as numbers. Subarrays, if + present, come out last. When numeric values are equal, the string + values are used to provide an ordering: this guarantees consistent + results across different versions of the C `qsort()' function,(1) + which `gawk' uses internally to perform the sorting. `"@ind_str_desc"' - Reverse order from the most basic sort. + String indices ordered from high to low. `"@ind_num_desc"' Numeric indices ordered from high to low. `"@val_type_desc"' - Element values, based on type, in descending order. + Element values, based on type, ordered from high to low. + Subarrays, if present, come out first. `"@val_str_desc"' Element values, treated as strings, ordered from high to low. @@ -11187,13 +11190,15 @@ File: gawk.info, Node: String Functions, Next: I/O Functions, Prev: Numeric F ----------------------------------- The functions in this minor node look at or change the text of one or -more strings. `gawk' understands locales (*note Locales::), and does -all string processing in terms of _characters_, not _bytes_. This -distinction is particularly important to understand for locales where -one character may be represented by multiple bytes. Thus, for example, -`length()' returns the number of characters in a string, and not the -number of bytes used to represent those characters, Similarly, -`index()' works with character indices, and not byte indices. +more strings. + + `gawk' understands locales (*note Locales::), and does all string +processing in terms of _characters_, not _bytes_. This distinction is +particularly important to understand for locales where one character +may be represented by multiple bytes. Thus, for example, `length()' +returns the number of characters in a string, and not the number of +bytes used to represent those characters. Similarly, `index()' works +with character indices, and not byte indices. In the following list, optional parameters are enclosed in square brackets ([ ]). Several functions perform string substitution; the @@ -11209,26 +11214,26 @@ pound sign (`#'): `gensub()'. `asort(SOURCE [, DEST [, HOW ] ]) #' - Return the number of elements in the array SOURCE. `gawk' sorts - the contents of SOURCE and replaces the indices of the sorted - values of SOURCE with sequential integers starting with one. If - the optional array DEST is specified, then SOURCE is duplicated - into DEST. DEST is then sorted, leaving the indices of SOURCE - unchanged. The optional third argument HOW is a string which - controls the rule for comparing values, and the sort direction. A - single space is required between the comparison mode, `string' or - `number', and the direction specification, `ascending' or - `descending'. You can omit direction and/or mode in which case it - will default to `ascending' and `string', respectively. An empty - string "" is the same as the default `"ascending string"' for the - value of HOW. If the `source' array contains subarrays as values, - they will come out last(first) in the `dest' array for - `ascending'(`descending') order specification. The value of - `IGNORECASE' affects the sorting. The third argument can also be - a user-defined function name in which case the value returned by - the function is used to order the array elements before - constructing the result array. *Note Array Sorting Functions::, - for more information. +`asorti(SOURCE [, DEST [, HOW ] ]) #' + These two functions are similar in behavior, so they are described + together. + + NOTE: The following description ignores the third argument, + HOW, since it requires understanding features that we have + not discussed yet. Thus, the discussion here is a deliberate + simplification. (We do provide all the details later on: + *Note Array Sorting Functions::, for the full story.) + + Both functions return the number of elements in the array SOURCE. + For `asort()', `gawk' sorts the values of SOURCE and replaces the + indices of the sorted values of SOURCE with sequential integers + starting with one. If the optional array DEST is specified, then + SOURCE is duplicated into DEST. DEST is then sorted, leaving the + indices of SOURCE unchanged. + + When comparing strings, `IGNORECASE' affects the sorting. If the + SOURCE array contains subarrays as values (*note Arrays of + Arrays::), they will come last, after all scalar values. For example, if the contents of `a' are as follows: @@ -11246,23 +11251,16 @@ pound sign (`#'): a[2] = "de" a[3] = "sac" - In order to reverse the direction of the sorted results in the - above example, `asort()' can be called with three arguments as - follows: - - asort(a, a, "descending") - - The `asort()' function is described in more detail in *note Array - Sorting Functions::. `asort()' is a `gawk' extension; it is not - available in compatibility mode (*note Options::). + The `asorti()' function works similarly to `asort()', however, the + _indices_ are sorted, instead of the values. Thus, in the previous + example, starting with the same initial set of indices and values + in `a', calling `asorti(a)' would yield: -`asorti(SOURCE [, DEST [, HOW ] ]) #' - Return the number of elements in the array SOURCE. It works - similarly to `asort()', however, the _indices_ are sorted, instead - of the values. (Here too, `IGNORECASE' affects the sorting.) + a[1] = "first" + a[2] = "last" + a[3] = "middle" - The `asorti()' function is described in more detail in *note Array - Sorting Functions::. `asorti()' is a `gawk' extension; it is not + `asort()' and `asorti()' are `gawk' extensions; they are not available in compatibility mode (*note Options::). `gensub(REGEXP, REPLACEMENT, HOW [, TARGET]) #' @@ -18226,7 +18224,7 @@ seemingly ordered data: function cmp_randomize(i1, v1, i2, v2) { - # random order + # random order (caution: this may never terminate!) return (2 - 4 * rand()) } @@ -18240,7 +18238,7 @@ elements with otherwise equal values is to include the indices in the comparison rules. Note that doing this may make the loop traversal less efficient, so consider it only if necessary. The following comparison functions force a deterministic order, and are based on the -fact that the indices of two elements are never equal: +fact that the (string) indices of two elements are never equal: function cmp_numeric(i1, v1, i2, v2) { @@ -18299,9 +18297,9 @@ functions (*note String Functions::) for sorting arrays. For example: After the call to `asort()', the array `data' is indexed from 1 to some number N, the total number of elements in `data'. (This count is `asort()''s return value.) `data[1]' <= `data[2]' <= `data[3]', and so -on. The comparison is based on the type of the elements (*note Typing -and Comparison::). All numeric values come before all string values, -which in turn come before all subarrays. +on. The default comparison is based on the type of the elements (*note +Typing and Comparison::). All numeric values come before all string +values, which in turn come before all subarrays. An important side effect of calling `asort()' is that _the array's original indices are irrevocably lost_. As this isn't always @@ -18316,21 +18314,11 @@ desirable, `asort()' accepts a second argument: and then sorts `dest', destroying its indices. However, the `source' array is not affected. - `asort()' accepts a third string argument to control comparison of -array elements. As with `PROCINFO["sorted_in"]', this argument may be -one of the predefined names that `gawk' provides (*note Controlling -Scanning::), or the name of a user-defined function (*note Controlling -Array Traversal::). - - NOTE: In all cases, the sorted element values consist of the - original array's element values. The ability to control - comparison merely affects the way in which they are sorted. - Often, what's needed is to sort on the values of the _indices_ instead of the values of the elements. To do that, use the `asorti()' -function. The interface is identical to that of `asort()', except that -the index values are used for sorting, and become the values of the -result array: +function. The interface and behavior are identical to that of +`asort()', except that the index values are used for sorting, and +become the values of the result array: { source[$0] = some_func($0) } @@ -18345,32 +18333,41 @@ result array: } } - Similar to `asort()', in all cases, the sorted element values -consist of the original array's indices. The ability to control -comparison merely affects the way in which they are sorted. - - Sorting the array by replacing the indices provides maximal -flexibility. To traverse the elements in decreasing order, use a loop -that goes from N down to 1, either over the elements or over the -indices.(1) - - Copying array indices and elements isn't expensive in terms of -memory. Internally, `gawk' maintains "reference counts" to data. For -example, when `asort()' copies the first array to the second one, there -is only one copy of the original array elements' data, even though both -arrays use the values. + So far, so good. Now it starts to get interesting. Both `asort()' +and `asorti()' accept a third string argument to control comparison of +array elements. In *note String Functions::, we ignored this third +argument; however, the time has now come to describe how this argument +affects these two functions. + + Basically, the third argument specifies how the array is to be +sorted. There are two possibilities. As with `PROCINFO["sorted_in"]', +this argument may be one of the predefined names that `gawk' provides +(*note Controlling Scanning::), or it may be the name of a user-defined +function (*note Controlling Array Traversal::). + + In the latter case, _the function can compare elements in any way it +chooses_, taking into account just the indices, just the values, or +both. This is extremely powerful. + + Once the array is sorted, `asort()' takes the _values_ in their +final order, and uses them to fill in the result array, whereas +`asorti()' takes the _indices_ in their final order, and uses them to +fill in the result array. + + NOTE: Copying array indices and elements isn't expensive in terms + of memory. Internally, `gawk' maintains "reference counts" to + data. For example, when `asort()' copies the first array to the + second one, there is only one copy of the original array elements' + data, even though both arrays use the values. Because `IGNORECASE' affects string comparisons, the value of `IGNORECASE' also affects sorting for both `asort()' and `asorti()'. Note also that the locale's sorting order does _not_ come into play; -comparisons are based on character values only.(2) Caveat Emptor. +comparisons are based on character values only.(1) Caveat Emptor. ---------- Footnotes ---------- - (1) You may also use one of the predefined sorting names that sorts -in decreasing order. - - (2) This is true because locale-based comparison occurs only when in + (1) This is true because locale-based comparison occurs only when in POSIX compatibility mode, and since `asort()' and `asorti()' are `gawk' extensions, they are not available in that case. @@ -29712,7 +29709,7 @@ Index * arrays, elements, order of: Scanning an Array. (line 48) * arrays, elements, referencing: Reference to Elements. (line 6) -* arrays, elements, retrieving number of: String Functions. (line 29) +* arrays, elements, retrieving number of: String Functions. (line 32) * arrays, for statement and: Scanning an Array. (line 20) * arrays, IGNORECASE variable and: Array Intro. (line 91) * arrays, indexing: Array Intro. (line 49) @@ -29724,7 +29721,7 @@ Index * arrays, sorting: Array Sorting Functions. (line 6) * arrays, sorting, IGNORECASE variable and: Array Sorting Functions. - (line 81) + (line 83) * arrays, sparse: Array Intro. (line 70) * arrays, subscripts: Numeric Array Subscripts. (line 6) @@ -29736,10 +29733,14 @@ Index * ASCII: Ordinal Functions. (line 45) * asort() function (gawk) <1>: Array Sorting Functions. (line 6) -* asort() function (gawk): String Functions. (line 29) +* asort() function (gawk): String Functions. (line 32) * asort() function (gawk), arrays, sorting: Array Sorting Functions. (line 6) -* asorti() function (gawk): String Functions. (line 77) +* asorti() function (gawk) <1>: Array Sorting Functions. + (line 6) +* asorti() function (gawk): String Functions. (line 32) +* asorti() function (gawk), arrays, sorting: Array Sorting Functions. + (line 6) * assert() function (C library): Assert Function. (line 6) * assert() user-defined function: Assert Function. (line 28) * assertions: Assert Function. (line 6) @@ -29981,7 +29982,7 @@ Index * caret (^), regexp operator: Regexp Operators. (line 22) * case keyword: Switch Statement. (line 6) * case sensitivity, array indices and: Array Intro. (line 91) -* case sensitivity, converting case: String Functions. (line 524) +* case sensitivity, converting case: String Functions. (line 519) * case sensitivity, example programs: Library Functions. (line 53) * case sensitivity, gawk: Case-sensitivity. (line 26) * case sensitivity, regexps and <1>: User-modified. (line 82) @@ -30058,7 +30059,7 @@ Index * common extensions, delete to delete entire arrays: Delete. (line 39) * common extensions, func keyword: Definition Syntax. (line 83) * common extensions, length() applied to an array: String Functions. - (line 198) + (line 193) * common extensions, RS as a regexp: Records. (line 120) * common extensions, single character fields: Single Character Fields. (line 6) @@ -30103,7 +30104,7 @@ Index (line 6) * continue statement: Continue Statement. (line 6) * control statements: Statements. (line 6) -* converting, case: String Functions. (line 524) +* converting, case: String Functions. (line 519) * converting, dates to timestamps: Time Functions. (line 75) * converting, during subscripting: Numeric Array Subscripts. (line 31) @@ -30163,7 +30164,7 @@ Index (line 20) * dark corner, input files: Records. (line 103) * dark corner, invoking awk: Command Line. (line 16) -* dark corner, length() function: String Functions. (line 184) +* dark corner, length() function: String Functions. (line 179) * dark corner, locale's decimal point character: Conversion. (line 77) * dark corner, multiline records: Multiple Line. (line 35) * dark corner, NF variable, decrementing: Changing Fields. (line 107) @@ -30174,7 +30175,7 @@ Index (line 147) * dark corner, regexp constants, as arguments to user-defined functions: Using Constant Regexps. (line 43) -* dark corner, split() function: String Functions. (line 363) +* dark corner, split() function: String Functions. (line 358) * dark corner, strings, storing: Records. (line 195) * dark corner, value of ARGV[0]: Auto-set. (line 35) * data, fixed-width: Constant Size. (line 9) @@ -30306,7 +30307,7 @@ Index * deleting elements in arrays: Delete. (line 6) * deleting entire arrays: Delete. (line 39) * Demaille, Akim: Acknowledgments. (line 60) -* differences between gawk and awk: String Functions. (line 198) +* differences between gawk and awk: String Functions. (line 193) * differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV. (line 88) * differences in awk and gawk, ARGIND variable: Auto-set. (line 40) @@ -30351,7 +30352,7 @@ Index (line 34) * differences in awk and gawk, LINT variable: User-modified. (line 98) * differences in awk and gawk, match() function: String Functions. - (line 261) + (line 256) * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) * differences in awk and gawk, PROCINFO array: Auto-set. (line 133) @@ -30365,11 +30366,11 @@ Index * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. - (line 351) + (line 346) * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: Records. (line 191) * differences in awk and gawk, strtonum() function (gawk): String Functions. - (line 406) + (line 401) * differences in awk and gawk, SYMTAB variable: Auto-set. (line 274) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 162) @@ -30511,7 +30512,7 @@ Index * extensions, common, delete to delete entire arrays: Delete. (line 39) * extensions, common, func keyword: Definition Syntax. (line 83) * extensions, common, length() applied to an array: String Functions. - (line 198) + (line 193) * extensions, common, RS as a regexp: Records. (line 120) * extensions, common, single character fields: Single Character Fields. (line 6) @@ -30775,8 +30776,8 @@ Index * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) * gawk, IGNORECASE variable in <1>: Array Sorting Functions. - (line 81) -* gawk, IGNORECASE variable in <2>: String Functions. (line 29) + (line 83) +* gawk, IGNORECASE variable in <2>: String Functions. (line 32) * gawk, IGNORECASE variable in <3>: Array Intro. (line 91) * gawk, IGNORECASE variable in <4>: User-modified. (line 82) * gawk, IGNORECASE variable in: Case-sensitivity. (line 26) @@ -30830,7 +30831,7 @@ Index * gawkextlib project: gawkextlib. (line 6) * General Public License (GPL): Glossary. (line 314) * General Public License, See GPL: Manual History. (line 11) -* gensub() function (gawk) <1>: String Functions. (line 86) +* gensub() function (gawk) <1>: String Functions. (line 81) * gensub() function (gawk): Using Constant Regexps. (line 43) * gensub() function (gawk), escape processing: Gory Details. (line 6) @@ -30897,10 +30898,10 @@ Index * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) * groups, information about: Group Functions. (line 6) -* gsub() function <1>: String Functions. (line 139) +* gsub() function <1>: String Functions. (line 134) * gsub() function: Using Constant Regexps. (line 43) -* gsub() function, arguments of: String Functions. (line 464) +* gsub() function, arguments of: String Functions. (line 459) * gsub() function, escape processing: Gory Details. (line 6) * h debugger command (alias for help): Miscellaneous Debugger Commands. (line 66) @@ -30935,13 +30936,13 @@ Index * igawk.sh program: Igawk Program. (line 124) * ignore debugger command: Breakpoint Control. (line 87) * IGNORECASE variable <1>: Array Sorting Functions. - (line 81) -* IGNORECASE variable <2>: String Functions. (line 29) + (line 83) +* IGNORECASE variable <2>: String Functions. (line 32) * IGNORECASE variable <3>: Array Intro. (line 91) * IGNORECASE variable <4>: User-modified. (line 82) * IGNORECASE variable: Case-sensitivity. (line 26) * IGNORECASE variable, array sorting and: Array Sorting Functions. - (line 81) + (line 83) * IGNORECASE variable, array subscripts and: Array Intro. (line 91) * IGNORECASE variable, in example programs: Library Functions. (line 53) @@ -30960,7 +30961,7 @@ Index * in operator: Comparison Operators. (line 11) * increment operators: Increment Ops. (line 6) -* index() function: String Functions. (line 155) +* index() function: String Functions. (line 150) * indexing arrays: Array Intro. (line 49) * indirect function calls: Indirect Calls. (line 6) * infinite precision: Arbitrary Precision Arithmetic. @@ -31072,7 +31073,7 @@ Index (line 11) * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) -* length() function: String Functions. (line 168) +* length() function: String Functions. (line 163) * Lesser General Public License (LGPL): Glossary. (line 405) * LGPL (Lesser General Public License): Glossary. (line 405) * libmawk: Other Versions. (line 120) @@ -31154,9 +31155,9 @@ Index (line 6) * marked strings, extracting: String Extraction. (line 6) * Marx, Groucho: Increment Ops. (line 60) -* match() function: String Functions. (line 208) +* match() function: String Functions. (line 203) * match() function, RSTART/RLENGTH variables: String Functions. - (line 225) + (line 220) * matching, expressions, See comparison expressions: Typing and Comparison. (line 9) * matching, leftmost longest: Multiple Line. (line 26) @@ -31349,7 +31350,7 @@ Index * parentheses () <1>: Profiling. (line 138) * parentheses (): Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) -* patsplit() function (gawk): String Functions. (line 295) +* patsplit() function (gawk): String Functions. (line 290) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) @@ -31402,7 +31403,7 @@ Index * portability, gawk: New Ports. (line 6) * portability, gettext library and: Explaining gettext. (line 10) * portability, internationalization and: I18N Portability. (line 6) -* portability, length() function: String Functions. (line 177) +* portability, length() function: String Functions. (line 172) * portability, new awk vs. old awk: Conversion. (line 55) * portability, next statement in user-defined functions: Pass By Value/Reference. (line 91) @@ -31410,7 +31411,7 @@ Index * portability, operators: Increment Ops. (line 60) * portability, operators, not in POSIX awk: Precedence. (line 98) * portability, POSIXLY_CORRECT environment variable: Options. (line 353) -* portability, substr() function: String Functions. (line 514) +* portability, substr() function: String Functions. (line 509) * portable object files <1>: Translator i18n. (line 6) * portable object files: Explaining gettext. (line 36) * portable object files, converting to message object files: I18N Example. @@ -31447,7 +31448,7 @@ Index * POSIX awk, FS variable and: User-modified. (line 66) * POSIX awk, function keyword in: Definition Syntax. (line 83) * POSIX awk, functions and, gsub()/sub(): Gory Details. (line 54) -* POSIX awk, functions and, length(): String Functions. (line 177) +* POSIX awk, functions and, length(): String Functions. (line 172) * POSIX awk, GNU long options and: Options. (line 15) * POSIX awk, interval expressions in: Regexp Operators. (line 135) * POSIX awk, next/nextfile statements and: Next Statement. (line 45) @@ -31597,7 +31598,7 @@ Index * redirection of input: Getline/File. (line 6) * redirection of output: Redirection. (line 6) * reference counting, sorting arrays: Array Sorting Functions. - (line 75) + (line 77) * regexp constants <1>: Comparison Operators. (line 103) * regexp constants <2>: Regexp Constants. (line 6) @@ -31666,7 +31667,7 @@ Index * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 55) * RLENGTH variable: Auto-set. (line 253) -* RLENGTH variable, match() function and: String Functions. (line 225) +* RLENGTH variable, match() function and: String Functions. (line 220) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) * Robbins, Arnold <3>: Contributors. (line 130) @@ -31693,7 +31694,7 @@ Index * RS variable, multiline records and: Multiple Line. (line 17) * rshift() function (gawk): Bitwise Functions. (line 52) * RSTART variable: Auto-set. (line 259) -* RSTART variable, match() function and: String Functions. (line 225) +* RSTART variable, match() function and: String Functions. (line 220) * RT variable <1>: Auto-set. (line 266) * RT variable <2>: Getline/Variable/File. (line 10) @@ -31723,7 +31724,7 @@ Index * search paths, for source files <2>: PC Using. (line 11) * search paths, for source files <3>: Igawk Program. (line 368) * search paths, for source files: AWKPATH Variable. (line 6) -* searching: String Functions. (line 155) +* searching: String Functions. (line 150) * searching, files for regular expressions: Egrep Program. (line 6) * searching, for words: Dupword Program. (line 6) * sed utility <1>: Glossary. (line 12) @@ -31848,10 +31849,10 @@ Index * sparse arrays: Array Intro. (line 70) * Spencer, Henry: Glossary. (line 12) * split utility: Split Program. (line 6) -* split() function: String Functions. (line 317) +* split() function: String Functions. (line 312) * split() function, array elements, deleting: Delete. (line 61) * split.awk program: Split Program. (line 30) -* sprintf() function <1>: String Functions. (line 382) +* sprintf() function <1>: String Functions. (line 377) * sprintf() function: OFMT. (line 15) * sprintf() function, OFMT variable and: User-modified. (line 124) * sprintf() function, print/printf statements and: Round Function. @@ -31897,14 +31898,14 @@ Index * strings, null: Regexp Field Splitting. (line 43) * strings, numeric: Variable Typing. (line 6) -* strings, splitting: String Functions. (line 337) -* strtonum() function (gawk): String Functions. (line 389) +* strings, splitting: String Functions. (line 332) +* strtonum() function (gawk): String Functions. (line 384) * strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data. (line 36) -* sub() function <1>: String Functions. (line 410) +* sub() function <1>: String Functions. (line 405) * sub() function: Using Constant Regexps. (line 43) -* sub() function, arguments of: String Functions. (line 464) +* sub() function, arguments of: String Functions. (line 459) * sub() function, escape processing: Gory Details. (line 6) * subscript separators: User-modified. (line 156) * subscripts in arrays, multidimensional: Multidimensional. (line 10) @@ -31916,7 +31917,7 @@ Index (line 6) * SUBSEP variable: User-modified. (line 156) * SUBSEP variable, multidimensional arrays: Multidimensional. (line 16) -* substr() function: String Functions. (line 483) +* substr() function: String Functions. (line 478) * Sumner, Andrew: Other Versions. (line 64) * switch statement: Switch Statement. (line 6) * SYMTAB array: Auto-set. (line 274) @@ -31971,8 +31972,8 @@ Index * timestamps, converting dates to: Time Functions. (line 75) * timestamps, formatted: Getlocaltime Function. (line 6) -* tolower() function: String Functions. (line 525) -* toupper() function: String Functions. (line 531) +* tolower() function: String Functions. (line 520) +* toupper() function: String Functions. (line 526) * tr utility: Translate Program. (line 6) * trace debugger command: Miscellaneous Debugger Commands. (line 108) @@ -31995,9 +31996,9 @@ Index * troubleshooting, gawk, fatal errors, function arguments: Calling Built-in. (line 16) * troubleshooting, getline function: File Checking. (line 25) -* troubleshooting, gsub()/sub() functions: String Functions. (line 474) -* troubleshooting, match() function: String Functions. (line 290) -* troubleshooting, patsplit() function: String Functions. (line 313) +* troubleshooting, gsub()/sub() functions: String Functions. (line 469) +* troubleshooting, match() function: String Functions. (line 285) +* troubleshooting, patsplit() function: String Functions. (line 308) * troubleshooting, print statement, omitting commas: Print Examples. (line 31) * troubleshooting, printing: Redirection. (line 118) @@ -32006,7 +32007,7 @@ Index * troubleshooting, regexp constants vs. string constants: Computed Regexps. (line 38) * troubleshooting, string concatenation: Concatenation. (line 26) -* troubleshooting, substr() function: String Functions. (line 501) +* troubleshooting, substr() function: String Functions. (line 496) * troubleshooting, system() function: I/O Functions. (line 94) * troubleshooting, typographical errors, global variables: Options. (line 112) @@ -32371,325 +32372,324 @@ Node: Assigning Elements439178 Node: Array Example439669 Node: Scanning an Array441401 Node: Controlling Scanning443715 -Ref: Controlling Scanning-Footnote-1448638 -Node: Delete448954 -Ref: Delete-Footnote-1451719 -Node: Numeric Array Subscripts451776 -Node: Uninitialized Subscripts453959 -Node: Multidimensional455586 -Node: Multiscanning458678 -Node: Arrays of Arrays460267 -Node: Functions464907 -Node: Built-in465726 -Node: Calling Built-in466804 -Node: Numeric Functions468792 -Ref: Numeric Functions-Footnote-1472624 -Ref: Numeric Functions-Footnote-2472981 -Ref: Numeric Functions-Footnote-3473029 -Node: String Functions473298 -Ref: String Functions-Footnote-1496856 -Ref: String Functions-Footnote-2496985 -Ref: String Functions-Footnote-3497233 -Node: Gory Details497320 -Ref: table-sub-escapes498999 -Ref: table-sub-posix-92500353 -Ref: table-sub-proposed501704 -Ref: table-posix-sub503058 -Ref: table-gensub-escapes504603 -Ref: Gory Details-Footnote-1505779 -Ref: Gory Details-Footnote-2505830 -Node: I/O Functions505981 -Ref: I/O Functions-Footnote-1512966 -Node: Time Functions513113 -Ref: Time Functions-Footnote-1524046 -Ref: Time Functions-Footnote-2524114 -Ref: Time Functions-Footnote-3524272 -Ref: Time Functions-Footnote-4524383 -Ref: Time Functions-Footnote-5524495 -Ref: Time Functions-Footnote-6524722 -Node: Bitwise Functions524988 -Ref: table-bitwise-ops525550 -Ref: Bitwise Functions-Footnote-1529771 -Node: Type Functions529955 -Node: I18N Functions531106 -Node: User-defined532733 -Node: Definition Syntax533537 -Ref: Definition Syntax-Footnote-1538447 -Node: Function Example538516 -Node: Function Caveats541110 -Node: Calling A Function541531 -Node: Variable Scope542646 -Node: Pass By Value/Reference545609 -Node: Return Statement549117 -Node: Dynamic Typing552098 -Node: Indirect Calls553029 -Node: Library Functions562714 -Ref: Library Functions-Footnote-1566227 -Ref: Library Functions-Footnote-2566370 -Node: Library Names566541 -Ref: Library Names-Footnote-1570012 -Ref: Library Names-Footnote-2570232 -Node: General Functions570318 -Node: Strtonum Function571346 -Node: Assert Function574276 -Node: Round Function577602 -Node: Cliff Random Function579145 -Node: Ordinal Functions580161 -Ref: Ordinal Functions-Footnote-1583231 -Ref: Ordinal Functions-Footnote-2583483 -Node: Join Function583692 -Ref: Join Function-Footnote-1585463 -Node: Getlocaltime Function585663 -Node: Readfile Function589404 -Node: Data File Management591243 -Node: Filetrans Function591875 -Node: Rewind Function595944 -Node: File Checking597331 -Node: Empty Files598425 -Node: Ignoring Assigns600655 -Node: Getopt Function602208 -Ref: Getopt Function-Footnote-1613511 -Node: Passwd Functions613714 -Ref: Passwd Functions-Footnote-1622689 -Node: Group Functions622777 -Node: Walking Arrays630861 -Node: Sample Programs632998 -Node: Running Examples633672 -Node: Clones634400 -Node: Cut Program635624 -Node: Egrep Program645469 -Ref: Egrep Program-Footnote-1653242 -Node: Id Program653352 -Node: Split Program656968 -Ref: Split Program-Footnote-1660487 -Node: Tee Program660615 -Node: Uniq Program663418 -Node: Wc Program670847 -Ref: Wc Program-Footnote-1675113 -Ref: Wc Program-Footnote-2675313 -Node: Miscellaneous Programs675405 -Node: Dupword Program676593 -Node: Alarm Program678624 -Node: Translate Program683377 -Ref: Translate Program-Footnote-1687764 -Ref: Translate Program-Footnote-2688012 -Node: Labels Program688146 -Ref: Labels Program-Footnote-1691517 -Node: Word Sorting691601 -Node: History Sorting695485 -Node: Extract Program697324 -Ref: Extract Program-Footnote-1704827 -Node: Simple Sed704955 -Node: Igawk Program708017 -Ref: Igawk Program-Footnote-1723174 -Ref: Igawk Program-Footnote-2723375 -Node: Anagram Program723513 -Node: Signature Program726581 -Node: Advanced Features727681 -Node: Nondecimal Data729567 -Node: Array Sorting731150 -Node: Controlling Array Traversal731847 -Node: Array Sorting Functions740085 -Ref: Array Sorting Functions-Footnote-1743759 -Ref: Array Sorting Functions-Footnote-2743852 -Node: Two-way I/O744046 -Ref: Two-way I/O-Footnote-1749478 -Node: TCP/IP Networking749548 -Node: Profiling752392 -Node: Internationalization759889 -Node: I18N and L10N761314 -Node: Explaining gettext762000 -Ref: Explaining gettext-Footnote-1767068 -Ref: Explaining gettext-Footnote-2767252 -Node: Programmer i18n767417 -Node: Translator i18n771619 -Node: String Extraction772412 -Ref: String Extraction-Footnote-1773373 -Node: Printf Ordering773459 -Ref: Printf Ordering-Footnote-1776243 -Node: I18N Portability776307 -Ref: I18N Portability-Footnote-1778756 -Node: I18N Example778819 -Ref: I18N Example-Footnote-1781457 -Node: Gawk I18N781529 -Node: Debugger782150 -Node: Debugging783121 -Node: Debugging Concepts783554 -Node: Debugging Terms785410 -Node: Awk Debugging788007 -Node: Sample Debugging Session788899 -Node: Debugger Invocation789419 -Node: Finding The Bug790751 -Node: List of Debugger Commands797239 -Node: Breakpoint Control798573 -Node: Debugger Execution Control802237 -Node: Viewing And Changing Data805597 -Node: Execution Stack808953 -Node: Debugger Info810420 -Node: Miscellaneous Debugger Commands814402 -Node: Readline Support819578 -Node: Limitations820409 -Node: Arbitrary Precision Arithmetic822661 -Ref: Arbitrary Precision Arithmetic-Footnote-1824310 -Node: General Arithmetic824458 -Node: Floating Point Issues826178 -Node: String Conversion Precision827059 -Ref: String Conversion Precision-Footnote-1828764 -Node: Unexpected Results828873 -Node: POSIX Floating Point Problems831026 -Ref: POSIX Floating Point Problems-Footnote-1834851 -Node: Integer Programming834889 -Node: Floating-point Programming836628 -Ref: Floating-point Programming-Footnote-1842959 -Ref: Floating-point Programming-Footnote-2843229 -Node: Floating-point Representation843493 -Node: Floating-point Context844658 -Ref: table-ieee-formats845497 -Node: Rounding Mode846881 -Ref: table-rounding-modes847360 -Ref: Rounding Mode-Footnote-1850375 -Node: Gawk and MPFR850554 -Node: Arbitrary Precision Floats851809 -Ref: Arbitrary Precision Floats-Footnote-1854252 -Node: Setting Precision854568 -Ref: table-predefined-precision-strings855254 -Node: Setting Rounding Mode857399 -Ref: table-gawk-rounding-modes857803 -Node: Floating-point Constants858990 -Node: Changing Precision860419 -Ref: Changing Precision-Footnote-1861816 -Node: Exact Arithmetic861990 -Node: Arbitrary Precision Integers865128 -Ref: Arbitrary Precision Integers-Footnote-1868146 -Node: Dynamic Extensions868293 -Node: Extension Intro869751 -Node: Plugin License871016 -Node: Extension Mechanism Outline871701 -Ref: load-extension872118 -Ref: load-new-function873596 -Ref: call-new-function874591 -Node: Extension API Description876606 -Node: Extension API Functions Introduction877819 -Node: General Data Types882685 -Ref: General Data Types-Footnote-1888284 -Node: Requesting Values888583 -Ref: table-value-types-returned889314 -Node: Constructor Functions890268 -Node: Registration Functions893288 -Node: Extension Functions893973 -Node: Exit Callback Functions896198 -Node: Extension Version String897447 -Node: Input Parsers898097 -Node: Output Wrappers907854 -Node: Two-way processors912364 -Node: Printing Messages914572 -Ref: Printing Messages-Footnote-1915649 -Node: Updating `ERRNO'915801 -Node: Accessing Parameters916540 -Node: Symbol Table Access917770 -Node: Symbol table by name918282 -Node: Symbol table by cookie920029 -Ref: Symbol table by cookie-Footnote-1924159 -Node: Cached values924222 -Ref: Cached values-Footnote-1927671 -Node: Array Manipulation927762 -Ref: Array Manipulation-Footnote-1928860 -Node: Array Data Types928899 -Ref: Array Data Types-Footnote-1931602 -Node: Array Functions931694 -Node: Flattening Arrays935460 -Node: Creating Arrays942312 -Node: Extension API Variables947037 -Node: Extension Versioning947673 -Node: Extension API Informational Variables949574 -Node: Extension API Boilerplate950660 -Node: Finding Extensions954464 -Node: Extension Example955024 -Node: Internal File Description955754 -Node: Internal File Ops959845 -Ref: Internal File Ops-Footnote-1971353 -Node: Using Internal File Ops971493 -Ref: Using Internal File Ops-Footnote-1973846 -Node: Extension Samples974112 -Node: Extension Sample File Functions975636 -Node: Extension Sample Fnmatch984121 -Node: Extension Sample Fork985847 -Node: Extension Sample Inplace987065 -Node: Extension Sample Ord988843 -Node: Extension Sample Readdir989679 -Node: Extension Sample Revout991211 -Node: Extension Sample Rev2way991804 -Node: Extension Sample Read write array992494 -Node: Extension Sample Readfile994377 -Node: Extension Sample API Tests995195 -Node: Extension Sample Time995720 -Node: gawkextlib997084 -Node: Language History999844 -Node: V7/SVR3.11001366 -Node: SVR41003686 -Node: POSIX1005128 -Node: BTL1006514 -Node: POSIX/GNU1007248 -Node: Common Extensions1012783 -Node: Ranges and Locales1014089 -Ref: Ranges and Locales-Footnote-11018707 -Ref: Ranges and Locales-Footnote-21018734 -Ref: Ranges and Locales-Footnote-31018994 -Node: Contributors1019215 -Node: Installation1024290 -Node: Gawk Distribution1025184 -Node: Getting1025668 -Node: Extracting1026494 -Node: Distribution contents1028186 -Node: Unix Installation1033706 -Node: Quick Installation1034323 -Node: Additional Configuration Options1036767 -Node: Configuration Philosophy1038244 -Node: Non-Unix Installation1040598 -Node: PC Installation1041056 -Node: PC Binary Installation1042355 -Node: PC Compiling1044203 -Node: PC Testing1047147 -Node: PC Using1048323 -Node: Cygwin1052508 -Node: MSYS1053508 -Node: VMS Installation1054022 -Node: VMS Compilation1054625 -Ref: VMS Compilation-Footnote-11055632 -Node: VMS Installation Details1055690 -Node: VMS Running1057325 -Node: VMS Old Gawk1058932 -Node: Bugs1059406 -Node: Other Versions1063262 -Node: Notes1069346 -Node: Compatibility Mode1070146 -Node: Additions1070929 -Node: Accessing The Source1071856 -Node: Adding Code1073296 -Node: New Ports1079341 -Node: Derived Files1083476 -Ref: Derived Files-Footnote-11088797 -Ref: Derived Files-Footnote-21088831 -Ref: Derived Files-Footnote-31089431 -Node: Future Extensions1089529 -Node: Implementation Limitations1090106 -Node: Extension Design1091358 -Node: Old Extension Problems1092512 -Ref: Old Extension Problems-Footnote-11094020 -Node: Extension New Mechanism Goals1094077 -Ref: Extension New Mechanism Goals-Footnote-11097442 -Node: Extension Other Design Decisions1097628 -Node: Extension Future Growth1099734 -Node: Old Extension Mechanism1100570 -Node: Basic Concepts1102310 -Node: Basic High Level1102991 -Ref: figure-general-flow1103262 -Ref: figure-process-flow1103861 -Ref: Basic High Level-Footnote-11107090 -Node: Basic Data Typing1107275 -Node: Glossary1110630 -Node: Copying1136092 -Node: GNU Free Documentation License1173649 -Node: Index1198786 +Ref: Controlling Scanning-Footnote-1448802 +Node: Delete449118 +Ref: Delete-Footnote-1451883 +Node: Numeric Array Subscripts451940 +Node: Uninitialized Subscripts454123 +Node: Multidimensional455750 +Node: Multiscanning458842 +Node: Arrays of Arrays460431 +Node: Functions465071 +Node: Built-in465890 +Node: Calling Built-in466968 +Node: Numeric Functions468956 +Ref: Numeric Functions-Footnote-1472788 +Ref: Numeric Functions-Footnote-2473145 +Ref: Numeric Functions-Footnote-3473193 +Node: String Functions473462 +Ref: String Functions-Footnote-1496382 +Ref: String Functions-Footnote-2496511 +Ref: String Functions-Footnote-3496759 +Node: Gory Details496846 +Ref: table-sub-escapes498525 +Ref: table-sub-posix-92499879 +Ref: table-sub-proposed501230 +Ref: table-posix-sub502584 +Ref: table-gensub-escapes504129 +Ref: Gory Details-Footnote-1505305 +Ref: Gory Details-Footnote-2505356 +Node: I/O Functions505507 +Ref: I/O Functions-Footnote-1512492 +Node: Time Functions512639 +Ref: Time Functions-Footnote-1523572 +Ref: Time Functions-Footnote-2523640 +Ref: Time Functions-Footnote-3523798 +Ref: Time Functions-Footnote-4523909 +Ref: Time Functions-Footnote-5524021 +Ref: Time Functions-Footnote-6524248 +Node: Bitwise Functions524514 +Ref: table-bitwise-ops525076 +Ref: Bitwise Functions-Footnote-1529297 +Node: Type Functions529481 +Node: I18N Functions530632 +Node: User-defined532259 +Node: Definition Syntax533063 +Ref: Definition Syntax-Footnote-1537973 +Node: Function Example538042 +Node: Function Caveats540636 +Node: Calling A Function541057 +Node: Variable Scope542172 +Node: Pass By Value/Reference545135 +Node: Return Statement548643 +Node: Dynamic Typing551624 +Node: Indirect Calls552555 +Node: Library Functions562240 +Ref: Library Functions-Footnote-1565753 +Ref: Library Functions-Footnote-2565896 +Node: Library Names566067 +Ref: Library Names-Footnote-1569538 +Ref: Library Names-Footnote-2569758 +Node: General Functions569844 +Node: Strtonum Function570872 +Node: Assert Function573802 +Node: Round Function577128 +Node: Cliff Random Function578671 +Node: Ordinal Functions579687 +Ref: Ordinal Functions-Footnote-1582757 +Ref: Ordinal Functions-Footnote-2583009 +Node: Join Function583218 +Ref: Join Function-Footnote-1584989 +Node: Getlocaltime Function585189 +Node: Readfile Function588930 +Node: Data File Management590769 +Node: Filetrans Function591401 +Node: Rewind Function595470 +Node: File Checking596857 +Node: Empty Files597951 +Node: Ignoring Assigns600181 +Node: Getopt Function601734 +Ref: Getopt Function-Footnote-1613037 +Node: Passwd Functions613240 +Ref: Passwd Functions-Footnote-1622215 +Node: Group Functions622303 +Node: Walking Arrays630387 +Node: Sample Programs632524 +Node: Running Examples633198 +Node: Clones633926 +Node: Cut Program635150 +Node: Egrep Program644995 +Ref: Egrep Program-Footnote-1652768 +Node: Id Program652878 +Node: Split Program656494 +Ref: Split Program-Footnote-1660013 +Node: Tee Program660141 +Node: Uniq Program662944 +Node: Wc Program670373 +Ref: Wc Program-Footnote-1674639 +Ref: Wc Program-Footnote-2674839 +Node: Miscellaneous Programs674931 +Node: Dupword Program676119 +Node: Alarm Program678150 +Node: Translate Program682903 +Ref: Translate Program-Footnote-1687290 +Ref: Translate Program-Footnote-2687538 +Node: Labels Program687672 +Ref: Labels Program-Footnote-1691043 +Node: Word Sorting691127 +Node: History Sorting695011 +Node: Extract Program696850 +Ref: Extract Program-Footnote-1704353 +Node: Simple Sed704481 +Node: Igawk Program707543 +Ref: Igawk Program-Footnote-1722700 +Ref: Igawk Program-Footnote-2722901 +Node: Anagram Program723039 +Node: Signature Program726107 +Node: Advanced Features727207 +Node: Nondecimal Data729093 +Node: Array Sorting730676 +Node: Controlling Array Traversal731373 +Node: Array Sorting Functions739657 +Ref: Array Sorting Functions-Footnote-1743526 +Node: Two-way I/O743720 +Ref: Two-way I/O-Footnote-1749152 +Node: TCP/IP Networking749222 +Node: Profiling752066 +Node: Internationalization759563 +Node: I18N and L10N760988 +Node: Explaining gettext761674 +Ref: Explaining gettext-Footnote-1766742 +Ref: Explaining gettext-Footnote-2766926 +Node: Programmer i18n767091 +Node: Translator i18n771293 +Node: String Extraction772086 +Ref: String Extraction-Footnote-1773047 +Node: Printf Ordering773133 +Ref: Printf Ordering-Footnote-1775917 +Node: I18N Portability775981 +Ref: I18N Portability-Footnote-1778430 +Node: I18N Example778493 +Ref: I18N Example-Footnote-1781131 +Node: Gawk I18N781203 +Node: Debugger781824 +Node: Debugging782795 +Node: Debugging Concepts783228 +Node: Debugging Terms785084 +Node: Awk Debugging787681 +Node: Sample Debugging Session788573 +Node: Debugger Invocation789093 +Node: Finding The Bug790425 +Node: List of Debugger Commands796913 +Node: Breakpoint Control798247 +Node: Debugger Execution Control801911 +Node: Viewing And Changing Data805271 +Node: Execution Stack808627 +Node: Debugger Info810094 +Node: Miscellaneous Debugger Commands814076 +Node: Readline Support819252 +Node: Limitations820083 +Node: Arbitrary Precision Arithmetic822335 +Ref: Arbitrary Precision Arithmetic-Footnote-1823984 +Node: General Arithmetic824132 +Node: Floating Point Issues825852 +Node: String Conversion Precision826733 +Ref: String Conversion Precision-Footnote-1828438 +Node: Unexpected Results828547 +Node: POSIX Floating Point Problems830700 +Ref: POSIX Floating Point Problems-Footnote-1834525 +Node: Integer Programming834563 +Node: Floating-point Programming836302 +Ref: Floating-point Programming-Footnote-1842633 +Ref: Floating-point Programming-Footnote-2842903 +Node: Floating-point Representation843167 +Node: Floating-point Context844332 +Ref: table-ieee-formats845171 +Node: Rounding Mode846555 +Ref: table-rounding-modes847034 +Ref: Rounding Mode-Footnote-1850049 +Node: Gawk and MPFR850228 +Node: Arbitrary Precision Floats851483 +Ref: Arbitrary Precision Floats-Footnote-1853926 +Node: Setting Precision854242 +Ref: table-predefined-precision-strings854928 +Node: Setting Rounding Mode857073 +Ref: table-gawk-rounding-modes857477 +Node: Floating-point Constants858664 +Node: Changing Precision860093 +Ref: Changing Precision-Footnote-1861490 +Node: Exact Arithmetic861664 +Node: Arbitrary Precision Integers864802 +Ref: Arbitrary Precision Integers-Footnote-1867820 +Node: Dynamic Extensions867967 +Node: Extension Intro869425 +Node: Plugin License870690 +Node: Extension Mechanism Outline871375 +Ref: load-extension871792 +Ref: load-new-function873270 +Ref: call-new-function874265 +Node: Extension API Description876280 +Node: Extension API Functions Introduction877493 +Node: General Data Types882359 +Ref: General Data Types-Footnote-1887958 +Node: Requesting Values888257 +Ref: table-value-types-returned888988 +Node: Constructor Functions889942 +Node: Registration Functions892962 +Node: Extension Functions893647 +Node: Exit Callback Functions895872 +Node: Extension Version String897121 +Node: Input Parsers897771 +Node: Output Wrappers907528 +Node: Two-way processors912038 +Node: Printing Messages914246 +Ref: Printing Messages-Footnote-1915323 +Node: Updating `ERRNO'915475 +Node: Accessing Parameters916214 +Node: Symbol Table Access917444 +Node: Symbol table by name917956 +Node: Symbol table by cookie919703 +Ref: Symbol table by cookie-Footnote-1923833 +Node: Cached values923896 +Ref: Cached values-Footnote-1927345 +Node: Array Manipulation927436 +Ref: Array Manipulation-Footnote-1928534 +Node: Array Data Types928573 +Ref: Array Data Types-Footnote-1931276 +Node: Array Functions931368 +Node: Flattening Arrays935134 +Node: Creating Arrays941986 +Node: Extension API Variables946711 +Node: Extension Versioning947347 +Node: Extension API Informational Variables949248 +Node: Extension API Boilerplate950334 +Node: Finding Extensions954138 +Node: Extension Example954698 +Node: Internal File Description955428 +Node: Internal File Ops959519 +Ref: Internal File Ops-Footnote-1971027 +Node: Using Internal File Ops971167 +Ref: Using Internal File Ops-Footnote-1973520 +Node: Extension Samples973786 +Node: Extension Sample File Functions975310 +Node: Extension Sample Fnmatch983795 +Node: Extension Sample Fork985521 +Node: Extension Sample Inplace986739 +Node: Extension Sample Ord988517 +Node: Extension Sample Readdir989353 +Node: Extension Sample Revout990885 +Node: Extension Sample Rev2way991478 +Node: Extension Sample Read write array992168 +Node: Extension Sample Readfile994051 +Node: Extension Sample API Tests994869 +Node: Extension Sample Time995394 +Node: gawkextlib996758 +Node: Language History999518 +Node: V7/SVR3.11001040 +Node: SVR41003360 +Node: POSIX1004802 +Node: BTL1006188 +Node: POSIX/GNU1006922 +Node: Common Extensions1012457 +Node: Ranges and Locales1013763 +Ref: Ranges and Locales-Footnote-11018381 +Ref: Ranges and Locales-Footnote-21018408 +Ref: Ranges and Locales-Footnote-31018668 +Node: Contributors1018889 +Node: Installation1023964 +Node: Gawk Distribution1024858 +Node: Getting1025342 +Node: Extracting1026168 +Node: Distribution contents1027860 +Node: Unix Installation1033380 +Node: Quick Installation1033997 +Node: Additional Configuration Options1036441 +Node: Configuration Philosophy1037918 +Node: Non-Unix Installation1040272 +Node: PC Installation1040730 +Node: PC Binary Installation1042029 +Node: PC Compiling1043877 +Node: PC Testing1046821 +Node: PC Using1047997 +Node: Cygwin1052182 +Node: MSYS1053182 +Node: VMS Installation1053696 +Node: VMS Compilation1054299 +Ref: VMS Compilation-Footnote-11055306 +Node: VMS Installation Details1055364 +Node: VMS Running1056999 +Node: VMS Old Gawk1058606 +Node: Bugs1059080 +Node: Other Versions1062936 +Node: Notes1069020 +Node: Compatibility Mode1069820 +Node: Additions1070603 +Node: Accessing The Source1071530 +Node: Adding Code1072970 +Node: New Ports1079015 +Node: Derived Files1083150 +Ref: Derived Files-Footnote-11088471 +Ref: Derived Files-Footnote-21088505 +Ref: Derived Files-Footnote-31089105 +Node: Future Extensions1089203 +Node: Implementation Limitations1089780 +Node: Extension Design1091032 +Node: Old Extension Problems1092186 +Ref: Old Extension Problems-Footnote-11093694 +Node: Extension New Mechanism Goals1093751 +Ref: Extension New Mechanism Goals-Footnote-11097116 +Node: Extension Other Design Decisions1097302 +Node: Extension Future Growth1099408 +Node: Old Extension Mechanism1100244 +Node: Basic Concepts1101984 +Node: Basic High Level1102665 +Ref: figure-general-flow1102936 +Ref: figure-process-flow1103535 +Ref: Basic High Level-Footnote-11106764 +Node: Basic Data Typing1106949 +Node: Glossary1110304 +Node: Copying1135766 +Node: GNU Free Documentation License1173323 +Node: Index1198460  End Tag Table -- cgit v1.2.3 From b754902e81384e9c66d022f31d01ed8de3b2ad4d Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 16 Dec 2013 22:23:09 +0200 Subject: Further updates, mainly doc. --- doc/gawk.info | 1151 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 617 insertions(+), 534 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 42228cae..bc807235 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -614,9 +614,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * VMS Installation:: Installing `gawk' on VMS. * VMS Compilation:: How to compile `gawk' under VMS. +* VMS Dynamic Extensions:: Compiling `gawk' dynamic + extensions on VMS. * VMS Installation Details:: How to install `gawk' under VMS. * VMS Running:: How to run `gawk' under VMS. +* VMS GNV:: The VMS GNV Project. * VMS Old Gawk:: An old version comes with some VMS systems. * Bugs:: Reporting Problems and Bugs. @@ -10735,7 +10738,7 @@ File: gawk.info, Node: Multidimensional, Next: Arrays of Arrays, Prev: Uninit * Menu: -* Multiscanning:: Scanning multidimensional arrays. +* Multiscanning:: Scanning multidimensional arrays. A multidimensional array is an array in which an element is identified by a sequence of indices instead of a single index. For @@ -25204,6 +25207,8 @@ the current version of `gawk'. - Prestandard VAX C compiler for VAX/VMS + - GCC for VAX and Alpha has not been tested for a while. +  @@ -26229,51 +26234,106 @@ older designation "VMS" is used throughout to refer to OpenVMS. * Menu: * VMS Compilation:: How to compile `gawk' under VMS. +* VMS Dynamic Extensions:: Compiling `gawk' dynamic extensions on + VMS. * VMS Installation Details:: How to install `gawk' under VMS. * VMS Running:: How to run `gawk' under VMS. +* VMS GNV:: The VMS GNV Project. * VMS Old Gawk:: An old version comes with some VMS systems.  -File: gawk.info, Node: VMS Compilation, Next: VMS Installation Details, Up: VMS Installation +File: gawk.info, Node: VMS Compilation, Next: VMS Dynamic Extensions, Up: VMS Installation B.3.2.1 Compiling `gawk' on VMS ............................... To compile `gawk' under VMS, there is a `DCL' command procedure that issues all the necessary `CC' and `LINK' commands. There is also a -`Makefile' for use with the `MMS' utility. From the source directory, -use either: +`Makefile' for use with the `MMS' or `MMK' utility. From the source +directory, use either: + + $ @[.vms]vmsbuild.com + +or: - $ @[.VMS]VMSBUILD.COM + $ MMS/DESCRIPTION=[.vms]descrip.mms gawk or: - $ MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK + $ MMK/DESCRIPTION=[.vms]descrip.mms gawk + + `MMK' is an open source freeware near clone of `MMS' and can better +handle `ODS-5' volumes with upper- and lower-case filenames. `MMK' is +available from `https://github.com/endlesssoftware/mmk'. + + With `ODS-5' volumes and extended parsing enabled, the case of the +target parameter may need to be exact. Older versions of `gawk' could be built with VAX C or GNU C on VAX/VMS, as well as with DEC C, but that is no longer supported. DEC C (also briefly known as "Compaq C" and now known as "HP C," but referred -to here as "DEC C") is required. Both `VMSBUILD.COM' and `DESCRIP.MMS' +to here as "DEC C") is required. Both `vmsbuild.com' and `descrip.mms' contain some obsolete support for the older compilers but are set up to use DEC C by default. - `gawk' has been tested under Alpha/VMS 7.3-1 using Compaq C V6.4, -and on Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.(1) + `gawk' has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1 using +Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3. +The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both Alpha +and IA64 VMS 8.4 used HP C 7.3.(1) + + Work is currently being done for a procedure to build `gawk' and +create a PCSI kit for compatible with the GNV product. ---------- Footnotes ---------- (1) The IA64 architecture is also known as "Itanium."  -File: gawk.info, Node: VMS Installation Details, Next: VMS Running, Prev: VMS Compilation, Up: VMS Installation +File: gawk.info, Node: VMS Dynamic Extensions, Next: VMS Installation Details, Prev: VMS Compilation, Up: VMS Installation + +B.3.2.2 Compiling `gawk' Dynamic Extensions on VMS +.................................................. + +Dynamic extensions need to be compiled with the same compiler options +for floating point, pointer size, and symbol name handling as `gawk'. +Alpha and Itanium should use IEEE floating point. The pointer size is +32 bits, and the symbol name handling is to be exact case with CRC +shortening for symbols longer than 32 bits. + + For Alpha and Itanium: + + /name=(as_is,short) + /float=ieee/ieee_mode=denorm_results + + For VAX: + + /name=(as_is,short) + + Compile time macros need to be defined before the first VMS-supplied +header file is included. + + #if (__CRTL_VER >= 70200000) && !defined (__VAX) + #define _LARGEFILE 1 + #endif + + #ifndef __VAX + #ifdef __CRTL_VER + #if __CRTL_VER >= 80200000 + #define _USE_STD_STAT 1 + #endif + #endif + #endif + + +File: gawk.info, Node: VMS Installation Details, Next: VMS Running, Prev: VMS Dynamic Extensions, Up: VMS Installation -B.3.2.2 Installing `gawk' on VMS +B.3.2.3 Installing `gawk' on VMS ................................ -To install `gawk', all you need is a "foreign" command, which is a -`DCL' symbol whose value begins with a dollar sign. For example: +To use `gawk', all you need is a "foreign" command, which is a `DCL' +symbol whose value begins with a dollar sign. For example: - $ GAWK :== $disk1:[gnubin]GAWK + $ GAWK :== $disk1:[gnubin]gawk Substitute the actual location of `gawk.exe' for `$disk1:[gnubin]'. The symbol should be placed in the `login.com' of any user who wants to run @@ -26281,9 +26341,14 @@ symbol should be placed in the `login.com' of any user who wants to run Alternatively, the symbol may be placed in the system-wide `sylogin.com' procedure, which allows all users to run `gawk'. + If your `gawk' was installed by a PCSI kit into the `GNV$GNU:' +directory tree, the program will be known as +`GNV$GNU:[bin]gnv$gawk.exe' and the help file will be +`GNV$GNU:[vms_help]gawk.hlp'. + Optionally, the help entry can be loaded into a VMS help library: - $ LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP + $ LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp (You may want to substitute a site-specific help library rather than the standard VMS library `HELPLIB'.) After loading the help text, the @@ -26305,9 +26370,9 @@ If `AWK_LIBRARY' has no definition, a default value of `SYS$LIBRARY:' is used for it.  -File: gawk.info, Node: VMS Running, Next: VMS Old Gawk, Prev: VMS Installation Details, Up: VMS Installation +File: gawk.info, Node: VMS Running, Next: VMS GNV, Prev: VMS Installation Details, Up: VMS Installation -B.3.2.3 Running `gawk' on VMS +B.3.2.4 Running `gawk' on VMS ............................. Command-line parsing and quoting conventions are significantly different @@ -26341,9 +26406,25 @@ When defining it, the value should be quoted so that it retains a single translation and not a multitranslation `RMS' searchlist.  -File: gawk.info, Node: VMS Old Gawk, Prev: VMS Running, Up: VMS Installation +File: gawk.info, Node: VMS GNV, Next: VMS Old Gawk, Prev: VMS Running, Up: VMS Installation + +B.3.2.5 The VMS GNV Project +........................... + +The VMS GNV package provides a build environment similar to POSIX with +ports of a collection of open source tools. The `gawk' found in the GNV +base kit is an older port. Currently the GNV project is being +reorganized to be individual PCSI packages for each component. See +`https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'. + + The normal build procedure for `gawk' produces a program that is +suitable for use with GNV. At this time work is being done to create +the procedures for building a PCSI kit to replace the older `gawk' port. + + +File: gawk.info, Node: VMS Old Gawk, Prev: VMS GNV, Up: VMS Installation -B.3.2.4 Some VMS Systems Have An Old Version of `gawk' +B.3.2.6 Some VMS Systems Have An Old Version of `gawk' ...................................................... Some versions of VMS have an old version of `gawk'. To access it, @@ -32176,520 +32257,522 @@ Index  Tag Table: Node: Top1360 -Node: Foreword40460 -Node: Preface44805 -Ref: Preface-Footnote-147858 -Ref: Preface-Footnote-247954 -Node: History48186 -Node: Names50560 -Ref: Names-Footnote-152037 -Node: This Manual52109 -Ref: This Manual-Footnote-157883 -Node: Conventions57983 -Node: Manual History60139 -Ref: Manual History-Footnote-163587 -Ref: Manual History-Footnote-263628 -Node: How To Contribute63702 -Node: Acknowledgments64846 -Node: Getting Started69055 -Node: Running gawk71434 -Node: One-shot72620 -Node: Read Terminal73845 -Ref: Read Terminal-Footnote-175495 -Ref: Read Terminal-Footnote-275771 -Node: Long75942 -Node: Executable Scripts77318 -Ref: Executable Scripts-Footnote-179151 -Ref: Executable Scripts-Footnote-279253 -Node: Comments79800 -Node: Quoting82267 -Node: DOS Quoting86890 -Node: Sample Data Files87565 -Node: Very Simple90609 -Node: Two Rules95208 -Node: More Complex97355 -Ref: More Complex-Footnote-1100285 -Node: Statements/Lines100370 -Ref: Statements/Lines-Footnote-1104832 -Node: Other Features105097 -Node: When106025 -Node: Invoking Gawk108172 -Node: Command Line109633 -Node: Options110416 -Ref: Options-Footnote-1125808 -Node: Other Arguments125833 -Node: Naming Standard Input128491 -Node: Environment Variables129585 -Node: AWKPATH Variable130143 -Ref: AWKPATH Variable-Footnote-1132901 -Node: AWKLIBPATH Variable133161 -Node: Other Environment Variables133879 -Node: Exit Status136842 -Node: Include Files137517 -Node: Loading Shared Libraries141086 -Node: Obsolete142450 -Node: Undocumented143147 -Node: Regexp143389 -Node: Regexp Usage144778 -Node: Escape Sequences146804 -Node: Regexp Operators152473 -Ref: Regexp Operators-Footnote-1159853 -Ref: Regexp Operators-Footnote-2160000 -Node: Bracket Expressions160098 -Ref: table-char-classes161988 -Node: GNU Regexp Operators164511 -Node: Case-sensitivity168234 -Ref: Case-sensitivity-Footnote-1171202 -Ref: Case-sensitivity-Footnote-2171437 -Node: Leftmost Longest171545 -Node: Computed Regexps172746 -Node: Reading Files176083 -Node: Records178085 -Ref: Records-Footnote-1186974 -Node: Fields187011 -Ref: Fields-Footnote-1190044 -Node: Nonconstant Fields190130 -Node: Changing Fields192332 -Node: Field Separators198291 -Node: Default Field Splitting200920 -Node: Regexp Field Splitting202037 -Node: Single Character Fields205379 -Node: Command Line Field Separator206438 -Node: Field Splitting Summary209879 -Ref: Field Splitting Summary-Footnote-1212990 -Node: Constant Size213091 -Node: Splitting By Content217675 -Ref: Splitting By Content-Footnote-1221401 -Node: Multiple Line221441 -Ref: Multiple Line-Footnote-1227288 -Node: Getline227467 -Node: Plain Getline229683 -Node: Getline/Variable231778 -Node: Getline/File232925 -Node: Getline/Variable/File234266 -Ref: Getline/Variable/File-Footnote-1235865 -Node: Getline/Pipe235952 -Node: Getline/Variable/Pipe238651 -Node: Getline/Coprocess239758 -Node: Getline/Variable/Coprocess241010 -Node: Getline Notes241747 -Node: Getline Summary244534 -Ref: table-getline-variants244942 -Node: Read Timeout245854 -Ref: Read Timeout-Footnote-1249595 -Node: Command line directories249652 -Node: Printing250282 -Node: Print251913 -Node: Print Examples253250 -Node: Output Separators256034 -Node: OFMT257794 -Node: Printf259152 -Node: Basic Printf260058 -Node: Control Letters261597 -Node: Format Modifiers265409 -Node: Printf Examples271418 -Node: Redirection274133 -Node: Special Files281098 -Node: Special FD281631 -Ref: Special FD-Footnote-1285256 -Node: Special Network285330 -Node: Special Caveats286180 -Node: Close Files And Pipes286976 -Ref: Close Files And Pipes-Footnote-1293959 -Ref: Close Files And Pipes-Footnote-2294107 -Node: Expressions294257 -Node: Values295389 -Node: Constants296065 -Node: Scalar Constants296745 -Ref: Scalar Constants-Footnote-1297604 -Node: Nondecimal-numbers297786 -Node: Regexp Constants300786 -Node: Using Constant Regexps301261 -Node: Variables304316 -Node: Using Variables304971 -Node: Assignment Options306695 -Node: Conversion308567 -Ref: table-locale-affects314068 -Ref: Conversion-Footnote-1314692 -Node: All Operators314801 -Node: Arithmetic Ops315431 -Node: Concatenation317936 -Ref: Concatenation-Footnote-1320728 -Node: Assignment Ops320848 -Ref: table-assign-ops325836 -Node: Increment Ops327167 -Node: Truth Values and Conditions330601 -Node: Truth Values331684 -Node: Typing and Comparison332733 -Node: Variable Typing333526 -Ref: Variable Typing-Footnote-1337423 -Node: Comparison Operators337545 -Ref: table-relational-ops337955 -Node: POSIX String Comparison341504 -Ref: POSIX String Comparison-Footnote-1342460 -Node: Boolean Ops342598 -Ref: Boolean Ops-Footnote-1346676 -Node: Conditional Exp346767 -Node: Function Calls348499 -Node: Precedence352093 -Node: Locales355762 -Node: Patterns and Actions356851 -Node: Pattern Overview357905 -Node: Regexp Patterns359574 -Node: Expression Patterns360117 -Node: Ranges363802 -Node: BEGIN/END366768 -Node: Using BEGIN/END367530 -Ref: Using BEGIN/END-Footnote-1370261 -Node: I/O And BEGIN/END370367 -Node: BEGINFILE/ENDFILE372649 -Node: Empty375563 -Node: Using Shell Variables375879 -Node: Action Overview378164 -Node: Statements380521 -Node: If Statement382375 -Node: While Statement383874 -Node: Do Statement385918 -Node: For Statement387074 -Node: Switch Statement390226 -Node: Break Statement392323 -Node: Continue Statement394313 -Node: Next Statement396106 -Node: Nextfile Statement398496 -Node: Exit Statement401139 -Node: Built-in Variables403555 -Node: User-modified404650 -Ref: User-modified-Footnote-1413008 -Node: Auto-set413070 -Ref: Auto-set-Footnote-1426148 -Ref: Auto-set-Footnote-2426353 -Node: ARGC and ARGV426409 -Node: Arrays430260 -Node: Array Basics431765 -Node: Array Intro432591 -Node: Reference to Elements436908 -Node: Assigning Elements439178 -Node: Array Example439669 -Node: Scanning an Array441401 -Node: Controlling Scanning443715 -Ref: Controlling Scanning-Footnote-1448802 -Node: Delete449118 -Ref: Delete-Footnote-1451883 -Node: Numeric Array Subscripts451940 -Node: Uninitialized Subscripts454123 -Node: Multidimensional455750 -Node: Multiscanning458842 -Node: Arrays of Arrays460431 -Node: Functions465071 -Node: Built-in465890 -Node: Calling Built-in466968 -Node: Numeric Functions468956 -Ref: Numeric Functions-Footnote-1472788 -Ref: Numeric Functions-Footnote-2473145 -Ref: Numeric Functions-Footnote-3473193 -Node: String Functions473462 -Ref: String Functions-Footnote-1496382 -Ref: String Functions-Footnote-2496511 -Ref: String Functions-Footnote-3496759 -Node: Gory Details496846 -Ref: table-sub-escapes498525 -Ref: table-sub-posix-92499879 -Ref: table-sub-proposed501230 -Ref: table-posix-sub502584 -Ref: table-gensub-escapes504129 -Ref: Gory Details-Footnote-1505305 -Ref: Gory Details-Footnote-2505356 -Node: I/O Functions505507 -Ref: I/O Functions-Footnote-1512492 -Node: Time Functions512639 -Ref: Time Functions-Footnote-1523572 -Ref: Time Functions-Footnote-2523640 -Ref: Time Functions-Footnote-3523798 -Ref: Time Functions-Footnote-4523909 -Ref: Time Functions-Footnote-5524021 -Ref: Time Functions-Footnote-6524248 -Node: Bitwise Functions524514 -Ref: table-bitwise-ops525076 -Ref: Bitwise Functions-Footnote-1529297 -Node: Type Functions529481 -Node: I18N Functions530632 -Node: User-defined532259 -Node: Definition Syntax533063 -Ref: Definition Syntax-Footnote-1537973 -Node: Function Example538042 -Node: Function Caveats540636 -Node: Calling A Function541057 -Node: Variable Scope542172 -Node: Pass By Value/Reference545135 -Node: Return Statement548643 -Node: Dynamic Typing551624 -Node: Indirect Calls552555 -Node: Library Functions562240 -Ref: Library Functions-Footnote-1565753 -Ref: Library Functions-Footnote-2565896 -Node: Library Names566067 -Ref: Library Names-Footnote-1569538 -Ref: Library Names-Footnote-2569758 -Node: General Functions569844 -Node: Strtonum Function570872 -Node: Assert Function573802 -Node: Round Function577128 -Node: Cliff Random Function578671 -Node: Ordinal Functions579687 -Ref: Ordinal Functions-Footnote-1582757 -Ref: Ordinal Functions-Footnote-2583009 -Node: Join Function583218 -Ref: Join Function-Footnote-1584989 -Node: Getlocaltime Function585189 -Node: Readfile Function588930 -Node: Data File Management590769 -Node: Filetrans Function591401 -Node: Rewind Function595470 -Node: File Checking596857 -Node: Empty Files597951 -Node: Ignoring Assigns600181 -Node: Getopt Function601734 -Ref: Getopt Function-Footnote-1613037 -Node: Passwd Functions613240 -Ref: Passwd Functions-Footnote-1622215 -Node: Group Functions622303 -Node: Walking Arrays630387 -Node: Sample Programs632524 -Node: Running Examples633198 -Node: Clones633926 -Node: Cut Program635150 -Node: Egrep Program644995 -Ref: Egrep Program-Footnote-1652768 -Node: Id Program652878 -Node: Split Program656494 -Ref: Split Program-Footnote-1660013 -Node: Tee Program660141 -Node: Uniq Program662944 -Node: Wc Program670373 -Ref: Wc Program-Footnote-1674639 -Ref: Wc Program-Footnote-2674839 -Node: Miscellaneous Programs674931 -Node: Dupword Program676119 -Node: Alarm Program678150 -Node: Translate Program682903 -Ref: Translate Program-Footnote-1687290 -Ref: Translate Program-Footnote-2687538 -Node: Labels Program687672 -Ref: Labels Program-Footnote-1691043 -Node: Word Sorting691127 -Node: History Sorting695011 -Node: Extract Program696850 -Ref: Extract Program-Footnote-1704353 -Node: Simple Sed704481 -Node: Igawk Program707543 -Ref: Igawk Program-Footnote-1722700 -Ref: Igawk Program-Footnote-2722901 -Node: Anagram Program723039 -Node: Signature Program726107 -Node: Advanced Features727207 -Node: Nondecimal Data729093 -Node: Array Sorting730676 -Node: Controlling Array Traversal731373 -Node: Array Sorting Functions739657 -Ref: Array Sorting Functions-Footnote-1743526 -Node: Two-way I/O743720 -Ref: Two-way I/O-Footnote-1749152 -Node: TCP/IP Networking749222 -Node: Profiling752066 -Node: Internationalization759563 -Node: I18N and L10N760988 -Node: Explaining gettext761674 -Ref: Explaining gettext-Footnote-1766742 -Ref: Explaining gettext-Footnote-2766926 -Node: Programmer i18n767091 -Node: Translator i18n771293 -Node: String Extraction772086 -Ref: String Extraction-Footnote-1773047 -Node: Printf Ordering773133 -Ref: Printf Ordering-Footnote-1775917 -Node: I18N Portability775981 -Ref: I18N Portability-Footnote-1778430 -Node: I18N Example778493 -Ref: I18N Example-Footnote-1781131 -Node: Gawk I18N781203 -Node: Debugger781824 -Node: Debugging782795 -Node: Debugging Concepts783228 -Node: Debugging Terms785084 -Node: Awk Debugging787681 -Node: Sample Debugging Session788573 -Node: Debugger Invocation789093 -Node: Finding The Bug790425 -Node: List of Debugger Commands796913 -Node: Breakpoint Control798247 -Node: Debugger Execution Control801911 -Node: Viewing And Changing Data805271 -Node: Execution Stack808627 -Node: Debugger Info810094 -Node: Miscellaneous Debugger Commands814076 -Node: Readline Support819252 -Node: Limitations820083 -Node: Arbitrary Precision Arithmetic822335 -Ref: Arbitrary Precision Arithmetic-Footnote-1823984 -Node: General Arithmetic824132 -Node: Floating Point Issues825852 -Node: String Conversion Precision826733 -Ref: String Conversion Precision-Footnote-1828438 -Node: Unexpected Results828547 -Node: POSIX Floating Point Problems830700 -Ref: POSIX Floating Point Problems-Footnote-1834525 -Node: Integer Programming834563 -Node: Floating-point Programming836302 -Ref: Floating-point Programming-Footnote-1842633 -Ref: Floating-point Programming-Footnote-2842903 -Node: Floating-point Representation843167 -Node: Floating-point Context844332 -Ref: table-ieee-formats845171 -Node: Rounding Mode846555 -Ref: table-rounding-modes847034 -Ref: Rounding Mode-Footnote-1850049 -Node: Gawk and MPFR850228 -Node: Arbitrary Precision Floats851483 -Ref: Arbitrary Precision Floats-Footnote-1853926 -Node: Setting Precision854242 -Ref: table-predefined-precision-strings854928 -Node: Setting Rounding Mode857073 -Ref: table-gawk-rounding-modes857477 -Node: Floating-point Constants858664 -Node: Changing Precision860093 -Ref: Changing Precision-Footnote-1861490 -Node: Exact Arithmetic861664 -Node: Arbitrary Precision Integers864802 -Ref: Arbitrary Precision Integers-Footnote-1867820 -Node: Dynamic Extensions867967 -Node: Extension Intro869425 -Node: Plugin License870690 -Node: Extension Mechanism Outline871375 -Ref: load-extension871792 -Ref: load-new-function873270 -Ref: call-new-function874265 -Node: Extension API Description876280 -Node: Extension API Functions Introduction877493 -Node: General Data Types882359 -Ref: General Data Types-Footnote-1887958 -Node: Requesting Values888257 -Ref: table-value-types-returned888988 -Node: Constructor Functions889942 -Node: Registration Functions892962 -Node: Extension Functions893647 -Node: Exit Callback Functions895872 -Node: Extension Version String897121 -Node: Input Parsers897771 -Node: Output Wrappers907528 -Node: Two-way processors912038 -Node: Printing Messages914246 -Ref: Printing Messages-Footnote-1915323 -Node: Updating `ERRNO'915475 -Node: Accessing Parameters916214 -Node: Symbol Table Access917444 -Node: Symbol table by name917956 -Node: Symbol table by cookie919703 -Ref: Symbol table by cookie-Footnote-1923833 -Node: Cached values923896 -Ref: Cached values-Footnote-1927345 -Node: Array Manipulation927436 -Ref: Array Manipulation-Footnote-1928534 -Node: Array Data Types928573 -Ref: Array Data Types-Footnote-1931276 -Node: Array Functions931368 -Node: Flattening Arrays935134 -Node: Creating Arrays941986 -Node: Extension API Variables946711 -Node: Extension Versioning947347 -Node: Extension API Informational Variables949248 -Node: Extension API Boilerplate950334 -Node: Finding Extensions954138 -Node: Extension Example954698 -Node: Internal File Description955428 -Node: Internal File Ops959519 -Ref: Internal File Ops-Footnote-1971027 -Node: Using Internal File Ops971167 -Ref: Using Internal File Ops-Footnote-1973520 -Node: Extension Samples973786 -Node: Extension Sample File Functions975310 -Node: Extension Sample Fnmatch983795 -Node: Extension Sample Fork985521 -Node: Extension Sample Inplace986739 -Node: Extension Sample Ord988517 -Node: Extension Sample Readdir989353 -Node: Extension Sample Revout990885 -Node: Extension Sample Rev2way991478 -Node: Extension Sample Read write array992168 -Node: Extension Sample Readfile994051 -Node: Extension Sample API Tests994869 -Node: Extension Sample Time995394 -Node: gawkextlib996758 -Node: Language History999518 -Node: V7/SVR3.11001040 -Node: SVR41003360 -Node: POSIX1004802 -Node: BTL1006188 -Node: POSIX/GNU1006922 -Node: Common Extensions1012457 -Node: Ranges and Locales1013763 -Ref: Ranges and Locales-Footnote-11018381 -Ref: Ranges and Locales-Footnote-21018408 -Ref: Ranges and Locales-Footnote-31018668 -Node: Contributors1018889 -Node: Installation1023964 -Node: Gawk Distribution1024858 -Node: Getting1025342 -Node: Extracting1026168 -Node: Distribution contents1027860 -Node: Unix Installation1033380 -Node: Quick Installation1033997 -Node: Additional Configuration Options1036441 -Node: Configuration Philosophy1037918 -Node: Non-Unix Installation1040272 -Node: PC Installation1040730 -Node: PC Binary Installation1042029 -Node: PC Compiling1043877 -Node: PC Testing1046821 -Node: PC Using1047997 -Node: Cygwin1052182 -Node: MSYS1053182 -Node: VMS Installation1053696 -Node: VMS Compilation1054299 -Ref: VMS Compilation-Footnote-11055306 -Node: VMS Installation Details1055364 -Node: VMS Running1056999 -Node: VMS Old Gawk1058606 -Node: Bugs1059080 -Node: Other Versions1062936 -Node: Notes1069020 -Node: Compatibility Mode1069820 -Node: Additions1070603 -Node: Accessing The Source1071530 -Node: Adding Code1072970 -Node: New Ports1079015 -Node: Derived Files1083150 -Ref: Derived Files-Footnote-11088471 -Ref: Derived Files-Footnote-21088505 -Ref: Derived Files-Footnote-31089105 -Node: Future Extensions1089203 -Node: Implementation Limitations1089780 -Node: Extension Design1091032 -Node: Old Extension Problems1092186 -Ref: Old Extension Problems-Footnote-11093694 -Node: Extension New Mechanism Goals1093751 -Ref: Extension New Mechanism Goals-Footnote-11097116 -Node: Extension Other Design Decisions1097302 -Node: Extension Future Growth1099408 -Node: Old Extension Mechanism1100244 -Node: Basic Concepts1101984 -Node: Basic High Level1102665 -Ref: figure-general-flow1102936 -Ref: figure-process-flow1103535 -Ref: Basic High Level-Footnote-11106764 -Node: Basic Data Typing1106949 -Node: Glossary1110304 -Node: Copying1135766 -Node: GNU Free Documentation License1173323 -Node: Index1198460 +Node: Foreword40645 +Node: Preface44990 +Ref: Preface-Footnote-148043 +Ref: Preface-Footnote-248139 +Node: History48371 +Node: Names50745 +Ref: Names-Footnote-152222 +Node: This Manual52294 +Ref: This Manual-Footnote-158068 +Node: Conventions58168 +Node: Manual History60324 +Ref: Manual History-Footnote-163772 +Ref: Manual History-Footnote-263813 +Node: How To Contribute63887 +Node: Acknowledgments65031 +Node: Getting Started69240 +Node: Running gawk71619 +Node: One-shot72805 +Node: Read Terminal74030 +Ref: Read Terminal-Footnote-175680 +Ref: Read Terminal-Footnote-275956 +Node: Long76127 +Node: Executable Scripts77503 +Ref: Executable Scripts-Footnote-179336 +Ref: Executable Scripts-Footnote-279438 +Node: Comments79985 +Node: Quoting82452 +Node: DOS Quoting87075 +Node: Sample Data Files87750 +Node: Very Simple90794 +Node: Two Rules95393 +Node: More Complex97540 +Ref: More Complex-Footnote-1100470 +Node: Statements/Lines100555 +Ref: Statements/Lines-Footnote-1105017 +Node: Other Features105282 +Node: When106210 +Node: Invoking Gawk108357 +Node: Command Line109818 +Node: Options110601 +Ref: Options-Footnote-1125993 +Node: Other Arguments126018 +Node: Naming Standard Input128676 +Node: Environment Variables129770 +Node: AWKPATH Variable130328 +Ref: AWKPATH Variable-Footnote-1133086 +Node: AWKLIBPATH Variable133346 +Node: Other Environment Variables134064 +Node: Exit Status137027 +Node: Include Files137702 +Node: Loading Shared Libraries141271 +Node: Obsolete142635 +Node: Undocumented143332 +Node: Regexp143574 +Node: Regexp Usage144963 +Node: Escape Sequences146989 +Node: Regexp Operators152658 +Ref: Regexp Operators-Footnote-1160038 +Ref: Regexp Operators-Footnote-2160185 +Node: Bracket Expressions160283 +Ref: table-char-classes162173 +Node: GNU Regexp Operators164696 +Node: Case-sensitivity168419 +Ref: Case-sensitivity-Footnote-1171387 +Ref: Case-sensitivity-Footnote-2171622 +Node: Leftmost Longest171730 +Node: Computed Regexps172931 +Node: Reading Files176268 +Node: Records178270 +Ref: Records-Footnote-1187159 +Node: Fields187196 +Ref: Fields-Footnote-1190229 +Node: Nonconstant Fields190315 +Node: Changing Fields192517 +Node: Field Separators198476 +Node: Default Field Splitting201105 +Node: Regexp Field Splitting202222 +Node: Single Character Fields205564 +Node: Command Line Field Separator206623 +Node: Field Splitting Summary210064 +Ref: Field Splitting Summary-Footnote-1213175 +Node: Constant Size213276 +Node: Splitting By Content217860 +Ref: Splitting By Content-Footnote-1221586 +Node: Multiple Line221626 +Ref: Multiple Line-Footnote-1227473 +Node: Getline227652 +Node: Plain Getline229868 +Node: Getline/Variable231963 +Node: Getline/File233110 +Node: Getline/Variable/File234451 +Ref: Getline/Variable/File-Footnote-1236050 +Node: Getline/Pipe236137 +Node: Getline/Variable/Pipe238836 +Node: Getline/Coprocess239943 +Node: Getline/Variable/Coprocess241195 +Node: Getline Notes241932 +Node: Getline Summary244719 +Ref: table-getline-variants245127 +Node: Read Timeout246039 +Ref: Read Timeout-Footnote-1249780 +Node: Command line directories249837 +Node: Printing250467 +Node: Print252098 +Node: Print Examples253435 +Node: Output Separators256219 +Node: OFMT257979 +Node: Printf259337 +Node: Basic Printf260243 +Node: Control Letters261782 +Node: Format Modifiers265594 +Node: Printf Examples271603 +Node: Redirection274318 +Node: Special Files281283 +Node: Special FD281816 +Ref: Special FD-Footnote-1285441 +Node: Special Network285515 +Node: Special Caveats286365 +Node: Close Files And Pipes287161 +Ref: Close Files And Pipes-Footnote-1294144 +Ref: Close Files And Pipes-Footnote-2294292 +Node: Expressions294442 +Node: Values295574 +Node: Constants296250 +Node: Scalar Constants296930 +Ref: Scalar Constants-Footnote-1297789 +Node: Nondecimal-numbers297971 +Node: Regexp Constants300971 +Node: Using Constant Regexps301446 +Node: Variables304501 +Node: Using Variables305156 +Node: Assignment Options306880 +Node: Conversion308752 +Ref: table-locale-affects314253 +Ref: Conversion-Footnote-1314877 +Node: All Operators314986 +Node: Arithmetic Ops315616 +Node: Concatenation318121 +Ref: Concatenation-Footnote-1320913 +Node: Assignment Ops321033 +Ref: table-assign-ops326021 +Node: Increment Ops327352 +Node: Truth Values and Conditions330786 +Node: Truth Values331869 +Node: Typing and Comparison332918 +Node: Variable Typing333711 +Ref: Variable Typing-Footnote-1337608 +Node: Comparison Operators337730 +Ref: table-relational-ops338140 +Node: POSIX String Comparison341689 +Ref: POSIX String Comparison-Footnote-1342645 +Node: Boolean Ops342783 +Ref: Boolean Ops-Footnote-1346861 +Node: Conditional Exp346952 +Node: Function Calls348684 +Node: Precedence352278 +Node: Locales355947 +Node: Patterns and Actions357036 +Node: Pattern Overview358090 +Node: Regexp Patterns359759 +Node: Expression Patterns360302 +Node: Ranges363987 +Node: BEGIN/END366953 +Node: Using BEGIN/END367715 +Ref: Using BEGIN/END-Footnote-1370446 +Node: I/O And BEGIN/END370552 +Node: BEGINFILE/ENDFILE372834 +Node: Empty375748 +Node: Using Shell Variables376064 +Node: Action Overview378349 +Node: Statements380706 +Node: If Statement382560 +Node: While Statement384059 +Node: Do Statement386103 +Node: For Statement387259 +Node: Switch Statement390411 +Node: Break Statement392508 +Node: Continue Statement394498 +Node: Next Statement396291 +Node: Nextfile Statement398681 +Node: Exit Statement401324 +Node: Built-in Variables403740 +Node: User-modified404835 +Ref: User-modified-Footnote-1413193 +Node: Auto-set413255 +Ref: Auto-set-Footnote-1426333 +Ref: Auto-set-Footnote-2426538 +Node: ARGC and ARGV426594 +Node: Arrays430445 +Node: Array Basics431950 +Node: Array Intro432776 +Node: Reference to Elements437093 +Node: Assigning Elements439363 +Node: Array Example439854 +Node: Scanning an Array441586 +Node: Controlling Scanning443900 +Ref: Controlling Scanning-Footnote-1448987 +Node: Delete449303 +Ref: Delete-Footnote-1452068 +Node: Numeric Array Subscripts452125 +Node: Uninitialized Subscripts454308 +Node: Multidimensional455935 +Node: Multiscanning459028 +Node: Arrays of Arrays460617 +Node: Functions465257 +Node: Built-in466076 +Node: Calling Built-in467154 +Node: Numeric Functions469142 +Ref: Numeric Functions-Footnote-1472974 +Ref: Numeric Functions-Footnote-2473331 +Ref: Numeric Functions-Footnote-3473379 +Node: String Functions473648 +Ref: String Functions-Footnote-1496568 +Ref: String Functions-Footnote-2496697 +Ref: String Functions-Footnote-3496945 +Node: Gory Details497032 +Ref: table-sub-escapes498711 +Ref: table-sub-posix-92500065 +Ref: table-sub-proposed501416 +Ref: table-posix-sub502770 +Ref: table-gensub-escapes504315 +Ref: Gory Details-Footnote-1505491 +Ref: Gory Details-Footnote-2505542 +Node: I/O Functions505693 +Ref: I/O Functions-Footnote-1512678 +Node: Time Functions512825 +Ref: Time Functions-Footnote-1523758 +Ref: Time Functions-Footnote-2523826 +Ref: Time Functions-Footnote-3523984 +Ref: Time Functions-Footnote-4524095 +Ref: Time Functions-Footnote-5524207 +Ref: Time Functions-Footnote-6524434 +Node: Bitwise Functions524700 +Ref: table-bitwise-ops525262 +Ref: Bitwise Functions-Footnote-1529483 +Node: Type Functions529667 +Node: I18N Functions530818 +Node: User-defined532445 +Node: Definition Syntax533249 +Ref: Definition Syntax-Footnote-1538159 +Node: Function Example538228 +Node: Function Caveats540822 +Node: Calling A Function541243 +Node: Variable Scope542358 +Node: Pass By Value/Reference545321 +Node: Return Statement548829 +Node: Dynamic Typing551810 +Node: Indirect Calls552741 +Node: Library Functions562426 +Ref: Library Functions-Footnote-1565939 +Ref: Library Functions-Footnote-2566082 +Node: Library Names566253 +Ref: Library Names-Footnote-1569724 +Ref: Library Names-Footnote-2569944 +Node: General Functions570030 +Node: Strtonum Function571058 +Node: Assert Function573988 +Node: Round Function577314 +Node: Cliff Random Function578857 +Node: Ordinal Functions579873 +Ref: Ordinal Functions-Footnote-1582943 +Ref: Ordinal Functions-Footnote-2583195 +Node: Join Function583404 +Ref: Join Function-Footnote-1585175 +Node: Getlocaltime Function585375 +Node: Readfile Function589116 +Node: Data File Management590955 +Node: Filetrans Function591587 +Node: Rewind Function595656 +Node: File Checking597043 +Node: Empty Files598137 +Node: Ignoring Assigns600367 +Node: Getopt Function601920 +Ref: Getopt Function-Footnote-1613223 +Node: Passwd Functions613426 +Ref: Passwd Functions-Footnote-1622401 +Node: Group Functions622489 +Node: Walking Arrays630573 +Node: Sample Programs632710 +Node: Running Examples633384 +Node: Clones634112 +Node: Cut Program635336 +Node: Egrep Program645181 +Ref: Egrep Program-Footnote-1652954 +Node: Id Program653064 +Node: Split Program656680 +Ref: Split Program-Footnote-1660199 +Node: Tee Program660327 +Node: Uniq Program663130 +Node: Wc Program670559 +Ref: Wc Program-Footnote-1674825 +Ref: Wc Program-Footnote-2675025 +Node: Miscellaneous Programs675117 +Node: Dupword Program676305 +Node: Alarm Program678336 +Node: Translate Program683089 +Ref: Translate Program-Footnote-1687476 +Ref: Translate Program-Footnote-2687724 +Node: Labels Program687858 +Ref: Labels Program-Footnote-1691229 +Node: Word Sorting691313 +Node: History Sorting695197 +Node: Extract Program697036 +Ref: Extract Program-Footnote-1704539 +Node: Simple Sed704667 +Node: Igawk Program707729 +Ref: Igawk Program-Footnote-1722886 +Ref: Igawk Program-Footnote-2723087 +Node: Anagram Program723225 +Node: Signature Program726293 +Node: Advanced Features727393 +Node: Nondecimal Data729279 +Node: Array Sorting730862 +Node: Controlling Array Traversal731559 +Node: Array Sorting Functions739843 +Ref: Array Sorting Functions-Footnote-1743712 +Node: Two-way I/O743906 +Ref: Two-way I/O-Footnote-1749338 +Node: TCP/IP Networking749408 +Node: Profiling752252 +Node: Internationalization759749 +Node: I18N and L10N761174 +Node: Explaining gettext761860 +Ref: Explaining gettext-Footnote-1766928 +Ref: Explaining gettext-Footnote-2767112 +Node: Programmer i18n767277 +Node: Translator i18n771479 +Node: String Extraction772272 +Ref: String Extraction-Footnote-1773233 +Node: Printf Ordering773319 +Ref: Printf Ordering-Footnote-1776103 +Node: I18N Portability776167 +Ref: I18N Portability-Footnote-1778616 +Node: I18N Example778679 +Ref: I18N Example-Footnote-1781317 +Node: Gawk I18N781389 +Node: Debugger782010 +Node: Debugging782981 +Node: Debugging Concepts783414 +Node: Debugging Terms785270 +Node: Awk Debugging787867 +Node: Sample Debugging Session788759 +Node: Debugger Invocation789279 +Node: Finding The Bug790611 +Node: List of Debugger Commands797099 +Node: Breakpoint Control798433 +Node: Debugger Execution Control802097 +Node: Viewing And Changing Data805457 +Node: Execution Stack808813 +Node: Debugger Info810280 +Node: Miscellaneous Debugger Commands814262 +Node: Readline Support819438 +Node: Limitations820269 +Node: Arbitrary Precision Arithmetic822521 +Ref: Arbitrary Precision Arithmetic-Footnote-1824170 +Node: General Arithmetic824318 +Node: Floating Point Issues826038 +Node: String Conversion Precision826919 +Ref: String Conversion Precision-Footnote-1828624 +Node: Unexpected Results828733 +Node: POSIX Floating Point Problems830886 +Ref: POSIX Floating Point Problems-Footnote-1834711 +Node: Integer Programming834749 +Node: Floating-point Programming836488 +Ref: Floating-point Programming-Footnote-1842819 +Ref: Floating-point Programming-Footnote-2843089 +Node: Floating-point Representation843353 +Node: Floating-point Context844518 +Ref: table-ieee-formats845357 +Node: Rounding Mode846741 +Ref: table-rounding-modes847220 +Ref: Rounding Mode-Footnote-1850235 +Node: Gawk and MPFR850414 +Node: Arbitrary Precision Floats851669 +Ref: Arbitrary Precision Floats-Footnote-1854112 +Node: Setting Precision854428 +Ref: table-predefined-precision-strings855114 +Node: Setting Rounding Mode857259 +Ref: table-gawk-rounding-modes857663 +Node: Floating-point Constants858850 +Node: Changing Precision860279 +Ref: Changing Precision-Footnote-1861676 +Node: Exact Arithmetic861850 +Node: Arbitrary Precision Integers864988 +Ref: Arbitrary Precision Integers-Footnote-1868006 +Node: Dynamic Extensions868153 +Node: Extension Intro869611 +Node: Plugin License870876 +Node: Extension Mechanism Outline871561 +Ref: load-extension871978 +Ref: load-new-function873456 +Ref: call-new-function874451 +Node: Extension API Description876466 +Node: Extension API Functions Introduction877679 +Node: General Data Types882545 +Ref: General Data Types-Footnote-1888144 +Node: Requesting Values888443 +Ref: table-value-types-returned889174 +Node: Constructor Functions890128 +Node: Registration Functions893148 +Node: Extension Functions893833 +Node: Exit Callback Functions896058 +Node: Extension Version String897307 +Node: Input Parsers897957 +Node: Output Wrappers907714 +Node: Two-way processors912224 +Node: Printing Messages914432 +Ref: Printing Messages-Footnote-1915509 +Node: Updating `ERRNO'915661 +Node: Accessing Parameters916400 +Node: Symbol Table Access917630 +Node: Symbol table by name918142 +Node: Symbol table by cookie919889 +Ref: Symbol table by cookie-Footnote-1924019 +Node: Cached values924082 +Ref: Cached values-Footnote-1927531 +Node: Array Manipulation927622 +Ref: Array Manipulation-Footnote-1928720 +Node: Array Data Types928759 +Ref: Array Data Types-Footnote-1931462 +Node: Array Functions931554 +Node: Flattening Arrays935320 +Node: Creating Arrays942172 +Node: Extension API Variables946897 +Node: Extension Versioning947533 +Node: Extension API Informational Variables949434 +Node: Extension API Boilerplate950520 +Node: Finding Extensions954324 +Node: Extension Example954884 +Node: Internal File Description955614 +Node: Internal File Ops959705 +Ref: Internal File Ops-Footnote-1971213 +Node: Using Internal File Ops971353 +Ref: Using Internal File Ops-Footnote-1973706 +Node: Extension Samples973972 +Node: Extension Sample File Functions975496 +Node: Extension Sample Fnmatch983981 +Node: Extension Sample Fork985707 +Node: Extension Sample Inplace986925 +Node: Extension Sample Ord988703 +Node: Extension Sample Readdir989539 +Node: Extension Sample Revout991071 +Node: Extension Sample Rev2way991664 +Node: Extension Sample Read write array992354 +Node: Extension Sample Readfile994237 +Node: Extension Sample API Tests995055 +Node: Extension Sample Time995580 +Node: gawkextlib996944 +Node: Language History999704 +Node: V7/SVR3.11001226 +Node: SVR41003546 +Node: POSIX1004988 +Node: BTL1006374 +Node: POSIX/GNU1007108 +Node: Common Extensions1012709 +Node: Ranges and Locales1014015 +Ref: Ranges and Locales-Footnote-11018633 +Ref: Ranges and Locales-Footnote-21018660 +Ref: Ranges and Locales-Footnote-31018920 +Node: Contributors1019141 +Node: Installation1024216 +Node: Gawk Distribution1025110 +Node: Getting1025594 +Node: Extracting1026420 +Node: Distribution contents1028112 +Node: Unix Installation1033632 +Node: Quick Installation1034249 +Node: Additional Configuration Options1036693 +Node: Configuration Philosophy1038170 +Node: Non-Unix Installation1040524 +Node: PC Installation1040982 +Node: PC Binary Installation1042281 +Node: PC Compiling1044129 +Node: PC Testing1047073 +Node: PC Using1048249 +Node: Cygwin1052434 +Node: MSYS1053434 +Node: VMS Installation1053948 +Node: VMS Compilation1054712 +Ref: VMS Compilation-Footnote-11056327 +Node: VMS Dynamic Extensions1056385 +Node: VMS Installation Details1057406 +Node: VMS Running1059240 +Node: VMS GNV1060842 +Node: VMS Old Gawk1061547 +Node: Bugs1062017 +Node: Other Versions1065873 +Node: Notes1071957 +Node: Compatibility Mode1072757 +Node: Additions1073540 +Node: Accessing The Source1074467 +Node: Adding Code1075907 +Node: New Ports1081952 +Node: Derived Files1086087 +Ref: Derived Files-Footnote-11091408 +Ref: Derived Files-Footnote-21091442 +Ref: Derived Files-Footnote-31092042 +Node: Future Extensions1092140 +Node: Implementation Limitations1092717 +Node: Extension Design1093969 +Node: Old Extension Problems1095123 +Ref: Old Extension Problems-Footnote-11096631 +Node: Extension New Mechanism Goals1096688 +Ref: Extension New Mechanism Goals-Footnote-11100053 +Node: Extension Other Design Decisions1100239 +Node: Extension Future Growth1102345 +Node: Old Extension Mechanism1103181 +Node: Basic Concepts1104921 +Node: Basic High Level1105602 +Ref: figure-general-flow1105873 +Ref: figure-process-flow1106472 +Ref: Basic High Level-Footnote-11109701 +Node: Basic Data Typing1109886 +Node: Glossary1113241 +Node: Copying1138703 +Node: GNU Free Documentation License1176260 +Node: Index1201397  End Tag Table -- cgit v1.2.3 From b058d18ea65146294c6396e6439accfe3ccdcb6c Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sat, 21 Dec 2013 21:08:18 +0200 Subject: Make extensions controlled by configure time option. --- doc/gawk.info | 116 +++++++++++++++++++++++++++++++--------------------------- 1 file changed, 63 insertions(+), 53 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 42228cae..ed3ab7b3 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25827,6 +25827,12 @@ B.2.2 Additional Configuration Options There are several additional options you may use on the `configure' command line when compiling `gawk' from scratch, including: +`--disable-extensions' + Disable configuring and building the sample extensions in the + `extension' directory. This is useful for cross-compiling. The + default action is to dynamically check if the extensions can be + configured and compiled. + `--disable-lint' Disable all lint checking within `gawk'. The `--lint' and `--lint-old' options (*note Options::) are accepted, but silently @@ -29452,10 +29458,12 @@ Index * --characters-as-bytes option: Options. (line 82) * --copyright option: Options. (line 102) * --debug option: Options. (line 122) -* --disable-lint configuration option: Additional Configuration Options. +* --disable-extensions configuration option: Additional Configuration Options. (line 9) +* --disable-lint configuration option: Additional Configuration Options. + (line 15) * --disable-nls configuration option: Additional Configuration Options. - (line 24) + (line 30) * --dump-variables option <1>: Library Names. (line 45) * --dump-variables option: Options. (line 107) * --exec option: Options. (line 139) @@ -29493,7 +29501,7 @@ Index * --use-lc-numeric option: Options. (line 215) * --version option: Options. (line 293) * --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 29) + (line 35) * -b option: Options. (line 82) * -C option: Options. (line 102) * -D option: Options. (line 122) @@ -30088,12 +30096,14 @@ Index * concatenating: Concatenation. (line 8) * condition debugger command: Breakpoint Control. (line 54) * conditional expressions: Conditional Exp. (line 6) -* configuration option, --disable-lint: Additional Configuration Options. +* configuration option, --disable-extensions: Additional Configuration Options. (line 9) +* configuration option, --disable-lint: Additional Configuration Options. + (line 15) * configuration option, --disable-nls: Additional Configuration Options. - (line 24) + (line 30) * configuration option, --with-whiny-user-strftime: Additional Configuration Options. - (line 29) + (line 35) * configuration options, gawk: Additional Configuration Options. (line 6) * constants, floating-point: Floating-point Constants. @@ -32644,52 +32654,52 @@ Node: Distribution contents1027860 Node: Unix Installation1033380 Node: Quick Installation1033997 Node: Additional Configuration Options1036441 -Node: Configuration Philosophy1037918 -Node: Non-Unix Installation1040272 -Node: PC Installation1040730 -Node: PC Binary Installation1042029 -Node: PC Compiling1043877 -Node: PC Testing1046821 -Node: PC Using1047997 -Node: Cygwin1052182 -Node: MSYS1053182 -Node: VMS Installation1053696 -Node: VMS Compilation1054299 -Ref: VMS Compilation-Footnote-11055306 -Node: VMS Installation Details1055364 -Node: VMS Running1056999 -Node: VMS Old Gawk1058606 -Node: Bugs1059080 -Node: Other Versions1062936 -Node: Notes1069020 -Node: Compatibility Mode1069820 -Node: Additions1070603 -Node: Accessing The Source1071530 -Node: Adding Code1072970 -Node: New Ports1079015 -Node: Derived Files1083150 -Ref: Derived Files-Footnote-11088471 -Ref: Derived Files-Footnote-21088505 -Ref: Derived Files-Footnote-31089105 -Node: Future Extensions1089203 -Node: Implementation Limitations1089780 -Node: Extension Design1091032 -Node: Old Extension Problems1092186 -Ref: Old Extension Problems-Footnote-11093694 -Node: Extension New Mechanism Goals1093751 -Ref: Extension New Mechanism Goals-Footnote-11097116 -Node: Extension Other Design Decisions1097302 -Node: Extension Future Growth1099408 -Node: Old Extension Mechanism1100244 -Node: Basic Concepts1101984 -Node: Basic High Level1102665 -Ref: figure-general-flow1102936 -Ref: figure-process-flow1103535 -Ref: Basic High Level-Footnote-11106764 -Node: Basic Data Typing1106949 -Node: Glossary1110304 -Node: Copying1135766 -Node: GNU Free Documentation License1173323 -Node: Index1198460 +Node: Configuration Philosophy1038177 +Node: Non-Unix Installation1040531 +Node: PC Installation1040989 +Node: PC Binary Installation1042288 +Node: PC Compiling1044136 +Node: PC Testing1047080 +Node: PC Using1048256 +Node: Cygwin1052441 +Node: MSYS1053441 +Node: VMS Installation1053955 +Node: VMS Compilation1054558 +Ref: VMS Compilation-Footnote-11055565 +Node: VMS Installation Details1055623 +Node: VMS Running1057258 +Node: VMS Old Gawk1058865 +Node: Bugs1059339 +Node: Other Versions1063195 +Node: Notes1069279 +Node: Compatibility Mode1070079 +Node: Additions1070862 +Node: Accessing The Source1071789 +Node: Adding Code1073229 +Node: New Ports1079274 +Node: Derived Files1083409 +Ref: Derived Files-Footnote-11088730 +Ref: Derived Files-Footnote-21088764 +Ref: Derived Files-Footnote-31089364 +Node: Future Extensions1089462 +Node: Implementation Limitations1090039 +Node: Extension Design1091291 +Node: Old Extension Problems1092445 +Ref: Old Extension Problems-Footnote-11093953 +Node: Extension New Mechanism Goals1094010 +Ref: Extension New Mechanism Goals-Footnote-11097375 +Node: Extension Other Design Decisions1097561 +Node: Extension Future Growth1099667 +Node: Old Extension Mechanism1100503 +Node: Basic Concepts1102243 +Node: Basic High Level1102924 +Ref: figure-general-flow1103195 +Ref: figure-process-flow1103794 +Ref: Basic High Level-Footnote-11107023 +Node: Basic Data Typing1107208 +Node: Glossary1110563 +Node: Copying1136025 +Node: GNU Free Documentation License1173582 +Node: Index1198719  End Tag Table -- cgit v1.2.3 From d3e8016ffd4de45fb8ea5a76a1aa2048f3facaa9 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sat, 21 Dec 2013 21:13:21 +0200 Subject: Fix commit problem with doc/gawk.info. --- doc/gawk.info | 616 +++++----------------------------------------------------- 1 file changed, 49 insertions(+), 567 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index d0444668..2589f0b5 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -32267,7 +32267,6 @@ Index  Tag Table: Node: Top1360 -<<<<<<< HEAD Node: Foreword40645 Node: Preface44990 Ref: Preface-Footnote-148043 @@ -32736,571 +32735,54 @@ Node: Distribution contents1028112 Node: Unix Installation1033632 Node: Quick Installation1034249 Node: Additional Configuration Options1036693 -Node: Configuration Philosophy1038170 -Node: Non-Unix Installation1040524 -Node: PC Installation1040982 -Node: PC Binary Installation1042281 -Node: PC Compiling1044129 -Node: PC Testing1047073 -Node: PC Using1048249 -Node: Cygwin1052434 -Node: MSYS1053434 -Node: VMS Installation1053948 -Node: VMS Compilation1054712 -Ref: VMS Compilation-Footnote-11056327 -Node: VMS Dynamic Extensions1056385 -Node: VMS Installation Details1057406 -Node: VMS Running1059240 -Node: VMS GNV1060842 -Node: VMS Old Gawk1061547 -Node: Bugs1062017 -Node: Other Versions1065873 -Node: Notes1071957 -Node: Compatibility Mode1072757 -Node: Additions1073540 -Node: Accessing The Source1074467 -Node: Adding Code1075907 -Node: New Ports1081952 -Node: Derived Files1086087 -Ref: Derived Files-Footnote-11091408 -Ref: Derived Files-Footnote-21091442 -Ref: Derived Files-Footnote-31092042 -Node: Future Extensions1092140 -Node: Implementation Limitations1092717 -Node: Extension Design1093969 -Node: Old Extension Problems1095123 -Ref: Old Extension Problems-Footnote-11096631 -Node: Extension New Mechanism Goals1096688 -Ref: Extension New Mechanism Goals-Footnote-11100053 -Node: Extension Other Design Decisions1100239 -Node: Extension Future Growth1102345 -Node: Old Extension Mechanism1103181 -Node: Basic Concepts1104921 -Node: Basic High Level1105602 -Ref: figure-general-flow1105873 -Ref: figure-process-flow1106472 -Ref: Basic High Level-Footnote-11109701 -Node: Basic Data Typing1109886 -Node: Glossary1113241 -Node: Copying1138703 -Node: GNU Free Documentation License1176260 -Node: Index1201397 -======= -Node: Foreword40460 -Node: Preface44805 -Ref: Preface-Footnote-147858 -Ref: Preface-Footnote-247954 -Node: History48186 -Node: Names50560 -Ref: Names-Footnote-152037 -Node: This Manual52109 -Ref: This Manual-Footnote-157883 -Node: Conventions57983 -Node: Manual History60139 -Ref: Manual History-Footnote-163587 -Ref: Manual History-Footnote-263628 -Node: How To Contribute63702 -Node: Acknowledgments64846 -Node: Getting Started69055 -Node: Running gawk71434 -Node: One-shot72620 -Node: Read Terminal73845 -Ref: Read Terminal-Footnote-175495 -Ref: Read Terminal-Footnote-275771 -Node: Long75942 -Node: Executable Scripts77318 -Ref: Executable Scripts-Footnote-179151 -Ref: Executable Scripts-Footnote-279253 -Node: Comments79800 -Node: Quoting82267 -Node: DOS Quoting86890 -Node: Sample Data Files87565 -Node: Very Simple90609 -Node: Two Rules95208 -Node: More Complex97355 -Ref: More Complex-Footnote-1100285 -Node: Statements/Lines100370 -Ref: Statements/Lines-Footnote-1104832 -Node: Other Features105097 -Node: When106025 -Node: Invoking Gawk108172 -Node: Command Line109633 -Node: Options110416 -Ref: Options-Footnote-1125808 -Node: Other Arguments125833 -Node: Naming Standard Input128491 -Node: Environment Variables129585 -Node: AWKPATH Variable130143 -Ref: AWKPATH Variable-Footnote-1132901 -Node: AWKLIBPATH Variable133161 -Node: Other Environment Variables133879 -Node: Exit Status136842 -Node: Include Files137517 -Node: Loading Shared Libraries141086 -Node: Obsolete142450 -Node: Undocumented143147 -Node: Regexp143389 -Node: Regexp Usage144778 -Node: Escape Sequences146804 -Node: Regexp Operators152473 -Ref: Regexp Operators-Footnote-1159853 -Ref: Regexp Operators-Footnote-2160000 -Node: Bracket Expressions160098 -Ref: table-char-classes161988 -Node: GNU Regexp Operators164511 -Node: Case-sensitivity168234 -Ref: Case-sensitivity-Footnote-1171202 -Ref: Case-sensitivity-Footnote-2171437 -Node: Leftmost Longest171545 -Node: Computed Regexps172746 -Node: Reading Files176083 -Node: Records178085 -Ref: Records-Footnote-1186974 -Node: Fields187011 -Ref: Fields-Footnote-1190044 -Node: Nonconstant Fields190130 -Node: Changing Fields192332 -Node: Field Separators198291 -Node: Default Field Splitting200920 -Node: Regexp Field Splitting202037 -Node: Single Character Fields205379 -Node: Command Line Field Separator206438 -Node: Field Splitting Summary209879 -Ref: Field Splitting Summary-Footnote-1212990 -Node: Constant Size213091 -Node: Splitting By Content217675 -Ref: Splitting By Content-Footnote-1221401 -Node: Multiple Line221441 -Ref: Multiple Line-Footnote-1227288 -Node: Getline227467 -Node: Plain Getline229683 -Node: Getline/Variable231778 -Node: Getline/File232925 -Node: Getline/Variable/File234266 -Ref: Getline/Variable/File-Footnote-1235865 -Node: Getline/Pipe235952 -Node: Getline/Variable/Pipe238651 -Node: Getline/Coprocess239758 -Node: Getline/Variable/Coprocess241010 -Node: Getline Notes241747 -Node: Getline Summary244534 -Ref: table-getline-variants244942 -Node: Read Timeout245854 -Ref: Read Timeout-Footnote-1249595 -Node: Command line directories249652 -Node: Printing250282 -Node: Print251913 -Node: Print Examples253250 -Node: Output Separators256034 -Node: OFMT257794 -Node: Printf259152 -Node: Basic Printf260058 -Node: Control Letters261597 -Node: Format Modifiers265409 -Node: Printf Examples271418 -Node: Redirection274133 -Node: Special Files281098 -Node: Special FD281631 -Ref: Special FD-Footnote-1285256 -Node: Special Network285330 -Node: Special Caveats286180 -Node: Close Files And Pipes286976 -Ref: Close Files And Pipes-Footnote-1293959 -Ref: Close Files And Pipes-Footnote-2294107 -Node: Expressions294257 -Node: Values295389 -Node: Constants296065 -Node: Scalar Constants296745 -Ref: Scalar Constants-Footnote-1297604 -Node: Nondecimal-numbers297786 -Node: Regexp Constants300786 -Node: Using Constant Regexps301261 -Node: Variables304316 -Node: Using Variables304971 -Node: Assignment Options306695 -Node: Conversion308567 -Ref: table-locale-affects314068 -Ref: Conversion-Footnote-1314692 -Node: All Operators314801 -Node: Arithmetic Ops315431 -Node: Concatenation317936 -Ref: Concatenation-Footnote-1320728 -Node: Assignment Ops320848 -Ref: table-assign-ops325836 -Node: Increment Ops327167 -Node: Truth Values and Conditions330601 -Node: Truth Values331684 -Node: Typing and Comparison332733 -Node: Variable Typing333526 -Ref: Variable Typing-Footnote-1337423 -Node: Comparison Operators337545 -Ref: table-relational-ops337955 -Node: POSIX String Comparison341504 -Ref: POSIX String Comparison-Footnote-1342460 -Node: Boolean Ops342598 -Ref: Boolean Ops-Footnote-1346676 -Node: Conditional Exp346767 -Node: Function Calls348499 -Node: Precedence352093 -Node: Locales355762 -Node: Patterns and Actions356851 -Node: Pattern Overview357905 -Node: Regexp Patterns359574 -Node: Expression Patterns360117 -Node: Ranges363802 -Node: BEGIN/END366768 -Node: Using BEGIN/END367530 -Ref: Using BEGIN/END-Footnote-1370261 -Node: I/O And BEGIN/END370367 -Node: BEGINFILE/ENDFILE372649 -Node: Empty375563 -Node: Using Shell Variables375879 -Node: Action Overview378164 -Node: Statements380521 -Node: If Statement382375 -Node: While Statement383874 -Node: Do Statement385918 -Node: For Statement387074 -Node: Switch Statement390226 -Node: Break Statement392323 -Node: Continue Statement394313 -Node: Next Statement396106 -Node: Nextfile Statement398496 -Node: Exit Statement401139 -Node: Built-in Variables403555 -Node: User-modified404650 -Ref: User-modified-Footnote-1413008 -Node: Auto-set413070 -Ref: Auto-set-Footnote-1426148 -Ref: Auto-set-Footnote-2426353 -Node: ARGC and ARGV426409 -Node: Arrays430260 -Node: Array Basics431765 -Node: Array Intro432591 -Node: Reference to Elements436908 -Node: Assigning Elements439178 -Node: Array Example439669 -Node: Scanning an Array441401 -Node: Controlling Scanning443715 -Ref: Controlling Scanning-Footnote-1448802 -Node: Delete449118 -Ref: Delete-Footnote-1451883 -Node: Numeric Array Subscripts451940 -Node: Uninitialized Subscripts454123 -Node: Multidimensional455750 -Node: Multiscanning458842 -Node: Arrays of Arrays460431 -Node: Functions465071 -Node: Built-in465890 -Node: Calling Built-in466968 -Node: Numeric Functions468956 -Ref: Numeric Functions-Footnote-1472788 -Ref: Numeric Functions-Footnote-2473145 -Ref: Numeric Functions-Footnote-3473193 -Node: String Functions473462 -Ref: String Functions-Footnote-1496382 -Ref: String Functions-Footnote-2496511 -Ref: String Functions-Footnote-3496759 -Node: Gory Details496846 -Ref: table-sub-escapes498525 -Ref: table-sub-posix-92499879 -Ref: table-sub-proposed501230 -Ref: table-posix-sub502584 -Ref: table-gensub-escapes504129 -Ref: Gory Details-Footnote-1505305 -Ref: Gory Details-Footnote-2505356 -Node: I/O Functions505507 -Ref: I/O Functions-Footnote-1512492 -Node: Time Functions512639 -Ref: Time Functions-Footnote-1523572 -Ref: Time Functions-Footnote-2523640 -Ref: Time Functions-Footnote-3523798 -Ref: Time Functions-Footnote-4523909 -Ref: Time Functions-Footnote-5524021 -Ref: Time Functions-Footnote-6524248 -Node: Bitwise Functions524514 -Ref: table-bitwise-ops525076 -Ref: Bitwise Functions-Footnote-1529297 -Node: Type Functions529481 -Node: I18N Functions530632 -Node: User-defined532259 -Node: Definition Syntax533063 -Ref: Definition Syntax-Footnote-1537973 -Node: Function Example538042 -Node: Function Caveats540636 -Node: Calling A Function541057 -Node: Variable Scope542172 -Node: Pass By Value/Reference545135 -Node: Return Statement548643 -Node: Dynamic Typing551624 -Node: Indirect Calls552555 -Node: Library Functions562240 -Ref: Library Functions-Footnote-1565753 -Ref: Library Functions-Footnote-2565896 -Node: Library Names566067 -Ref: Library Names-Footnote-1569538 -Ref: Library Names-Footnote-2569758 -Node: General Functions569844 -Node: Strtonum Function570872 -Node: Assert Function573802 -Node: Round Function577128 -Node: Cliff Random Function578671 -Node: Ordinal Functions579687 -Ref: Ordinal Functions-Footnote-1582757 -Ref: Ordinal Functions-Footnote-2583009 -Node: Join Function583218 -Ref: Join Function-Footnote-1584989 -Node: Getlocaltime Function585189 -Node: Readfile Function588930 -Node: Data File Management590769 -Node: Filetrans Function591401 -Node: Rewind Function595470 -Node: File Checking596857 -Node: Empty Files597951 -Node: Ignoring Assigns600181 -Node: Getopt Function601734 -Ref: Getopt Function-Footnote-1613037 -Node: Passwd Functions613240 -Ref: Passwd Functions-Footnote-1622215 -Node: Group Functions622303 -Node: Walking Arrays630387 -Node: Sample Programs632524 -Node: Running Examples633198 -Node: Clones633926 -Node: Cut Program635150 -Node: Egrep Program644995 -Ref: Egrep Program-Footnote-1652768 -Node: Id Program652878 -Node: Split Program656494 -Ref: Split Program-Footnote-1660013 -Node: Tee Program660141 -Node: Uniq Program662944 -Node: Wc Program670373 -Ref: Wc Program-Footnote-1674639 -Ref: Wc Program-Footnote-2674839 -Node: Miscellaneous Programs674931 -Node: Dupword Program676119 -Node: Alarm Program678150 -Node: Translate Program682903 -Ref: Translate Program-Footnote-1687290 -Ref: Translate Program-Footnote-2687538 -Node: Labels Program687672 -Ref: Labels Program-Footnote-1691043 -Node: Word Sorting691127 -Node: History Sorting695011 -Node: Extract Program696850 -Ref: Extract Program-Footnote-1704353 -Node: Simple Sed704481 -Node: Igawk Program707543 -Ref: Igawk Program-Footnote-1722700 -Ref: Igawk Program-Footnote-2722901 -Node: Anagram Program723039 -Node: Signature Program726107 -Node: Advanced Features727207 -Node: Nondecimal Data729093 -Node: Array Sorting730676 -Node: Controlling Array Traversal731373 -Node: Array Sorting Functions739657 -Ref: Array Sorting Functions-Footnote-1743526 -Node: Two-way I/O743720 -Ref: Two-way I/O-Footnote-1749152 -Node: TCP/IP Networking749222 -Node: Profiling752066 -Node: Internationalization759563 -Node: I18N and L10N760988 -Node: Explaining gettext761674 -Ref: Explaining gettext-Footnote-1766742 -Ref: Explaining gettext-Footnote-2766926 -Node: Programmer i18n767091 -Node: Translator i18n771293 -Node: String Extraction772086 -Ref: String Extraction-Footnote-1773047 -Node: Printf Ordering773133 -Ref: Printf Ordering-Footnote-1775917 -Node: I18N Portability775981 -Ref: I18N Portability-Footnote-1778430 -Node: I18N Example778493 -Ref: I18N Example-Footnote-1781131 -Node: Gawk I18N781203 -Node: Debugger781824 -Node: Debugging782795 -Node: Debugging Concepts783228 -Node: Debugging Terms785084 -Node: Awk Debugging787681 -Node: Sample Debugging Session788573 -Node: Debugger Invocation789093 -Node: Finding The Bug790425 -Node: List of Debugger Commands796913 -Node: Breakpoint Control798247 -Node: Debugger Execution Control801911 -Node: Viewing And Changing Data805271 -Node: Execution Stack808627 -Node: Debugger Info810094 -Node: Miscellaneous Debugger Commands814076 -Node: Readline Support819252 -Node: Limitations820083 -Node: Arbitrary Precision Arithmetic822335 -Ref: Arbitrary Precision Arithmetic-Footnote-1823984 -Node: General Arithmetic824132 -Node: Floating Point Issues825852 -Node: String Conversion Precision826733 -Ref: String Conversion Precision-Footnote-1828438 -Node: Unexpected Results828547 -Node: POSIX Floating Point Problems830700 -Ref: POSIX Floating Point Problems-Footnote-1834525 -Node: Integer Programming834563 -Node: Floating-point Programming836302 -Ref: Floating-point Programming-Footnote-1842633 -Ref: Floating-point Programming-Footnote-2842903 -Node: Floating-point Representation843167 -Node: Floating-point Context844332 -Ref: table-ieee-formats845171 -Node: Rounding Mode846555 -Ref: table-rounding-modes847034 -Ref: Rounding Mode-Footnote-1850049 -Node: Gawk and MPFR850228 -Node: Arbitrary Precision Floats851483 -Ref: Arbitrary Precision Floats-Footnote-1853926 -Node: Setting Precision854242 -Ref: table-predefined-precision-strings854928 -Node: Setting Rounding Mode857073 -Ref: table-gawk-rounding-modes857477 -Node: Floating-point Constants858664 -Node: Changing Precision860093 -Ref: Changing Precision-Footnote-1861490 -Node: Exact Arithmetic861664 -Node: Arbitrary Precision Integers864802 -Ref: Arbitrary Precision Integers-Footnote-1867820 -Node: Dynamic Extensions867967 -Node: Extension Intro869425 -Node: Plugin License870690 -Node: Extension Mechanism Outline871375 -Ref: load-extension871792 -Ref: load-new-function873270 -Ref: call-new-function874265 -Node: Extension API Description876280 -Node: Extension API Functions Introduction877493 -Node: General Data Types882359 -Ref: General Data Types-Footnote-1887958 -Node: Requesting Values888257 -Ref: table-value-types-returned888988 -Node: Constructor Functions889942 -Node: Registration Functions892962 -Node: Extension Functions893647 -Node: Exit Callback Functions895872 -Node: Extension Version String897121 -Node: Input Parsers897771 -Node: Output Wrappers907528 -Node: Two-way processors912038 -Node: Printing Messages914246 -Ref: Printing Messages-Footnote-1915323 -Node: Updating `ERRNO'915475 -Node: Accessing Parameters916214 -Node: Symbol Table Access917444 -Node: Symbol table by name917956 -Node: Symbol table by cookie919703 -Ref: Symbol table by cookie-Footnote-1923833 -Node: Cached values923896 -Ref: Cached values-Footnote-1927345 -Node: Array Manipulation927436 -Ref: Array Manipulation-Footnote-1928534 -Node: Array Data Types928573 -Ref: Array Data Types-Footnote-1931276 -Node: Array Functions931368 -Node: Flattening Arrays935134 -Node: Creating Arrays941986 -Node: Extension API Variables946711 -Node: Extension Versioning947347 -Node: Extension API Informational Variables949248 -Node: Extension API Boilerplate950334 -Node: Finding Extensions954138 -Node: Extension Example954698 -Node: Internal File Description955428 -Node: Internal File Ops959519 -Ref: Internal File Ops-Footnote-1971027 -Node: Using Internal File Ops971167 -Ref: Using Internal File Ops-Footnote-1973520 -Node: Extension Samples973786 -Node: Extension Sample File Functions975310 -Node: Extension Sample Fnmatch983795 -Node: Extension Sample Fork985521 -Node: Extension Sample Inplace986739 -Node: Extension Sample Ord988517 -Node: Extension Sample Readdir989353 -Node: Extension Sample Revout990885 -Node: Extension Sample Rev2way991478 -Node: Extension Sample Read write array992168 -Node: Extension Sample Readfile994051 -Node: Extension Sample API Tests994869 -Node: Extension Sample Time995394 -Node: gawkextlib996758 -Node: Language History999518 -Node: V7/SVR3.11001040 -Node: SVR41003360 -Node: POSIX1004802 -Node: BTL1006188 -Node: POSIX/GNU1006922 -Node: Common Extensions1012457 -Node: Ranges and Locales1013763 -Ref: Ranges and Locales-Footnote-11018381 -Ref: Ranges and Locales-Footnote-21018408 -Ref: Ranges and Locales-Footnote-31018668 -Node: Contributors1018889 -Node: Installation1023964 -Node: Gawk Distribution1024858 -Node: Getting1025342 -Node: Extracting1026168 -Node: Distribution contents1027860 -Node: Unix Installation1033380 -Node: Quick Installation1033997 -Node: Additional Configuration Options1036441 -Node: Configuration Philosophy1038177 -Node: Non-Unix Installation1040531 -Node: PC Installation1040989 -Node: PC Binary Installation1042288 -Node: PC Compiling1044136 -Node: PC Testing1047080 -Node: PC Using1048256 -Node: Cygwin1052441 -Node: MSYS1053441 -Node: VMS Installation1053955 -Node: VMS Compilation1054558 -Ref: VMS Compilation-Footnote-11055565 -Node: VMS Installation Details1055623 -Node: VMS Running1057258 -Node: VMS Old Gawk1058865 -Node: Bugs1059339 -Node: Other Versions1063195 -Node: Notes1069279 -Node: Compatibility Mode1070079 -Node: Additions1070862 -Node: Accessing The Source1071789 -Node: Adding Code1073229 -Node: New Ports1079274 -Node: Derived Files1083409 -Ref: Derived Files-Footnote-11088730 -Ref: Derived Files-Footnote-21088764 -Ref: Derived Files-Footnote-31089364 -Node: Future Extensions1089462 -Node: Implementation Limitations1090039 -Node: Extension Design1091291 -Node: Old Extension Problems1092445 -Ref: Old Extension Problems-Footnote-11093953 -Node: Extension New Mechanism Goals1094010 -Ref: Extension New Mechanism Goals-Footnote-11097375 -Node: Extension Other Design Decisions1097561 -Node: Extension Future Growth1099667 -Node: Old Extension Mechanism1100503 -Node: Basic Concepts1102243 -Node: Basic High Level1102924 -Ref: figure-general-flow1103195 -Ref: figure-process-flow1103794 -Ref: Basic High Level-Footnote-11107023 -Node: Basic Data Typing1107208 -Node: Glossary1110563 -Node: Copying1136025 -Node: GNU Free Documentation License1173582 -Node: Index1198719 ->>>>>>> gawk-4.1-stable +Node: Configuration Philosophy1038429 +Node: Non-Unix Installation1040783 +Node: PC Installation1041241 +Node: PC Binary Installation1042540 +Node: PC Compiling1044388 +Node: PC Testing1047332 +Node: PC Using1048508 +Node: Cygwin1052693 +Node: MSYS1053693 +Node: VMS Installation1054207 +Node: VMS Compilation1054971 +Ref: VMS Compilation-Footnote-11056586 +Node: VMS Dynamic Extensions1056644 +Node: VMS Installation Details1057665 +Node: VMS Running1059499 +Node: VMS GNV1061101 +Node: VMS Old Gawk1061806 +Node: Bugs1062276 +Node: Other Versions1066132 +Node: Notes1072216 +Node: Compatibility Mode1073016 +Node: Additions1073799 +Node: Accessing The Source1074726 +Node: Adding Code1076166 +Node: New Ports1082211 +Node: Derived Files1086346 +Ref: Derived Files-Footnote-11091667 +Ref: Derived Files-Footnote-21091701 +Ref: Derived Files-Footnote-31092301 +Node: Future Extensions1092399 +Node: Implementation Limitations1092976 +Node: Extension Design1094228 +Node: Old Extension Problems1095382 +Ref: Old Extension Problems-Footnote-11096890 +Node: Extension New Mechanism Goals1096947 +Ref: Extension New Mechanism Goals-Footnote-11100312 +Node: Extension Other Design Decisions1100498 +Node: Extension Future Growth1102604 +Node: Old Extension Mechanism1103440 +Node: Basic Concepts1105180 +Node: Basic High Level1105861 +Ref: figure-general-flow1106132 +Ref: figure-process-flow1106731 +Ref: Basic High Level-Footnote-11109960 +Node: Basic Data Typing1110145 +Node: Glossary1113500 +Node: Copying1138962 +Node: GNU Free Documentation License1176519 +Node: Index1201656  End Tag Table -- cgit v1.2.3 From 9beee977ccb0703656504c070ab85e54537f8f95 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 23 Dec 2013 21:53:37 +0200 Subject: More doc updates, fix initialization on VAX/VMS. --- doc/gawk.info | 124 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 46 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 2589f0b5..4b1352f7 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26255,7 +26255,7 @@ B.3.2.1 Compiling `gawk' on VMS To compile `gawk' under VMS, there is a `DCL' command procedure that issues all the necessary `CC' and `LINK' commands. There is also a -`Makefile' for use with the `MMS' or `MMK' utility. From the source +`Makefile' for use with the `MMS' and `MMK' utilities. From the source directory, use either: $ @[.vms]vmsbuild.com @@ -26268,8 +26268,8 @@ or: $ MMK/DESCRIPTION=[.vms]descrip.mms gawk - `MMK' is an open source freeware near clone of `MMS' and can better -handle `ODS-5' volumes with upper- and lower-case filenames. `MMK' is + `MMK' is an open source, free, near-clone of `MMS' and can better +handle `ODS-5' volumes with upper- and lowercase filenames. `MMK' is available from `https://github.com/endlesssoftware/mmk'. With `ODS-5' volumes and extended parsing enabled, the case of the @@ -26301,10 +26301,11 @@ B.3.2.2 Compiling `gawk' Dynamic Extensions on VMS .................................................. Dynamic extensions need to be compiled with the same compiler options -for floating point, pointer size, and symbol name handling as `gawk'. -Alpha and Itanium should use IEEE floating point. The pointer size is -32 bits, and the symbol name handling is to be exact case with CRC -shortening for symbols longer than 32 bits. +for floating point, pointer size, and symbol name handling as were used +to compile `gawk' itself. Alpha and Itanium should use IEEE floating +point. The pointer size is 32 bits, and the symbol name handling +should be exact case with CRC shortening for symbols longer than 32 +bits. For Alpha and Itanium: @@ -26404,6 +26405,35 @@ If any other dash-type options (or multiple parameters such as data files to process) are present, there is no ambiguity and `--' can be omitted. + The `exit' value is a Unix-style value and is encoded to a VMS exit +status value when the program exits. + + The VMS severity bits will be set based on the `exit' value. A +failure is indicated by 1 and VMS sets the `ERROR' status. A fatal +error is indicated by 2 and VMS will set the `FATAL' status. All other +values will have the `SUCCESS' status. The exit value is encoded to +comply with VMS coding standards and will have the `C_FACILITY_NO' of +`0x350000' with the constant `0xA000' added to the number shifted over +by 3 bits to make room for the severity codes. + + To extract the actual `gawk' exit code from the VMS status use: + + unix_status = (vms_status .and. &x7f8) / 8 + +A C program that uses `exec()' to call `gawk' will get the original +Unix-style exit value. + + Older versions of `gawk' treated a Unix exit code 0 as 1, a failure +as 2, a fatal error as 4, and passed all the other numbers through. +This violated the VMS exit status coding requirements. + + VAX/VMS floating point uses unbiased rounding. *Note Round +Function::. + + VMS reports time values in GMT unless one of the `SYS$TIMEZONE_RULE' +or `TZ' logical names is set. Older versions of VMS, such as VAX/VMS +7.3 do not set these logical names. + The default search path, when looking for `awk' program files specified by the `-f' option, is `"SYS$DISK:[],AWK_LIBRARY:"'. The logical name `AWKPATH' can be used to override this default. The format @@ -26420,7 +26450,7 @@ B.3.2.5 The VMS GNV Project The VMS GNV package provides a build environment similar to POSIX with ports of a collection of open source tools. The `gawk' found in the GNV base kit is an older port. Currently the GNV project is being -reorganized to be individual PCSI packages for each component. See +reorganized to supply individual PCSI packages for each component. See `https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'. The normal build procedure for `gawk' produces a program that is @@ -30577,6 +30607,7 @@ Index * exclamation point (!), !~ operator: Regexp Usage. (line 19) * exit statement: Exit Statement. (line 6) * exit status, of gawk: Exit Status. (line 6) +* exit status, of VMS: VMS Running. (line 29) * exp() function: Numeric Functions. (line 18) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 33) @@ -30726,6 +30757,7 @@ Index (line 6) * floating-point, numbers <1>: Unexpected Results. (line 6) * floating-point, numbers: General Arithmetic. (line 6) +* floating-point, VAX/VMS: VMS Running. (line 51) * fnmatch extension function: Extension Sample Fnmatch. (line 6) * FNR variable <1>: Auto-set. (line 103) @@ -31805,13 +31837,13 @@ Index * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) -* search paths <1>: VMS Running. (line 29) +* search paths <1>: VMS Running. (line 58) * search paths <2>: PC Using. (line 11) * search paths <3>: Igawk Program. (line 368) * search paths <4>: AWKLIBPATH Variable. (line 6) * search paths: AWKPATH Variable. (line 6) * search paths, for shared libraries: AWKLIBPATH Variable. (line 6) -* search paths, for source files <1>: VMS Running. (line 29) +* search paths, for source files <1>: VMS Running. (line 58) * search paths, for source files <2>: PC Using. (line 11) * search paths, for source files <3>: Igawk Program. (line 368) * search paths, for source files: AWKPATH Variable. (line 6) @@ -32748,41 +32780,41 @@ Node: VMS Installation1054207 Node: VMS Compilation1054971 Ref: VMS Compilation-Footnote-11056586 Node: VMS Dynamic Extensions1056644 -Node: VMS Installation Details1057665 -Node: VMS Running1059499 -Node: VMS GNV1061101 -Node: VMS Old Gawk1061806 -Node: Bugs1062276 -Node: Other Versions1066132 -Node: Notes1072216 -Node: Compatibility Mode1073016 -Node: Additions1073799 -Node: Accessing The Source1074726 -Node: Adding Code1076166 -Node: New Ports1082211 -Node: Derived Files1086346 -Ref: Derived Files-Footnote-11091667 -Ref: Derived Files-Footnote-21091701 -Ref: Derived Files-Footnote-31092301 -Node: Future Extensions1092399 -Node: Implementation Limitations1092976 -Node: Extension Design1094228 -Node: Old Extension Problems1095382 -Ref: Old Extension Problems-Footnote-11096890 -Node: Extension New Mechanism Goals1096947 -Ref: Extension New Mechanism Goals-Footnote-11100312 -Node: Extension Other Design Decisions1100498 -Node: Extension Future Growth1102604 -Node: Old Extension Mechanism1103440 -Node: Basic Concepts1105180 -Node: Basic High Level1105861 -Ref: figure-general-flow1106132 -Ref: figure-process-flow1106731 -Ref: Basic High Level-Footnote-11109960 -Node: Basic Data Typing1110145 -Node: Glossary1113500 -Node: Copying1138962 -Node: GNU Free Documentation License1176519 -Node: Index1201656 +Node: VMS Installation Details1057695 +Node: VMS Running1059529 +Node: VMS GNV1062363 +Node: VMS Old Gawk1063072 +Node: Bugs1063542 +Node: Other Versions1067398 +Node: Notes1073482 +Node: Compatibility Mode1074282 +Node: Additions1075065 +Node: Accessing The Source1075992 +Node: Adding Code1077432 +Node: New Ports1083477 +Node: Derived Files1087612 +Ref: Derived Files-Footnote-11092933 +Ref: Derived Files-Footnote-21092967 +Ref: Derived Files-Footnote-31093567 +Node: Future Extensions1093665 +Node: Implementation Limitations1094242 +Node: Extension Design1095494 +Node: Old Extension Problems1096648 +Ref: Old Extension Problems-Footnote-11098156 +Node: Extension New Mechanism Goals1098213 +Ref: Extension New Mechanism Goals-Footnote-11101578 +Node: Extension Other Design Decisions1101764 +Node: Extension Future Growth1103870 +Node: Old Extension Mechanism1104706 +Node: Basic Concepts1106446 +Node: Basic High Level1107127 +Ref: figure-general-flow1107398 +Ref: figure-process-flow1107997 +Ref: Basic High Level-Footnote-11111226 +Node: Basic Data Typing1111411 +Node: Glossary1114766 +Node: Copying1140228 +Node: GNU Free Documentation License1177785 +Node: Index1202922  End Tag Table -- cgit v1.2.3 From 5d0899d5357431430c765ae342530c9ba0c79b79 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 25 Dec 2013 20:34:59 +0200 Subject: Minor doc fixes. --- doc/gawk.info | 252 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 128 insertions(+), 124 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index ed3ab7b3..9fa8eae4 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -21834,8 +21834,10 @@ File: gawk.info, Node: General Data Types, Next: Requesting Values, Prev: Ext --------------------------------- I have a true love/hate relationship with unions. -- Arnold - Robbins That's the thing about unions: the compiler will arrange - things so they can accommodate both love and hate. -- Chet Ramey + Robbins + + That's the thing about unions: the compiler will arrange things so + they can accommodate both love and hate. -- Chet Ramey The extension API defines a number of simple types and structures for general purpose use. Additional, more specialized, data structures @@ -24790,11 +24792,13 @@ provides a number of `gawk' extensions, including one for processing XML files. This is the evolution of the original `xgawk' (XML `gawk') project. - As of this writing, there are four extensions: + As of this writing, there are five extensions: * XML parser extension, using the Expat (http://expat.sourceforge.net) XML parsing library. + * PDF extension. + * PostgreSQL extension. * GD graphics library extension. @@ -30498,7 +30502,7 @@ Index * exit status, of gawk: Exit Status. (line 6) * exp() function: Numeric Functions. (line 18) * expand utility: Very Simple. (line 69) -* Expat XML parser library: gawkextlib. (line 33) +* Expat XML parser library: gawkextlib. (line 35) * expressions: Expressions. (line 6) * expressions, as patterns: Expression Patterns. (line 6) * expressions, assignment: Assignment Ops. (line 6) @@ -32581,125 +32585,125 @@ Ref: call-new-function874265 Node: Extension API Description876280 Node: Extension API Functions Introduction877493 Node: General Data Types882359 -Ref: General Data Types-Footnote-1887958 -Node: Requesting Values888257 -Ref: table-value-types-returned888988 -Node: Constructor Functions889942 -Node: Registration Functions892962 -Node: Extension Functions893647 -Node: Exit Callback Functions895872 -Node: Extension Version String897121 -Node: Input Parsers897771 -Node: Output Wrappers907528 -Node: Two-way processors912038 -Node: Printing Messages914246 -Ref: Printing Messages-Footnote-1915323 -Node: Updating `ERRNO'915475 -Node: Accessing Parameters916214 -Node: Symbol Table Access917444 -Node: Symbol table by name917956 -Node: Symbol table by cookie919703 -Ref: Symbol table by cookie-Footnote-1923833 -Node: Cached values923896 -Ref: Cached values-Footnote-1927345 -Node: Array Manipulation927436 -Ref: Array Manipulation-Footnote-1928534 -Node: Array Data Types928573 -Ref: Array Data Types-Footnote-1931276 -Node: Array Functions931368 -Node: Flattening Arrays935134 -Node: Creating Arrays941986 -Node: Extension API Variables946711 -Node: Extension Versioning947347 -Node: Extension API Informational Variables949248 -Node: Extension API Boilerplate950334 -Node: Finding Extensions954138 -Node: Extension Example954698 -Node: Internal File Description955428 -Node: Internal File Ops959519 -Ref: Internal File Ops-Footnote-1971027 -Node: Using Internal File Ops971167 -Ref: Using Internal File Ops-Footnote-1973520 -Node: Extension Samples973786 -Node: Extension Sample File Functions975310 -Node: Extension Sample Fnmatch983795 -Node: Extension Sample Fork985521 -Node: Extension Sample Inplace986739 -Node: Extension Sample Ord988517 -Node: Extension Sample Readdir989353 -Node: Extension Sample Revout990885 -Node: Extension Sample Rev2way991478 -Node: Extension Sample Read write array992168 -Node: Extension Sample Readfile994051 -Node: Extension Sample API Tests994869 -Node: Extension Sample Time995394 -Node: gawkextlib996758 -Node: Language History999518 -Node: V7/SVR3.11001040 -Node: SVR41003360 -Node: POSIX1004802 -Node: BTL1006188 -Node: POSIX/GNU1006922 -Node: Common Extensions1012457 -Node: Ranges and Locales1013763 -Ref: Ranges and Locales-Footnote-11018381 -Ref: Ranges and Locales-Footnote-21018408 -Ref: Ranges and Locales-Footnote-31018668 -Node: Contributors1018889 -Node: Installation1023964 -Node: Gawk Distribution1024858 -Node: Getting1025342 -Node: Extracting1026168 -Node: Distribution contents1027860 -Node: Unix Installation1033380 -Node: Quick Installation1033997 -Node: Additional Configuration Options1036441 -Node: Configuration Philosophy1038177 -Node: Non-Unix Installation1040531 -Node: PC Installation1040989 -Node: PC Binary Installation1042288 -Node: PC Compiling1044136 -Node: PC Testing1047080 -Node: PC Using1048256 -Node: Cygwin1052441 -Node: MSYS1053441 -Node: VMS Installation1053955 -Node: VMS Compilation1054558 -Ref: VMS Compilation-Footnote-11055565 -Node: VMS Installation Details1055623 -Node: VMS Running1057258 -Node: VMS Old Gawk1058865 -Node: Bugs1059339 -Node: Other Versions1063195 -Node: Notes1069279 -Node: Compatibility Mode1070079 -Node: Additions1070862 -Node: Accessing The Source1071789 -Node: Adding Code1073229 -Node: New Ports1079274 -Node: Derived Files1083409 -Ref: Derived Files-Footnote-11088730 -Ref: Derived Files-Footnote-21088764 -Ref: Derived Files-Footnote-31089364 -Node: Future Extensions1089462 -Node: Implementation Limitations1090039 -Node: Extension Design1091291 -Node: Old Extension Problems1092445 -Ref: Old Extension Problems-Footnote-11093953 -Node: Extension New Mechanism Goals1094010 -Ref: Extension New Mechanism Goals-Footnote-11097375 -Node: Extension Other Design Decisions1097561 -Node: Extension Future Growth1099667 -Node: Old Extension Mechanism1100503 -Node: Basic Concepts1102243 -Node: Basic High Level1102924 -Ref: figure-general-flow1103195 -Ref: figure-process-flow1103794 -Ref: Basic High Level-Footnote-11107023 -Node: Basic Data Typing1107208 -Node: Glossary1110563 -Node: Copying1136025 -Node: GNU Free Documentation License1173582 -Node: Index1198719 +Ref: General Data Types-Footnote-1887964 +Node: Requesting Values888263 +Ref: table-value-types-returned888994 +Node: Constructor Functions889948 +Node: Registration Functions892968 +Node: Extension Functions893653 +Node: Exit Callback Functions895878 +Node: Extension Version String897127 +Node: Input Parsers897777 +Node: Output Wrappers907534 +Node: Two-way processors912044 +Node: Printing Messages914252 +Ref: Printing Messages-Footnote-1915329 +Node: Updating `ERRNO'915481 +Node: Accessing Parameters916220 +Node: Symbol Table Access917450 +Node: Symbol table by name917962 +Node: Symbol table by cookie919709 +Ref: Symbol table by cookie-Footnote-1923839 +Node: Cached values923902 +Ref: Cached values-Footnote-1927351 +Node: Array Manipulation927442 +Ref: Array Manipulation-Footnote-1928540 +Node: Array Data Types928579 +Ref: Array Data Types-Footnote-1931282 +Node: Array Functions931374 +Node: Flattening Arrays935140 +Node: Creating Arrays941992 +Node: Extension API Variables946717 +Node: Extension Versioning947353 +Node: Extension API Informational Variables949254 +Node: Extension API Boilerplate950340 +Node: Finding Extensions954144 +Node: Extension Example954704 +Node: Internal File Description955434 +Node: Internal File Ops959525 +Ref: Internal File Ops-Footnote-1971033 +Node: Using Internal File Ops971173 +Ref: Using Internal File Ops-Footnote-1973526 +Node: Extension Samples973792 +Node: Extension Sample File Functions975316 +Node: Extension Sample Fnmatch983801 +Node: Extension Sample Fork985527 +Node: Extension Sample Inplace986745 +Node: Extension Sample Ord988523 +Node: Extension Sample Readdir989359 +Node: Extension Sample Revout990891 +Node: Extension Sample Rev2way991484 +Node: Extension Sample Read write array992174 +Node: Extension Sample Readfile994057 +Node: Extension Sample API Tests994875 +Node: Extension Sample Time995400 +Node: gawkextlib996764 +Node: Language History999545 +Node: V7/SVR3.11001067 +Node: SVR41003387 +Node: POSIX1004829 +Node: BTL1006215 +Node: POSIX/GNU1006949 +Node: Common Extensions1012484 +Node: Ranges and Locales1013790 +Ref: Ranges and Locales-Footnote-11018408 +Ref: Ranges and Locales-Footnote-21018435 +Ref: Ranges and Locales-Footnote-31018695 +Node: Contributors1018916 +Node: Installation1023991 +Node: Gawk Distribution1024885 +Node: Getting1025369 +Node: Extracting1026195 +Node: Distribution contents1027887 +Node: Unix Installation1033407 +Node: Quick Installation1034024 +Node: Additional Configuration Options1036468 +Node: Configuration Philosophy1038204 +Node: Non-Unix Installation1040558 +Node: PC Installation1041016 +Node: PC Binary Installation1042315 +Node: PC Compiling1044163 +Node: PC Testing1047107 +Node: PC Using1048283 +Node: Cygwin1052468 +Node: MSYS1053468 +Node: VMS Installation1053982 +Node: VMS Compilation1054585 +Ref: VMS Compilation-Footnote-11055592 +Node: VMS Installation Details1055650 +Node: VMS Running1057285 +Node: VMS Old Gawk1058892 +Node: Bugs1059366 +Node: Other Versions1063222 +Node: Notes1069306 +Node: Compatibility Mode1070106 +Node: Additions1070889 +Node: Accessing The Source1071816 +Node: Adding Code1073256 +Node: New Ports1079301 +Node: Derived Files1083436 +Ref: Derived Files-Footnote-11088757 +Ref: Derived Files-Footnote-21088791 +Ref: Derived Files-Footnote-31089391 +Node: Future Extensions1089489 +Node: Implementation Limitations1090066 +Node: Extension Design1091318 +Node: Old Extension Problems1092472 +Ref: Old Extension Problems-Footnote-11093980 +Node: Extension New Mechanism Goals1094037 +Ref: Extension New Mechanism Goals-Footnote-11097402 +Node: Extension Other Design Decisions1097588 +Node: Extension Future Growth1099694 +Node: Old Extension Mechanism1100530 +Node: Basic Concepts1102270 +Node: Basic High Level1102951 +Ref: figure-general-flow1103222 +Ref: figure-process-flow1103821 +Ref: Basic High Level-Footnote-11107050 +Node: Basic Data Typing1107235 +Node: Glossary1110590 +Node: Copying1136052 +Node: GNU Free Documentation License1173609 +Node: Index1198746  End Tag Table -- cgit v1.2.3 From aedc94b6eeb554b7e0f4eeeeb4a93db19e897607 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 26 Dec 2013 21:24:27 +0200 Subject: More minor doc additions. --- doc/gawk.info | 109 +++++++++++++++++++++++++++++++--------------------------- 1 file changed, 58 insertions(+), 51 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 9fa8eae4..358551af 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25732,6 +25732,11 @@ Various `.c', `.y', and `.h' files of the programs in this Info file are available in appropriate subdirectories of `awklib/eg'. +`extension/*' + The source code, manual pages, and infrastructure files for the + sample extensions included with `gawk'. *Note Dynamic + Extensions::, for more information. + `posix/*' Files needed for building `gawk' on POSIX-compliant systems. @@ -27054,7 +27059,9 @@ C.3 Probable Future Extensions ============================== AWK is a language similar to PERL, only considerably more elegant. - -- Arnold Robbins Hey! -- Larry Wall + -- Arnold Robbins + + Hey! -- Larry Wall The `TODO' file in the `gawk' Git repository lists possible future enhancements. Some of these relate to the source code, and others to @@ -32655,55 +32662,55 @@ Node: Gawk Distribution1024885 Node: Getting1025369 Node: Extracting1026195 Node: Distribution contents1027887 -Node: Unix Installation1033407 -Node: Quick Installation1034024 -Node: Additional Configuration Options1036468 -Node: Configuration Philosophy1038204 -Node: Non-Unix Installation1040558 -Node: PC Installation1041016 -Node: PC Binary Installation1042315 -Node: PC Compiling1044163 -Node: PC Testing1047107 -Node: PC Using1048283 -Node: Cygwin1052468 -Node: MSYS1053468 -Node: VMS Installation1053982 -Node: VMS Compilation1054585 -Ref: VMS Compilation-Footnote-11055592 -Node: VMS Installation Details1055650 -Node: VMS Running1057285 -Node: VMS Old Gawk1058892 -Node: Bugs1059366 -Node: Other Versions1063222 -Node: Notes1069306 -Node: Compatibility Mode1070106 -Node: Additions1070889 -Node: Accessing The Source1071816 -Node: Adding Code1073256 -Node: New Ports1079301 -Node: Derived Files1083436 -Ref: Derived Files-Footnote-11088757 -Ref: Derived Files-Footnote-21088791 -Ref: Derived Files-Footnote-31089391 -Node: Future Extensions1089489 -Node: Implementation Limitations1090066 -Node: Extension Design1091318 -Node: Old Extension Problems1092472 -Ref: Old Extension Problems-Footnote-11093980 -Node: Extension New Mechanism Goals1094037 -Ref: Extension New Mechanism Goals-Footnote-11097402 -Node: Extension Other Design Decisions1097588 -Node: Extension Future Growth1099694 -Node: Old Extension Mechanism1100530 -Node: Basic Concepts1102270 -Node: Basic High Level1102951 -Ref: figure-general-flow1103222 -Ref: figure-process-flow1103821 -Ref: Basic High Level-Footnote-11107050 -Node: Basic Data Typing1107235 -Node: Glossary1110590 -Node: Copying1136052 -Node: GNU Free Documentation License1173609 -Node: Index1198746 +Node: Unix Installation1033592 +Node: Quick Installation1034209 +Node: Additional Configuration Options1036653 +Node: Configuration Philosophy1038389 +Node: Non-Unix Installation1040743 +Node: PC Installation1041201 +Node: PC Binary Installation1042500 +Node: PC Compiling1044348 +Node: PC Testing1047292 +Node: PC Using1048468 +Node: Cygwin1052653 +Node: MSYS1053653 +Node: VMS Installation1054167 +Node: VMS Compilation1054770 +Ref: VMS Compilation-Footnote-11055777 +Node: VMS Installation Details1055835 +Node: VMS Running1057470 +Node: VMS Old Gawk1059077 +Node: Bugs1059551 +Node: Other Versions1063407 +Node: Notes1069491 +Node: Compatibility Mode1070291 +Node: Additions1071074 +Node: Accessing The Source1072001 +Node: Adding Code1073441 +Node: New Ports1079486 +Node: Derived Files1083621 +Ref: Derived Files-Footnote-11088942 +Ref: Derived Files-Footnote-21088976 +Ref: Derived Files-Footnote-31089576 +Node: Future Extensions1089674 +Node: Implementation Limitations1090257 +Node: Extension Design1091509 +Node: Old Extension Problems1092663 +Ref: Old Extension Problems-Footnote-11094171 +Node: Extension New Mechanism Goals1094228 +Ref: Extension New Mechanism Goals-Footnote-11097593 +Node: Extension Other Design Decisions1097779 +Node: Extension Future Growth1099885 +Node: Old Extension Mechanism1100721 +Node: Basic Concepts1102461 +Node: Basic High Level1103142 +Ref: figure-general-flow1103413 +Ref: figure-process-flow1104012 +Ref: Basic High Level-Footnote-11107241 +Node: Basic Data Typing1107426 +Node: Glossary1110781 +Node: Copying1136243 +Node: GNU Free Documentation License1173800 +Node: Index1198937  End Tag Table -- cgit v1.2.3 From 103a8db5ae7d7faa60d71b3ef1255869022dbb8d Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 26 Dec 2013 21:29:18 +0200 Subject: VMS doc updates. --- doc/gawk.info | 66 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 32 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index cb38fa02..e45050b2 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26451,7 +26451,8 @@ considered authoritative if it conflicts with this Info file. MS-DOS with DJGPP Scott Deifik, . MS-Windows with MINGW Eli Zaretskii, . OS/2 Andreas Buening, . -VMS Pat Rankin, +VMS Pat Rankin, , and John + Malmberg, . z/OS (OS/390) Dave Pitts, . If your bug is also reproducible under Unix, please send a copy of @@ -31179,6 +31180,7 @@ Index * lvalues/rvalues: Assignment Ops. (line 32) * mailing labels, printing: Labels Program. (line 6) * mailing list, GNITS: Acknowledgments. (line 52) +* Malmberg, John <1>: Bugs. (line 72) * Malmberg, John: Acknowledgments. (line 60) * mark parity: Ordinal Functions. (line 45) * marked string extraction (internationalization): String Extraction. @@ -32690,36 +32692,36 @@ Node: VMS Installation Details1056227 Node: VMS Running1057862 Node: VMS Old Gawk1059469 Node: Bugs1059943 -Node: Other Versions1063799 -Node: Notes1069883 -Node: Compatibility Mode1070683 -Node: Additions1071466 -Node: Accessing The Source1072393 -Node: Adding Code1073833 -Node: New Ports1079878 -Node: Derived Files1084013 -Ref: Derived Files-Footnote-11089334 -Ref: Derived Files-Footnote-21089368 -Ref: Derived Files-Footnote-31089968 -Node: Future Extensions1090066 -Node: Implementation Limitations1090649 -Node: Extension Design1091901 -Node: Old Extension Problems1093055 -Ref: Old Extension Problems-Footnote-11094563 -Node: Extension New Mechanism Goals1094620 -Ref: Extension New Mechanism Goals-Footnote-11097985 -Node: Extension Other Design Decisions1098171 -Node: Extension Future Growth1100277 -Node: Old Extension Mechanism1101113 -Node: Basic Concepts1102853 -Node: Basic High Level1103534 -Ref: figure-general-flow1103805 -Ref: figure-process-flow1104404 -Ref: Basic High Level-Footnote-11107633 -Node: Basic Data Typing1107818 -Node: Glossary1111173 -Node: Copying1136635 -Node: GNU Free Documentation License1174192 -Node: Index1199329 +Node: Other Versions1063863 +Node: Notes1069947 +Node: Compatibility Mode1070747 +Node: Additions1071530 +Node: Accessing The Source1072457 +Node: Adding Code1073897 +Node: New Ports1079942 +Node: Derived Files1084077 +Ref: Derived Files-Footnote-11089398 +Ref: Derived Files-Footnote-21089432 +Ref: Derived Files-Footnote-31090032 +Node: Future Extensions1090130 +Node: Implementation Limitations1090713 +Node: Extension Design1091965 +Node: Old Extension Problems1093119 +Ref: Old Extension Problems-Footnote-11094627 +Node: Extension New Mechanism Goals1094684 +Ref: Extension New Mechanism Goals-Footnote-11098049 +Node: Extension Other Design Decisions1098235 +Node: Extension Future Growth1100341 +Node: Old Extension Mechanism1101177 +Node: Basic Concepts1102917 +Node: Basic High Level1103598 +Ref: figure-general-flow1103869 +Ref: figure-process-flow1104468 +Ref: Basic High Level-Footnote-11107697 +Node: Basic Data Typing1107882 +Node: Glossary1111237 +Node: Copying1136699 +Node: GNU Free Documentation License1174256 +Node: Index1199393  End Tag Table -- cgit v1.2.3 From 434a743610b2856078b120cb50bfe92155f8c49c Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 26 Dec 2013 21:41:05 +0200 Subject: VMS updates. --- doc/gawk.info | 66 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 32 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 902524d2..3be92873 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26553,7 +26553,8 @@ considered authoritative if it conflicts with this Info file. MS-DOS with DJGPP Scott Deifik, . MS-Windows with MINGW Eli Zaretskii, . OS/2 Andreas Buening, . -VMS Pat Rankin, +VMS Pat Rankin, , and John + Malmberg, . z/OS (OS/390) Dave Pitts, . If your bug is also reproducible under Unix, please send a copy of @@ -31283,6 +31284,7 @@ Index * lvalues/rvalues: Assignment Ops. (line 32) * mailing labels, printing: Labels Program. (line 6) * mailing list, GNITS: Acknowledgments. (line 52) +* Malmberg, John <1>: Bugs. (line 72) * Malmberg, John: Acknowledgments. (line 60) * mark parity: Ordinal Functions. (line 45) * marked string extraction (internationalization): String Extraction. @@ -32796,36 +32798,36 @@ Node: VMS Running1059741 Node: VMS GNV1062575 Node: VMS Old Gawk1063284 Node: Bugs1063754 -Node: Other Versions1067610 -Node: Notes1073694 -Node: Compatibility Mode1074494 -Node: Additions1075277 -Node: Accessing The Source1076204 -Node: Adding Code1077644 -Node: New Ports1083689 -Node: Derived Files1087824 -Ref: Derived Files-Footnote-11093145 -Ref: Derived Files-Footnote-21093179 -Ref: Derived Files-Footnote-31093779 -Node: Future Extensions1093877 -Node: Implementation Limitations1094460 -Node: Extension Design1095712 -Node: Old Extension Problems1096866 -Ref: Old Extension Problems-Footnote-11098374 -Node: Extension New Mechanism Goals1098431 -Ref: Extension New Mechanism Goals-Footnote-11101796 -Node: Extension Other Design Decisions1101982 -Node: Extension Future Growth1104088 -Node: Old Extension Mechanism1104924 -Node: Basic Concepts1106664 -Node: Basic High Level1107345 -Ref: figure-general-flow1107616 -Ref: figure-process-flow1108215 -Ref: Basic High Level-Footnote-11111444 -Node: Basic Data Typing1111629 -Node: Glossary1114984 -Node: Copying1140446 -Node: GNU Free Documentation License1178003 -Node: Index1203140 +Node: Other Versions1067674 +Node: Notes1073758 +Node: Compatibility Mode1074558 +Node: Additions1075341 +Node: Accessing The Source1076268 +Node: Adding Code1077708 +Node: New Ports1083753 +Node: Derived Files1087888 +Ref: Derived Files-Footnote-11093209 +Ref: Derived Files-Footnote-21093243 +Ref: Derived Files-Footnote-31093843 +Node: Future Extensions1093941 +Node: Implementation Limitations1094524 +Node: Extension Design1095776 +Node: Old Extension Problems1096930 +Ref: Old Extension Problems-Footnote-11098438 +Node: Extension New Mechanism Goals1098495 +Ref: Extension New Mechanism Goals-Footnote-11101860 +Node: Extension Other Design Decisions1102046 +Node: Extension Future Growth1104152 +Node: Old Extension Mechanism1104988 +Node: Basic Concepts1106728 +Node: Basic High Level1107409 +Ref: figure-general-flow1107680 +Ref: figure-process-flow1108279 +Ref: Basic High Level-Footnote-11111508 +Node: Basic Data Typing1111693 +Node: Glossary1115048 +Node: Copying1140510 +Node: GNU Free Documentation License1178067 +Node: Index1203204  End Tag Table -- cgit v1.2.3 From dad5f25058c4ecf69ebe4543a13281d3f28c69bc Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 30 Dec 2013 21:52:45 +0200 Subject: Build and test dynamic extensions on VMS. Documented too. --- doc/gawk.info | 96 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 54 insertions(+), 42 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 3be92873..4196f313 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26309,12 +26309,24 @@ File: gawk.info, Node: VMS Dynamic Extensions, Next: VMS Installation Details, B.3.2.2 Compiling `gawk' Dynamic Extensions on VMS .................................................. -Dynamic extensions need to be compiled with the same compiler options -for floating point, pointer size, and symbol name handling as were used -to compile `gawk' itself. Alpha and Itanium should use IEEE floating -point. The pointer size is 32 bits, and the symbol name handling -should be exact case with CRC shortening for symbols longer than 32 -bits. +The extensions that have been ported to VMS can be built using one of +the following commands. + + $ MMS/DESCRIPTION=[.vms]descrip.mms extensions + +or: + + $ MMK/DESCRIPTION=[.vms]descrip.mms extensions + + `gawk' uses `AWKLIBPATH' as either an environment variable or a +logical name to find the dynamic extensions. + + Dynamic extensions need to be compiled with the same compiler +options for floating point, pointer size, and symbol name handling as +were used to compile `gawk' itself. Alpha and Itanium should use IEEE +floating point. The pointer size is 32 bits, and the symbol name +handling should be exact case with CRC shortening for symbols longer +than 32 bits. For Alpha and Itanium: @@ -32793,41 +32805,41 @@ Node: VMS Installation1054419 Node: VMS Compilation1055183 Ref: VMS Compilation-Footnote-11056798 Node: VMS Dynamic Extensions1056856 -Node: VMS Installation Details1057907 -Node: VMS Running1059741 -Node: VMS GNV1062575 -Node: VMS Old Gawk1063284 -Node: Bugs1063754 -Node: Other Versions1067674 -Node: Notes1073758 -Node: Compatibility Mode1074558 -Node: Additions1075341 -Node: Accessing The Source1076268 -Node: Adding Code1077708 -Node: New Ports1083753 -Node: Derived Files1087888 -Ref: Derived Files-Footnote-11093209 -Ref: Derived Files-Footnote-21093243 -Ref: Derived Files-Footnote-31093843 -Node: Future Extensions1093941 -Node: Implementation Limitations1094524 -Node: Extension Design1095776 -Node: Old Extension Problems1096930 -Ref: Old Extension Problems-Footnote-11098438 -Node: Extension New Mechanism Goals1098495 -Ref: Extension New Mechanism Goals-Footnote-11101860 -Node: Extension Other Design Decisions1102046 -Node: Extension Future Growth1104152 -Node: Old Extension Mechanism1104988 -Node: Basic Concepts1106728 -Node: Basic High Level1107409 -Ref: figure-general-flow1107680 -Ref: figure-process-flow1108279 -Ref: Basic High Level-Footnote-11111508 -Node: Basic Data Typing1111693 -Node: Glossary1115048 -Node: Copying1140510 -Node: GNU Free Documentation License1178067 -Node: Index1203204 +Node: VMS Installation Details1058229 +Node: VMS Running1060063 +Node: VMS GNV1062897 +Node: VMS Old Gawk1063606 +Node: Bugs1064076 +Node: Other Versions1067996 +Node: Notes1074080 +Node: Compatibility Mode1074880 +Node: Additions1075663 +Node: Accessing The Source1076590 +Node: Adding Code1078030 +Node: New Ports1084075 +Node: Derived Files1088210 +Ref: Derived Files-Footnote-11093531 +Ref: Derived Files-Footnote-21093565 +Ref: Derived Files-Footnote-31094165 +Node: Future Extensions1094263 +Node: Implementation Limitations1094846 +Node: Extension Design1096098 +Node: Old Extension Problems1097252 +Ref: Old Extension Problems-Footnote-11098760 +Node: Extension New Mechanism Goals1098817 +Ref: Extension New Mechanism Goals-Footnote-11102182 +Node: Extension Other Design Decisions1102368 +Node: Extension Future Growth1104474 +Node: Old Extension Mechanism1105310 +Node: Basic Concepts1107050 +Node: Basic High Level1107731 +Ref: figure-general-flow1108002 +Ref: figure-process-flow1108601 +Ref: Basic High Level-Footnote-11111830 +Node: Basic Data Typing1112015 +Node: Glossary1115370 +Node: Copying1140832 +Node: GNU Free Documentation License1178389 +Node: Index1203526  End Tag Table -- cgit v1.2.3 From 65b5afc0027911abc041cfbe625ad6bd9f967ccd Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 3 Jan 2014 12:26:37 +0200 Subject: New node in gawktexi.in. --- doc/gawk.info | 1063 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 536 insertions(+), 527 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 358551af..95522fed 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -193,6 +193,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) field. * Command Line Field Separator:: Setting `FS' from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content @@ -4381,6 +4382,7 @@ File: gawk.info, Node: Field Separators, Next: Constant Size, Prev: Changing * Regexp Field Splitting:: Using regexps as the field separator. * Single Character Fields:: Making each character a separate field. * Command Line Field Separator:: Setting `FS' from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. The "field separator", which is either a single character or a @@ -4562,7 +4564,7 @@ Options::), if `FS' is the null string, then `gawk' also behaves this way.  -File: gawk.info, Node: Command Line Field Separator, Next: Field Splitting Summary, Prev: Single Character Fields, Up: Field Separators +File: gawk.info, Node: Command Line Field Separator, Next: Full Line Fields, Prev: Single Character Fields, Up: Field Separators 4.5.4 Setting `FS' from the Command Line ---------------------------------------- @@ -4649,9 +4651,15 @@ the entries for users who have no password: awk -F: '$2 == ""' /etc/passwd  -File: gawk.info, Node: Field Splitting Summary, Prev: Command Line Field Separator, Up: Field Separators +File: gawk.info, Node: Full Line Fields, Next: Field Splitting Summary, Prev: Command Line Field Separator, Up: Field Separators -4.5.5 Field-Splitting Summary +4.5.5 Making The Full Line Be A Single Field +-------------------------------------------- + + +File: gawk.info, Node: Field Splitting Summary, Prev: Full Line Fields, Up: Field Separators + +4.5.6 Field-Splitting Summary ----------------------------- It is important to remember that when you assign a string constant as @@ -29898,7 +29906,7 @@ Index * Beebe, Nelson: Acknowledgments. (line 60) * BEGIN pattern <1>: Profiling. (line 62) * BEGIN pattern <2>: BEGIN/END. (line 6) -* BEGIN pattern <3>: Field Separators. (line 44) +* BEGIN pattern <3>: Field Separators. (line 45) * BEGIN pattern: Records. (line 29) * BEGIN pattern, assert() user-defined function and: Assert Function. (line 83) @@ -30557,8 +30565,8 @@ Index * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) * field separators <1>: User-modified. (line 56) -* field separators: Field Separators. (line 14) -* field separators, choice of: Field Separators. (line 50) +* field separators: Field Separators. (line 15) +* field separators, choice of: Field Separators. (line 51) * field separators, FIELDWIDTHS variable and: User-modified. (line 35) * field separators, FPAT variable and: User-modified. (line 45) * field separators, in multiline records: Multiple Line. (line 41) @@ -30569,7 +30577,7 @@ Index * field separators, POSIX and: Fields. (line 6) * field separators, regular expressions as <1>: Regexp Field Splitting. (line 6) -* field separators, regular expressions as: Field Separators. (line 50) +* field separators, regular expressions as: Field Separators. (line 51) * field separators, See Also OFS: Changing Fields. (line 64) * field separators, spaces as: Cut Program. (line 109) * fields <1>: Basic High Level. (line 73) @@ -30582,7 +30590,7 @@ Index * fields, number of: Fields. (line 33) * fields, numbers: Nonconstant Fields. (line 6) * fields, printing: Print Examples. (line 21) -* fields, separating: Field Separators. (line 14) +* fields, separating: Field Separators. (line 15) * fields, single-character: Single Character Fields. (line 6) * FIELDWIDTHS variable <1>: User-modified. (line 35) @@ -30691,12 +30699,12 @@ Index * Free Software Foundation (FSF): Manual History. (line 6) * FreeBSD: Glossary. (line 624) * FS variable <1>: User-modified. (line 56) -* FS variable: Field Separators. (line 14) +* FS variable: Field Separators. (line 15) * FS variable, --field-separator option and: Options. (line 21) * FS variable, as null string: Single Character Fields. (line 20) * FS variable, as TAB character: Options. (line 259) -* FS variable, changing value of: Field Separators. (line 34) +* FS variable, changing value of: Field Separators. (line 35) * FS variable, running awk programs and: Cut Program. (line 68) * FS variable, setting from command line: Command Line Field Separator. (line 6) @@ -31632,7 +31640,7 @@ Index * regexp constants, vs. string constants: Computed Regexps. (line 38) * regexp, See regular expressions: Regexp. (line 6) * regular expressions: Regexp. (line 6) -* regular expressions as field separators: Field Separators. (line 50) +* regular expressions as field separators: Field Separators. (line 51) * regular expressions, anchors in: Regexp Operators. (line 22) * regular expressions, as field separators: Regexp Field Splitting. (line 6) @@ -32002,7 +32010,7 @@ Index * troubleshooting, --non-decimal-data option: Options. (line 207) * troubleshooting, == operator: Comparison Operators. (line 37) -* troubleshooting, awk uses FS not IFS: Field Separators. (line 29) +* troubleshooting, awk uses FS not IFS: Field Separators. (line 30) * troubleshooting, backslash before nonspecial character: Escape Sequences. (line 112) * troubleshooting, division: Arithmetic Ops. (line 44) @@ -32197,520 +32205,521 @@ Index  Tag Table: Node: Top1360 -Node: Foreword40460 -Node: Preface44805 -Ref: Preface-Footnote-147858 -Ref: Preface-Footnote-247954 -Node: History48186 -Node: Names50560 -Ref: Names-Footnote-152037 -Node: This Manual52109 -Ref: This Manual-Footnote-157883 -Node: Conventions57983 -Node: Manual History60139 -Ref: Manual History-Footnote-163587 -Ref: Manual History-Footnote-263628 -Node: How To Contribute63702 -Node: Acknowledgments64846 -Node: Getting Started69055 -Node: Running gawk71434 -Node: One-shot72620 -Node: Read Terminal73845 -Ref: Read Terminal-Footnote-175495 -Ref: Read Terminal-Footnote-275771 -Node: Long75942 -Node: Executable Scripts77318 -Ref: Executable Scripts-Footnote-179151 -Ref: Executable Scripts-Footnote-279253 -Node: Comments79800 -Node: Quoting82267 -Node: DOS Quoting86890 -Node: Sample Data Files87565 -Node: Very Simple90609 -Node: Two Rules95208 -Node: More Complex97355 -Ref: More Complex-Footnote-1100285 -Node: Statements/Lines100370 -Ref: Statements/Lines-Footnote-1104832 -Node: Other Features105097 -Node: When106025 -Node: Invoking Gawk108172 -Node: Command Line109633 -Node: Options110416 -Ref: Options-Footnote-1125808 -Node: Other Arguments125833 -Node: Naming Standard Input128491 -Node: Environment Variables129585 -Node: AWKPATH Variable130143 -Ref: AWKPATH Variable-Footnote-1132901 -Node: AWKLIBPATH Variable133161 -Node: Other Environment Variables133879 -Node: Exit Status136842 -Node: Include Files137517 -Node: Loading Shared Libraries141086 -Node: Obsolete142450 -Node: Undocumented143147 -Node: Regexp143389 -Node: Regexp Usage144778 -Node: Escape Sequences146804 -Node: Regexp Operators152473 -Ref: Regexp Operators-Footnote-1159853 -Ref: Regexp Operators-Footnote-2160000 -Node: Bracket Expressions160098 -Ref: table-char-classes161988 -Node: GNU Regexp Operators164511 -Node: Case-sensitivity168234 -Ref: Case-sensitivity-Footnote-1171202 -Ref: Case-sensitivity-Footnote-2171437 -Node: Leftmost Longest171545 -Node: Computed Regexps172746 -Node: Reading Files176083 -Node: Records178085 -Ref: Records-Footnote-1186974 -Node: Fields187011 -Ref: Fields-Footnote-1190044 -Node: Nonconstant Fields190130 -Node: Changing Fields192332 -Node: Field Separators198291 -Node: Default Field Splitting200920 -Node: Regexp Field Splitting202037 -Node: Single Character Fields205379 -Node: Command Line Field Separator206438 -Node: Field Splitting Summary209879 -Ref: Field Splitting Summary-Footnote-1212990 -Node: Constant Size213091 -Node: Splitting By Content217675 -Ref: Splitting By Content-Footnote-1221401 -Node: Multiple Line221441 -Ref: Multiple Line-Footnote-1227288 -Node: Getline227467 -Node: Plain Getline229683 -Node: Getline/Variable231778 -Node: Getline/File232925 -Node: Getline/Variable/File234266 -Ref: Getline/Variable/File-Footnote-1235865 -Node: Getline/Pipe235952 -Node: Getline/Variable/Pipe238651 -Node: Getline/Coprocess239758 -Node: Getline/Variable/Coprocess241010 -Node: Getline Notes241747 -Node: Getline Summary244534 -Ref: table-getline-variants244942 -Node: Read Timeout245854 -Ref: Read Timeout-Footnote-1249595 -Node: Command line directories249652 -Node: Printing250282 -Node: Print251913 -Node: Print Examples253250 -Node: Output Separators256034 -Node: OFMT257794 -Node: Printf259152 -Node: Basic Printf260058 -Node: Control Letters261597 -Node: Format Modifiers265409 -Node: Printf Examples271418 -Node: Redirection274133 -Node: Special Files281098 -Node: Special FD281631 -Ref: Special FD-Footnote-1285256 -Node: Special Network285330 -Node: Special Caveats286180 -Node: Close Files And Pipes286976 -Ref: Close Files And Pipes-Footnote-1293959 -Ref: Close Files And Pipes-Footnote-2294107 -Node: Expressions294257 -Node: Values295389 -Node: Constants296065 -Node: Scalar Constants296745 -Ref: Scalar Constants-Footnote-1297604 -Node: Nondecimal-numbers297786 -Node: Regexp Constants300786 -Node: Using Constant Regexps301261 -Node: Variables304316 -Node: Using Variables304971 -Node: Assignment Options306695 -Node: Conversion308567 -Ref: table-locale-affects314068 -Ref: Conversion-Footnote-1314692 -Node: All Operators314801 -Node: Arithmetic Ops315431 -Node: Concatenation317936 -Ref: Concatenation-Footnote-1320728 -Node: Assignment Ops320848 -Ref: table-assign-ops325836 -Node: Increment Ops327167 -Node: Truth Values and Conditions330601 -Node: Truth Values331684 -Node: Typing and Comparison332733 -Node: Variable Typing333526 -Ref: Variable Typing-Footnote-1337423 -Node: Comparison Operators337545 -Ref: table-relational-ops337955 -Node: POSIX String Comparison341504 -Ref: POSIX String Comparison-Footnote-1342460 -Node: Boolean Ops342598 -Ref: Boolean Ops-Footnote-1346676 -Node: Conditional Exp346767 -Node: Function Calls348499 -Node: Precedence352093 -Node: Locales355762 -Node: Patterns and Actions356851 -Node: Pattern Overview357905 -Node: Regexp Patterns359574 -Node: Expression Patterns360117 -Node: Ranges363802 -Node: BEGIN/END366768 -Node: Using BEGIN/END367530 -Ref: Using BEGIN/END-Footnote-1370261 -Node: I/O And BEGIN/END370367 -Node: BEGINFILE/ENDFILE372649 -Node: Empty375563 -Node: Using Shell Variables375879 -Node: Action Overview378164 -Node: Statements380521 -Node: If Statement382375 -Node: While Statement383874 -Node: Do Statement385918 -Node: For Statement387074 -Node: Switch Statement390226 -Node: Break Statement392323 -Node: Continue Statement394313 -Node: Next Statement396106 -Node: Nextfile Statement398496 -Node: Exit Statement401139 -Node: Built-in Variables403555 -Node: User-modified404650 -Ref: User-modified-Footnote-1413008 -Node: Auto-set413070 -Ref: Auto-set-Footnote-1426148 -Ref: Auto-set-Footnote-2426353 -Node: ARGC and ARGV426409 -Node: Arrays430260 -Node: Array Basics431765 -Node: Array Intro432591 -Node: Reference to Elements436908 -Node: Assigning Elements439178 -Node: Array Example439669 -Node: Scanning an Array441401 -Node: Controlling Scanning443715 -Ref: Controlling Scanning-Footnote-1448802 -Node: Delete449118 -Ref: Delete-Footnote-1451883 -Node: Numeric Array Subscripts451940 -Node: Uninitialized Subscripts454123 -Node: Multidimensional455750 -Node: Multiscanning458842 -Node: Arrays of Arrays460431 -Node: Functions465071 -Node: Built-in465890 -Node: Calling Built-in466968 -Node: Numeric Functions468956 -Ref: Numeric Functions-Footnote-1472788 -Ref: Numeric Functions-Footnote-2473145 -Ref: Numeric Functions-Footnote-3473193 -Node: String Functions473462 -Ref: String Functions-Footnote-1496382 -Ref: String Functions-Footnote-2496511 -Ref: String Functions-Footnote-3496759 -Node: Gory Details496846 -Ref: table-sub-escapes498525 -Ref: table-sub-posix-92499879 -Ref: table-sub-proposed501230 -Ref: table-posix-sub502584 -Ref: table-gensub-escapes504129 -Ref: Gory Details-Footnote-1505305 -Ref: Gory Details-Footnote-2505356 -Node: I/O Functions505507 -Ref: I/O Functions-Footnote-1512492 -Node: Time Functions512639 -Ref: Time Functions-Footnote-1523572 -Ref: Time Functions-Footnote-2523640 -Ref: Time Functions-Footnote-3523798 -Ref: Time Functions-Footnote-4523909 -Ref: Time Functions-Footnote-5524021 -Ref: Time Functions-Footnote-6524248 -Node: Bitwise Functions524514 -Ref: table-bitwise-ops525076 -Ref: Bitwise Functions-Footnote-1529297 -Node: Type Functions529481 -Node: I18N Functions530632 -Node: User-defined532259 -Node: Definition Syntax533063 -Ref: Definition Syntax-Footnote-1537973 -Node: Function Example538042 -Node: Function Caveats540636 -Node: Calling A Function541057 -Node: Variable Scope542172 -Node: Pass By Value/Reference545135 -Node: Return Statement548643 -Node: Dynamic Typing551624 -Node: Indirect Calls552555 -Node: Library Functions562240 -Ref: Library Functions-Footnote-1565753 -Ref: Library Functions-Footnote-2565896 -Node: Library Names566067 -Ref: Library Names-Footnote-1569538 -Ref: Library Names-Footnote-2569758 -Node: General Functions569844 -Node: Strtonum Function570872 -Node: Assert Function573802 -Node: Round Function577128 -Node: Cliff Random Function578671 -Node: Ordinal Functions579687 -Ref: Ordinal Functions-Footnote-1582757 -Ref: Ordinal Functions-Footnote-2583009 -Node: Join Function583218 -Ref: Join Function-Footnote-1584989 -Node: Getlocaltime Function585189 -Node: Readfile Function588930 -Node: Data File Management590769 -Node: Filetrans Function591401 -Node: Rewind Function595470 -Node: File Checking596857 -Node: Empty Files597951 -Node: Ignoring Assigns600181 -Node: Getopt Function601734 -Ref: Getopt Function-Footnote-1613037 -Node: Passwd Functions613240 -Ref: Passwd Functions-Footnote-1622215 -Node: Group Functions622303 -Node: Walking Arrays630387 -Node: Sample Programs632524 -Node: Running Examples633198 -Node: Clones633926 -Node: Cut Program635150 -Node: Egrep Program644995 -Ref: Egrep Program-Footnote-1652768 -Node: Id Program652878 -Node: Split Program656494 -Ref: Split Program-Footnote-1660013 -Node: Tee Program660141 -Node: Uniq Program662944 -Node: Wc Program670373 -Ref: Wc Program-Footnote-1674639 -Ref: Wc Program-Footnote-2674839 -Node: Miscellaneous Programs674931 -Node: Dupword Program676119 -Node: Alarm Program678150 -Node: Translate Program682903 -Ref: Translate Program-Footnote-1687290 -Ref: Translate Program-Footnote-2687538 -Node: Labels Program687672 -Ref: Labels Program-Footnote-1691043 -Node: Word Sorting691127 -Node: History Sorting695011 -Node: Extract Program696850 -Ref: Extract Program-Footnote-1704353 -Node: Simple Sed704481 -Node: Igawk Program707543 -Ref: Igawk Program-Footnote-1722700 -Ref: Igawk Program-Footnote-2722901 -Node: Anagram Program723039 -Node: Signature Program726107 -Node: Advanced Features727207 -Node: Nondecimal Data729093 -Node: Array Sorting730676 -Node: Controlling Array Traversal731373 -Node: Array Sorting Functions739657 -Ref: Array Sorting Functions-Footnote-1743526 -Node: Two-way I/O743720 -Ref: Two-way I/O-Footnote-1749152 -Node: TCP/IP Networking749222 -Node: Profiling752066 -Node: Internationalization759563 -Node: I18N and L10N760988 -Node: Explaining gettext761674 -Ref: Explaining gettext-Footnote-1766742 -Ref: Explaining gettext-Footnote-2766926 -Node: Programmer i18n767091 -Node: Translator i18n771293 -Node: String Extraction772086 -Ref: String Extraction-Footnote-1773047 -Node: Printf Ordering773133 -Ref: Printf Ordering-Footnote-1775917 -Node: I18N Portability775981 -Ref: I18N Portability-Footnote-1778430 -Node: I18N Example778493 -Ref: I18N Example-Footnote-1781131 -Node: Gawk I18N781203 -Node: Debugger781824 -Node: Debugging782795 -Node: Debugging Concepts783228 -Node: Debugging Terms785084 -Node: Awk Debugging787681 -Node: Sample Debugging Session788573 -Node: Debugger Invocation789093 -Node: Finding The Bug790425 -Node: List of Debugger Commands796913 -Node: Breakpoint Control798247 -Node: Debugger Execution Control801911 -Node: Viewing And Changing Data805271 -Node: Execution Stack808627 -Node: Debugger Info810094 -Node: Miscellaneous Debugger Commands814076 -Node: Readline Support819252 -Node: Limitations820083 -Node: Arbitrary Precision Arithmetic822335 -Ref: Arbitrary Precision Arithmetic-Footnote-1823984 -Node: General Arithmetic824132 -Node: Floating Point Issues825852 -Node: String Conversion Precision826733 -Ref: String Conversion Precision-Footnote-1828438 -Node: Unexpected Results828547 -Node: POSIX Floating Point Problems830700 -Ref: POSIX Floating Point Problems-Footnote-1834525 -Node: Integer Programming834563 -Node: Floating-point Programming836302 -Ref: Floating-point Programming-Footnote-1842633 -Ref: Floating-point Programming-Footnote-2842903 -Node: Floating-point Representation843167 -Node: Floating-point Context844332 -Ref: table-ieee-formats845171 -Node: Rounding Mode846555 -Ref: table-rounding-modes847034 -Ref: Rounding Mode-Footnote-1850049 -Node: Gawk and MPFR850228 -Node: Arbitrary Precision Floats851483 -Ref: Arbitrary Precision Floats-Footnote-1853926 -Node: Setting Precision854242 -Ref: table-predefined-precision-strings854928 -Node: Setting Rounding Mode857073 -Ref: table-gawk-rounding-modes857477 -Node: Floating-point Constants858664 -Node: Changing Precision860093 -Ref: Changing Precision-Footnote-1861490 -Node: Exact Arithmetic861664 -Node: Arbitrary Precision Integers864802 -Ref: Arbitrary Precision Integers-Footnote-1867820 -Node: Dynamic Extensions867967 -Node: Extension Intro869425 -Node: Plugin License870690 -Node: Extension Mechanism Outline871375 -Ref: load-extension871792 -Ref: load-new-function873270 -Ref: call-new-function874265 -Node: Extension API Description876280 -Node: Extension API Functions Introduction877493 -Node: General Data Types882359 -Ref: General Data Types-Footnote-1887964 -Node: Requesting Values888263 -Ref: table-value-types-returned888994 -Node: Constructor Functions889948 -Node: Registration Functions892968 -Node: Extension Functions893653 -Node: Exit Callback Functions895878 -Node: Extension Version String897127 -Node: Input Parsers897777 -Node: Output Wrappers907534 -Node: Two-way processors912044 -Node: Printing Messages914252 -Ref: Printing Messages-Footnote-1915329 -Node: Updating `ERRNO'915481 -Node: Accessing Parameters916220 -Node: Symbol Table Access917450 -Node: Symbol table by name917962 -Node: Symbol table by cookie919709 -Ref: Symbol table by cookie-Footnote-1923839 -Node: Cached values923902 -Ref: Cached values-Footnote-1927351 -Node: Array Manipulation927442 -Ref: Array Manipulation-Footnote-1928540 -Node: Array Data Types928579 -Ref: Array Data Types-Footnote-1931282 -Node: Array Functions931374 -Node: Flattening Arrays935140 -Node: Creating Arrays941992 -Node: Extension API Variables946717 -Node: Extension Versioning947353 -Node: Extension API Informational Variables949254 -Node: Extension API Boilerplate950340 -Node: Finding Extensions954144 -Node: Extension Example954704 -Node: Internal File Description955434 -Node: Internal File Ops959525 -Ref: Internal File Ops-Footnote-1971033 -Node: Using Internal File Ops971173 -Ref: Using Internal File Ops-Footnote-1973526 -Node: Extension Samples973792 -Node: Extension Sample File Functions975316 -Node: Extension Sample Fnmatch983801 -Node: Extension Sample Fork985527 -Node: Extension Sample Inplace986745 -Node: Extension Sample Ord988523 -Node: Extension Sample Readdir989359 -Node: Extension Sample Revout990891 -Node: Extension Sample Rev2way991484 -Node: Extension Sample Read write array992174 -Node: Extension Sample Readfile994057 -Node: Extension Sample API Tests994875 -Node: Extension Sample Time995400 -Node: gawkextlib996764 -Node: Language History999545 -Node: V7/SVR3.11001067 -Node: SVR41003387 -Node: POSIX1004829 -Node: BTL1006215 -Node: POSIX/GNU1006949 -Node: Common Extensions1012484 -Node: Ranges and Locales1013790 -Ref: Ranges and Locales-Footnote-11018408 -Ref: Ranges and Locales-Footnote-21018435 -Ref: Ranges and Locales-Footnote-31018695 -Node: Contributors1018916 -Node: Installation1023991 -Node: Gawk Distribution1024885 -Node: Getting1025369 -Node: Extracting1026195 -Node: Distribution contents1027887 -Node: Unix Installation1033592 -Node: Quick Installation1034209 -Node: Additional Configuration Options1036653 -Node: Configuration Philosophy1038389 -Node: Non-Unix Installation1040743 -Node: PC Installation1041201 -Node: PC Binary Installation1042500 -Node: PC Compiling1044348 -Node: PC Testing1047292 -Node: PC Using1048468 -Node: Cygwin1052653 -Node: MSYS1053653 -Node: VMS Installation1054167 -Node: VMS Compilation1054770 -Ref: VMS Compilation-Footnote-11055777 -Node: VMS Installation Details1055835 -Node: VMS Running1057470 -Node: VMS Old Gawk1059077 -Node: Bugs1059551 -Node: Other Versions1063407 -Node: Notes1069491 -Node: Compatibility Mode1070291 -Node: Additions1071074 -Node: Accessing The Source1072001 -Node: Adding Code1073441 -Node: New Ports1079486 -Node: Derived Files1083621 -Ref: Derived Files-Footnote-11088942 -Ref: Derived Files-Footnote-21088976 -Ref: Derived Files-Footnote-31089576 -Node: Future Extensions1089674 -Node: Implementation Limitations1090257 -Node: Extension Design1091509 -Node: Old Extension Problems1092663 -Ref: Old Extension Problems-Footnote-11094171 -Node: Extension New Mechanism Goals1094228 -Ref: Extension New Mechanism Goals-Footnote-11097593 -Node: Extension Other Design Decisions1097779 -Node: Extension Future Growth1099885 -Node: Old Extension Mechanism1100721 -Node: Basic Concepts1102461 -Node: Basic High Level1103142 -Ref: figure-general-flow1103413 -Ref: figure-process-flow1104012 -Ref: Basic High Level-Footnote-11107241 -Node: Basic Data Typing1107426 -Node: Glossary1110781 -Node: Copying1136243 -Node: GNU Free Documentation License1173800 -Node: Index1198937 +Node: Foreword40540 +Node: Preface44885 +Ref: Preface-Footnote-147938 +Ref: Preface-Footnote-248034 +Node: History48266 +Node: Names50640 +Ref: Names-Footnote-152117 +Node: This Manual52189 +Ref: This Manual-Footnote-157963 +Node: Conventions58063 +Node: Manual History60219 +Ref: Manual History-Footnote-163667 +Ref: Manual History-Footnote-263708 +Node: How To Contribute63782 +Node: Acknowledgments64926 +Node: Getting Started69135 +Node: Running gawk71514 +Node: One-shot72700 +Node: Read Terminal73925 +Ref: Read Terminal-Footnote-175575 +Ref: Read Terminal-Footnote-275851 +Node: Long76022 +Node: Executable Scripts77398 +Ref: Executable Scripts-Footnote-179231 +Ref: Executable Scripts-Footnote-279333 +Node: Comments79880 +Node: Quoting82347 +Node: DOS Quoting86970 +Node: Sample Data Files87645 +Node: Very Simple90689 +Node: Two Rules95288 +Node: More Complex97435 +Ref: More Complex-Footnote-1100365 +Node: Statements/Lines100450 +Ref: Statements/Lines-Footnote-1104912 +Node: Other Features105177 +Node: When106105 +Node: Invoking Gawk108252 +Node: Command Line109713 +Node: Options110496 +Ref: Options-Footnote-1125888 +Node: Other Arguments125913 +Node: Naming Standard Input128571 +Node: Environment Variables129665 +Node: AWKPATH Variable130223 +Ref: AWKPATH Variable-Footnote-1132981 +Node: AWKLIBPATH Variable133241 +Node: Other Environment Variables133959 +Node: Exit Status136922 +Node: Include Files137597 +Node: Loading Shared Libraries141166 +Node: Obsolete142530 +Node: Undocumented143227 +Node: Regexp143469 +Node: Regexp Usage144858 +Node: Escape Sequences146884 +Node: Regexp Operators152553 +Ref: Regexp Operators-Footnote-1159933 +Ref: Regexp Operators-Footnote-2160080 +Node: Bracket Expressions160178 +Ref: table-char-classes162068 +Node: GNU Regexp Operators164591 +Node: Case-sensitivity168314 +Ref: Case-sensitivity-Footnote-1171282 +Ref: Case-sensitivity-Footnote-2171517 +Node: Leftmost Longest171625 +Node: Computed Regexps172826 +Node: Reading Files176163 +Node: Records178165 +Ref: Records-Footnote-1187054 +Node: Fields187091 +Ref: Fields-Footnote-1190124 +Node: Nonconstant Fields190210 +Node: Changing Fields192412 +Node: Field Separators198371 +Node: Default Field Splitting201073 +Node: Regexp Field Splitting202190 +Node: Single Character Fields205532 +Node: Command Line Field Separator206591 +Node: Full Line Fields210025 +Node: Field Splitting Summary210252 +Ref: Field Splitting Summary-Footnote-1213351 +Node: Constant Size213452 +Node: Splitting By Content218036 +Ref: Splitting By Content-Footnote-1221762 +Node: Multiple Line221802 +Ref: Multiple Line-Footnote-1227649 +Node: Getline227828 +Node: Plain Getline230044 +Node: Getline/Variable232139 +Node: Getline/File233286 +Node: Getline/Variable/File234627 +Ref: Getline/Variable/File-Footnote-1236226 +Node: Getline/Pipe236313 +Node: Getline/Variable/Pipe239012 +Node: Getline/Coprocess240119 +Node: Getline/Variable/Coprocess241371 +Node: Getline Notes242108 +Node: Getline Summary244895 +Ref: table-getline-variants245303 +Node: Read Timeout246215 +Ref: Read Timeout-Footnote-1249956 +Node: Command line directories250013 +Node: Printing250643 +Node: Print252274 +Node: Print Examples253611 +Node: Output Separators256395 +Node: OFMT258155 +Node: Printf259513 +Node: Basic Printf260419 +Node: Control Letters261958 +Node: Format Modifiers265770 +Node: Printf Examples271779 +Node: Redirection274494 +Node: Special Files281459 +Node: Special FD281992 +Ref: Special FD-Footnote-1285617 +Node: Special Network285691 +Node: Special Caveats286541 +Node: Close Files And Pipes287337 +Ref: Close Files And Pipes-Footnote-1294320 +Ref: Close Files And Pipes-Footnote-2294468 +Node: Expressions294618 +Node: Values295750 +Node: Constants296426 +Node: Scalar Constants297106 +Ref: Scalar Constants-Footnote-1297965 +Node: Nondecimal-numbers298147 +Node: Regexp Constants301147 +Node: Using Constant Regexps301622 +Node: Variables304677 +Node: Using Variables305332 +Node: Assignment Options307056 +Node: Conversion308928 +Ref: table-locale-affects314429 +Ref: Conversion-Footnote-1315053 +Node: All Operators315162 +Node: Arithmetic Ops315792 +Node: Concatenation318297 +Ref: Concatenation-Footnote-1321089 +Node: Assignment Ops321209 +Ref: table-assign-ops326197 +Node: Increment Ops327528 +Node: Truth Values and Conditions330962 +Node: Truth Values332045 +Node: Typing and Comparison333094 +Node: Variable Typing333887 +Ref: Variable Typing-Footnote-1337784 +Node: Comparison Operators337906 +Ref: table-relational-ops338316 +Node: POSIX String Comparison341865 +Ref: POSIX String Comparison-Footnote-1342821 +Node: Boolean Ops342959 +Ref: Boolean Ops-Footnote-1347037 +Node: Conditional Exp347128 +Node: Function Calls348860 +Node: Precedence352454 +Node: Locales356123 +Node: Patterns and Actions357212 +Node: Pattern Overview358266 +Node: Regexp Patterns359935 +Node: Expression Patterns360478 +Node: Ranges364163 +Node: BEGIN/END367129 +Node: Using BEGIN/END367891 +Ref: Using BEGIN/END-Footnote-1370622 +Node: I/O And BEGIN/END370728 +Node: BEGINFILE/ENDFILE373010 +Node: Empty375924 +Node: Using Shell Variables376240 +Node: Action Overview378525 +Node: Statements380882 +Node: If Statement382736 +Node: While Statement384235 +Node: Do Statement386279 +Node: For Statement387435 +Node: Switch Statement390587 +Node: Break Statement392684 +Node: Continue Statement394674 +Node: Next Statement396467 +Node: Nextfile Statement398857 +Node: Exit Statement401500 +Node: Built-in Variables403916 +Node: User-modified405011 +Ref: User-modified-Footnote-1413369 +Node: Auto-set413431 +Ref: Auto-set-Footnote-1426509 +Ref: Auto-set-Footnote-2426714 +Node: ARGC and ARGV426770 +Node: Arrays430621 +Node: Array Basics432126 +Node: Array Intro432952 +Node: Reference to Elements437269 +Node: Assigning Elements439539 +Node: Array Example440030 +Node: Scanning an Array441762 +Node: Controlling Scanning444076 +Ref: Controlling Scanning-Footnote-1449163 +Node: Delete449479 +Ref: Delete-Footnote-1452244 +Node: Numeric Array Subscripts452301 +Node: Uninitialized Subscripts454484 +Node: Multidimensional456111 +Node: Multiscanning459203 +Node: Arrays of Arrays460792 +Node: Functions465432 +Node: Built-in466251 +Node: Calling Built-in467329 +Node: Numeric Functions469317 +Ref: Numeric Functions-Footnote-1473149 +Ref: Numeric Functions-Footnote-2473506 +Ref: Numeric Functions-Footnote-3473554 +Node: String Functions473823 +Ref: String Functions-Footnote-1496743 +Ref: String Functions-Footnote-2496872 +Ref: String Functions-Footnote-3497120 +Node: Gory Details497207 +Ref: table-sub-escapes498886 +Ref: table-sub-posix-92500240 +Ref: table-sub-proposed501591 +Ref: table-posix-sub502945 +Ref: table-gensub-escapes504490 +Ref: Gory Details-Footnote-1505666 +Ref: Gory Details-Footnote-2505717 +Node: I/O Functions505868 +Ref: I/O Functions-Footnote-1512853 +Node: Time Functions513000 +Ref: Time Functions-Footnote-1523933 +Ref: Time Functions-Footnote-2524001 +Ref: Time Functions-Footnote-3524159 +Ref: Time Functions-Footnote-4524270 +Ref: Time Functions-Footnote-5524382 +Ref: Time Functions-Footnote-6524609 +Node: Bitwise Functions524875 +Ref: table-bitwise-ops525437 +Ref: Bitwise Functions-Footnote-1529658 +Node: Type Functions529842 +Node: I18N Functions530993 +Node: User-defined532620 +Node: Definition Syntax533424 +Ref: Definition Syntax-Footnote-1538334 +Node: Function Example538403 +Node: Function Caveats540997 +Node: Calling A Function541418 +Node: Variable Scope542533 +Node: Pass By Value/Reference545496 +Node: Return Statement549004 +Node: Dynamic Typing551985 +Node: Indirect Calls552916 +Node: Library Functions562601 +Ref: Library Functions-Footnote-1566114 +Ref: Library Functions-Footnote-2566257 +Node: Library Names566428 +Ref: Library Names-Footnote-1569899 +Ref: Library Names-Footnote-2570119 +Node: General Functions570205 +Node: Strtonum Function571233 +Node: Assert Function574163 +Node: Round Function577489 +Node: Cliff Random Function579032 +Node: Ordinal Functions580048 +Ref: Ordinal Functions-Footnote-1583118 +Ref: Ordinal Functions-Footnote-2583370 +Node: Join Function583579 +Ref: Join Function-Footnote-1585350 +Node: Getlocaltime Function585550 +Node: Readfile Function589291 +Node: Data File Management591130 +Node: Filetrans Function591762 +Node: Rewind Function595831 +Node: File Checking597218 +Node: Empty Files598312 +Node: Ignoring Assigns600542 +Node: Getopt Function602095 +Ref: Getopt Function-Footnote-1613398 +Node: Passwd Functions613601 +Ref: Passwd Functions-Footnote-1622576 +Node: Group Functions622664 +Node: Walking Arrays630748 +Node: Sample Programs632885 +Node: Running Examples633559 +Node: Clones634287 +Node: Cut Program635511 +Node: Egrep Program645356 +Ref: Egrep Program-Footnote-1653129 +Node: Id Program653239 +Node: Split Program656855 +Ref: Split Program-Footnote-1660374 +Node: Tee Program660502 +Node: Uniq Program663305 +Node: Wc Program670734 +Ref: Wc Program-Footnote-1675000 +Ref: Wc Program-Footnote-2675200 +Node: Miscellaneous Programs675292 +Node: Dupword Program676480 +Node: Alarm Program678511 +Node: Translate Program683264 +Ref: Translate Program-Footnote-1687651 +Ref: Translate Program-Footnote-2687899 +Node: Labels Program688033 +Ref: Labels Program-Footnote-1691404 +Node: Word Sorting691488 +Node: History Sorting695372 +Node: Extract Program697211 +Ref: Extract Program-Footnote-1704714 +Node: Simple Sed704842 +Node: Igawk Program707904 +Ref: Igawk Program-Footnote-1723061 +Ref: Igawk Program-Footnote-2723262 +Node: Anagram Program723400 +Node: Signature Program726468 +Node: Advanced Features727568 +Node: Nondecimal Data729454 +Node: Array Sorting731037 +Node: Controlling Array Traversal731734 +Node: Array Sorting Functions740018 +Ref: Array Sorting Functions-Footnote-1743887 +Node: Two-way I/O744081 +Ref: Two-way I/O-Footnote-1749513 +Node: TCP/IP Networking749583 +Node: Profiling752427 +Node: Internationalization759924 +Node: I18N and L10N761349 +Node: Explaining gettext762035 +Ref: Explaining gettext-Footnote-1767103 +Ref: Explaining gettext-Footnote-2767287 +Node: Programmer i18n767452 +Node: Translator i18n771654 +Node: String Extraction772447 +Ref: String Extraction-Footnote-1773408 +Node: Printf Ordering773494 +Ref: Printf Ordering-Footnote-1776278 +Node: I18N Portability776342 +Ref: I18N Portability-Footnote-1778791 +Node: I18N Example778854 +Ref: I18N Example-Footnote-1781492 +Node: Gawk I18N781564 +Node: Debugger782185 +Node: Debugging783156 +Node: Debugging Concepts783589 +Node: Debugging Terms785445 +Node: Awk Debugging788042 +Node: Sample Debugging Session788934 +Node: Debugger Invocation789454 +Node: Finding The Bug790786 +Node: List of Debugger Commands797274 +Node: Breakpoint Control798608 +Node: Debugger Execution Control802272 +Node: Viewing And Changing Data805632 +Node: Execution Stack808988 +Node: Debugger Info810455 +Node: Miscellaneous Debugger Commands814437 +Node: Readline Support819613 +Node: Limitations820444 +Node: Arbitrary Precision Arithmetic822696 +Ref: Arbitrary Precision Arithmetic-Footnote-1824345 +Node: General Arithmetic824493 +Node: Floating Point Issues826213 +Node: String Conversion Precision827094 +Ref: String Conversion Precision-Footnote-1828799 +Node: Unexpected Results828908 +Node: POSIX Floating Point Problems831061 +Ref: POSIX Floating Point Problems-Footnote-1834886 +Node: Integer Programming834924 +Node: Floating-point Programming836663 +Ref: Floating-point Programming-Footnote-1842994 +Ref: Floating-point Programming-Footnote-2843264 +Node: Floating-point Representation843528 +Node: Floating-point Context844693 +Ref: table-ieee-formats845532 +Node: Rounding Mode846916 +Ref: table-rounding-modes847395 +Ref: Rounding Mode-Footnote-1850410 +Node: Gawk and MPFR850589 +Node: Arbitrary Precision Floats851844 +Ref: Arbitrary Precision Floats-Footnote-1854287 +Node: Setting Precision854603 +Ref: table-predefined-precision-strings855289 +Node: Setting Rounding Mode857434 +Ref: table-gawk-rounding-modes857838 +Node: Floating-point Constants859025 +Node: Changing Precision860454 +Ref: Changing Precision-Footnote-1861851 +Node: Exact Arithmetic862025 +Node: Arbitrary Precision Integers865163 +Ref: Arbitrary Precision Integers-Footnote-1868181 +Node: Dynamic Extensions868328 +Node: Extension Intro869786 +Node: Plugin License871051 +Node: Extension Mechanism Outline871736 +Ref: load-extension872153 +Ref: load-new-function873631 +Ref: call-new-function874626 +Node: Extension API Description876641 +Node: Extension API Functions Introduction877854 +Node: General Data Types882720 +Ref: General Data Types-Footnote-1888325 +Node: Requesting Values888624 +Ref: table-value-types-returned889355 +Node: Constructor Functions890309 +Node: Registration Functions893329 +Node: Extension Functions894014 +Node: Exit Callback Functions896239 +Node: Extension Version String897488 +Node: Input Parsers898138 +Node: Output Wrappers907895 +Node: Two-way processors912405 +Node: Printing Messages914613 +Ref: Printing Messages-Footnote-1915690 +Node: Updating `ERRNO'915842 +Node: Accessing Parameters916581 +Node: Symbol Table Access917811 +Node: Symbol table by name918323 +Node: Symbol table by cookie920070 +Ref: Symbol table by cookie-Footnote-1924200 +Node: Cached values924263 +Ref: Cached values-Footnote-1927712 +Node: Array Manipulation927803 +Ref: Array Manipulation-Footnote-1928901 +Node: Array Data Types928940 +Ref: Array Data Types-Footnote-1931643 +Node: Array Functions931735 +Node: Flattening Arrays935501 +Node: Creating Arrays942353 +Node: Extension API Variables947078 +Node: Extension Versioning947714 +Node: Extension API Informational Variables949615 +Node: Extension API Boilerplate950701 +Node: Finding Extensions954505 +Node: Extension Example955065 +Node: Internal File Description955795 +Node: Internal File Ops959886 +Ref: Internal File Ops-Footnote-1971394 +Node: Using Internal File Ops971534 +Ref: Using Internal File Ops-Footnote-1973887 +Node: Extension Samples974153 +Node: Extension Sample File Functions975677 +Node: Extension Sample Fnmatch984162 +Node: Extension Sample Fork985888 +Node: Extension Sample Inplace987106 +Node: Extension Sample Ord988884 +Node: Extension Sample Readdir989720 +Node: Extension Sample Revout991252 +Node: Extension Sample Rev2way991845 +Node: Extension Sample Read write array992535 +Node: Extension Sample Readfile994418 +Node: Extension Sample API Tests995236 +Node: Extension Sample Time995761 +Node: gawkextlib997125 +Node: Language History999906 +Node: V7/SVR3.11001428 +Node: SVR41003748 +Node: POSIX1005190 +Node: BTL1006576 +Node: POSIX/GNU1007310 +Node: Common Extensions1012845 +Node: Ranges and Locales1014151 +Ref: Ranges and Locales-Footnote-11018769 +Ref: Ranges and Locales-Footnote-21018796 +Ref: Ranges and Locales-Footnote-31019056 +Node: Contributors1019277 +Node: Installation1024352 +Node: Gawk Distribution1025246 +Node: Getting1025730 +Node: Extracting1026556 +Node: Distribution contents1028248 +Node: Unix Installation1033953 +Node: Quick Installation1034570 +Node: Additional Configuration Options1037014 +Node: Configuration Philosophy1038750 +Node: Non-Unix Installation1041104 +Node: PC Installation1041562 +Node: PC Binary Installation1042861 +Node: PC Compiling1044709 +Node: PC Testing1047653 +Node: PC Using1048829 +Node: Cygwin1053014 +Node: MSYS1054014 +Node: VMS Installation1054528 +Node: VMS Compilation1055131 +Ref: VMS Compilation-Footnote-11056138 +Node: VMS Installation Details1056196 +Node: VMS Running1057831 +Node: VMS Old Gawk1059438 +Node: Bugs1059912 +Node: Other Versions1063768 +Node: Notes1069852 +Node: Compatibility Mode1070652 +Node: Additions1071435 +Node: Accessing The Source1072362 +Node: Adding Code1073802 +Node: New Ports1079847 +Node: Derived Files1083982 +Ref: Derived Files-Footnote-11089303 +Ref: Derived Files-Footnote-21089337 +Ref: Derived Files-Footnote-31089937 +Node: Future Extensions1090035 +Node: Implementation Limitations1090618 +Node: Extension Design1091870 +Node: Old Extension Problems1093024 +Ref: Old Extension Problems-Footnote-11094532 +Node: Extension New Mechanism Goals1094589 +Ref: Extension New Mechanism Goals-Footnote-11097954 +Node: Extension Other Design Decisions1098140 +Node: Extension Future Growth1100246 +Node: Old Extension Mechanism1101082 +Node: Basic Concepts1102822 +Node: Basic High Level1103503 +Ref: figure-general-flow1103774 +Ref: figure-process-flow1104373 +Ref: Basic High Level-Footnote-11107602 +Node: Basic Data Typing1107787 +Node: Glossary1111142 +Node: Copying1136604 +Node: GNU Free Documentation License1174161 +Node: Index1199298  End Tag Table -- cgit v1.2.3 From 0d625fc05924245fbfa092e0f80302f981b6b44a Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 3 Jan 2014 12:52:30 +0200 Subject: Update copyright year in manual. --- doc/gawk.info | 1055 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 534 insertions(+), 521 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 95522fed..b4c90290 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -10,8 +10,8 @@ START-INFO-DIR-ENTRY END-INFO-DIR-ENTRY Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 +Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's @@ -42,8 +42,8 @@ This file documents `awk', a program that you can use to select particular records in a file and perform operations upon them. Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 +Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's @@ -4656,6 +4656,18 @@ File: gawk.info, Node: Full Line Fields, Next: Field Splitting Summary, Prev: 4.5.5 Making The Full Line Be A Single Field -------------------------------------------- +Occasionally, it's useful to treat the whole input line as a single +field. This can be done easily and portably simply by setting `FS' to +`"\n"' (a newline).(1) + + awk -F'\n' 'PROGRAM' FILES ... + +When you do this, `$1' is the same as `$0'. + + ---------- Footnotes ---------- + + (1) Thanks to Andrew Schorr for this tip. +  File: gawk.info, Node: Field Splitting Summary, Prev: Full Line Fields, Up: Field Separators @@ -32204,522 +32216,523 @@ Index  Tag Table: -Node: Top1360 -Node: Foreword40540 -Node: Preface44885 -Ref: Preface-Footnote-147938 -Ref: Preface-Footnote-248034 -Node: History48266 -Node: Names50640 -Ref: Names-Footnote-152117 -Node: This Manual52189 -Ref: This Manual-Footnote-157963 -Node: Conventions58063 -Node: Manual History60219 -Ref: Manual History-Footnote-163667 -Ref: Manual History-Footnote-263708 -Node: How To Contribute63782 -Node: Acknowledgments64926 -Node: Getting Started69135 -Node: Running gawk71514 -Node: One-shot72700 -Node: Read Terminal73925 -Ref: Read Terminal-Footnote-175575 -Ref: Read Terminal-Footnote-275851 -Node: Long76022 -Node: Executable Scripts77398 -Ref: Executable Scripts-Footnote-179231 -Ref: Executable Scripts-Footnote-279333 -Node: Comments79880 -Node: Quoting82347 -Node: DOS Quoting86970 -Node: Sample Data Files87645 -Node: Very Simple90689 -Node: Two Rules95288 -Node: More Complex97435 -Ref: More Complex-Footnote-1100365 -Node: Statements/Lines100450 -Ref: Statements/Lines-Footnote-1104912 -Node: Other Features105177 -Node: When106105 -Node: Invoking Gawk108252 -Node: Command Line109713 -Node: Options110496 -Ref: Options-Footnote-1125888 -Node: Other Arguments125913 -Node: Naming Standard Input128571 -Node: Environment Variables129665 -Node: AWKPATH Variable130223 -Ref: AWKPATH Variable-Footnote-1132981 -Node: AWKLIBPATH Variable133241 -Node: Other Environment Variables133959 -Node: Exit Status136922 -Node: Include Files137597 -Node: Loading Shared Libraries141166 -Node: Obsolete142530 -Node: Undocumented143227 -Node: Regexp143469 -Node: Regexp Usage144858 -Node: Escape Sequences146884 -Node: Regexp Operators152553 -Ref: Regexp Operators-Footnote-1159933 -Ref: Regexp Operators-Footnote-2160080 -Node: Bracket Expressions160178 -Ref: table-char-classes162068 -Node: GNU Regexp Operators164591 -Node: Case-sensitivity168314 -Ref: Case-sensitivity-Footnote-1171282 -Ref: Case-sensitivity-Footnote-2171517 -Node: Leftmost Longest171625 -Node: Computed Regexps172826 -Node: Reading Files176163 -Node: Records178165 -Ref: Records-Footnote-1187054 -Node: Fields187091 -Ref: Fields-Footnote-1190124 -Node: Nonconstant Fields190210 -Node: Changing Fields192412 -Node: Field Separators198371 -Node: Default Field Splitting201073 -Node: Regexp Field Splitting202190 -Node: Single Character Fields205532 -Node: Command Line Field Separator206591 -Node: Full Line Fields210025 -Node: Field Splitting Summary210252 -Ref: Field Splitting Summary-Footnote-1213351 -Node: Constant Size213452 -Node: Splitting By Content218036 -Ref: Splitting By Content-Footnote-1221762 -Node: Multiple Line221802 -Ref: Multiple Line-Footnote-1227649 -Node: Getline227828 -Node: Plain Getline230044 -Node: Getline/Variable232139 -Node: Getline/File233286 -Node: Getline/Variable/File234627 -Ref: Getline/Variable/File-Footnote-1236226 -Node: Getline/Pipe236313 -Node: Getline/Variable/Pipe239012 -Node: Getline/Coprocess240119 -Node: Getline/Variable/Coprocess241371 -Node: Getline Notes242108 -Node: Getline Summary244895 -Ref: table-getline-variants245303 -Node: Read Timeout246215 -Ref: Read Timeout-Footnote-1249956 -Node: Command line directories250013 -Node: Printing250643 -Node: Print252274 -Node: Print Examples253611 -Node: Output Separators256395 -Node: OFMT258155 -Node: Printf259513 -Node: Basic Printf260419 -Node: Control Letters261958 -Node: Format Modifiers265770 -Node: Printf Examples271779 -Node: Redirection274494 -Node: Special Files281459 -Node: Special FD281992 -Ref: Special FD-Footnote-1285617 -Node: Special Network285691 -Node: Special Caveats286541 -Node: Close Files And Pipes287337 -Ref: Close Files And Pipes-Footnote-1294320 -Ref: Close Files And Pipes-Footnote-2294468 -Node: Expressions294618 -Node: Values295750 -Node: Constants296426 -Node: Scalar Constants297106 -Ref: Scalar Constants-Footnote-1297965 -Node: Nondecimal-numbers298147 -Node: Regexp Constants301147 -Node: Using Constant Regexps301622 -Node: Variables304677 -Node: Using Variables305332 -Node: Assignment Options307056 -Node: Conversion308928 -Ref: table-locale-affects314429 -Ref: Conversion-Footnote-1315053 -Node: All Operators315162 -Node: Arithmetic Ops315792 -Node: Concatenation318297 -Ref: Concatenation-Footnote-1321089 -Node: Assignment Ops321209 -Ref: table-assign-ops326197 -Node: Increment Ops327528 -Node: Truth Values and Conditions330962 -Node: Truth Values332045 -Node: Typing and Comparison333094 -Node: Variable Typing333887 -Ref: Variable Typing-Footnote-1337784 -Node: Comparison Operators337906 -Ref: table-relational-ops338316 -Node: POSIX String Comparison341865 -Ref: POSIX String Comparison-Footnote-1342821 -Node: Boolean Ops342959 -Ref: Boolean Ops-Footnote-1347037 -Node: Conditional Exp347128 -Node: Function Calls348860 -Node: Precedence352454 -Node: Locales356123 -Node: Patterns and Actions357212 -Node: Pattern Overview358266 -Node: Regexp Patterns359935 -Node: Expression Patterns360478 -Node: Ranges364163 -Node: BEGIN/END367129 -Node: Using BEGIN/END367891 -Ref: Using BEGIN/END-Footnote-1370622 -Node: I/O And BEGIN/END370728 -Node: BEGINFILE/ENDFILE373010 -Node: Empty375924 -Node: Using Shell Variables376240 -Node: Action Overview378525 -Node: Statements380882 -Node: If Statement382736 -Node: While Statement384235 -Node: Do Statement386279 -Node: For Statement387435 -Node: Switch Statement390587 -Node: Break Statement392684 -Node: Continue Statement394674 -Node: Next Statement396467 -Node: Nextfile Statement398857 -Node: Exit Statement401500 -Node: Built-in Variables403916 -Node: User-modified405011 -Ref: User-modified-Footnote-1413369 -Node: Auto-set413431 -Ref: Auto-set-Footnote-1426509 -Ref: Auto-set-Footnote-2426714 -Node: ARGC and ARGV426770 -Node: Arrays430621 -Node: Array Basics432126 -Node: Array Intro432952 -Node: Reference to Elements437269 -Node: Assigning Elements439539 -Node: Array Example440030 -Node: Scanning an Array441762 -Node: Controlling Scanning444076 -Ref: Controlling Scanning-Footnote-1449163 -Node: Delete449479 -Ref: Delete-Footnote-1452244 -Node: Numeric Array Subscripts452301 -Node: Uninitialized Subscripts454484 -Node: Multidimensional456111 -Node: Multiscanning459203 -Node: Arrays of Arrays460792 -Node: Functions465432 -Node: Built-in466251 -Node: Calling Built-in467329 -Node: Numeric Functions469317 -Ref: Numeric Functions-Footnote-1473149 -Ref: Numeric Functions-Footnote-2473506 -Ref: Numeric Functions-Footnote-3473554 -Node: String Functions473823 -Ref: String Functions-Footnote-1496743 -Ref: String Functions-Footnote-2496872 -Ref: String Functions-Footnote-3497120 -Node: Gory Details497207 -Ref: table-sub-escapes498886 -Ref: table-sub-posix-92500240 -Ref: table-sub-proposed501591 -Ref: table-posix-sub502945 -Ref: table-gensub-escapes504490 -Ref: Gory Details-Footnote-1505666 -Ref: Gory Details-Footnote-2505717 -Node: I/O Functions505868 -Ref: I/O Functions-Footnote-1512853 -Node: Time Functions513000 -Ref: Time Functions-Footnote-1523933 -Ref: Time Functions-Footnote-2524001 -Ref: Time Functions-Footnote-3524159 -Ref: Time Functions-Footnote-4524270 -Ref: Time Functions-Footnote-5524382 -Ref: Time Functions-Footnote-6524609 -Node: Bitwise Functions524875 -Ref: table-bitwise-ops525437 -Ref: Bitwise Functions-Footnote-1529658 -Node: Type Functions529842 -Node: I18N Functions530993 -Node: User-defined532620 -Node: Definition Syntax533424 -Ref: Definition Syntax-Footnote-1538334 -Node: Function Example538403 -Node: Function Caveats540997 -Node: Calling A Function541418 -Node: Variable Scope542533 -Node: Pass By Value/Reference545496 -Node: Return Statement549004 -Node: Dynamic Typing551985 -Node: Indirect Calls552916 -Node: Library Functions562601 -Ref: Library Functions-Footnote-1566114 -Ref: Library Functions-Footnote-2566257 -Node: Library Names566428 -Ref: Library Names-Footnote-1569899 -Ref: Library Names-Footnote-2570119 -Node: General Functions570205 -Node: Strtonum Function571233 -Node: Assert Function574163 -Node: Round Function577489 -Node: Cliff Random Function579032 -Node: Ordinal Functions580048 -Ref: Ordinal Functions-Footnote-1583118 -Ref: Ordinal Functions-Footnote-2583370 -Node: Join Function583579 -Ref: Join Function-Footnote-1585350 -Node: Getlocaltime Function585550 -Node: Readfile Function589291 -Node: Data File Management591130 -Node: Filetrans Function591762 -Node: Rewind Function595831 -Node: File Checking597218 -Node: Empty Files598312 -Node: Ignoring Assigns600542 -Node: Getopt Function602095 -Ref: Getopt Function-Footnote-1613398 -Node: Passwd Functions613601 -Ref: Passwd Functions-Footnote-1622576 -Node: Group Functions622664 -Node: Walking Arrays630748 -Node: Sample Programs632885 -Node: Running Examples633559 -Node: Clones634287 -Node: Cut Program635511 -Node: Egrep Program645356 -Ref: Egrep Program-Footnote-1653129 -Node: Id Program653239 -Node: Split Program656855 -Ref: Split Program-Footnote-1660374 -Node: Tee Program660502 -Node: Uniq Program663305 -Node: Wc Program670734 -Ref: Wc Program-Footnote-1675000 -Ref: Wc Program-Footnote-2675200 -Node: Miscellaneous Programs675292 -Node: Dupword Program676480 -Node: Alarm Program678511 -Node: Translate Program683264 -Ref: Translate Program-Footnote-1687651 -Ref: Translate Program-Footnote-2687899 -Node: Labels Program688033 -Ref: Labels Program-Footnote-1691404 -Node: Word Sorting691488 -Node: History Sorting695372 -Node: Extract Program697211 -Ref: Extract Program-Footnote-1704714 -Node: Simple Sed704842 -Node: Igawk Program707904 -Ref: Igawk Program-Footnote-1723061 -Ref: Igawk Program-Footnote-2723262 -Node: Anagram Program723400 -Node: Signature Program726468 -Node: Advanced Features727568 -Node: Nondecimal Data729454 -Node: Array Sorting731037 -Node: Controlling Array Traversal731734 -Node: Array Sorting Functions740018 -Ref: Array Sorting Functions-Footnote-1743887 -Node: Two-way I/O744081 -Ref: Two-way I/O-Footnote-1749513 -Node: TCP/IP Networking749583 -Node: Profiling752427 -Node: Internationalization759924 -Node: I18N and L10N761349 -Node: Explaining gettext762035 -Ref: Explaining gettext-Footnote-1767103 -Ref: Explaining gettext-Footnote-2767287 -Node: Programmer i18n767452 -Node: Translator i18n771654 -Node: String Extraction772447 -Ref: String Extraction-Footnote-1773408 -Node: Printf Ordering773494 -Ref: Printf Ordering-Footnote-1776278 -Node: I18N Portability776342 -Ref: I18N Portability-Footnote-1778791 -Node: I18N Example778854 -Ref: I18N Example-Footnote-1781492 -Node: Gawk I18N781564 -Node: Debugger782185 -Node: Debugging783156 -Node: Debugging Concepts783589 -Node: Debugging Terms785445 -Node: Awk Debugging788042 -Node: Sample Debugging Session788934 -Node: Debugger Invocation789454 -Node: Finding The Bug790786 -Node: List of Debugger Commands797274 -Node: Breakpoint Control798608 -Node: Debugger Execution Control802272 -Node: Viewing And Changing Data805632 -Node: Execution Stack808988 -Node: Debugger Info810455 -Node: Miscellaneous Debugger Commands814437 -Node: Readline Support819613 -Node: Limitations820444 -Node: Arbitrary Precision Arithmetic822696 -Ref: Arbitrary Precision Arithmetic-Footnote-1824345 -Node: General Arithmetic824493 -Node: Floating Point Issues826213 -Node: String Conversion Precision827094 -Ref: String Conversion Precision-Footnote-1828799 -Node: Unexpected Results828908 -Node: POSIX Floating Point Problems831061 -Ref: POSIX Floating Point Problems-Footnote-1834886 -Node: Integer Programming834924 -Node: Floating-point Programming836663 -Ref: Floating-point Programming-Footnote-1842994 -Ref: Floating-point Programming-Footnote-2843264 -Node: Floating-point Representation843528 -Node: Floating-point Context844693 -Ref: table-ieee-formats845532 -Node: Rounding Mode846916 -Ref: table-rounding-modes847395 -Ref: Rounding Mode-Footnote-1850410 -Node: Gawk and MPFR850589 -Node: Arbitrary Precision Floats851844 -Ref: Arbitrary Precision Floats-Footnote-1854287 -Node: Setting Precision854603 -Ref: table-predefined-precision-strings855289 -Node: Setting Rounding Mode857434 -Ref: table-gawk-rounding-modes857838 -Node: Floating-point Constants859025 -Node: Changing Precision860454 -Ref: Changing Precision-Footnote-1861851 -Node: Exact Arithmetic862025 -Node: Arbitrary Precision Integers865163 -Ref: Arbitrary Precision Integers-Footnote-1868181 -Node: Dynamic Extensions868328 -Node: Extension Intro869786 -Node: Plugin License871051 -Node: Extension Mechanism Outline871736 -Ref: load-extension872153 -Ref: load-new-function873631 -Ref: call-new-function874626 -Node: Extension API Description876641 -Node: Extension API Functions Introduction877854 -Node: General Data Types882720 -Ref: General Data Types-Footnote-1888325 -Node: Requesting Values888624 -Ref: table-value-types-returned889355 -Node: Constructor Functions890309 -Node: Registration Functions893329 -Node: Extension Functions894014 -Node: Exit Callback Functions896239 -Node: Extension Version String897488 -Node: Input Parsers898138 -Node: Output Wrappers907895 -Node: Two-way processors912405 -Node: Printing Messages914613 -Ref: Printing Messages-Footnote-1915690 -Node: Updating `ERRNO'915842 -Node: Accessing Parameters916581 -Node: Symbol Table Access917811 -Node: Symbol table by name918323 -Node: Symbol table by cookie920070 -Ref: Symbol table by cookie-Footnote-1924200 -Node: Cached values924263 -Ref: Cached values-Footnote-1927712 -Node: Array Manipulation927803 -Ref: Array Manipulation-Footnote-1928901 -Node: Array Data Types928940 -Ref: Array Data Types-Footnote-1931643 -Node: Array Functions931735 -Node: Flattening Arrays935501 -Node: Creating Arrays942353 -Node: Extension API Variables947078 -Node: Extension Versioning947714 -Node: Extension API Informational Variables949615 -Node: Extension API Boilerplate950701 -Node: Finding Extensions954505 -Node: Extension Example955065 -Node: Internal File Description955795 -Node: Internal File Ops959886 -Ref: Internal File Ops-Footnote-1971394 -Node: Using Internal File Ops971534 -Ref: Using Internal File Ops-Footnote-1973887 -Node: Extension Samples974153 -Node: Extension Sample File Functions975677 -Node: Extension Sample Fnmatch984162 -Node: Extension Sample Fork985888 -Node: Extension Sample Inplace987106 -Node: Extension Sample Ord988884 -Node: Extension Sample Readdir989720 -Node: Extension Sample Revout991252 -Node: Extension Sample Rev2way991845 -Node: Extension Sample Read write array992535 -Node: Extension Sample Readfile994418 -Node: Extension Sample API Tests995236 -Node: Extension Sample Time995761 -Node: gawkextlib997125 -Node: Language History999906 -Node: V7/SVR3.11001428 -Node: SVR41003748 -Node: POSIX1005190 -Node: BTL1006576 -Node: POSIX/GNU1007310 -Node: Common Extensions1012845 -Node: Ranges and Locales1014151 -Ref: Ranges and Locales-Footnote-11018769 -Ref: Ranges and Locales-Footnote-21018796 -Ref: Ranges and Locales-Footnote-31019056 -Node: Contributors1019277 -Node: Installation1024352 -Node: Gawk Distribution1025246 -Node: Getting1025730 -Node: Extracting1026556 -Node: Distribution contents1028248 -Node: Unix Installation1033953 -Node: Quick Installation1034570 -Node: Additional Configuration Options1037014 -Node: Configuration Philosophy1038750 -Node: Non-Unix Installation1041104 -Node: PC Installation1041562 -Node: PC Binary Installation1042861 -Node: PC Compiling1044709 -Node: PC Testing1047653 -Node: PC Using1048829 -Node: Cygwin1053014 -Node: MSYS1054014 -Node: VMS Installation1054528 -Node: VMS Compilation1055131 -Ref: VMS Compilation-Footnote-11056138 -Node: VMS Installation Details1056196 -Node: VMS Running1057831 -Node: VMS Old Gawk1059438 -Node: Bugs1059912 -Node: Other Versions1063768 -Node: Notes1069852 -Node: Compatibility Mode1070652 -Node: Additions1071435 -Node: Accessing The Source1072362 -Node: Adding Code1073802 -Node: New Ports1079847 -Node: Derived Files1083982 -Ref: Derived Files-Footnote-11089303 -Ref: Derived Files-Footnote-21089337 -Ref: Derived Files-Footnote-31089937 -Node: Future Extensions1090035 -Node: Implementation Limitations1090618 -Node: Extension Design1091870 -Node: Old Extension Problems1093024 -Ref: Old Extension Problems-Footnote-11094532 -Node: Extension New Mechanism Goals1094589 -Ref: Extension New Mechanism Goals-Footnote-11097954 -Node: Extension Other Design Decisions1098140 -Node: Extension Future Growth1100246 -Node: Old Extension Mechanism1101082 -Node: Basic Concepts1102822 -Node: Basic High Level1103503 -Ref: figure-general-flow1103774 -Ref: figure-process-flow1104373 -Ref: Basic High Level-Footnote-11107602 -Node: Basic Data Typing1107787 -Node: Glossary1111142 -Node: Copying1136604 -Node: GNU Free Documentation License1174161 -Node: Index1199298 +Node: Top1366 +Node: Foreword40552 +Node: Preface44897 +Ref: Preface-Footnote-147950 +Ref: Preface-Footnote-248046 +Node: History48278 +Node: Names50652 +Ref: Names-Footnote-152129 +Node: This Manual52201 +Ref: This Manual-Footnote-157975 +Node: Conventions58075 +Node: Manual History60231 +Ref: Manual History-Footnote-163679 +Ref: Manual History-Footnote-263720 +Node: How To Contribute63794 +Node: Acknowledgments64938 +Node: Getting Started69147 +Node: Running gawk71526 +Node: One-shot72712 +Node: Read Terminal73937 +Ref: Read Terminal-Footnote-175587 +Ref: Read Terminal-Footnote-275863 +Node: Long76034 +Node: Executable Scripts77410 +Ref: Executable Scripts-Footnote-179243 +Ref: Executable Scripts-Footnote-279345 +Node: Comments79892 +Node: Quoting82359 +Node: DOS Quoting86982 +Node: Sample Data Files87657 +Node: Very Simple90701 +Node: Two Rules95300 +Node: More Complex97447 +Ref: More Complex-Footnote-1100377 +Node: Statements/Lines100462 +Ref: Statements/Lines-Footnote-1104924 +Node: Other Features105189 +Node: When106117 +Node: Invoking Gawk108264 +Node: Command Line109725 +Node: Options110508 +Ref: Options-Footnote-1125900 +Node: Other Arguments125925 +Node: Naming Standard Input128583 +Node: Environment Variables129677 +Node: AWKPATH Variable130235 +Ref: AWKPATH Variable-Footnote-1132993 +Node: AWKLIBPATH Variable133253 +Node: Other Environment Variables133971 +Node: Exit Status136934 +Node: Include Files137609 +Node: Loading Shared Libraries141178 +Node: Obsolete142542 +Node: Undocumented143239 +Node: Regexp143481 +Node: Regexp Usage144870 +Node: Escape Sequences146896 +Node: Regexp Operators152565 +Ref: Regexp Operators-Footnote-1159945 +Ref: Regexp Operators-Footnote-2160092 +Node: Bracket Expressions160190 +Ref: table-char-classes162080 +Node: GNU Regexp Operators164603 +Node: Case-sensitivity168326 +Ref: Case-sensitivity-Footnote-1171294 +Ref: Case-sensitivity-Footnote-2171529 +Node: Leftmost Longest171637 +Node: Computed Regexps172838 +Node: Reading Files176175 +Node: Records178177 +Ref: Records-Footnote-1187066 +Node: Fields187103 +Ref: Fields-Footnote-1190136 +Node: Nonconstant Fields190222 +Node: Changing Fields192424 +Node: Field Separators198383 +Node: Default Field Splitting201085 +Node: Regexp Field Splitting202202 +Node: Single Character Fields205544 +Node: Command Line Field Separator206603 +Node: Full Line Fields210037 +Ref: Full Line Fields-Footnote-1210545 +Node: Field Splitting Summary210591 +Ref: Field Splitting Summary-Footnote-1213690 +Node: Constant Size213791 +Node: Splitting By Content218375 +Ref: Splitting By Content-Footnote-1222101 +Node: Multiple Line222141 +Ref: Multiple Line-Footnote-1227988 +Node: Getline228167 +Node: Plain Getline230383 +Node: Getline/Variable232478 +Node: Getline/File233625 +Node: Getline/Variable/File234966 +Ref: Getline/Variable/File-Footnote-1236565 +Node: Getline/Pipe236652 +Node: Getline/Variable/Pipe239351 +Node: Getline/Coprocess240458 +Node: Getline/Variable/Coprocess241710 +Node: Getline Notes242447 +Node: Getline Summary245234 +Ref: table-getline-variants245642 +Node: Read Timeout246554 +Ref: Read Timeout-Footnote-1250295 +Node: Command line directories250352 +Node: Printing250982 +Node: Print252613 +Node: Print Examples253950 +Node: Output Separators256734 +Node: OFMT258494 +Node: Printf259852 +Node: Basic Printf260758 +Node: Control Letters262297 +Node: Format Modifiers266109 +Node: Printf Examples272118 +Node: Redirection274833 +Node: Special Files281798 +Node: Special FD282331 +Ref: Special FD-Footnote-1285956 +Node: Special Network286030 +Node: Special Caveats286880 +Node: Close Files And Pipes287676 +Ref: Close Files And Pipes-Footnote-1294659 +Ref: Close Files And Pipes-Footnote-2294807 +Node: Expressions294957 +Node: Values296089 +Node: Constants296765 +Node: Scalar Constants297445 +Ref: Scalar Constants-Footnote-1298304 +Node: Nondecimal-numbers298486 +Node: Regexp Constants301486 +Node: Using Constant Regexps301961 +Node: Variables305016 +Node: Using Variables305671 +Node: Assignment Options307395 +Node: Conversion309267 +Ref: table-locale-affects314768 +Ref: Conversion-Footnote-1315392 +Node: All Operators315501 +Node: Arithmetic Ops316131 +Node: Concatenation318636 +Ref: Concatenation-Footnote-1321428 +Node: Assignment Ops321548 +Ref: table-assign-ops326536 +Node: Increment Ops327867 +Node: Truth Values and Conditions331301 +Node: Truth Values332384 +Node: Typing and Comparison333433 +Node: Variable Typing334226 +Ref: Variable Typing-Footnote-1338123 +Node: Comparison Operators338245 +Ref: table-relational-ops338655 +Node: POSIX String Comparison342204 +Ref: POSIX String Comparison-Footnote-1343160 +Node: Boolean Ops343298 +Ref: Boolean Ops-Footnote-1347376 +Node: Conditional Exp347467 +Node: Function Calls349199 +Node: Precedence352793 +Node: Locales356462 +Node: Patterns and Actions357551 +Node: Pattern Overview358605 +Node: Regexp Patterns360274 +Node: Expression Patterns360817 +Node: Ranges364502 +Node: BEGIN/END367468 +Node: Using BEGIN/END368230 +Ref: Using BEGIN/END-Footnote-1370961 +Node: I/O And BEGIN/END371067 +Node: BEGINFILE/ENDFILE373349 +Node: Empty376263 +Node: Using Shell Variables376579 +Node: Action Overview378864 +Node: Statements381221 +Node: If Statement383075 +Node: While Statement384574 +Node: Do Statement386618 +Node: For Statement387774 +Node: Switch Statement390926 +Node: Break Statement393023 +Node: Continue Statement395013 +Node: Next Statement396806 +Node: Nextfile Statement399196 +Node: Exit Statement401839 +Node: Built-in Variables404255 +Node: User-modified405350 +Ref: User-modified-Footnote-1413708 +Node: Auto-set413770 +Ref: Auto-set-Footnote-1426848 +Ref: Auto-set-Footnote-2427053 +Node: ARGC and ARGV427109 +Node: Arrays430960 +Node: Array Basics432465 +Node: Array Intro433291 +Node: Reference to Elements437608 +Node: Assigning Elements439878 +Node: Array Example440369 +Node: Scanning an Array442101 +Node: Controlling Scanning444415 +Ref: Controlling Scanning-Footnote-1449502 +Node: Delete449818 +Ref: Delete-Footnote-1452583 +Node: Numeric Array Subscripts452640 +Node: Uninitialized Subscripts454823 +Node: Multidimensional456450 +Node: Multiscanning459542 +Node: Arrays of Arrays461131 +Node: Functions465771 +Node: Built-in466590 +Node: Calling Built-in467668 +Node: Numeric Functions469656 +Ref: Numeric Functions-Footnote-1473488 +Ref: Numeric Functions-Footnote-2473845 +Ref: Numeric Functions-Footnote-3473893 +Node: String Functions474162 +Ref: String Functions-Footnote-1497082 +Ref: String Functions-Footnote-2497211 +Ref: String Functions-Footnote-3497459 +Node: Gory Details497546 +Ref: table-sub-escapes499225 +Ref: table-sub-posix-92500579 +Ref: table-sub-proposed501930 +Ref: table-posix-sub503284 +Ref: table-gensub-escapes504829 +Ref: Gory Details-Footnote-1506005 +Ref: Gory Details-Footnote-2506056 +Node: I/O Functions506207 +Ref: I/O Functions-Footnote-1513192 +Node: Time Functions513339 +Ref: Time Functions-Footnote-1524272 +Ref: Time Functions-Footnote-2524340 +Ref: Time Functions-Footnote-3524498 +Ref: Time Functions-Footnote-4524609 +Ref: Time Functions-Footnote-5524721 +Ref: Time Functions-Footnote-6524948 +Node: Bitwise Functions525214 +Ref: table-bitwise-ops525776 +Ref: Bitwise Functions-Footnote-1529997 +Node: Type Functions530181 +Node: I18N Functions531332 +Node: User-defined532959 +Node: Definition Syntax533763 +Ref: Definition Syntax-Footnote-1538673 +Node: Function Example538742 +Node: Function Caveats541336 +Node: Calling A Function541757 +Node: Variable Scope542872 +Node: Pass By Value/Reference545835 +Node: Return Statement549343 +Node: Dynamic Typing552324 +Node: Indirect Calls553255 +Node: Library Functions562940 +Ref: Library Functions-Footnote-1566453 +Ref: Library Functions-Footnote-2566596 +Node: Library Names566767 +Ref: Library Names-Footnote-1570238 +Ref: Library Names-Footnote-2570458 +Node: General Functions570544 +Node: Strtonum Function571572 +Node: Assert Function574502 +Node: Round Function577828 +Node: Cliff Random Function579371 +Node: Ordinal Functions580387 +Ref: Ordinal Functions-Footnote-1583457 +Ref: Ordinal Functions-Footnote-2583709 +Node: Join Function583918 +Ref: Join Function-Footnote-1585689 +Node: Getlocaltime Function585889 +Node: Readfile Function589630 +Node: Data File Management591469 +Node: Filetrans Function592101 +Node: Rewind Function596170 +Node: File Checking597557 +Node: Empty Files598651 +Node: Ignoring Assigns600881 +Node: Getopt Function602434 +Ref: Getopt Function-Footnote-1613737 +Node: Passwd Functions613940 +Ref: Passwd Functions-Footnote-1622915 +Node: Group Functions623003 +Node: Walking Arrays631087 +Node: Sample Programs633224 +Node: Running Examples633898 +Node: Clones634626 +Node: Cut Program635850 +Node: Egrep Program645695 +Ref: Egrep Program-Footnote-1653468 +Node: Id Program653578 +Node: Split Program657194 +Ref: Split Program-Footnote-1660713 +Node: Tee Program660841 +Node: Uniq Program663644 +Node: Wc Program671073 +Ref: Wc Program-Footnote-1675339 +Ref: Wc Program-Footnote-2675539 +Node: Miscellaneous Programs675631 +Node: Dupword Program676819 +Node: Alarm Program678850 +Node: Translate Program683603 +Ref: Translate Program-Footnote-1687990 +Ref: Translate Program-Footnote-2688238 +Node: Labels Program688372 +Ref: Labels Program-Footnote-1691743 +Node: Word Sorting691827 +Node: History Sorting695711 +Node: Extract Program697550 +Ref: Extract Program-Footnote-1705053 +Node: Simple Sed705181 +Node: Igawk Program708243 +Ref: Igawk Program-Footnote-1723400 +Ref: Igawk Program-Footnote-2723601 +Node: Anagram Program723739 +Node: Signature Program726807 +Node: Advanced Features727907 +Node: Nondecimal Data729793 +Node: Array Sorting731376 +Node: Controlling Array Traversal732073 +Node: Array Sorting Functions740357 +Ref: Array Sorting Functions-Footnote-1744226 +Node: Two-way I/O744420 +Ref: Two-way I/O-Footnote-1749852 +Node: TCP/IP Networking749922 +Node: Profiling752766 +Node: Internationalization760263 +Node: I18N and L10N761688 +Node: Explaining gettext762374 +Ref: Explaining gettext-Footnote-1767442 +Ref: Explaining gettext-Footnote-2767626 +Node: Programmer i18n767791 +Node: Translator i18n771993 +Node: String Extraction772786 +Ref: String Extraction-Footnote-1773747 +Node: Printf Ordering773833 +Ref: Printf Ordering-Footnote-1776617 +Node: I18N Portability776681 +Ref: I18N Portability-Footnote-1779130 +Node: I18N Example779193 +Ref: I18N Example-Footnote-1781831 +Node: Gawk I18N781903 +Node: Debugger782524 +Node: Debugging783495 +Node: Debugging Concepts783928 +Node: Debugging Terms785784 +Node: Awk Debugging788381 +Node: Sample Debugging Session789273 +Node: Debugger Invocation789793 +Node: Finding The Bug791125 +Node: List of Debugger Commands797613 +Node: Breakpoint Control798947 +Node: Debugger Execution Control802611 +Node: Viewing And Changing Data805971 +Node: Execution Stack809327 +Node: Debugger Info810794 +Node: Miscellaneous Debugger Commands814776 +Node: Readline Support819952 +Node: Limitations820783 +Node: Arbitrary Precision Arithmetic823035 +Ref: Arbitrary Precision Arithmetic-Footnote-1824684 +Node: General Arithmetic824832 +Node: Floating Point Issues826552 +Node: String Conversion Precision827433 +Ref: String Conversion Precision-Footnote-1829138 +Node: Unexpected Results829247 +Node: POSIX Floating Point Problems831400 +Ref: POSIX Floating Point Problems-Footnote-1835225 +Node: Integer Programming835263 +Node: Floating-point Programming837002 +Ref: Floating-point Programming-Footnote-1843333 +Ref: Floating-point Programming-Footnote-2843603 +Node: Floating-point Representation843867 +Node: Floating-point Context845032 +Ref: table-ieee-formats845871 +Node: Rounding Mode847255 +Ref: table-rounding-modes847734 +Ref: Rounding Mode-Footnote-1850749 +Node: Gawk and MPFR850928 +Node: Arbitrary Precision Floats852183 +Ref: Arbitrary Precision Floats-Footnote-1854626 +Node: Setting Precision854942 +Ref: table-predefined-precision-strings855628 +Node: Setting Rounding Mode857773 +Ref: table-gawk-rounding-modes858177 +Node: Floating-point Constants859364 +Node: Changing Precision860793 +Ref: Changing Precision-Footnote-1862190 +Node: Exact Arithmetic862364 +Node: Arbitrary Precision Integers865502 +Ref: Arbitrary Precision Integers-Footnote-1868520 +Node: Dynamic Extensions868667 +Node: Extension Intro870125 +Node: Plugin License871390 +Node: Extension Mechanism Outline872075 +Ref: load-extension872492 +Ref: load-new-function873970 +Ref: call-new-function874965 +Node: Extension API Description876980 +Node: Extension API Functions Introduction878193 +Node: General Data Types883059 +Ref: General Data Types-Footnote-1888664 +Node: Requesting Values888963 +Ref: table-value-types-returned889694 +Node: Constructor Functions890648 +Node: Registration Functions893668 +Node: Extension Functions894353 +Node: Exit Callback Functions896578 +Node: Extension Version String897827 +Node: Input Parsers898477 +Node: Output Wrappers908234 +Node: Two-way processors912744 +Node: Printing Messages914952 +Ref: Printing Messages-Footnote-1916029 +Node: Updating `ERRNO'916181 +Node: Accessing Parameters916920 +Node: Symbol Table Access918150 +Node: Symbol table by name918662 +Node: Symbol table by cookie920409 +Ref: Symbol table by cookie-Footnote-1924539 +Node: Cached values924602 +Ref: Cached values-Footnote-1928051 +Node: Array Manipulation928142 +Ref: Array Manipulation-Footnote-1929240 +Node: Array Data Types929279 +Ref: Array Data Types-Footnote-1931982 +Node: Array Functions932074 +Node: Flattening Arrays935840 +Node: Creating Arrays942692 +Node: Extension API Variables947417 +Node: Extension Versioning948053 +Node: Extension API Informational Variables949954 +Node: Extension API Boilerplate951040 +Node: Finding Extensions954844 +Node: Extension Example955404 +Node: Internal File Description956134 +Node: Internal File Ops960225 +Ref: Internal File Ops-Footnote-1971733 +Node: Using Internal File Ops971873 +Ref: Using Internal File Ops-Footnote-1974226 +Node: Extension Samples974492 +Node: Extension Sample File Functions976016 +Node: Extension Sample Fnmatch984501 +Node: Extension Sample Fork986227 +Node: Extension Sample Inplace987445 +Node: Extension Sample Ord989223 +Node: Extension Sample Readdir990059 +Node: Extension Sample Revout991591 +Node: Extension Sample Rev2way992184 +Node: Extension Sample Read write array992874 +Node: Extension Sample Readfile994757 +Node: Extension Sample API Tests995575 +Node: Extension Sample Time996100 +Node: gawkextlib997464 +Node: Language History1000245 +Node: V7/SVR3.11001767 +Node: SVR41004087 +Node: POSIX1005529 +Node: BTL1006915 +Node: POSIX/GNU1007649 +Node: Common Extensions1013184 +Node: Ranges and Locales1014490 +Ref: Ranges and Locales-Footnote-11019108 +Ref: Ranges and Locales-Footnote-21019135 +Ref: Ranges and Locales-Footnote-31019395 +Node: Contributors1019616 +Node: Installation1024691 +Node: Gawk Distribution1025585 +Node: Getting1026069 +Node: Extracting1026895 +Node: Distribution contents1028587 +Node: Unix Installation1034292 +Node: Quick Installation1034909 +Node: Additional Configuration Options1037353 +Node: Configuration Philosophy1039089 +Node: Non-Unix Installation1041443 +Node: PC Installation1041901 +Node: PC Binary Installation1043200 +Node: PC Compiling1045048 +Node: PC Testing1047992 +Node: PC Using1049168 +Node: Cygwin1053353 +Node: MSYS1054353 +Node: VMS Installation1054867 +Node: VMS Compilation1055470 +Ref: VMS Compilation-Footnote-11056477 +Node: VMS Installation Details1056535 +Node: VMS Running1058170 +Node: VMS Old Gawk1059777 +Node: Bugs1060251 +Node: Other Versions1064107 +Node: Notes1070191 +Node: Compatibility Mode1070991 +Node: Additions1071774 +Node: Accessing The Source1072701 +Node: Adding Code1074141 +Node: New Ports1080186 +Node: Derived Files1084321 +Ref: Derived Files-Footnote-11089642 +Ref: Derived Files-Footnote-21089676 +Ref: Derived Files-Footnote-31090276 +Node: Future Extensions1090374 +Node: Implementation Limitations1090957 +Node: Extension Design1092209 +Node: Old Extension Problems1093363 +Ref: Old Extension Problems-Footnote-11094871 +Node: Extension New Mechanism Goals1094928 +Ref: Extension New Mechanism Goals-Footnote-11098293 +Node: Extension Other Design Decisions1098479 +Node: Extension Future Growth1100585 +Node: Old Extension Mechanism1101421 +Node: Basic Concepts1103161 +Node: Basic High Level1103842 +Ref: figure-general-flow1104113 +Ref: figure-process-flow1104712 +Ref: Basic High Level-Footnote-11107941 +Node: Basic Data Typing1108126 +Node: Glossary1111481 +Node: Copying1136943 +Node: GNU Free Documentation License1174500 +Node: Index1199637  End Tag Table -- cgit v1.2.3 From 2389064eb3fe7c5b2b144eb2f5d556a812ba1911 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 13 Jan 2014 22:23:29 +0200 Subject: VMS doc updates. --- doc/gawk.info | 92 ++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 39 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index fcef0ee6..88745cd7 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26394,7 +26394,19 @@ directory tree, the program will be known as `GNV$GNU:[bin]gnv$gawk.exe' and the help file will be `GNV$GNU:[vms_help]gawk.hlp'. - Optionally, the help entry can be loaded into a VMS help library: + The PCSI kit also installs a `GNV$GNU:[vms_bin]gawk_verb.cld' file +which can be used to add `gawk' and `awk' as DCL commands. + + For just the current process you can use: + + $ set command gnv$gnu:[vms_bin]gawk_verb.cld + + Or the system manager can use `GNV$GNU:[vms_bin]gawk_verb.cld' to +add the `gawk' and `awk' to the system wide `DCLTABLES'. + + The DCL syntax is documented in the `gawk.hlp' file. + + Optionally, `gawk.hlp' entry can be loaded into a VMS help library: $ LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp @@ -26495,8 +26507,10 @@ reorganized to supply individual PCSI packages for each component. See `https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'. The normal build procedure for `gawk' produces a program that is -suitable for use with GNV. At this time work is being done to create -the procedures for building a PCSI kit to replace the older `gawk' port. +suitable for use with GNV. + + The `vms/gawk_build_steps.txt' in the source documents the procedure +for building a VMS PCSI kit that is compatible with GNV.  File: gawk.info, Node: VMS Old Gawk, Prev: VMS GNV, Up: VMS Installation @@ -26586,7 +26600,7 @@ MS-DOS with DJGPP Scott Deifik, . MS-Windows with MINGW Eli Zaretskii, . OS/2 Andreas Buening, . VMS Pat Rankin, , and John - Malmberg, . + Malmberg, . z/OS (OS/390) Dave Pitts, . If your bug is also reproducible under Unix, please send a copy of @@ -32828,40 +32842,40 @@ Node: VMS Compilation1055883 Ref: VMS Compilation-Footnote-11057498 Node: VMS Dynamic Extensions1057556 Node: VMS Installation Details1058929 -Node: VMS Running1060763 -Node: VMS GNV1063597 -Node: VMS Old Gawk1064306 -Node: Bugs1064776 -Node: Other Versions1068696 -Node: Notes1074780 -Node: Compatibility Mode1075580 -Node: Additions1076363 -Node: Accessing The Source1077290 -Node: Adding Code1078730 -Node: New Ports1084775 -Node: Derived Files1088910 -Ref: Derived Files-Footnote-11094231 -Ref: Derived Files-Footnote-21094265 -Ref: Derived Files-Footnote-31094865 -Node: Future Extensions1094963 -Node: Implementation Limitations1095546 -Node: Extension Design1096798 -Node: Old Extension Problems1097952 -Ref: Old Extension Problems-Footnote-11099460 -Node: Extension New Mechanism Goals1099517 -Ref: Extension New Mechanism Goals-Footnote-11102882 -Node: Extension Other Design Decisions1103068 -Node: Extension Future Growth1105174 -Node: Old Extension Mechanism1106010 -Node: Basic Concepts1107750 -Node: Basic High Level1108431 -Ref: figure-general-flow1108702 -Ref: figure-process-flow1109301 -Ref: Basic High Level-Footnote-11112530 -Node: Basic Data Typing1112715 -Node: Glossary1116070 -Node: Copying1141532 -Node: GNU Free Documentation License1179089 -Node: Index1204226 +Node: VMS Running1061176 +Node: VMS GNV1064010 +Node: VMS Old Gawk1064733 +Node: Bugs1065203 +Node: Other Versions1069121 +Node: Notes1075205 +Node: Compatibility Mode1076005 +Node: Additions1076788 +Node: Accessing The Source1077715 +Node: Adding Code1079155 +Node: New Ports1085200 +Node: Derived Files1089335 +Ref: Derived Files-Footnote-11094656 +Ref: Derived Files-Footnote-21094690 +Ref: Derived Files-Footnote-31095290 +Node: Future Extensions1095388 +Node: Implementation Limitations1095971 +Node: Extension Design1097223 +Node: Old Extension Problems1098377 +Ref: Old Extension Problems-Footnote-11099885 +Node: Extension New Mechanism Goals1099942 +Ref: Extension New Mechanism Goals-Footnote-11103307 +Node: Extension Other Design Decisions1103493 +Node: Extension Future Growth1105599 +Node: Old Extension Mechanism1106435 +Node: Basic Concepts1108175 +Node: Basic High Level1108856 +Ref: figure-general-flow1109127 +Ref: figure-process-flow1109726 +Ref: Basic High Level-Footnote-11112955 +Node: Basic Data Typing1113140 +Node: Glossary1116495 +Node: Copying1141957 +Node: GNU Free Documentation License1179514 +Node: Index1204651  End Tag Table -- cgit v1.2.3 From 7dbb03a642a1526e584b59e3fb4f18ef73acfe1a Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 23 Jan 2014 20:01:32 +0200 Subject: Add Feature History to doc. Update common extensions. --- doc/gawk.info | 1441 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 914 insertions(+), 527 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 88745cd7..6f88bf02 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -193,7 +193,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) field. * Command Line Field Separator:: Setting `FS' from the command-line. -* Full Line Fields:: Making the full line be a single field. +* Full Line Fields:: Making the full line be a single + field. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content @@ -583,6 +584,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) version of `awk'. * POSIX/GNU:: The extensions in `gawk' not in POSIX `awk'. +* Feature History:: The history of the features in `gawk'. * Common Extensions:: Common Extensions Summary. * Ranges and Locales:: How locales used to affect regexp ranges. @@ -24901,6 +24903,7 @@ you can find more information. `awk'. * POSIX/GNU:: The extensions in `gawk' not in POSIX `awk'. +* Feature History:: The history of the features in `gawk'. * Common Extensions:: Common Extensions Summary. * Ranges and Locales:: How locales used to affect regexp ranges. * Contributors:: The major contributors to `gawk'. @@ -25079,7 +25082,7 @@ in his version of `awk'. available in his `awk'.  -File: gawk.info, Node: POSIX/GNU, Next: Common Extensions, Prev: BTL, Up: Language History +File: gawk.info, Node: POSIX/GNU, Next: Feature History, Prev: BTL, Up: Language History A.5 Extensions in `gawk' Not in POSIX `awk' =========================================== @@ -25236,9 +25239,391 @@ the current version of `gawk'.  -File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: POSIX/GNU, Up: Language History +File: gawk.info, Node: Feature History, Next: Common Extensions, Prev: POSIX/GNU, Up: Language History + +A.6 History of `gawk' Features +============================== + +This minor node describes the features in `gawk' over and above those +in POSIX `awk', in the order they were added to `gawk'. + + Version 2.10 of `gawk' introduced the following features: + + * The `AWKPATH' environment variable for specifying a path search for + the `-f' command-line option (*note Options::). + + * The `IGNORECASE' variable and its effects (*note + Case-sensitivity::). + + * The `/dev/stdin', `/dev/stdout', `/dev/stderr' and `/dev/fd/N' + special file names (*note Special Files::). + + Version 2.13 of `gawk' introduced the following features: + + * The `FIELDWIDTHS' variable and its effects (*note Constant Size::). + + * The `systime()' and `strftime()' built-in functions for obtaining + and printing timestamps (*note Time Functions::). + + * Additional command-line options (*note Options::): + + - The `-W lint' option to provide error and portability checking + for both the source code and at runtime. + + - The `-W compat' option to turn off the GNU extensions. + + - The `-W posix' option for full POSIX compliance. + + Version 2.14 of `gawk' introduced the following feature: + + * The `next file' statement for skipping to the next data file + (*note Nextfile Statement::). + + Version 2.15 of `gawk' introduced the following features: + + * New variables (*note Built-in Variables::): + + - `ARGIND', which tracks the movement of `FILENAME' through + `ARGV'. + + - `ERRNO', which contains the system error message when + `getline' returns -1 or `close()' fails. + + * The `/dev/pid', `/dev/ppid', `/dev/pgrpid', and `/dev/user' + special file names. These have since been removed. + + * The ability to delete all of an array at once with `delete ARRAY' + (*note Delete::). + + * Command line option changes (*note Options::): + + - The ability to use GNU-style long-named options that start + with `--'. + + - The `--source' option for mixing command-line and library-file + source code. + + Version 3.0 of `gawk' introduced the following features: + + * New or changed variables: + + - `IGNORECASE' changed, now applying to string comparison as + well as regexp operations (*note Case-sensitivity::). + + - `RT', which contains the input text that matched `RS' (*note + Records::). + + * Full support for both POSIX and GNU regexps (*note Regexp::). + + * The `gensub()' function for more powerful text manipulation (*note + String Functions::). + + * The `strftime()' function acquired a default time format, allowing + it to be called with no arguments (*note Time Functions::). + + * The ability for `FS' and for the third argument to `split()' to be + null strings (*note Single Character Fields::). + + * The ability for `RS' to be a regexp (*note Records::). + + * The `next file' statement became `nextfile' (*note Nextfile + Statement::). + + * The `fflush()' function from the Bell Laboratories research + version of `awk' (*note I/O Functions::). + + * New command line options: + + - The `--lint-old' option to warn about constructs that are not + available in the original Version 7 Unix version of `awk' + (*note V7/SVR3.1::). + + - The `-m' option from the Bell Laboratories research version + of `awk' This was later removed. + + - The `--re-interval' option to provide interval expressions in + regexps (*note Regexp Operators::). + + - The `--traditional' option was added as a better name for + `--compat' (*note Options::). + + * The use of GNU Autoconf to control the configuration process + (*note Quick Installation::). + + * Amiga support. + + + Version 3.1 of `gawk' introduced the following features: + + * New variables (*note Built-in Variables::): + + - `BINMODE', for non-POSIX systems, which allows binary I/O for + input and/or output files (*note PC Using::). + + - `LINT', which dynamically controls lint warnings. + + - `PROCINFO', an array for providing process-related + information. + + - `TEXTDOMAIN', for setting an application's + internationalization text domain (*note + Internationalization::). + + * The ability to use octal and hexadecimal constants in `awk' + program source code (*note Nondecimal-numbers::). + + * The `|&' operator for two-way I/O to a coprocess (*note Two-way + I/O::). + + * The `/inet' special files for TCP/IP networking using `|&' (*note + TCP/IP Networking::). + + * The optional second argument to `close()' that allows closing one + end of a two-way pipe to a coprocess (*note Two-way I/O::). + + * The optional third argument to the `match()' function for + capturing text-matching subexpressions within a regexp (*note + String Functions::). + + * Positional specifiers in `printf' formats for making translations + easier (*note Printf Ordering::). + + * A number of new built-in functions: + + - The `asort()' and `asorti()' functions for sorting arrays + (*note Array Sorting::). + + - The `bindtextdomain()', `dcgettext()' and `dcngettext()' + functions for internationalization (*note Programmer i18n::). + + - The `extension()' function and the ability to add new + built-in functions dynamically (*note Dynamic Extensions::). + + - The `mktime()' function for creating timestamps (*note Time + Functions::). + + - The `and()', `or()', `xor()', `compl()', `lshift()', + `rshift()', and `strtonum()' functions (*note Bitwise + Functions::). + + * The support for `next file' as two words was removed completely + (*note Nextfile Statement::). + + * Additional commnd line options (*note Options::): + + - The `--dump-variables' option to print a list of all global + variables. + + - The `--exec' option, for use in CGI scripts. + + - The `--gen-po' command-line option and the use of a leading + underscore to mark strings that should be translated (*note + String Extraction::). + + - The `--non-decimal-data' option to allow non-decimal input + data (*note Nondecimal Data::). + + - The `--profile' option and `pgawk', the profiling version of + `gawk', for producing execution profiles of `awk' programs + (*note Profiling::). + + - The `--use-lc-numeric' option to force `gawk' to use the + locale's decimal point for parsing input data (*note + Conversion::). + + * The use of GNU Automake to help in standardizing the configuration + process (*note Quick Installation::). + + * The use of GNU `gettext' for `gawk''s own message output (*note + Gawk I18N::). + + * BeOS support. This was later removed. + + * Tandem support. This was later removed. + + * The Atari port became officially unsupported. + + * The source code changed to use ISO C standard-style function + definitions. + + * POSIX compliance for `sub()' and `gsub()' (*note Gory Details::). + + * The `length()' function was extended to accept an array argument + and return the number of elements in the array (*note String + Functions::). + + * The `strftime()' function acquired a third argument to enable + printing times as UTC (*note Time Functions::). + + Version 4.0 of `gawk' introduced the following features: + + * Variable additions: + + - `FPAT', which allows you to specify a regexp that matches the + fields, instead of matching the field separator (*note + Splitting By Content::). + + - If `PROCINFO["sorted_in"]' exists, `for(iggy in foo)' loops + sort the indices before looping over them. The value of this + element provides control over how the indices are sorted + before the loop traversal starts (*note Controlling + Scanning::). + + - `PROCINFO["strftime"]', which holds the default format for + `strftime()' (*note Time Functions::). + + * The special files `/dev/pid', `/dev/ppid', `/dev/pgrpid' and + `/dev/user' were removed. + + * Support for IPv6 was added via the `/inet6' special file. + `/inet4' forces IPv4 and `/inet' chooses the system default, which + is probably IPv4 (*note TCP/IP Networking::). + + * The use of `\s' and `\S' escape sequences in regular expressions + (*note GNU Regexp Operators::). + + * Interval expressions became part of default regular expressions + (*note Regexp Operators::). + + * POSIX character classes work even with `--traditional' (*note + Regexp Operators::). + + * `break' and `continue' became invalid outside a loop, even with + `--traditional' (*note Break Statement::, and also see *note + Continue Statement::). + + * `fflush()', `nextfile', and `delete ARRAY' are allowed if + `--posix' or `--traditional', since they are all now part of POSIX. + + * An optional third argument to `asort()' and `asorti()', specifying + how to sort (*note String Functions::). + + * The behavior of `fflush()' changed to match Brian Kernighan's `awk' + and for POSIX; now both `fflush()' and `fflush("")' flush all open + output redirections (*note I/O Functions::). + + * The `isarray()' function which distinguishes if an item is an array + or not, to make it possible to traverse multidimensional arrays + (*note Type Functions::). + + * The `patsplit()' function which gives the same capability as + `FPAT', for splitting (*note String Functions::). + + * An optional fourth argument to the `split()' function, which is an + array to hold the values of the separators (*note String + Functions::). + + * Arrays of arrays (*note Arrays of Arrays::). + + * The `BEGINFILE' and `ENDFILE' special patterns (*note + BEGINFILE/ENDFILE::). + + * Indirect function calls (*note Indirect Calls::). + + * `switch' / `case' are enabled by default (*note Switch + Statement::). + + * Command line option changes (*note Options::): + + - The `-b' and `--characters-as-bytes' options which prevent + `gawk' from treating input as a multibyte string. + + - The redundant `--compat', `--copyleft', and `--usage' long + options were removed. + + - The `--gen-po' option was finally renamed to the correct + `--gen-pot'. + + - The `--sandbox' option which disables certain features. + + - All long options acquired corresponding short options, for + use in `#!' scripts. + + * Directories named on the command line now produce a warning, not a + fatal error, unless `--posix' or `--traditional' are used (*note + Command line directories::). + + * The `gawk' internals were rewritten, bringing the `dgawk' debugger + and possibly improved performance (*note Debugger::). + + * Per the GNU Coding Standards, dynamic extensions must now define a + global symbol indicating that they are GPL-compatible (*note + Plugin License::). + + * In POSIX mode, string comparisons use `strcoll()' / `wcscoll()' + (*note POSIX String Comparison::). + + * The option for raw sockets was removed, since it was never + implemented (*note TCP/IP Networking::). + + * Ranges of the form `[d-h]' are treated as if they were in the C + locale, no matter what kind of regexp is being used, and even if + `--posix' (*note Ranges and Locales::). + + * Support was removed for the following systems: + + - Atari + + - Amiga + + - BeOS + + - Cray + + - MIPS RiscOS + + - MS-DOS with Microsoft Compiler + + - MS-Windows with Microsoft Compiler + + - NeXT + + - SunOS 3.x, Sun 386 (Road Runner) + + - Tandem (non-POSIX) + + - Prestandard VAX C compiler for VAX/VMS + + Version 4.1 of `gawk' introduced the following features: + + * Three new arrays: `SYMTAB', `FUNCTAB', and + `PROCINFO["identifiers"]' (*note Auto-set::). + + * The three executables `gawk', `pgawk', and `dgawk', were merged + into one, named just `gawk'. As a result the command line options + changed. + + * Command line option changes (*note Options::): + + - The `-D' option invokes the debugger. + + - The `-i' and `--include' options load `awk' library files. + + - The `-l' and `--load' options for load compiled dynamic + extensions. + + - The `-M' and `--bignum' options enable MPFR. + + - The `-o' only does pretty-printing. + + - The `-p' option is used for profiling. + + - The `-R' option was removed. + + * Support for high precision arithmetic with MPFR. (*note Gawk and + MPFR::). + + * The `and()', `or()' and `xor()' functions allow any number of + arguments, with a minimum of two (*note Bitwise Functions::). + + * The dynamic extension interface was completely redone (*note + Dynamic Extensions::). + + + +File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History -A.6 Common Extensions Summary +A.7 Common Extensions Summary ============================= This minor node summarizes the common extensions supported by `gawk', @@ -25250,7 +25635,7 @@ Feature BWK Awk Mawk GNU Awk `\x' Escape sequence X X X `RS' as regexp X X `FS' as null string X X X -`/dev/stdin' special file X X +`/dev/stdin' special file X X X `/dev/stdout' special file X X X `/dev/stderr' special file X X X `**' and `**=' operators X X @@ -25258,7 +25643,7 @@ Feature BWK Awk Mawk GNU Awk `func' keyword X X `nextfile' statement X X X `delete' without subscript X X X -`length()' of an array X X +`length()' of an array X X X `BINMODE' variable X X Time related functions X X @@ -25269,7 +25654,7 @@ POSIX.)  File: gawk.info, Node: Ranges and Locales, Next: Contributors, Prev: Common Extensions, Up: Language History -A.7 Regexp Ranges and Locales: A Long Sad Story +A.8 Regexp Ranges and Locales: A Long Sad Story =============================================== This minor node describes the confusing history of ranges within @@ -25375,7 +25760,7 @@ and its rationale  File: gawk.info, Node: Contributors, Prev: Ranges and Locales, Up: Language History -A.8 Major Contributors to `gawk' +A.9 Major Contributors to `gawk' ================================ Always give credit where credit is due. -- Anonymous @@ -31390,6 +31775,7 @@ Index (line 19) * next debugger command: Debugger Execution Control. (line 43) +* next file statement: Feature History. (line 168) * next statement <1>: Next Statement. (line 6) * next statement: Boolean Ops. (line 85) * next statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 37) @@ -32358,524 +32744,525 @@ Index  Tag Table: Node: Top1366 -Node: Foreword40737 -Node: Preface45082 -Ref: Preface-Footnote-148135 -Ref: Preface-Footnote-248231 -Node: History48463 -Node: Names50837 -Ref: Names-Footnote-152314 -Node: This Manual52386 -Ref: This Manual-Footnote-158160 -Node: Conventions58260 -Node: Manual History60416 -Ref: Manual History-Footnote-163864 -Ref: Manual History-Footnote-263905 -Node: How To Contribute63979 -Node: Acknowledgments65123 -Node: Getting Started69332 -Node: Running gawk71711 -Node: One-shot72897 -Node: Read Terminal74122 -Ref: Read Terminal-Footnote-175772 -Ref: Read Terminal-Footnote-276048 -Node: Long76219 -Node: Executable Scripts77595 -Ref: Executable Scripts-Footnote-179428 -Ref: Executable Scripts-Footnote-279530 -Node: Comments80077 -Node: Quoting82544 -Node: DOS Quoting87167 -Node: Sample Data Files87842 -Node: Very Simple90886 -Node: Two Rules95485 -Node: More Complex97632 -Ref: More Complex-Footnote-1100562 -Node: Statements/Lines100647 -Ref: Statements/Lines-Footnote-1105109 -Node: Other Features105374 -Node: When106302 -Node: Invoking Gawk108449 -Node: Command Line109910 -Node: Options110693 -Ref: Options-Footnote-1126085 -Node: Other Arguments126110 -Node: Naming Standard Input128768 -Node: Environment Variables129862 -Node: AWKPATH Variable130420 -Ref: AWKPATH Variable-Footnote-1133178 -Node: AWKLIBPATH Variable133438 -Node: Other Environment Variables134156 -Node: Exit Status137119 -Node: Include Files137794 -Node: Loading Shared Libraries141363 -Node: Obsolete142727 -Node: Undocumented143424 -Node: Regexp143666 -Node: Regexp Usage145055 -Node: Escape Sequences147081 -Node: Regexp Operators152750 -Ref: Regexp Operators-Footnote-1160130 -Ref: Regexp Operators-Footnote-2160277 -Node: Bracket Expressions160375 -Ref: table-char-classes162265 -Node: GNU Regexp Operators164788 -Node: Case-sensitivity168511 -Ref: Case-sensitivity-Footnote-1171479 -Ref: Case-sensitivity-Footnote-2171714 -Node: Leftmost Longest171822 -Node: Computed Regexps173023 -Node: Reading Files176360 -Node: Records178362 -Ref: Records-Footnote-1187251 -Node: Fields187288 -Ref: Fields-Footnote-1190321 -Node: Nonconstant Fields190407 -Node: Changing Fields192609 -Node: Field Separators198568 -Node: Default Field Splitting201270 -Node: Regexp Field Splitting202387 -Node: Single Character Fields205729 -Node: Command Line Field Separator206788 -Node: Full Line Fields210222 -Ref: Full Line Fields-Footnote-1210730 -Node: Field Splitting Summary210776 -Ref: Field Splitting Summary-Footnote-1213875 -Node: Constant Size213976 -Node: Splitting By Content218560 -Ref: Splitting By Content-Footnote-1222286 -Node: Multiple Line222326 -Ref: Multiple Line-Footnote-1228173 -Node: Getline228352 -Node: Plain Getline230568 -Node: Getline/Variable232663 -Node: Getline/File233810 -Node: Getline/Variable/File235151 -Ref: Getline/Variable/File-Footnote-1236750 -Node: Getline/Pipe236837 -Node: Getline/Variable/Pipe239536 -Node: Getline/Coprocess240643 -Node: Getline/Variable/Coprocess241895 -Node: Getline Notes242632 -Node: Getline Summary245419 -Ref: table-getline-variants245827 -Node: Read Timeout246739 -Ref: Read Timeout-Footnote-1250480 -Node: Command line directories250537 -Node: Printing251167 -Node: Print252798 -Node: Print Examples254135 -Node: Output Separators256919 -Node: OFMT258679 -Node: Printf260037 -Node: Basic Printf260943 -Node: Control Letters262482 -Node: Format Modifiers266294 -Node: Printf Examples272303 -Node: Redirection275018 -Node: Special Files281983 -Node: Special FD282516 -Ref: Special FD-Footnote-1286141 -Node: Special Network286215 -Node: Special Caveats287065 -Node: Close Files And Pipes287861 -Ref: Close Files And Pipes-Footnote-1294844 -Ref: Close Files And Pipes-Footnote-2294992 -Node: Expressions295142 -Node: Values296274 -Node: Constants296950 -Node: Scalar Constants297630 -Ref: Scalar Constants-Footnote-1298489 -Node: Nondecimal-numbers298671 -Node: Regexp Constants301671 -Node: Using Constant Regexps302146 -Node: Variables305201 -Node: Using Variables305856 -Node: Assignment Options307580 -Node: Conversion309452 -Ref: table-locale-affects314953 -Ref: Conversion-Footnote-1315577 -Node: All Operators315686 -Node: Arithmetic Ops316316 -Node: Concatenation318821 -Ref: Concatenation-Footnote-1321613 -Node: Assignment Ops321733 -Ref: table-assign-ops326721 -Node: Increment Ops328052 -Node: Truth Values and Conditions331486 -Node: Truth Values332569 -Node: Typing and Comparison333618 -Node: Variable Typing334411 -Ref: Variable Typing-Footnote-1338308 -Node: Comparison Operators338430 -Ref: table-relational-ops338840 -Node: POSIX String Comparison342389 -Ref: POSIX String Comparison-Footnote-1343345 -Node: Boolean Ops343483 -Ref: Boolean Ops-Footnote-1347561 -Node: Conditional Exp347652 -Node: Function Calls349384 -Node: Precedence352978 -Node: Locales356647 -Node: Patterns and Actions357736 -Node: Pattern Overview358790 -Node: Regexp Patterns360459 -Node: Expression Patterns361002 -Node: Ranges364687 -Node: BEGIN/END367653 -Node: Using BEGIN/END368415 -Ref: Using BEGIN/END-Footnote-1371146 -Node: I/O And BEGIN/END371252 -Node: BEGINFILE/ENDFILE373534 -Node: Empty376448 -Node: Using Shell Variables376764 -Node: Action Overview379049 -Node: Statements381406 -Node: If Statement383260 -Node: While Statement384759 -Node: Do Statement386803 -Node: For Statement387959 -Node: Switch Statement391111 -Node: Break Statement393208 -Node: Continue Statement395198 -Node: Next Statement396991 -Node: Nextfile Statement399381 -Node: Exit Statement402024 -Node: Built-in Variables404440 -Node: User-modified405535 -Ref: User-modified-Footnote-1413893 -Node: Auto-set413955 -Ref: Auto-set-Footnote-1427033 -Ref: Auto-set-Footnote-2427238 -Node: ARGC and ARGV427294 -Node: Arrays431145 -Node: Array Basics432650 -Node: Array Intro433476 -Node: Reference to Elements437793 -Node: Assigning Elements440063 -Node: Array Example440554 -Node: Scanning an Array442286 -Node: Controlling Scanning444600 -Ref: Controlling Scanning-Footnote-1449687 -Node: Delete450003 -Ref: Delete-Footnote-1452768 -Node: Numeric Array Subscripts452825 -Node: Uninitialized Subscripts455008 -Node: Multidimensional456635 -Node: Multiscanning459728 -Node: Arrays of Arrays461317 -Node: Functions465957 -Node: Built-in466776 -Node: Calling Built-in467854 -Node: Numeric Functions469842 -Ref: Numeric Functions-Footnote-1473674 -Ref: Numeric Functions-Footnote-2474031 -Ref: Numeric Functions-Footnote-3474079 -Node: String Functions474348 -Ref: String Functions-Footnote-1497268 -Ref: String Functions-Footnote-2497397 -Ref: String Functions-Footnote-3497645 -Node: Gory Details497732 -Ref: table-sub-escapes499411 -Ref: table-sub-posix-92500765 -Ref: table-sub-proposed502116 -Ref: table-posix-sub503470 -Ref: table-gensub-escapes505015 -Ref: Gory Details-Footnote-1506191 -Ref: Gory Details-Footnote-2506242 -Node: I/O Functions506393 -Ref: I/O Functions-Footnote-1513378 -Node: Time Functions513525 -Ref: Time Functions-Footnote-1524458 -Ref: Time Functions-Footnote-2524526 -Ref: Time Functions-Footnote-3524684 -Ref: Time Functions-Footnote-4524795 -Ref: Time Functions-Footnote-5524907 -Ref: Time Functions-Footnote-6525134 -Node: Bitwise Functions525400 -Ref: table-bitwise-ops525962 -Ref: Bitwise Functions-Footnote-1530183 -Node: Type Functions530367 -Node: I18N Functions531518 -Node: User-defined533145 -Node: Definition Syntax533949 -Ref: Definition Syntax-Footnote-1538859 -Node: Function Example538928 -Node: Function Caveats541522 -Node: Calling A Function541943 -Node: Variable Scope543058 -Node: Pass By Value/Reference546021 -Node: Return Statement549529 -Node: Dynamic Typing552510 -Node: Indirect Calls553441 -Node: Library Functions563126 -Ref: Library Functions-Footnote-1566639 -Ref: Library Functions-Footnote-2566782 -Node: Library Names566953 -Ref: Library Names-Footnote-1570424 -Ref: Library Names-Footnote-2570644 -Node: General Functions570730 -Node: Strtonum Function571758 -Node: Assert Function574688 -Node: Round Function578014 -Node: Cliff Random Function579557 -Node: Ordinal Functions580573 -Ref: Ordinal Functions-Footnote-1583643 -Ref: Ordinal Functions-Footnote-2583895 -Node: Join Function584104 -Ref: Join Function-Footnote-1585875 -Node: Getlocaltime Function586075 -Node: Readfile Function589816 -Node: Data File Management591655 -Node: Filetrans Function592287 -Node: Rewind Function596356 -Node: File Checking597743 -Node: Empty Files598837 -Node: Ignoring Assigns601067 -Node: Getopt Function602620 -Ref: Getopt Function-Footnote-1613923 -Node: Passwd Functions614126 -Ref: Passwd Functions-Footnote-1623101 -Node: Group Functions623189 -Node: Walking Arrays631273 -Node: Sample Programs633410 -Node: Running Examples634084 -Node: Clones634812 -Node: Cut Program636036 -Node: Egrep Program645881 -Ref: Egrep Program-Footnote-1653654 -Node: Id Program653764 -Node: Split Program657380 -Ref: Split Program-Footnote-1660899 -Node: Tee Program661027 -Node: Uniq Program663830 -Node: Wc Program671259 -Ref: Wc Program-Footnote-1675525 -Ref: Wc Program-Footnote-2675725 -Node: Miscellaneous Programs675817 -Node: Dupword Program677005 -Node: Alarm Program679036 -Node: Translate Program683789 -Ref: Translate Program-Footnote-1688176 -Ref: Translate Program-Footnote-2688424 -Node: Labels Program688558 -Ref: Labels Program-Footnote-1691929 -Node: Word Sorting692013 -Node: History Sorting695897 -Node: Extract Program697736 -Ref: Extract Program-Footnote-1705239 -Node: Simple Sed705367 -Node: Igawk Program708429 -Ref: Igawk Program-Footnote-1723586 -Ref: Igawk Program-Footnote-2723787 -Node: Anagram Program723925 -Node: Signature Program726993 -Node: Advanced Features728093 -Node: Nondecimal Data729979 -Node: Array Sorting731562 -Node: Controlling Array Traversal732259 -Node: Array Sorting Functions740543 -Ref: Array Sorting Functions-Footnote-1744412 -Node: Two-way I/O744606 -Ref: Two-way I/O-Footnote-1750038 -Node: TCP/IP Networking750108 -Node: Profiling752952 -Node: Internationalization760449 -Node: I18N and L10N761874 -Node: Explaining gettext762560 -Ref: Explaining gettext-Footnote-1767628 -Ref: Explaining gettext-Footnote-2767812 -Node: Programmer i18n767977 -Node: Translator i18n772179 -Node: String Extraction772972 -Ref: String Extraction-Footnote-1773933 -Node: Printf Ordering774019 -Ref: Printf Ordering-Footnote-1776803 -Node: I18N Portability776867 -Ref: I18N Portability-Footnote-1779316 -Node: I18N Example779379 -Ref: I18N Example-Footnote-1782017 -Node: Gawk I18N782089 -Node: Debugger782710 -Node: Debugging783681 -Node: Debugging Concepts784114 -Node: Debugging Terms785970 -Node: Awk Debugging788567 -Node: Sample Debugging Session789459 -Node: Debugger Invocation789979 -Node: Finding The Bug791311 -Node: List of Debugger Commands797799 -Node: Breakpoint Control799133 -Node: Debugger Execution Control802797 -Node: Viewing And Changing Data806157 -Node: Execution Stack809513 -Node: Debugger Info810980 -Node: Miscellaneous Debugger Commands814962 -Node: Readline Support820138 -Node: Limitations820969 -Node: Arbitrary Precision Arithmetic823221 -Ref: Arbitrary Precision Arithmetic-Footnote-1824870 -Node: General Arithmetic825018 -Node: Floating Point Issues826738 -Node: String Conversion Precision827619 -Ref: String Conversion Precision-Footnote-1829324 -Node: Unexpected Results829433 -Node: POSIX Floating Point Problems831586 -Ref: POSIX Floating Point Problems-Footnote-1835411 -Node: Integer Programming835449 -Node: Floating-point Programming837188 -Ref: Floating-point Programming-Footnote-1843519 -Ref: Floating-point Programming-Footnote-2843789 -Node: Floating-point Representation844053 -Node: Floating-point Context845218 -Ref: table-ieee-formats846057 -Node: Rounding Mode847441 -Ref: table-rounding-modes847920 -Ref: Rounding Mode-Footnote-1850935 -Node: Gawk and MPFR851114 -Node: Arbitrary Precision Floats852369 -Ref: Arbitrary Precision Floats-Footnote-1854812 -Node: Setting Precision855128 -Ref: table-predefined-precision-strings855814 -Node: Setting Rounding Mode857959 -Ref: table-gawk-rounding-modes858363 -Node: Floating-point Constants859550 -Node: Changing Precision860979 -Ref: Changing Precision-Footnote-1862376 -Node: Exact Arithmetic862550 -Node: Arbitrary Precision Integers865688 -Ref: Arbitrary Precision Integers-Footnote-1868706 -Node: Dynamic Extensions868853 -Node: Extension Intro870311 -Node: Plugin License871576 -Node: Extension Mechanism Outline872261 -Ref: load-extension872678 -Ref: load-new-function874156 -Ref: call-new-function875151 -Node: Extension API Description877166 -Node: Extension API Functions Introduction878379 -Node: General Data Types883245 -Ref: General Data Types-Footnote-1888850 -Node: Requesting Values889149 -Ref: table-value-types-returned889880 -Node: Constructor Functions890834 -Node: Registration Functions893854 -Node: Extension Functions894539 -Node: Exit Callback Functions896764 -Node: Extension Version String898013 -Node: Input Parsers898663 -Node: Output Wrappers908420 -Node: Two-way processors912930 -Node: Printing Messages915138 -Ref: Printing Messages-Footnote-1916215 -Node: Updating `ERRNO'916367 -Node: Accessing Parameters917106 -Node: Symbol Table Access918336 -Node: Symbol table by name918848 -Node: Symbol table by cookie920595 -Ref: Symbol table by cookie-Footnote-1924725 -Node: Cached values924788 -Ref: Cached values-Footnote-1928237 -Node: Array Manipulation928328 -Ref: Array Manipulation-Footnote-1929426 -Node: Array Data Types929465 -Ref: Array Data Types-Footnote-1932168 -Node: Array Functions932260 -Node: Flattening Arrays936026 -Node: Creating Arrays942878 -Node: Extension API Variables947603 -Node: Extension Versioning948239 -Node: Extension API Informational Variables950140 -Node: Extension API Boilerplate951226 -Node: Finding Extensions955030 -Node: Extension Example955590 -Node: Internal File Description956320 -Node: Internal File Ops960411 -Ref: Internal File Ops-Footnote-1971919 -Node: Using Internal File Ops972059 -Ref: Using Internal File Ops-Footnote-1974412 -Node: Extension Samples974678 -Node: Extension Sample File Functions976202 -Node: Extension Sample Fnmatch984687 -Node: Extension Sample Fork986413 -Node: Extension Sample Inplace987631 -Node: Extension Sample Ord989409 -Node: Extension Sample Readdir990245 -Node: Extension Sample Revout991777 -Node: Extension Sample Rev2way992370 -Node: Extension Sample Read write array993060 -Node: Extension Sample Readfile994943 -Node: Extension Sample API Tests995761 -Node: Extension Sample Time996286 -Node: gawkextlib997650 -Node: Language History1000431 -Node: V7/SVR3.11001953 -Node: SVR41004273 -Node: POSIX1005715 -Node: BTL1007101 -Node: POSIX/GNU1007835 -Node: Common Extensions1013436 -Node: Ranges and Locales1014742 -Ref: Ranges and Locales-Footnote-11019360 -Ref: Ranges and Locales-Footnote-21019387 -Ref: Ranges and Locales-Footnote-31019647 -Node: Contributors1019868 -Node: Installation1024943 -Node: Gawk Distribution1025837 -Node: Getting1026321 -Node: Extracting1027147 -Node: Distribution contents1028839 -Node: Unix Installation1034544 -Node: Quick Installation1035161 -Node: Additional Configuration Options1037605 -Node: Configuration Philosophy1039341 -Node: Non-Unix Installation1041695 -Node: PC Installation1042153 -Node: PC Binary Installation1043452 -Node: PC Compiling1045300 -Node: PC Testing1048244 -Node: PC Using1049420 -Node: Cygwin1053605 -Node: MSYS1054605 -Node: VMS Installation1055119 -Node: VMS Compilation1055883 -Ref: VMS Compilation-Footnote-11057498 -Node: VMS Dynamic Extensions1057556 -Node: VMS Installation Details1058929 -Node: VMS Running1061176 -Node: VMS GNV1064010 -Node: VMS Old Gawk1064733 -Node: Bugs1065203 -Node: Other Versions1069121 -Node: Notes1075205 -Node: Compatibility Mode1076005 -Node: Additions1076788 -Node: Accessing The Source1077715 -Node: Adding Code1079155 -Node: New Ports1085200 -Node: Derived Files1089335 -Ref: Derived Files-Footnote-11094656 -Ref: Derived Files-Footnote-21094690 -Ref: Derived Files-Footnote-31095290 -Node: Future Extensions1095388 -Node: Implementation Limitations1095971 -Node: Extension Design1097223 -Node: Old Extension Problems1098377 -Ref: Old Extension Problems-Footnote-11099885 -Node: Extension New Mechanism Goals1099942 -Ref: Extension New Mechanism Goals-Footnote-11103307 -Node: Extension Other Design Decisions1103493 -Node: Extension Future Growth1105599 -Node: Old Extension Mechanism1106435 -Node: Basic Concepts1108175 -Node: Basic High Level1108856 -Ref: figure-general-flow1109127 -Ref: figure-process-flow1109726 -Ref: Basic High Level-Footnote-11112955 -Node: Basic Data Typing1113140 -Node: Glossary1116495 -Node: Copying1141957 -Node: GNU Free Documentation License1179514 -Node: Index1204651 +Node: Foreword40856 +Node: Preface45201 +Ref: Preface-Footnote-148254 +Ref: Preface-Footnote-248350 +Node: History48582 +Node: Names50956 +Ref: Names-Footnote-152433 +Node: This Manual52505 +Ref: This Manual-Footnote-158279 +Node: Conventions58379 +Node: Manual History60535 +Ref: Manual History-Footnote-163983 +Ref: Manual History-Footnote-264024 +Node: How To Contribute64098 +Node: Acknowledgments65242 +Node: Getting Started69451 +Node: Running gawk71830 +Node: One-shot73016 +Node: Read Terminal74241 +Ref: Read Terminal-Footnote-175891 +Ref: Read Terminal-Footnote-276167 +Node: Long76338 +Node: Executable Scripts77714 +Ref: Executable Scripts-Footnote-179547 +Ref: Executable Scripts-Footnote-279649 +Node: Comments80196 +Node: Quoting82663 +Node: DOS Quoting87286 +Node: Sample Data Files87961 +Node: Very Simple91005 +Node: Two Rules95604 +Node: More Complex97751 +Ref: More Complex-Footnote-1100681 +Node: Statements/Lines100766 +Ref: Statements/Lines-Footnote-1105228 +Node: Other Features105493 +Node: When106421 +Node: Invoking Gawk108568 +Node: Command Line110029 +Node: Options110812 +Ref: Options-Footnote-1126204 +Node: Other Arguments126229 +Node: Naming Standard Input128887 +Node: Environment Variables129981 +Node: AWKPATH Variable130539 +Ref: AWKPATH Variable-Footnote-1133297 +Node: AWKLIBPATH Variable133557 +Node: Other Environment Variables134275 +Node: Exit Status137238 +Node: Include Files137913 +Node: Loading Shared Libraries141482 +Node: Obsolete142846 +Node: Undocumented143543 +Node: Regexp143785 +Node: Regexp Usage145174 +Node: Escape Sequences147200 +Node: Regexp Operators152869 +Ref: Regexp Operators-Footnote-1160249 +Ref: Regexp Operators-Footnote-2160396 +Node: Bracket Expressions160494 +Ref: table-char-classes162384 +Node: GNU Regexp Operators164907 +Node: Case-sensitivity168630 +Ref: Case-sensitivity-Footnote-1171598 +Ref: Case-sensitivity-Footnote-2171833 +Node: Leftmost Longest171941 +Node: Computed Regexps173142 +Node: Reading Files176479 +Node: Records178481 +Ref: Records-Footnote-1187370 +Node: Fields187407 +Ref: Fields-Footnote-1190440 +Node: Nonconstant Fields190526 +Node: Changing Fields192728 +Node: Field Separators198687 +Node: Default Field Splitting201389 +Node: Regexp Field Splitting202506 +Node: Single Character Fields205848 +Node: Command Line Field Separator206907 +Node: Full Line Fields210341 +Ref: Full Line Fields-Footnote-1210849 +Node: Field Splitting Summary210895 +Ref: Field Splitting Summary-Footnote-1213994 +Node: Constant Size214095 +Node: Splitting By Content218679 +Ref: Splitting By Content-Footnote-1222405 +Node: Multiple Line222445 +Ref: Multiple Line-Footnote-1228292 +Node: Getline228471 +Node: Plain Getline230687 +Node: Getline/Variable232782 +Node: Getline/File233929 +Node: Getline/Variable/File235270 +Ref: Getline/Variable/File-Footnote-1236869 +Node: Getline/Pipe236956 +Node: Getline/Variable/Pipe239655 +Node: Getline/Coprocess240762 +Node: Getline/Variable/Coprocess242014 +Node: Getline Notes242751 +Node: Getline Summary245538 +Ref: table-getline-variants245946 +Node: Read Timeout246858 +Ref: Read Timeout-Footnote-1250599 +Node: Command line directories250656 +Node: Printing251286 +Node: Print252917 +Node: Print Examples254254 +Node: Output Separators257038 +Node: OFMT258798 +Node: Printf260156 +Node: Basic Printf261062 +Node: Control Letters262601 +Node: Format Modifiers266413 +Node: Printf Examples272422 +Node: Redirection275137 +Node: Special Files282102 +Node: Special FD282635 +Ref: Special FD-Footnote-1286260 +Node: Special Network286334 +Node: Special Caveats287184 +Node: Close Files And Pipes287980 +Ref: Close Files And Pipes-Footnote-1294963 +Ref: Close Files And Pipes-Footnote-2295111 +Node: Expressions295261 +Node: Values296393 +Node: Constants297069 +Node: Scalar Constants297749 +Ref: Scalar Constants-Footnote-1298608 +Node: Nondecimal-numbers298790 +Node: Regexp Constants301790 +Node: Using Constant Regexps302265 +Node: Variables305320 +Node: Using Variables305975 +Node: Assignment Options307699 +Node: Conversion309571 +Ref: table-locale-affects315072 +Ref: Conversion-Footnote-1315696 +Node: All Operators315805 +Node: Arithmetic Ops316435 +Node: Concatenation318940 +Ref: Concatenation-Footnote-1321732 +Node: Assignment Ops321852 +Ref: table-assign-ops326840 +Node: Increment Ops328171 +Node: Truth Values and Conditions331605 +Node: Truth Values332688 +Node: Typing and Comparison333737 +Node: Variable Typing334530 +Ref: Variable Typing-Footnote-1338427 +Node: Comparison Operators338549 +Ref: table-relational-ops338959 +Node: POSIX String Comparison342508 +Ref: POSIX String Comparison-Footnote-1343464 +Node: Boolean Ops343602 +Ref: Boolean Ops-Footnote-1347680 +Node: Conditional Exp347771 +Node: Function Calls349503 +Node: Precedence353097 +Node: Locales356766 +Node: Patterns and Actions357855 +Node: Pattern Overview358909 +Node: Regexp Patterns360578 +Node: Expression Patterns361121 +Node: Ranges364806 +Node: BEGIN/END367772 +Node: Using BEGIN/END368534 +Ref: Using BEGIN/END-Footnote-1371265 +Node: I/O And BEGIN/END371371 +Node: BEGINFILE/ENDFILE373653 +Node: Empty376567 +Node: Using Shell Variables376883 +Node: Action Overview379168 +Node: Statements381525 +Node: If Statement383379 +Node: While Statement384878 +Node: Do Statement386922 +Node: For Statement388078 +Node: Switch Statement391230 +Node: Break Statement393327 +Node: Continue Statement395317 +Node: Next Statement397110 +Node: Nextfile Statement399500 +Node: Exit Statement402143 +Node: Built-in Variables404559 +Node: User-modified405654 +Ref: User-modified-Footnote-1414012 +Node: Auto-set414074 +Ref: Auto-set-Footnote-1427152 +Ref: Auto-set-Footnote-2427357 +Node: ARGC and ARGV427413 +Node: Arrays431264 +Node: Array Basics432769 +Node: Array Intro433595 +Node: Reference to Elements437912 +Node: Assigning Elements440182 +Node: Array Example440673 +Node: Scanning an Array442405 +Node: Controlling Scanning444719 +Ref: Controlling Scanning-Footnote-1449806 +Node: Delete450122 +Ref: Delete-Footnote-1452887 +Node: Numeric Array Subscripts452944 +Node: Uninitialized Subscripts455127 +Node: Multidimensional456754 +Node: Multiscanning459847 +Node: Arrays of Arrays461436 +Node: Functions466076 +Node: Built-in466895 +Node: Calling Built-in467973 +Node: Numeric Functions469961 +Ref: Numeric Functions-Footnote-1473793 +Ref: Numeric Functions-Footnote-2474150 +Ref: Numeric Functions-Footnote-3474198 +Node: String Functions474467 +Ref: String Functions-Footnote-1497387 +Ref: String Functions-Footnote-2497516 +Ref: String Functions-Footnote-3497764 +Node: Gory Details497851 +Ref: table-sub-escapes499530 +Ref: table-sub-posix-92500884 +Ref: table-sub-proposed502235 +Ref: table-posix-sub503589 +Ref: table-gensub-escapes505134 +Ref: Gory Details-Footnote-1506310 +Ref: Gory Details-Footnote-2506361 +Node: I/O Functions506512 +Ref: I/O Functions-Footnote-1513497 +Node: Time Functions513644 +Ref: Time Functions-Footnote-1524577 +Ref: Time Functions-Footnote-2524645 +Ref: Time Functions-Footnote-3524803 +Ref: Time Functions-Footnote-4524914 +Ref: Time Functions-Footnote-5525026 +Ref: Time Functions-Footnote-6525253 +Node: Bitwise Functions525519 +Ref: table-bitwise-ops526081 +Ref: Bitwise Functions-Footnote-1530302 +Node: Type Functions530486 +Node: I18N Functions531637 +Node: User-defined533264 +Node: Definition Syntax534068 +Ref: Definition Syntax-Footnote-1538978 +Node: Function Example539047 +Node: Function Caveats541641 +Node: Calling A Function542062 +Node: Variable Scope543177 +Node: Pass By Value/Reference546140 +Node: Return Statement549648 +Node: Dynamic Typing552629 +Node: Indirect Calls553560 +Node: Library Functions563245 +Ref: Library Functions-Footnote-1566758 +Ref: Library Functions-Footnote-2566901 +Node: Library Names567072 +Ref: Library Names-Footnote-1570543 +Ref: Library Names-Footnote-2570763 +Node: General Functions570849 +Node: Strtonum Function571877 +Node: Assert Function574807 +Node: Round Function578133 +Node: Cliff Random Function579676 +Node: Ordinal Functions580692 +Ref: Ordinal Functions-Footnote-1583762 +Ref: Ordinal Functions-Footnote-2584014 +Node: Join Function584223 +Ref: Join Function-Footnote-1585994 +Node: Getlocaltime Function586194 +Node: Readfile Function589935 +Node: Data File Management591774 +Node: Filetrans Function592406 +Node: Rewind Function596475 +Node: File Checking597862 +Node: Empty Files598956 +Node: Ignoring Assigns601186 +Node: Getopt Function602739 +Ref: Getopt Function-Footnote-1614042 +Node: Passwd Functions614245 +Ref: Passwd Functions-Footnote-1623220 +Node: Group Functions623308 +Node: Walking Arrays631392 +Node: Sample Programs633529 +Node: Running Examples634203 +Node: Clones634931 +Node: Cut Program636155 +Node: Egrep Program646000 +Ref: Egrep Program-Footnote-1653773 +Node: Id Program653883 +Node: Split Program657499 +Ref: Split Program-Footnote-1661018 +Node: Tee Program661146 +Node: Uniq Program663949 +Node: Wc Program671378 +Ref: Wc Program-Footnote-1675644 +Ref: Wc Program-Footnote-2675844 +Node: Miscellaneous Programs675936 +Node: Dupword Program677124 +Node: Alarm Program679155 +Node: Translate Program683908 +Ref: Translate Program-Footnote-1688295 +Ref: Translate Program-Footnote-2688543 +Node: Labels Program688677 +Ref: Labels Program-Footnote-1692048 +Node: Word Sorting692132 +Node: History Sorting696016 +Node: Extract Program697855 +Ref: Extract Program-Footnote-1705358 +Node: Simple Sed705486 +Node: Igawk Program708548 +Ref: Igawk Program-Footnote-1723705 +Ref: Igawk Program-Footnote-2723906 +Node: Anagram Program724044 +Node: Signature Program727112 +Node: Advanced Features728212 +Node: Nondecimal Data730098 +Node: Array Sorting731681 +Node: Controlling Array Traversal732378 +Node: Array Sorting Functions740662 +Ref: Array Sorting Functions-Footnote-1744531 +Node: Two-way I/O744725 +Ref: Two-way I/O-Footnote-1750157 +Node: TCP/IP Networking750227 +Node: Profiling753071 +Node: Internationalization760568 +Node: I18N and L10N761993 +Node: Explaining gettext762679 +Ref: Explaining gettext-Footnote-1767747 +Ref: Explaining gettext-Footnote-2767931 +Node: Programmer i18n768096 +Node: Translator i18n772298 +Node: String Extraction773091 +Ref: String Extraction-Footnote-1774052 +Node: Printf Ordering774138 +Ref: Printf Ordering-Footnote-1776922 +Node: I18N Portability776986 +Ref: I18N Portability-Footnote-1779435 +Node: I18N Example779498 +Ref: I18N Example-Footnote-1782136 +Node: Gawk I18N782208 +Node: Debugger782829 +Node: Debugging783800 +Node: Debugging Concepts784233 +Node: Debugging Terms786089 +Node: Awk Debugging788686 +Node: Sample Debugging Session789578 +Node: Debugger Invocation790098 +Node: Finding The Bug791430 +Node: List of Debugger Commands797918 +Node: Breakpoint Control799252 +Node: Debugger Execution Control802916 +Node: Viewing And Changing Data806276 +Node: Execution Stack809632 +Node: Debugger Info811099 +Node: Miscellaneous Debugger Commands815081 +Node: Readline Support820257 +Node: Limitations821088 +Node: Arbitrary Precision Arithmetic823340 +Ref: Arbitrary Precision Arithmetic-Footnote-1824989 +Node: General Arithmetic825137 +Node: Floating Point Issues826857 +Node: String Conversion Precision827738 +Ref: String Conversion Precision-Footnote-1829443 +Node: Unexpected Results829552 +Node: POSIX Floating Point Problems831705 +Ref: POSIX Floating Point Problems-Footnote-1835530 +Node: Integer Programming835568 +Node: Floating-point Programming837307 +Ref: Floating-point Programming-Footnote-1843638 +Ref: Floating-point Programming-Footnote-2843908 +Node: Floating-point Representation844172 +Node: Floating-point Context845337 +Ref: table-ieee-formats846176 +Node: Rounding Mode847560 +Ref: table-rounding-modes848039 +Ref: Rounding Mode-Footnote-1851054 +Node: Gawk and MPFR851233 +Node: Arbitrary Precision Floats852488 +Ref: Arbitrary Precision Floats-Footnote-1854931 +Node: Setting Precision855247 +Ref: table-predefined-precision-strings855933 +Node: Setting Rounding Mode858078 +Ref: table-gawk-rounding-modes858482 +Node: Floating-point Constants859669 +Node: Changing Precision861098 +Ref: Changing Precision-Footnote-1862495 +Node: Exact Arithmetic862669 +Node: Arbitrary Precision Integers865807 +Ref: Arbitrary Precision Integers-Footnote-1868825 +Node: Dynamic Extensions868972 +Node: Extension Intro870430 +Node: Plugin License871695 +Node: Extension Mechanism Outline872380 +Ref: load-extension872797 +Ref: load-new-function874275 +Ref: call-new-function875270 +Node: Extension API Description877285 +Node: Extension API Functions Introduction878498 +Node: General Data Types883364 +Ref: General Data Types-Footnote-1888969 +Node: Requesting Values889268 +Ref: table-value-types-returned889999 +Node: Constructor Functions890953 +Node: Registration Functions893973 +Node: Extension Functions894658 +Node: Exit Callback Functions896883 +Node: Extension Version String898132 +Node: Input Parsers898782 +Node: Output Wrappers908539 +Node: Two-way processors913049 +Node: Printing Messages915257 +Ref: Printing Messages-Footnote-1916334 +Node: Updating `ERRNO'916486 +Node: Accessing Parameters917225 +Node: Symbol Table Access918455 +Node: Symbol table by name918967 +Node: Symbol table by cookie920714 +Ref: Symbol table by cookie-Footnote-1924844 +Node: Cached values924907 +Ref: Cached values-Footnote-1928356 +Node: Array Manipulation928447 +Ref: Array Manipulation-Footnote-1929545 +Node: Array Data Types929584 +Ref: Array Data Types-Footnote-1932287 +Node: Array Functions932379 +Node: Flattening Arrays936145 +Node: Creating Arrays942997 +Node: Extension API Variables947722 +Node: Extension Versioning948358 +Node: Extension API Informational Variables950259 +Node: Extension API Boilerplate951345 +Node: Finding Extensions955149 +Node: Extension Example955709 +Node: Internal File Description956439 +Node: Internal File Ops960530 +Ref: Internal File Ops-Footnote-1972038 +Node: Using Internal File Ops972178 +Ref: Using Internal File Ops-Footnote-1974531 +Node: Extension Samples974797 +Node: Extension Sample File Functions976321 +Node: Extension Sample Fnmatch984806 +Node: Extension Sample Fork986532 +Node: Extension Sample Inplace987750 +Node: Extension Sample Ord989528 +Node: Extension Sample Readdir990364 +Node: Extension Sample Revout991896 +Node: Extension Sample Rev2way992489 +Node: Extension Sample Read write array993179 +Node: Extension Sample Readfile995062 +Node: Extension Sample API Tests995880 +Node: Extension Sample Time996405 +Node: gawkextlib997769 +Node: Language History1000550 +Node: V7/SVR3.11002143 +Node: SVR41004463 +Node: POSIX1005905 +Node: BTL1007291 +Node: POSIX/GNU1008025 +Node: Feature History1013624 +Node: Common Extensions1026588 +Node: Ranges and Locales1027900 +Ref: Ranges and Locales-Footnote-11032518 +Ref: Ranges and Locales-Footnote-21032545 +Ref: Ranges and Locales-Footnote-31032805 +Node: Contributors1033026 +Node: Installation1038101 +Node: Gawk Distribution1038995 +Node: Getting1039479 +Node: Extracting1040305 +Node: Distribution contents1041997 +Node: Unix Installation1047702 +Node: Quick Installation1048319 +Node: Additional Configuration Options1050763 +Node: Configuration Philosophy1052499 +Node: Non-Unix Installation1054853 +Node: PC Installation1055311 +Node: PC Binary Installation1056610 +Node: PC Compiling1058458 +Node: PC Testing1061402 +Node: PC Using1062578 +Node: Cygwin1066763 +Node: MSYS1067763 +Node: VMS Installation1068277 +Node: VMS Compilation1069041 +Ref: VMS Compilation-Footnote-11070656 +Node: VMS Dynamic Extensions1070714 +Node: VMS Installation Details1072087 +Node: VMS Running1074334 +Node: VMS GNV1077168 +Node: VMS Old Gawk1077891 +Node: Bugs1078361 +Node: Other Versions1082279 +Node: Notes1088363 +Node: Compatibility Mode1089163 +Node: Additions1089946 +Node: Accessing The Source1090873 +Node: Adding Code1092313 +Node: New Ports1098358 +Node: Derived Files1102493 +Ref: Derived Files-Footnote-11107814 +Ref: Derived Files-Footnote-21107848 +Ref: Derived Files-Footnote-31108448 +Node: Future Extensions1108546 +Node: Implementation Limitations1109129 +Node: Extension Design1110381 +Node: Old Extension Problems1111535 +Ref: Old Extension Problems-Footnote-11113043 +Node: Extension New Mechanism Goals1113100 +Ref: Extension New Mechanism Goals-Footnote-11116465 +Node: Extension Other Design Decisions1116651 +Node: Extension Future Growth1118757 +Node: Old Extension Mechanism1119593 +Node: Basic Concepts1121333 +Node: Basic High Level1122014 +Ref: figure-general-flow1122285 +Ref: figure-process-flow1122884 +Ref: Basic High Level-Footnote-11126113 +Node: Basic Data Typing1126298 +Node: Glossary1129653 +Node: Copying1155115 +Node: GNU Free Documentation License1192672 +Node: Index1217809  End Tag Table -- cgit v1.2.3 From d9818e79d5bb15d4ded02ca99606beaf2eda0ae3 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 28 Jan 2014 22:02:06 +0200 Subject: Update doc for Anders Wallin. --- doc/gawk.info | 1032 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 517 insertions(+), 515 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 6f88bf02..defd9fed 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1270,11 +1270,11 @@ acknowledgements: Dr. Nelson Beebe, Andreas Buening, Dr. Manuel Collado, Antonio Colombo, Stephen Davies, Scott Deifik, Akim Demaille, Darrel Hankerson, Michal Jaegermann, Ju"rgen Kahrs, Stepan Kasal, John Malmberg, Dave -Pitts, Chet Ramey, Pat Rankin, Andrew Schorr, Corinna Vinschen, Anders -Wallin, and Eli Zaretskii (in alphabetical order) make up the current -`gawk' "crack portability team." Without their hard work and help, -`gawk' would not be nearly the fine program it is today. It has been -and continues to be a pleasure working with this team of fine people. +Pitts, Chet Ramey, Pat Rankin, Andrew Schorr, Corinna Vinschen, and Eli +Zaretskii (in alphabetical order) make up the current `gawk' "crack +portability team." Without their hard work and help, `gawk' would not +be nearly the fine program it is today. It has been and continues to +be a pleasure working with this team of fine people. Notable code and documentation contributions were made by a number of people. *Note Contributors::, for the full list. @@ -25860,6 +25860,8 @@ Info file, in approximate chronological order: * Patrick T.J. McPhee contributed the code for dynamic loading in Windows32 environments. (This is no longer supported) + * Anders Wallin helped keep the VMS port going for several years. + * John Haque made the following contributions: - The modifications to convert `gawk' into a byte-code @@ -31473,7 +31475,7 @@ Index (line 66) * Hankerson, Darrel <1>: Contributors. (line 60) * Hankerson, Darrel: Acknowledgments. (line 60) -* Haque, John: Contributors. (line 103) +* Haque, John: Contributors. (line 105) * Hartholz, Elaine: Acknowledgments. (line 38) * Hartholz, Marshall: Acknowledgments. (line 38) * Hasegawa, Isamu: Contributors. (line 94) @@ -32238,7 +32240,7 @@ Index * RLENGTH variable, match() function and: String Functions. (line 220) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) -* Robbins, Arnold <3>: Contributors. (line 130) +* Robbins, Arnold <3>: Contributors. (line 132) * Robbins, Arnold <4>: Alarm Program. (line 6) * Robbins, Arnold <5>: Passwd Functions. (line 90) * Robbins, Arnold <6>: Getline/Pipe. (line 39) @@ -32278,7 +32280,7 @@ Index (line 68) * sandbox mode: Options. (line 279) * scalar values: Basic Data Typing. (line 13) -* Schorr, Andrew <1>: Contributors. (line 126) +* Schorr, Andrew <1>: Contributors. (line 128) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -32677,7 +32679,7 @@ Index * walk_array() user-defined function: Walking Arrays. (line 14) * Wall, Larry <1>: Future Extensions. (line 6) * Wall, Larry: Array Intro. (line 6) -* Wallin, Anders: Acknowledgments. (line 60) +* Wallin, Anders: Contributors. (line 103) * warnings, issuing: Options. (line 182) * watch debugger command: Viewing And Changing Data. (line 67) @@ -32709,7 +32711,7 @@ Index * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) * xor() function (gawk): Bitwise Functions. (line 55) -* Yawitz, Efraim: Contributors. (line 124) +* Yawitz, Efraim: Contributors. (line 126) * Zaretskii, Eli <1>: Bugs. (line 70) * Zaretskii, Eli <2>: Contributors. (line 55) * Zaretskii, Eli: Acknowledgments. (line 60) @@ -32759,510 +32761,510 @@ Ref: Manual History-Footnote-163983 Ref: Manual History-Footnote-264024 Node: How To Contribute64098 Node: Acknowledgments65242 -Node: Getting Started69451 -Node: Running gawk71830 -Node: One-shot73016 -Node: Read Terminal74241 -Ref: Read Terminal-Footnote-175891 -Ref: Read Terminal-Footnote-276167 -Node: Long76338 -Node: Executable Scripts77714 -Ref: Executable Scripts-Footnote-179547 -Ref: Executable Scripts-Footnote-279649 -Node: Comments80196 -Node: Quoting82663 -Node: DOS Quoting87286 -Node: Sample Data Files87961 -Node: Very Simple91005 -Node: Two Rules95604 -Node: More Complex97751 -Ref: More Complex-Footnote-1100681 -Node: Statements/Lines100766 -Ref: Statements/Lines-Footnote-1105228 -Node: Other Features105493 -Node: When106421 -Node: Invoking Gawk108568 -Node: Command Line110029 -Node: Options110812 -Ref: Options-Footnote-1126204 -Node: Other Arguments126229 -Node: Naming Standard Input128887 -Node: Environment Variables129981 -Node: AWKPATH Variable130539 -Ref: AWKPATH Variable-Footnote-1133297 -Node: AWKLIBPATH Variable133557 -Node: Other Environment Variables134275 -Node: Exit Status137238 -Node: Include Files137913 -Node: Loading Shared Libraries141482 -Node: Obsolete142846 -Node: Undocumented143543 -Node: Regexp143785 -Node: Regexp Usage145174 -Node: Escape Sequences147200 -Node: Regexp Operators152869 -Ref: Regexp Operators-Footnote-1160249 -Ref: Regexp Operators-Footnote-2160396 -Node: Bracket Expressions160494 -Ref: table-char-classes162384 -Node: GNU Regexp Operators164907 -Node: Case-sensitivity168630 -Ref: Case-sensitivity-Footnote-1171598 -Ref: Case-sensitivity-Footnote-2171833 -Node: Leftmost Longest171941 -Node: Computed Regexps173142 -Node: Reading Files176479 -Node: Records178481 -Ref: Records-Footnote-1187370 -Node: Fields187407 -Ref: Fields-Footnote-1190440 -Node: Nonconstant Fields190526 -Node: Changing Fields192728 -Node: Field Separators198687 -Node: Default Field Splitting201389 -Node: Regexp Field Splitting202506 -Node: Single Character Fields205848 -Node: Command Line Field Separator206907 -Node: Full Line Fields210341 -Ref: Full Line Fields-Footnote-1210849 -Node: Field Splitting Summary210895 -Ref: Field Splitting Summary-Footnote-1213994 -Node: Constant Size214095 -Node: Splitting By Content218679 -Ref: Splitting By Content-Footnote-1222405 -Node: Multiple Line222445 -Ref: Multiple Line-Footnote-1228292 -Node: Getline228471 -Node: Plain Getline230687 -Node: Getline/Variable232782 -Node: Getline/File233929 -Node: Getline/Variable/File235270 -Ref: Getline/Variable/File-Footnote-1236869 -Node: Getline/Pipe236956 -Node: Getline/Variable/Pipe239655 -Node: Getline/Coprocess240762 -Node: Getline/Variable/Coprocess242014 -Node: Getline Notes242751 -Node: Getline Summary245538 -Ref: table-getline-variants245946 -Node: Read Timeout246858 -Ref: Read Timeout-Footnote-1250599 -Node: Command line directories250656 -Node: Printing251286 -Node: Print252917 -Node: Print Examples254254 -Node: Output Separators257038 -Node: OFMT258798 -Node: Printf260156 -Node: Basic Printf261062 -Node: Control Letters262601 -Node: Format Modifiers266413 -Node: Printf Examples272422 -Node: Redirection275137 -Node: Special Files282102 -Node: Special FD282635 -Ref: Special FD-Footnote-1286260 -Node: Special Network286334 -Node: Special Caveats287184 -Node: Close Files And Pipes287980 -Ref: Close Files And Pipes-Footnote-1294963 -Ref: Close Files And Pipes-Footnote-2295111 -Node: Expressions295261 -Node: Values296393 -Node: Constants297069 -Node: Scalar Constants297749 -Ref: Scalar Constants-Footnote-1298608 -Node: Nondecimal-numbers298790 -Node: Regexp Constants301790 -Node: Using Constant Regexps302265 -Node: Variables305320 -Node: Using Variables305975 -Node: Assignment Options307699 -Node: Conversion309571 -Ref: table-locale-affects315072 -Ref: Conversion-Footnote-1315696 -Node: All Operators315805 -Node: Arithmetic Ops316435 -Node: Concatenation318940 -Ref: Concatenation-Footnote-1321732 -Node: Assignment Ops321852 -Ref: table-assign-ops326840 -Node: Increment Ops328171 -Node: Truth Values and Conditions331605 -Node: Truth Values332688 -Node: Typing and Comparison333737 -Node: Variable Typing334530 -Ref: Variable Typing-Footnote-1338427 -Node: Comparison Operators338549 -Ref: table-relational-ops338959 -Node: POSIX String Comparison342508 -Ref: POSIX String Comparison-Footnote-1343464 -Node: Boolean Ops343602 -Ref: Boolean Ops-Footnote-1347680 -Node: Conditional Exp347771 -Node: Function Calls349503 -Node: Precedence353097 -Node: Locales356766 -Node: Patterns and Actions357855 -Node: Pattern Overview358909 -Node: Regexp Patterns360578 -Node: Expression Patterns361121 -Node: Ranges364806 -Node: BEGIN/END367772 -Node: Using BEGIN/END368534 -Ref: Using BEGIN/END-Footnote-1371265 -Node: I/O And BEGIN/END371371 -Node: BEGINFILE/ENDFILE373653 -Node: Empty376567 -Node: Using Shell Variables376883 -Node: Action Overview379168 -Node: Statements381525 -Node: If Statement383379 -Node: While Statement384878 -Node: Do Statement386922 -Node: For Statement388078 -Node: Switch Statement391230 -Node: Break Statement393327 -Node: Continue Statement395317 -Node: Next Statement397110 -Node: Nextfile Statement399500 -Node: Exit Statement402143 -Node: Built-in Variables404559 -Node: User-modified405654 -Ref: User-modified-Footnote-1414012 -Node: Auto-set414074 -Ref: Auto-set-Footnote-1427152 -Ref: Auto-set-Footnote-2427357 -Node: ARGC and ARGV427413 -Node: Arrays431264 -Node: Array Basics432769 -Node: Array Intro433595 -Node: Reference to Elements437912 -Node: Assigning Elements440182 -Node: Array Example440673 -Node: Scanning an Array442405 -Node: Controlling Scanning444719 -Ref: Controlling Scanning-Footnote-1449806 -Node: Delete450122 -Ref: Delete-Footnote-1452887 -Node: Numeric Array Subscripts452944 -Node: Uninitialized Subscripts455127 -Node: Multidimensional456754 -Node: Multiscanning459847 -Node: Arrays of Arrays461436 -Node: Functions466076 -Node: Built-in466895 -Node: Calling Built-in467973 -Node: Numeric Functions469961 -Ref: Numeric Functions-Footnote-1473793 -Ref: Numeric Functions-Footnote-2474150 -Ref: Numeric Functions-Footnote-3474198 -Node: String Functions474467 -Ref: String Functions-Footnote-1497387 -Ref: String Functions-Footnote-2497516 -Ref: String Functions-Footnote-3497764 -Node: Gory Details497851 -Ref: table-sub-escapes499530 -Ref: table-sub-posix-92500884 -Ref: table-sub-proposed502235 -Ref: table-posix-sub503589 -Ref: table-gensub-escapes505134 -Ref: Gory Details-Footnote-1506310 -Ref: Gory Details-Footnote-2506361 -Node: I/O Functions506512 -Ref: I/O Functions-Footnote-1513497 -Node: Time Functions513644 -Ref: Time Functions-Footnote-1524577 -Ref: Time Functions-Footnote-2524645 -Ref: Time Functions-Footnote-3524803 -Ref: Time Functions-Footnote-4524914 -Ref: Time Functions-Footnote-5525026 -Ref: Time Functions-Footnote-6525253 -Node: Bitwise Functions525519 -Ref: table-bitwise-ops526081 -Ref: Bitwise Functions-Footnote-1530302 -Node: Type Functions530486 -Node: I18N Functions531637 -Node: User-defined533264 -Node: Definition Syntax534068 -Ref: Definition Syntax-Footnote-1538978 -Node: Function Example539047 -Node: Function Caveats541641 -Node: Calling A Function542062 -Node: Variable Scope543177 -Node: Pass By Value/Reference546140 -Node: Return Statement549648 -Node: Dynamic Typing552629 -Node: Indirect Calls553560 -Node: Library Functions563245 -Ref: Library Functions-Footnote-1566758 -Ref: Library Functions-Footnote-2566901 -Node: Library Names567072 -Ref: Library Names-Footnote-1570543 -Ref: Library Names-Footnote-2570763 -Node: General Functions570849 -Node: Strtonum Function571877 -Node: Assert Function574807 -Node: Round Function578133 -Node: Cliff Random Function579676 -Node: Ordinal Functions580692 -Ref: Ordinal Functions-Footnote-1583762 -Ref: Ordinal Functions-Footnote-2584014 -Node: Join Function584223 -Ref: Join Function-Footnote-1585994 -Node: Getlocaltime Function586194 -Node: Readfile Function589935 -Node: Data File Management591774 -Node: Filetrans Function592406 -Node: Rewind Function596475 -Node: File Checking597862 -Node: Empty Files598956 -Node: Ignoring Assigns601186 -Node: Getopt Function602739 -Ref: Getopt Function-Footnote-1614042 -Node: Passwd Functions614245 -Ref: Passwd Functions-Footnote-1623220 -Node: Group Functions623308 -Node: Walking Arrays631392 -Node: Sample Programs633529 -Node: Running Examples634203 -Node: Clones634931 -Node: Cut Program636155 -Node: Egrep Program646000 -Ref: Egrep Program-Footnote-1653773 -Node: Id Program653883 -Node: Split Program657499 -Ref: Split Program-Footnote-1661018 -Node: Tee Program661146 -Node: Uniq Program663949 -Node: Wc Program671378 -Ref: Wc Program-Footnote-1675644 -Ref: Wc Program-Footnote-2675844 -Node: Miscellaneous Programs675936 -Node: Dupword Program677124 -Node: Alarm Program679155 -Node: Translate Program683908 -Ref: Translate Program-Footnote-1688295 -Ref: Translate Program-Footnote-2688543 -Node: Labels Program688677 -Ref: Labels Program-Footnote-1692048 -Node: Word Sorting692132 -Node: History Sorting696016 -Node: Extract Program697855 -Ref: Extract Program-Footnote-1705358 -Node: Simple Sed705486 -Node: Igawk Program708548 -Ref: Igawk Program-Footnote-1723705 -Ref: Igawk Program-Footnote-2723906 -Node: Anagram Program724044 -Node: Signature Program727112 -Node: Advanced Features728212 -Node: Nondecimal Data730098 -Node: Array Sorting731681 -Node: Controlling Array Traversal732378 -Node: Array Sorting Functions740662 -Ref: Array Sorting Functions-Footnote-1744531 -Node: Two-way I/O744725 -Ref: Two-way I/O-Footnote-1750157 -Node: TCP/IP Networking750227 -Node: Profiling753071 -Node: Internationalization760568 -Node: I18N and L10N761993 -Node: Explaining gettext762679 -Ref: Explaining gettext-Footnote-1767747 -Ref: Explaining gettext-Footnote-2767931 -Node: Programmer i18n768096 -Node: Translator i18n772298 -Node: String Extraction773091 -Ref: String Extraction-Footnote-1774052 -Node: Printf Ordering774138 -Ref: Printf Ordering-Footnote-1776922 -Node: I18N Portability776986 -Ref: I18N Portability-Footnote-1779435 -Node: I18N Example779498 -Ref: I18N Example-Footnote-1782136 -Node: Gawk I18N782208 -Node: Debugger782829 -Node: Debugging783800 -Node: Debugging Concepts784233 -Node: Debugging Terms786089 -Node: Awk Debugging788686 -Node: Sample Debugging Session789578 -Node: Debugger Invocation790098 -Node: Finding The Bug791430 -Node: List of Debugger Commands797918 -Node: Breakpoint Control799252 -Node: Debugger Execution Control802916 -Node: Viewing And Changing Data806276 -Node: Execution Stack809632 -Node: Debugger Info811099 -Node: Miscellaneous Debugger Commands815081 -Node: Readline Support820257 -Node: Limitations821088 -Node: Arbitrary Precision Arithmetic823340 -Ref: Arbitrary Precision Arithmetic-Footnote-1824989 -Node: General Arithmetic825137 -Node: Floating Point Issues826857 -Node: String Conversion Precision827738 -Ref: String Conversion Precision-Footnote-1829443 -Node: Unexpected Results829552 -Node: POSIX Floating Point Problems831705 -Ref: POSIX Floating Point Problems-Footnote-1835530 -Node: Integer Programming835568 -Node: Floating-point Programming837307 -Ref: Floating-point Programming-Footnote-1843638 -Ref: Floating-point Programming-Footnote-2843908 -Node: Floating-point Representation844172 -Node: Floating-point Context845337 -Ref: table-ieee-formats846176 -Node: Rounding Mode847560 -Ref: table-rounding-modes848039 -Ref: Rounding Mode-Footnote-1851054 -Node: Gawk and MPFR851233 -Node: Arbitrary Precision Floats852488 -Ref: Arbitrary Precision Floats-Footnote-1854931 -Node: Setting Precision855247 -Ref: table-predefined-precision-strings855933 -Node: Setting Rounding Mode858078 -Ref: table-gawk-rounding-modes858482 -Node: Floating-point Constants859669 -Node: Changing Precision861098 -Ref: Changing Precision-Footnote-1862495 -Node: Exact Arithmetic862669 -Node: Arbitrary Precision Integers865807 -Ref: Arbitrary Precision Integers-Footnote-1868825 -Node: Dynamic Extensions868972 -Node: Extension Intro870430 -Node: Plugin License871695 -Node: Extension Mechanism Outline872380 -Ref: load-extension872797 -Ref: load-new-function874275 -Ref: call-new-function875270 -Node: Extension API Description877285 -Node: Extension API Functions Introduction878498 -Node: General Data Types883364 -Ref: General Data Types-Footnote-1888969 -Node: Requesting Values889268 -Ref: table-value-types-returned889999 -Node: Constructor Functions890953 -Node: Registration Functions893973 -Node: Extension Functions894658 -Node: Exit Callback Functions896883 -Node: Extension Version String898132 -Node: Input Parsers898782 -Node: Output Wrappers908539 -Node: Two-way processors913049 -Node: Printing Messages915257 -Ref: Printing Messages-Footnote-1916334 -Node: Updating `ERRNO'916486 -Node: Accessing Parameters917225 -Node: Symbol Table Access918455 -Node: Symbol table by name918967 -Node: Symbol table by cookie920714 -Ref: Symbol table by cookie-Footnote-1924844 -Node: Cached values924907 -Ref: Cached values-Footnote-1928356 -Node: Array Manipulation928447 -Ref: Array Manipulation-Footnote-1929545 -Node: Array Data Types929584 -Ref: Array Data Types-Footnote-1932287 -Node: Array Functions932379 -Node: Flattening Arrays936145 -Node: Creating Arrays942997 -Node: Extension API Variables947722 -Node: Extension Versioning948358 -Node: Extension API Informational Variables950259 -Node: Extension API Boilerplate951345 -Node: Finding Extensions955149 -Node: Extension Example955709 -Node: Internal File Description956439 -Node: Internal File Ops960530 -Ref: Internal File Ops-Footnote-1972038 -Node: Using Internal File Ops972178 -Ref: Using Internal File Ops-Footnote-1974531 -Node: Extension Samples974797 -Node: Extension Sample File Functions976321 -Node: Extension Sample Fnmatch984806 -Node: Extension Sample Fork986532 -Node: Extension Sample Inplace987750 -Node: Extension Sample Ord989528 -Node: Extension Sample Readdir990364 -Node: Extension Sample Revout991896 -Node: Extension Sample Rev2way992489 -Node: Extension Sample Read write array993179 -Node: Extension Sample Readfile995062 -Node: Extension Sample API Tests995880 -Node: Extension Sample Time996405 -Node: gawkextlib997769 -Node: Language History1000550 -Node: V7/SVR3.11002143 -Node: SVR41004463 -Node: POSIX1005905 -Node: BTL1007291 -Node: POSIX/GNU1008025 -Node: Feature History1013624 -Node: Common Extensions1026588 -Node: Ranges and Locales1027900 -Ref: Ranges and Locales-Footnote-11032518 -Ref: Ranges and Locales-Footnote-21032545 -Ref: Ranges and Locales-Footnote-31032805 -Node: Contributors1033026 -Node: Installation1038101 -Node: Gawk Distribution1038995 -Node: Getting1039479 -Node: Extracting1040305 -Node: Distribution contents1041997 -Node: Unix Installation1047702 -Node: Quick Installation1048319 -Node: Additional Configuration Options1050763 -Node: Configuration Philosophy1052499 -Node: Non-Unix Installation1054853 -Node: PC Installation1055311 -Node: PC Binary Installation1056610 -Node: PC Compiling1058458 -Node: PC Testing1061402 -Node: PC Using1062578 -Node: Cygwin1066763 -Node: MSYS1067763 -Node: VMS Installation1068277 -Node: VMS Compilation1069041 -Ref: VMS Compilation-Footnote-11070656 -Node: VMS Dynamic Extensions1070714 -Node: VMS Installation Details1072087 -Node: VMS Running1074334 -Node: VMS GNV1077168 -Node: VMS Old Gawk1077891 -Node: Bugs1078361 -Node: Other Versions1082279 -Node: Notes1088363 -Node: Compatibility Mode1089163 -Node: Additions1089946 -Node: Accessing The Source1090873 -Node: Adding Code1092313 -Node: New Ports1098358 -Node: Derived Files1102493 -Ref: Derived Files-Footnote-11107814 -Ref: Derived Files-Footnote-21107848 -Ref: Derived Files-Footnote-31108448 -Node: Future Extensions1108546 -Node: Implementation Limitations1109129 -Node: Extension Design1110381 -Node: Old Extension Problems1111535 -Ref: Old Extension Problems-Footnote-11113043 -Node: Extension New Mechanism Goals1113100 -Ref: Extension New Mechanism Goals-Footnote-11116465 -Node: Extension Other Design Decisions1116651 -Node: Extension Future Growth1118757 -Node: Old Extension Mechanism1119593 -Node: Basic Concepts1121333 -Node: Basic High Level1122014 -Ref: figure-general-flow1122285 -Ref: figure-process-flow1122884 -Ref: Basic High Level-Footnote-11126113 -Node: Basic Data Typing1126298 -Node: Glossary1129653 -Node: Copying1155115 -Node: GNU Free Documentation License1192672 -Node: Index1217809 +Node: Getting Started69436 +Node: Running gawk71815 +Node: One-shot73001 +Node: Read Terminal74226 +Ref: Read Terminal-Footnote-175876 +Ref: Read Terminal-Footnote-276152 +Node: Long76323 +Node: Executable Scripts77699 +Ref: Executable Scripts-Footnote-179532 +Ref: Executable Scripts-Footnote-279634 +Node: Comments80181 +Node: Quoting82648 +Node: DOS Quoting87271 +Node: Sample Data Files87946 +Node: Very Simple90990 +Node: Two Rules95589 +Node: More Complex97736 +Ref: More Complex-Footnote-1100666 +Node: Statements/Lines100751 +Ref: Statements/Lines-Footnote-1105213 +Node: Other Features105478 +Node: When106406 +Node: Invoking Gawk108553 +Node: Command Line110014 +Node: Options110797 +Ref: Options-Footnote-1126189 +Node: Other Arguments126214 +Node: Naming Standard Input128872 +Node: Environment Variables129966 +Node: AWKPATH Variable130524 +Ref: AWKPATH Variable-Footnote-1133282 +Node: AWKLIBPATH Variable133542 +Node: Other Environment Variables134260 +Node: Exit Status137223 +Node: Include Files137898 +Node: Loading Shared Libraries141467 +Node: Obsolete142831 +Node: Undocumented143528 +Node: Regexp143770 +Node: Regexp Usage145159 +Node: Escape Sequences147185 +Node: Regexp Operators152854 +Ref: Regexp Operators-Footnote-1160234 +Ref: Regexp Operators-Footnote-2160381 +Node: Bracket Expressions160479 +Ref: table-char-classes162369 +Node: GNU Regexp Operators164892 +Node: Case-sensitivity168615 +Ref: Case-sensitivity-Footnote-1171583 +Ref: Case-sensitivity-Footnote-2171818 +Node: Leftmost Longest171926 +Node: Computed Regexps173127 +Node: Reading Files176464 +Node: Records178466 +Ref: Records-Footnote-1187355 +Node: Fields187392 +Ref: Fields-Footnote-1190425 +Node: Nonconstant Fields190511 +Node: Changing Fields192713 +Node: Field Separators198672 +Node: Default Field Splitting201374 +Node: Regexp Field Splitting202491 +Node: Single Character Fields205833 +Node: Command Line Field Separator206892 +Node: Full Line Fields210326 +Ref: Full Line Fields-Footnote-1210834 +Node: Field Splitting Summary210880 +Ref: Field Splitting Summary-Footnote-1213979 +Node: Constant Size214080 +Node: Splitting By Content218664 +Ref: Splitting By Content-Footnote-1222390 +Node: Multiple Line222430 +Ref: Multiple Line-Footnote-1228277 +Node: Getline228456 +Node: Plain Getline230672 +Node: Getline/Variable232767 +Node: Getline/File233914 +Node: Getline/Variable/File235255 +Ref: Getline/Variable/File-Footnote-1236854 +Node: Getline/Pipe236941 +Node: Getline/Variable/Pipe239640 +Node: Getline/Coprocess240747 +Node: Getline/Variable/Coprocess241999 +Node: Getline Notes242736 +Node: Getline Summary245523 +Ref: table-getline-variants245931 +Node: Read Timeout246843 +Ref: Read Timeout-Footnote-1250584 +Node: Command line directories250641 +Node: Printing251271 +Node: Print252902 +Node: Print Examples254239 +Node: Output Separators257023 +Node: OFMT258783 +Node: Printf260141 +Node: Basic Printf261047 +Node: Control Letters262586 +Node: Format Modifiers266398 +Node: Printf Examples272407 +Node: Redirection275122 +Node: Special Files282087 +Node: Special FD282620 +Ref: Special FD-Footnote-1286245 +Node: Special Network286319 +Node: Special Caveats287169 +Node: Close Files And Pipes287965 +Ref: Close Files And Pipes-Footnote-1294948 +Ref: Close Files And Pipes-Footnote-2295096 +Node: Expressions295246 +Node: Values296378 +Node: Constants297054 +Node: Scalar Constants297734 +Ref: Scalar Constants-Footnote-1298593 +Node: Nondecimal-numbers298775 +Node: Regexp Constants301775 +Node: Using Constant Regexps302250 +Node: Variables305305 +Node: Using Variables305960 +Node: Assignment Options307684 +Node: Conversion309556 +Ref: table-locale-affects315057 +Ref: Conversion-Footnote-1315681 +Node: All Operators315790 +Node: Arithmetic Ops316420 +Node: Concatenation318925 +Ref: Concatenation-Footnote-1321717 +Node: Assignment Ops321837 +Ref: table-assign-ops326825 +Node: Increment Ops328156 +Node: Truth Values and Conditions331590 +Node: Truth Values332673 +Node: Typing and Comparison333722 +Node: Variable Typing334515 +Ref: Variable Typing-Footnote-1338412 +Node: Comparison Operators338534 +Ref: table-relational-ops338944 +Node: POSIX String Comparison342493 +Ref: POSIX String Comparison-Footnote-1343449 +Node: Boolean Ops343587 +Ref: Boolean Ops-Footnote-1347665 +Node: Conditional Exp347756 +Node: Function Calls349488 +Node: Precedence353082 +Node: Locales356751 +Node: Patterns and Actions357840 +Node: Pattern Overview358894 +Node: Regexp Patterns360563 +Node: Expression Patterns361106 +Node: Ranges364791 +Node: BEGIN/END367757 +Node: Using BEGIN/END368519 +Ref: Using BEGIN/END-Footnote-1371250 +Node: I/O And BEGIN/END371356 +Node: BEGINFILE/ENDFILE373638 +Node: Empty376552 +Node: Using Shell Variables376868 +Node: Action Overview379153 +Node: Statements381510 +Node: If Statement383364 +Node: While Statement384863 +Node: Do Statement386907 +Node: For Statement388063 +Node: Switch Statement391215 +Node: Break Statement393312 +Node: Continue Statement395302 +Node: Next Statement397095 +Node: Nextfile Statement399485 +Node: Exit Statement402128 +Node: Built-in Variables404544 +Node: User-modified405639 +Ref: User-modified-Footnote-1413997 +Node: Auto-set414059 +Ref: Auto-set-Footnote-1427137 +Ref: Auto-set-Footnote-2427342 +Node: ARGC and ARGV427398 +Node: Arrays431249 +Node: Array Basics432754 +Node: Array Intro433580 +Node: Reference to Elements437897 +Node: Assigning Elements440167 +Node: Array Example440658 +Node: Scanning an Array442390 +Node: Controlling Scanning444704 +Ref: Controlling Scanning-Footnote-1449791 +Node: Delete450107 +Ref: Delete-Footnote-1452872 +Node: Numeric Array Subscripts452929 +Node: Uninitialized Subscripts455112 +Node: Multidimensional456739 +Node: Multiscanning459832 +Node: Arrays of Arrays461421 +Node: Functions466061 +Node: Built-in466880 +Node: Calling Built-in467958 +Node: Numeric Functions469946 +Ref: Numeric Functions-Footnote-1473778 +Ref: Numeric Functions-Footnote-2474135 +Ref: Numeric Functions-Footnote-3474183 +Node: String Functions474452 +Ref: String Functions-Footnote-1497372 +Ref: String Functions-Footnote-2497501 +Ref: String Functions-Footnote-3497749 +Node: Gory Details497836 +Ref: table-sub-escapes499515 +Ref: table-sub-posix-92500869 +Ref: table-sub-proposed502220 +Ref: table-posix-sub503574 +Ref: table-gensub-escapes505119 +Ref: Gory Details-Footnote-1506295 +Ref: Gory Details-Footnote-2506346 +Node: I/O Functions506497 +Ref: I/O Functions-Footnote-1513482 +Node: Time Functions513629 +Ref: Time Functions-Footnote-1524562 +Ref: Time Functions-Footnote-2524630 +Ref: Time Functions-Footnote-3524788 +Ref: Time Functions-Footnote-4524899 +Ref: Time Functions-Footnote-5525011 +Ref: Time Functions-Footnote-6525238 +Node: Bitwise Functions525504 +Ref: table-bitwise-ops526066 +Ref: Bitwise Functions-Footnote-1530287 +Node: Type Functions530471 +Node: I18N Functions531622 +Node: User-defined533249 +Node: Definition Syntax534053 +Ref: Definition Syntax-Footnote-1538963 +Node: Function Example539032 +Node: Function Caveats541626 +Node: Calling A Function542047 +Node: Variable Scope543162 +Node: Pass By Value/Reference546125 +Node: Return Statement549633 +Node: Dynamic Typing552614 +Node: Indirect Calls553545 +Node: Library Functions563230 +Ref: Library Functions-Footnote-1566743 +Ref: Library Functions-Footnote-2566886 +Node: Library Names567057 +Ref: Library Names-Footnote-1570528 +Ref: Library Names-Footnote-2570748 +Node: General Functions570834 +Node: Strtonum Function571862 +Node: Assert Function574792 +Node: Round Function578118 +Node: Cliff Random Function579661 +Node: Ordinal Functions580677 +Ref: Ordinal Functions-Footnote-1583747 +Ref: Ordinal Functions-Footnote-2583999 +Node: Join Function584208 +Ref: Join Function-Footnote-1585979 +Node: Getlocaltime Function586179 +Node: Readfile Function589920 +Node: Data File Management591759 +Node: Filetrans Function592391 +Node: Rewind Function596460 +Node: File Checking597847 +Node: Empty Files598941 +Node: Ignoring Assigns601171 +Node: Getopt Function602724 +Ref: Getopt Function-Footnote-1614027 +Node: Passwd Functions614230 +Ref: Passwd Functions-Footnote-1623205 +Node: Group Functions623293 +Node: Walking Arrays631377 +Node: Sample Programs633514 +Node: Running Examples634188 +Node: Clones634916 +Node: Cut Program636140 +Node: Egrep Program645985 +Ref: Egrep Program-Footnote-1653758 +Node: Id Program653868 +Node: Split Program657484 +Ref: Split Program-Footnote-1661003 +Node: Tee Program661131 +Node: Uniq Program663934 +Node: Wc Program671363 +Ref: Wc Program-Footnote-1675629 +Ref: Wc Program-Footnote-2675829 +Node: Miscellaneous Programs675921 +Node: Dupword Program677109 +Node: Alarm Program679140 +Node: Translate Program683893 +Ref: Translate Program-Footnote-1688280 +Ref: Translate Program-Footnote-2688528 +Node: Labels Program688662 +Ref: Labels Program-Footnote-1692033 +Node: Word Sorting692117 +Node: History Sorting696001 +Node: Extract Program697840 +Ref: Extract Program-Footnote-1705343 +Node: Simple Sed705471 +Node: Igawk Program708533 +Ref: Igawk Program-Footnote-1723690 +Ref: Igawk Program-Footnote-2723891 +Node: Anagram Program724029 +Node: Signature Program727097 +Node: Advanced Features728197 +Node: Nondecimal Data730083 +Node: Array Sorting731666 +Node: Controlling Array Traversal732363 +Node: Array Sorting Functions740647 +Ref: Array Sorting Functions-Footnote-1744516 +Node: Two-way I/O744710 +Ref: Two-way I/O-Footnote-1750142 +Node: TCP/IP Networking750212 +Node: Profiling753056 +Node: Internationalization760553 +Node: I18N and L10N761978 +Node: Explaining gettext762664 +Ref: Explaining gettext-Footnote-1767732 +Ref: Explaining gettext-Footnote-2767916 +Node: Programmer i18n768081 +Node: Translator i18n772283 +Node: String Extraction773076 +Ref: String Extraction-Footnote-1774037 +Node: Printf Ordering774123 +Ref: Printf Ordering-Footnote-1776907 +Node: I18N Portability776971 +Ref: I18N Portability-Footnote-1779420 +Node: I18N Example779483 +Ref: I18N Example-Footnote-1782121 +Node: Gawk I18N782193 +Node: Debugger782814 +Node: Debugging783785 +Node: Debugging Concepts784218 +Node: Debugging Terms786074 +Node: Awk Debugging788671 +Node: Sample Debugging Session789563 +Node: Debugger Invocation790083 +Node: Finding The Bug791415 +Node: List of Debugger Commands797903 +Node: Breakpoint Control799237 +Node: Debugger Execution Control802901 +Node: Viewing And Changing Data806261 +Node: Execution Stack809617 +Node: Debugger Info811084 +Node: Miscellaneous Debugger Commands815066 +Node: Readline Support820242 +Node: Limitations821073 +Node: Arbitrary Precision Arithmetic823325 +Ref: Arbitrary Precision Arithmetic-Footnote-1824974 +Node: General Arithmetic825122 +Node: Floating Point Issues826842 +Node: String Conversion Precision827723 +Ref: String Conversion Precision-Footnote-1829428 +Node: Unexpected Results829537 +Node: POSIX Floating Point Problems831690 +Ref: POSIX Floating Point Problems-Footnote-1835515 +Node: Integer Programming835553 +Node: Floating-point Programming837292 +Ref: Floating-point Programming-Footnote-1843623 +Ref: Floating-point Programming-Footnote-2843893 +Node: Floating-point Representation844157 +Node: Floating-point Context845322 +Ref: table-ieee-formats846161 +Node: Rounding Mode847545 +Ref: table-rounding-modes848024 +Ref: Rounding Mode-Footnote-1851039 +Node: Gawk and MPFR851218 +Node: Arbitrary Precision Floats852473 +Ref: Arbitrary Precision Floats-Footnote-1854916 +Node: Setting Precision855232 +Ref: table-predefined-precision-strings855918 +Node: Setting Rounding Mode858063 +Ref: table-gawk-rounding-modes858467 +Node: Floating-point Constants859654 +Node: Changing Precision861083 +Ref: Changing Precision-Footnote-1862480 +Node: Exact Arithmetic862654 +Node: Arbitrary Precision Integers865792 +Ref: Arbitrary Precision Integers-Footnote-1868810 +Node: Dynamic Extensions868957 +Node: Extension Intro870415 +Node: Plugin License871680 +Node: Extension Mechanism Outline872365 +Ref: load-extension872782 +Ref: load-new-function874260 +Ref: call-new-function875255 +Node: Extension API Description877270 +Node: Extension API Functions Introduction878483 +Node: General Data Types883349 +Ref: General Data Types-Footnote-1888954 +Node: Requesting Values889253 +Ref: table-value-types-returned889984 +Node: Constructor Functions890938 +Node: Registration Functions893958 +Node: Extension Functions894643 +Node: Exit Callback Functions896868 +Node: Extension Version String898117 +Node: Input Parsers898767 +Node: Output Wrappers908524 +Node: Two-way processors913034 +Node: Printing Messages915242 +Ref: Printing Messages-Footnote-1916319 +Node: Updating `ERRNO'916471 +Node: Accessing Parameters917210 +Node: Symbol Table Access918440 +Node: Symbol table by name918952 +Node: Symbol table by cookie920699 +Ref: Symbol table by cookie-Footnote-1924829 +Node: Cached values924892 +Ref: Cached values-Footnote-1928341 +Node: Array Manipulation928432 +Ref: Array Manipulation-Footnote-1929530 +Node: Array Data Types929569 +Ref: Array Data Types-Footnote-1932272 +Node: Array Functions932364 +Node: Flattening Arrays936130 +Node: Creating Arrays942982 +Node: Extension API Variables947707 +Node: Extension Versioning948343 +Node: Extension API Informational Variables950244 +Node: Extension API Boilerplate951330 +Node: Finding Extensions955134 +Node: Extension Example955694 +Node: Internal File Description956424 +Node: Internal File Ops960515 +Ref: Internal File Ops-Footnote-1972023 +Node: Using Internal File Ops972163 +Ref: Using Internal File Ops-Footnote-1974516 +Node: Extension Samples974782 +Node: Extension Sample File Functions976306 +Node: Extension Sample Fnmatch984791 +Node: Extension Sample Fork986517 +Node: Extension Sample Inplace987735 +Node: Extension Sample Ord989513 +Node: Extension Sample Readdir990349 +Node: Extension Sample Revout991881 +Node: Extension Sample Rev2way992474 +Node: Extension Sample Read write array993164 +Node: Extension Sample Readfile995047 +Node: Extension Sample API Tests995865 +Node: Extension Sample Time996390 +Node: gawkextlib997754 +Node: Language History1000535 +Node: V7/SVR3.11002128 +Node: SVR41004448 +Node: POSIX1005890 +Node: BTL1007276 +Node: POSIX/GNU1008010 +Node: Feature History1013609 +Node: Common Extensions1026573 +Node: Ranges and Locales1027885 +Ref: Ranges and Locales-Footnote-11032503 +Ref: Ranges and Locales-Footnote-21032530 +Ref: Ranges and Locales-Footnote-31032790 +Node: Contributors1033011 +Node: Installation1038156 +Node: Gawk Distribution1039050 +Node: Getting1039534 +Node: Extracting1040360 +Node: Distribution contents1042052 +Node: Unix Installation1047757 +Node: Quick Installation1048374 +Node: Additional Configuration Options1050818 +Node: Configuration Philosophy1052554 +Node: Non-Unix Installation1054908 +Node: PC Installation1055366 +Node: PC Binary Installation1056665 +Node: PC Compiling1058513 +Node: PC Testing1061457 +Node: PC Using1062633 +Node: Cygwin1066818 +Node: MSYS1067818 +Node: VMS Installation1068332 +Node: VMS Compilation1069096 +Ref: VMS Compilation-Footnote-11070711 +Node: VMS Dynamic Extensions1070769 +Node: VMS Installation Details1072142 +Node: VMS Running1074389 +Node: VMS GNV1077223 +Node: VMS Old Gawk1077946 +Node: Bugs1078416 +Node: Other Versions1082334 +Node: Notes1088418 +Node: Compatibility Mode1089218 +Node: Additions1090001 +Node: Accessing The Source1090928 +Node: Adding Code1092368 +Node: New Ports1098413 +Node: Derived Files1102548 +Ref: Derived Files-Footnote-11107869 +Ref: Derived Files-Footnote-21107903 +Ref: Derived Files-Footnote-31108503 +Node: Future Extensions1108601 +Node: Implementation Limitations1109184 +Node: Extension Design1110436 +Node: Old Extension Problems1111590 +Ref: Old Extension Problems-Footnote-11113098 +Node: Extension New Mechanism Goals1113155 +Ref: Extension New Mechanism Goals-Footnote-11116520 +Node: Extension Other Design Decisions1116706 +Node: Extension Future Growth1118812 +Node: Old Extension Mechanism1119648 +Node: Basic Concepts1121388 +Node: Basic High Level1122069 +Ref: figure-general-flow1122340 +Ref: figure-process-flow1122939 +Ref: Basic High Level-Footnote-11126168 +Node: Basic Data Typing1126353 +Node: Glossary1129708 +Node: Copying1155170 +Node: GNU Free Documentation License1192727 +Node: Index1217864  End Tag Table -- cgit v1.2.3 From 6e531b16714cc40800f812aee3780582957b9776 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 31 Jan 2014 11:28:29 +0200 Subject: Minor doc fixes. --- doc/gawk.info | 548 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 274 insertions(+), 274 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 440e9999..4046c106 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -13995,7 +13995,7 @@ corresponding character. Both functions are written very nicely in } } - Some explanation of the numbers used by `chr' is worthwhile. The + Some explanation of the numbers used by `chr()' is worthwhile. The most prominent character set in use today is ASCII.(1) Although an 8-bit byte can hold 256 distinct values (from 0 to 255), ASCII only defines characters that use the values from 0 to 127.(2) In the now @@ -30572,10 +30572,10 @@ Index * characters, transliterating: Translate Program. (line 6) * characters, values of as numbers: Ordinal Functions. (line 6) * Chassell, Robert J.: Acknowledgments. (line 33) -* chdir extension function: Extension Sample File Functions. +* chdir() extension function: Extension Sample File Functions. (line 12) * chem utility: Glossary. (line 151) -* chr extension function: Extension Sample Ord. +* chr() extension function: Extension Sample Ord. (line 15) * chr() user-defined function: Ordinal Functions. (line 16) * clear debugger command: Breakpoint Control. (line 36) @@ -31212,14 +31212,14 @@ Index * floating-point, numbers <1>: Unexpected Results. (line 6) * floating-point, numbers: General Arithmetic. (line 6) * floating-point, VAX/VMS: VMS Running. (line 51) -* fnmatch extension function: Extension Sample Fnmatch. +* fnmatch() extension function: Extension Sample Fnmatch. (line 6) * FNR variable <1>: Auto-set. (line 112) * FNR variable: Records. (line 6) * FNR variable, changing: Auto-set. (line 323) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) -* fork extension function: Extension Sample Fork. +* fork() extension function: Extension Sample Fork. (line 11) * format specifiers, mixing regular with positional specifiers: Printf Ordering. (line 57) @@ -31261,7 +31261,7 @@ Index * FSF (Free Software Foundation) <1>: Glossary. (line 305) * FSF (Free Software Foundation) <2>: Getting. (line 10) * FSF (Free Software Foundation): Manual History. (line 6) -* fts extension function: Extension Sample File Functions. +* fts() extension function: Extension Sample File Functions. (line 77) * FUNCTAB array: Auto-set. (line 128) * function calls: Function Calls. (line 6) @@ -31449,7 +31449,7 @@ Index * gettext library: Explaining gettext. (line 6) * gettext library, locale categories: Explaining gettext. (line 80) * gettext() function (C library): Explaining gettext. (line 62) -* gettimeofday extension function: Extension Sample Time. +* gettimeofday() extension function: Extension Sample Time. (line 13) * GMP: Arbitrary Precision Arithmetic. (line 6) @@ -31903,7 +31903,7 @@ Index * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) * or() function (gawk): Bitwise Functions. (line 49) -* ord extension function: Extension Sample Ord. +* ord() extension function: Extension Sample Ord. (line 12) * ord() user-defined function: Ordinal Functions. (line 16) * order of evaluation, concatenation: Concatenation. (line 41) @@ -32151,13 +32151,13 @@ Index * Rankin, Pat <2>: Contributors. (line 37) * Rankin, Pat <3>: Assignment Ops. (line 100) * Rankin, Pat: Acknowledgments. (line 60) -* reada extension function: Extension Sample Read write array. +* reada() extension function: Extension Sample Read write array. (line 15) * readable data files, checking: File Checking. (line 6) * readable.awk program: File Checking. (line 11) * readdir extension: Extension Sample Readdir. (line 9) -* readfile extension function: Extension Sample Readfile. +* readfile() extension function: Extension Sample Readfile. (line 11) * readfile() user-defined function: Readfile Function. (line 30) * recipe for a programming language: History. (line 6) @@ -32401,9 +32401,9 @@ Index * single-character fields: Single Character Fields. (line 6) * Skywalker, Luke: Undocumented. (line 6) -* sleep extension function: Extension Sample Time. - (line 23) * sleep utility: Alarm Program. (line 109) +* sleep() extension function: Extension Sample Time. + (line 23) * Solaris, POSIX-compliant awk: Other Versions. (line 96) * sort function, arrays, sorting: Array Sorting Functions. (line 6) @@ -32447,7 +32447,7 @@ Index * standard input <1>: Special FD. (line 6) * standard input: Read Terminal. (line 6) * standard output: Special FD. (line 6) -* stat extension function: Extension Sample File Functions. +* stat() extension function: Extension Sample File Functions. (line 18) * statements, compound, control statements and: Statements. (line 10) * statements, control, in actions: Statements. (line 6) @@ -32681,9 +32681,9 @@ Index * w debugger command (alias for watch): Viewing And Changing Data. (line 67) * w utility: Constant Size. (line 22) -* wait extension function: Extension Sample Fork. +* wait() extension function: Extension Sample Fork. (line 22) -* waitpid extension function: Extension Sample Fork. +* waitpid() extension function: Extension Sample Fork. (line 18) * walk_array() user-defined function: Walking Arrays. (line 14) * Wall, Larry <1>: Future Extensions. (line 6) @@ -32715,7 +32715,7 @@ Index * words, counting: Wc Program. (line 6) * words, duplicate, searching for: Dupword Program. (line 6) * words, usage counts, generating: Word Sorting. (line 6) -* writea extension function: Extension Sample Read write array. +* writea() extension function: Extension Sample Read write array. (line 9) * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) @@ -33017,263 +33017,263 @@ Node: Assert Function575184 Node: Round Function578510 Node: Cliff Random Function580053 Node: Ordinal Functions581069 -Ref: Ordinal Functions-Footnote-1584139 -Ref: Ordinal Functions-Footnote-2584391 -Node: Join Function584600 -Ref: Join Function-Footnote-1586371 -Node: Getlocaltime Function586571 -Node: Readfile Function590312 -Node: Data File Management592151 -Node: Filetrans Function592783 -Node: Rewind Function596852 -Node: File Checking598239 -Node: Empty Files599333 -Node: Ignoring Assigns601563 -Node: Getopt Function603116 -Ref: Getopt Function-Footnote-1614419 -Node: Passwd Functions614622 -Ref: Passwd Functions-Footnote-1623597 -Node: Group Functions623685 -Node: Walking Arrays631769 -Node: Sample Programs633906 -Node: Running Examples634580 -Node: Clones635308 -Node: Cut Program636532 -Node: Egrep Program646377 -Ref: Egrep Program-Footnote-1654150 -Node: Id Program654260 -Node: Split Program657876 -Ref: Split Program-Footnote-1661395 -Node: Tee Program661523 -Node: Uniq Program664326 -Node: Wc Program671755 -Ref: Wc Program-Footnote-1676021 -Ref: Wc Program-Footnote-2676221 -Node: Miscellaneous Programs676313 -Node: Dupword Program677501 -Node: Alarm Program679532 -Node: Translate Program684285 -Ref: Translate Program-Footnote-1688672 -Ref: Translate Program-Footnote-2688920 -Node: Labels Program689054 -Ref: Labels Program-Footnote-1692425 -Node: Word Sorting692509 -Node: History Sorting696393 -Node: Extract Program698232 -Ref: Extract Program-Footnote-1705735 -Node: Simple Sed705863 -Node: Igawk Program708925 -Ref: Igawk Program-Footnote-1724082 -Ref: Igawk Program-Footnote-2724283 -Node: Anagram Program724421 -Node: Signature Program727489 -Node: Advanced Features728589 -Node: Nondecimal Data730475 -Node: Array Sorting732058 -Node: Controlling Array Traversal732755 -Node: Array Sorting Functions741039 -Ref: Array Sorting Functions-Footnote-1744908 -Node: Two-way I/O745102 -Ref: Two-way I/O-Footnote-1750534 -Node: TCP/IP Networking750604 -Node: Profiling753448 -Node: Internationalization760945 -Node: I18N and L10N762370 -Node: Explaining gettext763056 -Ref: Explaining gettext-Footnote-1768124 -Ref: Explaining gettext-Footnote-2768308 -Node: Programmer i18n768473 -Node: Translator i18n772675 -Node: String Extraction773468 -Ref: String Extraction-Footnote-1774429 -Node: Printf Ordering774515 -Ref: Printf Ordering-Footnote-1777299 -Node: I18N Portability777363 -Ref: I18N Portability-Footnote-1779812 -Node: I18N Example779875 -Ref: I18N Example-Footnote-1782513 -Node: Gawk I18N782585 -Node: Debugger783206 -Node: Debugging784177 -Node: Debugging Concepts784610 -Node: Debugging Terms786466 -Node: Awk Debugging789063 -Node: Sample Debugging Session789955 -Node: Debugger Invocation790475 -Node: Finding The Bug791807 -Node: List of Debugger Commands798295 -Node: Breakpoint Control799629 -Node: Debugger Execution Control803293 -Node: Viewing And Changing Data806653 -Node: Execution Stack810009 -Node: Debugger Info811476 -Node: Miscellaneous Debugger Commands815458 -Node: Readline Support820634 -Node: Limitations821465 -Node: Arbitrary Precision Arithmetic823717 -Ref: Arbitrary Precision Arithmetic-Footnote-1825366 -Node: General Arithmetic825514 -Node: Floating Point Issues827234 -Node: String Conversion Precision828115 -Ref: String Conversion Precision-Footnote-1829820 -Node: Unexpected Results829929 -Node: POSIX Floating Point Problems832082 -Ref: POSIX Floating Point Problems-Footnote-1835907 -Node: Integer Programming835945 -Node: Floating-point Programming837684 -Ref: Floating-point Programming-Footnote-1844015 -Ref: Floating-point Programming-Footnote-2844285 -Node: Floating-point Representation844549 -Node: Floating-point Context845714 -Ref: table-ieee-formats846553 -Node: Rounding Mode847937 -Ref: table-rounding-modes848416 -Ref: Rounding Mode-Footnote-1851431 -Node: Gawk and MPFR851610 -Node: Arbitrary Precision Floats852865 -Ref: Arbitrary Precision Floats-Footnote-1855308 -Node: Setting Precision855624 -Ref: table-predefined-precision-strings856310 -Node: Setting Rounding Mode858455 -Ref: table-gawk-rounding-modes858859 -Node: Floating-point Constants860046 -Node: Changing Precision861475 -Ref: Changing Precision-Footnote-1862872 -Node: Exact Arithmetic863046 -Node: Arbitrary Precision Integers866184 -Ref: Arbitrary Precision Integers-Footnote-1869202 -Node: Dynamic Extensions869349 -Node: Extension Intro870807 -Node: Plugin License872072 -Node: Extension Mechanism Outline872757 -Ref: load-extension873174 -Ref: load-new-function874652 -Ref: call-new-function875647 -Node: Extension API Description877662 -Node: Extension API Functions Introduction878875 -Node: General Data Types883741 -Ref: General Data Types-Footnote-1889346 -Node: Requesting Values889645 -Ref: table-value-types-returned890376 -Node: Constructor Functions891330 -Node: Registration Functions894350 -Node: Extension Functions895035 -Node: Exit Callback Functions897260 -Node: Extension Version String898509 -Node: Input Parsers899159 -Node: Output Wrappers908916 -Node: Two-way processors913426 -Node: Printing Messages915634 -Ref: Printing Messages-Footnote-1916711 -Node: Updating `ERRNO'916863 -Node: Accessing Parameters917602 -Node: Symbol Table Access918832 -Node: Symbol table by name919344 -Node: Symbol table by cookie921091 -Ref: Symbol table by cookie-Footnote-1925221 -Node: Cached values925284 -Ref: Cached values-Footnote-1928733 -Node: Array Manipulation928824 -Ref: Array Manipulation-Footnote-1929922 -Node: Array Data Types929961 -Ref: Array Data Types-Footnote-1932664 -Node: Array Functions932756 -Node: Flattening Arrays936522 -Node: Creating Arrays943374 -Node: Extension API Variables948099 -Node: Extension Versioning948735 -Node: Extension API Informational Variables950636 -Node: Extension API Boilerplate951722 -Node: Finding Extensions955526 -Node: Extension Example956086 -Node: Internal File Description956816 -Node: Internal File Ops960907 -Ref: Internal File Ops-Footnote-1972415 -Node: Using Internal File Ops972555 -Ref: Using Internal File Ops-Footnote-1974908 -Node: Extension Samples975174 -Node: Extension Sample File Functions976698 -Node: Extension Sample Fnmatch985183 -Node: Extension Sample Fork986909 -Node: Extension Sample Inplace988127 -Node: Extension Sample Ord989905 -Node: Extension Sample Readdir990741 -Node: Extension Sample Revout992273 -Node: Extension Sample Rev2way992866 -Node: Extension Sample Read write array993556 -Node: Extension Sample Readfile995439 -Node: Extension Sample API Tests996257 -Node: Extension Sample Time996782 -Node: gawkextlib998146 -Node: Language History1000927 -Node: V7/SVR3.11002520 -Node: SVR41004840 -Node: POSIX1006282 -Node: BTL1007668 -Node: POSIX/GNU1008402 -Node: Feature History1014001 -Node: Common Extensions1026965 -Node: Ranges and Locales1028277 -Ref: Ranges and Locales-Footnote-11032895 -Ref: Ranges and Locales-Footnote-21032922 -Ref: Ranges and Locales-Footnote-31033182 -Node: Contributors1033403 -Node: Installation1038548 -Node: Gawk Distribution1039442 -Node: Getting1039926 -Node: Extracting1040752 -Node: Distribution contents1042444 -Node: Unix Installation1048149 -Node: Quick Installation1048766 -Node: Additional Configuration Options1051210 -Node: Configuration Philosophy1052946 -Node: Non-Unix Installation1055300 -Node: PC Installation1055758 -Node: PC Binary Installation1057057 -Node: PC Compiling1058905 -Node: PC Testing1061849 -Node: PC Using1063025 -Node: Cygwin1067210 -Node: MSYS1068210 -Node: VMS Installation1068724 -Node: VMS Compilation1069488 -Ref: VMS Compilation-Footnote-11071103 -Node: VMS Dynamic Extensions1071161 -Node: VMS Installation Details1072534 -Node: VMS Running1074781 -Node: VMS GNV1077615 -Node: VMS Old Gawk1078338 -Node: Bugs1078808 -Node: Other Versions1082726 -Node: Notes1088810 -Node: Compatibility Mode1089610 -Node: Additions1090393 -Node: Accessing The Source1091320 -Node: Adding Code1092760 -Node: New Ports1098805 -Node: Derived Files1102940 -Ref: Derived Files-Footnote-11108261 -Ref: Derived Files-Footnote-21108295 -Ref: Derived Files-Footnote-31108895 -Node: Future Extensions1108993 -Node: Implementation Limitations1109576 -Node: Extension Design1110828 -Node: Old Extension Problems1111982 -Ref: Old Extension Problems-Footnote-11113490 -Node: Extension New Mechanism Goals1113547 -Ref: Extension New Mechanism Goals-Footnote-11116912 -Node: Extension Other Design Decisions1117098 -Node: Extension Future Growth1119204 -Node: Old Extension Mechanism1120040 -Node: Basic Concepts1121780 -Node: Basic High Level1122461 -Ref: figure-general-flow1122732 -Ref: figure-process-flow1123331 -Ref: Basic High Level-Footnote-11126560 -Node: Basic Data Typing1126745 -Node: Glossary1130100 -Node: Copying1155562 -Node: GNU Free Documentation License1193119 -Node: Index1218256 +Ref: Ordinal Functions-Footnote-1584141 +Ref: Ordinal Functions-Footnote-2584393 +Node: Join Function584602 +Ref: Join Function-Footnote-1586373 +Node: Getlocaltime Function586573 +Node: Readfile Function590314 +Node: Data File Management592153 +Node: Filetrans Function592785 +Node: Rewind Function596854 +Node: File Checking598241 +Node: Empty Files599335 +Node: Ignoring Assigns601565 +Node: Getopt Function603118 +Ref: Getopt Function-Footnote-1614421 +Node: Passwd Functions614624 +Ref: Passwd Functions-Footnote-1623599 +Node: Group Functions623687 +Node: Walking Arrays631771 +Node: Sample Programs633908 +Node: Running Examples634582 +Node: Clones635310 +Node: Cut Program636534 +Node: Egrep Program646379 +Ref: Egrep Program-Footnote-1654152 +Node: Id Program654262 +Node: Split Program657878 +Ref: Split Program-Footnote-1661397 +Node: Tee Program661525 +Node: Uniq Program664328 +Node: Wc Program671757 +Ref: Wc Program-Footnote-1676023 +Ref: Wc Program-Footnote-2676223 +Node: Miscellaneous Programs676315 +Node: Dupword Program677503 +Node: Alarm Program679534 +Node: Translate Program684287 +Ref: Translate Program-Footnote-1688674 +Ref: Translate Program-Footnote-2688922 +Node: Labels Program689056 +Ref: Labels Program-Footnote-1692427 +Node: Word Sorting692511 +Node: History Sorting696395 +Node: Extract Program698234 +Ref: Extract Program-Footnote-1705737 +Node: Simple Sed705865 +Node: Igawk Program708927 +Ref: Igawk Program-Footnote-1724084 +Ref: Igawk Program-Footnote-2724285 +Node: Anagram Program724423 +Node: Signature Program727491 +Node: Advanced Features728591 +Node: Nondecimal Data730477 +Node: Array Sorting732060 +Node: Controlling Array Traversal732757 +Node: Array Sorting Functions741041 +Ref: Array Sorting Functions-Footnote-1744910 +Node: Two-way I/O745104 +Ref: Two-way I/O-Footnote-1750536 +Node: TCP/IP Networking750606 +Node: Profiling753450 +Node: Internationalization760947 +Node: I18N and L10N762372 +Node: Explaining gettext763058 +Ref: Explaining gettext-Footnote-1768126 +Ref: Explaining gettext-Footnote-2768310 +Node: Programmer i18n768475 +Node: Translator i18n772677 +Node: String Extraction773470 +Ref: String Extraction-Footnote-1774431 +Node: Printf Ordering774517 +Ref: Printf Ordering-Footnote-1777301 +Node: I18N Portability777365 +Ref: I18N Portability-Footnote-1779814 +Node: I18N Example779877 +Ref: I18N Example-Footnote-1782515 +Node: Gawk I18N782587 +Node: Debugger783208 +Node: Debugging784179 +Node: Debugging Concepts784612 +Node: Debugging Terms786468 +Node: Awk Debugging789065 +Node: Sample Debugging Session789957 +Node: Debugger Invocation790477 +Node: Finding The Bug791809 +Node: List of Debugger Commands798297 +Node: Breakpoint Control799631 +Node: Debugger Execution Control803295 +Node: Viewing And Changing Data806655 +Node: Execution Stack810011 +Node: Debugger Info811478 +Node: Miscellaneous Debugger Commands815460 +Node: Readline Support820636 +Node: Limitations821467 +Node: Arbitrary Precision Arithmetic823719 +Ref: Arbitrary Precision Arithmetic-Footnote-1825368 +Node: General Arithmetic825516 +Node: Floating Point Issues827236 +Node: String Conversion Precision828117 +Ref: String Conversion Precision-Footnote-1829822 +Node: Unexpected Results829931 +Node: POSIX Floating Point Problems832084 +Ref: POSIX Floating Point Problems-Footnote-1835909 +Node: Integer Programming835947 +Node: Floating-point Programming837686 +Ref: Floating-point Programming-Footnote-1844017 +Ref: Floating-point Programming-Footnote-2844287 +Node: Floating-point Representation844551 +Node: Floating-point Context845716 +Ref: table-ieee-formats846555 +Node: Rounding Mode847939 +Ref: table-rounding-modes848418 +Ref: Rounding Mode-Footnote-1851433 +Node: Gawk and MPFR851612 +Node: Arbitrary Precision Floats852867 +Ref: Arbitrary Precision Floats-Footnote-1855310 +Node: Setting Precision855626 +Ref: table-predefined-precision-strings856312 +Node: Setting Rounding Mode858457 +Ref: table-gawk-rounding-modes858861 +Node: Floating-point Constants860048 +Node: Changing Precision861477 +Ref: Changing Precision-Footnote-1862874 +Node: Exact Arithmetic863048 +Node: Arbitrary Precision Integers866186 +Ref: Arbitrary Precision Integers-Footnote-1869204 +Node: Dynamic Extensions869351 +Node: Extension Intro870809 +Node: Plugin License872074 +Node: Extension Mechanism Outline872759 +Ref: load-extension873176 +Ref: load-new-function874654 +Ref: call-new-function875649 +Node: Extension API Description877664 +Node: Extension API Functions Introduction878877 +Node: General Data Types883743 +Ref: General Data Types-Footnote-1889348 +Node: Requesting Values889647 +Ref: table-value-types-returned890378 +Node: Constructor Functions891332 +Node: Registration Functions894352 +Node: Extension Functions895037 +Node: Exit Callback Functions897262 +Node: Extension Version String898511 +Node: Input Parsers899161 +Node: Output Wrappers908918 +Node: Two-way processors913428 +Node: Printing Messages915636 +Ref: Printing Messages-Footnote-1916713 +Node: Updating `ERRNO'916865 +Node: Accessing Parameters917604 +Node: Symbol Table Access918834 +Node: Symbol table by name919346 +Node: Symbol table by cookie921093 +Ref: Symbol table by cookie-Footnote-1925223 +Node: Cached values925286 +Ref: Cached values-Footnote-1928735 +Node: Array Manipulation928826 +Ref: Array Manipulation-Footnote-1929924 +Node: Array Data Types929963 +Ref: Array Data Types-Footnote-1932666 +Node: Array Functions932758 +Node: Flattening Arrays936524 +Node: Creating Arrays943376 +Node: Extension API Variables948101 +Node: Extension Versioning948737 +Node: Extension API Informational Variables950638 +Node: Extension API Boilerplate951724 +Node: Finding Extensions955528 +Node: Extension Example956088 +Node: Internal File Description956818 +Node: Internal File Ops960909 +Ref: Internal File Ops-Footnote-1972417 +Node: Using Internal File Ops972557 +Ref: Using Internal File Ops-Footnote-1974910 +Node: Extension Samples975176 +Node: Extension Sample File Functions976700 +Node: Extension Sample Fnmatch985185 +Node: Extension Sample Fork986911 +Node: Extension Sample Inplace988129 +Node: Extension Sample Ord989907 +Node: Extension Sample Readdir990743 +Node: Extension Sample Revout992275 +Node: Extension Sample Rev2way992868 +Node: Extension Sample Read write array993558 +Node: Extension Sample Readfile995441 +Node: Extension Sample API Tests996259 +Node: Extension Sample Time996784 +Node: gawkextlib998148 +Node: Language History1000929 +Node: V7/SVR3.11002522 +Node: SVR41004842 +Node: POSIX1006284 +Node: BTL1007670 +Node: POSIX/GNU1008404 +Node: Feature History1014003 +Node: Common Extensions1026967 +Node: Ranges and Locales1028279 +Ref: Ranges and Locales-Footnote-11032897 +Ref: Ranges and Locales-Footnote-21032924 +Ref: Ranges and Locales-Footnote-31033184 +Node: Contributors1033405 +Node: Installation1038550 +Node: Gawk Distribution1039444 +Node: Getting1039928 +Node: Extracting1040754 +Node: Distribution contents1042446 +Node: Unix Installation1048151 +Node: Quick Installation1048768 +Node: Additional Configuration Options1051212 +Node: Configuration Philosophy1052948 +Node: Non-Unix Installation1055302 +Node: PC Installation1055760 +Node: PC Binary Installation1057059 +Node: PC Compiling1058907 +Node: PC Testing1061851 +Node: PC Using1063027 +Node: Cygwin1067212 +Node: MSYS1068212 +Node: VMS Installation1068726 +Node: VMS Compilation1069490 +Ref: VMS Compilation-Footnote-11071105 +Node: VMS Dynamic Extensions1071163 +Node: VMS Installation Details1072536 +Node: VMS Running1074783 +Node: VMS GNV1077617 +Node: VMS Old Gawk1078340 +Node: Bugs1078810 +Node: Other Versions1082728 +Node: Notes1088812 +Node: Compatibility Mode1089612 +Node: Additions1090395 +Node: Accessing The Source1091322 +Node: Adding Code1092762 +Node: New Ports1098807 +Node: Derived Files1102942 +Ref: Derived Files-Footnote-11108263 +Ref: Derived Files-Footnote-21108297 +Ref: Derived Files-Footnote-31108897 +Node: Future Extensions1108995 +Node: Implementation Limitations1109578 +Node: Extension Design1110830 +Node: Old Extension Problems1111984 +Ref: Old Extension Problems-Footnote-11113492 +Node: Extension New Mechanism Goals1113549 +Ref: Extension New Mechanism Goals-Footnote-11116914 +Node: Extension Other Design Decisions1117100 +Node: Extension Future Growth1119206 +Node: Old Extension Mechanism1120042 +Node: Basic Concepts1121782 +Node: Basic High Level1122463 +Ref: figure-general-flow1122734 +Ref: figure-process-flow1123333 +Ref: Basic High Level-Footnote-11126562 +Node: Basic Data Typing1126747 +Node: Glossary1130102 +Node: Copying1155564 +Node: GNU Free Documentation License1193121 +Node: Index1218258  End Tag Table -- cgit v1.2.3 From c712957772b810b017088e7b052fa06495c44471 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 31 Jan 2014 11:28:29 +0200 Subject: Minor doc fixes. --- doc/gawk.info | 548 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 274 insertions(+), 274 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index defd9fed..3e6c3ea4 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -13986,7 +13986,7 @@ corresponding character. Both functions are written very nicely in } } - Some explanation of the numbers used by `chr' is worthwhile. The + Some explanation of the numbers used by `chr()' is worthwhile. The most prominent character set in use today is ASCII.(1) Although an 8-bit byte can hold 256 distinct values (from 0 to 255), ASCII only defines characters that use the values from 0 to 127.(2) In the now @@ -30563,10 +30563,10 @@ Index * characters, transliterating: Translate Program. (line 6) * characters, values of as numbers: Ordinal Functions. (line 6) * Chassell, Robert J.: Acknowledgments. (line 33) -* chdir extension function: Extension Sample File Functions. +* chdir() extension function: Extension Sample File Functions. (line 12) * chem utility: Glossary. (line 151) -* chr extension function: Extension Sample Ord. +* chr() extension function: Extension Sample Ord. (line 15) * chr() user-defined function: Ordinal Functions. (line 16) * clear debugger command: Breakpoint Control. (line 36) @@ -31203,14 +31203,14 @@ Index * floating-point, numbers <1>: Unexpected Results. (line 6) * floating-point, numbers: General Arithmetic. (line 6) * floating-point, VAX/VMS: VMS Running. (line 51) -* fnmatch extension function: Extension Sample Fnmatch. +* fnmatch() extension function: Extension Sample Fnmatch. (line 6) * FNR variable <1>: Auto-set. (line 103) * FNR variable: Records. (line 6) * FNR variable, changing: Auto-set. (line 314) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) -* fork extension function: Extension Sample Fork. +* fork() extension function: Extension Sample Fork. (line 11) * format specifiers, mixing regular with positional specifiers: Printf Ordering. (line 57) @@ -31252,7 +31252,7 @@ Index * FSF (Free Software Foundation) <1>: Glossary. (line 305) * FSF (Free Software Foundation) <2>: Getting. (line 10) * FSF (Free Software Foundation): Manual History. (line 6) -* fts extension function: Extension Sample File Functions. +* fts() extension function: Extension Sample File Functions. (line 77) * FUNCTAB array: Auto-set. (line 119) * function calls: Function Calls. (line 6) @@ -31440,7 +31440,7 @@ Index * gettext library: Explaining gettext. (line 6) * gettext library, locale categories: Explaining gettext. (line 80) * gettext() function (C library): Explaining gettext. (line 62) -* gettimeofday extension function: Extension Sample Time. +* gettimeofday() extension function: Extension Sample Time. (line 13) * GMP: Arbitrary Precision Arithmetic. (line 6) @@ -31894,7 +31894,7 @@ Index * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) * or() function (gawk): Bitwise Functions. (line 49) -* ord extension function: Extension Sample Ord. +* ord() extension function: Extension Sample Ord. (line 12) * ord() user-defined function: Ordinal Functions. (line 16) * order of evaluation, concatenation: Concatenation. (line 41) @@ -32142,13 +32142,13 @@ Index * Rankin, Pat <2>: Contributors. (line 37) * Rankin, Pat <3>: Assignment Ops. (line 100) * Rankin, Pat: Acknowledgments. (line 60) -* reada extension function: Extension Sample Read write array. +* reada() extension function: Extension Sample Read write array. (line 15) * readable data files, checking: File Checking. (line 6) * readable.awk program: File Checking. (line 11) * readdir extension: Extension Sample Readdir. (line 9) -* readfile extension function: Extension Sample Readfile. +* readfile() extension function: Extension Sample Readfile. (line 11) * readfile() user-defined function: Readfile Function. (line 30) * recipe for a programming language: History. (line 6) @@ -32392,9 +32392,9 @@ Index * single-character fields: Single Character Fields. (line 6) * Skywalker, Luke: Undocumented. (line 6) -* sleep extension function: Extension Sample Time. - (line 23) * sleep utility: Alarm Program. (line 109) +* sleep() extension function: Extension Sample Time. + (line 23) * Solaris, POSIX-compliant awk: Other Versions. (line 96) * sort function, arrays, sorting: Array Sorting Functions. (line 6) @@ -32438,7 +32438,7 @@ Index * standard input <1>: Special FD. (line 6) * standard input: Read Terminal. (line 6) * standard output: Special FD. (line 6) -* stat extension function: Extension Sample File Functions. +* stat() extension function: Extension Sample File Functions. (line 18) * statements, compound, control statements and: Statements. (line 10) * statements, control, in actions: Statements. (line 6) @@ -32672,9 +32672,9 @@ Index * w debugger command (alias for watch): Viewing And Changing Data. (line 67) * w utility: Constant Size. (line 22) -* wait extension function: Extension Sample Fork. +* wait() extension function: Extension Sample Fork. (line 22) -* waitpid extension function: Extension Sample Fork. +* waitpid() extension function: Extension Sample Fork. (line 18) * walk_array() user-defined function: Walking Arrays. (line 14) * Wall, Larry <1>: Future Extensions. (line 6) @@ -32706,7 +32706,7 @@ Index * words, counting: Wc Program. (line 6) * words, duplicate, searching for: Dupword Program. (line 6) * words, usage counts, generating: Word Sorting. (line 6) -* writea extension function: Extension Sample Read write array. +* writea() extension function: Extension Sample Read write array. (line 9) * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) @@ -33008,263 +33008,263 @@ Node: Assert Function574792 Node: Round Function578118 Node: Cliff Random Function579661 Node: Ordinal Functions580677 -Ref: Ordinal Functions-Footnote-1583747 -Ref: Ordinal Functions-Footnote-2583999 -Node: Join Function584208 -Ref: Join Function-Footnote-1585979 -Node: Getlocaltime Function586179 -Node: Readfile Function589920 -Node: Data File Management591759 -Node: Filetrans Function592391 -Node: Rewind Function596460 -Node: File Checking597847 -Node: Empty Files598941 -Node: Ignoring Assigns601171 -Node: Getopt Function602724 -Ref: Getopt Function-Footnote-1614027 -Node: Passwd Functions614230 -Ref: Passwd Functions-Footnote-1623205 -Node: Group Functions623293 -Node: Walking Arrays631377 -Node: Sample Programs633514 -Node: Running Examples634188 -Node: Clones634916 -Node: Cut Program636140 -Node: Egrep Program645985 -Ref: Egrep Program-Footnote-1653758 -Node: Id Program653868 -Node: Split Program657484 -Ref: Split Program-Footnote-1661003 -Node: Tee Program661131 -Node: Uniq Program663934 -Node: Wc Program671363 -Ref: Wc Program-Footnote-1675629 -Ref: Wc Program-Footnote-2675829 -Node: Miscellaneous Programs675921 -Node: Dupword Program677109 -Node: Alarm Program679140 -Node: Translate Program683893 -Ref: Translate Program-Footnote-1688280 -Ref: Translate Program-Footnote-2688528 -Node: Labels Program688662 -Ref: Labels Program-Footnote-1692033 -Node: Word Sorting692117 -Node: History Sorting696001 -Node: Extract Program697840 -Ref: Extract Program-Footnote-1705343 -Node: Simple Sed705471 -Node: Igawk Program708533 -Ref: Igawk Program-Footnote-1723690 -Ref: Igawk Program-Footnote-2723891 -Node: Anagram Program724029 -Node: Signature Program727097 -Node: Advanced Features728197 -Node: Nondecimal Data730083 -Node: Array Sorting731666 -Node: Controlling Array Traversal732363 -Node: Array Sorting Functions740647 -Ref: Array Sorting Functions-Footnote-1744516 -Node: Two-way I/O744710 -Ref: Two-way I/O-Footnote-1750142 -Node: TCP/IP Networking750212 -Node: Profiling753056 -Node: Internationalization760553 -Node: I18N and L10N761978 -Node: Explaining gettext762664 -Ref: Explaining gettext-Footnote-1767732 -Ref: Explaining gettext-Footnote-2767916 -Node: Programmer i18n768081 -Node: Translator i18n772283 -Node: String Extraction773076 -Ref: String Extraction-Footnote-1774037 -Node: Printf Ordering774123 -Ref: Printf Ordering-Footnote-1776907 -Node: I18N Portability776971 -Ref: I18N Portability-Footnote-1779420 -Node: I18N Example779483 -Ref: I18N Example-Footnote-1782121 -Node: Gawk I18N782193 -Node: Debugger782814 -Node: Debugging783785 -Node: Debugging Concepts784218 -Node: Debugging Terms786074 -Node: Awk Debugging788671 -Node: Sample Debugging Session789563 -Node: Debugger Invocation790083 -Node: Finding The Bug791415 -Node: List of Debugger Commands797903 -Node: Breakpoint Control799237 -Node: Debugger Execution Control802901 -Node: Viewing And Changing Data806261 -Node: Execution Stack809617 -Node: Debugger Info811084 -Node: Miscellaneous Debugger Commands815066 -Node: Readline Support820242 -Node: Limitations821073 -Node: Arbitrary Precision Arithmetic823325 -Ref: Arbitrary Precision Arithmetic-Footnote-1824974 -Node: General Arithmetic825122 -Node: Floating Point Issues826842 -Node: String Conversion Precision827723 -Ref: String Conversion Precision-Footnote-1829428 -Node: Unexpected Results829537 -Node: POSIX Floating Point Problems831690 -Ref: POSIX Floating Point Problems-Footnote-1835515 -Node: Integer Programming835553 -Node: Floating-point Programming837292 -Ref: Floating-point Programming-Footnote-1843623 -Ref: Floating-point Programming-Footnote-2843893 -Node: Floating-point Representation844157 -Node: Floating-point Context845322 -Ref: table-ieee-formats846161 -Node: Rounding Mode847545 -Ref: table-rounding-modes848024 -Ref: Rounding Mode-Footnote-1851039 -Node: Gawk and MPFR851218 -Node: Arbitrary Precision Floats852473 -Ref: Arbitrary Precision Floats-Footnote-1854916 -Node: Setting Precision855232 -Ref: table-predefined-precision-strings855918 -Node: Setting Rounding Mode858063 -Ref: table-gawk-rounding-modes858467 -Node: Floating-point Constants859654 -Node: Changing Precision861083 -Ref: Changing Precision-Footnote-1862480 -Node: Exact Arithmetic862654 -Node: Arbitrary Precision Integers865792 -Ref: Arbitrary Precision Integers-Footnote-1868810 -Node: Dynamic Extensions868957 -Node: Extension Intro870415 -Node: Plugin License871680 -Node: Extension Mechanism Outline872365 -Ref: load-extension872782 -Ref: load-new-function874260 -Ref: call-new-function875255 -Node: Extension API Description877270 -Node: Extension API Functions Introduction878483 -Node: General Data Types883349 -Ref: General Data Types-Footnote-1888954 -Node: Requesting Values889253 -Ref: table-value-types-returned889984 -Node: Constructor Functions890938 -Node: Registration Functions893958 -Node: Extension Functions894643 -Node: Exit Callback Functions896868 -Node: Extension Version String898117 -Node: Input Parsers898767 -Node: Output Wrappers908524 -Node: Two-way processors913034 -Node: Printing Messages915242 -Ref: Printing Messages-Footnote-1916319 -Node: Updating `ERRNO'916471 -Node: Accessing Parameters917210 -Node: Symbol Table Access918440 -Node: Symbol table by name918952 -Node: Symbol table by cookie920699 -Ref: Symbol table by cookie-Footnote-1924829 -Node: Cached values924892 -Ref: Cached values-Footnote-1928341 -Node: Array Manipulation928432 -Ref: Array Manipulation-Footnote-1929530 -Node: Array Data Types929569 -Ref: Array Data Types-Footnote-1932272 -Node: Array Functions932364 -Node: Flattening Arrays936130 -Node: Creating Arrays942982 -Node: Extension API Variables947707 -Node: Extension Versioning948343 -Node: Extension API Informational Variables950244 -Node: Extension API Boilerplate951330 -Node: Finding Extensions955134 -Node: Extension Example955694 -Node: Internal File Description956424 -Node: Internal File Ops960515 -Ref: Internal File Ops-Footnote-1972023 -Node: Using Internal File Ops972163 -Ref: Using Internal File Ops-Footnote-1974516 -Node: Extension Samples974782 -Node: Extension Sample File Functions976306 -Node: Extension Sample Fnmatch984791 -Node: Extension Sample Fork986517 -Node: Extension Sample Inplace987735 -Node: Extension Sample Ord989513 -Node: Extension Sample Readdir990349 -Node: Extension Sample Revout991881 -Node: Extension Sample Rev2way992474 -Node: Extension Sample Read write array993164 -Node: Extension Sample Readfile995047 -Node: Extension Sample API Tests995865 -Node: Extension Sample Time996390 -Node: gawkextlib997754 -Node: Language History1000535 -Node: V7/SVR3.11002128 -Node: SVR41004448 -Node: POSIX1005890 -Node: BTL1007276 -Node: POSIX/GNU1008010 -Node: Feature History1013609 -Node: Common Extensions1026573 -Node: Ranges and Locales1027885 -Ref: Ranges and Locales-Footnote-11032503 -Ref: Ranges and Locales-Footnote-21032530 -Ref: Ranges and Locales-Footnote-31032790 -Node: Contributors1033011 -Node: Installation1038156 -Node: Gawk Distribution1039050 -Node: Getting1039534 -Node: Extracting1040360 -Node: Distribution contents1042052 -Node: Unix Installation1047757 -Node: Quick Installation1048374 -Node: Additional Configuration Options1050818 -Node: Configuration Philosophy1052554 -Node: Non-Unix Installation1054908 -Node: PC Installation1055366 -Node: PC Binary Installation1056665 -Node: PC Compiling1058513 -Node: PC Testing1061457 -Node: PC Using1062633 -Node: Cygwin1066818 -Node: MSYS1067818 -Node: VMS Installation1068332 -Node: VMS Compilation1069096 -Ref: VMS Compilation-Footnote-11070711 -Node: VMS Dynamic Extensions1070769 -Node: VMS Installation Details1072142 -Node: VMS Running1074389 -Node: VMS GNV1077223 -Node: VMS Old Gawk1077946 -Node: Bugs1078416 -Node: Other Versions1082334 -Node: Notes1088418 -Node: Compatibility Mode1089218 -Node: Additions1090001 -Node: Accessing The Source1090928 -Node: Adding Code1092368 -Node: New Ports1098413 -Node: Derived Files1102548 -Ref: Derived Files-Footnote-11107869 -Ref: Derived Files-Footnote-21107903 -Ref: Derived Files-Footnote-31108503 -Node: Future Extensions1108601 -Node: Implementation Limitations1109184 -Node: Extension Design1110436 -Node: Old Extension Problems1111590 -Ref: Old Extension Problems-Footnote-11113098 -Node: Extension New Mechanism Goals1113155 -Ref: Extension New Mechanism Goals-Footnote-11116520 -Node: Extension Other Design Decisions1116706 -Node: Extension Future Growth1118812 -Node: Old Extension Mechanism1119648 -Node: Basic Concepts1121388 -Node: Basic High Level1122069 -Ref: figure-general-flow1122340 -Ref: figure-process-flow1122939 -Ref: Basic High Level-Footnote-11126168 -Node: Basic Data Typing1126353 -Node: Glossary1129708 -Node: Copying1155170 -Node: GNU Free Documentation License1192727 -Node: Index1217864 +Ref: Ordinal Functions-Footnote-1583749 +Ref: Ordinal Functions-Footnote-2584001 +Node: Join Function584210 +Ref: Join Function-Footnote-1585981 +Node: Getlocaltime Function586181 +Node: Readfile Function589922 +Node: Data File Management591761 +Node: Filetrans Function592393 +Node: Rewind Function596462 +Node: File Checking597849 +Node: Empty Files598943 +Node: Ignoring Assigns601173 +Node: Getopt Function602726 +Ref: Getopt Function-Footnote-1614029 +Node: Passwd Functions614232 +Ref: Passwd Functions-Footnote-1623207 +Node: Group Functions623295 +Node: Walking Arrays631379 +Node: Sample Programs633516 +Node: Running Examples634190 +Node: Clones634918 +Node: Cut Program636142 +Node: Egrep Program645987 +Ref: Egrep Program-Footnote-1653760 +Node: Id Program653870 +Node: Split Program657486 +Ref: Split Program-Footnote-1661005 +Node: Tee Program661133 +Node: Uniq Program663936 +Node: Wc Program671365 +Ref: Wc Program-Footnote-1675631 +Ref: Wc Program-Footnote-2675831 +Node: Miscellaneous Programs675923 +Node: Dupword Program677111 +Node: Alarm Program679142 +Node: Translate Program683895 +Ref: Translate Program-Footnote-1688282 +Ref: Translate Program-Footnote-2688530 +Node: Labels Program688664 +Ref: Labels Program-Footnote-1692035 +Node: Word Sorting692119 +Node: History Sorting696003 +Node: Extract Program697842 +Ref: Extract Program-Footnote-1705345 +Node: Simple Sed705473 +Node: Igawk Program708535 +Ref: Igawk Program-Footnote-1723692 +Ref: Igawk Program-Footnote-2723893 +Node: Anagram Program724031 +Node: Signature Program727099 +Node: Advanced Features728199 +Node: Nondecimal Data730085 +Node: Array Sorting731668 +Node: Controlling Array Traversal732365 +Node: Array Sorting Functions740649 +Ref: Array Sorting Functions-Footnote-1744518 +Node: Two-way I/O744712 +Ref: Two-way I/O-Footnote-1750144 +Node: TCP/IP Networking750214 +Node: Profiling753058 +Node: Internationalization760555 +Node: I18N and L10N761980 +Node: Explaining gettext762666 +Ref: Explaining gettext-Footnote-1767734 +Ref: Explaining gettext-Footnote-2767918 +Node: Programmer i18n768083 +Node: Translator i18n772285 +Node: String Extraction773078 +Ref: String Extraction-Footnote-1774039 +Node: Printf Ordering774125 +Ref: Printf Ordering-Footnote-1776909 +Node: I18N Portability776973 +Ref: I18N Portability-Footnote-1779422 +Node: I18N Example779485 +Ref: I18N Example-Footnote-1782123 +Node: Gawk I18N782195 +Node: Debugger782816 +Node: Debugging783787 +Node: Debugging Concepts784220 +Node: Debugging Terms786076 +Node: Awk Debugging788673 +Node: Sample Debugging Session789565 +Node: Debugger Invocation790085 +Node: Finding The Bug791417 +Node: List of Debugger Commands797905 +Node: Breakpoint Control799239 +Node: Debugger Execution Control802903 +Node: Viewing And Changing Data806263 +Node: Execution Stack809619 +Node: Debugger Info811086 +Node: Miscellaneous Debugger Commands815068 +Node: Readline Support820244 +Node: Limitations821075 +Node: Arbitrary Precision Arithmetic823327 +Ref: Arbitrary Precision Arithmetic-Footnote-1824976 +Node: General Arithmetic825124 +Node: Floating Point Issues826844 +Node: String Conversion Precision827725 +Ref: String Conversion Precision-Footnote-1829430 +Node: Unexpected Results829539 +Node: POSIX Floating Point Problems831692 +Ref: POSIX Floating Point Problems-Footnote-1835517 +Node: Integer Programming835555 +Node: Floating-point Programming837294 +Ref: Floating-point Programming-Footnote-1843625 +Ref: Floating-point Programming-Footnote-2843895 +Node: Floating-point Representation844159 +Node: Floating-point Context845324 +Ref: table-ieee-formats846163 +Node: Rounding Mode847547 +Ref: table-rounding-modes848026 +Ref: Rounding Mode-Footnote-1851041 +Node: Gawk and MPFR851220 +Node: Arbitrary Precision Floats852475 +Ref: Arbitrary Precision Floats-Footnote-1854918 +Node: Setting Precision855234 +Ref: table-predefined-precision-strings855920 +Node: Setting Rounding Mode858065 +Ref: table-gawk-rounding-modes858469 +Node: Floating-point Constants859656 +Node: Changing Precision861085 +Ref: Changing Precision-Footnote-1862482 +Node: Exact Arithmetic862656 +Node: Arbitrary Precision Integers865794 +Ref: Arbitrary Precision Integers-Footnote-1868812 +Node: Dynamic Extensions868959 +Node: Extension Intro870417 +Node: Plugin License871682 +Node: Extension Mechanism Outline872367 +Ref: load-extension872784 +Ref: load-new-function874262 +Ref: call-new-function875257 +Node: Extension API Description877272 +Node: Extension API Functions Introduction878485 +Node: General Data Types883351 +Ref: General Data Types-Footnote-1888956 +Node: Requesting Values889255 +Ref: table-value-types-returned889986 +Node: Constructor Functions890940 +Node: Registration Functions893960 +Node: Extension Functions894645 +Node: Exit Callback Functions896870 +Node: Extension Version String898119 +Node: Input Parsers898769 +Node: Output Wrappers908526 +Node: Two-way processors913036 +Node: Printing Messages915244 +Ref: Printing Messages-Footnote-1916321 +Node: Updating `ERRNO'916473 +Node: Accessing Parameters917212 +Node: Symbol Table Access918442 +Node: Symbol table by name918954 +Node: Symbol table by cookie920701 +Ref: Symbol table by cookie-Footnote-1924831 +Node: Cached values924894 +Ref: Cached values-Footnote-1928343 +Node: Array Manipulation928434 +Ref: Array Manipulation-Footnote-1929532 +Node: Array Data Types929571 +Ref: Array Data Types-Footnote-1932274 +Node: Array Functions932366 +Node: Flattening Arrays936132 +Node: Creating Arrays942984 +Node: Extension API Variables947709 +Node: Extension Versioning948345 +Node: Extension API Informational Variables950246 +Node: Extension API Boilerplate951332 +Node: Finding Extensions955136 +Node: Extension Example955696 +Node: Internal File Description956426 +Node: Internal File Ops960517 +Ref: Internal File Ops-Footnote-1972025 +Node: Using Internal File Ops972165 +Ref: Using Internal File Ops-Footnote-1974518 +Node: Extension Samples974784 +Node: Extension Sample File Functions976308 +Node: Extension Sample Fnmatch984793 +Node: Extension Sample Fork986519 +Node: Extension Sample Inplace987737 +Node: Extension Sample Ord989515 +Node: Extension Sample Readdir990351 +Node: Extension Sample Revout991883 +Node: Extension Sample Rev2way992476 +Node: Extension Sample Read write array993166 +Node: Extension Sample Readfile995049 +Node: Extension Sample API Tests995867 +Node: Extension Sample Time996392 +Node: gawkextlib997756 +Node: Language History1000537 +Node: V7/SVR3.11002130 +Node: SVR41004450 +Node: POSIX1005892 +Node: BTL1007278 +Node: POSIX/GNU1008012 +Node: Feature History1013611 +Node: Common Extensions1026575 +Node: Ranges and Locales1027887 +Ref: Ranges and Locales-Footnote-11032505 +Ref: Ranges and Locales-Footnote-21032532 +Ref: Ranges and Locales-Footnote-31032792 +Node: Contributors1033013 +Node: Installation1038158 +Node: Gawk Distribution1039052 +Node: Getting1039536 +Node: Extracting1040362 +Node: Distribution contents1042054 +Node: Unix Installation1047759 +Node: Quick Installation1048376 +Node: Additional Configuration Options1050820 +Node: Configuration Philosophy1052556 +Node: Non-Unix Installation1054910 +Node: PC Installation1055368 +Node: PC Binary Installation1056667 +Node: PC Compiling1058515 +Node: PC Testing1061459 +Node: PC Using1062635 +Node: Cygwin1066820 +Node: MSYS1067820 +Node: VMS Installation1068334 +Node: VMS Compilation1069098 +Ref: VMS Compilation-Footnote-11070713 +Node: VMS Dynamic Extensions1070771 +Node: VMS Installation Details1072144 +Node: VMS Running1074391 +Node: VMS GNV1077225 +Node: VMS Old Gawk1077948 +Node: Bugs1078418 +Node: Other Versions1082336 +Node: Notes1088420 +Node: Compatibility Mode1089220 +Node: Additions1090003 +Node: Accessing The Source1090930 +Node: Adding Code1092370 +Node: New Ports1098415 +Node: Derived Files1102550 +Ref: Derived Files-Footnote-11107871 +Ref: Derived Files-Footnote-21107905 +Ref: Derived Files-Footnote-31108505 +Node: Future Extensions1108603 +Node: Implementation Limitations1109186 +Node: Extension Design1110438 +Node: Old Extension Problems1111592 +Ref: Old Extension Problems-Footnote-11113100 +Node: Extension New Mechanism Goals1113157 +Ref: Extension New Mechanism Goals-Footnote-11116522 +Node: Extension Other Design Decisions1116708 +Node: Extension Future Growth1118814 +Node: Old Extension Mechanism1119650 +Node: Basic Concepts1121390 +Node: Basic High Level1122071 +Ref: figure-general-flow1122342 +Ref: figure-process-flow1122941 +Ref: Basic High Level-Footnote-11126170 +Node: Basic Data Typing1126355 +Node: Glossary1129710 +Node: Copying1155172 +Node: GNU Free Documentation License1192729 +Node: Index1217866  End Tag Table -- cgit v1.2.3 From 9c2180330d85a9915b14c5fb5346dbc90b49fe87 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 3 Feb 2014 21:05:05 +0200 Subject: A number of small documentation updates. --- doc/gawk.info | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 3e6c3ea4..53fd4920 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -30010,7 +30010,6 @@ Index * - (hyphen), in bracket expressions: Bracket Expressions. (line 17) * --assign option: Options. (line 46) * --bignum option: Options. (line 201) -* --c option: Options. (line 95) * --characters-as-bytes option: Options. (line 82) * --copyright option: Options. (line 102) * --debug option: Options. (line 122) @@ -30029,7 +30028,6 @@ Index * --gen-pot option: Options. (line 161) * --help option: Options. (line 168) * --include option: Options. (line 32) -* --L option: Options. (line 288) * --lint option <1>: Options. (line 182) * --lint option: Command Line. (line 20) * --lint-old option: Options. (line 288) @@ -30060,6 +30058,7 @@ Index (line 35) * -b option: Options. (line 82) * -C option: Options. (line 102) +* -c option: Options. (line 95) * -D option: Options. (line 122) * -d option: Options. (line 107) * -E option: Options. (line 139) @@ -30074,6 +30073,7 @@ Index * -g option: Options. (line 161) * -h option: Options. (line 168) * -i option: Options. (line 32) +* -L option: Options. (line 288) * -l option: Options. (line 173) * -M option: Options. (line 201) * -N option: Options. (line 215) -- cgit v1.2.3 From c9d672c5a1b2b6f1094ac0f3cc9d51c3ad02ea5c Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 4 Feb 2014 06:24:28 +0200 Subject: More markup fixes, in the indexing. --- doc/gawk.info | 745 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 372 insertions(+), 373 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 53fd4920..329f15d3 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -7906,7 +7906,6 @@ of error is very difficult to spot when scanning the source code. string comparison (true) `a = 2; b = " +2"' - `a == b' string comparison (false) @@ -30364,7 +30363,7 @@ Index * awk, POSIX and: Preface. (line 23) * awk, POSIX and, See Also POSIX awk: Preface. (line 23) * awk, regexp constants and: Comparison Operators. - (line 103) + (line 102) * awk, See Also gawk: Preface. (line 36) * awk, terms describing: This Manual. (line 6) * awk, uses for <1>: When. (line 6) @@ -30632,7 +30631,7 @@ Index (line 9) * comparison expressions, as patterns: Expression Patterns. (line 14) * comparison expressions, string vs. regexp: Comparison Operators. - (line 79) + (line 78) * compatibility mode (gawk), extensions: POSIX/GNU. (line 6) * compatibility mode (gawk), file names: Special Caveats. (line 9) * compatibility mode (gawk), hexadecimal numbers: Nondecimal-numbers. @@ -32170,7 +32169,7 @@ Index * reference counting, sorting arrays: Array Sorting Functions. (line 77) * regexp constants <1>: Comparison Operators. - (line 103) + (line 102) * regexp constants <2>: Regexp Constants. (line 6) * regexp constants: Regexp Usage. (line 57) * regexp constants, /=.../, /= operator and: Assignment Ops. (line 147) @@ -32897,374 +32896,374 @@ Node: Variable Typing334515 Ref: Variable Typing-Footnote-1338412 Node: Comparison Operators338534 Ref: table-relational-ops338944 -Node: POSIX String Comparison342493 -Ref: POSIX String Comparison-Footnote-1343449 -Node: Boolean Ops343587 -Ref: Boolean Ops-Footnote-1347665 -Node: Conditional Exp347756 -Node: Function Calls349488 -Node: Precedence353082 -Node: Locales356751 -Node: Patterns and Actions357840 -Node: Pattern Overview358894 -Node: Regexp Patterns360563 -Node: Expression Patterns361106 -Node: Ranges364791 -Node: BEGIN/END367757 -Node: Using BEGIN/END368519 -Ref: Using BEGIN/END-Footnote-1371250 -Node: I/O And BEGIN/END371356 -Node: BEGINFILE/ENDFILE373638 -Node: Empty376552 -Node: Using Shell Variables376868 -Node: Action Overview379153 -Node: Statements381510 -Node: If Statement383364 -Node: While Statement384863 -Node: Do Statement386907 -Node: For Statement388063 -Node: Switch Statement391215 -Node: Break Statement393312 -Node: Continue Statement395302 -Node: Next Statement397095 -Node: Nextfile Statement399485 -Node: Exit Statement402128 -Node: Built-in Variables404544 -Node: User-modified405639 -Ref: User-modified-Footnote-1413997 -Node: Auto-set414059 -Ref: Auto-set-Footnote-1427137 -Ref: Auto-set-Footnote-2427342 -Node: ARGC and ARGV427398 -Node: Arrays431249 -Node: Array Basics432754 -Node: Array Intro433580 -Node: Reference to Elements437897 -Node: Assigning Elements440167 -Node: Array Example440658 -Node: Scanning an Array442390 -Node: Controlling Scanning444704 -Ref: Controlling Scanning-Footnote-1449791 -Node: Delete450107 -Ref: Delete-Footnote-1452872 -Node: Numeric Array Subscripts452929 -Node: Uninitialized Subscripts455112 -Node: Multidimensional456739 -Node: Multiscanning459832 -Node: Arrays of Arrays461421 -Node: Functions466061 -Node: Built-in466880 -Node: Calling Built-in467958 -Node: Numeric Functions469946 -Ref: Numeric Functions-Footnote-1473778 -Ref: Numeric Functions-Footnote-2474135 -Ref: Numeric Functions-Footnote-3474183 -Node: String Functions474452 -Ref: String Functions-Footnote-1497372 -Ref: String Functions-Footnote-2497501 -Ref: String Functions-Footnote-3497749 -Node: Gory Details497836 -Ref: table-sub-escapes499515 -Ref: table-sub-posix-92500869 -Ref: table-sub-proposed502220 -Ref: table-posix-sub503574 -Ref: table-gensub-escapes505119 -Ref: Gory Details-Footnote-1506295 -Ref: Gory Details-Footnote-2506346 -Node: I/O Functions506497 -Ref: I/O Functions-Footnote-1513482 -Node: Time Functions513629 -Ref: Time Functions-Footnote-1524562 -Ref: Time Functions-Footnote-2524630 -Ref: Time Functions-Footnote-3524788 -Ref: Time Functions-Footnote-4524899 -Ref: Time Functions-Footnote-5525011 -Ref: Time Functions-Footnote-6525238 -Node: Bitwise Functions525504 -Ref: table-bitwise-ops526066 -Ref: Bitwise Functions-Footnote-1530287 -Node: Type Functions530471 -Node: I18N Functions531622 -Node: User-defined533249 -Node: Definition Syntax534053 -Ref: Definition Syntax-Footnote-1538963 -Node: Function Example539032 -Node: Function Caveats541626 -Node: Calling A Function542047 -Node: Variable Scope543162 -Node: Pass By Value/Reference546125 -Node: Return Statement549633 -Node: Dynamic Typing552614 -Node: Indirect Calls553545 -Node: Library Functions563230 -Ref: Library Functions-Footnote-1566743 -Ref: Library Functions-Footnote-2566886 -Node: Library Names567057 -Ref: Library Names-Footnote-1570528 -Ref: Library Names-Footnote-2570748 -Node: General Functions570834 -Node: Strtonum Function571862 -Node: Assert Function574792 -Node: Round Function578118 -Node: Cliff Random Function579661 -Node: Ordinal Functions580677 -Ref: Ordinal Functions-Footnote-1583749 -Ref: Ordinal Functions-Footnote-2584001 -Node: Join Function584210 -Ref: Join Function-Footnote-1585981 -Node: Getlocaltime Function586181 -Node: Readfile Function589922 -Node: Data File Management591761 -Node: Filetrans Function592393 -Node: Rewind Function596462 -Node: File Checking597849 -Node: Empty Files598943 -Node: Ignoring Assigns601173 -Node: Getopt Function602726 -Ref: Getopt Function-Footnote-1614029 -Node: Passwd Functions614232 -Ref: Passwd Functions-Footnote-1623207 -Node: Group Functions623295 -Node: Walking Arrays631379 -Node: Sample Programs633516 -Node: Running Examples634190 -Node: Clones634918 -Node: Cut Program636142 -Node: Egrep Program645987 -Ref: Egrep Program-Footnote-1653760 -Node: Id Program653870 -Node: Split Program657486 -Ref: Split Program-Footnote-1661005 -Node: Tee Program661133 -Node: Uniq Program663936 -Node: Wc Program671365 -Ref: Wc Program-Footnote-1675631 -Ref: Wc Program-Footnote-2675831 -Node: Miscellaneous Programs675923 -Node: Dupword Program677111 -Node: Alarm Program679142 -Node: Translate Program683895 -Ref: Translate Program-Footnote-1688282 -Ref: Translate Program-Footnote-2688530 -Node: Labels Program688664 -Ref: Labels Program-Footnote-1692035 -Node: Word Sorting692119 -Node: History Sorting696003 -Node: Extract Program697842 -Ref: Extract Program-Footnote-1705345 -Node: Simple Sed705473 -Node: Igawk Program708535 -Ref: Igawk Program-Footnote-1723692 -Ref: Igawk Program-Footnote-2723893 -Node: Anagram Program724031 -Node: Signature Program727099 -Node: Advanced Features728199 -Node: Nondecimal Data730085 -Node: Array Sorting731668 -Node: Controlling Array Traversal732365 -Node: Array Sorting Functions740649 -Ref: Array Sorting Functions-Footnote-1744518 -Node: Two-way I/O744712 -Ref: Two-way I/O-Footnote-1750144 -Node: TCP/IP Networking750214 -Node: Profiling753058 -Node: Internationalization760555 -Node: I18N and L10N761980 -Node: Explaining gettext762666 -Ref: Explaining gettext-Footnote-1767734 -Ref: Explaining gettext-Footnote-2767918 -Node: Programmer i18n768083 -Node: Translator i18n772285 -Node: String Extraction773078 -Ref: String Extraction-Footnote-1774039 -Node: Printf Ordering774125 -Ref: Printf Ordering-Footnote-1776909 -Node: I18N Portability776973 -Ref: I18N Portability-Footnote-1779422 -Node: I18N Example779485 -Ref: I18N Example-Footnote-1782123 -Node: Gawk I18N782195 -Node: Debugger782816 -Node: Debugging783787 -Node: Debugging Concepts784220 -Node: Debugging Terms786076 -Node: Awk Debugging788673 -Node: Sample Debugging Session789565 -Node: Debugger Invocation790085 -Node: Finding The Bug791417 -Node: List of Debugger Commands797905 -Node: Breakpoint Control799239 -Node: Debugger Execution Control802903 -Node: Viewing And Changing Data806263 -Node: Execution Stack809619 -Node: Debugger Info811086 -Node: Miscellaneous Debugger Commands815068 -Node: Readline Support820244 -Node: Limitations821075 -Node: Arbitrary Precision Arithmetic823327 -Ref: Arbitrary Precision Arithmetic-Footnote-1824976 -Node: General Arithmetic825124 -Node: Floating Point Issues826844 -Node: String Conversion Precision827725 -Ref: String Conversion Precision-Footnote-1829430 -Node: Unexpected Results829539 -Node: POSIX Floating Point Problems831692 -Ref: POSIX Floating Point Problems-Footnote-1835517 -Node: Integer Programming835555 -Node: Floating-point Programming837294 -Ref: Floating-point Programming-Footnote-1843625 -Ref: Floating-point Programming-Footnote-2843895 -Node: Floating-point Representation844159 -Node: Floating-point Context845324 -Ref: table-ieee-formats846163 -Node: Rounding Mode847547 -Ref: table-rounding-modes848026 -Ref: Rounding Mode-Footnote-1851041 -Node: Gawk and MPFR851220 -Node: Arbitrary Precision Floats852475 -Ref: Arbitrary Precision Floats-Footnote-1854918 -Node: Setting Precision855234 -Ref: table-predefined-precision-strings855920 -Node: Setting Rounding Mode858065 -Ref: table-gawk-rounding-modes858469 -Node: Floating-point Constants859656 -Node: Changing Precision861085 -Ref: Changing Precision-Footnote-1862482 -Node: Exact Arithmetic862656 -Node: Arbitrary Precision Integers865794 -Ref: Arbitrary Precision Integers-Footnote-1868812 -Node: Dynamic Extensions868959 -Node: Extension Intro870417 -Node: Plugin License871682 -Node: Extension Mechanism Outline872367 -Ref: load-extension872784 -Ref: load-new-function874262 -Ref: call-new-function875257 -Node: Extension API Description877272 -Node: Extension API Functions Introduction878485 -Node: General Data Types883351 -Ref: General Data Types-Footnote-1888956 -Node: Requesting Values889255 -Ref: table-value-types-returned889986 -Node: Constructor Functions890940 -Node: Registration Functions893960 -Node: Extension Functions894645 -Node: Exit Callback Functions896870 -Node: Extension Version String898119 -Node: Input Parsers898769 -Node: Output Wrappers908526 -Node: Two-way processors913036 -Node: Printing Messages915244 -Ref: Printing Messages-Footnote-1916321 -Node: Updating `ERRNO'916473 -Node: Accessing Parameters917212 -Node: Symbol Table Access918442 -Node: Symbol table by name918954 -Node: Symbol table by cookie920701 -Ref: Symbol table by cookie-Footnote-1924831 -Node: Cached values924894 -Ref: Cached values-Footnote-1928343 -Node: Array Manipulation928434 -Ref: Array Manipulation-Footnote-1929532 -Node: Array Data Types929571 -Ref: Array Data Types-Footnote-1932274 -Node: Array Functions932366 -Node: Flattening Arrays936132 -Node: Creating Arrays942984 -Node: Extension API Variables947709 -Node: Extension Versioning948345 -Node: Extension API Informational Variables950246 -Node: Extension API Boilerplate951332 -Node: Finding Extensions955136 -Node: Extension Example955696 -Node: Internal File Description956426 -Node: Internal File Ops960517 -Ref: Internal File Ops-Footnote-1972025 -Node: Using Internal File Ops972165 -Ref: Using Internal File Ops-Footnote-1974518 -Node: Extension Samples974784 -Node: Extension Sample File Functions976308 -Node: Extension Sample Fnmatch984793 -Node: Extension Sample Fork986519 -Node: Extension Sample Inplace987737 -Node: Extension Sample Ord989515 -Node: Extension Sample Readdir990351 -Node: Extension Sample Revout991883 -Node: Extension Sample Rev2way992476 -Node: Extension Sample Read write array993166 -Node: Extension Sample Readfile995049 -Node: Extension Sample API Tests995867 -Node: Extension Sample Time996392 -Node: gawkextlib997756 -Node: Language History1000537 -Node: V7/SVR3.11002130 -Node: SVR41004450 -Node: POSIX1005892 -Node: BTL1007278 -Node: POSIX/GNU1008012 -Node: Feature History1013611 -Node: Common Extensions1026575 -Node: Ranges and Locales1027887 -Ref: Ranges and Locales-Footnote-11032505 -Ref: Ranges and Locales-Footnote-21032532 -Ref: Ranges and Locales-Footnote-31032792 -Node: Contributors1033013 -Node: Installation1038158 -Node: Gawk Distribution1039052 -Node: Getting1039536 -Node: Extracting1040362 -Node: Distribution contents1042054 -Node: Unix Installation1047759 -Node: Quick Installation1048376 -Node: Additional Configuration Options1050820 -Node: Configuration Philosophy1052556 -Node: Non-Unix Installation1054910 -Node: PC Installation1055368 -Node: PC Binary Installation1056667 -Node: PC Compiling1058515 -Node: PC Testing1061459 -Node: PC Using1062635 -Node: Cygwin1066820 -Node: MSYS1067820 -Node: VMS Installation1068334 -Node: VMS Compilation1069098 -Ref: VMS Compilation-Footnote-11070713 -Node: VMS Dynamic Extensions1070771 -Node: VMS Installation Details1072144 -Node: VMS Running1074391 -Node: VMS GNV1077225 -Node: VMS Old Gawk1077948 -Node: Bugs1078418 -Node: Other Versions1082336 -Node: Notes1088420 -Node: Compatibility Mode1089220 -Node: Additions1090003 -Node: Accessing The Source1090930 -Node: Adding Code1092370 -Node: New Ports1098415 -Node: Derived Files1102550 -Ref: Derived Files-Footnote-11107871 -Ref: Derived Files-Footnote-21107905 -Ref: Derived Files-Footnote-31108505 -Node: Future Extensions1108603 -Node: Implementation Limitations1109186 -Node: Extension Design1110438 -Node: Old Extension Problems1111592 -Ref: Old Extension Problems-Footnote-11113100 -Node: Extension New Mechanism Goals1113157 -Ref: Extension New Mechanism Goals-Footnote-11116522 -Node: Extension Other Design Decisions1116708 -Node: Extension Future Growth1118814 -Node: Old Extension Mechanism1119650 -Node: Basic Concepts1121390 -Node: Basic High Level1122071 -Ref: figure-general-flow1122342 -Ref: figure-process-flow1122941 -Ref: Basic High Level-Footnote-11126170 -Node: Basic Data Typing1126355 -Node: Glossary1129710 -Node: Copying1155172 -Node: GNU Free Documentation License1192729 -Node: Index1217866 +Node: POSIX String Comparison342492 +Ref: POSIX String Comparison-Footnote-1343448 +Node: Boolean Ops343586 +Ref: Boolean Ops-Footnote-1347664 +Node: Conditional Exp347755 +Node: Function Calls349487 +Node: Precedence353081 +Node: Locales356750 +Node: Patterns and Actions357839 +Node: Pattern Overview358893 +Node: Regexp Patterns360562 +Node: Expression Patterns361105 +Node: Ranges364790 +Node: BEGIN/END367756 +Node: Using BEGIN/END368518 +Ref: Using BEGIN/END-Footnote-1371249 +Node: I/O And BEGIN/END371355 +Node: BEGINFILE/ENDFILE373637 +Node: Empty376551 +Node: Using Shell Variables376867 +Node: Action Overview379152 +Node: Statements381509 +Node: If Statement383363 +Node: While Statement384862 +Node: Do Statement386906 +Node: For Statement388062 +Node: Switch Statement391214 +Node: Break Statement393311 +Node: Continue Statement395301 +Node: Next Statement397094 +Node: Nextfile Statement399484 +Node: Exit Statement402127 +Node: Built-in Variables404543 +Node: User-modified405638 +Ref: User-modified-Footnote-1413996 +Node: Auto-set414058 +Ref: Auto-set-Footnote-1427136 +Ref: Auto-set-Footnote-2427341 +Node: ARGC and ARGV427397 +Node: Arrays431248 +Node: Array Basics432753 +Node: Array Intro433579 +Node: Reference to Elements437896 +Node: Assigning Elements440166 +Node: Array Example440657 +Node: Scanning an Array442389 +Node: Controlling Scanning444703 +Ref: Controlling Scanning-Footnote-1449790 +Node: Delete450106 +Ref: Delete-Footnote-1452871 +Node: Numeric Array Subscripts452928 +Node: Uninitialized Subscripts455111 +Node: Multidimensional456738 +Node: Multiscanning459831 +Node: Arrays of Arrays461420 +Node: Functions466060 +Node: Built-in466879 +Node: Calling Built-in467957 +Node: Numeric Functions469945 +Ref: Numeric Functions-Footnote-1473777 +Ref: Numeric Functions-Footnote-2474134 +Ref: Numeric Functions-Footnote-3474182 +Node: String Functions474451 +Ref: String Functions-Footnote-1497371 +Ref: String Functions-Footnote-2497500 +Ref: String Functions-Footnote-3497748 +Node: Gory Details497835 +Ref: table-sub-escapes499514 +Ref: table-sub-posix-92500868 +Ref: table-sub-proposed502219 +Ref: table-posix-sub503573 +Ref: table-gensub-escapes505118 +Ref: Gory Details-Footnote-1506294 +Ref: Gory Details-Footnote-2506345 +Node: I/O Functions506496 +Ref: I/O Functions-Footnote-1513481 +Node: Time Functions513628 +Ref: Time Functions-Footnote-1524561 +Ref: Time Functions-Footnote-2524629 +Ref: Time Functions-Footnote-3524787 +Ref: Time Functions-Footnote-4524898 +Ref: Time Functions-Footnote-5525010 +Ref: Time Functions-Footnote-6525237 +Node: Bitwise Functions525503 +Ref: table-bitwise-ops526065 +Ref: Bitwise Functions-Footnote-1530286 +Node: Type Functions530470 +Node: I18N Functions531621 +Node: User-defined533248 +Node: Definition Syntax534052 +Ref: Definition Syntax-Footnote-1538962 +Node: Function Example539031 +Node: Function Caveats541625 +Node: Calling A Function542046 +Node: Variable Scope543161 +Node: Pass By Value/Reference546124 +Node: Return Statement549632 +Node: Dynamic Typing552613 +Node: Indirect Calls553544 +Node: Library Functions563229 +Ref: Library Functions-Footnote-1566742 +Ref: Library Functions-Footnote-2566885 +Node: Library Names567056 +Ref: Library Names-Footnote-1570527 +Ref: Library Names-Footnote-2570747 +Node: General Functions570833 +Node: Strtonum Function571861 +Node: Assert Function574791 +Node: Round Function578117 +Node: Cliff Random Function579660 +Node: Ordinal Functions580676 +Ref: Ordinal Functions-Footnote-1583748 +Ref: Ordinal Functions-Footnote-2584000 +Node: Join Function584209 +Ref: Join Function-Footnote-1585980 +Node: Getlocaltime Function586180 +Node: Readfile Function589921 +Node: Data File Management591760 +Node: Filetrans Function592392 +Node: Rewind Function596461 +Node: File Checking597848 +Node: Empty Files598942 +Node: Ignoring Assigns601172 +Node: Getopt Function602725 +Ref: Getopt Function-Footnote-1614028 +Node: Passwd Functions614231 +Ref: Passwd Functions-Footnote-1623206 +Node: Group Functions623294 +Node: Walking Arrays631378 +Node: Sample Programs633515 +Node: Running Examples634189 +Node: Clones634917 +Node: Cut Program636141 +Node: Egrep Program645986 +Ref: Egrep Program-Footnote-1653759 +Node: Id Program653869 +Node: Split Program657485 +Ref: Split Program-Footnote-1661004 +Node: Tee Program661132 +Node: Uniq Program663935 +Node: Wc Program671364 +Ref: Wc Program-Footnote-1675630 +Ref: Wc Program-Footnote-2675830 +Node: Miscellaneous Programs675922 +Node: Dupword Program677110 +Node: Alarm Program679141 +Node: Translate Program683894 +Ref: Translate Program-Footnote-1688281 +Ref: Translate Program-Footnote-2688529 +Node: Labels Program688663 +Ref: Labels Program-Footnote-1692034 +Node: Word Sorting692118 +Node: History Sorting696002 +Node: Extract Program697841 +Ref: Extract Program-Footnote-1705344 +Node: Simple Sed705472 +Node: Igawk Program708534 +Ref: Igawk Program-Footnote-1723691 +Ref: Igawk Program-Footnote-2723892 +Node: Anagram Program724030 +Node: Signature Program727098 +Node: Advanced Features728198 +Node: Nondecimal Data730084 +Node: Array Sorting731667 +Node: Controlling Array Traversal732364 +Node: Array Sorting Functions740648 +Ref: Array Sorting Functions-Footnote-1744517 +Node: Two-way I/O744711 +Ref: Two-way I/O-Footnote-1750143 +Node: TCP/IP Networking750213 +Node: Profiling753057 +Node: Internationalization760554 +Node: I18N and L10N761979 +Node: Explaining gettext762665 +Ref: Explaining gettext-Footnote-1767733 +Ref: Explaining gettext-Footnote-2767917 +Node: Programmer i18n768082 +Node: Translator i18n772284 +Node: String Extraction773077 +Ref: String Extraction-Footnote-1774038 +Node: Printf Ordering774124 +Ref: Printf Ordering-Footnote-1776908 +Node: I18N Portability776972 +Ref: I18N Portability-Footnote-1779421 +Node: I18N Example779484 +Ref: I18N Example-Footnote-1782122 +Node: Gawk I18N782194 +Node: Debugger782815 +Node: Debugging783786 +Node: Debugging Concepts784219 +Node: Debugging Terms786075 +Node: Awk Debugging788672 +Node: Sample Debugging Session789564 +Node: Debugger Invocation790084 +Node: Finding The Bug791416 +Node: List of Debugger Commands797904 +Node: Breakpoint Control799238 +Node: Debugger Execution Control802902 +Node: Viewing And Changing Data806262 +Node: Execution Stack809618 +Node: Debugger Info811085 +Node: Miscellaneous Debugger Commands815067 +Node: Readline Support820243 +Node: Limitations821074 +Node: Arbitrary Precision Arithmetic823326 +Ref: Arbitrary Precision Arithmetic-Footnote-1824975 +Node: General Arithmetic825123 +Node: Floating Point Issues826843 +Node: String Conversion Precision827724 +Ref: String Conversion Precision-Footnote-1829429 +Node: Unexpected Results829538 +Node: POSIX Floating Point Problems831691 +Ref: POSIX Floating Point Problems-Footnote-1835516 +Node: Integer Programming835554 +Node: Floating-point Programming837293 +Ref: Floating-point Programming-Footnote-1843624 +Ref: Floating-point Programming-Footnote-2843894 +Node: Floating-point Representation844158 +Node: Floating-point Context845323 +Ref: table-ieee-formats846162 +Node: Rounding Mode847546 +Ref: table-rounding-modes848025 +Ref: Rounding Mode-Footnote-1851040 +Node: Gawk and MPFR851219 +Node: Arbitrary Precision Floats852474 +Ref: Arbitrary Precision Floats-Footnote-1854917 +Node: Setting Precision855233 +Ref: table-predefined-precision-strings855919 +Node: Setting Rounding Mode858064 +Ref: table-gawk-rounding-modes858468 +Node: Floating-point Constants859655 +Node: Changing Precision861084 +Ref: Changing Precision-Footnote-1862481 +Node: Exact Arithmetic862655 +Node: Arbitrary Precision Integers865793 +Ref: Arbitrary Precision Integers-Footnote-1868811 +Node: Dynamic Extensions868958 +Node: Extension Intro870416 +Node: Plugin License871681 +Node: Extension Mechanism Outline872366 +Ref: load-extension872783 +Ref: load-new-function874261 +Ref: call-new-function875256 +Node: Extension API Description877271 +Node: Extension API Functions Introduction878484 +Node: General Data Types883350 +Ref: General Data Types-Footnote-1888955 +Node: Requesting Values889254 +Ref: table-value-types-returned889985 +Node: Constructor Functions890939 +Node: Registration Functions893959 +Node: Extension Functions894644 +Node: Exit Callback Functions896869 +Node: Extension Version String898118 +Node: Input Parsers898768 +Node: Output Wrappers908525 +Node: Two-way processors913035 +Node: Printing Messages915243 +Ref: Printing Messages-Footnote-1916320 +Node: Updating `ERRNO'916472 +Node: Accessing Parameters917211 +Node: Symbol Table Access918441 +Node: Symbol table by name918953 +Node: Symbol table by cookie920700 +Ref: Symbol table by cookie-Footnote-1924830 +Node: Cached values924893 +Ref: Cached values-Footnote-1928342 +Node: Array Manipulation928433 +Ref: Array Manipulation-Footnote-1929531 +Node: Array Data Types929570 +Ref: Array Data Types-Footnote-1932273 +Node: Array Functions932365 +Node: Flattening Arrays936131 +Node: Creating Arrays942983 +Node: Extension API Variables947708 +Node: Extension Versioning948344 +Node: Extension API Informational Variables950245 +Node: Extension API Boilerplate951331 +Node: Finding Extensions955135 +Node: Extension Example955695 +Node: Internal File Description956425 +Node: Internal File Ops960516 +Ref: Internal File Ops-Footnote-1972024 +Node: Using Internal File Ops972164 +Ref: Using Internal File Ops-Footnote-1974517 +Node: Extension Samples974783 +Node: Extension Sample File Functions976307 +Node: Extension Sample Fnmatch984792 +Node: Extension Sample Fork986518 +Node: Extension Sample Inplace987736 +Node: Extension Sample Ord989514 +Node: Extension Sample Readdir990350 +Node: Extension Sample Revout991882 +Node: Extension Sample Rev2way992475 +Node: Extension Sample Read write array993165 +Node: Extension Sample Readfile995048 +Node: Extension Sample API Tests995866 +Node: Extension Sample Time996391 +Node: gawkextlib997755 +Node: Language History1000536 +Node: V7/SVR3.11002129 +Node: SVR41004449 +Node: POSIX1005891 +Node: BTL1007277 +Node: POSIX/GNU1008011 +Node: Feature History1013610 +Node: Common Extensions1026574 +Node: Ranges and Locales1027886 +Ref: Ranges and Locales-Footnote-11032504 +Ref: Ranges and Locales-Footnote-21032531 +Ref: Ranges and Locales-Footnote-31032791 +Node: Contributors1033012 +Node: Installation1038157 +Node: Gawk Distribution1039051 +Node: Getting1039535 +Node: Extracting1040361 +Node: Distribution contents1042053 +Node: Unix Installation1047758 +Node: Quick Installation1048375 +Node: Additional Configuration Options1050819 +Node: Configuration Philosophy1052555 +Node: Non-Unix Installation1054909 +Node: PC Installation1055367 +Node: PC Binary Installation1056666 +Node: PC Compiling1058514 +Node: PC Testing1061458 +Node: PC Using1062634 +Node: Cygwin1066819 +Node: MSYS1067819 +Node: VMS Installation1068333 +Node: VMS Compilation1069097 +Ref: VMS Compilation-Footnote-11070712 +Node: VMS Dynamic Extensions1070770 +Node: VMS Installation Details1072143 +Node: VMS Running1074390 +Node: VMS GNV1077224 +Node: VMS Old Gawk1077947 +Node: Bugs1078417 +Node: Other Versions1082335 +Node: Notes1088419 +Node: Compatibility Mode1089219 +Node: Additions1090002 +Node: Accessing The Source1090929 +Node: Adding Code1092369 +Node: New Ports1098414 +Node: Derived Files1102549 +Ref: Derived Files-Footnote-11107870 +Ref: Derived Files-Footnote-21107904 +Ref: Derived Files-Footnote-31108504 +Node: Future Extensions1108602 +Node: Implementation Limitations1109185 +Node: Extension Design1110437 +Node: Old Extension Problems1111591 +Ref: Old Extension Problems-Footnote-11113099 +Node: Extension New Mechanism Goals1113156 +Ref: Extension New Mechanism Goals-Footnote-11116521 +Node: Extension Other Design Decisions1116707 +Node: Extension Future Growth1118813 +Node: Old Extension Mechanism1119649 +Node: Basic Concepts1121389 +Node: Basic High Level1122070 +Ref: figure-general-flow1122341 +Ref: figure-process-flow1122940 +Ref: Basic High Level-Footnote-11126169 +Node: Basic Data Typing1126354 +Node: Glossary1129709 +Node: Copying1155171 +Node: GNU Free Documentation License1192728 +Node: Index1217865  End Tag Table -- cgit v1.2.3 From 7292540a9f11befc187bc77e56846f94ec0bda58 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 7 Feb 2014 14:32:46 +0200 Subject: Doc updates. --- doc/gawk.info | 1166 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 577 insertions(+), 589 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 329f15d3..6523199c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1816,18 +1816,8 @@ and the first four months of the current year. Mar 24 75 70 495 Apr 21 70 74 514 - If you are reading this in GNU Emacs using Info, you can copy the -regions of text showing these sample files into your own test files. -This way you can try out the examples shown in the remainder of this -document. You do this by using the command `M-x write-region' to copy -text from the Info file into a file for use with `awk' (*Note -Miscellaneous File Operations: (emacs)Misc File Ops, for more -information). Using this information, create your own `BBS-list' and -`inventory-shipped' files and practice what you learn in this Info file. - - If you are using the stand-alone version of Info, see *note Extract -Program::, for an `awk' program that extracts these data files from -`gawk.texi', the (generated) Texinfo source file for this Info file. + The sample files are included in the `gawk' distribution, in the +directory `awklib/eg/data'.  File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, Up: Getting Started @@ -2238,7 +2228,7 @@ File: gawk.info, Node: Invoking Gawk, Next: Regexp, Prev: Getting Started, U 2 Running `awk' and `gawk' ************************** -This major node covers how to run awk, both POSIX-standard and +This major node covers how to run `awk', both POSIX-standard and `gawk'-specific command-line options, and what `awk' and `gawk' do with non-option arguments. It then proceeds to cover how `gawk' searches for source files, reading standard input along with other files, @@ -2314,22 +2304,8 @@ The following list describes options mandated by the POSIX standard: `--file SOURCE-FILE' Read `awk' program source from SOURCE-FILE instead of in the first non-option argument. This option may be given multiple times; the - `awk' program consists of the concatenation the contents of each - specified SOURCE-FILE. - -`-i SOURCE-FILE' -`--include SOURCE-FILE' - Read `awk' source library from SOURCE-FILE. This option is - completely equivalent to using the `@include' directive inside - your program. This option is very similar to the `-f' option, but - there are two important differences. First, when `-i' is used, - the program source will not be loaded if it has been previously - loaded, whereas the `-f' will always load the file. Second, - because this option is intended to be used with code libraries, - `gawk' does not recognize such files as constituting main program - input. Thus, after processing an `-i' argument, `gawk' still - expects to find the main source code via the `-f' option or on the - command-line. + `awk' program consists of the concatenation of the contents of + each specified SOURCE-FILE. `-v VAR=VAL' `--assign VAR=VAL' @@ -2458,6 +2434,20 @@ The following list describes options mandated by the POSIX standard: Print a "usage" message summarizing the short and long style options that `gawk' accepts and then exit. +`-i SOURCE-FILE' +`--include SOURCE-FILE' + Read `awk' source library from SOURCE-FILE. This option is + completely equivalent to using the `@include' directive inside + your program. This option is very similar to the `-f' option, but + there are two important differences. First, when `-i' is used, + the program source will not be loaded if it has been previously + loaded, whereas the `-f' will always load the file. Second, + because this option is intended to be used with code libraries, + `gawk' does not recognize such files as constituting main program + input. Thus, after processing an `-i' argument, `gawk' still + expects to find the main source code via the `-f' option or on the + command-line. + `-l LIB' `--load LIB' Load a shared library LIB. This searches for the library using the @@ -4765,14 +4755,15 @@ File: gawk.info, Node: Constant Size, Next: Splitting By Content, Prev: Field 4.6 Reading Fixed-Width Data ============================ -(This minor node discusses an advanced feature of `awk'. If you are a -novice `awk' user, you might want to skip it on the first reading.) + NOTE: This minor node discusses an advanced feature of `gawk'. If + you are a novice `awk' user, you might want to skip it on the + first reading. -`gawk' provides a facility for dealing with fixed-width fields with no -distinctive field separator. For example, data of this nature arises -in the input for old Fortran programs where numbers are run together, -or in the output of programs that did not anticipate the use of their -output as input for other programs. + `gawk' provides a facility for dealing with fixed-width fields with +no distinctive field separator. For example, data of this nature +arises in the input for old Fortran programs where numbers are run +together, or in the output of programs that did not anticipate the use +of their output as input for other programs. An example of the latter is a table where all the columns are lined up by the use of a variable number of spaces and _empty fields are just @@ -4871,10 +4862,11 @@ File: gawk.info, Node: Splitting By Content, Next: Multiple Line, Prev: Const 4.7 Defining Fields By Content ============================== -(This minor node discusses an advanced feature of `awk'. If you are a -novice `awk' user, you might want to skip it on the first reading.) + NOTE: This minor node discusses an advanced feature of `gawk'. If + you are a novice `awk' user, you might want to skip it on the + first reading. -Normally, when using `FS', `gawk' defines the fields as the parts of + Normally, when using `FS', `gawk' defines the fields as the parts of the record that occur in between each field separator. In other words, `FS' defines what a field _is not_, instead of what a field _is_. However, there are times when you really want to define the fields by @@ -21880,11 +21872,8 @@ that use them. allowing `gawk' to use them as it needs to. `typedef enum awk_bool {' - ` awk_false = 0,' - ` awk_true' - `} awk_bool_t;' A simple boolean type. @@ -30005,13 +29994,13 @@ Index * - (hyphen), -- operator: Increment Ops. (line 48) * - (hyphen), -= operator <1>: Precedence. (line 95) * - (hyphen), -= operator: Assignment Ops. (line 129) -* - (hyphen), filenames beginning with: Options. (line 73) +* - (hyphen), filenames beginning with: Options. (line 59) * - (hyphen), in bracket expressions: Bracket Expressions. (line 17) -* --assign option: Options. (line 46) +* --assign option: Options. (line 32) * --bignum option: Options. (line 201) -* --characters-as-bytes option: Options. (line 82) -* --copyright option: Options. (line 102) -* --debug option: Options. (line 122) +* --characters-as-bytes option: Options. (line 68) +* --copyright option: Options. (line 88) +* --debug option: Options. (line 108) * --disable-extensions configuration option: Additional Configuration Options. (line 9) * --disable-lint configuration option: Additional Configuration Options. @@ -30019,14 +30008,14 @@ Index * --disable-nls configuration option: Additional Configuration Options. (line 30) * --dump-variables option <1>: Library Names. (line 45) -* --dump-variables option: Options. (line 107) -* --exec option: Options. (line 139) +* --dump-variables option: Options. (line 93) +* --exec option: Options. (line 125) * --field-separator option: Options. (line 21) * --file option: Options. (line 25) * --gen-pot option <1>: String Extraction. (line 6) -* --gen-pot option: Options. (line 161) -* --help option: Options. (line 168) -* --include option: Options. (line 32) +* --gen-pot option: Options. (line 147) +* --help option: Options. (line 154) +* --include option: Options. (line 159) * --lint option <1>: Options. (line 182) * --lint option: Command Line. (line 20) * --lint-old option: Options. (line 288) @@ -30048,20 +30037,20 @@ Index * --sandbox option, input redirection with getline: Getline. (line 19) * --sandbox option, output redirection with print, printf: Redirection. (line 6) -* --source option: Options. (line 131) -* --traditional option: Options. (line 95) +* --source option: Options. (line 117) +* --traditional option: Options. (line 81) * --traditional option, --posix option and: Options. (line 266) * --use-lc-numeric option: Options. (line 215) * --version option: Options. (line 293) * --with-whiny-user-strftime configuration option: Additional Configuration Options. (line 35) -* -b option: Options. (line 82) -* -C option: Options. (line 102) -* -c option: Options. (line 95) -* -D option: Options. (line 122) -* -d option: Options. (line 107) -* -E option: Options. (line 139) -* -e option: Options. (line 131) +* -b option: Options. (line 68) +* -C option: Options. (line 88) +* -c option: Options. (line 81) +* -D option: Options. (line 108) +* -d option: Options. (line 93) +* -E option: Options. (line 125) +* -e option: Options. (line 117) * -F option: Command Line Field Separator. (line 6) * -f option: Options. (line 25) @@ -30069,9 +30058,9 @@ Index * -f option: Long. (line 12) * -F option, -Ft sets FS to TAB: Options. (line 301) * -f option, multiple uses: Options. (line 306) -* -g option: Options. (line 161) -* -h option: Options. (line 168) -* -i option: Options. (line 32) +* -g option: Options. (line 147) +* -h option: Options. (line 154) +* -i option: Options. (line 159) * -L option: Options. (line 288) * -l option: Options. (line 173) * -M option: Options. (line 201) @@ -30085,8 +30074,8 @@ Index * -S option: Options. (line 279) * -v option: Assignment Options. (line 12) * -V option: Options. (line 293) -* -v option: Options. (line 46) -* -W option: Options. (line 60) +* -v option: Options. (line 32) +* -W option: Options. (line 46) * . (period): Regexp Operators. (line 43) * .gmo files: Explaining gettext. (line 41) * .gmo files, converting from .po: I18N Example. (line 62) @@ -30215,7 +30204,7 @@ Index * Ada programming language: Glossary. (line 20) * adding, features to gawk: Adding Code. (line 6) * adding, fields: Changing Fields. (line 53) -* advanced features, fixed-width data: Constant Size. (line 9) +* advanced features, fixed-width data: Constant Size. (line 10) * advanced features, gawk: Advanced Features. (line 6) * advanced features, network connections, See Also networks, connections: Advanced Features. (line 6) @@ -30224,7 +30213,7 @@ Index * advanced features, processes, communicating with: Two-way I/O. (line 23) * advanced features, specifying field content: Splitting By Content. - (line 9) + (line 10) * Aho, Alfred <1>: Contributors. (line 11) * Aho, Alfred: History. (line 17) * alarm clock example program: Alarm Program. (line 9) @@ -30326,7 +30315,7 @@ Index * asterisk (*), *= operator: Assignment Ops. (line 129) * atan2() function: Numeric Functions. (line 11) * awf (amazingly workable formatter) program: Glossary. (line 25) -* awk debugging, enabling: Options. (line 122) +* awk debugging, enabling: Options. (line 108) * awk language, POSIX version: Assignment Ops. (line 136) * awk profiling, enabling: Options. (line 235) * awk programs <1>: Two Rules. (line 6) @@ -30384,7 +30373,7 @@ Index * AWKPATH environment variable: AWKPATH Variable. (line 6) * awkprof.out file: Profiling. (line 6) * awksed.awk program: Simple Sed. (line 25) -* awkvars.out file: Options. (line 107) +* awkvars.out file: Options. (line 93) * b debugger command (alias for break): Breakpoint Control. (line 11) * backslash (\) <1>: Regexp Operators. (line 18) * backslash (\) <2>: Quoting. (line 31) @@ -30528,7 +30517,7 @@ Index * built-in functions: Functions. (line 6) * built-in functions, evaluation order: Calling Built-in. (line 30) * built-in variables: Built-in Variables. (line 6) -* built-in variables, -v option, setting with: Options. (line 54) +* built-in variables, -v option, setting with: Options. (line 40) * built-in variables, conveying information: Auto-set. (line 6) * built-in variables, user-modifiable: User-modified. (line 6) * Busybox Awk: Other Versions. (line 88) @@ -30551,7 +30540,7 @@ Index * case sensitivity, regexps and <1>: User-modified. (line 82) * case sensitivity, regexps and: Case-sensitivity. (line 6) * case sensitivity, string comparisons and: User-modified. (line 82) -* CGI, awk scripts for: Options. (line 139) +* CGI, awk scripts for: Options. (line 125) * character lists, See bracket expressions: Regexp Operators. (line 55) * character sets (machine character encodings) <1>: Glossary. (line 141) * character sets (machine character encodings): Ordinal Functions. @@ -30604,7 +30593,7 @@ Index (line 6) * command line, options <2>: Options. (line 6) * command line, options: Long. (line 12) -* command line, options, end of: Options. (line 68) +* command line, options, end of: Options. (line 54) * command line, variables, assigning on: Assignment Options. (line 6) * command-line options, processing: Getopt Function. (line 6) * command-line options, string extraction: String Extraction. (line 6) @@ -30638,7 +30627,7 @@ Index (line 60) * compatibility mode (gawk), octal numbers: Nondecimal-numbers. (line 60) -* compatibility mode (gawk), specifying: Options. (line 95) +* compatibility mode (gawk), specifying: Options. (line 81) * compiled programs <1>: Glossary. (line 165) * compiled programs: Basic High Level. (line 15) * compiling gawk for Cygwin: Cygwin. (line 6) @@ -30743,7 +30732,7 @@ Index * dark corner, split() function: String Functions. (line 358) * dark corner, strings, storing: Records. (line 195) * dark corner, value of ARGV[0]: Auto-set. (line 35) -* data, fixed-width: Constant Size. (line 9) +* data, fixed-width: Constant Size. (line 10) * data-driven languages: Basic High Level. (line 85) * database, group, reading: Group Functions. (line 6) * database, users, reading: Passwd Functions. (line 6) @@ -31131,7 +31120,7 @@ Index * fields, single-character: Single Character Fields. (line 6) * FIELDWIDTHS variable <1>: User-modified. (line 35) -* FIELDWIDTHS variable: Constant Size. (line 22) +* FIELDWIDTHS variable: Constant Size. (line 23) * file descriptors: Special FD. (line 6) * file names, distinguishing: Auto-set. (line 52) * file names, in compatibility mode: Special Caveats. (line 9) @@ -31155,7 +31144,7 @@ Index * files, as single records: Records. (line 200) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 6) -* files, awkvars.out: Options. (line 107) +* files, awkvars.out: Options. (line 93) * files, closing: I/O Functions. (line 10) * files, descriptors, See file descriptors: Special FD. (line 6) * files, group: Group Functions. (line 6) @@ -31182,7 +31171,7 @@ Index * files, portable object template: Explaining gettext. (line 30) * files, portable object, converting to message object files: I18N Example. (line 62) -* files, portable object, generating: Options. (line 161) +* files, portable object, generating: Options. (line 147) * files, processing, ARGIND variable and: Auto-set. (line 47) * files, reading: Rewind Function. (line 6) * files, reading, multiline records: Multiple Line. (line 6) @@ -31194,7 +31183,7 @@ Index * finish debugger command: Debugger Execution Control. (line 39) * Fish, Fred: Contributors. (line 50) -* fixed-width data: Constant Size. (line 9) +* fixed-width data: Constant Size. (line 10) * flag variables <1>: Tee Program. (line 20) * flag variables: Boolean Ops. (line 67) * floating-point numbers, arbitrary precision: Arbitrary Precision Arithmetic. @@ -31228,7 +31217,7 @@ Index * forward slash (/), patterns and: Expression Patterns. (line 24) * FPAT variable <1>: User-modified. (line 45) * FPAT variable: Splitting By Content. - (line 26) + (line 27) * frame debugger command: Execution Stack. (line 25) * Free Documentation License (FDL): GNU Free Documentation License. (line 6) @@ -31333,12 +31322,12 @@ Index * gawk, features, advanced: Advanced Features. (line 6) * gawk, field separators and: User-modified. (line 77) * gawk, FIELDWIDTHS variable in <1>: User-modified. (line 35) -* gawk, FIELDWIDTHS variable in: Constant Size. (line 22) +* gawk, FIELDWIDTHS variable in: Constant Size. (line 23) * gawk, file names in: Special Files. (line 6) * gawk, format-control characters: Control Letters. (line 18) * gawk, FPAT variable in <1>: User-modified. (line 45) * gawk, FPAT variable in: Splitting By Content. - (line 26) + (line 27) * gawk, FUNCTAB array in: Auto-set. (line 119) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) @@ -31385,7 +31374,7 @@ Index * gawk, RT variable in: Records. (line 117) * gawk, See Also awk: Preface. (line 36) * gawk, source code, obtaining: Getting. (line 6) -* gawk, splitting fields and: Constant Size. (line 87) +* gawk, splitting fields and: Constant Size. (line 88) * gawk, string-translation functions: I18N Functions. (line 6) * gawk, SYMTAB array in: Auto-set. (line 274) * gawk, TEXTDOMAIN variable in: User-modified. (line 162) @@ -31451,7 +31440,7 @@ Index * GNU Lesser General Public License: Glossary. (line 405) * GNU long options <1>: Options. (line 6) * GNU long options: Command Line. (line 13) -* GNU long options, printing list of: Options. (line 168) +* GNU long options, printing list of: Options. (line 154) * GNU Project <1>: Glossary. (line 323) * GNU Project: Manual History. (line 11) * GNU/Linux <1>: Glossary. (line 624) @@ -31459,7 +31448,7 @@ Index * GNU/Linux: Manual History. (line 28) * GPL (General Public License) <1>: Glossary. (line 314) * GPL (General Public License): Manual History. (line 11) -* GPL (General Public License), printing: Options. (line 102) +* GPL (General Public License), printing: Options. (line 88) * grcat program: Group Functions. (line 16) * Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) @@ -31490,7 +31479,7 @@ Index * hyphen (-), -- operator: Increment Ops. (line 48) * hyphen (-), -= operator <1>: Precedence. (line 95) * hyphen (-), -= operator: Assignment Ops. (line 129) -* hyphen (-), filenames beginning with: Options. (line 73) +* hyphen (-), filenames beginning with: Options. (line 59) * hyphen (-), in bracket expressions: Bracket Expressions. (line 17) * i debugger command (alias for info): Debugger Info. (line 13) * id utility: Id Program. (line 6) @@ -31883,13 +31872,13 @@ Index (line 6) * options, command-line <2>: Options. (line 6) * options, command-line: Long. (line 12) -* options, command-line, end of: Options. (line 68) +* options, command-line, end of: Options. (line 54) * options, command-line, invoking awk: Command Line. (line 6) * options, command-line, processing: Getopt Function. (line 6) * options, deprecated: Obsolete. (line 6) * options, long <1>: Options. (line 6) * options, long: Command Line. (line 13) -* options, printing list of: Options. (line 168) +* options, printing list of: Options. (line 154) * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) * or() function (gawk): Bitwise Functions. (line 49) @@ -31985,7 +31974,7 @@ Index * portable object files: Explaining gettext. (line 36) * portable object files, converting to message object files: I18N Example. (line 62) -* portable object files, generating: Options. (line 161) +* portable object files, generating: Options. (line 147) * portable object template files: Explaining gettext. (line 30) * porting gawk: New Ports. (line 6) * positional specifiers, printf statement <1>: Printf Ordering. @@ -32069,7 +32058,7 @@ Index * printf statement, sprintf() function and: Round Function. (line 6) * printf statement, syntax of: Basic Printf. (line 6) * printing: Printing. (line 6) -* printing, list of options: Options. (line 168) +* printing, list of options: Options. (line 154) * printing, mailing labels: Labels Program. (line 6) * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) @@ -32409,7 +32398,7 @@ Index * source code, jawk: Other Versions. (line 112) * source code, libmawk: Other Versions. (line 120) * source code, mawk: Other Versions. (line 44) -* source code, mixing: Options. (line 131) +* source code, mixing: Options. (line 117) * source code, pawk: Other Versions. (line 78) * source code, QSE Awk: Other Versions. (line 130) * source code, QuikTrim Awk: Other Versions. (line 134) @@ -32511,7 +32500,6 @@ Index * Texinfo <3>: Extract Program. (line 12) * Texinfo <4>: Dupword Program. (line 17) * Texinfo <5>: Library Functions. (line 33) -* Texinfo <6>: Sample Data Files. (line 66) * Texinfo: Conventions. (line 6) * Texinfo, chapter beginnings in files: Regexp Operators. (line 22) * Texinfo, extracting programs from source files: Extract Program. @@ -32555,7 +32543,7 @@ Index (line 112) * troubleshooting, division: Arithmetic Ops. (line 44) * troubleshooting, fatal errors, field widths, specifying: Constant Size. - (line 22) + (line 23) * troubleshooting, fatal errors, printf format strings: Format Modifiers. (line 159) * troubleshooting, fflush() function: I/O Functions. (line 60) @@ -32579,7 +32567,7 @@ Index * troubleshooting, substr() function: String Functions. (line 496) * troubleshooting, system() function: I/O Functions. (line 94) * troubleshooting, typographical errors, global variables: Options. - (line 112) + (line 98) * true, logical: Truth Values. (line 6) * Trueman, David <1>: Contributors. (line 30) * Trueman, David <2>: Acknowledgments. (line 47) @@ -32635,7 +32623,7 @@ Index * variables, assigning on command line: Assignment Options. (line 6) * variables, built-in <1>: Built-in Variables. (line 6) * variables, built-in: Using Variables. (line 20) -* variables, built-in, -v option, setting with: Options. (line 54) +* variables, built-in, -v option, setting with: Options. (line 40) * variables, built-in, conveying information: Auto-set. (line 6) * variables, flag: Boolean Ops. (line 67) * variables, getline command into, using <1>: Getline/Variable/Coprocess. @@ -32646,12 +32634,12 @@ Index (line 6) * variables, getline command into, using: Getline/Variable. (line 6) * variables, global, for library functions: Library Names. (line 11) -* variables, global, printing list of: Options. (line 107) +* variables, global, printing list of: Options. (line 93) * variables, initializing: Using Variables. (line 20) * variables, local: Variable Scope. (line 6) * variables, names of: Arrays. (line 18) * variables, private: Library Names. (line 11) -* variables, setting: Options. (line 46) +* variables, setting: Options. (line 32) * variables, shadowing: Definition Syntax. (line 61) * variables, types of: Assignment Ops. (line 40) * variables, types of, comparison expressions and: Typing and Comparison. @@ -32670,7 +32658,7 @@ Index * Vinschen, Corinna: Acknowledgments. (line 60) * w debugger command (alias for watch): Viewing And Changing Data. (line 67) -* w utility: Constant Size. (line 22) +* w utility: Constant Size. (line 23) * wait() extension function: Extension Sample Fork. (line 22) * waitpid() extension function: Extension Sample Fork. @@ -32774,496 +32762,496 @@ Node: Comments80181 Node: Quoting82648 Node: DOS Quoting87271 Node: Sample Data Files87946 -Node: Very Simple90990 -Node: Two Rules95589 -Node: More Complex97736 -Ref: More Complex-Footnote-1100666 -Node: Statements/Lines100751 -Ref: Statements/Lines-Footnote-1105213 -Node: Other Features105478 -Node: When106406 -Node: Invoking Gawk108553 -Node: Command Line110014 -Node: Options110797 -Ref: Options-Footnote-1126189 -Node: Other Arguments126214 -Node: Naming Standard Input128872 -Node: Environment Variables129966 -Node: AWKPATH Variable130524 -Ref: AWKPATH Variable-Footnote-1133282 -Node: AWKLIBPATH Variable133542 -Node: Other Environment Variables134260 -Node: Exit Status137223 -Node: Include Files137898 -Node: Loading Shared Libraries141467 -Node: Obsolete142831 -Node: Undocumented143528 -Node: Regexp143770 -Node: Regexp Usage145159 -Node: Escape Sequences147185 -Node: Regexp Operators152854 -Ref: Regexp Operators-Footnote-1160234 -Ref: Regexp Operators-Footnote-2160381 -Node: Bracket Expressions160479 -Ref: table-char-classes162369 -Node: GNU Regexp Operators164892 -Node: Case-sensitivity168615 -Ref: Case-sensitivity-Footnote-1171583 -Ref: Case-sensitivity-Footnote-2171818 -Node: Leftmost Longest171926 -Node: Computed Regexps173127 -Node: Reading Files176464 -Node: Records178466 -Ref: Records-Footnote-1187355 -Node: Fields187392 -Ref: Fields-Footnote-1190425 -Node: Nonconstant Fields190511 -Node: Changing Fields192713 -Node: Field Separators198672 -Node: Default Field Splitting201374 -Node: Regexp Field Splitting202491 -Node: Single Character Fields205833 -Node: Command Line Field Separator206892 -Node: Full Line Fields210326 -Ref: Full Line Fields-Footnote-1210834 -Node: Field Splitting Summary210880 -Ref: Field Splitting Summary-Footnote-1213979 -Node: Constant Size214080 -Node: Splitting By Content218664 -Ref: Splitting By Content-Footnote-1222390 -Node: Multiple Line222430 -Ref: Multiple Line-Footnote-1228277 -Node: Getline228456 -Node: Plain Getline230672 -Node: Getline/Variable232767 -Node: Getline/File233914 -Node: Getline/Variable/File235255 -Ref: Getline/Variable/File-Footnote-1236854 -Node: Getline/Pipe236941 -Node: Getline/Variable/Pipe239640 -Node: Getline/Coprocess240747 -Node: Getline/Variable/Coprocess241999 -Node: Getline Notes242736 -Node: Getline Summary245523 -Ref: table-getline-variants245931 -Node: Read Timeout246843 -Ref: Read Timeout-Footnote-1250584 -Node: Command line directories250641 -Node: Printing251271 -Node: Print252902 -Node: Print Examples254239 -Node: Output Separators257023 -Node: OFMT258783 -Node: Printf260141 -Node: Basic Printf261047 -Node: Control Letters262586 -Node: Format Modifiers266398 -Node: Printf Examples272407 -Node: Redirection275122 -Node: Special Files282087 -Node: Special FD282620 -Ref: Special FD-Footnote-1286245 -Node: Special Network286319 -Node: Special Caveats287169 -Node: Close Files And Pipes287965 -Ref: Close Files And Pipes-Footnote-1294948 -Ref: Close Files And Pipes-Footnote-2295096 -Node: Expressions295246 -Node: Values296378 -Node: Constants297054 -Node: Scalar Constants297734 -Ref: Scalar Constants-Footnote-1298593 -Node: Nondecimal-numbers298775 -Node: Regexp Constants301775 -Node: Using Constant Regexps302250 -Node: Variables305305 -Node: Using Variables305960 -Node: Assignment Options307684 -Node: Conversion309556 -Ref: table-locale-affects315057 -Ref: Conversion-Footnote-1315681 -Node: All Operators315790 -Node: Arithmetic Ops316420 -Node: Concatenation318925 -Ref: Concatenation-Footnote-1321717 -Node: Assignment Ops321837 -Ref: table-assign-ops326825 -Node: Increment Ops328156 -Node: Truth Values and Conditions331590 -Node: Truth Values332673 -Node: Typing and Comparison333722 -Node: Variable Typing334515 -Ref: Variable Typing-Footnote-1338412 -Node: Comparison Operators338534 -Ref: table-relational-ops338944 -Node: POSIX String Comparison342492 -Ref: POSIX String Comparison-Footnote-1343448 -Node: Boolean Ops343586 -Ref: Boolean Ops-Footnote-1347664 -Node: Conditional Exp347755 -Node: Function Calls349487 -Node: Precedence353081 -Node: Locales356750 -Node: Patterns and Actions357839 -Node: Pattern Overview358893 -Node: Regexp Patterns360562 -Node: Expression Patterns361105 -Node: Ranges364790 -Node: BEGIN/END367756 -Node: Using BEGIN/END368518 -Ref: Using BEGIN/END-Footnote-1371249 -Node: I/O And BEGIN/END371355 -Node: BEGINFILE/ENDFILE373637 -Node: Empty376551 -Node: Using Shell Variables376867 -Node: Action Overview379152 -Node: Statements381509 -Node: If Statement383363 -Node: While Statement384862 -Node: Do Statement386906 -Node: For Statement388062 -Node: Switch Statement391214 -Node: Break Statement393311 -Node: Continue Statement395301 -Node: Next Statement397094 -Node: Nextfile Statement399484 -Node: Exit Statement402127 -Node: Built-in Variables404543 -Node: User-modified405638 -Ref: User-modified-Footnote-1413996 -Node: Auto-set414058 -Ref: Auto-set-Footnote-1427136 -Ref: Auto-set-Footnote-2427341 -Node: ARGC and ARGV427397 -Node: Arrays431248 -Node: Array Basics432753 -Node: Array Intro433579 -Node: Reference to Elements437896 -Node: Assigning Elements440166 -Node: Array Example440657 -Node: Scanning an Array442389 -Node: Controlling Scanning444703 -Ref: Controlling Scanning-Footnote-1449790 -Node: Delete450106 -Ref: Delete-Footnote-1452871 -Node: Numeric Array Subscripts452928 -Node: Uninitialized Subscripts455111 -Node: Multidimensional456738 -Node: Multiscanning459831 -Node: Arrays of Arrays461420 -Node: Functions466060 -Node: Built-in466879 -Node: Calling Built-in467957 -Node: Numeric Functions469945 -Ref: Numeric Functions-Footnote-1473777 -Ref: Numeric Functions-Footnote-2474134 -Ref: Numeric Functions-Footnote-3474182 -Node: String Functions474451 -Ref: String Functions-Footnote-1497371 -Ref: String Functions-Footnote-2497500 -Ref: String Functions-Footnote-3497748 -Node: Gory Details497835 -Ref: table-sub-escapes499514 -Ref: table-sub-posix-92500868 -Ref: table-sub-proposed502219 -Ref: table-posix-sub503573 -Ref: table-gensub-escapes505118 -Ref: Gory Details-Footnote-1506294 -Ref: Gory Details-Footnote-2506345 -Node: I/O Functions506496 -Ref: I/O Functions-Footnote-1513481 -Node: Time Functions513628 -Ref: Time Functions-Footnote-1524561 -Ref: Time Functions-Footnote-2524629 -Ref: Time Functions-Footnote-3524787 -Ref: Time Functions-Footnote-4524898 -Ref: Time Functions-Footnote-5525010 -Ref: Time Functions-Footnote-6525237 -Node: Bitwise Functions525503 -Ref: table-bitwise-ops526065 -Ref: Bitwise Functions-Footnote-1530286 -Node: Type Functions530470 -Node: I18N Functions531621 -Node: User-defined533248 -Node: Definition Syntax534052 -Ref: Definition Syntax-Footnote-1538962 -Node: Function Example539031 -Node: Function Caveats541625 -Node: Calling A Function542046 -Node: Variable Scope543161 -Node: Pass By Value/Reference546124 -Node: Return Statement549632 -Node: Dynamic Typing552613 -Node: Indirect Calls553544 -Node: Library Functions563229 -Ref: Library Functions-Footnote-1566742 -Ref: Library Functions-Footnote-2566885 -Node: Library Names567056 -Ref: Library Names-Footnote-1570527 -Ref: Library Names-Footnote-2570747 -Node: General Functions570833 -Node: Strtonum Function571861 -Node: Assert Function574791 -Node: Round Function578117 -Node: Cliff Random Function579660 -Node: Ordinal Functions580676 -Ref: Ordinal Functions-Footnote-1583748 -Ref: Ordinal Functions-Footnote-2584000 -Node: Join Function584209 -Ref: Join Function-Footnote-1585980 -Node: Getlocaltime Function586180 -Node: Readfile Function589921 -Node: Data File Management591760 -Node: Filetrans Function592392 -Node: Rewind Function596461 -Node: File Checking597848 -Node: Empty Files598942 -Node: Ignoring Assigns601172 -Node: Getopt Function602725 -Ref: Getopt Function-Footnote-1614028 -Node: Passwd Functions614231 -Ref: Passwd Functions-Footnote-1623206 -Node: Group Functions623294 -Node: Walking Arrays631378 -Node: Sample Programs633515 -Node: Running Examples634189 -Node: Clones634917 -Node: Cut Program636141 -Node: Egrep Program645986 -Ref: Egrep Program-Footnote-1653759 -Node: Id Program653869 -Node: Split Program657485 -Ref: Split Program-Footnote-1661004 -Node: Tee Program661132 -Node: Uniq Program663935 -Node: Wc Program671364 -Ref: Wc Program-Footnote-1675630 -Ref: Wc Program-Footnote-2675830 -Node: Miscellaneous Programs675922 -Node: Dupword Program677110 -Node: Alarm Program679141 -Node: Translate Program683894 -Ref: Translate Program-Footnote-1688281 -Ref: Translate Program-Footnote-2688529 -Node: Labels Program688663 -Ref: Labels Program-Footnote-1692034 -Node: Word Sorting692118 -Node: History Sorting696002 -Node: Extract Program697841 -Ref: Extract Program-Footnote-1705344 -Node: Simple Sed705472 -Node: Igawk Program708534 -Ref: Igawk Program-Footnote-1723691 -Ref: Igawk Program-Footnote-2723892 -Node: Anagram Program724030 -Node: Signature Program727098 -Node: Advanced Features728198 -Node: Nondecimal Data730084 -Node: Array Sorting731667 -Node: Controlling Array Traversal732364 -Node: Array Sorting Functions740648 -Ref: Array Sorting Functions-Footnote-1744517 -Node: Two-way I/O744711 -Ref: Two-way I/O-Footnote-1750143 -Node: TCP/IP Networking750213 -Node: Profiling753057 -Node: Internationalization760554 -Node: I18N and L10N761979 -Node: Explaining gettext762665 -Ref: Explaining gettext-Footnote-1767733 -Ref: Explaining gettext-Footnote-2767917 -Node: Programmer i18n768082 -Node: Translator i18n772284 -Node: String Extraction773077 -Ref: String Extraction-Footnote-1774038 -Node: Printf Ordering774124 -Ref: Printf Ordering-Footnote-1776908 -Node: I18N Portability776972 -Ref: I18N Portability-Footnote-1779421 -Node: I18N Example779484 -Ref: I18N Example-Footnote-1782122 -Node: Gawk I18N782194 -Node: Debugger782815 -Node: Debugging783786 -Node: Debugging Concepts784219 -Node: Debugging Terms786075 -Node: Awk Debugging788672 -Node: Sample Debugging Session789564 -Node: Debugger Invocation790084 -Node: Finding The Bug791416 -Node: List of Debugger Commands797904 -Node: Breakpoint Control799238 -Node: Debugger Execution Control802902 -Node: Viewing And Changing Data806262 -Node: Execution Stack809618 -Node: Debugger Info811085 -Node: Miscellaneous Debugger Commands815067 -Node: Readline Support820243 -Node: Limitations821074 -Node: Arbitrary Precision Arithmetic823326 -Ref: Arbitrary Precision Arithmetic-Footnote-1824975 -Node: General Arithmetic825123 -Node: Floating Point Issues826843 -Node: String Conversion Precision827724 -Ref: String Conversion Precision-Footnote-1829429 -Node: Unexpected Results829538 -Node: POSIX Floating Point Problems831691 -Ref: POSIX Floating Point Problems-Footnote-1835516 -Node: Integer Programming835554 -Node: Floating-point Programming837293 -Ref: Floating-point Programming-Footnote-1843624 -Ref: Floating-point Programming-Footnote-2843894 -Node: Floating-point Representation844158 -Node: Floating-point Context845323 -Ref: table-ieee-formats846162 -Node: Rounding Mode847546 -Ref: table-rounding-modes848025 -Ref: Rounding Mode-Footnote-1851040 -Node: Gawk and MPFR851219 -Node: Arbitrary Precision Floats852474 -Ref: Arbitrary Precision Floats-Footnote-1854917 -Node: Setting Precision855233 -Ref: table-predefined-precision-strings855919 -Node: Setting Rounding Mode858064 -Ref: table-gawk-rounding-modes858468 -Node: Floating-point Constants859655 -Node: Changing Precision861084 -Ref: Changing Precision-Footnote-1862481 -Node: Exact Arithmetic862655 -Node: Arbitrary Precision Integers865793 -Ref: Arbitrary Precision Integers-Footnote-1868811 -Node: Dynamic Extensions868958 -Node: Extension Intro870416 -Node: Plugin License871681 -Node: Extension Mechanism Outline872366 -Ref: load-extension872783 -Ref: load-new-function874261 -Ref: call-new-function875256 -Node: Extension API Description877271 -Node: Extension API Functions Introduction878484 -Node: General Data Types883350 -Ref: General Data Types-Footnote-1888955 -Node: Requesting Values889254 -Ref: table-value-types-returned889985 -Node: Constructor Functions890939 -Node: Registration Functions893959 -Node: Extension Functions894644 -Node: Exit Callback Functions896869 -Node: Extension Version String898118 -Node: Input Parsers898768 -Node: Output Wrappers908525 -Node: Two-way processors913035 -Node: Printing Messages915243 -Ref: Printing Messages-Footnote-1916320 -Node: Updating `ERRNO'916472 -Node: Accessing Parameters917211 -Node: Symbol Table Access918441 -Node: Symbol table by name918953 -Node: Symbol table by cookie920700 -Ref: Symbol table by cookie-Footnote-1924830 -Node: Cached values924893 -Ref: Cached values-Footnote-1928342 -Node: Array Manipulation928433 -Ref: Array Manipulation-Footnote-1929531 -Node: Array Data Types929570 -Ref: Array Data Types-Footnote-1932273 -Node: Array Functions932365 -Node: Flattening Arrays936131 -Node: Creating Arrays942983 -Node: Extension API Variables947708 -Node: Extension Versioning948344 -Node: Extension API Informational Variables950245 -Node: Extension API Boilerplate951331 -Node: Finding Extensions955135 -Node: Extension Example955695 -Node: Internal File Description956425 -Node: Internal File Ops960516 -Ref: Internal File Ops-Footnote-1972024 -Node: Using Internal File Ops972164 -Ref: Using Internal File Ops-Footnote-1974517 -Node: Extension Samples974783 -Node: Extension Sample File Functions976307 -Node: Extension Sample Fnmatch984792 -Node: Extension Sample Fork986518 -Node: Extension Sample Inplace987736 -Node: Extension Sample Ord989514 -Node: Extension Sample Readdir990350 -Node: Extension Sample Revout991882 -Node: Extension Sample Rev2way992475 -Node: Extension Sample Read write array993165 -Node: Extension Sample Readfile995048 -Node: Extension Sample API Tests995866 -Node: Extension Sample Time996391 -Node: gawkextlib997755 -Node: Language History1000536 -Node: V7/SVR3.11002129 -Node: SVR41004449 -Node: POSIX1005891 -Node: BTL1007277 -Node: POSIX/GNU1008011 -Node: Feature History1013610 -Node: Common Extensions1026574 -Node: Ranges and Locales1027886 -Ref: Ranges and Locales-Footnote-11032504 -Ref: Ranges and Locales-Footnote-21032531 -Ref: Ranges and Locales-Footnote-31032791 -Node: Contributors1033012 -Node: Installation1038157 -Node: Gawk Distribution1039051 -Node: Getting1039535 -Node: Extracting1040361 -Node: Distribution contents1042053 -Node: Unix Installation1047758 -Node: Quick Installation1048375 -Node: Additional Configuration Options1050819 -Node: Configuration Philosophy1052555 -Node: Non-Unix Installation1054909 -Node: PC Installation1055367 -Node: PC Binary Installation1056666 -Node: PC Compiling1058514 -Node: PC Testing1061458 -Node: PC Using1062634 -Node: Cygwin1066819 -Node: MSYS1067819 -Node: VMS Installation1068333 -Node: VMS Compilation1069097 -Ref: VMS Compilation-Footnote-11070712 -Node: VMS Dynamic Extensions1070770 -Node: VMS Installation Details1072143 -Node: VMS Running1074390 -Node: VMS GNV1077224 -Node: VMS Old Gawk1077947 -Node: Bugs1078417 -Node: Other Versions1082335 -Node: Notes1088419 -Node: Compatibility Mode1089219 -Node: Additions1090002 -Node: Accessing The Source1090929 -Node: Adding Code1092369 -Node: New Ports1098414 -Node: Derived Files1102549 -Ref: Derived Files-Footnote-11107870 -Ref: Derived Files-Footnote-21107904 -Ref: Derived Files-Footnote-31108504 -Node: Future Extensions1108602 -Node: Implementation Limitations1109185 -Node: Extension Design1110437 -Node: Old Extension Problems1111591 -Ref: Old Extension Problems-Footnote-11113099 -Node: Extension New Mechanism Goals1113156 -Ref: Extension New Mechanism Goals-Footnote-11116521 -Node: Extension Other Design Decisions1116707 -Node: Extension Future Growth1118813 -Node: Old Extension Mechanism1119649 -Node: Basic Concepts1121389 -Node: Basic High Level1122070 -Ref: figure-general-flow1122341 -Ref: figure-process-flow1122940 -Ref: Basic High Level-Footnote-11126169 -Node: Basic Data Typing1126354 -Node: Glossary1129709 -Node: Copying1155171 -Node: GNU Free Documentation License1192728 -Node: Index1217865 +Node: Very Simple90332 +Node: Two Rules94931 +Node: More Complex97078 +Ref: More Complex-Footnote-1100008 +Node: Statements/Lines100093 +Ref: Statements/Lines-Footnote-1104555 +Node: Other Features104820 +Node: When105748 +Node: Invoking Gawk107895 +Node: Command Line109358 +Node: Options110141 +Ref: Options-Footnote-1125536 +Node: Other Arguments125561 +Node: Naming Standard Input128219 +Node: Environment Variables129313 +Node: AWKPATH Variable129871 +Ref: AWKPATH Variable-Footnote-1132629 +Node: AWKLIBPATH Variable132889 +Node: Other Environment Variables133607 +Node: Exit Status136570 +Node: Include Files137245 +Node: Loading Shared Libraries140814 +Node: Obsolete142178 +Node: Undocumented142875 +Node: Regexp143117 +Node: Regexp Usage144506 +Node: Escape Sequences146532 +Node: Regexp Operators152201 +Ref: Regexp Operators-Footnote-1159581 +Ref: Regexp Operators-Footnote-2159728 +Node: Bracket Expressions159826 +Ref: table-char-classes161716 +Node: GNU Regexp Operators164239 +Node: Case-sensitivity167962 +Ref: Case-sensitivity-Footnote-1170930 +Ref: Case-sensitivity-Footnote-2171165 +Node: Leftmost Longest171273 +Node: Computed Regexps172474 +Node: Reading Files175811 +Node: Records177813 +Ref: Records-Footnote-1186702 +Node: Fields186739 +Ref: Fields-Footnote-1189772 +Node: Nonconstant Fields189858 +Node: Changing Fields192060 +Node: Field Separators198019 +Node: Default Field Splitting200721 +Node: Regexp Field Splitting201838 +Node: Single Character Fields205180 +Node: Command Line Field Separator206239 +Node: Full Line Fields209673 +Ref: Full Line Fields-Footnote-1210181 +Node: Field Splitting Summary210227 +Ref: Field Splitting Summary-Footnote-1213326 +Node: Constant Size213427 +Node: Splitting By Content218034 +Ref: Splitting By Content-Footnote-1221783 +Node: Multiple Line221823 +Ref: Multiple Line-Footnote-1227670 +Node: Getline227849 +Node: Plain Getline230065 +Node: Getline/Variable232160 +Node: Getline/File233307 +Node: Getline/Variable/File234648 +Ref: Getline/Variable/File-Footnote-1236247 +Node: Getline/Pipe236334 +Node: Getline/Variable/Pipe239033 +Node: Getline/Coprocess240140 +Node: Getline/Variable/Coprocess241392 +Node: Getline Notes242129 +Node: Getline Summary244916 +Ref: table-getline-variants245324 +Node: Read Timeout246236 +Ref: Read Timeout-Footnote-1249977 +Node: Command line directories250034 +Node: Printing250664 +Node: Print252295 +Node: Print Examples253632 +Node: Output Separators256416 +Node: OFMT258176 +Node: Printf259534 +Node: Basic Printf260440 +Node: Control Letters261979 +Node: Format Modifiers265791 +Node: Printf Examples271800 +Node: Redirection274515 +Node: Special Files281480 +Node: Special FD282013 +Ref: Special FD-Footnote-1285638 +Node: Special Network285712 +Node: Special Caveats286562 +Node: Close Files And Pipes287358 +Ref: Close Files And Pipes-Footnote-1294341 +Ref: Close Files And Pipes-Footnote-2294489 +Node: Expressions294639 +Node: Values295771 +Node: Constants296447 +Node: Scalar Constants297127 +Ref: Scalar Constants-Footnote-1297986 +Node: Nondecimal-numbers298168 +Node: Regexp Constants301168 +Node: Using Constant Regexps301643 +Node: Variables304698 +Node: Using Variables305353 +Node: Assignment Options307077 +Node: Conversion308949 +Ref: table-locale-affects314450 +Ref: Conversion-Footnote-1315074 +Node: All Operators315183 +Node: Arithmetic Ops315813 +Node: Concatenation318318 +Ref: Concatenation-Footnote-1321110 +Node: Assignment Ops321230 +Ref: table-assign-ops326218 +Node: Increment Ops327549 +Node: Truth Values and Conditions330983 +Node: Truth Values332066 +Node: Typing and Comparison333115 +Node: Variable Typing333908 +Ref: Variable Typing-Footnote-1337805 +Node: Comparison Operators337927 +Ref: table-relational-ops338337 +Node: POSIX String Comparison341885 +Ref: POSIX String Comparison-Footnote-1342841 +Node: Boolean Ops342979 +Ref: Boolean Ops-Footnote-1347057 +Node: Conditional Exp347148 +Node: Function Calls348880 +Node: Precedence352474 +Node: Locales356143 +Node: Patterns and Actions357232 +Node: Pattern Overview358286 +Node: Regexp Patterns359955 +Node: Expression Patterns360498 +Node: Ranges364183 +Node: BEGIN/END367149 +Node: Using BEGIN/END367911 +Ref: Using BEGIN/END-Footnote-1370642 +Node: I/O And BEGIN/END370748 +Node: BEGINFILE/ENDFILE373030 +Node: Empty375944 +Node: Using Shell Variables376260 +Node: Action Overview378545 +Node: Statements380902 +Node: If Statement382756 +Node: While Statement384255 +Node: Do Statement386299 +Node: For Statement387455 +Node: Switch Statement390607 +Node: Break Statement392704 +Node: Continue Statement394694 +Node: Next Statement396487 +Node: Nextfile Statement398877 +Node: Exit Statement401520 +Node: Built-in Variables403936 +Node: User-modified405031 +Ref: User-modified-Footnote-1413389 +Node: Auto-set413451 +Ref: Auto-set-Footnote-1426529 +Ref: Auto-set-Footnote-2426734 +Node: ARGC and ARGV426790 +Node: Arrays430641 +Node: Array Basics432146 +Node: Array Intro432972 +Node: Reference to Elements437289 +Node: Assigning Elements439559 +Node: Array Example440050 +Node: Scanning an Array441782 +Node: Controlling Scanning444096 +Ref: Controlling Scanning-Footnote-1449183 +Node: Delete449499 +Ref: Delete-Footnote-1452264 +Node: Numeric Array Subscripts452321 +Node: Uninitialized Subscripts454504 +Node: Multidimensional456131 +Node: Multiscanning459224 +Node: Arrays of Arrays460813 +Node: Functions465453 +Node: Built-in466272 +Node: Calling Built-in467350 +Node: Numeric Functions469338 +Ref: Numeric Functions-Footnote-1473170 +Ref: Numeric Functions-Footnote-2473527 +Ref: Numeric Functions-Footnote-3473575 +Node: String Functions473844 +Ref: String Functions-Footnote-1496764 +Ref: String Functions-Footnote-2496893 +Ref: String Functions-Footnote-3497141 +Node: Gory Details497228 +Ref: table-sub-escapes498907 +Ref: table-sub-posix-92500261 +Ref: table-sub-proposed501612 +Ref: table-posix-sub502966 +Ref: table-gensub-escapes504511 +Ref: Gory Details-Footnote-1505687 +Ref: Gory Details-Footnote-2505738 +Node: I/O Functions505889 +Ref: I/O Functions-Footnote-1512874 +Node: Time Functions513021 +Ref: Time Functions-Footnote-1523954 +Ref: Time Functions-Footnote-2524022 +Ref: Time Functions-Footnote-3524180 +Ref: Time Functions-Footnote-4524291 +Ref: Time Functions-Footnote-5524403 +Ref: Time Functions-Footnote-6524630 +Node: Bitwise Functions524896 +Ref: table-bitwise-ops525458 +Ref: Bitwise Functions-Footnote-1529679 +Node: Type Functions529863 +Node: I18N Functions531014 +Node: User-defined532641 +Node: Definition Syntax533445 +Ref: Definition Syntax-Footnote-1538355 +Node: Function Example538424 +Node: Function Caveats541018 +Node: Calling A Function541439 +Node: Variable Scope542554 +Node: Pass By Value/Reference545517 +Node: Return Statement549025 +Node: Dynamic Typing552006 +Node: Indirect Calls552937 +Node: Library Functions562622 +Ref: Library Functions-Footnote-1566135 +Ref: Library Functions-Footnote-2566278 +Node: Library Names566449 +Ref: Library Names-Footnote-1569920 +Ref: Library Names-Footnote-2570140 +Node: General Functions570226 +Node: Strtonum Function571254 +Node: Assert Function574184 +Node: Round Function577510 +Node: Cliff Random Function579053 +Node: Ordinal Functions580069 +Ref: Ordinal Functions-Footnote-1583141 +Ref: Ordinal Functions-Footnote-2583393 +Node: Join Function583602 +Ref: Join Function-Footnote-1585373 +Node: Getlocaltime Function585573 +Node: Readfile Function589314 +Node: Data File Management591153 +Node: Filetrans Function591785 +Node: Rewind Function595854 +Node: File Checking597241 +Node: Empty Files598335 +Node: Ignoring Assigns600565 +Node: Getopt Function602118 +Ref: Getopt Function-Footnote-1613421 +Node: Passwd Functions613624 +Ref: Passwd Functions-Footnote-1622599 +Node: Group Functions622687 +Node: Walking Arrays630771 +Node: Sample Programs632908 +Node: Running Examples633582 +Node: Clones634310 +Node: Cut Program635534 +Node: Egrep Program645379 +Ref: Egrep Program-Footnote-1653152 +Node: Id Program653262 +Node: Split Program656878 +Ref: Split Program-Footnote-1660397 +Node: Tee Program660525 +Node: Uniq Program663328 +Node: Wc Program670757 +Ref: Wc Program-Footnote-1675023 +Ref: Wc Program-Footnote-2675223 +Node: Miscellaneous Programs675315 +Node: Dupword Program676503 +Node: Alarm Program678534 +Node: Translate Program683287 +Ref: Translate Program-Footnote-1687674 +Ref: Translate Program-Footnote-2687922 +Node: Labels Program688056 +Ref: Labels Program-Footnote-1691427 +Node: Word Sorting691511 +Node: History Sorting695395 +Node: Extract Program697234 +Ref: Extract Program-Footnote-1704737 +Node: Simple Sed704865 +Node: Igawk Program707927 +Ref: Igawk Program-Footnote-1723084 +Ref: Igawk Program-Footnote-2723285 +Node: Anagram Program723423 +Node: Signature Program726491 +Node: Advanced Features727591 +Node: Nondecimal Data729477 +Node: Array Sorting731060 +Node: Controlling Array Traversal731757 +Node: Array Sorting Functions740041 +Ref: Array Sorting Functions-Footnote-1743910 +Node: Two-way I/O744104 +Ref: Two-way I/O-Footnote-1749536 +Node: TCP/IP Networking749606 +Node: Profiling752450 +Node: Internationalization759947 +Node: I18N and L10N761372 +Node: Explaining gettext762058 +Ref: Explaining gettext-Footnote-1767126 +Ref: Explaining gettext-Footnote-2767310 +Node: Programmer i18n767475 +Node: Translator i18n771677 +Node: String Extraction772470 +Ref: String Extraction-Footnote-1773431 +Node: Printf Ordering773517 +Ref: Printf Ordering-Footnote-1776301 +Node: I18N Portability776365 +Ref: I18N Portability-Footnote-1778814 +Node: I18N Example778877 +Ref: I18N Example-Footnote-1781515 +Node: Gawk I18N781587 +Node: Debugger782208 +Node: Debugging783179 +Node: Debugging Concepts783612 +Node: Debugging Terms785468 +Node: Awk Debugging788065 +Node: Sample Debugging Session788957 +Node: Debugger Invocation789477 +Node: Finding The Bug790809 +Node: List of Debugger Commands797297 +Node: Breakpoint Control798631 +Node: Debugger Execution Control802295 +Node: Viewing And Changing Data805655 +Node: Execution Stack809011 +Node: Debugger Info810478 +Node: Miscellaneous Debugger Commands814460 +Node: Readline Support819636 +Node: Limitations820467 +Node: Arbitrary Precision Arithmetic822719 +Ref: Arbitrary Precision Arithmetic-Footnote-1824368 +Node: General Arithmetic824516 +Node: Floating Point Issues826236 +Node: String Conversion Precision827117 +Ref: String Conversion Precision-Footnote-1828822 +Node: Unexpected Results828931 +Node: POSIX Floating Point Problems831084 +Ref: POSIX Floating Point Problems-Footnote-1834909 +Node: Integer Programming834947 +Node: Floating-point Programming836686 +Ref: Floating-point Programming-Footnote-1843017 +Ref: Floating-point Programming-Footnote-2843287 +Node: Floating-point Representation843551 +Node: Floating-point Context844716 +Ref: table-ieee-formats845555 +Node: Rounding Mode846939 +Ref: table-rounding-modes847418 +Ref: Rounding Mode-Footnote-1850433 +Node: Gawk and MPFR850612 +Node: Arbitrary Precision Floats851867 +Ref: Arbitrary Precision Floats-Footnote-1854310 +Node: Setting Precision854626 +Ref: table-predefined-precision-strings855312 +Node: Setting Rounding Mode857457 +Ref: table-gawk-rounding-modes857861 +Node: Floating-point Constants859048 +Node: Changing Precision860477 +Ref: Changing Precision-Footnote-1861874 +Node: Exact Arithmetic862048 +Node: Arbitrary Precision Integers865186 +Ref: Arbitrary Precision Integers-Footnote-1868204 +Node: Dynamic Extensions868351 +Node: Extension Intro869809 +Node: Plugin License871074 +Node: Extension Mechanism Outline871759 +Ref: load-extension872176 +Ref: load-new-function873654 +Ref: call-new-function874649 +Node: Extension API Description876664 +Node: Extension API Functions Introduction877877 +Node: General Data Types882743 +Ref: General Data Types-Footnote-1888345 +Node: Requesting Values888644 +Ref: table-value-types-returned889375 +Node: Constructor Functions890329 +Node: Registration Functions893349 +Node: Extension Functions894034 +Node: Exit Callback Functions896259 +Node: Extension Version String897508 +Node: Input Parsers898158 +Node: Output Wrappers907915 +Node: Two-way processors912425 +Node: Printing Messages914633 +Ref: Printing Messages-Footnote-1915710 +Node: Updating `ERRNO'915862 +Node: Accessing Parameters916601 +Node: Symbol Table Access917831 +Node: Symbol table by name918343 +Node: Symbol table by cookie920090 +Ref: Symbol table by cookie-Footnote-1924220 +Node: Cached values924283 +Ref: Cached values-Footnote-1927732 +Node: Array Manipulation927823 +Ref: Array Manipulation-Footnote-1928921 +Node: Array Data Types928960 +Ref: Array Data Types-Footnote-1931663 +Node: Array Functions931755 +Node: Flattening Arrays935521 +Node: Creating Arrays942373 +Node: Extension API Variables947098 +Node: Extension Versioning947734 +Node: Extension API Informational Variables949635 +Node: Extension API Boilerplate950721 +Node: Finding Extensions954525 +Node: Extension Example955085 +Node: Internal File Description955815 +Node: Internal File Ops959906 +Ref: Internal File Ops-Footnote-1971414 +Node: Using Internal File Ops971554 +Ref: Using Internal File Ops-Footnote-1973907 +Node: Extension Samples974173 +Node: Extension Sample File Functions975697 +Node: Extension Sample Fnmatch984182 +Node: Extension Sample Fork985908 +Node: Extension Sample Inplace987126 +Node: Extension Sample Ord988904 +Node: Extension Sample Readdir989740 +Node: Extension Sample Revout991272 +Node: Extension Sample Rev2way991865 +Node: Extension Sample Read write array992555 +Node: Extension Sample Readfile994438 +Node: Extension Sample API Tests995256 +Node: Extension Sample Time995781 +Node: gawkextlib997145 +Node: Language History999926 +Node: V7/SVR3.11001519 +Node: SVR41003839 +Node: POSIX1005281 +Node: BTL1006667 +Node: POSIX/GNU1007401 +Node: Feature History1013000 +Node: Common Extensions1025964 +Node: Ranges and Locales1027276 +Ref: Ranges and Locales-Footnote-11031894 +Ref: Ranges and Locales-Footnote-21031921 +Ref: Ranges and Locales-Footnote-31032181 +Node: Contributors1032402 +Node: Installation1037547 +Node: Gawk Distribution1038441 +Node: Getting1038925 +Node: Extracting1039751 +Node: Distribution contents1041443 +Node: Unix Installation1047148 +Node: Quick Installation1047765 +Node: Additional Configuration Options1050209 +Node: Configuration Philosophy1051945 +Node: Non-Unix Installation1054299 +Node: PC Installation1054757 +Node: PC Binary Installation1056056 +Node: PC Compiling1057904 +Node: PC Testing1060848 +Node: PC Using1062024 +Node: Cygwin1066209 +Node: MSYS1067209 +Node: VMS Installation1067723 +Node: VMS Compilation1068487 +Ref: VMS Compilation-Footnote-11070102 +Node: VMS Dynamic Extensions1070160 +Node: VMS Installation Details1071533 +Node: VMS Running1073780 +Node: VMS GNV1076614 +Node: VMS Old Gawk1077337 +Node: Bugs1077807 +Node: Other Versions1081725 +Node: Notes1087809 +Node: Compatibility Mode1088609 +Node: Additions1089392 +Node: Accessing The Source1090319 +Node: Adding Code1091759 +Node: New Ports1097804 +Node: Derived Files1101939 +Ref: Derived Files-Footnote-11107260 +Ref: Derived Files-Footnote-21107294 +Ref: Derived Files-Footnote-31107894 +Node: Future Extensions1107992 +Node: Implementation Limitations1108575 +Node: Extension Design1109827 +Node: Old Extension Problems1110981 +Ref: Old Extension Problems-Footnote-11112489 +Node: Extension New Mechanism Goals1112546 +Ref: Extension New Mechanism Goals-Footnote-11115911 +Node: Extension Other Design Decisions1116097 +Node: Extension Future Growth1118203 +Node: Old Extension Mechanism1119039 +Node: Basic Concepts1120779 +Node: Basic High Level1121460 +Ref: figure-general-flow1121731 +Ref: figure-process-flow1122330 +Ref: Basic High Level-Footnote-11125559 +Node: Basic Data Typing1125744 +Node: Glossary1129099 +Node: Copying1154561 +Node: GNU Free Documentation License1192118 +Node: Index1217255  End Tag Table -- cgit v1.2.3 From 4311907208592a2c617251a5cd3792d97f94be6a Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 14 Feb 2014 13:21:41 +0200 Subject: Doc updates. --- doc/gawk.info | 921 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 463 insertions(+), 458 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 6523199c..351d0d44 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -4083,18 +4083,23 @@ use for `RS' in this case: BEGIN { RS = "\0" } # whole file becomes one record? `gawk' in fact accepts this, and uses the NUL character for the -record separator. However, this usage is _not_ portable to other `awk' -implementations. +record separator. However, this usage is _not_ portable to most other +`awk' implementations. - All other `awk' implementations(1) store strings internally as -C-style strings. C strings use the NUL character as the string + Almost all other `awk' implementations(1) store strings internally +as C-style strings. C strings use the NUL character as the string terminator. In effect, this means that `RS = "\0"' is the same as `RS = ""'. (d.c.) + It happens that recent versions of `mawk' can use the NUL character +as a record separator. However, this is a special case: `mawk' does not +allow embedded NUL characters in strings. + The best way to treat a whole file as a single record is to simply read the file in, one record at a time, concatenating each record onto the end of the previous ones. + ---------- Footnotes ---------- (1) At least that we know about. @@ -7171,7 +7176,7 @@ decimal point when reading the `awk' program source code, and for command-line variable assignments (*note Other Arguments::). However, when interpreting input data, for `print' and `printf' output, and for number to string conversion, the local decimal point character is used. -(d.c.). Here are some examples indicating the difference in behavior, +(d.c.) Here are some examples indicating the difference in behavior, on a GNU/Linux system: $ export POSIXLY_CORRECT=1 Force POSIX behavior @@ -31141,7 +31146,7 @@ Index * files, /inet/... (gawk): TCP/IP Networking. (line 6) * files, /inet4/... (gawk): TCP/IP Networking. (line 6) * files, /inet6/... (gawk): TCP/IP Networking. (line 6) -* files, as single records: Records. (line 200) +* files, as single records: Records. (line 204) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 6) * files, awkvars.out: Options. (line 93) @@ -32151,7 +32156,7 @@ Index * records, printing: Print. (line 22) * records, splitting input into: Records. (line 6) * records, terminating: Records. (line 117) -* records, treating files as: Records. (line 200) +* records, treating files as: Records. (line 204) * recursive functions: Definition Syntax. (line 73) * redirection of input: Getline/File. (line 6) * redirection of output: Redirection. (line 6) @@ -32802,456 +32807,456 @@ Node: Leftmost Longest171273 Node: Computed Regexps172474 Node: Reading Files175811 Node: Records177813 -Ref: Records-Footnote-1186702 -Node: Fields186739 -Ref: Fields-Footnote-1189772 -Node: Nonconstant Fields189858 -Node: Changing Fields192060 -Node: Field Separators198019 -Node: Default Field Splitting200721 -Node: Regexp Field Splitting201838 -Node: Single Character Fields205180 -Node: Command Line Field Separator206239 -Node: Full Line Fields209673 -Ref: Full Line Fields-Footnote-1210181 -Node: Field Splitting Summary210227 -Ref: Field Splitting Summary-Footnote-1213326 -Node: Constant Size213427 -Node: Splitting By Content218034 -Ref: Splitting By Content-Footnote-1221783 -Node: Multiple Line221823 -Ref: Multiple Line-Footnote-1227670 -Node: Getline227849 -Node: Plain Getline230065 -Node: Getline/Variable232160 -Node: Getline/File233307 -Node: Getline/Variable/File234648 -Ref: Getline/Variable/File-Footnote-1236247 -Node: Getline/Pipe236334 -Node: Getline/Variable/Pipe239033 -Node: Getline/Coprocess240140 -Node: Getline/Variable/Coprocess241392 -Node: Getline Notes242129 -Node: Getline Summary244916 -Ref: table-getline-variants245324 -Node: Read Timeout246236 -Ref: Read Timeout-Footnote-1249977 -Node: Command line directories250034 -Node: Printing250664 -Node: Print252295 -Node: Print Examples253632 -Node: Output Separators256416 -Node: OFMT258176 -Node: Printf259534 -Node: Basic Printf260440 -Node: Control Letters261979 -Node: Format Modifiers265791 -Node: Printf Examples271800 -Node: Redirection274515 -Node: Special Files281480 -Node: Special FD282013 -Ref: Special FD-Footnote-1285638 -Node: Special Network285712 -Node: Special Caveats286562 -Node: Close Files And Pipes287358 -Ref: Close Files And Pipes-Footnote-1294341 -Ref: Close Files And Pipes-Footnote-2294489 -Node: Expressions294639 -Node: Values295771 -Node: Constants296447 -Node: Scalar Constants297127 -Ref: Scalar Constants-Footnote-1297986 -Node: Nondecimal-numbers298168 -Node: Regexp Constants301168 -Node: Using Constant Regexps301643 -Node: Variables304698 -Node: Using Variables305353 -Node: Assignment Options307077 -Node: Conversion308949 -Ref: table-locale-affects314450 -Ref: Conversion-Footnote-1315074 -Node: All Operators315183 -Node: Arithmetic Ops315813 -Node: Concatenation318318 -Ref: Concatenation-Footnote-1321110 -Node: Assignment Ops321230 -Ref: table-assign-ops326218 -Node: Increment Ops327549 -Node: Truth Values and Conditions330983 -Node: Truth Values332066 -Node: Typing and Comparison333115 -Node: Variable Typing333908 -Ref: Variable Typing-Footnote-1337805 -Node: Comparison Operators337927 -Ref: table-relational-ops338337 -Node: POSIX String Comparison341885 -Ref: POSIX String Comparison-Footnote-1342841 -Node: Boolean Ops342979 -Ref: Boolean Ops-Footnote-1347057 -Node: Conditional Exp347148 -Node: Function Calls348880 -Node: Precedence352474 -Node: Locales356143 -Node: Patterns and Actions357232 -Node: Pattern Overview358286 -Node: Regexp Patterns359955 -Node: Expression Patterns360498 -Node: Ranges364183 -Node: BEGIN/END367149 -Node: Using BEGIN/END367911 -Ref: Using BEGIN/END-Footnote-1370642 -Node: I/O And BEGIN/END370748 -Node: BEGINFILE/ENDFILE373030 -Node: Empty375944 -Node: Using Shell Variables376260 -Node: Action Overview378545 -Node: Statements380902 -Node: If Statement382756 -Node: While Statement384255 -Node: Do Statement386299 -Node: For Statement387455 -Node: Switch Statement390607 -Node: Break Statement392704 -Node: Continue Statement394694 -Node: Next Statement396487 -Node: Nextfile Statement398877 -Node: Exit Statement401520 -Node: Built-in Variables403936 -Node: User-modified405031 -Ref: User-modified-Footnote-1413389 -Node: Auto-set413451 -Ref: Auto-set-Footnote-1426529 -Ref: Auto-set-Footnote-2426734 -Node: ARGC and ARGV426790 -Node: Arrays430641 -Node: Array Basics432146 -Node: Array Intro432972 -Node: Reference to Elements437289 -Node: Assigning Elements439559 -Node: Array Example440050 -Node: Scanning an Array441782 -Node: Controlling Scanning444096 -Ref: Controlling Scanning-Footnote-1449183 -Node: Delete449499 -Ref: Delete-Footnote-1452264 -Node: Numeric Array Subscripts452321 -Node: Uninitialized Subscripts454504 -Node: Multidimensional456131 -Node: Multiscanning459224 -Node: Arrays of Arrays460813 -Node: Functions465453 -Node: Built-in466272 -Node: Calling Built-in467350 -Node: Numeric Functions469338 -Ref: Numeric Functions-Footnote-1473170 -Ref: Numeric Functions-Footnote-2473527 -Ref: Numeric Functions-Footnote-3473575 -Node: String Functions473844 -Ref: String Functions-Footnote-1496764 -Ref: String Functions-Footnote-2496893 -Ref: String Functions-Footnote-3497141 -Node: Gory Details497228 -Ref: table-sub-escapes498907 -Ref: table-sub-posix-92500261 -Ref: table-sub-proposed501612 -Ref: table-posix-sub502966 -Ref: table-gensub-escapes504511 -Ref: Gory Details-Footnote-1505687 -Ref: Gory Details-Footnote-2505738 -Node: I/O Functions505889 -Ref: I/O Functions-Footnote-1512874 -Node: Time Functions513021 -Ref: Time Functions-Footnote-1523954 -Ref: Time Functions-Footnote-2524022 -Ref: Time Functions-Footnote-3524180 -Ref: Time Functions-Footnote-4524291 -Ref: Time Functions-Footnote-5524403 -Ref: Time Functions-Footnote-6524630 -Node: Bitwise Functions524896 -Ref: table-bitwise-ops525458 -Ref: Bitwise Functions-Footnote-1529679 -Node: Type Functions529863 -Node: I18N Functions531014 -Node: User-defined532641 -Node: Definition Syntax533445 -Ref: Definition Syntax-Footnote-1538355 -Node: Function Example538424 -Node: Function Caveats541018 -Node: Calling A Function541439 -Node: Variable Scope542554 -Node: Pass By Value/Reference545517 -Node: Return Statement549025 -Node: Dynamic Typing552006 -Node: Indirect Calls552937 -Node: Library Functions562622 -Ref: Library Functions-Footnote-1566135 -Ref: Library Functions-Footnote-2566278 -Node: Library Names566449 -Ref: Library Names-Footnote-1569920 -Ref: Library Names-Footnote-2570140 -Node: General Functions570226 -Node: Strtonum Function571254 -Node: Assert Function574184 -Node: Round Function577510 -Node: Cliff Random Function579053 -Node: Ordinal Functions580069 -Ref: Ordinal Functions-Footnote-1583141 -Ref: Ordinal Functions-Footnote-2583393 -Node: Join Function583602 -Ref: Join Function-Footnote-1585373 -Node: Getlocaltime Function585573 -Node: Readfile Function589314 -Node: Data File Management591153 -Node: Filetrans Function591785 -Node: Rewind Function595854 -Node: File Checking597241 -Node: Empty Files598335 -Node: Ignoring Assigns600565 -Node: Getopt Function602118 -Ref: Getopt Function-Footnote-1613421 -Node: Passwd Functions613624 -Ref: Passwd Functions-Footnote-1622599 -Node: Group Functions622687 -Node: Walking Arrays630771 -Node: Sample Programs632908 -Node: Running Examples633582 -Node: Clones634310 -Node: Cut Program635534 -Node: Egrep Program645379 -Ref: Egrep Program-Footnote-1653152 -Node: Id Program653262 -Node: Split Program656878 -Ref: Split Program-Footnote-1660397 -Node: Tee Program660525 -Node: Uniq Program663328 -Node: Wc Program670757 -Ref: Wc Program-Footnote-1675023 -Ref: Wc Program-Footnote-2675223 -Node: Miscellaneous Programs675315 -Node: Dupword Program676503 -Node: Alarm Program678534 -Node: Translate Program683287 -Ref: Translate Program-Footnote-1687674 -Ref: Translate Program-Footnote-2687922 -Node: Labels Program688056 -Ref: Labels Program-Footnote-1691427 -Node: Word Sorting691511 -Node: History Sorting695395 -Node: Extract Program697234 -Ref: Extract Program-Footnote-1704737 -Node: Simple Sed704865 -Node: Igawk Program707927 -Ref: Igawk Program-Footnote-1723084 -Ref: Igawk Program-Footnote-2723285 -Node: Anagram Program723423 -Node: Signature Program726491 -Node: Advanced Features727591 -Node: Nondecimal Data729477 -Node: Array Sorting731060 -Node: Controlling Array Traversal731757 -Node: Array Sorting Functions740041 -Ref: Array Sorting Functions-Footnote-1743910 -Node: Two-way I/O744104 -Ref: Two-way I/O-Footnote-1749536 -Node: TCP/IP Networking749606 -Node: Profiling752450 -Node: Internationalization759947 -Node: I18N and L10N761372 -Node: Explaining gettext762058 -Ref: Explaining gettext-Footnote-1767126 -Ref: Explaining gettext-Footnote-2767310 -Node: Programmer i18n767475 -Node: Translator i18n771677 -Node: String Extraction772470 -Ref: String Extraction-Footnote-1773431 -Node: Printf Ordering773517 -Ref: Printf Ordering-Footnote-1776301 -Node: I18N Portability776365 -Ref: I18N Portability-Footnote-1778814 -Node: I18N Example778877 -Ref: I18N Example-Footnote-1781515 -Node: Gawk I18N781587 -Node: Debugger782208 -Node: Debugging783179 -Node: Debugging Concepts783612 -Node: Debugging Terms785468 -Node: Awk Debugging788065 -Node: Sample Debugging Session788957 -Node: Debugger Invocation789477 -Node: Finding The Bug790809 -Node: List of Debugger Commands797297 -Node: Breakpoint Control798631 -Node: Debugger Execution Control802295 -Node: Viewing And Changing Data805655 -Node: Execution Stack809011 -Node: Debugger Info810478 -Node: Miscellaneous Debugger Commands814460 -Node: Readline Support819636 -Node: Limitations820467 -Node: Arbitrary Precision Arithmetic822719 -Ref: Arbitrary Precision Arithmetic-Footnote-1824368 -Node: General Arithmetic824516 -Node: Floating Point Issues826236 -Node: String Conversion Precision827117 -Ref: String Conversion Precision-Footnote-1828822 -Node: Unexpected Results828931 -Node: POSIX Floating Point Problems831084 -Ref: POSIX Floating Point Problems-Footnote-1834909 -Node: Integer Programming834947 -Node: Floating-point Programming836686 -Ref: Floating-point Programming-Footnote-1843017 -Ref: Floating-point Programming-Footnote-2843287 -Node: Floating-point Representation843551 -Node: Floating-point Context844716 -Ref: table-ieee-formats845555 -Node: Rounding Mode846939 -Ref: table-rounding-modes847418 -Ref: Rounding Mode-Footnote-1850433 -Node: Gawk and MPFR850612 -Node: Arbitrary Precision Floats851867 -Ref: Arbitrary Precision Floats-Footnote-1854310 -Node: Setting Precision854626 -Ref: table-predefined-precision-strings855312 -Node: Setting Rounding Mode857457 -Ref: table-gawk-rounding-modes857861 -Node: Floating-point Constants859048 -Node: Changing Precision860477 -Ref: Changing Precision-Footnote-1861874 -Node: Exact Arithmetic862048 -Node: Arbitrary Precision Integers865186 -Ref: Arbitrary Precision Integers-Footnote-1868204 -Node: Dynamic Extensions868351 -Node: Extension Intro869809 -Node: Plugin License871074 -Node: Extension Mechanism Outline871759 -Ref: load-extension872176 -Ref: load-new-function873654 -Ref: call-new-function874649 -Node: Extension API Description876664 -Node: Extension API Functions Introduction877877 -Node: General Data Types882743 -Ref: General Data Types-Footnote-1888345 -Node: Requesting Values888644 -Ref: table-value-types-returned889375 -Node: Constructor Functions890329 -Node: Registration Functions893349 -Node: Extension Functions894034 -Node: Exit Callback Functions896259 -Node: Extension Version String897508 -Node: Input Parsers898158 -Node: Output Wrappers907915 -Node: Two-way processors912425 -Node: Printing Messages914633 -Ref: Printing Messages-Footnote-1915710 -Node: Updating `ERRNO'915862 -Node: Accessing Parameters916601 -Node: Symbol Table Access917831 -Node: Symbol table by name918343 -Node: Symbol table by cookie920090 -Ref: Symbol table by cookie-Footnote-1924220 -Node: Cached values924283 -Ref: Cached values-Footnote-1927732 -Node: Array Manipulation927823 -Ref: Array Manipulation-Footnote-1928921 -Node: Array Data Types928960 -Ref: Array Data Types-Footnote-1931663 -Node: Array Functions931755 -Node: Flattening Arrays935521 -Node: Creating Arrays942373 -Node: Extension API Variables947098 -Node: Extension Versioning947734 -Node: Extension API Informational Variables949635 -Node: Extension API Boilerplate950721 -Node: Finding Extensions954525 -Node: Extension Example955085 -Node: Internal File Description955815 -Node: Internal File Ops959906 -Ref: Internal File Ops-Footnote-1971414 -Node: Using Internal File Ops971554 -Ref: Using Internal File Ops-Footnote-1973907 -Node: Extension Samples974173 -Node: Extension Sample File Functions975697 -Node: Extension Sample Fnmatch984182 -Node: Extension Sample Fork985908 -Node: Extension Sample Inplace987126 -Node: Extension Sample Ord988904 -Node: Extension Sample Readdir989740 -Node: Extension Sample Revout991272 -Node: Extension Sample Rev2way991865 -Node: Extension Sample Read write array992555 -Node: Extension Sample Readfile994438 -Node: Extension Sample API Tests995256 -Node: Extension Sample Time995781 -Node: gawkextlib997145 -Node: Language History999926 -Node: V7/SVR3.11001519 -Node: SVR41003839 -Node: POSIX1005281 -Node: BTL1006667 -Node: POSIX/GNU1007401 -Node: Feature History1013000 -Node: Common Extensions1025964 -Node: Ranges and Locales1027276 -Ref: Ranges and Locales-Footnote-11031894 -Ref: Ranges and Locales-Footnote-21031921 -Ref: Ranges and Locales-Footnote-31032181 -Node: Contributors1032402 -Node: Installation1037547 -Node: Gawk Distribution1038441 -Node: Getting1038925 -Node: Extracting1039751 -Node: Distribution contents1041443 -Node: Unix Installation1047148 -Node: Quick Installation1047765 -Node: Additional Configuration Options1050209 -Node: Configuration Philosophy1051945 -Node: Non-Unix Installation1054299 -Node: PC Installation1054757 -Node: PC Binary Installation1056056 -Node: PC Compiling1057904 -Node: PC Testing1060848 -Node: PC Using1062024 -Node: Cygwin1066209 -Node: MSYS1067209 -Node: VMS Installation1067723 -Node: VMS Compilation1068487 -Ref: VMS Compilation-Footnote-11070102 -Node: VMS Dynamic Extensions1070160 -Node: VMS Installation Details1071533 -Node: VMS Running1073780 -Node: VMS GNV1076614 -Node: VMS Old Gawk1077337 -Node: Bugs1077807 -Node: Other Versions1081725 -Node: Notes1087809 -Node: Compatibility Mode1088609 -Node: Additions1089392 -Node: Accessing The Source1090319 -Node: Adding Code1091759 -Node: New Ports1097804 -Node: Derived Files1101939 -Ref: Derived Files-Footnote-11107260 -Ref: Derived Files-Footnote-21107294 -Ref: Derived Files-Footnote-31107894 -Node: Future Extensions1107992 -Node: Implementation Limitations1108575 -Node: Extension Design1109827 -Node: Old Extension Problems1110981 -Ref: Old Extension Problems-Footnote-11112489 -Node: Extension New Mechanism Goals1112546 -Ref: Extension New Mechanism Goals-Footnote-11115911 -Node: Extension Other Design Decisions1116097 -Node: Extension Future Growth1118203 -Node: Old Extension Mechanism1119039 -Node: Basic Concepts1120779 -Node: Basic High Level1121460 -Ref: figure-general-flow1121731 -Ref: figure-process-flow1122330 -Ref: Basic High Level-Footnote-11125559 -Node: Basic Data Typing1125744 -Node: Glossary1129099 -Node: Copying1154561 -Node: GNU Free Documentation License1192118 -Node: Index1217255 +Ref: Records-Footnote-1186901 +Node: Fields186938 +Ref: Fields-Footnote-1189971 +Node: Nonconstant Fields190057 +Node: Changing Fields192259 +Node: Field Separators198218 +Node: Default Field Splitting200920 +Node: Regexp Field Splitting202037 +Node: Single Character Fields205379 +Node: Command Line Field Separator206438 +Node: Full Line Fields209872 +Ref: Full Line Fields-Footnote-1210380 +Node: Field Splitting Summary210426 +Ref: Field Splitting Summary-Footnote-1213525 +Node: Constant Size213626 +Node: Splitting By Content218233 +Ref: Splitting By Content-Footnote-1221982 +Node: Multiple Line222022 +Ref: Multiple Line-Footnote-1227869 +Node: Getline228048 +Node: Plain Getline230264 +Node: Getline/Variable232359 +Node: Getline/File233506 +Node: Getline/Variable/File234847 +Ref: Getline/Variable/File-Footnote-1236446 +Node: Getline/Pipe236533 +Node: Getline/Variable/Pipe239232 +Node: Getline/Coprocess240339 +Node: Getline/Variable/Coprocess241591 +Node: Getline Notes242328 +Node: Getline Summary245115 +Ref: table-getline-variants245523 +Node: Read Timeout246435 +Ref: Read Timeout-Footnote-1250176 +Node: Command line directories250233 +Node: Printing250863 +Node: Print252494 +Node: Print Examples253831 +Node: Output Separators256615 +Node: OFMT258375 +Node: Printf259733 +Node: Basic Printf260639 +Node: Control Letters262178 +Node: Format Modifiers265990 +Node: Printf Examples271999 +Node: Redirection274714 +Node: Special Files281679 +Node: Special FD282212 +Ref: Special FD-Footnote-1285837 +Node: Special Network285911 +Node: Special Caveats286761 +Node: Close Files And Pipes287557 +Ref: Close Files And Pipes-Footnote-1294540 +Ref: Close Files And Pipes-Footnote-2294688 +Node: Expressions294838 +Node: Values295970 +Node: Constants296646 +Node: Scalar Constants297326 +Ref: Scalar Constants-Footnote-1298185 +Node: Nondecimal-numbers298367 +Node: Regexp Constants301367 +Node: Using Constant Regexps301842 +Node: Variables304897 +Node: Using Variables305552 +Node: Assignment Options307276 +Node: Conversion309148 +Ref: table-locale-affects314648 +Ref: Conversion-Footnote-1315272 +Node: All Operators315381 +Node: Arithmetic Ops316011 +Node: Concatenation318516 +Ref: Concatenation-Footnote-1321308 +Node: Assignment Ops321428 +Ref: table-assign-ops326416 +Node: Increment Ops327747 +Node: Truth Values and Conditions331181 +Node: Truth Values332264 +Node: Typing and Comparison333313 +Node: Variable Typing334106 +Ref: Variable Typing-Footnote-1338003 +Node: Comparison Operators338125 +Ref: table-relational-ops338535 +Node: POSIX String Comparison342083 +Ref: POSIX String Comparison-Footnote-1343039 +Node: Boolean Ops343177 +Ref: Boolean Ops-Footnote-1347255 +Node: Conditional Exp347346 +Node: Function Calls349078 +Node: Precedence352672 +Node: Locales356341 +Node: Patterns and Actions357430 +Node: Pattern Overview358484 +Node: Regexp Patterns360153 +Node: Expression Patterns360696 +Node: Ranges364381 +Node: BEGIN/END367347 +Node: Using BEGIN/END368109 +Ref: Using BEGIN/END-Footnote-1370840 +Node: I/O And BEGIN/END370946 +Node: BEGINFILE/ENDFILE373228 +Node: Empty376142 +Node: Using Shell Variables376458 +Node: Action Overview378743 +Node: Statements381100 +Node: If Statement382954 +Node: While Statement384453 +Node: Do Statement386497 +Node: For Statement387653 +Node: Switch Statement390805 +Node: Break Statement392902 +Node: Continue Statement394892 +Node: Next Statement396685 +Node: Nextfile Statement399075 +Node: Exit Statement401718 +Node: Built-in Variables404134 +Node: User-modified405229 +Ref: User-modified-Footnote-1413587 +Node: Auto-set413649 +Ref: Auto-set-Footnote-1426727 +Ref: Auto-set-Footnote-2426932 +Node: ARGC and ARGV426988 +Node: Arrays430839 +Node: Array Basics432344 +Node: Array Intro433170 +Node: Reference to Elements437487 +Node: Assigning Elements439757 +Node: Array Example440248 +Node: Scanning an Array441980 +Node: Controlling Scanning444294 +Ref: Controlling Scanning-Footnote-1449381 +Node: Delete449697 +Ref: Delete-Footnote-1452462 +Node: Numeric Array Subscripts452519 +Node: Uninitialized Subscripts454702 +Node: Multidimensional456329 +Node: Multiscanning459422 +Node: Arrays of Arrays461011 +Node: Functions465651 +Node: Built-in466470 +Node: Calling Built-in467548 +Node: Numeric Functions469536 +Ref: Numeric Functions-Footnote-1473368 +Ref: Numeric Functions-Footnote-2473725 +Ref: Numeric Functions-Footnote-3473773 +Node: String Functions474042 +Ref: String Functions-Footnote-1496962 +Ref: String Functions-Footnote-2497091 +Ref: String Functions-Footnote-3497339 +Node: Gory Details497426 +Ref: table-sub-escapes499105 +Ref: table-sub-posix-92500459 +Ref: table-sub-proposed501810 +Ref: table-posix-sub503164 +Ref: table-gensub-escapes504709 +Ref: Gory Details-Footnote-1505885 +Ref: Gory Details-Footnote-2505936 +Node: I/O Functions506087 +Ref: I/O Functions-Footnote-1513072 +Node: Time Functions513219 +Ref: Time Functions-Footnote-1524152 +Ref: Time Functions-Footnote-2524220 +Ref: Time Functions-Footnote-3524378 +Ref: Time Functions-Footnote-4524489 +Ref: Time Functions-Footnote-5524601 +Ref: Time Functions-Footnote-6524828 +Node: Bitwise Functions525094 +Ref: table-bitwise-ops525656 +Ref: Bitwise Functions-Footnote-1529877 +Node: Type Functions530061 +Node: I18N Functions531212 +Node: User-defined532839 +Node: Definition Syntax533643 +Ref: Definition Syntax-Footnote-1538553 +Node: Function Example538622 +Node: Function Caveats541216 +Node: Calling A Function541637 +Node: Variable Scope542752 +Node: Pass By Value/Reference545715 +Node: Return Statement549223 +Node: Dynamic Typing552204 +Node: Indirect Calls553135 +Node: Library Functions562820 +Ref: Library Functions-Footnote-1566333 +Ref: Library Functions-Footnote-2566476 +Node: Library Names566647 +Ref: Library Names-Footnote-1570118 +Ref: Library Names-Footnote-2570338 +Node: General Functions570424 +Node: Strtonum Function571452 +Node: Assert Function574382 +Node: Round Function577708 +Node: Cliff Random Function579251 +Node: Ordinal Functions580267 +Ref: Ordinal Functions-Footnote-1583339 +Ref: Ordinal Functions-Footnote-2583591 +Node: Join Function583800 +Ref: Join Function-Footnote-1585571 +Node: Getlocaltime Function585771 +Node: Readfile Function589512 +Node: Data File Management591351 +Node: Filetrans Function591983 +Node: Rewind Function596052 +Node: File Checking597439 +Node: Empty Files598533 +Node: Ignoring Assigns600763 +Node: Getopt Function602316 +Ref: Getopt Function-Footnote-1613619 +Node: Passwd Functions613822 +Ref: Passwd Functions-Footnote-1622797 +Node: Group Functions622885 +Node: Walking Arrays630969 +Node: Sample Programs633106 +Node: Running Examples633780 +Node: Clones634508 +Node: Cut Program635732 +Node: Egrep Program645577 +Ref: Egrep Program-Footnote-1653350 +Node: Id Program653460 +Node: Split Program657076 +Ref: Split Program-Footnote-1660595 +Node: Tee Program660723 +Node: Uniq Program663526 +Node: Wc Program670955 +Ref: Wc Program-Footnote-1675221 +Ref: Wc Program-Footnote-2675421 +Node: Miscellaneous Programs675513 +Node: Dupword Program676701 +Node: Alarm Program678732 +Node: Translate Program683485 +Ref: Translate Program-Footnote-1687872 +Ref: Translate Program-Footnote-2688120 +Node: Labels Program688254 +Ref: Labels Program-Footnote-1691625 +Node: Word Sorting691709 +Node: History Sorting695593 +Node: Extract Program697432 +Ref: Extract Program-Footnote-1704935 +Node: Simple Sed705063 +Node: Igawk Program708125 +Ref: Igawk Program-Footnote-1723282 +Ref: Igawk Program-Footnote-2723483 +Node: Anagram Program723621 +Node: Signature Program726689 +Node: Advanced Features727789 +Node: Nondecimal Data729675 +Node: Array Sorting731258 +Node: Controlling Array Traversal731955 +Node: Array Sorting Functions740239 +Ref: Array Sorting Functions-Footnote-1744108 +Node: Two-way I/O744302 +Ref: Two-way I/O-Footnote-1749734 +Node: TCP/IP Networking749804 +Node: Profiling752648 +Node: Internationalization760145 +Node: I18N and L10N761570 +Node: Explaining gettext762256 +Ref: Explaining gettext-Footnote-1767324 +Ref: Explaining gettext-Footnote-2767508 +Node: Programmer i18n767673 +Node: Translator i18n771875 +Node: String Extraction772668 +Ref: String Extraction-Footnote-1773629 +Node: Printf Ordering773715 +Ref: Printf Ordering-Footnote-1776499 +Node: I18N Portability776563 +Ref: I18N Portability-Footnote-1779012 +Node: I18N Example779075 +Ref: I18N Example-Footnote-1781713 +Node: Gawk I18N781785 +Node: Debugger782406 +Node: Debugging783377 +Node: Debugging Concepts783810 +Node: Debugging Terms785666 +Node: Awk Debugging788263 +Node: Sample Debugging Session789155 +Node: Debugger Invocation789675 +Node: Finding The Bug791007 +Node: List of Debugger Commands797495 +Node: Breakpoint Control798829 +Node: Debugger Execution Control802493 +Node: Viewing And Changing Data805853 +Node: Execution Stack809209 +Node: Debugger Info810676 +Node: Miscellaneous Debugger Commands814658 +Node: Readline Support819834 +Node: Limitations820665 +Node: Arbitrary Precision Arithmetic822917 +Ref: Arbitrary Precision Arithmetic-Footnote-1824566 +Node: General Arithmetic824714 +Node: Floating Point Issues826434 +Node: String Conversion Precision827315 +Ref: String Conversion Precision-Footnote-1829020 +Node: Unexpected Results829129 +Node: POSIX Floating Point Problems831282 +Ref: POSIX Floating Point Problems-Footnote-1835107 +Node: Integer Programming835145 +Node: Floating-point Programming836884 +Ref: Floating-point Programming-Footnote-1843215 +Ref: Floating-point Programming-Footnote-2843485 +Node: Floating-point Representation843749 +Node: Floating-point Context844914 +Ref: table-ieee-formats845753 +Node: Rounding Mode847137 +Ref: table-rounding-modes847616 +Ref: Rounding Mode-Footnote-1850631 +Node: Gawk and MPFR850810 +Node: Arbitrary Precision Floats852065 +Ref: Arbitrary Precision Floats-Footnote-1854508 +Node: Setting Precision854824 +Ref: table-predefined-precision-strings855510 +Node: Setting Rounding Mode857655 +Ref: table-gawk-rounding-modes858059 +Node: Floating-point Constants859246 +Node: Changing Precision860675 +Ref: Changing Precision-Footnote-1862072 +Node: Exact Arithmetic862246 +Node: Arbitrary Precision Integers865384 +Ref: Arbitrary Precision Integers-Footnote-1868402 +Node: Dynamic Extensions868549 +Node: Extension Intro870007 +Node: Plugin License871272 +Node: Extension Mechanism Outline871957 +Ref: load-extension872374 +Ref: load-new-function873852 +Ref: call-new-function874847 +Node: Extension API Description876862 +Node: Extension API Functions Introduction878075 +Node: General Data Types882941 +Ref: General Data Types-Footnote-1888543 +Node: Requesting Values888842 +Ref: table-value-types-returned889573 +Node: Constructor Functions890527 +Node: Registration Functions893547 +Node: Extension Functions894232 +Node: Exit Callback Functions896457 +Node: Extension Version String897706 +Node: Input Parsers898356 +Node: Output Wrappers908113 +Node: Two-way processors912623 +Node: Printing Messages914831 +Ref: Printing Messages-Footnote-1915908 +Node: Updating `ERRNO'916060 +Node: Accessing Parameters916799 +Node: Symbol Table Access918029 +Node: Symbol table by name918541 +Node: Symbol table by cookie920288 +Ref: Symbol table by cookie-Footnote-1924418 +Node: Cached values924481 +Ref: Cached values-Footnote-1927930 +Node: Array Manipulation928021 +Ref: Array Manipulation-Footnote-1929119 +Node: Array Data Types929158 +Ref: Array Data Types-Footnote-1931861 +Node: Array Functions931953 +Node: Flattening Arrays935719 +Node: Creating Arrays942571 +Node: Extension API Variables947296 +Node: Extension Versioning947932 +Node: Extension API Informational Variables949833 +Node: Extension API Boilerplate950919 +Node: Finding Extensions954723 +Node: Extension Example955283 +Node: Internal File Description956013 +Node: Internal File Ops960104 +Ref: Internal File Ops-Footnote-1971612 +Node: Using Internal File Ops971752 +Ref: Using Internal File Ops-Footnote-1974105 +Node: Extension Samples974371 +Node: Extension Sample File Functions975895 +Node: Extension Sample Fnmatch984380 +Node: Extension Sample Fork986106 +Node: Extension Sample Inplace987324 +Node: Extension Sample Ord989102 +Node: Extension Sample Readdir989938 +Node: Extension Sample Revout991470 +Node: Extension Sample Rev2way992063 +Node: Extension Sample Read write array992753 +Node: Extension Sample Readfile994636 +Node: Extension Sample API Tests995454 +Node: Extension Sample Time995979 +Node: gawkextlib997343 +Node: Language History1000124 +Node: V7/SVR3.11001717 +Node: SVR41004037 +Node: POSIX1005479 +Node: BTL1006865 +Node: POSIX/GNU1007599 +Node: Feature History1013198 +Node: Common Extensions1026162 +Node: Ranges and Locales1027474 +Ref: Ranges and Locales-Footnote-11032092 +Ref: Ranges and Locales-Footnote-21032119 +Ref: Ranges and Locales-Footnote-31032379 +Node: Contributors1032600 +Node: Installation1037745 +Node: Gawk Distribution1038639 +Node: Getting1039123 +Node: Extracting1039949 +Node: Distribution contents1041641 +Node: Unix Installation1047346 +Node: Quick Installation1047963 +Node: Additional Configuration Options1050407 +Node: Configuration Philosophy1052143 +Node: Non-Unix Installation1054497 +Node: PC Installation1054955 +Node: PC Binary Installation1056254 +Node: PC Compiling1058102 +Node: PC Testing1061046 +Node: PC Using1062222 +Node: Cygwin1066407 +Node: MSYS1067407 +Node: VMS Installation1067921 +Node: VMS Compilation1068685 +Ref: VMS Compilation-Footnote-11070300 +Node: VMS Dynamic Extensions1070358 +Node: VMS Installation Details1071731 +Node: VMS Running1073978 +Node: VMS GNV1076812 +Node: VMS Old Gawk1077535 +Node: Bugs1078005 +Node: Other Versions1081923 +Node: Notes1088007 +Node: Compatibility Mode1088807 +Node: Additions1089590 +Node: Accessing The Source1090517 +Node: Adding Code1091957 +Node: New Ports1098002 +Node: Derived Files1102137 +Ref: Derived Files-Footnote-11107458 +Ref: Derived Files-Footnote-21107492 +Ref: Derived Files-Footnote-31108092 +Node: Future Extensions1108190 +Node: Implementation Limitations1108773 +Node: Extension Design1110025 +Node: Old Extension Problems1111179 +Ref: Old Extension Problems-Footnote-11112687 +Node: Extension New Mechanism Goals1112744 +Ref: Extension New Mechanism Goals-Footnote-11116109 +Node: Extension Other Design Decisions1116295 +Node: Extension Future Growth1118401 +Node: Old Extension Mechanism1119237 +Node: Basic Concepts1120977 +Node: Basic High Level1121658 +Ref: figure-general-flow1121929 +Ref: figure-process-flow1122528 +Ref: Basic High Level-Footnote-11125757 +Node: Basic Data Typing1125942 +Node: Glossary1129297 +Node: Copying1154759 +Node: GNU Free Documentation License1192316 +Node: Index1217453  End Tag Table -- cgit v1.2.3 From c0aeaf87402aa2670e76a32a888053fb64b879b0 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 20 Feb 2014 20:26:43 +0200 Subject: Add a quote in alarm program section. --- doc/gawk.info | 457 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 230 insertions(+), 227 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 351d0d44..a3ab750c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -16657,6 +16657,8 @@ File: gawk.info, Node: Alarm Program, Next: Translate Program, Prev: Dupword Nothing cures insomnia like a ringing alarm clock. -- Arnold Robbins + Sleep is for web developers. -- Erik Quanstrom + The following program is a simple "alarm clock" program. You give it a time of day and an optional message. At the specified time, it prints the message on the standard output. In addition, you can give it @@ -30221,8 +30223,8 @@ Index (line 10) * Aho, Alfred <1>: Contributors. (line 11) * Aho, Alfred: History. (line 17) -* alarm clock example program: Alarm Program. (line 9) -* alarm.awk program: Alarm Program. (line 29) +* alarm clock example program: Alarm Program. (line 11) +* alarm.awk program: Alarm Program. (line 31) * algorithms: Basic High Level. (line 68) * Alpha (DEC): Manual History. (line 28) * amazing awk assembler (aaa): Glossary. (line 12) @@ -32106,6 +32108,7 @@ Index * q debugger command (alias for quit): Miscellaneous Debugger Commands. (line 99) * QSE Awk: Other Versions. (line 130) +* Quanstrom, Erik: Alarm Program. (line 8) * question mark (?) regexp operator <1>: GNU Regexp Operators. (line 59) * question mark (?) regexp operator: Regexp Operators. (line 111) @@ -32385,7 +32388,7 @@ Index * single-character fields: Single Character Fields. (line 6) * Skywalker, Luke: Undocumented. (line 6) -* sleep utility: Alarm Program. (line 109) +* sleep utility: Alarm Program. (line 111) * sleep() extension function: Extension Sample Time. (line 23) * Solaris, POSIX-compliant awk: Other Versions. (line 96) @@ -32524,7 +32527,7 @@ Index * tilde (~), ~ operator <5>: Computed Regexps. (line 6) * tilde (~), ~ operator <6>: Case-sensitivity. (line 26) * tilde (~), ~ operator: Regexp Usage. (line 19) -* time, alarm clock example program: Alarm Program. (line 9) +* time, alarm clock example program: Alarm Program. (line 11) * time, localization and: Explaining gettext. (line 115) * time, managing: Getlocaltime Function. (line 6) @@ -33035,228 +33038,228 @@ Ref: Wc Program-Footnote-2675421 Node: Miscellaneous Programs675513 Node: Dupword Program676701 Node: Alarm Program678732 -Node: Translate Program683485 -Ref: Translate Program-Footnote-1687872 -Ref: Translate Program-Footnote-2688120 -Node: Labels Program688254 -Ref: Labels Program-Footnote-1691625 -Node: Word Sorting691709 -Node: History Sorting695593 -Node: Extract Program697432 -Ref: Extract Program-Footnote-1704935 -Node: Simple Sed705063 -Node: Igawk Program708125 -Ref: Igawk Program-Footnote-1723282 -Ref: Igawk Program-Footnote-2723483 -Node: Anagram Program723621 -Node: Signature Program726689 -Node: Advanced Features727789 -Node: Nondecimal Data729675 -Node: Array Sorting731258 -Node: Controlling Array Traversal731955 -Node: Array Sorting Functions740239 -Ref: Array Sorting Functions-Footnote-1744108 -Node: Two-way I/O744302 -Ref: Two-way I/O-Footnote-1749734 -Node: TCP/IP Networking749804 -Node: Profiling752648 -Node: Internationalization760145 -Node: I18N and L10N761570 -Node: Explaining gettext762256 -Ref: Explaining gettext-Footnote-1767324 -Ref: Explaining gettext-Footnote-2767508 -Node: Programmer i18n767673 -Node: Translator i18n771875 -Node: String Extraction772668 -Ref: String Extraction-Footnote-1773629 -Node: Printf Ordering773715 -Ref: Printf Ordering-Footnote-1776499 -Node: I18N Portability776563 -Ref: I18N Portability-Footnote-1779012 -Node: I18N Example779075 -Ref: I18N Example-Footnote-1781713 -Node: Gawk I18N781785 -Node: Debugger782406 -Node: Debugging783377 -Node: Debugging Concepts783810 -Node: Debugging Terms785666 -Node: Awk Debugging788263 -Node: Sample Debugging Session789155 -Node: Debugger Invocation789675 -Node: Finding The Bug791007 -Node: List of Debugger Commands797495 -Node: Breakpoint Control798829 -Node: Debugger Execution Control802493 -Node: Viewing And Changing Data805853 -Node: Execution Stack809209 -Node: Debugger Info810676 -Node: Miscellaneous Debugger Commands814658 -Node: Readline Support819834 -Node: Limitations820665 -Node: Arbitrary Precision Arithmetic822917 -Ref: Arbitrary Precision Arithmetic-Footnote-1824566 -Node: General Arithmetic824714 -Node: Floating Point Issues826434 -Node: String Conversion Precision827315 -Ref: String Conversion Precision-Footnote-1829020 -Node: Unexpected Results829129 -Node: POSIX Floating Point Problems831282 -Ref: POSIX Floating Point Problems-Footnote-1835107 -Node: Integer Programming835145 -Node: Floating-point Programming836884 -Ref: Floating-point Programming-Footnote-1843215 -Ref: Floating-point Programming-Footnote-2843485 -Node: Floating-point Representation843749 -Node: Floating-point Context844914 -Ref: table-ieee-formats845753 -Node: Rounding Mode847137 -Ref: table-rounding-modes847616 -Ref: Rounding Mode-Footnote-1850631 -Node: Gawk and MPFR850810 -Node: Arbitrary Precision Floats852065 -Ref: Arbitrary Precision Floats-Footnote-1854508 -Node: Setting Precision854824 -Ref: table-predefined-precision-strings855510 -Node: Setting Rounding Mode857655 -Ref: table-gawk-rounding-modes858059 -Node: Floating-point Constants859246 -Node: Changing Precision860675 -Ref: Changing Precision-Footnote-1862072 -Node: Exact Arithmetic862246 -Node: Arbitrary Precision Integers865384 -Ref: Arbitrary Precision Integers-Footnote-1868402 -Node: Dynamic Extensions868549 -Node: Extension Intro870007 -Node: Plugin License871272 -Node: Extension Mechanism Outline871957 -Ref: load-extension872374 -Ref: load-new-function873852 -Ref: call-new-function874847 -Node: Extension API Description876862 -Node: Extension API Functions Introduction878075 -Node: General Data Types882941 -Ref: General Data Types-Footnote-1888543 -Node: Requesting Values888842 -Ref: table-value-types-returned889573 -Node: Constructor Functions890527 -Node: Registration Functions893547 -Node: Extension Functions894232 -Node: Exit Callback Functions896457 -Node: Extension Version String897706 -Node: Input Parsers898356 -Node: Output Wrappers908113 -Node: Two-way processors912623 -Node: Printing Messages914831 -Ref: Printing Messages-Footnote-1915908 -Node: Updating `ERRNO'916060 -Node: Accessing Parameters916799 -Node: Symbol Table Access918029 -Node: Symbol table by name918541 -Node: Symbol table by cookie920288 -Ref: Symbol table by cookie-Footnote-1924418 -Node: Cached values924481 -Ref: Cached values-Footnote-1927930 -Node: Array Manipulation928021 -Ref: Array Manipulation-Footnote-1929119 -Node: Array Data Types929158 -Ref: Array Data Types-Footnote-1931861 -Node: Array Functions931953 -Node: Flattening Arrays935719 -Node: Creating Arrays942571 -Node: Extension API Variables947296 -Node: Extension Versioning947932 -Node: Extension API Informational Variables949833 -Node: Extension API Boilerplate950919 -Node: Finding Extensions954723 -Node: Extension Example955283 -Node: Internal File Description956013 -Node: Internal File Ops960104 -Ref: Internal File Ops-Footnote-1971612 -Node: Using Internal File Ops971752 -Ref: Using Internal File Ops-Footnote-1974105 -Node: Extension Samples974371 -Node: Extension Sample File Functions975895 -Node: Extension Sample Fnmatch984380 -Node: Extension Sample Fork986106 -Node: Extension Sample Inplace987324 -Node: Extension Sample Ord989102 -Node: Extension Sample Readdir989938 -Node: Extension Sample Revout991470 -Node: Extension Sample Rev2way992063 -Node: Extension Sample Read write array992753 -Node: Extension Sample Readfile994636 -Node: Extension Sample API Tests995454 -Node: Extension Sample Time995979 -Node: gawkextlib997343 -Node: Language History1000124 -Node: V7/SVR3.11001717 -Node: SVR41004037 -Node: POSIX1005479 -Node: BTL1006865 -Node: POSIX/GNU1007599 -Node: Feature History1013198 -Node: Common Extensions1026162 -Node: Ranges and Locales1027474 -Ref: Ranges and Locales-Footnote-11032092 -Ref: Ranges and Locales-Footnote-21032119 -Ref: Ranges and Locales-Footnote-31032379 -Node: Contributors1032600 -Node: Installation1037745 -Node: Gawk Distribution1038639 -Node: Getting1039123 -Node: Extracting1039949 -Node: Distribution contents1041641 -Node: Unix Installation1047346 -Node: Quick Installation1047963 -Node: Additional Configuration Options1050407 -Node: Configuration Philosophy1052143 -Node: Non-Unix Installation1054497 -Node: PC Installation1054955 -Node: PC Binary Installation1056254 -Node: PC Compiling1058102 -Node: PC Testing1061046 -Node: PC Using1062222 -Node: Cygwin1066407 -Node: MSYS1067407 -Node: VMS Installation1067921 -Node: VMS Compilation1068685 -Ref: VMS Compilation-Footnote-11070300 -Node: VMS Dynamic Extensions1070358 -Node: VMS Installation Details1071731 -Node: VMS Running1073978 -Node: VMS GNV1076812 -Node: VMS Old Gawk1077535 -Node: Bugs1078005 -Node: Other Versions1081923 -Node: Notes1088007 -Node: Compatibility Mode1088807 -Node: Additions1089590 -Node: Accessing The Source1090517 -Node: Adding Code1091957 -Node: New Ports1098002 -Node: Derived Files1102137 -Ref: Derived Files-Footnote-11107458 -Ref: Derived Files-Footnote-21107492 -Ref: Derived Files-Footnote-31108092 -Node: Future Extensions1108190 -Node: Implementation Limitations1108773 -Node: Extension Design1110025 -Node: Old Extension Problems1111179 -Ref: Old Extension Problems-Footnote-11112687 -Node: Extension New Mechanism Goals1112744 -Ref: Extension New Mechanism Goals-Footnote-11116109 -Node: Extension Other Design Decisions1116295 -Node: Extension Future Growth1118401 -Node: Old Extension Mechanism1119237 -Node: Basic Concepts1120977 -Node: Basic High Level1121658 -Ref: figure-general-flow1121929 -Ref: figure-process-flow1122528 -Ref: Basic High Level-Footnote-11125757 -Node: Basic Data Typing1125942 -Node: Glossary1129297 -Node: Copying1154759 -Node: GNU Free Documentation License1192316 -Node: Index1217453 +Node: Translate Program683539 +Ref: Translate Program-Footnote-1687926 +Ref: Translate Program-Footnote-2688174 +Node: Labels Program688308 +Ref: Labels Program-Footnote-1691679 +Node: Word Sorting691763 +Node: History Sorting695647 +Node: Extract Program697486 +Ref: Extract Program-Footnote-1704989 +Node: Simple Sed705117 +Node: Igawk Program708179 +Ref: Igawk Program-Footnote-1723336 +Ref: Igawk Program-Footnote-2723537 +Node: Anagram Program723675 +Node: Signature Program726743 +Node: Advanced Features727843 +Node: Nondecimal Data729729 +Node: Array Sorting731312 +Node: Controlling Array Traversal732009 +Node: Array Sorting Functions740293 +Ref: Array Sorting Functions-Footnote-1744162 +Node: Two-way I/O744356 +Ref: Two-way I/O-Footnote-1749788 +Node: TCP/IP Networking749858 +Node: Profiling752702 +Node: Internationalization760199 +Node: I18N and L10N761624 +Node: Explaining gettext762310 +Ref: Explaining gettext-Footnote-1767378 +Ref: Explaining gettext-Footnote-2767562 +Node: Programmer i18n767727 +Node: Translator i18n771929 +Node: String Extraction772722 +Ref: String Extraction-Footnote-1773683 +Node: Printf Ordering773769 +Ref: Printf Ordering-Footnote-1776553 +Node: I18N Portability776617 +Ref: I18N Portability-Footnote-1779066 +Node: I18N Example779129 +Ref: I18N Example-Footnote-1781767 +Node: Gawk I18N781839 +Node: Debugger782460 +Node: Debugging783431 +Node: Debugging Concepts783864 +Node: Debugging Terms785720 +Node: Awk Debugging788317 +Node: Sample Debugging Session789209 +Node: Debugger Invocation789729 +Node: Finding The Bug791061 +Node: List of Debugger Commands797549 +Node: Breakpoint Control798883 +Node: Debugger Execution Control802547 +Node: Viewing And Changing Data805907 +Node: Execution Stack809263 +Node: Debugger Info810730 +Node: Miscellaneous Debugger Commands814712 +Node: Readline Support819888 +Node: Limitations820719 +Node: Arbitrary Precision Arithmetic822971 +Ref: Arbitrary Precision Arithmetic-Footnote-1824620 +Node: General Arithmetic824768 +Node: Floating Point Issues826488 +Node: String Conversion Precision827369 +Ref: String Conversion Precision-Footnote-1829074 +Node: Unexpected Results829183 +Node: POSIX Floating Point Problems831336 +Ref: POSIX Floating Point Problems-Footnote-1835161 +Node: Integer Programming835199 +Node: Floating-point Programming836938 +Ref: Floating-point Programming-Footnote-1843269 +Ref: Floating-point Programming-Footnote-2843539 +Node: Floating-point Representation843803 +Node: Floating-point Context844968 +Ref: table-ieee-formats845807 +Node: Rounding Mode847191 +Ref: table-rounding-modes847670 +Ref: Rounding Mode-Footnote-1850685 +Node: Gawk and MPFR850864 +Node: Arbitrary Precision Floats852119 +Ref: Arbitrary Precision Floats-Footnote-1854562 +Node: Setting Precision854878 +Ref: table-predefined-precision-strings855564 +Node: Setting Rounding Mode857709 +Ref: table-gawk-rounding-modes858113 +Node: Floating-point Constants859300 +Node: Changing Precision860729 +Ref: Changing Precision-Footnote-1862126 +Node: Exact Arithmetic862300 +Node: Arbitrary Precision Integers865438 +Ref: Arbitrary Precision Integers-Footnote-1868456 +Node: Dynamic Extensions868603 +Node: Extension Intro870061 +Node: Plugin License871326 +Node: Extension Mechanism Outline872011 +Ref: load-extension872428 +Ref: load-new-function873906 +Ref: call-new-function874901 +Node: Extension API Description876916 +Node: Extension API Functions Introduction878129 +Node: General Data Types882995 +Ref: General Data Types-Footnote-1888597 +Node: Requesting Values888896 +Ref: table-value-types-returned889627 +Node: Constructor Functions890581 +Node: Registration Functions893601 +Node: Extension Functions894286 +Node: Exit Callback Functions896511 +Node: Extension Version String897760 +Node: Input Parsers898410 +Node: Output Wrappers908167 +Node: Two-way processors912677 +Node: Printing Messages914885 +Ref: Printing Messages-Footnote-1915962 +Node: Updating `ERRNO'916114 +Node: Accessing Parameters916853 +Node: Symbol Table Access918083 +Node: Symbol table by name918595 +Node: Symbol table by cookie920342 +Ref: Symbol table by cookie-Footnote-1924472 +Node: Cached values924535 +Ref: Cached values-Footnote-1927984 +Node: Array Manipulation928075 +Ref: Array Manipulation-Footnote-1929173 +Node: Array Data Types929212 +Ref: Array Data Types-Footnote-1931915 +Node: Array Functions932007 +Node: Flattening Arrays935773 +Node: Creating Arrays942625 +Node: Extension API Variables947350 +Node: Extension Versioning947986 +Node: Extension API Informational Variables949887 +Node: Extension API Boilerplate950973 +Node: Finding Extensions954777 +Node: Extension Example955337 +Node: Internal File Description956067 +Node: Internal File Ops960158 +Ref: Internal File Ops-Footnote-1971666 +Node: Using Internal File Ops971806 +Ref: Using Internal File Ops-Footnote-1974159 +Node: Extension Samples974425 +Node: Extension Sample File Functions975949 +Node: Extension Sample Fnmatch984434 +Node: Extension Sample Fork986160 +Node: Extension Sample Inplace987378 +Node: Extension Sample Ord989156 +Node: Extension Sample Readdir989992 +Node: Extension Sample Revout991524 +Node: Extension Sample Rev2way992117 +Node: Extension Sample Read write array992807 +Node: Extension Sample Readfile994690 +Node: Extension Sample API Tests995508 +Node: Extension Sample Time996033 +Node: gawkextlib997397 +Node: Language History1000178 +Node: V7/SVR3.11001771 +Node: SVR41004091 +Node: POSIX1005533 +Node: BTL1006919 +Node: POSIX/GNU1007653 +Node: Feature History1013252 +Node: Common Extensions1026216 +Node: Ranges and Locales1027528 +Ref: Ranges and Locales-Footnote-11032146 +Ref: Ranges and Locales-Footnote-21032173 +Ref: Ranges and Locales-Footnote-31032433 +Node: Contributors1032654 +Node: Installation1037799 +Node: Gawk Distribution1038693 +Node: Getting1039177 +Node: Extracting1040003 +Node: Distribution contents1041695 +Node: Unix Installation1047400 +Node: Quick Installation1048017 +Node: Additional Configuration Options1050461 +Node: Configuration Philosophy1052197 +Node: Non-Unix Installation1054551 +Node: PC Installation1055009 +Node: PC Binary Installation1056308 +Node: PC Compiling1058156 +Node: PC Testing1061100 +Node: PC Using1062276 +Node: Cygwin1066461 +Node: MSYS1067461 +Node: VMS Installation1067975 +Node: VMS Compilation1068739 +Ref: VMS Compilation-Footnote-11070354 +Node: VMS Dynamic Extensions1070412 +Node: VMS Installation Details1071785 +Node: VMS Running1074032 +Node: VMS GNV1076866 +Node: VMS Old Gawk1077589 +Node: Bugs1078059 +Node: Other Versions1081977 +Node: Notes1088061 +Node: Compatibility Mode1088861 +Node: Additions1089644 +Node: Accessing The Source1090571 +Node: Adding Code1092011 +Node: New Ports1098056 +Node: Derived Files1102191 +Ref: Derived Files-Footnote-11107512 +Ref: Derived Files-Footnote-21107546 +Ref: Derived Files-Footnote-31108146 +Node: Future Extensions1108244 +Node: Implementation Limitations1108827 +Node: Extension Design1110079 +Node: Old Extension Problems1111233 +Ref: Old Extension Problems-Footnote-11112741 +Node: Extension New Mechanism Goals1112798 +Ref: Extension New Mechanism Goals-Footnote-11116163 +Node: Extension Other Design Decisions1116349 +Node: Extension Future Growth1118455 +Node: Old Extension Mechanism1119291 +Node: Basic Concepts1121031 +Node: Basic High Level1121712 +Ref: figure-general-flow1121983 +Ref: figure-process-flow1122582 +Ref: Basic High Level-Footnote-11125811 +Node: Basic Data Typing1125996 +Node: Glossary1129351 +Node: Copying1154813 +Node: GNU Free Documentation License1192370 +Node: Index1217507  End Tag Table -- cgit v1.2.3 From c40640f98379cbe112277033e3a8ab4caaa35ab8 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Feb 2014 05:57:47 +0200 Subject: Start on doc fixes. --- doc/gawk.info | 923 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 471 insertions(+), 452 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index a3ab750c..eb7c52fb 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9116,9 +9116,11 @@ File: gawk.info, Node: Switch Statement, Next: Break Statement, Prev: For Sta 7.4.5 The `switch' Statement ---------------------------- -The `switch' statement allows the evaluation of an expression and the -execution of statements based on a `case' match. Case statements are -checked for a match in the order they are defined. If no suitable +This minor node describes a `gawk'-specific feature. + + The `switch' statement allows the evaluation of an expression and +the execution of statements based on a `case' match. Case statements +are checked for a match in the order they are defined. If no suitable `case' is found, the `default' section is executed, if supplied. Each `case' contains a single constant, be it numeric, string, or @@ -11969,10 +11971,10 @@ parameters are enclosed in square brackets ([ ]): function--`gawk' also buffers its output and the `fflush()' function forces `gawk' to flush its buffers. - `fflush()' was added to Brian Kernighan's version of `awk' in 1994. - For over two decades, it was not part of the POSIX standard. As - of December, 2012, it was accepted for inclusion into the POSIX - standard. See the Austin Group website + `fflush()' was added to Brian Kernighan's version of `awk' in + April of 1992. For two decades, it was not part of the POSIX + standard. As of December, 2012, it was accepted for inclusion + into the POSIX standard. See the Austin Group website (http://austingroupbugs.net/view.php?id=634). POSIX standardizes `fflush()' as follows: If there is no argument, @@ -12689,7 +12691,7 @@ a parameter with the same name as the function itself. In addition, according to the POSIX standard, function parameters cannot have the same name as one of the special built-in variables (*note Built-in Variables::. Not all versions of `awk' enforce this -restriction. +restriction.) The BODY-OF-FUNCTION consists of `awk' statements. It is the most important part of the definition, because it says what the function @@ -12732,8 +12734,8 @@ function. When this happens, we say the function is "recursive". The act of a function calling itself is called "recursion". All the built-in functions return a value to their caller. -User-defined functions can do also, using the `return' statement, which -is described in detail in *note Return Statement::. Many of the +User-defined functions can do so also, using the `return' statement, +which is described in detail in *note Return Statement::. Many of the subsequent examples in this minor node use the `return' statement. In many `awk' implementations, including `gawk', the keyword @@ -12803,7 +12805,8 @@ elements in an array and start over with a new list of elements (*note Delete::). Instead of having to repeat this loop everywhere that you need to clear out an array, your program can just call `delarray'. (This guarantees portability. The use of `delete ARRAY' to delete the -contents of an entire array is a nonstandard extension.) +contents of an entire array is a recent(1) addition to the POSIX +standard.) The following is an example of a recursive function. It takes a string as an input parameter and returns the string in backwards order. @@ -12843,13 +12846,19 @@ an `awk' version of `ctime()': return strftime(format, ts) } + ---------- Footnotes ---------- + + (1) Late in 2012. +  File: gawk.info, Node: Function Caveats, Next: Return Statement, Prev: Function Example, Up: User-defined 9.2.3 Calling User-Defined Functions ------------------------------------ -This section describes how to call a user-defined function. +"Calling a function" means causing the function to run and do its job. +A function call is an expression and its value is the value returned by +the function. * Menu: @@ -12863,16 +12872,12 @@ File: gawk.info, Node: Calling A Function, Next: Variable Scope, Up: Function 9.2.3.1 Writing A Function Call ............................... -"Calling a function" means causing the function to run and do its job. -A function call is an expression and its value is the value returned by -the function. - - A function call consists of the function name followed by the -arguments in parentheses. `awk' expressions are what you write in the -call for the arguments. Each time the call is executed, these -expressions are evaluated, and the values become the actual arguments. -For example, here is a call to `foo()' with three arguments (the first -being a string concatenation): +A function call consists of the function name followed by the arguments +in parentheses. `awk' expressions are what you write in the call for +the arguments. Each time the call is executed, these expressions are +evaluated, and the values become the actual arguments. For example, +here is a call to `foo()' with three arguments (the first being a +string concatenation): foo(x y, "lose", 4 * z) @@ -13267,7 +13272,7 @@ and then a closing right parenthesis, with the addition of a leading `@' character: the_func = "sum" - result = @the_func() # calls the `sum' function + result = @the_func() # calls the sum() function Here is a full program that processes the previously shown data, using indirect function calls. @@ -13418,8 +13423,8 @@ order. Next comes a sorting function. It is parameterized with the starting and ending field numbers and the comparison function. It -builds an array with the data and calls `quicksort' appropriately, and -then formats the results as a single string: +builds an array with the data and calls `quicksort()' appropriately, +and then formats the results as a single string: # do_sort --- sort the data according to `compare' # and return it as a string @@ -13619,7 +13624,7 @@ will be accidentally shared with the user's program. In addition, several of the library functions use a prefix that helps indicate what function or set of functions use the variables--for -example, `_pw_byname' in the user database routines (*note Passwd +example, `_pw_byname()' in the user database routines (*note Passwd Functions::). This convention is recommended, since it even further decreases the chance of inadvertent conflict among variable names. Note that this convention is used equally well for variable names and @@ -13870,9 +13875,9 @@ File: gawk.info, Node: Round Function, Next: Cliff Random Function, Prev: Ass The way `printf' and `sprintf()' (*note Printf::) perform rounding often depends upon the system's C `sprintf()' subroutine. On many -machines, `sprintf()' rounding is "unbiased," which means it doesn't -always round a trailing `.5' up, contrary to naive expectations. In -unbiased rounding, `.5' rounds to even, rather than always up, so 1.5 +machines, `sprintf()' rounding is "unbiased", which means it doesn't +always round a trailing .5 up, contrary to naive expectations. In +unbiased rounding, .5 rounds to even, rather than always up, so 1.5 rounds to 2 but 4.5 rounds to 4. This means that if you are using a format that does rounding (e.g., `"%.0f"'), you should check what your system does. The following function does traditional rounding; it @@ -13906,7 +13911,7 @@ might be useful if your `awk''s `printf' does unbiased rounding: } # test harness - { print $0, round($0) } + # { print $0, round($0) }  File: gawk.info, Node: Cliff Random Function, Next: Ordinal Functions, Prev: Round Function, Up: General Functions @@ -13982,8 +13987,8 @@ corresponding character. Both functions are written very nicely in } } - Some explanation of the numbers used by `chr()' is worthwhile. The -most prominent character set in use today is ASCII.(1) Although an + Some explanation of the numbers used by `_ord_init()' is worthwhile. +The most prominent character set in use today is ASCII.(1) Although an 8-bit byte can hold 256 distinct values (from 0 to 255), ASCII only defines characters that use the values from 0 to 127.(2) In the now distant past, at least one minicomputer manufacturer used ASCII, but @@ -14033,7 +14038,7 @@ tests such as used here prohibitively expensive. (2) ASCII has been extended in many countries to use the values from 128 to 255 for country-specific characters. If your system uses these -extensions, you can simplify `_ord_init' to loop from 0 to 255. +extensions, you can simplify `_ord_init()' to loop from 0 to 255.  File: gawk.info, Node: Join Function, Next: Getlocaltime Function, Prev: Ordinal Functions, Up: General Functions @@ -14474,7 +14479,7 @@ File: gawk.info, Node: Ignoring Assigns, Prev: Empty Files, Up: Data File Man Occasionally, you might not want `awk' to process command-line variable assignments (*note Assignment Options::). In particular, if you have a -file name that contain an `=' character, `awk' treats the file name as +file name that contains an `=' character, `awk' treats the file name as an assignment, and does not process it. Some users have suggested an additional command-line option for @@ -14970,7 +14975,7 @@ later. The test can only be true for `gawk'. It is false if using `FS' or `FPAT', or on some other `awk' implementation. The code that checks for using `FPAT', using `using_fpat' and -`PROCINFO["FS"]' is similar. +`PROCINFO["FS"]', is similar. The main part of the function uses a loop to read database lines, split the line into fields, and then store the line into each array as @@ -14990,9 +14995,9 @@ create the element with the null string as its value: return _pw_byname[name] } - Similarly, the `getpwuid' function takes a user ID number argument. -If that user number is in the database, it returns the appropriate -line. Otherwise, it returns the null string: + Similarly, the `getpwuid()' function takes a user ID number +argument. If that user number is in the database, it returns the +appropriate line. Otherwise, it returns the null string: function getpwuid(uid) { @@ -15339,8 +15344,8 @@ index and value, use the indirect function call syntax (*note Indirect Calls::) on `process', passing it the index and the value. When calling `walk_array()', you would pass the name of a -user-defined function that expects to receive and index and a value, -and then processes the element. +user-defined function that expects to receive an index and a value, and +then processes the element.  File: gawk.info, Node: Sample Programs, Next: Advanced Features, Prev: Library Functions, Up: Top @@ -15601,7 +15606,7 @@ fields to print are `$1', `$3', and `$5'. The intermediate fields are the fields to print, and `t' tracks the complete field list, including filler fields: - function set_charlist( field, i, j, f, g, t, + function set_charlist( field, i, j, f, g, n, m, t, filler, last, len) { field = 1 # count total fields @@ -18527,7 +18532,8 @@ regular pipes. ---------- Footnotes ---------- - (1) This is very different from the same operator in the C shell. + (1) This is very different from the same operator in the C shell and +in Bash.  File: gawk.info, Node: TCP/IP Networking, Next: Profiling, Prev: Two-way I/O, Up: Advanced Features @@ -18665,56 +18671,64 @@ First, the `awk' program: junk Here is the `awkprof.out' that results from running the `gawk' -profiler on this program and data (this example also illustrates that -`awk' programmers sometimes have to work late): +profiler on this program and data. (This example also illustrates that +`awk' programmers sometimes get up very early in the morning to work.) - # gawk profile, created Sun Aug 13 00:00:15 2000 + # gawk profile, created Thu Feb 27 05:16:21 2014 - # BEGIN block(s) + # BEGIN block(s) - BEGIN { - 1 print "First BEGIN rule" - 1 print "Second BEGIN rule" - } + BEGIN { + 1 print "First BEGIN rule" + } - # Rule(s) + BEGIN { + 1 print "Second BEGIN rule" + } - 5 /foo/ { # 2 - 2 print "matched /foo/, gosh" - 6 for (i = 1; i <= 3; i++) { - 6 sing() - } - } + # Rule(s) - 5 { - 5 if (/foo/) { # 2 - 2 print "if is true" - 3 } else { - 3 print "else is true" - } - } + 5 /foo/ { # 2 + 2 print "matched /foo/, gosh" + 6 for (i = 1; i <= 3; i++) { + 6 sing() + } + } - # END block(s) + 5 { + 5 if (/foo/) { # 2 + 2 print "if is true" + 3 } else { + 3 print "else is true" + } + } - END { - 1 print "First END rule" - 1 print "Second END rule" - } + # END block(s) - # Functions, listed alphabetically + END { + 1 print "First END rule" + } - 6 function sing(dummy) - { - 6 print "I gotta be me!" - } + END { + 1 print "Second END rule" + } + + + # Functions, listed alphabetically + + 6 function sing(dummy) + { + 6 print "I gotta be me!" + } This example illustrates many of the basic features of profiling output. They are as follows: - * The program is printed in the order `BEGIN' rule, `BEGINFILE' rule, - pattern/action rules, `ENDFILE' rule, `END' rule and functions, - listed alphabetically. Multiple `BEGIN' and `END' rules are - merged together, as are multiple `BEGINFILE' and `ENDFILE' rules. + * The program is printed in the order `BEGIN' rules, `BEGINFILE' + rules, pattern/action rules, `ENDFILE' rules, `END' rules and + functions, listed alphabetically. Multiple `BEGIN' and `END' + rules retain their separate identities, as do multiple `BEGINFILE' + and `ENDFILE' rules. * Pattern-action rules have two counts. The first count, to the left of the rule, shows how many times the rule's pattern was @@ -18765,8 +18779,7 @@ you typed when you wrote it. This is because `gawk' creates the profiled version by "pretty printing" its internal representation of the program. The advantage to this is that `gawk' can produce a standard representation. The disadvantage is that all source-code -comments are lost, as are the distinctions among multiple `BEGIN', -`END', `BEGINFILE', and `ENDFILE' rules. Also, things such as: +comments are lost. Also, things such as: /foo/ @@ -18825,6 +18838,9 @@ by the `Ctrl-<\>' key. called this way, `gawk' "pretty prints" the program into `awkprof.out', without any execution counts. + NOTE: The `--pretty-print' option still runs your program. This + will change in the next major release. +  File: gawk.info, Node: Internationalization, Next: Debugger, Prev: Advanced Features, Up: Top @@ -25672,7 +25688,7 @@ as working in this fashion, and in particular, would teach that the `[A-Z]' was the "correct" way to match uppercase letters. And indeed, this was true.(1) - The 1993 POSIX standard introduced the idea of locales (*note + The 1992 POSIX standard introduced the idea of locales (*note Locales::). Since many locales include other letters besides the plain twenty-six letters of the American English alphabet, the POSIX standard added character classes (*note Bracket Expressions::) as a way to match @@ -29975,7 +29991,7 @@ Index * ' (single quote): One-shot. (line 15) * ' (single quote), vs. apostrophe: Comments. (line 27) * ' (single quote), with double quotes: Quoting. (line 53) -* () (parentheses) <1>: Profiling. (line 138) +* () (parentheses) <1>: Profiling. (line 146) * () (parentheses): Regexp Operators. (line 79) * * (asterisk), * operator, as multiplication operator: Precedence. (line 55) @@ -30481,7 +30497,7 @@ Index * Boolean expressions, as patterns: Expression Patterns. (line 41) * Boolean operators, See Boolean expressions: Boolean Ops. (line 6) * Bourne shell, quoting rules for: Quoting. (line 18) -* braces ({}): Profiling. (line 134) +* braces ({}): Profiling. (line 142) * braces ({}), actions and: Action Overview. (line 19) * braces ({}), statements, grouping: Statements. (line 10) * bracket expressions <1>: Bracket Expressions. (line 6) @@ -30688,7 +30704,7 @@ Index * csh utility: Statements/Lines. (line 44) * csh utility, POSIXLY_CORRECT environment variable: Options. (line 348) * csh utility, |& operator, comparison with: Two-way I/O. (line 44) -* ctime() user-defined function: Function Example. (line 72) +* ctime() user-defined function: Function Example. (line 73) * currency symbols, localization: Explaining gettext. (line 103) * custom.h file: Configuration Philosophy. (line 30) @@ -31288,8 +31304,8 @@ Index * functions, undefined: Pass By Value/Reference. (line 71) * functions, user-defined: User-defined. (line 6) -* functions, user-defined, calling: Calling A Function. (line 6) -* functions, user-defined, counts: Profiling. (line 129) +* functions, user-defined, calling: Function Caveats. (line 6) +* functions, user-defined, counts: Profiling. (line 137) * functions, user-defined, library of: Library Functions. (line 6) * functions, user-defined, next/nextfile statements and <1>: Nextfile Statement. (line 47) @@ -31297,7 +31313,7 @@ Index (line 45) * G-d: Acknowledgments. (line 78) * Garfinkle, Scott: Contributors. (line 34) -* gawk program, dynamic profiling: Profiling. (line 172) +* gawk program, dynamic profiling: Profiling. (line 179) * gawk, ARGIND variable in: Other Arguments. (line 12) * gawk, awk and <1>: This Manual. (line 14) * gawk, awk and: Preface. (line 23) @@ -31480,7 +31496,7 @@ Index * hexadecimal values, enabling interpretation of: Options. (line 207) * histsort.awk program: History Sorting. (line 25) * Hughes, Phil: Acknowledgments. (line 43) -* HUP signal: Profiling. (line 204) +* HUP signal: Profiling. (line 211) * hyphen (-), - operator: Precedence. (line 52) * hyphen (-), -- operator <1>: Precedence. (line 46) * hyphen (-), -- operator: Increment Ops. (line 48) @@ -31556,7 +31572,7 @@ Index * insomnia, cure for: Alarm Program. (line 6) * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) -* INT signal (MS-Windows): Profiling. (line 207) +* INT signal (MS-Windows): Profiling. (line 214) * int() function: Numeric Functions. (line 23) * integer, arbitrary precision: Arbitrary Precision Integers. (line 6) @@ -31603,11 +31619,12 @@ Index * Kernighan, Brian <2>: Other Versions. (line 13) * Kernighan, Brian <3>: Contributors. (line 11) * Kernighan, Brian <4>: BTL. (line 6) -* Kernighan, Brian <5>: Concatenation. (line 6) -* Kernighan, Brian <6>: Acknowledgments. (line 72) -* Kernighan, Brian <7>: Conventions. (line 34) +* Kernighan, Brian <5>: Library Functions. (line 12) +* Kernighan, Brian <6>: Concatenation. (line 6) +* Kernighan, Brian <7>: Acknowledgments. (line 72) +* Kernighan, Brian <8>: Conventions. (line 34) * Kernighan, Brian: History. (line 17) -* kill command, dynamic profiling: Profiling. (line 181) +* kill command, dynamic profiling: Profiling. (line 188) * Knights, jedi: Undocumented. (line 6) * Knuth, Donald: Arbitrary Precision Arithmetic. (line 6) @@ -31704,7 +31721,7 @@ Index * long options: Command Line. (line 13) * loops: While Statement. (line 6) * loops, continue statements and: For Statement. (line 64) -* loops, count for header: Profiling. (line 123) +* loops, count for header: Profiling. (line 131) * loops, exiting: Break Statement. (line 6) * loops, See Also while statement: While Statement. (line 6) * ls utility: More Complex. (line 15) @@ -31912,14 +31929,14 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 36) * P1003.1 POSIX standard: Glossary. (line 462) -* parentheses () <1>: Profiling. (line 138) +* parentheses () <1>: Profiling. (line 146) * parentheses (): Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) * patsplit() function (gawk): String Functions. (line 290) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) -* patterns, counts: Profiling. (line 110) +* patterns, counts: Profiling. (line 118) * patterns, default: Very Simple. (line 34) * patterns, empty: Empty. (line 6) * patterns, expressions as: Regexp Patterns. (line 6) @@ -31944,6 +31961,7 @@ Index * pipes, output: Redirection. (line 57) * Pitts, Dave <1>: Bugs. (line 73) * Pitts, Dave: Acknowledgments. (line 60) +* Plauger, P.J.: Library Functions. (line 12) * plus sign (+): Regexp Operators. (line 102) * plus sign (+), + operator: Precedence. (line 52) * plus sign (+), ++ operator <1>: Precedence. (line 46) @@ -32080,7 +32098,7 @@ Index * PROCINFO array <6>: Auto-set. (line 133) * PROCINFO array: Obsolete. (line 11) * profiling awk programs: Profiling. (line 6) -* profiling awk programs, dynamically: Profiling. (line 172) +* profiling awk programs, dynamically: Profiling. (line 179) * program, definition of: Getting Started. (line 21) * programmers, attractiveness of: Two-way I/O. (line 6) * programming conventions, --non-decimal-data option: Nondecimal Data. @@ -32116,7 +32134,7 @@ Index * QuikTrim Awk: Other Versions. (line 134) * quit debugger command: Miscellaneous Debugger Commands. (line 99) -* QUIT signal (MS-Windows): Profiling. (line 207) +* QUIT signal (MS-Windows): Profiling. (line 214) * quoting <1>: Comments. (line 27) * quoting <2>: Long. (line 26) * quoting: Read Terminal. (line 25) @@ -32215,7 +32233,7 @@ Index * return statement, user-defined functions: Return Statement. (line 6) * return value, close() function: Close Files And Pipes. (line 130) -* rev() user-defined function: Function Example. (line 52) +* rev() user-defined function: Function Example. (line 53) * revoutput extension: Extension Sample Revout. (line 11) * revtwoway extension: Extension Sample Rev2way. @@ -32368,14 +32386,14 @@ Index (line 56) * sidebar, Using close()'s Return Value: Close Files And Pipes. (line 128) -* SIGHUP signal: Profiling. (line 204) -* SIGINT signal (MS-Windows): Profiling. (line 207) -* signals, HUP/SIGHUP: Profiling. (line 204) -* signals, INT/SIGINT (MS-Windows): Profiling. (line 207) -* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 207) -* signals, USR1/SIGUSR1: Profiling. (line 181) -* SIGQUIT signal (MS-Windows): Profiling. (line 207) -* SIGUSR1 signal: Profiling. (line 181) +* SIGHUP signal: Profiling. (line 211) +* SIGINT signal (MS-Windows): Profiling. (line 214) +* signals, HUP/SIGHUP: Profiling. (line 211) +* signals, INT/SIGINT (MS-Windows): Profiling. (line 214) +* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 214) +* signals, USR1/SIGUSR1: Profiling. (line 188) +* SIGQUIT signal (MS-Windows): Profiling. (line 214) +* SIGUSR1 signal: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) * sin() function: Numeric Functions. (line 75) @@ -32616,12 +32634,12 @@ Index * up debugger command: Execution Stack. (line 33) * user database, reading: Passwd Functions. (line 6) * user-defined, functions: User-defined. (line 6) -* user-defined, functions, counts: Profiling. (line 129) +* user-defined, functions, counts: Profiling. (line 137) * user-defined, variables: Variables. (line 6) * user-modifiable variables: User-modified. (line 6) * users, information about, printing: Id Program. (line 6) * users, information about, retrieving: Passwd Functions. (line 16) -* USR1 signal: Profiling. (line 181) +* USR1 signal: Profiling. (line 188) * values, numeric: Basic Data Typing. (line 13) * values, string: Basic Data Typing. (line 13) * variable typing: Typing and Comparison. @@ -32713,7 +32731,7 @@ Index * zero, negative vs. positive: Unexpected Results. (line 34) * zerofile.awk program: Empty Files. (line 21) * Zoulas, Christos: Contributors. (line 66) -* {} (braces): Profiling. (line 134) +* {} (braces): Profiling. (line 142) * {} (braces), actions and: Action Overview. (line 19) * {} (braces), statements, grouping: Statements. (line 10) * | (vertical bar): Regexp Operators. (line 69) @@ -32919,347 +32937,348 @@ Node: While Statement384453 Node: Do Statement386497 Node: For Statement387653 Node: Switch Statement390805 -Node: Break Statement392902 -Node: Continue Statement394892 -Node: Next Statement396685 -Node: Nextfile Statement399075 -Node: Exit Statement401718 -Node: Built-in Variables404134 -Node: User-modified405229 -Ref: User-modified-Footnote-1413587 -Node: Auto-set413649 -Ref: Auto-set-Footnote-1426727 -Ref: Auto-set-Footnote-2426932 -Node: ARGC and ARGV426988 -Node: Arrays430839 -Node: Array Basics432344 -Node: Array Intro433170 -Node: Reference to Elements437487 -Node: Assigning Elements439757 -Node: Array Example440248 -Node: Scanning an Array441980 -Node: Controlling Scanning444294 -Ref: Controlling Scanning-Footnote-1449381 -Node: Delete449697 -Ref: Delete-Footnote-1452462 -Node: Numeric Array Subscripts452519 -Node: Uninitialized Subscripts454702 -Node: Multidimensional456329 -Node: Multiscanning459422 -Node: Arrays of Arrays461011 -Node: Functions465651 -Node: Built-in466470 -Node: Calling Built-in467548 -Node: Numeric Functions469536 -Ref: Numeric Functions-Footnote-1473368 -Ref: Numeric Functions-Footnote-2473725 -Ref: Numeric Functions-Footnote-3473773 -Node: String Functions474042 -Ref: String Functions-Footnote-1496962 -Ref: String Functions-Footnote-2497091 -Ref: String Functions-Footnote-3497339 -Node: Gory Details497426 -Ref: table-sub-escapes499105 -Ref: table-sub-posix-92500459 -Ref: table-sub-proposed501810 -Ref: table-posix-sub503164 -Ref: table-gensub-escapes504709 -Ref: Gory Details-Footnote-1505885 -Ref: Gory Details-Footnote-2505936 -Node: I/O Functions506087 -Ref: I/O Functions-Footnote-1513072 -Node: Time Functions513219 -Ref: Time Functions-Footnote-1524152 -Ref: Time Functions-Footnote-2524220 -Ref: Time Functions-Footnote-3524378 -Ref: Time Functions-Footnote-4524489 -Ref: Time Functions-Footnote-5524601 -Ref: Time Functions-Footnote-6524828 -Node: Bitwise Functions525094 -Ref: table-bitwise-ops525656 -Ref: Bitwise Functions-Footnote-1529877 -Node: Type Functions530061 -Node: I18N Functions531212 -Node: User-defined532839 -Node: Definition Syntax533643 -Ref: Definition Syntax-Footnote-1538553 -Node: Function Example538622 -Node: Function Caveats541216 -Node: Calling A Function541637 -Node: Variable Scope542752 -Node: Pass By Value/Reference545715 -Node: Return Statement549223 -Node: Dynamic Typing552204 -Node: Indirect Calls553135 -Node: Library Functions562820 -Ref: Library Functions-Footnote-1566333 -Ref: Library Functions-Footnote-2566476 -Node: Library Names566647 -Ref: Library Names-Footnote-1570118 -Ref: Library Names-Footnote-2570338 -Node: General Functions570424 -Node: Strtonum Function571452 -Node: Assert Function574382 -Node: Round Function577708 -Node: Cliff Random Function579251 -Node: Ordinal Functions580267 -Ref: Ordinal Functions-Footnote-1583339 -Ref: Ordinal Functions-Footnote-2583591 -Node: Join Function583800 -Ref: Join Function-Footnote-1585571 -Node: Getlocaltime Function585771 -Node: Readfile Function589512 -Node: Data File Management591351 -Node: Filetrans Function591983 -Node: Rewind Function596052 -Node: File Checking597439 -Node: Empty Files598533 -Node: Ignoring Assigns600763 -Node: Getopt Function602316 -Ref: Getopt Function-Footnote-1613619 -Node: Passwd Functions613822 -Ref: Passwd Functions-Footnote-1622797 -Node: Group Functions622885 -Node: Walking Arrays630969 -Node: Sample Programs633106 -Node: Running Examples633780 -Node: Clones634508 -Node: Cut Program635732 -Node: Egrep Program645577 -Ref: Egrep Program-Footnote-1653350 -Node: Id Program653460 -Node: Split Program657076 -Ref: Split Program-Footnote-1660595 -Node: Tee Program660723 -Node: Uniq Program663526 -Node: Wc Program670955 -Ref: Wc Program-Footnote-1675221 -Ref: Wc Program-Footnote-2675421 -Node: Miscellaneous Programs675513 -Node: Dupword Program676701 -Node: Alarm Program678732 -Node: Translate Program683539 -Ref: Translate Program-Footnote-1687926 -Ref: Translate Program-Footnote-2688174 -Node: Labels Program688308 -Ref: Labels Program-Footnote-1691679 -Node: Word Sorting691763 -Node: History Sorting695647 -Node: Extract Program697486 -Ref: Extract Program-Footnote-1704989 -Node: Simple Sed705117 -Node: Igawk Program708179 -Ref: Igawk Program-Footnote-1723336 -Ref: Igawk Program-Footnote-2723537 -Node: Anagram Program723675 -Node: Signature Program726743 -Node: Advanced Features727843 -Node: Nondecimal Data729729 -Node: Array Sorting731312 -Node: Controlling Array Traversal732009 -Node: Array Sorting Functions740293 -Ref: Array Sorting Functions-Footnote-1744162 -Node: Two-way I/O744356 -Ref: Two-way I/O-Footnote-1749788 -Node: TCP/IP Networking749858 -Node: Profiling752702 -Node: Internationalization760199 -Node: I18N and L10N761624 -Node: Explaining gettext762310 -Ref: Explaining gettext-Footnote-1767378 -Ref: Explaining gettext-Footnote-2767562 -Node: Programmer i18n767727 -Node: Translator i18n771929 -Node: String Extraction772722 -Ref: String Extraction-Footnote-1773683 -Node: Printf Ordering773769 -Ref: Printf Ordering-Footnote-1776553 -Node: I18N Portability776617 -Ref: I18N Portability-Footnote-1779066 -Node: I18N Example779129 -Ref: I18N Example-Footnote-1781767 -Node: Gawk I18N781839 -Node: Debugger782460 -Node: Debugging783431 -Node: Debugging Concepts783864 -Node: Debugging Terms785720 -Node: Awk Debugging788317 -Node: Sample Debugging Session789209 -Node: Debugger Invocation789729 -Node: Finding The Bug791061 -Node: List of Debugger Commands797549 -Node: Breakpoint Control798883 -Node: Debugger Execution Control802547 -Node: Viewing And Changing Data805907 -Node: Execution Stack809263 -Node: Debugger Info810730 -Node: Miscellaneous Debugger Commands814712 -Node: Readline Support819888 -Node: Limitations820719 -Node: Arbitrary Precision Arithmetic822971 -Ref: Arbitrary Precision Arithmetic-Footnote-1824620 -Node: General Arithmetic824768 -Node: Floating Point Issues826488 -Node: String Conversion Precision827369 -Ref: String Conversion Precision-Footnote-1829074 -Node: Unexpected Results829183 -Node: POSIX Floating Point Problems831336 -Ref: POSIX Floating Point Problems-Footnote-1835161 -Node: Integer Programming835199 -Node: Floating-point Programming836938 -Ref: Floating-point Programming-Footnote-1843269 -Ref: Floating-point Programming-Footnote-2843539 -Node: Floating-point Representation843803 -Node: Floating-point Context844968 -Ref: table-ieee-formats845807 -Node: Rounding Mode847191 -Ref: table-rounding-modes847670 -Ref: Rounding Mode-Footnote-1850685 -Node: Gawk and MPFR850864 -Node: Arbitrary Precision Floats852119 -Ref: Arbitrary Precision Floats-Footnote-1854562 -Node: Setting Precision854878 -Ref: table-predefined-precision-strings855564 -Node: Setting Rounding Mode857709 -Ref: table-gawk-rounding-modes858113 -Node: Floating-point Constants859300 -Node: Changing Precision860729 -Ref: Changing Precision-Footnote-1862126 -Node: Exact Arithmetic862300 -Node: Arbitrary Precision Integers865438 -Ref: Arbitrary Precision Integers-Footnote-1868456 -Node: Dynamic Extensions868603 -Node: Extension Intro870061 -Node: Plugin License871326 -Node: Extension Mechanism Outline872011 -Ref: load-extension872428 -Ref: load-new-function873906 -Ref: call-new-function874901 -Node: Extension API Description876916 -Node: Extension API Functions Introduction878129 -Node: General Data Types882995 -Ref: General Data Types-Footnote-1888597 -Node: Requesting Values888896 -Ref: table-value-types-returned889627 -Node: Constructor Functions890581 -Node: Registration Functions893601 -Node: Extension Functions894286 -Node: Exit Callback Functions896511 -Node: Extension Version String897760 -Node: Input Parsers898410 -Node: Output Wrappers908167 -Node: Two-way processors912677 -Node: Printing Messages914885 -Ref: Printing Messages-Footnote-1915962 -Node: Updating `ERRNO'916114 -Node: Accessing Parameters916853 -Node: Symbol Table Access918083 -Node: Symbol table by name918595 -Node: Symbol table by cookie920342 -Ref: Symbol table by cookie-Footnote-1924472 -Node: Cached values924535 -Ref: Cached values-Footnote-1927984 -Node: Array Manipulation928075 -Ref: Array Manipulation-Footnote-1929173 -Node: Array Data Types929212 -Ref: Array Data Types-Footnote-1931915 -Node: Array Functions932007 -Node: Flattening Arrays935773 -Node: Creating Arrays942625 -Node: Extension API Variables947350 -Node: Extension Versioning947986 -Node: Extension API Informational Variables949887 -Node: Extension API Boilerplate950973 -Node: Finding Extensions954777 -Node: Extension Example955337 -Node: Internal File Description956067 -Node: Internal File Ops960158 -Ref: Internal File Ops-Footnote-1971666 -Node: Using Internal File Ops971806 -Ref: Using Internal File Ops-Footnote-1974159 -Node: Extension Samples974425 -Node: Extension Sample File Functions975949 -Node: Extension Sample Fnmatch984434 -Node: Extension Sample Fork986160 -Node: Extension Sample Inplace987378 -Node: Extension Sample Ord989156 -Node: Extension Sample Readdir989992 -Node: Extension Sample Revout991524 -Node: Extension Sample Rev2way992117 -Node: Extension Sample Read write array992807 -Node: Extension Sample Readfile994690 -Node: Extension Sample API Tests995508 -Node: Extension Sample Time996033 -Node: gawkextlib997397 -Node: Language History1000178 -Node: V7/SVR3.11001771 -Node: SVR41004091 -Node: POSIX1005533 -Node: BTL1006919 -Node: POSIX/GNU1007653 -Node: Feature History1013252 -Node: Common Extensions1026216 -Node: Ranges and Locales1027528 -Ref: Ranges and Locales-Footnote-11032146 -Ref: Ranges and Locales-Footnote-21032173 -Ref: Ranges and Locales-Footnote-31032433 -Node: Contributors1032654 -Node: Installation1037799 -Node: Gawk Distribution1038693 -Node: Getting1039177 -Node: Extracting1040003 -Node: Distribution contents1041695 -Node: Unix Installation1047400 -Node: Quick Installation1048017 -Node: Additional Configuration Options1050461 -Node: Configuration Philosophy1052197 -Node: Non-Unix Installation1054551 -Node: PC Installation1055009 -Node: PC Binary Installation1056308 -Node: PC Compiling1058156 -Node: PC Testing1061100 -Node: PC Using1062276 -Node: Cygwin1066461 -Node: MSYS1067461 -Node: VMS Installation1067975 -Node: VMS Compilation1068739 -Ref: VMS Compilation-Footnote-11070354 -Node: VMS Dynamic Extensions1070412 -Node: VMS Installation Details1071785 -Node: VMS Running1074032 -Node: VMS GNV1076866 -Node: VMS Old Gawk1077589 -Node: Bugs1078059 -Node: Other Versions1081977 -Node: Notes1088061 -Node: Compatibility Mode1088861 -Node: Additions1089644 -Node: Accessing The Source1090571 -Node: Adding Code1092011 -Node: New Ports1098056 -Node: Derived Files1102191 -Ref: Derived Files-Footnote-11107512 -Ref: Derived Files-Footnote-21107546 -Ref: Derived Files-Footnote-31108146 -Node: Future Extensions1108244 -Node: Implementation Limitations1108827 -Node: Extension Design1110079 -Node: Old Extension Problems1111233 -Ref: Old Extension Problems-Footnote-11112741 -Node: Extension New Mechanism Goals1112798 -Ref: Extension New Mechanism Goals-Footnote-11116163 -Node: Extension Other Design Decisions1116349 -Node: Extension Future Growth1118455 -Node: Old Extension Mechanism1119291 -Node: Basic Concepts1121031 -Node: Basic High Level1121712 -Ref: figure-general-flow1121983 -Ref: figure-process-flow1122582 -Ref: Basic High Level-Footnote-11125811 -Node: Basic Data Typing1125996 -Node: Glossary1129351 -Node: Copying1154813 -Node: GNU Free Documentation License1192370 -Node: Index1217507 +Node: Break Statement392959 +Node: Continue Statement394949 +Node: Next Statement396742 +Node: Nextfile Statement399132 +Node: Exit Statement401775 +Node: Built-in Variables404191 +Node: User-modified405286 +Ref: User-modified-Footnote-1413644 +Node: Auto-set413706 +Ref: Auto-set-Footnote-1426784 +Ref: Auto-set-Footnote-2426989 +Node: ARGC and ARGV427045 +Node: Arrays430896 +Node: Array Basics432401 +Node: Array Intro433227 +Node: Reference to Elements437544 +Node: Assigning Elements439814 +Node: Array Example440305 +Node: Scanning an Array442037 +Node: Controlling Scanning444351 +Ref: Controlling Scanning-Footnote-1449438 +Node: Delete449754 +Ref: Delete-Footnote-1452519 +Node: Numeric Array Subscripts452576 +Node: Uninitialized Subscripts454759 +Node: Multidimensional456386 +Node: Multiscanning459479 +Node: Arrays of Arrays461068 +Node: Functions465708 +Node: Built-in466527 +Node: Calling Built-in467605 +Node: Numeric Functions469593 +Ref: Numeric Functions-Footnote-1473425 +Ref: Numeric Functions-Footnote-2473782 +Ref: Numeric Functions-Footnote-3473830 +Node: String Functions474099 +Ref: String Functions-Footnote-1497019 +Ref: String Functions-Footnote-2497148 +Ref: String Functions-Footnote-3497396 +Node: Gory Details497483 +Ref: table-sub-escapes499162 +Ref: table-sub-posix-92500516 +Ref: table-sub-proposed501867 +Ref: table-posix-sub503221 +Ref: table-gensub-escapes504766 +Ref: Gory Details-Footnote-1505942 +Ref: Gory Details-Footnote-2505993 +Node: I/O Functions506144 +Ref: I/O Functions-Footnote-1513134 +Node: Time Functions513281 +Ref: Time Functions-Footnote-1524214 +Ref: Time Functions-Footnote-2524282 +Ref: Time Functions-Footnote-3524440 +Ref: Time Functions-Footnote-4524551 +Ref: Time Functions-Footnote-5524663 +Ref: Time Functions-Footnote-6524890 +Node: Bitwise Functions525156 +Ref: table-bitwise-ops525718 +Ref: Bitwise Functions-Footnote-1529939 +Node: Type Functions530123 +Node: I18N Functions531274 +Node: User-defined532901 +Node: Definition Syntax533705 +Ref: Definition Syntax-Footnote-1538619 +Node: Function Example538688 +Ref: Function Example-Footnote-1541337 +Node: Function Caveats541359 +Node: Calling A Function541877 +Node: Variable Scope542832 +Node: Pass By Value/Reference545795 +Node: Return Statement549303 +Node: Dynamic Typing552284 +Node: Indirect Calls553215 +Node: Library Functions562902 +Ref: Library Functions-Footnote-1566415 +Ref: Library Functions-Footnote-2566558 +Node: Library Names566729 +Ref: Library Names-Footnote-1570202 +Ref: Library Names-Footnote-2570422 +Node: General Functions570508 +Node: Strtonum Function571536 +Node: Assert Function574466 +Node: Round Function577792 +Node: Cliff Random Function579333 +Node: Ordinal Functions580349 +Ref: Ordinal Functions-Footnote-1583426 +Ref: Ordinal Functions-Footnote-2583678 +Node: Join Function583889 +Ref: Join Function-Footnote-1585660 +Node: Getlocaltime Function585860 +Node: Readfile Function589601 +Node: Data File Management591440 +Node: Filetrans Function592072 +Node: Rewind Function596141 +Node: File Checking597528 +Node: Empty Files598622 +Node: Ignoring Assigns600852 +Node: Getopt Function602406 +Ref: Getopt Function-Footnote-1613709 +Node: Passwd Functions613912 +Ref: Passwd Functions-Footnote-1622890 +Node: Group Functions622978 +Node: Walking Arrays631062 +Node: Sample Programs633198 +Node: Running Examples633872 +Node: Clones634600 +Node: Cut Program635824 +Node: Egrep Program645675 +Ref: Egrep Program-Footnote-1653448 +Node: Id Program653558 +Node: Split Program657174 +Ref: Split Program-Footnote-1660693 +Node: Tee Program660821 +Node: Uniq Program663624 +Node: Wc Program671053 +Ref: Wc Program-Footnote-1675319 +Ref: Wc Program-Footnote-2675519 +Node: Miscellaneous Programs675611 +Node: Dupword Program676799 +Node: Alarm Program678830 +Node: Translate Program683637 +Ref: Translate Program-Footnote-1688024 +Ref: Translate Program-Footnote-2688272 +Node: Labels Program688406 +Ref: Labels Program-Footnote-1691777 +Node: Word Sorting691861 +Node: History Sorting695745 +Node: Extract Program697584 +Ref: Extract Program-Footnote-1705087 +Node: Simple Sed705215 +Node: Igawk Program708277 +Ref: Igawk Program-Footnote-1723434 +Ref: Igawk Program-Footnote-2723635 +Node: Anagram Program723773 +Node: Signature Program726841 +Node: Advanced Features727941 +Node: Nondecimal Data729827 +Node: Array Sorting731410 +Node: Controlling Array Traversal732107 +Node: Array Sorting Functions740391 +Ref: Array Sorting Functions-Footnote-1744260 +Node: Two-way I/O744454 +Ref: Two-way I/O-Footnote-1749886 +Node: TCP/IP Networking749968 +Node: Profiling752812 +Node: Internationalization760315 +Node: I18N and L10N761740 +Node: Explaining gettext762426 +Ref: Explaining gettext-Footnote-1767494 +Ref: Explaining gettext-Footnote-2767678 +Node: Programmer i18n767843 +Node: Translator i18n772045 +Node: String Extraction772838 +Ref: String Extraction-Footnote-1773799 +Node: Printf Ordering773885 +Ref: Printf Ordering-Footnote-1776669 +Node: I18N Portability776733 +Ref: I18N Portability-Footnote-1779182 +Node: I18N Example779245 +Ref: I18N Example-Footnote-1781883 +Node: Gawk I18N781955 +Node: Debugger782576 +Node: Debugging783547 +Node: Debugging Concepts783980 +Node: Debugging Terms785836 +Node: Awk Debugging788433 +Node: Sample Debugging Session789325 +Node: Debugger Invocation789845 +Node: Finding The Bug791177 +Node: List of Debugger Commands797665 +Node: Breakpoint Control798999 +Node: Debugger Execution Control802663 +Node: Viewing And Changing Data806023 +Node: Execution Stack809379 +Node: Debugger Info810846 +Node: Miscellaneous Debugger Commands814828 +Node: Readline Support820004 +Node: Limitations820835 +Node: Arbitrary Precision Arithmetic823087 +Ref: Arbitrary Precision Arithmetic-Footnote-1824736 +Node: General Arithmetic824884 +Node: Floating Point Issues826604 +Node: String Conversion Precision827485 +Ref: String Conversion Precision-Footnote-1829190 +Node: Unexpected Results829299 +Node: POSIX Floating Point Problems831452 +Ref: POSIX Floating Point Problems-Footnote-1835277 +Node: Integer Programming835315 +Node: Floating-point Programming837054 +Ref: Floating-point Programming-Footnote-1843385 +Ref: Floating-point Programming-Footnote-2843655 +Node: Floating-point Representation843919 +Node: Floating-point Context845084 +Ref: table-ieee-formats845923 +Node: Rounding Mode847307 +Ref: table-rounding-modes847786 +Ref: Rounding Mode-Footnote-1850801 +Node: Gawk and MPFR850980 +Node: Arbitrary Precision Floats852235 +Ref: Arbitrary Precision Floats-Footnote-1854678 +Node: Setting Precision854994 +Ref: table-predefined-precision-strings855680 +Node: Setting Rounding Mode857825 +Ref: table-gawk-rounding-modes858229 +Node: Floating-point Constants859416 +Node: Changing Precision860845 +Ref: Changing Precision-Footnote-1862242 +Node: Exact Arithmetic862416 +Node: Arbitrary Precision Integers865554 +Ref: Arbitrary Precision Integers-Footnote-1868572 +Node: Dynamic Extensions868719 +Node: Extension Intro870177 +Node: Plugin License871442 +Node: Extension Mechanism Outline872127 +Ref: load-extension872544 +Ref: load-new-function874022 +Ref: call-new-function875017 +Node: Extension API Description877032 +Node: Extension API Functions Introduction878245 +Node: General Data Types883111 +Ref: General Data Types-Footnote-1888713 +Node: Requesting Values889012 +Ref: table-value-types-returned889743 +Node: Constructor Functions890697 +Node: Registration Functions893717 +Node: Extension Functions894402 +Node: Exit Callback Functions896627 +Node: Extension Version String897876 +Node: Input Parsers898526 +Node: Output Wrappers908283 +Node: Two-way processors912793 +Node: Printing Messages915001 +Ref: Printing Messages-Footnote-1916078 +Node: Updating `ERRNO'916230 +Node: Accessing Parameters916969 +Node: Symbol Table Access918199 +Node: Symbol table by name918711 +Node: Symbol table by cookie920458 +Ref: Symbol table by cookie-Footnote-1924588 +Node: Cached values924651 +Ref: Cached values-Footnote-1928100 +Node: Array Manipulation928191 +Ref: Array Manipulation-Footnote-1929289 +Node: Array Data Types929328 +Ref: Array Data Types-Footnote-1932031 +Node: Array Functions932123 +Node: Flattening Arrays935889 +Node: Creating Arrays942741 +Node: Extension API Variables947466 +Node: Extension Versioning948102 +Node: Extension API Informational Variables950003 +Node: Extension API Boilerplate951089 +Node: Finding Extensions954893 +Node: Extension Example955453 +Node: Internal File Description956183 +Node: Internal File Ops960274 +Ref: Internal File Ops-Footnote-1971782 +Node: Using Internal File Ops971922 +Ref: Using Internal File Ops-Footnote-1974275 +Node: Extension Samples974541 +Node: Extension Sample File Functions976065 +Node: Extension Sample Fnmatch984550 +Node: Extension Sample Fork986276 +Node: Extension Sample Inplace987494 +Node: Extension Sample Ord989272 +Node: Extension Sample Readdir990108 +Node: Extension Sample Revout991640 +Node: Extension Sample Rev2way992233 +Node: Extension Sample Read write array992923 +Node: Extension Sample Readfile994806 +Node: Extension Sample API Tests995624 +Node: Extension Sample Time996149 +Node: gawkextlib997513 +Node: Language History1000294 +Node: V7/SVR3.11001887 +Node: SVR41004207 +Node: POSIX1005649 +Node: BTL1007035 +Node: POSIX/GNU1007769 +Node: Feature History1013368 +Node: Common Extensions1026332 +Node: Ranges and Locales1027644 +Ref: Ranges and Locales-Footnote-11032262 +Ref: Ranges and Locales-Footnote-21032289 +Ref: Ranges and Locales-Footnote-31032549 +Node: Contributors1032770 +Node: Installation1037915 +Node: Gawk Distribution1038809 +Node: Getting1039293 +Node: Extracting1040119 +Node: Distribution contents1041811 +Node: Unix Installation1047516 +Node: Quick Installation1048133 +Node: Additional Configuration Options1050577 +Node: Configuration Philosophy1052313 +Node: Non-Unix Installation1054667 +Node: PC Installation1055125 +Node: PC Binary Installation1056424 +Node: PC Compiling1058272 +Node: PC Testing1061216 +Node: PC Using1062392 +Node: Cygwin1066577 +Node: MSYS1067577 +Node: VMS Installation1068091 +Node: VMS Compilation1068855 +Ref: VMS Compilation-Footnote-11070470 +Node: VMS Dynamic Extensions1070528 +Node: VMS Installation Details1071901 +Node: VMS Running1074148 +Node: VMS GNV1076982 +Node: VMS Old Gawk1077705 +Node: Bugs1078175 +Node: Other Versions1082093 +Node: Notes1088177 +Node: Compatibility Mode1088977 +Node: Additions1089760 +Node: Accessing The Source1090687 +Node: Adding Code1092127 +Node: New Ports1098172 +Node: Derived Files1102307 +Ref: Derived Files-Footnote-11107628 +Ref: Derived Files-Footnote-21107662 +Ref: Derived Files-Footnote-31108262 +Node: Future Extensions1108360 +Node: Implementation Limitations1108943 +Node: Extension Design1110195 +Node: Old Extension Problems1111349 +Ref: Old Extension Problems-Footnote-11112857 +Node: Extension New Mechanism Goals1112914 +Ref: Extension New Mechanism Goals-Footnote-11116279 +Node: Extension Other Design Decisions1116465 +Node: Extension Future Growth1118571 +Node: Old Extension Mechanism1119407 +Node: Basic Concepts1121147 +Node: Basic High Level1121828 +Ref: figure-general-flow1122099 +Ref: figure-process-flow1122698 +Ref: Basic High Level-Footnote-11125927 +Node: Basic Data Typing1126112 +Node: Glossary1129467 +Node: Copying1154929 +Node: GNU Free Documentation License1192486 +Node: Index1217623  End Tag Table -- cgit v1.2.3 From 4cea49ca8f817354ffd513c6ec808152e9299f21 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Feb 2014 23:29:44 +0200 Subject: Finish up doc fixes before releasing. --- doc/gawk.info | 520 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 260 insertions(+), 260 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index eb7c52fb..73ab988f 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -19134,9 +19134,9 @@ File: gawk.info, Node: Translator i18n, Next: I18N Example, Prev: Programmer =============================== Once a program's translatable strings have been marked, they must be -extracted to create the initial `.po' file. As part of translation, it -is often helpful to rearrange the order in which arguments to `printf' -are output. +extracted to create the initial `.pot' file. As part of translation, +it is often helpful to rearrange the order in which arguments to +`printf' are output. `gawk''s `--gen-pot' command-line option extracts the messages and is discussed next. After that, `printf''s ability to rearrange the @@ -19209,7 +19209,7 @@ second: $ gawk 'BEGIN { > string = "Dont Panic" - > printf _"%2$d characters live in \"%1$s\"\n", + > printf "%2$d characters live in \"%1$s\"\n", > string, length(string) > }' -| 10 characters live in "Dont Panic" @@ -19234,7 +19234,7 @@ precision capability: `gawk' does not allow you to mix regular format specifiers and those with positional specifiers in the same string: - $ gawk 'BEGIN { printf _"%d %3$s\n", 1, 2, "hi" }' + $ gawk 'BEGIN { printf "%d %3$s\n", 1, 2, "hi" }' error--> gawk: cmd. line:1: fatal: must use `count$' on all formats or none NOTE: There are some pathological cases that `gawk' may fail to @@ -19596,7 +19596,7 @@ File: gawk.info, Node: Debugger Invocation, Next: Finding The Bug, Up: Sample 14.2.1 How to Start the Debugger -------------------------------- -Starting the debugger is almost exactly like running `awk', except you +Starting the debugger is almost exactly like running `gawk', except you have to pass an additional option `--debug' or the corresponding short option `-D'. The file(s) containing the program and any supporting code are given on the command line as arguments to one or more `-f' @@ -19709,8 +19709,8 @@ our test input above. Let's look at `NR': -| NR = number (2) So we can see that `are_equal()' was only called for the second record -of the file. Of course, this is because our program contained a rule -for `NR == 1': +of the file. Of course, this is because our program contains a rule for +`NR == 1': NR == 1 { last = $0 @@ -21525,7 +21525,7 @@ floating-point value to begin with: gawk -M 'BEGIN { n = 13.0; print n % 2.0 }' - Note that for the particular example above, there is likely best to + Note that for the particular example above, it is likely best to just use the following: gawk -M 'BEGIN { n = 13; print n % 2 }' @@ -22162,7 +22162,7 @@ Extension functions are described by the following record: `awk_value_t *(*function)(int num_actual_args, awk_value_t *result);' This is a pointer to the C function that provides the desired functionality. The function must fill in the result with either a - number or a string. `awk' takes ownership of any string memory. + number or a string. `gawk' takes ownership of any string memory. As mentioned earlier, string memory *must* come from `malloc()'. The `num_actual_args' argument tells the C function how many @@ -24057,7 +24057,7 @@ declarations and argument checking: awk_array_t array; int ret; struct stat sbuf; - /* default is stat() */ + /* default is lstat() */ int (*statfunc)(const char *path, struct stat *sbuf) = lstat; assert(result != NULL); @@ -24455,12 +24455,16 @@ File: gawk.info, Node: Extension Sample Fnmatch, Next: Extension Sample Fork, This extension provides an interface to the C library `fnmatch()' function. The usage is: - @load "fnmatch" +`@load "fnmatch"' + This is how you load the extension. - result = fnmatch(pattern, string, flags) +`result = fnmatch(pattern, string, flags)' + The return value is zero on success, `FNM_NOMATCH' if the string + did not match the pattern, or a different non-zero value if an + error occurred. - The `fnmatch' extension adds a single function named `fnmatch()', -one constant (`FNM_NOMATCH'), and an array of flag values named `FNM'. + Besides the `fnmatch()' function, the `fnmatch' extension adds one +constant (`FNM_NOMATCH'), and an array of flag values named `FNM'. The arguments to `fnmatch()' are: @@ -24474,10 +24478,6 @@ one constant (`FNM_NOMATCH'), and an array of flag values named `FNM'. Either zero, or the bitwise OR of one or more of the flags in the `FNM' array. - The return value is zero on success, `FNM_NOMATCH' if the string did -not match the pattern, or a different non-zero value if an error -occurred. - The flags are follows: `FNM["CASEFOLD"]' Corresponds to the `FNM_CASEFOLD' flag as defined in @@ -24513,14 +24513,14 @@ The `fork' extension adds three functions, as follows. This is how you load the extension. `pid = fork()' - This function creates a new process. The return value is the zero - in the child and the process-id number of the child in the parent, - or -1 upon error. In the latter case, `ERRNO' indicates the - problem. In the child, `PROCINFO["pid"]' and `PROCINFO["ppid"]' - are updated to reflect the correct values. + This function creates a new process. The return value is zero in + the child and the process-ID number of the child in the parent, or + -1 upon error. In the latter case, `ERRNO' indicates the problem. + In the child, `PROCINFO["pid"]' and `PROCINFO["ppid"]' are updated + to reflect the correct values. `ret = waitpid(pid)' - This function takes a numeric argument, which is the process-id to + This function takes a numeric argument, which is the process-ID to wait for. The return value is that of the `waitpid()' system call. `ret = wait()' @@ -25610,7 +25610,7 @@ in POSIX `awk', in the order they were added to `gawk'. - The `-i' and `--include' options load `awk' library files. - - The `-l' and `--load' options for load compiled dynamic + - The `-l' and `--load' options load compiled dynamic extensions. - The `-M' and `--bignum' options enable MPFR. @@ -25624,8 +25624,9 @@ in POSIX `awk', in the order they were added to `gawk'. * Support for high precision arithmetic with MPFR. (*note Gawk and MPFR::). - * The `and()', `or()' and `xor()' functions allow any number of - arguments, with a minimum of two (*note Bitwise Functions::). + * The `and()', `or()' and `xor()' functions changed to allow any + number of arguments, with a minimum of two (*note Bitwise + Functions::). * The dynamic extension interface was completely redone (*note Dynamic Extensions::). @@ -25644,18 +25645,18 @@ available versions of `awk' (*note Other Versions::). Feature BWK Awk Mawk GNU Awk -------------------------------------------------------- `\x' Escape sequence X X X -`RS' as regexp X X `FS' as null string X X X `/dev/stdin' special file X X X `/dev/stdout' special file X X X `/dev/stderr' special file X X X -`**' and `**=' operators X X -`fflush()' function X X X -`func' keyword X X -`nextfile' statement X X X `delete' without subscript X X X +`fflush()' function X X X `length()' of an array X X X +`nextfile' statement X X X +`**' and `**=' operators X X +`func' keyword X X `BINMODE' variable X X +`RS' as regexp X X Time related functions X X (Technically speaking, as of late 2012, `fflush()', `delete ARRAY', @@ -25751,17 +25752,17 @@ of range expressions was _undefined_.(3) By using this lovely technical term, the standard gives license to implementors to implement ranges in whatever way they choose. The `gawk' maintainer chose to apply the pre-POSIX meaning in all cases: -the default regexp matching; with `--traditional', and with `--posix'; +the default regexp matching; with `--traditional' and with `--posix'; in all cases, `gawk' remains POSIX compliant. ---------- Footnotes ---------- (1) And Life was good. - (2) And thus was born the Campain for Rational Range Interpretation -(or RRI). A number of GNU tools, such as `grep' and `sed', have either -implemented this change, or will soon. Thanks to Karl Berry for -coining the phrase "Rational Range Interpretation." + (2) And thus was born the Campaign for Rational Range Interpretation +(or RRI). A number of GNU tools have either implemented this change, or +will soon. Thanks to Karl Berry for coining the phrase "Rational Range +Interpretation." (3) See the standard (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05) @@ -26243,8 +26244,8 @@ failure is not described there, please send in a bug report (*note Bugs::). Of course, once you've built `gawk', it is likely that you will wish -to install it. To do so, you need to run the command `make check', as -a user with the appropriate permissions. How to do this varies by +to install it. To do so, you need to run the command `make install', +as a user with the appropriate permissions. How to do this varies by system, but on many systems you can use the `sudo' command to do so. The command then becomes `sudo make install'. It is likely that you will be asked for your password, and you will have to have been set up @@ -26527,10 +26528,9 @@ File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Testing, Up: PC Inst B.3.1.4 Using `gawk' on PC Operating Systems ............................................ -With the exception of the Cygwin environment, the `|&' operator and -TCP/IP networking (*note TCP/IP Networking::) are not supported for -MS-DOS or MS-Windows. EMX (OS/2 only) does support at least the `|&' -operator. +Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support +both the `|&' operator and TCP/IP networking (*note TCP/IP +Networking::). EMX (OS/2 only) supports at least the `|&' operator. The MS-DOS and MS-Windows versions of `gawk' search for program files as described in *note AWKPATH Variable::. However, semicolons @@ -26623,9 +26623,9 @@ B.3.1.5 Using `gawk' In The Cygwin Environment `gawk' can be built and used "out of the box" under MS-Windows if you are using the Cygwin environment (http://www.cygwin.com). This -environment provides an excellent simulation of Unix, using the GNU -tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make, and -other GNU programs. Compilation and installation for Cygwin is the +environment provides an excellent simulation of GNU/Linux, using the +GNU tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make, +and other GNU programs. Compilation and installation for Cygwin is the same as for a Unix system: tar -xvpzf gawk-4.1.0.tar.gz @@ -26637,10 +26637,6 @@ same as for a Unix system: on Cygwin takes considerably longer. However, it does finish, and then the `make' proceeds as usual. - NOTE: The `|&' operator and TCP/IP networking (*note TCP/IP - Networking::) are fully supported in the Cygwin environment. This - is not true for any other environment on MS-Windows. -  File: gawk.info, Node: MSYS, Prev: Cygwin, Up: PC Installation @@ -26804,7 +26800,8 @@ add the `gawk' and `awk' to the system wide `DCLTABLES'. The DCL syntax is documented in the `gawk.hlp' file. - Optionally, `gawk.hlp' entry can be loaded into a VMS help library: + Optionally, the `gawk.hlp' entry can be loaded into a VMS help +library: $ LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp @@ -30122,7 +30119,7 @@ Index * /inet4/... special files (gawk): TCP/IP Networking. (line 6) * /inet6/... special files (gawk): TCP/IP Networking. (line 6) * ; (semicolon): Statements/Lines. (line 91) -* ; (semicolon), AWKPATH variable and: PC Using. (line 11) +* ; (semicolon), AWKPATH variable and: PC Using. (line 10) * ; (semicolon), separating statements in actions <1>: Statements. (line 10) * ; (semicolon), separating statements in actions: Action Overview. @@ -30392,7 +30389,7 @@ Index * awk, versions of, See Also Brian Kernighan's awk: BTL. (line 6) * awka compiler for awk: Other Versions. (line 64) * AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6) -* AWKPATH environment variable <1>: PC Using. (line 11) +* AWKPATH environment variable <1>: PC Using. (line 10) * AWKPATH environment variable: AWKPATH Variable. (line 6) * awkprof.out file: Profiling. (line 6) * awksed.awk program: Simple Sed. (line 25) @@ -30485,7 +30482,7 @@ Index * bindtextdomain() function (gawk): I18N Functions. (line 12) * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) -* BINMODE variable <1>: PC Using. (line 34) +* BINMODE variable <1>: PC Using. (line 33) * BINMODE variable: User-modified. (line 10) * bits2str() user-defined function: Bitwise Functions. (line 70) * bitwise, complement: Bitwise Functions. (line 25) @@ -30630,7 +30627,7 @@ Index * common extensions, /dev/stdin special file: Special FD. (line 46) * common extensions, /dev/stdout special file: Special FD. (line 46) * common extensions, \x escape sequence: Escape Sequences. (line 61) -* common extensions, BINMODE variable: PC Using. (line 34) +* common extensions, BINMODE variable: PC Using. (line 33) * common extensions, delete to delete entire arrays: Delete. (line 39) * common extensions, func keyword: Definition Syntax. (line 83) * common extensions, length() applied to an array: String Functions. @@ -30899,7 +30896,7 @@ Index * differences in awk and gawk, BEGINFILE/ENDFILE patterns: BEGINFILE/ENDFILE. (line 6) * differences in awk and gawk, BINMODE variable <1>: PC Using. - (line 34) + (line 33) * differences in awk and gawk, BINMODE variable: User-modified. (line 23) * differences in awk and gawk, close() function: Close Files And Pipes. @@ -31086,7 +31083,7 @@ Index * extensions, common, /dev/stdin special file: Special FD. (line 46) * extensions, common, /dev/stdout special file: Special FD. (line 46) * extensions, common, \x escape sequence: Escape Sequences. (line 61) -* extensions, common, BINMODE variable: PC Using. (line 34) +* extensions, common, BINMODE variable: PC Using. (line 33) * extensions, common, delete to delete entire arrays: Delete. (line 39) * extensions, common, func keyword: Definition Syntax. (line 83) * extensions, common, length() applied to an array: String Functions. @@ -31215,7 +31212,7 @@ Index * floating-point, numbers: General Arithmetic. (line 6) * floating-point, VAX/VMS: VMS Running. (line 51) * fnmatch() extension function: Extension Sample Fnmatch. - (line 6) + (line 12) * FNR variable <1>: Auto-set. (line 103) * FNR variable: Records. (line 6) * FNR variable, changing: Auto-set. (line 314) @@ -31375,11 +31372,11 @@ Index * gawk, line continuation in: Conditional Exp. (line 34) * gawk, LINT variable in: User-modified. (line 98) * gawk, list of contributors to: Contributors. (line 6) -* gawk, MS-DOS version of: PC Using. (line 11) -* gawk, MS-Windows version of: PC Using. (line 11) +* gawk, MS-DOS version of: PC Using. (line 10) +* gawk, MS-Windows version of: PC Using. (line 10) * gawk, newlines in: Statements/Lines. (line 12) * gawk, octal numbers and: Nondecimal-numbers. (line 42) -* gawk, OS/2 version of: PC Using. (line 11) +* gawk, OS/2 version of: PC Using. (line 10) * gawk, PROCINFO array in <1>: Two-way I/O. (line 116) * gawk, PROCINFO array in <2>: Time Functions. (line 47) * gawk, PROCINFO array in: Auto-set. (line 133) @@ -31743,7 +31740,7 @@ Index (line 9) * matching, leftmost longest: Multiple Line. (line 26) * matching, null strings: Gory Details. (line 164) -* mawk program: Other Versions. (line 44) +* mawk utility: Other Versions. (line 44) * McPhee, Patrick: Contributors. (line 100) * message object files: Explaining gettext. (line 41) * message object files, converting from portable object files: I18N Example. @@ -32143,6 +32140,7 @@ Index * r debugger command (alias for run): Debugger Execution Control. (line 62) * Rakitzis, Byron: History Sorting. (line 25) +* Ramey, Chet <1>: General Data Types. (line 6) * Ramey, Chet: Acknowledgments. (line 60) * rand() function: Numeric Functions. (line 34) * random numbers, Cliff: Cliff Random Function. @@ -32255,9 +32253,10 @@ Index * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) * Robbins, Arnold <3>: Contributors. (line 132) -* Robbins, Arnold <4>: Alarm Program. (line 6) -* Robbins, Arnold <5>: Passwd Functions. (line 90) -* Robbins, Arnold <6>: Getline/Pipe. (line 39) +* Robbins, Arnold <4>: General Data Types. (line 6) +* Robbins, Arnold <5>: Alarm Program. (line 6) +* Robbins, Arnold <6>: Passwd Functions. (line 90) +* Robbins, Arnold <7>: Getline/Pipe. (line 39) * Robbins, Arnold: Command Line Field Separator. (line 80) * Robbins, Bill: Getline/Pipe. (line 39) @@ -32299,13 +32298,13 @@ Index * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) * search paths <1>: VMS Running. (line 58) -* search paths <2>: PC Using. (line 11) +* search paths <2>: PC Using. (line 10) * search paths <3>: Igawk Program. (line 368) * search paths <4>: AWKLIBPATH Variable. (line 6) * search paths: AWKPATH Variable. (line 6) * search paths, for shared libraries: AWKLIBPATH Variable. (line 6) * search paths, for source files <1>: VMS Running. (line 58) -* search paths, for source files <2>: PC Using. (line 11) +* search paths, for source files <2>: PC Using. (line 10) * search paths, for source files <3>: Igawk Program. (line 368) * search paths, for source files: AWKPATH Variable. (line 6) * searching: String Functions. (line 150) @@ -32316,7 +32315,7 @@ Index * sed utility: Field Splitting Summary. (line 46) * semicolon (;): Statements/Lines. (line 91) -* semicolon (;), AWKPATH variable and: PC Using. (line 11) +* semicolon (;), AWKPATH variable and: PC Using. (line 10) * semicolon (;), separating statements in actions <1>: Statements. (line 10) * semicolon (;), separating statements in actions: Action Overview. @@ -32337,6 +32336,7 @@ Index (line 12) * shells, quoting, rules for: Quoting. (line 18) * shells, scripts: One-shot. (line 22) +* shells, sea: Undocumented. (line 8) * shells, variables: Using Shell Variables. (line 6) * shift, bitwise: Bitwise Functions. (line 32) @@ -32625,7 +32625,7 @@ Index * Unix awk, password files, field separators and: Command Line Field Separator. (line 72) * Unix, awk scripts and: Executable Scripts. (line 6) -* UNIXROOT variable, on OS/2 systems: PC Using. (line 17) +* UNIXROOT variable, on OS/2 systems: PC Using. (line 16) * unsigned integers: General Arithmetic. (line 15) * until debugger command: Debugger Execution Control. (line 83) @@ -33089,196 +33089,196 @@ Ref: Explaining gettext-Footnote-1767494 Ref: Explaining gettext-Footnote-2767678 Node: Programmer i18n767843 Node: Translator i18n772045 -Node: String Extraction772838 -Ref: String Extraction-Footnote-1773799 -Node: Printf Ordering773885 -Ref: Printf Ordering-Footnote-1776669 -Node: I18N Portability776733 -Ref: I18N Portability-Footnote-1779182 -Node: I18N Example779245 -Ref: I18N Example-Footnote-1781883 -Node: Gawk I18N781955 -Node: Debugger782576 -Node: Debugging783547 -Node: Debugging Concepts783980 -Node: Debugging Terms785836 -Node: Awk Debugging788433 -Node: Sample Debugging Session789325 -Node: Debugger Invocation789845 +Node: String Extraction772839 +Ref: String Extraction-Footnote-1773800 +Node: Printf Ordering773886 +Ref: Printf Ordering-Footnote-1776668 +Node: I18N Portability776732 +Ref: I18N Portability-Footnote-1779181 +Node: I18N Example779244 +Ref: I18N Example-Footnote-1781882 +Node: Gawk I18N781954 +Node: Debugger782575 +Node: Debugging783546 +Node: Debugging Concepts783979 +Node: Debugging Terms785835 +Node: Awk Debugging788432 +Node: Sample Debugging Session789324 +Node: Debugger Invocation789844 Node: Finding The Bug791177 -Node: List of Debugger Commands797665 -Node: Breakpoint Control798999 -Node: Debugger Execution Control802663 -Node: Viewing And Changing Data806023 -Node: Execution Stack809379 -Node: Debugger Info810846 -Node: Miscellaneous Debugger Commands814828 -Node: Readline Support820004 -Node: Limitations820835 -Node: Arbitrary Precision Arithmetic823087 -Ref: Arbitrary Precision Arithmetic-Footnote-1824736 -Node: General Arithmetic824884 -Node: Floating Point Issues826604 -Node: String Conversion Precision827485 -Ref: String Conversion Precision-Footnote-1829190 -Node: Unexpected Results829299 -Node: POSIX Floating Point Problems831452 -Ref: POSIX Floating Point Problems-Footnote-1835277 -Node: Integer Programming835315 -Node: Floating-point Programming837054 -Ref: Floating-point Programming-Footnote-1843385 -Ref: Floating-point Programming-Footnote-2843655 -Node: Floating-point Representation843919 -Node: Floating-point Context845084 -Ref: table-ieee-formats845923 -Node: Rounding Mode847307 -Ref: table-rounding-modes847786 -Ref: Rounding Mode-Footnote-1850801 -Node: Gawk and MPFR850980 -Node: Arbitrary Precision Floats852235 -Ref: Arbitrary Precision Floats-Footnote-1854678 -Node: Setting Precision854994 -Ref: table-predefined-precision-strings855680 -Node: Setting Rounding Mode857825 -Ref: table-gawk-rounding-modes858229 -Node: Floating-point Constants859416 -Node: Changing Precision860845 -Ref: Changing Precision-Footnote-1862242 -Node: Exact Arithmetic862416 -Node: Arbitrary Precision Integers865554 -Ref: Arbitrary Precision Integers-Footnote-1868572 -Node: Dynamic Extensions868719 -Node: Extension Intro870177 -Node: Plugin License871442 -Node: Extension Mechanism Outline872127 -Ref: load-extension872544 -Ref: load-new-function874022 -Ref: call-new-function875017 -Node: Extension API Description877032 -Node: Extension API Functions Introduction878245 -Node: General Data Types883111 -Ref: General Data Types-Footnote-1888713 -Node: Requesting Values889012 -Ref: table-value-types-returned889743 -Node: Constructor Functions890697 -Node: Registration Functions893717 -Node: Extension Functions894402 -Node: Exit Callback Functions896627 -Node: Extension Version String897876 -Node: Input Parsers898526 -Node: Output Wrappers908283 -Node: Two-way processors912793 -Node: Printing Messages915001 -Ref: Printing Messages-Footnote-1916078 -Node: Updating `ERRNO'916230 -Node: Accessing Parameters916969 -Node: Symbol Table Access918199 -Node: Symbol table by name918711 -Node: Symbol table by cookie920458 -Ref: Symbol table by cookie-Footnote-1924588 -Node: Cached values924651 -Ref: Cached values-Footnote-1928100 -Node: Array Manipulation928191 -Ref: Array Manipulation-Footnote-1929289 -Node: Array Data Types929328 -Ref: Array Data Types-Footnote-1932031 -Node: Array Functions932123 -Node: Flattening Arrays935889 -Node: Creating Arrays942741 -Node: Extension API Variables947466 -Node: Extension Versioning948102 -Node: Extension API Informational Variables950003 -Node: Extension API Boilerplate951089 -Node: Finding Extensions954893 -Node: Extension Example955453 -Node: Internal File Description956183 -Node: Internal File Ops960274 -Ref: Internal File Ops-Footnote-1971782 -Node: Using Internal File Ops971922 -Ref: Using Internal File Ops-Footnote-1974275 -Node: Extension Samples974541 -Node: Extension Sample File Functions976065 -Node: Extension Sample Fnmatch984550 -Node: Extension Sample Fork986276 -Node: Extension Sample Inplace987494 -Node: Extension Sample Ord989272 -Node: Extension Sample Readdir990108 -Node: Extension Sample Revout991640 -Node: Extension Sample Rev2way992233 -Node: Extension Sample Read write array992923 -Node: Extension Sample Readfile994806 -Node: Extension Sample API Tests995624 -Node: Extension Sample Time996149 -Node: gawkextlib997513 -Node: Language History1000294 -Node: V7/SVR3.11001887 -Node: SVR41004207 -Node: POSIX1005649 -Node: BTL1007035 -Node: POSIX/GNU1007769 -Node: Feature History1013368 -Node: Common Extensions1026332 -Node: Ranges and Locales1027644 -Ref: Ranges and Locales-Footnote-11032262 -Ref: Ranges and Locales-Footnote-21032289 -Ref: Ranges and Locales-Footnote-31032549 -Node: Contributors1032770 -Node: Installation1037915 -Node: Gawk Distribution1038809 -Node: Getting1039293 -Node: Extracting1040119 -Node: Distribution contents1041811 -Node: Unix Installation1047516 -Node: Quick Installation1048133 -Node: Additional Configuration Options1050577 -Node: Configuration Philosophy1052313 -Node: Non-Unix Installation1054667 -Node: PC Installation1055125 -Node: PC Binary Installation1056424 -Node: PC Compiling1058272 -Node: PC Testing1061216 -Node: PC Using1062392 -Node: Cygwin1066577 -Node: MSYS1067577 -Node: VMS Installation1068091 -Node: VMS Compilation1068855 -Ref: VMS Compilation-Footnote-11070470 -Node: VMS Dynamic Extensions1070528 -Node: VMS Installation Details1071901 -Node: VMS Running1074148 -Node: VMS GNV1076982 -Node: VMS Old Gawk1077705 -Node: Bugs1078175 -Node: Other Versions1082093 -Node: Notes1088177 -Node: Compatibility Mode1088977 -Node: Additions1089760 -Node: Accessing The Source1090687 -Node: Adding Code1092127 -Node: New Ports1098172 -Node: Derived Files1102307 -Ref: Derived Files-Footnote-11107628 -Ref: Derived Files-Footnote-21107662 -Ref: Derived Files-Footnote-31108262 -Node: Future Extensions1108360 -Node: Implementation Limitations1108943 -Node: Extension Design1110195 -Node: Old Extension Problems1111349 -Ref: Old Extension Problems-Footnote-11112857 -Node: Extension New Mechanism Goals1112914 -Ref: Extension New Mechanism Goals-Footnote-11116279 -Node: Extension Other Design Decisions1116465 -Node: Extension Future Growth1118571 -Node: Old Extension Mechanism1119407 -Node: Basic Concepts1121147 -Node: Basic High Level1121828 -Ref: figure-general-flow1122099 -Ref: figure-process-flow1122698 -Ref: Basic High Level-Footnote-11125927 -Node: Basic Data Typing1126112 -Node: Glossary1129467 -Node: Copying1154929 -Node: GNU Free Documentation License1192486 -Node: Index1217623 +Node: List of Debugger Commands797664 +Node: Breakpoint Control798998 +Node: Debugger Execution Control802662 +Node: Viewing And Changing Data806022 +Node: Execution Stack809378 +Node: Debugger Info810845 +Node: Miscellaneous Debugger Commands814827 +Node: Readline Support820003 +Node: Limitations820834 +Node: Arbitrary Precision Arithmetic823086 +Ref: Arbitrary Precision Arithmetic-Footnote-1824735 +Node: General Arithmetic824883 +Node: Floating Point Issues826603 +Node: String Conversion Precision827484 +Ref: String Conversion Precision-Footnote-1829189 +Node: Unexpected Results829298 +Node: POSIX Floating Point Problems831451 +Ref: POSIX Floating Point Problems-Footnote-1835276 +Node: Integer Programming835314 +Node: Floating-point Programming837053 +Ref: Floating-point Programming-Footnote-1843384 +Ref: Floating-point Programming-Footnote-2843654 +Node: Floating-point Representation843918 +Node: Floating-point Context845083 +Ref: table-ieee-formats845922 +Node: Rounding Mode847306 +Ref: table-rounding-modes847785 +Ref: Rounding Mode-Footnote-1850800 +Node: Gawk and MPFR850979 +Node: Arbitrary Precision Floats852234 +Ref: Arbitrary Precision Floats-Footnote-1854677 +Node: Setting Precision854993 +Ref: table-predefined-precision-strings855679 +Node: Setting Rounding Mode857824 +Ref: table-gawk-rounding-modes858228 +Node: Floating-point Constants859415 +Node: Changing Precision860844 +Ref: Changing Precision-Footnote-1862241 +Node: Exact Arithmetic862415 +Node: Arbitrary Precision Integers865553 +Ref: Arbitrary Precision Integers-Footnote-1868568 +Node: Dynamic Extensions868715 +Node: Extension Intro870173 +Node: Plugin License871438 +Node: Extension Mechanism Outline872123 +Ref: load-extension872540 +Ref: load-new-function874018 +Ref: call-new-function875013 +Node: Extension API Description877028 +Node: Extension API Functions Introduction878241 +Node: General Data Types883107 +Ref: General Data Types-Footnote-1888709 +Node: Requesting Values889008 +Ref: table-value-types-returned889739 +Node: Constructor Functions890693 +Node: Registration Functions893713 +Node: Extension Functions894398 +Node: Exit Callback Functions896624 +Node: Extension Version String897873 +Node: Input Parsers898523 +Node: Output Wrappers908280 +Node: Two-way processors912790 +Node: Printing Messages914998 +Ref: Printing Messages-Footnote-1916075 +Node: Updating `ERRNO'916227 +Node: Accessing Parameters916966 +Node: Symbol Table Access918196 +Node: Symbol table by name918708 +Node: Symbol table by cookie920455 +Ref: Symbol table by cookie-Footnote-1924585 +Node: Cached values924648 +Ref: Cached values-Footnote-1928097 +Node: Array Manipulation928188 +Ref: Array Manipulation-Footnote-1929286 +Node: Array Data Types929325 +Ref: Array Data Types-Footnote-1932028 +Node: Array Functions932120 +Node: Flattening Arrays935886 +Node: Creating Arrays942738 +Node: Extension API Variables947463 +Node: Extension Versioning948099 +Node: Extension API Informational Variables950000 +Node: Extension API Boilerplate951086 +Node: Finding Extensions954890 +Node: Extension Example955450 +Node: Internal File Description956180 +Node: Internal File Ops960271 +Ref: Internal File Ops-Footnote-1971780 +Node: Using Internal File Ops971920 +Ref: Using Internal File Ops-Footnote-1974273 +Node: Extension Samples974539 +Node: Extension Sample File Functions976063 +Node: Extension Sample Fnmatch984548 +Node: Extension Sample Fork986317 +Node: Extension Sample Inplace987530 +Node: Extension Sample Ord989308 +Node: Extension Sample Readdir990144 +Node: Extension Sample Revout991676 +Node: Extension Sample Rev2way992269 +Node: Extension Sample Read write array992959 +Node: Extension Sample Readfile994842 +Node: Extension Sample API Tests995660 +Node: Extension Sample Time996185 +Node: gawkextlib997549 +Node: Language History1000330 +Node: V7/SVR3.11001923 +Node: SVR41004243 +Node: POSIX1005685 +Node: BTL1007071 +Node: POSIX/GNU1007805 +Node: Feature History1013404 +Node: Common Extensions1026380 +Node: Ranges and Locales1027692 +Ref: Ranges and Locales-Footnote-11032309 +Ref: Ranges and Locales-Footnote-21032336 +Ref: Ranges and Locales-Footnote-31032570 +Node: Contributors1032791 +Node: Installation1037936 +Node: Gawk Distribution1038830 +Node: Getting1039314 +Node: Extracting1040140 +Node: Distribution contents1041832 +Node: Unix Installation1047537 +Node: Quick Installation1048154 +Node: Additional Configuration Options1050600 +Node: Configuration Philosophy1052336 +Node: Non-Unix Installation1054690 +Node: PC Installation1055148 +Node: PC Binary Installation1056447 +Node: PC Compiling1058295 +Node: PC Testing1061239 +Node: PC Using1062415 +Node: Cygwin1066583 +Node: MSYS1067392 +Node: VMS Installation1067906 +Node: VMS Compilation1068670 +Ref: VMS Compilation-Footnote-11070285 +Node: VMS Dynamic Extensions1070343 +Node: VMS Installation Details1071716 +Node: VMS Running1073967 +Node: VMS GNV1076801 +Node: VMS Old Gawk1077524 +Node: Bugs1077994 +Node: Other Versions1081912 +Node: Notes1087996 +Node: Compatibility Mode1088796 +Node: Additions1089579 +Node: Accessing The Source1090506 +Node: Adding Code1091946 +Node: New Ports1097991 +Node: Derived Files1102126 +Ref: Derived Files-Footnote-11107447 +Ref: Derived Files-Footnote-21107481 +Ref: Derived Files-Footnote-31108081 +Node: Future Extensions1108179 +Node: Implementation Limitations1108762 +Node: Extension Design1110014 +Node: Old Extension Problems1111168 +Ref: Old Extension Problems-Footnote-11112676 +Node: Extension New Mechanism Goals1112733 +Ref: Extension New Mechanism Goals-Footnote-11116098 +Node: Extension Other Design Decisions1116284 +Node: Extension Future Growth1118390 +Node: Old Extension Mechanism1119226 +Node: Basic Concepts1120966 +Node: Basic High Level1121647 +Ref: figure-general-flow1121918 +Ref: figure-process-flow1122517 +Ref: Basic High Level-Footnote-11125746 +Node: Basic Data Typing1125931 +Node: Glossary1129286 +Node: Copying1154748 +Node: GNU Free Documentation License1192305 +Node: Index1217442  End Tag Table -- cgit v1.2.3 From fe9bbbd473aad5e3ca992bb7b1634c69d658265a Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 5 Mar 2014 20:36:11 +0200 Subject: Update VMS doc. --- doc/gawk.info | 87 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 40 insertions(+), 47 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 73ab988f..11e5a71a 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26698,20 +26698,13 @@ available from `https://github.com/endlesssoftware/mmk'. With `ODS-5' volumes and extended parsing enabled, the case of the target parameter may need to be exact. - Older versions of `gawk' could be built with VAX C or GNU C on -VAX/VMS, as well as with DEC C, but that is no longer supported. DEC C -(also briefly known as "Compaq C" and now known as "HP C," but referred -to here as "DEC C") is required. Both `vmsbuild.com' and `descrip.mms' -contain some obsolete support for the older compilers but are set up to -use DEC C by default. - `gawk' has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1 using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3. The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both Alpha and IA64 VMS 8.4 used HP C 7.3.(1) - Work is currently being done for a procedure to build `gawk' and -create a PCSI kit for compatible with the GNV product. + The `[.vms]gawk_build_steps.txt' provides information on how to build +`gawk' into a PCSI kit that is compatible with the GNV product. ---------- Footnotes ---------- @@ -33242,43 +33235,43 @@ Node: Cygwin1066583 Node: MSYS1067392 Node: VMS Installation1067906 Node: VMS Compilation1068670 -Ref: VMS Compilation-Footnote-11070285 -Node: VMS Dynamic Extensions1070343 -Node: VMS Installation Details1071716 -Node: VMS Running1073967 -Node: VMS GNV1076801 -Node: VMS Old Gawk1077524 -Node: Bugs1077994 -Node: Other Versions1081912 -Node: Notes1087996 -Node: Compatibility Mode1088796 -Node: Additions1089579 -Node: Accessing The Source1090506 -Node: Adding Code1091946 -Node: New Ports1097991 -Node: Derived Files1102126 -Ref: Derived Files-Footnote-11107447 -Ref: Derived Files-Footnote-21107481 -Ref: Derived Files-Footnote-31108081 -Node: Future Extensions1108179 -Node: Implementation Limitations1108762 -Node: Extension Design1110014 -Node: Old Extension Problems1111168 -Ref: Old Extension Problems-Footnote-11112676 -Node: Extension New Mechanism Goals1112733 -Ref: Extension New Mechanism Goals-Footnote-11116098 -Node: Extension Other Design Decisions1116284 -Node: Extension Future Growth1118390 -Node: Old Extension Mechanism1119226 -Node: Basic Concepts1120966 -Node: Basic High Level1121647 -Ref: figure-general-flow1121918 -Ref: figure-process-flow1122517 -Ref: Basic High Level-Footnote-11125746 -Node: Basic Data Typing1125931 -Node: Glossary1129286 -Node: Copying1154748 -Node: GNU Free Documentation License1192305 -Node: Index1217442 +Ref: VMS Compilation-Footnote-11069922 +Node: VMS Dynamic Extensions1069980 +Node: VMS Installation Details1071353 +Node: VMS Running1073604 +Node: VMS GNV1076438 +Node: VMS Old Gawk1077161 +Node: Bugs1077631 +Node: Other Versions1081549 +Node: Notes1087633 +Node: Compatibility Mode1088433 +Node: Additions1089216 +Node: Accessing The Source1090143 +Node: Adding Code1091583 +Node: New Ports1097628 +Node: Derived Files1101763 +Ref: Derived Files-Footnote-11107084 +Ref: Derived Files-Footnote-21107118 +Ref: Derived Files-Footnote-31107718 +Node: Future Extensions1107816 +Node: Implementation Limitations1108399 +Node: Extension Design1109651 +Node: Old Extension Problems1110805 +Ref: Old Extension Problems-Footnote-11112313 +Node: Extension New Mechanism Goals1112370 +Ref: Extension New Mechanism Goals-Footnote-11115735 +Node: Extension Other Design Decisions1115921 +Node: Extension Future Growth1118027 +Node: Old Extension Mechanism1118863 +Node: Basic Concepts1120603 +Node: Basic High Level1121284 +Ref: figure-general-flow1121555 +Ref: figure-process-flow1122154 +Ref: Basic High Level-Footnote-11125383 +Node: Basic Data Typing1125568 +Node: Glossary1128923 +Node: Copying1154385 +Node: GNU Free Documentation License1191942 +Node: Index1217079  End Tag Table -- cgit v1.2.3 From 4c0b1ddb06fd9329fd34db65a93e067d6426a7d1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 7 Mar 2014 10:46:18 +0200 Subject: First round of indexing improvements. --- doc/gawk.info | 850 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 445 insertions(+), 405 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 11e5a71a..6fb7ee3e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -8559,6 +8559,10 @@ worked around; range patterns do not combine with other patterns: error--> gawk: cmd. line:1: (/1/,/2/) || /Yes/ error--> gawk: cmd. line:1: ^ syntax error + As a minor point of interest, although it is poor style, POSIX +allows you to put a newline after the comma in a range pattern. +(d.c.) +  File: gawk.info, Node: BEGIN/END, Next: BEGINFILE/ENDFILE, Prev: Ranges, Up: Pattern Overview @@ -9379,12 +9383,12 @@ listed in `ARGV'. standard. See the Austin Group website (http://austingroupbugs.net/view.php?id=607). - The current version of the Brian Kernighan's `awk' (*note Other -Versions::) also supports `nextfile'. However, it doesn't allow the -`nextfile' statement inside function bodies (*note User-defined::). -`gawk' does; a `nextfile' inside a function body reads the next record -and starts processing it with the first rule in the program, just as -any other `nextfile' statement. + The current version of the Brian Kernighan's `awk', and `mawk' +(*note Other Versions::) also support `nextfile'. However, they don't +allow the `nextfile' statement inside function bodies (*note +User-defined::). `gawk' does; a `nextfile' inside a function body +reads the next record and starts processing it with the first rule in +the program, just as any other `nextfile' statement.  File: gawk.info, Node: Exit Statement, Prev: Nextfile Statement, Up: Statements @@ -29964,11 +29968,11 @@ Index * # (number sign), #! (executable scripts): Executable Scripts. (line 6) * # (number sign), commenting: Comments. (line 6) -* $ (dollar sign): Regexp Operators. (line 35) * $ (dollar sign), $ field operator <1>: Precedence. (line 43) * $ (dollar sign), $ field operator: Fields. (line 19) * $ (dollar sign), incrementing fields and arrays: Increment Ops. (line 30) +* $ (dollar sign), regexp operator: Regexp Operators. (line 35) * % (percent sign), % operator: Precedence. (line 55) * % (percent sign), %= operator <1>: Precedence. (line 95) * % (percent sign), %= operator: Assignment Ops. (line 129) @@ -29995,12 +29999,12 @@ Index * * (asterisk), **= operator: Assignment Ops. (line 129) * * (asterisk), *= operator <1>: Precedence. (line 95) * * (asterisk), *= operator: Assignment Ops. (line 129) -* + (plus sign): Regexp Operators. (line 102) * + (plus sign), + operator: Precedence. (line 52) * + (plus sign), ++ operator <1>: Precedence. (line 46) * + (plus sign), ++ operator: Increment Ops. (line 11) * + (plus sign), += operator <1>: Precedence. (line 95) * + (plus sign), += operator: Assignment Ops. (line 82) +* + (plus sign), regexp operator: Regexp Operators. (line 102) * , (comma), in range patterns: Ranges. (line 6) * - (hyphen), - operator: Precedence. (line 52) * - (hyphen), -- operator <1>: Precedence. (line 46) @@ -30106,17 +30110,18 @@ Index (line 147) * / (forward slash), patterns and: Expression Patterns. (line 24) * /= operator vs. /=.../ regexp constant: Assignment Ops. (line 147) -* /dev/... special files (gawk): Special FD. (line 46) -* /dev/fd/N special files: Special FD. (line 46) +* /dev/... special files: Special FD. (line 46) +* /dev/fd/N special files (gawk): Special FD. (line 46) * /inet/... special files (gawk): TCP/IP Networking. (line 6) * /inet4/... special files (gawk): TCP/IP Networking. (line 6) * /inet6/... special files (gawk): TCP/IP Networking. (line 6) -* ; (semicolon): Statements/Lines. (line 91) * ; (semicolon), AWKPATH variable and: PC Using. (line 10) * ; (semicolon), separating statements in actions <1>: Statements. (line 10) -* ; (semicolon), separating statements in actions: Action Overview. +* ; (semicolon), separating statements in actions <2>: Action Overview. (line 19) +* ; (semicolon), separating statements in actions: Statements/Lines. + (line 91) * < (left angle bracket), < operator <1>: Precedence. (line 65) * < (left angle bracket), < operator: Comparison Operators. (line 11) @@ -30137,10 +30142,10 @@ Index (line 11) * > (right angle bracket), >> operator (I/O) <1>: Precedence. (line 65) * > (right angle bracket), >> operator (I/O): Redirection. (line 50) -* ? (question mark) regexp operator <1>: GNU Regexp Operators. - (line 59) -* ? (question mark) regexp operator: Regexp Operators. (line 111) * ? (question mark), ?: operator: Precedence. (line 92) +* ? (question mark), regexp operator <1>: GNU Regexp Operators. + (line 59) +* ? (question mark), regexp operator: Regexp Operators. (line 111) * [] (square brackets): Regexp Operators. (line 55) * \ (backslash) <1>: Regexp Operators. (line 18) * \ (backslash) <2>: Quoting. (line 31) @@ -30192,20 +30197,21 @@ Index * \ (backslash), in escape sequences, POSIX and: Escape Sequences. (line 112) * \ (backslash), in regexp constants: Computed Regexps. (line 28) -* ^ (caret): GNU Regexp Operators. - (line 59) * ^ (caret), ^ operator: Precedence. (line 49) * ^ (caret), ^= operator <1>: Precedence. (line 95) * ^ (caret), ^= operator: Assignment Ops. (line 129) * ^ (caret), in bracket expressions: Bracket Expressions. (line 17) -* ^ (caret), regexp operator: Regexp Operators. (line 22) -* ^, in FS: Regexp Field Splitting. +* ^ (caret), in FS: Regexp Field Splitting. + (line 59) +* ^ (caret), regexp operator <1>: GNU Regexp Operators. (line 59) +* ^ (caret), regexp operator: Regexp Operators. (line 22) * _ (underscore), C macro: Explaining gettext. (line 70) * _ (underscore), in names of private variables: Library Names. (line 29) * _ (underscore), translatable string: Programmer i18n. (line 69) * _gr_init() user-defined function: Group Functions. (line 82) +* _ord_init() user-defined function: Ordinal Functions. (line 16) * _pw_init() user-defined function: Passwd Functions. (line 105) * accessing fields: Fields. (line 6) * account information <1>: Group Functions. (line 6) @@ -30219,8 +30225,6 @@ Index * adding, fields: Changing Fields. (line 53) * advanced features, fixed-width data: Constant Size. (line 10) * advanced features, gawk: Advanced Features. (line 6) -* advanced features, network connections, See Also networks, connections: Advanced Features. - (line 6) * advanced features, network programming: TCP/IP Networking. (line 6) * advanced features, nondecimal input data: Nondecimal Data. (line 6) * advanced features, processes, communicating with: Two-way I/O. @@ -30242,6 +30246,7 @@ Index * ampersand (&), gsub()/gensub()/sub() functions and: Gory Details. (line 6) * anagram.awk program: Anagram Program. (line 22) +* anagrams, finding: Anagram Program. (line 6) * AND bitwise operation: Bitwise Functions. (line 6) * and Boolean-logic operator: Boolean Ops. (line 6) * and() function (gawk): Bitwise Functions. (line 39) @@ -30440,8 +30445,8 @@ Index * backslash (\), in regexp constants: Computed Regexps. (line 28) * backtrace debugger command: Execution Stack. (line 13) * BBS-list file: Sample Data Files. (line 6) -* Beebe, Nelson <1>: Other Versions. (line 78) -* Beebe, Nelson: Acknowledgments. (line 60) +* Beebe, Nelson H.F. <1>: Other Versions. (line 78) +* Beebe, Nelson H.F.: Acknowledgments. (line 60) * BEGIN pattern <1>: Profiling. (line 62) * BEGIN pattern <2>: BEGIN/END. (line 6) * BEGIN pattern <3>: Field Separators. (line 45) @@ -30467,7 +30472,9 @@ Index * BEGINFILE pattern, Boolean patterns and: Expression Patterns. (line 73) * beginfile() user-defined function: Filetrans Function. (line 62) +* Bentley, Jon: Glossary. (line 151) * Benzinger, Michael: Contributors. (line 97) +* Berry, Karl <1>: Ranges and Locales. (line 74) * Berry, Karl: Acknowledgments. (line 33) * binary input/output: User-modified. (line 10) * bindtextdomain() function (C library): Explaining gettext. (line 49) @@ -30509,9 +30516,28 @@ Index * Brennan, Michael <1>: Other Versions. (line 6) * Brennan, Michael <2>: Two-way I/O. (line 6) * Brennan, Michael <3>: Simple Sed. (line 25) -* Brennan, Michael: Delete. (line 56) -* Brian Kernighan's awk: Other Versions. (line 13) +* Brennan, Michael <4>: Delete. (line 56) +* Brennan, Michael: Foreword. (line 83) +* Brian Kernighan's awk <1>: I/O Functions. (line 40) +* Brian Kernighan's awk <2>: Gory Details. (line 15) +* Brian Kernighan's awk <3>: String Functions. (line 489) +* Brian Kernighan's awk <4>: Delete. (line 48) +* Brian Kernighan's awk <5>: Nextfile Statement. (line 47) +* Brian Kernighan's awk <6>: Continue Statement. (line 43) +* Brian Kernighan's awk <7>: Break Statement. (line 51) +* Brian Kernighan's awk <8>: I/O And BEGIN/END. (line 16) +* Brian Kernighan's awk <9>: Concatenation. (line 36) +* Brian Kernighan's awk <10>: Getline/Pipe. (line 62) +* Brian Kernighan's awk <11>: Regexp Field Splitting. + (line 67) +* Brian Kernighan's awk <12>: GNU Regexp Operators. + (line 83) +* Brian Kernighan's awk <13>: Escape Sequences. (line 116) +* Brian Kernighan's awk <14>: When. (line 21) +* Brian Kernighan's awk: Preface. (line 15) * Brian Kernighan's awk, extensions: BTL. (line 6) +* Brian Kernighan's awk, source code: Other Versions. (line 13) +* Brini, Davide: Signature Program. (line 6) * Broder, Alan J.: Contributors. (line 88) * Brown, Martin: Contributors. (line 82) * BSD-based operating systems: Glossary. (line 624) @@ -30538,12 +30564,12 @@ Index (line 47) * call by value: Pass By Value/Reference. (line 18) -* caret (^): GNU Regexp Operators. - (line 59) * caret (^), ^ operator: Precedence. (line 49) * caret (^), ^= operator <1>: Precedence. (line 95) * caret (^), ^= operator: Assignment Ops. (line 129) * caret (^), in bracket expressions: Bracket Expressions. (line 17) +* caret (^), regexp operator <1>: GNU Regexp Operators. + (line 59) * caret (^), regexp operator: Regexp Operators. (line 22) * case keyword: Switch Statement. (line 6) * case sensitivity, array indices and: Array Intro. (line 91) @@ -30554,6 +30580,8 @@ Index * case sensitivity, regexps and: Case-sensitivity. (line 6) * case sensitivity, string comparisons and: User-modified. (line 82) * CGI, awk scripts for: Options. (line 125) +* character classes, See bracket expressions: Regexp Operators. + (line 55) * character lists, See bracket expressions: Regexp Operators. (line 55) * character sets (machine character encodings) <1>: Glossary. (line 141) * character sets (machine character encodings): Ordinal Functions. @@ -30894,6 +30922,8 @@ Index (line 23) * differences in awk and gawk, close() function: Close Files And Pipes. (line 81) +* differences in awk and gawk, command line directories: Command line directories. + (line 6) * differences in awk and gawk, ERRNO variable: Auto-set. (line 73) * differences in awk and gawk, error messages: Special FD. (line 16) * differences in awk and gawk, FIELDWIDTHS variable: User-modified. @@ -30936,8 +30966,6 @@ Index (line 346) * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: Records. (line 191) -* differences in awk and gawk, strtonum() function (gawk): String Functions. - (line 401) * differences in awk and gawk, SYMTAB variable: Auto-set. (line 274) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 162) @@ -30957,11 +30985,11 @@ Index * documentation, of awk programs: Library Names. (line 6) * documentation, online: Manual History. (line 11) * documents, searching: Dupword Program. (line 6) -* dollar sign ($): Regexp Operators. (line 35) * dollar sign ($), $ field operator <1>: Precedence. (line 43) * dollar sign ($), $ field operator: Fields. (line 19) * dollar sign ($), incrementing fields and arrays: Increment Ops. (line 30) +* dollar sign ($), regexp operator: Regexp Operators. (line 35) * double precision floating-point: General Arithmetic. (line 21) * double quote (") <1>: Quoting. (line 37) * double quote ("): Read Terminal. (line 25) @@ -31078,6 +31106,7 @@ Index * extensions, common, \x escape sequence: Escape Sequences. (line 61) * extensions, common, BINMODE variable: PC Using. (line 33) * extensions, common, delete to delete entire arrays: Delete. (line 39) +* extensions, common, fflush() function: I/O Functions. (line 40) * extensions, common, func keyword: Definition Syntax. (line 83) * extensions, common, length() applied to an array: String Functions. (line 193) @@ -31199,10 +31228,10 @@ Index * fixed-width data: Constant Size. (line 10) * flag variables <1>: Tee Program. (line 20) * flag variables: Boolean Ops. (line 67) -* floating-point numbers, arbitrary precision: Arbitrary Precision Arithmetic. - (line 6) * floating-point, numbers <1>: Unexpected Results. (line 6) * floating-point, numbers: General Arithmetic. (line 6) +* floating-point, numbers, arbitrary precision: Arbitrary Precision Arithmetic. + (line 6) * floating-point, VAX/VMS: VMS Running. (line 51) * fnmatch() extension function: Extension Sample Fnmatch. (line 12) @@ -31605,14 +31634,16 @@ Index * Kahrs, Ju"rgen: Acknowledgments. (line 60) * Kasal, Stepan: Acknowledgments. (line 60) * Kenobi, Obi-Wan: Undocumented. (line 6) -* Kernighan, Brian <1>: Basic Data Typing. (line 55) -* Kernighan, Brian <2>: Other Versions. (line 13) -* Kernighan, Brian <3>: Contributors. (line 11) -* Kernighan, Brian <4>: BTL. (line 6) -* Kernighan, Brian <5>: Library Functions. (line 12) -* Kernighan, Brian <6>: Concatenation. (line 6) -* Kernighan, Brian <7>: Acknowledgments. (line 72) -* Kernighan, Brian <8>: Conventions. (line 34) +* Kernighan, Brian <1>: Glossary. (line 151) +* Kernighan, Brian <2>: Basic Data Typing. (line 55) +* Kernighan, Brian <3>: Other Versions. (line 13) +* Kernighan, Brian <4>: Contributors. (line 11) +* Kernighan, Brian <5>: BTL. (line 6) +* Kernighan, Brian <6>: Library Functions. (line 12) +* Kernighan, Brian <7>: Concatenation. (line 6) +* Kernighan, Brian <8>: Getline/Pipe. (line 6) +* Kernighan, Brian <9>: Acknowledgments. (line 72) +* Kernighan, Brian <10>: Conventions. (line 34) * Kernighan, Brian: History. (line 17) * kill command, dynamic profiling: Profiling. (line 188) * Knights, jedi: Undocumented. (line 6) @@ -31733,7 +31764,11 @@ Index (line 9) * matching, leftmost longest: Multiple Line. (line 26) * matching, null strings: Gory Details. (line 164) -* mawk utility: Other Versions. (line 44) +* mawk utility <1>: Other Versions. (line 44) +* mawk utility <2>: Nextfile Statement. (line 47) +* mawk utility <3>: Concatenation. (line 36) +* mawk utility <4>: Getline/Pipe. (line 62) +* mawk utility: Escape Sequences. (line 124) * McPhee, Patrick: Contributors. (line 100) * message object files: Explaining gettext. (line 41) * message object files, converting from portable object files: I18N Example. @@ -31952,12 +31987,12 @@ Index * Pitts, Dave <1>: Bugs. (line 73) * Pitts, Dave: Acknowledgments. (line 60) * Plauger, P.J.: Library Functions. (line 12) -* plus sign (+): Regexp Operators. (line 102) * plus sign (+), + operator: Precedence. (line 52) * plus sign (+), ++ operator <1>: Precedence. (line 46) * plus sign (+), ++ operator: Increment Ops. (line 11) * plus sign (+), += operator <1>: Precedence. (line 95) * plus sign (+), += operator: Assignment Ops. (line 82) +* plus sign (+), regexp operator: Regexp Operators. (line 102) * pointers to functions: Indirect Calls. (line 6) * portability: Escape Sequences. (line 94) * portability, #! (executable scripts): Executable Scripts. (line 33) @@ -32117,10 +32152,10 @@ Index (line 99) * QSE Awk: Other Versions. (line 130) * Quanstrom, Erik: Alarm Program. (line 8) -* question mark (?) regexp operator <1>: GNU Regexp Operators. - (line 59) -* question mark (?) regexp operator: Regexp Operators. (line 111) * question mark (?), ?: operator: Precedence. (line 92) +* question mark (?), regexp operator <1>: GNU Regexp Operators. + (line 59) +* question mark (?), regexp operator: Regexp Operators. (line 111) * QuikTrim Awk: Other Versions. (line 134) * quit debugger command: Miscellaneous Debugger Commands. (line 99) @@ -32143,6 +32178,7 @@ Index * random numbers, seed of: Numeric Functions. (line 64) * range expressions (regexps): Bracket Expressions. (line 6) * range patterns: Ranges. (line 6) +* range patterns, line continuation and: Ranges. (line 65) * Rankin, Pat <1>: Bugs. (line 72) * Rankin, Pat <2>: Contributors. (line 37) * Rankin, Pat <3>: Assignment Ops. (line 100) @@ -32307,12 +32343,13 @@ Index * sed utility <2>: Simple Sed. (line 6) * sed utility: Field Splitting Summary. (line 46) -* semicolon (;): Statements/Lines. (line 91) * semicolon (;), AWKPATH variable and: PC Using. (line 10) * semicolon (;), separating statements in actions <1>: Statements. (line 10) -* semicolon (;), separating statements in actions: Action Overview. +* semicolon (;), separating statements in actions <2>: Action Overview. (line 19) +* semicolon (;), separating statements in actions: Statements/Lines. + (line 91) * separators, field: User-modified. (line 56) * separators, field, FIELDWIDTHS variable and: User-modified. (line 35) * separators, field, FPAT variable and: User-modified. (line 45) @@ -32385,6 +32422,7 @@ Index * signals, INT/SIGINT (MS-Windows): Profiling. (line 214) * signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 214) * signals, USR1/SIGUSR1: Profiling. (line 188) +* signature program: Signature Program. (line 6) * SIGQUIT signal (MS-Windows): Profiling. (line 214) * SIGUSR1 signal: Profiling. (line 188) * silent debugger command: Debugger Execution Control. @@ -32605,7 +32643,9 @@ Index * undisplay debugger command: Viewing And Changing Data. (line 80) * undocumented features: Undocumented. (line 6) -* Unicode: Glossary. (line 141) +* Unicode <1>: Glossary. (line 141) +* Unicode <2>: Ranges and Locales. (line 61) +* Unicode: Ordinal Functions. (line 45) * uninitialized variables, as array subscripts: Uninitialized Subscripts. (line 6) * uniq utility: Uniq Program. (line 6) @@ -32916,362 +32956,362 @@ Node: Pattern Overview358484 Node: Regexp Patterns360153 Node: Expression Patterns360696 Node: Ranges364381 -Node: BEGIN/END367347 -Node: Using BEGIN/END368109 -Ref: Using BEGIN/END-Footnote-1370840 -Node: I/O And BEGIN/END370946 -Node: BEGINFILE/ENDFILE373228 -Node: Empty376142 -Node: Using Shell Variables376458 -Node: Action Overview378743 -Node: Statements381100 -Node: If Statement382954 -Node: While Statement384453 -Node: Do Statement386497 -Node: For Statement387653 -Node: Switch Statement390805 -Node: Break Statement392959 -Node: Continue Statement394949 -Node: Next Statement396742 -Node: Nextfile Statement399132 -Node: Exit Statement401775 -Node: Built-in Variables404191 -Node: User-modified405286 -Ref: User-modified-Footnote-1413644 -Node: Auto-set413706 -Ref: Auto-set-Footnote-1426784 -Ref: Auto-set-Footnote-2426989 -Node: ARGC and ARGV427045 -Node: Arrays430896 -Node: Array Basics432401 -Node: Array Intro433227 -Node: Reference to Elements437544 -Node: Assigning Elements439814 -Node: Array Example440305 -Node: Scanning an Array442037 -Node: Controlling Scanning444351 -Ref: Controlling Scanning-Footnote-1449438 -Node: Delete449754 -Ref: Delete-Footnote-1452519 -Node: Numeric Array Subscripts452576 -Node: Uninitialized Subscripts454759 -Node: Multidimensional456386 -Node: Multiscanning459479 -Node: Arrays of Arrays461068 -Node: Functions465708 -Node: Built-in466527 -Node: Calling Built-in467605 -Node: Numeric Functions469593 -Ref: Numeric Functions-Footnote-1473425 -Ref: Numeric Functions-Footnote-2473782 -Ref: Numeric Functions-Footnote-3473830 -Node: String Functions474099 -Ref: String Functions-Footnote-1497019 -Ref: String Functions-Footnote-2497148 -Ref: String Functions-Footnote-3497396 -Node: Gory Details497483 -Ref: table-sub-escapes499162 -Ref: table-sub-posix-92500516 -Ref: table-sub-proposed501867 -Ref: table-posix-sub503221 -Ref: table-gensub-escapes504766 -Ref: Gory Details-Footnote-1505942 -Ref: Gory Details-Footnote-2505993 -Node: I/O Functions506144 -Ref: I/O Functions-Footnote-1513134 -Node: Time Functions513281 -Ref: Time Functions-Footnote-1524214 -Ref: Time Functions-Footnote-2524282 -Ref: Time Functions-Footnote-3524440 -Ref: Time Functions-Footnote-4524551 -Ref: Time Functions-Footnote-5524663 -Ref: Time Functions-Footnote-6524890 -Node: Bitwise Functions525156 -Ref: table-bitwise-ops525718 -Ref: Bitwise Functions-Footnote-1529939 -Node: Type Functions530123 -Node: I18N Functions531274 -Node: User-defined532901 -Node: Definition Syntax533705 -Ref: Definition Syntax-Footnote-1538619 -Node: Function Example538688 -Ref: Function Example-Footnote-1541337 -Node: Function Caveats541359 -Node: Calling A Function541877 -Node: Variable Scope542832 -Node: Pass By Value/Reference545795 -Node: Return Statement549303 -Node: Dynamic Typing552284 -Node: Indirect Calls553215 -Node: Library Functions562902 -Ref: Library Functions-Footnote-1566415 -Ref: Library Functions-Footnote-2566558 -Node: Library Names566729 -Ref: Library Names-Footnote-1570202 -Ref: Library Names-Footnote-2570422 -Node: General Functions570508 -Node: Strtonum Function571536 -Node: Assert Function574466 -Node: Round Function577792 -Node: Cliff Random Function579333 -Node: Ordinal Functions580349 -Ref: Ordinal Functions-Footnote-1583426 -Ref: Ordinal Functions-Footnote-2583678 -Node: Join Function583889 -Ref: Join Function-Footnote-1585660 -Node: Getlocaltime Function585860 -Node: Readfile Function589601 -Node: Data File Management591440 -Node: Filetrans Function592072 -Node: Rewind Function596141 -Node: File Checking597528 -Node: Empty Files598622 -Node: Ignoring Assigns600852 -Node: Getopt Function602406 -Ref: Getopt Function-Footnote-1613709 -Node: Passwd Functions613912 -Ref: Passwd Functions-Footnote-1622890 -Node: Group Functions622978 -Node: Walking Arrays631062 -Node: Sample Programs633198 -Node: Running Examples633872 -Node: Clones634600 -Node: Cut Program635824 -Node: Egrep Program645675 -Ref: Egrep Program-Footnote-1653448 -Node: Id Program653558 -Node: Split Program657174 -Ref: Split Program-Footnote-1660693 -Node: Tee Program660821 -Node: Uniq Program663624 -Node: Wc Program671053 -Ref: Wc Program-Footnote-1675319 -Ref: Wc Program-Footnote-2675519 -Node: Miscellaneous Programs675611 -Node: Dupword Program676799 -Node: Alarm Program678830 -Node: Translate Program683637 -Ref: Translate Program-Footnote-1688024 -Ref: Translate Program-Footnote-2688272 -Node: Labels Program688406 -Ref: Labels Program-Footnote-1691777 -Node: Word Sorting691861 -Node: History Sorting695745 -Node: Extract Program697584 -Ref: Extract Program-Footnote-1705087 -Node: Simple Sed705215 -Node: Igawk Program708277 -Ref: Igawk Program-Footnote-1723434 -Ref: Igawk Program-Footnote-2723635 -Node: Anagram Program723773 -Node: Signature Program726841 -Node: Advanced Features727941 -Node: Nondecimal Data729827 -Node: Array Sorting731410 -Node: Controlling Array Traversal732107 -Node: Array Sorting Functions740391 -Ref: Array Sorting Functions-Footnote-1744260 -Node: Two-way I/O744454 -Ref: Two-way I/O-Footnote-1749886 -Node: TCP/IP Networking749968 -Node: Profiling752812 -Node: Internationalization760315 -Node: I18N and L10N761740 -Node: Explaining gettext762426 -Ref: Explaining gettext-Footnote-1767494 -Ref: Explaining gettext-Footnote-2767678 -Node: Programmer i18n767843 -Node: Translator i18n772045 -Node: String Extraction772839 -Ref: String Extraction-Footnote-1773800 -Node: Printf Ordering773886 -Ref: Printf Ordering-Footnote-1776668 -Node: I18N Portability776732 -Ref: I18N Portability-Footnote-1779181 -Node: I18N Example779244 -Ref: I18N Example-Footnote-1781882 -Node: Gawk I18N781954 -Node: Debugger782575 -Node: Debugging783546 -Node: Debugging Concepts783979 -Node: Debugging Terms785835 -Node: Awk Debugging788432 -Node: Sample Debugging Session789324 -Node: Debugger Invocation789844 -Node: Finding The Bug791177 -Node: List of Debugger Commands797664 -Node: Breakpoint Control798998 -Node: Debugger Execution Control802662 -Node: Viewing And Changing Data806022 -Node: Execution Stack809378 -Node: Debugger Info810845 -Node: Miscellaneous Debugger Commands814827 -Node: Readline Support820003 -Node: Limitations820834 -Node: Arbitrary Precision Arithmetic823086 -Ref: Arbitrary Precision Arithmetic-Footnote-1824735 -Node: General Arithmetic824883 -Node: Floating Point Issues826603 -Node: String Conversion Precision827484 -Ref: String Conversion Precision-Footnote-1829189 -Node: Unexpected Results829298 -Node: POSIX Floating Point Problems831451 -Ref: POSIX Floating Point Problems-Footnote-1835276 -Node: Integer Programming835314 -Node: Floating-point Programming837053 -Ref: Floating-point Programming-Footnote-1843384 -Ref: Floating-point Programming-Footnote-2843654 -Node: Floating-point Representation843918 -Node: Floating-point Context845083 -Ref: table-ieee-formats845922 -Node: Rounding Mode847306 -Ref: table-rounding-modes847785 -Ref: Rounding Mode-Footnote-1850800 -Node: Gawk and MPFR850979 -Node: Arbitrary Precision Floats852234 -Ref: Arbitrary Precision Floats-Footnote-1854677 -Node: Setting Precision854993 -Ref: table-predefined-precision-strings855679 -Node: Setting Rounding Mode857824 -Ref: table-gawk-rounding-modes858228 -Node: Floating-point Constants859415 -Node: Changing Precision860844 -Ref: Changing Precision-Footnote-1862241 -Node: Exact Arithmetic862415 -Node: Arbitrary Precision Integers865553 -Ref: Arbitrary Precision Integers-Footnote-1868568 -Node: Dynamic Extensions868715 -Node: Extension Intro870173 -Node: Plugin License871438 -Node: Extension Mechanism Outline872123 -Ref: load-extension872540 -Ref: load-new-function874018 -Ref: call-new-function875013 -Node: Extension API Description877028 -Node: Extension API Functions Introduction878241 -Node: General Data Types883107 -Ref: General Data Types-Footnote-1888709 -Node: Requesting Values889008 -Ref: table-value-types-returned889739 -Node: Constructor Functions890693 -Node: Registration Functions893713 -Node: Extension Functions894398 -Node: Exit Callback Functions896624 -Node: Extension Version String897873 -Node: Input Parsers898523 -Node: Output Wrappers908280 -Node: Two-way processors912790 -Node: Printing Messages914998 -Ref: Printing Messages-Footnote-1916075 -Node: Updating `ERRNO'916227 -Node: Accessing Parameters916966 -Node: Symbol Table Access918196 -Node: Symbol table by name918708 -Node: Symbol table by cookie920455 -Ref: Symbol table by cookie-Footnote-1924585 -Node: Cached values924648 -Ref: Cached values-Footnote-1928097 -Node: Array Manipulation928188 -Ref: Array Manipulation-Footnote-1929286 -Node: Array Data Types929325 -Ref: Array Data Types-Footnote-1932028 -Node: Array Functions932120 -Node: Flattening Arrays935886 -Node: Creating Arrays942738 -Node: Extension API Variables947463 -Node: Extension Versioning948099 -Node: Extension API Informational Variables950000 -Node: Extension API Boilerplate951086 -Node: Finding Extensions954890 -Node: Extension Example955450 -Node: Internal File Description956180 -Node: Internal File Ops960271 -Ref: Internal File Ops-Footnote-1971780 -Node: Using Internal File Ops971920 -Ref: Using Internal File Ops-Footnote-1974273 -Node: Extension Samples974539 -Node: Extension Sample File Functions976063 -Node: Extension Sample Fnmatch984548 -Node: Extension Sample Fork986317 -Node: Extension Sample Inplace987530 -Node: Extension Sample Ord989308 -Node: Extension Sample Readdir990144 -Node: Extension Sample Revout991676 -Node: Extension Sample Rev2way992269 -Node: Extension Sample Read write array992959 -Node: Extension Sample Readfile994842 -Node: Extension Sample API Tests995660 -Node: Extension Sample Time996185 -Node: gawkextlib997549 -Node: Language History1000330 -Node: V7/SVR3.11001923 -Node: SVR41004243 -Node: POSIX1005685 -Node: BTL1007071 -Node: POSIX/GNU1007805 -Node: Feature History1013404 -Node: Common Extensions1026380 -Node: Ranges and Locales1027692 -Ref: Ranges and Locales-Footnote-11032309 -Ref: Ranges and Locales-Footnote-21032336 -Ref: Ranges and Locales-Footnote-31032570 -Node: Contributors1032791 -Node: Installation1037936 -Node: Gawk Distribution1038830 -Node: Getting1039314 -Node: Extracting1040140 -Node: Distribution contents1041832 -Node: Unix Installation1047537 -Node: Quick Installation1048154 -Node: Additional Configuration Options1050600 -Node: Configuration Philosophy1052336 -Node: Non-Unix Installation1054690 -Node: PC Installation1055148 -Node: PC Binary Installation1056447 -Node: PC Compiling1058295 -Node: PC Testing1061239 -Node: PC Using1062415 -Node: Cygwin1066583 -Node: MSYS1067392 -Node: VMS Installation1067906 -Node: VMS Compilation1068670 -Ref: VMS Compilation-Footnote-11069922 -Node: VMS Dynamic Extensions1069980 -Node: VMS Installation Details1071353 -Node: VMS Running1073604 -Node: VMS GNV1076438 -Node: VMS Old Gawk1077161 -Node: Bugs1077631 -Node: Other Versions1081549 -Node: Notes1087633 -Node: Compatibility Mode1088433 -Node: Additions1089216 -Node: Accessing The Source1090143 -Node: Adding Code1091583 -Node: New Ports1097628 -Node: Derived Files1101763 -Ref: Derived Files-Footnote-11107084 -Ref: Derived Files-Footnote-21107118 -Ref: Derived Files-Footnote-31107718 -Node: Future Extensions1107816 -Node: Implementation Limitations1108399 -Node: Extension Design1109651 -Node: Old Extension Problems1110805 -Ref: Old Extension Problems-Footnote-11112313 -Node: Extension New Mechanism Goals1112370 -Ref: Extension New Mechanism Goals-Footnote-11115735 -Node: Extension Other Design Decisions1115921 -Node: Extension Future Growth1118027 -Node: Old Extension Mechanism1118863 -Node: Basic Concepts1120603 -Node: Basic High Level1121284 -Ref: figure-general-flow1121555 -Ref: figure-process-flow1122154 -Ref: Basic High Level-Footnote-11125383 -Node: Basic Data Typing1125568 -Node: Glossary1128923 -Node: Copying1154385 -Node: GNU Free Documentation License1191942 -Node: Index1217079 +Node: BEGIN/END367485 +Node: Using BEGIN/END368247 +Ref: Using BEGIN/END-Footnote-1370978 +Node: I/O And BEGIN/END371084 +Node: BEGINFILE/ENDFILE373366 +Node: Empty376280 +Node: Using Shell Variables376596 +Node: Action Overview378881 +Node: Statements381238 +Node: If Statement383092 +Node: While Statement384591 +Node: Do Statement386635 +Node: For Statement387791 +Node: Switch Statement390943 +Node: Break Statement393097 +Node: Continue Statement395087 +Node: Next Statement396880 +Node: Nextfile Statement399270 +Node: Exit Statement401925 +Node: Built-in Variables404341 +Node: User-modified405436 +Ref: User-modified-Footnote-1413794 +Node: Auto-set413856 +Ref: Auto-set-Footnote-1426934 +Ref: Auto-set-Footnote-2427139 +Node: ARGC and ARGV427195 +Node: Arrays431046 +Node: Array Basics432551 +Node: Array Intro433377 +Node: Reference to Elements437694 +Node: Assigning Elements439964 +Node: Array Example440455 +Node: Scanning an Array442187 +Node: Controlling Scanning444501 +Ref: Controlling Scanning-Footnote-1449588 +Node: Delete449904 +Ref: Delete-Footnote-1452669 +Node: Numeric Array Subscripts452726 +Node: Uninitialized Subscripts454909 +Node: Multidimensional456536 +Node: Multiscanning459629 +Node: Arrays of Arrays461218 +Node: Functions465858 +Node: Built-in466677 +Node: Calling Built-in467755 +Node: Numeric Functions469743 +Ref: Numeric Functions-Footnote-1473575 +Ref: Numeric Functions-Footnote-2473932 +Ref: Numeric Functions-Footnote-3473980 +Node: String Functions474249 +Ref: String Functions-Footnote-1497169 +Ref: String Functions-Footnote-2497298 +Ref: String Functions-Footnote-3497546 +Node: Gory Details497633 +Ref: table-sub-escapes499312 +Ref: table-sub-posix-92500666 +Ref: table-sub-proposed502017 +Ref: table-posix-sub503371 +Ref: table-gensub-escapes504916 +Ref: Gory Details-Footnote-1506092 +Ref: Gory Details-Footnote-2506143 +Node: I/O Functions506294 +Ref: I/O Functions-Footnote-1513284 +Node: Time Functions513431 +Ref: Time Functions-Footnote-1524364 +Ref: Time Functions-Footnote-2524432 +Ref: Time Functions-Footnote-3524590 +Ref: Time Functions-Footnote-4524701 +Ref: Time Functions-Footnote-5524813 +Ref: Time Functions-Footnote-6525040 +Node: Bitwise Functions525306 +Ref: table-bitwise-ops525868 +Ref: Bitwise Functions-Footnote-1530089 +Node: Type Functions530273 +Node: I18N Functions531424 +Node: User-defined533051 +Node: Definition Syntax533855 +Ref: Definition Syntax-Footnote-1538769 +Node: Function Example538838 +Ref: Function Example-Footnote-1541487 +Node: Function Caveats541509 +Node: Calling A Function542027 +Node: Variable Scope542982 +Node: Pass By Value/Reference545945 +Node: Return Statement549453 +Node: Dynamic Typing552434 +Node: Indirect Calls553365 +Node: Library Functions563052 +Ref: Library Functions-Footnote-1566565 +Ref: Library Functions-Footnote-2566708 +Node: Library Names566879 +Ref: Library Names-Footnote-1570352 +Ref: Library Names-Footnote-2570572 +Node: General Functions570658 +Node: Strtonum Function571686 +Node: Assert Function574616 +Node: Round Function577942 +Node: Cliff Random Function579483 +Node: Ordinal Functions580499 +Ref: Ordinal Functions-Footnote-1583576 +Ref: Ordinal Functions-Footnote-2583828 +Node: Join Function584039 +Ref: Join Function-Footnote-1585810 +Node: Getlocaltime Function586010 +Node: Readfile Function589751 +Node: Data File Management591590 +Node: Filetrans Function592222 +Node: Rewind Function596291 +Node: File Checking597678 +Node: Empty Files598772 +Node: Ignoring Assigns601002 +Node: Getopt Function602556 +Ref: Getopt Function-Footnote-1613859 +Node: Passwd Functions614062 +Ref: Passwd Functions-Footnote-1623040 +Node: Group Functions623128 +Node: Walking Arrays631212 +Node: Sample Programs633348 +Node: Running Examples634022 +Node: Clones634750 +Node: Cut Program635974 +Node: Egrep Program645825 +Ref: Egrep Program-Footnote-1653598 +Node: Id Program653708 +Node: Split Program657324 +Ref: Split Program-Footnote-1660843 +Node: Tee Program660971 +Node: Uniq Program663774 +Node: Wc Program671203 +Ref: Wc Program-Footnote-1675469 +Ref: Wc Program-Footnote-2675669 +Node: Miscellaneous Programs675761 +Node: Dupword Program676949 +Node: Alarm Program678980 +Node: Translate Program683787 +Ref: Translate Program-Footnote-1688174 +Ref: Translate Program-Footnote-2688422 +Node: Labels Program688556 +Ref: Labels Program-Footnote-1691927 +Node: Word Sorting692011 +Node: History Sorting695895 +Node: Extract Program697734 +Ref: Extract Program-Footnote-1705237 +Node: Simple Sed705365 +Node: Igawk Program708427 +Ref: Igawk Program-Footnote-1723584 +Ref: Igawk Program-Footnote-2723785 +Node: Anagram Program723923 +Node: Signature Program726991 +Node: Advanced Features728091 +Node: Nondecimal Data729977 +Node: Array Sorting731560 +Node: Controlling Array Traversal732257 +Node: Array Sorting Functions740541 +Ref: Array Sorting Functions-Footnote-1744410 +Node: Two-way I/O744604 +Ref: Two-way I/O-Footnote-1750036 +Node: TCP/IP Networking750118 +Node: Profiling752962 +Node: Internationalization760465 +Node: I18N and L10N761890 +Node: Explaining gettext762576 +Ref: Explaining gettext-Footnote-1767644 +Ref: Explaining gettext-Footnote-2767828 +Node: Programmer i18n767993 +Node: Translator i18n772195 +Node: String Extraction772989 +Ref: String Extraction-Footnote-1773950 +Node: Printf Ordering774036 +Ref: Printf Ordering-Footnote-1776818 +Node: I18N Portability776882 +Ref: I18N Portability-Footnote-1779331 +Node: I18N Example779394 +Ref: I18N Example-Footnote-1782032 +Node: Gawk I18N782104 +Node: Debugger782725 +Node: Debugging783696 +Node: Debugging Concepts784129 +Node: Debugging Terms785985 +Node: Awk Debugging788582 +Node: Sample Debugging Session789474 +Node: Debugger Invocation789994 +Node: Finding The Bug791327 +Node: List of Debugger Commands797814 +Node: Breakpoint Control799148 +Node: Debugger Execution Control802812 +Node: Viewing And Changing Data806172 +Node: Execution Stack809528 +Node: Debugger Info810995 +Node: Miscellaneous Debugger Commands814977 +Node: Readline Support820153 +Node: Limitations820984 +Node: Arbitrary Precision Arithmetic823236 +Ref: Arbitrary Precision Arithmetic-Footnote-1824885 +Node: General Arithmetic825033 +Node: Floating Point Issues826753 +Node: String Conversion Precision827634 +Ref: String Conversion Precision-Footnote-1829339 +Node: Unexpected Results829448 +Node: POSIX Floating Point Problems831601 +Ref: POSIX Floating Point Problems-Footnote-1835426 +Node: Integer Programming835464 +Node: Floating-point Programming837203 +Ref: Floating-point Programming-Footnote-1843534 +Ref: Floating-point Programming-Footnote-2843804 +Node: Floating-point Representation844068 +Node: Floating-point Context845233 +Ref: table-ieee-formats846072 +Node: Rounding Mode847456 +Ref: table-rounding-modes847935 +Ref: Rounding Mode-Footnote-1850950 +Node: Gawk and MPFR851129 +Node: Arbitrary Precision Floats852384 +Ref: Arbitrary Precision Floats-Footnote-1854827 +Node: Setting Precision855143 +Ref: table-predefined-precision-strings855829 +Node: Setting Rounding Mode857974 +Ref: table-gawk-rounding-modes858378 +Node: Floating-point Constants859565 +Node: Changing Precision860994 +Ref: Changing Precision-Footnote-1862391 +Node: Exact Arithmetic862565 +Node: Arbitrary Precision Integers865703 +Ref: Arbitrary Precision Integers-Footnote-1868718 +Node: Dynamic Extensions868865 +Node: Extension Intro870323 +Node: Plugin License871588 +Node: Extension Mechanism Outline872273 +Ref: load-extension872690 +Ref: load-new-function874168 +Ref: call-new-function875163 +Node: Extension API Description877178 +Node: Extension API Functions Introduction878391 +Node: General Data Types883257 +Ref: General Data Types-Footnote-1888859 +Node: Requesting Values889158 +Ref: table-value-types-returned889889 +Node: Constructor Functions890843 +Node: Registration Functions893863 +Node: Extension Functions894548 +Node: Exit Callback Functions896774 +Node: Extension Version String898023 +Node: Input Parsers898673 +Node: Output Wrappers908430 +Node: Two-way processors912940 +Node: Printing Messages915148 +Ref: Printing Messages-Footnote-1916225 +Node: Updating `ERRNO'916377 +Node: Accessing Parameters917116 +Node: Symbol Table Access918346 +Node: Symbol table by name918858 +Node: Symbol table by cookie920605 +Ref: Symbol table by cookie-Footnote-1924735 +Node: Cached values924798 +Ref: Cached values-Footnote-1928247 +Node: Array Manipulation928338 +Ref: Array Manipulation-Footnote-1929436 +Node: Array Data Types929475 +Ref: Array Data Types-Footnote-1932178 +Node: Array Functions932270 +Node: Flattening Arrays936036 +Node: Creating Arrays942888 +Node: Extension API Variables947613 +Node: Extension Versioning948249 +Node: Extension API Informational Variables950150 +Node: Extension API Boilerplate951236 +Node: Finding Extensions955040 +Node: Extension Example955600 +Node: Internal File Description956330 +Node: Internal File Ops960421 +Ref: Internal File Ops-Footnote-1971930 +Node: Using Internal File Ops972070 +Ref: Using Internal File Ops-Footnote-1974423 +Node: Extension Samples974689 +Node: Extension Sample File Functions976213 +Node: Extension Sample Fnmatch984698 +Node: Extension Sample Fork986467 +Node: Extension Sample Inplace987680 +Node: Extension Sample Ord989458 +Node: Extension Sample Readdir990294 +Node: Extension Sample Revout991826 +Node: Extension Sample Rev2way992419 +Node: Extension Sample Read write array993109 +Node: Extension Sample Readfile994992 +Node: Extension Sample API Tests995810 +Node: Extension Sample Time996335 +Node: gawkextlib997699 +Node: Language History1000480 +Node: V7/SVR3.11002073 +Node: SVR41004393 +Node: POSIX1005835 +Node: BTL1007221 +Node: POSIX/GNU1007955 +Node: Feature History1013554 +Node: Common Extensions1026530 +Node: Ranges and Locales1027842 +Ref: Ranges and Locales-Footnote-11032459 +Ref: Ranges and Locales-Footnote-21032486 +Ref: Ranges and Locales-Footnote-31032720 +Node: Contributors1032941 +Node: Installation1038086 +Node: Gawk Distribution1038980 +Node: Getting1039464 +Node: Extracting1040290 +Node: Distribution contents1041982 +Node: Unix Installation1047687 +Node: Quick Installation1048304 +Node: Additional Configuration Options1050750 +Node: Configuration Philosophy1052486 +Node: Non-Unix Installation1054840 +Node: PC Installation1055298 +Node: PC Binary Installation1056597 +Node: PC Compiling1058445 +Node: PC Testing1061389 +Node: PC Using1062565 +Node: Cygwin1066733 +Node: MSYS1067542 +Node: VMS Installation1068056 +Node: VMS Compilation1068820 +Ref: VMS Compilation-Footnote-11070072 +Node: VMS Dynamic Extensions1070130 +Node: VMS Installation Details1071503 +Node: VMS Running1073754 +Node: VMS GNV1076588 +Node: VMS Old Gawk1077311 +Node: Bugs1077781 +Node: Other Versions1081699 +Node: Notes1087783 +Node: Compatibility Mode1088583 +Node: Additions1089366 +Node: Accessing The Source1090293 +Node: Adding Code1091733 +Node: New Ports1097778 +Node: Derived Files1101913 +Ref: Derived Files-Footnote-11107234 +Ref: Derived Files-Footnote-21107268 +Ref: Derived Files-Footnote-31107868 +Node: Future Extensions1107966 +Node: Implementation Limitations1108549 +Node: Extension Design1109801 +Node: Old Extension Problems1110955 +Ref: Old Extension Problems-Footnote-11112463 +Node: Extension New Mechanism Goals1112520 +Ref: Extension New Mechanism Goals-Footnote-11115885 +Node: Extension Other Design Decisions1116071 +Node: Extension Future Growth1118177 +Node: Old Extension Mechanism1119013 +Node: Basic Concepts1120753 +Node: Basic High Level1121434 +Ref: figure-general-flow1121705 +Ref: figure-process-flow1122304 +Ref: Basic High Level-Footnote-11125533 +Node: Basic Data Typing1125718 +Node: Glossary1129073 +Node: Copying1154535 +Node: GNU Free Documentation License1192092 +Node: Index1217229  End Tag Table -- cgit v1.2.3 From b4343b17479151d438d32530cdd2541262e3088e Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Sat, 8 Mar 2014 14:41:00 -0500 Subject: Add memory allocation functions to gawk API. --- doc/gawk.info | 1224 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 631 insertions(+), 593 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 6fb7ee3e..799d1c11 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -522,6 +522,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Extension API Functions Introduction:: Introduction to the API functions. * General Data Types:: The data types. * Requesting Values:: How to get a value. +* Memory Allocation Functions:: Functions for allocating memory. * Constructor Functions:: Functions for creating values. * Registration Functions:: Functions to register things with `gawk'. @@ -21733,6 +21734,7 @@ This (rather large) minor node describes the API in detail. * Extension API Functions Introduction:: Introduction to the API functions. * General Data Types:: The data types. * Requesting Values:: How to get a value. +* Memory Allocation Functions:: Functions for allocating memory. * Constructor Functions:: Functions for creating values. * Registration Functions:: Functions to register things with `gawk'. @@ -21809,10 +21811,8 @@ operations: `EOF' `' `FILE' `' `NULL' `' - `malloc()' `' `memcpy()' `' `memset()' `' - `realloc()' `' `size_t' `' `struct stat' `' @@ -21838,7 +21838,9 @@ operations: * All pointers filled in by `gawk' are to memory managed by `gawk' and should be treated by the extension as read-only. Memory for _all_ strings passed into `gawk' from the extension _must_ come - from `malloc()' and is managed by `gawk' from then on. + from calling the api-provided function pointers `api_malloc()', + `api_calloc()' or `api_realloc()' and is managed by `gawk' from + then on. * The API defines several simple `struct's that map values as seen from `awk'. A value can be a `double', a string, or an array (as @@ -21910,7 +21912,9 @@ that use them. `} awk_string_t;' This represents a mutable string. `gawk' owns the memory pointed to if it supplied the value. Otherwise, it takes ownership of the - memory pointed to. *Such memory must come from `malloc()'!* + memory pointed to. *Such memory must come from calling the + api-provided function pointers `api_malloc()', `api_calloc()', or + `api_realloc()'!* As mentioned earlier, strings are maintained using the current multibyte encoding. @@ -22015,7 +22019,7 @@ the value. See also the entry for "Cookie" in the *note Glossary::.  -File: gawk.info, Node: Requesting Values, Next: Constructor Functions, Prev: General Data Types, Up: Extension API Description +File: gawk.info, Node: Requesting Values, Next: Memory Allocation Functions, Prev: General Data Types, Up: Extension API Description 16.4.3 Requesting Values ------------------------ @@ -22048,46 +22052,37 @@ Requested: Scalar Scalar Scalar false false Table 16.1: Value Types Returned  -File: gawk.info, Node: Constructor Functions, Next: Registration Functions, Prev: Requesting Values, Up: Extension API Description +File: gawk.info, Node: Memory Allocation Functions, Next: Constructor Functions, Prev: Requesting Values, Up: Extension API Description -16.4.4 Constructor Functions and Convenience Macros ---------------------------------------------------- +16.4.4 Memory Allocation Functions and Convenience Macros +--------------------------------------------------------- -The API provides a number of "constructor" functions for creating -string and numeric values, as well as a number of convenience macros. -This node presents them all as function prototypes, in the way that -extension code would use them. +The API provides a number of "memory allocation" functions for +allocating memory that can be passed to gawk, as well as a number of +convenience macros. -`static inline awk_value_t *' -`make_const_string(const char *string, size_t length, awk_value_t *result)' - This function creates a string value in the `awk_value_t' variable - pointed to by `result'. It expects `string' to be a C string - constant (or other string data), and automatically creates a - _copy_ of the data for storage in `result'. It returns `result'. +`void *gawk_malloc(size_t size);' + Call `gawk'-provided `api_malloc()' to allocate storage that may + be passed to `gawk'. -`static inline awk_value_t *' -`make_malloced_string(const char *string, size_t length, awk_value_t *result)' - This function creates a string value in the `awk_value_t' variable - pointed to by `result'. It expects `string' to be a `char *' value - pointing to data previously obtained from `malloc()'. The idea here - is that the data is passed directly to `gawk', which assumes - responsibility for it. It returns `result'. +`void *gawk_calloc(size_t nmemb, size_t size);' + Call `gawk'-provided `api_calloc()' to allocate storage that may + be passed to `gawk'. -`static inline awk_value_t *' -`make_null_string(awk_value_t *result)' - This specialized function creates a null string (the "undefined" - value) in the `awk_value_t' variable pointed to by `result'. It - returns `result'. +`void *gawk_realloc(void *ptr, size_t size);' + Call `gawk'-provided `api_realloc()' to allocate storage that may + be passed to `gawk'. -`static inline awk_value_t *' -`make_number(double num, awk_value_t *result)' - This function simply creates a numeric value in the `awk_value_t' - variable pointed to by `result'. +`void gawk_free(void *ptr);' + Call `gawk'-provided `api_free()' to release storage that was + allocated with `gawk_malloc()', `gawk_calloc()' or + `gawk_realloc()'. - Two convenience macros may be used for allocating storage from -`malloc()' and `realloc()'. If the allocation fails, they cause `gawk' -to exit with a fatal error message. They should be used as if they were -procedure calls that do not return a value. + Two convenience macros may be used for allocating storage from the +api-provided function pointers `api_malloc()' and `api_realloc()'. If +the allocation fails, they cause `gawk' to exit with a fatal error +message. They should be used as if they were procedure calls that do +not return a value. `#define emalloc(pointer, type, size, message) ...' The arguments to this macro are as follows: @@ -22096,7 +22091,7 @@ procedure calls that do not return a value. `type' The type of the pointer variable, used to create a cast for - the call to `malloc()'. + the call to `api_malloc()'. `size' The total number of bytes to be allocated. @@ -22116,14 +22111,52 @@ procedure calls that do not return a value. make_malloced_string(message, strlen(message), & result); `#define erealloc(pointer, type, size, message) ...' - This is like `emalloc()', but it calls `realloc()', instead of - `malloc()'. The arguments are the same as for the `emalloc()' + This is like `emalloc()', but it calls `api_realloc()', instead of + `api_malloc()'. The arguments are the same as for the `emalloc()' macro. + +File: gawk.info, Node: Constructor Functions, Next: Registration Functions, Prev: Memory Allocation Functions, Up: Extension API Description + +16.4.5 Constructor Functions +---------------------------- + +The API provides a number of "constructor" functions for creating +string and numeric values, as well as a number of convenience macros. +This node presents them all as function prototypes, in the way that +extension code would use them. + +`static inline awk_value_t *' +`make_const_string(const char *string, size_t length, awk_value_t *result)' + This function creates a string value in the `awk_value_t' variable + pointed to by `result'. It expects `string' to be a C string + constant (or other string data), and automatically creates a + _copy_ of the data for storage in `result'. It returns `result'. + +`static inline awk_value_t *' +`make_malloced_string(const char *string, size_t length, awk_value_t *result)' + This function creates a string value in the `awk_value_t' variable + pointed to by `result'. It expects `string' to be a `char *' value + pointing to data previously obtained from the api-provided + functions `api_malloc()', `api_calloc()' or `api_realloc()'. The + idea here is that the data is passed directly to `gawk', which + assumes responsibility for it. It returns `result'. + +`static inline awk_value_t *' +`make_null_string(awk_value_t *result)' + This specialized function creates a null string (the "undefined" + value) in the `awk_value_t' variable pointed to by `result'. It + returns `result'. + +`static inline awk_value_t *' +`make_number(double num, awk_value_t *result)' + This function simply creates a numeric value in the `awk_value_t' + variable pointed to by `result'. +  File: gawk.info, Node: Registration Functions, Next: Printing Messages, Prev: Constructor Functions, Up: Extension API Description -16.4.5 Registration Functions +16.4.6 Registration Functions ----------------------------- This minor node describes the API functions for registering parts of @@ -22141,7 +22174,7 @@ your extension with `gawk'.  File: gawk.info, Node: Extension Functions, Next: Exit Callback Functions, Up: Registration Functions -16.4.5.1 Registering An Extension Function +16.4.6.1 Registering An Extension Function .......................................... Extension functions are described by the following record: @@ -22167,7 +22200,9 @@ Extension functions are described by the following record: This is a pointer to the C function that provides the desired functionality. The function must fill in the result with either a number or a string. `gawk' takes ownership of any string memory. - As mentioned earlier, string memory *must* come from `malloc()'. + As mentioned earlier, string memory *must* come from the + api-provided functions `api_malloc()', `api_calloc()' or + `api_realloc()'. The `num_actual_args' argument tells the C function how many actual parameters were passed from the calling `awk' code. @@ -22193,7 +22228,7 @@ register it with `gawk' using this API function:  File: gawk.info, Node: Exit Callback Functions, Next: Extension Version String, Prev: Extension Functions, Up: Registration Functions -16.4.5.2 Registering An Exit Callback Function +16.4.6.2 Registering An Exit Callback Function .............................................. An "exit callback" function is a function that `gawk' calls before it @@ -22222,7 +22257,7 @@ order--that is, in the reverse order in which they are registered with  File: gawk.info, Node: Extension Version String, Next: Input Parsers, Prev: Exit Callback Functions, Up: Registration Functions -16.4.5.3 Registering An Extension Version String +16.4.6.3 Registering An Extension Version String ................................................ You can register a version string which indicates the name and version @@ -22238,7 +22273,7 @@ invoked with the `--version' option.  File: gawk.info, Node: Input Parsers, Next: Output Wrappers, Prev: Extension Version String, Up: Registration Functions -16.4.5.4 Customized Input Parsers +16.4.6.4 Customized Input Parsers ................................. By default, `gawk' reads text files as its input. It uses the value of @@ -22460,7 +22495,7 @@ whether or not to activate an input parser (*note BEGINFILE/ENDFILE::).  File: gawk.info, Node: Output Wrappers, Next: Two-way processors, Prev: Input Parsers, Up: Registration Functions -16.4.5.5 Customized Output Wrappers +16.4.6.5 Customized Output Wrappers ................................... An "output wrapper" is the mirror image of an input parser. It allows @@ -22567,7 +22602,7 @@ normally.  File: gawk.info, Node: Two-way processors, Prev: Output Wrappers, Up: Registration Functions -16.4.5.6 Customized Two-way Processors +16.4.6.6 Customized Two-way Processors ...................................... A "two-way processor" combines an input parser and an output wrapper for @@ -22620,7 +22655,7 @@ can take this" and "take over for this" functions,  File: gawk.info, Node: Printing Messages, Next: Updating `ERRNO', Prev: Registration Functions, Up: Extension API Description -16.4.6 Printing Messages +16.4.7 Printing Messages ------------------------ You can print different kinds of warning messages from your extension, @@ -22651,7 +22686,7 @@ the pity.  File: gawk.info, Node: Updating `ERRNO', Next: Accessing Parameters, Prev: Printing Messages, Up: Extension API Description -16.4.7 Updating `ERRNO' +16.4.8 Updating `ERRNO' ----------------------- The following functions allow you to update the `ERRNO' variable: @@ -22672,7 +22707,7 @@ The following functions allow you to update the `ERRNO' variable:  File: gawk.info, Node: Accessing Parameters, Next: Symbol Table Access, Prev: Updating `ERRNO', Up: Extension API Description -16.4.8 Accessing and Updating Parameters +16.4.9 Accessing and Updating Parameters ---------------------------------------- Two functions give you access to the arguments (parameters) passed to @@ -22698,8 +22733,8 @@ your extension function. They are:  File: gawk.info, Node: Symbol Table Access, Next: Array Manipulation, Prev: Accessing Parameters, Up: Extension API Description -16.4.9 Symbol Table Access --------------------------- +16.4.10 Symbol Table Access +--------------------------- Two sets of routines provide access to global variables, and one set allows you to create and release cached values. @@ -22713,8 +22748,8 @@ allows you to create and release cached values.  File: gawk.info, Node: Symbol table by name, Next: Symbol table by cookie, Up: Symbol Table Access -16.4.9.1 Variable Access and Update by Name -........................................... +16.4.10.1 Variable Access and Update by Name +............................................ The following routines provide the ability to access and update global `awk'-level variables by name. In compiler terminology, identifiers of @@ -22749,8 +22784,8 @@ cannot change any of those variables.  File: gawk.info, Node: Symbol table by cookie, Next: Cached values, Prev: Symbol table by name, Up: Symbol Table Access -16.4.9.2 Variable Access and Update by Cookie -............................................. +16.4.10.2 Variable Access and Update by Cookie +.............................................. A "scalar cookie" is an opaque handle that provides access to a global variable or array. It is an optimization that avoids looking up @@ -22862,8 +22897,8 @@ like this:  File: gawk.info, Node: Cached values, Prev: Symbol table by cookie, Up: Symbol Table Access -16.4.9.3 Creating and Using Cached Values -......................................... +16.4.10.3 Creating and Using Cached Values +.......................................... The routines in this section allow you to create and release cached values. As with scalar cookies, in theory, cached values are not @@ -22873,8 +22908,9 @@ variables using `sym_update()' or `sym_update_scalar()', as you like. However, you can understand the point of cached values if you remember that _every_ string value's storage _must_ come from -`malloc()'. If you have 20 variables, all of which have the same -string value, you must create 20 identical copies of the string.(1) +`api_malloc()', `api_calloc()' or `api_realloc()'. If you have 20 +variables, all of which have the same string value, you must create 20 +identical copies of the string.(1) It is clearly more efficient, if possible, to create a value once, and then tell `gawk' to reuse the value for multiple variables. That is @@ -22957,7 +22993,7 @@ using `release_value()'.  File: gawk.info, Node: Array Manipulation, Next: Extension API Variables, Prev: Symbol Table Access, Up: Extension API Description -16.4.10 Array Manipulation +16.4.11 Array Manipulation -------------------------- The primary data structure(1) in `awk' is the associative array (*note @@ -22984,7 +23020,7 @@ arrays of arrays (*note General Data Types::).  File: gawk.info, Node: Array Data Types, Next: Array Functions, Up: Array Manipulation -16.4.10.1 Array Data Types +16.4.11.1 Array Data Types .......................... The data types associated with arrays are listed below. @@ -23051,7 +23087,7 @@ overuse this term.  File: gawk.info, Node: Array Functions, Next: Flattening Arrays, Prev: Array Data Types, Up: Array Manipulation -16.4.10.2 Array Functions +16.4.11.2 Array Functions ......................... The following functions relate to individual array elements. @@ -23077,7 +23113,8 @@ The following functions relate to individual array elements. strings (*note Conversion::); thus using integral values is safest. As with _all_ strings passed into `gawk' from an extension, the - string value of `index' must come from `malloc()', and `gawk' + string value of `index' must come from the api-provided functions + `api_malloc()', `api_calloc()' or `api_realloc()' and `gawk' releases the storage. `awk_bool_t set_array_element(awk_array_t a_cookie,' @@ -23128,7 +23165,7 @@ The following functions relate to individual array elements.  File: gawk.info, Node: Flattening Arrays, Next: Creating Arrays, Prev: Array Functions, Up: Array Manipulation -16.4.10.3 Working With All The Elements of an Array +16.4.11.3 Working With All The Elements of an Array ................................................... To "flatten" an array is create a structure that represents the full @@ -23302,7 +23339,7 @@ return value to success, and returns:  File: gawk.info, Node: Creating Arrays, Prev: Flattening Arrays, Up: Array Manipulation -16.4.10.4 How To Create and Populate Arrays +16.4.11.4 How To Create and Populate Arrays ........................................... Besides working with arrays created by `awk' code, you can create @@ -23441,7 +23478,7 @@ environment variable.)  File: gawk.info, Node: Extension API Variables, Next: Extension API Boilerplate, Prev: Array Manipulation, Up: Extension API Description -16.4.11 API Variables +16.4.12 API Variables --------------------- The API provides two sets of variables. The first provides information @@ -23458,7 +23495,7 @@ information about how `gawk' was invoked.  File: gawk.info, Node: Extension Versioning, Next: Extension API Informational Variables, Up: Extension API Variables -16.4.11.1 API Version Constants and Variables +16.4.12.1 API Version Constants and Variables ............................................. The API provides both a "major" and a "minor" version number. The API @@ -23507,7 +23544,7 @@ Boilerplate::).  File: gawk.info, Node: Extension API Informational Variables, Prev: Extension Versioning, Up: Extension API Variables -16.4.11.2 Informational Variables +16.4.12.2 Informational Variables ................................. The API provides access to several variables that describe whether the @@ -23543,7 +23580,7 @@ change during execution.  File: gawk.info, Node: Extension API Boilerplate, Prev: Extension API Variables, Up: Extension API Description -16.4.12 Boilerplate Code +16.4.13 Boilerplate Code ------------------------ As mentioned earlier (*note Extension Mechanism Outline::), the function @@ -32792,526 +32829,527 @@ Index  Tag Table: Node: Top1366 -Node: Foreword40856 -Node: Preface45201 -Ref: Preface-Footnote-148254 -Ref: Preface-Footnote-248350 -Node: History48582 -Node: Names50956 -Ref: Names-Footnote-152433 -Node: This Manual52505 -Ref: This Manual-Footnote-158279 -Node: Conventions58379 -Node: Manual History60535 -Ref: Manual History-Footnote-163983 -Ref: Manual History-Footnote-264024 -Node: How To Contribute64098 -Node: Acknowledgments65242 -Node: Getting Started69436 -Node: Running gawk71815 -Node: One-shot73001 -Node: Read Terminal74226 -Ref: Read Terminal-Footnote-175876 -Ref: Read Terminal-Footnote-276152 -Node: Long76323 -Node: Executable Scripts77699 -Ref: Executable Scripts-Footnote-179532 -Ref: Executable Scripts-Footnote-279634 -Node: Comments80181 -Node: Quoting82648 -Node: DOS Quoting87271 -Node: Sample Data Files87946 -Node: Very Simple90332 -Node: Two Rules94931 -Node: More Complex97078 -Ref: More Complex-Footnote-1100008 -Node: Statements/Lines100093 -Ref: Statements/Lines-Footnote-1104555 -Node: Other Features104820 -Node: When105748 -Node: Invoking Gawk107895 -Node: Command Line109358 -Node: Options110141 -Ref: Options-Footnote-1125536 -Node: Other Arguments125561 -Node: Naming Standard Input128219 -Node: Environment Variables129313 -Node: AWKPATH Variable129871 -Ref: AWKPATH Variable-Footnote-1132629 -Node: AWKLIBPATH Variable132889 -Node: Other Environment Variables133607 -Node: Exit Status136570 -Node: Include Files137245 -Node: Loading Shared Libraries140814 -Node: Obsolete142178 -Node: Undocumented142875 -Node: Regexp143117 -Node: Regexp Usage144506 -Node: Escape Sequences146532 -Node: Regexp Operators152201 -Ref: Regexp Operators-Footnote-1159581 -Ref: Regexp Operators-Footnote-2159728 -Node: Bracket Expressions159826 -Ref: table-char-classes161716 -Node: GNU Regexp Operators164239 -Node: Case-sensitivity167962 -Ref: Case-sensitivity-Footnote-1170930 -Ref: Case-sensitivity-Footnote-2171165 -Node: Leftmost Longest171273 -Node: Computed Regexps172474 -Node: Reading Files175811 -Node: Records177813 -Ref: Records-Footnote-1186901 -Node: Fields186938 -Ref: Fields-Footnote-1189971 -Node: Nonconstant Fields190057 -Node: Changing Fields192259 -Node: Field Separators198218 -Node: Default Field Splitting200920 -Node: Regexp Field Splitting202037 -Node: Single Character Fields205379 -Node: Command Line Field Separator206438 -Node: Full Line Fields209872 -Ref: Full Line Fields-Footnote-1210380 -Node: Field Splitting Summary210426 -Ref: Field Splitting Summary-Footnote-1213525 -Node: Constant Size213626 -Node: Splitting By Content218233 -Ref: Splitting By Content-Footnote-1221982 -Node: Multiple Line222022 -Ref: Multiple Line-Footnote-1227869 -Node: Getline228048 -Node: Plain Getline230264 -Node: Getline/Variable232359 -Node: Getline/File233506 -Node: Getline/Variable/File234847 -Ref: Getline/Variable/File-Footnote-1236446 -Node: Getline/Pipe236533 -Node: Getline/Variable/Pipe239232 -Node: Getline/Coprocess240339 -Node: Getline/Variable/Coprocess241591 -Node: Getline Notes242328 -Node: Getline Summary245115 -Ref: table-getline-variants245523 -Node: Read Timeout246435 -Ref: Read Timeout-Footnote-1250176 -Node: Command line directories250233 -Node: Printing250863 -Node: Print252494 -Node: Print Examples253831 -Node: Output Separators256615 -Node: OFMT258375 -Node: Printf259733 -Node: Basic Printf260639 -Node: Control Letters262178 -Node: Format Modifiers265990 -Node: Printf Examples271999 -Node: Redirection274714 -Node: Special Files281679 -Node: Special FD282212 -Ref: Special FD-Footnote-1285837 -Node: Special Network285911 -Node: Special Caveats286761 -Node: Close Files And Pipes287557 -Ref: Close Files And Pipes-Footnote-1294540 -Ref: Close Files And Pipes-Footnote-2294688 -Node: Expressions294838 -Node: Values295970 -Node: Constants296646 -Node: Scalar Constants297326 -Ref: Scalar Constants-Footnote-1298185 -Node: Nondecimal-numbers298367 -Node: Regexp Constants301367 -Node: Using Constant Regexps301842 -Node: Variables304897 -Node: Using Variables305552 -Node: Assignment Options307276 -Node: Conversion309148 -Ref: table-locale-affects314648 -Ref: Conversion-Footnote-1315272 -Node: All Operators315381 -Node: Arithmetic Ops316011 -Node: Concatenation318516 -Ref: Concatenation-Footnote-1321308 -Node: Assignment Ops321428 -Ref: table-assign-ops326416 -Node: Increment Ops327747 -Node: Truth Values and Conditions331181 -Node: Truth Values332264 -Node: Typing and Comparison333313 -Node: Variable Typing334106 -Ref: Variable Typing-Footnote-1338003 -Node: Comparison Operators338125 -Ref: table-relational-ops338535 -Node: POSIX String Comparison342083 -Ref: POSIX String Comparison-Footnote-1343039 -Node: Boolean Ops343177 -Ref: Boolean Ops-Footnote-1347255 -Node: Conditional Exp347346 -Node: Function Calls349078 -Node: Precedence352672 -Node: Locales356341 -Node: Patterns and Actions357430 -Node: Pattern Overview358484 -Node: Regexp Patterns360153 -Node: Expression Patterns360696 -Node: Ranges364381 -Node: BEGIN/END367485 -Node: Using BEGIN/END368247 -Ref: Using BEGIN/END-Footnote-1370978 -Node: I/O And BEGIN/END371084 -Node: BEGINFILE/ENDFILE373366 -Node: Empty376280 -Node: Using Shell Variables376596 -Node: Action Overview378881 -Node: Statements381238 -Node: If Statement383092 -Node: While Statement384591 -Node: Do Statement386635 -Node: For Statement387791 -Node: Switch Statement390943 -Node: Break Statement393097 -Node: Continue Statement395087 -Node: Next Statement396880 -Node: Nextfile Statement399270 -Node: Exit Statement401925 -Node: Built-in Variables404341 -Node: User-modified405436 -Ref: User-modified-Footnote-1413794 -Node: Auto-set413856 -Ref: Auto-set-Footnote-1426934 -Ref: Auto-set-Footnote-2427139 -Node: ARGC and ARGV427195 -Node: Arrays431046 -Node: Array Basics432551 -Node: Array Intro433377 -Node: Reference to Elements437694 -Node: Assigning Elements439964 -Node: Array Example440455 -Node: Scanning an Array442187 -Node: Controlling Scanning444501 -Ref: Controlling Scanning-Footnote-1449588 -Node: Delete449904 -Ref: Delete-Footnote-1452669 -Node: Numeric Array Subscripts452726 -Node: Uninitialized Subscripts454909 -Node: Multidimensional456536 -Node: Multiscanning459629 -Node: Arrays of Arrays461218 -Node: Functions465858 -Node: Built-in466677 -Node: Calling Built-in467755 -Node: Numeric Functions469743 -Ref: Numeric Functions-Footnote-1473575 -Ref: Numeric Functions-Footnote-2473932 -Ref: Numeric Functions-Footnote-3473980 -Node: String Functions474249 -Ref: String Functions-Footnote-1497169 -Ref: String Functions-Footnote-2497298 -Ref: String Functions-Footnote-3497546 -Node: Gory Details497633 -Ref: table-sub-escapes499312 -Ref: table-sub-posix-92500666 -Ref: table-sub-proposed502017 -Ref: table-posix-sub503371 -Ref: table-gensub-escapes504916 -Ref: Gory Details-Footnote-1506092 -Ref: Gory Details-Footnote-2506143 -Node: I/O Functions506294 -Ref: I/O Functions-Footnote-1513284 -Node: Time Functions513431 -Ref: Time Functions-Footnote-1524364 -Ref: Time Functions-Footnote-2524432 -Ref: Time Functions-Footnote-3524590 -Ref: Time Functions-Footnote-4524701 -Ref: Time Functions-Footnote-5524813 -Ref: Time Functions-Footnote-6525040 -Node: Bitwise Functions525306 -Ref: table-bitwise-ops525868 -Ref: Bitwise Functions-Footnote-1530089 -Node: Type Functions530273 -Node: I18N Functions531424 -Node: User-defined533051 -Node: Definition Syntax533855 -Ref: Definition Syntax-Footnote-1538769 -Node: Function Example538838 -Ref: Function Example-Footnote-1541487 -Node: Function Caveats541509 -Node: Calling A Function542027 -Node: Variable Scope542982 -Node: Pass By Value/Reference545945 -Node: Return Statement549453 -Node: Dynamic Typing552434 -Node: Indirect Calls553365 -Node: Library Functions563052 -Ref: Library Functions-Footnote-1566565 -Ref: Library Functions-Footnote-2566708 -Node: Library Names566879 -Ref: Library Names-Footnote-1570352 -Ref: Library Names-Footnote-2570572 -Node: General Functions570658 -Node: Strtonum Function571686 -Node: Assert Function574616 -Node: Round Function577942 -Node: Cliff Random Function579483 -Node: Ordinal Functions580499 -Ref: Ordinal Functions-Footnote-1583576 -Ref: Ordinal Functions-Footnote-2583828 -Node: Join Function584039 -Ref: Join Function-Footnote-1585810 -Node: Getlocaltime Function586010 -Node: Readfile Function589751 -Node: Data File Management591590 -Node: Filetrans Function592222 -Node: Rewind Function596291 -Node: File Checking597678 -Node: Empty Files598772 -Node: Ignoring Assigns601002 -Node: Getopt Function602556 -Ref: Getopt Function-Footnote-1613859 -Node: Passwd Functions614062 -Ref: Passwd Functions-Footnote-1623040 -Node: Group Functions623128 -Node: Walking Arrays631212 -Node: Sample Programs633348 -Node: Running Examples634022 -Node: Clones634750 -Node: Cut Program635974 -Node: Egrep Program645825 -Ref: Egrep Program-Footnote-1653598 -Node: Id Program653708 -Node: Split Program657324 -Ref: Split Program-Footnote-1660843 -Node: Tee Program660971 -Node: Uniq Program663774 -Node: Wc Program671203 -Ref: Wc Program-Footnote-1675469 -Ref: Wc Program-Footnote-2675669 -Node: Miscellaneous Programs675761 -Node: Dupword Program676949 -Node: Alarm Program678980 -Node: Translate Program683787 -Ref: Translate Program-Footnote-1688174 -Ref: Translate Program-Footnote-2688422 -Node: Labels Program688556 -Ref: Labels Program-Footnote-1691927 -Node: Word Sorting692011 -Node: History Sorting695895 -Node: Extract Program697734 -Ref: Extract Program-Footnote-1705237 -Node: Simple Sed705365 -Node: Igawk Program708427 -Ref: Igawk Program-Footnote-1723584 -Ref: Igawk Program-Footnote-2723785 -Node: Anagram Program723923 -Node: Signature Program726991 -Node: Advanced Features728091 -Node: Nondecimal Data729977 -Node: Array Sorting731560 -Node: Controlling Array Traversal732257 -Node: Array Sorting Functions740541 -Ref: Array Sorting Functions-Footnote-1744410 -Node: Two-way I/O744604 -Ref: Two-way I/O-Footnote-1750036 -Node: TCP/IP Networking750118 -Node: Profiling752962 -Node: Internationalization760465 -Node: I18N and L10N761890 -Node: Explaining gettext762576 -Ref: Explaining gettext-Footnote-1767644 -Ref: Explaining gettext-Footnote-2767828 -Node: Programmer i18n767993 -Node: Translator i18n772195 -Node: String Extraction772989 -Ref: String Extraction-Footnote-1773950 -Node: Printf Ordering774036 -Ref: Printf Ordering-Footnote-1776818 -Node: I18N Portability776882 -Ref: I18N Portability-Footnote-1779331 -Node: I18N Example779394 -Ref: I18N Example-Footnote-1782032 -Node: Gawk I18N782104 -Node: Debugger782725 -Node: Debugging783696 -Node: Debugging Concepts784129 -Node: Debugging Terms785985 -Node: Awk Debugging788582 -Node: Sample Debugging Session789474 -Node: Debugger Invocation789994 -Node: Finding The Bug791327 -Node: List of Debugger Commands797814 -Node: Breakpoint Control799148 -Node: Debugger Execution Control802812 -Node: Viewing And Changing Data806172 -Node: Execution Stack809528 -Node: Debugger Info810995 -Node: Miscellaneous Debugger Commands814977 -Node: Readline Support820153 -Node: Limitations820984 -Node: Arbitrary Precision Arithmetic823236 -Ref: Arbitrary Precision Arithmetic-Footnote-1824885 -Node: General Arithmetic825033 -Node: Floating Point Issues826753 -Node: String Conversion Precision827634 -Ref: String Conversion Precision-Footnote-1829339 -Node: Unexpected Results829448 -Node: POSIX Floating Point Problems831601 -Ref: POSIX Floating Point Problems-Footnote-1835426 -Node: Integer Programming835464 -Node: Floating-point Programming837203 -Ref: Floating-point Programming-Footnote-1843534 -Ref: Floating-point Programming-Footnote-2843804 -Node: Floating-point Representation844068 -Node: Floating-point Context845233 -Ref: table-ieee-formats846072 -Node: Rounding Mode847456 -Ref: table-rounding-modes847935 -Ref: Rounding Mode-Footnote-1850950 -Node: Gawk and MPFR851129 -Node: Arbitrary Precision Floats852384 -Ref: Arbitrary Precision Floats-Footnote-1854827 -Node: Setting Precision855143 -Ref: table-predefined-precision-strings855829 -Node: Setting Rounding Mode857974 -Ref: table-gawk-rounding-modes858378 -Node: Floating-point Constants859565 -Node: Changing Precision860994 -Ref: Changing Precision-Footnote-1862391 -Node: Exact Arithmetic862565 -Node: Arbitrary Precision Integers865703 -Ref: Arbitrary Precision Integers-Footnote-1868718 -Node: Dynamic Extensions868865 -Node: Extension Intro870323 -Node: Plugin License871588 -Node: Extension Mechanism Outline872273 -Ref: load-extension872690 -Ref: load-new-function874168 -Ref: call-new-function875163 -Node: Extension API Description877178 -Node: Extension API Functions Introduction878391 -Node: General Data Types883257 -Ref: General Data Types-Footnote-1888859 -Node: Requesting Values889158 -Ref: table-value-types-returned889889 -Node: Constructor Functions890843 -Node: Registration Functions893863 -Node: Extension Functions894548 -Node: Exit Callback Functions896774 -Node: Extension Version String898023 -Node: Input Parsers898673 -Node: Output Wrappers908430 -Node: Two-way processors912940 -Node: Printing Messages915148 -Ref: Printing Messages-Footnote-1916225 -Node: Updating `ERRNO'916377 -Node: Accessing Parameters917116 -Node: Symbol Table Access918346 -Node: Symbol table by name918858 -Node: Symbol table by cookie920605 -Ref: Symbol table by cookie-Footnote-1924735 -Node: Cached values924798 -Ref: Cached values-Footnote-1928247 -Node: Array Manipulation928338 -Ref: Array Manipulation-Footnote-1929436 -Node: Array Data Types929475 -Ref: Array Data Types-Footnote-1932178 -Node: Array Functions932270 -Node: Flattening Arrays936036 -Node: Creating Arrays942888 -Node: Extension API Variables947613 -Node: Extension Versioning948249 -Node: Extension API Informational Variables950150 -Node: Extension API Boilerplate951236 -Node: Finding Extensions955040 -Node: Extension Example955600 -Node: Internal File Description956330 -Node: Internal File Ops960421 -Ref: Internal File Ops-Footnote-1971930 -Node: Using Internal File Ops972070 -Ref: Using Internal File Ops-Footnote-1974423 -Node: Extension Samples974689 -Node: Extension Sample File Functions976213 -Node: Extension Sample Fnmatch984698 -Node: Extension Sample Fork986467 -Node: Extension Sample Inplace987680 -Node: Extension Sample Ord989458 -Node: Extension Sample Readdir990294 -Node: Extension Sample Revout991826 -Node: Extension Sample Rev2way992419 -Node: Extension Sample Read write array993109 -Node: Extension Sample Readfile994992 -Node: Extension Sample API Tests995810 -Node: Extension Sample Time996335 -Node: gawkextlib997699 -Node: Language History1000480 -Node: V7/SVR3.11002073 -Node: SVR41004393 -Node: POSIX1005835 -Node: BTL1007221 -Node: POSIX/GNU1007955 -Node: Feature History1013554 -Node: Common Extensions1026530 -Node: Ranges and Locales1027842 -Ref: Ranges and Locales-Footnote-11032459 -Ref: Ranges and Locales-Footnote-21032486 -Ref: Ranges and Locales-Footnote-31032720 -Node: Contributors1032941 -Node: Installation1038086 -Node: Gawk Distribution1038980 -Node: Getting1039464 -Node: Extracting1040290 -Node: Distribution contents1041982 -Node: Unix Installation1047687 -Node: Quick Installation1048304 -Node: Additional Configuration Options1050750 -Node: Configuration Philosophy1052486 -Node: Non-Unix Installation1054840 -Node: PC Installation1055298 -Node: PC Binary Installation1056597 -Node: PC Compiling1058445 -Node: PC Testing1061389 -Node: PC Using1062565 -Node: Cygwin1066733 -Node: MSYS1067542 -Node: VMS Installation1068056 -Node: VMS Compilation1068820 -Ref: VMS Compilation-Footnote-11070072 -Node: VMS Dynamic Extensions1070130 -Node: VMS Installation Details1071503 -Node: VMS Running1073754 -Node: VMS GNV1076588 -Node: VMS Old Gawk1077311 -Node: Bugs1077781 -Node: Other Versions1081699 -Node: Notes1087783 -Node: Compatibility Mode1088583 -Node: Additions1089366 -Node: Accessing The Source1090293 -Node: Adding Code1091733 -Node: New Ports1097778 -Node: Derived Files1101913 -Ref: Derived Files-Footnote-11107234 -Ref: Derived Files-Footnote-21107268 -Ref: Derived Files-Footnote-31107868 -Node: Future Extensions1107966 -Node: Implementation Limitations1108549 -Node: Extension Design1109801 -Node: Old Extension Problems1110955 -Ref: Old Extension Problems-Footnote-11112463 -Node: Extension New Mechanism Goals1112520 -Ref: Extension New Mechanism Goals-Footnote-11115885 -Node: Extension Other Design Decisions1116071 -Node: Extension Future Growth1118177 -Node: Old Extension Mechanism1119013 -Node: Basic Concepts1120753 -Node: Basic High Level1121434 -Ref: figure-general-flow1121705 -Ref: figure-process-flow1122304 -Ref: Basic High Level-Footnote-11125533 -Node: Basic Data Typing1125718 -Node: Glossary1129073 -Node: Copying1154535 -Node: GNU Free Documentation License1192092 -Node: Index1217229 +Node: Foreword40929 +Node: Preface45274 +Ref: Preface-Footnote-148327 +Ref: Preface-Footnote-248423 +Node: History48655 +Node: Names51029 +Ref: Names-Footnote-152506 +Node: This Manual52578 +Ref: This Manual-Footnote-158352 +Node: Conventions58452 +Node: Manual History60608 +Ref: Manual History-Footnote-164056 +Ref: Manual History-Footnote-264097 +Node: How To Contribute64171 +Node: Acknowledgments65315 +Node: Getting Started69509 +Node: Running gawk71888 +Node: One-shot73074 +Node: Read Terminal74299 +Ref: Read Terminal-Footnote-175949 +Ref: Read Terminal-Footnote-276225 +Node: Long76396 +Node: Executable Scripts77772 +Ref: Executable Scripts-Footnote-179605 +Ref: Executable Scripts-Footnote-279707 +Node: Comments80254 +Node: Quoting82721 +Node: DOS Quoting87344 +Node: Sample Data Files88019 +Node: Very Simple90405 +Node: Two Rules95004 +Node: More Complex97151 +Ref: More Complex-Footnote-1100081 +Node: Statements/Lines100166 +Ref: Statements/Lines-Footnote-1104628 +Node: Other Features104893 +Node: When105821 +Node: Invoking Gawk107968 +Node: Command Line109431 +Node: Options110214 +Ref: Options-Footnote-1125609 +Node: Other Arguments125634 +Node: Naming Standard Input128292 +Node: Environment Variables129386 +Node: AWKPATH Variable129944 +Ref: AWKPATH Variable-Footnote-1132702 +Node: AWKLIBPATH Variable132962 +Node: Other Environment Variables133680 +Node: Exit Status136643 +Node: Include Files137318 +Node: Loading Shared Libraries140887 +Node: Obsolete142251 +Node: Undocumented142948 +Node: Regexp143190 +Node: Regexp Usage144579 +Node: Escape Sequences146605 +Node: Regexp Operators152274 +Ref: Regexp Operators-Footnote-1159654 +Ref: Regexp Operators-Footnote-2159801 +Node: Bracket Expressions159899 +Ref: table-char-classes161789 +Node: GNU Regexp Operators164312 +Node: Case-sensitivity168035 +Ref: Case-sensitivity-Footnote-1171003 +Ref: Case-sensitivity-Footnote-2171238 +Node: Leftmost Longest171346 +Node: Computed Regexps172547 +Node: Reading Files175884 +Node: Records177886 +Ref: Records-Footnote-1186974 +Node: Fields187011 +Ref: Fields-Footnote-1190044 +Node: Nonconstant Fields190130 +Node: Changing Fields192332 +Node: Field Separators198291 +Node: Default Field Splitting200993 +Node: Regexp Field Splitting202110 +Node: Single Character Fields205452 +Node: Command Line Field Separator206511 +Node: Full Line Fields209945 +Ref: Full Line Fields-Footnote-1210453 +Node: Field Splitting Summary210499 +Ref: Field Splitting Summary-Footnote-1213598 +Node: Constant Size213699 +Node: Splitting By Content218306 +Ref: Splitting By Content-Footnote-1222055 +Node: Multiple Line222095 +Ref: Multiple Line-Footnote-1227942 +Node: Getline228121 +Node: Plain Getline230337 +Node: Getline/Variable232432 +Node: Getline/File233579 +Node: Getline/Variable/File234920 +Ref: Getline/Variable/File-Footnote-1236519 +Node: Getline/Pipe236606 +Node: Getline/Variable/Pipe239305 +Node: Getline/Coprocess240412 +Node: Getline/Variable/Coprocess241664 +Node: Getline Notes242401 +Node: Getline Summary245188 +Ref: table-getline-variants245596 +Node: Read Timeout246508 +Ref: Read Timeout-Footnote-1250249 +Node: Command line directories250306 +Node: Printing250936 +Node: Print252567 +Node: Print Examples253904 +Node: Output Separators256688 +Node: OFMT258448 +Node: Printf259806 +Node: Basic Printf260712 +Node: Control Letters262251 +Node: Format Modifiers266063 +Node: Printf Examples272072 +Node: Redirection274787 +Node: Special Files281752 +Node: Special FD282285 +Ref: Special FD-Footnote-1285910 +Node: Special Network285984 +Node: Special Caveats286834 +Node: Close Files And Pipes287630 +Ref: Close Files And Pipes-Footnote-1294613 +Ref: Close Files And Pipes-Footnote-2294761 +Node: Expressions294911 +Node: Values296043 +Node: Constants296719 +Node: Scalar Constants297399 +Ref: Scalar Constants-Footnote-1298258 +Node: Nondecimal-numbers298440 +Node: Regexp Constants301440 +Node: Using Constant Regexps301915 +Node: Variables304970 +Node: Using Variables305625 +Node: Assignment Options307349 +Node: Conversion309221 +Ref: table-locale-affects314721 +Ref: Conversion-Footnote-1315345 +Node: All Operators315454 +Node: Arithmetic Ops316084 +Node: Concatenation318589 +Ref: Concatenation-Footnote-1321381 +Node: Assignment Ops321501 +Ref: table-assign-ops326489 +Node: Increment Ops327820 +Node: Truth Values and Conditions331254 +Node: Truth Values332337 +Node: Typing and Comparison333386 +Node: Variable Typing334179 +Ref: Variable Typing-Footnote-1338076 +Node: Comparison Operators338198 +Ref: table-relational-ops338608 +Node: POSIX String Comparison342156 +Ref: POSIX String Comparison-Footnote-1343112 +Node: Boolean Ops343250 +Ref: Boolean Ops-Footnote-1347328 +Node: Conditional Exp347419 +Node: Function Calls349151 +Node: Precedence352745 +Node: Locales356414 +Node: Patterns and Actions357503 +Node: Pattern Overview358557 +Node: Regexp Patterns360226 +Node: Expression Patterns360769 +Node: Ranges364454 +Node: BEGIN/END367558 +Node: Using BEGIN/END368320 +Ref: Using BEGIN/END-Footnote-1371051 +Node: I/O And BEGIN/END371157 +Node: BEGINFILE/ENDFILE373439 +Node: Empty376353 +Node: Using Shell Variables376669 +Node: Action Overview378954 +Node: Statements381311 +Node: If Statement383165 +Node: While Statement384664 +Node: Do Statement386708 +Node: For Statement387864 +Node: Switch Statement391016 +Node: Break Statement393170 +Node: Continue Statement395160 +Node: Next Statement396953 +Node: Nextfile Statement399343 +Node: Exit Statement401998 +Node: Built-in Variables404414 +Node: User-modified405509 +Ref: User-modified-Footnote-1413867 +Node: Auto-set413929 +Ref: Auto-set-Footnote-1427007 +Ref: Auto-set-Footnote-2427212 +Node: ARGC and ARGV427268 +Node: Arrays431119 +Node: Array Basics432624 +Node: Array Intro433450 +Node: Reference to Elements437767 +Node: Assigning Elements440037 +Node: Array Example440528 +Node: Scanning an Array442260 +Node: Controlling Scanning444574 +Ref: Controlling Scanning-Footnote-1449661 +Node: Delete449977 +Ref: Delete-Footnote-1452742 +Node: Numeric Array Subscripts452799 +Node: Uninitialized Subscripts454982 +Node: Multidimensional456609 +Node: Multiscanning459702 +Node: Arrays of Arrays461291 +Node: Functions465931 +Node: Built-in466750 +Node: Calling Built-in467828 +Node: Numeric Functions469816 +Ref: Numeric Functions-Footnote-1473648 +Ref: Numeric Functions-Footnote-2474005 +Ref: Numeric Functions-Footnote-3474053 +Node: String Functions474322 +Ref: String Functions-Footnote-1497242 +Ref: String Functions-Footnote-2497371 +Ref: String Functions-Footnote-3497619 +Node: Gory Details497706 +Ref: table-sub-escapes499385 +Ref: table-sub-posix-92500739 +Ref: table-sub-proposed502090 +Ref: table-posix-sub503444 +Ref: table-gensub-escapes504989 +Ref: Gory Details-Footnote-1506165 +Ref: Gory Details-Footnote-2506216 +Node: I/O Functions506367 +Ref: I/O Functions-Footnote-1513357 +Node: Time Functions513504 +Ref: Time Functions-Footnote-1524437 +Ref: Time Functions-Footnote-2524505 +Ref: Time Functions-Footnote-3524663 +Ref: Time Functions-Footnote-4524774 +Ref: Time Functions-Footnote-5524886 +Ref: Time Functions-Footnote-6525113 +Node: Bitwise Functions525379 +Ref: table-bitwise-ops525941 +Ref: Bitwise Functions-Footnote-1530162 +Node: Type Functions530346 +Node: I18N Functions531497 +Node: User-defined533124 +Node: Definition Syntax533928 +Ref: Definition Syntax-Footnote-1538842 +Node: Function Example538911 +Ref: Function Example-Footnote-1541560 +Node: Function Caveats541582 +Node: Calling A Function542100 +Node: Variable Scope543055 +Node: Pass By Value/Reference546018 +Node: Return Statement549526 +Node: Dynamic Typing552507 +Node: Indirect Calls553438 +Node: Library Functions563125 +Ref: Library Functions-Footnote-1566638 +Ref: Library Functions-Footnote-2566781 +Node: Library Names566952 +Ref: Library Names-Footnote-1570425 +Ref: Library Names-Footnote-2570645 +Node: General Functions570731 +Node: Strtonum Function571759 +Node: Assert Function574689 +Node: Round Function578015 +Node: Cliff Random Function579556 +Node: Ordinal Functions580572 +Ref: Ordinal Functions-Footnote-1583649 +Ref: Ordinal Functions-Footnote-2583901 +Node: Join Function584112 +Ref: Join Function-Footnote-1585883 +Node: Getlocaltime Function586083 +Node: Readfile Function589824 +Node: Data File Management591663 +Node: Filetrans Function592295 +Node: Rewind Function596364 +Node: File Checking597751 +Node: Empty Files598845 +Node: Ignoring Assigns601075 +Node: Getopt Function602629 +Ref: Getopt Function-Footnote-1613932 +Node: Passwd Functions614135 +Ref: Passwd Functions-Footnote-1623113 +Node: Group Functions623201 +Node: Walking Arrays631285 +Node: Sample Programs633421 +Node: Running Examples634095 +Node: Clones634823 +Node: Cut Program636047 +Node: Egrep Program645898 +Ref: Egrep Program-Footnote-1653671 +Node: Id Program653781 +Node: Split Program657397 +Ref: Split Program-Footnote-1660916 +Node: Tee Program661044 +Node: Uniq Program663847 +Node: Wc Program671276 +Ref: Wc Program-Footnote-1675542 +Ref: Wc Program-Footnote-2675742 +Node: Miscellaneous Programs675834 +Node: Dupword Program677022 +Node: Alarm Program679053 +Node: Translate Program683860 +Ref: Translate Program-Footnote-1688247 +Ref: Translate Program-Footnote-2688495 +Node: Labels Program688629 +Ref: Labels Program-Footnote-1692000 +Node: Word Sorting692084 +Node: History Sorting695968 +Node: Extract Program697807 +Ref: Extract Program-Footnote-1705310 +Node: Simple Sed705438 +Node: Igawk Program708500 +Ref: Igawk Program-Footnote-1723657 +Ref: Igawk Program-Footnote-2723858 +Node: Anagram Program723996 +Node: Signature Program727064 +Node: Advanced Features728164 +Node: Nondecimal Data730050 +Node: Array Sorting731633 +Node: Controlling Array Traversal732330 +Node: Array Sorting Functions740614 +Ref: Array Sorting Functions-Footnote-1744483 +Node: Two-way I/O744677 +Ref: Two-way I/O-Footnote-1750109 +Node: TCP/IP Networking750191 +Node: Profiling753035 +Node: Internationalization760538 +Node: I18N and L10N761963 +Node: Explaining gettext762649 +Ref: Explaining gettext-Footnote-1767717 +Ref: Explaining gettext-Footnote-2767901 +Node: Programmer i18n768066 +Node: Translator i18n772268 +Node: String Extraction773062 +Ref: String Extraction-Footnote-1774023 +Node: Printf Ordering774109 +Ref: Printf Ordering-Footnote-1776891 +Node: I18N Portability776955 +Ref: I18N Portability-Footnote-1779404 +Node: I18N Example779467 +Ref: I18N Example-Footnote-1782105 +Node: Gawk I18N782177 +Node: Debugger782798 +Node: Debugging783769 +Node: Debugging Concepts784202 +Node: Debugging Terms786058 +Node: Awk Debugging788655 +Node: Sample Debugging Session789547 +Node: Debugger Invocation790067 +Node: Finding The Bug791400 +Node: List of Debugger Commands797887 +Node: Breakpoint Control799221 +Node: Debugger Execution Control802885 +Node: Viewing And Changing Data806245 +Node: Execution Stack809601 +Node: Debugger Info811068 +Node: Miscellaneous Debugger Commands815050 +Node: Readline Support820226 +Node: Limitations821057 +Node: Arbitrary Precision Arithmetic823309 +Ref: Arbitrary Precision Arithmetic-Footnote-1824958 +Node: General Arithmetic825106 +Node: Floating Point Issues826826 +Node: String Conversion Precision827707 +Ref: String Conversion Precision-Footnote-1829412 +Node: Unexpected Results829521 +Node: POSIX Floating Point Problems831674 +Ref: POSIX Floating Point Problems-Footnote-1835499 +Node: Integer Programming835537 +Node: Floating-point Programming837276 +Ref: Floating-point Programming-Footnote-1843607 +Ref: Floating-point Programming-Footnote-2843877 +Node: Floating-point Representation844141 +Node: Floating-point Context845306 +Ref: table-ieee-formats846145 +Node: Rounding Mode847529 +Ref: table-rounding-modes848008 +Ref: Rounding Mode-Footnote-1851023 +Node: Gawk and MPFR851202 +Node: Arbitrary Precision Floats852457 +Ref: Arbitrary Precision Floats-Footnote-1854900 +Node: Setting Precision855216 +Ref: table-predefined-precision-strings855902 +Node: Setting Rounding Mode858047 +Ref: table-gawk-rounding-modes858451 +Node: Floating-point Constants859638 +Node: Changing Precision861067 +Ref: Changing Precision-Footnote-1862464 +Node: Exact Arithmetic862638 +Node: Arbitrary Precision Integers865776 +Ref: Arbitrary Precision Integers-Footnote-1868791 +Node: Dynamic Extensions868938 +Node: Extension Intro870396 +Node: Plugin License871661 +Node: Extension Mechanism Outline872346 +Ref: load-extension872763 +Ref: load-new-function874241 +Ref: call-new-function875236 +Node: Extension API Description877251 +Node: Extension API Functions Introduction878538 +Node: General Data Types883410 +Ref: General Data Types-Footnote-1889105 +Node: Requesting Values889404 +Ref: table-value-types-returned890141 +Node: Memory Allocation Functions891095 +Node: Constructor Functions893456 +Node: Registration Functions895214 +Node: Extension Functions895899 +Node: Exit Callback Functions898201 +Node: Extension Version String899450 +Node: Input Parsers900100 +Node: Output Wrappers909857 +Node: Two-way processors914367 +Node: Printing Messages916575 +Ref: Printing Messages-Footnote-1917652 +Node: Updating `ERRNO'917804 +Node: Accessing Parameters918543 +Node: Symbol Table Access919773 +Node: Symbol table by name920287 +Node: Symbol table by cookie922036 +Ref: Symbol table by cookie-Footnote-1926168 +Node: Cached values926231 +Ref: Cached values-Footnote-1929721 +Node: Array Manipulation929812 +Ref: Array Manipulation-Footnote-1930910 +Node: Array Data Types930949 +Ref: Array Data Types-Footnote-1933652 +Node: Array Functions933744 +Node: Flattening Arrays937580 +Node: Creating Arrays944432 +Node: Extension API Variables949157 +Node: Extension Versioning949793 +Node: Extension API Informational Variables951694 +Node: Extension API Boilerplate952780 +Node: Finding Extensions956584 +Node: Extension Example957144 +Node: Internal File Description957874 +Node: Internal File Ops961965 +Ref: Internal File Ops-Footnote-1973474 +Node: Using Internal File Ops973614 +Ref: Using Internal File Ops-Footnote-1975967 +Node: Extension Samples976233 +Node: Extension Sample File Functions977757 +Node: Extension Sample Fnmatch986242 +Node: Extension Sample Fork988011 +Node: Extension Sample Inplace989224 +Node: Extension Sample Ord991002 +Node: Extension Sample Readdir991838 +Node: Extension Sample Revout993370 +Node: Extension Sample Rev2way993963 +Node: Extension Sample Read write array994653 +Node: Extension Sample Readfile996536 +Node: Extension Sample API Tests997354 +Node: Extension Sample Time997879 +Node: gawkextlib999243 +Node: Language History1002024 +Node: V7/SVR3.11003617 +Node: SVR41005937 +Node: POSIX1007379 +Node: BTL1008765 +Node: POSIX/GNU1009499 +Node: Feature History1015098 +Node: Common Extensions1028074 +Node: Ranges and Locales1029386 +Ref: Ranges and Locales-Footnote-11034003 +Ref: Ranges and Locales-Footnote-21034030 +Ref: Ranges and Locales-Footnote-31034264 +Node: Contributors1034485 +Node: Installation1039630 +Node: Gawk Distribution1040524 +Node: Getting1041008 +Node: Extracting1041834 +Node: Distribution contents1043526 +Node: Unix Installation1049231 +Node: Quick Installation1049848 +Node: Additional Configuration Options1052294 +Node: Configuration Philosophy1054030 +Node: Non-Unix Installation1056384 +Node: PC Installation1056842 +Node: PC Binary Installation1058141 +Node: PC Compiling1059989 +Node: PC Testing1062933 +Node: PC Using1064109 +Node: Cygwin1068277 +Node: MSYS1069086 +Node: VMS Installation1069600 +Node: VMS Compilation1070364 +Ref: VMS Compilation-Footnote-11071616 +Node: VMS Dynamic Extensions1071674 +Node: VMS Installation Details1073047 +Node: VMS Running1075298 +Node: VMS GNV1078132 +Node: VMS Old Gawk1078855 +Node: Bugs1079325 +Node: Other Versions1083243 +Node: Notes1089327 +Node: Compatibility Mode1090127 +Node: Additions1090910 +Node: Accessing The Source1091837 +Node: Adding Code1093277 +Node: New Ports1099322 +Node: Derived Files1103457 +Ref: Derived Files-Footnote-11108778 +Ref: Derived Files-Footnote-21108812 +Ref: Derived Files-Footnote-31109412 +Node: Future Extensions1109510 +Node: Implementation Limitations1110093 +Node: Extension Design1111345 +Node: Old Extension Problems1112499 +Ref: Old Extension Problems-Footnote-11114007 +Node: Extension New Mechanism Goals1114064 +Ref: Extension New Mechanism Goals-Footnote-11117429 +Node: Extension Other Design Decisions1117615 +Node: Extension Future Growth1119721 +Node: Old Extension Mechanism1120557 +Node: Basic Concepts1122297 +Node: Basic High Level1122978 +Ref: figure-general-flow1123249 +Ref: figure-process-flow1123848 +Ref: Basic High Level-Footnote-11127077 +Node: Basic Data Typing1127262 +Node: Glossary1130617 +Node: Copying1156079 +Node: GNU Free Documentation License1193636 +Node: Index1218773  End Tag Table -- cgit v1.2.3 From c972e253abc34f8bd02f6ade74e7999a2b6d8a08 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sat, 8 Mar 2014 22:11:34 +0200 Subject: Update doc on API memory allocation, add to NEWS. --- doc/gawk.info | 274 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 144 insertions(+), 130 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 799d1c11..9a569829 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -21783,6 +21783,8 @@ operations: * Symbol table access: retrieving a global variable, creating one, or changing one. + * Allocating, reallocating, and releasing memory. + * Creating and releasing cached values; this provides an efficient way to use values for multiple variables and can be a big performance win. @@ -21838,8 +21840,8 @@ operations: * All pointers filled in by `gawk' are to memory managed by `gawk' and should be treated by the extension as read-only. Memory for _all_ strings passed into `gawk' from the extension _must_ come - from calling the api-provided function pointers `api_malloc()', - `api_calloc()' or `api_realloc()' and is managed by `gawk' from + from calling the API-provided function pointers `api_malloc()', + `api_calloc()' or `api_realloc()', and is managed by `gawk' from then on. * The API defines several simple `struct's that map values as seen @@ -21913,7 +21915,7 @@ that use them. This represents a mutable string. `gawk' owns the memory pointed to if it supplied the value. Otherwise, it takes ownership of the memory pointed to. *Such memory must come from calling the - api-provided function pointers `api_malloc()', `api_calloc()', or + API-provided function pointers `api_malloc()', `api_calloc()', or `api_realloc()'!* As mentioned earlier, strings are maintained using the current @@ -22058,7 +22060,7 @@ File: gawk.info, Node: Memory Allocation Functions, Next: Constructor Function --------------------------------------------------------- The API provides a number of "memory allocation" functions for -allocating memory that can be passed to gawk, as well as a number of +allocating memory that can be passed to `gawk', as well as a number of convenience macros. `void *gawk_malloc(size_t size);' @@ -22078,8 +22080,14 @@ convenience macros. allocated with `gawk_malloc()', `gawk_calloc()' or `gawk_realloc()'. + The API has to provide these functions because it is possible for an +extension to be compiled and linked against a different version of the +C library than was used for the `gawk' executable.(1) If `gawk' were to +use its version of `free()' when the memory came from an unrelated +version of `malloc()', unexpected behavior would likely result. + Two convenience macros may be used for allocating storage from the -api-provided function pointers `api_malloc()' and `api_realloc()'. If +API-provided function pointers `api_malloc()' and `api_realloc()'. If the allocation fails, they cause `gawk' to exit with a fatal error message. They should be used as if they were procedure calls that do not return a value. @@ -22115,6 +22123,11 @@ not return a value. `api_malloc()'. The arguments are the same as for the `emalloc()' macro. + ---------- Footnotes ---------- + + (1) This is more common on MS-Windows systems, but can happen on +Unix-like systems as well. +  File: gawk.info, Node: Constructor Functions, Next: Registration Functions, Prev: Memory Allocation Functions, Up: Extension API Description @@ -33226,130 +33239,131 @@ Ref: load-new-function874241 Ref: call-new-function875236 Node: Extension API Description877251 Node: Extension API Functions Introduction878538 -Node: General Data Types883410 -Ref: General Data Types-Footnote-1889105 -Node: Requesting Values889404 -Ref: table-value-types-returned890141 -Node: Memory Allocation Functions891095 -Node: Constructor Functions893456 -Node: Registration Functions895214 -Node: Extension Functions895899 -Node: Exit Callback Functions898201 -Node: Extension Version String899450 -Node: Input Parsers900100 -Node: Output Wrappers909857 -Node: Two-way processors914367 -Node: Printing Messages916575 -Ref: Printing Messages-Footnote-1917652 -Node: Updating `ERRNO'917804 -Node: Accessing Parameters918543 -Node: Symbol Table Access919773 -Node: Symbol table by name920287 -Node: Symbol table by cookie922036 -Ref: Symbol table by cookie-Footnote-1926168 -Node: Cached values926231 -Ref: Cached values-Footnote-1929721 -Node: Array Manipulation929812 -Ref: Array Manipulation-Footnote-1930910 -Node: Array Data Types930949 -Ref: Array Data Types-Footnote-1933652 -Node: Array Functions933744 -Node: Flattening Arrays937580 -Node: Creating Arrays944432 -Node: Extension API Variables949157 -Node: Extension Versioning949793 -Node: Extension API Informational Variables951694 -Node: Extension API Boilerplate952780 -Node: Finding Extensions956584 -Node: Extension Example957144 -Node: Internal File Description957874 -Node: Internal File Ops961965 -Ref: Internal File Ops-Footnote-1973474 -Node: Using Internal File Ops973614 -Ref: Using Internal File Ops-Footnote-1975967 -Node: Extension Samples976233 -Node: Extension Sample File Functions977757 -Node: Extension Sample Fnmatch986242 -Node: Extension Sample Fork988011 -Node: Extension Sample Inplace989224 -Node: Extension Sample Ord991002 -Node: Extension Sample Readdir991838 -Node: Extension Sample Revout993370 -Node: Extension Sample Rev2way993963 -Node: Extension Sample Read write array994653 -Node: Extension Sample Readfile996536 -Node: Extension Sample API Tests997354 -Node: Extension Sample Time997879 -Node: gawkextlib999243 -Node: Language History1002024 -Node: V7/SVR3.11003617 -Node: SVR41005937 -Node: POSIX1007379 -Node: BTL1008765 -Node: POSIX/GNU1009499 -Node: Feature History1015098 -Node: Common Extensions1028074 -Node: Ranges and Locales1029386 -Ref: Ranges and Locales-Footnote-11034003 -Ref: Ranges and Locales-Footnote-21034030 -Ref: Ranges and Locales-Footnote-31034264 -Node: Contributors1034485 -Node: Installation1039630 -Node: Gawk Distribution1040524 -Node: Getting1041008 -Node: Extracting1041834 -Node: Distribution contents1043526 -Node: Unix Installation1049231 -Node: Quick Installation1049848 -Node: Additional Configuration Options1052294 -Node: Configuration Philosophy1054030 -Node: Non-Unix Installation1056384 -Node: PC Installation1056842 -Node: PC Binary Installation1058141 -Node: PC Compiling1059989 -Node: PC Testing1062933 -Node: PC Using1064109 -Node: Cygwin1068277 -Node: MSYS1069086 -Node: VMS Installation1069600 -Node: VMS Compilation1070364 -Ref: VMS Compilation-Footnote-11071616 -Node: VMS Dynamic Extensions1071674 -Node: VMS Installation Details1073047 -Node: VMS Running1075298 -Node: VMS GNV1078132 -Node: VMS Old Gawk1078855 -Node: Bugs1079325 -Node: Other Versions1083243 -Node: Notes1089327 -Node: Compatibility Mode1090127 -Node: Additions1090910 -Node: Accessing The Source1091837 -Node: Adding Code1093277 -Node: New Ports1099322 -Node: Derived Files1103457 -Ref: Derived Files-Footnote-11108778 -Ref: Derived Files-Footnote-21108812 -Ref: Derived Files-Footnote-31109412 -Node: Future Extensions1109510 -Node: Implementation Limitations1110093 -Node: Extension Design1111345 -Node: Old Extension Problems1112499 -Ref: Old Extension Problems-Footnote-11114007 -Node: Extension New Mechanism Goals1114064 -Ref: Extension New Mechanism Goals-Footnote-11117429 -Node: Extension Other Design Decisions1117615 -Node: Extension Future Growth1119721 -Node: Old Extension Mechanism1120557 -Node: Basic Concepts1122297 -Node: Basic High Level1122978 -Ref: figure-general-flow1123249 -Ref: figure-process-flow1123848 -Ref: Basic High Level-Footnote-11127077 -Node: Basic Data Typing1127262 -Node: Glossary1130617 -Node: Copying1156079 -Node: GNU Free Documentation License1193636 -Node: Index1218773 +Node: General Data Types883465 +Ref: General Data Types-Footnote-1889160 +Node: Requesting Values889459 +Ref: table-value-types-returned890196 +Node: Memory Allocation Functions891150 +Ref: Memory Allocation Functions-Footnote-1893896 +Node: Constructor Functions893992 +Node: Registration Functions895750 +Node: Extension Functions896435 +Node: Exit Callback Functions898737 +Node: Extension Version String899986 +Node: Input Parsers900636 +Node: Output Wrappers910393 +Node: Two-way processors914903 +Node: Printing Messages917111 +Ref: Printing Messages-Footnote-1918188 +Node: Updating `ERRNO'918340 +Node: Accessing Parameters919079 +Node: Symbol Table Access920309 +Node: Symbol table by name920823 +Node: Symbol table by cookie922572 +Ref: Symbol table by cookie-Footnote-1926704 +Node: Cached values926767 +Ref: Cached values-Footnote-1930257 +Node: Array Manipulation930348 +Ref: Array Manipulation-Footnote-1931446 +Node: Array Data Types931485 +Ref: Array Data Types-Footnote-1934188 +Node: Array Functions934280 +Node: Flattening Arrays938116 +Node: Creating Arrays944968 +Node: Extension API Variables949693 +Node: Extension Versioning950329 +Node: Extension API Informational Variables952230 +Node: Extension API Boilerplate953316 +Node: Finding Extensions957120 +Node: Extension Example957680 +Node: Internal File Description958410 +Node: Internal File Ops962501 +Ref: Internal File Ops-Footnote-1974010 +Node: Using Internal File Ops974150 +Ref: Using Internal File Ops-Footnote-1976503 +Node: Extension Samples976769 +Node: Extension Sample File Functions978293 +Node: Extension Sample Fnmatch986778 +Node: Extension Sample Fork988547 +Node: Extension Sample Inplace989760 +Node: Extension Sample Ord991538 +Node: Extension Sample Readdir992374 +Node: Extension Sample Revout993906 +Node: Extension Sample Rev2way994499 +Node: Extension Sample Read write array995189 +Node: Extension Sample Readfile997072 +Node: Extension Sample API Tests997890 +Node: Extension Sample Time998415 +Node: gawkextlib999779 +Node: Language History1002560 +Node: V7/SVR3.11004153 +Node: SVR41006473 +Node: POSIX1007915 +Node: BTL1009301 +Node: POSIX/GNU1010035 +Node: Feature History1015634 +Node: Common Extensions1028610 +Node: Ranges and Locales1029922 +Ref: Ranges and Locales-Footnote-11034539 +Ref: Ranges and Locales-Footnote-21034566 +Ref: Ranges and Locales-Footnote-31034800 +Node: Contributors1035021 +Node: Installation1040166 +Node: Gawk Distribution1041060 +Node: Getting1041544 +Node: Extracting1042370 +Node: Distribution contents1044062 +Node: Unix Installation1049767 +Node: Quick Installation1050384 +Node: Additional Configuration Options1052830 +Node: Configuration Philosophy1054566 +Node: Non-Unix Installation1056920 +Node: PC Installation1057378 +Node: PC Binary Installation1058677 +Node: PC Compiling1060525 +Node: PC Testing1063469 +Node: PC Using1064645 +Node: Cygwin1068813 +Node: MSYS1069622 +Node: VMS Installation1070136 +Node: VMS Compilation1070900 +Ref: VMS Compilation-Footnote-11072152 +Node: VMS Dynamic Extensions1072210 +Node: VMS Installation Details1073583 +Node: VMS Running1075834 +Node: VMS GNV1078668 +Node: VMS Old Gawk1079391 +Node: Bugs1079861 +Node: Other Versions1083779 +Node: Notes1089863 +Node: Compatibility Mode1090663 +Node: Additions1091446 +Node: Accessing The Source1092373 +Node: Adding Code1093813 +Node: New Ports1099858 +Node: Derived Files1103993 +Ref: Derived Files-Footnote-11109314 +Ref: Derived Files-Footnote-21109348 +Ref: Derived Files-Footnote-31109948 +Node: Future Extensions1110046 +Node: Implementation Limitations1110629 +Node: Extension Design1111881 +Node: Old Extension Problems1113035 +Ref: Old Extension Problems-Footnote-11114543 +Node: Extension New Mechanism Goals1114600 +Ref: Extension New Mechanism Goals-Footnote-11117965 +Node: Extension Other Design Decisions1118151 +Node: Extension Future Growth1120257 +Node: Old Extension Mechanism1121093 +Node: Basic Concepts1122833 +Node: Basic High Level1123514 +Ref: figure-general-flow1123785 +Ref: figure-process-flow1124384 +Ref: Basic High Level-Footnote-11127613 +Node: Basic Data Typing1127798 +Node: Glossary1131153 +Node: Copying1156615 +Node: GNU Free Documentation License1194172 +Node: Index1219309  End Tag Table -- cgit v1.2.3 From 295bee08215e33ec82e34978cecc593b698c9ad9 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 10 Mar 2014 22:32:14 +0200 Subject: Indexing improvements. --- doc/gawk.info | 148 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 66 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 9a569829..a275d9c2 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25928,6 +25928,9 @@ Info file, in approximate chronological order: * Anders Wallin helped keep the VMS port going for several years. + * Assaf Gordon contributed the code to implement the `--sandbox' + option. + * John Haque made the following contributions: - The modifications to convert `gawk' into a byte-code @@ -31292,12 +31295,12 @@ Index * for statement, looping over arrays: Scanning an Array. (line 20) * fork() extension function: Extension Sample Fork. (line 11) +* format specifiers: Basic Printf. (line 15) * format specifiers, mixing regular with positional specifiers: Printf Ordering. (line 57) * format specifiers, printf statement: Control Letters. (line 6) * format specifiers, strftime() function (gawk): Time Functions. (line 88) -* format strings: Basic Printf. (line 15) * formats, numeric output: OFMT. (line 6) * formatting output: Printf. (line 6) * forward slash (/): Regexp. (line 10) @@ -31522,6 +31525,12 @@ Index * gettext() function (C library): Explaining gettext. (line 62) * gettimeofday() extension function: Extension Sample Time. (line 13) +* git utility <1>: Adding Code. (line 111) +* git utility <2>: Accessing The Source. + (line 10) +* git utility <3>: Other Versions. (line 29) +* git utility: gawkextlib. (line 29) +* git, use of for gawk source code: Derived Files. (line 6) * GMP: Arbitrary Precision Arithmetic. (line 6) * GNITS mailing list: Acknowledgments. (line 52) @@ -31538,6 +31547,7 @@ Index * GNU/Linux <1>: Glossary. (line 624) * GNU/Linux <2>: I18N Example. (line 55) * GNU/Linux: Manual History. (line 28) +* Gordon, Assaf: Contributors. (line 105) * GPL (General Public License) <1>: Glossary. (line 314) * GPL (General Public License): Manual History. (line 11) * GPL (General Public License), printing: Options. (line 88) @@ -31555,7 +31565,7 @@ Index (line 66) * Hankerson, Darrel <1>: Contributors. (line 60) * Hankerson, Darrel: Acknowledgments. (line 60) -* Haque, John: Contributors. (line 105) +* Haque, John: Contributors. (line 108) * Hartholz, Elaine: Acknowledgments. (line 38) * Hartholz, Marshall: Acknowledgments. (line 38) * Hasegawa, Isamu: Contributors. (line 94) @@ -31643,9 +31653,9 @@ Index * installing gawk: Installation. (line 6) * INT signal (MS-Windows): Profiling. (line 214) * int() function: Numeric Functions. (line 23) -* integer, arbitrary precision: Arbitrary Precision Integers. - (line 6) * integers: General Arithmetic. (line 6) +* integers, arbitrary precision: Arbitrary Precision Integers. + (line 6) * integers, unsigned: General Arithmetic. (line 15) * interacting with other programs: I/O Functions. (line 72) * internationalization <1>: I18N and L10N. (line 6) @@ -31791,10 +31801,15 @@ Index * login information: Passwd Functions. (line 16) * long options: Command Line. (line 13) * loops: While Statement. (line 6) +* loops, break statement and: Break Statement. (line 6) * loops, continue statements and: For Statement. (line 64) * loops, count for header: Profiling. (line 131) +* loops, do-while: Do Statement. (line 6) * loops, exiting: Break Statement. (line 6) +* loops, for, array scanning: Scanning an Array. (line 6) +* loops, for, iterative: For Statement. (line 6) * loops, See Also while statement: While Statement. (line 6) +* loops, while: While Statement. (line 6) * ls utility: More Complex. (line 15) * lshift() function (gawk): Bitwise Functions. (line 46) * lvalues/rvalues: Assignment Ops. (line 32) @@ -32191,10 +32206,10 @@ Index * programming conventions, private variable names: Library Names. (line 23) * programming language, recipe for: History. (line 6) -* Programming languages, Ada: Glossary. (line 20) +* programming languages, Ada: Glossary. (line 20) * programming languages, data-driven vs. procedural: Getting Started. (line 12) -* Programming languages, Java: Glossary. (line 388) +* programming languages, Java: Glossary. (line 388) * programming, basic steps: Basic High Level. (line 20) * programming, concepts: Basic Concepts. (line 6) * pwcat program: Passwd Functions. (line 23) @@ -32331,7 +32346,7 @@ Index * RLENGTH variable, match() function and: String Functions. (line 220) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) -* Robbins, Arnold <3>: Contributors. (line 132) +* Robbins, Arnold <3>: Contributors. (line 135) * Robbins, Arnold <4>: General Data Types. (line 6) * Robbins, Arnold <5>: Alarm Program. (line 6) * Robbins, Arnold <6>: Passwd Functions. (line 90) @@ -32372,7 +32387,7 @@ Index (line 68) * sandbox mode: Options. (line 279) * scalar values: Basic Data Typing. (line 13) -* Schorr, Andrew <1>: Contributors. (line 128) +* Schorr, Andrew <1>: Contributors. (line 131) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -32507,6 +32522,7 @@ Index * source code, mawk: Other Versions. (line 44) * source code, mixing: Options. (line 117) * source code, pawk: Other Versions. (line 78) +* source code, pawk (Python version): Other Versions. (line 124) * source code, QSE Awk: Other Versions. (line 130) * source code, QuikTrim Awk: Other Versions. (line 134) * source code, Solaris awk: Other Versions. (line 96) @@ -32807,7 +32823,7 @@ Index * xgettext utility: String Extraction. (line 13) * XOR bitwise operation: Bitwise Functions. (line 6) * xor() function (gawk): Bitwise Functions. (line 55) -* Yawitz, Efraim: Contributors. (line 126) +* Yawitz, Efraim: Contributors. (line 129) * Zaretskii, Eli <1>: Bugs. (line 70) * Zaretskii, Eli <2>: Contributors. (line 55) * Zaretskii, Eli: Acknowledgments. (line 60) @@ -33308,62 +33324,62 @@ Ref: Ranges and Locales-Footnote-11034539 Ref: Ranges and Locales-Footnote-21034566 Ref: Ranges and Locales-Footnote-31034800 Node: Contributors1035021 -Node: Installation1040166 -Node: Gawk Distribution1041060 -Node: Getting1041544 -Node: Extracting1042370 -Node: Distribution contents1044062 -Node: Unix Installation1049767 -Node: Quick Installation1050384 -Node: Additional Configuration Options1052830 -Node: Configuration Philosophy1054566 -Node: Non-Unix Installation1056920 -Node: PC Installation1057378 -Node: PC Binary Installation1058677 -Node: PC Compiling1060525 -Node: PC Testing1063469 -Node: PC Using1064645 -Node: Cygwin1068813 -Node: MSYS1069622 -Node: VMS Installation1070136 -Node: VMS Compilation1070900 -Ref: VMS Compilation-Footnote-11072152 -Node: VMS Dynamic Extensions1072210 -Node: VMS Installation Details1073583 -Node: VMS Running1075834 -Node: VMS GNV1078668 -Node: VMS Old Gawk1079391 -Node: Bugs1079861 -Node: Other Versions1083779 -Node: Notes1089863 -Node: Compatibility Mode1090663 -Node: Additions1091446 -Node: Accessing The Source1092373 -Node: Adding Code1093813 -Node: New Ports1099858 -Node: Derived Files1103993 -Ref: Derived Files-Footnote-11109314 -Ref: Derived Files-Footnote-21109348 -Ref: Derived Files-Footnote-31109948 -Node: Future Extensions1110046 -Node: Implementation Limitations1110629 -Node: Extension Design1111881 -Node: Old Extension Problems1113035 -Ref: Old Extension Problems-Footnote-11114543 -Node: Extension New Mechanism Goals1114600 -Ref: Extension New Mechanism Goals-Footnote-11117965 -Node: Extension Other Design Decisions1118151 -Node: Extension Future Growth1120257 -Node: Old Extension Mechanism1121093 -Node: Basic Concepts1122833 -Node: Basic High Level1123514 -Ref: figure-general-flow1123785 -Ref: figure-process-flow1124384 -Ref: Basic High Level-Footnote-11127613 -Node: Basic Data Typing1127798 -Node: Glossary1131153 -Node: Copying1156615 -Node: GNU Free Documentation License1194172 -Node: Index1219309 +Node: Installation1040248 +Node: Gawk Distribution1041142 +Node: Getting1041626 +Node: Extracting1042452 +Node: Distribution contents1044144 +Node: Unix Installation1049849 +Node: Quick Installation1050466 +Node: Additional Configuration Options1052912 +Node: Configuration Philosophy1054648 +Node: Non-Unix Installation1057002 +Node: PC Installation1057460 +Node: PC Binary Installation1058759 +Node: PC Compiling1060607 +Node: PC Testing1063551 +Node: PC Using1064727 +Node: Cygwin1068895 +Node: MSYS1069704 +Node: VMS Installation1070218 +Node: VMS Compilation1070982 +Ref: VMS Compilation-Footnote-11072234 +Node: VMS Dynamic Extensions1072292 +Node: VMS Installation Details1073665 +Node: VMS Running1075916 +Node: VMS GNV1078750 +Node: VMS Old Gawk1079473 +Node: Bugs1079943 +Node: Other Versions1083861 +Node: Notes1089945 +Node: Compatibility Mode1090745 +Node: Additions1091528 +Node: Accessing The Source1092455 +Node: Adding Code1093895 +Node: New Ports1099940 +Node: Derived Files1104075 +Ref: Derived Files-Footnote-11109396 +Ref: Derived Files-Footnote-21109430 +Ref: Derived Files-Footnote-31110030 +Node: Future Extensions1110128 +Node: Implementation Limitations1110711 +Node: Extension Design1111963 +Node: Old Extension Problems1113117 +Ref: Old Extension Problems-Footnote-11114625 +Node: Extension New Mechanism Goals1114682 +Ref: Extension New Mechanism Goals-Footnote-11118047 +Node: Extension Other Design Decisions1118233 +Node: Extension Future Growth1120339 +Node: Old Extension Mechanism1121175 +Node: Basic Concepts1122915 +Node: Basic High Level1123596 +Ref: figure-general-flow1123867 +Ref: figure-process-flow1124466 +Ref: Basic High Level-Footnote-11127695 +Node: Basic Data Typing1127880 +Node: Glossary1131235 +Node: Copying1156697 +Node: GNU Free Documentation License1194254 +Node: Index1219391  End Tag Table -- cgit v1.2.3 From 82da42cf14d16813bca40431e86dc78b2ca6d7f5 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 20:58:06 +0200 Subject: BBS-list examples redone. Yay! Thanks to Antonio. --- doc/gawk.info | 1658 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 834 insertions(+), 824 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index a275d9c2..2e18da5b 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1767,30 +1767,30 @@ File: gawk.info, Node: Sample Data Files, Next: Very Simple, Prev: Running ga =============================== Many of the examples in this Info file take their input from two sample -data files. The first, `BBS-list', represents a list of computer -bulletin board systems together with information about those systems. +data files. The first, `mail-list', represents a list of peoples' names +together with their email addresses and information about those people. The second data file, called `inventory-shipped', contains information about monthly shipments. In both files, each line is considered to be one "record". - In the data file `BBS-list', each record contains the name of a -computer bulletin board, its phone number, the board's baud rate(s), -and a code for the number of hours it is operational. An `A' in the -last column means the board operates 24 hours a day. A `B' in the last -column means the board only operates on evening and weekend hours. A -`C' means the board operates only on weekends: - - aardvark 555-5553 1200/300 B - alpo-net 555-3412 2400/1200/300 A - barfly 555-7685 1200/300 A - bites 555-1675 2400/1200/300 A - camelot 555-0542 300 C - core 555-2912 1200/300 C - fooey 555-1234 2400/1200/300 B - foot 555-6699 1200/300 B - macfoo 555-6480 1200/300 A - sdace 555-3430 2400/1200/300 A - sabafoo 555-2127 1200/300 C + In the data file `mail-list', each record contains the name of a +person, his/her phone number, his/her email-address, and a code for +their relationship with the author of the list. An `A' in the last +column means that the person is an acquaintance. An `F' in the last +column means that the person is a friend. An `R' means that the person +is a relative: + + Amelia 555-5553 amelia.zodiacusque@gmail.com F + Anthony 555-3412 anthony.asserturo@hotmail.com A + Becky 555-7685 becky.algebrarum@gmail.com A + Bill 555-1675 bill.drowning@hotmail.com A + Broderick 555-0542 broderick.aliquotiens@yahoo.com R + Camilla 555-2912 camilla.infusarum@skynet.be R + Fabius 555-1234 fabius.undevicesimus@ucb.edu F + Julie 555-6699 julie.perscrutabor@skeeve.com F + Martin 555-6480 martin.codicibus@hotmail.com A + Samuel 555-3430 samuel.lanceolis@shu.edu A + Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R The data file `inventory-shipped' represents information about shipments during the year. Each record contains the month, the number @@ -1827,32 +1827,32 @@ File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, ======================== The following command runs a simple `awk' program that searches the -input file `BBS-list' for the character string `foo' (a grouping of +input file `mail-list' for the character string `li' (a grouping of characters is usually called a "string"; the term "string" is based on similar usage in English, such as "a string of pearls," or "a string of cars in a train"): - awk '/foo/ { print $0 }' BBS-list + awk '/li/ { print $0 }' mail-list -When lines containing `foo' are found, they are printed because +When lines containing `li' are found, they are printed because `print $0' means print the current line. (Just `print' by itself means the same thing, so we could have written that instead.) - You will notice that slashes (`/') surround the string `foo' in the -`awk' program. The slashes indicate that `foo' is the pattern to -search for. This type of pattern is called a "regular expression", -which is covered in more detail later (*note Regexp::). The pattern is -allowed to match parts of words. There are single quotes around the -`awk' program so that the shell won't interpret any of it as special -shell characters. + You will notice that slashes (`/') surround the string `li' in the +`awk' program. The slashes indicate that `li' is the pattern to search +for. This type of pattern is called a "regular expression", which is +covered in more detail later (*note Regexp::). The pattern is allowed +to match parts of words. There are single quotes around the `awk' +program so that the shell won't interpret any of it as special shell +characters. Here is what this program prints: - $ awk '/foo/ { print $0 }' BBS-list - -| fooey 555-1234 2400/1200/300 B - -| foot 555-6699 1200/300 B - -| macfoo 555-6480 1200/300 A - -| sabafoo 555-2127 1200/300 C + $ awk '/li/ { print $0 }' mail-list + -| Amelia 555-5553 amelia.zodiacusque@gmail.com F + -| Broderick 555-0542 broderick.aliquotiens@yahoo.com R + -| Julie 555-6699 julie.perscrutabor@skeeve.com F + -| Samuel 555-3430 samuel.lanceolis@shu.edu A In an `awk' rule, either the pattern or the action can be omitted, but not both. If the pattern is omitted, then the action is performed @@ -1861,7 +1861,7 @@ is to print all lines that match the pattern. Thus, we could leave out the action (the `print' statement and the curly braces) in the previous example and the result would be the same: -`awk' prints all lines matching the pattern `foo'. By comparison, +`awk' prints all lines matching the pattern `li'. By comparison, omitting the `print' statement but retaining the curly braces makes an empty action that does nothing (i.e., no lines are printed). @@ -1967,25 +1967,19 @@ the string `21'. If a line contains both strings, it is printed twice, once by each rule. This is what happens if we run this program on our two sample data -files, `BBS-list' and `inventory-shipped': +files, `mail-list' and `inventory-shipped': $ awk '/12/ { print $0 } - > /21/ { print $0 }' BBS-list inventory-shipped - -| aardvark 555-5553 1200/300 B - -| alpo-net 555-3412 2400/1200/300 A - -| barfly 555-7685 1200/300 A - -| bites 555-1675 2400/1200/300 A - -| core 555-2912 1200/300 C - -| fooey 555-1234 2400/1200/300 B - -| foot 555-6699 1200/300 B - -| macfoo 555-6480 1200/300 A - -| sdace 555-3430 2400/1200/300 A - -| sabafoo 555-2127 1200/300 C - -| sabafoo 555-2127 1200/300 C + > /21/ { print $0 }' mail-list inventory-shipped + -| Anthony 555-3412 anthony.asserturo@hotmail.com A + -| Camilla 555-2912 camilla.infusarum@skynet.be R + -| Fabius 555-1234 fabius.undevicesimus@ucb.edu F + -| Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R + -| Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R -| Jan 21 36 64 620 -| Apr 21 70 74 514 -Note how the line beginning with `sabafoo' in `BBS-list' was printed +Note how the line beginning with `Jean-Paul' in `mail-list' was printed twice, once for each rule.  @@ -2061,7 +2055,7 @@ Most often, each line in an `awk' program is a separate statement or separate rule, like this: awk '/12/ { print $0 } - /21/ { print $0 }' BBS-list inventory-shipped + /21/ { print $0 }' mail-list inventory-shipped However, `gawk' ignores newlines after any of the following symbols and keywords: @@ -3106,14 +3100,14 @@ A regular expression can be used as a pattern by enclosing it in slashes. Then the regular expression is tested against the entire text of each record. (Normally, it only needs to match some part of the text in order to succeed.) For example, the following prints the -second field of each record that contains the string `foo' anywhere in +second field of each record that contains the string `li' anywhere in it: - $ awk '/foo/ { print $2 }' BBS-list - -| 555-1234 + $ awk '/li/ { print $2 }' mail-list + -| 555-5553 + -| 555-0542 -| 555-6699 - -| 555-6480 - -| 555-2127 + -| 555-3430 Regular expressions can also be used in matching expressions. These expressions allow you to specify the string to match against; it need @@ -3921,67 +3915,82 @@ processed, so that the very first record is read with the proper separator. To do this, use the special `BEGIN' pattern (*note BEGIN/END::). For example: - awk 'BEGIN { RS = "/" } - { print $0 }' BBS-list - -changes the value of `RS' to `"/"', before reading any input. This is -a string whose first character is a slash; as a result, records are -separated by slashes. Then the input file is read, and the second rule -in the `awk' program (the action with no pattern) prints each record. -Because each `print' statement adds a newline at the end of its output, -this `awk' program copies the input with each slash changed to a -newline. Here are the results of running the program on `BBS-list': - - $ awk 'BEGIN { RS = "/" } - > { print $0 }' BBS-list - -| aardvark 555-5553 1200 - -| 300 B - -| alpo-net 555-3412 2400 - -| 1200 - -| 300 A - -| barfly 555-7685 1200 - -| 300 A - -| bites 555-1675 2400 - -| 1200 - -| 300 A - -| camelot 555-0542 300 C - -| core 555-2912 1200 - -| 300 C - -| fooey 555-1234 2400 - -| 1200 - -| 300 B - -| foot 555-6699 1200 - -| 300 B - -| macfoo 555-6480 1200 - -| 300 A - -| sdace 555-3430 2400 - -| 1200 - -| 300 A - -| sabafoo 555-2127 1200 - -| 300 C + awk 'BEGIN { RS = "u" } + { print $0 }' mail-list + +changes the value of `RS' to `u', before reading any input. This is a +string whose first character is the letter "u;" as a result, records +are separated by the letter "u." Then the input file is read, and the +second rule in the `awk' program (the action with no pattern) prints +each record. Because each `print' statement adds a newline at the end +of its output, this `awk' program copies the input with each `u' +changed to a newline. Here are the results of running the program on +`mail-list': + + $ awk 'BEGIN { RS = "u" } + > { print $0 }' mail-list + -| Amelia 555-5553 amelia.zodiac + -| sq + -| e@gmail.com F + -| Anthony 555-3412 anthony.assert + -| ro@hotmail.com A + -| Becky 555-7685 becky.algebrar + -| m@gmail.com A + -| Bill 555-1675 bill.drowning@hotmail.com A + -| Broderick 555-0542 broderick.aliq + -| otiens@yahoo.com R + -| Camilla 555-2912 camilla.inf + -| sar + -| m@skynet.be R + -| Fabi + -| s 555-1234 fabi + -| s. + -| ndevicesim + -| s@ + -| cb.ed + -| F + -| J + -| lie 555-6699 j + -| lie.perscr + -| tabor@skeeve.com F + -| Martin 555-6480 martin.codicib + -| s@hotmail.com A + -| Sam + -| el 555-3430 sam + -| el.lanceolis@sh + -| .ed + -| A + -| Jean-Pa + -| l 555-2127 jeanpa + -| l.campanor + -| m@ny + -| .ed + -| R -| -Note that the entry for the `camelot' BBS is not split. In the -original data file (*note Sample Data Files::), the line looks like -this: +Note that the entry for the name `Bill' is not split. In the original +data file (*note Sample Data Files::), the line looks like this: - camelot 555-0542 300 C + Bill 555-1675 bill.drowning@hotmail.com A -It has one baud rate only, so there are no slashes in the record, -unlike the others which have two or more baud rates. In fact, this -record is treated as part of the record for the `core' BBS; the newline +It contains no `u' so there is no reason to split the record, unlike +the others which have one or more occurrences of the `u'. In fact, +this record is treated as part of the previous record; the newline separating them in the output is the original newline in the data file, not the one added by `awk' when it printed the record! Another way to change the record separator is on the command line, using the variable-assignment feature (*note Other Arguments::): - awk '{ print $0 }' RS="/" BBS-list + awk '{ print $0 }' RS="u" mail-list -This sets `RS' to `/' before processing `BBS-list'. +This sets `RS' to `u' before processing `mail-list'. - Using an unusual character such as `/' for the record separator -produces correct behavior in the vast majority of cases. + Using an alphabetic character such as `u' for the record separator +is highly likely to produce strange results. Using an unusual +character such as `/' is more likely to produce correct behavior in the +majority of cases, but there are no guarantees. The moral is: Know Your +Data. There is one unusual case, that occurs when `gawk' is being fully POSIX-compliant (*note Options::). Then, the following (extreme) @@ -4150,26 +4159,24 @@ get the empty string. (If used in a numeric operation, you get zero.) field, is a special case: it represents the whole input record when you are not interested in specific fields. Here are some more examples: - $ awk '$1 ~ /foo/ { print $0 }' BBS-list - -| fooey 555-1234 2400/1200/300 B - -| foot 555-6699 1200/300 B - -| macfoo 555-6480 1200/300 A - -| sabafoo 555-2127 1200/300 C + $ awk '$1 ~ /li/ { print $0 }' mail-list + -| Amelia 555-5553 amelia.zodiacusque@gmail.com F + -| Julie 555-6699 julie.perscrutabor@skeeve.com F -This example prints each record in the file `BBS-list' whose first -field contains the string `foo'. The operator `~' is called a -"matching operator" (*note Regexp Usage::); it tests whether a string -(here, the field `$1') matches a given regular expression. +This example prints each record in the file `mail-list' whose first +field contains the string `li'. The operator `~' is called a "matching +operator" (*note Regexp Usage::); it tests whether a string (here, the +field `$1') matches a given regular expression. - By contrast, the following example looks for `foo' in _the entire + By contrast, the following example looks for `li' in _the entire record_ and prints the first field and the last field for each matching input record: - $ awk '/foo/ { print $1, $NF }' BBS-list - -| fooey B - -| foot B - -| macfoo A - -| sabafoo C + $ awk '/li/ { print $1, $NF }' mail-list + -| Amelia F + -| Broderick R + -| Julie F + -| Samuel A ---------- Footnotes ---------- @@ -4197,16 +4204,16 @@ For the twentieth record, field number 20 is printed; most likely, the record has fewer than 20 fields, so this prints a blank line. Here is another example of using expressions as field numbers: - awk '{ print $(2*2) }' BBS-list + awk '{ print $(2*2) }' mail-list `awk' evaluates the expression `(2*2)' and uses its value as the number of the field to print. The `*' sign represents multiplication, so the expression `2*2' evaluates to four. The parentheses are used so that the multiplication is done before the `$' operation; they are necessary whenever there is a binary operator in the field-number -expression. This example, then, prints the hours of operation (the -fourth field) for every line of the file `BBS-list'. (All of the `awk' -operators are listed, in order of decreasing precedence, in *note +expression. This example, then, prints the type of relationship (the +fourth field) for every line of the file `mail-list'. (All of the +`awk' operators are listed, in order of decreasing precedence, in *note Precedence::.) If the field number you compute is zero, you get the entire record. @@ -4603,53 +4610,46 @@ type `-F\t' at the shell, without any quotes, the `\' gets deleted, so TABs and not `t's. Use `-v FS="t"' or `-F"[t]"' on the command line if you really do want to separate your fields with `t's. - As an example, let's use an `awk' program file called `baud.awk' -that contains the pattern `/300/' and the action `print $1': + As an example, let's use an `awk' program file called `edu.awk' that +contains the pattern `/edu/' and the action `print $1': - /300/ { print $1 } + /edu/ { print $1 } Let's also set `FS' to be the `-' character and run the program on -the file `BBS-list'. The following command prints a list of the names -of the bulletin boards that operate at 300 baud and the first three +the file `mail-list'. The following command prints a list of the names +of the people that work at or attend a university, and the first three digits of their phone numbers: - $ awk -F- -f baud.awk BBS-list - -| aardvark 555 - -| alpo - -| barfly 555 - -| bites 555 - -| camelot 555 - -| core 555 - -| fooey 555 - -| foot 555 - -| macfoo 555 - -| sdace 555 - -| sabafoo 555 - -Note the second line of output. The second line in the original file + $ awk -F- -f edu.awk mail-list + -| Fabius 555 + -| Samuel 555 + -| Jean + +Note the third line of output. The third line in the original file looked like this: - alpo-net 555-3412 2400/1200/300 A + Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R - The `-' as part of the system's name was used as the field + The `-' as part of the person's name was used as the field separator, instead of the `-' in the phone number that was originally intended. This demonstrates why you have to be careful in choosing your field and record separators. Perhaps the most common use of a single character as the field separator occurs when processing the Unix system password file. On -many Unix systems, each user has a separate entry in the system password -file, one line per user. The information in these lines is separated -by colons. The first field is the user's login name and the second is -the user's (encrypted or shadow) password. A password file entry might -look like this: +many Unix systems, each user has a separate entry in the system +password file, one line per user. The information in these lines is +separated by colons. The first field is the user's login name and the +second is the user's encrypted or shadow password. (A shadow password +is indicated by the presence of a single `x' in the second field.) A +password file entry might look like this: - arnold:xyzzy:2076:10:Arnold Robbins:/home/arnold:/bin/bash + arnold:x:2076:10:Arnold Robbins:/home/arnold:/bin/bash The following program searches the system password file and prints -the entries for users who have no password: +the entries for users whose full name is not indicated: - awk -F: '$2 == ""' /etc/passwd + awk -F: '$5 == ""' /etc/passwd  File: gawk.info, Node: Full Line Fields, Next: Field Splitting Summary, Prev: Command Line Field Separator, Up: Field Separators @@ -5835,13 +5835,29 @@ prints the first and second fields of each input record, separated by a semicolon, with a blank line added after each newline: $ awk 'BEGIN { OFS = ";"; ORS = "\n\n" } - > { print $1, $2 }' BBS-list - -| aardvark;555-5553 + > { print $1, $2 }' mail-list + -| Amelia;555-5553 -| - -| alpo-net;555-3412 + -| Anthony;555-3412 + -| + -| Becky;555-7685 + -| + -| Bill;555-1675 + -| + -| Broderick;555-0542 + -| + -| Camilla;555-2912 + -| + -| Fabius;555-1234 + -| + -| Julie;555-6699 + -| + -| Martin;555-6480 + -| + -| Samuel;555-3430 + -| + -| Jean-Paul;555-2127 -| - -| barfly;555-7685 - ... If the value of `ORS' does not contain a newline, the program's output runs together on a single line. @@ -6210,25 +6226,25 @@ File: gawk.info, Node: Printf Examples, Prev: Format Modifiers, Up: Printf The following simple example shows how to use `printf' to make an aligned table: - awk '{ printf "%-10s %s\n", $1, $2 }' BBS-list + awk '{ printf "%-10s %s\n", $1, $2 }' mail-list -This command prints the names of the bulletin boards (`$1') in the file -`BBS-list' as a string of 10 characters that are left-justified. It +This command prints the names of the people (`$1') in the file +`mail-list' as a string of 10 characters that are left-justified. It also prints the phone numbers (`$2') next on the line. This produces an aligned two-column table of names and phone numbers, as shown here: - $ awk '{ printf "%-10s %s\n", $1, $2 }' BBS-list - -| aardvark 555-5553 - -| alpo-net 555-3412 - -| barfly 555-7685 - -| bites 555-1675 - -| camelot 555-0542 - -| core 555-2912 - -| fooey 555-1234 - -| foot 555-6699 - -| macfoo 555-6480 - -| sdace 555-3430 - -| sabafoo 555-2127 + $ awk '{ printf "%-10s %s\n", $1, $2 }' mail-list + -| Amelia 555-5553 + -| Anthony 555-3412 + -| Becky 555-7685 + -| Bill 555-1675 + -| Broderick 555-0542 + -| Camilla 555-2912 + -| Fabius 555-1234 + -| Julie 555-6699 + -| Martin 555-6480 + -| Samuel 555-3430 + -| Jean-Paul 555-2127 In this case, the phone numbers had to be printed as strings because the numbers are separated by a dash. Printing the phone numbers as @@ -6246,14 +6262,14 @@ beginning of the `awk' program: awk 'BEGIN { print "Name Number" print "---- ------" } - { printf "%-10s %s\n", $1, $2 }' BBS-list + { printf "%-10s %s\n", $1, $2 }' mail-list The above example mixes `print' and `printf' statements in the same program. Using just `printf' statements can produce the same results: awk 'BEGIN { printf "%-10s %s\n", "Name", "Number" printf "%-10s %s\n", "----", "------" } - { printf "%-10s %s\n", $1, $2 }' BBS-list + { printf "%-10s %s\n", $1, $2 }' mail-list Printing each column heading with the same format specification used for the column elements ensures that the headings are aligned just like @@ -6265,7 +6281,7 @@ be emphasized by storing it in a variable, like this: awk 'BEGIN { format = "%-10s %s\n" printf format, "Name", "Number" printf format, "----", "------" } - { printf format, $1, $2 }' BBS-list + { printf format, $1, $2 }' mail-list At this point, it would be a worthwhile exercise to use the `printf' statement to line up the headings and table data for the @@ -6305,19 +6321,19 @@ work identically for `printf': the same OUTPUT-FILE do not erase OUTPUT-FILE, but append to it. (This is different from how you use redirections in shell scripts.) If OUTPUT-FILE does not exist, it is created. For example, here - is how an `awk' program can write a list of BBS names to one file - named `name-list', and a list of phone numbers to another file + is how an `awk' program can write a list of peoples' names to one + file named `name-list', and a list of phone numbers to another file named `phone-list': $ awk '{ print $2 > "phone-list" - > print $1 > "name-list" }' BBS-list + > print $1 > "name-list" }' mail-list $ cat phone-list -| 555-5553 -| 555-3412 ... $ cat name-list - -| aardvark - -| alpo-net + -| Amelia + -| Anthony ... Each output file contains one name or number per line. @@ -6338,12 +6354,12 @@ work identically for `printf': The redirection argument COMMAND is actually an `awk' expression. Its value is converted to a string whose contents give the shell command to be run. For example, the following produces two files, - one unsorted list of BBS names, and one list sorted in reverse + one unsorted list of peoples' names, and one list sorted in reverse alphabetical order: awk '{ print $1 > "names.unsorted" command = "sort -r > names.sorted" - print $1 | command }' BBS-list + print $1 | command }' mail-list The unsorted list is written with an ordinary redirection, while the sorted list is written by piping through the `sort' utility. @@ -7073,16 +7089,16 @@ assignment is performed at a time determined by its position among the input file arguments--after the processing of the preceding input file argument. For example: - awk '{ print $n }' n=4 inventory-shipped n=2 BBS-list + awk '{ print $n }' n=4 inventory-shipped n=2 mail-list prints the value of field number `n' for all input records. Before the first file is read, the command line sets the variable `n' equal to four. This causes the fourth field to be printed in lines from `inventory-shipped'. After the first file has finished, but before the second file is started, `n' is set to two, so that the second field is -printed in lines from `BBS-list': +printed in lines from `mail-list': - $ awk '{ print $n }' n=4 inventory-shipped n=2 BBS-list + $ awk '{ print $n }' n=4 inventory-shipped n=2 mail-list -| 15 -| 24 ... @@ -7343,17 +7359,17 @@ a specific operator to represent it. Instead, concatenation is performed by writing expressions next to one another, with no operator. For example: - $ awk '{ print "Field number one: " $1 }' BBS-list - -| Field number one: aardvark - -| Field number one: alpo-net + $ awk '{ print "Field number one: " $1 }' mail-list + -| Field number one: Amelia + -| Field number one: Anthony ... Without the space in the string constant after the `:', the line runs together. For example: - $ awk '{ print "Field number one:" $1 }' BBS-list - -| Field number one:aardvark - -| Field number one:alpo-net + $ awk '{ print "Field number one:" $1 }' mail-list + -| Field number one:Amelia + -| Field number one:Anthony ... Because string concatenation does not have an explicit operator, it @@ -7999,9 +8015,9 @@ Boolean operators are: `BOOLEAN1 && BOOLEAN2' True if both BOOLEAN1 and BOOLEAN2 are true. For example, the following statement prints the current input record if it contains - both `2400' and `foo': + both `edu' and `li': - if ($0 ~ /2400/ && $0 ~ /foo/) print + if ($0 ~ /edu/ && $0 ~ /li/) print The subexpression BOOLEAN2 is evaluated only if BOOLEAN1 is true. This can make a difference when BOOLEAN2 contains expressions that @@ -8012,9 +8028,9 @@ Boolean operators are: `BOOLEAN1 || BOOLEAN2' True if at least one of BOOLEAN1 or BOOLEAN2 is true. For example, the following statement prints all records in the input - that contain _either_ `2400' or `foo' or both: + that contain _either_ `edu' or `li' or both: - if ($0 ~ /2400/ || $0 ~ /foo/) print + if ($0 ~ /edu/ || $0 ~ /li/) print The subexpression BOOLEAN2 is evaluated only if BOOLEAN1 is false. This can make a difference when BOOLEAN2 contains expressions that @@ -8434,56 +8450,53 @@ operand is either a constant regular expression enclosed in slashes (`/REGEXP/'), or any expression whose string value is used as a dynamic regular expression (*note Computed Regexps::). The following example prints the second field of each input record whose first field is -precisely `foo': +precisely `li': - $ awk '$1 == "foo" { print $2 }' BBS-list + $ awk '$1 == "li" { print $2 }' mail-list -(There is no output, because there is no BBS site with the exact name -`foo'.) Contrast this with the following regular expression match, -which accepts any record with a first field that contains `foo': +(There is no output, because there is no person with the exact name +`li'.) Contrast this with the following regular expression match, which +accepts any record with a first field that contains `li': - $ awk '$1 ~ /foo/ { print $2 }' BBS-list - -| 555-1234 + $ awk '$1 ~ /foo/ { print $2 }' mail-list + -| 555-5553 -| 555-6699 - -| 555-6480 - -| 555-2127 A regexp constant as a pattern is also a special case of an -expression pattern. The expression `/foo/' has the value one if `foo' -appears in the current input record. Thus, as a pattern, `/foo/' -matches any record containing `foo'. +expression pattern. The expression `/li/' has the value one if `li' +appears in the current input record. Thus, as a pattern, `/li/' matches +any record containing `li'. Boolean expressions are also commonly used as patterns. Whether the pattern matches an input record depends on whether its subexpressions match. For example, the following command prints all the records in -`BBS-list' that contain both `2400' and `foo': - - $ awk '/2400/ && /foo/' BBS-list - -| fooey 555-1234 2400/1200/300 B - - The following command prints all records in `BBS-list' that contain -_either_ `2400' or `foo' (or both, of course): - - $ awk '/2400/ || /foo/' BBS-list - -| alpo-net 555-3412 2400/1200/300 A - -| bites 555-1675 2400/1200/300 A - -| fooey 555-1234 2400/1200/300 B - -| foot 555-6699 1200/300 B - -| macfoo 555-6480 1200/300 A - -| sdace 555-3430 2400/1200/300 A - -| sabafoo 555-2127 1200/300 C - - The following command prints all records in `BBS-list' that do _not_ -contain the string `foo': - - $ awk '! /foo/' BBS-list - -| aardvark 555-5553 1200/300 B - -| alpo-net 555-3412 2400/1200/300 A - -| barfly 555-7685 1200/300 A - -| bites 555-1675 2400/1200/300 A - -| camelot 555-0542 300 C - -| core 555-2912 1200/300 C - -| sdace 555-3430 2400/1200/300 A +`mail-list' that contain both `edu' and `li': + + $ awk '/edu/ && /li/' mail-list + -| Samuel 555-3430 samuel.lanceolis@shu.edu A + + The following command prints all records in `mail-list' that contain +_either_ `edu' or `li' (or both, of course): + + $ awk '/edu/ || /li/' mail-list + -| Amelia 555-5553 amelia.zodiacusque@gmail.com F + -| Broderick 555-0542 broderick.aliquotiens@yahoo.com R + -| Fabius 555-1234 fabius.undevicesimus@ucb.edu F + -| Julie 555-6699 julie.perscrutabor@skeeve.com F + -| Samuel 555-3430 samuel.lanceolis@shu.edu A + -| Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R + + The following command prints all records in `mail-list' that do +_not_ contain the string `li': + + $ awk '! /li/' mail-list + -| Anthony 555-3412 anthony.asserturo@hotmail.com A + -| Becky 555-7685 becky.algebrarum@gmail.com A + -| Bill 555-1675 bill.drowning@hotmail.com A + -| Camilla 555-2912 camilla.infusarum@skynet.be R + -| Fabius 555-1234 fabius.undevicesimus@ucb.edu F + -| Martin 555-6480 martin.codicibus@hotmail.com A + -| Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R The subexpressions of a Boolean operator in a pattern can be constant regular expressions, comparisons, or any other `awk' @@ -8594,19 +8607,19 @@ read. Likewise, an `END' rule is executed once only, after all the input is read. For example: $ awk ' - > BEGIN { print "Analysis of \"foo\"" } - > /foo/ { ++n } - > END { print "\"foo\" appears", n, "times." }' BBS-list - -| Analysis of "foo" - -| "foo" appears 4 times. - - This program finds the number of records in the input file `BBS-list' -that contain the string `foo'. The `BEGIN' rule prints a title for the -report. There is no need to use the `BEGIN' rule to initialize the -counter `n' to zero, since `awk' does this automatically (*note -Variables::). The second rule increments the variable `n' every time a -record containing the pattern `foo' is read. The `END' rule prints the -value of `n' at the end of the run. + > BEGIN { print "Analysis of \"li\"" } + > /li/ { ++n } + > END { print "\"li\" appears in", n, "records." }' mail-list + -| Analysis of "li" + -| "li" appears in 4 records. + + This program finds the number of records in the input file +`mail-list' that contain the string `li'. The `BEGIN' rule prints a +title for the report. There is no need to use the `BEGIN' rule to +initialize the counter `n' to zero, since `awk' does this automatically +(*note Variables::). The second rule increments the variable `n' every +time a record containing the pattern `li' is read. The `END' rule +prints the value of `n' at the end of the run. The special patterns `BEGIN' and `END' cannot be used in ranges or with Boolean operators (indeed, they cannot be used with any operators). @@ -8757,7 +8770,7 @@ File: gawk.info, Node: Empty, Prev: BEGINFILE/ENDFILE, Up: Pattern Overview An empty (i.e., nonexistent) pattern is considered to match _every_ input record. For example, the program: - awk '{ print $1 }' BBS-list + awk '{ print $1 }' mail-list prints the first field of every record. @@ -9673,13 +9686,13 @@ with a pound sign (`#'). $ awk 'BEGIN { > for (i = 0; i < ARGC; i++) > print ARGV[i] - > }' inventory-shipped BBS-list + > }' inventory-shipped mail-list -| awk -| inventory-shipped - -| BBS-list + -| mail-list `ARGV[0]' contains `awk', `ARGV[1]' contains `inventory-shipped', - and `ARGV[2]' contains `BBS-list'. The value of `ARGC' is three, + and `ARGV[2]' contains `mail-list'. The value of `ARGC' is three, one more than the index of the last element in `ARGV', because the elements are numbered from zero. @@ -10006,13 +10019,13 @@ information contained in `ARGC' and `ARGV': $ awk 'BEGIN { > for (i = 0; i < ARGC; i++) > print ARGV[i] - > }' inventory-shipped BBS-list + > }' inventory-shipped mail-list -| awk -| inventory-shipped - -| BBS-list + -| mail-list In this example, `ARGV[0]' contains `awk', `ARGV[1]' contains -`inventory-shipped', and `ARGV[2]' contains `BBS-list'. Notice that +`inventory-shipped', and `ARGV[2]' contains `mail-list'. Notice that the `awk' program is not entered in `ARGV'. The other command-line options, with their arguments, are also not entered. This includes variable assignments done with the `-v' option (*note Options::). @@ -25958,6 +25971,10 @@ Info file, in approximate chronological order: 4.1 was driven primarily by Arnold Robbins and Andrew Schorr, with notable contributions from the rest of the development team. + * Antonio Giovanni Colombo rewrote a number of examples in the early + chapters that were severely dated, for which I am incredibly + grateful. + * Arnold Robbins has been working on `gawk' since 1988, at first helping David Trueman, and as the primary maintainer since around 1994. @@ -28213,9 +28230,6 @@ Bash The GNU version of the standard shell (the Bourne-Again SHell). See also "Bourne Shell." -BBS - See "Bulletin Board System." - Bit Short for "Binary Digit." All values in computer memory ultimately reduce to binary digits: values that are either zero or @@ -28261,11 +28275,6 @@ Built-in Variable Braces See "Curly Braces." -Bulletin Board System - A computer system allowing users to log in and read and/or leave - messages for other users of the system, much like leaving paper - notes on a bulletin board. - C The system programming language that most GNU software is written in. The `awk' programming language has C-like syntax, and this @@ -30352,7 +30361,7 @@ Index (line 6) * artificial intelligence, gawk and: Distribution contents. (line 52) -* ASCII <1>: Glossary. (line 141) +* ASCII <1>: Glossary. (line 133) * ASCII: Ordinal Functions. (line 45) * asort() function (gawk) <1>: Array Sorting Functions. (line 6) @@ -30497,7 +30506,6 @@ Index (line 112) * backslash (\), in regexp constants: Computed Regexps. (line 28) * backtrace debugger command: Execution Stack. (line 13) -* BBS-list file: Sample Data Files. (line 6) * Beebe, Nelson H.F. <1>: Other Versions. (line 78) * Beebe, Nelson H.F.: Acknowledgments. (line 60) * BEGIN pattern <1>: Profiling. (line 62) @@ -30506,7 +30514,7 @@ Index * BEGIN pattern: Records. (line 29) * BEGIN pattern, assert() user-defined function and: Assert Function. (line 83) -* BEGIN pattern, Boolean patterns and: Expression Patterns. (line 73) +* BEGIN pattern, Boolean patterns and: Expression Patterns. (line 70) * BEGIN pattern, exit statement and: Exit Statement. (line 12) * BEGIN pattern, getline and: Getline Notes. (line 19) * BEGIN pattern, headings, adding: Print Examples. (line 43) @@ -30523,9 +30531,9 @@ Index * BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 60) * BEGINFILE pattern: BEGINFILE/ENDFILE. (line 6) * BEGINFILE pattern, Boolean patterns and: Expression Patterns. - (line 73) + (line 70) * beginfile() user-defined function: Filetrans Function. (line 62) -* Bentley, Jon: Glossary. (line 151) +* Bentley, Jon: Glossary. (line 143) * Benzinger, Michael: Contributors. (line 97) * Berry, Karl <1>: Ranges and Locales. (line 74) * Berry, Karl: Acknowledgments. (line 33) @@ -30544,7 +30552,7 @@ Index * body, in actions: Statements. (line 10) * body, in loops: While Statement. (line 14) * Boolean expressions: Boolean Ops. (line 6) -* Boolean expressions, as patterns: Expression Patterns. (line 41) +* Boolean expressions, as patterns: Expression Patterns. (line 39) * Boolean operators, See Boolean expressions: Boolean Ops. (line 6) * Bourne shell, quoting rules for: Quoting. (line 18) * braces ({}): Profiling. (line 142) @@ -30593,7 +30601,7 @@ Index * Brini, Davide: Signature Program. (line 6) * Broder, Alan J.: Contributors. (line 88) * Brown, Martin: Contributors. (line 82) -* BSD-based operating systems: Glossary. (line 624) +* BSD-based operating systems: Glossary. (line 616) * bt debugger command (alias for backtrace): Execution Stack. (line 13) * Buening, Andreas <1>: Bugs. (line 71) * Buening, Andreas <2>: Contributors. (line 92) @@ -30636,7 +30644,7 @@ Index * character classes, See bracket expressions: Regexp Operators. (line 55) * character lists, See bracket expressions: Regexp Operators. (line 55) -* character sets (machine character encodings) <1>: Glossary. (line 141) +* character sets (machine character encodings) <1>: Glossary. (line 133) * character sets (machine character encodings): Ordinal Functions. (line 45) * character sets, See Also bracket expressions: Regexp Operators. @@ -30647,7 +30655,7 @@ Index * Chassell, Robert J.: Acknowledgments. (line 33) * chdir() extension function: Extension Sample File Functions. (line 12) -* chem utility: Glossary. (line 151) +* chem utility: Glossary. (line 143) * chr() extension function: Extension Sample Ord. (line 15) * chr() user-defined function: Ordinal Functions. (line 16) @@ -30670,6 +30678,7 @@ Index * Collado, Manuel: Acknowledgments. (line 60) * collating elements: Bracket Expressions. (line 69) * collating symbols: Bracket Expressions. (line 76) +* Colombo, Antonio <1>: Contributors. (line 135) * Colombo, Antonio: Acknowledgments. (line 60) * columns, aligning: Print Examples. (line 70) * columns, cutting: Cut Program. (line 6) @@ -30706,7 +30715,7 @@ Index * common extensions, func keyword: Definition Syntax. (line 83) * common extensions, length() applied to an array: String Functions. (line 193) -* common extensions, RS as a regexp: Records. (line 120) +* common extensions, RS as a regexp: Records. (line 135) * common extensions, single character fields: Single Character Fields. (line 6) * comp.lang.awk newsgroup: Bugs. (line 38) @@ -30722,7 +30731,7 @@ Index * compatibility mode (gawk), octal numbers: Nondecimal-numbers. (line 60) * compatibility mode (gawk), specifying: Options. (line 81) -* compiled programs <1>: Glossary. (line 165) +* compiled programs <1>: Glossary. (line 157) * compiled programs: Basic High Level. (line 15) * compiling gawk for Cygwin: Cygwin. (line 6) * compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 13) @@ -30764,7 +30773,7 @@ Index * CONVFMT variable: Conversion. (line 29) * CONVFMT variable, array subscripts and: Numeric Array Subscripts. (line 6) -* cookie: Glossary. (line 157) +* cookie: Glossary. (line 149) * coprocesses <1>: Two-way I/O. (line 44) * coprocesses: Redirection. (line 102) * coprocesses, closing: Close Files And Pipes. @@ -30783,7 +30792,7 @@ Index * cut.awk program: Cut Program. (line 45) * d debugger command (alias for delete): Breakpoint Control. (line 64) * d.c., See dark corner: Conventions. (line 38) -* dark corner <1>: Glossary. (line 197) +* dark corner <1>: Glossary. (line 189) * dark corner: Conventions. (line 38) * dark corner, "0" is actually true: Truth Values. (line 24) * dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops. @@ -30810,7 +30819,7 @@ Index * dark corner, format-control characters: Control Letters. (line 18) * dark corner, FS as null string: Single Character Fields. (line 20) -* dark corner, input files: Records. (line 103) +* dark corner, input files: Records. (line 118) * dark corner, invoking awk: Command Line. (line 16) * dark corner, length() function: String Functions. (line 179) * dark corner, locale's decimal point character: Conversion. (line 77) @@ -30824,7 +30833,7 @@ Index * dark corner, regexp constants, as arguments to user-defined functions: Using Constant Regexps. (line 43) * dark corner, split() function: String Functions. (line 358) -* dark corner, strings, storing: Records. (line 195) +* dark corner, strings, storing: Records. (line 210) * dark corner, value of ARGV[0]: Auto-set. (line 35) * data, fixed-width: Constant Size. (line 10) * data-driven languages: Basic High Level. (line 85) @@ -31006,19 +31015,19 @@ Index * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) * differences in awk and gawk, PROCINFO array: Auto-set. (line 133) -* differences in awk and gawk, record separators: Records. (line 117) +* differences in awk and gawk, record separators: Records. (line 132) * differences in awk and gawk, regexp constants: Using Constant Regexps. (line 43) * differences in awk and gawk, regular expressions: Case-sensitivity. (line 26) -* differences in awk and gawk, RS/RT variables: Records. (line 172) +* differences in awk and gawk, RS/RT variables: Records. (line 187) * differences in awk and gawk, RT variable: Auto-set. (line 266) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. (line 346) * differences in awk and gawk, strings: Scalar Constants. (line 20) -* differences in awk and gawk, strings, storing: Records. (line 191) +* differences in awk and gawk, strings, storing: Records. (line 206) * differences in awk and gawk, SYMTAB variable: Auto-set. (line 274) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 162) @@ -31076,7 +31085,7 @@ Index * END pattern, assert() user-defined function and: Assert Function. (line 75) * END pattern, backslash continuation and: Egrep Program. (line 220) -* END pattern, Boolean patterns and: Expression Patterns. (line 73) +* END pattern, Boolean patterns and: Expression Patterns. (line 70) * END pattern, exit statement and: Exit Statement. (line 12) * END pattern, next/nextfile statements and <1>: Next Statement. (line 45) @@ -31085,7 +31094,7 @@ Index * END pattern, operators and: Using BEGIN/END. (line 17) * END pattern, print statement and: I/O And BEGIN/END. (line 16) * ENDFILE pattern: BEGINFILE/ENDFILE. (line 6) -* ENDFILE pattern, Boolean patterns and: Expression Patterns. (line 73) +* ENDFILE pattern, Boolean patterns and: Expression Patterns. (line 70) * endfile() user-defined function: Filetrans Function. (line 62) * endgrent() function (C library): Group Functions. (line 215) * endgrent() user-defined function: Group Functions. (line 218) @@ -31093,7 +31102,7 @@ Index * endpwent() user-defined function: Passwd Functions. (line 213) * ENVIRON array: Auto-set. (line 60) * environment variables: Auto-set. (line 60) -* epoch, definition of: Glossary. (line 243) +* epoch, definition of: Glossary. (line 235) * equals sign (=), = operator: Assignment Ops. (line 6) * equals sign (=), == operator <1>: Precedence. (line 65) * equals sign (=), == operator: Comparison Operators. @@ -31163,7 +31172,7 @@ Index * extensions, common, func keyword: Definition Syntax. (line 83) * extensions, common, length() applied to an array: String Functions. (line 193) -* extensions, common, RS as a regexp: Records. (line 120) +* extensions, common, RS as a regexp: Records. (line 135) * extensions, common, single character fields: Single Character Fields. (line 6) * extensions, in gawk, not in POSIX awk: POSIX/GNU. (line 6) @@ -31236,7 +31245,7 @@ Index * files, /inet/... (gawk): TCP/IP Networking. (line 6) * files, /inet4/... (gawk): TCP/IP Networking. (line 6) * files, /inet6/... (gawk): TCP/IP Networking. (line 6) -* files, as single records: Records. (line 204) +* files, as single records: Records. (line 219) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 6) * files, awkvars.out: Options. (line 93) @@ -31316,10 +31325,10 @@ Index * frame debugger command: Execution Stack. (line 25) * Free Documentation License (FDL): GNU Free Documentation License. (line 6) -* Free Software Foundation (FSF) <1>: Glossary. (line 305) +* Free Software Foundation (FSF) <1>: Glossary. (line 297) * Free Software Foundation (FSF) <2>: Getting. (line 10) * Free Software Foundation (FSF): Manual History. (line 6) -* FreeBSD: Glossary. (line 624) +* FreeBSD: Glossary. (line 616) * FS variable <1>: User-modified. (line 56) * FS variable: Field Separators. (line 15) * FS variable, --field-separator option and: Options. (line 21) @@ -31332,7 +31341,7 @@ Index (line 6) * FS, containing ^: Regexp Field Splitting. (line 59) -* FSF (Free Software Foundation) <1>: Glossary. (line 305) +* FSF (Free Software Foundation) <1>: Glossary. (line 297) * FSF (Free Software Foundation) <2>: Getting. (line 10) * FSF (Free Software Foundation): Manual History. (line 6) * fts() extension function: Extension Sample File Functions. @@ -31466,7 +31475,7 @@ Index * gawk, RT variable in <2>: Getline/Variable/File. (line 10) * gawk, RT variable in <3>: Multiple Line. (line 129) -* gawk, RT variable in: Records. (line 117) +* gawk, RT variable in: Records. (line 132) * gawk, See Also awk: Preface. (line 36) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 88) @@ -31480,7 +31489,7 @@ Index * gawk, word-boundary operator: GNU Regexp Operators. (line 63) * gawkextlib project: gawkextlib. (line 6) -* General Public License (GPL): Glossary. (line 314) +* General Public License (GPL): Glossary. (line 306) * General Public License, See GPL: Manual History. (line 11) * gensub() function (gawk) <1>: String Functions. (line 81) * gensub() function (gawk): Using Constant Regexps. @@ -31537,18 +31546,18 @@ Index * GNU awk, See gawk: Preface. (line 49) * GNU Free Documentation License: GNU Free Documentation License. (line 6) -* GNU General Public License: Glossary. (line 314) -* GNU Lesser General Public License: Glossary. (line 405) +* GNU General Public License: Glossary. (line 306) +* GNU Lesser General Public License: Glossary. (line 397) * GNU long options <1>: Options. (line 6) * GNU long options: Command Line. (line 13) * GNU long options, printing list of: Options. (line 154) -* GNU Project <1>: Glossary. (line 323) +* GNU Project <1>: Glossary. (line 315) * GNU Project: Manual History. (line 11) -* GNU/Linux <1>: Glossary. (line 624) +* GNU/Linux <1>: Glossary. (line 616) * GNU/Linux <2>: I18N Example. (line 55) * GNU/Linux: Manual History. (line 28) * Gordon, Assaf: Contributors. (line 105) -* GPL (General Public License) <1>: Glossary. (line 314) +* GPL (General Public License) <1>: Glossary. (line 306) * GPL (General Public License): Manual History. (line 11) * GPL (General Public License), printing: Options. (line 88) * grcat program: Group Functions. (line 16) @@ -31674,19 +31683,19 @@ Index * internationalization, localization, portability and: I18N Portability. (line 6) * internationalizing a program: Explaining gettext. (line 6) -* interpreted programs <1>: Glossary. (line 365) +* interpreted programs <1>: Glossary. (line 357) * interpreted programs: Basic High Level. (line 15) * interval expressions: Regexp Operators. (line 116) * inventory-shipped file: Sample Data Files. (line 32) * isarray() function (gawk): Type Functions. (line 11) -* ISO: Glossary. (line 376) -* ISO 8859-1: Glossary. (line 141) -* ISO Latin-1: Glossary. (line 141) +* ISO: Glossary. (line 368) +* ISO 8859-1: Glossary. (line 133) +* ISO Latin-1: Glossary. (line 133) * Jacobs, Andrew: Passwd Functions. (line 90) * Jaegermann, Michal <1>: Contributors. (line 45) * Jaegermann, Michal: Acknowledgments. (line 60) * Java implementation of awk: Other Versions. (line 112) -* Java programming language: Glossary. (line 388) +* Java programming language: Glossary. (line 380) * jawk: Other Versions. (line 112) * Jedi knights: Undocumented. (line 6) * join() user-defined function: Join Function. (line 18) @@ -31694,7 +31703,7 @@ Index * Kahrs, Ju"rgen: Acknowledgments. (line 60) * Kasal, Stepan: Acknowledgments. (line 60) * Kenobi, Obi-Wan: Undocumented. (line 6) -* Kernighan, Brian <1>: Glossary. (line 151) +* Kernighan, Brian <1>: Glossary. (line 143) * Kernighan, Brian <2>: Basic Data Typing. (line 55) * Kernighan, Brian <3>: Other Versions. (line 13) * Kernighan, Brian <4>: Contributors. (line 11) @@ -31735,8 +31744,8 @@ Index * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) * length() function: String Functions. (line 163) -* Lesser General Public License (LGPL): Glossary. (line 405) -* LGPL (Lesser General Public License): Glossary. (line 405) +* Lesser General Public License (LGPL): Glossary. (line 397) +* LGPL (Lesser General Public License): Glossary. (line 397) * libmawk: Other Versions. (line 120) * libraries of awk functions: Library Functions. (line 6) * libraries of awk functions, assertions: Assert Function. (line 6) @@ -31781,7 +31790,7 @@ Index * lint checking, undefined functions: Pass By Value/Reference. (line 88) * LINT variable: User-modified. (line 98) -* Linux <1>: Glossary. (line 624) +* Linux <1>: Glossary. (line 616) * Linux <2>: I18N Example. (line 55) * Linux: Manual History. (line 28) * list debugger command: Miscellaneous Debugger Commands. @@ -31813,6 +31822,7 @@ Index * ls utility: More Complex. (line 15) * lshift() function (gawk): Bitwise Functions. (line 46) * lvalues/rvalues: Assignment Ops. (line 32) +* mail-list file: Sample Data Files. (line 6) * mailing labels, printing: Labels Program. (line 6) * mailing list, GNITS: Acknowledgments. (line 52) * Malmberg, John <1>: Bugs. (line 72) @@ -31862,7 +31872,7 @@ Index * namespace issues, functions: Definition Syntax. (line 20) * nawk utility: Names. (line 17) * negative zero: Unexpected Results. (line 34) -* NetBSD: Glossary. (line 624) +* NetBSD: Glossary. (line 616) * networks, programming: TCP/IP Networking. (line 6) * networks, support for: Special Network. (line 6) * newlines <1>: Boolean Ops. (line 67) @@ -31909,7 +31919,7 @@ Index * null strings <2>: Truth Values. (line 6) * null strings <3>: Regexp Field Splitting. (line 43) -* null strings: Records. (line 107) +* null strings: Records. (line 122) * null strings, array elements and: Delete. (line 27) * null strings, as array subscripts: Uninitialized Subscripts. (line 43) @@ -31947,7 +31957,7 @@ Index * OFS variable <1>: User-modified. (line 124) * OFS variable <2>: Output Separators. (line 6) * OFS variable: Changing Fields. (line 64) -* OpenBSD: Glossary. (line 624) +* OpenBSD: Glossary. (line 616) * OpenSolaris: Other Versions. (line 96) * operating systems, BSD-based: Manual History. (line 28) * operating systems, PC, gawk on: PC Using. (line 6) @@ -32018,7 +32028,7 @@ Index * output, standard: Special FD. (line 6) * p debugger command (alias for print): Viewing And Changing Data. (line 36) -* P1003.1 POSIX standard: Glossary. (line 462) +* P1003.1 POSIX standard: Glossary. (line 454) * parentheses () <1>: Profiling. (line 146) * parentheses (): Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) @@ -32031,7 +32041,7 @@ Index * patterns, empty: Empty. (line 6) * patterns, expressions as: Regexp Patterns. (line 6) * patterns, ranges in: Ranges. (line 6) -* patterns, regexp constants as: Expression Patterns. (line 36) +* patterns, regexp constants as: Expression Patterns. (line 34) * patterns, types of: Pattern Overview. (line 15) * pawk (profiling version of Brian Kernighan's awk): Other Versions. (line 78) @@ -32069,7 +32079,7 @@ Index (line 112) * portability, close() function and: Close Files And Pipes. (line 81) -* portability, data files as single record: Records. (line 179) +* portability, data files as single record: Records. (line 194) * portability, deleting array elements: Delete. (line 56) * portability, example programs: Library Functions. (line 42) * portability, functions, defining: Definition Syntax. (line 99) @@ -32209,7 +32219,7 @@ Index * programming languages, Ada: Glossary. (line 20) * programming languages, data-driven vs. procedural: Getting Started. (line 12) -* programming languages, Java: Glossary. (line 388) +* programming languages, Java: Glossary. (line 380) * programming, basic steps: Basic High Level. (line 20) * programming, concepts: Basic Concepts. (line 6) * pwcat program: Passwd Functions. (line 23) @@ -32260,16 +32270,16 @@ Index * recipe for a programming language: History. (line 6) * record separators <1>: User-modified. (line 143) * record separators: Records. (line 14) -* record separators, changing: Records. (line 81) -* record separators, regular expressions as: Records. (line 117) +* record separators, changing: Records. (line 93) +* record separators, regular expressions as: Records. (line 132) * record separators, with multiline records: Multiple Line. (line 10) * records <1>: Basic High Level. (line 73) * records: Reading Files. (line 14) * records, multiline: Multiple Line. (line 6) * records, printing: Print. (line 22) * records, splitting input into: Records. (line 6) -* records, terminating: Records. (line 117) -* records, treating files as: Records. (line 204) +* records, terminating: Records. (line 132) +* records, treating files as: Records. (line 219) * recursive functions: Definition Syntax. (line 73) * redirection of input: Getline/File. (line 6) * redirection of output: Redirection. (line 6) @@ -32280,7 +32290,7 @@ Index * regexp constants <2>: Regexp Constants. (line 6) * regexp constants: Regexp Usage. (line 57) * regexp constants, /=.../, /= operator and: Assignment Ops. (line 147) -* regexp constants, as patterns: Expression Patterns. (line 36) +* regexp constants, as patterns: Expression Patterns. (line 34) * regexp constants, in gawk: Using Constant Regexps. (line 28) * regexp constants, slashes vs. quotes: Computed Regexps. (line 28) @@ -32293,7 +32303,7 @@ Index (line 6) * regular expressions, as patterns <1>: Regexp Patterns. (line 6) * regular expressions, as patterns: Regexp Usage. (line 6) -* regular expressions, as record separators: Records. (line 117) +* regular expressions, as record separators: Records. (line 132) * regular expressions, case sensitivity <1>: User-modified. (line 82) * regular expressions, case sensitivity: Case-sensitivity. (line 6) * regular expressions, computed: Computed Regexps. (line 6) @@ -32346,13 +32356,13 @@ Index * RLENGTH variable, match() function and: String Functions. (line 220) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) -* Robbins, Arnold <3>: Contributors. (line 135) +* Robbins, Arnold <3>: Contributors. (line 139) * Robbins, Arnold <4>: General Data Types. (line 6) * Robbins, Arnold <5>: Alarm Program. (line 6) * Robbins, Arnold <6>: Passwd Functions. (line 90) * Robbins, Arnold <7>: Getline/Pipe. (line 39) * Robbins, Arnold: Command Line Field Separator. - (line 80) + (line 73) * Robbins, Bill: Getline/Pipe. (line 39) * Robbins, Harry: Acknowledgments. (line 78) * Robbins, Jean: Acknowledgments. (line 78) @@ -32376,7 +32386,7 @@ Index * RT variable <2>: Getline/Variable/File. (line 10) * RT variable <3>: Multiple Line. (line 129) -* RT variable: Records. (line 117) +* RT variable: Records. (line 132) * Rubin, Paul <1>: Contributors. (line 15) * Rubin, Paul: History. (line 30) * rule, definition of: Getting Started. (line 21) @@ -32421,7 +32431,7 @@ Index * separators, field, POSIX and: Fields. (line 6) * separators, for records <1>: User-modified. (line 143) * separators, for records: Records. (line 14) -* separators, for records, regular expressions as: Records. (line 117) +* separators, for records, regular expressions as: Records. (line 132) * separators, for statements in actions: Action Overview. (line 19) * separators, subscript: User-modified. (line 156) * set debugger command: Viewing And Changing Data. @@ -32471,7 +32481,7 @@ Index * sidebar, Piping into sh: Redirection. (line 140) * sidebar, Portability Issues with #!: Executable Scripts. (line 31) * sidebar, Recipe For A Programming Language: History. (line 6) -* sidebar, RS = "\0" Is Not Portable: Records. (line 177) +* sidebar, RS = "\0" Is Not Portable: Records. (line 192) * sidebar, So Why Does gawk have BEGINFILE and ENDFILE?: Filetrans Function. (line 83) * sidebar, Syntactic Ambiguities Between /= and Regular Expressions: Assignment Ops. @@ -32541,7 +32551,7 @@ Index * sqrt() function: Numeric Functions. (line 78) * square brackets ([]): Regexp Operators. (line 55) * srand() function: Numeric Functions. (line 82) -* Stallman, Richard <1>: Glossary. (line 305) +* Stallman, Richard <1>: Glossary. (line 297) * Stallman, Richard <2>: Contributors. (line 23) * Stallman, Richard <3>: Acknowledgments. (line 18) * Stallman, Richard: Manual History. (line 6) @@ -32571,7 +32581,7 @@ Index * strings, converting <1>: Bitwise Functions. (line 109) * strings, converting: Conversion. (line 6) * strings, converting, numbers to: User-modified. (line 28) -* strings, empty, See null strings: Records. (line 107) +* strings, empty, See null strings: Records. (line 122) * strings, extracting: String Extraction. (line 6) * strings, for localization: Programmer i18n. (line 14) * strings, length of: Scalar Constants. (line 20) @@ -32613,7 +32623,7 @@ Index * TCP/IP, support for: Special Network. (line 6) * tee utility: Tee Program. (line 6) * tee.awk program: Tee Program. (line 26) -* terminating records: Records. (line 117) +* terminating records: Records. (line 132) * testbits.awk program: Bitwise Functions. (line 70) * testext extension: Extension Sample API Tests. (line 6) @@ -32709,20 +32719,20 @@ Index * undisplay debugger command: Viewing And Changing Data. (line 80) * undocumented features: Undocumented. (line 6) -* Unicode <1>: Glossary. (line 141) +* Unicode <1>: Glossary. (line 133) * Unicode <2>: Ranges and Locales. (line 61) * Unicode: Ordinal Functions. (line 45) * uninitialized variables, as array subscripts: Uninitialized Subscripts. (line 6) * uniq utility: Uniq Program. (line 6) * uniq.awk program: Uniq Program. (line 65) -* Unix: Glossary. (line 624) +* Unix: Glossary. (line 616) * Unix awk, backslashes in escape sequences: Escape Sequences. (line 124) * Unix awk, close() function and: Close Files And Pipes. (line 130) * Unix awk, password files, field separators and: Command Line Field Separator. - (line 72) + (line 64) * Unix, awk scripts and: Executable Scripts. (line 6) * UNIXROOT variable, on OS/2 systems: PC Using. (line 16) * unsigned integers: General Arithmetic. (line 15) @@ -32887,499 +32897,499 @@ Node: Comments80254 Node: Quoting82721 Node: DOS Quoting87344 Node: Sample Data Files88019 -Node: Very Simple90405 -Node: Two Rules95004 -Node: More Complex97151 -Ref: More Complex-Footnote-1100081 -Node: Statements/Lines100166 -Ref: Statements/Lines-Footnote-1104628 -Node: Other Features104893 -Node: When105821 -Node: Invoking Gawk107968 -Node: Command Line109431 -Node: Options110214 -Ref: Options-Footnote-1125609 -Node: Other Arguments125634 -Node: Naming Standard Input128292 -Node: Environment Variables129386 -Node: AWKPATH Variable129944 -Ref: AWKPATH Variable-Footnote-1132702 -Node: AWKLIBPATH Variable132962 -Node: Other Environment Variables133680 -Node: Exit Status136643 -Node: Include Files137318 -Node: Loading Shared Libraries140887 -Node: Obsolete142251 -Node: Undocumented142948 -Node: Regexp143190 -Node: Regexp Usage144579 -Node: Escape Sequences146605 -Node: Regexp Operators152274 -Ref: Regexp Operators-Footnote-1159654 -Ref: Regexp Operators-Footnote-2159801 -Node: Bracket Expressions159899 -Ref: table-char-classes161789 -Node: GNU Regexp Operators164312 -Node: Case-sensitivity168035 -Ref: Case-sensitivity-Footnote-1171003 -Ref: Case-sensitivity-Footnote-2171238 -Node: Leftmost Longest171346 -Node: Computed Regexps172547 -Node: Reading Files175884 -Node: Records177886 -Ref: Records-Footnote-1186974 -Node: Fields187011 -Ref: Fields-Footnote-1190044 -Node: Nonconstant Fields190130 -Node: Changing Fields192332 -Node: Field Separators198291 -Node: Default Field Splitting200993 -Node: Regexp Field Splitting202110 -Node: Single Character Fields205452 -Node: Command Line Field Separator206511 -Node: Full Line Fields209945 -Ref: Full Line Fields-Footnote-1210453 -Node: Field Splitting Summary210499 -Ref: Field Splitting Summary-Footnote-1213598 -Node: Constant Size213699 -Node: Splitting By Content218306 -Ref: Splitting By Content-Footnote-1222055 -Node: Multiple Line222095 -Ref: Multiple Line-Footnote-1227942 -Node: Getline228121 -Node: Plain Getline230337 -Node: Getline/Variable232432 -Node: Getline/File233579 -Node: Getline/Variable/File234920 -Ref: Getline/Variable/File-Footnote-1236519 -Node: Getline/Pipe236606 -Node: Getline/Variable/Pipe239305 -Node: Getline/Coprocess240412 -Node: Getline/Variable/Coprocess241664 -Node: Getline Notes242401 -Node: Getline Summary245188 -Ref: table-getline-variants245596 -Node: Read Timeout246508 -Ref: Read Timeout-Footnote-1250249 -Node: Command line directories250306 -Node: Printing250936 -Node: Print252567 -Node: Print Examples253904 -Node: Output Separators256688 -Node: OFMT258448 -Node: Printf259806 -Node: Basic Printf260712 -Node: Control Letters262251 -Node: Format Modifiers266063 -Node: Printf Examples272072 -Node: Redirection274787 -Node: Special Files281752 -Node: Special FD282285 -Ref: Special FD-Footnote-1285910 -Node: Special Network285984 -Node: Special Caveats286834 -Node: Close Files And Pipes287630 -Ref: Close Files And Pipes-Footnote-1294613 -Ref: Close Files And Pipes-Footnote-2294761 -Node: Expressions294911 -Node: Values296043 -Node: Constants296719 -Node: Scalar Constants297399 -Ref: Scalar Constants-Footnote-1298258 -Node: Nondecimal-numbers298440 -Node: Regexp Constants301440 -Node: Using Constant Regexps301915 -Node: Variables304970 -Node: Using Variables305625 -Node: Assignment Options307349 -Node: Conversion309221 -Ref: table-locale-affects314721 -Ref: Conversion-Footnote-1315345 -Node: All Operators315454 -Node: Arithmetic Ops316084 -Node: Concatenation318589 -Ref: Concatenation-Footnote-1321381 -Node: Assignment Ops321501 -Ref: table-assign-ops326489 -Node: Increment Ops327820 -Node: Truth Values and Conditions331254 -Node: Truth Values332337 -Node: Typing and Comparison333386 -Node: Variable Typing334179 -Ref: Variable Typing-Footnote-1338076 -Node: Comparison Operators338198 -Ref: table-relational-ops338608 -Node: POSIX String Comparison342156 -Ref: POSIX String Comparison-Footnote-1343112 -Node: Boolean Ops343250 -Ref: Boolean Ops-Footnote-1347328 -Node: Conditional Exp347419 -Node: Function Calls349151 -Node: Precedence352745 -Node: Locales356414 -Node: Patterns and Actions357503 -Node: Pattern Overview358557 -Node: Regexp Patterns360226 -Node: Expression Patterns360769 -Node: Ranges364454 -Node: BEGIN/END367558 -Node: Using BEGIN/END368320 -Ref: Using BEGIN/END-Footnote-1371051 -Node: I/O And BEGIN/END371157 -Node: BEGINFILE/ENDFILE373439 -Node: Empty376353 -Node: Using Shell Variables376669 -Node: Action Overview378954 -Node: Statements381311 -Node: If Statement383165 -Node: While Statement384664 -Node: Do Statement386708 -Node: For Statement387864 -Node: Switch Statement391016 -Node: Break Statement393170 -Node: Continue Statement395160 -Node: Next Statement396953 -Node: Nextfile Statement399343 -Node: Exit Statement401998 -Node: Built-in Variables404414 -Node: User-modified405509 -Ref: User-modified-Footnote-1413867 -Node: Auto-set413929 -Ref: Auto-set-Footnote-1427007 -Ref: Auto-set-Footnote-2427212 -Node: ARGC and ARGV427268 -Node: Arrays431119 -Node: Array Basics432624 -Node: Array Intro433450 -Node: Reference to Elements437767 -Node: Assigning Elements440037 -Node: Array Example440528 -Node: Scanning an Array442260 -Node: Controlling Scanning444574 -Ref: Controlling Scanning-Footnote-1449661 -Node: Delete449977 -Ref: Delete-Footnote-1452742 -Node: Numeric Array Subscripts452799 -Node: Uninitialized Subscripts454982 -Node: Multidimensional456609 -Node: Multiscanning459702 -Node: Arrays of Arrays461291 -Node: Functions465931 -Node: Built-in466750 -Node: Calling Built-in467828 -Node: Numeric Functions469816 -Ref: Numeric Functions-Footnote-1473648 -Ref: Numeric Functions-Footnote-2474005 -Ref: Numeric Functions-Footnote-3474053 -Node: String Functions474322 -Ref: String Functions-Footnote-1497242 -Ref: String Functions-Footnote-2497371 -Ref: String Functions-Footnote-3497619 -Node: Gory Details497706 -Ref: table-sub-escapes499385 -Ref: table-sub-posix-92500739 -Ref: table-sub-proposed502090 -Ref: table-posix-sub503444 -Ref: table-gensub-escapes504989 -Ref: Gory Details-Footnote-1506165 -Ref: Gory Details-Footnote-2506216 -Node: I/O Functions506367 -Ref: I/O Functions-Footnote-1513357 -Node: Time Functions513504 -Ref: Time Functions-Footnote-1524437 -Ref: Time Functions-Footnote-2524505 -Ref: Time Functions-Footnote-3524663 -Ref: Time Functions-Footnote-4524774 -Ref: Time Functions-Footnote-5524886 -Ref: Time Functions-Footnote-6525113 -Node: Bitwise Functions525379 -Ref: table-bitwise-ops525941 -Ref: Bitwise Functions-Footnote-1530162 -Node: Type Functions530346 -Node: I18N Functions531497 -Node: User-defined533124 -Node: Definition Syntax533928 -Ref: Definition Syntax-Footnote-1538842 -Node: Function Example538911 -Ref: Function Example-Footnote-1541560 -Node: Function Caveats541582 -Node: Calling A Function542100 -Node: Variable Scope543055 -Node: Pass By Value/Reference546018 -Node: Return Statement549526 -Node: Dynamic Typing552507 -Node: Indirect Calls553438 -Node: Library Functions563125 -Ref: Library Functions-Footnote-1566638 -Ref: Library Functions-Footnote-2566781 -Node: Library Names566952 -Ref: Library Names-Footnote-1570425 -Ref: Library Names-Footnote-2570645 -Node: General Functions570731 -Node: Strtonum Function571759 -Node: Assert Function574689 -Node: Round Function578015 -Node: Cliff Random Function579556 -Node: Ordinal Functions580572 -Ref: Ordinal Functions-Footnote-1583649 -Ref: Ordinal Functions-Footnote-2583901 -Node: Join Function584112 -Ref: Join Function-Footnote-1585883 -Node: Getlocaltime Function586083 -Node: Readfile Function589824 -Node: Data File Management591663 -Node: Filetrans Function592295 -Node: Rewind Function596364 -Node: File Checking597751 -Node: Empty Files598845 -Node: Ignoring Assigns601075 -Node: Getopt Function602629 -Ref: Getopt Function-Footnote-1613932 -Node: Passwd Functions614135 -Ref: Passwd Functions-Footnote-1623113 -Node: Group Functions623201 -Node: Walking Arrays631285 -Node: Sample Programs633421 -Node: Running Examples634095 -Node: Clones634823 -Node: Cut Program636047 -Node: Egrep Program645898 -Ref: Egrep Program-Footnote-1653671 -Node: Id Program653781 -Node: Split Program657397 -Ref: Split Program-Footnote-1660916 -Node: Tee Program661044 -Node: Uniq Program663847 -Node: Wc Program671276 -Ref: Wc Program-Footnote-1675542 -Ref: Wc Program-Footnote-2675742 -Node: Miscellaneous Programs675834 -Node: Dupword Program677022 -Node: Alarm Program679053 -Node: Translate Program683860 -Ref: Translate Program-Footnote-1688247 -Ref: Translate Program-Footnote-2688495 -Node: Labels Program688629 -Ref: Labels Program-Footnote-1692000 -Node: Word Sorting692084 -Node: History Sorting695968 -Node: Extract Program697807 -Ref: Extract Program-Footnote-1705310 -Node: Simple Sed705438 -Node: Igawk Program708500 -Ref: Igawk Program-Footnote-1723657 -Ref: Igawk Program-Footnote-2723858 -Node: Anagram Program723996 -Node: Signature Program727064 -Node: Advanced Features728164 -Node: Nondecimal Data730050 -Node: Array Sorting731633 -Node: Controlling Array Traversal732330 -Node: Array Sorting Functions740614 -Ref: Array Sorting Functions-Footnote-1744483 -Node: Two-way I/O744677 -Ref: Two-way I/O-Footnote-1750109 -Node: TCP/IP Networking750191 -Node: Profiling753035 -Node: Internationalization760538 -Node: I18N and L10N761963 -Node: Explaining gettext762649 -Ref: Explaining gettext-Footnote-1767717 -Ref: Explaining gettext-Footnote-2767901 -Node: Programmer i18n768066 -Node: Translator i18n772268 -Node: String Extraction773062 -Ref: String Extraction-Footnote-1774023 -Node: Printf Ordering774109 -Ref: Printf Ordering-Footnote-1776891 -Node: I18N Portability776955 -Ref: I18N Portability-Footnote-1779404 -Node: I18N Example779467 -Ref: I18N Example-Footnote-1782105 -Node: Gawk I18N782177 -Node: Debugger782798 -Node: Debugging783769 -Node: Debugging Concepts784202 -Node: Debugging Terms786058 -Node: Awk Debugging788655 -Node: Sample Debugging Session789547 -Node: Debugger Invocation790067 -Node: Finding The Bug791400 -Node: List of Debugger Commands797887 -Node: Breakpoint Control799221 -Node: Debugger Execution Control802885 -Node: Viewing And Changing Data806245 -Node: Execution Stack809601 -Node: Debugger Info811068 -Node: Miscellaneous Debugger Commands815050 -Node: Readline Support820226 -Node: Limitations821057 -Node: Arbitrary Precision Arithmetic823309 -Ref: Arbitrary Precision Arithmetic-Footnote-1824958 -Node: General Arithmetic825106 -Node: Floating Point Issues826826 -Node: String Conversion Precision827707 -Ref: String Conversion Precision-Footnote-1829412 -Node: Unexpected Results829521 -Node: POSIX Floating Point Problems831674 -Ref: POSIX Floating Point Problems-Footnote-1835499 -Node: Integer Programming835537 -Node: Floating-point Programming837276 -Ref: Floating-point Programming-Footnote-1843607 -Ref: Floating-point Programming-Footnote-2843877 -Node: Floating-point Representation844141 -Node: Floating-point Context845306 -Ref: table-ieee-formats846145 -Node: Rounding Mode847529 -Ref: table-rounding-modes848008 -Ref: Rounding Mode-Footnote-1851023 -Node: Gawk and MPFR851202 -Node: Arbitrary Precision Floats852457 -Ref: Arbitrary Precision Floats-Footnote-1854900 -Node: Setting Precision855216 -Ref: table-predefined-precision-strings855902 -Node: Setting Rounding Mode858047 -Ref: table-gawk-rounding-modes858451 -Node: Floating-point Constants859638 -Node: Changing Precision861067 -Ref: Changing Precision-Footnote-1862464 -Node: Exact Arithmetic862638 -Node: Arbitrary Precision Integers865776 -Ref: Arbitrary Precision Integers-Footnote-1868791 -Node: Dynamic Extensions868938 -Node: Extension Intro870396 -Node: Plugin License871661 -Node: Extension Mechanism Outline872346 -Ref: load-extension872763 -Ref: load-new-function874241 -Ref: call-new-function875236 -Node: Extension API Description877251 -Node: Extension API Functions Introduction878538 -Node: General Data Types883465 -Ref: General Data Types-Footnote-1889160 -Node: Requesting Values889459 -Ref: table-value-types-returned890196 -Node: Memory Allocation Functions891150 -Ref: Memory Allocation Functions-Footnote-1893896 -Node: Constructor Functions893992 -Node: Registration Functions895750 -Node: Extension Functions896435 -Node: Exit Callback Functions898737 -Node: Extension Version String899986 -Node: Input Parsers900636 -Node: Output Wrappers910393 -Node: Two-way processors914903 -Node: Printing Messages917111 -Ref: Printing Messages-Footnote-1918188 -Node: Updating `ERRNO'918340 -Node: Accessing Parameters919079 -Node: Symbol Table Access920309 -Node: Symbol table by name920823 -Node: Symbol table by cookie922572 -Ref: Symbol table by cookie-Footnote-1926704 -Node: Cached values926767 -Ref: Cached values-Footnote-1930257 -Node: Array Manipulation930348 -Ref: Array Manipulation-Footnote-1931446 -Node: Array Data Types931485 -Ref: Array Data Types-Footnote-1934188 -Node: Array Functions934280 -Node: Flattening Arrays938116 -Node: Creating Arrays944968 -Node: Extension API Variables949693 -Node: Extension Versioning950329 -Node: Extension API Informational Variables952230 -Node: Extension API Boilerplate953316 -Node: Finding Extensions957120 -Node: Extension Example957680 -Node: Internal File Description958410 -Node: Internal File Ops962501 -Ref: Internal File Ops-Footnote-1974010 -Node: Using Internal File Ops974150 -Ref: Using Internal File Ops-Footnote-1976503 -Node: Extension Samples976769 -Node: Extension Sample File Functions978293 -Node: Extension Sample Fnmatch986778 -Node: Extension Sample Fork988547 -Node: Extension Sample Inplace989760 -Node: Extension Sample Ord991538 -Node: Extension Sample Readdir992374 -Node: Extension Sample Revout993906 -Node: Extension Sample Rev2way994499 -Node: Extension Sample Read write array995189 -Node: Extension Sample Readfile997072 -Node: Extension Sample API Tests997890 -Node: Extension Sample Time998415 -Node: gawkextlib999779 -Node: Language History1002560 -Node: V7/SVR3.11004153 -Node: SVR41006473 -Node: POSIX1007915 -Node: BTL1009301 -Node: POSIX/GNU1010035 -Node: Feature History1015634 -Node: Common Extensions1028610 -Node: Ranges and Locales1029922 -Ref: Ranges and Locales-Footnote-11034539 -Ref: Ranges and Locales-Footnote-21034566 -Ref: Ranges and Locales-Footnote-31034800 -Node: Contributors1035021 -Node: Installation1040248 -Node: Gawk Distribution1041142 -Node: Getting1041626 -Node: Extracting1042452 -Node: Distribution contents1044144 -Node: Unix Installation1049849 -Node: Quick Installation1050466 -Node: Additional Configuration Options1052912 -Node: Configuration Philosophy1054648 -Node: Non-Unix Installation1057002 -Node: PC Installation1057460 -Node: PC Binary Installation1058759 -Node: PC Compiling1060607 -Node: PC Testing1063551 -Node: PC Using1064727 -Node: Cygwin1068895 -Node: MSYS1069704 -Node: VMS Installation1070218 -Node: VMS Compilation1070982 -Ref: VMS Compilation-Footnote-11072234 -Node: VMS Dynamic Extensions1072292 -Node: VMS Installation Details1073665 -Node: VMS Running1075916 -Node: VMS GNV1078750 -Node: VMS Old Gawk1079473 -Node: Bugs1079943 -Node: Other Versions1083861 -Node: Notes1089945 -Node: Compatibility Mode1090745 -Node: Additions1091528 -Node: Accessing The Source1092455 -Node: Adding Code1093895 -Node: New Ports1099940 -Node: Derived Files1104075 -Ref: Derived Files-Footnote-11109396 -Ref: Derived Files-Footnote-21109430 -Ref: Derived Files-Footnote-31110030 -Node: Future Extensions1110128 -Node: Implementation Limitations1110711 -Node: Extension Design1111963 -Node: Old Extension Problems1113117 -Ref: Old Extension Problems-Footnote-11114625 -Node: Extension New Mechanism Goals1114682 -Ref: Extension New Mechanism Goals-Footnote-11118047 -Node: Extension Other Design Decisions1118233 -Node: Extension Future Growth1120339 -Node: Old Extension Mechanism1121175 -Node: Basic Concepts1122915 -Node: Basic High Level1123596 -Ref: figure-general-flow1123867 -Ref: figure-process-flow1124466 -Ref: Basic High Level-Footnote-11127695 -Node: Basic Data Typing1127880 -Node: Glossary1131235 -Node: Copying1156697 -Node: GNU Free Documentation License1194254 -Node: Index1219391 +Node: Very Simple90534 +Node: Two Rules95185 +Node: More Complex97083 +Ref: More Complex-Footnote-1100013 +Node: Statements/Lines100098 +Ref: Statements/Lines-Footnote-1104561 +Node: Other Features104826 +Node: When105754 +Node: Invoking Gawk107901 +Node: Command Line109364 +Node: Options110147 +Ref: Options-Footnote-1125542 +Node: Other Arguments125567 +Node: Naming Standard Input128225 +Node: Environment Variables129319 +Node: AWKPATH Variable129877 +Ref: AWKPATH Variable-Footnote-1132635 +Node: AWKLIBPATH Variable132895 +Node: Other Environment Variables133613 +Node: Exit Status136576 +Node: Include Files137251 +Node: Loading Shared Libraries140820 +Node: Obsolete142184 +Node: Undocumented142881 +Node: Regexp143123 +Node: Regexp Usage144512 +Node: Escape Sequences146537 +Node: Regexp Operators152206 +Ref: Regexp Operators-Footnote-1159586 +Ref: Regexp Operators-Footnote-2159733 +Node: Bracket Expressions159831 +Ref: table-char-classes161721 +Node: GNU Regexp Operators164244 +Node: Case-sensitivity167967 +Ref: Case-sensitivity-Footnote-1170935 +Ref: Case-sensitivity-Footnote-2171170 +Node: Leftmost Longest171278 +Node: Computed Regexps172479 +Node: Reading Files175816 +Node: Records177818 +Ref: Records-Footnote-1187341 +Node: Fields187378 +Ref: Fields-Footnote-1190334 +Node: Nonconstant Fields190420 +Node: Changing Fields192626 +Node: Field Separators198585 +Node: Default Field Splitting201287 +Node: Regexp Field Splitting202404 +Node: Single Character Fields205746 +Node: Command Line Field Separator206805 +Node: Full Line Fields210147 +Ref: Full Line Fields-Footnote-1210655 +Node: Field Splitting Summary210701 +Ref: Field Splitting Summary-Footnote-1213800 +Node: Constant Size213901 +Node: Splitting By Content218508 +Ref: Splitting By Content-Footnote-1222257 +Node: Multiple Line222297 +Ref: Multiple Line-Footnote-1228144 +Node: Getline228323 +Node: Plain Getline230539 +Node: Getline/Variable232634 +Node: Getline/File233781 +Node: Getline/Variable/File235122 +Ref: Getline/Variable/File-Footnote-1236721 +Node: Getline/Pipe236808 +Node: Getline/Variable/Pipe239507 +Node: Getline/Coprocess240614 +Node: Getline/Variable/Coprocess241866 +Node: Getline Notes242603 +Node: Getline Summary245390 +Ref: table-getline-variants245798 +Node: Read Timeout246710 +Ref: Read Timeout-Footnote-1250451 +Node: Command line directories250508 +Node: Printing251138 +Node: Print252769 +Node: Print Examples254106 +Node: Output Separators256890 +Node: OFMT258906 +Node: Printf260264 +Node: Basic Printf261170 +Node: Control Letters262709 +Node: Format Modifiers266521 +Node: Printf Examples272530 +Node: Redirection275242 +Node: Special Files282216 +Node: Special FD282749 +Ref: Special FD-Footnote-1286374 +Node: Special Network286448 +Node: Special Caveats287298 +Node: Close Files And Pipes288094 +Ref: Close Files And Pipes-Footnote-1295077 +Ref: Close Files And Pipes-Footnote-2295225 +Node: Expressions295375 +Node: Values296507 +Node: Constants297183 +Node: Scalar Constants297863 +Ref: Scalar Constants-Footnote-1298722 +Node: Nondecimal-numbers298904 +Node: Regexp Constants301904 +Node: Using Constant Regexps302379 +Node: Variables305434 +Node: Using Variables306089 +Node: Assignment Options307813 +Node: Conversion309688 +Ref: table-locale-affects315188 +Ref: Conversion-Footnote-1315812 +Node: All Operators315921 +Node: Arithmetic Ops316551 +Node: Concatenation319056 +Ref: Concatenation-Footnote-1321844 +Node: Assignment Ops321964 +Ref: table-assign-ops326952 +Node: Increment Ops328283 +Node: Truth Values and Conditions331717 +Node: Truth Values332800 +Node: Typing and Comparison333849 +Node: Variable Typing334642 +Ref: Variable Typing-Footnote-1338539 +Node: Comparison Operators338661 +Ref: table-relational-ops339071 +Node: POSIX String Comparison342619 +Ref: POSIX String Comparison-Footnote-1343575 +Node: Boolean Ops343713 +Ref: Boolean Ops-Footnote-1347783 +Node: Conditional Exp347874 +Node: Function Calls349606 +Node: Precedence353200 +Node: Locales356869 +Node: Patterns and Actions357958 +Node: Pattern Overview359012 +Node: Regexp Patterns360681 +Node: Expression Patterns361224 +Node: Ranges365005 +Node: BEGIN/END368109 +Node: Using BEGIN/END368871 +Ref: Using BEGIN/END-Footnote-1371607 +Node: I/O And BEGIN/END371713 +Node: BEGINFILE/ENDFILE373995 +Node: Empty376909 +Node: Using Shell Variables377226 +Node: Action Overview379511 +Node: Statements381868 +Node: If Statement383722 +Node: While Statement385221 +Node: Do Statement387265 +Node: For Statement388421 +Node: Switch Statement391573 +Node: Break Statement393727 +Node: Continue Statement395717 +Node: Next Statement397510 +Node: Nextfile Statement399900 +Node: Exit Statement402555 +Node: Built-in Variables404971 +Node: User-modified406066 +Ref: User-modified-Footnote-1414424 +Node: Auto-set414486 +Ref: Auto-set-Footnote-1427567 +Ref: Auto-set-Footnote-2427772 +Node: ARGC and ARGV427828 +Node: Arrays431682 +Node: Array Basics433187 +Node: Array Intro434013 +Node: Reference to Elements438330 +Node: Assigning Elements440600 +Node: Array Example441091 +Node: Scanning an Array442823 +Node: Controlling Scanning445137 +Ref: Controlling Scanning-Footnote-1450224 +Node: Delete450540 +Ref: Delete-Footnote-1453305 +Node: Numeric Array Subscripts453362 +Node: Uninitialized Subscripts455545 +Node: Multidimensional457172 +Node: Multiscanning460265 +Node: Arrays of Arrays461854 +Node: Functions466494 +Node: Built-in467313 +Node: Calling Built-in468391 +Node: Numeric Functions470379 +Ref: Numeric Functions-Footnote-1474211 +Ref: Numeric Functions-Footnote-2474568 +Ref: Numeric Functions-Footnote-3474616 +Node: String Functions474885 +Ref: String Functions-Footnote-1497805 +Ref: String Functions-Footnote-2497934 +Ref: String Functions-Footnote-3498182 +Node: Gory Details498269 +Ref: table-sub-escapes499948 +Ref: table-sub-posix-92501302 +Ref: table-sub-proposed502653 +Ref: table-posix-sub504007 +Ref: table-gensub-escapes505552 +Ref: Gory Details-Footnote-1506728 +Ref: Gory Details-Footnote-2506779 +Node: I/O Functions506930 +Ref: I/O Functions-Footnote-1513920 +Node: Time Functions514067 +Ref: Time Functions-Footnote-1525000 +Ref: Time Functions-Footnote-2525068 +Ref: Time Functions-Footnote-3525226 +Ref: Time Functions-Footnote-4525337 +Ref: Time Functions-Footnote-5525449 +Ref: Time Functions-Footnote-6525676 +Node: Bitwise Functions525942 +Ref: table-bitwise-ops526504 +Ref: Bitwise Functions-Footnote-1530725 +Node: Type Functions530909 +Node: I18N Functions532060 +Node: User-defined533687 +Node: Definition Syntax534491 +Ref: Definition Syntax-Footnote-1539405 +Node: Function Example539474 +Ref: Function Example-Footnote-1542123 +Node: Function Caveats542145 +Node: Calling A Function542663 +Node: Variable Scope543618 +Node: Pass By Value/Reference546581 +Node: Return Statement550089 +Node: Dynamic Typing553070 +Node: Indirect Calls554001 +Node: Library Functions563688 +Ref: Library Functions-Footnote-1567201 +Ref: Library Functions-Footnote-2567344 +Node: Library Names567515 +Ref: Library Names-Footnote-1570988 +Ref: Library Names-Footnote-2571208 +Node: General Functions571294 +Node: Strtonum Function572322 +Node: Assert Function575252 +Node: Round Function578578 +Node: Cliff Random Function580119 +Node: Ordinal Functions581135 +Ref: Ordinal Functions-Footnote-1584212 +Ref: Ordinal Functions-Footnote-2584464 +Node: Join Function584675 +Ref: Join Function-Footnote-1586446 +Node: Getlocaltime Function586646 +Node: Readfile Function590387 +Node: Data File Management592226 +Node: Filetrans Function592858 +Node: Rewind Function596927 +Node: File Checking598314 +Node: Empty Files599408 +Node: Ignoring Assigns601638 +Node: Getopt Function603192 +Ref: Getopt Function-Footnote-1614495 +Node: Passwd Functions614698 +Ref: Passwd Functions-Footnote-1623676 +Node: Group Functions623764 +Node: Walking Arrays631848 +Node: Sample Programs633984 +Node: Running Examples634658 +Node: Clones635386 +Node: Cut Program636610 +Node: Egrep Program646461 +Ref: Egrep Program-Footnote-1654234 +Node: Id Program654344 +Node: Split Program657960 +Ref: Split Program-Footnote-1661479 +Node: Tee Program661607 +Node: Uniq Program664410 +Node: Wc Program671839 +Ref: Wc Program-Footnote-1676105 +Ref: Wc Program-Footnote-2676305 +Node: Miscellaneous Programs676397 +Node: Dupword Program677585 +Node: Alarm Program679616 +Node: Translate Program684423 +Ref: Translate Program-Footnote-1688810 +Ref: Translate Program-Footnote-2689058 +Node: Labels Program689192 +Ref: Labels Program-Footnote-1692563 +Node: Word Sorting692647 +Node: History Sorting696531 +Node: Extract Program698370 +Ref: Extract Program-Footnote-1705873 +Node: Simple Sed706001 +Node: Igawk Program709063 +Ref: Igawk Program-Footnote-1724220 +Ref: Igawk Program-Footnote-2724421 +Node: Anagram Program724559 +Node: Signature Program727627 +Node: Advanced Features728727 +Node: Nondecimal Data730613 +Node: Array Sorting732196 +Node: Controlling Array Traversal732893 +Node: Array Sorting Functions741177 +Ref: Array Sorting Functions-Footnote-1745046 +Node: Two-way I/O745240 +Ref: Two-way I/O-Footnote-1750672 +Node: TCP/IP Networking750754 +Node: Profiling753598 +Node: Internationalization761101 +Node: I18N and L10N762526 +Node: Explaining gettext763212 +Ref: Explaining gettext-Footnote-1768280 +Ref: Explaining gettext-Footnote-2768464 +Node: Programmer i18n768629 +Node: Translator i18n772831 +Node: String Extraction773625 +Ref: String Extraction-Footnote-1774586 +Node: Printf Ordering774672 +Ref: Printf Ordering-Footnote-1777454 +Node: I18N Portability777518 +Ref: I18N Portability-Footnote-1779967 +Node: I18N Example780030 +Ref: I18N Example-Footnote-1782668 +Node: Gawk I18N782740 +Node: Debugger783361 +Node: Debugging784332 +Node: Debugging Concepts784765 +Node: Debugging Terms786621 +Node: Awk Debugging789218 +Node: Sample Debugging Session790110 +Node: Debugger Invocation790630 +Node: Finding The Bug791963 +Node: List of Debugger Commands798450 +Node: Breakpoint Control799784 +Node: Debugger Execution Control803448 +Node: Viewing And Changing Data806808 +Node: Execution Stack810164 +Node: Debugger Info811631 +Node: Miscellaneous Debugger Commands815613 +Node: Readline Support820789 +Node: Limitations821620 +Node: Arbitrary Precision Arithmetic823872 +Ref: Arbitrary Precision Arithmetic-Footnote-1825521 +Node: General Arithmetic825669 +Node: Floating Point Issues827389 +Node: String Conversion Precision828270 +Ref: String Conversion Precision-Footnote-1829975 +Node: Unexpected Results830084 +Node: POSIX Floating Point Problems832237 +Ref: POSIX Floating Point Problems-Footnote-1836062 +Node: Integer Programming836100 +Node: Floating-point Programming837839 +Ref: Floating-point Programming-Footnote-1844170 +Ref: Floating-point Programming-Footnote-2844440 +Node: Floating-point Representation844704 +Node: Floating-point Context845869 +Ref: table-ieee-formats846708 +Node: Rounding Mode848092 +Ref: table-rounding-modes848571 +Ref: Rounding Mode-Footnote-1851586 +Node: Gawk and MPFR851765 +Node: Arbitrary Precision Floats853020 +Ref: Arbitrary Precision Floats-Footnote-1855463 +Node: Setting Precision855779 +Ref: table-predefined-precision-strings856465 +Node: Setting Rounding Mode858610 +Ref: table-gawk-rounding-modes859014 +Node: Floating-point Constants860201 +Node: Changing Precision861630 +Ref: Changing Precision-Footnote-1863027 +Node: Exact Arithmetic863201 +Node: Arbitrary Precision Integers866339 +Ref: Arbitrary Precision Integers-Footnote-1869354 +Node: Dynamic Extensions869501 +Node: Extension Intro870959 +Node: Plugin License872224 +Node: Extension Mechanism Outline872909 +Ref: load-extension873326 +Ref: load-new-function874804 +Ref: call-new-function875799 +Node: Extension API Description877814 +Node: Extension API Functions Introduction879101 +Node: General Data Types884028 +Ref: General Data Types-Footnote-1889723 +Node: Requesting Values890022 +Ref: table-value-types-returned890759 +Node: Memory Allocation Functions891713 +Ref: Memory Allocation Functions-Footnote-1894459 +Node: Constructor Functions894555 +Node: Registration Functions896313 +Node: Extension Functions896998 +Node: Exit Callback Functions899300 +Node: Extension Version String900549 +Node: Input Parsers901199 +Node: Output Wrappers910956 +Node: Two-way processors915466 +Node: Printing Messages917674 +Ref: Printing Messages-Footnote-1918751 +Node: Updating `ERRNO'918903 +Node: Accessing Parameters919642 +Node: Symbol Table Access920872 +Node: Symbol table by name921386 +Node: Symbol table by cookie923135 +Ref: Symbol table by cookie-Footnote-1927267 +Node: Cached values927330 +Ref: Cached values-Footnote-1930820 +Node: Array Manipulation930911 +Ref: Array Manipulation-Footnote-1932009 +Node: Array Data Types932048 +Ref: Array Data Types-Footnote-1934751 +Node: Array Functions934843 +Node: Flattening Arrays938679 +Node: Creating Arrays945531 +Node: Extension API Variables950256 +Node: Extension Versioning950892 +Node: Extension API Informational Variables952793 +Node: Extension API Boilerplate953879 +Node: Finding Extensions957683 +Node: Extension Example958243 +Node: Internal File Description958973 +Node: Internal File Ops963064 +Ref: Internal File Ops-Footnote-1974573 +Node: Using Internal File Ops974713 +Ref: Using Internal File Ops-Footnote-1977066 +Node: Extension Samples977332 +Node: Extension Sample File Functions978856 +Node: Extension Sample Fnmatch987341 +Node: Extension Sample Fork989110 +Node: Extension Sample Inplace990323 +Node: Extension Sample Ord992101 +Node: Extension Sample Readdir992937 +Node: Extension Sample Revout994469 +Node: Extension Sample Rev2way995062 +Node: Extension Sample Read write array995752 +Node: Extension Sample Readfile997635 +Node: Extension Sample API Tests998453 +Node: Extension Sample Time998978 +Node: gawkextlib1000342 +Node: Language History1003123 +Node: V7/SVR3.11004716 +Node: SVR41007036 +Node: POSIX1008478 +Node: BTL1009864 +Node: POSIX/GNU1010598 +Node: Feature History1016197 +Node: Common Extensions1029173 +Node: Ranges and Locales1030485 +Ref: Ranges and Locales-Footnote-11035102 +Ref: Ranges and Locales-Footnote-21035129 +Ref: Ranges and Locales-Footnote-31035363 +Node: Contributors1035584 +Node: Installation1040965 +Node: Gawk Distribution1041859 +Node: Getting1042343 +Node: Extracting1043169 +Node: Distribution contents1044861 +Node: Unix Installation1050566 +Node: Quick Installation1051183 +Node: Additional Configuration Options1053629 +Node: Configuration Philosophy1055365 +Node: Non-Unix Installation1057719 +Node: PC Installation1058177 +Node: PC Binary Installation1059476 +Node: PC Compiling1061324 +Node: PC Testing1064268 +Node: PC Using1065444 +Node: Cygwin1069612 +Node: MSYS1070421 +Node: VMS Installation1070935 +Node: VMS Compilation1071699 +Ref: VMS Compilation-Footnote-11072951 +Node: VMS Dynamic Extensions1073009 +Node: VMS Installation Details1074382 +Node: VMS Running1076633 +Node: VMS GNV1079467 +Node: VMS Old Gawk1080190 +Node: Bugs1080660 +Node: Other Versions1084578 +Node: Notes1090662 +Node: Compatibility Mode1091462 +Node: Additions1092245 +Node: Accessing The Source1093172 +Node: Adding Code1094612 +Node: New Ports1100657 +Node: Derived Files1104792 +Ref: Derived Files-Footnote-11110113 +Ref: Derived Files-Footnote-21110147 +Ref: Derived Files-Footnote-31110747 +Node: Future Extensions1110845 +Node: Implementation Limitations1111428 +Node: Extension Design1112680 +Node: Old Extension Problems1113834 +Ref: Old Extension Problems-Footnote-11115342 +Node: Extension New Mechanism Goals1115399 +Ref: Extension New Mechanism Goals-Footnote-11118764 +Node: Extension Other Design Decisions1118950 +Node: Extension Future Growth1121056 +Node: Old Extension Mechanism1121892 +Node: Basic Concepts1123632 +Node: Basic High Level1124313 +Ref: figure-general-flow1124584 +Ref: figure-process-flow1125183 +Ref: Basic High Level-Footnote-11128412 +Node: Basic Data Typing1128597 +Node: Glossary1131952 +Node: Copying1157181 +Node: GNU Free Documentation License1194738 +Node: Index1219875  End Tag Table -- cgit v1.2.3 From 00c8e9d7dbd0a868f066f3f83c277d0cd3901af5 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 21:57:30 +0200 Subject: First round of indexing changes. --- doc/gawk.info | 1577 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 894 insertions(+), 683 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 2e18da5b..29af8ab4 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -2475,7 +2475,7 @@ The following list describes options mandated by the POSIX standard: `--bignum' Force arbitrary precision arithmetic on numbers. This option has no effect if `gawk' is not compiled to use the GNU MPFR and MP - libraries (*note Arbitrary Precision Arithmetic::). + libraries (*note Gawk and MPFR::). `-n' `--non-decimal-data' @@ -2743,13 +2743,14 @@ on the command-line with the `-f' option. In most `awk' implementations, you must supply a precise path name for each program file, unless the file is in the current directory. But in `gawk', if the file name supplied to the `-f' or `-i' options does not contain a -`/', then `gawk' searches a list of directories (called the "search -path"), one by one, looking for a file with the specified name. +directory separator `/', then `gawk' searches a list of directories +(called the "search path"), one by one, looking for a file with the +specified name. The search path is a string consisting of directory names separated by -colons. `gawk' gets its search path from the `AWKPATH' environment +colons(1). `gawk' gets its search path from the `AWKPATH' environment variable. If that variable does not exist, `gawk' uses a default path, -`.:/usr/local/share/awk'.(1) +`.:/usr/local/share/awk'.(2) The search path feature is particularly useful for building libraries of useful `awk' functions. The library files can be placed in a @@ -2790,7 +2791,9 @@ found, and `gawk' no longer needs to use `AWKPATH'. ---------- Footnotes ---------- - (1) Your version of `gawk' may use a different directory; it will + (1) Semicolons on MS-Windows and MS-DOS. + + (2) Your version of `gawk' may use a different directory; it will depend upon how `gawk' was built and installed. The actual directory is the value of `$(datadir)' generated when `gawk' was configured. You probably don't need to worry about this, though. @@ -9873,8 +9876,8 @@ with a pound sign (`#'). The following additional elements in the array are available to provide information about the MPFR and GMP libraries if your - version of `gawk' supports arbitrary precision numbers (*note - Arbitrary Precision Arithmetic::): + version of `gawk' supports arbitrary precision numbers (*note Gawk + and MPFR::): `PROCINFO["mpfr_version"]' The version of the GNU MPFR library. @@ -11272,9 +11275,10 @@ pound sign (`#'): SOURCE is duplicated into DEST. DEST is then sorted, leaving the indices of SOURCE unchanged. - When comparing strings, `IGNORECASE' affects the sorting. If the - SOURCE array contains subarrays as values (*note Arrays of - Arrays::), they will come last, after all scalar values. + When comparing strings, `IGNORECASE' affects the sorting (*note + Array Sorting Functions::). If the SOURCE array contains + subarrays as values (*note Arrays of Arrays::), they will come + last, after all scalar values. For example, if the contents of `a' are as follows: @@ -11313,7 +11317,7 @@ pound sign (`#'): `$0'. It returns the modified string as the result of the function and the original target string is _not_ changed. - `gensub()' is a general substitution function. It's purpose is to + `gensub()' is a general substitution function. Its purpose is to provide more features than the standard `sub()' and `gsub()' functions. @@ -16028,9 +16032,9 @@ groups in the `PROCINFO' array have the indices `"group1"' through However, we don't know in advance how many of these groups there are. This loop works by starting at one, concatenating the value with -`"group"', and then using `in' to see if that value is in the array. -Eventually, `i' is incremented past the last group in the array and the -loop exits. +`"group"', and then using `in' to see if that value is in the array +(*note Reference to Elements::). Eventually, `i' is incremented past +the last group in the array and the loop exits. The loop is also correct if there are _no_ supplementary groups; then the condition is false the first time it's tested, and the loop @@ -30024,9 +30028,9 @@ Index * ! (exclamation point), !~ operator <5>: Computed Regexps. (line 6) * ! (exclamation point), !~ operator <6>: Case-sensitivity. (line 26) * ! (exclamation point), !~ operator: Regexp Usage. (line 19) -* " (double quote) <1>: Quoting. (line 37) -* " (double quote): Read Terminal. (line 25) +* " (double quote) in shell commands: Read Terminal. (line 25) * " (double quote), in regexp constants: Computed Regexps. (line 28) +* " (double quote), in shell commands: Quoting. (line 37) * # (number sign), #! (executable scripts): Executable Scripts. (line 6) * # (number sign), commenting: Comments. (line 6) @@ -30042,13 +30046,13 @@ Index * & (ampersand), && operator: Boolean Ops. (line 57) * & (ampersand), gsub()/gensub()/sub() functions and: Gory Details. (line 6) -* ' (single quote) <1>: Quoting. (line 31) -* ' (single quote) <2>: Long. (line 33) * ' (single quote): One-shot. (line 15) +* ' (single quote) in gawk command lines: Long. (line 33) +* ' (single quote), in shell commands: Quoting. (line 31) * ' (single quote), vs. apostrophe: Comments. (line 27) * ' (single quote), with double quotes: Quoting. (line 53) -* () (parentheses) <1>: Profiling. (line 146) * () (parentheses): Regexp Operators. (line 79) +* () (parentheses), in a profile: Profiling. (line 146) * * (asterisk), * operator, as multiplication operator: Precedence. (line 55) * * (asterisk), * operator, as regexp operator: Regexp Operators. @@ -30086,8 +30090,9 @@ Index (line 15) * --disable-nls configuration option: Additional Configuration Options. (line 30) -* --dump-variables option <1>: Library Names. (line 45) * --dump-variables option: Options. (line 93) +* --dump-variables option, using for library functions: Library Names. + (line 45) * --exec option: Options. (line 125) * --field-separator option: Options. (line 21) * --file option: Options. (line 25) @@ -30130,12 +30135,12 @@ Index * -d option: Options. (line 93) * -E option: Options. (line 125) * -e option: Options. (line 117) -* -F option: Command Line Field Separator. - (line 6) * -f option: Options. (line 25) * -F option: Options. (line 21) * -f option: Long. (line 12) * -F option, -Ft sets FS to TAB: Options. (line 301) +* -F option, command line: Command Line Field Separator. + (line 6) * -f option, multiple uses: Options. (line 306) * -g option: Options. (line 147) * -h option: Options. (line 154) @@ -30155,7 +30160,7 @@ Index * -V option: Options. (line 293) * -v option: Options. (line 32) * -W option: Options. (line 46) -* . (period): Regexp Operators. (line 43) +* . (period), regexp operator: Regexp Operators. (line 43) * .gmo files: Explaining gettext. (line 41) * .gmo files, converting from .po: I18N Example. (line 62) * .gmo files, specifying directory of <1>: Programmer i18n. (line 47) @@ -30164,7 +30169,7 @@ Index * .po files: Explaining gettext. (line 36) * .po files, converting to .gmo: I18N Example. (line 62) * .pot files: Explaining gettext. (line 30) -* / (forward slash): Regexp. (line 10) +* / (forward slash) to enclose regular expressions: Regexp. (line 10) * / (forward slash), / operator: Precedence. (line 55) * / (forward slash), /= operator <1>: Precedence. (line 95) * / (forward slash), /= operator: Assignment Ops. (line 129) @@ -30208,11 +30213,9 @@ Index * ? (question mark), regexp operator <1>: GNU Regexp Operators. (line 59) * ? (question mark), regexp operator: Regexp Operators. (line 111) -* [] (square brackets): Regexp Operators. (line 55) -* \ (backslash) <1>: Regexp Operators. (line 18) -* \ (backslash) <2>: Quoting. (line 31) -* \ (backslash) <3>: Comments. (line 50) -* \ (backslash): Read Terminal. (line 25) +* [] (square brackets), regexp operator: Regexp Operators. (line 55) +* \ (backslash): Comments. (line 50) +* \ (backslash) in shell commands: Read Terminal. (line 25) * \ (backslash), \" escape sequence: Escape Sequences. (line 76) * \ (backslash), \' operator (gawk): GNU Regexp Operators. (line 56) @@ -30259,6 +30262,8 @@ Index * \ (backslash), in escape sequences, POSIX and: Escape Sequences. (line 112) * \ (backslash), in regexp constants: Computed Regexps. (line 28) +* \ (backslash), in shell commands: Quoting. (line 31) +* \ (backslash), regexp operator: Regexp Operators. (line 18) * ^ (caret), ^ operator: Precedence. (line 49) * ^ (caret), ^= operator <1>: Precedence. (line 95) * ^ (caret), ^= operator: Assignment Ops. (line 129) @@ -30276,6 +30281,8 @@ Index * _ord_init() user-defined function: Ordinal Functions. (line 16) * _pw_init() user-defined function: Passwd Functions. (line 105) * accessing fields: Fields. (line 6) +* accessing global variables from extensions: Symbol Table Access. + (line 6) * account information <1>: Group Functions. (line 6) * account information: Passwd Functions. (line 16) * actions: Action Overview. (line 6) @@ -30298,6 +30305,8 @@ Index * alarm clock example program: Alarm Program. (line 11) * alarm.awk program: Alarm Program. (line 31) * algorithms: Basic High Level. (line 68) +* allocating memory for extensions: Memory Allocation Functions. + (line 6) * Alpha (DEC): Manual History. (line 28) * amazing awk assembler (aaa): Glossary. (line 12) * amazingly workable formatter (awf): Glossary. (line 25) @@ -30313,13 +30322,20 @@ Index * and Boolean-logic operator: Boolean Ops. (line 6) * and() function (gawk): Bitwise Functions. (line 39) * ANSI: Glossary. (line 35) +* API informational variables: Extension API Informational Variables. + (line 6) +* API version: Extension Versioning. + (line 6) * arbitrary precision: Arbitrary Precision Arithmetic. (line 6) +* arbitrary precision integers: Arbitrary Precision Integers. + (line 6) * archeologists: Bugs. (line 6) -* ARGC/ARGV variables <1>: ARGC and ARGV. (line 6) +* arctangent: Numeric Functions. (line 11) * ARGC/ARGV variables: Auto-set. (line 11) * ARGC/ARGV variables, command-line arguments: Other Arguments. (line 12) +* ARGC/ARGV variables, how to use: ARGC and ARGV. (line 6) * ARGC/ARGV variables, portability and: Executable Scripts. (line 42) * ARGIND variable: Auto-set. (line 40) * ARGIND variable, command-line arguments: Other Arguments. (line 12) @@ -30329,36 +30345,50 @@ Index * arguments, command-line, invoking awk: Command Line. (line 6) * arguments, in function calls: Function Calls. (line 16) * arguments, processing: Getopt Function. (line 6) +* ARGV array, indexing into: Other Arguments. (line 12) * arithmetic operators: Arithmetic Ops. (line 6) +* array manipulation in extensions: Array Manipulation. (line 6) +* array members: Reference to Elements. + (line 6) +* array scanning order, controlling: Controlling Scanning. + (line 12) +* array, number of elements: String Functions. (line 194) * arrays: Arrays. (line 6) +* arrays of arrays: Arrays of Arrays. (line 6) +* arrays, an example of using: Array Example. (line 6) +* arrays, and IGNORECASE variable: Array Intro. (line 91) * arrays, as parameters to functions: Pass By Value/Reference. (line 47) * arrays, associative: Array Intro. (line 49) * arrays, associative, library functions and: Library Names. (line 57) * arrays, deleting entire contents: Delete. (line 39) -* arrays, elements, assigning: Assigning Elements. (line 6) +* arrays, elements that don't exist: Reference to Elements. + (line 23) +* arrays, elements, assigning values: Assigning Elements. (line 6) * arrays, elements, deleting: Delete. (line 6) -* arrays, elements, order of: Scanning an Array. (line 48) -* arrays, elements, referencing: Reference to Elements. - (line 6) +* arrays, elements, order of access by in operator: Scanning an Array. + (line 48) * arrays, elements, retrieving number of: String Functions. (line 32) * arrays, for statement and: Scanning an Array. (line 20) -* arrays, IGNORECASE variable and: Array Intro. (line 91) * arrays, indexing: Array Intro. (line 49) * arrays, merging into strings: Join Function. (line 6) * arrays, multidimensional: Multidimensional. (line 10) * arrays, multidimensional, scanning: Multiscanning. (line 11) -* arrays, names of: Arrays. (line 18) +* arrays, names of, and names of functions/variables: Arrays. (line 18) +* arrays, numeric subscripts: Numeric Array Subscripts. + (line 6) +* arrays, referencing elements: Reference to Elements. + (line 6) * arrays, scanning: Scanning an Array. (line 6) * arrays, sorting: Array Sorting Functions. (line 6) -* arrays, sorting, IGNORECASE variable and: Array Sorting Functions. +* arrays, sorting, and IGNORECASE variable: Array Sorting Functions. (line 83) * arrays, sparse: Array Intro. (line 70) -* arrays, subscripts: Numeric Array Subscripts. - (line 6) * arrays, subscripts, uninitialized variables as: Uninitialized Subscripts. (line 6) +* arrays, unassigned elements: Reference to Elements. + (line 18) * artificial intelligence, gawk and: Distribution contents. (line 52) * ASCII <1>: Glossary. (line 133) @@ -30376,6 +30406,8 @@ Index * assert() function (C library): Assert Function. (line 6) * assert() user-defined function: Assert Function. (line 28) * assertions: Assert Function. (line 6) +* assign values to variables, in debugger: Viewing And Changing Data. + (line 59) * assignment operators: Assignment Ops. (line 6) * assignment operators, evaluation order: Assignment Ops. (line 111) * assignment operators, lvalues/rvalues: Assignment Ops. (line 32) @@ -30394,6 +30426,7 @@ Index * asterisk (*), *= operator <1>: Precedence. (line 95) * asterisk (*), *= operator: Assignment Ops. (line 129) * atan2() function: Numeric Functions. (line 11) +* automatic displays, in debugger: Debugger Info. (line 24) * awf (amazingly workable formatter) program: Glossary. (line 25) * awk debugging, enabling: Options. (line 108) * awk language, POSIX version: Assignment Ops. (line 136) @@ -30455,10 +30488,8 @@ Index * awksed.awk program: Simple Sed. (line 25) * awkvars.out file: Options. (line 93) * b debugger command (alias for break): Breakpoint Control. (line 11) -* backslash (\) <1>: Regexp Operators. (line 18) -* backslash (\) <2>: Quoting. (line 31) -* backslash (\) <3>: Comments. (line 50) -* backslash (\): Read Terminal. (line 25) +* backslash (\): Comments. (line 50) +* backslash (\) in shell commands: Read Terminal. (line 25) * backslash (\), \" escape sequence: Escape Sequences. (line 76) * backslash (\), \' operator (gawk): GNU Regexp Operators. (line 56) @@ -30505,13 +30536,15 @@ Index * backslash (\), in escape sequences, POSIX and: Escape Sequences. (line 112) * backslash (\), in regexp constants: Computed Regexps. (line 28) +* backslash (\), in shell commands: Quoting. (line 31) +* backslash (\), regexp operator: Regexp Operators. (line 18) * backtrace debugger command: Execution Stack. (line 13) * Beebe, Nelson H.F. <1>: Other Versions. (line 78) * Beebe, Nelson H.F.: Acknowledgments. (line 60) -* BEGIN pattern <1>: Profiling. (line 62) +* BEGIN pattern <1>: Using BEGIN/END. (line 6) * BEGIN pattern <2>: BEGIN/END. (line 6) -* BEGIN pattern <3>: Field Separators. (line 45) -* BEGIN pattern: Records. (line 29) +* BEGIN pattern: Field Separators. (line 45) +* BEGIN pattern, and profiling: Profiling. (line 62) * BEGIN pattern, assert() user-defined function and: Assert Function. (line 83) * BEGIN pattern, Boolean patterns and: Expression Patterns. (line 70) @@ -30545,7 +30578,12 @@ Index (line 33) * BINMODE variable <1>: PC Using. (line 33) * BINMODE variable: User-modified. (line 10) +* bit-manipulation functions: Bitwise Functions. (line 6) * bits2str() user-defined function: Bitwise Functions. (line 70) +* bitwise AND: Bitwise Functions. (line 39) +* bitwise complement: Bitwise Functions. (line 43) +* bitwise OR: Bitwise Functions. (line 49) +* bitwise XOR: Bitwise Functions. (line 55) * bitwise, complement: Bitwise Functions. (line 25) * bitwise, operations: Bitwise Functions. (line 6) * bitwise, shift: Bitwise Functions. (line 32) @@ -30574,6 +30612,14 @@ Index (line 6) * break debugger command: Breakpoint Control. (line 11) * break statement: Break Statement. (line 6) +* breakpoint: Debugging Terms. (line 33) +* breakpoint at location, how to delete: Breakpoint Control. (line 36) +* breakpoint commands: Debugger Execution Control. + (line 10) +* breakpoint condition: Breakpoint Control. (line 54) +* breakpoint, delete by number: Breakpoint Control. (line 64) +* breakpoint, how to disable or enable: Breakpoint Control. (line 69) +* breakpoint, setting: Breakpoint Control. (line 11) * Brennan, Michael <1>: Other Versions. (line 6) * Brennan, Michael <2>: Two-way I/O. (line 6) * Brennan, Michael <3>: Simple Sed. (line 25) @@ -30581,7 +30627,7 @@ Index * Brennan, Michael: Foreword. (line 83) * Brian Kernighan's awk <1>: I/O Functions. (line 40) * Brian Kernighan's awk <2>: Gory Details. (line 15) -* Brian Kernighan's awk <3>: String Functions. (line 489) +* Brian Kernighan's awk <3>: String Functions. (line 490) * Brian Kernighan's awk <4>: Delete. (line 48) * Brian Kernighan's awk <5>: Nextfile Statement. (line 47) * Brian Kernighan's awk <6>: Continue Statement. (line 43) @@ -30625,6 +30671,7 @@ Index (line 47) * call by value: Pass By Value/Reference. (line 18) +* call stack, display in debugger: Execution Stack. (line 13) * caret (^), ^ operator: Precedence. (line 49) * caret (^), ^= operator <1>: Precedence. (line 95) * caret (^), ^= operator: Assignment Ops. (line 129) @@ -30633,16 +30680,18 @@ Index (line 59) * caret (^), regexp operator: Regexp Operators. (line 22) * case keyword: Switch Statement. (line 6) +* case sensitivity, and regexps: User-modified. (line 82) +* case sensitivity, and string comparisons: User-modified. (line 82) * case sensitivity, array indices and: Array Intro. (line 91) -* case sensitivity, converting case: String Functions. (line 519) +* case sensitivity, converting case: String Functions. (line 520) * case sensitivity, example programs: Library Functions. (line 53) * case sensitivity, gawk: Case-sensitivity. (line 26) -* case sensitivity, regexps and <1>: User-modified. (line 82) * case sensitivity, regexps and: Case-sensitivity. (line 6) -* case sensitivity, string comparisons and: User-modified. (line 82) * CGI, awk scripts for: Options. (line 125) +* changing precision of a number: Changing Precision. (line 6) * character classes, See bracket expressions: Regexp Operators. (line 55) +* character lists in regular expression: Bracket Expressions. (line 6) * character lists, See bracket expressions: Regexp Operators. (line 55) * character sets (machine character encodings) <1>: Glossary. (line 133) * character sets (machine character encodings): Ordinal Functions. @@ -30664,12 +30713,12 @@ Index (line 6) * cliff_rand() user-defined function: Cliff Random Function. (line 12) +* close file or coprocess: I/O Functions. (line 10) * close() function <1>: I/O Functions. (line 10) -* close() function <2>: Close Files And Pipes. +* close() function: Close Files And Pipes. (line 18) -* close() function <3>: Getline/Pipe. (line 27) -* close() function: Getline/Variable/File. - (line 30) +* close() function, portability: Close Files And Pipes. + (line 81) * close() function, return value: Close Files And Pipes. (line 130) * close() function, two-way pipes and: Two-way I/O. (line 77) @@ -30683,6 +30732,7 @@ Index * columns, aligning: Print Examples. (line 70) * columns, cutting: Cut Program. (line 6) * comma (,), in range patterns: Ranges. (line 6) +* command completion, in debugger: Readline Support. (line 6) * command line, arguments <1>: ARGC and ARGV. (line 6) * command line, arguments <2>: Auto-set. (line 11) * command line, arguments: Other Arguments. (line 6) @@ -30692,16 +30742,16 @@ Index * command line, FS on, setting: Command Line Field Separator. (line 6) * command line, invoking awk from: Command Line. (line 6) -* command line, options <1>: Command Line Field Separator. - (line 6) -* command line, options <2>: Options. (line 6) -* command line, options: Long. (line 12) +* command line, option -f: Long. (line 12) +* command line, options: Options. (line 6) * command line, options, end of: Options. (line 54) * command line, variables, assigning on: Assignment Options. (line 6) * command-line options, processing: Getopt Function. (line 6) * command-line options, string extraction: String Extraction. (line 6) * commands debugger command: Debugger Execution Control. (line 10) +* commands to execute at breakpoint: Debugger Execution Control. + (line 10) * commenting: Comments. (line 6) * commenting, backslash continuation and: Statements/Lines. (line 76) * common extensions, ** operator: Arithmetic Ops. (line 30) @@ -30714,7 +30764,7 @@ Index * common extensions, delete to delete entire arrays: Delete. (line 39) * common extensions, func keyword: Definition Syntax. (line 83) * common extensions, length() applied to an array: String Functions. - (line 193) + (line 194) * common extensions, RS as a regexp: Records. (line 135) * common extensions, single character fields: Single Character Fields. (line 6) @@ -30753,25 +30803,33 @@ Index (line 35) * configuration options, gawk: Additional Configuration Options. (line 6) +* constant regexps: Regexp Usage. (line 57) * constants, floating-point: Floating-point Constants. (line 6) * constants, nondecimal: Nondecimal Data. (line 6) +* constants, numeric: Scalar Constants. (line 6) * constants, types of: Constants. (line 6) * context, floating-point: Floating-point Context. (line 6) +* continue program, in debugger: Debugger Execution Control. + (line 33) * continue statement: Continue Statement. (line 6) * control statements: Statements. (line 6) -* converting, case: String Functions. (line 519) -* converting, dates to timestamps: Time Functions. (line 75) -* converting, during subscripting: Numeric Array Subscripts. +* controlling array scanning order: Controlling Scanning. + (line 12) +* convert string to lower case: String Functions. (line 521) +* convert string to number: String Functions. (line 385) +* convert string to upper case: String Functions. (line 527) +* converting integer array subscripts: Numeric Array Subscripts. (line 31) +* converting, dates to timestamps: Time Functions. (line 75) * converting, numbers to strings <1>: Bitwise Functions. (line 109) * converting, numbers to strings: Conversion. (line 6) * converting, strings to numbers <1>: Bitwise Functions. (line 109) * converting, strings to numbers: Conversion. (line 6) * CONVFMT variable <1>: User-modified. (line 28) * CONVFMT variable: Conversion. (line 29) -* CONVFMT variable, array subscripts and: Numeric Array Subscripts. +* CONVFMT variable, and array subscripts: Numeric Array Subscripts. (line 6) * cookie: Glossary. (line 149) * coprocesses <1>: Two-way I/O. (line 44) @@ -30780,14 +30838,19 @@ Index (line 6) * coprocesses, getline from: Getline/Coprocess. (line 6) * cos() function: Numeric Functions. (line 15) +* cosine: Numeric Functions. (line 15) * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) * csh utility, POSIXLY_CORRECT environment variable: Options. (line 348) * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime() user-defined function: Function Example. (line 73) * currency symbols, localization: Explaining gettext. (line 103) +* current system time: Time Functions. (line 65) * custom.h file: Configuration Philosophy. (line 30) +* customized input parser: Input Parsers. (line 6) +* customized output wrapper: Output Wrappers. (line 6) +* customized two-way processor: Two-way processors. (line 6) * cut utility: Cut Program. (line 6) * cut.awk program: Cut Program. (line 45) * d debugger command (alias for delete): Breakpoint Control. (line 64) @@ -30821,7 +30884,7 @@ Index (line 20) * dark corner, input files: Records. (line 118) * dark corner, invoking awk: Command Line. (line 16) -* dark corner, length() function: String Functions. (line 179) +* dark corner, length() function: String Functions. (line 180) * dark corner, locale's decimal point character: Conversion. (line 77) * dark corner, multiline records: Multiple Line. (line 35) * dark corner, NF variable, decrementing: Changing Fields. (line 107) @@ -30832,7 +30895,7 @@ Index (line 147) * dark corner, regexp constants, as arguments to user-defined functions: Using Constant Regexps. (line 43) -* dark corner, split() function: String Functions. (line 358) +* dark corner, split() function: String Functions. (line 359) * dark corner, strings, storing: Records. (line 210) * dark corner, value of ARGV[0]: Auto-set. (line 35) * data, fixed-width: Constant Size. (line 10) @@ -30951,6 +31014,12 @@ Index (line 67) * debugger commands, watch: Viewing And Changing Data. (line 67) +* debugger history file: Debugger Info. (line 80) +* debugger history size: Debugger Info. (line 65) +* debugger options: Debugger Info. (line 57) +* debugger prompt: Debugger Info. (line 77) +* debugger, how to start: Debugger Invocation. (line 6) +* debugger, read commands from a file: Debugger Info. (line 96) * debugging awk programs: Debugger. (line 6) * debugging gawk, bug reports: Bugs. (line 9) * decimal point character, locale specific: Options. (line 263) @@ -30959,12 +31028,18 @@ Index * Deifik, Scott <1>: Bugs. (line 70) * Deifik, Scott <2>: Contributors. (line 53) * Deifik, Scott: Acknowledgments. (line 60) +* delete ARRAY: Delete. (line 39) +* delete breakpoint at location: Breakpoint Control. (line 36) +* delete breakpoint by number: Breakpoint Control. (line 64) * delete debugger command: Breakpoint Control. (line 64) * delete statement: Delete. (line 6) +* delete watchpoint: Viewing And Changing Data. + (line 84) * deleting elements in arrays: Delete. (line 6) * deleting entire arrays: Delete. (line 39) * Demaille, Akim: Acknowledgments. (line 60) -* differences between gawk and awk: String Functions. (line 193) +* describe call stack frame, in debugger: Debugger Info. (line 27) +* differences between gawk and awk: String Functions. (line 194) * differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV. (line 88) * differences in awk and gawk, ARGIND variable: Auto-set. (line 40) @@ -31011,7 +31086,7 @@ Index (line 34) * differences in awk and gawk, LINT variable: User-modified. (line 98) * differences in awk and gawk, match() function: String Functions. - (line 256) + (line 257) * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) * differences in awk and gawk, PROCINFO array: Auto-set. (line 133) @@ -31025,7 +31100,7 @@ Index * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. - (line 346) + (line 347) * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: Records. (line 206) * differences in awk and gawk, SYMTAB variable: Auto-set. (line 274) @@ -31035,15 +31110,18 @@ Index (line 66) * directories, command line: Command line directories. (line 6) -* directories, searching <1>: Igawk Program. (line 368) -* directories, searching <2>: AWKLIBPATH Variable. (line 6) -* directories, searching: AWKPATH Variable. (line 6) +* directories, searching: Igawk Program. (line 368) +* directories, searching for shared libraries: AWKLIBPATH Variable. + (line 6) +* directories, searching for source files: AWKPATH Variable. (line 6) +* disable breakpoint: Breakpoint Control. (line 69) * disable debugger command: Breakpoint Control. (line 69) * display debugger command: Viewing And Changing Data. (line 8) +* display debugger options: Debugger Info. (line 57) * division: Arithmetic Ops. (line 44) -* do-while statement <1>: Do Statement. (line 6) -* do-while statement: Regexp Usage. (line 19) +* do-while statement: Do Statement. (line 6) +* do-while statement, use of regexps in: Regexp Usage. (line 19) * documentation, of awk programs: Library Names. (line 6) * documentation, online: Manual History. (line 11) * documents, searching: Dupword Program. (line 6) @@ -31053,35 +31131,46 @@ Index (line 30) * dollar sign ($), regexp operator: Regexp Operators. (line 35) * double precision floating-point: General Arithmetic. (line 21) -* double quote (") <1>: Quoting. (line 37) -* double quote ("): Read Terminal. (line 25) +* double quote (") in shell commands: Read Terminal. (line 25) * double quote ("), in regexp constants: Computed Regexps. (line 28) +* double quote ("), in shell commands: Quoting. (line 37) * down debugger command: Execution Stack. (line 21) * Drepper, Ulrich: Acknowledgments. (line 52) +* dump all variables of a program: Options. (line 93) * dump debugger command: Miscellaneous Debugger Commands. (line 9) * dupword.awk program: Dupword Program. (line 31) +* dynamic profiling: Profiling. (line 179) +* dynamically loaded extensions: Dynamic Extensions. (line 6) * e debugger command (alias for enable): Breakpoint Control. (line 73) * EBCDIC: Ordinal Functions. (line 45) +* effective group id of gawk user: Auto-set. (line 138) +* effective user id of gawk user: Auto-set. (line 142) * egrep utility <1>: Egrep Program. (line 6) * egrep utility: Bracket Expressions. (line 24) * egrep.awk program: Egrep Program. (line 54) -* elements in arrays: Reference to Elements. - (line 6) -* elements in arrays, assigning: Assigning Elements. (line 6) +* elements in arrays, assigning values: Assigning Elements. (line 6) * elements in arrays, deleting: Delete. (line 6) -* elements in arrays, order of: Scanning an Array. (line 48) +* elements in arrays, order of access by in operator: Scanning an Array. + (line 48) * elements in arrays, scanning: Scanning an Array. (line 6) +* elements of arrays: Reference to Elements. + (line 6) * email address for bug reports, bug-gawk@gnu.org: Bugs. (line 30) * EMISTERED: TCP/IP Networking. (line 6) +* empty array elements: Reference to Elements. + (line 18) * empty pattern: Empty. (line 6) +* empty strings: Records. (line 122) * empty strings, See null strings: Regexp Field Splitting. (line 43) +* enable breakpoint: Breakpoint Control. (line 73) * enable debugger command: Breakpoint Control. (line 73) * end debugger command: Debugger Execution Control. (line 10) -* END pattern <1>: Profiling. (line 62) +* END pattern <1>: Using BEGIN/END. (line 6) * END pattern: BEGIN/END. (line 6) +* END pattern, and profiling: Profiling. (line 62) * END pattern, assert() user-defined function and: Assert Function. (line 75) * END pattern, backslash continuation and: Egrep Program. (line 220) @@ -31101,7 +31190,9 @@ Index * endpwent() function (C library): Passwd Functions. (line 210) * endpwent() user-defined function: Passwd Functions. (line 213) * ENVIRON array: Auto-set. (line 60) -* environment variables: Auto-set. (line 60) +* environment variables used by gawk: Environment Variables. + (line 6) +* environment variables, in ENVIRON array: Auto-set. (line 60) * epoch, definition of: Glossary. (line 235) * equals sign (=), = operator: Assignment Ops. (line 6) * equals sign (=), == operator <1>: Precedence. (line 65) @@ -31109,19 +31200,21 @@ Index (line 11) * EREs (Extended Regular Expressions): Bracket Expressions. (line 24) * ERRNO variable <1>: TCP/IP Networking. (line 54) -* ERRNO variable <2>: Auto-set. (line 73) -* ERRNO variable <3>: BEGINFILE/ENDFILE. (line 26) -* ERRNO variable <4>: Close Files And Pipes. +* ERRNO variable: Auto-set. (line 73) +* ERRNO variable, with BEGINFILE pattern: BEGINFILE/ENDFILE. (line 26) +* ERRNO variable, with close() function: Close Files And Pipes. (line 138) -* ERRNO variable: Getline. (line 19) +* ERRNO variable, with getline command: Getline. (line 19) * error handling: Special FD. (line 16) * error handling, ERRNO variable and: Auto-set. (line 73) * error output: Special FD. (line 6) * escape processing, gsub()/gensub()/sub() functions: Gory Details. (line 6) -* escape sequences: Escape Sequences. (line 6) +* escape sequences, in strings: Escape Sequences. (line 6) * eval debugger command: Viewing And Changing Data. (line 23) +* evaluate expressions, in debugger: Viewing And Changing Data. + (line 23) * evaluation order: Increment Ops. (line 60) * evaluation order, concatenation: Concatenation. (line 41) * evaluation order, functions: Calling Built-in. (line 30) @@ -31144,9 +31237,12 @@ Index * exit statement: Exit Statement. (line 6) * exit status, of gawk: Exit Status. (line 6) * exit status, of VMS: VMS Running. (line 29) +* exit the debugger: Miscellaneous Debugger Commands. + (line 99) * exp() function: Numeric Functions. (line 18) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 35) +* exponent: Numeric Functions. (line 18) * expressions: Expressions. (line 6) * expressions, as patterns: Expression Patterns. (line 6) * expressions, assignment: Assignment Ops. (line 6) @@ -31158,6 +31254,20 @@ Index (line 9) * expressions, selecting: Conditional Exp. (line 6) * Extended Regular Expressions (EREs): Bracket Expressions. (line 24) +* extension API: Extension API Description. + (line 6) +* extension API informational variables: Extension API Informational Variables. + (line 6) +* extension API version: Extension Versioning. + (line 6) +* extension API, version number: Auto-set. (line 229) +* extension example: Extension Example. (line 6) +* extension registration: Registration Functions. + (line 6) +* extension search path: Finding Extensions. (line 6) +* extensions distributed with gawk: Extension Samples. (line 6) +* extensions, allocating memory: Memory Allocation Functions. + (line 6) * extensions, Brian Kernighan's awk <1>: Common Extensions. (line 6) * extensions, Brian Kernighan's awk: BTL. (line 6) * extensions, common, ** operator: Arithmetic Ops. (line 30) @@ -31171,12 +31281,13 @@ Index * extensions, common, fflush() function: I/O Functions. (line 40) * extensions, common, func keyword: Definition Syntax. (line 83) * extensions, common, length() applied to an array: String Functions. - (line 193) + (line 194) * extensions, common, RS as a regexp: Records. (line 135) * extensions, common, single character fields: Single Character Fields. (line 6) * extensions, in gawk, not in POSIX awk: POSIX/GNU. (line 6) * extensions, mawk: Common Extensions. (line 6) +* extensions, where to find: gawkextlib. (line 6) * extract.awk program: Extract Program. (line 79) * extraction, of marked strings (internationalization): String Extraction. (line 6) @@ -31194,16 +31305,16 @@ Index * field numbers: Nonconstant Fields. (line 6) * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) +* field separator, in multiline records: Multiple Line. (line 41) +* field separator, on command line: Command Line Field Separator. + (line 6) +* field separator, POSIX and: Field Splitting Summary. + (line 40) * field separators <1>: User-modified. (line 56) * field separators: Field Separators. (line 15) * field separators, choice of: Field Separators. (line 51) * field separators, FIELDWIDTHS variable and: User-modified. (line 35) * field separators, FPAT variable and: User-modified. (line 45) -* field separators, in multiline records: Multiple Line. (line 41) -* field separators, on command line: Command Line Field Separator. - (line 6) -* field separators, POSIX and <1>: Field Splitting Summary. - (line 40) * field separators, POSIX and: Fields. (line 6) * field separators, regular expressions as <1>: Regexp Field Splitting. (line 6) @@ -31245,7 +31356,6 @@ Index * files, /inet/... (gawk): TCP/IP Networking. (line 6) * files, /inet4/... (gawk): TCP/IP Networking. (line 6) * files, /inet6/... (gawk): TCP/IP Networking. (line 6) -* files, as single records: Records. (line 219) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 6) * files, awkvars.out: Options. (line 93) @@ -31284,6 +31394,8 @@ Index * files, source, search path for: Igawk Program. (line 368) * files, splitting: Split Program. (line 6) * files, Texinfo, extracting programs from: Extract Program. (line 6) +* find substring in string: String Functions. (line 151) +* finding extensions: Finding Extensions. (line 6) * finish debugger command: Debugger Execution Control. (line 39) * Fish, Fred: Contributors. (line 50) @@ -31295,6 +31407,7 @@ Index * floating-point, numbers, arbitrary precision: Arbitrary Precision Arithmetic. (line 6) * floating-point, VAX/VMS: VMS Running. (line 51) +* flush buffered output: I/O Functions. (line 25) * fnmatch() extension function: Extension Sample Fnmatch. (line 12) * FNR variable <1>: Auto-set. (line 103) @@ -31310,9 +31423,11 @@ Index * format specifiers, printf statement: Control Letters. (line 6) * format specifiers, strftime() function (gawk): Time Functions. (line 88) +* format time string: Time Functions. (line 48) * formats, numeric output: OFMT. (line 6) * formatting output: Printf. (line 6) -* forward slash (/): Regexp. (line 10) +* formatting strings: String Functions. (line 378) +* forward slash (/) to enclose regular expressions: Regexp. (line 10) * forward slash (/), / operator: Precedence. (line 55) * forward slash (/), /= operator <1>: Precedence. (line 95) * forward slash (/), /= operator: Assignment Ops. (line 129) @@ -31341,6 +31456,7 @@ Index (line 6) * FS, containing ^: Regexp Field Splitting. (line 59) +* FS, in multiline records: Multiple Line. (line 41) * FSF (Free Software Foundation) <1>: Glossary. (line 297) * FSF (Free Software Foundation) <2>: Getting. (line 10) * FSF (Free Software Foundation): Manual History. (line 6) @@ -31349,6 +31465,7 @@ Index * FUNCTAB array: Auto-set. (line 119) * function calls: Function Calls. (line 6) * function calls, indirect: Indirect Calls. (line 6) +* function definition example: Function Example. (line 6) * function pointers: Indirect Calls. (line 6) * functions, arrays as parameters to: Pass By Value/Reference. (line 47) @@ -31386,7 +31503,7 @@ Index (line 71) * functions, user-defined: User-defined. (line 6) * functions, user-defined, calling: Function Caveats. (line 6) -* functions, user-defined, counts: Profiling. (line 137) +* functions, user-defined, counts, in a profile: Profiling. (line 137) * functions, user-defined, library of: Library Functions. (line 6) * functions, user-defined, next/nextfile statements and <1>: Nextfile Statement. (line 47) @@ -31395,6 +31512,7 @@ Index * G-d: Acknowledgments. (line 78) * Garfinkle, Scott: Contributors. (line 34) * gawk program, dynamic profiling: Profiling. (line 179) +* gawk version: Auto-set. (line 204) * gawk, ARGIND variable in: Other Arguments. (line 12) * gawk, awk and <1>: This Manual. (line 14) * gawk, awk and: Preface. (line 23) @@ -31403,7 +31521,7 @@ Index * gawk, built-in variables and: Built-in Variables. (line 14) * gawk, character classes and: Bracket Expressions. (line 90) * gawk, coding style in: Adding Code. (line 38) -* gawk, command-line options: GNU Regexp Operators. +* gawk, command-line options, and regular expressions: GNU Regexp Operators. (line 70) * gawk, comparison operators and: Comparison Operators. (line 50) @@ -31437,7 +31555,7 @@ Index * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) * gawk, IGNORECASE variable in <1>: Array Sorting Functions. (line 83) -* gawk, IGNORECASE variable in <2>: String Functions. (line 32) +* gawk, IGNORECASE variable in <2>: String Functions. (line 48) * gawk, IGNORECASE variable in <3>: Array Intro. (line 91) * gawk, IGNORECASE variable in <4>: User-modified. (line 82) * gawk, IGNORECASE variable in: Case-sensitivity. (line 26) @@ -31472,9 +31590,7 @@ Index (line 6) * gawk, regular expressions, precedence: Regexp Operators. (line 161) * gawk, RT variable in <1>: Auto-set. (line 266) -* gawk, RT variable in <2>: Getline/Variable/File. - (line 10) -* gawk, RT variable in <3>: Multiple Line. (line 129) +* gawk, RT variable in <2>: Multiple Line. (line 129) * gawk, RT variable in: Records. (line 132) * gawk, See Also awk: Preface. (line 36) * gawk, source code, obtaining: Getting. (line 6) @@ -31488,10 +31604,12 @@ Index * gawk, VMS version of: VMS Installation. (line 6) * gawk, word-boundary operator: GNU Regexp Operators. (line 63) +* gawkextlib: gawkextlib. (line 6) * gawkextlib project: gawkextlib. (line 6) * General Public License (GPL): Glossary. (line 306) * General Public License, See GPL: Manual History. (line 11) -* gensub() function (gawk) <1>: String Functions. (line 81) +* generate time values: Time Functions. (line 25) +* gensub() function (gawk) <1>: String Functions. (line 82) * gensub() function (gawk): Using Constant Regexps. (line 43) * gensub() function (gawk), escape processing: Gory Details. (line 6) @@ -31517,6 +31635,8 @@ Index * getline command, FILENAME variable and: Getline Notes. (line 19) * getline command, return values: Getline. (line 19) * getline command, variants: Getline Summary. (line 6) +* getline from a file: Getline/File. (line 6) +* getline into a variable: Getline/Variable. (line 6) * getline statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE. (line 54) * getlocaltime() user-defined function: Getlocaltime Function. @@ -31540,8 +31660,7 @@ Index * git utility <3>: Other Versions. (line 29) * git utility: gawkextlib. (line 29) * git, use of for gawk source code: Derived Files. (line 6) -* GMP: Arbitrary Precision Arithmetic. - (line 6) +* GMP: Gawk and MPFR. (line 6) * GNITS mailing list: Acknowledgments. (line 52) * GNU awk, See gawk: Preface. (line 49) * GNU Free Documentation License: GNU Free Documentation License. @@ -31564,11 +31683,12 @@ Index * Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) +* group id of gawk user: Auto-set. (line 177) * groups, information about: Group Functions. (line 6) -* gsub() function <1>: String Functions. (line 134) +* gsub() function <1>: String Functions. (line 135) * gsub() function: Using Constant Regexps. (line 43) -* gsub() function, arguments of: String Functions. (line 459) +* gsub() function, arguments of: String Functions. (line 460) * gsub() function, escape processing: Gory Details. (line 6) * h debugger command (alias for help): Miscellaneous Debugger Commands. (line 66) @@ -31582,9 +31702,10 @@ Index (line 66) * hexadecimal numbers: Nondecimal-numbers. (line 6) * hexadecimal values, enabling interpretation of: Options. (line 207) +* history expansion, in debugger: Readline Support. (line 6) * histsort.awk program: History Sorting. (line 25) * Hughes, Phil: Acknowledgments. (line 43) -* HUP signal: Profiling. (line 211) +* HUP signal, for dynamic profiling: Profiling. (line 211) * hyphen (-), - operator: Precedence. (line 52) * hyphen (-), -- operator <1>: Precedence. (line 46) * hyphen (-), -- operator: Increment Ops. (line 48) @@ -31597,38 +31718,37 @@ Index * id.awk program: Id Program. (line 30) * IEEE-754 format: Floating-point Representation. (line 6) -* if statement <1>: If Statement. (line 6) -* if statement: Regexp Usage. (line 19) +* if statement: If Statement. (line 6) * if statement, actions, changing: Ranges. (line 25) +* if statement, use of regexps in: Regexp Usage. (line 19) * igawk.sh program: Igawk Program. (line 124) +* ignore breakpoint: Breakpoint Control. (line 87) * ignore debugger command: Breakpoint Control. (line 87) -* IGNORECASE variable <1>: Array Sorting Functions. - (line 83) -* IGNORECASE variable <2>: String Functions. (line 32) -* IGNORECASE variable <3>: Array Intro. (line 91) -* IGNORECASE variable <4>: User-modified. (line 82) -* IGNORECASE variable: Case-sensitivity. (line 26) -* IGNORECASE variable, array sorting and: Array Sorting Functions. +* IGNORECASE variable: User-modified. (line 82) +* IGNORECASE variable, and array indices: Array Intro. (line 91) +* IGNORECASE variable, and array sorting functions: Array Sorting Functions. (line 83) -* IGNORECASE variable, array subscripts and: Array Intro. (line 91) * IGNORECASE variable, in example programs: Library Functions. (line 53) +* IGNORECASE variable, ~ and !~ operators: Case-sensitivity. (line 26) * Illumos: Other Versions. (line 104) * Illumos, POSIX-compliant awk: Other Versions. (line 104) * implementation issues, gawk: Notes. (line 6) * implementation issues, gawk, debugging: Compatibility Mode. (line 6) * implementation issues, gawk, limits <1>: Redirection. (line 135) * implementation issues, gawk, limits: Getline Notes. (line 14) -* in operator <1>: Id Program. (line 93) -* in operator <2>: Scanning an Array. (line 17) -* in operator <3>: Reference to Elements. - (line 37) -* in operator <4>: For Statement. (line 75) -* in operator <5>: Precedence. (line 83) +* in operator <1>: For Statement. (line 75) +* in operator <2>: Precedence. (line 83) * in operator: Comparison Operators. (line 11) +* in operator, index existence in multidimensional arrays: Multidimensional. + (line 43) +* in operator, order of array access: Scanning an Array. (line 48) +* in operator, testing if array element exists: Reference to Elements. + (line 37) +* in operator, use in loops: Scanning an Array. (line 17) * increment operators: Increment Ops. (line 6) -* index() function: String Functions. (line 150) +* index() function: String Functions. (line 151) * indexing arrays: Array Intro. (line 49) * indirect function calls: Indirect Calls. (line 6) * infinite precision: Arbitrary Precision Arithmetic. @@ -31646,6 +31766,7 @@ Index * input files, running awk without: Read Terminal. (line 6) * input files, variable assignments and: Other Arguments. (line 19) * input pipeline: Getline/Pipe. (line 9) +* input record, length of: String Functions. (line 171) * input redirection: Getline/File. (line 6) * input, data, nondecimal: Nondecimal Data. (line 6) * input, explicit: Getline. (line 6) @@ -31654,14 +31775,18 @@ Index * input, splitting into records: Records. (line 6) * input, standard <1>: Special FD. (line 6) * input, standard: Read Terminal. (line 6) +* input/output functions: I/O Functions. (line 6) * input/output, binary: User-modified. (line 10) * input/output, from BEGIN and END: I/O And BEGIN/END. (line 6) * input/output, two-way: Two-way I/O. (line 44) * insomnia, cure for: Alarm Program. (line 6) * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) +* instruction tracing, in debugger: Debugger Info. (line 89) * INT signal (MS-Windows): Profiling. (line 214) * int() function: Numeric Functions. (line 23) +* integer array indices: Numeric Array Subscripts. + (line 31) * integers: General Arithmetic. (line 6) * integers, arbitrary precision: Arbitrary Precision Integers. (line 6) @@ -31685,8 +31810,9 @@ Index * internationalizing a program: Explaining gettext. (line 6) * interpreted programs <1>: Glossary. (line 357) * interpreted programs: Basic High Level. (line 15) -* interval expressions: Regexp Operators. (line 116) +* interval expressions, regexp operator: Regexp Operators. (line 116) * inventory-shipped file: Sample Data Files. (line 32) +* invoke shell command: I/O Functions. (line 72) * isarray() function (gawk): Type Functions. (line 11) * ISO: Glossary. (line 368) * ISO 8859-1: Glossary. (line 133) @@ -31741,9 +31867,12 @@ Index * left angle bracket (<), <= operator <1>: Precedence. (line 65) * left angle bracket (<), <= operator: Comparison Operators. (line 11) +* left shift: Bitwise Functions. (line 46) * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) -* length() function: String Functions. (line 163) +* length of input record: String Functions. (line 171) +* length of string: String Functions. (line 164) +* length() function: String Functions. (line 164) * Lesser General Public License (LGPL): Glossary. (line 397) * LGPL (Lesser General Public License): Glossary. (line 397) * libmawk: Other Versions. (line 120) @@ -31793,10 +31922,12 @@ Index * Linux <1>: Glossary. (line 616) * Linux <2>: I18N Example. (line 55) * Linux: Manual History. (line 28) +* list all global variables, in debugger: Debugger Info. (line 48) * list debugger command: Miscellaneous Debugger Commands. (line 72) +* list function definitions, in debugger: Debugger Info. (line 30) * loading, library: Options. (line 173) -* local variables: Variable Scope. (line 6) +* local variables, in a function: Variable Scope. (line 6) * locale categories: Explaining gettext. (line 80) * locale decimal point character: Options. (line 263) * locale, definition of: Locales. (line 6) @@ -31805,6 +31936,7 @@ Index (line 6) * log files, timestamps in: Time Functions. (line 6) * log() function: Numeric Functions. (line 30) +* logarithm: Numeric Functions. (line 30) * logical false/true: Truth Values. (line 6) * logical operators, See Boolean expressions: Boolean Ops. (line 6) * login information: Passwd Functions. (line 16) @@ -31812,7 +31944,7 @@ Index * loops: While Statement. (line 6) * loops, break statement and: Break Statement. (line 6) * loops, continue statements and: For Statement. (line 64) -* loops, count for header: Profiling. (line 131) +* loops, count for header, in a profile: Profiling. (line 131) * loops, do-while: Do Statement. (line 6) * loops, exiting: Break Statement. (line 6) * loops, for, array scanning: Scanning an Array. (line 6) @@ -31832,9 +31964,10 @@ Index (line 6) * marked strings, extracting: String Extraction. (line 6) * Marx, Groucho: Increment Ops. (line 60) -* match() function: String Functions. (line 203) +* match regexp in string: String Functions. (line 204) +* match() function: String Functions. (line 204) * match() function, RSTART/RLENGTH variables: String Functions. - (line 220) + (line 221) * matching, expressions, See comparison expressions: Typing and Comparison. (line 9) * matching, leftmost longest: Multiple Line. (line 26) @@ -31844,6 +31977,7 @@ Index * mawk utility <3>: Concatenation. (line 36) * mawk utility <4>: Getline/Pipe. (line 62) * mawk utility: Escape Sequences. (line 124) +* maximum precision supported by MPFR library: Auto-set. (line 218) * McPhee, Patrick: Contributors. (line 100) * message object files: Explaining gettext. (line 41) * message object files, converting from portable object files: I18N Example. @@ -31852,15 +31986,18 @@ Index (line 47) * message object files, specifying directory of: Explaining gettext. (line 53) +* messages from extensions: Printing Messages. (line 6) +* metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 130) +* minimum precision supported by MPFR library: Auto-set. (line 221) * mktime() function (gawk): Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 103) -* MPFR: Arbitrary Precision Arithmetic. - (line 6) +* MPFR: Gawk and MPFR. (line 6) * msgfmt utility: I18N Example. (line 62) * multiple precision: Arbitrary Precision Arithmetic. (line 6) +* multiple-line records: Multiple Line. (line 6) * n debugger command (alias for next): Debugger Execution Control. (line 43) * names, arrays/variables <1>: Library Names. (line 6) @@ -31911,6 +32048,8 @@ Index * ni debugger command (alias for nexti): Debugger Execution Control. (line 49) * noassign.awk program: Ignoring Assigns. (line 15) +* non-existent array elements: Reference to Elements. + (line 23) * not Boolean-logic operator: Boolean Ops. (line 6) * NR variable <1>: Auto-set. (line 128) * NR variable: Records. (line 6) @@ -31920,12 +32059,14 @@ Index * null strings <3>: Regexp Field Splitting. (line 43) * null strings: Records. (line 122) -* null strings, array elements and: Delete. (line 27) +* null strings in gawk arguments, quoting and: Quoting. (line 62) +* null strings, and deleting array elements: Delete. (line 27) * null strings, as array subscripts: Uninitialized Subscripts. (line 43) * null strings, converting numbers to strings: Conversion. (line 21) * null strings, matching: Gory Details. (line 164) -* null strings, quoting and: Quoting. (line 62) +* number as string of bits: Bitwise Functions. (line 109) +* number of array elements: String Functions. (line 194) * number sign (#), #! (executable scripts): Executable Scripts. (line 6) * number sign (#), commenting: Comments. (line 6) @@ -31940,9 +32081,9 @@ Index * numbers, floating-point: General Arithmetic. (line 6) * numbers, hexadecimal: Nondecimal-numbers. (line 6) * numbers, octal: Nondecimal-numbers. (line 6) -* numbers, random: Numeric Functions. (line 64) * numbers, rounding: Round Function. (line 6) -* numeric, constants: Scalar Constants. (line 6) +* numeric constants: Scalar Constants. (line 6) +* numeric functions: Numeric Functions. (line 6) * numeric, output format: OFMT. (line 6) * numeric, strings: Variable Typing. (line 6) * o debugger command (alias for option): Debugger Info. (line 57) @@ -31992,10 +32133,7 @@ Index * operators, word-boundary (gawk): GNU Regexp Operators. (line 63) * option debugger command: Debugger Info. (line 57) -* options, command-line <1>: Command Line Field Separator. - (line 6) -* options, command-line <2>: Options. (line 6) -* options, command-line: Long. (line 12) +* options, command-line: Options. (line 6) * options, command-line, end of: Options. (line 54) * options, command-line, invoking awk: Command Line. (line 6) * options, command-line, processing: Getopt Function. (line 6) @@ -32016,6 +32154,7 @@ Index * output record separator, See ORS variable: Output Separators. (line 20) * output redirection: Redirection. (line 6) +* output wrapper: Output Wrappers. (line 6) * output, buffering: I/O Functions. (line 29) * output, duplicating into files: Tee Program. (line 6) * output, files, closing: Close Files And Pipes. @@ -32029,14 +32168,15 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 36) * P1003.1 POSIX standard: Glossary. (line 454) -* parentheses () <1>: Profiling. (line 146) +* parent process id of gawk process: Auto-set. (line 186) * parentheses (): Regexp Operators. (line 79) +* parentheses (), in a profile: Profiling. (line 146) * password file: Passwd Functions. (line 16) -* patsplit() function (gawk): String Functions. (line 290) +* patsplit() function (gawk): String Functions. (line 291) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) -* patterns, counts: Profiling. (line 118) +* patterns, counts, in a profile: Profiling. (line 118) * patterns, default: Very Simple. (line 34) * patterns, empty: Empty. (line 6) * patterns, expressions as: Regexp Patterns. (line 6) @@ -32051,17 +32191,18 @@ Index * percent sign (%), % operator: Precedence. (line 55) * percent sign (%), %= operator <1>: Precedence. (line 95) * percent sign (%), %= operator: Assignment Ops. (line 129) -* period (.): Regexp Operators. (line 43) +* period (.), regexp operator: Regexp Operators. (line 43) * Perl: Future Extensions. (line 6) * Peters, Arno: Contributors. (line 85) * Peterson, Hal: Contributors. (line 39) -* pipes, closing: Close Files And Pipes. +* pipe, closing: Close Files And Pipes. (line 6) -* pipes, input: Getline/Pipe. (line 9) -* pipes, output: Redirection. (line 57) +* pipe, input: Getline/Pipe. (line 9) +* pipe, output: Redirection. (line 57) * Pitts, Dave <1>: Bugs. (line 73) * Pitts, Dave: Acknowledgments. (line 60) * Plauger, P.J.: Library Functions. (line 12) +* plug-in: Extension Intro. (line 6) * plus sign (+), + operator: Precedence. (line 52) * plus sign (+), ++ operator <1>: Precedence. (line 46) * plus sign (+), ++ operator: Increment Ops. (line 11) @@ -32086,7 +32227,7 @@ Index * portability, gawk: New Ports. (line 6) * portability, gettext library and: Explaining gettext. (line 10) * portability, internationalization and: I18N Portability. (line 6) -* portability, length() function: String Functions. (line 172) +* portability, length() function: String Functions. (line 173) * portability, new awk vs. old awk: Conversion. (line 55) * portability, next statement in user-defined functions: Pass By Value/Reference. (line 91) @@ -32094,7 +32235,7 @@ Index * portability, operators: Increment Ops. (line 60) * portability, operators, not in POSIX awk: Precedence. (line 98) * portability, POSIXLY_CORRECT environment variable: Options. (line 353) -* portability, substr() function: String Functions. (line 509) +* portability, substr() function: String Functions. (line 510) * portable object files <1>: Translator i18n. (line 6) * portable object files: Explaining gettext. (line 36) * portable object files, converting to message object files: I18N Example. @@ -32131,7 +32272,7 @@ Index * POSIX awk, FS variable and: User-modified. (line 66) * POSIX awk, function keyword in: Definition Syntax. (line 83) * POSIX awk, functions and, gsub()/sub(): Gory Details. (line 54) -* POSIX awk, functions and, length(): String Functions. (line 172) +* POSIX awk, functions and, length(): String Functions. (line 173) * POSIX awk, GNU long options and: Options. (line 15) * POSIX awk, interval expressions in: Regexp Operators. (line 135) * POSIX awk, next/nextfile statements and: Next Statement. (line 45) @@ -32164,6 +32305,8 @@ Index * print statement, See Also redirection, of output: Redirection. (line 17) * print statement, sprintf() function and: Round Function. (line 6) +* print variables, in debugger: Viewing And Changing Data. + (line 36) * printf debugger command: Viewing And Changing Data. (line 54) * printf statement <1>: Printf. (line 6) @@ -32183,22 +32326,30 @@ Index * printf statement, sprintf() function and: Round Function. (line 6) * printf statement, syntax of: Basic Printf. (line 6) * printing: Printing. (line 6) +* printing messages from extensions: Printing Messages. (line 6) * printing, list of options: Options. (line 154) * printing, mailing labels: Labels Program. (line 6) * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) +* process group id of gawk process: Auto-set. (line 180) +* process id of gawk process: Auto-set. (line 183) * processes, two-way communications with: Two-way I/O. (line 23) * processing data: Basic High Level. (line 6) -* PROCINFO array <1>: Two-way I/O. (line 116) -* PROCINFO array <2>: Id Program. (line 15) -* PROCINFO array <3>: Group Functions. (line 6) -* PROCINFO array <4>: Passwd Functions. (line 6) -* PROCINFO array <5>: Time Functions. (line 47) -* PROCINFO array <6>: Auto-set. (line 133) -* PROCINFO array: Obsolete. (line 11) +* PROCINFO array <1>: Passwd Functions. (line 6) +* PROCINFO array <2>: Time Functions. (line 47) +* PROCINFO array: Auto-set. (line 133) +* PROCINFO array, and communications via ptys: Two-way I/O. (line 116) +* PROCINFO array, and group membership: Group Functions. (line 6) +* PROCINFO array, and user and group ID numbers: Id Program. (line 15) +* PROCINFO array, testing the field splitting: Passwd Functions. + (line 161) +* PROCINFO array, uses: Auto-set. (line 239) +* PROCINFO, values of sorted_in: Controlling Scanning. + (line 24) * profiling awk programs: Profiling. (line 6) * profiling awk programs, dynamically: Profiling. (line 179) +* program identifiers: Auto-set. (line 151) * program, definition of: Getting Started. (line 21) * programmers, attractiveness of: Two-way I/O. (line 6) * programming conventions, --non-decimal-data option: Nondecimal Data. @@ -32235,11 +32386,9 @@ Index * quit debugger command: Miscellaneous Debugger Commands. (line 99) * QUIT signal (MS-Windows): Profiling. (line 214) -* quoting <1>: Comments. (line 27) -* quoting <2>: Long. (line 26) -* quoting: Read Terminal. (line 25) -* quoting, rules for: Quoting. (line 6) -* quoting, tricks for: Quoting. (line 71) +* quoting in gawk command lines: Long. (line 26) +* quoting in gawk command lines, tricks for: Quoting. (line 71) +* quoting, for small awk programs: Comments. (line 27) * r debugger command (alias for run): Debugger Execution Control. (line 62) * Rakitzis, Byron: History Sorting. (line 25) @@ -32267,6 +32416,7 @@ Index * readfile() extension function: Extension Sample Readfile. (line 11) * readfile() user-defined function: Readfile Function. (line 30) +* reading input files: Reading Files. (line 6) * recipe for a programming language: History. (line 6) * record separators <1>: User-modified. (line 143) * record separators: Records. (line 14) @@ -32281,10 +32431,12 @@ Index * records, terminating: Records. (line 132) * records, treating files as: Records. (line 219) * recursive functions: Definition Syntax. (line 73) +* redirect gawk output, in debugger: Debugger Info. (line 72) * redirection of input: Getline/File. (line 6) * redirection of output: Redirection. (line 6) * reference counting, sorting arrays: Array Sorting Functions. (line 77) +* regexp: Regexp. (line 6) * regexp constants <1>: Comparison Operators. (line 102) * regexp constants <2>: Regexp Constants. (line 6) @@ -32295,7 +32447,8 @@ Index (line 28) * regexp constants, slashes vs. quotes: Computed Regexps. (line 28) * regexp constants, vs. string constants: Computed Regexps. (line 38) -* regexp, See regular expressions: Regexp. (line 6) +* register extension: Registration Functions. + (line 6) * regular expressions: Regexp. (line 6) * regular expressions as field separators: Field Separators. (line 51) * regular expressions, anchors in: Regexp Operators. (line 22) @@ -32330,6 +32483,7 @@ Index * regular expressions, searching for: Egrep Program. (line 6) * relational operators, See comparison operators: Typing and Comparison. (line 9) +* replace in string: String Functions. (line 406) * return debugger command: Debugger Execution Control. (line 54) * return statement, user-defined functions: Return Statement. (line 6) @@ -32350,10 +32504,11 @@ Index (line 11) * right angle bracket (>), >> operator (I/O) <1>: Precedence. (line 65) * right angle bracket (>), >> operator (I/O): Redirection. (line 50) +* right shift: Bitwise Functions. (line 52) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 55) * RLENGTH variable: Auto-set. (line 253) -* RLENGTH variable, match() function and: String Functions. (line 220) +* RLENGTH variable, match() function and: String Functions. (line 221) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) * Robbins, Arnold <3>: Contributors. (line 139) @@ -32370,6 +32525,7 @@ Index * Robbins, Miriam <2>: Getline/Pipe. (line 39) * Robbins, Miriam: Acknowledgments. (line 78) * Rommel, Kai Uwe: Contributors. (line 42) +* round to nearest integer: Numeric Functions. (line 23) * round() user-defined function: Round Function. (line 16) * rounding mode, floating-point: Rounding Mode. (line 6) * rounding numbers: Round Function. (line 6) @@ -32381,11 +32537,9 @@ Index * RS variable, multiline records and: Multiple Line. (line 17) * rshift() function (gawk): Bitwise Functions. (line 52) * RSTART variable: Auto-set. (line 259) -* RSTART variable, match() function and: String Functions. (line 220) +* RSTART variable, match() function and: String Functions. (line 221) * RT variable <1>: Auto-set. (line 266) -* RT variable <2>: Getline/Variable/File. - (line 10) -* RT variable <3>: Multiple Line. (line 129) +* RT variable <2>: Multiple Line. (line 129) * RT variable: Records. (line 132) * Rubin, Paul <1>: Contributors. (line 15) * Rubin, Paul: History. (line 30) @@ -32395,29 +32549,35 @@ Index * rvalues/lvalues: Assignment Ops. (line 32) * s debugger command (alias for step): Debugger Execution Control. (line 68) +* sample debugging session: Sample Debugging Session. + (line 6) * sandbox mode: Options. (line 279) +* save debugger options: Debugger Info. (line 84) +* scalar or array: Type Functions. (line 11) * scalar values: Basic Data Typing. (line 13) +* scanning arrays: Scanning an Array. (line 6) +* scanning multidimensional arrays: Multiscanning. (line 11) * Schorr, Andrew <1>: Contributors. (line 131) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) +* search and replace in strings: String Functions. (line 82) +* search in string: String Functions. (line 151) * search paths <1>: VMS Running. (line 58) * search paths <2>: PC Using. (line 10) -* search paths <3>: Igawk Program. (line 368) -* search paths <4>: AWKLIBPATH Variable. (line 6) -* search paths: AWKPATH Variable. (line 6) +* search paths: Igawk Program. (line 368) * search paths, for shared libraries: AWKLIBPATH Variable. (line 6) * search paths, for source files <1>: VMS Running. (line 58) * search paths, for source files <2>: PC Using. (line 10) * search paths, for source files <3>: Igawk Program. (line 368) * search paths, for source files: AWKPATH Variable. (line 6) -* searching: String Functions. (line 150) * searching, files for regular expressions: Egrep Program. (line 6) * searching, for words: Dupword Program. (line 6) * sed utility <1>: Glossary. (line 12) * sed utility <2>: Simple Sed. (line 6) * sed utility: Field Splitting Summary. (line 46) +* seeding random number generator: Numeric Functions. (line 64) * semicolon (;), AWKPATH variable and: PC Using. (line 10) * semicolon (;), separating statements in actions <1>: Statements. (line 10) @@ -32434,8 +32594,18 @@ Index * separators, for records, regular expressions as: Records. (line 132) * separators, for statements in actions: Action Overview. (line 19) * separators, subscript: User-modified. (line 156) +* set breakpoint: Breakpoint Control. (line 11) * set debugger command: Viewing And Changing Data. (line 59) +* set directory of message catalogs: I18N Functions. (line 12) +* set watchpoint: Viewing And Changing Data. + (line 67) +* setting rounding mode: Setting Rounding Mode. + (line 6) +* setting working precision: Setting Precision. (line 6) +* shadowing of variable values: Definition Syntax. (line 61) +* shell quoting, double quote: Read Terminal. (line 25) +* shell quoting, rules for: Quoting. (line 6) * shells, piping commands into: Redirection. (line 142) * shells, quoting: Using Shell Variables. (line 12) @@ -32446,6 +32616,13 @@ Index (line 6) * shift, bitwise: Bitwise Functions. (line 32) * short-circuit operators: Boolean Ops. (line 57) +* show all source files, in debugger: Debugger Info. (line 45) +* show breakpoints: Debugger Info. (line 21) +* show function arguments, in debugger: Debugger Info. (line 18) +* show local variables, in debugger: Debugger Info. (line 34) +* show name of current source file, in debugger: Debugger Info. + (line 37) +* show watchpoints: Debugger Info. (line 51) * si debugger command (alias for stepi): Debugger Execution Control. (line 76) * side effects <1>: Increment Ops. (line 11) @@ -32491,31 +32668,36 @@ Index (line 56) * sidebar, Using close()'s Return Value: Close Files And Pipes. (line 128) -* SIGHUP signal: Profiling. (line 211) +* SIGHUP signal, for dynamic profiling: Profiling. (line 211) * SIGINT signal (MS-Windows): Profiling. (line 214) -* signals, HUP/SIGHUP: Profiling. (line 211) +* signals, HUP/SIGHUP, for profiling: Profiling. (line 211) * signals, INT/SIGINT (MS-Windows): Profiling. (line 214) * signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 214) -* signals, USR1/SIGUSR1: Profiling. (line 188) +* signals, USR1/SIGUSR1, for profiling: Profiling. (line 188) * signature program: Signature Program. (line 6) * SIGQUIT signal (MS-Windows): Profiling. (line 214) -* SIGUSR1 signal: Profiling. (line 188) +* SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) * sin() function: Numeric Functions. (line 75) +* sine: Numeric Functions. (line 75) * single precision floating-point: General Arithmetic. (line 21) -* single quote (') <1>: Quoting. (line 31) -* single quote (') <2>: Long. (line 33) * single quote ('): One-shot. (line 15) +* single quote (') in gawk command lines: Long. (line 33) +* single quote ('), in shell commands: Quoting. (line 31) * single quote ('), vs. apostrophe: Comments. (line 27) * single quote ('), with double quotes: Quoting. (line 53) * single-character fields: Single Character Fields. (line 6) +* single-step execution, in the debugger: Debugger Execution Control. + (line 43) * Skywalker, Luke: Undocumented. (line 6) * sleep utility: Alarm Program. (line 111) * sleep() extension function: Extension Sample Time. (line 23) * Solaris, POSIX-compliant awk: Other Versions. (line 96) +* sort array: String Functions. (line 32) +* sort array indices: String Functions. (line 32) * sort function, arrays, sorting: Array Sorting Functions. (line 6) * sort utility: Word Sorting. (line 50) @@ -32539,18 +32721,21 @@ Index * source files, search path for: Igawk Program. (line 368) * sparse arrays: Array Intro. (line 70) * Spencer, Henry: Glossary. (line 12) +* split string into array: String Functions. (line 291) * split utility: Split Program. (line 6) -* split() function: String Functions. (line 312) +* split() function: String Functions. (line 313) * split() function, array elements, deleting: Delete. (line 61) * split.awk program: Split Program. (line 30) -* sprintf() function <1>: String Functions. (line 377) +* sprintf() function <1>: String Functions. (line 378) * sprintf() function: OFMT. (line 15) * sprintf() function, OFMT variable and: User-modified. (line 124) * sprintf() function, print/printf statements and: Round Function. (line 6) * sqrt() function: Numeric Functions. (line 78) -* square brackets ([]): Regexp Operators. (line 55) +* square brackets ([]), regexp operator: Regexp Operators. (line 55) +* square root: Numeric Functions. (line 78) * srand() function: Numeric Functions. (line 82) +* stack frame: Debugging Terms. (line 10) * Stallman, Richard <1>: Glossary. (line 297) * Stallman, Richard <2>: Contributors. (line 23) * Stallman, Richard <3>: Acknowledgments. (line 18) @@ -32559,6 +32744,7 @@ Index * standard input <1>: Special FD. (line 6) * standard input: Read Terminal. (line 6) * standard output: Special FD. (line 6) +* starting the debugger: Debugger Invocation. (line 6) * stat() extension function: Extension Sample File Functions. (line 18) * statements, compound, control statements and: Statements. (line 10) @@ -32568,6 +32754,8 @@ Index (line 68) * stepi debugger command: Debugger Execution Control. (line 76) +* stop automatic display, in debugger: Viewing And Changing Data. + (line 80) * stream editors <1>: Simple Sed. (line 6) * stream editors: Field Splitting Summary. (line 46) @@ -32576,27 +32764,32 @@ Index * string constants, vs. regexp constants: Computed Regexps. (line 38) * string extraction (internationalization): String Extraction. (line 6) +* string length: String Functions. (line 164) * string operators: Concatenation. (line 8) +* string, regular expression match: String Functions. (line 204) +* string-manipulation functions: String Functions. (line 6) * string-matching operators: Regexp Usage. (line 19) +* string-translation functions: I18N Functions. (line 6) +* strings splitting, example: String Functions. (line 333) * strings, converting <1>: Bitwise Functions. (line 109) * strings, converting: Conversion. (line 6) +* strings, converting letter case: String Functions. (line 520) * strings, converting, numbers to: User-modified. (line 28) * strings, empty, See null strings: Records. (line 122) * strings, extracting: String Extraction. (line 6) * strings, for localization: Programmer i18n. (line 14) -* strings, length of: Scalar Constants. (line 20) +* strings, length limitations: Scalar Constants. (line 20) * strings, merging arrays into: Join Function. (line 6) * strings, null: Regexp Field Splitting. (line 43) * strings, numeric: Variable Typing. (line 6) -* strings, splitting: String Functions. (line 332) -* strtonum() function (gawk): String Functions. (line 384) +* strtonum() function (gawk): String Functions. (line 385) * strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data. (line 36) -* sub() function <1>: String Functions. (line 405) +* sub() function <1>: String Functions. (line 406) * sub() function: Using Constant Regexps. (line 43) -* sub() function, arguments of: String Functions. (line 459) +* sub() function, arguments of: String Functions. (line 460) * sub() function, escape processing: Gory Details. (line 6) * subscript separators: User-modified. (line 156) * subscripts in arrays, multidimensional: Multidimensional. (line 10) @@ -32607,9 +32800,13 @@ Index * subscripts in arrays, uninitialized variables as: Uninitialized Subscripts. (line 6) * SUBSEP variable: User-modified. (line 156) -* SUBSEP variable, multidimensional arrays: Multidimensional. (line 16) -* substr() function: String Functions. (line 478) +* SUBSEP variable, and multidimensional arrays: Multidimensional. + (line 16) +* substitute in string: String Functions. (line 82) +* substr() function: String Functions. (line 479) +* substring: String Functions. (line 479) * Sumner, Andrew: Other Versions. (line 64) +* supplementary groups of gawk process: Auto-set. (line 234) * switch statement: Switch Statement. (line 6) * SYMTAB array: Auto-set. (line 274) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. @@ -32623,6 +32820,7 @@ Index * TCP/IP, support for: Special Network. (line 6) * tee utility: Tee Program. (line 6) * tee.awk program: Tee Program. (line 26) +* temporary breakpoint: Breakpoint Control. (line 90) * terminating records: Records. (line 132) * testbits.awk program: Bitwise Functions. (line 70) * testext extension: Extension Sample API Tests. @@ -32652,6 +32850,7 @@ Index * tilde (~), ~ operator <5>: Computed Regexps. (line 6) * tilde (~), ~ operator <6>: Case-sensitivity. (line 26) * tilde (~), ~ operator: Regexp Usage. (line 19) +* time functions: Time Functions. (line 6) * time, alarm clock example program: Alarm Program. (line 11) * time, localization and: Explaining gettext. (line 115) * time, managing: Getlocaltime Function. @@ -32662,12 +32861,15 @@ Index * timestamps, converting dates to: Time Functions. (line 75) * timestamps, formatted: Getlocaltime Function. (line 6) -* tolower() function: String Functions. (line 520) -* toupper() function: String Functions. (line 526) +* tolower() function: String Functions. (line 521) +* toupper() function: String Functions. (line 527) * tr utility: Translate Program. (line 6) * trace debugger command: Miscellaneous Debugger Commands. (line 108) +* traceback, display in debugger: Execution Stack. (line 13) +* translate string: I18N Functions. (line 22) * translate.awk program: Translate Program. (line 55) +* treating files, as single records: Records. (line 219) * troubleshooting, --non-decimal-data option: Options. (line 207) * troubleshooting, == operator: Comparison Operators. (line 37) @@ -32686,9 +32888,9 @@ Index * troubleshooting, gawk, fatal errors, function arguments: Calling Built-in. (line 16) * troubleshooting, getline function: File Checking. (line 25) -* troubleshooting, gsub()/sub() functions: String Functions. (line 469) -* troubleshooting, match() function: String Functions. (line 285) -* troubleshooting, patsplit() function: String Functions. (line 308) +* troubleshooting, gsub()/sub() functions: String Functions. (line 470) +* troubleshooting, match() function: String Functions. (line 286) +* troubleshooting, patsplit() function: String Functions. (line 309) * troubleshooting, print statement, omitting commas: Print Examples. (line 31) * troubleshooting, printing: Redirection. (line 118) @@ -32697,7 +32899,7 @@ Index * troubleshooting, regexp constants vs. string constants: Computed Regexps. (line 38) * troubleshooting, string concatenation: Concatenation. (line 26) -* troubleshooting, substr() function: String Functions. (line 496) +* troubleshooting, substr() function: String Functions. (line 497) * troubleshooting, system() function: I/O Functions. (line 94) * troubleshooting, typographical errors, global variables: Options. (line 98) @@ -32710,6 +32912,8 @@ Index * type conversion: Conversion. (line 21) * u debugger command (alias for until): Debugger Execution Control. (line 83) +* unassigned array elements: Reference to Elements. + (line 18) * undefined functions: Pass By Value/Reference. (line 71) * underscore (_), C macro: Explaining gettext. (line 70) @@ -32742,15 +32946,16 @@ Index (line 84) * up debugger command: Execution Stack. (line 33) * user database, reading: Passwd Functions. (line 6) -* user-defined, functions: User-defined. (line 6) -* user-defined, functions, counts: Profiling. (line 137) +* user-defined functions: User-defined. (line 6) +* user-defined, functions, counts, in a profile: Profiling. (line 137) * user-defined, variables: Variables. (line 6) * user-modifiable variables: User-modified. (line 6) * users, information about, printing: Id Program. (line 6) * users, information about, retrieving: Passwd Functions. (line 16) -* USR1 signal: Profiling. (line 188) +* USR1 signal, for dynamic profiling: Profiling. (line 188) * values, numeric: Basic Data Typing. (line 13) * values, string: Basic Data Typing. (line 13) +* variable assignments and input files: Other Arguments. (line 19) * variable typing: Typing and Comparison. (line 9) * variables <1>: Basic Data Typing. (line 6) @@ -32771,7 +32976,7 @@ Index * variables, global, for library functions: Library Names. (line 11) * variables, global, printing list of: Options. (line 93) * variables, initializing: Using Variables. (line 20) -* variables, local: Variable Scope. (line 6) +* variables, local to a function: Variable Scope. (line 6) * variables, names of: Arrays. (line 18) * variables, private: Library Names. (line 11) * variables, setting: Options. (line 32) @@ -32782,6 +32987,10 @@ Index * variables, uninitialized, as array subscripts: Uninitialized Subscripts. (line 6) * variables, user-defined: Variables. (line 6) +* version of gawk: Auto-set. (line 204) +* version of gawk extension API: Auto-set. (line 229) +* version of GNU MP library: Auto-set. (line 215) +* version of GNU MPFR library: Auto-set. (line 211) * vertical bar (|): Regexp Operators. (line 69) * vertical bar (|), | operator (I/O) <1>: Precedence. (line 65) * vertical bar (|), | operator (I/O): Getline/Pipe. (line 9) @@ -32805,12 +33014,13 @@ Index * warnings, issuing: Options. (line 182) * watch debugger command: Viewing And Changing Data. (line 67) +* watchpoint: Debugging Terms. (line 42) * wc utility: Wc Program. (line 6) * wc.awk program: Wc Program. (line 46) * Weinberger, Peter <1>: Contributors. (line 11) * Weinberger, Peter: History. (line 17) -* while statement <1>: While Statement. (line 6) -* while statement: Regexp Usage. (line 19) +* while statement: While Statement. (line 6) +* while statement, use of regexps in: Regexp Usage. (line 19) * whitespace, as field separators: Default Field Splitting. (line 6) * whitespace, functions, calling: Calling Built-in. (line 10) @@ -32908,488 +33118,489 @@ Node: When105754 Node: Invoking Gawk107901 Node: Command Line109364 Node: Options110147 -Ref: Options-Footnote-1125542 -Node: Other Arguments125567 -Node: Naming Standard Input128225 -Node: Environment Variables129319 -Node: AWKPATH Variable129877 -Ref: AWKPATH Variable-Footnote-1132635 -Node: AWKLIBPATH Variable132895 -Node: Other Environment Variables133613 -Node: Exit Status136576 -Node: Include Files137251 -Node: Loading Shared Libraries140820 -Node: Obsolete142184 -Node: Undocumented142881 -Node: Regexp143123 -Node: Regexp Usage144512 -Node: Escape Sequences146537 -Node: Regexp Operators152206 -Ref: Regexp Operators-Footnote-1159586 -Ref: Regexp Operators-Footnote-2159733 -Node: Bracket Expressions159831 -Ref: table-char-classes161721 -Node: GNU Regexp Operators164244 -Node: Case-sensitivity167967 -Ref: Case-sensitivity-Footnote-1170935 -Ref: Case-sensitivity-Footnote-2171170 -Node: Leftmost Longest171278 -Node: Computed Regexps172479 -Node: Reading Files175816 -Node: Records177818 -Ref: Records-Footnote-1187341 -Node: Fields187378 -Ref: Fields-Footnote-1190334 -Node: Nonconstant Fields190420 -Node: Changing Fields192626 -Node: Field Separators198585 -Node: Default Field Splitting201287 -Node: Regexp Field Splitting202404 -Node: Single Character Fields205746 -Node: Command Line Field Separator206805 -Node: Full Line Fields210147 -Ref: Full Line Fields-Footnote-1210655 -Node: Field Splitting Summary210701 -Ref: Field Splitting Summary-Footnote-1213800 -Node: Constant Size213901 -Node: Splitting By Content218508 -Ref: Splitting By Content-Footnote-1222257 -Node: Multiple Line222297 -Ref: Multiple Line-Footnote-1228144 -Node: Getline228323 -Node: Plain Getline230539 -Node: Getline/Variable232634 -Node: Getline/File233781 -Node: Getline/Variable/File235122 -Ref: Getline/Variable/File-Footnote-1236721 -Node: Getline/Pipe236808 -Node: Getline/Variable/Pipe239507 -Node: Getline/Coprocess240614 -Node: Getline/Variable/Coprocess241866 -Node: Getline Notes242603 -Node: Getline Summary245390 -Ref: table-getline-variants245798 -Node: Read Timeout246710 -Ref: Read Timeout-Footnote-1250451 -Node: Command line directories250508 -Node: Printing251138 -Node: Print252769 -Node: Print Examples254106 -Node: Output Separators256890 -Node: OFMT258906 -Node: Printf260264 -Node: Basic Printf261170 -Node: Control Letters262709 -Node: Format Modifiers266521 -Node: Printf Examples272530 -Node: Redirection275242 -Node: Special Files282216 -Node: Special FD282749 -Ref: Special FD-Footnote-1286374 -Node: Special Network286448 -Node: Special Caveats287298 -Node: Close Files And Pipes288094 -Ref: Close Files And Pipes-Footnote-1295077 -Ref: Close Files And Pipes-Footnote-2295225 -Node: Expressions295375 -Node: Values296507 -Node: Constants297183 -Node: Scalar Constants297863 -Ref: Scalar Constants-Footnote-1298722 -Node: Nondecimal-numbers298904 -Node: Regexp Constants301904 -Node: Using Constant Regexps302379 -Node: Variables305434 -Node: Using Variables306089 -Node: Assignment Options307813 -Node: Conversion309688 -Ref: table-locale-affects315188 -Ref: Conversion-Footnote-1315812 -Node: All Operators315921 -Node: Arithmetic Ops316551 -Node: Concatenation319056 -Ref: Concatenation-Footnote-1321844 -Node: Assignment Ops321964 -Ref: table-assign-ops326952 -Node: Increment Ops328283 -Node: Truth Values and Conditions331717 -Node: Truth Values332800 -Node: Typing and Comparison333849 -Node: Variable Typing334642 -Ref: Variable Typing-Footnote-1338539 -Node: Comparison Operators338661 -Ref: table-relational-ops339071 -Node: POSIX String Comparison342619 -Ref: POSIX String Comparison-Footnote-1343575 -Node: Boolean Ops343713 -Ref: Boolean Ops-Footnote-1347783 -Node: Conditional Exp347874 -Node: Function Calls349606 -Node: Precedence353200 -Node: Locales356869 -Node: Patterns and Actions357958 -Node: Pattern Overview359012 -Node: Regexp Patterns360681 -Node: Expression Patterns361224 -Node: Ranges365005 -Node: BEGIN/END368109 -Node: Using BEGIN/END368871 -Ref: Using BEGIN/END-Footnote-1371607 -Node: I/O And BEGIN/END371713 -Node: BEGINFILE/ENDFILE373995 -Node: Empty376909 -Node: Using Shell Variables377226 -Node: Action Overview379511 -Node: Statements381868 -Node: If Statement383722 -Node: While Statement385221 -Node: Do Statement387265 -Node: For Statement388421 -Node: Switch Statement391573 -Node: Break Statement393727 -Node: Continue Statement395717 -Node: Next Statement397510 -Node: Nextfile Statement399900 -Node: Exit Statement402555 -Node: Built-in Variables404971 -Node: User-modified406066 -Ref: User-modified-Footnote-1414424 -Node: Auto-set414486 -Ref: Auto-set-Footnote-1427567 -Ref: Auto-set-Footnote-2427772 -Node: ARGC and ARGV427828 -Node: Arrays431682 -Node: Array Basics433187 -Node: Array Intro434013 -Node: Reference to Elements438330 -Node: Assigning Elements440600 -Node: Array Example441091 -Node: Scanning an Array442823 -Node: Controlling Scanning445137 -Ref: Controlling Scanning-Footnote-1450224 -Node: Delete450540 -Ref: Delete-Footnote-1453305 -Node: Numeric Array Subscripts453362 -Node: Uninitialized Subscripts455545 -Node: Multidimensional457172 -Node: Multiscanning460265 -Node: Arrays of Arrays461854 -Node: Functions466494 -Node: Built-in467313 -Node: Calling Built-in468391 -Node: Numeric Functions470379 -Ref: Numeric Functions-Footnote-1474211 -Ref: Numeric Functions-Footnote-2474568 -Ref: Numeric Functions-Footnote-3474616 -Node: String Functions474885 -Ref: String Functions-Footnote-1497805 -Ref: String Functions-Footnote-2497934 -Ref: String Functions-Footnote-3498182 -Node: Gory Details498269 -Ref: table-sub-escapes499948 -Ref: table-sub-posix-92501302 -Ref: table-sub-proposed502653 -Ref: table-posix-sub504007 -Ref: table-gensub-escapes505552 -Ref: Gory Details-Footnote-1506728 -Ref: Gory Details-Footnote-2506779 -Node: I/O Functions506930 -Ref: I/O Functions-Footnote-1513920 -Node: Time Functions514067 -Ref: Time Functions-Footnote-1525000 -Ref: Time Functions-Footnote-2525068 -Ref: Time Functions-Footnote-3525226 -Ref: Time Functions-Footnote-4525337 -Ref: Time Functions-Footnote-5525449 -Ref: Time Functions-Footnote-6525676 -Node: Bitwise Functions525942 -Ref: table-bitwise-ops526504 -Ref: Bitwise Functions-Footnote-1530725 -Node: Type Functions530909 -Node: I18N Functions532060 -Node: User-defined533687 -Node: Definition Syntax534491 -Ref: Definition Syntax-Footnote-1539405 -Node: Function Example539474 -Ref: Function Example-Footnote-1542123 -Node: Function Caveats542145 -Node: Calling A Function542663 -Node: Variable Scope543618 -Node: Pass By Value/Reference546581 -Node: Return Statement550089 -Node: Dynamic Typing553070 -Node: Indirect Calls554001 -Node: Library Functions563688 -Ref: Library Functions-Footnote-1567201 -Ref: Library Functions-Footnote-2567344 -Node: Library Names567515 -Ref: Library Names-Footnote-1570988 -Ref: Library Names-Footnote-2571208 -Node: General Functions571294 -Node: Strtonum Function572322 -Node: Assert Function575252 -Node: Round Function578578 -Node: Cliff Random Function580119 -Node: Ordinal Functions581135 -Ref: Ordinal Functions-Footnote-1584212 -Ref: Ordinal Functions-Footnote-2584464 -Node: Join Function584675 -Ref: Join Function-Footnote-1586446 -Node: Getlocaltime Function586646 -Node: Readfile Function590387 -Node: Data File Management592226 -Node: Filetrans Function592858 -Node: Rewind Function596927 -Node: File Checking598314 -Node: Empty Files599408 -Node: Ignoring Assigns601638 -Node: Getopt Function603192 -Ref: Getopt Function-Footnote-1614495 -Node: Passwd Functions614698 -Ref: Passwd Functions-Footnote-1623676 -Node: Group Functions623764 -Node: Walking Arrays631848 -Node: Sample Programs633984 -Node: Running Examples634658 -Node: Clones635386 -Node: Cut Program636610 -Node: Egrep Program646461 -Ref: Egrep Program-Footnote-1654234 -Node: Id Program654344 -Node: Split Program657960 -Ref: Split Program-Footnote-1661479 -Node: Tee Program661607 -Node: Uniq Program664410 -Node: Wc Program671839 -Ref: Wc Program-Footnote-1676105 -Ref: Wc Program-Footnote-2676305 -Node: Miscellaneous Programs676397 -Node: Dupword Program677585 -Node: Alarm Program679616 -Node: Translate Program684423 -Ref: Translate Program-Footnote-1688810 -Ref: Translate Program-Footnote-2689058 -Node: Labels Program689192 -Ref: Labels Program-Footnote-1692563 -Node: Word Sorting692647 -Node: History Sorting696531 -Node: Extract Program698370 -Ref: Extract Program-Footnote-1705873 -Node: Simple Sed706001 -Node: Igawk Program709063 -Ref: Igawk Program-Footnote-1724220 -Ref: Igawk Program-Footnote-2724421 -Node: Anagram Program724559 -Node: Signature Program727627 -Node: Advanced Features728727 -Node: Nondecimal Data730613 -Node: Array Sorting732196 -Node: Controlling Array Traversal732893 -Node: Array Sorting Functions741177 -Ref: Array Sorting Functions-Footnote-1745046 -Node: Two-way I/O745240 -Ref: Two-way I/O-Footnote-1750672 -Node: TCP/IP Networking750754 -Node: Profiling753598 -Node: Internationalization761101 -Node: I18N and L10N762526 -Node: Explaining gettext763212 -Ref: Explaining gettext-Footnote-1768280 -Ref: Explaining gettext-Footnote-2768464 -Node: Programmer i18n768629 -Node: Translator i18n772831 -Node: String Extraction773625 -Ref: String Extraction-Footnote-1774586 -Node: Printf Ordering774672 -Ref: Printf Ordering-Footnote-1777454 -Node: I18N Portability777518 -Ref: I18N Portability-Footnote-1779967 -Node: I18N Example780030 -Ref: I18N Example-Footnote-1782668 -Node: Gawk I18N782740 -Node: Debugger783361 -Node: Debugging784332 -Node: Debugging Concepts784765 -Node: Debugging Terms786621 -Node: Awk Debugging789218 -Node: Sample Debugging Session790110 -Node: Debugger Invocation790630 -Node: Finding The Bug791963 -Node: List of Debugger Commands798450 -Node: Breakpoint Control799784 -Node: Debugger Execution Control803448 -Node: Viewing And Changing Data806808 -Node: Execution Stack810164 -Node: Debugger Info811631 -Node: Miscellaneous Debugger Commands815613 -Node: Readline Support820789 -Node: Limitations821620 -Node: Arbitrary Precision Arithmetic823872 -Ref: Arbitrary Precision Arithmetic-Footnote-1825521 -Node: General Arithmetic825669 -Node: Floating Point Issues827389 -Node: String Conversion Precision828270 -Ref: String Conversion Precision-Footnote-1829975 -Node: Unexpected Results830084 -Node: POSIX Floating Point Problems832237 -Ref: POSIX Floating Point Problems-Footnote-1836062 -Node: Integer Programming836100 -Node: Floating-point Programming837839 -Ref: Floating-point Programming-Footnote-1844170 -Ref: Floating-point Programming-Footnote-2844440 -Node: Floating-point Representation844704 -Node: Floating-point Context845869 -Ref: table-ieee-formats846708 -Node: Rounding Mode848092 -Ref: table-rounding-modes848571 -Ref: Rounding Mode-Footnote-1851586 -Node: Gawk and MPFR851765 -Node: Arbitrary Precision Floats853020 -Ref: Arbitrary Precision Floats-Footnote-1855463 -Node: Setting Precision855779 -Ref: table-predefined-precision-strings856465 -Node: Setting Rounding Mode858610 -Ref: table-gawk-rounding-modes859014 -Node: Floating-point Constants860201 -Node: Changing Precision861630 -Ref: Changing Precision-Footnote-1863027 -Node: Exact Arithmetic863201 -Node: Arbitrary Precision Integers866339 -Ref: Arbitrary Precision Integers-Footnote-1869354 -Node: Dynamic Extensions869501 -Node: Extension Intro870959 -Node: Plugin License872224 -Node: Extension Mechanism Outline872909 -Ref: load-extension873326 -Ref: load-new-function874804 -Ref: call-new-function875799 -Node: Extension API Description877814 -Node: Extension API Functions Introduction879101 -Node: General Data Types884028 -Ref: General Data Types-Footnote-1889723 -Node: Requesting Values890022 -Ref: table-value-types-returned890759 -Node: Memory Allocation Functions891713 -Ref: Memory Allocation Functions-Footnote-1894459 -Node: Constructor Functions894555 -Node: Registration Functions896313 -Node: Extension Functions896998 -Node: Exit Callback Functions899300 -Node: Extension Version String900549 -Node: Input Parsers901199 -Node: Output Wrappers910956 -Node: Two-way processors915466 -Node: Printing Messages917674 -Ref: Printing Messages-Footnote-1918751 -Node: Updating `ERRNO'918903 -Node: Accessing Parameters919642 -Node: Symbol Table Access920872 -Node: Symbol table by name921386 -Node: Symbol table by cookie923135 -Ref: Symbol table by cookie-Footnote-1927267 -Node: Cached values927330 -Ref: Cached values-Footnote-1930820 -Node: Array Manipulation930911 -Ref: Array Manipulation-Footnote-1932009 -Node: Array Data Types932048 -Ref: Array Data Types-Footnote-1934751 -Node: Array Functions934843 -Node: Flattening Arrays938679 -Node: Creating Arrays945531 -Node: Extension API Variables950256 -Node: Extension Versioning950892 -Node: Extension API Informational Variables952793 -Node: Extension API Boilerplate953879 -Node: Finding Extensions957683 -Node: Extension Example958243 -Node: Internal File Description958973 -Node: Internal File Ops963064 -Ref: Internal File Ops-Footnote-1974573 -Node: Using Internal File Ops974713 -Ref: Using Internal File Ops-Footnote-1977066 -Node: Extension Samples977332 -Node: Extension Sample File Functions978856 -Node: Extension Sample Fnmatch987341 -Node: Extension Sample Fork989110 -Node: Extension Sample Inplace990323 -Node: Extension Sample Ord992101 -Node: Extension Sample Readdir992937 -Node: Extension Sample Revout994469 -Node: Extension Sample Rev2way995062 -Node: Extension Sample Read write array995752 -Node: Extension Sample Readfile997635 -Node: Extension Sample API Tests998453 -Node: Extension Sample Time998978 -Node: gawkextlib1000342 -Node: Language History1003123 -Node: V7/SVR3.11004716 -Node: SVR41007036 -Node: POSIX1008478 -Node: BTL1009864 -Node: POSIX/GNU1010598 -Node: Feature History1016197 -Node: Common Extensions1029173 -Node: Ranges and Locales1030485 -Ref: Ranges and Locales-Footnote-11035102 -Ref: Ranges and Locales-Footnote-21035129 -Ref: Ranges and Locales-Footnote-31035363 -Node: Contributors1035584 -Node: Installation1040965 -Node: Gawk Distribution1041859 -Node: Getting1042343 -Node: Extracting1043169 -Node: Distribution contents1044861 -Node: Unix Installation1050566 -Node: Quick Installation1051183 -Node: Additional Configuration Options1053629 -Node: Configuration Philosophy1055365 -Node: Non-Unix Installation1057719 -Node: PC Installation1058177 -Node: PC Binary Installation1059476 -Node: PC Compiling1061324 -Node: PC Testing1064268 -Node: PC Using1065444 -Node: Cygwin1069612 -Node: MSYS1070421 -Node: VMS Installation1070935 -Node: VMS Compilation1071699 -Ref: VMS Compilation-Footnote-11072951 -Node: VMS Dynamic Extensions1073009 -Node: VMS Installation Details1074382 -Node: VMS Running1076633 -Node: VMS GNV1079467 -Node: VMS Old Gawk1080190 -Node: Bugs1080660 -Node: Other Versions1084578 -Node: Notes1090662 -Node: Compatibility Mode1091462 -Node: Additions1092245 -Node: Accessing The Source1093172 -Node: Adding Code1094612 -Node: New Ports1100657 -Node: Derived Files1104792 -Ref: Derived Files-Footnote-11110113 -Ref: Derived Files-Footnote-21110147 -Ref: Derived Files-Footnote-31110747 -Node: Future Extensions1110845 -Node: Implementation Limitations1111428 -Node: Extension Design1112680 -Node: Old Extension Problems1113834 -Ref: Old Extension Problems-Footnote-11115342 -Node: Extension New Mechanism Goals1115399 -Ref: Extension New Mechanism Goals-Footnote-11118764 -Node: Extension Other Design Decisions1118950 -Node: Extension Future Growth1121056 -Node: Old Extension Mechanism1121892 -Node: Basic Concepts1123632 -Node: Basic High Level1124313 -Ref: figure-general-flow1124584 -Ref: figure-process-flow1125183 -Ref: Basic High Level-Footnote-11128412 -Node: Basic Data Typing1128597 -Node: Glossary1131952 -Node: Copying1157181 -Node: GNU Free Documentation License1194738 -Node: Index1219875 +Ref: Options-Footnote-1125525 +Node: Other Arguments125550 +Node: Naming Standard Input128208 +Node: Environment Variables129302 +Node: AWKPATH Variable129860 +Ref: AWKPATH Variable-Footnote-1132641 +Ref: AWKPATH Variable-Footnote-2132686 +Node: AWKLIBPATH Variable132946 +Node: Other Environment Variables133664 +Node: Exit Status136627 +Node: Include Files137302 +Node: Loading Shared Libraries140871 +Node: Obsolete142235 +Node: Undocumented142932 +Node: Regexp143174 +Node: Regexp Usage144563 +Node: Escape Sequences146588 +Node: Regexp Operators152257 +Ref: Regexp Operators-Footnote-1159637 +Ref: Regexp Operators-Footnote-2159784 +Node: Bracket Expressions159882 +Ref: table-char-classes161772 +Node: GNU Regexp Operators164295 +Node: Case-sensitivity168018 +Ref: Case-sensitivity-Footnote-1170986 +Ref: Case-sensitivity-Footnote-2171221 +Node: Leftmost Longest171329 +Node: Computed Regexps172530 +Node: Reading Files175867 +Node: Records177869 +Ref: Records-Footnote-1187392 +Node: Fields187429 +Ref: Fields-Footnote-1190385 +Node: Nonconstant Fields190471 +Node: Changing Fields192677 +Node: Field Separators198636 +Node: Default Field Splitting201338 +Node: Regexp Field Splitting202455 +Node: Single Character Fields205797 +Node: Command Line Field Separator206856 +Node: Full Line Fields210198 +Ref: Full Line Fields-Footnote-1210706 +Node: Field Splitting Summary210752 +Ref: Field Splitting Summary-Footnote-1213851 +Node: Constant Size213952 +Node: Splitting By Content218559 +Ref: Splitting By Content-Footnote-1222308 +Node: Multiple Line222348 +Ref: Multiple Line-Footnote-1228195 +Node: Getline228374 +Node: Plain Getline230590 +Node: Getline/Variable232685 +Node: Getline/File233832 +Node: Getline/Variable/File235173 +Ref: Getline/Variable/File-Footnote-1236772 +Node: Getline/Pipe236859 +Node: Getline/Variable/Pipe239558 +Node: Getline/Coprocess240665 +Node: Getline/Variable/Coprocess241917 +Node: Getline Notes242654 +Node: Getline Summary245441 +Ref: table-getline-variants245849 +Node: Read Timeout246761 +Ref: Read Timeout-Footnote-1250502 +Node: Command line directories250559 +Node: Printing251189 +Node: Print252820 +Node: Print Examples254157 +Node: Output Separators256941 +Node: OFMT258957 +Node: Printf260315 +Node: Basic Printf261221 +Node: Control Letters262760 +Node: Format Modifiers266572 +Node: Printf Examples272581 +Node: Redirection275293 +Node: Special Files282267 +Node: Special FD282800 +Ref: Special FD-Footnote-1286425 +Node: Special Network286499 +Node: Special Caveats287349 +Node: Close Files And Pipes288145 +Ref: Close Files And Pipes-Footnote-1295128 +Ref: Close Files And Pipes-Footnote-2295276 +Node: Expressions295426 +Node: Values296558 +Node: Constants297234 +Node: Scalar Constants297914 +Ref: Scalar Constants-Footnote-1298773 +Node: Nondecimal-numbers298955 +Node: Regexp Constants301955 +Node: Using Constant Regexps302430 +Node: Variables305485 +Node: Using Variables306140 +Node: Assignment Options307864 +Node: Conversion309739 +Ref: table-locale-affects315239 +Ref: Conversion-Footnote-1315863 +Node: All Operators315972 +Node: Arithmetic Ops316602 +Node: Concatenation319107 +Ref: Concatenation-Footnote-1321895 +Node: Assignment Ops322015 +Ref: table-assign-ops327003 +Node: Increment Ops328334 +Node: Truth Values and Conditions331768 +Node: Truth Values332851 +Node: Typing and Comparison333900 +Node: Variable Typing334693 +Ref: Variable Typing-Footnote-1338590 +Node: Comparison Operators338712 +Ref: table-relational-ops339122 +Node: POSIX String Comparison342670 +Ref: POSIX String Comparison-Footnote-1343626 +Node: Boolean Ops343764 +Ref: Boolean Ops-Footnote-1347834 +Node: Conditional Exp347925 +Node: Function Calls349657 +Node: Precedence353251 +Node: Locales356920 +Node: Patterns and Actions358009 +Node: Pattern Overview359063 +Node: Regexp Patterns360732 +Node: Expression Patterns361275 +Node: Ranges365056 +Node: BEGIN/END368160 +Node: Using BEGIN/END368922 +Ref: Using BEGIN/END-Footnote-1371658 +Node: I/O And BEGIN/END371764 +Node: BEGINFILE/ENDFILE374046 +Node: Empty376960 +Node: Using Shell Variables377277 +Node: Action Overview379562 +Node: Statements381919 +Node: If Statement383773 +Node: While Statement385272 +Node: Do Statement387316 +Node: For Statement388472 +Node: Switch Statement391624 +Node: Break Statement393778 +Node: Continue Statement395768 +Node: Next Statement397561 +Node: Nextfile Statement399951 +Node: Exit Statement402606 +Node: Built-in Variables405022 +Node: User-modified406117 +Ref: User-modified-Footnote-1414475 +Node: Auto-set414537 +Ref: Auto-set-Footnote-1427601 +Ref: Auto-set-Footnote-2427806 +Node: ARGC and ARGV427862 +Node: Arrays431716 +Node: Array Basics433221 +Node: Array Intro434047 +Node: Reference to Elements438364 +Node: Assigning Elements440634 +Node: Array Example441125 +Node: Scanning an Array442857 +Node: Controlling Scanning445171 +Ref: Controlling Scanning-Footnote-1450258 +Node: Delete450574 +Ref: Delete-Footnote-1453339 +Node: Numeric Array Subscripts453396 +Node: Uninitialized Subscripts455579 +Node: Multidimensional457206 +Node: Multiscanning460299 +Node: Arrays of Arrays461888 +Node: Functions466528 +Node: Built-in467347 +Node: Calling Built-in468425 +Node: Numeric Functions470413 +Ref: Numeric Functions-Footnote-1474245 +Ref: Numeric Functions-Footnote-2474602 +Ref: Numeric Functions-Footnote-3474650 +Node: String Functions474919 +Ref: String Functions-Footnote-1497877 +Ref: String Functions-Footnote-2498006 +Ref: String Functions-Footnote-3498254 +Node: Gory Details498341 +Ref: table-sub-escapes500020 +Ref: table-sub-posix-92501374 +Ref: table-sub-proposed502725 +Ref: table-posix-sub504079 +Ref: table-gensub-escapes505624 +Ref: Gory Details-Footnote-1506800 +Ref: Gory Details-Footnote-2506851 +Node: I/O Functions507002 +Ref: I/O Functions-Footnote-1513992 +Node: Time Functions514139 +Ref: Time Functions-Footnote-1525072 +Ref: Time Functions-Footnote-2525140 +Ref: Time Functions-Footnote-3525298 +Ref: Time Functions-Footnote-4525409 +Ref: Time Functions-Footnote-5525521 +Ref: Time Functions-Footnote-6525748 +Node: Bitwise Functions526014 +Ref: table-bitwise-ops526576 +Ref: Bitwise Functions-Footnote-1530797 +Node: Type Functions530981 +Node: I18N Functions532132 +Node: User-defined533759 +Node: Definition Syntax534563 +Ref: Definition Syntax-Footnote-1539477 +Node: Function Example539546 +Ref: Function Example-Footnote-1542195 +Node: Function Caveats542217 +Node: Calling A Function542735 +Node: Variable Scope543690 +Node: Pass By Value/Reference546653 +Node: Return Statement550161 +Node: Dynamic Typing553142 +Node: Indirect Calls554073 +Node: Library Functions563760 +Ref: Library Functions-Footnote-1567273 +Ref: Library Functions-Footnote-2567416 +Node: Library Names567587 +Ref: Library Names-Footnote-1571060 +Ref: Library Names-Footnote-2571280 +Node: General Functions571366 +Node: Strtonum Function572394 +Node: Assert Function575324 +Node: Round Function578650 +Node: Cliff Random Function580191 +Node: Ordinal Functions581207 +Ref: Ordinal Functions-Footnote-1584284 +Ref: Ordinal Functions-Footnote-2584536 +Node: Join Function584747 +Ref: Join Function-Footnote-1586518 +Node: Getlocaltime Function586718 +Node: Readfile Function590459 +Node: Data File Management592298 +Node: Filetrans Function592930 +Node: Rewind Function596999 +Node: File Checking598386 +Node: Empty Files599480 +Node: Ignoring Assigns601710 +Node: Getopt Function603264 +Ref: Getopt Function-Footnote-1614567 +Node: Passwd Functions614770 +Ref: Passwd Functions-Footnote-1623748 +Node: Group Functions623836 +Node: Walking Arrays631920 +Node: Sample Programs634056 +Node: Running Examples634730 +Node: Clones635458 +Node: Cut Program636682 +Node: Egrep Program646533 +Ref: Egrep Program-Footnote-1654306 +Node: Id Program654416 +Node: Split Program658065 +Ref: Split Program-Footnote-1661584 +Node: Tee Program661712 +Node: Uniq Program664515 +Node: Wc Program671944 +Ref: Wc Program-Footnote-1676210 +Ref: Wc Program-Footnote-2676410 +Node: Miscellaneous Programs676502 +Node: Dupword Program677690 +Node: Alarm Program679721 +Node: Translate Program684528 +Ref: Translate Program-Footnote-1688915 +Ref: Translate Program-Footnote-2689163 +Node: Labels Program689297 +Ref: Labels Program-Footnote-1692668 +Node: Word Sorting692752 +Node: History Sorting696636 +Node: Extract Program698475 +Ref: Extract Program-Footnote-1705978 +Node: Simple Sed706106 +Node: Igawk Program709168 +Ref: Igawk Program-Footnote-1724325 +Ref: Igawk Program-Footnote-2724526 +Node: Anagram Program724664 +Node: Signature Program727732 +Node: Advanced Features728832 +Node: Nondecimal Data730718 +Node: Array Sorting732301 +Node: Controlling Array Traversal732998 +Node: Array Sorting Functions741282 +Ref: Array Sorting Functions-Footnote-1745151 +Node: Two-way I/O745345 +Ref: Two-way I/O-Footnote-1750777 +Node: TCP/IP Networking750859 +Node: Profiling753703 +Node: Internationalization761206 +Node: I18N and L10N762631 +Node: Explaining gettext763317 +Ref: Explaining gettext-Footnote-1768385 +Ref: Explaining gettext-Footnote-2768569 +Node: Programmer i18n768734 +Node: Translator i18n772936 +Node: String Extraction773730 +Ref: String Extraction-Footnote-1774691 +Node: Printf Ordering774777 +Ref: Printf Ordering-Footnote-1777559 +Node: I18N Portability777623 +Ref: I18N Portability-Footnote-1780072 +Node: I18N Example780135 +Ref: I18N Example-Footnote-1782773 +Node: Gawk I18N782845 +Node: Debugger783466 +Node: Debugging784437 +Node: Debugging Concepts784870 +Node: Debugging Terms786726 +Node: Awk Debugging789323 +Node: Sample Debugging Session790215 +Node: Debugger Invocation790735 +Node: Finding The Bug792068 +Node: List of Debugger Commands798555 +Node: Breakpoint Control799889 +Node: Debugger Execution Control803553 +Node: Viewing And Changing Data806913 +Node: Execution Stack810269 +Node: Debugger Info811736 +Node: Miscellaneous Debugger Commands815718 +Node: Readline Support820894 +Node: Limitations821725 +Node: Arbitrary Precision Arithmetic823977 +Ref: Arbitrary Precision Arithmetic-Footnote-1825626 +Node: General Arithmetic825774 +Node: Floating Point Issues827494 +Node: String Conversion Precision828375 +Ref: String Conversion Precision-Footnote-1830080 +Node: Unexpected Results830189 +Node: POSIX Floating Point Problems832342 +Ref: POSIX Floating Point Problems-Footnote-1836167 +Node: Integer Programming836205 +Node: Floating-point Programming837944 +Ref: Floating-point Programming-Footnote-1844275 +Ref: Floating-point Programming-Footnote-2844545 +Node: Floating-point Representation844809 +Node: Floating-point Context845974 +Ref: table-ieee-formats846813 +Node: Rounding Mode848197 +Ref: table-rounding-modes848676 +Ref: Rounding Mode-Footnote-1851691 +Node: Gawk and MPFR851870 +Node: Arbitrary Precision Floats853125 +Ref: Arbitrary Precision Floats-Footnote-1855568 +Node: Setting Precision855884 +Ref: table-predefined-precision-strings856570 +Node: Setting Rounding Mode858715 +Ref: table-gawk-rounding-modes859119 +Node: Floating-point Constants860306 +Node: Changing Precision861735 +Ref: Changing Precision-Footnote-1863132 +Node: Exact Arithmetic863306 +Node: Arbitrary Precision Integers866444 +Ref: Arbitrary Precision Integers-Footnote-1869459 +Node: Dynamic Extensions869606 +Node: Extension Intro871064 +Node: Plugin License872329 +Node: Extension Mechanism Outline873014 +Ref: load-extension873431 +Ref: load-new-function874909 +Ref: call-new-function875904 +Node: Extension API Description877919 +Node: Extension API Functions Introduction879206 +Node: General Data Types884133 +Ref: General Data Types-Footnote-1889828 +Node: Requesting Values890127 +Ref: table-value-types-returned890864 +Node: Memory Allocation Functions891818 +Ref: Memory Allocation Functions-Footnote-1894564 +Node: Constructor Functions894660 +Node: Registration Functions896418 +Node: Extension Functions897103 +Node: Exit Callback Functions899405 +Node: Extension Version String900654 +Node: Input Parsers901304 +Node: Output Wrappers911061 +Node: Two-way processors915571 +Node: Printing Messages917779 +Ref: Printing Messages-Footnote-1918856 +Node: Updating `ERRNO'919008 +Node: Accessing Parameters919747 +Node: Symbol Table Access920977 +Node: Symbol table by name921491 +Node: Symbol table by cookie923240 +Ref: Symbol table by cookie-Footnote-1927372 +Node: Cached values927435 +Ref: Cached values-Footnote-1930925 +Node: Array Manipulation931016 +Ref: Array Manipulation-Footnote-1932114 +Node: Array Data Types932153 +Ref: Array Data Types-Footnote-1934856 +Node: Array Functions934948 +Node: Flattening Arrays938784 +Node: Creating Arrays945636 +Node: Extension API Variables950361 +Node: Extension Versioning950997 +Node: Extension API Informational Variables952898 +Node: Extension API Boilerplate953984 +Node: Finding Extensions957788 +Node: Extension Example958348 +Node: Internal File Description959078 +Node: Internal File Ops963169 +Ref: Internal File Ops-Footnote-1974678 +Node: Using Internal File Ops974818 +Ref: Using Internal File Ops-Footnote-1977171 +Node: Extension Samples977437 +Node: Extension Sample File Functions978961 +Node: Extension Sample Fnmatch987446 +Node: Extension Sample Fork989215 +Node: Extension Sample Inplace990428 +Node: Extension Sample Ord992206 +Node: Extension Sample Readdir993042 +Node: Extension Sample Revout994574 +Node: Extension Sample Rev2way995167 +Node: Extension Sample Read write array995857 +Node: Extension Sample Readfile997740 +Node: Extension Sample API Tests998558 +Node: Extension Sample Time999083 +Node: gawkextlib1000447 +Node: Language History1003228 +Node: V7/SVR3.11004821 +Node: SVR41007141 +Node: POSIX1008583 +Node: BTL1009969 +Node: POSIX/GNU1010703 +Node: Feature History1016302 +Node: Common Extensions1029278 +Node: Ranges and Locales1030590 +Ref: Ranges and Locales-Footnote-11035207 +Ref: Ranges and Locales-Footnote-21035234 +Ref: Ranges and Locales-Footnote-31035468 +Node: Contributors1035689 +Node: Installation1041070 +Node: Gawk Distribution1041964 +Node: Getting1042448 +Node: Extracting1043274 +Node: Distribution contents1044966 +Node: Unix Installation1050671 +Node: Quick Installation1051288 +Node: Additional Configuration Options1053734 +Node: Configuration Philosophy1055470 +Node: Non-Unix Installation1057824 +Node: PC Installation1058282 +Node: PC Binary Installation1059581 +Node: PC Compiling1061429 +Node: PC Testing1064373 +Node: PC Using1065549 +Node: Cygwin1069717 +Node: MSYS1070526 +Node: VMS Installation1071040 +Node: VMS Compilation1071804 +Ref: VMS Compilation-Footnote-11073056 +Node: VMS Dynamic Extensions1073114 +Node: VMS Installation Details1074487 +Node: VMS Running1076738 +Node: VMS GNV1079572 +Node: VMS Old Gawk1080295 +Node: Bugs1080765 +Node: Other Versions1084683 +Node: Notes1090767 +Node: Compatibility Mode1091567 +Node: Additions1092350 +Node: Accessing The Source1093277 +Node: Adding Code1094717 +Node: New Ports1100762 +Node: Derived Files1104897 +Ref: Derived Files-Footnote-11110218 +Ref: Derived Files-Footnote-21110252 +Ref: Derived Files-Footnote-31110852 +Node: Future Extensions1110950 +Node: Implementation Limitations1111533 +Node: Extension Design1112785 +Node: Old Extension Problems1113939 +Ref: Old Extension Problems-Footnote-11115447 +Node: Extension New Mechanism Goals1115504 +Ref: Extension New Mechanism Goals-Footnote-11118869 +Node: Extension Other Design Decisions1119055 +Node: Extension Future Growth1121161 +Node: Old Extension Mechanism1121997 +Node: Basic Concepts1123737 +Node: Basic High Level1124418 +Ref: figure-general-flow1124689 +Ref: figure-process-flow1125288 +Ref: Basic High Level-Footnote-11128517 +Node: Basic Data Typing1128702 +Node: Glossary1132057 +Node: Copying1157286 +Node: GNU Free Documentation License1194843 +Node: Index1219980  End Tag Table -- cgit v1.2.3 From ef5a25cdb3af19a1f2cc14e25e1a93914aae82c1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 22:22:35 +0200 Subject: Finishing indexing changes, special treatment for functions. --- doc/gawk.info | 714 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 358 insertions(+), 356 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 29af8ab4..033a804e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -12199,7 +12199,8 @@ enclosed in square brackets ([ ]): Variables::). The default string value is `"%a %b %e %H:%M:%S %Z %Y"'. This format string produces output that is equivalent to that of the `date' utility. You can assign - a new value to `PROCINFO["strftime"]' to change the default format. + a new value to `PROCINFO["strftime"]' to change the default + format; see below for the various format directives. `systime()' Return the current time as the number of seconds since the system @@ -30051,8 +30052,8 @@ Index * ' (single quote), in shell commands: Quoting. (line 31) * ' (single quote), vs. apostrophe: Comments. (line 27) * ' (single quote), with double quotes: Quoting. (line 53) -* () (parentheses): Regexp Operators. (line 79) * () (parentheses), in a profile: Profiling. (line 146) +* () (parentheses), regexp operator: Regexp Operators. (line 79) * * (asterisk), * operator, as multiplication operator: Precedence. (line 55) * * (asterisk), * operator, as regexp operator: Regexp Operators. @@ -30318,9 +30319,9 @@ Index (line 6) * anagram.awk program: Anagram Program. (line 22) * anagrams, finding: Anagram Program. (line 6) +* and: Bitwise Functions. (line 39) * AND bitwise operation: Bitwise Functions. (line 6) * and Boolean-logic operator: Boolean Ops. (line 6) -* and() function (gawk): Bitwise Functions. (line 39) * ANSI: Glossary. (line 35) * API informational variables: Extension API Informational Variables. (line 6) @@ -30393,14 +30394,14 @@ Index (line 52) * ASCII <1>: Glossary. (line 133) * ASCII: Ordinal Functions. (line 45) -* asort() function (gawk) <1>: Array Sorting Functions. +* asort <1>: Array Sorting Functions. (line 6) -* asort() function (gawk): String Functions. (line 32) +* asort: String Functions. (line 32) * asort() function (gawk), arrays, sorting: Array Sorting Functions. (line 6) -* asorti() function (gawk) <1>: Array Sorting Functions. +* asorti <1>: Array Sorting Functions. (line 6) -* asorti() function (gawk): String Functions. (line 32) +* asorti: String Functions. (line 32) * asorti() function (gawk), arrays, sorting: Array Sorting Functions. (line 6) * assert() function (C library): Assert Function. (line 6) @@ -30571,9 +30572,9 @@ Index * Berry, Karl <1>: Ranges and Locales. (line 74) * Berry, Karl: Acknowledgments. (line 33) * binary input/output: User-modified. (line 10) +* bindtextdomain <1>: Programmer i18n. (line 47) +* bindtextdomain: I18N Functions. (line 12) * bindtextdomain() function (C library): Explaining gettext. (line 49) -* bindtextdomain() function (gawk) <1>: Programmer i18n. (line 47) -* bindtextdomain() function (gawk): I18N Functions. (line 12) * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) * BINMODE variable <1>: PC Using. (line 33) @@ -30713,10 +30714,10 @@ Index (line 6) * cliff_rand() user-defined function: Cliff Random Function. (line 12) -* close file or coprocess: I/O Functions. (line 10) -* close() function <1>: I/O Functions. (line 10) -* close() function: Close Files And Pipes. +* close <1>: I/O Functions. (line 10) +* close: Close Files And Pipes. (line 18) +* close file or coprocess: I/O Functions. (line 10) * close() function, portability: Close Files And Pipes. (line 81) * close() function, return value: Close Files And Pipes. @@ -30787,7 +30788,7 @@ Index * compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 13) * compiling gawk for VMS: VMS Compilation. (line 6) * compiling gawk with EMX for OS/2: PC Compiling. (line 28) -* compl() function (gawk): Bitwise Functions. (line 43) +* compl: Bitwise Functions. (line 43) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) * concatenating: Concatenation. (line 8) @@ -30822,7 +30823,7 @@ Index * convert string to upper case: String Functions. (line 527) * converting integer array subscripts: Numeric Array Subscripts. (line 31) -* converting, dates to timestamps: Time Functions. (line 75) +* converting, dates to timestamps: Time Functions. (line 76) * converting, numbers to strings <1>: Bitwise Functions. (line 109) * converting, numbers to strings: Conversion. (line 6) * converting, strings to numbers <1>: Bitwise Functions. (line 109) @@ -30837,7 +30838,7 @@ Index * coprocesses, closing: Close Files And Pipes. (line 6) * coprocesses, getline from: Getline/Coprocess. (line 6) -* cos() function: Numeric Functions. (line 15) +* cos: Numeric Functions. (line 15) * cosine: Numeric Functions. (line 15) * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) @@ -30845,7 +30846,7 @@ Index * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime() user-defined function: Function Example. (line 73) * currency symbols, localization: Explaining gettext. (line 103) -* current system time: Time Functions. (line 65) +* current system time: Time Functions. (line 66) * custom.h file: Configuration Philosophy. (line 30) * customized input parser: Input Parsers. (line 6) @@ -30903,18 +30904,18 @@ Index * database, group, reading: Group Functions. (line 6) * database, users, reading: Passwd Functions. (line 6) * date utility, GNU: Time Functions. (line 17) -* date utility, POSIX: Time Functions. (line 262) -* dates, converting to timestamps: Time Functions. (line 75) +* date utility, POSIX: Time Functions. (line 263) +* dates, converting to timestamps: Time Functions. (line 76) * dates, information related to, localization: Explaining gettext. (line 115) * Davies, Stephen <1>: Contributors. (line 74) * Davies, Stephen: Acknowledgments. (line 60) -* dcgettext() function (gawk) <1>: Programmer i18n. (line 19) -* dcgettext() function (gawk): I18N Functions. (line 22) +* dcgettext <1>: Programmer i18n. (line 19) +* dcgettext: I18N Functions. (line 22) * dcgettext() function (gawk), portability and: I18N Portability. (line 33) -* dcngettext() function (gawk) <1>: Programmer i18n. (line 36) -* dcngettext() function (gawk): I18N Functions. (line 28) +* dcngettext <1>: Programmer i18n. (line 36) +* dcngettext: I18N Functions. (line 28) * dcngettext() function (gawk), portability and: I18N Portability. (line 33) * deadlocks: Two-way I/O. (line 70) @@ -31239,7 +31240,7 @@ Index * exit status, of VMS: VMS Running. (line 29) * exit the debugger: Miscellaneous Debugger Commands. (line 99) -* exp() function: Numeric Functions. (line 18) +* exp: Numeric Functions. (line 18) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 35) * exponent: Numeric Functions. (line 18) @@ -31301,7 +31302,7 @@ Index * features, undocumented: Undocumented. (line 6) * Fenlason, Jay <1>: Contributors. (line 18) * Fenlason, Jay: History. (line 30) -* fflush() function: I/O Functions. (line 25) +* fflush: I/O Functions. (line 25) * field numbers: Nonconstant Fields. (line 6) * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) @@ -31422,7 +31423,7 @@ Index (line 57) * format specifiers, printf statement: Control Letters. (line 6) * format specifiers, strftime() function (gawk): Time Functions. - (line 88) + (line 89) * format time string: Time Functions. (line 48) * formats, numeric output: OFMT. (line 6) * formatting output: Printf. (line 6) @@ -31609,8 +31610,8 @@ Index * General Public License (GPL): Glossary. (line 306) * General Public License, See GPL: Manual History. (line 11) * generate time values: Time Functions. (line 25) -* gensub() function (gawk) <1>: String Functions. (line 82) -* gensub() function (gawk): Using Constant Regexps. +* gensub <1>: String Functions. (line 82) +* gensub: Using Constant Regexps. (line 43) * gensub() function (gawk), escape processing: Gory Details. (line 6) * getaddrinfo() function (C library): TCP/IP Networking. (line 38) @@ -31685,8 +31686,8 @@ Index * group file: Group Functions. (line 6) * group id of gawk user: Auto-set. (line 177) * groups, information about: Group Functions. (line 6) -* gsub() function <1>: String Functions. (line 135) -* gsub() function: Using Constant Regexps. +* gsub <1>: String Functions. (line 135) +* gsub: Using Constant Regexps. (line 43) * gsub() function, arguments of: String Functions. (line 460) * gsub() function, escape processing: Gory Details. (line 6) @@ -31730,7 +31731,8 @@ Index (line 83) * IGNORECASE variable, in example programs: Library Functions. (line 53) -* IGNORECASE variable, ~ and !~ operators: Case-sensitivity. (line 26) +* IGNORECASE variable, with ~ and !~ operators: Case-sensitivity. + (line 26) * Illumos: Other Versions. (line 104) * Illumos, POSIX-compliant awk: Other Versions. (line 104) * implementation issues, gawk: Notes. (line 6) @@ -31748,7 +31750,7 @@ Index (line 37) * in operator, use in loops: Scanning an Array. (line 17) * increment operators: Increment Ops. (line 6) -* index() function: String Functions. (line 151) +* index: String Functions. (line 151) * indexing arrays: Array Intro. (line 49) * indirect function calls: Indirect Calls. (line 6) * infinite precision: Arbitrary Precision Arithmetic. @@ -31783,8 +31785,8 @@ Index * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 89) +* int: Numeric Functions. (line 23) * INT signal (MS-Windows): Profiling. (line 214) -* int() function: Numeric Functions. (line 23) * integer array indices: Numeric Array Subscripts. (line 31) * integers: General Arithmetic. (line 6) @@ -31813,7 +31815,7 @@ Index * interval expressions, regexp operator: Regexp Operators. (line 116) * inventory-shipped file: Sample Data Files. (line 32) * invoke shell command: I/O Functions. (line 72) -* isarray() function (gawk): Type Functions. (line 11) +* isarray: Type Functions. (line 11) * ISO: Glossary. (line 368) * ISO 8859-1: Glossary. (line 133) * ISO Latin-1: Glossary. (line 133) @@ -31870,9 +31872,9 @@ Index * left shift: Bitwise Functions. (line 46) * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) +* length: String Functions. (line 164) * length of input record: String Functions. (line 171) * length of string: String Functions. (line 164) -* length() function: String Functions. (line 164) * Lesser General Public License (LGPL): Glossary. (line 397) * LGPL (Lesser General Public License): Glossary. (line 397) * libmawk: Other Versions. (line 120) @@ -31934,8 +31936,8 @@ Index * localization: I18N and L10N. (line 6) * localization, See internationalization, localization: I18N and L10N. (line 6) +* log: Numeric Functions. (line 30) * log files, timestamps in: Time Functions. (line 6) -* log() function: Numeric Functions. (line 30) * logarithm: Numeric Functions. (line 30) * logical false/true: Truth Values. (line 6) * logical operators, See Boolean expressions: Boolean Ops. (line 6) @@ -31952,7 +31954,7 @@ Index * loops, See Also while statement: While Statement. (line 6) * loops, while: While Statement. (line 6) * ls utility: More Complex. (line 15) -* lshift() function (gawk): Bitwise Functions. (line 46) +* lshift: Bitwise Functions. (line 46) * lvalues/rvalues: Assignment Ops. (line 32) * mail-list file: Sample Data Files. (line 6) * mailing labels, printing: Labels Program. (line 6) @@ -31964,8 +31966,8 @@ Index (line 6) * marked strings, extracting: String Extraction. (line 6) * Marx, Groucho: Increment Ops. (line 60) +* match: String Functions. (line 204) * match regexp in string: String Functions. (line 204) -* match() function: String Functions. (line 204) * match() function, RSTART/RLENGTH variables: String Functions. (line 221) * matching, expressions, See comparison expressions: Typing and Comparison. @@ -31990,7 +31992,7 @@ Index * metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 130) * minimum precision supported by MPFR library: Auto-set. (line 221) -* mktime() function (gawk): Time Functions. (line 25) +* mktime: Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 103) * MPFR: Gawk and MPFR. (line 6) @@ -32141,9 +32143,9 @@ Index * options, long <1>: Options. (line 6) * options, long: Command Line. (line 13) * options, printing list of: Options. (line 154) +* or: Bitwise Functions. (line 49) * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) -* or() function (gawk): Bitwise Functions. (line 49) * ord() extension function: Extension Sample Ord. (line 12) * ord() user-defined function: Ordinal Functions. (line 16) @@ -32169,10 +32171,10 @@ Index (line 36) * P1003.1 POSIX standard: Glossary. (line 454) * parent process id of gawk process: Auto-set. (line 186) -* parentheses (): Regexp Operators. (line 79) * parentheses (), in a profile: Profiling. (line 146) +* parentheses (), regexp operator: Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) -* patsplit() function (gawk): String Functions. (line 291) +* patsplit: String Functions. (line 291) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) @@ -32265,7 +32267,7 @@ Index * POSIX awk, changes in awk versions: POSIX. (line 6) * POSIX awk, continue statement and: Continue Statement. (line 43) * POSIX awk, CONVFMT variable and: User-modified. (line 28) -* POSIX awk, date utility and: Time Functions. (line 262) +* POSIX awk, date utility and: Time Functions. (line 263) * POSIX awk, field separators and <1>: Field Splitting Summary. (line 40) * POSIX awk, field separators and: Fields. (line 6) @@ -32394,7 +32396,7 @@ Index * Rakitzis, Byron: History Sorting. (line 25) * Ramey, Chet <1>: General Data Types. (line 6) * Ramey, Chet: Acknowledgments. (line 60) -* rand() function: Numeric Functions. (line 34) +* rand: Numeric Functions. (line 34) * random numbers, Cliff: Cliff Random Function. (line 6) * random numbers, rand()/srand() functions: Numeric Functions. @@ -32535,7 +32537,7 @@ Index * RS variable <1>: User-modified. (line 143) * RS variable: Records. (line 20) * RS variable, multiline records and: Multiple Line. (line 17) -* rshift() function (gawk): Bitwise Functions. (line 52) +* rshift: Bitwise Functions. (line 52) * RSTART variable: Auto-set. (line 259) * RSTART variable, match() function and: String Functions. (line 221) * RT variable <1>: Auto-set. (line 266) @@ -32679,7 +32681,7 @@ Index * SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) -* sin() function: Numeric Functions. (line 75) +* sin: Numeric Functions. (line 75) * sine: Numeric Functions. (line 75) * single precision floating-point: General Arithmetic. (line 21) * single quote ('): One-shot. (line 15) @@ -32721,20 +32723,20 @@ Index * source files, search path for: Igawk Program. (line 368) * sparse arrays: Array Intro. (line 70) * Spencer, Henry: Glossary. (line 12) +* split: String Functions. (line 313) * split string into array: String Functions. (line 291) * split utility: Split Program. (line 6) -* split() function: String Functions. (line 313) * split() function, array elements, deleting: Delete. (line 61) * split.awk program: Split Program. (line 30) -* sprintf() function <1>: String Functions. (line 378) -* sprintf() function: OFMT. (line 15) +* sprintf <1>: String Functions. (line 378) +* sprintf: OFMT. (line 15) * sprintf() function, OFMT variable and: User-modified. (line 124) * sprintf() function, print/printf statements and: Round Function. (line 6) -* sqrt() function: Numeric Functions. (line 78) +* sqrt: Numeric Functions. (line 78) * square brackets ([]), regexp operator: Regexp Operators. (line 55) * square root: Numeric Functions. (line 78) -* srand() function: Numeric Functions. (line 82) +* srand: Numeric Functions. (line 82) * stack frame: Debugging Terms. (line 10) * Stallman, Richard <1>: Glossary. (line 297) * Stallman, Richard <2>: Contributors. (line 23) @@ -32759,7 +32761,7 @@ Index * stream editors <1>: Simple Sed. (line 6) * stream editors: Field Splitting Summary. (line 46) -* strftime() function (gawk): Time Functions. (line 48) +* strftime: Time Functions. (line 48) * string constants: Scalar Constants. (line 15) * string constants, vs. regexp constants: Computed Regexps. (line 38) * string extraction (internationalization): String Extraction. @@ -32783,11 +32785,11 @@ Index * strings, null: Regexp Field Splitting. (line 43) * strings, numeric: Variable Typing. (line 6) -* strtonum() function (gawk): String Functions. (line 385) +* strtonum: String Functions. (line 385) * strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data. (line 36) -* sub() function <1>: String Functions. (line 406) -* sub() function: Using Constant Regexps. +* sub <1>: String Functions. (line 406) +* sub: Using Constant Regexps. (line 43) * sub() function, arguments of: String Functions. (line 460) * sub() function, escape processing: Gory Details. (line 6) @@ -32803,7 +32805,7 @@ Index * SUBSEP variable, and multidimensional arrays: Multidimensional. (line 16) * substitute in string: String Functions. (line 82) -* substr() function: String Functions. (line 479) +* substr: String Functions. (line 479) * substring: String Functions. (line 479) * Sumner, Andrew: Other Versions. (line 64) * supplementary groups of gawk process: Auto-set. (line 234) @@ -32811,8 +32813,8 @@ Index * SYMTAB array: Auto-set. (line 274) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 147) -* system() function: I/O Functions. (line 72) -* systime() function (gawk): Time Functions. (line 65) +* system: I/O Functions. (line 72) +* systime: Time Functions. (line 66) * t debugger command (alias for tbreak): Breakpoint Control. (line 90) * tbreak debugger command: Breakpoint Control. (line 90) * Tcl: Library Names. (line 57) @@ -32858,11 +32860,11 @@ Index * time, retrieving: Time Functions. (line 17) * timeout, reading input: Read Timeout. (line 6) * timestamps: Time Functions. (line 6) -* timestamps, converting dates to: Time Functions. (line 75) +* timestamps, converting dates to: Time Functions. (line 76) * timestamps, formatted: Getlocaltime Function. (line 6) -* tolower() function: String Functions. (line 521) -* toupper() function: String Functions. (line 527) +* tolower: String Functions. (line 521) +* toupper: String Functions. (line 527) * tr utility: Translate Program. (line 6) * trace debugger command: Miscellaneous Debugger Commands. (line 108) @@ -33041,8 +33043,8 @@ Index * writea() extension function: Extension Sample Read write array. (line 9) * xgettext utility: String Extraction. (line 13) +* xor: Bitwise Functions. (line 55) * XOR bitwise operation: Bitwise Functions. (line 6) -* xor() function (gawk): Bitwise Functions. (line 55) * Yawitz, Efraim: Contributors. (line 129) * Zaretskii, Eli <1>: Bugs. (line 70) * Zaretskii, Eli <2>: Contributors. (line 55) @@ -33307,300 +33309,300 @@ Ref: Gory Details-Footnote-2506851 Node: I/O Functions507002 Ref: I/O Functions-Footnote-1513992 Node: Time Functions514139 -Ref: Time Functions-Footnote-1525072 -Ref: Time Functions-Footnote-2525140 -Ref: Time Functions-Footnote-3525298 -Ref: Time Functions-Footnote-4525409 -Ref: Time Functions-Footnote-5525521 -Ref: Time Functions-Footnote-6525748 -Node: Bitwise Functions526014 -Ref: table-bitwise-ops526576 -Ref: Bitwise Functions-Footnote-1530797 -Node: Type Functions530981 -Node: I18N Functions532132 -Node: User-defined533759 -Node: Definition Syntax534563 -Ref: Definition Syntax-Footnote-1539477 -Node: Function Example539546 -Ref: Function Example-Footnote-1542195 -Node: Function Caveats542217 -Node: Calling A Function542735 -Node: Variable Scope543690 -Node: Pass By Value/Reference546653 -Node: Return Statement550161 -Node: Dynamic Typing553142 -Node: Indirect Calls554073 -Node: Library Functions563760 -Ref: Library Functions-Footnote-1567273 -Ref: Library Functions-Footnote-2567416 -Node: Library Names567587 -Ref: Library Names-Footnote-1571060 -Ref: Library Names-Footnote-2571280 -Node: General Functions571366 -Node: Strtonum Function572394 -Node: Assert Function575324 -Node: Round Function578650 -Node: Cliff Random Function580191 -Node: Ordinal Functions581207 -Ref: Ordinal Functions-Footnote-1584284 -Ref: Ordinal Functions-Footnote-2584536 -Node: Join Function584747 -Ref: Join Function-Footnote-1586518 -Node: Getlocaltime Function586718 -Node: Readfile Function590459 -Node: Data File Management592298 -Node: Filetrans Function592930 -Node: Rewind Function596999 -Node: File Checking598386 -Node: Empty Files599480 -Node: Ignoring Assigns601710 -Node: Getopt Function603264 -Ref: Getopt Function-Footnote-1614567 -Node: Passwd Functions614770 -Ref: Passwd Functions-Footnote-1623748 -Node: Group Functions623836 -Node: Walking Arrays631920 -Node: Sample Programs634056 -Node: Running Examples634730 -Node: Clones635458 -Node: Cut Program636682 -Node: Egrep Program646533 -Ref: Egrep Program-Footnote-1654306 -Node: Id Program654416 -Node: Split Program658065 -Ref: Split Program-Footnote-1661584 -Node: Tee Program661712 -Node: Uniq Program664515 -Node: Wc Program671944 -Ref: Wc Program-Footnote-1676210 -Ref: Wc Program-Footnote-2676410 -Node: Miscellaneous Programs676502 -Node: Dupword Program677690 -Node: Alarm Program679721 -Node: Translate Program684528 -Ref: Translate Program-Footnote-1688915 -Ref: Translate Program-Footnote-2689163 -Node: Labels Program689297 -Ref: Labels Program-Footnote-1692668 -Node: Word Sorting692752 -Node: History Sorting696636 -Node: Extract Program698475 -Ref: Extract Program-Footnote-1705978 -Node: Simple Sed706106 -Node: Igawk Program709168 -Ref: Igawk Program-Footnote-1724325 -Ref: Igawk Program-Footnote-2724526 -Node: Anagram Program724664 -Node: Signature Program727732 -Node: Advanced Features728832 -Node: Nondecimal Data730718 -Node: Array Sorting732301 -Node: Controlling Array Traversal732998 -Node: Array Sorting Functions741282 -Ref: Array Sorting Functions-Footnote-1745151 -Node: Two-way I/O745345 -Ref: Two-way I/O-Footnote-1750777 -Node: TCP/IP Networking750859 -Node: Profiling753703 -Node: Internationalization761206 -Node: I18N and L10N762631 -Node: Explaining gettext763317 -Ref: Explaining gettext-Footnote-1768385 -Ref: Explaining gettext-Footnote-2768569 -Node: Programmer i18n768734 -Node: Translator i18n772936 -Node: String Extraction773730 -Ref: String Extraction-Footnote-1774691 -Node: Printf Ordering774777 -Ref: Printf Ordering-Footnote-1777559 -Node: I18N Portability777623 -Ref: I18N Portability-Footnote-1780072 -Node: I18N Example780135 -Ref: I18N Example-Footnote-1782773 -Node: Gawk I18N782845 -Node: Debugger783466 -Node: Debugging784437 -Node: Debugging Concepts784870 -Node: Debugging Terms786726 -Node: Awk Debugging789323 -Node: Sample Debugging Session790215 -Node: Debugger Invocation790735 -Node: Finding The Bug792068 -Node: List of Debugger Commands798555 -Node: Breakpoint Control799889 -Node: Debugger Execution Control803553 -Node: Viewing And Changing Data806913 -Node: Execution Stack810269 -Node: Debugger Info811736 -Node: Miscellaneous Debugger Commands815718 -Node: Readline Support820894 -Node: Limitations821725 -Node: Arbitrary Precision Arithmetic823977 -Ref: Arbitrary Precision Arithmetic-Footnote-1825626 -Node: General Arithmetic825774 -Node: Floating Point Issues827494 -Node: String Conversion Precision828375 -Ref: String Conversion Precision-Footnote-1830080 -Node: Unexpected Results830189 -Node: POSIX Floating Point Problems832342 -Ref: POSIX Floating Point Problems-Footnote-1836167 -Node: Integer Programming836205 -Node: Floating-point Programming837944 -Ref: Floating-point Programming-Footnote-1844275 -Ref: Floating-point Programming-Footnote-2844545 -Node: Floating-point Representation844809 -Node: Floating-point Context845974 -Ref: table-ieee-formats846813 -Node: Rounding Mode848197 -Ref: table-rounding-modes848676 -Ref: Rounding Mode-Footnote-1851691 -Node: Gawk and MPFR851870 -Node: Arbitrary Precision Floats853125 -Ref: Arbitrary Precision Floats-Footnote-1855568 -Node: Setting Precision855884 -Ref: table-predefined-precision-strings856570 -Node: Setting Rounding Mode858715 -Ref: table-gawk-rounding-modes859119 -Node: Floating-point Constants860306 -Node: Changing Precision861735 -Ref: Changing Precision-Footnote-1863132 -Node: Exact Arithmetic863306 -Node: Arbitrary Precision Integers866444 -Ref: Arbitrary Precision Integers-Footnote-1869459 -Node: Dynamic Extensions869606 -Node: Extension Intro871064 -Node: Plugin License872329 -Node: Extension Mechanism Outline873014 -Ref: load-extension873431 -Ref: load-new-function874909 -Ref: call-new-function875904 -Node: Extension API Description877919 -Node: Extension API Functions Introduction879206 -Node: General Data Types884133 -Ref: General Data Types-Footnote-1889828 -Node: Requesting Values890127 -Ref: table-value-types-returned890864 -Node: Memory Allocation Functions891818 -Ref: Memory Allocation Functions-Footnote-1894564 -Node: Constructor Functions894660 -Node: Registration Functions896418 -Node: Extension Functions897103 -Node: Exit Callback Functions899405 -Node: Extension Version String900654 -Node: Input Parsers901304 -Node: Output Wrappers911061 -Node: Two-way processors915571 -Node: Printing Messages917779 -Ref: Printing Messages-Footnote-1918856 -Node: Updating `ERRNO'919008 -Node: Accessing Parameters919747 -Node: Symbol Table Access920977 -Node: Symbol table by name921491 -Node: Symbol table by cookie923240 -Ref: Symbol table by cookie-Footnote-1927372 -Node: Cached values927435 -Ref: Cached values-Footnote-1930925 -Node: Array Manipulation931016 -Ref: Array Manipulation-Footnote-1932114 -Node: Array Data Types932153 -Ref: Array Data Types-Footnote-1934856 -Node: Array Functions934948 -Node: Flattening Arrays938784 -Node: Creating Arrays945636 -Node: Extension API Variables950361 -Node: Extension Versioning950997 -Node: Extension API Informational Variables952898 -Node: Extension API Boilerplate953984 -Node: Finding Extensions957788 -Node: Extension Example958348 -Node: Internal File Description959078 -Node: Internal File Ops963169 -Ref: Internal File Ops-Footnote-1974678 -Node: Using Internal File Ops974818 -Ref: Using Internal File Ops-Footnote-1977171 -Node: Extension Samples977437 -Node: Extension Sample File Functions978961 -Node: Extension Sample Fnmatch987446 -Node: Extension Sample Fork989215 -Node: Extension Sample Inplace990428 -Node: Extension Sample Ord992206 -Node: Extension Sample Readdir993042 -Node: Extension Sample Revout994574 -Node: Extension Sample Rev2way995167 -Node: Extension Sample Read write array995857 -Node: Extension Sample Readfile997740 -Node: Extension Sample API Tests998558 -Node: Extension Sample Time999083 -Node: gawkextlib1000447 -Node: Language History1003228 -Node: V7/SVR3.11004821 -Node: SVR41007141 -Node: POSIX1008583 -Node: BTL1009969 -Node: POSIX/GNU1010703 -Node: Feature History1016302 -Node: Common Extensions1029278 -Node: Ranges and Locales1030590 -Ref: Ranges and Locales-Footnote-11035207 -Ref: Ranges and Locales-Footnote-21035234 -Ref: Ranges and Locales-Footnote-31035468 -Node: Contributors1035689 -Node: Installation1041070 -Node: Gawk Distribution1041964 -Node: Getting1042448 -Node: Extracting1043274 -Node: Distribution contents1044966 -Node: Unix Installation1050671 -Node: Quick Installation1051288 -Node: Additional Configuration Options1053734 -Node: Configuration Philosophy1055470 -Node: Non-Unix Installation1057824 -Node: PC Installation1058282 -Node: PC Binary Installation1059581 -Node: PC Compiling1061429 -Node: PC Testing1064373 -Node: PC Using1065549 -Node: Cygwin1069717 -Node: MSYS1070526 -Node: VMS Installation1071040 -Node: VMS Compilation1071804 -Ref: VMS Compilation-Footnote-11073056 -Node: VMS Dynamic Extensions1073114 -Node: VMS Installation Details1074487 -Node: VMS Running1076738 -Node: VMS GNV1079572 -Node: VMS Old Gawk1080295 -Node: Bugs1080765 -Node: Other Versions1084683 -Node: Notes1090767 -Node: Compatibility Mode1091567 -Node: Additions1092350 -Node: Accessing The Source1093277 -Node: Adding Code1094717 -Node: New Ports1100762 -Node: Derived Files1104897 -Ref: Derived Files-Footnote-11110218 -Ref: Derived Files-Footnote-21110252 -Ref: Derived Files-Footnote-31110852 -Node: Future Extensions1110950 -Node: Implementation Limitations1111533 -Node: Extension Design1112785 -Node: Old Extension Problems1113939 -Ref: Old Extension Problems-Footnote-11115447 -Node: Extension New Mechanism Goals1115504 -Ref: Extension New Mechanism Goals-Footnote-11118869 -Node: Extension Other Design Decisions1119055 -Node: Extension Future Growth1121161 -Node: Old Extension Mechanism1121997 -Node: Basic Concepts1123737 -Node: Basic High Level1124418 -Ref: figure-general-flow1124689 -Ref: figure-process-flow1125288 -Ref: Basic High Level-Footnote-11128517 -Node: Basic Data Typing1128702 -Node: Glossary1132057 -Node: Copying1157286 -Node: GNU Free Documentation License1194843 -Node: Index1219980 +Ref: Time Functions-Footnote-1525122 +Ref: Time Functions-Footnote-2525190 +Ref: Time Functions-Footnote-3525348 +Ref: Time Functions-Footnote-4525459 +Ref: Time Functions-Footnote-5525571 +Ref: Time Functions-Footnote-6525798 +Node: Bitwise Functions526064 +Ref: table-bitwise-ops526626 +Ref: Bitwise Functions-Footnote-1530847 +Node: Type Functions531031 +Node: I18N Functions532182 +Node: User-defined533809 +Node: Definition Syntax534613 +Ref: Definition Syntax-Footnote-1539527 +Node: Function Example539596 +Ref: Function Example-Footnote-1542245 +Node: Function Caveats542267 +Node: Calling A Function542785 +Node: Variable Scope543740 +Node: Pass By Value/Reference546703 +Node: Return Statement550211 +Node: Dynamic Typing553192 +Node: Indirect Calls554123 +Node: Library Functions563810 +Ref: Library Functions-Footnote-1567323 +Ref: Library Functions-Footnote-2567466 +Node: Library Names567637 +Ref: Library Names-Footnote-1571110 +Ref: Library Names-Footnote-2571330 +Node: General Functions571416 +Node: Strtonum Function572444 +Node: Assert Function575374 +Node: Round Function578700 +Node: Cliff Random Function580241 +Node: Ordinal Functions581257 +Ref: Ordinal Functions-Footnote-1584334 +Ref: Ordinal Functions-Footnote-2584586 +Node: Join Function584797 +Ref: Join Function-Footnote-1586568 +Node: Getlocaltime Function586768 +Node: Readfile Function590509 +Node: Data File Management592348 +Node: Filetrans Function592980 +Node: Rewind Function597049 +Node: File Checking598436 +Node: Empty Files599530 +Node: Ignoring Assigns601760 +Node: Getopt Function603314 +Ref: Getopt Function-Footnote-1614617 +Node: Passwd Functions614820 +Ref: Passwd Functions-Footnote-1623798 +Node: Group Functions623886 +Node: Walking Arrays631970 +Node: Sample Programs634106 +Node: Running Examples634780 +Node: Clones635508 +Node: Cut Program636732 +Node: Egrep Program646583 +Ref: Egrep Program-Footnote-1654356 +Node: Id Program654466 +Node: Split Program658115 +Ref: Split Program-Footnote-1661634 +Node: Tee Program661762 +Node: Uniq Program664565 +Node: Wc Program671994 +Ref: Wc Program-Footnote-1676260 +Ref: Wc Program-Footnote-2676460 +Node: Miscellaneous Programs676552 +Node: Dupword Program677740 +Node: Alarm Program679771 +Node: Translate Program684578 +Ref: Translate Program-Footnote-1688965 +Ref: Translate Program-Footnote-2689213 +Node: Labels Program689347 +Ref: Labels Program-Footnote-1692718 +Node: Word Sorting692802 +Node: History Sorting696686 +Node: Extract Program698525 +Ref: Extract Program-Footnote-1706028 +Node: Simple Sed706156 +Node: Igawk Program709218 +Ref: Igawk Program-Footnote-1724375 +Ref: Igawk Program-Footnote-2724576 +Node: Anagram Program724714 +Node: Signature Program727782 +Node: Advanced Features728882 +Node: Nondecimal Data730768 +Node: Array Sorting732351 +Node: Controlling Array Traversal733048 +Node: Array Sorting Functions741332 +Ref: Array Sorting Functions-Footnote-1745201 +Node: Two-way I/O745395 +Ref: Two-way I/O-Footnote-1750827 +Node: TCP/IP Networking750909 +Node: Profiling753753 +Node: Internationalization761256 +Node: I18N and L10N762681 +Node: Explaining gettext763367 +Ref: Explaining gettext-Footnote-1768435 +Ref: Explaining gettext-Footnote-2768619 +Node: Programmer i18n768784 +Node: Translator i18n772986 +Node: String Extraction773780 +Ref: String Extraction-Footnote-1774741 +Node: Printf Ordering774827 +Ref: Printf Ordering-Footnote-1777609 +Node: I18N Portability777673 +Ref: I18N Portability-Footnote-1780122 +Node: I18N Example780185 +Ref: I18N Example-Footnote-1782823 +Node: Gawk I18N782895 +Node: Debugger783516 +Node: Debugging784487 +Node: Debugging Concepts784920 +Node: Debugging Terms786776 +Node: Awk Debugging789373 +Node: Sample Debugging Session790265 +Node: Debugger Invocation790785 +Node: Finding The Bug792118 +Node: List of Debugger Commands798605 +Node: Breakpoint Control799939 +Node: Debugger Execution Control803603 +Node: Viewing And Changing Data806963 +Node: Execution Stack810319 +Node: Debugger Info811786 +Node: Miscellaneous Debugger Commands815768 +Node: Readline Support820944 +Node: Limitations821775 +Node: Arbitrary Precision Arithmetic824027 +Ref: Arbitrary Precision Arithmetic-Footnote-1825676 +Node: General Arithmetic825824 +Node: Floating Point Issues827544 +Node: String Conversion Precision828425 +Ref: String Conversion Precision-Footnote-1830130 +Node: Unexpected Results830239 +Node: POSIX Floating Point Problems832392 +Ref: POSIX Floating Point Problems-Footnote-1836217 +Node: Integer Programming836255 +Node: Floating-point Programming837994 +Ref: Floating-point Programming-Footnote-1844325 +Ref: Floating-point Programming-Footnote-2844595 +Node: Floating-point Representation844859 +Node: Floating-point Context846024 +Ref: table-ieee-formats846863 +Node: Rounding Mode848247 +Ref: table-rounding-modes848726 +Ref: Rounding Mode-Footnote-1851741 +Node: Gawk and MPFR851920 +Node: Arbitrary Precision Floats853175 +Ref: Arbitrary Precision Floats-Footnote-1855618 +Node: Setting Precision855934 +Ref: table-predefined-precision-strings856620 +Node: Setting Rounding Mode858765 +Ref: table-gawk-rounding-modes859169 +Node: Floating-point Constants860356 +Node: Changing Precision861785 +Ref: Changing Precision-Footnote-1863182 +Node: Exact Arithmetic863356 +Node: Arbitrary Precision Integers866494 +Ref: Arbitrary Precision Integers-Footnote-1869509 +Node: Dynamic Extensions869656 +Node: Extension Intro871114 +Node: Plugin License872379 +Node: Extension Mechanism Outline873064 +Ref: load-extension873481 +Ref: load-new-function874959 +Ref: call-new-function875954 +Node: Extension API Description877969 +Node: Extension API Functions Introduction879256 +Node: General Data Types884183 +Ref: General Data Types-Footnote-1889878 +Node: Requesting Values890177 +Ref: table-value-types-returned890914 +Node: Memory Allocation Functions891868 +Ref: Memory Allocation Functions-Footnote-1894614 +Node: Constructor Functions894710 +Node: Registration Functions896468 +Node: Extension Functions897153 +Node: Exit Callback Functions899455 +Node: Extension Version String900704 +Node: Input Parsers901354 +Node: Output Wrappers911111 +Node: Two-way processors915621 +Node: Printing Messages917829 +Ref: Printing Messages-Footnote-1918906 +Node: Updating `ERRNO'919058 +Node: Accessing Parameters919797 +Node: Symbol Table Access921027 +Node: Symbol table by name921541 +Node: Symbol table by cookie923290 +Ref: Symbol table by cookie-Footnote-1927422 +Node: Cached values927485 +Ref: Cached values-Footnote-1930975 +Node: Array Manipulation931066 +Ref: Array Manipulation-Footnote-1932164 +Node: Array Data Types932203 +Ref: Array Data Types-Footnote-1934906 +Node: Array Functions934998 +Node: Flattening Arrays938834 +Node: Creating Arrays945686 +Node: Extension API Variables950411 +Node: Extension Versioning951047 +Node: Extension API Informational Variables952948 +Node: Extension API Boilerplate954034 +Node: Finding Extensions957838 +Node: Extension Example958398 +Node: Internal File Description959128 +Node: Internal File Ops963219 +Ref: Internal File Ops-Footnote-1974728 +Node: Using Internal File Ops974868 +Ref: Using Internal File Ops-Footnote-1977221 +Node: Extension Samples977487 +Node: Extension Sample File Functions979011 +Node: Extension Sample Fnmatch987496 +Node: Extension Sample Fork989265 +Node: Extension Sample Inplace990478 +Node: Extension Sample Ord992256 +Node: Extension Sample Readdir993092 +Node: Extension Sample Revout994624 +Node: Extension Sample Rev2way995217 +Node: Extension Sample Read write array995907 +Node: Extension Sample Readfile997790 +Node: Extension Sample API Tests998608 +Node: Extension Sample Time999133 +Node: gawkextlib1000497 +Node: Language History1003278 +Node: V7/SVR3.11004871 +Node: SVR41007191 +Node: POSIX1008633 +Node: BTL1010019 +Node: POSIX/GNU1010753 +Node: Feature History1016352 +Node: Common Extensions1029328 +Node: Ranges and Locales1030640 +Ref: Ranges and Locales-Footnote-11035257 +Ref: Ranges and Locales-Footnote-21035284 +Ref: Ranges and Locales-Footnote-31035518 +Node: Contributors1035739 +Node: Installation1041120 +Node: Gawk Distribution1042014 +Node: Getting1042498 +Node: Extracting1043324 +Node: Distribution contents1045016 +Node: Unix Installation1050721 +Node: Quick Installation1051338 +Node: Additional Configuration Options1053784 +Node: Configuration Philosophy1055520 +Node: Non-Unix Installation1057874 +Node: PC Installation1058332 +Node: PC Binary Installation1059631 +Node: PC Compiling1061479 +Node: PC Testing1064423 +Node: PC Using1065599 +Node: Cygwin1069767 +Node: MSYS1070576 +Node: VMS Installation1071090 +Node: VMS Compilation1071854 +Ref: VMS Compilation-Footnote-11073106 +Node: VMS Dynamic Extensions1073164 +Node: VMS Installation Details1074537 +Node: VMS Running1076788 +Node: VMS GNV1079622 +Node: VMS Old Gawk1080345 +Node: Bugs1080815 +Node: Other Versions1084733 +Node: Notes1090817 +Node: Compatibility Mode1091617 +Node: Additions1092400 +Node: Accessing The Source1093327 +Node: Adding Code1094767 +Node: New Ports1100812 +Node: Derived Files1104947 +Ref: Derived Files-Footnote-11110268 +Ref: Derived Files-Footnote-21110302 +Ref: Derived Files-Footnote-31110902 +Node: Future Extensions1111000 +Node: Implementation Limitations1111583 +Node: Extension Design1112835 +Node: Old Extension Problems1113989 +Ref: Old Extension Problems-Footnote-11115497 +Node: Extension New Mechanism Goals1115554 +Ref: Extension New Mechanism Goals-Footnote-11118919 +Node: Extension Other Design Decisions1119105 +Node: Extension Future Growth1121211 +Node: Old Extension Mechanism1122047 +Node: Basic Concepts1123787 +Node: Basic High Level1124468 +Ref: figure-general-flow1124739 +Ref: figure-process-flow1125338 +Ref: Basic High Level-Footnote-11128567 +Node: Basic Data Typing1128752 +Node: Glossary1132107 +Node: Copying1157336 +Node: GNU Free Documentation License1194893 +Node: Index1220030  End Tag Table -- cgit v1.2.3 From 17cb726be0dea75864a89d31054459c02702786e Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 22:28:23 +0200 Subject: Add note that lookup of PROCINFO can fail. --- doc/gawk.info | 217 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 111 insertions(+), 106 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 033a804e..ea2a718f 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -22812,6 +22812,11 @@ termed a "symbol table". However, with the exception of the `PROCINFO' array, an extension cannot change any of those variables. + NOTE: It is possible for the lookup of `PROCINFO' to fail. This + happens if the `awk' program being run does not reference + `PROCINFO'; in this case `gawk' doesn't bother to create the array + and populate it. +  File: gawk.info, Node: Symbol table by cookie, Next: Cached values, Prev: Symbol table by name, Up: Symbol Table Access @@ -33498,111 +33503,111 @@ Node: Updating `ERRNO'919058 Node: Accessing Parameters919797 Node: Symbol Table Access921027 Node: Symbol table by name921541 -Node: Symbol table by cookie923290 -Ref: Symbol table by cookie-Footnote-1927422 -Node: Cached values927485 -Ref: Cached values-Footnote-1930975 -Node: Array Manipulation931066 -Ref: Array Manipulation-Footnote-1932164 -Node: Array Data Types932203 -Ref: Array Data Types-Footnote-1934906 -Node: Array Functions934998 -Node: Flattening Arrays938834 -Node: Creating Arrays945686 -Node: Extension API Variables950411 -Node: Extension Versioning951047 -Node: Extension API Informational Variables952948 -Node: Extension API Boilerplate954034 -Node: Finding Extensions957838 -Node: Extension Example958398 -Node: Internal File Description959128 -Node: Internal File Ops963219 -Ref: Internal File Ops-Footnote-1974728 -Node: Using Internal File Ops974868 -Ref: Using Internal File Ops-Footnote-1977221 -Node: Extension Samples977487 -Node: Extension Sample File Functions979011 -Node: Extension Sample Fnmatch987496 -Node: Extension Sample Fork989265 -Node: Extension Sample Inplace990478 -Node: Extension Sample Ord992256 -Node: Extension Sample Readdir993092 -Node: Extension Sample Revout994624 -Node: Extension Sample Rev2way995217 -Node: Extension Sample Read write array995907 -Node: Extension Sample Readfile997790 -Node: Extension Sample API Tests998608 -Node: Extension Sample Time999133 -Node: gawkextlib1000497 -Node: Language History1003278 -Node: V7/SVR3.11004871 -Node: SVR41007191 -Node: POSIX1008633 -Node: BTL1010019 -Node: POSIX/GNU1010753 -Node: Feature History1016352 -Node: Common Extensions1029328 -Node: Ranges and Locales1030640 -Ref: Ranges and Locales-Footnote-11035257 -Ref: Ranges and Locales-Footnote-21035284 -Ref: Ranges and Locales-Footnote-31035518 -Node: Contributors1035739 -Node: Installation1041120 -Node: Gawk Distribution1042014 -Node: Getting1042498 -Node: Extracting1043324 -Node: Distribution contents1045016 -Node: Unix Installation1050721 -Node: Quick Installation1051338 -Node: Additional Configuration Options1053784 -Node: Configuration Philosophy1055520 -Node: Non-Unix Installation1057874 -Node: PC Installation1058332 -Node: PC Binary Installation1059631 -Node: PC Compiling1061479 -Node: PC Testing1064423 -Node: PC Using1065599 -Node: Cygwin1069767 -Node: MSYS1070576 -Node: VMS Installation1071090 -Node: VMS Compilation1071854 -Ref: VMS Compilation-Footnote-11073106 -Node: VMS Dynamic Extensions1073164 -Node: VMS Installation Details1074537 -Node: VMS Running1076788 -Node: VMS GNV1079622 -Node: VMS Old Gawk1080345 -Node: Bugs1080815 -Node: Other Versions1084733 -Node: Notes1090817 -Node: Compatibility Mode1091617 -Node: Additions1092400 -Node: Accessing The Source1093327 -Node: Adding Code1094767 -Node: New Ports1100812 -Node: Derived Files1104947 -Ref: Derived Files-Footnote-11110268 -Ref: Derived Files-Footnote-21110302 -Ref: Derived Files-Footnote-31110902 -Node: Future Extensions1111000 -Node: Implementation Limitations1111583 -Node: Extension Design1112835 -Node: Old Extension Problems1113989 -Ref: Old Extension Problems-Footnote-11115497 -Node: Extension New Mechanism Goals1115554 -Ref: Extension New Mechanism Goals-Footnote-11118919 -Node: Extension Other Design Decisions1119105 -Node: Extension Future Growth1121211 -Node: Old Extension Mechanism1122047 -Node: Basic Concepts1123787 -Node: Basic High Level1124468 -Ref: figure-general-flow1124739 -Ref: figure-process-flow1125338 -Ref: Basic High Level-Footnote-11128567 -Node: Basic Data Typing1128752 -Node: Glossary1132107 -Node: Copying1157336 -Node: GNU Free Documentation License1194893 -Node: Index1220030 +Node: Symbol table by cookie923517 +Ref: Symbol table by cookie-Footnote-1927649 +Node: Cached values927712 +Ref: Cached values-Footnote-1931202 +Node: Array Manipulation931293 +Ref: Array Manipulation-Footnote-1932391 +Node: Array Data Types932430 +Ref: Array Data Types-Footnote-1935133 +Node: Array Functions935225 +Node: Flattening Arrays939061 +Node: Creating Arrays945913 +Node: Extension API Variables950638 +Node: Extension Versioning951274 +Node: Extension API Informational Variables953175 +Node: Extension API Boilerplate954261 +Node: Finding Extensions958065 +Node: Extension Example958625 +Node: Internal File Description959355 +Node: Internal File Ops963446 +Ref: Internal File Ops-Footnote-1974955 +Node: Using Internal File Ops975095 +Ref: Using Internal File Ops-Footnote-1977448 +Node: Extension Samples977714 +Node: Extension Sample File Functions979238 +Node: Extension Sample Fnmatch987723 +Node: Extension Sample Fork989492 +Node: Extension Sample Inplace990705 +Node: Extension Sample Ord992483 +Node: Extension Sample Readdir993319 +Node: Extension Sample Revout994851 +Node: Extension Sample Rev2way995444 +Node: Extension Sample Read write array996134 +Node: Extension Sample Readfile998017 +Node: Extension Sample API Tests998835 +Node: Extension Sample Time999360 +Node: gawkextlib1000724 +Node: Language History1003505 +Node: V7/SVR3.11005098 +Node: SVR41007418 +Node: POSIX1008860 +Node: BTL1010246 +Node: POSIX/GNU1010980 +Node: Feature History1016579 +Node: Common Extensions1029555 +Node: Ranges and Locales1030867 +Ref: Ranges and Locales-Footnote-11035484 +Ref: Ranges and Locales-Footnote-21035511 +Ref: Ranges and Locales-Footnote-31035745 +Node: Contributors1035966 +Node: Installation1041347 +Node: Gawk Distribution1042241 +Node: Getting1042725 +Node: Extracting1043551 +Node: Distribution contents1045243 +Node: Unix Installation1050948 +Node: Quick Installation1051565 +Node: Additional Configuration Options1054011 +Node: Configuration Philosophy1055747 +Node: Non-Unix Installation1058101 +Node: PC Installation1058559 +Node: PC Binary Installation1059858 +Node: PC Compiling1061706 +Node: PC Testing1064650 +Node: PC Using1065826 +Node: Cygwin1069994 +Node: MSYS1070803 +Node: VMS Installation1071317 +Node: VMS Compilation1072081 +Ref: VMS Compilation-Footnote-11073333 +Node: VMS Dynamic Extensions1073391 +Node: VMS Installation Details1074764 +Node: VMS Running1077015 +Node: VMS GNV1079849 +Node: VMS Old Gawk1080572 +Node: Bugs1081042 +Node: Other Versions1084960 +Node: Notes1091044 +Node: Compatibility Mode1091844 +Node: Additions1092627 +Node: Accessing The Source1093554 +Node: Adding Code1094994 +Node: New Ports1101039 +Node: Derived Files1105174 +Ref: Derived Files-Footnote-11110495 +Ref: Derived Files-Footnote-21110529 +Ref: Derived Files-Footnote-31111129 +Node: Future Extensions1111227 +Node: Implementation Limitations1111810 +Node: Extension Design1113062 +Node: Old Extension Problems1114216 +Ref: Old Extension Problems-Footnote-11115724 +Node: Extension New Mechanism Goals1115781 +Ref: Extension New Mechanism Goals-Footnote-11119146 +Node: Extension Other Design Decisions1119332 +Node: Extension Future Growth1121438 +Node: Old Extension Mechanism1122274 +Node: Basic Concepts1124014 +Node: Basic High Level1124695 +Ref: figure-general-flow1124966 +Ref: figure-process-flow1125565 +Ref: Basic High Level-Footnote-11128794 +Node: Basic Data Typing1128979 +Node: Glossary1132334 +Node: Copying1157563 +Node: GNU Free Documentation License1195120 +Node: Index1220257  End Tag Table -- cgit v1.2.3 From 4d396858eb897f2bb6d318b851a369ee92e50147 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 22:49:58 +0200 Subject: Add input parser to readfile extension, document it and test it. --- doc/gawk.info | 157 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 82 insertions(+), 75 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index ea2a718f..6bff2719 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -24830,7 +24830,8 @@ File: gawk.info, Node: Extension Sample Readfile, Next: Extension Sample API T 16.7.10 Reading An Entire File ------------------------------ -The `readfile' extension adds a single function named `readfile()': +The `readfile' extension adds a single function named `readfile()', and +an input parser: `@load "readfile"' This is how you load the extension. @@ -24840,6 +24841,12 @@ The `readfile' extension adds a single function named `readfile()': a string containing the entire contents of the requested file. Upon error, the function returns the empty string and sets `ERRNO'. +`BEGIN { PROCINFO["readfile"] = 1 }' + In addition, the extension adds an input parser that is activated + if `PROCINFO["readfile"]' exists. When activated, each input file + is returned in its entirety as `$0'. `RT' is set to the null + string. + Here is an example: @load "readfile" @@ -32421,7 +32428,7 @@ Index * readdir extension: Extension Sample Readdir. (line 9) * readfile() extension function: Extension Sample Readfile. - (line 11) + (line 12) * readfile() user-defined function: Readfile Function. (line 30) * reading input files: Reading Files. (line 6) * recipe for a programming language: History. (line 6) @@ -33536,78 +33543,78 @@ Node: Extension Sample Revout994851 Node: Extension Sample Rev2way995444 Node: Extension Sample Read write array996134 Node: Extension Sample Readfile998017 -Node: Extension Sample API Tests998835 -Node: Extension Sample Time999360 -Node: gawkextlib1000724 -Node: Language History1003505 -Node: V7/SVR3.11005098 -Node: SVR41007418 -Node: POSIX1008860 -Node: BTL1010246 -Node: POSIX/GNU1010980 -Node: Feature History1016579 -Node: Common Extensions1029555 -Node: Ranges and Locales1030867 -Ref: Ranges and Locales-Footnote-11035484 -Ref: Ranges and Locales-Footnote-21035511 -Ref: Ranges and Locales-Footnote-31035745 -Node: Contributors1035966 -Node: Installation1041347 -Node: Gawk Distribution1042241 -Node: Getting1042725 -Node: Extracting1043551 -Node: Distribution contents1045243 -Node: Unix Installation1050948 -Node: Quick Installation1051565 -Node: Additional Configuration Options1054011 -Node: Configuration Philosophy1055747 -Node: Non-Unix Installation1058101 -Node: PC Installation1058559 -Node: PC Binary Installation1059858 -Node: PC Compiling1061706 -Node: PC Testing1064650 -Node: PC Using1065826 -Node: Cygwin1069994 -Node: MSYS1070803 -Node: VMS Installation1071317 -Node: VMS Compilation1072081 -Ref: VMS Compilation-Footnote-11073333 -Node: VMS Dynamic Extensions1073391 -Node: VMS Installation Details1074764 -Node: VMS Running1077015 -Node: VMS GNV1079849 -Node: VMS Old Gawk1080572 -Node: Bugs1081042 -Node: Other Versions1084960 -Node: Notes1091044 -Node: Compatibility Mode1091844 -Node: Additions1092627 -Node: Accessing The Source1093554 -Node: Adding Code1094994 -Node: New Ports1101039 -Node: Derived Files1105174 -Ref: Derived Files-Footnote-11110495 -Ref: Derived Files-Footnote-21110529 -Ref: Derived Files-Footnote-31111129 -Node: Future Extensions1111227 -Node: Implementation Limitations1111810 -Node: Extension Design1113062 -Node: Old Extension Problems1114216 -Ref: Old Extension Problems-Footnote-11115724 -Node: Extension New Mechanism Goals1115781 -Ref: Extension New Mechanism Goals-Footnote-11119146 -Node: Extension Other Design Decisions1119332 -Node: Extension Future Growth1121438 -Node: Old Extension Mechanism1122274 -Node: Basic Concepts1124014 -Node: Basic High Level1124695 -Ref: figure-general-flow1124966 -Ref: figure-process-flow1125565 -Ref: Basic High Level-Footnote-11128794 -Node: Basic Data Typing1128979 -Node: Glossary1132334 -Node: Copying1157563 -Node: GNU Free Documentation License1195120 -Node: Index1220257 +Node: Extension Sample API Tests999117 +Node: Extension Sample Time999642 +Node: gawkextlib1001006 +Node: Language History1003787 +Node: V7/SVR3.11005380 +Node: SVR41007700 +Node: POSIX1009142 +Node: BTL1010528 +Node: POSIX/GNU1011262 +Node: Feature History1016861 +Node: Common Extensions1029837 +Node: Ranges and Locales1031149 +Ref: Ranges and Locales-Footnote-11035766 +Ref: Ranges and Locales-Footnote-21035793 +Ref: Ranges and Locales-Footnote-31036027 +Node: Contributors1036248 +Node: Installation1041629 +Node: Gawk Distribution1042523 +Node: Getting1043007 +Node: Extracting1043833 +Node: Distribution contents1045525 +Node: Unix Installation1051230 +Node: Quick Installation1051847 +Node: Additional Configuration Options1054293 +Node: Configuration Philosophy1056029 +Node: Non-Unix Installation1058383 +Node: PC Installation1058841 +Node: PC Binary Installation1060140 +Node: PC Compiling1061988 +Node: PC Testing1064932 +Node: PC Using1066108 +Node: Cygwin1070276 +Node: MSYS1071085 +Node: VMS Installation1071599 +Node: VMS Compilation1072363 +Ref: VMS Compilation-Footnote-11073615 +Node: VMS Dynamic Extensions1073673 +Node: VMS Installation Details1075046 +Node: VMS Running1077297 +Node: VMS GNV1080131 +Node: VMS Old Gawk1080854 +Node: Bugs1081324 +Node: Other Versions1085242 +Node: Notes1091326 +Node: Compatibility Mode1092126 +Node: Additions1092909 +Node: Accessing The Source1093836 +Node: Adding Code1095276 +Node: New Ports1101321 +Node: Derived Files1105456 +Ref: Derived Files-Footnote-11110777 +Ref: Derived Files-Footnote-21110811 +Ref: Derived Files-Footnote-31111411 +Node: Future Extensions1111509 +Node: Implementation Limitations1112092 +Node: Extension Design1113344 +Node: Old Extension Problems1114498 +Ref: Old Extension Problems-Footnote-11116006 +Node: Extension New Mechanism Goals1116063 +Ref: Extension New Mechanism Goals-Footnote-11119428 +Node: Extension Other Design Decisions1119614 +Node: Extension Future Growth1121720 +Node: Old Extension Mechanism1122556 +Node: Basic Concepts1124296 +Node: Basic High Level1124977 +Ref: figure-general-flow1125248 +Ref: figure-process-flow1125847 +Ref: Basic High Level-Footnote-11129076 +Node: Basic Data Typing1129261 +Node: Glossary1132616 +Node: Copying1157845 +Node: GNU Free Documentation License1195402 +Node: Index1220539  End Tag Table -- cgit v1.2.3 From 4368c38c91c0909c8e111e7511680af65dd0a983 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 28 Mar 2014 14:27:30 +0300 Subject: Minor cleanup to indexing. --- doc/gawk.info | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 6bff2719..41c35282 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -23149,7 +23149,7 @@ The following functions relate to individual array elements. strings (*note Conversion::); thus using integral values is safest. As with _all_ strings passed into `gawk' from an extension, the - string value of `index' must come from the api-provided functions + string value of `index' must come from the API-provided functions `api_malloc()', `api_calloc()' or `api_realloc()' and `gawk' releases the storage. @@ -30438,7 +30438,7 @@ Index * asterisk (*), **= operator: Assignment Ops. (line 129) * asterisk (*), *= operator <1>: Precedence. (line 95) * asterisk (*), *= operator: Assignment Ops. (line 129) -* atan2() function: Numeric Functions. (line 11) +* atan2: Numeric Functions. (line 11) * automatic displays, in debugger: Debugger Info. (line 24) * awf (amazingly workable formatter) program: Glossary. (line 25) * awk debugging, enabling: Options. (line 108) @@ -31027,6 +31027,7 @@ Index (line 67) * debugger commands, watch: Viewing And Changing Data. (line 67) +* debugger default list amount: Debugger Info. (line 69) * debugger history file: Debugger Info. (line 80) * debugger history size: Debugger Info. (line 65) * debugger options: Debugger Info. (line 57) @@ -31157,8 +31158,8 @@ Index * dynamically loaded extensions: Dynamic Extensions. (line 6) * e debugger command (alias for enable): Breakpoint Control. (line 73) * EBCDIC: Ordinal Functions. (line 45) -* effective group id of gawk user: Auto-set. (line 138) -* effective user id of gawk user: Auto-set. (line 142) +* effective group ID of gawk user: Auto-set. (line 138) +* effective user ID of gawk user: Auto-set. (line 142) * egrep utility <1>: Egrep Program. (line 6) * egrep utility: Bracket Expressions. (line 24) * egrep.awk program: Egrep Program. (line 54) @@ -31696,7 +31697,7 @@ Index * Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) -* group id of gawk user: Auto-set. (line 177) +* group ID of gawk user: Auto-set. (line 177) * groups, information about: Group Functions. (line 6) * gsub <1>: String Functions. (line 135) * gsub: Using Constant Regexps. @@ -32182,7 +32183,7 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 36) * P1003.1 POSIX standard: Glossary. (line 454) -* parent process id of gawk process: Auto-set. (line 186) +* parent process ID of gawk process: Auto-set. (line 186) * parentheses (), in a profile: Profiling. (line 146) * parentheses (), regexp operator: Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) @@ -32346,8 +32347,8 @@ Index * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) -* process group id of gawk process: Auto-set. (line 180) -* process id of gawk process: Auto-set. (line 183) +* process group idIDof gawk process: Auto-set. (line 180) +* process ID of gawk process: Auto-set. (line 183) * processes, two-way communications with: Two-way I/O. (line 23) * processing data: Basic High Level. (line 6) * PROCINFO array <1>: Passwd Functions. (line 6) -- cgit v1.2.3 From 97ffd21c9b52c3405d27fb9f8d69480a9e681c4e Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 28 Mar 2014 14:54:40 +0300 Subject: Create valid DocBook XML output with current makeinfo. --- doc/gawk.info | 1078 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 537 insertions(+), 541 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 41c35282..f63c62ce 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9,8 +9,7 @@ START-INFO-DIR-ENTRY * awk: (gawk)Invoking gawk. Text scanning and processing. END-INFO-DIR-ENTRY - Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 + Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014 Free Software Foundation, Inc. @@ -41,8 +40,7 @@ General Introduction This file documents `awk', a program that you can use to select particular records in a file and perform operations upon them. - Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 + Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014 Free Software Foundation, Inc. @@ -28014,7 +28012,7 @@ D.1 What a Program Does ======================= At the most basic level, the job of a program is to process some input -data and produce results. See *note figure-general-flow::. +data and produce results. See *note figure-general-flow::. _______ +------+ / \ +---------+ @@ -28398,8 +28396,8 @@ Dynamic Regular Expression (*Note Computed Regexps::.) Environment - A collection of strings, of the form NAME`='VAL, that each program - has available to it. Users generally place values into the + A collection of strings, of the form NAME`='`val', that each + program has available to it. Users generally place values into the environment in order to provide information to various programs. Typical examples are the environment variables `HOME' and `PATH'. @@ -28814,7 +28812,6 @@ GNU General Public License ************************** Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/' Everyone is permitted to copy and distribute verbatim copies of this @@ -29537,7 +29534,6 @@ GNU Free Documentation License ****************************** Version 1.3, 3 November 2008 - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. `http://fsf.org/' @@ -30662,7 +30658,7 @@ Index * Brown, Martin: Contributors. (line 82) * BSD-based operating systems: Glossary. (line 616) * bt debugger command (alias for backtrace): Execution Stack. (line 13) -* Buening, Andreas <1>: Bugs. (line 71) +* Buening, Andreas <1>: Bugs. (line 70) * Buening, Andreas <2>: Contributors. (line 92) * Buening, Andreas: Acknowledgments. (line 60) * buffering, input/output <1>: Two-way I/O. (line 70) @@ -31308,7 +31304,7 @@ Index * f debugger command (alias for frame): Execution Stack. (line 25) * false, logical: Truth Values. (line 6) * FDL (Free Documentation License): GNU Free Documentation License. - (line 6) + (line 7) * features, adding to gawk: Adding Code. (line 6) * features, advanced, See advanced features: Obsolete. (line 6) * features, deprecated: Obsolete. (line 6) @@ -31453,7 +31449,7 @@ Index (line 27) * frame debugger command: Execution Stack. (line 25) * Free Documentation License (FDL): GNU Free Documentation License. - (line 6) + (line 7) * Free Software Foundation (FSF) <1>: Glossary. (line 297) * Free Software Foundation (FSF) <2>: Getting. (line 10) * Free Software Foundation (FSF): Manual History. (line 6) @@ -31678,7 +31674,7 @@ Index * GNITS mailing list: Acknowledgments. (line 52) * GNU awk, See gawk: Preface. (line 49) * GNU Free Documentation License: GNU Free Documentation License. - (line 6) + (line 7) * GNU General Public License: Glossary. (line 306) * GNU Lesser General Public License: Glossary. (line 397) * GNU long options <1>: Options. (line 6) @@ -31972,7 +31968,7 @@ Index * mail-list file: Sample Data Files. (line 6) * mailing labels, printing: Labels Program. (line 6) * mailing list, GNITS: Acknowledgments. (line 52) -* Malmberg, John <1>: Bugs. (line 72) +* Malmberg, John <1>: Bugs. (line 70) * Malmberg, John: Acknowledgments. (line 60) * mark parity: Ordinal Functions. (line 45) * marked string extraction (internationalization): String Extraction. @@ -32214,7 +32210,7 @@ Index (line 6) * pipe, input: Getline/Pipe. (line 9) * pipe, output: Redirection. (line 57) -* Pitts, Dave <1>: Bugs. (line 73) +* Pitts, Dave <1>: Bugs. (line 70) * Pitts, Dave: Acknowledgments. (line 60) * Plauger, P.J.: Library Functions. (line 12) * plug-in: Extension Intro. (line 6) @@ -32418,7 +32414,7 @@ Index * range expressions (regexps): Bracket Expressions. (line 6) * range patterns: Ranges. (line 6) * range patterns, line continuation and: Ranges. (line 65) -* Rankin, Pat <1>: Bugs. (line 72) +* Rankin, Pat <1>: Bugs. (line 70) * Rankin, Pat <2>: Contributors. (line 37) * Rankin, Pat <3>: Assignment Ops. (line 100) * Rankin, Pat: Acknowledgments. (line 60) @@ -33092,530 +33088,530 @@ Index  Tag Table: -Node: Top1366 -Node: Foreword40929 -Node: Preface45274 -Ref: Preface-Footnote-148327 -Ref: Preface-Footnote-248423 -Node: History48655 -Node: Names51029 -Ref: Names-Footnote-152506 -Node: This Manual52578 -Ref: This Manual-Footnote-158352 -Node: Conventions58452 -Node: Manual History60608 -Ref: Manual History-Footnote-164056 -Ref: Manual History-Footnote-264097 -Node: How To Contribute64171 -Node: Acknowledgments65315 -Node: Getting Started69509 -Node: Running gawk71888 -Node: One-shot73074 -Node: Read Terminal74299 -Ref: Read Terminal-Footnote-175949 -Ref: Read Terminal-Footnote-276225 -Node: Long76396 -Node: Executable Scripts77772 -Ref: Executable Scripts-Footnote-179605 -Ref: Executable Scripts-Footnote-279707 -Node: Comments80254 -Node: Quoting82721 -Node: DOS Quoting87344 -Node: Sample Data Files88019 -Node: Very Simple90534 -Node: Two Rules95185 -Node: More Complex97083 -Ref: More Complex-Footnote-1100013 -Node: Statements/Lines100098 -Ref: Statements/Lines-Footnote-1104561 -Node: Other Features104826 -Node: When105754 -Node: Invoking Gawk107901 -Node: Command Line109364 -Node: Options110147 -Ref: Options-Footnote-1125525 -Node: Other Arguments125550 -Node: Naming Standard Input128208 -Node: Environment Variables129302 -Node: AWKPATH Variable129860 -Ref: AWKPATH Variable-Footnote-1132641 -Ref: AWKPATH Variable-Footnote-2132686 -Node: AWKLIBPATH Variable132946 -Node: Other Environment Variables133664 -Node: Exit Status136627 -Node: Include Files137302 -Node: Loading Shared Libraries140871 -Node: Obsolete142235 -Node: Undocumented142932 -Node: Regexp143174 -Node: Regexp Usage144563 -Node: Escape Sequences146588 -Node: Regexp Operators152257 -Ref: Regexp Operators-Footnote-1159637 -Ref: Regexp Operators-Footnote-2159784 -Node: Bracket Expressions159882 -Ref: table-char-classes161772 -Node: GNU Regexp Operators164295 -Node: Case-sensitivity168018 -Ref: Case-sensitivity-Footnote-1170986 -Ref: Case-sensitivity-Footnote-2171221 -Node: Leftmost Longest171329 -Node: Computed Regexps172530 -Node: Reading Files175867 -Node: Records177869 -Ref: Records-Footnote-1187392 -Node: Fields187429 -Ref: Fields-Footnote-1190385 -Node: Nonconstant Fields190471 -Node: Changing Fields192677 -Node: Field Separators198636 -Node: Default Field Splitting201338 -Node: Regexp Field Splitting202455 -Node: Single Character Fields205797 -Node: Command Line Field Separator206856 -Node: Full Line Fields210198 -Ref: Full Line Fields-Footnote-1210706 -Node: Field Splitting Summary210752 -Ref: Field Splitting Summary-Footnote-1213851 -Node: Constant Size213952 -Node: Splitting By Content218559 -Ref: Splitting By Content-Footnote-1222308 -Node: Multiple Line222348 -Ref: Multiple Line-Footnote-1228195 -Node: Getline228374 -Node: Plain Getline230590 -Node: Getline/Variable232685 -Node: Getline/File233832 -Node: Getline/Variable/File235173 -Ref: Getline/Variable/File-Footnote-1236772 -Node: Getline/Pipe236859 -Node: Getline/Variable/Pipe239558 -Node: Getline/Coprocess240665 -Node: Getline/Variable/Coprocess241917 -Node: Getline Notes242654 -Node: Getline Summary245441 -Ref: table-getline-variants245849 -Node: Read Timeout246761 -Ref: Read Timeout-Footnote-1250502 -Node: Command line directories250559 -Node: Printing251189 -Node: Print252820 -Node: Print Examples254157 -Node: Output Separators256941 -Node: OFMT258957 -Node: Printf260315 -Node: Basic Printf261221 -Node: Control Letters262760 -Node: Format Modifiers266572 -Node: Printf Examples272581 -Node: Redirection275293 -Node: Special Files282267 -Node: Special FD282800 -Ref: Special FD-Footnote-1286425 -Node: Special Network286499 -Node: Special Caveats287349 -Node: Close Files And Pipes288145 -Ref: Close Files And Pipes-Footnote-1295128 -Ref: Close Files And Pipes-Footnote-2295276 -Node: Expressions295426 -Node: Values296558 -Node: Constants297234 -Node: Scalar Constants297914 -Ref: Scalar Constants-Footnote-1298773 -Node: Nondecimal-numbers298955 -Node: Regexp Constants301955 -Node: Using Constant Regexps302430 -Node: Variables305485 -Node: Using Variables306140 -Node: Assignment Options307864 -Node: Conversion309739 -Ref: table-locale-affects315239 -Ref: Conversion-Footnote-1315863 -Node: All Operators315972 -Node: Arithmetic Ops316602 -Node: Concatenation319107 -Ref: Concatenation-Footnote-1321895 -Node: Assignment Ops322015 -Ref: table-assign-ops327003 -Node: Increment Ops328334 -Node: Truth Values and Conditions331768 -Node: Truth Values332851 -Node: Typing and Comparison333900 -Node: Variable Typing334693 -Ref: Variable Typing-Footnote-1338590 -Node: Comparison Operators338712 -Ref: table-relational-ops339122 -Node: POSIX String Comparison342670 -Ref: POSIX String Comparison-Footnote-1343626 -Node: Boolean Ops343764 -Ref: Boolean Ops-Footnote-1347834 -Node: Conditional Exp347925 -Node: Function Calls349657 -Node: Precedence353251 -Node: Locales356920 -Node: Patterns and Actions358009 -Node: Pattern Overview359063 -Node: Regexp Patterns360732 -Node: Expression Patterns361275 -Node: Ranges365056 -Node: BEGIN/END368160 -Node: Using BEGIN/END368922 -Ref: Using BEGIN/END-Footnote-1371658 -Node: I/O And BEGIN/END371764 -Node: BEGINFILE/ENDFILE374046 -Node: Empty376960 -Node: Using Shell Variables377277 -Node: Action Overview379562 -Node: Statements381919 -Node: If Statement383773 -Node: While Statement385272 -Node: Do Statement387316 -Node: For Statement388472 -Node: Switch Statement391624 -Node: Break Statement393778 -Node: Continue Statement395768 -Node: Next Statement397561 -Node: Nextfile Statement399951 -Node: Exit Statement402606 -Node: Built-in Variables405022 -Node: User-modified406117 -Ref: User-modified-Footnote-1414475 -Node: Auto-set414537 -Ref: Auto-set-Footnote-1427601 -Ref: Auto-set-Footnote-2427806 -Node: ARGC and ARGV427862 -Node: Arrays431716 -Node: Array Basics433221 -Node: Array Intro434047 -Node: Reference to Elements438364 -Node: Assigning Elements440634 -Node: Array Example441125 -Node: Scanning an Array442857 -Node: Controlling Scanning445171 -Ref: Controlling Scanning-Footnote-1450258 -Node: Delete450574 -Ref: Delete-Footnote-1453339 -Node: Numeric Array Subscripts453396 -Node: Uninitialized Subscripts455579 -Node: Multidimensional457206 -Node: Multiscanning460299 -Node: Arrays of Arrays461888 -Node: Functions466528 -Node: Built-in467347 -Node: Calling Built-in468425 -Node: Numeric Functions470413 -Ref: Numeric Functions-Footnote-1474245 -Ref: Numeric Functions-Footnote-2474602 -Ref: Numeric Functions-Footnote-3474650 -Node: String Functions474919 -Ref: String Functions-Footnote-1497877 -Ref: String Functions-Footnote-2498006 -Ref: String Functions-Footnote-3498254 -Node: Gory Details498341 -Ref: table-sub-escapes500020 -Ref: table-sub-posix-92501374 -Ref: table-sub-proposed502725 -Ref: table-posix-sub504079 -Ref: table-gensub-escapes505624 -Ref: Gory Details-Footnote-1506800 -Ref: Gory Details-Footnote-2506851 -Node: I/O Functions507002 -Ref: I/O Functions-Footnote-1513992 -Node: Time Functions514139 -Ref: Time Functions-Footnote-1525122 -Ref: Time Functions-Footnote-2525190 -Ref: Time Functions-Footnote-3525348 -Ref: Time Functions-Footnote-4525459 -Ref: Time Functions-Footnote-5525571 -Ref: Time Functions-Footnote-6525798 -Node: Bitwise Functions526064 -Ref: table-bitwise-ops526626 -Ref: Bitwise Functions-Footnote-1530847 -Node: Type Functions531031 -Node: I18N Functions532182 -Node: User-defined533809 -Node: Definition Syntax534613 -Ref: Definition Syntax-Footnote-1539527 -Node: Function Example539596 -Ref: Function Example-Footnote-1542245 -Node: Function Caveats542267 -Node: Calling A Function542785 -Node: Variable Scope543740 -Node: Pass By Value/Reference546703 -Node: Return Statement550211 -Node: Dynamic Typing553192 -Node: Indirect Calls554123 -Node: Library Functions563810 -Ref: Library Functions-Footnote-1567323 -Ref: Library Functions-Footnote-2567466 -Node: Library Names567637 -Ref: Library Names-Footnote-1571110 -Ref: Library Names-Footnote-2571330 -Node: General Functions571416 -Node: Strtonum Function572444 -Node: Assert Function575374 -Node: Round Function578700 -Node: Cliff Random Function580241 -Node: Ordinal Functions581257 -Ref: Ordinal Functions-Footnote-1584334 -Ref: Ordinal Functions-Footnote-2584586 -Node: Join Function584797 -Ref: Join Function-Footnote-1586568 -Node: Getlocaltime Function586768 -Node: Readfile Function590509 -Node: Data File Management592348 -Node: Filetrans Function592980 -Node: Rewind Function597049 -Node: File Checking598436 -Node: Empty Files599530 -Node: Ignoring Assigns601760 -Node: Getopt Function603314 -Ref: Getopt Function-Footnote-1614617 -Node: Passwd Functions614820 -Ref: Passwd Functions-Footnote-1623798 -Node: Group Functions623886 -Node: Walking Arrays631970 -Node: Sample Programs634106 -Node: Running Examples634780 -Node: Clones635508 -Node: Cut Program636732 -Node: Egrep Program646583 -Ref: Egrep Program-Footnote-1654356 -Node: Id Program654466 -Node: Split Program658115 -Ref: Split Program-Footnote-1661634 -Node: Tee Program661762 -Node: Uniq Program664565 -Node: Wc Program671994 -Ref: Wc Program-Footnote-1676260 -Ref: Wc Program-Footnote-2676460 -Node: Miscellaneous Programs676552 -Node: Dupword Program677740 -Node: Alarm Program679771 -Node: Translate Program684578 -Ref: Translate Program-Footnote-1688965 -Ref: Translate Program-Footnote-2689213 -Node: Labels Program689347 -Ref: Labels Program-Footnote-1692718 -Node: Word Sorting692802 -Node: History Sorting696686 -Node: Extract Program698525 -Ref: Extract Program-Footnote-1706028 -Node: Simple Sed706156 -Node: Igawk Program709218 -Ref: Igawk Program-Footnote-1724375 -Ref: Igawk Program-Footnote-2724576 -Node: Anagram Program724714 -Node: Signature Program727782 -Node: Advanced Features728882 -Node: Nondecimal Data730768 -Node: Array Sorting732351 -Node: Controlling Array Traversal733048 -Node: Array Sorting Functions741332 -Ref: Array Sorting Functions-Footnote-1745201 -Node: Two-way I/O745395 -Ref: Two-way I/O-Footnote-1750827 -Node: TCP/IP Networking750909 -Node: Profiling753753 -Node: Internationalization761256 -Node: I18N and L10N762681 -Node: Explaining gettext763367 -Ref: Explaining gettext-Footnote-1768435 -Ref: Explaining gettext-Footnote-2768619 -Node: Programmer i18n768784 -Node: Translator i18n772986 -Node: String Extraction773780 -Ref: String Extraction-Footnote-1774741 -Node: Printf Ordering774827 -Ref: Printf Ordering-Footnote-1777609 -Node: I18N Portability777673 -Ref: I18N Portability-Footnote-1780122 -Node: I18N Example780185 -Ref: I18N Example-Footnote-1782823 -Node: Gawk I18N782895 -Node: Debugger783516 -Node: Debugging784487 -Node: Debugging Concepts784920 -Node: Debugging Terms786776 -Node: Awk Debugging789373 -Node: Sample Debugging Session790265 -Node: Debugger Invocation790785 -Node: Finding The Bug792118 -Node: List of Debugger Commands798605 -Node: Breakpoint Control799939 -Node: Debugger Execution Control803603 -Node: Viewing And Changing Data806963 -Node: Execution Stack810319 -Node: Debugger Info811786 -Node: Miscellaneous Debugger Commands815768 -Node: Readline Support820944 -Node: Limitations821775 -Node: Arbitrary Precision Arithmetic824027 -Ref: Arbitrary Precision Arithmetic-Footnote-1825676 -Node: General Arithmetic825824 -Node: Floating Point Issues827544 -Node: String Conversion Precision828425 -Ref: String Conversion Precision-Footnote-1830130 -Node: Unexpected Results830239 -Node: POSIX Floating Point Problems832392 -Ref: POSIX Floating Point Problems-Footnote-1836217 -Node: Integer Programming836255 -Node: Floating-point Programming837994 -Ref: Floating-point Programming-Footnote-1844325 -Ref: Floating-point Programming-Footnote-2844595 -Node: Floating-point Representation844859 -Node: Floating-point Context846024 -Ref: table-ieee-formats846863 -Node: Rounding Mode848247 -Ref: table-rounding-modes848726 -Ref: Rounding Mode-Footnote-1851741 -Node: Gawk and MPFR851920 -Node: Arbitrary Precision Floats853175 -Ref: Arbitrary Precision Floats-Footnote-1855618 -Node: Setting Precision855934 -Ref: table-predefined-precision-strings856620 -Node: Setting Rounding Mode858765 -Ref: table-gawk-rounding-modes859169 -Node: Floating-point Constants860356 -Node: Changing Precision861785 -Ref: Changing Precision-Footnote-1863182 -Node: Exact Arithmetic863356 -Node: Arbitrary Precision Integers866494 -Ref: Arbitrary Precision Integers-Footnote-1869509 -Node: Dynamic Extensions869656 -Node: Extension Intro871114 -Node: Plugin License872379 -Node: Extension Mechanism Outline873064 -Ref: load-extension873481 -Ref: load-new-function874959 -Ref: call-new-function875954 -Node: Extension API Description877969 -Node: Extension API Functions Introduction879256 -Node: General Data Types884183 -Ref: General Data Types-Footnote-1889878 -Node: Requesting Values890177 -Ref: table-value-types-returned890914 -Node: Memory Allocation Functions891868 -Ref: Memory Allocation Functions-Footnote-1894614 -Node: Constructor Functions894710 -Node: Registration Functions896468 -Node: Extension Functions897153 -Node: Exit Callback Functions899455 -Node: Extension Version String900704 -Node: Input Parsers901354 -Node: Output Wrappers911111 -Node: Two-way processors915621 -Node: Printing Messages917829 -Ref: Printing Messages-Footnote-1918906 -Node: Updating `ERRNO'919058 -Node: Accessing Parameters919797 -Node: Symbol Table Access921027 -Node: Symbol table by name921541 -Node: Symbol table by cookie923517 -Ref: Symbol table by cookie-Footnote-1927649 -Node: Cached values927712 -Ref: Cached values-Footnote-1931202 -Node: Array Manipulation931293 -Ref: Array Manipulation-Footnote-1932391 -Node: Array Data Types932430 -Ref: Array Data Types-Footnote-1935133 -Node: Array Functions935225 -Node: Flattening Arrays939061 -Node: Creating Arrays945913 -Node: Extension API Variables950638 -Node: Extension Versioning951274 -Node: Extension API Informational Variables953175 -Node: Extension API Boilerplate954261 -Node: Finding Extensions958065 -Node: Extension Example958625 -Node: Internal File Description959355 -Node: Internal File Ops963446 -Ref: Internal File Ops-Footnote-1974955 -Node: Using Internal File Ops975095 -Ref: Using Internal File Ops-Footnote-1977448 -Node: Extension Samples977714 -Node: Extension Sample File Functions979238 -Node: Extension Sample Fnmatch987723 -Node: Extension Sample Fork989492 -Node: Extension Sample Inplace990705 -Node: Extension Sample Ord992483 -Node: Extension Sample Readdir993319 -Node: Extension Sample Revout994851 -Node: Extension Sample Rev2way995444 -Node: Extension Sample Read write array996134 -Node: Extension Sample Readfile998017 -Node: Extension Sample API Tests999117 -Node: Extension Sample Time999642 -Node: gawkextlib1001006 -Node: Language History1003787 -Node: V7/SVR3.11005380 -Node: SVR41007700 -Node: POSIX1009142 -Node: BTL1010528 -Node: POSIX/GNU1011262 -Node: Feature History1016861 -Node: Common Extensions1029837 -Node: Ranges and Locales1031149 -Ref: Ranges and Locales-Footnote-11035766 -Ref: Ranges and Locales-Footnote-21035793 -Ref: Ranges and Locales-Footnote-31036027 -Node: Contributors1036248 -Node: Installation1041629 -Node: Gawk Distribution1042523 -Node: Getting1043007 -Node: Extracting1043833 -Node: Distribution contents1045525 -Node: Unix Installation1051230 -Node: Quick Installation1051847 -Node: Additional Configuration Options1054293 -Node: Configuration Philosophy1056029 -Node: Non-Unix Installation1058383 -Node: PC Installation1058841 -Node: PC Binary Installation1060140 -Node: PC Compiling1061988 -Node: PC Testing1064932 -Node: PC Using1066108 -Node: Cygwin1070276 -Node: MSYS1071085 -Node: VMS Installation1071599 -Node: VMS Compilation1072363 -Ref: VMS Compilation-Footnote-11073615 -Node: VMS Dynamic Extensions1073673 -Node: VMS Installation Details1075046 -Node: VMS Running1077297 -Node: VMS GNV1080131 -Node: VMS Old Gawk1080854 -Node: Bugs1081324 -Node: Other Versions1085242 -Node: Notes1091326 -Node: Compatibility Mode1092126 -Node: Additions1092909 -Node: Accessing The Source1093836 -Node: Adding Code1095276 -Node: New Ports1101321 -Node: Derived Files1105456 -Ref: Derived Files-Footnote-11110777 -Ref: Derived Files-Footnote-21110811 -Ref: Derived Files-Footnote-31111411 -Node: Future Extensions1111509 -Node: Implementation Limitations1112092 -Node: Extension Design1113344 -Node: Old Extension Problems1114498 -Ref: Old Extension Problems-Footnote-11116006 -Node: Extension New Mechanism Goals1116063 -Ref: Extension New Mechanism Goals-Footnote-11119428 -Node: Extension Other Design Decisions1119614 -Node: Extension Future Growth1121720 -Node: Old Extension Mechanism1122556 -Node: Basic Concepts1124296 -Node: Basic High Level1124977 -Ref: figure-general-flow1125248 -Ref: figure-process-flow1125847 -Ref: Basic High Level-Footnote-11129076 -Node: Basic Data Typing1129261 -Node: Glossary1132616 -Node: Copying1157845 -Node: GNU Free Documentation License1195402 -Node: Index1220539 +Node: Top1292 +Node: Foreword40781 +Node: Preface45126 +Ref: Preface-Footnote-148179 +Ref: Preface-Footnote-248275 +Node: History48507 +Node: Names50881 +Ref: Names-Footnote-152358 +Node: This Manual52430 +Ref: This Manual-Footnote-158204 +Node: Conventions58304 +Node: Manual History60460 +Ref: Manual History-Footnote-163908 +Ref: Manual History-Footnote-263949 +Node: How To Contribute64023 +Node: Acknowledgments65167 +Node: Getting Started69361 +Node: Running gawk71740 +Node: One-shot72926 +Node: Read Terminal74151 +Ref: Read Terminal-Footnote-175801 +Ref: Read Terminal-Footnote-276077 +Node: Long76248 +Node: Executable Scripts77624 +Ref: Executable Scripts-Footnote-179457 +Ref: Executable Scripts-Footnote-279559 +Node: Comments80106 +Node: Quoting82573 +Node: DOS Quoting87196 +Node: Sample Data Files87871 +Node: Very Simple90386 +Node: Two Rules95037 +Node: More Complex96935 +Ref: More Complex-Footnote-199865 +Node: Statements/Lines99950 +Ref: Statements/Lines-Footnote-1104413 +Node: Other Features104678 +Node: When105606 +Node: Invoking Gawk107753 +Node: Command Line109216 +Node: Options109999 +Ref: Options-Footnote-1125377 +Node: Other Arguments125402 +Node: Naming Standard Input128060 +Node: Environment Variables129154 +Node: AWKPATH Variable129712 +Ref: AWKPATH Variable-Footnote-1132493 +Ref: AWKPATH Variable-Footnote-2132538 +Node: AWKLIBPATH Variable132798 +Node: Other Environment Variables133516 +Node: Exit Status136479 +Node: Include Files137154 +Node: Loading Shared Libraries140723 +Node: Obsolete142087 +Node: Undocumented142784 +Node: Regexp143026 +Node: Regexp Usage144415 +Node: Escape Sequences146440 +Node: Regexp Operators152109 +Ref: Regexp Operators-Footnote-1159489 +Ref: Regexp Operators-Footnote-2159636 +Node: Bracket Expressions159734 +Ref: table-char-classes161624 +Node: GNU Regexp Operators164147 +Node: Case-sensitivity167870 +Ref: Case-sensitivity-Footnote-1170838 +Ref: Case-sensitivity-Footnote-2171073 +Node: Leftmost Longest171181 +Node: Computed Regexps172382 +Node: Reading Files175719 +Node: Records177721 +Ref: Records-Footnote-1187244 +Node: Fields187281 +Ref: Fields-Footnote-1190237 +Node: Nonconstant Fields190323 +Node: Changing Fields192529 +Node: Field Separators198488 +Node: Default Field Splitting201190 +Node: Regexp Field Splitting202307 +Node: Single Character Fields205649 +Node: Command Line Field Separator206708 +Node: Full Line Fields210050 +Ref: Full Line Fields-Footnote-1210558 +Node: Field Splitting Summary210604 +Ref: Field Splitting Summary-Footnote-1213703 +Node: Constant Size213804 +Node: Splitting By Content218411 +Ref: Splitting By Content-Footnote-1222160 +Node: Multiple Line222200 +Ref: Multiple Line-Footnote-1228047 +Node: Getline228226 +Node: Plain Getline230442 +Node: Getline/Variable232537 +Node: Getline/File233684 +Node: Getline/Variable/File235025 +Ref: Getline/Variable/File-Footnote-1236624 +Node: Getline/Pipe236711 +Node: Getline/Variable/Pipe239410 +Node: Getline/Coprocess240517 +Node: Getline/Variable/Coprocess241769 +Node: Getline Notes242506 +Node: Getline Summary245293 +Ref: table-getline-variants245701 +Node: Read Timeout246613 +Ref: Read Timeout-Footnote-1250354 +Node: Command line directories250411 +Node: Printing251041 +Node: Print252672 +Node: Print Examples254009 +Node: Output Separators256793 +Node: OFMT258809 +Node: Printf260167 +Node: Basic Printf261073 +Node: Control Letters262612 +Node: Format Modifiers266424 +Node: Printf Examples272433 +Node: Redirection275145 +Node: Special Files282119 +Node: Special FD282652 +Ref: Special FD-Footnote-1286277 +Node: Special Network286351 +Node: Special Caveats287201 +Node: Close Files And Pipes287997 +Ref: Close Files And Pipes-Footnote-1294980 +Ref: Close Files And Pipes-Footnote-2295128 +Node: Expressions295278 +Node: Values296410 +Node: Constants297086 +Node: Scalar Constants297766 +Ref: Scalar Constants-Footnote-1298625 +Node: Nondecimal-numbers298807 +Node: Regexp Constants301807 +Node: Using Constant Regexps302282 +Node: Variables305337 +Node: Using Variables305992 +Node: Assignment Options307716 +Node: Conversion309591 +Ref: table-locale-affects315091 +Ref: Conversion-Footnote-1315715 +Node: All Operators315824 +Node: Arithmetic Ops316454 +Node: Concatenation318959 +Ref: Concatenation-Footnote-1321747 +Node: Assignment Ops321867 +Ref: table-assign-ops326855 +Node: Increment Ops328186 +Node: Truth Values and Conditions331620 +Node: Truth Values332703 +Node: Typing and Comparison333752 +Node: Variable Typing334545 +Ref: Variable Typing-Footnote-1338442 +Node: Comparison Operators338564 +Ref: table-relational-ops338974 +Node: POSIX String Comparison342522 +Ref: POSIX String Comparison-Footnote-1343478 +Node: Boolean Ops343616 +Ref: Boolean Ops-Footnote-1347686 +Node: Conditional Exp347777 +Node: Function Calls349509 +Node: Precedence353103 +Node: Locales356772 +Node: Patterns and Actions357861 +Node: Pattern Overview358915 +Node: Regexp Patterns360584 +Node: Expression Patterns361127 +Node: Ranges364908 +Node: BEGIN/END368012 +Node: Using BEGIN/END368774 +Ref: Using BEGIN/END-Footnote-1371510 +Node: I/O And BEGIN/END371616 +Node: BEGINFILE/ENDFILE373898 +Node: Empty376812 +Node: Using Shell Variables377129 +Node: Action Overview379414 +Node: Statements381771 +Node: If Statement383625 +Node: While Statement385124 +Node: Do Statement387168 +Node: For Statement388324 +Node: Switch Statement391476 +Node: Break Statement393630 +Node: Continue Statement395620 +Node: Next Statement397413 +Node: Nextfile Statement399803 +Node: Exit Statement402458 +Node: Built-in Variables404874 +Node: User-modified405969 +Ref: User-modified-Footnote-1414327 +Node: Auto-set414389 +Ref: Auto-set-Footnote-1427453 +Ref: Auto-set-Footnote-2427658 +Node: ARGC and ARGV427714 +Node: Arrays431568 +Node: Array Basics433073 +Node: Array Intro433899 +Node: Reference to Elements438216 +Node: Assigning Elements440486 +Node: Array Example440977 +Node: Scanning an Array442709 +Node: Controlling Scanning445023 +Ref: Controlling Scanning-Footnote-1450110 +Node: Delete450426 +Ref: Delete-Footnote-1453191 +Node: Numeric Array Subscripts453248 +Node: Uninitialized Subscripts455431 +Node: Multidimensional457058 +Node: Multiscanning460151 +Node: Arrays of Arrays461740 +Node: Functions466380 +Node: Built-in467199 +Node: Calling Built-in468277 +Node: Numeric Functions470265 +Ref: Numeric Functions-Footnote-1474097 +Ref: Numeric Functions-Footnote-2474454 +Ref: Numeric Functions-Footnote-3474502 +Node: String Functions474771 +Ref: String Functions-Footnote-1497729 +Ref: String Functions-Footnote-2497858 +Ref: String Functions-Footnote-3498106 +Node: Gory Details498193 +Ref: table-sub-escapes499872 +Ref: table-sub-posix-92501226 +Ref: table-sub-proposed502577 +Ref: table-posix-sub503931 +Ref: table-gensub-escapes505476 +Ref: Gory Details-Footnote-1506652 +Ref: Gory Details-Footnote-2506703 +Node: I/O Functions506854 +Ref: I/O Functions-Footnote-1513844 +Node: Time Functions513991 +Ref: Time Functions-Footnote-1524974 +Ref: Time Functions-Footnote-2525042 +Ref: Time Functions-Footnote-3525200 +Ref: Time Functions-Footnote-4525311 +Ref: Time Functions-Footnote-5525423 +Ref: Time Functions-Footnote-6525650 +Node: Bitwise Functions525916 +Ref: table-bitwise-ops526478 +Ref: Bitwise Functions-Footnote-1530699 +Node: Type Functions530883 +Node: I18N Functions532034 +Node: User-defined533661 +Node: Definition Syntax534465 +Ref: Definition Syntax-Footnote-1539379 +Node: Function Example539448 +Ref: Function Example-Footnote-1542097 +Node: Function Caveats542119 +Node: Calling A Function542637 +Node: Variable Scope543592 +Node: Pass By Value/Reference546555 +Node: Return Statement550063 +Node: Dynamic Typing553044 +Node: Indirect Calls553975 +Node: Library Functions563662 +Ref: Library Functions-Footnote-1567175 +Ref: Library Functions-Footnote-2567318 +Node: Library Names567489 +Ref: Library Names-Footnote-1570962 +Ref: Library Names-Footnote-2571182 +Node: General Functions571268 +Node: Strtonum Function572296 +Node: Assert Function575226 +Node: Round Function578552 +Node: Cliff Random Function580093 +Node: Ordinal Functions581109 +Ref: Ordinal Functions-Footnote-1584186 +Ref: Ordinal Functions-Footnote-2584438 +Node: Join Function584649 +Ref: Join Function-Footnote-1586420 +Node: Getlocaltime Function586620 +Node: Readfile Function590361 +Node: Data File Management592200 +Node: Filetrans Function592832 +Node: Rewind Function596901 +Node: File Checking598288 +Node: Empty Files599382 +Node: Ignoring Assigns601612 +Node: Getopt Function603166 +Ref: Getopt Function-Footnote-1614469 +Node: Passwd Functions614672 +Ref: Passwd Functions-Footnote-1623650 +Node: Group Functions623738 +Node: Walking Arrays631822 +Node: Sample Programs633958 +Node: Running Examples634632 +Node: Clones635360 +Node: Cut Program636584 +Node: Egrep Program646435 +Ref: Egrep Program-Footnote-1654208 +Node: Id Program654318 +Node: Split Program657967 +Ref: Split Program-Footnote-1661486 +Node: Tee Program661614 +Node: Uniq Program664417 +Node: Wc Program671846 +Ref: Wc Program-Footnote-1676112 +Ref: Wc Program-Footnote-2676312 +Node: Miscellaneous Programs676404 +Node: Dupword Program677592 +Node: Alarm Program679623 +Node: Translate Program684430 +Ref: Translate Program-Footnote-1688817 +Ref: Translate Program-Footnote-2689065 +Node: Labels Program689199 +Ref: Labels Program-Footnote-1692570 +Node: Word Sorting692654 +Node: History Sorting696538 +Node: Extract Program698377 +Ref: Extract Program-Footnote-1705880 +Node: Simple Sed706008 +Node: Igawk Program709070 +Ref: Igawk Program-Footnote-1724227 +Ref: Igawk Program-Footnote-2724428 +Node: Anagram Program724566 +Node: Signature Program727634 +Node: Advanced Features728734 +Node: Nondecimal Data730620 +Node: Array Sorting732203 +Node: Controlling Array Traversal732900 +Node: Array Sorting Functions741184 +Ref: Array Sorting Functions-Footnote-1745053 +Node: Two-way I/O745247 +Ref: Two-way I/O-Footnote-1750679 +Node: TCP/IP Networking750761 +Node: Profiling753605 +Node: Internationalization761108 +Node: I18N and L10N762533 +Node: Explaining gettext763219 +Ref: Explaining gettext-Footnote-1768287 +Ref: Explaining gettext-Footnote-2768471 +Node: Programmer i18n768636 +Node: Translator i18n772838 +Node: String Extraction773632 +Ref: String Extraction-Footnote-1774593 +Node: Printf Ordering774679 +Ref: Printf Ordering-Footnote-1777461 +Node: I18N Portability777525 +Ref: I18N Portability-Footnote-1779974 +Node: I18N Example780037 +Ref: I18N Example-Footnote-1782675 +Node: Gawk I18N782747 +Node: Debugger783368 +Node: Debugging784339 +Node: Debugging Concepts784772 +Node: Debugging Terms786628 +Node: Awk Debugging789225 +Node: Sample Debugging Session790117 +Node: Debugger Invocation790637 +Node: Finding The Bug791970 +Node: List of Debugger Commands798457 +Node: Breakpoint Control799791 +Node: Debugger Execution Control803455 +Node: Viewing And Changing Data806815 +Node: Execution Stack810171 +Node: Debugger Info811638 +Node: Miscellaneous Debugger Commands815620 +Node: Readline Support820796 +Node: Limitations821627 +Node: Arbitrary Precision Arithmetic823879 +Ref: Arbitrary Precision Arithmetic-Footnote-1825528 +Node: General Arithmetic825676 +Node: Floating Point Issues827396 +Node: String Conversion Precision828277 +Ref: String Conversion Precision-Footnote-1829982 +Node: Unexpected Results830091 +Node: POSIX Floating Point Problems832244 +Ref: POSIX Floating Point Problems-Footnote-1836069 +Node: Integer Programming836107 +Node: Floating-point Programming837846 +Ref: Floating-point Programming-Footnote-1844177 +Ref: Floating-point Programming-Footnote-2844447 +Node: Floating-point Representation844711 +Node: Floating-point Context845876 +Ref: table-ieee-formats846715 +Node: Rounding Mode848099 +Ref: table-rounding-modes848578 +Ref: Rounding Mode-Footnote-1851593 +Node: Gawk and MPFR851772 +Node: Arbitrary Precision Floats853027 +Ref: Arbitrary Precision Floats-Footnote-1855470 +Node: Setting Precision855786 +Ref: table-predefined-precision-strings856472 +Node: Setting Rounding Mode858617 +Ref: table-gawk-rounding-modes859021 +Node: Floating-point Constants860208 +Node: Changing Precision861637 +Ref: Changing Precision-Footnote-1863034 +Node: Exact Arithmetic863208 +Node: Arbitrary Precision Integers866346 +Ref: Arbitrary Precision Integers-Footnote-1869361 +Node: Dynamic Extensions869508 +Node: Extension Intro870966 +Node: Plugin License872231 +Node: Extension Mechanism Outline872916 +Ref: load-extension873333 +Ref: load-new-function874811 +Ref: call-new-function875806 +Node: Extension API Description877821 +Node: Extension API Functions Introduction879108 +Node: General Data Types884035 +Ref: General Data Types-Footnote-1889730 +Node: Requesting Values890029 +Ref: table-value-types-returned890766 +Node: Memory Allocation Functions891720 +Ref: Memory Allocation Functions-Footnote-1894466 +Node: Constructor Functions894562 +Node: Registration Functions896320 +Node: Extension Functions897005 +Node: Exit Callback Functions899307 +Node: Extension Version String900556 +Node: Input Parsers901206 +Node: Output Wrappers910963 +Node: Two-way processors915473 +Node: Printing Messages917681 +Ref: Printing Messages-Footnote-1918758 +Node: Updating `ERRNO'918910 +Node: Accessing Parameters919649 +Node: Symbol Table Access920879 +Node: Symbol table by name921393 +Node: Symbol table by cookie923369 +Ref: Symbol table by cookie-Footnote-1927501 +Node: Cached values927564 +Ref: Cached values-Footnote-1931054 +Node: Array Manipulation931145 +Ref: Array Manipulation-Footnote-1932243 +Node: Array Data Types932282 +Ref: Array Data Types-Footnote-1934985 +Node: Array Functions935077 +Node: Flattening Arrays938913 +Node: Creating Arrays945765 +Node: Extension API Variables950490 +Node: Extension Versioning951126 +Node: Extension API Informational Variables953027 +Node: Extension API Boilerplate954113 +Node: Finding Extensions957917 +Node: Extension Example958477 +Node: Internal File Description959207 +Node: Internal File Ops963298 +Ref: Internal File Ops-Footnote-1974807 +Node: Using Internal File Ops974947 +Ref: Using Internal File Ops-Footnote-1977300 +Node: Extension Samples977566 +Node: Extension Sample File Functions979090 +Node: Extension Sample Fnmatch987575 +Node: Extension Sample Fork989344 +Node: Extension Sample Inplace990557 +Node: Extension Sample Ord992335 +Node: Extension Sample Readdir993171 +Node: Extension Sample Revout994703 +Node: Extension Sample Rev2way995296 +Node: Extension Sample Read write array995986 +Node: Extension Sample Readfile997869 +Node: Extension Sample API Tests998969 +Node: Extension Sample Time999494 +Node: gawkextlib1000858 +Node: Language History1003639 +Node: V7/SVR3.11005232 +Node: SVR41007552 +Node: POSIX1008994 +Node: BTL1010380 +Node: POSIX/GNU1011114 +Node: Feature History1016713 +Node: Common Extensions1029689 +Node: Ranges and Locales1031001 +Ref: Ranges and Locales-Footnote-11035618 +Ref: Ranges and Locales-Footnote-21035645 +Ref: Ranges and Locales-Footnote-31035879 +Node: Contributors1036100 +Node: Installation1041481 +Node: Gawk Distribution1042375 +Node: Getting1042859 +Node: Extracting1043685 +Node: Distribution contents1045377 +Node: Unix Installation1051082 +Node: Quick Installation1051699 +Node: Additional Configuration Options1054145 +Node: Configuration Philosophy1055881 +Node: Non-Unix Installation1058235 +Node: PC Installation1058693 +Node: PC Binary Installation1059992 +Node: PC Compiling1061840 +Node: PC Testing1064784 +Node: PC Using1065960 +Node: Cygwin1070128 +Node: MSYS1070937 +Node: VMS Installation1071451 +Node: VMS Compilation1072215 +Ref: VMS Compilation-Footnote-11073467 +Node: VMS Dynamic Extensions1073525 +Node: VMS Installation Details1074898 +Node: VMS Running1077149 +Node: VMS GNV1079983 +Node: VMS Old Gawk1080706 +Node: Bugs1081176 +Node: Other Versions1085094 +Node: Notes1091178 +Node: Compatibility Mode1091978 +Node: Additions1092761 +Node: Accessing The Source1093688 +Node: Adding Code1095128 +Node: New Ports1101173 +Node: Derived Files1105308 +Ref: Derived Files-Footnote-11110629 +Ref: Derived Files-Footnote-21110663 +Ref: Derived Files-Footnote-31111263 +Node: Future Extensions1111361 +Node: Implementation Limitations1111944 +Node: Extension Design1113196 +Node: Old Extension Problems1114350 +Ref: Old Extension Problems-Footnote-11115858 +Node: Extension New Mechanism Goals1115915 +Ref: Extension New Mechanism Goals-Footnote-11119280 +Node: Extension Other Design Decisions1119466 +Node: Extension Future Growth1121572 +Node: Old Extension Mechanism1122408 +Node: Basic Concepts1124148 +Node: Basic High Level1124829 +Ref: figure-general-flow1125101 +Ref: figure-process-flow1125700 +Ref: Basic High Level-Footnote-11128929 +Node: Basic Data Typing1129114 +Node: Glossary1132469 +Node: Copying1157700 +Node: GNU Free Documentation License1195256 +Node: Index1220392  End Tag Table -- cgit v1.2.3 From dc5af665700d9b04fdf9c18930526d28eef5d5d9 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 8 Apr 2014 21:15:08 +0300 Subject: Make release tar ball. --- doc/gawk.info | 1087 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 546 insertions(+), 541 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index f63c62ce..8a26992f 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -14,7 +14,7 @@ Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's -Guide for GNU Awk', for the 4.1.0 (or later) version of the GNU +Guide for GNU Awk', for the 4.1.1 (or later) version of the GNU implementation of AWK. Permission is granted to copy, distribute and/or modify this document @@ -45,7 +45,7 @@ Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's -Guide for GNU Awk', for the 4.1.0 (or later) version of the GNU +Guide for GNU Awk', for the 4.1.1 (or later) version of the GNU implementation of AWK. Permission is granted to copy, distribute and/or modify this document @@ -583,7 +583,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) version of `awk'. * POSIX/GNU:: The extensions in `gawk' not in POSIX `awk'. -* Feature History:: The history of the features in `gawk'. +* Feature History:: The history of the features in + `gawk'. * Common Extensions:: Common Extensions Summary. * Ranges and Locales:: How locales used to affect regexp ranges. @@ -9954,7 +9955,7 @@ with a pound sign (`#'). the `delete' statement with the `SYMTAB' array. You may use an index for `SYMTAB' that is not a predefined - identifer: + identifier: SYMTAB["xxx"] = 5 print SYMTAB["xxx"] @@ -12611,7 +12612,7 @@ of Arrays::). traversing a multidimensional array: you can test if an element is itself an array or not. The second is inside the body of a user-defined function (not discussed yet; *note User-defined::), to -test if a paramater is an array or not. +test if a parameter is an array or not. Note, however, that using `isarray()' at the global level to test variables makes no sense. Since you are the one writing the program, you @@ -21172,11 +21173,15 @@ need it. arbitrary precision arithmetic. The easiest way to find out is to look at the output of the following command: - $ gawk --version - -| GNU Awk 4.1.0, API: 1.0 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2) - -| Copyright (C) 1989, 1991-2013 Free Software Foundation. + $ ./gawk --version + -| GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2) + -| Copyright (C) 1989, 1991-2014 Free Software Foundation. ... +(You may see different version numbers than what's shown here. That's +OK; what's important is to see that GNU MPFR and GNU MP are listed in +the output.) + `gawk' uses the GNU MPFR (http://www.mpfr.org) and GNU MP (http://gmplib.org) (GMP) libraries for arbitrary precision arithmetic on numbers. So if you do not see the names of these libraries in the @@ -26046,7 +26051,7 @@ There are three ways to get GNU software: supported. If you have the `wget' program, you can use a command like the following: - wget http://ftp.gnu.org/gnu/gawk/gawk-4.1.0.tar.gz + wget http://ftp.gnu.org/gnu/gawk/gawk-4.1.1.tar.gz The GNU software archive is mirrored around the world. The up-to-date list of mirror sites is available from the main FSF web site @@ -26065,26 +26070,26 @@ compression programs: `gzip', `bzip2', and `xz'. For simplicity, the rest of these instructions assume you are using the one compressed with the GNU Zip program, `gzip'. - Once you have the distribution (for example, `gawk-4.1.0.tar.gz'), + Once you have the distribution (for example, `gawk-4.1.1.tar.gz'), use `gzip' to expand the file and then use `tar' to extract it. You can use the following pipeline to produce the `gawk' distribution: # Under System V, add 'o' to the tar options - gzip -d -c gawk-4.1.0.tar.gz | tar -xvpf - + gzip -d -c gawk-4.1.1.tar.gz | tar -xvpf - On a system with GNU `tar', you can let `tar' do the decompression for you: - tar -xvpzf gawk-4.1.0.tar.gz + tar -xvpzf gawk-4.1.1.tar.gz -Extracting the archive creates a directory named `gawk-4.1.0' in the +Extracting the archive creates a directory named `gawk-4.1.1' in the current directory. The distribution file name is of the form `gawk-V.R.P.tar.gz'. The V represents the major version of `gawk', the R represents the current release of version V, and the P represents a "patch level", meaning that minor bugs have been fixed in the release. The current patch -level is 0, but when retrieving distributions, you should get the +level is 1, but when retrieving distributions, you should get the version with the highest version, release, and patch level. (Note, however, that patch levels greater than or equal to 70 denote "beta" or nonproduction software; you might not want to retrieve such a version @@ -26294,7 +26299,7 @@ Unix-derived systems, GNU/Linux, BSD-based systems, and the Cygwin environment for MS-Windows. After you have extracted the `gawk' distribution, `cd' to -`gawk-4.1.0'. Like most GNU software, `gawk' is configured +`gawk-4.1.1'. Like most GNU software, `gawk' is configured automatically for your system by running the `configure' program. This program is a Bourne shell script that is generated automatically using GNU `autoconf'. (The `autoconf' software is described fully starting @@ -26717,8 +26722,8 @@ GNU tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make, and other GNU programs. Compilation and installation for Cygwin is the same as for a Unix system: - tar -xvpzf gawk-4.1.0.tar.gz - cd gawk-4.1.0 + tar -xvpzf gawk-4.1.1.tar.gz + cd gawk-4.1.1 ./configure make @@ -33089,529 +33094,529 @@ Index  Tag Table: Node: Top1292 -Node: Foreword40781 -Node: Preface45126 -Ref: Preface-Footnote-148179 -Ref: Preface-Footnote-248275 -Node: History48507 -Node: Names50881 -Ref: Names-Footnote-152358 -Node: This Manual52430 -Ref: This Manual-Footnote-158204 -Node: Conventions58304 -Node: Manual History60460 -Ref: Manual History-Footnote-163908 -Ref: Manual History-Footnote-263949 -Node: How To Contribute64023 -Node: Acknowledgments65167 -Node: Getting Started69361 -Node: Running gawk71740 -Node: One-shot72926 -Node: Read Terminal74151 -Ref: Read Terminal-Footnote-175801 -Ref: Read Terminal-Footnote-276077 -Node: Long76248 -Node: Executable Scripts77624 -Ref: Executable Scripts-Footnote-179457 -Ref: Executable Scripts-Footnote-279559 -Node: Comments80106 -Node: Quoting82573 -Node: DOS Quoting87196 -Node: Sample Data Files87871 -Node: Very Simple90386 -Node: Two Rules95037 -Node: More Complex96935 -Ref: More Complex-Footnote-199865 -Node: Statements/Lines99950 -Ref: Statements/Lines-Footnote-1104413 -Node: Other Features104678 -Node: When105606 -Node: Invoking Gawk107753 -Node: Command Line109216 -Node: Options109999 -Ref: Options-Footnote-1125377 -Node: Other Arguments125402 -Node: Naming Standard Input128060 -Node: Environment Variables129154 -Node: AWKPATH Variable129712 -Ref: AWKPATH Variable-Footnote-1132493 -Ref: AWKPATH Variable-Footnote-2132538 -Node: AWKLIBPATH Variable132798 -Node: Other Environment Variables133516 -Node: Exit Status136479 -Node: Include Files137154 -Node: Loading Shared Libraries140723 -Node: Obsolete142087 -Node: Undocumented142784 -Node: Regexp143026 -Node: Regexp Usage144415 -Node: Escape Sequences146440 -Node: Regexp Operators152109 -Ref: Regexp Operators-Footnote-1159489 -Ref: Regexp Operators-Footnote-2159636 -Node: Bracket Expressions159734 -Ref: table-char-classes161624 -Node: GNU Regexp Operators164147 -Node: Case-sensitivity167870 -Ref: Case-sensitivity-Footnote-1170838 -Ref: Case-sensitivity-Footnote-2171073 -Node: Leftmost Longest171181 -Node: Computed Regexps172382 -Node: Reading Files175719 -Node: Records177721 -Ref: Records-Footnote-1187244 -Node: Fields187281 -Ref: Fields-Footnote-1190237 -Node: Nonconstant Fields190323 -Node: Changing Fields192529 -Node: Field Separators198488 -Node: Default Field Splitting201190 -Node: Regexp Field Splitting202307 -Node: Single Character Fields205649 -Node: Command Line Field Separator206708 -Node: Full Line Fields210050 -Ref: Full Line Fields-Footnote-1210558 -Node: Field Splitting Summary210604 -Ref: Field Splitting Summary-Footnote-1213703 -Node: Constant Size213804 -Node: Splitting By Content218411 -Ref: Splitting By Content-Footnote-1222160 -Node: Multiple Line222200 -Ref: Multiple Line-Footnote-1228047 -Node: Getline228226 -Node: Plain Getline230442 -Node: Getline/Variable232537 -Node: Getline/File233684 -Node: Getline/Variable/File235025 -Ref: Getline/Variable/File-Footnote-1236624 -Node: Getline/Pipe236711 -Node: Getline/Variable/Pipe239410 -Node: Getline/Coprocess240517 -Node: Getline/Variable/Coprocess241769 -Node: Getline Notes242506 -Node: Getline Summary245293 -Ref: table-getline-variants245701 -Node: Read Timeout246613 -Ref: Read Timeout-Footnote-1250354 -Node: Command line directories250411 -Node: Printing251041 -Node: Print252672 -Node: Print Examples254009 -Node: Output Separators256793 -Node: OFMT258809 -Node: Printf260167 -Node: Basic Printf261073 -Node: Control Letters262612 -Node: Format Modifiers266424 -Node: Printf Examples272433 -Node: Redirection275145 -Node: Special Files282119 -Node: Special FD282652 -Ref: Special FD-Footnote-1286277 -Node: Special Network286351 -Node: Special Caveats287201 -Node: Close Files And Pipes287997 -Ref: Close Files And Pipes-Footnote-1294980 -Ref: Close Files And Pipes-Footnote-2295128 -Node: Expressions295278 -Node: Values296410 -Node: Constants297086 -Node: Scalar Constants297766 -Ref: Scalar Constants-Footnote-1298625 -Node: Nondecimal-numbers298807 -Node: Regexp Constants301807 -Node: Using Constant Regexps302282 -Node: Variables305337 -Node: Using Variables305992 -Node: Assignment Options307716 -Node: Conversion309591 -Ref: table-locale-affects315091 -Ref: Conversion-Footnote-1315715 -Node: All Operators315824 -Node: Arithmetic Ops316454 -Node: Concatenation318959 -Ref: Concatenation-Footnote-1321747 -Node: Assignment Ops321867 -Ref: table-assign-ops326855 -Node: Increment Ops328186 -Node: Truth Values and Conditions331620 -Node: Truth Values332703 -Node: Typing and Comparison333752 -Node: Variable Typing334545 -Ref: Variable Typing-Footnote-1338442 -Node: Comparison Operators338564 -Ref: table-relational-ops338974 -Node: POSIX String Comparison342522 -Ref: POSIX String Comparison-Footnote-1343478 -Node: Boolean Ops343616 -Ref: Boolean Ops-Footnote-1347686 -Node: Conditional Exp347777 -Node: Function Calls349509 -Node: Precedence353103 -Node: Locales356772 -Node: Patterns and Actions357861 -Node: Pattern Overview358915 -Node: Regexp Patterns360584 -Node: Expression Patterns361127 -Node: Ranges364908 -Node: BEGIN/END368012 -Node: Using BEGIN/END368774 -Ref: Using BEGIN/END-Footnote-1371510 -Node: I/O And BEGIN/END371616 -Node: BEGINFILE/ENDFILE373898 -Node: Empty376812 -Node: Using Shell Variables377129 -Node: Action Overview379414 -Node: Statements381771 -Node: If Statement383625 -Node: While Statement385124 -Node: Do Statement387168 -Node: For Statement388324 -Node: Switch Statement391476 -Node: Break Statement393630 -Node: Continue Statement395620 -Node: Next Statement397413 -Node: Nextfile Statement399803 -Node: Exit Statement402458 -Node: Built-in Variables404874 -Node: User-modified405969 -Ref: User-modified-Footnote-1414327 -Node: Auto-set414389 -Ref: Auto-set-Footnote-1427453 -Ref: Auto-set-Footnote-2427658 -Node: ARGC and ARGV427714 -Node: Arrays431568 -Node: Array Basics433073 -Node: Array Intro433899 -Node: Reference to Elements438216 -Node: Assigning Elements440486 -Node: Array Example440977 -Node: Scanning an Array442709 -Node: Controlling Scanning445023 -Ref: Controlling Scanning-Footnote-1450110 -Node: Delete450426 -Ref: Delete-Footnote-1453191 -Node: Numeric Array Subscripts453248 -Node: Uninitialized Subscripts455431 -Node: Multidimensional457058 -Node: Multiscanning460151 -Node: Arrays of Arrays461740 -Node: Functions466380 -Node: Built-in467199 -Node: Calling Built-in468277 -Node: Numeric Functions470265 -Ref: Numeric Functions-Footnote-1474097 -Ref: Numeric Functions-Footnote-2474454 -Ref: Numeric Functions-Footnote-3474502 -Node: String Functions474771 -Ref: String Functions-Footnote-1497729 -Ref: String Functions-Footnote-2497858 -Ref: String Functions-Footnote-3498106 -Node: Gory Details498193 -Ref: table-sub-escapes499872 -Ref: table-sub-posix-92501226 -Ref: table-sub-proposed502577 -Ref: table-posix-sub503931 -Ref: table-gensub-escapes505476 -Ref: Gory Details-Footnote-1506652 -Ref: Gory Details-Footnote-2506703 -Node: I/O Functions506854 -Ref: I/O Functions-Footnote-1513844 -Node: Time Functions513991 -Ref: Time Functions-Footnote-1524974 -Ref: Time Functions-Footnote-2525042 -Ref: Time Functions-Footnote-3525200 -Ref: Time Functions-Footnote-4525311 -Ref: Time Functions-Footnote-5525423 -Ref: Time Functions-Footnote-6525650 -Node: Bitwise Functions525916 -Ref: table-bitwise-ops526478 -Ref: Bitwise Functions-Footnote-1530699 -Node: Type Functions530883 -Node: I18N Functions532034 -Node: User-defined533661 -Node: Definition Syntax534465 -Ref: Definition Syntax-Footnote-1539379 -Node: Function Example539448 -Ref: Function Example-Footnote-1542097 -Node: Function Caveats542119 -Node: Calling A Function542637 -Node: Variable Scope543592 -Node: Pass By Value/Reference546555 -Node: Return Statement550063 -Node: Dynamic Typing553044 -Node: Indirect Calls553975 -Node: Library Functions563662 -Ref: Library Functions-Footnote-1567175 -Ref: Library Functions-Footnote-2567318 -Node: Library Names567489 -Ref: Library Names-Footnote-1570962 -Ref: Library Names-Footnote-2571182 -Node: General Functions571268 -Node: Strtonum Function572296 -Node: Assert Function575226 -Node: Round Function578552 -Node: Cliff Random Function580093 -Node: Ordinal Functions581109 -Ref: Ordinal Functions-Footnote-1584186 -Ref: Ordinal Functions-Footnote-2584438 -Node: Join Function584649 -Ref: Join Function-Footnote-1586420 -Node: Getlocaltime Function586620 -Node: Readfile Function590361 -Node: Data File Management592200 -Node: Filetrans Function592832 -Node: Rewind Function596901 -Node: File Checking598288 -Node: Empty Files599382 -Node: Ignoring Assigns601612 -Node: Getopt Function603166 -Ref: Getopt Function-Footnote-1614469 -Node: Passwd Functions614672 -Ref: Passwd Functions-Footnote-1623650 -Node: Group Functions623738 -Node: Walking Arrays631822 -Node: Sample Programs633958 -Node: Running Examples634632 -Node: Clones635360 -Node: Cut Program636584 -Node: Egrep Program646435 -Ref: Egrep Program-Footnote-1654208 -Node: Id Program654318 -Node: Split Program657967 -Ref: Split Program-Footnote-1661486 -Node: Tee Program661614 -Node: Uniq Program664417 -Node: Wc Program671846 -Ref: Wc Program-Footnote-1676112 -Ref: Wc Program-Footnote-2676312 -Node: Miscellaneous Programs676404 -Node: Dupword Program677592 -Node: Alarm Program679623 -Node: Translate Program684430 -Ref: Translate Program-Footnote-1688817 -Ref: Translate Program-Footnote-2689065 -Node: Labels Program689199 -Ref: Labels Program-Footnote-1692570 -Node: Word Sorting692654 -Node: History Sorting696538 -Node: Extract Program698377 -Ref: Extract Program-Footnote-1705880 -Node: Simple Sed706008 -Node: Igawk Program709070 -Ref: Igawk Program-Footnote-1724227 -Ref: Igawk Program-Footnote-2724428 -Node: Anagram Program724566 -Node: Signature Program727634 -Node: Advanced Features728734 -Node: Nondecimal Data730620 -Node: Array Sorting732203 -Node: Controlling Array Traversal732900 -Node: Array Sorting Functions741184 -Ref: Array Sorting Functions-Footnote-1745053 -Node: Two-way I/O745247 -Ref: Two-way I/O-Footnote-1750679 -Node: TCP/IP Networking750761 -Node: Profiling753605 -Node: Internationalization761108 -Node: I18N and L10N762533 -Node: Explaining gettext763219 -Ref: Explaining gettext-Footnote-1768287 -Ref: Explaining gettext-Footnote-2768471 -Node: Programmer i18n768636 -Node: Translator i18n772838 -Node: String Extraction773632 -Ref: String Extraction-Footnote-1774593 -Node: Printf Ordering774679 -Ref: Printf Ordering-Footnote-1777461 -Node: I18N Portability777525 -Ref: I18N Portability-Footnote-1779974 -Node: I18N Example780037 -Ref: I18N Example-Footnote-1782675 -Node: Gawk I18N782747 -Node: Debugger783368 -Node: Debugging784339 -Node: Debugging Concepts784772 -Node: Debugging Terms786628 -Node: Awk Debugging789225 -Node: Sample Debugging Session790117 -Node: Debugger Invocation790637 -Node: Finding The Bug791970 -Node: List of Debugger Commands798457 -Node: Breakpoint Control799791 -Node: Debugger Execution Control803455 -Node: Viewing And Changing Data806815 -Node: Execution Stack810171 -Node: Debugger Info811638 -Node: Miscellaneous Debugger Commands815620 -Node: Readline Support820796 -Node: Limitations821627 -Node: Arbitrary Precision Arithmetic823879 -Ref: Arbitrary Precision Arithmetic-Footnote-1825528 -Node: General Arithmetic825676 -Node: Floating Point Issues827396 -Node: String Conversion Precision828277 -Ref: String Conversion Precision-Footnote-1829982 -Node: Unexpected Results830091 -Node: POSIX Floating Point Problems832244 -Ref: POSIX Floating Point Problems-Footnote-1836069 -Node: Integer Programming836107 -Node: Floating-point Programming837846 -Ref: Floating-point Programming-Footnote-1844177 -Ref: Floating-point Programming-Footnote-2844447 -Node: Floating-point Representation844711 -Node: Floating-point Context845876 -Ref: table-ieee-formats846715 -Node: Rounding Mode848099 -Ref: table-rounding-modes848578 -Ref: Rounding Mode-Footnote-1851593 -Node: Gawk and MPFR851772 -Node: Arbitrary Precision Floats853027 -Ref: Arbitrary Precision Floats-Footnote-1855470 -Node: Setting Precision855786 -Ref: table-predefined-precision-strings856472 -Node: Setting Rounding Mode858617 -Ref: table-gawk-rounding-modes859021 -Node: Floating-point Constants860208 -Node: Changing Precision861637 -Ref: Changing Precision-Footnote-1863034 -Node: Exact Arithmetic863208 -Node: Arbitrary Precision Integers866346 -Ref: Arbitrary Precision Integers-Footnote-1869361 -Node: Dynamic Extensions869508 -Node: Extension Intro870966 -Node: Plugin License872231 -Node: Extension Mechanism Outline872916 -Ref: load-extension873333 -Ref: load-new-function874811 -Ref: call-new-function875806 -Node: Extension API Description877821 -Node: Extension API Functions Introduction879108 -Node: General Data Types884035 -Ref: General Data Types-Footnote-1889730 -Node: Requesting Values890029 -Ref: table-value-types-returned890766 -Node: Memory Allocation Functions891720 -Ref: Memory Allocation Functions-Footnote-1894466 -Node: Constructor Functions894562 -Node: Registration Functions896320 -Node: Extension Functions897005 -Node: Exit Callback Functions899307 -Node: Extension Version String900556 -Node: Input Parsers901206 -Node: Output Wrappers910963 -Node: Two-way processors915473 -Node: Printing Messages917681 -Ref: Printing Messages-Footnote-1918758 -Node: Updating `ERRNO'918910 -Node: Accessing Parameters919649 -Node: Symbol Table Access920879 -Node: Symbol table by name921393 -Node: Symbol table by cookie923369 -Ref: Symbol table by cookie-Footnote-1927501 -Node: Cached values927564 -Ref: Cached values-Footnote-1931054 -Node: Array Manipulation931145 -Ref: Array Manipulation-Footnote-1932243 -Node: Array Data Types932282 -Ref: Array Data Types-Footnote-1934985 -Node: Array Functions935077 -Node: Flattening Arrays938913 -Node: Creating Arrays945765 -Node: Extension API Variables950490 -Node: Extension Versioning951126 -Node: Extension API Informational Variables953027 -Node: Extension API Boilerplate954113 -Node: Finding Extensions957917 -Node: Extension Example958477 -Node: Internal File Description959207 -Node: Internal File Ops963298 -Ref: Internal File Ops-Footnote-1974807 -Node: Using Internal File Ops974947 -Ref: Using Internal File Ops-Footnote-1977300 -Node: Extension Samples977566 -Node: Extension Sample File Functions979090 -Node: Extension Sample Fnmatch987575 -Node: Extension Sample Fork989344 -Node: Extension Sample Inplace990557 -Node: Extension Sample Ord992335 -Node: Extension Sample Readdir993171 -Node: Extension Sample Revout994703 -Node: Extension Sample Rev2way995296 -Node: Extension Sample Read write array995986 -Node: Extension Sample Readfile997869 -Node: Extension Sample API Tests998969 -Node: Extension Sample Time999494 -Node: gawkextlib1000858 -Node: Language History1003639 -Node: V7/SVR3.11005232 -Node: SVR41007552 -Node: POSIX1008994 -Node: BTL1010380 -Node: POSIX/GNU1011114 -Node: Feature History1016713 -Node: Common Extensions1029689 -Node: Ranges and Locales1031001 -Ref: Ranges and Locales-Footnote-11035618 -Ref: Ranges and Locales-Footnote-21035645 -Ref: Ranges and Locales-Footnote-31035879 -Node: Contributors1036100 -Node: Installation1041481 -Node: Gawk Distribution1042375 -Node: Getting1042859 -Node: Extracting1043685 -Node: Distribution contents1045377 -Node: Unix Installation1051082 -Node: Quick Installation1051699 -Node: Additional Configuration Options1054145 -Node: Configuration Philosophy1055881 -Node: Non-Unix Installation1058235 -Node: PC Installation1058693 -Node: PC Binary Installation1059992 -Node: PC Compiling1061840 -Node: PC Testing1064784 -Node: PC Using1065960 -Node: Cygwin1070128 -Node: MSYS1070937 -Node: VMS Installation1071451 -Node: VMS Compilation1072215 -Ref: VMS Compilation-Footnote-11073467 -Node: VMS Dynamic Extensions1073525 -Node: VMS Installation Details1074898 -Node: VMS Running1077149 -Node: VMS GNV1079983 -Node: VMS Old Gawk1080706 -Node: Bugs1081176 -Node: Other Versions1085094 -Node: Notes1091178 -Node: Compatibility Mode1091978 -Node: Additions1092761 -Node: Accessing The Source1093688 -Node: Adding Code1095128 -Node: New Ports1101173 -Node: Derived Files1105308 -Ref: Derived Files-Footnote-11110629 -Ref: Derived Files-Footnote-21110663 -Ref: Derived Files-Footnote-31111263 -Node: Future Extensions1111361 -Node: Implementation Limitations1111944 -Node: Extension Design1113196 -Node: Old Extension Problems1114350 -Ref: Old Extension Problems-Footnote-11115858 -Node: Extension New Mechanism Goals1115915 -Ref: Extension New Mechanism Goals-Footnote-11119280 -Node: Extension Other Design Decisions1119466 -Node: Extension Future Growth1121572 -Node: Old Extension Mechanism1122408 -Node: Basic Concepts1124148 -Node: Basic High Level1124829 -Ref: figure-general-flow1125101 -Ref: figure-process-flow1125700 -Ref: Basic High Level-Footnote-11128929 -Node: Basic Data Typing1129114 -Node: Glossary1132469 -Node: Copying1157700 -Node: GNU Free Documentation License1195256 -Node: Index1220392 +Node: Foreword40821 +Node: Preface45166 +Ref: Preface-Footnote-148219 +Ref: Preface-Footnote-248315 +Node: History48547 +Node: Names50921 +Ref: Names-Footnote-152398 +Node: This Manual52470 +Ref: This Manual-Footnote-158244 +Node: Conventions58344 +Node: Manual History60500 +Ref: Manual History-Footnote-163948 +Ref: Manual History-Footnote-263989 +Node: How To Contribute64063 +Node: Acknowledgments65207 +Node: Getting Started69401 +Node: Running gawk71780 +Node: One-shot72966 +Node: Read Terminal74191 +Ref: Read Terminal-Footnote-175841 +Ref: Read Terminal-Footnote-276117 +Node: Long76288 +Node: Executable Scripts77664 +Ref: Executable Scripts-Footnote-179497 +Ref: Executable Scripts-Footnote-279599 +Node: Comments80146 +Node: Quoting82613 +Node: DOS Quoting87236 +Node: Sample Data Files87911 +Node: Very Simple90426 +Node: Two Rules95077 +Node: More Complex96975 +Ref: More Complex-Footnote-199905 +Node: Statements/Lines99990 +Ref: Statements/Lines-Footnote-1104453 +Node: Other Features104718 +Node: When105646 +Node: Invoking Gawk107793 +Node: Command Line109256 +Node: Options110039 +Ref: Options-Footnote-1125417 +Node: Other Arguments125442 +Node: Naming Standard Input128100 +Node: Environment Variables129194 +Node: AWKPATH Variable129752 +Ref: AWKPATH Variable-Footnote-1132533 +Ref: AWKPATH Variable-Footnote-2132578 +Node: AWKLIBPATH Variable132838 +Node: Other Environment Variables133556 +Node: Exit Status136519 +Node: Include Files137194 +Node: Loading Shared Libraries140763 +Node: Obsolete142127 +Node: Undocumented142824 +Node: Regexp143066 +Node: Regexp Usage144455 +Node: Escape Sequences146480 +Node: Regexp Operators152149 +Ref: Regexp Operators-Footnote-1159529 +Ref: Regexp Operators-Footnote-2159676 +Node: Bracket Expressions159774 +Ref: table-char-classes161664 +Node: GNU Regexp Operators164187 +Node: Case-sensitivity167910 +Ref: Case-sensitivity-Footnote-1170878 +Ref: Case-sensitivity-Footnote-2171113 +Node: Leftmost Longest171221 +Node: Computed Regexps172422 +Node: Reading Files175759 +Node: Records177761 +Ref: Records-Footnote-1187284 +Node: Fields187321 +Ref: Fields-Footnote-1190277 +Node: Nonconstant Fields190363 +Node: Changing Fields192569 +Node: Field Separators198528 +Node: Default Field Splitting201230 +Node: Regexp Field Splitting202347 +Node: Single Character Fields205689 +Node: Command Line Field Separator206748 +Node: Full Line Fields210090 +Ref: Full Line Fields-Footnote-1210598 +Node: Field Splitting Summary210644 +Ref: Field Splitting Summary-Footnote-1213743 +Node: Constant Size213844 +Node: Splitting By Content218451 +Ref: Splitting By Content-Footnote-1222200 +Node: Multiple Line222240 +Ref: Multiple Line-Footnote-1228087 +Node: Getline228266 +Node: Plain Getline230482 +Node: Getline/Variable232577 +Node: Getline/File233724 +Node: Getline/Variable/File235065 +Ref: Getline/Variable/File-Footnote-1236664 +Node: Getline/Pipe236751 +Node: Getline/Variable/Pipe239450 +Node: Getline/Coprocess240557 +Node: Getline/Variable/Coprocess241809 +Node: Getline Notes242546 +Node: Getline Summary245333 +Ref: table-getline-variants245741 +Node: Read Timeout246653 +Ref: Read Timeout-Footnote-1250394 +Node: Command line directories250451 +Node: Printing251081 +Node: Print252712 +Node: Print Examples254049 +Node: Output Separators256833 +Node: OFMT258849 +Node: Printf260207 +Node: Basic Printf261113 +Node: Control Letters262652 +Node: Format Modifiers266464 +Node: Printf Examples272473 +Node: Redirection275185 +Node: Special Files282159 +Node: Special FD282692 +Ref: Special FD-Footnote-1286317 +Node: Special Network286391 +Node: Special Caveats287241 +Node: Close Files And Pipes288037 +Ref: Close Files And Pipes-Footnote-1295020 +Ref: Close Files And Pipes-Footnote-2295168 +Node: Expressions295318 +Node: Values296450 +Node: Constants297126 +Node: Scalar Constants297806 +Ref: Scalar Constants-Footnote-1298665 +Node: Nondecimal-numbers298847 +Node: Regexp Constants301847 +Node: Using Constant Regexps302322 +Node: Variables305377 +Node: Using Variables306032 +Node: Assignment Options307756 +Node: Conversion309631 +Ref: table-locale-affects315131 +Ref: Conversion-Footnote-1315755 +Node: All Operators315864 +Node: Arithmetic Ops316494 +Node: Concatenation318999 +Ref: Concatenation-Footnote-1321787 +Node: Assignment Ops321907 +Ref: table-assign-ops326895 +Node: Increment Ops328226 +Node: Truth Values and Conditions331660 +Node: Truth Values332743 +Node: Typing and Comparison333792 +Node: Variable Typing334585 +Ref: Variable Typing-Footnote-1338482 +Node: Comparison Operators338604 +Ref: table-relational-ops339014 +Node: POSIX String Comparison342562 +Ref: POSIX String Comparison-Footnote-1343518 +Node: Boolean Ops343656 +Ref: Boolean Ops-Footnote-1347726 +Node: Conditional Exp347817 +Node: Function Calls349549 +Node: Precedence353143 +Node: Locales356812 +Node: Patterns and Actions357901 +Node: Pattern Overview358955 +Node: Regexp Patterns360624 +Node: Expression Patterns361167 +Node: Ranges364948 +Node: BEGIN/END368052 +Node: Using BEGIN/END368814 +Ref: Using BEGIN/END-Footnote-1371550 +Node: I/O And BEGIN/END371656 +Node: BEGINFILE/ENDFILE373938 +Node: Empty376852 +Node: Using Shell Variables377169 +Node: Action Overview379454 +Node: Statements381811 +Node: If Statement383665 +Node: While Statement385164 +Node: Do Statement387208 +Node: For Statement388364 +Node: Switch Statement391516 +Node: Break Statement393670 +Node: Continue Statement395660 +Node: Next Statement397453 +Node: Nextfile Statement399843 +Node: Exit Statement402498 +Node: Built-in Variables404914 +Node: User-modified406009 +Ref: User-modified-Footnote-1414367 +Node: Auto-set414429 +Ref: Auto-set-Footnote-1427494 +Ref: Auto-set-Footnote-2427699 +Node: ARGC and ARGV427755 +Node: Arrays431609 +Node: Array Basics433114 +Node: Array Intro433940 +Node: Reference to Elements438257 +Node: Assigning Elements440527 +Node: Array Example441018 +Node: Scanning an Array442750 +Node: Controlling Scanning445064 +Ref: Controlling Scanning-Footnote-1450151 +Node: Delete450467 +Ref: Delete-Footnote-1453232 +Node: Numeric Array Subscripts453289 +Node: Uninitialized Subscripts455472 +Node: Multidimensional457099 +Node: Multiscanning460192 +Node: Arrays of Arrays461781 +Node: Functions466421 +Node: Built-in467240 +Node: Calling Built-in468318 +Node: Numeric Functions470306 +Ref: Numeric Functions-Footnote-1474138 +Ref: Numeric Functions-Footnote-2474495 +Ref: Numeric Functions-Footnote-3474543 +Node: String Functions474812 +Ref: String Functions-Footnote-1497770 +Ref: String Functions-Footnote-2497899 +Ref: String Functions-Footnote-3498147 +Node: Gory Details498234 +Ref: table-sub-escapes499913 +Ref: table-sub-posix-92501267 +Ref: table-sub-proposed502618 +Ref: table-posix-sub503972 +Ref: table-gensub-escapes505517 +Ref: Gory Details-Footnote-1506693 +Ref: Gory Details-Footnote-2506744 +Node: I/O Functions506895 +Ref: I/O Functions-Footnote-1513885 +Node: Time Functions514032 +Ref: Time Functions-Footnote-1525015 +Ref: Time Functions-Footnote-2525083 +Ref: Time Functions-Footnote-3525241 +Ref: Time Functions-Footnote-4525352 +Ref: Time Functions-Footnote-5525464 +Ref: Time Functions-Footnote-6525691 +Node: Bitwise Functions525957 +Ref: table-bitwise-ops526519 +Ref: Bitwise Functions-Footnote-1530740 +Node: Type Functions530924 +Node: I18N Functions532075 +Node: User-defined533702 +Node: Definition Syntax534506 +Ref: Definition Syntax-Footnote-1539420 +Node: Function Example539489 +Ref: Function Example-Footnote-1542138 +Node: Function Caveats542160 +Node: Calling A Function542678 +Node: Variable Scope543633 +Node: Pass By Value/Reference546596 +Node: Return Statement550104 +Node: Dynamic Typing553085 +Node: Indirect Calls554016 +Node: Library Functions563703 +Ref: Library Functions-Footnote-1567216 +Ref: Library Functions-Footnote-2567359 +Node: Library Names567530 +Ref: Library Names-Footnote-1571003 +Ref: Library Names-Footnote-2571223 +Node: General Functions571309 +Node: Strtonum Function572337 +Node: Assert Function575267 +Node: Round Function578593 +Node: Cliff Random Function580134 +Node: Ordinal Functions581150 +Ref: Ordinal Functions-Footnote-1584227 +Ref: Ordinal Functions-Footnote-2584479 +Node: Join Function584690 +Ref: Join Function-Footnote-1586461 +Node: Getlocaltime Function586661 +Node: Readfile Function590402 +Node: Data File Management592241 +Node: Filetrans Function592873 +Node: Rewind Function596942 +Node: File Checking598329 +Node: Empty Files599423 +Node: Ignoring Assigns601653 +Node: Getopt Function603207 +Ref: Getopt Function-Footnote-1614510 +Node: Passwd Functions614713 +Ref: Passwd Functions-Footnote-1623691 +Node: Group Functions623779 +Node: Walking Arrays631863 +Node: Sample Programs633999 +Node: Running Examples634673 +Node: Clones635401 +Node: Cut Program636625 +Node: Egrep Program646476 +Ref: Egrep Program-Footnote-1654249 +Node: Id Program654359 +Node: Split Program658008 +Ref: Split Program-Footnote-1661527 +Node: Tee Program661655 +Node: Uniq Program664458 +Node: Wc Program671887 +Ref: Wc Program-Footnote-1676153 +Ref: Wc Program-Footnote-2676353 +Node: Miscellaneous Programs676445 +Node: Dupword Program677633 +Node: Alarm Program679664 +Node: Translate Program684471 +Ref: Translate Program-Footnote-1688858 +Ref: Translate Program-Footnote-2689106 +Node: Labels Program689240 +Ref: Labels Program-Footnote-1692611 +Node: Word Sorting692695 +Node: History Sorting696579 +Node: Extract Program698418 +Ref: Extract Program-Footnote-1705921 +Node: Simple Sed706049 +Node: Igawk Program709111 +Ref: Igawk Program-Footnote-1724268 +Ref: Igawk Program-Footnote-2724469 +Node: Anagram Program724607 +Node: Signature Program727675 +Node: Advanced Features728775 +Node: Nondecimal Data730661 +Node: Array Sorting732244 +Node: Controlling Array Traversal732941 +Node: Array Sorting Functions741225 +Ref: Array Sorting Functions-Footnote-1745094 +Node: Two-way I/O745288 +Ref: Two-way I/O-Footnote-1750720 +Node: TCP/IP Networking750802 +Node: Profiling753646 +Node: Internationalization761149 +Node: I18N and L10N762574 +Node: Explaining gettext763260 +Ref: Explaining gettext-Footnote-1768328 +Ref: Explaining gettext-Footnote-2768512 +Node: Programmer i18n768677 +Node: Translator i18n772879 +Node: String Extraction773673 +Ref: String Extraction-Footnote-1774634 +Node: Printf Ordering774720 +Ref: Printf Ordering-Footnote-1777502 +Node: I18N Portability777566 +Ref: I18N Portability-Footnote-1780015 +Node: I18N Example780078 +Ref: I18N Example-Footnote-1782716 +Node: Gawk I18N782788 +Node: Debugger783409 +Node: Debugging784380 +Node: Debugging Concepts784813 +Node: Debugging Terms786669 +Node: Awk Debugging789266 +Node: Sample Debugging Session790158 +Node: Debugger Invocation790678 +Node: Finding The Bug792011 +Node: List of Debugger Commands798498 +Node: Breakpoint Control799832 +Node: Debugger Execution Control803496 +Node: Viewing And Changing Data806856 +Node: Execution Stack810212 +Node: Debugger Info811679 +Node: Miscellaneous Debugger Commands815661 +Node: Readline Support820837 +Node: Limitations821668 +Node: Arbitrary Precision Arithmetic823920 +Ref: Arbitrary Precision Arithmetic-Footnote-1825569 +Node: General Arithmetic825717 +Node: Floating Point Issues827437 +Node: String Conversion Precision828318 +Ref: String Conversion Precision-Footnote-1830023 +Node: Unexpected Results830132 +Node: POSIX Floating Point Problems832285 +Ref: POSIX Floating Point Problems-Footnote-1836110 +Node: Integer Programming836148 +Node: Floating-point Programming837887 +Ref: Floating-point Programming-Footnote-1844218 +Ref: Floating-point Programming-Footnote-2844488 +Node: Floating-point Representation844752 +Node: Floating-point Context845917 +Ref: table-ieee-formats846756 +Node: Rounding Mode848140 +Ref: table-rounding-modes848619 +Ref: Rounding Mode-Footnote-1851634 +Node: Gawk and MPFR851813 +Node: Arbitrary Precision Floats853224 +Ref: Arbitrary Precision Floats-Footnote-1855667 +Node: Setting Precision855983 +Ref: table-predefined-precision-strings856669 +Node: Setting Rounding Mode858814 +Ref: table-gawk-rounding-modes859218 +Node: Floating-point Constants860405 +Node: Changing Precision861834 +Ref: Changing Precision-Footnote-1863231 +Node: Exact Arithmetic863405 +Node: Arbitrary Precision Integers866543 +Ref: Arbitrary Precision Integers-Footnote-1869558 +Node: Dynamic Extensions869705 +Node: Extension Intro871163 +Node: Plugin License872428 +Node: Extension Mechanism Outline873113 +Ref: load-extension873530 +Ref: load-new-function875008 +Ref: call-new-function876003 +Node: Extension API Description878018 +Node: Extension API Functions Introduction879305 +Node: General Data Types884232 +Ref: General Data Types-Footnote-1889927 +Node: Requesting Values890226 +Ref: table-value-types-returned890963 +Node: Memory Allocation Functions891917 +Ref: Memory Allocation Functions-Footnote-1894663 +Node: Constructor Functions894759 +Node: Registration Functions896517 +Node: Extension Functions897202 +Node: Exit Callback Functions899504 +Node: Extension Version String900753 +Node: Input Parsers901403 +Node: Output Wrappers911160 +Node: Two-way processors915670 +Node: Printing Messages917878 +Ref: Printing Messages-Footnote-1918955 +Node: Updating `ERRNO'919107 +Node: Accessing Parameters919846 +Node: Symbol Table Access921076 +Node: Symbol table by name921590 +Node: Symbol table by cookie923566 +Ref: Symbol table by cookie-Footnote-1927698 +Node: Cached values927761 +Ref: Cached values-Footnote-1931251 +Node: Array Manipulation931342 +Ref: Array Manipulation-Footnote-1932440 +Node: Array Data Types932479 +Ref: Array Data Types-Footnote-1935182 +Node: Array Functions935274 +Node: Flattening Arrays939110 +Node: Creating Arrays945962 +Node: Extension API Variables950687 +Node: Extension Versioning951323 +Node: Extension API Informational Variables953224 +Node: Extension API Boilerplate954310 +Node: Finding Extensions958114 +Node: Extension Example958674 +Node: Internal File Description959404 +Node: Internal File Ops963495 +Ref: Internal File Ops-Footnote-1975004 +Node: Using Internal File Ops975144 +Ref: Using Internal File Ops-Footnote-1977497 +Node: Extension Samples977763 +Node: Extension Sample File Functions979287 +Node: Extension Sample Fnmatch987772 +Node: Extension Sample Fork989541 +Node: Extension Sample Inplace990754 +Node: Extension Sample Ord992532 +Node: Extension Sample Readdir993368 +Node: Extension Sample Revout994900 +Node: Extension Sample Rev2way995493 +Node: Extension Sample Read write array996183 +Node: Extension Sample Readfile998066 +Node: Extension Sample API Tests999166 +Node: Extension Sample Time999691 +Node: gawkextlib1001055 +Node: Language History1003836 +Node: V7/SVR3.11005429 +Node: SVR41007749 +Node: POSIX1009191 +Node: BTL1010577 +Node: POSIX/GNU1011311 +Node: Feature History1016910 +Node: Common Extensions1029886 +Node: Ranges and Locales1031198 +Ref: Ranges and Locales-Footnote-11035815 +Ref: Ranges and Locales-Footnote-21035842 +Ref: Ranges and Locales-Footnote-31036076 +Node: Contributors1036297 +Node: Installation1041678 +Node: Gawk Distribution1042572 +Node: Getting1043056 +Node: Extracting1043882 +Node: Distribution contents1045574 +Node: Unix Installation1051279 +Node: Quick Installation1051896 +Node: Additional Configuration Options1054342 +Node: Configuration Philosophy1056078 +Node: Non-Unix Installation1058432 +Node: PC Installation1058890 +Node: PC Binary Installation1060189 +Node: PC Compiling1062037 +Node: PC Testing1064981 +Node: PC Using1066157 +Node: Cygwin1070325 +Node: MSYS1071134 +Node: VMS Installation1071648 +Node: VMS Compilation1072412 +Ref: VMS Compilation-Footnote-11073664 +Node: VMS Dynamic Extensions1073722 +Node: VMS Installation Details1075095 +Node: VMS Running1077346 +Node: VMS GNV1080180 +Node: VMS Old Gawk1080903 +Node: Bugs1081373 +Node: Other Versions1085291 +Node: Notes1091375 +Node: Compatibility Mode1092175 +Node: Additions1092958 +Node: Accessing The Source1093885 +Node: Adding Code1095325 +Node: New Ports1101370 +Node: Derived Files1105505 +Ref: Derived Files-Footnote-11110826 +Ref: Derived Files-Footnote-21110860 +Ref: Derived Files-Footnote-31111460 +Node: Future Extensions1111558 +Node: Implementation Limitations1112141 +Node: Extension Design1113393 +Node: Old Extension Problems1114547 +Ref: Old Extension Problems-Footnote-11116055 +Node: Extension New Mechanism Goals1116112 +Ref: Extension New Mechanism Goals-Footnote-11119477 +Node: Extension Other Design Decisions1119663 +Node: Extension Future Growth1121769 +Node: Old Extension Mechanism1122605 +Node: Basic Concepts1124345 +Node: Basic High Level1125026 +Ref: figure-general-flow1125298 +Ref: figure-process-flow1125897 +Ref: Basic High Level-Footnote-11129126 +Node: Basic Data Typing1129311 +Node: Glossary1132666 +Node: Copying1157897 +Node: GNU Free Documentation License1195453 +Node: Index1220589  End Tag Table -- cgit v1.2.3