diff options
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 1116 | ||||
-rw-r--r-- | doc/gawk.texi | 39 | ||||
-rw-r--r-- | doc/gawktexi.in | 39 |
4 files changed, 604 insertions, 596 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 6bee7e97..45d165a8 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2016-06-10 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Fix a typo, and replace hard-coded "section" with + @value{SECTION} where appropriate. Thanks to Antonio + Giovanni Colombo for the reports. + 2016-05-25 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Typo fix in extension section, thanks to diff --git a/doc/gawk.info b/doc/gawk.info index f5e89994..86c53e30 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1001,8 +1001,8 @@ be of interest on first reading. All appear in the index, under the heading "sidebar." Most of the time, the examples use complete 'awk' programs. Some of -the more advanced sections show only the part of the 'awk' program that -illustrates the concept being described. +the more advanced minor nodes show only the part of the 'awk' program +that illustrates the concept being described. Although this Info file is aimed principally at people who have not been exposed to 'awk', there is a lot of information here that even the @@ -2143,7 +2143,7 @@ variables are automatically initialized to zero.) rule executes and prints the value of 'sum'. In this example, the value of 'sum' is 80600. - These more advanced 'awk' techniques are covered in later sections + These more advanced 'awk' techniques are covered in later minor nodes (*note Action Overview::). Before you can move on to more advanced 'awk' programming, you have to know how 'awk' interprets your input and displays your output. By manipulating fields and using 'print' @@ -11782,7 +11782,7 @@ File: gawk.info, Node: Built-in, Next: User-defined, Up: Functions "Built-in" functions are always available for your 'awk' program to call. This minor node defines all the built-in functions in 'awk'; some -of these are mentioned in other sections but are summarized here for +of these are mentioned in other minor nodes but are summarized here for your convenience. * Menu: @@ -12663,8 +12663,8 @@ the use of 'gawk' and 'gensub()' when you have to do substitutions. ---------- Footnotes ---------- (1) This was rather naive of him, despite there being a note in this -section indicating that the next major version would move to the POSIX -rules. +minor node indicating that the next major version would move to the +POSIX rules. File: gawk.info, Node: I/O Functions, Next: Time Functions, Prev: String Functions, Up: Built-in @@ -23582,7 +23582,7 @@ always be called, and to take effect as appropriate (as the 'readdir' extension does). Or you may want it to take effect based upon the value of an 'awk' variable, as the XML extension from the 'gawkextlib' project does (*note gawkextlib::). In the latter case, code in a 'BEGINFILE' -section can look at 'FILENAME' and 'ERRNO' to decide whether or not to +rule can look at 'FILENAME' and 'ERRNO' to decide whether or not to activate an input parser (*note BEGINFILE/ENDFILE::). You register your input parser with the following function: @@ -23732,7 +23732,7 @@ structures as described earlier. ' awk_input_buf_t *inbuf,' ' awk_output_buf_t *outbuf);' The function pointed to by this field should fill in the - 'awk_input_buf_t' and 'awk_outut_buf_t' structures pointed to by + 'awk_input_buf_t' and 'awk_output_buf_t' structures pointed to by 'inbuf' and 'outbuf', respectively. These structures were described earlier. @@ -24000,7 +24000,7 @@ usual. Then get a scalar cookie for the variable using 'sym_lookup()': ... } - Next, use the routines in this section for retrieving and updating + Next, use the routines in this minor node for retrieving and updating the value through the cookie. Thus, 'do_magic()' now becomes something like this: @@ -24035,7 +24035,7 @@ File: gawk.info, Node: Cached values, Prev: Symbol table by cookie, Up: Symbo 16.4.10.3 Creating and Using Cached Values .......................................... -The routines in this section allow you to create and release cached +The routines in this minor node allow you to create and release cached values. Like scalar cookies, in theory, cached values are not necessary. You can create numbers and strings using the functions in *note Constructor Functions::. You can then assign those values to @@ -24049,7 +24049,7 @@ 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 -what the routines in this section let you do. The functions are as +what the routines in this minor node let you do. The functions are as follows: 'awk_bool_t create_value(awk_value_t *value, awk_value_cookie_t *result);' @@ -34684,552 +34684,552 @@ Node: History51467 Node: Names53819 Ref: Names-Footnote-154913 Node: This Manual55060 -Ref: This Manual-Footnote-161542 -Node: Conventions61642 -Node: Manual History63996 -Ref: Manual History-Footnote-166991 -Ref: Manual History-Footnote-267032 -Node: How To Contribute67106 -Node: Acknowledgments68235 -Node: Getting Started73121 -Node: Running gawk75560 -Node: One-shot76750 -Node: Read Terminal78013 -Node: Long80045 -Node: Executable Scripts81558 -Ref: Executable Scripts-Footnote-184353 -Node: Comments84456 -Node: Quoting86940 -Node: DOS Quoting92457 -Node: Sample Data Files93132 -Node: Very Simple95727 -Node: Two Rules100629 -Node: More Complex102514 -Node: Statements/Lines105377 -Ref: Statements/Lines-Footnote-1109836 -Node: Other Features110101 -Node: When111037 -Ref: When-Footnote-1112791 -Node: Intro Summary112856 -Node: Invoking Gawk113740 -Node: Command Line115254 -Node: Options116052 -Ref: Options-Footnote-1131959 -Ref: Options-Footnote-2132189 -Node: Other Arguments132214 -Node: Naming Standard Input135161 -Node: Environment Variables136254 -Node: AWKPATH Variable136812 -Ref: AWKPATH Variable-Footnote-1140113 -Ref: AWKPATH Variable-Footnote-2140158 -Node: AWKLIBPATH Variable140419 -Node: Other Environment Variables141563 -Node: Exit Status145328 -Node: Include Files146005 -Node: Loading Shared Libraries149600 -Node: Obsolete151028 -Node: Undocumented151720 -Node: Invoking Summary152017 -Node: Regexp153677 -Node: Regexp Usage155131 -Node: Escape Sequences157168 -Node: Regexp Operators163182 -Ref: Regexp Operators-Footnote-1170598 -Ref: Regexp Operators-Footnote-2170745 -Node: Bracket Expressions170843 -Ref: table-char-classes173319 -Node: Leftmost Longest176456 -Node: Computed Regexps177759 -Node: GNU Regexp Operators181186 -Node: Case-sensitivity184865 -Ref: Case-sensitivity-Footnote-1187752 -Ref: Case-sensitivity-Footnote-2187987 -Node: Regexp Summary188095 -Node: Reading Files189561 -Node: Records191655 -Node: awk split records192388 -Node: gawk split records197319 -Ref: gawk split records-Footnote-1201859 -Node: Fields201896 -Ref: Fields-Footnote-1204676 -Node: Nonconstant Fields204762 -Ref: Nonconstant Fields-Footnote-1206998 -Node: Changing Fields207202 -Node: Field Separators213130 -Node: Default Field Splitting215828 -Node: Regexp Field Splitting216946 -Node: Single Character Fields220299 -Node: Command Line Field Separator221359 -Node: Full Line Fields224577 -Ref: Full Line Fields-Footnote-1226099 -Ref: Full Line Fields-Footnote-2226145 -Node: Field Splitting Summary226246 -Node: Constant Size228320 -Node: Splitting By Content232898 -Ref: Splitting By Content-Footnote-1236869 -Node: Multiple Line237032 -Ref: Multiple Line-Footnote-1242914 -Node: Getline243093 -Node: Plain Getline245297 -Node: Getline/Variable247936 -Node: Getline/File249085 -Node: Getline/Variable/File250471 -Ref: Getline/Variable/File-Footnote-1252074 -Node: Getline/Pipe252162 -Node: Getline/Variable/Pipe254867 -Node: Getline/Coprocess256000 -Node: Getline/Variable/Coprocess257265 -Node: Getline Notes258005 -Node: Getline Summary260800 -Ref: table-getline-variants261222 -Node: Read Timeout261970 -Ref: Read Timeout-Footnote-1265811 -Node: Command-line directories265869 -Node: Input Summary266773 -Node: Input Exercises269945 -Node: Printing270673 -Node: Print272449 -Node: Print Examples273906 -Node: Output Separators276686 -Node: OFMT278703 -Node: Printf280059 -Node: Basic Printf280844 -Node: Control Letters282418 -Node: Format Modifiers286406 -Node: Printf Examples292421 -Node: Redirection294907 -Node: Special FD301748 -Ref: Special FD-Footnote-1304916 -Node: Special Files304990 -Node: Other Inherited Files305607 -Node: Special Network306608 -Node: Special Caveats307468 -Node: Close Files And Pipes308417 -Ref: Close Files And Pipes-Footnote-1315610 -Ref: Close Files And Pipes-Footnote-2315758 -Node: Output Summary315909 -Node: Output Exercises316907 -Node: Expressions317586 -Node: Values318774 -Node: Constants319452 -Node: Scalar Constants320143 -Ref: Scalar Constants-Footnote-1321007 -Node: Nondecimal-numbers321257 -Node: Regexp Constants324270 -Node: Using Constant Regexps324796 -Node: Variables327959 -Node: Using Variables328616 -Node: Assignment Options330526 -Node: Conversion332399 -Node: Strings And Numbers332923 -Ref: Strings And Numbers-Footnote-1335986 -Node: Locale influences conversions336095 -Ref: table-locale-affects338853 -Node: All Operators339471 -Node: Arithmetic Ops340100 -Node: Concatenation342606 -Ref: Concatenation-Footnote-1345453 -Node: Assignment Ops345560 -Ref: table-assign-ops350551 -Node: Increment Ops351864 -Node: Truth Values and Conditions355324 -Node: Truth Values356398 -Node: Typing and Comparison357446 -Node: Variable Typing358266 -Node: Comparison Operators361890 -Ref: table-relational-ops362309 -Node: POSIX String Comparison365804 -Ref: POSIX String Comparison-Footnote-1366878 -Node: Boolean Ops367017 -Ref: Boolean Ops-Footnote-1371499 -Node: Conditional Exp371591 -Node: Function Calls373327 -Node: Precedence377204 -Node: Locales380863 -Node: Expressions Summary382495 -Node: Patterns and Actions385068 -Node: Pattern Overview386188 -Node: Regexp Patterns387865 -Node: Expression Patterns388407 -Node: Ranges392188 -Node: BEGIN/END395296 -Node: Using BEGIN/END396057 -Ref: Using BEGIN/END-Footnote-1398793 -Node: I/O And BEGIN/END398899 -Node: BEGINFILE/ENDFILE401213 -Node: Empty404120 -Node: Using Shell Variables404437 -Node: Action Overview406711 -Node: Statements409036 -Node: If Statement410884 -Node: While Statement412379 -Node: Do Statement414407 -Node: For Statement415555 -Node: Switch Statement418713 -Node: Break Statement421099 -Node: Continue Statement423191 -Node: Next Statement425018 -Node: Nextfile Statement427401 -Node: Exit Statement430053 -Node: Built-in Variables432456 -Node: User-modified433589 -Ref: User-modified-Footnote-1441214 -Node: Auto-set441276 -Ref: Auto-set-Footnote-1454366 -Ref: Auto-set-Footnote-2454572 -Node: ARGC and ARGV454628 -Node: Pattern Action Summary458841 -Node: Arrays461271 -Node: Array Basics462600 -Node: Array Intro463444 -Ref: figure-array-elements465419 -Ref: Array Intro-Footnote-1468123 -Node: Reference to Elements468251 -Node: Assigning Elements470715 -Node: Array Example471206 -Node: Scanning an Array472965 -Node: Controlling Scanning475987 -Ref: Controlling Scanning-Footnote-1481386 -Node: Numeric Array Subscripts481702 -Node: Uninitialized Subscripts483886 -Node: Delete485505 -Ref: Delete-Footnote-1488257 -Node: Multidimensional488314 -Node: Multiscanning491409 -Node: Arrays of Arrays493000 -Node: Arrays Summary497767 -Node: Functions499860 -Node: Built-in500898 -Node: Calling Built-in501976 -Node: Numeric Functions503972 -Ref: Numeric Functions-Footnote-1508000 -Ref: Numeric Functions-Footnote-2508357 -Ref: Numeric Functions-Footnote-3508405 -Node: String Functions508677 -Ref: String Functions-Footnote-1532181 -Ref: String Functions-Footnote-2532309 -Ref: String Functions-Footnote-3532557 -Node: Gory Details532644 -Ref: table-sub-escapes534435 -Ref: table-sub-proposed535954 -Ref: table-posix-sub537317 -Ref: table-gensub-escapes538858 -Ref: Gory Details-Footnote-1539681 -Node: I/O Functions539832 -Ref: table-system-return-values546414 -Ref: I/O Functions-Footnote-1548394 -Ref: I/O Functions-Footnote-2548542 -Node: Time Functions548662 -Ref: Time Functions-Footnote-1559167 -Ref: Time Functions-Footnote-2559235 -Ref: Time Functions-Footnote-3559393 -Ref: Time Functions-Footnote-4559504 -Ref: Time Functions-Footnote-5559616 -Ref: Time Functions-Footnote-6559843 -Node: Bitwise Functions560109 -Ref: table-bitwise-ops560703 -Ref: Bitwise Functions-Footnote-1565041 -Node: Type Functions565214 -Node: I18N Functions566370 -Node: User-defined568021 -Node: Definition Syntax568826 -Ref: Definition Syntax-Footnote-1574513 -Node: Function Example574584 -Ref: Function Example-Footnote-1577506 -Node: Function Caveats577528 -Node: Calling A Function578046 -Node: Variable Scope579004 -Node: Pass By Value/Reference581998 -Node: Return Statement585497 -Node: Dynamic Typing588476 -Node: Indirect Calls589406 -Ref: Indirect Calls-Footnote-1599657 -Node: Functions Summary599785 -Node: Library Functions602490 -Ref: Library Functions-Footnote-1606097 -Ref: Library Functions-Footnote-2606240 -Node: Library Names606411 -Ref: Library Names-Footnote-1609871 -Ref: Library Names-Footnote-2610094 -Node: General Functions610180 -Node: Strtonum Function611283 -Node: Assert Function614305 -Node: Round Function617631 -Node: Cliff Random Function619172 -Node: Ordinal Functions620188 -Ref: Ordinal Functions-Footnote-1623251 -Ref: Ordinal Functions-Footnote-2623503 -Node: Join Function623713 -Ref: Join Function-Footnote-1625483 -Node: Getlocaltime Function625683 -Node: Readfile Function629425 -Node: Shell Quoting631397 -Node: Data File Management632798 -Node: Filetrans Function633430 -Node: Rewind Function637526 -Node: File Checking639431 -Ref: File Checking-Footnote-1640765 -Node: Empty Files640966 -Node: Ignoring Assigns642945 -Node: Getopt Function644495 -Ref: Getopt Function-Footnote-1655964 -Node: Passwd Functions656164 -Ref: Passwd Functions-Footnote-1665003 -Node: Group Functions665091 -Ref: Group Functions-Footnote-1672988 -Node: Walking Arrays673195 -Node: Library Functions Summary676203 -Node: Library Exercises677609 -Node: Sample Programs678074 -Node: Running Examples678844 -Node: Clones679572 -Node: Cut Program680796 -Node: Egrep Program690725 -Ref: Egrep Program-Footnote-1698237 -Node: Id Program698347 -Node: Split Program702027 -Ref: Split Program-Footnote-1705486 -Node: Tee Program705615 -Node: Uniq Program708405 -Node: Wc Program715831 -Ref: Wc Program-Footnote-1720086 -Node: Miscellaneous Programs720180 -Node: Dupword Program721393 -Node: Alarm Program723423 -Node: Translate Program728278 -Ref: Translate Program-Footnote-1732843 -Node: Labels Program733113 -Ref: Labels Program-Footnote-1736464 -Node: Word Sorting736548 -Node: History Sorting740620 -Node: Extract Program742455 -Node: Simple Sed749984 -Node: Igawk Program753058 -Ref: Igawk Program-Footnote-1767389 -Ref: Igawk Program-Footnote-2767591 -Ref: Igawk Program-Footnote-3767713 -Node: Anagram Program767828 -Node: Signature Program770890 -Node: Programs Summary772137 -Node: Programs Exercises773351 -Ref: Programs Exercises-Footnote-1777480 -Node: Advanced Features777571 -Node: Nondecimal Data779561 -Node: Array Sorting781152 -Node: Controlling Array Traversal781852 -Ref: Controlling Array Traversal-Footnote-1790219 -Node: Array Sorting Functions790337 -Ref: Array Sorting Functions-Footnote-1795428 -Node: Two-way I/O795624 -Ref: Two-way I/O-Footnote-1801918 -Ref: Two-way I/O-Footnote-2802105 -Node: TCP/IP Networking802187 -Node: Profiling805305 -Node: Advanced Features Summary812844 -Node: Internationalization814780 -Node: I18N and L10N816260 -Node: Explaining gettext816947 -Ref: Explaining gettext-Footnote-1821970 -Ref: Explaining gettext-Footnote-2822155 -Node: Programmer i18n822320 -Ref: Programmer i18n-Footnote-1827175 -Node: Translator i18n827224 -Node: String Extraction828018 -Ref: String Extraction-Footnote-1829150 -Node: Printf Ordering829236 -Ref: Printf Ordering-Footnote-1832022 -Node: I18N Portability832086 -Ref: I18N Portability-Footnote-1834542 -Node: I18N Example834605 -Ref: I18N Example-Footnote-1837411 -Node: Gawk I18N837484 -Node: I18N Summary838129 -Node: Debugger839470 -Node: Debugging840492 -Node: Debugging Concepts840933 -Node: Debugging Terms842742 -Node: Awk Debugging845317 -Node: Sample Debugging Session846223 -Node: Debugger Invocation846757 -Node: Finding The Bug848143 -Node: List of Debugger Commands854621 -Node: Breakpoint Control855954 -Node: Debugger Execution Control859648 -Node: Viewing And Changing Data863010 -Node: Execution Stack866384 -Node: Debugger Info868021 -Node: Miscellaneous Debugger Commands872092 -Node: Readline Support877180 -Node: Limitations878076 -Node: Debugging Summary880185 -Node: Arbitrary Precision Arithmetic881358 -Node: Computer Arithmetic882774 -Ref: table-numeric-ranges886365 -Ref: Computer Arithmetic-Footnote-1887087 -Node: Math Definitions887144 -Ref: table-ieee-formats890458 -Ref: Math Definitions-Footnote-1891061 -Node: MPFR features891166 -Node: FP Math Caution892883 -Ref: FP Math Caution-Footnote-1893955 -Node: Inexactness of computations894324 -Node: Inexact representation895284 -Node: Comparing FP Values896644 -Node: Errors accumulate897726 -Node: Getting Accuracy899159 -Node: Try To Round901869 -Node: Setting precision902768 -Ref: table-predefined-precision-strings903465 -Node: Setting the rounding mode905295 -Ref: table-gawk-rounding-modes905669 -Ref: Setting the rounding mode-Footnote-1909077 -Node: Arbitrary Precision Integers909256 -Ref: Arbitrary Precision Integers-Footnote-1912240 -Node: POSIX Floating Point Problems912389 -Ref: POSIX Floating Point Problems-Footnote-1916271 -Node: Floating point summary916309 -Node: Dynamic Extensions918499 -Node: Extension Intro920052 -Node: Plugin License921318 -Node: Extension Mechanism Outline922115 -Ref: figure-load-extension922554 -Ref: figure-register-new-function924119 -Ref: figure-call-new-function925211 -Node: Extension API Description927273 -Node: Extension API Functions Introduction928721 -Node: General Data Types933533 -Ref: General Data Types-Footnote-1939488 -Node: Memory Allocation Functions939787 -Ref: Memory Allocation Functions-Footnote-1942632 -Node: Constructor Functions942731 -Node: Registration Functions944476 -Node: Extension Functions945161 -Node: Exit Callback Functions947460 -Node: Extension Version String948710 -Node: Input Parsers949373 -Node: Output Wrappers959258 -Node: Two-way processors963770 -Node: Printing Messages966034 -Ref: Printing Messages-Footnote-1967108 -Node: Updating ERRNO967261 -Node: Requesting Values968000 -Ref: table-value-types-returned968737 -Node: Accessing Parameters969620 -Node: Symbol Table Access970855 -Node: Symbol table by name971367 -Node: Symbol table by cookie973388 -Ref: Symbol table by cookie-Footnote-1977537 -Node: Cached values977601 -Ref: Cached values-Footnote-1981102 -Node: Array Manipulation981193 -Ref: Array Manipulation-Footnote-1982292 -Node: Array Data Types982329 -Ref: Array Data Types-Footnote-1984987 -Node: Array Functions985079 -Node: Flattening Arrays988937 -Node: Creating Arrays995845 -Node: Extension API Variables1000614 -Node: Extension Versioning1001250 -Ref: gawk-api-version1001687 -Node: Extension API Informational Variables1003443 -Node: Extension API Boilerplate1004507 -Node: Finding Extensions1008321 -Node: Extension Example1008880 -Node: Internal File Description1009678 -Node: Internal File Ops1013758 -Ref: Internal File Ops-Footnote-11025520 -Node: Using Internal File Ops1025660 -Ref: Using Internal File Ops-Footnote-11028043 -Node: Extension Samples1028317 -Node: Extension Sample File Functions1029846 -Node: Extension Sample Fnmatch1037495 -Node: Extension Sample Fork1038982 -Node: Extension Sample Inplace1040200 -Node: Extension Sample Ord1043410 -Node: Extension Sample Readdir1044246 -Ref: table-readdir-file-types1045135 -Node: Extension Sample Revout1045940 -Node: Extension Sample Rev2way1046529 -Node: Extension Sample Read write array1047269 -Node: Extension Sample Readfile1049211 -Node: Extension Sample Time1050306 -Node: Extension Sample API Tests1051654 -Node: gawkextlib1052146 -Node: Extension summary1054570 -Node: Extension Exercises1058262 -Node: Language History1059759 -Node: V7/SVR3.11061415 -Node: SVR41063567 -Node: POSIX1065001 -Node: BTL1066380 -Node: POSIX/GNU1067109 -Node: Feature History1072630 -Node: Common Extensions1085959 -Node: Ranges and Locales1087242 -Ref: Ranges and Locales-Footnote-11091858 -Ref: Ranges and Locales-Footnote-21091885 -Ref: Ranges and Locales-Footnote-31092120 -Node: Contributors1092341 -Node: History summary1097910 -Node: Installation1099290 -Node: Gawk Distribution1100234 -Node: Getting1100718 -Node: Extracting1101679 -Node: Distribution contents1103317 -Node: Unix Installation1109068 -Node: Quick Installation1109684 -Node: Additional Configuration Options1112111 -Node: Configuration Philosophy1113915 -Node: Non-Unix Installation1116284 -Node: PC Installation1116742 -Node: PC Binary Installation1118062 -Node: PC Compiling1119914 -Ref: PC Compiling-Footnote-11122938 -Node: PC Testing1123047 -Node: PC Using1124227 -Node: Cygwin1128341 -Node: MSYS1129111 -Node: VMS Installation1129612 -Node: VMS Compilation1130403 -Ref: VMS Compilation-Footnote-11131632 -Node: VMS Dynamic Extensions1131690 -Node: VMS Installation Details1133375 -Node: VMS Running1135628 -Node: VMS GNV1139907 -Node: VMS Old Gawk1140642 -Node: Bugs1141113 -Node: Other Versions1145310 -Node: Installation summary1151894 -Node: Notes1152952 -Node: Compatibility Mode1153817 -Node: Additions1154599 -Node: Accessing The Source1155524 -Node: Adding Code1156959 -Node: New Ports1163178 -Node: Derived Files1167666 -Ref: Derived Files-Footnote-11173151 -Ref: Derived Files-Footnote-21173186 -Ref: Derived Files-Footnote-31173784 -Node: Future Extensions1173898 -Node: Implementation Limitations1174556 -Node: Extension Design1175739 -Node: Old Extension Problems1176893 -Ref: Old Extension Problems-Footnote-11178411 -Node: Extension New Mechanism Goals1178468 -Ref: Extension New Mechanism Goals-Footnote-11181832 -Node: Extension Other Design Decisions1182021 -Node: Extension Future Growth1184134 -Node: Old Extension Mechanism1184970 -Node: Notes summary1186733 -Node: Basic Concepts1187915 -Node: Basic High Level1188596 -Ref: figure-general-flow1188878 -Ref: figure-process-flow1189563 -Ref: Basic High Level-Footnote-11192864 -Node: Basic Data Typing1193049 -Node: Glossary1196377 -Node: Copying1228323 -Node: GNU Free Documentation License1265862 -Node: Index1290980 +Ref: This Manual-Footnote-161545 +Node: Conventions61645 +Node: Manual History63999 +Ref: Manual History-Footnote-166994 +Ref: Manual History-Footnote-267035 +Node: How To Contribute67109 +Node: Acknowledgments68238 +Node: Getting Started73124 +Node: Running gawk75563 +Node: One-shot76753 +Node: Read Terminal78016 +Node: Long80048 +Node: Executable Scripts81561 +Ref: Executable Scripts-Footnote-184356 +Node: Comments84459 +Node: Quoting86943 +Node: DOS Quoting92460 +Node: Sample Data Files93135 +Node: Very Simple95730 +Node: Two Rules100632 +Node: More Complex102517 +Node: Statements/Lines105383 +Ref: Statements/Lines-Footnote-1109842 +Node: Other Features110107 +Node: When111043 +Ref: When-Footnote-1112797 +Node: Intro Summary112862 +Node: Invoking Gawk113746 +Node: Command Line115260 +Node: Options116058 +Ref: Options-Footnote-1131965 +Ref: Options-Footnote-2132195 +Node: Other Arguments132220 +Node: Naming Standard Input135167 +Node: Environment Variables136260 +Node: AWKPATH Variable136818 +Ref: AWKPATH Variable-Footnote-1140119 +Ref: AWKPATH Variable-Footnote-2140164 +Node: AWKLIBPATH Variable140425 +Node: Other Environment Variables141569 +Node: Exit Status145334 +Node: Include Files146011 +Node: Loading Shared Libraries149606 +Node: Obsolete151034 +Node: Undocumented151726 +Node: Invoking Summary152023 +Node: Regexp153683 +Node: Regexp Usage155137 +Node: Escape Sequences157174 +Node: Regexp Operators163188 +Ref: Regexp Operators-Footnote-1170604 +Ref: Regexp Operators-Footnote-2170751 +Node: Bracket Expressions170849 +Ref: table-char-classes173325 +Node: Leftmost Longest176462 +Node: Computed Regexps177765 +Node: GNU Regexp Operators181192 +Node: Case-sensitivity184871 +Ref: Case-sensitivity-Footnote-1187758 +Ref: Case-sensitivity-Footnote-2187993 +Node: Regexp Summary188101 +Node: Reading Files189567 +Node: Records191661 +Node: awk split records192394 +Node: gawk split records197325 +Ref: gawk split records-Footnote-1201865 +Node: Fields201902 +Ref: Fields-Footnote-1204682 +Node: Nonconstant Fields204768 +Ref: Nonconstant Fields-Footnote-1207004 +Node: Changing Fields207208 +Node: Field Separators213136 +Node: Default Field Splitting215834 +Node: Regexp Field Splitting216952 +Node: Single Character Fields220305 +Node: Command Line Field Separator221365 +Node: Full Line Fields224583 +Ref: Full Line Fields-Footnote-1226105 +Ref: Full Line Fields-Footnote-2226151 +Node: Field Splitting Summary226252 +Node: Constant Size228326 +Node: Splitting By Content232904 +Ref: Splitting By Content-Footnote-1236875 +Node: Multiple Line237038 +Ref: Multiple Line-Footnote-1242920 +Node: Getline243099 +Node: Plain Getline245303 +Node: Getline/Variable247942 +Node: Getline/File249091 +Node: Getline/Variable/File250477 +Ref: Getline/Variable/File-Footnote-1252080 +Node: Getline/Pipe252168 +Node: Getline/Variable/Pipe254873 +Node: Getline/Coprocess256006 +Node: Getline/Variable/Coprocess257271 +Node: Getline Notes258011 +Node: Getline Summary260806 +Ref: table-getline-variants261228 +Node: Read Timeout261976 +Ref: Read Timeout-Footnote-1265817 +Node: Command-line directories265875 +Node: Input Summary266779 +Node: Input Exercises269951 +Node: Printing270679 +Node: Print272455 +Node: Print Examples273912 +Node: Output Separators276692 +Node: OFMT278709 +Node: Printf280065 +Node: Basic Printf280850 +Node: Control Letters282424 +Node: Format Modifiers286412 +Node: Printf Examples292427 +Node: Redirection294913 +Node: Special FD301754 +Ref: Special FD-Footnote-1304922 +Node: Special Files304996 +Node: Other Inherited Files305613 +Node: Special Network306614 +Node: Special Caveats307474 +Node: Close Files And Pipes308423 +Ref: Close Files And Pipes-Footnote-1315616 +Ref: Close Files And Pipes-Footnote-2315764 +Node: Output Summary315915 +Node: Output Exercises316913 +Node: Expressions317592 +Node: Values318780 +Node: Constants319458 +Node: Scalar Constants320149 +Ref: Scalar Constants-Footnote-1321013 +Node: Nondecimal-numbers321263 +Node: Regexp Constants324276 +Node: Using Constant Regexps324802 +Node: Variables327965 +Node: Using Variables328622 +Node: Assignment Options330532 +Node: Conversion332405 +Node: Strings And Numbers332929 +Ref: Strings And Numbers-Footnote-1335992 +Node: Locale influences conversions336101 +Ref: table-locale-affects338859 +Node: All Operators339477 +Node: Arithmetic Ops340106 +Node: Concatenation342612 +Ref: Concatenation-Footnote-1345459 +Node: Assignment Ops345566 +Ref: table-assign-ops350557 +Node: Increment Ops351870 +Node: Truth Values and Conditions355330 +Node: Truth Values356404 +Node: Typing and Comparison357452 +Node: Variable Typing358272 +Node: Comparison Operators361896 +Ref: table-relational-ops362315 +Node: POSIX String Comparison365810 +Ref: POSIX String Comparison-Footnote-1366884 +Node: Boolean Ops367023 +Ref: Boolean Ops-Footnote-1371505 +Node: Conditional Exp371597 +Node: Function Calls373333 +Node: Precedence377210 +Node: Locales380869 +Node: Expressions Summary382501 +Node: Patterns and Actions385074 +Node: Pattern Overview386194 +Node: Regexp Patterns387871 +Node: Expression Patterns388413 +Node: Ranges392194 +Node: BEGIN/END395302 +Node: Using BEGIN/END396063 +Ref: Using BEGIN/END-Footnote-1398799 +Node: I/O And BEGIN/END398905 +Node: BEGINFILE/ENDFILE401219 +Node: Empty404126 +Node: Using Shell Variables404443 +Node: Action Overview406717 +Node: Statements409042 +Node: If Statement410890 +Node: While Statement412385 +Node: Do Statement414413 +Node: For Statement415561 +Node: Switch Statement418719 +Node: Break Statement421105 +Node: Continue Statement423197 +Node: Next Statement425024 +Node: Nextfile Statement427407 +Node: Exit Statement430059 +Node: Built-in Variables432462 +Node: User-modified433595 +Ref: User-modified-Footnote-1441220 +Node: Auto-set441282 +Ref: Auto-set-Footnote-1454372 +Ref: Auto-set-Footnote-2454578 +Node: ARGC and ARGV454634 +Node: Pattern Action Summary458847 +Node: Arrays461277 +Node: Array Basics462606 +Node: Array Intro463450 +Ref: figure-array-elements465425 +Ref: Array Intro-Footnote-1468129 +Node: Reference to Elements468257 +Node: Assigning Elements470721 +Node: Array Example471212 +Node: Scanning an Array472971 +Node: Controlling Scanning475993 +Ref: Controlling Scanning-Footnote-1481392 +Node: Numeric Array Subscripts481708 +Node: Uninitialized Subscripts483892 +Node: Delete485511 +Ref: Delete-Footnote-1488263 +Node: Multidimensional488320 +Node: Multiscanning491415 +Node: Arrays of Arrays493006 +Node: Arrays Summary497773 +Node: Functions499866 +Node: Built-in500904 +Node: Calling Built-in501985 +Node: Numeric Functions503981 +Ref: Numeric Functions-Footnote-1508009 +Ref: Numeric Functions-Footnote-2508366 +Ref: Numeric Functions-Footnote-3508414 +Node: String Functions508686 +Ref: String Functions-Footnote-1532190 +Ref: String Functions-Footnote-2532318 +Ref: String Functions-Footnote-3532566 +Node: Gory Details532653 +Ref: table-sub-escapes534444 +Ref: table-sub-proposed535963 +Ref: table-posix-sub537326 +Ref: table-gensub-escapes538867 +Ref: Gory Details-Footnote-1539690 +Node: I/O Functions539844 +Ref: table-system-return-values546426 +Ref: I/O Functions-Footnote-1548406 +Ref: I/O Functions-Footnote-2548554 +Node: Time Functions548674 +Ref: Time Functions-Footnote-1559179 +Ref: Time Functions-Footnote-2559247 +Ref: Time Functions-Footnote-3559405 +Ref: Time Functions-Footnote-4559516 +Ref: Time Functions-Footnote-5559628 +Ref: Time Functions-Footnote-6559855 +Node: Bitwise Functions560121 +Ref: table-bitwise-ops560715 +Ref: Bitwise Functions-Footnote-1565053 +Node: Type Functions565226 +Node: I18N Functions566382 +Node: User-defined568033 +Node: Definition Syntax568838 +Ref: Definition Syntax-Footnote-1574525 +Node: Function Example574596 +Ref: Function Example-Footnote-1577518 +Node: Function Caveats577540 +Node: Calling A Function578058 +Node: Variable Scope579016 +Node: Pass By Value/Reference582010 +Node: Return Statement585509 +Node: Dynamic Typing588488 +Node: Indirect Calls589418 +Ref: Indirect Calls-Footnote-1599669 +Node: Functions Summary599797 +Node: Library Functions602502 +Ref: Library Functions-Footnote-1606109 +Ref: Library Functions-Footnote-2606252 +Node: Library Names606423 +Ref: Library Names-Footnote-1609883 +Ref: Library Names-Footnote-2610106 +Node: General Functions610192 +Node: Strtonum Function611295 +Node: Assert Function614317 +Node: Round Function617643 +Node: Cliff Random Function619184 +Node: Ordinal Functions620200 +Ref: Ordinal Functions-Footnote-1623263 +Ref: Ordinal Functions-Footnote-2623515 +Node: Join Function623725 +Ref: Join Function-Footnote-1625495 +Node: Getlocaltime Function625695 +Node: Readfile Function629437 +Node: Shell Quoting631409 +Node: Data File Management632810 +Node: Filetrans Function633442 +Node: Rewind Function637538 +Node: File Checking639443 +Ref: File Checking-Footnote-1640777 +Node: Empty Files640978 +Node: Ignoring Assigns642957 +Node: Getopt Function644507 +Ref: Getopt Function-Footnote-1655976 +Node: Passwd Functions656176 +Ref: Passwd Functions-Footnote-1665015 +Node: Group Functions665103 +Ref: Group Functions-Footnote-1673000 +Node: Walking Arrays673207 +Node: Library Functions Summary676215 +Node: Library Exercises677621 +Node: Sample Programs678086 +Node: Running Examples678856 +Node: Clones679584 +Node: Cut Program680808 +Node: Egrep Program690737 +Ref: Egrep Program-Footnote-1698249 +Node: Id Program698359 +Node: Split Program702039 +Ref: Split Program-Footnote-1705498 +Node: Tee Program705627 +Node: Uniq Program708417 +Node: Wc Program715843 +Ref: Wc Program-Footnote-1720098 +Node: Miscellaneous Programs720192 +Node: Dupword Program721405 +Node: Alarm Program723435 +Node: Translate Program728290 +Ref: Translate Program-Footnote-1732855 +Node: Labels Program733125 +Ref: Labels Program-Footnote-1736476 +Node: Word Sorting736560 +Node: History Sorting740632 +Node: Extract Program742467 +Node: Simple Sed749996 +Node: Igawk Program753070 +Ref: Igawk Program-Footnote-1767401 +Ref: Igawk Program-Footnote-2767603 +Ref: Igawk Program-Footnote-3767725 +Node: Anagram Program767840 +Node: Signature Program770902 +Node: Programs Summary772149 +Node: Programs Exercises773363 +Ref: Programs Exercises-Footnote-1777492 +Node: Advanced Features777583 +Node: Nondecimal Data779573 +Node: Array Sorting781164 +Node: Controlling Array Traversal781864 +Ref: Controlling Array Traversal-Footnote-1790231 +Node: Array Sorting Functions790349 +Ref: Array Sorting Functions-Footnote-1795440 +Node: Two-way I/O795636 +Ref: Two-way I/O-Footnote-1801930 +Ref: Two-way I/O-Footnote-2802117 +Node: TCP/IP Networking802199 +Node: Profiling805317 +Node: Advanced Features Summary812856 +Node: Internationalization814792 +Node: I18N and L10N816272 +Node: Explaining gettext816959 +Ref: Explaining gettext-Footnote-1821982 +Ref: Explaining gettext-Footnote-2822167 +Node: Programmer i18n822332 +Ref: Programmer i18n-Footnote-1827187 +Node: Translator i18n827236 +Node: String Extraction828030 +Ref: String Extraction-Footnote-1829162 +Node: Printf Ordering829248 +Ref: Printf Ordering-Footnote-1832034 +Node: I18N Portability832098 +Ref: I18N Portability-Footnote-1834554 +Node: I18N Example834617 +Ref: I18N Example-Footnote-1837423 +Node: Gawk I18N837496 +Node: I18N Summary838141 +Node: Debugger839482 +Node: Debugging840504 +Node: Debugging Concepts840945 +Node: Debugging Terms842754 +Node: Awk Debugging845329 +Node: Sample Debugging Session846235 +Node: Debugger Invocation846769 +Node: Finding The Bug848155 +Node: List of Debugger Commands854633 +Node: Breakpoint Control855966 +Node: Debugger Execution Control859660 +Node: Viewing And Changing Data863022 +Node: Execution Stack866396 +Node: Debugger Info868033 +Node: Miscellaneous Debugger Commands872104 +Node: Readline Support877192 +Node: Limitations878088 +Node: Debugging Summary880197 +Node: Arbitrary Precision Arithmetic881370 +Node: Computer Arithmetic882786 +Ref: table-numeric-ranges886377 +Ref: Computer Arithmetic-Footnote-1887099 +Node: Math Definitions887156 +Ref: table-ieee-formats890470 +Ref: Math Definitions-Footnote-1891073 +Node: MPFR features891178 +Node: FP Math Caution892895 +Ref: FP Math Caution-Footnote-1893967 +Node: Inexactness of computations894336 +Node: Inexact representation895296 +Node: Comparing FP Values896656 +Node: Errors accumulate897738 +Node: Getting Accuracy899171 +Node: Try To Round901881 +Node: Setting precision902780 +Ref: table-predefined-precision-strings903477 +Node: Setting the rounding mode905307 +Ref: table-gawk-rounding-modes905681 +Ref: Setting the rounding mode-Footnote-1909089 +Node: Arbitrary Precision Integers909268 +Ref: Arbitrary Precision Integers-Footnote-1912252 +Node: POSIX Floating Point Problems912401 +Ref: POSIX Floating Point Problems-Footnote-1916283 +Node: Floating point summary916321 +Node: Dynamic Extensions918511 +Node: Extension Intro920064 +Node: Plugin License921330 +Node: Extension Mechanism Outline922127 +Ref: figure-load-extension922566 +Ref: figure-register-new-function924131 +Ref: figure-call-new-function925223 +Node: Extension API Description927285 +Node: Extension API Functions Introduction928733 +Node: General Data Types933545 +Ref: General Data Types-Footnote-1939500 +Node: Memory Allocation Functions939799 +Ref: Memory Allocation Functions-Footnote-1942644 +Node: Constructor Functions942743 +Node: Registration Functions944488 +Node: Extension Functions945173 +Node: Exit Callback Functions947472 +Node: Extension Version String948722 +Node: Input Parsers949385 +Node: Output Wrappers959267 +Node: Two-way processors963779 +Node: Printing Messages966044 +Ref: Printing Messages-Footnote-1967118 +Node: Updating ERRNO967271 +Node: Requesting Values968010 +Ref: table-value-types-returned968747 +Node: Accessing Parameters969630 +Node: Symbol Table Access970865 +Node: Symbol table by name971377 +Node: Symbol table by cookie973398 +Ref: Symbol table by cookie-Footnote-1977550 +Node: Cached values977614 +Ref: Cached values-Footnote-1981121 +Node: Array Manipulation981212 +Ref: Array Manipulation-Footnote-1982311 +Node: Array Data Types982348 +Ref: Array Data Types-Footnote-1985006 +Node: Array Functions985098 +Node: Flattening Arrays988956 +Node: Creating Arrays995864 +Node: Extension API Variables1000633 +Node: Extension Versioning1001269 +Ref: gawk-api-version1001706 +Node: Extension API Informational Variables1003462 +Node: Extension API Boilerplate1004526 +Node: Finding Extensions1008340 +Node: Extension Example1008899 +Node: Internal File Description1009697 +Node: Internal File Ops1013777 +Ref: Internal File Ops-Footnote-11025539 +Node: Using Internal File Ops1025679 +Ref: Using Internal File Ops-Footnote-11028062 +Node: Extension Samples1028336 +Node: Extension Sample File Functions1029865 +Node: Extension Sample Fnmatch1037514 +Node: Extension Sample Fork1039001 +Node: Extension Sample Inplace1040219 +Node: Extension Sample Ord1043429 +Node: Extension Sample Readdir1044265 +Ref: table-readdir-file-types1045154 +Node: Extension Sample Revout1045959 +Node: Extension Sample Rev2way1046548 +Node: Extension Sample Read write array1047288 +Node: Extension Sample Readfile1049230 +Node: Extension Sample Time1050325 +Node: Extension Sample API Tests1051673 +Node: gawkextlib1052165 +Node: Extension summary1054589 +Node: Extension Exercises1058281 +Node: Language History1059778 +Node: V7/SVR3.11061434 +Node: SVR41063586 +Node: POSIX1065020 +Node: BTL1066399 +Node: POSIX/GNU1067128 +Node: Feature History1072649 +Node: Common Extensions1085978 +Node: Ranges and Locales1087261 +Ref: Ranges and Locales-Footnote-11091877 +Ref: Ranges and Locales-Footnote-21091904 +Ref: Ranges and Locales-Footnote-31092139 +Node: Contributors1092360 +Node: History summary1097929 +Node: Installation1099309 +Node: Gawk Distribution1100253 +Node: Getting1100737 +Node: Extracting1101698 +Node: Distribution contents1103336 +Node: Unix Installation1109087 +Node: Quick Installation1109703 +Node: Additional Configuration Options1112130 +Node: Configuration Philosophy1113934 +Node: Non-Unix Installation1116303 +Node: PC Installation1116761 +Node: PC Binary Installation1118081 +Node: PC Compiling1119933 +Ref: PC Compiling-Footnote-11122957 +Node: PC Testing1123066 +Node: PC Using1124246 +Node: Cygwin1128360 +Node: MSYS1129130 +Node: VMS Installation1129631 +Node: VMS Compilation1130422 +Ref: VMS Compilation-Footnote-11131651 +Node: VMS Dynamic Extensions1131709 +Node: VMS Installation Details1133394 +Node: VMS Running1135647 +Node: VMS GNV1139926 +Node: VMS Old Gawk1140661 +Node: Bugs1141132 +Node: Other Versions1145329 +Node: Installation summary1151913 +Node: Notes1152971 +Node: Compatibility Mode1153836 +Node: Additions1154618 +Node: Accessing The Source1155543 +Node: Adding Code1156978 +Node: New Ports1163197 +Node: Derived Files1167685 +Ref: Derived Files-Footnote-11173170 +Ref: Derived Files-Footnote-21173205 +Ref: Derived Files-Footnote-31173803 +Node: Future Extensions1173917 +Node: Implementation Limitations1174575 +Node: Extension Design1175758 +Node: Old Extension Problems1176912 +Ref: Old Extension Problems-Footnote-11178430 +Node: Extension New Mechanism Goals1178487 +Ref: Extension New Mechanism Goals-Footnote-11181851 +Node: Extension Other Design Decisions1182040 +Node: Extension Future Growth1184153 +Node: Old Extension Mechanism1184989 +Node: Notes summary1186752 +Node: Basic Concepts1187934 +Node: Basic High Level1188615 +Ref: figure-general-flow1188897 +Ref: figure-process-flow1189582 +Ref: Basic High Level-Footnote-11192883 +Node: Basic Data Typing1193068 +Node: Glossary1196396 +Node: Copying1228342 +Node: GNU Free Documentation License1265881 +Node: Index1290999 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 0cbb1023..ae6d88b4 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -1570,7 +1570,7 @@ All appear in the index, under the heading ``sidebar.'' @end ifclear Most of the time, the examples use complete @command{awk} programs. -Some of the more advanced sections show only the part of the @command{awk} +Some of the more advanced @value{SECTION}s show only the part of the @command{awk} program that illustrates the concept being described. Although this @value{DOCUMENT} is aimed principally at people who have not been @@ -1793,6 +1793,7 @@ The GNU FDL} is the license that covers this @value{DOCUMENT}. @end itemize +@c ok not to use CHAPTER / SECTION here Some of the chapters have exercise sections; these have also been omitted from the print edition but are available online. @end ifset @@ -2455,7 +2456,7 @@ reliable because there are no other files to misplace. Later in this chapter, in @ifdocbook -the section +the @value{SECTION} @end ifdocbook @ref{Very Simple}, we'll see examples of several short, @@ -3394,7 +3395,8 @@ After the last line of output from @command{ls} has been processed, the @code{END} rule executes and prints the value of @code{sum}. In this example, the value of @code{sum} is 80600. -These more advanced @command{awk} techniques are covered in later sections +These more advanced @command{awk} techniques are covered in later +@value{SECTION}s (@pxref{Action Overview}). Before you can move on to more advanced @command{awk} programming, you have to know how @command{awk} interprets your input and displays your output. By manipulating fields and using @@ -8597,7 +8599,7 @@ trying to accomplish. @item @ifdocbook -The next section +The next @value{SECTION} @end ifdocbook @ifnotdocbook @ref{Getline Summary}, @@ -13482,10 +13484,10 @@ As with the @code{BEGIN} and @code{END} rules @end ifnotdocbook @end ifnottex @iftex -(see the previous section), +(see the previous @value{SECTION}), @end iftex @ifdocbook -(see the previous section), +(see the previous @value{SECTION}), @end ifdocbook all @code{BEGINFILE} rules in a program are merged, in the order they are read by @command{gawk}, and all @code{ENDFILE} rules are merged as well. @@ -14247,7 +14249,7 @@ statement outside a loop the same way they treated a @code{break} statement outside a loop: as if it were a @code{next} statement @ifset FOR_PRINT -(discussed in the following section). +(discussed in the following @value{SECTION}). @end ifset @ifclear FOR_PRINT (@pxref{Next Statement}). @@ -16833,10 +16835,9 @@ be called. @node Built-in @section Built-in Functions -@dfn{Built-in} functions are always available for -your @command{awk} program to call. This @value{SECTION} defines all -the built-in -functions in @command{awk}; some of these are mentioned in other sections +@dfn{Built-in} functions are always available for your @command{awk} +program to call. This @value{SECTION} defines all the built-in functions +in @command{awk}; some of these are mentioned in other @value{SECTION}s but are summarized here for your convenience. @menu @@ -18081,7 +18082,7 @@ that had been its behavior for many years. When @value{PVERSION} 4.0.0 was released, the @command{gawk} maintainer made the POSIX rules the default, breaking well over a decade's worth of backward compatibility.@footnote{This was rather naive of him, despite -there being a note in this section indicating that the next major version +there being a note in this @value{SECTION} indicating that the next major version would move to the POSIX rules.} Needless to say, this was a bad idea, and as of @value{PVERSION} 4.0.1, @command{gawk} resumed its historical behavior, and only follows the POSIX rules when @option{--posix} is given. @@ -23216,7 +23217,7 @@ presenting a potpourri of @command{awk} programs for your reading enjoyment. @c FULLXREF OFF @ifnotinfo -There are three sections. +There are three @value{SECTION}s. The first describes how to run the programs presented in this @value{CHAPTER}. @@ -32261,7 +32262,7 @@ it to always be called, and to take effect as appropriate (as the @code{readdir} extension does). Or you may want it to take effect based upon the value of an @command{awk} variable, as the XML extension from the @code{gawkextlib} project does (@pxref{gawkextlib}). -In the latter case, code in a @code{BEGINFILE} section +In the latter case, code in a @code{BEGINFILE} rule can look at @code{FILENAME} and @code{ERRNO} to decide whether or not to activate an input parser (@pxref{BEGINFILE/ENDFILE}). @@ -32426,7 +32427,7 @@ values, etc.) within @command{gawk}. @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ awk_input_buf_t *inbuf, @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ awk_output_buf_t *outbuf); The function pointed to by this field should fill in the @code{awk_input_buf_t} and -@code{awk_outut_buf_t} structures pointed to by @code{inbuf} and +@code{awk_output_buf_t} structures pointed to by @code{inbuf} and @code{outbuf}, respectively. These structures were described earlier. @item awk_const struct two_way_processor *awk_const next; @@ -32805,7 +32806,7 @@ my_extension_init() @} @end example -Next, use the routines in this section for retrieving and updating +Next, use the routines in this @value{SECTION} for retrieving and updating the value through the cookie. Thus, @code{do_magic()} now becomes something like this: @@ -32837,7 +32838,7 @@ and carefully check the return values from the API functions. @node Cached values @subsubsection Creating and Using Cached Values -The routines in this section allow you to create and release +The routines in this @value{SECTION} allow you to create and release cached values. Like scalar cookies, in theory, cached values are not necessary. You can create numbers and strings using the functions in @ref{Constructor Functions}. You can then @@ -32853,7 +32854,7 @@ are clearly less problematic, requiring only a C @code{double} to store.} It is clearly more efficient, if possible, to create a value once, and then tell @command{gawk} to reuse the value for multiple variables. That -is what the routines in this section let you do. The functions are as follows: +is what the routines in this @value{SECTION} let you do. The functions are as follows: @table @code @item awk_bool_t create_value(awk_value_t *value, awk_value_cookie_t *result); @@ -33090,7 +33091,7 @@ structure and fill it in. Set the pointer whose address is passed as @code{data} to point to this structure. Return true upon success, or false otherwise. @ifset FOR_PRINT -See the next section +See the next @value{SECTION} @end ifset @ifclear FOR_PRINT @xref{Flattening Arrays}, diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 48fafeeb..d8976b05 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -1537,7 +1537,7 @@ All appear in the index, under the heading ``sidebar.'' @end ifclear Most of the time, the examples use complete @command{awk} programs. -Some of the more advanced sections show only the part of the @command{awk} +Some of the more advanced @value{SECTION}s show only the part of the @command{awk} program that illustrates the concept being described. Although this @value{DOCUMENT} is aimed principally at people who have not been @@ -1760,6 +1760,7 @@ The GNU FDL} is the license that covers this @value{DOCUMENT}. @end itemize +@c ok not to use CHAPTER / SECTION here Some of the chapters have exercise sections; these have also been omitted from the print edition but are available online. @end ifset @@ -2422,7 +2423,7 @@ reliable because there are no other files to misplace. Later in this chapter, in @ifdocbook -the section +the @value{SECTION} @end ifdocbook @ref{Very Simple}, we'll see examples of several short, @@ -3305,7 +3306,8 @@ After the last line of output from @command{ls} has been processed, the @code{END} rule executes and prints the value of @code{sum}. In this example, the value of @code{sum} is 80600. -These more advanced @command{awk} techniques are covered in later sections +These more advanced @command{awk} techniques are covered in later +@value{SECTION}s (@pxref{Action Overview}). Before you can move on to more advanced @command{awk} programming, you have to know how @command{awk} interprets your input and displays your output. By manipulating fields and using @@ -8197,7 +8199,7 @@ trying to accomplish. @item @ifdocbook -The next section +The next @value{SECTION} @end ifdocbook @ifnotdocbook @ref{Getline Summary}, @@ -12810,10 +12812,10 @@ As with the @code{BEGIN} and @code{END} rules @end ifnotdocbook @end ifnottex @iftex -(see the previous section), +(see the previous @value{SECTION}), @end iftex @ifdocbook -(see the previous section), +(see the previous @value{SECTION}), @end ifdocbook all @code{BEGINFILE} rules in a program are merged, in the order they are read by @command{gawk}, and all @code{ENDFILE} rules are merged as well. @@ -13575,7 +13577,7 @@ statement outside a loop the same way they treated a @code{break} statement outside a loop: as if it were a @code{next} statement @ifset FOR_PRINT -(discussed in the following section). +(discussed in the following @value{SECTION}). @end ifset @ifclear FOR_PRINT (@pxref{Next Statement}). @@ -16115,10 +16117,9 @@ be called. @node Built-in @section Built-in Functions -@dfn{Built-in} functions are always available for -your @command{awk} program to call. This @value{SECTION} defines all -the built-in -functions in @command{awk}; some of these are mentioned in other sections +@dfn{Built-in} functions are always available for your @command{awk} +program to call. This @value{SECTION} defines all the built-in functions +in @command{awk}; some of these are mentioned in other @value{SECTION}s but are summarized here for your convenience. @menu @@ -17330,7 +17331,7 @@ that had been its behavior for many years. When @value{PVERSION} 4.0.0 was released, the @command{gawk} maintainer made the POSIX rules the default, breaking well over a decade's worth of backward compatibility.@footnote{This was rather naive of him, despite -there being a note in this section indicating that the next major version +there being a note in this @value{SECTION} indicating that the next major version would move to the POSIX rules.} Needless to say, this was a bad idea, and as of @value{PVERSION} 4.0.1, @command{gawk} resumed its historical behavior, and only follows the POSIX rules when @option{--posix} is given. @@ -22307,7 +22308,7 @@ presenting a potpourri of @command{awk} programs for your reading enjoyment. @c FULLXREF OFF @ifnotinfo -There are three sections. +There are three @value{SECTION}s. The first describes how to run the programs presented in this @value{CHAPTER}. @@ -31352,7 +31353,7 @@ it to always be called, and to take effect as appropriate (as the @code{readdir} extension does). Or you may want it to take effect based upon the value of an @command{awk} variable, as the XML extension from the @code{gawkextlib} project does (@pxref{gawkextlib}). -In the latter case, code in a @code{BEGINFILE} section +In the latter case, code in a @code{BEGINFILE} rule can look at @code{FILENAME} and @code{ERRNO} to decide whether or not to activate an input parser (@pxref{BEGINFILE/ENDFILE}). @@ -31517,7 +31518,7 @@ values, etc.) within @command{gawk}. @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ awk_input_buf_t *inbuf, @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ awk_output_buf_t *outbuf); The function pointed to by this field should fill in the @code{awk_input_buf_t} and -@code{awk_outut_buf_t} structures pointed to by @code{inbuf} and +@code{awk_output_buf_t} structures pointed to by @code{inbuf} and @code{outbuf}, respectively. These structures were described earlier. @item awk_const struct two_way_processor *awk_const next; @@ -31896,7 +31897,7 @@ my_extension_init() @} @end example -Next, use the routines in this section for retrieving and updating +Next, use the routines in this @value{SECTION} for retrieving and updating the value through the cookie. Thus, @code{do_magic()} now becomes something like this: @@ -31928,7 +31929,7 @@ and carefully check the return values from the API functions. @node Cached values @subsubsection Creating and Using Cached Values -The routines in this section allow you to create and release +The routines in this @value{SECTION} allow you to create and release cached values. Like scalar cookies, in theory, cached values are not necessary. You can create numbers and strings using the functions in @ref{Constructor Functions}. You can then @@ -31944,7 +31945,7 @@ are clearly less problematic, requiring only a C @code{double} to store.} It is clearly more efficient, if possible, to create a value once, and then tell @command{gawk} to reuse the value for multiple variables. That -is what the routines in this section let you do. The functions are as follows: +is what the routines in this @value{SECTION} let you do. The functions are as follows: @table @code @item awk_bool_t create_value(awk_value_t *value, awk_value_cookie_t *result); @@ -32181,7 +32182,7 @@ structure and fill it in. Set the pointer whose address is passed as @code{data} to point to this structure. Return true upon success, or false otherwise. @ifset FOR_PRINT -See the next section +See the next @value{SECTION} @end ifset @ifclear FOR_PRINT @xref{Flattening Arrays}, |