diff options
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 801 | ||||
-rw-r--r-- | doc/gawk.texi | 44 | ||||
-rw-r--r-- | doc/gawktexi.in | 44 |
4 files changed, 449 insertions, 444 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 0118d300..48d05b05 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2015-01-26 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: O'Reilly fixes. + 2015-01-25 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Fix a bad URL. diff --git a/doc/gawk.info b/doc/gawk.info index e32e2511..ef092701 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -10125,11 +10125,11 @@ description of each variable.) use binary I/O. Any other string value is treated the same as `"rw"', but causes `gawk' to generate a warning message. `BINMODE' is described in more detail in *note PC Using::. `mawk' - (*note Other Versions::), also supports this variable, but only + (*note Other Versions::) also supports this variable, but only using numeric values. ``CONVFMT'' - This string controls conversion of numbers to strings (*note + A string that controls the conversion of numbers to strings (*note Conversion::). It works by being passed, in effect, as the first argument to the `sprintf()' function (*note String Functions::). Its default value is `"%.6g"'. `CONVFMT' was introduced by the @@ -10176,7 +10176,7 @@ description of each variable.) `IGNORECASE #' If `IGNORECASE' is nonzero or non-null, then all string comparisons - and all regular expression matching are case independent. Thus, + and all regular expression matching are case-independent. Thus, regexp matching with `~' and `!~', as well as the `gensub()', `gsub()', `index()', `match()', `patsplit()', `split()', and `sub()' functions, record termination with `RS', and field @@ -10196,7 +10196,7 @@ description of each variable.) Assigning a false value to `LINT' turns off the lint warnings. This variable is a `gawk' extension. It is not special in other - `awk' implementations. Unlike the other special variables, + `awk' implementations. Unlike with the other special variables, changing `LINT' does affect the production of lint warnings, even if `gawk' is in compatibility mode. Much as the `--lint' and `--traditional' options independently control different aspects of @@ -10204,17 +10204,18 @@ description of each variable.) execution is independent of the flavor of `awk' being executed. `OFMT' - Controls conversion of numbers to strings (*note Conversion::) for - printing with the `print' statement. It works by being passed as - the first argument to the `sprintf()' function (*note String - Functions::). Its default value is `"%.6g"'. Earlier versions of - `awk' used `OFMT' to specify the format for converting numbers to - strings in general expressions; this is now done by `CONVFMT'. + A string that controls conversion of numbers to strings (*note + Conversion::) for printing with the `print' statement. It works + by being passed as the first argument to the `sprintf()' function + (*note String Functions::). Its default value is `"%.6g"'. + Earlier versions of `awk' used `OFMT' to specify the format for + converting numbers to strings in general expressions; this is now + done by `CONVFMT'. `OFS' - This is the output field separator (*note Output Separators::). - It is output between the fields printed by a `print' statement. - Its default value is `" "', a string consisting of a single space. + The output field separator (*note Output Separators::). It is + output between the fields printed by a `print' statement. Its + default value is `" "', a string consisting of a single space. `ORS' The output record separator. It is output at the end of every @@ -10264,7 +10265,7 @@ description of each variable.) File: gawk.info, Node: Auto-set, Next: ARGC and ARGV, Prev: User-modified, Up: Built-in Variables -7.5.2 Built-In Variables That Convey Information +7.5.2 Built-in Variables That Convey Information ------------------------------------------------ The following is an alphabetical list of variables that `awk' sets @@ -10368,14 +10369,14 @@ Options::), they are not special: `NF' The number of fields in the current input record. `NF' is set - each time a new record is read, when a new field is created or + each time a new record is read, when a new field is created, or when `$0' changes (*note Fields::). Unlike most of the variables described in this node, assigning a value to `NF' has the potential to affect `awk''s internal workings. In particular, assignments to `NF' can be used to - create or remove fields from the current record. *Note Changing - Fields::. + create fields in or remove fields from the current record. *Note + Changing Fields::. `FUNCTAB #' An array whose indices and corresponding values are the names of @@ -10410,7 +10411,7 @@ Options::), they are not special: `PROCINFO["identifiers"]' A subarray, indexed by the names of all identifiers used in - the text of the AWK program. An "identifier" is simply the + the text of the `awk' program. An "identifier" is simply the name of a variable (be it scalar or array), built-in function, user-defined function, or extension function. For each identifier, the value of the element is one of the @@ -10431,7 +10432,7 @@ Options::), they are not special: `"untyped"' The identifier is untyped (could be used as a scalar or - array, `gawk' doesn't know yet). + an array; `gawk' doesn't know yet). `"user"' The identifier is a user-defined function. @@ -10520,7 +10521,7 @@ Options::), they are not special: string, or -1 if no match is found. `RSTART' - The start-index in characters of the substring that is matched by + The start index in characters of the substring that is matched by the `match()' function (*note String Functions::). `RSTART' is set by invoking the `match()' function. Its value is the position of the string where the matched substring starts, or zero if no @@ -10570,7 +10571,7 @@ Options::), they are not special: } NOTE: In order to avoid severe time-travel paradoxes,(2) - neither `FUNCTAB' nor `SYMTAB' are available as elements + neither `FUNCTAB' nor `SYMTAB' is available as an element within the `SYMTAB' array. Changing `NR' and `FNR' @@ -10709,7 +10710,7 @@ are passed on to the `awk' program. (*Note Getopt Function::, for an When designing your program, you should choose options that don't conflict with `gawk''s, because it will process any options that it accepts before passing the rest of the command line on to your program. -Using `#!' with the `-E' option may help (*Note Executable Scripts::, +Using `#!' with the `-E' option may help (*note Executable Scripts::, and *note Options::,). @@ -10720,14 +10721,14 @@ File: gawk.info, Node: Pattern Action Summary, Prev: Built-in Variables, Up: * Pattern-action pairs make up the basic elements of an `awk' program. Patterns are either normal expressions, range - expressions, regexp constants, one of the special keywords - `BEGIN', `END', `BEGINFILE', `ENDFILE', or empty. The action + expressions, or regexp constants; one of the special keywords + `BEGIN', `END', `BEGINFILE', or `ENDFILE'; or empty. The action executes if the current record matches the pattern. Empty (missing) patterns match all records. - * I/O from `BEGIN' and `END' rules have certain constraints. This - is also true, only more so, for `BEGINFILE' and `ENDFILE' rules. - The latter two give you "hooks" into `gawk''s file processing, + * I/O from `BEGIN' and `END' rules has certain constraints. This is + also true, only more so, for `BEGINFILE' and `ENDFILE' rules. The + latter two give you "hooks" into `gawk''s file processing, allowing you to recover from a file that otherwise would cause a fatal error (such as a file that cannot be opened). @@ -10748,11 +10749,11 @@ File: gawk.info, Node: Pattern Action Summary, Prev: Built-in Variables, Up: iteration of a loop (or get out of a `switch'). * `next' and `nextfile' let you read the next record and start over - at the top of your program, or skip to the next input file and + at the top of your program or skip to the next input file and start over, respectively. * The `exit' statement terminates your program. When executed from - an action (or function body) it transfers control to the `END' + an action (or function body), it transfers control to the `END' statements. From an `END' statement body, it exits immediately. You may pass an optional numeric value to be used as `awk''s exit status. @@ -32489,7 +32490,7 @@ Index (line 77) * differences in awk and gawk, SYMTAB variable: Auto-set. (line 269) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. - (line 151) + (line 152) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. (line 66) * directories, command-line: Command-line directories. @@ -32977,7 +32978,7 @@ Index * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) * gawk, SYMTAB array in: Auto-set. (line 269) -* gawk, TEXTDOMAIN variable in: User-modified. (line 151) +* gawk, TEXTDOMAIN variable in: User-modified. (line 152) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 34) * gawk, versions of, information about, printing: Options. (line 302) @@ -33175,7 +33176,7 @@ Index * internationalization: I18N Functions. (line 6) * internationalization, localization <1>: Internationalization. (line 13) -* internationalization, localization: User-modified. (line 151) +* internationalization, localization: User-modified. (line 152) * internationalization, localization, character classes: Bracket Expressions. (line 101) * internationalization, localization, gawk and: Internationalization. @@ -33471,7 +33472,7 @@ Index * OFMT variable <2>: Strings And Numbers. (line 57) * OFMT variable: OFMT. (line 15) * OFMT variable, POSIX awk and: OFMT. (line 27) -* OFS variable <1>: User-modified. (line 113) +* OFS variable <1>: User-modified. (line 114) * OFS variable <2>: Output Separators. (line 6) * OFS variable: Changing Fields. (line 64) * OpenBSD: Glossary. (line 753) @@ -33524,7 +33525,7 @@ Index (line 12) * ord() user-defined function: Ordinal Functions. (line 16) * order of evaluation, concatenation: Concatenation. (line 41) -* ORS variable <1>: User-modified. (line 118) +* ORS variable <1>: User-modified. (line 119) * ORS variable: Output Separators. (line 21) * output field separator, See OFS variable: Changing Fields. (line 64) * output record separator, See ORS variable: Output Separators. @@ -33664,7 +33665,7 @@ Index * POSIX, gawk extensions not included in: POSIX/GNU. (line 6) * POSIX, programs, implementing in awk: Clones. (line 6) * POSIXLY_CORRECT environment variable: Options. (line 341) -* PREC variable: User-modified. (line 123) +* PREC variable: User-modified. (line 124) * precedence <1>: Precedence. (line 6) * precedence: Increment Ops. (line 60) * precedence, regexp operators: Regexp Operators. (line 156) @@ -33679,7 +33680,7 @@ Index * print statement, commas, omitting: Print Examples. (line 31) * print statement, I/O operators in: Precedence. (line 71) * print statement, line continuations and: Print Examples. (line 76) -* print statement, OFMT variable and: User-modified. (line 113) +* print statement, OFMT variable and: User-modified. (line 114) * print statement, See Also redirection, of output: Redirection. (line 17) * print statement, sprintf() function and: Round Function. (line 6) @@ -33794,7 +33795,7 @@ Index * 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 132) +* record separators <1>: User-modified. (line 133) * record separators: awk split records. (line 6) * record separators, changing: awk split records. (line 85) * record separators, regular expressions as: awk split records. @@ -33906,8 +33907,8 @@ Index * round to nearest integer: Numeric Functions. (line 23) * round() user-defined function: Round Function. (line 16) * rounding numbers: Round Function. (line 6) -* ROUNDMODE variable: User-modified. (line 127) -* RS variable <1>: User-modified. (line 132) +* ROUNDMODE variable: User-modified. (line 128) +* RS variable <1>: User-modified. (line 133) * RS variable: awk split records. (line 12) * RS variable, multiline records and: Multiple Line. (line 17) * rshift: Bitwise Functions. (line 53) @@ -33964,12 +33965,12 @@ Index * separators, field, FIELDWIDTHS variable and: User-modified. (line 37) * separators, field, FPAT variable and: User-modified. (line 43) * separators, field, POSIX and: Fields. (line 6) -* separators, for records <1>: User-modified. (line 132) +* separators, for records <1>: User-modified. (line 133) * separators, for records: awk split records. (line 6) * separators, for records, regular expressions as: awk split records. (line 125) * separators, for statements in actions: Action Overview. (line 19) -* separators, subscript: User-modified. (line 145) +* separators, subscript: User-modified. (line 146) * set breakpoint: Breakpoint Control. (line 11) * set debugger command: Viewing And Changing Data. (line 59) @@ -34101,7 +34102,7 @@ Index * split.awk program: Split Program. (line 30) * sprintf <1>: String Functions. (line 383) * sprintf: OFMT. (line 15) -* sprintf() function, OFMT variable and: User-modified. (line 113) +* sprintf() function, OFMT variable and: User-modified. (line 114) * sprintf() function, print/printf statements and: Round Function. (line 6) * sqrt: Numeric Functions. (line 77) @@ -34163,7 +34164,7 @@ Index (line 43) * sub() function, arguments of: String Functions. (line 462) * sub() function, escape processing: Gory Details. (line 6) -* subscript separators: User-modified. (line 145) +* subscript separators: User-modified. (line 146) * subscripts in arrays, multidimensional: Multidimensional. (line 10) * subscripts in arrays, multidimensional, scanning: Multiscanning. (line 11) @@ -34171,7 +34172,7 @@ Index (line 6) * subscripts in arrays, uninitialized variables as: Uninitialized Subscripts. (line 6) -* SUBSEP variable: User-modified. (line 145) +* SUBSEP variable: User-modified. (line 146) * SUBSEP variable, and multidimensional arrays: Multidimensional. (line 16) * substitute in string: String Functions. (line 90) @@ -34210,7 +34211,7 @@ Index * text, printing: Print. (line 22) * text, printing, unduplicated lines of: Uniq Program. (line 6) * TEXTDOMAIN variable <1>: Programmer i18n. (line 9) -* TEXTDOMAIN variable: User-modified. (line 151) +* TEXTDOMAIN variable: User-modified. (line 152) * TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 60) * TEXTDOMAIN variable, portability and: I18N Portability. (line 20) * textdomain() function (C library): Explaining gettext. (line 28) @@ -34649,360 +34650,360 @@ Node: Nextfile Statement426645 Node: Exit Statement429273 Node: Built-in Variables431684 Node: User-modified432817 -Ref: User-modified-Footnote-1440498 -Node: Auto-set440560 -Ref: Auto-set-Footnote-1453595 -Ref: Auto-set-Footnote-2453800 -Node: ARGC and ARGV453856 -Node: Pattern Action Summary458074 -Node: Arrays460501 -Node: Array Basics461830 -Node: Array Intro462674 -Ref: figure-array-elements464638 -Ref: Array Intro-Footnote-1467164 -Node: Reference to Elements467292 -Node: Assigning Elements469744 -Node: Array Example470235 -Node: Scanning an Array471993 -Node: Controlling Scanning475009 -Ref: Controlling Scanning-Footnote-1480205 -Node: Numeric Array Subscripts480521 -Node: Uninitialized Subscripts482706 -Node: Delete484323 -Ref: Delete-Footnote-1487066 -Node: Multidimensional487123 -Node: Multiscanning490220 -Node: Arrays of Arrays491809 -Node: Arrays Summary496568 -Node: Functions498660 -Node: Built-in499559 -Node: Calling Built-in500637 -Node: Numeric Functions502628 -Ref: Numeric Functions-Footnote-1506645 -Ref: Numeric Functions-Footnote-2507002 -Ref: Numeric Functions-Footnote-3507050 -Node: String Functions507322 -Ref: String Functions-Footnote-1530797 -Ref: String Functions-Footnote-2530926 -Ref: String Functions-Footnote-3531174 -Node: Gory Details531261 -Ref: table-sub-escapes533042 -Ref: table-sub-proposed534562 -Ref: table-posix-sub535926 -Ref: table-gensub-escapes537462 -Ref: Gory Details-Footnote-1538294 -Node: I/O Functions538445 -Ref: I/O Functions-Footnote-1545663 -Node: Time Functions545810 -Ref: Time Functions-Footnote-1556298 -Ref: Time Functions-Footnote-2556366 -Ref: Time Functions-Footnote-3556524 -Ref: Time Functions-Footnote-4556635 -Ref: Time Functions-Footnote-5556747 -Ref: Time Functions-Footnote-6556974 -Node: Bitwise Functions557240 -Ref: table-bitwise-ops557802 -Ref: Bitwise Functions-Footnote-1562111 -Node: Type Functions562280 -Node: I18N Functions563431 -Node: User-defined565076 -Node: Definition Syntax565881 -Ref: Definition Syntax-Footnote-1571288 -Node: Function Example571359 -Ref: Function Example-Footnote-1574278 -Node: Function Caveats574300 -Node: Calling A Function574818 -Node: Variable Scope575776 -Node: Pass By Value/Reference578764 -Node: Return Statement582259 -Node: Dynamic Typing585240 -Node: Indirect Calls586169 -Ref: Indirect Calls-Footnote-1597471 -Node: Functions Summary597599 -Node: Library Functions600301 -Ref: Library Functions-Footnote-1603910 -Ref: Library Functions-Footnote-2604053 -Node: Library Names604224 -Ref: Library Names-Footnote-1607678 -Ref: Library Names-Footnote-2607901 -Node: General Functions607987 -Node: Strtonum Function609090 -Node: Assert Function612112 -Node: Round Function615436 -Node: Cliff Random Function616977 -Node: Ordinal Functions617993 -Ref: Ordinal Functions-Footnote-1621056 -Ref: Ordinal Functions-Footnote-2621308 -Node: Join Function621519 -Ref: Join Function-Footnote-1623288 -Node: Getlocaltime Function623488 -Node: Readfile Function627232 -Node: Shell Quoting629202 -Node: Data File Management630603 -Node: Filetrans Function631235 -Node: Rewind Function635291 -Node: File Checking636678 -Ref: File Checking-Footnote-1638010 -Node: Empty Files638211 -Node: Ignoring Assigns640190 -Node: Getopt Function641741 -Ref: Getopt Function-Footnote-1653203 -Node: Passwd Functions653403 -Ref: Passwd Functions-Footnote-1662240 -Node: Group Functions662328 -Ref: Group Functions-Footnote-1670222 -Node: Walking Arrays670435 -Node: Library Functions Summary672038 -Node: Library Exercises673439 -Node: Sample Programs674719 -Node: Running Examples675489 -Node: Clones676217 -Node: Cut Program677441 -Node: Egrep Program687160 -Ref: Egrep Program-Footnote-1694658 -Node: Id Program694768 -Node: Split Program698413 -Ref: Split Program-Footnote-1701861 -Node: Tee Program701989 -Node: Uniq Program704778 -Node: Wc Program712197 -Ref: Wc Program-Footnote-1716447 -Node: Miscellaneous Programs716541 -Node: Dupword Program717754 -Node: Alarm Program719785 -Node: Translate Program724589 -Ref: Translate Program-Footnote-1729154 -Node: Labels Program729424 -Ref: Labels Program-Footnote-1732775 -Node: Word Sorting732859 -Node: History Sorting736930 -Node: Extract Program738766 -Node: Simple Sed746291 -Node: Igawk Program749359 -Ref: Igawk Program-Footnote-1763683 -Ref: Igawk Program-Footnote-2763884 -Ref: Igawk Program-Footnote-3764006 -Node: Anagram Program764121 -Node: Signature Program767178 -Node: Programs Summary768425 -Node: Programs Exercises769618 -Ref: Programs Exercises-Footnote-1773749 -Node: Advanced Features773840 -Node: Nondecimal Data775788 -Node: Array Sorting777378 -Node: Controlling Array Traversal778075 -Ref: Controlling Array Traversal-Footnote-1786408 -Node: Array Sorting Functions786526 -Ref: Array Sorting Functions-Footnote-1790415 -Node: Two-way I/O790611 -Ref: Two-way I/O-Footnote-1795556 -Ref: Two-way I/O-Footnote-2795742 -Node: TCP/IP Networking795824 -Node: Profiling798697 -Node: Advanced Features Summary806244 -Node: Internationalization808177 -Node: I18N and L10N809657 -Node: Explaining gettext810343 -Ref: Explaining gettext-Footnote-1815368 -Ref: Explaining gettext-Footnote-2815552 -Node: Programmer i18n815717 -Ref: Programmer i18n-Footnote-1820583 -Node: Translator i18n820632 -Node: String Extraction821426 -Ref: String Extraction-Footnote-1822557 -Node: Printf Ordering822643 -Ref: Printf Ordering-Footnote-1825429 -Node: I18N Portability825493 -Ref: I18N Portability-Footnote-1827948 -Node: I18N Example828011 -Ref: I18N Example-Footnote-1830814 -Node: Gawk I18N830886 -Node: I18N Summary831524 -Node: Debugger832863 -Node: Debugging833885 -Node: Debugging Concepts834326 -Node: Debugging Terms836179 -Node: Awk Debugging838751 -Node: Sample Debugging Session839645 -Node: Debugger Invocation840165 -Node: Finding The Bug841549 -Node: List of Debugger Commands848024 -Node: Breakpoint Control849357 -Node: Debugger Execution Control853053 -Node: Viewing And Changing Data856417 -Node: Execution Stack859795 -Node: Debugger Info861432 -Node: Miscellaneous Debugger Commands865449 -Node: Readline Support870478 -Node: Limitations871370 -Node: Debugging Summary873484 -Node: Arbitrary Precision Arithmetic874652 -Node: Computer Arithmetic876068 -Ref: table-numeric-ranges879666 -Ref: Computer Arithmetic-Footnote-1880525 -Node: Math Definitions880582 -Ref: table-ieee-formats883870 -Ref: Math Definitions-Footnote-1884474 -Node: MPFR features884579 -Node: FP Math Caution886250 -Ref: FP Math Caution-Footnote-1887300 -Node: Inexactness of computations887669 -Node: Inexact representation888628 -Node: Comparing FP Values889985 -Node: Errors accumulate891067 -Node: Getting Accuracy892500 -Node: Try To Round895162 -Node: Setting precision896061 -Ref: table-predefined-precision-strings896745 -Node: Setting the rounding mode898534 -Ref: table-gawk-rounding-modes898898 -Ref: Setting the rounding mode-Footnote-1902353 -Node: Arbitrary Precision Integers902532 -Ref: Arbitrary Precision Integers-Footnote-1905518 -Node: POSIX Floating Point Problems905667 -Ref: POSIX Floating Point Problems-Footnote-1909540 -Node: Floating point summary909578 -Node: Dynamic Extensions911772 -Node: Extension Intro913324 -Node: Plugin License914590 -Node: Extension Mechanism Outline915387 -Ref: figure-load-extension915815 -Ref: figure-register-new-function917295 -Ref: figure-call-new-function918299 -Node: Extension API Description920285 -Node: Extension API Functions Introduction921735 -Node: General Data Types926559 -Ref: General Data Types-Footnote-1932298 -Node: Memory Allocation Functions932597 -Ref: Memory Allocation Functions-Footnote-1935436 -Node: Constructor Functions935532 -Node: Registration Functions937266 -Node: Extension Functions937951 -Node: Exit Callback Functions940248 -Node: Extension Version String941496 -Node: Input Parsers942161 -Node: Output Wrappers952040 -Node: Two-way processors956555 -Node: Printing Messages958759 -Ref: Printing Messages-Footnote-1959835 -Node: Updating `ERRNO'959987 -Node: Requesting Values960727 -Ref: table-value-types-returned961455 -Node: Accessing Parameters962412 -Node: Symbol Table Access963643 -Node: Symbol table by name964157 -Node: Symbol table by cookie966138 -Ref: Symbol table by cookie-Footnote-1970282 -Node: Cached values970345 -Ref: Cached values-Footnote-1973844 -Node: Array Manipulation973935 -Ref: Array Manipulation-Footnote-1975033 -Node: Array Data Types975070 -Ref: Array Data Types-Footnote-1977725 -Node: Array Functions977817 -Node: Flattening Arrays981671 -Node: Creating Arrays988563 -Node: Extension API Variables993334 -Node: Extension Versioning993970 -Node: Extension API Informational Variables995871 -Node: Extension API Boilerplate996936 -Node: Finding Extensions1000745 -Node: Extension Example1001305 -Node: Internal File Description1002077 -Node: Internal File Ops1006144 -Ref: Internal File Ops-Footnote-11017814 -Node: Using Internal File Ops1017954 -Ref: Using Internal File Ops-Footnote-11020337 -Node: Extension Samples1020610 -Node: Extension Sample File Functions1022136 -Node: Extension Sample Fnmatch1029774 -Node: Extension Sample Fork1031265 -Node: Extension Sample Inplace1032480 -Node: Extension Sample Ord1034155 -Node: Extension Sample Readdir1034991 -Ref: table-readdir-file-types1035867 -Node: Extension Sample Revout1036678 -Node: Extension Sample Rev2way1037268 -Node: Extension Sample Read write array1038008 -Node: Extension Sample Readfile1039948 -Node: Extension Sample Time1041043 -Node: Extension Sample API Tests1042392 -Node: gawkextlib1042883 -Node: Extension summary1045541 -Node: Extension Exercises1049230 -Node: Language History1049952 -Node: V7/SVR3.11051608 -Node: SVR41053789 -Node: POSIX1055234 -Node: BTL1056623 -Node: POSIX/GNU1057357 -Node: Feature History1062921 -Node: Common Extensions1076019 -Node: Ranges and Locales1077343 -Ref: Ranges and Locales-Footnote-11081961 -Ref: Ranges and Locales-Footnote-21081988 -Ref: Ranges and Locales-Footnote-31082222 -Node: Contributors1082443 -Node: History summary1087984 -Node: Installation1089354 -Node: Gawk Distribution1090300 -Node: Getting1090784 -Node: Extracting1091607 -Node: Distribution contents1093242 -Node: Unix Installation1098959 -Node: Quick Installation1099576 -Node: Additional Configuration Options1102000 -Node: Configuration Philosophy1103738 -Node: Non-Unix Installation1106107 -Node: PC Installation1106565 -Node: PC Binary Installation1107884 -Node: PC Compiling1109732 -Ref: PC Compiling-Footnote-11112753 -Node: PC Testing1112862 -Node: PC Using1114038 -Node: Cygwin1118153 -Node: MSYS1118976 -Node: VMS Installation1119476 -Node: VMS Compilation1120268 -Ref: VMS Compilation-Footnote-11121490 -Node: VMS Dynamic Extensions1121548 -Node: VMS Installation Details1123232 -Node: VMS Running1125484 -Node: VMS GNV1128320 -Node: VMS Old Gawk1129054 -Node: Bugs1129524 -Node: Other Versions1133407 -Node: Installation summary1139831 -Node: Notes1140887 -Node: Compatibility Mode1141752 -Node: Additions1142534 -Node: Accessing The Source1143459 -Node: Adding Code1144894 -Node: New Ports1151051 -Node: Derived Files1155533 -Ref: Derived Files-Footnote-11161008 -Ref: Derived Files-Footnote-21161042 -Ref: Derived Files-Footnote-31161638 -Node: Future Extensions1161752 -Node: Implementation Limitations1162358 -Node: Extension Design1163606 -Node: Old Extension Problems1164760 -Ref: Old Extension Problems-Footnote-11166277 -Node: Extension New Mechanism Goals1166334 -Ref: Extension New Mechanism Goals-Footnote-11169694 -Node: Extension Other Design Decisions1169883 -Node: Extension Future Growth1171991 -Node: Old Extension Mechanism1172827 -Node: Notes summary1174589 -Node: Basic Concepts1175775 -Node: Basic High Level1176456 -Ref: figure-general-flow1176728 -Ref: figure-process-flow1177327 -Ref: Basic High Level-Footnote-11180556 -Node: Basic Data Typing1180741 -Node: Glossary1184069 -Node: Copying1215998 -Node: GNU Free Documentation License1253554 -Node: Index1278690 +Ref: User-modified-Footnote-1440520 +Node: Auto-set440582 +Ref: Auto-set-Footnote-1453634 +Ref: Auto-set-Footnote-2453839 +Node: ARGC and ARGV453895 +Node: Pattern Action Summary458113 +Node: Arrays460546 +Node: Array Basics461875 +Node: Array Intro462719 +Ref: figure-array-elements464683 +Ref: Array Intro-Footnote-1467209 +Node: Reference to Elements467337 +Node: Assigning Elements469789 +Node: Array Example470280 +Node: Scanning an Array472038 +Node: Controlling Scanning475054 +Ref: Controlling Scanning-Footnote-1480250 +Node: Numeric Array Subscripts480566 +Node: Uninitialized Subscripts482751 +Node: Delete484368 +Ref: Delete-Footnote-1487111 +Node: Multidimensional487168 +Node: Multiscanning490265 +Node: Arrays of Arrays491854 +Node: Arrays Summary496613 +Node: Functions498705 +Node: Built-in499604 +Node: Calling Built-in500682 +Node: Numeric Functions502673 +Ref: Numeric Functions-Footnote-1506690 +Ref: Numeric Functions-Footnote-2507047 +Ref: Numeric Functions-Footnote-3507095 +Node: String Functions507367 +Ref: String Functions-Footnote-1530842 +Ref: String Functions-Footnote-2530971 +Ref: String Functions-Footnote-3531219 +Node: Gory Details531306 +Ref: table-sub-escapes533087 +Ref: table-sub-proposed534607 +Ref: table-posix-sub535971 +Ref: table-gensub-escapes537507 +Ref: Gory Details-Footnote-1538339 +Node: I/O Functions538490 +Ref: I/O Functions-Footnote-1545708 +Node: Time Functions545855 +Ref: Time Functions-Footnote-1556343 +Ref: Time Functions-Footnote-2556411 +Ref: Time Functions-Footnote-3556569 +Ref: Time Functions-Footnote-4556680 +Ref: Time Functions-Footnote-5556792 +Ref: Time Functions-Footnote-6557019 +Node: Bitwise Functions557285 +Ref: table-bitwise-ops557847 +Ref: Bitwise Functions-Footnote-1562156 +Node: Type Functions562325 +Node: I18N Functions563476 +Node: User-defined565121 +Node: Definition Syntax565926 +Ref: Definition Syntax-Footnote-1571333 +Node: Function Example571404 +Ref: Function Example-Footnote-1574323 +Node: Function Caveats574345 +Node: Calling A Function574863 +Node: Variable Scope575821 +Node: Pass By Value/Reference578809 +Node: Return Statement582304 +Node: Dynamic Typing585285 +Node: Indirect Calls586214 +Ref: Indirect Calls-Footnote-1597516 +Node: Functions Summary597644 +Node: Library Functions600346 +Ref: Library Functions-Footnote-1603955 +Ref: Library Functions-Footnote-2604098 +Node: Library Names604269 +Ref: Library Names-Footnote-1607723 +Ref: Library Names-Footnote-2607946 +Node: General Functions608032 +Node: Strtonum Function609135 +Node: Assert Function612157 +Node: Round Function615481 +Node: Cliff Random Function617022 +Node: Ordinal Functions618038 +Ref: Ordinal Functions-Footnote-1621101 +Ref: Ordinal Functions-Footnote-2621353 +Node: Join Function621564 +Ref: Join Function-Footnote-1623333 +Node: Getlocaltime Function623533 +Node: Readfile Function627277 +Node: Shell Quoting629247 +Node: Data File Management630648 +Node: Filetrans Function631280 +Node: Rewind Function635336 +Node: File Checking636723 +Ref: File Checking-Footnote-1638055 +Node: Empty Files638256 +Node: Ignoring Assigns640235 +Node: Getopt Function641786 +Ref: Getopt Function-Footnote-1653248 +Node: Passwd Functions653448 +Ref: Passwd Functions-Footnote-1662285 +Node: Group Functions662373 +Ref: Group Functions-Footnote-1670267 +Node: Walking Arrays670480 +Node: Library Functions Summary672083 +Node: Library Exercises673484 +Node: Sample Programs674764 +Node: Running Examples675534 +Node: Clones676262 +Node: Cut Program677486 +Node: Egrep Program687205 +Ref: Egrep Program-Footnote-1694703 +Node: Id Program694813 +Node: Split Program698458 +Ref: Split Program-Footnote-1701906 +Node: Tee Program702034 +Node: Uniq Program704823 +Node: Wc Program712242 +Ref: Wc Program-Footnote-1716492 +Node: Miscellaneous Programs716586 +Node: Dupword Program717799 +Node: Alarm Program719830 +Node: Translate Program724634 +Ref: Translate Program-Footnote-1729199 +Node: Labels Program729469 +Ref: Labels Program-Footnote-1732820 +Node: Word Sorting732904 +Node: History Sorting736975 +Node: Extract Program738811 +Node: Simple Sed746336 +Node: Igawk Program749404 +Ref: Igawk Program-Footnote-1763728 +Ref: Igawk Program-Footnote-2763929 +Ref: Igawk Program-Footnote-3764051 +Node: Anagram Program764166 +Node: Signature Program767223 +Node: Programs Summary768470 +Node: Programs Exercises769663 +Ref: Programs Exercises-Footnote-1773794 +Node: Advanced Features773885 +Node: Nondecimal Data775833 +Node: Array Sorting777423 +Node: Controlling Array Traversal778120 +Ref: Controlling Array Traversal-Footnote-1786453 +Node: Array Sorting Functions786571 +Ref: Array Sorting Functions-Footnote-1790460 +Node: Two-way I/O790656 +Ref: Two-way I/O-Footnote-1795601 +Ref: Two-way I/O-Footnote-2795787 +Node: TCP/IP Networking795869 +Node: Profiling798742 +Node: Advanced Features Summary806289 +Node: Internationalization808222 +Node: I18N and L10N809702 +Node: Explaining gettext810388 +Ref: Explaining gettext-Footnote-1815413 +Ref: Explaining gettext-Footnote-2815597 +Node: Programmer i18n815762 +Ref: Programmer i18n-Footnote-1820628 +Node: Translator i18n820677 +Node: String Extraction821471 +Ref: String Extraction-Footnote-1822602 +Node: Printf Ordering822688 +Ref: Printf Ordering-Footnote-1825474 +Node: I18N Portability825538 +Ref: I18N Portability-Footnote-1827993 +Node: I18N Example828056 +Ref: I18N Example-Footnote-1830859 +Node: Gawk I18N830931 +Node: I18N Summary831569 +Node: Debugger832908 +Node: Debugging833930 +Node: Debugging Concepts834371 +Node: Debugging Terms836224 +Node: Awk Debugging838796 +Node: Sample Debugging Session839690 +Node: Debugger Invocation840210 +Node: Finding The Bug841594 +Node: List of Debugger Commands848069 +Node: Breakpoint Control849402 +Node: Debugger Execution Control853098 +Node: Viewing And Changing Data856462 +Node: Execution Stack859840 +Node: Debugger Info861477 +Node: Miscellaneous Debugger Commands865494 +Node: Readline Support870523 +Node: Limitations871415 +Node: Debugging Summary873529 +Node: Arbitrary Precision Arithmetic874697 +Node: Computer Arithmetic876113 +Ref: table-numeric-ranges879711 +Ref: Computer Arithmetic-Footnote-1880570 +Node: Math Definitions880627 +Ref: table-ieee-formats883915 +Ref: Math Definitions-Footnote-1884519 +Node: MPFR features884624 +Node: FP Math Caution886295 +Ref: FP Math Caution-Footnote-1887345 +Node: Inexactness of computations887714 +Node: Inexact representation888673 +Node: Comparing FP Values890030 +Node: Errors accumulate891112 +Node: Getting Accuracy892545 +Node: Try To Round895207 +Node: Setting precision896106 +Ref: table-predefined-precision-strings896790 +Node: Setting the rounding mode898579 +Ref: table-gawk-rounding-modes898943 +Ref: Setting the rounding mode-Footnote-1902398 +Node: Arbitrary Precision Integers902577 +Ref: Arbitrary Precision Integers-Footnote-1905563 +Node: POSIX Floating Point Problems905712 +Ref: POSIX Floating Point Problems-Footnote-1909585 +Node: Floating point summary909623 +Node: Dynamic Extensions911817 +Node: Extension Intro913369 +Node: Plugin License914635 +Node: Extension Mechanism Outline915432 +Ref: figure-load-extension915860 +Ref: figure-register-new-function917340 +Ref: figure-call-new-function918344 +Node: Extension API Description920330 +Node: Extension API Functions Introduction921780 +Node: General Data Types926604 +Ref: General Data Types-Footnote-1932343 +Node: Memory Allocation Functions932642 +Ref: Memory Allocation Functions-Footnote-1935481 +Node: Constructor Functions935577 +Node: Registration Functions937311 +Node: Extension Functions937996 +Node: Exit Callback Functions940293 +Node: Extension Version String941541 +Node: Input Parsers942206 +Node: Output Wrappers952085 +Node: Two-way processors956600 +Node: Printing Messages958804 +Ref: Printing Messages-Footnote-1959880 +Node: Updating `ERRNO'960032 +Node: Requesting Values960772 +Ref: table-value-types-returned961500 +Node: Accessing Parameters962457 +Node: Symbol Table Access963688 +Node: Symbol table by name964202 +Node: Symbol table by cookie966183 +Ref: Symbol table by cookie-Footnote-1970327 +Node: Cached values970390 +Ref: Cached values-Footnote-1973889 +Node: Array Manipulation973980 +Ref: Array Manipulation-Footnote-1975078 +Node: Array Data Types975115 +Ref: Array Data Types-Footnote-1977770 +Node: Array Functions977862 +Node: Flattening Arrays981716 +Node: Creating Arrays988608 +Node: Extension API Variables993379 +Node: Extension Versioning994015 +Node: Extension API Informational Variables995916 +Node: Extension API Boilerplate996981 +Node: Finding Extensions1000790 +Node: Extension Example1001350 +Node: Internal File Description1002122 +Node: Internal File Ops1006189 +Ref: Internal File Ops-Footnote-11017859 +Node: Using Internal File Ops1017999 +Ref: Using Internal File Ops-Footnote-11020382 +Node: Extension Samples1020655 +Node: Extension Sample File Functions1022181 +Node: Extension Sample Fnmatch1029819 +Node: Extension Sample Fork1031310 +Node: Extension Sample Inplace1032525 +Node: Extension Sample Ord1034200 +Node: Extension Sample Readdir1035036 +Ref: table-readdir-file-types1035912 +Node: Extension Sample Revout1036723 +Node: Extension Sample Rev2way1037313 +Node: Extension Sample Read write array1038053 +Node: Extension Sample Readfile1039993 +Node: Extension Sample Time1041088 +Node: Extension Sample API Tests1042437 +Node: gawkextlib1042928 +Node: Extension summary1045586 +Node: Extension Exercises1049275 +Node: Language History1049997 +Node: V7/SVR3.11051653 +Node: SVR41053834 +Node: POSIX1055279 +Node: BTL1056668 +Node: POSIX/GNU1057402 +Node: Feature History1062966 +Node: Common Extensions1076064 +Node: Ranges and Locales1077388 +Ref: Ranges and Locales-Footnote-11082006 +Ref: Ranges and Locales-Footnote-21082033 +Ref: Ranges and Locales-Footnote-31082267 +Node: Contributors1082488 +Node: History summary1088029 +Node: Installation1089399 +Node: Gawk Distribution1090345 +Node: Getting1090829 +Node: Extracting1091652 +Node: Distribution contents1093287 +Node: Unix Installation1099004 +Node: Quick Installation1099621 +Node: Additional Configuration Options1102045 +Node: Configuration Philosophy1103783 +Node: Non-Unix Installation1106152 +Node: PC Installation1106610 +Node: PC Binary Installation1107929 +Node: PC Compiling1109777 +Ref: PC Compiling-Footnote-11112798 +Node: PC Testing1112907 +Node: PC Using1114083 +Node: Cygwin1118198 +Node: MSYS1119021 +Node: VMS Installation1119521 +Node: VMS Compilation1120313 +Ref: VMS Compilation-Footnote-11121535 +Node: VMS Dynamic Extensions1121593 +Node: VMS Installation Details1123277 +Node: VMS Running1125529 +Node: VMS GNV1128365 +Node: VMS Old Gawk1129099 +Node: Bugs1129569 +Node: Other Versions1133452 +Node: Installation summary1139876 +Node: Notes1140932 +Node: Compatibility Mode1141797 +Node: Additions1142579 +Node: Accessing The Source1143504 +Node: Adding Code1144939 +Node: New Ports1151096 +Node: Derived Files1155578 +Ref: Derived Files-Footnote-11161053 +Ref: Derived Files-Footnote-21161087 +Ref: Derived Files-Footnote-31161683 +Node: Future Extensions1161797 +Node: Implementation Limitations1162403 +Node: Extension Design1163651 +Node: Old Extension Problems1164805 +Ref: Old Extension Problems-Footnote-11166322 +Node: Extension New Mechanism Goals1166379 +Ref: Extension New Mechanism Goals-Footnote-11169739 +Node: Extension Other Design Decisions1169928 +Node: Extension Future Growth1172036 +Node: Old Extension Mechanism1172872 +Node: Notes summary1174634 +Node: Basic Concepts1175820 +Node: Basic High Level1176501 +Ref: figure-general-flow1176773 +Ref: figure-process-flow1177372 +Ref: Basic High Level-Footnote-11180601 +Node: Basic Data Typing1180786 +Node: Glossary1184114 +Node: Copying1216043 +Node: GNU Free Documentation License1253599 +Node: Index1278735 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 12b07bba..f354318f 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -14506,7 +14506,7 @@ respectively, should use binary I/O. A string value of @code{"rw"} or @code{"wr"} indicates that all files should use binary I/O. Any other string value is treated the same as @code{"rw"}, but causes @command{gawk} to generate a warning message. @code{BINMODE} is described in more -detail in @ref{PC Using}. @command{mawk} (@pxref{Other Versions}), +detail in @ref{PC Using}. @command{mawk} (@pxref{Other Versions}) also supports this variable, but only using numeric values. @cindex @code{CONVFMT} variable @@ -14514,7 +14514,7 @@ also supports this variable, but only using numeric values. @cindex numbers, converting, to strings @cindex strings, converting, numbers to @item @code{CONVFMT} -This string controls conversion of numbers to +A string that controls the conversion of numbers to strings (@pxref{Conversion}). It works by being passed, in effect, as the first argument to the @code{sprintf()} function @@ -14589,7 +14589,7 @@ is to simply say @samp{FS = FS}, perhaps with an explanatory comment. @cindex regular expressions, case sensitivity @item IGNORECASE # If @code{IGNORECASE} is nonzero or non-null, then all string comparisons -and all regular expression matching are case independent. Thus, regexp +and all regular expression matching are case-independent. Thus, regexp matching with @samp{~} and @samp{!~}, as well as the @code{gensub()}, @code{gsub()}, @code{index()}, @code{match()}, @code{patsplit()}, @code{split()}, and @code{sub()} @@ -14615,7 +14615,7 @@ Any other true value prints nonfatal warnings. Assigning a false value to @code{LINT} turns off the lint warnings. This variable is a @command{gawk} extension. It is not special -in other @command{awk} implementations. Unlike the other special variables, +in other @command{awk} implementations. Unlike with the other special variables, changing @code{LINT} does affect the production of lint warnings, even if @command{gawk} is in compatibility mode. Much as the @option{--lint} and @option{--traditional} options independently @@ -14627,7 +14627,7 @@ of @command{awk} being executed. @cindex numbers, converting, to strings @cindex strings, converting, numbers to @item OFMT -Controls conversion of numbers to +A string that controls conversion of numbers to strings (@pxref{Conversion}) for printing with the @code{print} statement. It works by being passed as the first argument to the @code{sprintf()} function @@ -14642,7 +14642,7 @@ strings in general expressions; this is now done by @code{CONVFMT}. @cindex separators, field @cindex field separators @item OFS -This is the output field separator (@pxref{Output Separators}). It is +The output field separator (@pxref{Output Separators}). It is output between the fields printed by a @code{print} statement. Its default value is @w{@code{" "}}, a string consisting of a single space. @@ -14660,7 +14660,7 @@ The working precision of arbitrary-precision floating-point numbers, @cindex @code{ROUNDMODE} variable @item ROUNDMODE # The rounding mode to use for arbitrary-precision arithmetic on -numbers, by default @code{"N"} (@samp{roundTiesToEven} in +numbers, by default @code{"N"} (@code{roundTiesToEven} in the IEEE 754 standard; @pxref{Setting the rounding mode}). @cindex @code{RS} variable @@ -14689,7 +14689,7 @@ just the first character of @code{RS}'s value is used. @item @code{SUBSEP} The subscript separator. It has the default value of @code{"\034"} and is used to separate the parts of the indices of a -multidimensional array. Thus, the expression @code{@w{foo["A", "B"]}} +multidimensional array. Thus, the expression @samp{@w{foo["A", "B"]}} really accesses @code{foo["A\034B"]} (@pxref{Multidimensional}). @@ -14707,7 +14707,7 @@ The default value of @code{TEXTDOMAIN} is @code{"messages"}. @end table @node Auto-set -@subsection Built-In Variables That Convey Information +@subsection Built-in Variables That Convey Information @cindex predefined variables, conveying information @cindex variables, predefined conveying information @@ -14851,12 +14851,12 @@ input file. @item @code{NF} The number of fields in the current input record. @code{NF} is set each time a new record is read, when a new field is -created or when @code{$0} changes (@pxref{Fields}). +created, or when @code{$0} changes (@pxref{Fields}). Unlike most of the variables described in this @value{SUBSECTION}, assigning a value to @code{NF} has the potential to affect @command{awk}'s internal workings. In particular, assignments -to @code{NF} can be used to create or remove fields from the +to @code{NF} can be used to create fields in or remove fields from the current record. @xref{Changing Fields}. @cindex @code{FUNCTAB} array @@ -14906,7 +14906,7 @@ or @code{"FPAT"} if field matching with @code{FPAT} is in effect. @item PROCINFO["identifiers"] @cindex program identifiers A subarray, indexed by the names of all identifiers used in the text of -the AWK program. An @dfn{identifier} is simply the name of a variable +the @command{awk} program. An @dfn{identifier} is simply the name of a variable (be it scalar or array), built-in function, user-defined function, or extension function. For each identifier, the value of the element is one of the following: @@ -14926,7 +14926,7 @@ The identifier is an extension function loaded via The identifier is a scalar. @item "untyped" -The identifier is untyped (could be used as a scalar or array, +The identifier is untyped (could be used as a scalar or an array; @command{gawk} doesn't know yet). @item "user" @@ -15047,7 +15047,7 @@ is the length of the matched string, or @minus{}1 if no match is found. @cindex @code{RSTART} variable @item @code{RSTART} -The start-index in characters of the substring that is matched by the +The start index in characters of the substring that is matched by the @code{match()} function (@pxref{String Functions}). @code{RSTART} is set by invoking the @code{match()} function. Its value @@ -15114,7 +15114,7 @@ function multiply(variable, amount) @quotation NOTE In order to avoid severe time-travel paradoxes,@footnote{Not to mention difficult implementation issues.} neither @code{FUNCTAB} nor @code{SYMTAB} -are available as elements within the @code{SYMTAB} array. +is available as an element within the @code{SYMTAB} array. @end quotation @end table @@ -15334,7 +15334,7 @@ When designing your program, you should choose options that don't conflict with @command{gawk}'s, because it will process any options that it accepts before passing the rest of the command line on to your program. Using @samp{#!} with the @option{-E} option may help -(@DBXREF{Executable Scripts} +(@DBPXREF{Executable Scripts} and @ifnotdocbook @DBPXREF{Options}). @@ -15348,15 +15348,15 @@ and @itemize @value{BULLET} @item -Pattern-action pairs make up the basic elements of an @command{awk} +Pattern--action pairs make up the basic elements of an @command{awk} program. Patterns are either normal expressions, range expressions, -regexp constants, one of the special keywords @code{BEGIN}, @code{END}, -@code{BEGINFILE}, @code{ENDFILE}, or empty. The action executes if +or regexp constants; one of the special keywords @code{BEGIN}, @code{END}, +@code{BEGINFILE}, or @code{ENDFILE}; or empty. The action executes if the current record matches the pattern. Empty (missing) patterns match all records. @item -I/O from @code{BEGIN} and @code{END} rules have certain constraints. +I/O from @code{BEGIN} and @code{END} rules has certain constraints. This is also true, only more so, for @code{BEGINFILE} and @code{ENDFILE} rules. The latter two give you ``hooks'' into @command{gawk}'s file processing, allowing you to recover from a file that otherwise would @@ -15386,12 +15386,12 @@ iteration of a loop (or get out of a @code{switch}). @item @code{next} and @code{nextfile} let you read the next record and start -over at the top of your program, or skip to the next input file and +over at the top of your program or skip to the next input file and start over, respectively. @item The @code{exit} statement terminates your program. When executed -from an action (or function body) it transfers control to the +from an action (or function body), it transfers control to the @code{END} statements. From an @code{END} statement body, it exits immediately. You may pass an optional numeric value to be used as @command{awk}'s exit status. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 6d1bc395..a94d11b7 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -13834,7 +13834,7 @@ respectively, should use binary I/O. A string value of @code{"rw"} or @code{"wr"} indicates that all files should use binary I/O. Any other string value is treated the same as @code{"rw"}, but causes @command{gawk} to generate a warning message. @code{BINMODE} is described in more -detail in @ref{PC Using}. @command{mawk} (@pxref{Other Versions}), +detail in @ref{PC Using}. @command{mawk} (@pxref{Other Versions}) also supports this variable, but only using numeric values. @cindex @code{CONVFMT} variable @@ -13842,7 +13842,7 @@ also supports this variable, but only using numeric values. @cindex numbers, converting, to strings @cindex strings, converting, numbers to @item @code{CONVFMT} -This string controls conversion of numbers to +A string that controls the conversion of numbers to strings (@pxref{Conversion}). It works by being passed, in effect, as the first argument to the @code{sprintf()} function @@ -13917,7 +13917,7 @@ is to simply say @samp{FS = FS}, perhaps with an explanatory comment. @cindex regular expressions, case sensitivity @item IGNORECASE # If @code{IGNORECASE} is nonzero or non-null, then all string comparisons -and all regular expression matching are case independent. Thus, regexp +and all regular expression matching are case-independent. Thus, regexp matching with @samp{~} and @samp{!~}, as well as the @code{gensub()}, @code{gsub()}, @code{index()}, @code{match()}, @code{patsplit()}, @code{split()}, and @code{sub()} @@ -13943,7 +13943,7 @@ Any other true value prints nonfatal warnings. Assigning a false value to @code{LINT} turns off the lint warnings. This variable is a @command{gawk} extension. It is not special -in other @command{awk} implementations. Unlike the other special variables, +in other @command{awk} implementations. Unlike with the other special variables, changing @code{LINT} does affect the production of lint warnings, even if @command{gawk} is in compatibility mode. Much as the @option{--lint} and @option{--traditional} options independently @@ -13955,7 +13955,7 @@ of @command{awk} being executed. @cindex numbers, converting, to strings @cindex strings, converting, numbers to @item OFMT -Controls conversion of numbers to +A string that controls conversion of numbers to strings (@pxref{Conversion}) for printing with the @code{print} statement. It works by being passed as the first argument to the @code{sprintf()} function @@ -13970,7 +13970,7 @@ strings in general expressions; this is now done by @code{CONVFMT}. @cindex separators, field @cindex field separators @item OFS -This is the output field separator (@pxref{Output Separators}). It is +The output field separator (@pxref{Output Separators}). It is output between the fields printed by a @code{print} statement. Its default value is @w{@code{" "}}, a string consisting of a single space. @@ -13988,7 +13988,7 @@ The working precision of arbitrary-precision floating-point numbers, @cindex @code{ROUNDMODE} variable @item ROUNDMODE # The rounding mode to use for arbitrary-precision arithmetic on -numbers, by default @code{"N"} (@samp{roundTiesToEven} in +numbers, by default @code{"N"} (@code{roundTiesToEven} in the IEEE 754 standard; @pxref{Setting the rounding mode}). @cindex @code{RS} variable @@ -14017,7 +14017,7 @@ just the first character of @code{RS}'s value is used. @item @code{SUBSEP} The subscript separator. It has the default value of @code{"\034"} and is used to separate the parts of the indices of a -multidimensional array. Thus, the expression @code{@w{foo["A", "B"]}} +multidimensional array. Thus, the expression @samp{@w{foo["A", "B"]}} really accesses @code{foo["A\034B"]} (@pxref{Multidimensional}). @@ -14035,7 +14035,7 @@ The default value of @code{TEXTDOMAIN} is @code{"messages"}. @end table @node Auto-set -@subsection Built-In Variables That Convey Information +@subsection Built-in Variables That Convey Information @cindex predefined variables, conveying information @cindex variables, predefined conveying information @@ -14179,12 +14179,12 @@ input file. @item @code{NF} The number of fields in the current input record. @code{NF} is set each time a new record is read, when a new field is -created or when @code{$0} changes (@pxref{Fields}). +created, or when @code{$0} changes (@pxref{Fields}). Unlike most of the variables described in this @value{SUBSECTION}, assigning a value to @code{NF} has the potential to affect @command{awk}'s internal workings. In particular, assignments -to @code{NF} can be used to create or remove fields from the +to @code{NF} can be used to create fields in or remove fields from the current record. @xref{Changing Fields}. @cindex @code{FUNCTAB} array @@ -14234,7 +14234,7 @@ or @code{"FPAT"} if field matching with @code{FPAT} is in effect. @item PROCINFO["identifiers"] @cindex program identifiers A subarray, indexed by the names of all identifiers used in the text of -the AWK program. An @dfn{identifier} is simply the name of a variable +the @command{awk} program. An @dfn{identifier} is simply the name of a variable (be it scalar or array), built-in function, user-defined function, or extension function. For each identifier, the value of the element is one of the following: @@ -14254,7 +14254,7 @@ The identifier is an extension function loaded via The identifier is a scalar. @item "untyped" -The identifier is untyped (could be used as a scalar or array, +The identifier is untyped (could be used as a scalar or an array; @command{gawk} doesn't know yet). @item "user" @@ -14375,7 +14375,7 @@ is the length of the matched string, or @minus{}1 if no match is found. @cindex @code{RSTART} variable @item @code{RSTART} -The start-index in characters of the substring that is matched by the +The start index in characters of the substring that is matched by the @code{match()} function (@pxref{String Functions}). @code{RSTART} is set by invoking the @code{match()} function. Its value @@ -14442,7 +14442,7 @@ function multiply(variable, amount) @quotation NOTE In order to avoid severe time-travel paradoxes,@footnote{Not to mention difficult implementation issues.} neither @code{FUNCTAB} nor @code{SYMTAB} -are available as elements within the @code{SYMTAB} array. +is available as an element within the @code{SYMTAB} array. @end quotation @end table @@ -14616,7 +14616,7 @@ When designing your program, you should choose options that don't conflict with @command{gawk}'s, because it will process any options that it accepts before passing the rest of the command line on to your program. Using @samp{#!} with the @option{-E} option may help -(@DBXREF{Executable Scripts} +(@DBPXREF{Executable Scripts} and @ifnotdocbook @DBPXREF{Options}). @@ -14630,15 +14630,15 @@ and @itemize @value{BULLET} @item -Pattern-action pairs make up the basic elements of an @command{awk} +Pattern--action pairs make up the basic elements of an @command{awk} program. Patterns are either normal expressions, range expressions, -regexp constants, one of the special keywords @code{BEGIN}, @code{END}, -@code{BEGINFILE}, @code{ENDFILE}, or empty. The action executes if +or regexp constants; one of the special keywords @code{BEGIN}, @code{END}, +@code{BEGINFILE}, or @code{ENDFILE}; or empty. The action executes if the current record matches the pattern. Empty (missing) patterns match all records. @item -I/O from @code{BEGIN} and @code{END} rules have certain constraints. +I/O from @code{BEGIN} and @code{END} rules has certain constraints. This is also true, only more so, for @code{BEGINFILE} and @code{ENDFILE} rules. The latter two give you ``hooks'' into @command{gawk}'s file processing, allowing you to recover from a file that otherwise would @@ -14668,12 +14668,12 @@ iteration of a loop (or get out of a @code{switch}). @item @code{next} and @code{nextfile} let you read the next record and start -over at the top of your program, or skip to the next input file and +over at the top of your program or skip to the next input file and start over, respectively. @item The @code{exit} statement terminates your program. When executed -from an action (or function body) it transfers control to the +from an action (or function body), it transfers control to the @code{END} statements. From an @code{END} statement body, it exits immediately. You may pass an optional numeric value to be used as @command{awk}'s exit status. |