diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-02-06 10:32:12 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-02-06 10:32:12 +0200 |
commit | 1e1bfd963b8b3a1381247d6ddb5734f10b0ed837 (patch) | |
tree | 718d22e922a6587130c54450d46557299ae23a63 | |
parent | 73ae20aa7f21d31907f19d9a47fe00b717fc4d7a (diff) | |
parent | 38162ad82080f1dd6f347fe2bc4e83478a7dc9c4 (diff) | |
download | egawk-1e1bfd963b8b3a1381247d6ddb5734f10b0ed837.tar.gz egawk-1e1bfd963b8b3a1381247d6ddb5734f10b0ed837.tar.bz2 egawk-1e1bfd963b8b3a1381247d6ddb5734f10b0ed837.zip |
Merge branch 'gawk-4.1-stable'
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 515 | ||||
-rw-r--r-- | doc/gawk.texi | 78 | ||||
-rw-r--r-- | doc/gawktexi.in | 78 |
4 files changed, 343 insertions, 334 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index e613ffa6..1e3f1551 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2015-02-06 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: O'Reilly fixes. + 2015-02-04 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: O'Reilly fixes. @@ -51,7 +55,7 @@ 2015-01-19 Arnold D. Robbins <arnold@skeeve.com> * gawkinet.texi: Fix capitalization in document title. - * gawktexi.in: Here we again: Starting on more O'Reilly fixes. + * gawktexi.in: Here we go again: Starting on more O'Reilly fixes. 2014-12-26 Antonio Giovanni Colombo <azc100@gmail.com> diff --git a/doc/gawk.info b/doc/gawk.info index f488769b..fad0fce3 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -19133,16 +19133,16 @@ File: gawk.info, Node: Advanced Features, Next: Internationalization, Prev: S This major node discusses advanced features in `gawk'. It's a bit of a "grab bag" of items that are otherwise unrelated to each other. -First, a command-line option allows `gawk' to recognize nondecimal -numbers in input data, not just in `awk' programs. Then, `gawk''s -special features for sorting arrays are presented. Next, two-way I/O, -discussed briefly in earlier parts of this Info file, is described in -full detail, along with the basics of TCP/IP networking. Finally, -`gawk' can "profile" an `awk' program, making it possible to tune it -for performance. +First, we look at a command-line option that allows `gawk' to recognize +nondecimal numbers in input data, not just in `awk' programs. Then, +`gawk''s special features for sorting arrays are presented. Next, +two-way I/O, discussed briefly in earlier parts of this Info file, is +described in full detail, along with the basics of TCP/IP networking. +Finally, we see how `gawk' can "profile" an `awk' program, making it +possible to tune it for performance. - A number of advanced features require separate major nodes of their -own: + Additional advanced features are discussed in separate major nodes +of their own: * *note Internationalization::, discusses how to internationalize your `awk' programs, so that they can speak multiple national @@ -19216,7 +19216,7 @@ File: gawk.info, Node: Array Sorting, Next: Two-way I/O, Prev: Nondecimal Dat 12.2 Controlling Array Traversal and Array Sorting ================================================== -`gawk' lets you control the order in which a `for (i in array)' loop +`gawk' lets you control the order in which a `for (INDX in ARRAY)' loop traverses an array. In addition, two built-in functions, `asort()' and `asorti()', let @@ -19235,9 +19235,9 @@ File: gawk.info, Node: Controlling Array Traversal, Next: Array Sorting Functi 12.2.1 Controlling Array Traversal ---------------------------------- -By default, the order in which a `for (i in array)' loop scans an array -is not defined; it is generally based upon the internal implementation -of arrays inside `awk'. +By default, the order in which a `for (INDX in ARRAY)' loop scans an +array is not defined; it is generally based upon the internal +implementation of arrays inside `awk'. Often, though, it is desirable to be able to loop over the elements in a particular order that you, the programmer, choose. `gawk' lets @@ -19259,21 +19259,22 @@ arguments: RETURN < 0; 0; OR > 0 } - Here, I1 and I2 are the indices, and V1 and V2 are the corresponding -values of the two elements being compared. Either V1 or V2, or both, -can be arrays if the array being traversed contains subarrays as values. -(*Note Arrays of Arrays::, for more information about subarrays.) The -three possible return values are interpreted as follows: + Here, `i1' and `i2' are the indices, and `v1' and `v2' are the +corresponding values of the two elements being compared. Either `v1' +or `v2', or both, can be arrays if the array being traversed contains +subarrays as values. (*Note Arrays of Arrays::, for more information +about subarrays.) The three possible return values are interpreted as +follows: `comp_func(i1, v1, i2, v2) < 0' - Index I1 comes before index I2 during loop traversal. + Index `i1' comes before index `i2' during loop traversal. `comp_func(i1, v1, i2, v2) == 0' - Indices I1 and I2 come together but the relative order with + Indices `i1' and `i2' come together, but the relative order with respect to each other is undefined. `comp_func(i1, v1, i2, v2) > 0' - Index I1 comes after index I2 during loop traversal. + Index `i1' comes after index `i2' during loop traversal. Our first comparison function can be used to scan an array in numerical order of the indices: @@ -19416,7 +19417,7 @@ elements compare equal. This is usually not a problem, but letting the tied elements come out in arbitrary order can be an issue, especially when comparing item values. The partial ordering of the equal elements may change the next time the array is traversed, if other elements are -added or removed from the array. One way to resolve ties when +added to or removed from the array. One way to resolve ties when comparing elements with otherwise equal values is to include the indices in the comparison rules. Note that doing this may make the loop traversal less efficient, so consider it only if necessary. The @@ -19450,14 +19451,14 @@ lowercase letters as equivalent or distinct. Another point to keep in mind is that in the case of subarrays, the element values can themselves be arrays; a production comparison -function should use the `isarray()' function (*note Type Functions::), +function should use the `isarray()' function (*note Type Functions::) to check for this, and choose a defined sorting order for subarrays. All sorting based on `PROCINFO["sorted_in"]' is disabled in POSIX mode, because the `PROCINFO' array is not special in that case. As a side note, sorting the array indices before traversing the -array has been reported to add 15% to 20% overhead to the execution +array has been reported to add a 15% to 20% overhead to the execution time of `awk' programs. For this reason, sorted array traversal is not the default. @@ -19506,8 +19507,8 @@ array is not affected. Often, what's needed is to sort on the values of the _indices_ instead of the values of the elements. To do that, use the `asorti()' function. The interface and behavior are identical to that of -`asort()', except that the index values are used for sorting, and -become the values of the result array: +`asort()', except that the index values are used for sorting and become +the values of the result array: { source[$0] = some_func($0) } @@ -19539,8 +19540,8 @@ chooses_, taking into account just the indices, just the values, or both. This is extremely powerful. Once the array is sorted, `asort()' takes the _values_ in their -final order, and uses them to fill in the result array, whereas -`asorti()' takes the _indices_ in their final order, and uses them to +final order and uses them to fill in the result array, whereas +`asorti()' takes the _indices_ in their final order and uses them to fill in the result array. NOTE: Copying array indices and elements isn't expensive in terms @@ -19738,7 +19739,7 @@ REMOTE-PORT name. NOTE: Failure in opening a two-way socket will result in a - non-fatal error being returned to the calling code. The value of + nonfatal error being returned to the calling code. The value of `ERRNO' indicates the error (*note Auto-set::). Consider the following very simple example: @@ -19819,8 +19820,8 @@ First, the `awk' program: junk Here is the `awkprof.out' that results from running the `gawk' -profiler on this program and data. (This example also illustrates that -`awk' programmers sometimes get up very early in the morning to work.) +profiler on this program and data (this example also illustrates that +`awk' programmers sometimes get up very early in the morning to work): # gawk profile, created Mon Sep 29 05:16:21 2014 @@ -19873,7 +19874,7 @@ profiler on this program and data. (This example also illustrates that output. They are as follows: * The program is printed in the order `BEGIN' rules, `BEGINFILE' - rules, pattern/action rules, `ENDFILE' rules, `END' rules and + rules, pattern-action rules, `ENDFILE' rules, `END' rules, and functions, listed alphabetically. Multiple `BEGIN' and `END' rules retain their separate identities, as do multiple `BEGINFILE' and `ENDFILE' rules. @@ -19918,13 +19919,13 @@ output. They are as follows: scalar, it gets parenthesized. * `gawk' supplies leading comments in front of the `BEGIN' and `END' - rules, the `BEGINFILE' and `ENDFILE' rules, the pattern/action + rules, the `BEGINFILE' and `ENDFILE' rules, the pattern-action rules, and the functions. The profiled version of your program may not look exactly like what you typed when you wrote it. This is because `gawk' creates the -profiled version by "pretty printing" its internal representation of +profiled version by "pretty-printing" its internal representation of the program. The advantage to this is that `gawk' can produce a standard representation. Also, things such as: @@ -19974,15 +19975,15 @@ output profile file. produces the profile and the function call trace and then exits. When `gawk' runs on MS-Windows systems, it uses the `INT' and `QUIT' -signals for producing the profile and, in the case of the `INT' signal, +signals for producing the profile, and in the case of the `INT' signal, `gawk' exits. This is because these systems don't support the `kill' command, so the only signals you can deliver to a program are those generated by the keyboard. The `INT' signal is generated by the -`Ctrl-<C>' or `Ctrl-<BREAK>' key, while the `QUIT' signal is generated -by the `Ctrl-<\>' key. +`Ctrl-c' or `Ctrl-BREAK' key, while the `QUIT' signal is generated by +the `Ctrl-\' key. Finally, `gawk' also accepts another option, `--pretty-print'. When -called this way, `gawk' "pretty prints" the program into `awkprof.out', +called this way, `gawk' "pretty-prints" the program into `awkprof.out', without any execution counts. NOTE: Once upon a time, the `--pretty-print' option would also run @@ -20034,7 +20035,7 @@ File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanc two-way communications. * By using special file names with the `|&' operator, you can open a - TCP/IP (or UDP/IP) connection to remote hosts in the Internet. + TCP/IP (or UDP/IP) connection to remote hosts on the Internet. `gawk' supports both IPv4 and IPv6. * You can generate statement count profiles of your program. This @@ -20043,7 +20044,7 @@ File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanc `USR1' signal while profiling causes `gawk' to dump the profile and keep going, including a function call stack. - * You can also just "pretty print" the program. This currently also + * You can also just "pretty-print" the program. This currently also runs the program, but that will change in the next major release. @@ -34994,222 +34995,222 @@ Node: Programs Summary770933 Node: Programs Exercises772154 Ref: Programs Exercises-Footnote-1776285 Node: Advanced Features776376 -Node: Nondecimal Data778324 -Node: Array Sorting779914 -Node: Controlling Array Traversal780611 -Ref: Controlling Array Traversal-Footnote-1788944 -Node: Array Sorting Functions789062 -Ref: Array Sorting Functions-Footnote-1792951 -Node: Two-way I/O793147 -Ref: Two-way I/O-Footnote-1798092 -Ref: Two-way I/O-Footnote-2798278 -Node: TCP/IP Networking798360 -Node: Profiling801233 -Node: Advanced Features Summary809510 -Node: Internationalization811443 -Node: I18N and L10N812923 -Node: Explaining gettext813609 -Ref: Explaining gettext-Footnote-1818634 -Ref: Explaining gettext-Footnote-2818818 -Node: Programmer i18n818983 -Ref: Programmer i18n-Footnote-1823849 -Node: Translator i18n823898 -Node: String Extraction824692 -Ref: String Extraction-Footnote-1825823 -Node: Printf Ordering825909 -Ref: Printf Ordering-Footnote-1828695 -Node: I18N Portability828759 -Ref: I18N Portability-Footnote-1831214 -Node: I18N Example831277 -Ref: I18N Example-Footnote-1834080 -Node: Gawk I18N834152 -Node: I18N Summary834790 -Node: Debugger836129 -Node: Debugging837151 -Node: Debugging Concepts837592 -Node: Debugging Terms839445 -Node: Awk Debugging842017 -Node: Sample Debugging Session842911 -Node: Debugger Invocation843431 -Node: Finding The Bug844815 -Node: List of Debugger Commands851290 -Node: Breakpoint Control852623 -Node: Debugger Execution Control856319 -Node: Viewing And Changing Data859683 -Node: Execution Stack863061 -Node: Debugger Info864698 -Node: Miscellaneous Debugger Commands868715 -Node: Readline Support873744 -Node: Limitations874636 -Node: Debugging Summary876750 -Node: Arbitrary Precision Arithmetic877918 -Node: Computer Arithmetic879334 -Ref: table-numeric-ranges882932 -Ref: Computer Arithmetic-Footnote-1883791 -Node: Math Definitions883848 -Ref: table-ieee-formats887136 -Ref: Math Definitions-Footnote-1887740 -Node: MPFR features887845 -Node: FP Math Caution889516 -Ref: FP Math Caution-Footnote-1890566 -Node: Inexactness of computations890935 -Node: Inexact representation891894 -Node: Comparing FP Values893251 -Node: Errors accumulate894333 -Node: Getting Accuracy895766 -Node: Try To Round898428 -Node: Setting precision899327 -Ref: table-predefined-precision-strings900011 -Node: Setting the rounding mode901800 -Ref: table-gawk-rounding-modes902164 -Ref: Setting the rounding mode-Footnote-1905619 -Node: Arbitrary Precision Integers905798 -Ref: Arbitrary Precision Integers-Footnote-1910698 -Node: POSIX Floating Point Problems910847 -Ref: POSIX Floating Point Problems-Footnote-1914720 -Node: Floating point summary914758 -Node: Dynamic Extensions916952 -Node: Extension Intro918504 -Node: Plugin License919770 -Node: Extension Mechanism Outline920567 -Ref: figure-load-extension920995 -Ref: figure-register-new-function922475 -Ref: figure-call-new-function923479 -Node: Extension API Description925465 -Node: Extension API Functions Introduction926915 -Node: General Data Types931739 -Ref: General Data Types-Footnote-1937478 -Node: Memory Allocation Functions937777 -Ref: Memory Allocation Functions-Footnote-1940616 -Node: Constructor Functions940712 -Node: Registration Functions942446 -Node: Extension Functions943131 -Node: Exit Callback Functions945428 -Node: Extension Version String946676 -Node: Input Parsers947341 -Node: Output Wrappers957220 -Node: Two-way processors961735 -Node: Printing Messages963939 -Ref: Printing Messages-Footnote-1965015 -Node: Updating `ERRNO'965167 -Node: Requesting Values965907 -Ref: table-value-types-returned966635 -Node: Accessing Parameters967592 -Node: Symbol Table Access968823 -Node: Symbol table by name969337 -Node: Symbol table by cookie971318 -Ref: Symbol table by cookie-Footnote-1975462 -Node: Cached values975525 -Ref: Cached values-Footnote-1979024 -Node: Array Manipulation979115 -Ref: Array Manipulation-Footnote-1980213 -Node: Array Data Types980250 -Ref: Array Data Types-Footnote-1982905 -Node: Array Functions982997 -Node: Flattening Arrays986851 -Node: Creating Arrays993743 -Node: Extension API Variables998514 -Node: Extension Versioning999150 -Node: Extension API Informational Variables1001051 -Node: Extension API Boilerplate1002116 -Node: Finding Extensions1005925 -Node: Extension Example1006485 -Node: Internal File Description1007257 -Node: Internal File Ops1011324 -Ref: Internal File Ops-Footnote-11022994 -Node: Using Internal File Ops1023134 -Ref: Using Internal File Ops-Footnote-11025517 -Node: Extension Samples1025790 -Node: Extension Sample File Functions1027316 -Node: Extension Sample Fnmatch1034954 -Node: Extension Sample Fork1036445 -Node: Extension Sample Inplace1037660 -Node: Extension Sample Ord1039335 -Node: Extension Sample Readdir1040171 -Ref: table-readdir-file-types1041047 -Node: Extension Sample Revout1041858 -Node: Extension Sample Rev2way1042448 -Node: Extension Sample Read write array1043188 -Node: Extension Sample Readfile1045128 -Node: Extension Sample Time1046223 -Node: Extension Sample API Tests1047572 -Node: gawkextlib1048063 -Node: Extension summary1050721 -Node: Extension Exercises1054410 -Node: Language History1055132 -Node: V7/SVR3.11056788 -Node: SVR41058969 -Node: POSIX1060414 -Node: BTL1061803 -Node: POSIX/GNU1062537 -Node: Feature History1068326 -Node: Common Extensions1082052 -Node: Ranges and Locales1083376 -Ref: Ranges and Locales-Footnote-11087994 -Ref: Ranges and Locales-Footnote-21088021 -Ref: Ranges and Locales-Footnote-31088255 -Node: Contributors1088476 -Node: History summary1094017 -Node: Installation1095387 -Node: Gawk Distribution1096333 -Node: Getting1096817 -Node: Extracting1097640 -Node: Distribution contents1099275 -Node: Unix Installation1105340 -Node: Quick Installation1106023 -Node: Shell Startup Files1108434 -Node: Additional Configuration Options1109513 -Node: Configuration Philosophy1111252 -Node: Non-Unix Installation1113621 -Node: PC Installation1114079 -Node: PC Binary Installation1115398 -Node: PC Compiling1117246 -Ref: PC Compiling-Footnote-11120267 -Node: PC Testing1120376 -Node: PC Using1121552 -Node: Cygwin1125667 -Node: MSYS1126490 -Node: VMS Installation1126990 -Node: VMS Compilation1127782 -Ref: VMS Compilation-Footnote-11129004 -Node: VMS Dynamic Extensions1129062 -Node: VMS Installation Details1130746 -Node: VMS Running1132998 -Node: VMS GNV1135834 -Node: VMS Old Gawk1136568 -Node: Bugs1137038 -Node: Other Versions1140921 -Node: Installation summary1147345 -Node: Notes1148401 -Node: Compatibility Mode1149266 -Node: Additions1150048 -Node: Accessing The Source1150973 -Node: Adding Code1152408 -Node: New Ports1158565 -Node: Derived Files1163047 -Ref: Derived Files-Footnote-11168522 -Ref: Derived Files-Footnote-21168556 -Ref: Derived Files-Footnote-31169152 -Node: Future Extensions1169266 -Node: Implementation Limitations1169872 -Node: Extension Design1171120 -Node: Old Extension Problems1172274 -Ref: Old Extension Problems-Footnote-11173791 -Node: Extension New Mechanism Goals1173848 -Ref: Extension New Mechanism Goals-Footnote-11177208 -Node: Extension Other Design Decisions1177397 -Node: Extension Future Growth1179505 -Node: Old Extension Mechanism1180341 -Node: Notes summary1182103 -Node: Basic Concepts1183289 -Node: Basic High Level1183970 -Ref: figure-general-flow1184242 -Ref: figure-process-flow1184841 -Ref: Basic High Level-Footnote-11188070 -Node: Basic Data Typing1188255 -Node: Glossary1191583 -Node: Copying1223512 -Node: GNU Free Documentation License1261068 -Node: Index1286204 +Node: Nondecimal Data778358 +Node: Array Sorting779948 +Node: Controlling Array Traversal780648 +Ref: Controlling Array Traversal-Footnote-1789014 +Node: Array Sorting Functions789132 +Ref: Array Sorting Functions-Footnote-1793018 +Node: Two-way I/O793214 +Ref: Two-way I/O-Footnote-1798159 +Ref: Two-way I/O-Footnote-2798345 +Node: TCP/IP Networking798427 +Node: Profiling801299 +Node: Advanced Features Summary809570 +Node: Internationalization811503 +Node: I18N and L10N812983 +Node: Explaining gettext813669 +Ref: Explaining gettext-Footnote-1818694 +Ref: Explaining gettext-Footnote-2818878 +Node: Programmer i18n819043 +Ref: Programmer i18n-Footnote-1823909 +Node: Translator i18n823958 +Node: String Extraction824752 +Ref: String Extraction-Footnote-1825883 +Node: Printf Ordering825969 +Ref: Printf Ordering-Footnote-1828755 +Node: I18N Portability828819 +Ref: I18N Portability-Footnote-1831274 +Node: I18N Example831337 +Ref: I18N Example-Footnote-1834140 +Node: Gawk I18N834212 +Node: I18N Summary834850 +Node: Debugger836189 +Node: Debugging837211 +Node: Debugging Concepts837652 +Node: Debugging Terms839505 +Node: Awk Debugging842077 +Node: Sample Debugging Session842971 +Node: Debugger Invocation843491 +Node: Finding The Bug844875 +Node: List of Debugger Commands851350 +Node: Breakpoint Control852683 +Node: Debugger Execution Control856379 +Node: Viewing And Changing Data859743 +Node: Execution Stack863121 +Node: Debugger Info864758 +Node: Miscellaneous Debugger Commands868775 +Node: Readline Support873804 +Node: Limitations874696 +Node: Debugging Summary876810 +Node: Arbitrary Precision Arithmetic877978 +Node: Computer Arithmetic879394 +Ref: table-numeric-ranges882992 +Ref: Computer Arithmetic-Footnote-1883851 +Node: Math Definitions883908 +Ref: table-ieee-formats887196 +Ref: Math Definitions-Footnote-1887800 +Node: MPFR features887905 +Node: FP Math Caution889576 +Ref: FP Math Caution-Footnote-1890626 +Node: Inexactness of computations890995 +Node: Inexact representation891954 +Node: Comparing FP Values893311 +Node: Errors accumulate894393 +Node: Getting Accuracy895826 +Node: Try To Round898488 +Node: Setting precision899387 +Ref: table-predefined-precision-strings900071 +Node: Setting the rounding mode901860 +Ref: table-gawk-rounding-modes902224 +Ref: Setting the rounding mode-Footnote-1905679 +Node: Arbitrary Precision Integers905858 +Ref: Arbitrary Precision Integers-Footnote-1910758 +Node: POSIX Floating Point Problems910907 +Ref: POSIX Floating Point Problems-Footnote-1914780 +Node: Floating point summary914818 +Node: Dynamic Extensions917012 +Node: Extension Intro918564 +Node: Plugin License919830 +Node: Extension Mechanism Outline920627 +Ref: figure-load-extension921055 +Ref: figure-register-new-function922535 +Ref: figure-call-new-function923539 +Node: Extension API Description925525 +Node: Extension API Functions Introduction926975 +Node: General Data Types931799 +Ref: General Data Types-Footnote-1937538 +Node: Memory Allocation Functions937837 +Ref: Memory Allocation Functions-Footnote-1940676 +Node: Constructor Functions940772 +Node: Registration Functions942506 +Node: Extension Functions943191 +Node: Exit Callback Functions945488 +Node: Extension Version String946736 +Node: Input Parsers947401 +Node: Output Wrappers957280 +Node: Two-way processors961795 +Node: Printing Messages963999 +Ref: Printing Messages-Footnote-1965075 +Node: Updating `ERRNO'965227 +Node: Requesting Values965967 +Ref: table-value-types-returned966695 +Node: Accessing Parameters967652 +Node: Symbol Table Access968883 +Node: Symbol table by name969397 +Node: Symbol table by cookie971378 +Ref: Symbol table by cookie-Footnote-1975522 +Node: Cached values975585 +Ref: Cached values-Footnote-1979084 +Node: Array Manipulation979175 +Ref: Array Manipulation-Footnote-1980273 +Node: Array Data Types980310 +Ref: Array Data Types-Footnote-1982965 +Node: Array Functions983057 +Node: Flattening Arrays986911 +Node: Creating Arrays993803 +Node: Extension API Variables998574 +Node: Extension Versioning999210 +Node: Extension API Informational Variables1001111 +Node: Extension API Boilerplate1002176 +Node: Finding Extensions1005985 +Node: Extension Example1006545 +Node: Internal File Description1007317 +Node: Internal File Ops1011384 +Ref: Internal File Ops-Footnote-11023054 +Node: Using Internal File Ops1023194 +Ref: Using Internal File Ops-Footnote-11025577 +Node: Extension Samples1025850 +Node: Extension Sample File Functions1027376 +Node: Extension Sample Fnmatch1035014 +Node: Extension Sample Fork1036505 +Node: Extension Sample Inplace1037720 +Node: Extension Sample Ord1039395 +Node: Extension Sample Readdir1040231 +Ref: table-readdir-file-types1041107 +Node: Extension Sample Revout1041918 +Node: Extension Sample Rev2way1042508 +Node: Extension Sample Read write array1043248 +Node: Extension Sample Readfile1045188 +Node: Extension Sample Time1046283 +Node: Extension Sample API Tests1047632 +Node: gawkextlib1048123 +Node: Extension summary1050781 +Node: Extension Exercises1054470 +Node: Language History1055192 +Node: V7/SVR3.11056848 +Node: SVR41059029 +Node: POSIX1060474 +Node: BTL1061863 +Node: POSIX/GNU1062597 +Node: Feature History1068386 +Node: Common Extensions1082112 +Node: Ranges and Locales1083436 +Ref: Ranges and Locales-Footnote-11088054 +Ref: Ranges and Locales-Footnote-21088081 +Ref: Ranges and Locales-Footnote-31088315 +Node: Contributors1088536 +Node: History summary1094077 +Node: Installation1095447 +Node: Gawk Distribution1096393 +Node: Getting1096877 +Node: Extracting1097700 +Node: Distribution contents1099335 +Node: Unix Installation1105400 +Node: Quick Installation1106083 +Node: Shell Startup Files1108494 +Node: Additional Configuration Options1109573 +Node: Configuration Philosophy1111312 +Node: Non-Unix Installation1113681 +Node: PC Installation1114139 +Node: PC Binary Installation1115458 +Node: PC Compiling1117306 +Ref: PC Compiling-Footnote-11120327 +Node: PC Testing1120436 +Node: PC Using1121612 +Node: Cygwin1125727 +Node: MSYS1126550 +Node: VMS Installation1127050 +Node: VMS Compilation1127842 +Ref: VMS Compilation-Footnote-11129064 +Node: VMS Dynamic Extensions1129122 +Node: VMS Installation Details1130806 +Node: VMS Running1133058 +Node: VMS GNV1135894 +Node: VMS Old Gawk1136628 +Node: Bugs1137098 +Node: Other Versions1140981 +Node: Installation summary1147405 +Node: Notes1148461 +Node: Compatibility Mode1149326 +Node: Additions1150108 +Node: Accessing The Source1151033 +Node: Adding Code1152468 +Node: New Ports1158625 +Node: Derived Files1163107 +Ref: Derived Files-Footnote-11168582 +Ref: Derived Files-Footnote-21168616 +Ref: Derived Files-Footnote-31169212 +Node: Future Extensions1169326 +Node: Implementation Limitations1169932 +Node: Extension Design1171180 +Node: Old Extension Problems1172334 +Ref: Old Extension Problems-Footnote-11173851 +Node: Extension New Mechanism Goals1173908 +Ref: Extension New Mechanism Goals-Footnote-11177268 +Node: Extension Other Design Decisions1177457 +Node: Extension Future Growth1179565 +Node: Old Extension Mechanism1180401 +Node: Notes summary1182163 +Node: Basic Concepts1183349 +Node: Basic High Level1184030 +Ref: figure-general-flow1184302 +Ref: figure-process-flow1184901 +Ref: Basic High Level-Footnote-11188130 +Node: Basic Data Typing1188315 +Node: Glossary1191643 +Node: Copying1223572 +Node: GNU Free Documentation License1261128 +Node: Index1286264 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 6233bb38..e702f407 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -55,6 +55,7 @@ @set VERSION 4.1 @set PATCHLEVEL 2 +@set GAWKINETTITLE TCP/IP Internetworking with @command{gawk} @ifset FOR_PRINT @set TITLE Effective awk Programming @end ifset @@ -1496,7 +1497,7 @@ In May 1997, J@"urgen Kahrs felt the need for network access from @command{awk}, and with a little help from me, set about adding features to do this for @command{gawk}. At that time, he also wrote the bulk of -@cite{TCP/IP Internetworking with @command{gawk}} +@cite{@value{GAWKINETTITLE}} (a separate document, available as part of the @command{gawk} distribution). His code finally became part of the main @command{gawk} distribution with @command{gawk} @value{PVERSION} 3.1. @@ -26743,18 +26744,18 @@ a violent psychopath who knows where you live.} This @value{CHAPTER} discusses advanced features in @command{gawk}. It's a bit of a ``grab bag'' of items that are otherwise unrelated to each other. -First, a command-line option allows @command{gawk} to recognize +First, we look at a command-line option that allows @command{gawk} to recognize nondecimal numbers in input data, not just in @command{awk} programs. Then, @command{gawk}'s special features for sorting arrays are presented. Next, two-way I/O, discussed briefly in earlier parts of this @value{DOCUMENT}, is described in full detail, along with the basics -of TCP/IP networking. Finally, @command{gawk} +of TCP/IP networking. Finally, we see how @command{gawk} can @dfn{profile} an @command{awk} program, making it possible to tune it for performance. @c FULLXREF ON -A number of advanced features require separate @value{CHAPTER}s of their +Additional advanced features are discussed in separate @value{CHAPTER}s of their own: @itemize @value{BULLET} @@ -26848,7 +26849,8 @@ This option may disappear in a future version of @command{gawk}. @node Array Sorting @section Controlling Array Traversal and Array Sorting -@command{gawk} lets you control the order in which a @samp{for (i in array)} +@command{gawk} lets you control the order in which a +@samp{for (@var{indx} in @var{array})} loop traverses an array. In addition, two built-in functions, @code{asort()} and @code{asorti()}, @@ -26864,7 +26866,7 @@ to order the elements during sorting. @node Controlling Array Traversal @subsection Controlling Array Traversal -By default, the order in which a @samp{for (i in array)} loop +By default, the order in which a @samp{for (@var{indx} in @var{array})} loop scans an array is not defined; it is generally based upon the internal implementation of arrays inside @command{awk}. @@ -26893,23 +26895,23 @@ function comp_func(i1, v1, i2, v2) @} @end example -Here, @var{i1} and @var{i2} are the indices, and @var{v1} and @var{v2} +Here, @code{i1} and @code{i2} are the indices, and @code{v1} and @code{v2} are the corresponding values of the two elements being compared. -Either @var{v1} or @var{v2}, or both, can be arrays if the array being +Either @code{v1} or @code{v2}, or both, can be arrays if the array being traversed contains subarrays as values. (@DBXREF{Arrays of Arrays} for more information about subarrays.) The three possible return values are interpreted as follows: @table @code @item comp_func(i1, v1, i2, v2) < 0 -Index @var{i1} comes before index @var{i2} during loop traversal. +Index @code{i1} comes before index @code{i2} during loop traversal. @item comp_func(i1, v1, i2, v2) == 0 -Indices @var{i1} and @var{i2} -come together but the relative order with respect to each other is undefined. +Indices @code{i1} and @code{i2} +come together, but the relative order with respect to each other is undefined. @item comp_func(i1, v1, i2, v2) > 0 -Index @var{i1} comes after index @var{i2} during loop traversal. +Index @code{i1} comes after index @code{i2} during loop traversal. @end table Our first comparison function can be used to scan an array in @@ -27070,7 +27072,7 @@ As already mentioned, the order of the indices is arbitrary if two elements compare equal. This is usually not a problem, but letting the tied elements come out in arbitrary order can be an issue, especially when comparing item values. The partial ordering of the equal elements -may change the next time the array is traversed, if other elements are added or +may change the next time the array is traversed, if other elements are added to or removed from the array. One way to resolve ties when comparing elements with otherwise equal values is to include the indices in the comparison rules. Note that doing this may make the loop traversal less efficient, @@ -27113,7 +27115,7 @@ equivalent or distinct. Another point to keep in mind is that in the case of subarrays, the element values can themselves be arrays; a production comparison function should use the @code{isarray()} function -(@pxref{Type Functions}), +(@pxref{Type Functions}) to check for this, and choose a defined sorting order for subarrays. All sorting based on @code{PROCINFO["sorted_in"]} @@ -27121,7 +27123,7 @@ is disabled in POSIX mode, because the @code{PROCINFO} array is not special in that case. As a side note, sorting the array indices before traversing -the array has been reported to add 15% to 20% overhead to the +the array has been reported to add a 15% to 20% overhead to the execution time of @command{awk} programs. For this reason, sorted array traversal is not the default. @@ -27180,7 +27182,7 @@ However, the @code{source} array is not affected. Often, what's needed is to sort on the values of the @emph{indices} instead of the values of the elements. To do that, use the @code{asorti()} function. The interface and behavior are identical to -that of @code{asort()}, except that the index values are used for sorting, +that of @code{asort()}, except that the index values are used for sorting and become the values of the result array: @example @@ -27215,8 +27217,8 @@ it chooses}, taking into account just the indices, just the values, or both. This is extremely powerful. Once the array is sorted, @code{asort()} takes the @emph{values} in -their final order, and uses them to fill in the result array, whereas -@code{asorti()} takes the @emph{indices} in their final order, and uses +their final order and uses them to fill in the result array, whereas +@code{asorti()} takes the @emph{indices} in their final order and uses them to fill in the result array. @cindex reference counting, sorting arrays @@ -27513,7 +27515,7 @@ service name. @cindex @command{gawk}, @code{ERRNO} variable in @cindex @code{ERRNO} variable @quotation NOTE -Failure in opening a two-way socket will result in a non-fatal error +Failure in opening a two-way socket will result in a nonfatal error being returned to the calling code. The value of @code{ERRNO} indicates the error (@pxref{Auto-set}). @end quotation @@ -27530,19 +27532,19 @@ BEGIN @{ @end example This program reads the current date and time from the local system's -TCP @samp{daytime} server. +TCP @code{daytime} server. It then prints the results and closes the connection. Because this topic is extensive, the use of @command{gawk} for TCP/IP programming is documented separately. @ifinfo See -@inforef{Top, , General Introduction, gawkinet, TCP/IP Internetworking with @command{gawk}}, +@inforef{Top, , General Introduction, gawkinet, @value{GAWKINETTITLE}}, @end ifinfo @ifnotinfo See @uref{http://www.gnu.org/software/gawk/manual/gawkinet/, -@cite{TCP/IP Internetworking with @command{gawk}}}, +@cite{@value{GAWKINETTITLE}}}, which comes as part of the @command{gawk} distribution, @end ifnotinfo for a much more complete introduction and discussion, as well as @@ -27618,9 +27620,9 @@ junk @end example Here is the @file{awkprof.out} that results from running the -@command{gawk} profiler on this program and data. (This example also +@command{gawk} profiler on this program and data (this example also illustrates that @command{awk} programmers sometimes get up very early -in the morning to work.) +in the morning to work): @cindex @code{BEGIN} pattern, and profiling @cindex @code{END} pattern, and profiling @@ -27680,8 +27682,8 @@ They are as follows: @item The program is printed in the order @code{BEGIN} rules, @code{BEGINFILE} rules, -pattern/action rules, -@code{ENDFILE} rules, @code{END} rules and functions, listed +pattern--action rules, +@code{ENDFILE} rules, @code{END} rules, and functions, listed alphabetically. Multiple @code{BEGIN} and @code{END} rules retain their separate identities, as do @@ -27689,7 +27691,7 @@ multiple @code{BEGINFILE} and @code{ENDFILE} rules. @cindex patterns, counts, in a profile @item -Pattern-action rules have two counts. +Pattern--action rules have two counts. The first count, to the left of the rule, shows how many times the rule's pattern was @emph{tested}. The second count, to the right of the rule's opening left brace @@ -27756,13 +27758,13 @@ the target of a redirection isn't a scalar, it gets parenthesized. @command{gawk} supplies leading comments in front of the @code{BEGIN} and @code{END} rules, the @code{BEGINFILE} and @code{ENDFILE} rules, -the pattern/action rules, and the functions. +the pattern--action rules, and the functions. @end itemize The profiled version of your program may not look exactly like what you typed when you wrote it. This is because @command{gawk} creates the -profiled version by ``pretty printing'' its internal representation of +profiled version by ``pretty-printing'' its internal representation of the program. The advantage to this is that @command{gawk} can produce a standard representation. Also, things such as: @@ -27845,16 +27847,16 @@ If you use the @code{HUP} signal instead of the @code{USR1} signal, @cindex @code{SIGQUIT} signal (MS-Windows) @cindex signals, @code{QUIT}/@code{SIGQUIT} (MS-Windows) When @command{gawk} runs on MS-Windows systems, it uses the -@code{INT} and @code{QUIT} signals for producing the profile and, in +@code{INT} and @code{QUIT} signals for producing the profile, and in the case of the @code{INT} signal, @command{gawk} exits. This is because these systems don't support the @command{kill} command, so the only signals you can deliver to a program are those generated by the keyboard. The @code{INT} signal is generated by the -@kbd{Ctrl-@key{C}} or @kbd{Ctrl-@key{BREAK}} key, while the -@code{QUIT} signal is generated by the @kbd{Ctrl-@key{\}} key. +@kbd{Ctrl-c} or @kbd{Ctrl-BREAK} key, while the +@code{QUIT} signal is generated by the @kbd{Ctrl-\} key. Finally, @command{gawk} also accepts another option, @option{--pretty-print}. -When called this way, @command{gawk} ``pretty prints'' the program into +When called this way, @command{gawk} ``pretty-prints'' the program into @file{awkprof.out}, without any execution counts. @quotation NOTE @@ -27908,7 +27910,7 @@ optionally, close off one side of the two-way communications. @item By using special @value{FN}s with the @samp{|&} operator, you can open a -TCP/IP (or UDP/IP) connection to remote hosts in the Internet. @command{gawk} +TCP/IP (or UDP/IP) connection to remote hosts on the Internet. @command{gawk} supports both IPv4 and IPv6. @item @@ -27918,7 +27920,7 @@ you tune them more easily. Sending the @code{USR1} signal while profiling cause @command{gawk} to dump the profile and keep going, including a function call stack. @item -You can also just ``pretty print'' the program. This currently also runs +You can also just ``pretty-print'' the program. This currently also runs the program, but that will change in the next major release. @end itemize @@ -37179,10 +37181,10 @@ The generated Info file for this @value{DOCUMENT}. @item doc/gawkinet.texi The Texinfo source file for @ifinfo -@inforef{Top, , General Introduction, gawkinet, TCP/IP Internetworking with @command{gawk}}. +@inforef{Top, , General Introduction, gawkinet, @value{GAWKINETTITLE}}. @end ifinfo @ifnotinfo -@cite{TCP/IP Internetworking with @command{gawk}}. +@cite{@value{GAWKINETTITLE}}. @end ifnotinfo It should be processed with @TeX{} (via @command{texi2dvi} or @command{texi2pdf}) @@ -37191,7 +37193,7 @@ with @command{makeinfo} to produce an Info or HTML file. @item doc/gawkinet.info The generated Info file for -@cite{TCP/IP Internetworking with @command{gawk}}. +@cite{@value{GAWKINETTITLE}}. @item doc/igawk.1 The @command{troff} source for a manual page describing the @command{igawk} diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 8ce87b82..0e100f69 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -50,6 +50,7 @@ @set VERSION 4.1 @set PATCHLEVEL 2 +@set GAWKINETTITLE TCP/IP Internetworking with @command{gawk} @ifset FOR_PRINT @set TITLE Effective awk Programming @end ifset @@ -1463,7 +1464,7 @@ In May 1997, J@"urgen Kahrs felt the need for network access from @command{awk}, and with a little help from me, set about adding features to do this for @command{gawk}. At that time, he also wrote the bulk of -@cite{TCP/IP Internetworking with @command{gawk}} +@cite{@value{GAWKINETTITLE}} (a separate document, available as part of the @command{gawk} distribution). His code finally became part of the main @command{gawk} distribution with @command{gawk} @value{PVERSION} 3.1. @@ -25834,18 +25835,18 @@ a violent psychopath who knows where you live.} This @value{CHAPTER} discusses advanced features in @command{gawk}. It's a bit of a ``grab bag'' of items that are otherwise unrelated to each other. -First, a command-line option allows @command{gawk} to recognize +First, we look at a command-line option that allows @command{gawk} to recognize nondecimal numbers in input data, not just in @command{awk} programs. Then, @command{gawk}'s special features for sorting arrays are presented. Next, two-way I/O, discussed briefly in earlier parts of this @value{DOCUMENT}, is described in full detail, along with the basics -of TCP/IP networking. Finally, @command{gawk} +of TCP/IP networking. Finally, we see how @command{gawk} can @dfn{profile} an @command{awk} program, making it possible to tune it for performance. @c FULLXREF ON -A number of advanced features require separate @value{CHAPTER}s of their +Additional advanced features are discussed in separate @value{CHAPTER}s of their own: @itemize @value{BULLET} @@ -25939,7 +25940,8 @@ This option may disappear in a future version of @command{gawk}. @node Array Sorting @section Controlling Array Traversal and Array Sorting -@command{gawk} lets you control the order in which a @samp{for (i in array)} +@command{gawk} lets you control the order in which a +@samp{for (@var{indx} in @var{array})} loop traverses an array. In addition, two built-in functions, @code{asort()} and @code{asorti()}, @@ -25955,7 +25957,7 @@ to order the elements during sorting. @node Controlling Array Traversal @subsection Controlling Array Traversal -By default, the order in which a @samp{for (i in array)} loop +By default, the order in which a @samp{for (@var{indx} in @var{array})} loop scans an array is not defined; it is generally based upon the internal implementation of arrays inside @command{awk}. @@ -25984,23 +25986,23 @@ function comp_func(i1, v1, i2, v2) @} @end example -Here, @var{i1} and @var{i2} are the indices, and @var{v1} and @var{v2} +Here, @code{i1} and @code{i2} are the indices, and @code{v1} and @code{v2} are the corresponding values of the two elements being compared. -Either @var{v1} or @var{v2}, or both, can be arrays if the array being +Either @code{v1} or @code{v2}, or both, can be arrays if the array being traversed contains subarrays as values. (@DBXREF{Arrays of Arrays} for more information about subarrays.) The three possible return values are interpreted as follows: @table @code @item comp_func(i1, v1, i2, v2) < 0 -Index @var{i1} comes before index @var{i2} during loop traversal. +Index @code{i1} comes before index @code{i2} during loop traversal. @item comp_func(i1, v1, i2, v2) == 0 -Indices @var{i1} and @var{i2} -come together but the relative order with respect to each other is undefined. +Indices @code{i1} and @code{i2} +come together, but the relative order with respect to each other is undefined. @item comp_func(i1, v1, i2, v2) > 0 -Index @var{i1} comes after index @var{i2} during loop traversal. +Index @code{i1} comes after index @code{i2} during loop traversal. @end table Our first comparison function can be used to scan an array in @@ -26161,7 +26163,7 @@ As already mentioned, the order of the indices is arbitrary if two elements compare equal. This is usually not a problem, but letting the tied elements come out in arbitrary order can be an issue, especially when comparing item values. The partial ordering of the equal elements -may change the next time the array is traversed, if other elements are added or +may change the next time the array is traversed, if other elements are added to or removed from the array. One way to resolve ties when comparing elements with otherwise equal values is to include the indices in the comparison rules. Note that doing this may make the loop traversal less efficient, @@ -26204,7 +26206,7 @@ equivalent or distinct. Another point to keep in mind is that in the case of subarrays, the element values can themselves be arrays; a production comparison function should use the @code{isarray()} function -(@pxref{Type Functions}), +(@pxref{Type Functions}) to check for this, and choose a defined sorting order for subarrays. All sorting based on @code{PROCINFO["sorted_in"]} @@ -26212,7 +26214,7 @@ is disabled in POSIX mode, because the @code{PROCINFO} array is not special in that case. As a side note, sorting the array indices before traversing -the array has been reported to add 15% to 20% overhead to the +the array has been reported to add a 15% to 20% overhead to the execution time of @command{awk} programs. For this reason, sorted array traversal is not the default. @@ -26271,7 +26273,7 @@ However, the @code{source} array is not affected. Often, what's needed is to sort on the values of the @emph{indices} instead of the values of the elements. To do that, use the @code{asorti()} function. The interface and behavior are identical to -that of @code{asort()}, except that the index values are used for sorting, +that of @code{asort()}, except that the index values are used for sorting and become the values of the result array: @example @@ -26306,8 +26308,8 @@ it chooses}, taking into account just the indices, just the values, or both. This is extremely powerful. Once the array is sorted, @code{asort()} takes the @emph{values} in -their final order, and uses them to fill in the result array, whereas -@code{asorti()} takes the @emph{indices} in their final order, and uses +their final order and uses them to fill in the result array, whereas +@code{asorti()} takes the @emph{indices} in their final order and uses them to fill in the result array. @cindex reference counting, sorting arrays @@ -26604,7 +26606,7 @@ service name. @cindex @command{gawk}, @code{ERRNO} variable in @cindex @code{ERRNO} variable @quotation NOTE -Failure in opening a two-way socket will result in a non-fatal error +Failure in opening a two-way socket will result in a nonfatal error being returned to the calling code. The value of @code{ERRNO} indicates the error (@pxref{Auto-set}). @end quotation @@ -26621,19 +26623,19 @@ BEGIN @{ @end example This program reads the current date and time from the local system's -TCP @samp{daytime} server. +TCP @code{daytime} server. It then prints the results and closes the connection. Because this topic is extensive, the use of @command{gawk} for TCP/IP programming is documented separately. @ifinfo See -@inforef{Top, , General Introduction, gawkinet, TCP/IP Internetworking with @command{gawk}}, +@inforef{Top, , General Introduction, gawkinet, @value{GAWKINETTITLE}}, @end ifinfo @ifnotinfo See @uref{http://www.gnu.org/software/gawk/manual/gawkinet/, -@cite{TCP/IP Internetworking with @command{gawk}}}, +@cite{@value{GAWKINETTITLE}}}, which comes as part of the @command{gawk} distribution, @end ifnotinfo for a much more complete introduction and discussion, as well as @@ -26709,9 +26711,9 @@ junk @end example Here is the @file{awkprof.out} that results from running the -@command{gawk} profiler on this program and data. (This example also +@command{gawk} profiler on this program and data (this example also illustrates that @command{awk} programmers sometimes get up very early -in the morning to work.) +in the morning to work): @cindex @code{BEGIN} pattern, and profiling @cindex @code{END} pattern, and profiling @@ -26771,8 +26773,8 @@ They are as follows: @item The program is printed in the order @code{BEGIN} rules, @code{BEGINFILE} rules, -pattern/action rules, -@code{ENDFILE} rules, @code{END} rules and functions, listed +pattern--action rules, +@code{ENDFILE} rules, @code{END} rules, and functions, listed alphabetically. Multiple @code{BEGIN} and @code{END} rules retain their separate identities, as do @@ -26780,7 +26782,7 @@ multiple @code{BEGINFILE} and @code{ENDFILE} rules. @cindex patterns, counts, in a profile @item -Pattern-action rules have two counts. +Pattern--action rules have two counts. The first count, to the left of the rule, shows how many times the rule's pattern was @emph{tested}. The second count, to the right of the rule's opening left brace @@ -26847,13 +26849,13 @@ the target of a redirection isn't a scalar, it gets parenthesized. @command{gawk} supplies leading comments in front of the @code{BEGIN} and @code{END} rules, the @code{BEGINFILE} and @code{ENDFILE} rules, -the pattern/action rules, and the functions. +the pattern--action rules, and the functions. @end itemize The profiled version of your program may not look exactly like what you typed when you wrote it. This is because @command{gawk} creates the -profiled version by ``pretty printing'' its internal representation of +profiled version by ``pretty-printing'' its internal representation of the program. The advantage to this is that @command{gawk} can produce a standard representation. Also, things such as: @@ -26936,16 +26938,16 @@ If you use the @code{HUP} signal instead of the @code{USR1} signal, @cindex @code{SIGQUIT} signal (MS-Windows) @cindex signals, @code{QUIT}/@code{SIGQUIT} (MS-Windows) When @command{gawk} runs on MS-Windows systems, it uses the -@code{INT} and @code{QUIT} signals for producing the profile and, in +@code{INT} and @code{QUIT} signals for producing the profile, and in the case of the @code{INT} signal, @command{gawk} exits. This is because these systems don't support the @command{kill} command, so the only signals you can deliver to a program are those generated by the keyboard. The @code{INT} signal is generated by the -@kbd{Ctrl-@key{C}} or @kbd{Ctrl-@key{BREAK}} key, while the -@code{QUIT} signal is generated by the @kbd{Ctrl-@key{\}} key. +@kbd{Ctrl-c} or @kbd{Ctrl-BREAK} key, while the +@code{QUIT} signal is generated by the @kbd{Ctrl-\} key. Finally, @command{gawk} also accepts another option, @option{--pretty-print}. -When called this way, @command{gawk} ``pretty prints'' the program into +When called this way, @command{gawk} ``pretty-prints'' the program into @file{awkprof.out}, without any execution counts. @quotation NOTE @@ -26999,7 +27001,7 @@ optionally, close off one side of the two-way communications. @item By using special @value{FN}s with the @samp{|&} operator, you can open a -TCP/IP (or UDP/IP) connection to remote hosts in the Internet. @command{gawk} +TCP/IP (or UDP/IP) connection to remote hosts on the Internet. @command{gawk} supports both IPv4 and IPv6. @item @@ -27009,7 +27011,7 @@ you tune them more easily. Sending the @code{USR1} signal while profiling cause @command{gawk} to dump the profile and keep going, including a function call stack. @item -You can also just ``pretty print'' the program. This currently also runs +You can also just ``pretty-print'' the program. This currently also runs the program, but that will change in the next major release. @end itemize @@ -36270,10 +36272,10 @@ The generated Info file for this @value{DOCUMENT}. @item doc/gawkinet.texi The Texinfo source file for @ifinfo -@inforef{Top, , General Introduction, gawkinet, TCP/IP Internetworking with @command{gawk}}. +@inforef{Top, , General Introduction, gawkinet, @value{GAWKINETTITLE}}. @end ifinfo @ifnotinfo -@cite{TCP/IP Internetworking with @command{gawk}}. +@cite{@value{GAWKINETTITLE}}. @end ifnotinfo It should be processed with @TeX{} (via @command{texi2dvi} or @command{texi2pdf}) @@ -36282,7 +36284,7 @@ with @command{makeinfo} to produce an Info or HTML file. @item doc/gawkinet.info The generated Info file for -@cite{TCP/IP Internetworking with @command{gawk}}. +@cite{@value{GAWKINETTITLE}}. @item doc/igawk.1 The @command{troff} source for a manual page describing the @command{igawk} |