diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 588 |
1 files changed, 298 insertions, 290 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 6cb2abdb..9b6a46fc 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -14294,9 +14294,17 @@ function call. Starting with version 4.1.2 of `gawk', indirect function calls may also be used with built-in functions and with extension functions -(*note Dynamic Extensions::). The only thing you cannot do is pass a -regular expression constant to a built-in function through an indirect -function call.(1) +(*note Dynamic Extensions::). There are some limitations when calling +built-in functions indirectly, as follows. + + * You cannot pass a regular expression constant to a built-in + function through an indirect function call.(1) This applies to the + `sub()', `gsub()', `gensub()', `match()', `split()' and + `patsplit()' functions. + + * If calling `sub()' or `gsub()', you may only pass two arguments, + since those functions are unusual in that they update their third + argument. This means that `$0' will be updated. `gawk' does its best to make indirect function calls efficient. For example, in the following case: @@ -34777,292 +34785,292 @@ Node: Pass By Value/Reference579678 Node: Return Statement583175 Node: Dynamic Typing586154 Node: Indirect Calls587083 -Ref: Indirect Calls-Footnote-1596948 -Node: Functions Summary597076 -Node: Library Functions599778 -Ref: Library Functions-Footnote-1603386 -Ref: Library Functions-Footnote-2603529 -Node: Library Names603700 -Ref: Library Names-Footnote-1607158 -Ref: Library Names-Footnote-2607381 -Node: General Functions607467 -Node: Strtonum Function608570 -Node: Assert Function611592 -Node: Round Function614916 -Node: Cliff Random Function616457 -Node: Ordinal Functions617473 -Ref: Ordinal Functions-Footnote-1620536 -Ref: Ordinal Functions-Footnote-2620788 -Node: Join Function620999 -Ref: Join Function-Footnote-1622769 -Node: Getlocaltime Function622969 -Node: Readfile Function626713 -Node: Shell Quoting628685 -Node: Data File Management630086 -Node: Filetrans Function630718 -Node: Rewind Function634814 -Node: File Checking636200 -Ref: File Checking-Footnote-1637533 -Node: Empty Files637734 -Node: Ignoring Assigns639713 -Node: Getopt Function641263 -Ref: Getopt Function-Footnote-1652727 -Node: Passwd Functions652927 -Ref: Passwd Functions-Footnote-1661767 -Node: Group Functions661855 -Ref: Group Functions-Footnote-1669752 -Node: Walking Arrays669957 -Node: Library Functions Summary672963 -Node: Library Exercises674365 -Node: Sample Programs675645 -Node: Running Examples676415 -Node: Clones677143 -Node: Cut Program678367 -Node: Egrep Program688087 -Ref: Egrep Program-Footnote-1695590 -Node: Id Program695700 -Node: Split Program699376 -Ref: Split Program-Footnote-1702830 -Node: Tee Program702958 -Node: Uniq Program705747 -Node: Wc Program713166 -Ref: Wc Program-Footnote-1717416 -Node: Miscellaneous Programs717510 -Node: Dupword Program718723 -Node: Alarm Program720754 -Node: Translate Program725559 -Ref: Translate Program-Footnote-1730122 -Node: Labels Program730392 -Ref: Labels Program-Footnote-1733743 -Node: Word Sorting733827 -Node: History Sorting737897 -Node: Extract Program739732 -Node: Simple Sed747256 -Node: Igawk Program750326 -Ref: Igawk Program-Footnote-1764652 -Ref: Igawk Program-Footnote-2764853 -Ref: Igawk Program-Footnote-3764975 -Node: Anagram Program765090 -Node: Signature Program768151 -Node: Programs Summary769398 -Node: Programs Exercises770619 -Ref: Programs Exercises-Footnote-1774750 -Node: Advanced Features774841 -Node: Nondecimal Data776823 -Node: Array Sorting778413 -Node: Controlling Array Traversal779113 -Ref: Controlling Array Traversal-Footnote-1787479 -Node: Array Sorting Functions787597 -Ref: Array Sorting Functions-Footnote-1791483 -Node: Two-way I/O791679 -Ref: Two-way I/O-Footnote-1796624 -Ref: Two-way I/O-Footnote-2796810 -Node: TCP/IP Networking796892 -Node: Profiling799764 -Node: Advanced Features Summary807305 -Node: Internationalization809238 -Node: I18N and L10N810718 -Node: Explaining gettext811404 -Ref: Explaining gettext-Footnote-1816429 -Ref: Explaining gettext-Footnote-2816613 -Node: Programmer i18n816778 -Ref: Programmer i18n-Footnote-1821654 -Node: Translator i18n821703 -Node: String Extraction822497 -Ref: String Extraction-Footnote-1823628 -Node: Printf Ordering823714 -Ref: Printf Ordering-Footnote-1826500 -Node: I18N Portability826564 -Ref: I18N Portability-Footnote-1829020 -Node: I18N Example829083 -Ref: I18N Example-Footnote-1831886 -Node: Gawk I18N831958 -Node: I18N Summary832602 -Node: Debugger833942 -Node: Debugging834964 -Node: Debugging Concepts835405 -Node: Debugging Terms837215 -Node: Awk Debugging839787 -Node: Sample Debugging Session840693 -Node: Debugger Invocation841227 -Node: Finding The Bug842612 -Node: List of Debugger Commands849091 -Node: Breakpoint Control850423 -Node: Debugger Execution Control854100 -Node: Viewing And Changing Data857459 -Node: Execution Stack860835 -Node: Debugger Info862470 -Node: Miscellaneous Debugger Commands866515 -Node: Readline Support871516 -Node: Limitations872410 -Node: Debugging Summary874525 -Node: Arbitrary Precision Arithmetic875699 -Node: Computer Arithmetic877115 -Ref: table-numeric-ranges880692 -Ref: Computer Arithmetic-Footnote-1881216 -Node: Math Definitions881273 -Ref: table-ieee-formats884568 -Ref: Math Definitions-Footnote-1885172 -Node: MPFR features885277 -Node: FP Math Caution886948 -Ref: FP Math Caution-Footnote-1887998 -Node: Inexactness of computations888367 -Node: Inexact representation889326 -Node: Comparing FP Values890684 -Node: Errors accumulate891766 -Node: Getting Accuracy893198 -Node: Try To Round895902 -Node: Setting precision896801 -Ref: table-predefined-precision-strings897485 -Node: Setting the rounding mode899314 -Ref: table-gawk-rounding-modes899678 -Ref: Setting the rounding mode-Footnote-1903130 -Node: Arbitrary Precision Integers903309 -Ref: Arbitrary Precision Integers-Footnote-1906293 -Node: POSIX Floating Point Problems906442 -Ref: POSIX Floating Point Problems-Footnote-1910321 -Node: Floating point summary910359 -Node: Dynamic Extensions912546 -Node: Extension Intro914098 -Node: Plugin License915363 -Node: Extension Mechanism Outline916160 -Ref: figure-load-extension916588 -Ref: figure-register-new-function918068 -Ref: figure-call-new-function919072 -Node: Extension API Description921059 -Node: Extension API Functions Introduction922509 -Node: General Data Types927330 -Ref: General Data Types-Footnote-1933230 -Node: Memory Allocation Functions933529 -Ref: Memory Allocation Functions-Footnote-1936368 -Node: Constructor Functions936467 -Node: Registration Functions938206 -Node: Extension Functions938891 -Node: Exit Callback Functions941188 -Node: Extension Version String942436 -Node: Input Parsers943099 -Node: Output Wrappers952974 -Node: Two-way processors957487 -Node: Printing Messages959750 -Ref: Printing Messages-Footnote-1960826 -Node: Updating `ERRNO'960978 -Node: Requesting Values961718 -Ref: table-value-types-returned962445 -Node: Accessing Parameters963402 -Node: Symbol Table Access964636 -Node: Symbol table by name965150 -Node: Symbol table by cookie967170 -Ref: Symbol table by cookie-Footnote-1971315 -Node: Cached values971378 -Ref: Cached values-Footnote-1974874 -Node: Array Manipulation974965 -Ref: Array Manipulation-Footnote-1976063 -Node: Array Data Types976100 -Ref: Array Data Types-Footnote-1978755 -Node: Array Functions978847 -Node: Flattening Arrays982706 -Node: Creating Arrays989608 -Node: Extension API Variables994379 -Node: Extension Versioning995015 -Node: Extension API Informational Variables996906 -Node: Extension API Boilerplate997971 -Node: Finding Extensions1001780 -Node: Extension Example1002340 -Node: Internal File Description1003112 -Node: Internal File Ops1007179 -Ref: Internal File Ops-Footnote-11018930 -Node: Using Internal File Ops1019070 -Ref: Using Internal File Ops-Footnote-11021453 -Node: Extension Samples1021726 -Node: Extension Sample File Functions1023254 -Node: Extension Sample Fnmatch1030935 -Node: Extension Sample Fork1032423 -Node: Extension Sample Inplace1033638 -Node: Extension Sample Ord1035724 -Node: Extension Sample Readdir1036560 -Ref: table-readdir-file-types1037437 -Node: Extension Sample Revout1038248 -Node: Extension Sample Rev2way1038837 -Node: Extension Sample Read write array1039577 -Node: Extension Sample Readfile1041517 -Node: Extension Sample Time1042612 -Node: Extension Sample API Tests1043960 -Node: gawkextlib1044451 -Node: Extension summary1047129 -Node: Extension Exercises1050818 -Node: Language History1052314 -Node: V7/SVR3.11053970 -Node: SVR41056123 -Node: POSIX1057557 -Node: BTL1058938 -Node: POSIX/GNU1059669 -Node: Feature History1065190 -Node: Common Extensions1078288 -Node: Ranges and Locales1079660 -Ref: Ranges and Locales-Footnote-11084279 -Ref: Ranges and Locales-Footnote-21084306 -Ref: Ranges and Locales-Footnote-31084541 -Node: Contributors1084762 -Node: History summary1090302 -Node: Installation1091681 -Node: Gawk Distribution1092627 -Node: Getting1093111 -Node: Extracting1093934 -Node: Distribution contents1095571 -Node: Unix Installation1101325 -Node: Quick Installation1101942 -Node: Additional Configuration Options1104366 -Node: Configuration Philosophy1106169 -Node: Non-Unix Installation1108538 -Node: PC Installation1108996 -Node: PC Binary Installation1110316 -Node: PC Compiling1112164 -Ref: PC Compiling-Footnote-11115185 -Node: PC Testing1115294 -Node: PC Using1116470 -Node: Cygwin1120585 -Node: MSYS1121355 -Node: VMS Installation1121856 -Node: VMS Compilation1122648 -Ref: VMS Compilation-Footnote-11123877 -Node: VMS Dynamic Extensions1123935 -Node: VMS Installation Details1125619 -Node: VMS Running1127870 -Node: VMS GNV1130710 -Node: VMS Old Gawk1131445 -Node: Bugs1131915 -Node: Other Versions1135804 -Node: Installation summary1142238 -Node: Notes1143297 -Node: Compatibility Mode1144162 -Node: Additions1144944 -Node: Accessing The Source1145869 -Node: Adding Code1147304 -Node: New Ports1153461 -Node: Derived Files1157943 -Ref: Derived Files-Footnote-11163418 -Ref: Derived Files-Footnote-21163452 -Ref: Derived Files-Footnote-31164048 -Node: Future Extensions1164162 -Node: Implementation Limitations1164768 -Node: Extension Design1166016 -Node: Old Extension Problems1167170 -Ref: Old Extension Problems-Footnote-11168687 -Node: Extension New Mechanism Goals1168744 -Ref: Extension New Mechanism Goals-Footnote-11172104 -Node: Extension Other Design Decisions1172293 -Node: Extension Future Growth1174401 -Node: Old Extension Mechanism1175237 -Node: Notes summary1176999 -Node: Basic Concepts1178185 -Node: Basic High Level1178866 -Ref: figure-general-flow1179138 -Ref: figure-process-flow1179737 -Ref: Basic High Level-Footnote-11182966 -Node: Basic Data Typing1183151 -Node: Glossary1186479 -Node: Copying1218408 -Node: GNU Free Documentation License1255964 -Node: Index1281100 +Ref: Indirect Calls-Footnote-1597326 +Node: Functions Summary597454 +Node: Library Functions600156 +Ref: Library Functions-Footnote-1603764 +Ref: Library Functions-Footnote-2603907 +Node: Library Names604078 +Ref: Library Names-Footnote-1607536 +Ref: Library Names-Footnote-2607759 +Node: General Functions607845 +Node: Strtonum Function608948 +Node: Assert Function611970 +Node: Round Function615294 +Node: Cliff Random Function616835 +Node: Ordinal Functions617851 +Ref: Ordinal Functions-Footnote-1620914 +Ref: Ordinal Functions-Footnote-2621166 +Node: Join Function621377 +Ref: Join Function-Footnote-1623147 +Node: Getlocaltime Function623347 +Node: Readfile Function627091 +Node: Shell Quoting629063 +Node: Data File Management630464 +Node: Filetrans Function631096 +Node: Rewind Function635192 +Node: File Checking636578 +Ref: File Checking-Footnote-1637911 +Node: Empty Files638112 +Node: Ignoring Assigns640091 +Node: Getopt Function641641 +Ref: Getopt Function-Footnote-1653105 +Node: Passwd Functions653305 +Ref: Passwd Functions-Footnote-1662145 +Node: Group Functions662233 +Ref: Group Functions-Footnote-1670130 +Node: Walking Arrays670335 +Node: Library Functions Summary673341 +Node: Library Exercises674743 +Node: Sample Programs676023 +Node: Running Examples676793 +Node: Clones677521 +Node: Cut Program678745 +Node: Egrep Program688465 +Ref: Egrep Program-Footnote-1695968 +Node: Id Program696078 +Node: Split Program699754 +Ref: Split Program-Footnote-1703208 +Node: Tee Program703336 +Node: Uniq Program706125 +Node: Wc Program713544 +Ref: Wc Program-Footnote-1717794 +Node: Miscellaneous Programs717888 +Node: Dupword Program719101 +Node: Alarm Program721132 +Node: Translate Program725937 +Ref: Translate Program-Footnote-1730500 +Node: Labels Program730770 +Ref: Labels Program-Footnote-1734121 +Node: Word Sorting734205 +Node: History Sorting738275 +Node: Extract Program740110 +Node: Simple Sed747634 +Node: Igawk Program750704 +Ref: Igawk Program-Footnote-1765030 +Ref: Igawk Program-Footnote-2765231 +Ref: Igawk Program-Footnote-3765353 +Node: Anagram Program765468 +Node: Signature Program768529 +Node: Programs Summary769776 +Node: Programs Exercises770997 +Ref: Programs Exercises-Footnote-1775128 +Node: Advanced Features775219 +Node: Nondecimal Data777201 +Node: Array Sorting778791 +Node: Controlling Array Traversal779491 +Ref: Controlling Array Traversal-Footnote-1787857 +Node: Array Sorting Functions787975 +Ref: Array Sorting Functions-Footnote-1791861 +Node: Two-way I/O792057 +Ref: Two-way I/O-Footnote-1797002 +Ref: Two-way I/O-Footnote-2797188 +Node: TCP/IP Networking797270 +Node: Profiling800142 +Node: Advanced Features Summary807683 +Node: Internationalization809616 +Node: I18N and L10N811096 +Node: Explaining gettext811782 +Ref: Explaining gettext-Footnote-1816807 +Ref: Explaining gettext-Footnote-2816991 +Node: Programmer i18n817156 +Ref: Programmer i18n-Footnote-1822032 +Node: Translator i18n822081 +Node: String Extraction822875 +Ref: String Extraction-Footnote-1824006 +Node: Printf Ordering824092 +Ref: Printf Ordering-Footnote-1826878 +Node: I18N Portability826942 +Ref: I18N Portability-Footnote-1829398 +Node: I18N Example829461 +Ref: I18N Example-Footnote-1832264 +Node: Gawk I18N832336 +Node: I18N Summary832980 +Node: Debugger834320 +Node: Debugging835342 +Node: Debugging Concepts835783 +Node: Debugging Terms837593 +Node: Awk Debugging840165 +Node: Sample Debugging Session841071 +Node: Debugger Invocation841605 +Node: Finding The Bug842990 +Node: List of Debugger Commands849469 +Node: Breakpoint Control850801 +Node: Debugger Execution Control854478 +Node: Viewing And Changing Data857837 +Node: Execution Stack861213 +Node: Debugger Info862848 +Node: Miscellaneous Debugger Commands866893 +Node: Readline Support871894 +Node: Limitations872788 +Node: Debugging Summary874903 +Node: Arbitrary Precision Arithmetic876077 +Node: Computer Arithmetic877493 +Ref: table-numeric-ranges881070 +Ref: Computer Arithmetic-Footnote-1881594 +Node: Math Definitions881651 +Ref: table-ieee-formats884946 +Ref: Math Definitions-Footnote-1885550 +Node: MPFR features885655 +Node: FP Math Caution887326 +Ref: FP Math Caution-Footnote-1888376 +Node: Inexactness of computations888745 +Node: Inexact representation889704 +Node: Comparing FP Values891062 +Node: Errors accumulate892144 +Node: Getting Accuracy893576 +Node: Try To Round896280 +Node: Setting precision897179 +Ref: table-predefined-precision-strings897863 +Node: Setting the rounding mode899692 +Ref: table-gawk-rounding-modes900056 +Ref: Setting the rounding mode-Footnote-1903508 +Node: Arbitrary Precision Integers903687 +Ref: Arbitrary Precision Integers-Footnote-1906671 +Node: POSIX Floating Point Problems906820 +Ref: POSIX Floating Point Problems-Footnote-1910699 +Node: Floating point summary910737 +Node: Dynamic Extensions912924 +Node: Extension Intro914476 +Node: Plugin License915741 +Node: Extension Mechanism Outline916538 +Ref: figure-load-extension916966 +Ref: figure-register-new-function918446 +Ref: figure-call-new-function919450 +Node: Extension API Description921437 +Node: Extension API Functions Introduction922887 +Node: General Data Types927708 +Ref: General Data Types-Footnote-1933608 +Node: Memory Allocation Functions933907 +Ref: Memory Allocation Functions-Footnote-1936746 +Node: Constructor Functions936845 +Node: Registration Functions938584 +Node: Extension Functions939269 +Node: Exit Callback Functions941566 +Node: Extension Version String942814 +Node: Input Parsers943477 +Node: Output Wrappers953352 +Node: Two-way processors957865 +Node: Printing Messages960128 +Ref: Printing Messages-Footnote-1961204 +Node: Updating `ERRNO'961356 +Node: Requesting Values962096 +Ref: table-value-types-returned962823 +Node: Accessing Parameters963780 +Node: Symbol Table Access965014 +Node: Symbol table by name965528 +Node: Symbol table by cookie967548 +Ref: Symbol table by cookie-Footnote-1971693 +Node: Cached values971756 +Ref: Cached values-Footnote-1975252 +Node: Array Manipulation975343 +Ref: Array Manipulation-Footnote-1976441 +Node: Array Data Types976478 +Ref: Array Data Types-Footnote-1979133 +Node: Array Functions979225 +Node: Flattening Arrays983084 +Node: Creating Arrays989986 +Node: Extension API Variables994757 +Node: Extension Versioning995393 +Node: Extension API Informational Variables997284 +Node: Extension API Boilerplate998349 +Node: Finding Extensions1002158 +Node: Extension Example1002718 +Node: Internal File Description1003490 +Node: Internal File Ops1007557 +Ref: Internal File Ops-Footnote-11019308 +Node: Using Internal File Ops1019448 +Ref: Using Internal File Ops-Footnote-11021831 +Node: Extension Samples1022104 +Node: Extension Sample File Functions1023632 +Node: Extension Sample Fnmatch1031313 +Node: Extension Sample Fork1032801 +Node: Extension Sample Inplace1034016 +Node: Extension Sample Ord1036102 +Node: Extension Sample Readdir1036938 +Ref: table-readdir-file-types1037815 +Node: Extension Sample Revout1038626 +Node: Extension Sample Rev2way1039215 +Node: Extension Sample Read write array1039955 +Node: Extension Sample Readfile1041895 +Node: Extension Sample Time1042990 +Node: Extension Sample API Tests1044338 +Node: gawkextlib1044829 +Node: Extension summary1047507 +Node: Extension Exercises1051196 +Node: Language History1052692 +Node: V7/SVR3.11054348 +Node: SVR41056501 +Node: POSIX1057935 +Node: BTL1059316 +Node: POSIX/GNU1060047 +Node: Feature History1065568 +Node: Common Extensions1078666 +Node: Ranges and Locales1080038 +Ref: Ranges and Locales-Footnote-11084657 +Ref: Ranges and Locales-Footnote-21084684 +Ref: Ranges and Locales-Footnote-31084919 +Node: Contributors1085140 +Node: History summary1090680 +Node: Installation1092059 +Node: Gawk Distribution1093005 +Node: Getting1093489 +Node: Extracting1094312 +Node: Distribution contents1095949 +Node: Unix Installation1101703 +Node: Quick Installation1102320 +Node: Additional Configuration Options1104744 +Node: Configuration Philosophy1106547 +Node: Non-Unix Installation1108916 +Node: PC Installation1109374 +Node: PC Binary Installation1110694 +Node: PC Compiling1112542 +Ref: PC Compiling-Footnote-11115563 +Node: PC Testing1115672 +Node: PC Using1116848 +Node: Cygwin1120963 +Node: MSYS1121733 +Node: VMS Installation1122234 +Node: VMS Compilation1123026 +Ref: VMS Compilation-Footnote-11124255 +Node: VMS Dynamic Extensions1124313 +Node: VMS Installation Details1125997 +Node: VMS Running1128248 +Node: VMS GNV1131088 +Node: VMS Old Gawk1131823 +Node: Bugs1132293 +Node: Other Versions1136182 +Node: Installation summary1142616 +Node: Notes1143675 +Node: Compatibility Mode1144540 +Node: Additions1145322 +Node: Accessing The Source1146247 +Node: Adding Code1147682 +Node: New Ports1153839 +Node: Derived Files1158321 +Ref: Derived Files-Footnote-11163796 +Ref: Derived Files-Footnote-21163830 +Ref: Derived Files-Footnote-31164426 +Node: Future Extensions1164540 +Node: Implementation Limitations1165146 +Node: Extension Design1166394 +Node: Old Extension Problems1167548 +Ref: Old Extension Problems-Footnote-11169065 +Node: Extension New Mechanism Goals1169122 +Ref: Extension New Mechanism Goals-Footnote-11172482 +Node: Extension Other Design Decisions1172671 +Node: Extension Future Growth1174779 +Node: Old Extension Mechanism1175615 +Node: Notes summary1177377 +Node: Basic Concepts1178563 +Node: Basic High Level1179244 +Ref: figure-general-flow1179516 +Ref: figure-process-flow1180115 +Ref: Basic High Level-Footnote-11183344 +Node: Basic Data Typing1183529 +Node: Glossary1186857 +Node: Copying1218786 +Node: GNU Free Documentation License1256342 +Node: Index1281478 End Tag Table |