From 15fba5cef614e836b6ed35543b8e7ae49f52a450 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 24 Dec 2014 20:41:09 +0200 Subject: Start on doc updates. --- doc/gawk.info | 1191 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 632 insertions(+), 559 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 37494e64..92495978 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -246,6 +246,7 @@ entitled "GNU Free Documentation License". * Special Caveats:: Things to watch out for. * Close Files And Pipes:: Closing Input and Output Files and Pipes. +* Nonfatal:: Enabling Nonfatal Output. * Output Summary:: Output summary. * Output Exercises:: Exercises. * Values:: Constants, Variables, and Regular @@ -6119,6 +6120,7 @@ function. `gawk' allows access to inherited file descriptors. * Close Files And Pipes:: Closing Input and Output Files and Pipes. +* Nonfatal:: Enabling Nonfatal Output. * Output Summary:: Output summary. * Output Exercises:: Exercises. @@ -7032,7 +7034,7 @@ that `gawk' provides: behavior.  -File: gawk.info, Node: Close Files And Pipes, Next: Output Summary, Prev: Special Files, Up: Printing +File: gawk.info, Node: Close Files And Pipes, Next: Nonfatal, Prev: Special Files, Up: Printing 5.9 Closing Input and Output Redirections ========================================= @@ -7201,9 +7203,56 @@ call. See the system manual pages for information on how to decode this value.  -File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Close Files And Pipes, Up: Printing +File: gawk.info, Node: Nonfatal, Next: Output Summary, Prev: Close Files And Pipes, Up: Printing -5.10 Summary +5.10 Enabling Nonfatal Output +============================= + +This minor node describes a `gawk'-specific feature. + + In standard `awk', output with `print' or `printf' to a nonexistent +file, or some other I/O error (such as filling up the disk) is a fatal +error. + + $ gawk 'BEGIN { print "hi" > "/no/such/file" }' + error--> gawk: cmd. line:1: fatal: can't redirect to `/no/such/file' (No such file or directory) + + `gawk' makes it possible to detect that an error has occurred, +allowing you to possibly recover from the error, or at least print an +error message of your choosing before exiting. You can do this in one +of two ways: + + * For all output files, by assigning any value to + `PROCINFO["nonfatal"]'. + + * On a per-file basis, by assigning any value to `PROCINFO[FILENAME, + "nonfatal"]'. Here, FILENAME is the name of the file to which you + wish output to be nonfatal. + + Once you have enabled nonfatal output, you must check `ERRNO' after +every relevant `print' or `printf' statement to see if something went +wrong. It is also a good idea to initialize `ERRNO' to zero before +attempting the output. For example: + + $ gawk ' + > BEGIN { + > PROCINFO["nonfatal"] = 1 + > ERRNO = 0 + > print "hi" > "/no/such/file" + > if (ERRNO) { + > print("Output failed:", ERRNO) > "/dev/stderr" + > exit 1 + > } + > }' + error--> Output failed: No such file or directory + + Here, `gawk' did not produce a fatal error; instead it let the `awk' +program code detect the problem and handle it. + + +File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Nonfatal, Up: Printing + +5.11 Summary ============ * The `print' statement prints comma-separated expressions. Each @@ -7225,11 +7274,16 @@ File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Close Fi For coprocesses, it is possible to close only one direction of the communications. + * Normally errors with `print' or `printf' are fatal. `gawk' lets + you make output errors be nonfatal either for all files or on a + per-file basis. You must then check for errors after every + relevant output statement. +  File: gawk.info, Node: Output Exercises, Prev: Output Summary, Up: Printing -5.11 Exercises +5.12 Exercises ============== 1. Rewrite the program: @@ -26931,6 +26985,24 @@ in POSIX `awk', in the order they were added to `gawk'. Dynamic Extensions::). + Version *FIXME* XXXX introduced the following changes: + + * Changes to `ENVIRON' are reflected into `gawk''s environment and + that of programs that it runs. *Note Auto-set::. + + * The `--pretty-print' option no longer runs the `awk' program too. + FIXME: Add xref. + + * The `igawk' program and its manual page are no longer installed + when `gawk' is built. FIXME: Add xref. + + * The `div()' function. FIXME: Add xref. + + * The maximum number of hexdecimal digits in `\x' escapes is now two. + FIXME: Add xref. + + * Nonfatal output with `print' and `printf'. *Note Nonfatal::. +  File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History @@ -34453,560 +34525,561 @@ Index  Tag Table: Node: Top1204 -Node: Foreword342225 -Node: Foreword446667 -Node: Preface48189 -Ref: Preface-Footnote-151060 -Ref: Preface-Footnote-251167 -Ref: Preface-Footnote-351400 -Node: History51542 -Node: Names53888 -Ref: Names-Footnote-154982 -Node: This Manual55128 -Ref: This Manual-Footnote-161615 -Node: Conventions61715 -Node: Manual History64053 -Ref: Manual History-Footnote-167035 -Ref: Manual History-Footnote-267076 -Node: How To Contribute67150 -Node: Acknowledgments68279 -Node: Getting Started73084 -Node: Running gawk75517 -Node: One-shot76707 -Node: Read Terminal77955 -Node: Long79982 -Node: Executable Scripts81498 -Ref: Executable Scripts-Footnote-184287 -Node: Comments84390 -Node: Quoting86872 -Node: DOS Quoting92396 -Node: Sample Data Files93071 -Node: Very Simple95666 -Node: Two Rules100564 -Node: More Complex102450 -Node: Statements/Lines105312 -Ref: Statements/Lines-Footnote-1109767 -Node: Other Features110032 -Node: When110963 -Ref: When-Footnote-1112717 -Node: Intro Summary112782 -Node: Invoking Gawk113665 -Node: Command Line115179 -Node: Options115977 -Ref: Options-Footnote-1131781 -Ref: Options-Footnote-2132010 -Node: Other Arguments132035 -Node: Naming Standard Input134983 -Node: Environment Variables136076 -Node: AWKPATH Variable136634 -Ref: AWKPATH Variable-Footnote-1140047 -Ref: AWKPATH Variable-Footnote-2140092 -Node: AWKLIBPATH Variable140352 -Node: Other Environment Variables141608 -Node: Exit Status145096 -Node: Include Files145772 -Node: Loading Shared Libraries149369 -Node: Obsolete150796 -Node: Undocumented151493 -Node: Invoking Summary151760 -Node: Regexp153424 -Node: Regexp Usage154878 -Node: Escape Sequences156915 -Node: Regexp Operators163156 -Ref: Regexp Operators-Footnote-1170582 -Ref: Regexp Operators-Footnote-2170729 -Node: Bracket Expressions170827 -Ref: table-char-classes172842 -Node: Leftmost Longest175766 -Node: Computed Regexps177068 -Node: GNU Regexp Operators180465 -Node: Case-sensitivity184138 -Ref: Case-sensitivity-Footnote-1187023 -Ref: Case-sensitivity-Footnote-2187258 -Node: Regexp Summary187366 -Node: Reading Files188833 -Node: Records190927 -Node: awk split records191660 -Node: gawk split records196575 -Ref: gawk split records-Footnote-1201119 -Node: Fields201156 -Ref: Fields-Footnote-1203932 -Node: Nonconstant Fields204018 -Ref: Nonconstant Fields-Footnote-1206261 -Node: Changing Fields206465 -Node: Field Separators212394 -Node: Default Field Splitting215099 -Node: Regexp Field Splitting216216 -Node: Single Character Fields219566 -Node: Command Line Field Separator220625 -Node: Full Line Fields223837 -Ref: Full Line Fields-Footnote-1225354 -Ref: Full Line Fields-Footnote-2225400 -Node: Field Splitting Summary225501 -Node: Constant Size227575 -Node: Splitting By Content232164 -Ref: Splitting By Content-Footnote-1236158 -Node: Multiple Line236321 -Ref: Multiple Line-Footnote-1242207 -Node: Getline242386 -Node: Plain Getline244598 -Node: Getline/Variable247238 -Node: Getline/File248386 -Node: Getline/Variable/File249770 -Ref: Getline/Variable/File-Footnote-1251373 -Node: Getline/Pipe251460 -Node: Getline/Variable/Pipe254143 -Node: Getline/Coprocess255274 -Node: Getline/Variable/Coprocess256526 -Node: Getline Notes257265 -Node: Getline Summary260057 -Ref: table-getline-variants260469 -Node: Read Timeout261298 -Ref: Read Timeout-Footnote-1265123 -Node: Command-line directories265181 -Node: Input Summary266086 -Node: Input Exercises269387 -Node: Printing270115 -Node: Print271892 -Node: Print Examples273349 -Node: Output Separators276128 -Node: OFMT278146 -Node: Printf279500 -Node: Basic Printf280285 -Node: Control Letters281855 -Node: Format Modifiers285838 -Node: Printf Examples291847 -Node: Redirection294333 -Node: Special FD301174 -Ref: Special FD-Footnote-1304334 -Node: Special Files304408 -Node: Other Inherited Files305025 -Node: Special Network306025 -Node: Special Caveats306887 -Node: Close Files And Pipes307838 -Ref: Close Files And Pipes-Footnote-1315020 -Ref: Close Files And Pipes-Footnote-2315168 -Node: Output Summary315318 -Node: Output Exercises316316 -Node: Expressions316996 -Node: Values318181 -Node: Constants318859 -Node: Scalar Constants319550 -Ref: Scalar Constants-Footnote-1320409 -Node: Nondecimal-numbers320659 -Node: Regexp Constants323677 -Node: Using Constant Regexps324202 -Node: Variables327345 -Node: Using Variables328000 -Node: Assignment Options329911 -Node: Conversion331786 -Node: Strings And Numbers332310 -Ref: Strings And Numbers-Footnote-1335375 -Node: Locale influences conversions335484 -Ref: table-locale-affects338231 -Node: All Operators338819 -Node: Arithmetic Ops339449 -Node: Concatenation341954 -Ref: Concatenation-Footnote-1344773 -Node: Assignment Ops344879 -Ref: table-assign-ops349858 -Node: Increment Ops351130 -Node: Truth Values and Conditions354568 -Node: Truth Values355653 -Node: Typing and Comparison356702 -Node: Variable Typing357512 -Node: Comparison Operators361165 -Ref: table-relational-ops361575 -Node: POSIX String Comparison365070 -Ref: POSIX String Comparison-Footnote-1366142 -Node: Boolean Ops366280 -Ref: Boolean Ops-Footnote-1370759 -Node: Conditional Exp370850 -Node: Function Calls372577 -Node: Precedence376457 -Node: Locales380118 -Node: Expressions Summary381750 -Node: Patterns and Actions384310 -Node: Pattern Overview385430 -Node: Regexp Patterns387109 -Node: Expression Patterns387652 -Node: Ranges391362 -Node: BEGIN/END394468 -Node: Using BEGIN/END395229 -Ref: Using BEGIN/END-Footnote-1397963 -Node: I/O And BEGIN/END398069 -Node: BEGINFILE/ENDFILE400383 -Node: Empty403284 -Node: Using Shell Variables403601 -Node: Action Overview405874 -Node: Statements408200 -Node: If Statement410048 -Node: While Statement411543 -Node: Do Statement413572 -Node: For Statement414716 -Node: Switch Statement417873 -Node: Break Statement420255 -Node: Continue Statement422296 -Node: Next Statement424123 -Node: Nextfile Statement426504 -Node: Exit Statement429134 -Node: Built-in Variables431537 -Node: User-modified432670 -Ref: User-modified-Footnote-1440351 -Node: Auto-set440413 -Ref: Auto-set-Footnote-1454105 -Ref: Auto-set-Footnote-2454310 -Node: ARGC and ARGV454366 -Node: Pattern Action Summary458584 -Node: Arrays461011 -Node: Array Basics462340 -Node: Array Intro463184 -Ref: figure-array-elements465148 -Ref: Array Intro-Footnote-1467674 -Node: Reference to Elements467802 -Node: Assigning Elements470254 -Node: Array Example470745 -Node: Scanning an Array472503 -Node: Controlling Scanning475519 -Ref: Controlling Scanning-Footnote-1480715 -Node: Numeric Array Subscripts481031 -Node: Uninitialized Subscripts483216 -Node: Delete484833 -Ref: Delete-Footnote-1487576 -Node: Multidimensional487633 -Node: Multiscanning490730 -Node: Arrays of Arrays492319 -Node: Arrays Summary497078 -Node: Functions499170 -Node: Built-in500069 -Node: Calling Built-in501147 -Node: Numeric Functions503138 -Ref: Numeric Functions-Footnote-1507957 -Ref: Numeric Functions-Footnote-2508314 -Ref: Numeric Functions-Footnote-3508362 -Node: String Functions508634 -Ref: String Functions-Footnote-1532109 -Ref: String Functions-Footnote-2532238 -Ref: String Functions-Footnote-3532486 -Node: Gory Details532573 -Ref: table-sub-escapes534354 -Ref: table-sub-proposed535874 -Ref: table-posix-sub537238 -Ref: table-gensub-escapes538774 -Ref: Gory Details-Footnote-1539606 -Node: I/O Functions539757 -Ref: I/O Functions-Footnote-1546975 -Node: Time Functions547122 -Ref: Time Functions-Footnote-1557610 -Ref: Time Functions-Footnote-2557678 -Ref: Time Functions-Footnote-3557836 -Ref: Time Functions-Footnote-4557947 -Ref: Time Functions-Footnote-5558059 -Ref: Time Functions-Footnote-6558286 -Node: Bitwise Functions558552 -Ref: table-bitwise-ops559114 -Ref: Bitwise Functions-Footnote-1563423 -Node: Type Functions563592 -Node: I18N Functions564743 -Node: User-defined566388 -Node: Definition Syntax567193 -Ref: Definition Syntax-Footnote-1572600 -Node: Function Example572671 -Ref: Function Example-Footnote-1575590 -Node: Function Caveats575612 -Node: Calling A Function576130 -Node: Variable Scope577088 -Node: Pass By Value/Reference580076 -Node: Return Statement583571 -Node: Dynamic Typing586552 -Node: Indirect Calls587481 -Ref: Indirect Calls-Footnote-1598783 -Node: Functions Summary598911 -Node: Library Functions601613 -Ref: Library Functions-Footnote-1605222 -Ref: Library Functions-Footnote-2605365 -Node: Library Names605536 -Ref: Library Names-Footnote-1608990 -Ref: Library Names-Footnote-2609213 -Node: General Functions609299 -Node: Strtonum Function610402 -Node: Assert Function613424 -Node: Round Function616748 -Node: Cliff Random Function618289 -Node: Ordinal Functions619305 -Ref: Ordinal Functions-Footnote-1622368 -Ref: Ordinal Functions-Footnote-2622620 -Node: Join Function622831 -Ref: Join Function-Footnote-1624600 -Node: Getlocaltime Function624800 -Node: Readfile Function628544 -Node: Shell Quoting630514 -Node: Data File Management631915 -Node: Filetrans Function632547 -Node: Rewind Function636603 -Node: File Checking637990 -Ref: File Checking-Footnote-1639322 -Node: Empty Files639523 -Node: Ignoring Assigns641502 -Node: Getopt Function643053 -Ref: Getopt Function-Footnote-1654515 -Node: Passwd Functions654715 -Ref: Passwd Functions-Footnote-1663552 -Node: Group Functions663640 -Ref: Group Functions-Footnote-1671534 -Node: Walking Arrays671747 -Node: Library Functions Summary673350 -Node: Library Exercises674751 -Node: Sample Programs676031 -Node: Running Examples676801 -Node: Clones677529 -Node: Cut Program678753 -Node: Egrep Program688472 -Ref: Egrep Program-Footnote-1695970 -Node: Id Program696080 -Node: Split Program699725 -Ref: Split Program-Footnote-1703173 -Node: Tee Program703301 -Node: Uniq Program706090 -Node: Wc Program713509 -Ref: Wc Program-Footnote-1717759 -Node: Miscellaneous Programs717853 -Node: Dupword Program719066 -Node: Alarm Program721097 -Node: Translate Program725901 -Ref: Translate Program-Footnote-1730466 -Node: Labels Program730736 -Ref: Labels Program-Footnote-1734087 -Node: Word Sorting734171 -Node: History Sorting738242 -Node: Extract Program740078 -Node: Simple Sed747603 -Node: Igawk Program750671 -Ref: Igawk Program-Footnote-1764995 -Ref: Igawk Program-Footnote-2765196 -Ref: Igawk Program-Footnote-3765318 -Node: Anagram Program765433 -Node: Signature Program768490 -Node: Programs Summary769737 -Node: Programs Exercises770930 -Ref: Programs Exercises-Footnote-1775061 -Node: Advanced Features775152 -Node: Nondecimal Data777100 -Node: Array Sorting778690 -Node: Controlling Array Traversal779387 -Ref: Controlling Array Traversal-Footnote-1787720 -Node: Array Sorting Functions787838 -Ref: Array Sorting Functions-Footnote-1791727 -Node: Two-way I/O791923 -Ref: Two-way I/O-Footnote-1796868 -Ref: Two-way I/O-Footnote-2797054 -Node: TCP/IP Networking797136 -Node: Profiling800009 -Node: Advanced Features Summary808286 -Node: Internationalization810219 -Node: I18N and L10N811699 -Node: Explaining gettext812385 -Ref: Explaining gettext-Footnote-1817410 -Ref: Explaining gettext-Footnote-2817594 -Node: Programmer i18n817759 -Ref: Programmer i18n-Footnote-1822625 -Node: Translator i18n822674 -Node: String Extraction823468 -Ref: String Extraction-Footnote-1824599 -Node: Printf Ordering824685 -Ref: Printf Ordering-Footnote-1827471 -Node: I18N Portability827535 -Ref: I18N Portability-Footnote-1829990 -Node: I18N Example830053 -Ref: I18N Example-Footnote-1832856 -Node: Gawk I18N832928 -Node: I18N Summary833566 -Node: Debugger834905 -Node: Debugging835927 -Node: Debugging Concepts836368 -Node: Debugging Terms838221 -Node: Awk Debugging840793 -Node: Sample Debugging Session841687 -Node: Debugger Invocation842207 -Node: Finding The Bug843591 -Node: List of Debugger Commands850066 -Node: Breakpoint Control851399 -Node: Debugger Execution Control855095 -Node: Viewing And Changing Data858459 -Node: Execution Stack861837 -Node: Debugger Info863474 -Node: Miscellaneous Debugger Commands867491 -Node: Readline Support872520 -Node: Limitations873412 -Node: Debugging Summary875526 -Node: Arbitrary Precision Arithmetic876694 -Node: Computer Arithmetic878110 -Ref: table-numeric-ranges881708 -Ref: Computer Arithmetic-Footnote-1882567 -Node: Math Definitions882624 -Ref: table-ieee-formats885912 -Ref: Math Definitions-Footnote-1886516 -Node: MPFR features886621 -Node: FP Math Caution888292 -Ref: FP Math Caution-Footnote-1889342 -Node: Inexactness of computations889711 -Node: Inexact representation890670 -Node: Comparing FP Values892027 -Node: Errors accumulate893109 -Node: Getting Accuracy894542 -Node: Try To Round897204 -Node: Setting precision898103 -Ref: table-predefined-precision-strings898787 -Node: Setting the rounding mode900576 -Ref: table-gawk-rounding-modes900940 -Ref: Setting the rounding mode-Footnote-1904395 -Node: Arbitrary Precision Integers904574 -Ref: Arbitrary Precision Integers-Footnote-1909473 -Node: POSIX Floating Point Problems909622 -Ref: POSIX Floating Point Problems-Footnote-1913495 -Node: Floating point summary913533 -Node: Dynamic Extensions915727 -Node: Extension Intro917279 -Node: Plugin License918545 -Node: Extension Mechanism Outline919342 -Ref: figure-load-extension919770 -Ref: figure-register-new-function921250 -Ref: figure-call-new-function922254 -Node: Extension API Description924240 -Node: Extension API Functions Introduction925690 -Node: General Data Types930514 -Ref: General Data Types-Footnote-1936253 -Node: Memory Allocation Functions936552 -Ref: Memory Allocation Functions-Footnote-1939391 -Node: Constructor Functions939487 -Node: Registration Functions941221 -Node: Extension Functions941906 -Node: Exit Callback Functions944203 -Node: Extension Version String945451 -Node: Input Parsers946116 -Node: Output Wrappers955995 -Node: Two-way processors960510 -Node: Printing Messages962714 -Ref: Printing Messages-Footnote-1963790 -Node: Updating `ERRNO'963942 -Node: Requesting Values964682 -Ref: table-value-types-returned965410 -Node: Accessing Parameters966367 -Node: Symbol Table Access967598 -Node: Symbol table by name968112 -Node: Symbol table by cookie970093 -Ref: Symbol table by cookie-Footnote-1974237 -Node: Cached values974300 -Ref: Cached values-Footnote-1977799 -Node: Array Manipulation977890 -Ref: Array Manipulation-Footnote-1978988 -Node: Array Data Types979025 -Ref: Array Data Types-Footnote-1981680 -Node: Array Functions981772 -Node: Flattening Arrays985626 -Node: Creating Arrays992518 -Node: Extension API Variables997289 -Node: Extension Versioning997925 -Node: Extension API Informational Variables999826 -Node: Extension API Boilerplate1000891 -Node: Finding Extensions1004700 -Node: Extension Example1005260 -Node: Internal File Description1006032 -Node: Internal File Ops1010099 -Ref: Internal File Ops-Footnote-11021769 -Node: Using Internal File Ops1021909 -Ref: Using Internal File Ops-Footnote-11024292 -Node: Extension Samples1024565 -Node: Extension Sample File Functions1026091 -Node: Extension Sample Fnmatch1033729 -Node: Extension Sample Fork1035220 -Node: Extension Sample Inplace1036435 -Node: Extension Sample Ord1038110 -Node: Extension Sample Readdir1038946 -Ref: table-readdir-file-types1039822 -Node: Extension Sample Revout1040633 -Node: Extension Sample Rev2way1041223 -Node: Extension Sample Read write array1041963 -Node: Extension Sample Readfile1043903 -Node: Extension Sample Time1044998 -Node: Extension Sample API Tests1046347 -Node: gawkextlib1046838 -Node: Extension summary1049496 -Node: Extension Exercises1053185 -Node: Language History1053907 -Node: V7/SVR3.11055563 -Node: SVR41057744 -Node: POSIX1059189 -Node: BTL1060578 -Node: POSIX/GNU1061312 -Node: Feature History1066936 -Node: Common Extensions1080034 -Node: Ranges and Locales1081358 -Ref: Ranges and Locales-Footnote-11085976 -Ref: Ranges and Locales-Footnote-21086003 -Ref: Ranges and Locales-Footnote-31086237 -Node: Contributors1086458 -Node: History summary1091999 -Node: Installation1093369 -Node: Gawk Distribution1094315 -Node: Getting1094799 -Node: Extracting1095622 -Node: Distribution contents1097257 -Node: Unix Installation1103322 -Node: Quick Installation1104005 -Node: Shell Startup Files1106416 -Node: Additional Configuration Options1107495 -Node: Configuration Philosophy1109234 -Node: Non-Unix Installation1111603 -Node: PC Installation1112061 -Node: PC Binary Installation1113380 -Node: PC Compiling1115228 -Ref: PC Compiling-Footnote-11118249 -Node: PC Testing1118358 -Node: PC Using1119534 -Node: Cygwin1123649 -Node: MSYS1124472 -Node: VMS Installation1124972 -Node: VMS Compilation1125764 -Ref: VMS Compilation-Footnote-11126986 -Node: VMS Dynamic Extensions1127044 -Node: VMS Installation Details1128728 -Node: VMS Running1130980 -Node: VMS GNV1133816 -Node: VMS Old Gawk1134550 -Node: Bugs1135020 -Node: Other Versions1138903 -Node: Installation summary1145331 -Node: Notes1146387 -Node: Compatibility Mode1147252 -Node: Additions1148034 -Node: Accessing The Source1148959 -Node: Adding Code1150395 -Node: New Ports1156560 -Node: Derived Files1161042 -Ref: Derived Files-Footnote-11166517 -Ref: Derived Files-Footnote-21166551 -Ref: Derived Files-Footnote-31167147 -Node: Future Extensions1167261 -Node: Implementation Limitations1167867 -Node: Extension Design1169115 -Node: Old Extension Problems1170269 -Ref: Old Extension Problems-Footnote-11171786 -Node: Extension New Mechanism Goals1171843 -Ref: Extension New Mechanism Goals-Footnote-11175203 -Node: Extension Other Design Decisions1175392 -Node: Extension Future Growth1177500 -Node: Old Extension Mechanism1178336 -Node: Notes summary1180098 -Node: Basic Concepts1181284 -Node: Basic High Level1181965 -Ref: figure-general-flow1182237 -Ref: figure-process-flow1182836 -Ref: Basic High Level-Footnote-11186065 -Node: Basic Data Typing1186250 -Node: Glossary1189578 -Node: Copying1214736 -Node: GNU Free Documentation License1252292 -Node: Index1277428 +Node: Foreword342291 +Node: Foreword446733 +Node: Preface48255 +Ref: Preface-Footnote-151126 +Ref: Preface-Footnote-251233 +Ref: Preface-Footnote-351466 +Node: History51608 +Node: Names53954 +Ref: Names-Footnote-155048 +Node: This Manual55194 +Ref: This Manual-Footnote-161681 +Node: Conventions61781 +Node: Manual History64119 +Ref: Manual History-Footnote-167101 +Ref: Manual History-Footnote-267142 +Node: How To Contribute67216 +Node: Acknowledgments68345 +Node: Getting Started73150 +Node: Running gawk75583 +Node: One-shot76773 +Node: Read Terminal78021 +Node: Long80048 +Node: Executable Scripts81564 +Ref: Executable Scripts-Footnote-184353 +Node: Comments84456 +Node: Quoting86938 +Node: DOS Quoting92462 +Node: Sample Data Files93137 +Node: Very Simple95732 +Node: Two Rules100630 +Node: More Complex102516 +Node: Statements/Lines105378 +Ref: Statements/Lines-Footnote-1109833 +Node: Other Features110098 +Node: When111029 +Ref: When-Footnote-1112783 +Node: Intro Summary112848 +Node: Invoking Gawk113731 +Node: Command Line115245 +Node: Options116043 +Ref: Options-Footnote-1131847 +Ref: Options-Footnote-2132076 +Node: Other Arguments132101 +Node: Naming Standard Input135049 +Node: Environment Variables136142 +Node: AWKPATH Variable136700 +Ref: AWKPATH Variable-Footnote-1140113 +Ref: AWKPATH Variable-Footnote-2140158 +Node: AWKLIBPATH Variable140418 +Node: Other Environment Variables141674 +Node: Exit Status145162 +Node: Include Files145838 +Node: Loading Shared Libraries149435 +Node: Obsolete150862 +Node: Undocumented151559 +Node: Invoking Summary151826 +Node: Regexp153490 +Node: Regexp Usage154944 +Node: Escape Sequences156981 +Node: Regexp Operators163222 +Ref: Regexp Operators-Footnote-1170648 +Ref: Regexp Operators-Footnote-2170795 +Node: Bracket Expressions170893 +Ref: table-char-classes172908 +Node: Leftmost Longest175832 +Node: Computed Regexps177134 +Node: GNU Regexp Operators180531 +Node: Case-sensitivity184204 +Ref: Case-sensitivity-Footnote-1187089 +Ref: Case-sensitivity-Footnote-2187324 +Node: Regexp Summary187432 +Node: Reading Files188899 +Node: Records190993 +Node: awk split records191726 +Node: gawk split records196641 +Ref: gawk split records-Footnote-1201185 +Node: Fields201222 +Ref: Fields-Footnote-1203998 +Node: Nonconstant Fields204084 +Ref: Nonconstant Fields-Footnote-1206327 +Node: Changing Fields206531 +Node: Field Separators212460 +Node: Default Field Splitting215165 +Node: Regexp Field Splitting216282 +Node: Single Character Fields219632 +Node: Command Line Field Separator220691 +Node: Full Line Fields223903 +Ref: Full Line Fields-Footnote-1225420 +Ref: Full Line Fields-Footnote-2225466 +Node: Field Splitting Summary225567 +Node: Constant Size227641 +Node: Splitting By Content232230 +Ref: Splitting By Content-Footnote-1236224 +Node: Multiple Line236387 +Ref: Multiple Line-Footnote-1242273 +Node: Getline242452 +Node: Plain Getline244664 +Node: Getline/Variable247304 +Node: Getline/File248452 +Node: Getline/Variable/File249836 +Ref: Getline/Variable/File-Footnote-1251439 +Node: Getline/Pipe251526 +Node: Getline/Variable/Pipe254209 +Node: Getline/Coprocess255340 +Node: Getline/Variable/Coprocess256592 +Node: Getline Notes257331 +Node: Getline Summary260123 +Ref: table-getline-variants260535 +Node: Read Timeout261364 +Ref: Read Timeout-Footnote-1265189 +Node: Command-line directories265247 +Node: Input Summary266152 +Node: Input Exercises269453 +Node: Printing270181 +Node: Print272016 +Node: Print Examples273473 +Node: Output Separators276252 +Node: OFMT278270 +Node: Printf279624 +Node: Basic Printf280409 +Node: Control Letters281979 +Node: Format Modifiers285962 +Node: Printf Examples291971 +Node: Redirection294457 +Node: Special FD301298 +Ref: Special FD-Footnote-1304458 +Node: Special Files304532 +Node: Other Inherited Files305149 +Node: Special Network306149 +Node: Special Caveats307011 +Node: Close Files And Pipes307962 +Ref: Close Files And Pipes-Footnote-1315138 +Ref: Close Files And Pipes-Footnote-2315286 +Node: Nonfatal315436 +Node: Output Summary317122 +Node: Output Exercises318343 +Node: Expressions319023 +Node: Values320208 +Node: Constants320886 +Node: Scalar Constants321577 +Ref: Scalar Constants-Footnote-1322436 +Node: Nondecimal-numbers322686 +Node: Regexp Constants325704 +Node: Using Constant Regexps326229 +Node: Variables329372 +Node: Using Variables330027 +Node: Assignment Options331938 +Node: Conversion333813 +Node: Strings And Numbers334337 +Ref: Strings And Numbers-Footnote-1337402 +Node: Locale influences conversions337511 +Ref: table-locale-affects340258 +Node: All Operators340846 +Node: Arithmetic Ops341476 +Node: Concatenation343981 +Ref: Concatenation-Footnote-1346800 +Node: Assignment Ops346906 +Ref: table-assign-ops351885 +Node: Increment Ops353157 +Node: Truth Values and Conditions356595 +Node: Truth Values357680 +Node: Typing and Comparison358729 +Node: Variable Typing359539 +Node: Comparison Operators363192 +Ref: table-relational-ops363602 +Node: POSIX String Comparison367097 +Ref: POSIX String Comparison-Footnote-1368169 +Node: Boolean Ops368307 +Ref: Boolean Ops-Footnote-1372786 +Node: Conditional Exp372877 +Node: Function Calls374604 +Node: Precedence378484 +Node: Locales382145 +Node: Expressions Summary383777 +Node: Patterns and Actions386337 +Node: Pattern Overview387457 +Node: Regexp Patterns389136 +Node: Expression Patterns389679 +Node: Ranges393389 +Node: BEGIN/END396495 +Node: Using BEGIN/END397256 +Ref: Using BEGIN/END-Footnote-1399990 +Node: I/O And BEGIN/END400096 +Node: BEGINFILE/ENDFILE402410 +Node: Empty405311 +Node: Using Shell Variables405628 +Node: Action Overview407901 +Node: Statements410227 +Node: If Statement412075 +Node: While Statement413570 +Node: Do Statement415599 +Node: For Statement416743 +Node: Switch Statement419900 +Node: Break Statement422282 +Node: Continue Statement424323 +Node: Next Statement426150 +Node: Nextfile Statement428531 +Node: Exit Statement431161 +Node: Built-in Variables433564 +Node: User-modified434697 +Ref: User-modified-Footnote-1442378 +Node: Auto-set442440 +Ref: Auto-set-Footnote-1456132 +Ref: Auto-set-Footnote-2456337 +Node: ARGC and ARGV456393 +Node: Pattern Action Summary460611 +Node: Arrays463038 +Node: Array Basics464367 +Node: Array Intro465211 +Ref: figure-array-elements467175 +Ref: Array Intro-Footnote-1469701 +Node: Reference to Elements469829 +Node: Assigning Elements472281 +Node: Array Example472772 +Node: Scanning an Array474530 +Node: Controlling Scanning477546 +Ref: Controlling Scanning-Footnote-1482742 +Node: Numeric Array Subscripts483058 +Node: Uninitialized Subscripts485243 +Node: Delete486860 +Ref: Delete-Footnote-1489603 +Node: Multidimensional489660 +Node: Multiscanning492757 +Node: Arrays of Arrays494346 +Node: Arrays Summary499105 +Node: Functions501197 +Node: Built-in502096 +Node: Calling Built-in503174 +Node: Numeric Functions505165 +Ref: Numeric Functions-Footnote-1509984 +Ref: Numeric Functions-Footnote-2510341 +Ref: Numeric Functions-Footnote-3510389 +Node: String Functions510661 +Ref: String Functions-Footnote-1534136 +Ref: String Functions-Footnote-2534265 +Ref: String Functions-Footnote-3534513 +Node: Gory Details534600 +Ref: table-sub-escapes536381 +Ref: table-sub-proposed537901 +Ref: table-posix-sub539265 +Ref: table-gensub-escapes540801 +Ref: Gory Details-Footnote-1541633 +Node: I/O Functions541784 +Ref: I/O Functions-Footnote-1549002 +Node: Time Functions549149 +Ref: Time Functions-Footnote-1559637 +Ref: Time Functions-Footnote-2559705 +Ref: Time Functions-Footnote-3559863 +Ref: Time Functions-Footnote-4559974 +Ref: Time Functions-Footnote-5560086 +Ref: Time Functions-Footnote-6560313 +Node: Bitwise Functions560579 +Ref: table-bitwise-ops561141 +Ref: Bitwise Functions-Footnote-1565450 +Node: Type Functions565619 +Node: I18N Functions566770 +Node: User-defined568415 +Node: Definition Syntax569220 +Ref: Definition Syntax-Footnote-1574627 +Node: Function Example574698 +Ref: Function Example-Footnote-1577617 +Node: Function Caveats577639 +Node: Calling A Function578157 +Node: Variable Scope579115 +Node: Pass By Value/Reference582103 +Node: Return Statement585598 +Node: Dynamic Typing588579 +Node: Indirect Calls589508 +Ref: Indirect Calls-Footnote-1600810 +Node: Functions Summary600938 +Node: Library Functions603640 +Ref: Library Functions-Footnote-1607249 +Ref: Library Functions-Footnote-2607392 +Node: Library Names607563 +Ref: Library Names-Footnote-1611017 +Ref: Library Names-Footnote-2611240 +Node: General Functions611326 +Node: Strtonum Function612429 +Node: Assert Function615451 +Node: Round Function618775 +Node: Cliff Random Function620316 +Node: Ordinal Functions621332 +Ref: Ordinal Functions-Footnote-1624395 +Ref: Ordinal Functions-Footnote-2624647 +Node: Join Function624858 +Ref: Join Function-Footnote-1626627 +Node: Getlocaltime Function626827 +Node: Readfile Function630571 +Node: Shell Quoting632541 +Node: Data File Management633942 +Node: Filetrans Function634574 +Node: Rewind Function638630 +Node: File Checking640017 +Ref: File Checking-Footnote-1641349 +Node: Empty Files641550 +Node: Ignoring Assigns643529 +Node: Getopt Function645080 +Ref: Getopt Function-Footnote-1656542 +Node: Passwd Functions656742 +Ref: Passwd Functions-Footnote-1665579 +Node: Group Functions665667 +Ref: Group Functions-Footnote-1673561 +Node: Walking Arrays673774 +Node: Library Functions Summary675377 +Node: Library Exercises676778 +Node: Sample Programs678058 +Node: Running Examples678828 +Node: Clones679556 +Node: Cut Program680780 +Node: Egrep Program690499 +Ref: Egrep Program-Footnote-1697997 +Node: Id Program698107 +Node: Split Program701752 +Ref: Split Program-Footnote-1705200 +Node: Tee Program705328 +Node: Uniq Program708117 +Node: Wc Program715536 +Ref: Wc Program-Footnote-1719786 +Node: Miscellaneous Programs719880 +Node: Dupword Program721093 +Node: Alarm Program723124 +Node: Translate Program727928 +Ref: Translate Program-Footnote-1732493 +Node: Labels Program732763 +Ref: Labels Program-Footnote-1736114 +Node: Word Sorting736198 +Node: History Sorting740269 +Node: Extract Program742105 +Node: Simple Sed749630 +Node: Igawk Program752698 +Ref: Igawk Program-Footnote-1767022 +Ref: Igawk Program-Footnote-2767223 +Ref: Igawk Program-Footnote-3767345 +Node: Anagram Program767460 +Node: Signature Program770517 +Node: Programs Summary771764 +Node: Programs Exercises772957 +Ref: Programs Exercises-Footnote-1777088 +Node: Advanced Features777179 +Node: Nondecimal Data779127 +Node: Array Sorting780717 +Node: Controlling Array Traversal781414 +Ref: Controlling Array Traversal-Footnote-1789747 +Node: Array Sorting Functions789865 +Ref: Array Sorting Functions-Footnote-1793754 +Node: Two-way I/O793950 +Ref: Two-way I/O-Footnote-1798895 +Ref: Two-way I/O-Footnote-2799081 +Node: TCP/IP Networking799163 +Node: Profiling802036 +Node: Advanced Features Summary810313 +Node: Internationalization812246 +Node: I18N and L10N813726 +Node: Explaining gettext814412 +Ref: Explaining gettext-Footnote-1819437 +Ref: Explaining gettext-Footnote-2819621 +Node: Programmer i18n819786 +Ref: Programmer i18n-Footnote-1824652 +Node: Translator i18n824701 +Node: String Extraction825495 +Ref: String Extraction-Footnote-1826626 +Node: Printf Ordering826712 +Ref: Printf Ordering-Footnote-1829498 +Node: I18N Portability829562 +Ref: I18N Portability-Footnote-1832017 +Node: I18N Example832080 +Ref: I18N Example-Footnote-1834883 +Node: Gawk I18N834955 +Node: I18N Summary835593 +Node: Debugger836932 +Node: Debugging837954 +Node: Debugging Concepts838395 +Node: Debugging Terms840248 +Node: Awk Debugging842820 +Node: Sample Debugging Session843714 +Node: Debugger Invocation844234 +Node: Finding The Bug845618 +Node: List of Debugger Commands852093 +Node: Breakpoint Control853426 +Node: Debugger Execution Control857122 +Node: Viewing And Changing Data860486 +Node: Execution Stack863864 +Node: Debugger Info865501 +Node: Miscellaneous Debugger Commands869518 +Node: Readline Support874547 +Node: Limitations875439 +Node: Debugging Summary877553 +Node: Arbitrary Precision Arithmetic878721 +Node: Computer Arithmetic880137 +Ref: table-numeric-ranges883735 +Ref: Computer Arithmetic-Footnote-1884594 +Node: Math Definitions884651 +Ref: table-ieee-formats887939 +Ref: Math Definitions-Footnote-1888543 +Node: MPFR features888648 +Node: FP Math Caution890319 +Ref: FP Math Caution-Footnote-1891369 +Node: Inexactness of computations891738 +Node: Inexact representation892697 +Node: Comparing FP Values894054 +Node: Errors accumulate895136 +Node: Getting Accuracy896569 +Node: Try To Round899231 +Node: Setting precision900130 +Ref: table-predefined-precision-strings900814 +Node: Setting the rounding mode902603 +Ref: table-gawk-rounding-modes902967 +Ref: Setting the rounding mode-Footnote-1906422 +Node: Arbitrary Precision Integers906601 +Ref: Arbitrary Precision Integers-Footnote-1911500 +Node: POSIX Floating Point Problems911649 +Ref: POSIX Floating Point Problems-Footnote-1915522 +Node: Floating point summary915560 +Node: Dynamic Extensions917754 +Node: Extension Intro919306 +Node: Plugin License920572 +Node: Extension Mechanism Outline921369 +Ref: figure-load-extension921797 +Ref: figure-register-new-function923277 +Ref: figure-call-new-function924281 +Node: Extension API Description926267 +Node: Extension API Functions Introduction927717 +Node: General Data Types932541 +Ref: General Data Types-Footnote-1938280 +Node: Memory Allocation Functions938579 +Ref: Memory Allocation Functions-Footnote-1941418 +Node: Constructor Functions941514 +Node: Registration Functions943248 +Node: Extension Functions943933 +Node: Exit Callback Functions946230 +Node: Extension Version String947478 +Node: Input Parsers948143 +Node: Output Wrappers958022 +Node: Two-way processors962537 +Node: Printing Messages964741 +Ref: Printing Messages-Footnote-1965817 +Node: Updating `ERRNO'965969 +Node: Requesting Values966709 +Ref: table-value-types-returned967437 +Node: Accessing Parameters968394 +Node: Symbol Table Access969625 +Node: Symbol table by name970139 +Node: Symbol table by cookie972120 +Ref: Symbol table by cookie-Footnote-1976264 +Node: Cached values976327 +Ref: Cached values-Footnote-1979826 +Node: Array Manipulation979917 +Ref: Array Manipulation-Footnote-1981015 +Node: Array Data Types981052 +Ref: Array Data Types-Footnote-1983707 +Node: Array Functions983799 +Node: Flattening Arrays987653 +Node: Creating Arrays994545 +Node: Extension API Variables999316 +Node: Extension Versioning999952 +Node: Extension API Informational Variables1001853 +Node: Extension API Boilerplate1002918 +Node: Finding Extensions1006727 +Node: Extension Example1007287 +Node: Internal File Description1008059 +Node: Internal File Ops1012126 +Ref: Internal File Ops-Footnote-11023796 +Node: Using Internal File Ops1023936 +Ref: Using Internal File Ops-Footnote-11026319 +Node: Extension Samples1026592 +Node: Extension Sample File Functions1028118 +Node: Extension Sample Fnmatch1035756 +Node: Extension Sample Fork1037247 +Node: Extension Sample Inplace1038462 +Node: Extension Sample Ord1040137 +Node: Extension Sample Readdir1040973 +Ref: table-readdir-file-types1041849 +Node: Extension Sample Revout1042660 +Node: Extension Sample Rev2way1043250 +Node: Extension Sample Read write array1043990 +Node: Extension Sample Readfile1045930 +Node: Extension Sample Time1047025 +Node: Extension Sample API Tests1048374 +Node: gawkextlib1048865 +Node: Extension summary1051523 +Node: Extension Exercises1055212 +Node: Language History1055934 +Node: V7/SVR3.11057590 +Node: SVR41059771 +Node: POSIX1061216 +Node: BTL1062605 +Node: POSIX/GNU1063339 +Node: Feature History1068963 +Node: Common Extensions1082665 +Node: Ranges and Locales1083989 +Ref: Ranges and Locales-Footnote-11088607 +Ref: Ranges and Locales-Footnote-21088634 +Ref: Ranges and Locales-Footnote-31088868 +Node: Contributors1089089 +Node: History summary1094630 +Node: Installation1096000 +Node: Gawk Distribution1096946 +Node: Getting1097430 +Node: Extracting1098253 +Node: Distribution contents1099888 +Node: Unix Installation1105953 +Node: Quick Installation1106636 +Node: Shell Startup Files1109047 +Node: Additional Configuration Options1110126 +Node: Configuration Philosophy1111865 +Node: Non-Unix Installation1114234 +Node: PC Installation1114692 +Node: PC Binary Installation1116011 +Node: PC Compiling1117859 +Ref: PC Compiling-Footnote-11120880 +Node: PC Testing1120989 +Node: PC Using1122165 +Node: Cygwin1126280 +Node: MSYS1127103 +Node: VMS Installation1127603 +Node: VMS Compilation1128395 +Ref: VMS Compilation-Footnote-11129617 +Node: VMS Dynamic Extensions1129675 +Node: VMS Installation Details1131359 +Node: VMS Running1133611 +Node: VMS GNV1136447 +Node: VMS Old Gawk1137181 +Node: Bugs1137651 +Node: Other Versions1141534 +Node: Installation summary1147962 +Node: Notes1149018 +Node: Compatibility Mode1149883 +Node: Additions1150665 +Node: Accessing The Source1151590 +Node: Adding Code1153026 +Node: New Ports1159191 +Node: Derived Files1163673 +Ref: Derived Files-Footnote-11169148 +Ref: Derived Files-Footnote-21169182 +Ref: Derived Files-Footnote-31169778 +Node: Future Extensions1169892 +Node: Implementation Limitations1170498 +Node: Extension Design1171746 +Node: Old Extension Problems1172900 +Ref: Old Extension Problems-Footnote-11174417 +Node: Extension New Mechanism Goals1174474 +Ref: Extension New Mechanism Goals-Footnote-11177834 +Node: Extension Other Design Decisions1178023 +Node: Extension Future Growth1180131 +Node: Old Extension Mechanism1180967 +Node: Notes summary1182729 +Node: Basic Concepts1183915 +Node: Basic High Level1184596 +Ref: figure-general-flow1184868 +Ref: figure-process-flow1185467 +Ref: Basic High Level-Footnote-11188696 +Node: Basic Data Typing1188881 +Node: Glossary1192209 +Node: Copying1217367 +Node: GNU Free Documentation License1254923 +Node: Index1280059  End Tag Table -- cgit v1.2.3 From 15a1d8d213380bd99b5dfe7f4cafcd6dedb8f0dc Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sat, 27 Dec 2014 21:20:47 +0200 Subject: Make nonfatal work with stdout & stderr. Update doc more. --- doc/gawk.info | 1028 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 523 insertions(+), 505 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index ba16256f..08ec4452 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3454,8 +3454,8 @@ sequences apply to both string constants and regexp constants: would continue incorporating hexadecimal digits into the value until a non-hexadecimal digit or the end of the string was encountered. However, using more than two hexadecimal - digits produced undefined results. As of version *FIXME:* - 4.3.0, only two digits are processed. + digits produced undefined results. As of version 4.2, only + two digits are processed. `\/' A literal slash (necessary for regexp constants only). This @@ -7249,6 +7249,11 @@ attempting the output. For example: Here, `gawk' did not produce a fatal error; instead it let the `awk' program code detect the problem and handle it. + This mechanism works also for standard output and standard error. +For standard output, you may use `PROCINFO["-", "nonfatal"]' or +`PROCINFO["/dev/stdout", "nonfatal"]'. For standard error, use +`PROCINFO["/dev/stderr", "nonfatal"]'. +  File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Nonfatal, Up: Printing @@ -26492,6 +26497,9 @@ the current version of `gawk'. - Directories on the command line produce a warning and are skipped (*note Command-line directories::). + - Output with `print' and `printf' need not be fatal (*note + Nonfatal::). + * New keywords: - The `BEGINFILE' and `ENDFILE' special patterns (*note @@ -26543,6 +26551,9 @@ the current version of `gawk'. - The `bindtextdomain()', `dcgettext()' and `dcngettext()' functions for internationalization (*note Programmer i18n::). + - The `div()' function for doing integer division and remainder + (*note Numeric Functions::). + * Changes and/or additions in the command-line options: - The `AWKPATH' environment variable for specifying a path @@ -26597,7 +26608,10 @@ the current version of `gawk'. - Ultrix - * Support for MirBSD was removed at `gawk' version 4.2. + * Support for the following systems was removed from the code for + `gawk' version 4.2: + + - MirBSD  @@ -26984,25 +26998,29 @@ in POSIX `awk', in the order they were added to `gawk'. * The dynamic extension interface was completely redone (*note Dynamic Extensions::). + * Support for Ultrix was removed. + - Version *FIXME* XXXX introduced the following changes: + Version 4.2 introduced the following changes: * Changes to `ENVIRON' are reflected into `gawk''s environment and that of programs that it runs. *Note Auto-set::. * The `--pretty-print' option no longer runs the `awk' program too. - FIXME: Add xref. + *Note Options::. * The `igawk' program and its manual page are no longer installed - when `gawk' is built. FIXME: Add xref. + when `gawk' is built. *Note Igawk Program::. - * The `div()' function. FIXME: Add xref. + * The `div()' function. *Note Numeric Functions::. * The maximum number of hexdecimal digits in `\x' escapes is now two. - FIXME: Add xref. + *Note Escape Sequences::. * Nonfatal output with `print' and `printf'. *Note Nonfatal::. + * Support for MirBSD was removed. +  File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History @@ -34584,502 +34602,502 @@ Node: Invoking Summary151826 Node: Regexp153490 Node: Regexp Usage154944 Node: Escape Sequences156981 -Node: Regexp Operators163222 -Ref: Regexp Operators-Footnote-1170648 -Ref: Regexp Operators-Footnote-2170795 -Node: Bracket Expressions170893 -Ref: table-char-classes172908 -Node: Leftmost Longest175832 -Node: Computed Regexps177134 -Node: GNU Regexp Operators180531 -Node: Case-sensitivity184204 -Ref: Case-sensitivity-Footnote-1187089 -Ref: Case-sensitivity-Footnote-2187324 -Node: Regexp Summary187432 -Node: Reading Files188899 -Node: Records190993 -Node: awk split records191726 -Node: gawk split records196641 -Ref: gawk split records-Footnote-1201185 -Node: Fields201222 -Ref: Fields-Footnote-1203998 -Node: Nonconstant Fields204084 -Ref: Nonconstant Fields-Footnote-1206327 -Node: Changing Fields206531 -Node: Field Separators212460 -Node: Default Field Splitting215165 -Node: Regexp Field Splitting216282 -Node: Single Character Fields219632 -Node: Command Line Field Separator220691 -Node: Full Line Fields223903 -Ref: Full Line Fields-Footnote-1225420 -Ref: Full Line Fields-Footnote-2225466 -Node: Field Splitting Summary225567 -Node: Constant Size227641 -Node: Splitting By Content232230 -Ref: Splitting By Content-Footnote-1236224 -Node: Multiple Line236387 -Ref: Multiple Line-Footnote-1242273 -Node: Getline242452 -Node: Plain Getline244664 -Node: Getline/Variable247304 -Node: Getline/File248452 -Node: Getline/Variable/File249836 -Ref: Getline/Variable/File-Footnote-1251439 -Node: Getline/Pipe251526 -Node: Getline/Variable/Pipe254209 -Node: Getline/Coprocess255340 -Node: Getline/Variable/Coprocess256592 -Node: Getline Notes257331 -Node: Getline Summary260123 -Ref: table-getline-variants260535 -Node: Read Timeout261364 -Ref: Read Timeout-Footnote-1265189 -Node: Command-line directories265247 -Node: Input Summary266152 -Node: Input Exercises269453 -Node: Printing270181 -Node: Print272016 -Node: Print Examples273473 -Node: Output Separators276252 -Node: OFMT278270 -Node: Printf279624 -Node: Basic Printf280409 -Node: Control Letters281979 -Node: Format Modifiers285962 -Node: Printf Examples291971 -Node: Redirection294457 -Node: Special FD301298 -Ref: Special FD-Footnote-1304458 -Node: Special Files304532 -Node: Other Inherited Files305149 -Node: Special Network306149 -Node: Special Caveats307011 -Node: Close Files And Pipes307962 -Ref: Close Files And Pipes-Footnote-1315138 -Ref: Close Files And Pipes-Footnote-2315286 -Node: Nonfatal315436 -Node: Output Summary317122 -Node: Output Exercises318343 -Node: Expressions319023 -Node: Values320208 -Node: Constants320886 -Node: Scalar Constants321577 -Ref: Scalar Constants-Footnote-1322436 -Node: Nondecimal-numbers322686 -Node: Regexp Constants325704 -Node: Using Constant Regexps326229 -Node: Variables329372 -Node: Using Variables330027 -Node: Assignment Options331938 -Node: Conversion333813 -Node: Strings And Numbers334337 -Ref: Strings And Numbers-Footnote-1337402 -Node: Locale influences conversions337511 -Ref: table-locale-affects340258 -Node: All Operators340846 -Node: Arithmetic Ops341476 -Node: Concatenation343981 -Ref: Concatenation-Footnote-1346800 -Node: Assignment Ops346906 -Ref: table-assign-ops351885 -Node: Increment Ops353157 -Node: Truth Values and Conditions356595 -Node: Truth Values357680 -Node: Typing and Comparison358729 -Node: Variable Typing359539 -Node: Comparison Operators363192 -Ref: table-relational-ops363602 -Node: POSIX String Comparison367097 -Ref: POSIX String Comparison-Footnote-1368169 -Node: Boolean Ops368307 -Ref: Boolean Ops-Footnote-1372786 -Node: Conditional Exp372877 -Node: Function Calls374604 -Node: Precedence378484 -Node: Locales382145 -Node: Expressions Summary383777 -Node: Patterns and Actions386337 -Node: Pattern Overview387457 -Node: Regexp Patterns389136 -Node: Expression Patterns389679 -Node: Ranges393389 -Node: BEGIN/END396495 -Node: Using BEGIN/END397256 -Ref: Using BEGIN/END-Footnote-1399990 -Node: I/O And BEGIN/END400096 -Node: BEGINFILE/ENDFILE402410 -Node: Empty405311 -Node: Using Shell Variables405628 -Node: Action Overview407901 -Node: Statements410227 -Node: If Statement412075 -Node: While Statement413570 -Node: Do Statement415599 -Node: For Statement416743 -Node: Switch Statement419900 -Node: Break Statement422282 -Node: Continue Statement424323 -Node: Next Statement426150 -Node: Nextfile Statement428531 -Node: Exit Statement431161 -Node: Built-in Variables433564 -Node: User-modified434697 -Ref: User-modified-Footnote-1442378 -Node: Auto-set442440 -Ref: Auto-set-Footnote-1456132 -Ref: Auto-set-Footnote-2456337 -Node: ARGC and ARGV456393 -Node: Pattern Action Summary460611 -Node: Arrays463038 -Node: Array Basics464367 -Node: Array Intro465211 -Ref: figure-array-elements467175 -Ref: Array Intro-Footnote-1469701 -Node: Reference to Elements469829 -Node: Assigning Elements472281 -Node: Array Example472772 -Node: Scanning an Array474530 -Node: Controlling Scanning477546 -Ref: Controlling Scanning-Footnote-1482742 -Node: Numeric Array Subscripts483058 -Node: Uninitialized Subscripts485243 -Node: Delete486860 -Ref: Delete-Footnote-1489603 -Node: Multidimensional489660 -Node: Multiscanning492757 -Node: Arrays of Arrays494346 -Node: Arrays Summary499105 -Node: Functions501197 -Node: Built-in502096 -Node: Calling Built-in503174 -Node: Numeric Functions505165 -Ref: Numeric Functions-Footnote-1509984 -Ref: Numeric Functions-Footnote-2510341 -Ref: Numeric Functions-Footnote-3510389 -Node: String Functions510661 -Ref: String Functions-Footnote-1534136 -Ref: String Functions-Footnote-2534265 -Ref: String Functions-Footnote-3534513 -Node: Gory Details534600 -Ref: table-sub-escapes536381 -Ref: table-sub-proposed537901 -Ref: table-posix-sub539265 -Ref: table-gensub-escapes540801 -Ref: Gory Details-Footnote-1541633 -Node: I/O Functions541784 -Ref: I/O Functions-Footnote-1549002 -Node: Time Functions549149 -Ref: Time Functions-Footnote-1559637 -Ref: Time Functions-Footnote-2559705 -Ref: Time Functions-Footnote-3559863 -Ref: Time Functions-Footnote-4559974 -Ref: Time Functions-Footnote-5560086 -Ref: Time Functions-Footnote-6560313 -Node: Bitwise Functions560579 -Ref: table-bitwise-ops561141 -Ref: Bitwise Functions-Footnote-1565450 -Node: Type Functions565619 -Node: I18N Functions566770 -Node: User-defined568415 -Node: Definition Syntax569220 -Ref: Definition Syntax-Footnote-1574627 -Node: Function Example574698 -Ref: Function Example-Footnote-1577617 -Node: Function Caveats577639 -Node: Calling A Function578157 -Node: Variable Scope579115 -Node: Pass By Value/Reference582103 -Node: Return Statement585598 -Node: Dynamic Typing588579 -Node: Indirect Calls589508 -Ref: Indirect Calls-Footnote-1600810 -Node: Functions Summary600938 -Node: Library Functions603640 -Ref: Library Functions-Footnote-1607249 -Ref: Library Functions-Footnote-2607392 -Node: Library Names607563 -Ref: Library Names-Footnote-1611017 -Ref: Library Names-Footnote-2611240 -Node: General Functions611326 -Node: Strtonum Function612429 -Node: Assert Function615451 -Node: Round Function618775 -Node: Cliff Random Function620316 -Node: Ordinal Functions621332 -Ref: Ordinal Functions-Footnote-1624395 -Ref: Ordinal Functions-Footnote-2624647 -Node: Join Function624858 -Ref: Join Function-Footnote-1626627 -Node: Getlocaltime Function626827 -Node: Readfile Function630571 -Node: Shell Quoting632541 -Node: Data File Management633942 -Node: Filetrans Function634574 -Node: Rewind Function638630 -Node: File Checking640017 -Ref: File Checking-Footnote-1641349 -Node: Empty Files641550 -Node: Ignoring Assigns643529 -Node: Getopt Function645080 -Ref: Getopt Function-Footnote-1656542 -Node: Passwd Functions656742 -Ref: Passwd Functions-Footnote-1665579 -Node: Group Functions665667 -Ref: Group Functions-Footnote-1673561 -Node: Walking Arrays673774 -Node: Library Functions Summary675377 -Node: Library Exercises676778 -Node: Sample Programs678058 -Node: Running Examples678828 -Node: Clones679556 -Node: Cut Program680780 -Node: Egrep Program690499 -Ref: Egrep Program-Footnote-1697997 -Node: Id Program698107 -Node: Split Program701752 -Ref: Split Program-Footnote-1705200 -Node: Tee Program705328 -Node: Uniq Program708117 -Node: Wc Program715536 -Ref: Wc Program-Footnote-1719786 -Node: Miscellaneous Programs719880 -Node: Dupword Program721093 -Node: Alarm Program723124 -Node: Translate Program727928 -Ref: Translate Program-Footnote-1732493 -Node: Labels Program732763 -Ref: Labels Program-Footnote-1736114 -Node: Word Sorting736198 -Node: History Sorting740269 -Node: Extract Program742105 -Node: Simple Sed749630 -Node: Igawk Program752698 -Ref: Igawk Program-Footnote-1767022 -Ref: Igawk Program-Footnote-2767223 -Ref: Igawk Program-Footnote-3767345 -Node: Anagram Program767460 -Node: Signature Program770517 -Node: Programs Summary771764 -Node: Programs Exercises772957 -Ref: Programs Exercises-Footnote-1777088 -Node: Advanced Features777179 -Node: Nondecimal Data779127 -Node: Array Sorting780717 -Node: Controlling Array Traversal781414 -Ref: Controlling Array Traversal-Footnote-1789747 -Node: Array Sorting Functions789865 -Ref: Array Sorting Functions-Footnote-1793754 -Node: Two-way I/O793950 -Ref: Two-way I/O-Footnote-1798895 -Ref: Two-way I/O-Footnote-2799081 -Node: TCP/IP Networking799163 -Node: Profiling802036 -Node: Advanced Features Summary810313 -Node: Internationalization812246 -Node: I18N and L10N813726 -Node: Explaining gettext814412 -Ref: Explaining gettext-Footnote-1819437 -Ref: Explaining gettext-Footnote-2819621 -Node: Programmer i18n819786 -Ref: Programmer i18n-Footnote-1824652 -Node: Translator i18n824701 -Node: String Extraction825495 -Ref: String Extraction-Footnote-1826626 -Node: Printf Ordering826712 -Ref: Printf Ordering-Footnote-1829498 -Node: I18N Portability829562 -Ref: I18N Portability-Footnote-1832017 -Node: I18N Example832080 -Ref: I18N Example-Footnote-1834883 -Node: Gawk I18N834955 -Node: I18N Summary835593 -Node: Debugger836932 -Node: Debugging837954 -Node: Debugging Concepts838395 -Node: Debugging Terms840248 -Node: Awk Debugging842820 -Node: Sample Debugging Session843714 -Node: Debugger Invocation844234 -Node: Finding The Bug845618 -Node: List of Debugger Commands852093 -Node: Breakpoint Control853426 -Node: Debugger Execution Control857122 -Node: Viewing And Changing Data860486 -Node: Execution Stack863864 -Node: Debugger Info865501 -Node: Miscellaneous Debugger Commands869518 -Node: Readline Support874547 -Node: Limitations875439 -Node: Debugging Summary877553 -Node: Arbitrary Precision Arithmetic878721 -Node: Computer Arithmetic880137 -Ref: table-numeric-ranges883735 -Ref: Computer Arithmetic-Footnote-1884594 -Node: Math Definitions884651 -Ref: table-ieee-formats887939 -Ref: Math Definitions-Footnote-1888543 -Node: MPFR features888648 -Node: FP Math Caution890319 -Ref: FP Math Caution-Footnote-1891369 -Node: Inexactness of computations891738 -Node: Inexact representation892697 -Node: Comparing FP Values894054 -Node: Errors accumulate895136 -Node: Getting Accuracy896569 -Node: Try To Round899231 -Node: Setting precision900130 -Ref: table-predefined-precision-strings900814 -Node: Setting the rounding mode902603 -Ref: table-gawk-rounding-modes902967 -Ref: Setting the rounding mode-Footnote-1906422 -Node: Arbitrary Precision Integers906601 -Ref: Arbitrary Precision Integers-Footnote-1911500 -Node: POSIX Floating Point Problems911649 -Ref: POSIX Floating Point Problems-Footnote-1915522 -Node: Floating point summary915560 -Node: Dynamic Extensions917754 -Node: Extension Intro919306 -Node: Plugin License920572 -Node: Extension Mechanism Outline921369 -Ref: figure-load-extension921797 -Ref: figure-register-new-function923277 -Ref: figure-call-new-function924281 -Node: Extension API Description926267 -Node: Extension API Functions Introduction927717 -Node: General Data Types932541 -Ref: General Data Types-Footnote-1938280 -Node: Memory Allocation Functions938579 -Ref: Memory Allocation Functions-Footnote-1941418 -Node: Constructor Functions941514 -Node: Registration Functions943248 -Node: Extension Functions943933 -Node: Exit Callback Functions946230 -Node: Extension Version String947478 -Node: Input Parsers948143 -Node: Output Wrappers958022 -Node: Two-way processors962537 -Node: Printing Messages964741 -Ref: Printing Messages-Footnote-1965817 -Node: Updating `ERRNO'965969 -Node: Requesting Values966709 -Ref: table-value-types-returned967437 -Node: Accessing Parameters968394 -Node: Symbol Table Access969625 -Node: Symbol table by name970139 -Node: Symbol table by cookie972120 -Ref: Symbol table by cookie-Footnote-1976264 -Node: Cached values976327 -Ref: Cached values-Footnote-1979826 -Node: Array Manipulation979917 -Ref: Array Manipulation-Footnote-1981015 -Node: Array Data Types981052 -Ref: Array Data Types-Footnote-1983707 -Node: Array Functions983799 -Node: Flattening Arrays987653 -Node: Creating Arrays994545 -Node: Extension API Variables999316 -Node: Extension Versioning999952 -Node: Extension API Informational Variables1001853 -Node: Extension API Boilerplate1002918 -Node: Finding Extensions1006727 -Node: Extension Example1007287 -Node: Internal File Description1008059 -Node: Internal File Ops1012126 -Ref: Internal File Ops-Footnote-11023796 -Node: Using Internal File Ops1023936 -Ref: Using Internal File Ops-Footnote-11026319 -Node: Extension Samples1026592 -Node: Extension Sample File Functions1028118 -Node: Extension Sample Fnmatch1035756 -Node: Extension Sample Fork1037247 -Node: Extension Sample Inplace1038462 -Node: Extension Sample Ord1040137 -Node: Extension Sample Readdir1040973 -Ref: table-readdir-file-types1041849 -Node: Extension Sample Revout1042660 -Node: Extension Sample Rev2way1043250 -Node: Extension Sample Read write array1043990 -Node: Extension Sample Readfile1045930 -Node: Extension Sample Time1047025 -Node: Extension Sample API Tests1048374 -Node: gawkextlib1048865 -Node: Extension summary1051523 -Node: Extension Exercises1055212 -Node: Language History1055934 -Node: V7/SVR3.11057590 -Node: SVR41059771 -Node: POSIX1061216 -Node: BTL1062605 -Node: POSIX/GNU1063339 -Node: Feature History1068963 -Node: Common Extensions1082665 -Node: Ranges and Locales1083989 -Ref: Ranges and Locales-Footnote-11088607 -Ref: Ranges and Locales-Footnote-21088634 -Ref: Ranges and Locales-Footnote-31088868 -Node: Contributors1089089 -Node: History summary1094630 -Node: Installation1096000 -Node: Gawk Distribution1096946 -Node: Getting1097430 -Node: Extracting1098253 -Node: Distribution contents1099888 -Node: Unix Installation1105953 -Node: Quick Installation1106636 -Node: Shell Startup Files1109047 -Node: Additional Configuration Options1110126 -Node: Configuration Philosophy1111865 -Node: Non-Unix Installation1114234 -Node: PC Installation1114692 -Node: PC Binary Installation1116011 -Node: PC Compiling1117859 -Ref: PC Compiling-Footnote-11120880 -Node: PC Testing1120989 -Node: PC Using1122165 -Node: Cygwin1126280 -Node: MSYS1127103 -Node: VMS Installation1127603 -Node: VMS Compilation1128395 -Ref: VMS Compilation-Footnote-11129617 -Node: VMS Dynamic Extensions1129675 -Node: VMS Installation Details1131359 -Node: VMS Running1133611 -Node: VMS GNV1136447 -Node: VMS Old Gawk1137181 -Node: Bugs1137651 -Node: Other Versions1141534 -Node: Installation summary1147962 -Node: Notes1149018 -Node: Compatibility Mode1149883 -Node: Additions1150665 -Node: Accessing The Source1151590 -Node: Adding Code1153026 -Node: New Ports1159191 -Node: Derived Files1163673 -Ref: Derived Files-Footnote-11169148 -Ref: Derived Files-Footnote-21169182 -Ref: Derived Files-Footnote-31169778 -Node: Future Extensions1169892 -Node: Implementation Limitations1170498 -Node: Extension Design1171746 -Node: Old Extension Problems1172900 -Ref: Old Extension Problems-Footnote-11174417 -Node: Extension New Mechanism Goals1174474 -Ref: Extension New Mechanism Goals-Footnote-11177834 -Node: Extension Other Design Decisions1178023 -Node: Extension Future Growth1180131 -Node: Old Extension Mechanism1180967 -Node: Notes summary1182729 -Node: Basic Concepts1183915 -Node: Basic High Level1184596 -Ref: figure-general-flow1184868 -Ref: figure-process-flow1185467 -Ref: Basic High Level-Footnote-11188696 -Node: Basic Data Typing1188881 -Node: Glossary1192209 -Node: Copying1217367 -Node: GNU Free Documentation License1254923 -Node: Index1280059 +Node: Regexp Operators163211 +Ref: Regexp Operators-Footnote-1170637 +Ref: Regexp Operators-Footnote-2170784 +Node: Bracket Expressions170882 +Ref: table-char-classes172897 +Node: Leftmost Longest175821 +Node: Computed Regexps177123 +Node: GNU Regexp Operators180520 +Node: Case-sensitivity184193 +Ref: Case-sensitivity-Footnote-1187078 +Ref: Case-sensitivity-Footnote-2187313 +Node: Regexp Summary187421 +Node: Reading Files188888 +Node: Records190982 +Node: awk split records191715 +Node: gawk split records196630 +Ref: gawk split records-Footnote-1201174 +Node: Fields201211 +Ref: Fields-Footnote-1203987 +Node: Nonconstant Fields204073 +Ref: Nonconstant Fields-Footnote-1206316 +Node: Changing Fields206520 +Node: Field Separators212449 +Node: Default Field Splitting215154 +Node: Regexp Field Splitting216271 +Node: Single Character Fields219621 +Node: Command Line Field Separator220680 +Node: Full Line Fields223892 +Ref: Full Line Fields-Footnote-1225409 +Ref: Full Line Fields-Footnote-2225455 +Node: Field Splitting Summary225556 +Node: Constant Size227630 +Node: Splitting By Content232219 +Ref: Splitting By Content-Footnote-1236213 +Node: Multiple Line236376 +Ref: Multiple Line-Footnote-1242262 +Node: Getline242441 +Node: Plain Getline244653 +Node: Getline/Variable247293 +Node: Getline/File248441 +Node: Getline/Variable/File249825 +Ref: Getline/Variable/File-Footnote-1251428 +Node: Getline/Pipe251515 +Node: Getline/Variable/Pipe254198 +Node: Getline/Coprocess255329 +Node: Getline/Variable/Coprocess256581 +Node: Getline Notes257320 +Node: Getline Summary260112 +Ref: table-getline-variants260524 +Node: Read Timeout261353 +Ref: Read Timeout-Footnote-1265178 +Node: Command-line directories265236 +Node: Input Summary266141 +Node: Input Exercises269442 +Node: Printing270170 +Node: Print272005 +Node: Print Examples273462 +Node: Output Separators276241 +Node: OFMT278259 +Node: Printf279613 +Node: Basic Printf280398 +Node: Control Letters281968 +Node: Format Modifiers285951 +Node: Printf Examples291960 +Node: Redirection294446 +Node: Special FD301287 +Ref: Special FD-Footnote-1304447 +Node: Special Files304521 +Node: Other Inherited Files305138 +Node: Special Network306138 +Node: Special Caveats307000 +Node: Close Files And Pipes307951 +Ref: Close Files And Pipes-Footnote-1315127 +Ref: Close Files And Pipes-Footnote-2315275 +Node: Nonfatal315425 +Node: Output Summary317348 +Node: Output Exercises318569 +Node: Expressions319249 +Node: Values320434 +Node: Constants321112 +Node: Scalar Constants321803 +Ref: Scalar Constants-Footnote-1322662 +Node: Nondecimal-numbers322912 +Node: Regexp Constants325930 +Node: Using Constant Regexps326455 +Node: Variables329598 +Node: Using Variables330253 +Node: Assignment Options332164 +Node: Conversion334039 +Node: Strings And Numbers334563 +Ref: Strings And Numbers-Footnote-1337628 +Node: Locale influences conversions337737 +Ref: table-locale-affects340484 +Node: All Operators341072 +Node: Arithmetic Ops341702 +Node: Concatenation344207 +Ref: Concatenation-Footnote-1347026 +Node: Assignment Ops347132 +Ref: table-assign-ops352111 +Node: Increment Ops353383 +Node: Truth Values and Conditions356821 +Node: Truth Values357906 +Node: Typing and Comparison358955 +Node: Variable Typing359765 +Node: Comparison Operators363418 +Ref: table-relational-ops363828 +Node: POSIX String Comparison367323 +Ref: POSIX String Comparison-Footnote-1368395 +Node: Boolean Ops368533 +Ref: Boolean Ops-Footnote-1373012 +Node: Conditional Exp373103 +Node: Function Calls374830 +Node: Precedence378710 +Node: Locales382371 +Node: Expressions Summary384003 +Node: Patterns and Actions386563 +Node: Pattern Overview387683 +Node: Regexp Patterns389362 +Node: Expression Patterns389905 +Node: Ranges393615 +Node: BEGIN/END396721 +Node: Using BEGIN/END397482 +Ref: Using BEGIN/END-Footnote-1400216 +Node: I/O And BEGIN/END400322 +Node: BEGINFILE/ENDFILE402636 +Node: Empty405537 +Node: Using Shell Variables405854 +Node: Action Overview408127 +Node: Statements410453 +Node: If Statement412301 +Node: While Statement413796 +Node: Do Statement415825 +Node: For Statement416969 +Node: Switch Statement420126 +Node: Break Statement422508 +Node: Continue Statement424549 +Node: Next Statement426376 +Node: Nextfile Statement428757 +Node: Exit Statement431387 +Node: Built-in Variables433790 +Node: User-modified434923 +Ref: User-modified-Footnote-1442604 +Node: Auto-set442666 +Ref: Auto-set-Footnote-1456358 +Ref: Auto-set-Footnote-2456563 +Node: ARGC and ARGV456619 +Node: Pattern Action Summary460837 +Node: Arrays463264 +Node: Array Basics464593 +Node: Array Intro465437 +Ref: figure-array-elements467401 +Ref: Array Intro-Footnote-1469927 +Node: Reference to Elements470055 +Node: Assigning Elements472507 +Node: Array Example472998 +Node: Scanning an Array474756 +Node: Controlling Scanning477772 +Ref: Controlling Scanning-Footnote-1482968 +Node: Numeric Array Subscripts483284 +Node: Uninitialized Subscripts485469 +Node: Delete487086 +Ref: Delete-Footnote-1489829 +Node: Multidimensional489886 +Node: Multiscanning492983 +Node: Arrays of Arrays494572 +Node: Arrays Summary499331 +Node: Functions501423 +Node: Built-in502322 +Node: Calling Built-in503400 +Node: Numeric Functions505391 +Ref: Numeric Functions-Footnote-1510210 +Ref: Numeric Functions-Footnote-2510567 +Ref: Numeric Functions-Footnote-3510615 +Node: String Functions510887 +Ref: String Functions-Footnote-1534362 +Ref: String Functions-Footnote-2534491 +Ref: String Functions-Footnote-3534739 +Node: Gory Details534826 +Ref: table-sub-escapes536607 +Ref: table-sub-proposed538127 +Ref: table-posix-sub539491 +Ref: table-gensub-escapes541027 +Ref: Gory Details-Footnote-1541859 +Node: I/O Functions542010 +Ref: I/O Functions-Footnote-1549228 +Node: Time Functions549375 +Ref: Time Functions-Footnote-1559863 +Ref: Time Functions-Footnote-2559931 +Ref: Time Functions-Footnote-3560089 +Ref: Time Functions-Footnote-4560200 +Ref: Time Functions-Footnote-5560312 +Ref: Time Functions-Footnote-6560539 +Node: Bitwise Functions560805 +Ref: table-bitwise-ops561367 +Ref: Bitwise Functions-Footnote-1565676 +Node: Type Functions565845 +Node: I18N Functions566996 +Node: User-defined568641 +Node: Definition Syntax569446 +Ref: Definition Syntax-Footnote-1574853 +Node: Function Example574924 +Ref: Function Example-Footnote-1577843 +Node: Function Caveats577865 +Node: Calling A Function578383 +Node: Variable Scope579341 +Node: Pass By Value/Reference582329 +Node: Return Statement585824 +Node: Dynamic Typing588805 +Node: Indirect Calls589734 +Ref: Indirect Calls-Footnote-1601036 +Node: Functions Summary601164 +Node: Library Functions603866 +Ref: Library Functions-Footnote-1607475 +Ref: Library Functions-Footnote-2607618 +Node: Library Names607789 +Ref: Library Names-Footnote-1611243 +Ref: Library Names-Footnote-2611466 +Node: General Functions611552 +Node: Strtonum Function612655 +Node: Assert Function615677 +Node: Round Function619001 +Node: Cliff Random Function620542 +Node: Ordinal Functions621558 +Ref: Ordinal Functions-Footnote-1624621 +Ref: Ordinal Functions-Footnote-2624873 +Node: Join Function625084 +Ref: Join Function-Footnote-1626853 +Node: Getlocaltime Function627053 +Node: Readfile Function630797 +Node: Shell Quoting632767 +Node: Data File Management634168 +Node: Filetrans Function634800 +Node: Rewind Function638856 +Node: File Checking640243 +Ref: File Checking-Footnote-1641575 +Node: Empty Files641776 +Node: Ignoring Assigns643755 +Node: Getopt Function645306 +Ref: Getopt Function-Footnote-1656768 +Node: Passwd Functions656968 +Ref: Passwd Functions-Footnote-1665805 +Node: Group Functions665893 +Ref: Group Functions-Footnote-1673787 +Node: Walking Arrays674000 +Node: Library Functions Summary675603 +Node: Library Exercises677004 +Node: Sample Programs678284 +Node: Running Examples679054 +Node: Clones679782 +Node: Cut Program681006 +Node: Egrep Program690725 +Ref: Egrep Program-Footnote-1698223 +Node: Id Program698333 +Node: Split Program701978 +Ref: Split Program-Footnote-1705426 +Node: Tee Program705554 +Node: Uniq Program708343 +Node: Wc Program715762 +Ref: Wc Program-Footnote-1720012 +Node: Miscellaneous Programs720106 +Node: Dupword Program721319 +Node: Alarm Program723350 +Node: Translate Program728154 +Ref: Translate Program-Footnote-1732719 +Node: Labels Program732989 +Ref: Labels Program-Footnote-1736340 +Node: Word Sorting736424 +Node: History Sorting740495 +Node: Extract Program742331 +Node: Simple Sed749856 +Node: Igawk Program752924 +Ref: Igawk Program-Footnote-1767248 +Ref: Igawk Program-Footnote-2767449 +Ref: Igawk Program-Footnote-3767571 +Node: Anagram Program767686 +Node: Signature Program770743 +Node: Programs Summary771990 +Node: Programs Exercises773183 +Ref: Programs Exercises-Footnote-1777314 +Node: Advanced Features777405 +Node: Nondecimal Data779353 +Node: Array Sorting780943 +Node: Controlling Array Traversal781640 +Ref: Controlling Array Traversal-Footnote-1789973 +Node: Array Sorting Functions790091 +Ref: Array Sorting Functions-Footnote-1793980 +Node: Two-way I/O794176 +Ref: Two-way I/O-Footnote-1799121 +Ref: Two-way I/O-Footnote-2799307 +Node: TCP/IP Networking799389 +Node: Profiling802262 +Node: Advanced Features Summary810539 +Node: Internationalization812472 +Node: I18N and L10N813952 +Node: Explaining gettext814638 +Ref: Explaining gettext-Footnote-1819663 +Ref: Explaining gettext-Footnote-2819847 +Node: Programmer i18n820012 +Ref: Programmer i18n-Footnote-1824878 +Node: Translator i18n824927 +Node: String Extraction825721 +Ref: String Extraction-Footnote-1826852 +Node: Printf Ordering826938 +Ref: Printf Ordering-Footnote-1829724 +Node: I18N Portability829788 +Ref: I18N Portability-Footnote-1832243 +Node: I18N Example832306 +Ref: I18N Example-Footnote-1835109 +Node: Gawk I18N835181 +Node: I18N Summary835819 +Node: Debugger837158 +Node: Debugging838180 +Node: Debugging Concepts838621 +Node: Debugging Terms840474 +Node: Awk Debugging843046 +Node: Sample Debugging Session843940 +Node: Debugger Invocation844460 +Node: Finding The Bug845844 +Node: List of Debugger Commands852319 +Node: Breakpoint Control853652 +Node: Debugger Execution Control857348 +Node: Viewing And Changing Data860712 +Node: Execution Stack864090 +Node: Debugger Info865727 +Node: Miscellaneous Debugger Commands869744 +Node: Readline Support874773 +Node: Limitations875665 +Node: Debugging Summary877779 +Node: Arbitrary Precision Arithmetic878947 +Node: Computer Arithmetic880363 +Ref: table-numeric-ranges883961 +Ref: Computer Arithmetic-Footnote-1884820 +Node: Math Definitions884877 +Ref: table-ieee-formats888165 +Ref: Math Definitions-Footnote-1888769 +Node: MPFR features888874 +Node: FP Math Caution890545 +Ref: FP Math Caution-Footnote-1891595 +Node: Inexactness of computations891964 +Node: Inexact representation892923 +Node: Comparing FP Values894280 +Node: Errors accumulate895362 +Node: Getting Accuracy896795 +Node: Try To Round899457 +Node: Setting precision900356 +Ref: table-predefined-precision-strings901040 +Node: Setting the rounding mode902829 +Ref: table-gawk-rounding-modes903193 +Ref: Setting the rounding mode-Footnote-1906648 +Node: Arbitrary Precision Integers906827 +Ref: Arbitrary Precision Integers-Footnote-1911726 +Node: POSIX Floating Point Problems911875 +Ref: POSIX Floating Point Problems-Footnote-1915748 +Node: Floating point summary915786 +Node: Dynamic Extensions917980 +Node: Extension Intro919532 +Node: Plugin License920798 +Node: Extension Mechanism Outline921595 +Ref: figure-load-extension922023 +Ref: figure-register-new-function923503 +Ref: figure-call-new-function924507 +Node: Extension API Description926493 +Node: Extension API Functions Introduction927943 +Node: General Data Types932767 +Ref: General Data Types-Footnote-1938506 +Node: Memory Allocation Functions938805 +Ref: Memory Allocation Functions-Footnote-1941644 +Node: Constructor Functions941740 +Node: Registration Functions943474 +Node: Extension Functions944159 +Node: Exit Callback Functions946456 +Node: Extension Version String947704 +Node: Input Parsers948369 +Node: Output Wrappers958248 +Node: Two-way processors962763 +Node: Printing Messages964967 +Ref: Printing Messages-Footnote-1966043 +Node: Updating `ERRNO'966195 +Node: Requesting Values966935 +Ref: table-value-types-returned967663 +Node: Accessing Parameters968620 +Node: Symbol Table Access969851 +Node: Symbol table by name970365 +Node: Symbol table by cookie972346 +Ref: Symbol table by cookie-Footnote-1976490 +Node: Cached values976553 +Ref: Cached values-Footnote-1980052 +Node: Array Manipulation980143 +Ref: Array Manipulation-Footnote-1981241 +Node: Array Data Types981278 +Ref: Array Data Types-Footnote-1983933 +Node: Array Functions984025 +Node: Flattening Arrays987879 +Node: Creating Arrays994771 +Node: Extension API Variables999542 +Node: Extension Versioning1000178 +Node: Extension API Informational Variables1002079 +Node: Extension API Boilerplate1003144 +Node: Finding Extensions1006953 +Node: Extension Example1007513 +Node: Internal File Description1008285 +Node: Internal File Ops1012352 +Ref: Internal File Ops-Footnote-11024022 +Node: Using Internal File Ops1024162 +Ref: Using Internal File Ops-Footnote-11026545 +Node: Extension Samples1026818 +Node: Extension Sample File Functions1028344 +Node: Extension Sample Fnmatch1035982 +Node: Extension Sample Fork1037473 +Node: Extension Sample Inplace1038688 +Node: Extension Sample Ord1040363 +Node: Extension Sample Readdir1041199 +Ref: table-readdir-file-types1042075 +Node: Extension Sample Revout1042886 +Node: Extension Sample Rev2way1043476 +Node: Extension Sample Read write array1044216 +Node: Extension Sample Readfile1046156 +Node: Extension Sample Time1047251 +Node: Extension Sample API Tests1048600 +Node: gawkextlib1049091 +Node: Extension summary1051749 +Node: Extension Exercises1055438 +Node: Language History1056160 +Node: V7/SVR3.11057816 +Node: SVR41059997 +Node: POSIX1061442 +Node: BTL1062831 +Node: POSIX/GNU1063565 +Node: Feature History1069446 +Node: Common Extensions1083240 +Node: Ranges and Locales1084564 +Ref: Ranges and Locales-Footnote-11089182 +Ref: Ranges and Locales-Footnote-21089209 +Ref: Ranges and Locales-Footnote-31089443 +Node: Contributors1089664 +Node: History summary1095205 +Node: Installation1096575 +Node: Gawk Distribution1097521 +Node: Getting1098005 +Node: Extracting1098828 +Node: Distribution contents1100463 +Node: Unix Installation1106528 +Node: Quick Installation1107211 +Node: Shell Startup Files1109622 +Node: Additional Configuration Options1110701 +Node: Configuration Philosophy1112440 +Node: Non-Unix Installation1114809 +Node: PC Installation1115267 +Node: PC Binary Installation1116586 +Node: PC Compiling1118434 +Ref: PC Compiling-Footnote-11121455 +Node: PC Testing1121564 +Node: PC Using1122740 +Node: Cygwin1126855 +Node: MSYS1127678 +Node: VMS Installation1128178 +Node: VMS Compilation1128970 +Ref: VMS Compilation-Footnote-11130192 +Node: VMS Dynamic Extensions1130250 +Node: VMS Installation Details1131934 +Node: VMS Running1134186 +Node: VMS GNV1137022 +Node: VMS Old Gawk1137756 +Node: Bugs1138226 +Node: Other Versions1142109 +Node: Installation summary1148537 +Node: Notes1149593 +Node: Compatibility Mode1150458 +Node: Additions1151240 +Node: Accessing The Source1152165 +Node: Adding Code1153601 +Node: New Ports1159766 +Node: Derived Files1164248 +Ref: Derived Files-Footnote-11169723 +Ref: Derived Files-Footnote-21169757 +Ref: Derived Files-Footnote-31170353 +Node: Future Extensions1170467 +Node: Implementation Limitations1171073 +Node: Extension Design1172321 +Node: Old Extension Problems1173475 +Ref: Old Extension Problems-Footnote-11174992 +Node: Extension New Mechanism Goals1175049 +Ref: Extension New Mechanism Goals-Footnote-11178409 +Node: Extension Other Design Decisions1178598 +Node: Extension Future Growth1180706 +Node: Old Extension Mechanism1181542 +Node: Notes summary1183304 +Node: Basic Concepts1184490 +Node: Basic High Level1185171 +Ref: figure-general-flow1185443 +Ref: figure-process-flow1186042 +Ref: Basic High Level-Footnote-11189271 +Node: Basic Data Typing1189456 +Node: Glossary1192784 +Node: Copying1217942 +Node: GNU Free Documentation License1255498 +Node: Index1280634  End Tag Table -- cgit v1.2.3 From 7f9f66525d7d82816eba352efdf58497373a47bf Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 8 Feb 2015 20:01:32 +0200 Subject: Use "NONFATAL" for nonfatal I/O. --- doc/gawk.info | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index d83370e8..118c814a 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -7226,10 +7226,10 @@ error message of your choosing before exiting. You can do this in one of two ways: * For all output files, by assigning any value to - `PROCINFO["nonfatal"]'. + `PROCINFO["NONFATAL"]'. * On a per-file basis, by assigning any value to `PROCINFO[FILENAME, - "nonfatal"]'. Here, FILENAME is the name of the file to which you + "NONFATAL"]'. Here, FILENAME is the name of the file to which you wish output to be nonfatal. Once you have enabled nonfatal output, you must check `ERRNO' after @@ -7239,7 +7239,7 @@ attempting the output. For example: $ gawk ' > BEGIN { - > PROCINFO["nonfatal"] = 1 + > PROCINFO["NONFATAL"] = 1 > ERRNO = 0 > print "hi" > "/no/such/file" > if (ERRNO) { @@ -7253,9 +7253,9 @@ attempting the output. For example: program code detect the problem and handle it. This mechanism works also for standard output and standard error. -For standard output, you may use `PROCINFO["-", "nonfatal"]' or -`PROCINFO["/dev/stdout", "nonfatal"]'. For standard error, use -`PROCINFO["/dev/stderr", "nonfatal"]'. +For standard output, you may use `PROCINFO["-", "NONFATAL"]' or +`PROCINFO["/dev/stdout", "NONFATAL"]'. For standard error, use +`PROCINFO["/dev/stderr", "NONFATAL"]'.  File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Nonfatal, Up: Printing -- cgit v1.2.3 From db6a69baecd9b7a98e6de31eec2e20477130d8ef Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 1 Mar 2015 06:14:42 +0200 Subject: Minor doc fix. --- doc/gawk.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 1b6a0a99..9c23943c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -11999,7 +11999,7 @@ numbers. (2) `mawk' uses a different seed each time. (3) Computer-generated random numbers really are not truly random. -They are technically known as "pseudorandom." This means that although +They are technically known as "pseudorandom". This means that although the numbers in a sequence appear to be random, you can in fact generate the same sequence of random numbers over and over again. -- cgit v1.2.3 From 6237311c0af460dd0ff5cf2ed4f935a33386375c Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 8 Mar 2015 06:06:56 +0200 Subject: Commit generated doc from previous commit. --- doc/gawk.info | 1022 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 515 insertions(+), 507 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index cbcf529c..7e548a8e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3014,7 +3014,8 @@ used by regular users: `GAWK_SOCK_RETRIES' Controls the number of times `gawk' attempts to retry a two-way TCP/IP (socket) connection before giving up. *Note TCP/IP - Networking::. + Networking::. Note that when nonfatal I/O is enabled (*note + Nonfatal::), `gawk' only tries to open a TCP/IP socket once. `POSIXLY_CORRECT' Causes `gawk' to switch to POSIX-compatibility mode, disabling all @@ -7263,6 +7264,13 @@ For standard output, you may use `PROCINFO["-", "NONFATAL"]' or `PROCINFO["/dev/stdout", "NONFATAL"]'. For standard error, use `PROCINFO["/dev/stderr", "NONFATAL"]'. + When attempting to open a TCP/IP socket (*note TCP/IP Networking::), +`gawk' tries multiple times. The `GAWK_SOCK_RETRIES' environment +variable (*note Other Environment Variables::) allows you to override +`gawk''s builtin default number of attempts. However, once nonfatal +I/O is enabled for a given socket, `gawk' only retries once, relying on +`awk'-level code to notice that there was a problem. +  File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Nonfatal, Up: Printing @@ -34781,511 +34789,511 @@ Ref: AWKPATH Variable-Footnote-1140222 Ref: AWKPATH Variable-Footnote-2140267 Node: AWKLIBPATH Variable140527 Node: Other Environment Variables141783 -Node: Exit Status145301 -Node: Include Files145977 -Node: Loading Shared Libraries149566 -Node: Obsolete150993 -Node: Undocumented151685 -Node: Invoking Summary151952 -Node: Regexp153615 -Node: Regexp Usage155069 -Node: Escape Sequences157106 -Node: Regexp Operators163335 -Ref: Regexp Operators-Footnote-1170745 -Ref: Regexp Operators-Footnote-2170892 -Node: Bracket Expressions170990 -Ref: table-char-classes173005 -Node: Leftmost Longest175947 -Node: Computed Regexps177249 -Node: GNU Regexp Operators180678 -Node: Case-sensitivity184350 -Ref: Case-sensitivity-Footnote-1187235 -Ref: Case-sensitivity-Footnote-2187470 -Node: Regexp Summary187578 -Node: Reading Files189045 -Node: Records191138 -Node: awk split records191871 -Node: gawk split records196800 -Ref: gawk split records-Footnote-1201339 -Node: Fields201376 -Ref: Fields-Footnote-1204154 -Node: Nonconstant Fields204240 -Ref: Nonconstant Fields-Footnote-1206478 -Node: Changing Fields206681 -Node: Field Separators212612 -Node: Default Field Splitting215316 -Node: Regexp Field Splitting216433 -Node: Single Character Fields219783 -Node: Command Line Field Separator220842 -Node: Full Line Fields224059 -Ref: Full Line Fields-Footnote-1225580 -Ref: Full Line Fields-Footnote-2225626 -Node: Field Splitting Summary225727 -Node: Constant Size227801 -Node: Splitting By Content232384 -Ref: Splitting By Content-Footnote-1236349 -Node: Multiple Line236512 -Ref: Multiple Line-Footnote-1242393 -Node: Getline242572 -Node: Plain Getline244779 -Node: Getline/Variable247419 -Node: Getline/File248568 -Node: Getline/Variable/File249953 -Ref: Getline/Variable/File-Footnote-1251556 -Node: Getline/Pipe251643 -Node: Getline/Variable/Pipe254321 -Node: Getline/Coprocess255452 -Node: Getline/Variable/Coprocess256716 -Node: Getline Notes257455 -Node: Getline Summary260249 -Ref: table-getline-variants260661 -Node: Read Timeout261490 -Ref: Read Timeout-Footnote-1265327 -Node: Command-line directories265385 -Node: Input Summary266290 -Node: Input Exercises269675 -Node: Printing270403 -Node: Print272238 -Node: Print Examples273695 -Node: Output Separators276474 -Node: OFMT278492 -Node: Printf279847 -Node: Basic Printf280632 -Node: Control Letters282204 -Node: Format Modifiers286189 -Node: Printf Examples292195 -Node: Redirection294681 -Node: Special FD301519 -Ref: Special FD-Footnote-1304685 -Node: Special Files304759 -Node: Other Inherited Files305376 -Node: Special Network306376 -Node: Special Caveats307238 -Node: Close Files And Pipes308187 -Ref: Close Files And Pipes-Footnote-1315372 -Ref: Close Files And Pipes-Footnote-2315520 -Node: Nonfatal315670 -Node: Output Summary317593 -Node: Output Exercises318814 -Node: Expressions319494 -Node: Values320683 -Node: Constants321360 -Node: Scalar Constants322051 -Ref: Scalar Constants-Footnote-1322913 -Node: Nondecimal-numbers323163 -Node: Regexp Constants326173 -Node: Using Constant Regexps326699 -Node: Variables329862 -Node: Using Variables330519 -Node: Assignment Options332430 -Node: Conversion334305 -Node: Strings And Numbers334829 -Ref: Strings And Numbers-Footnote-1337894 -Node: Locale influences conversions338003 -Ref: table-locale-affects340749 -Node: All Operators341341 -Node: Arithmetic Ops341970 -Node: Concatenation344475 -Ref: Concatenation-Footnote-1347294 -Node: Assignment Ops347401 -Ref: table-assign-ops352380 -Node: Increment Ops353690 -Node: Truth Values and Conditions357121 -Node: Truth Values358204 -Node: Typing and Comparison359253 -Node: Variable Typing360069 -Node: Comparison Operators363736 -Ref: table-relational-ops364146 -Node: POSIX String Comparison367641 -Ref: POSIX String Comparison-Footnote-1368713 -Node: Boolean Ops368852 -Ref: Boolean Ops-Footnote-1373330 -Node: Conditional Exp373421 -Node: Function Calls375159 -Node: Precedence379039 -Node: Locales382699 -Node: Expressions Summary384331 -Node: Patterns and Actions386902 -Node: Pattern Overview388022 -Node: Regexp Patterns389701 -Node: Expression Patterns390244 -Node: Ranges394024 -Node: BEGIN/END397131 -Node: Using BEGIN/END397892 -Ref: Using BEGIN/END-Footnote-1400628 -Node: I/O And BEGIN/END400734 -Node: BEGINFILE/ENDFILE403049 -Node: Empty405946 -Node: Using Shell Variables406263 -Node: Action Overview408536 -Node: Statements410862 -Node: If Statement412710 -Node: While Statement414205 -Node: Do Statement416233 -Node: For Statement417381 -Node: Switch Statement420539 -Node: Break Statement422921 -Node: Continue Statement425014 -Node: Next Statement426841 -Node: Nextfile Statement429222 -Node: Exit Statement431850 -Node: Built-in Variables434261 -Node: User-modified435394 -Ref: User-modified-Footnote-1443028 -Node: Auto-set443090 -Ref: Auto-set-Footnote-1456799 -Ref: Auto-set-Footnote-2457004 -Node: ARGC and ARGV457060 -Node: Pattern Action Summary461278 -Node: Arrays463711 -Node: Array Basics465040 -Node: Array Intro465884 -Ref: figure-array-elements467818 -Ref: Array Intro-Footnote-1470438 -Node: Reference to Elements470566 -Node: Assigning Elements473028 -Node: Array Example473519 -Node: Scanning an Array475278 -Node: Controlling Scanning478298 -Ref: Controlling Scanning-Footnote-1483692 -Node: Numeric Array Subscripts484008 -Node: Uninitialized Subscripts486193 -Node: Delete487810 -Ref: Delete-Footnote-1490559 -Node: Multidimensional490616 -Node: Multiscanning493713 -Node: Arrays of Arrays495302 -Node: Arrays Summary500056 -Node: Functions502147 -Node: Built-in503186 -Node: Calling Built-in504264 -Node: Numeric Functions506259 -Ref: Numeric Functions-Footnote-1511077 -Ref: Numeric Functions-Footnote-2511434 -Ref: Numeric Functions-Footnote-3511482 -Node: String Functions511754 -Ref: String Functions-Footnote-1535255 -Ref: String Functions-Footnote-2535384 -Ref: String Functions-Footnote-3535632 -Node: Gory Details535719 -Ref: table-sub-escapes537500 -Ref: table-sub-proposed539015 -Ref: table-posix-sub540377 -Ref: table-gensub-escapes541914 -Ref: Gory Details-Footnote-1542747 -Node: I/O Functions542898 -Ref: I/O Functions-Footnote-1550134 -Node: Time Functions550281 -Ref: Time Functions-Footnote-1560790 -Ref: Time Functions-Footnote-2560858 -Ref: Time Functions-Footnote-3561016 -Ref: Time Functions-Footnote-4561127 -Ref: Time Functions-Footnote-5561239 -Ref: Time Functions-Footnote-6561466 -Node: Bitwise Functions561732 -Ref: table-bitwise-ops562294 -Ref: Bitwise Functions-Footnote-1566622 -Node: Type Functions566794 -Node: I18N Functions567946 -Node: User-defined569593 -Node: Definition Syntax570398 -Ref: Definition Syntax-Footnote-1576057 -Node: Function Example576128 -Ref: Function Example-Footnote-1579049 -Node: Function Caveats579071 -Node: Calling A Function579589 -Node: Variable Scope580547 -Node: Pass By Value/Reference583540 -Node: Return Statement587037 -Node: Dynamic Typing590016 -Node: Indirect Calls590945 -Ref: Indirect Calls-Footnote-1600810 -Node: Functions Summary600938 -Node: Library Functions603640 -Ref: Library Functions-Footnote-1607248 -Ref: Library Functions-Footnote-2607391 -Node: Library Names607562 -Ref: Library Names-Footnote-1611020 -Ref: Library Names-Footnote-2611243 -Node: General Functions611329 -Node: Strtonum Function612432 -Node: Assert Function615454 -Node: Round Function618778 -Node: Cliff Random Function620319 -Node: Ordinal Functions621335 -Ref: Ordinal Functions-Footnote-1624398 -Ref: Ordinal Functions-Footnote-2624650 -Node: Join Function624861 -Ref: Join Function-Footnote-1626631 -Node: Getlocaltime Function626831 -Node: Readfile Function630575 -Node: Shell Quoting632547 -Node: Data File Management633948 -Node: Filetrans Function634580 -Node: Rewind Function638676 -Node: File Checking640062 -Ref: File Checking-Footnote-1641395 -Node: Empty Files641596 -Node: Ignoring Assigns643575 -Node: Getopt Function645125 -Ref: Getopt Function-Footnote-1656589 -Node: Passwd Functions656789 -Ref: Passwd Functions-Footnote-1665629 -Node: Group Functions665717 -Ref: Group Functions-Footnote-1673614 -Node: Walking Arrays673819 -Node: Library Functions Summary676825 -Node: Library Exercises678227 -Node: Sample Programs679507 -Node: Running Examples680277 -Node: Clones681005 -Node: Cut Program682229 -Node: Egrep Program691949 -Ref: Egrep Program-Footnote-1699452 -Node: Id Program699562 -Node: Split Program703238 -Ref: Split Program-Footnote-1706692 -Node: Tee Program706820 -Node: Uniq Program709609 -Node: Wc Program717028 -Ref: Wc Program-Footnote-1721278 -Node: Miscellaneous Programs721372 -Node: Dupword Program722585 -Node: Alarm Program724616 -Node: Translate Program729421 -Ref: Translate Program-Footnote-1733984 -Node: Labels Program734254 -Ref: Labels Program-Footnote-1737605 -Node: Word Sorting737689 -Node: History Sorting741759 -Node: Extract Program743594 -Node: Simple Sed751118 -Node: Igawk Program754188 -Ref: Igawk Program-Footnote-1768514 -Ref: Igawk Program-Footnote-2768715 -Ref: Igawk Program-Footnote-3768837 -Node: Anagram Program768952 -Node: Signature Program772013 -Node: Programs Summary773260 -Node: Programs Exercises774481 -Ref: Programs Exercises-Footnote-1778612 -Node: Advanced Features778703 -Node: Nondecimal Data780685 -Node: Array Sorting782275 -Node: Controlling Array Traversal782975 -Ref: Controlling Array Traversal-Footnote-1791341 -Node: Array Sorting Functions791459 -Ref: Array Sorting Functions-Footnote-1795345 -Node: Two-way I/O795541 -Ref: Two-way I/O-Footnote-1800486 -Ref: Two-way I/O-Footnote-2800672 -Node: TCP/IP Networking800754 -Node: Profiling803626 -Node: Advanced Features Summary811897 -Node: Internationalization813830 -Node: I18N and L10N815310 -Node: Explaining gettext815996 -Ref: Explaining gettext-Footnote-1821021 -Ref: Explaining gettext-Footnote-2821205 -Node: Programmer i18n821370 -Ref: Programmer i18n-Footnote-1826246 -Node: Translator i18n826295 -Node: String Extraction827089 -Ref: String Extraction-Footnote-1828220 -Node: Printf Ordering828306 -Ref: Printf Ordering-Footnote-1831092 -Node: I18N Portability831156 -Ref: I18N Portability-Footnote-1833612 -Node: I18N Example833675 -Ref: I18N Example-Footnote-1836478 -Node: Gawk I18N836550 -Node: I18N Summary837194 -Node: Debugger838534 -Node: Debugging839556 -Node: Debugging Concepts839997 -Node: Debugging Terms841807 -Node: Awk Debugging844379 -Node: Sample Debugging Session845285 -Node: Debugger Invocation845819 -Node: Finding The Bug847204 -Node: List of Debugger Commands853683 -Node: Breakpoint Control855015 -Node: Debugger Execution Control858692 -Node: Viewing And Changing Data862051 -Node: Execution Stack865427 -Node: Debugger Info867062 -Node: Miscellaneous Debugger Commands871107 -Node: Readline Support876108 -Node: Limitations877002 -Node: Debugging Summary879117 -Node: Arbitrary Precision Arithmetic880291 -Node: Computer Arithmetic881707 -Ref: table-numeric-ranges885306 -Ref: Computer Arithmetic-Footnote-1885830 -Node: Math Definitions885887 -Ref: table-ieee-formats889182 -Ref: Math Definitions-Footnote-1889786 -Node: MPFR features889891 -Node: FP Math Caution891562 -Ref: FP Math Caution-Footnote-1892612 -Node: Inexactness of computations892981 -Node: Inexact representation893940 -Node: Comparing FP Values895298 -Node: Errors accumulate896380 -Node: Getting Accuracy897812 -Node: Try To Round900516 -Node: Setting precision901415 -Ref: table-predefined-precision-strings902099 -Node: Setting the rounding mode903928 -Ref: table-gawk-rounding-modes904292 -Ref: Setting the rounding mode-Footnote-1907744 -Node: Arbitrary Precision Integers907923 -Ref: Arbitrary Precision Integers-Footnote-1912821 -Node: POSIX Floating Point Problems912970 -Ref: POSIX Floating Point Problems-Footnote-1916849 -Node: Floating point summary916887 -Node: Dynamic Extensions919074 -Node: Extension Intro920626 -Node: Plugin License921891 -Node: Extension Mechanism Outline922688 -Ref: figure-load-extension923116 -Ref: figure-register-new-function924596 -Ref: figure-call-new-function925600 -Node: Extension API Description927587 -Node: Extension API Functions Introduction929037 -Node: General Data Types933858 -Ref: General Data Types-Footnote-1939758 -Node: Memory Allocation Functions940057 -Ref: Memory Allocation Functions-Footnote-1942896 -Node: Constructor Functions942995 -Node: Registration Functions944734 -Node: Extension Functions945419 -Node: Exit Callback Functions947716 -Node: Extension Version String948964 -Node: Input Parsers949627 -Node: Output Wrappers959502 -Node: Two-way processors964015 -Node: Printing Messages966278 -Ref: Printing Messages-Footnote-1967354 -Node: Updating `ERRNO'967506 -Node: Requesting Values968246 -Ref: table-value-types-returned968973 -Node: Accessing Parameters969930 -Node: Symbol Table Access971164 -Node: Symbol table by name971678 -Node: Symbol table by cookie973698 -Ref: Symbol table by cookie-Footnote-1977843 -Node: Cached values977906 -Ref: Cached values-Footnote-1981402 -Node: Array Manipulation981493 -Ref: Array Manipulation-Footnote-1982591 -Node: Array Data Types982628 -Ref: Array Data Types-Footnote-1985283 -Node: Array Functions985375 -Node: Flattening Arrays989234 -Node: Creating Arrays996136 -Node: Extension API Variables1000907 -Node: Extension Versioning1001543 -Node: Extension API Informational Variables1003434 -Node: Extension API Boilerplate1004499 -Node: Finding Extensions1008308 -Node: Extension Example1008868 -Node: Internal File Description1009640 -Node: Internal File Ops1013707 -Ref: Internal File Ops-Footnote-11025458 -Node: Using Internal File Ops1025598 -Ref: Using Internal File Ops-Footnote-11027981 -Node: Extension Samples1028254 -Node: Extension Sample File Functions1029782 -Node: Extension Sample Fnmatch1037463 -Node: Extension Sample Fork1038951 -Node: Extension Sample Inplace1040166 -Node: Extension Sample Ord1041842 -Node: Extension Sample Readdir1042678 -Ref: table-readdir-file-types1043555 -Node: Extension Sample Revout1044366 -Node: Extension Sample Rev2way1044955 -Node: Extension Sample Read write array1045695 -Node: Extension Sample Readfile1047635 -Node: Extension Sample Time1048730 -Node: Extension Sample API Tests1050078 -Node: gawkextlib1050569 -Node: Extension summary1053247 -Node: Extension Exercises1056936 -Node: Language History1057658 -Node: V7/SVR3.11059314 -Node: SVR41061467 -Node: POSIX1062901 -Node: BTL1064282 -Node: POSIX/GNU1065013 -Node: Feature History1070849 -Node: Common Extensions1084643 -Node: Ranges and Locales1086015 -Ref: Ranges and Locales-Footnote-11090634 -Ref: Ranges and Locales-Footnote-21090661 -Ref: Ranges and Locales-Footnote-31090896 -Node: Contributors1091117 -Node: History summary1096657 -Node: Installation1098036 -Node: Gawk Distribution1098982 -Node: Getting1099466 -Node: Extracting1100289 -Node: Distribution contents1101926 -Node: Unix Installation1108028 -Node: Quick Installation1108711 -Node: Shell Startup Files1111122 -Node: Additional Configuration Options1112201 -Node: Configuration Philosophy1114005 -Node: Non-Unix Installation1116374 -Node: PC Installation1116832 -Node: PC Binary Installation1118152 -Node: PC Compiling1120000 -Ref: PC Compiling-Footnote-11123021 -Node: PC Testing1123130 -Node: PC Using1124306 -Node: Cygwin1128421 -Node: MSYS1129191 -Node: VMS Installation1129692 -Node: VMS Compilation1130484 -Ref: VMS Compilation-Footnote-11131713 -Node: VMS Dynamic Extensions1131771 -Node: VMS Installation Details1133455 -Node: VMS Running1135706 -Node: VMS GNV1138546 -Node: VMS Old Gawk1139281 -Node: Bugs1139751 -Node: Other Versions1143640 -Node: Installation summary1150074 -Node: Notes1151133 -Node: Compatibility Mode1151998 -Node: Additions1152780 -Node: Accessing The Source1153705 -Node: Adding Code1155140 -Node: New Ports1161297 -Node: Derived Files1165779 -Ref: Derived Files-Footnote-11171254 -Ref: Derived Files-Footnote-21171288 -Ref: Derived Files-Footnote-31171884 -Node: Future Extensions1171998 -Node: Implementation Limitations1172604 -Node: Extension Design1173852 -Node: Old Extension Problems1175006 -Ref: Old Extension Problems-Footnote-11176523 -Node: Extension New Mechanism Goals1176580 -Ref: Extension New Mechanism Goals-Footnote-11179940 -Node: Extension Other Design Decisions1180129 -Node: Extension Future Growth1182237 -Node: Old Extension Mechanism1183073 -Node: Notes summary1184835 -Node: Basic Concepts1186021 -Node: Basic High Level1186702 -Ref: figure-general-flow1186974 -Ref: figure-process-flow1187573 -Ref: Basic High Level-Footnote-11190802 -Node: Basic Data Typing1190987 -Node: Glossary1194315 -Node: Copying1226244 -Node: GNU Free Documentation License1263800 -Node: Index1288936 +Node: Exit Status145414 +Node: Include Files146090 +Node: Loading Shared Libraries149679 +Node: Obsolete151106 +Node: Undocumented151798 +Node: Invoking Summary152065 +Node: Regexp153728 +Node: Regexp Usage155182 +Node: Escape Sequences157219 +Node: Regexp Operators163448 +Ref: Regexp Operators-Footnote-1170858 +Ref: Regexp Operators-Footnote-2171005 +Node: Bracket Expressions171103 +Ref: table-char-classes173118 +Node: Leftmost Longest176060 +Node: Computed Regexps177362 +Node: GNU Regexp Operators180791 +Node: Case-sensitivity184463 +Ref: Case-sensitivity-Footnote-1187348 +Ref: Case-sensitivity-Footnote-2187583 +Node: Regexp Summary187691 +Node: Reading Files189158 +Node: Records191251 +Node: awk split records191984 +Node: gawk split records196913 +Ref: gawk split records-Footnote-1201452 +Node: Fields201489 +Ref: Fields-Footnote-1204267 +Node: Nonconstant Fields204353 +Ref: Nonconstant Fields-Footnote-1206591 +Node: Changing Fields206794 +Node: Field Separators212725 +Node: Default Field Splitting215429 +Node: Regexp Field Splitting216546 +Node: Single Character Fields219896 +Node: Command Line Field Separator220955 +Node: Full Line Fields224172 +Ref: Full Line Fields-Footnote-1225693 +Ref: Full Line Fields-Footnote-2225739 +Node: Field Splitting Summary225840 +Node: Constant Size227914 +Node: Splitting By Content232497 +Ref: Splitting By Content-Footnote-1236462 +Node: Multiple Line236625 +Ref: Multiple Line-Footnote-1242506 +Node: Getline242685 +Node: Plain Getline244892 +Node: Getline/Variable247532 +Node: Getline/File248681 +Node: Getline/Variable/File250066 +Ref: Getline/Variable/File-Footnote-1251669 +Node: Getline/Pipe251756 +Node: Getline/Variable/Pipe254434 +Node: Getline/Coprocess255565 +Node: Getline/Variable/Coprocess256829 +Node: Getline Notes257568 +Node: Getline Summary260362 +Ref: table-getline-variants260774 +Node: Read Timeout261603 +Ref: Read Timeout-Footnote-1265440 +Node: Command-line directories265498 +Node: Input Summary266403 +Node: Input Exercises269788 +Node: Printing270516 +Node: Print272351 +Node: Print Examples273808 +Node: Output Separators276587 +Node: OFMT278605 +Node: Printf279960 +Node: Basic Printf280745 +Node: Control Letters282317 +Node: Format Modifiers286302 +Node: Printf Examples292308 +Node: Redirection294794 +Node: Special FD301632 +Ref: Special FD-Footnote-1304798 +Node: Special Files304872 +Node: Other Inherited Files305489 +Node: Special Network306489 +Node: Special Caveats307351 +Node: Close Files And Pipes308300 +Ref: Close Files And Pipes-Footnote-1315485 +Ref: Close Files And Pipes-Footnote-2315633 +Node: Nonfatal315783 +Node: Output Summary318108 +Node: Output Exercises319329 +Node: Expressions320009 +Node: Values321198 +Node: Constants321875 +Node: Scalar Constants322566 +Ref: Scalar Constants-Footnote-1323428 +Node: Nondecimal-numbers323678 +Node: Regexp Constants326688 +Node: Using Constant Regexps327214 +Node: Variables330377 +Node: Using Variables331034 +Node: Assignment Options332945 +Node: Conversion334820 +Node: Strings And Numbers335344 +Ref: Strings And Numbers-Footnote-1338409 +Node: Locale influences conversions338518 +Ref: table-locale-affects341264 +Node: All Operators341856 +Node: Arithmetic Ops342485 +Node: Concatenation344990 +Ref: Concatenation-Footnote-1347809 +Node: Assignment Ops347916 +Ref: table-assign-ops352895 +Node: Increment Ops354205 +Node: Truth Values and Conditions357636 +Node: Truth Values358719 +Node: Typing and Comparison359768 +Node: Variable Typing360584 +Node: Comparison Operators364251 +Ref: table-relational-ops364661 +Node: POSIX String Comparison368156 +Ref: POSIX String Comparison-Footnote-1369228 +Node: Boolean Ops369367 +Ref: Boolean Ops-Footnote-1373845 +Node: Conditional Exp373936 +Node: Function Calls375674 +Node: Precedence379554 +Node: Locales383214 +Node: Expressions Summary384846 +Node: Patterns and Actions387417 +Node: Pattern Overview388537 +Node: Regexp Patterns390216 +Node: Expression Patterns390759 +Node: Ranges394539 +Node: BEGIN/END397646 +Node: Using BEGIN/END398407 +Ref: Using BEGIN/END-Footnote-1401143 +Node: I/O And BEGIN/END401249 +Node: BEGINFILE/ENDFILE403564 +Node: Empty406461 +Node: Using Shell Variables406778 +Node: Action Overview409051 +Node: Statements411377 +Node: If Statement413225 +Node: While Statement414720 +Node: Do Statement416748 +Node: For Statement417896 +Node: Switch Statement421054 +Node: Break Statement423436 +Node: Continue Statement425529 +Node: Next Statement427356 +Node: Nextfile Statement429737 +Node: Exit Statement432365 +Node: Built-in Variables434776 +Node: User-modified435909 +Ref: User-modified-Footnote-1443543 +Node: Auto-set443605 +Ref: Auto-set-Footnote-1457314 +Ref: Auto-set-Footnote-2457519 +Node: ARGC and ARGV457575 +Node: Pattern Action Summary461793 +Node: Arrays464226 +Node: Array Basics465555 +Node: Array Intro466399 +Ref: figure-array-elements468333 +Ref: Array Intro-Footnote-1470953 +Node: Reference to Elements471081 +Node: Assigning Elements473543 +Node: Array Example474034 +Node: Scanning an Array475793 +Node: Controlling Scanning478813 +Ref: Controlling Scanning-Footnote-1484207 +Node: Numeric Array Subscripts484523 +Node: Uninitialized Subscripts486708 +Node: Delete488325 +Ref: Delete-Footnote-1491074 +Node: Multidimensional491131 +Node: Multiscanning494228 +Node: Arrays of Arrays495817 +Node: Arrays Summary500571 +Node: Functions502662 +Node: Built-in503701 +Node: Calling Built-in504779 +Node: Numeric Functions506774 +Ref: Numeric Functions-Footnote-1511592 +Ref: Numeric Functions-Footnote-2511949 +Ref: Numeric Functions-Footnote-3511997 +Node: String Functions512269 +Ref: String Functions-Footnote-1535770 +Ref: String Functions-Footnote-2535899 +Ref: String Functions-Footnote-3536147 +Node: Gory Details536234 +Ref: table-sub-escapes538015 +Ref: table-sub-proposed539530 +Ref: table-posix-sub540892 +Ref: table-gensub-escapes542429 +Ref: Gory Details-Footnote-1543262 +Node: I/O Functions543413 +Ref: I/O Functions-Footnote-1550649 +Node: Time Functions550796 +Ref: Time Functions-Footnote-1561305 +Ref: Time Functions-Footnote-2561373 +Ref: Time Functions-Footnote-3561531 +Ref: Time Functions-Footnote-4561642 +Ref: Time Functions-Footnote-5561754 +Ref: Time Functions-Footnote-6561981 +Node: Bitwise Functions562247 +Ref: table-bitwise-ops562809 +Ref: Bitwise Functions-Footnote-1567137 +Node: Type Functions567309 +Node: I18N Functions568461 +Node: User-defined570108 +Node: Definition Syntax570913 +Ref: Definition Syntax-Footnote-1576572 +Node: Function Example576643 +Ref: Function Example-Footnote-1579564 +Node: Function Caveats579586 +Node: Calling A Function580104 +Node: Variable Scope581062 +Node: Pass By Value/Reference584055 +Node: Return Statement587552 +Node: Dynamic Typing590531 +Node: Indirect Calls591460 +Ref: Indirect Calls-Footnote-1601325 +Node: Functions Summary601453 +Node: Library Functions604155 +Ref: Library Functions-Footnote-1607763 +Ref: Library Functions-Footnote-2607906 +Node: Library Names608077 +Ref: Library Names-Footnote-1611535 +Ref: Library Names-Footnote-2611758 +Node: General Functions611844 +Node: Strtonum Function612947 +Node: Assert Function615969 +Node: Round Function619293 +Node: Cliff Random Function620834 +Node: Ordinal Functions621850 +Ref: Ordinal Functions-Footnote-1624913 +Ref: Ordinal Functions-Footnote-2625165 +Node: Join Function625376 +Ref: Join Function-Footnote-1627146 +Node: Getlocaltime Function627346 +Node: Readfile Function631090 +Node: Shell Quoting633062 +Node: Data File Management634463 +Node: Filetrans Function635095 +Node: Rewind Function639191 +Node: File Checking640577 +Ref: File Checking-Footnote-1641910 +Node: Empty Files642111 +Node: Ignoring Assigns644090 +Node: Getopt Function645640 +Ref: Getopt Function-Footnote-1657104 +Node: Passwd Functions657304 +Ref: Passwd Functions-Footnote-1666144 +Node: Group Functions666232 +Ref: Group Functions-Footnote-1674129 +Node: Walking Arrays674334 +Node: Library Functions Summary677340 +Node: Library Exercises678742 +Node: Sample Programs680022 +Node: Running Examples680792 +Node: Clones681520 +Node: Cut Program682744 +Node: Egrep Program692464 +Ref: Egrep Program-Footnote-1699967 +Node: Id Program700077 +Node: Split Program703753 +Ref: Split Program-Footnote-1707207 +Node: Tee Program707335 +Node: Uniq Program710124 +Node: Wc Program717543 +Ref: Wc Program-Footnote-1721793 +Node: Miscellaneous Programs721887 +Node: Dupword Program723100 +Node: Alarm Program725131 +Node: Translate Program729936 +Ref: Translate Program-Footnote-1734499 +Node: Labels Program734769 +Ref: Labels Program-Footnote-1738120 +Node: Word Sorting738204 +Node: History Sorting742274 +Node: Extract Program744109 +Node: Simple Sed751633 +Node: Igawk Program754703 +Ref: Igawk Program-Footnote-1769029 +Ref: Igawk Program-Footnote-2769230 +Ref: Igawk Program-Footnote-3769352 +Node: Anagram Program769467 +Node: Signature Program772528 +Node: Programs Summary773775 +Node: Programs Exercises774996 +Ref: Programs Exercises-Footnote-1779127 +Node: Advanced Features779218 +Node: Nondecimal Data781200 +Node: Array Sorting782790 +Node: Controlling Array Traversal783490 +Ref: Controlling Array Traversal-Footnote-1791856 +Node: Array Sorting Functions791974 +Ref: Array Sorting Functions-Footnote-1795860 +Node: Two-way I/O796056 +Ref: Two-way I/O-Footnote-1801001 +Ref: Two-way I/O-Footnote-2801187 +Node: TCP/IP Networking801269 +Node: Profiling804141 +Node: Advanced Features Summary812412 +Node: Internationalization814345 +Node: I18N and L10N815825 +Node: Explaining gettext816511 +Ref: Explaining gettext-Footnote-1821536 +Ref: Explaining gettext-Footnote-2821720 +Node: Programmer i18n821885 +Ref: Programmer i18n-Footnote-1826761 +Node: Translator i18n826810 +Node: String Extraction827604 +Ref: String Extraction-Footnote-1828735 +Node: Printf Ordering828821 +Ref: Printf Ordering-Footnote-1831607 +Node: I18N Portability831671 +Ref: I18N Portability-Footnote-1834127 +Node: I18N Example834190 +Ref: I18N Example-Footnote-1836993 +Node: Gawk I18N837065 +Node: I18N Summary837709 +Node: Debugger839049 +Node: Debugging840071 +Node: Debugging Concepts840512 +Node: Debugging Terms842322 +Node: Awk Debugging844894 +Node: Sample Debugging Session845800 +Node: Debugger Invocation846334 +Node: Finding The Bug847719 +Node: List of Debugger Commands854198 +Node: Breakpoint Control855530 +Node: Debugger Execution Control859207 +Node: Viewing And Changing Data862566 +Node: Execution Stack865942 +Node: Debugger Info867577 +Node: Miscellaneous Debugger Commands871622 +Node: Readline Support876623 +Node: Limitations877517 +Node: Debugging Summary879632 +Node: Arbitrary Precision Arithmetic880806 +Node: Computer Arithmetic882222 +Ref: table-numeric-ranges885821 +Ref: Computer Arithmetic-Footnote-1886345 +Node: Math Definitions886402 +Ref: table-ieee-formats889697 +Ref: Math Definitions-Footnote-1890301 +Node: MPFR features890406 +Node: FP Math Caution892077 +Ref: FP Math Caution-Footnote-1893127 +Node: Inexactness of computations893496 +Node: Inexact representation894455 +Node: Comparing FP Values895813 +Node: Errors accumulate896895 +Node: Getting Accuracy898327 +Node: Try To Round901031 +Node: Setting precision901930 +Ref: table-predefined-precision-strings902614 +Node: Setting the rounding mode904443 +Ref: table-gawk-rounding-modes904807 +Ref: Setting the rounding mode-Footnote-1908259 +Node: Arbitrary Precision Integers908438 +Ref: Arbitrary Precision Integers-Footnote-1913336 +Node: POSIX Floating Point Problems913485 +Ref: POSIX Floating Point Problems-Footnote-1917364 +Node: Floating point summary917402 +Node: Dynamic Extensions919589 +Node: Extension Intro921141 +Node: Plugin License922406 +Node: Extension Mechanism Outline923203 +Ref: figure-load-extension923631 +Ref: figure-register-new-function925111 +Ref: figure-call-new-function926115 +Node: Extension API Description928102 +Node: Extension API Functions Introduction929552 +Node: General Data Types934373 +Ref: General Data Types-Footnote-1940273 +Node: Memory Allocation Functions940572 +Ref: Memory Allocation Functions-Footnote-1943411 +Node: Constructor Functions943510 +Node: Registration Functions945249 +Node: Extension Functions945934 +Node: Exit Callback Functions948231 +Node: Extension Version String949479 +Node: Input Parsers950142 +Node: Output Wrappers960017 +Node: Two-way processors964530 +Node: Printing Messages966793 +Ref: Printing Messages-Footnote-1967869 +Node: Updating `ERRNO'968021 +Node: Requesting Values968761 +Ref: table-value-types-returned969488 +Node: Accessing Parameters970445 +Node: Symbol Table Access971679 +Node: Symbol table by name972193 +Node: Symbol table by cookie974213 +Ref: Symbol table by cookie-Footnote-1978358 +Node: Cached values978421 +Ref: Cached values-Footnote-1981917 +Node: Array Manipulation982008 +Ref: Array Manipulation-Footnote-1983106 +Node: Array Data Types983143 +Ref: Array Data Types-Footnote-1985798 +Node: Array Functions985890 +Node: Flattening Arrays989749 +Node: Creating Arrays996651 +Node: Extension API Variables1001422 +Node: Extension Versioning1002058 +Node: Extension API Informational Variables1003949 +Node: Extension API Boilerplate1005014 +Node: Finding Extensions1008823 +Node: Extension Example1009383 +Node: Internal File Description1010155 +Node: Internal File Ops1014222 +Ref: Internal File Ops-Footnote-11025973 +Node: Using Internal File Ops1026113 +Ref: Using Internal File Ops-Footnote-11028496 +Node: Extension Samples1028769 +Node: Extension Sample File Functions1030297 +Node: Extension Sample Fnmatch1037978 +Node: Extension Sample Fork1039466 +Node: Extension Sample Inplace1040681 +Node: Extension Sample Ord1042357 +Node: Extension Sample Readdir1043193 +Ref: table-readdir-file-types1044070 +Node: Extension Sample Revout1044881 +Node: Extension Sample Rev2way1045470 +Node: Extension Sample Read write array1046210 +Node: Extension Sample Readfile1048150 +Node: Extension Sample Time1049245 +Node: Extension Sample API Tests1050593 +Node: gawkextlib1051084 +Node: Extension summary1053762 +Node: Extension Exercises1057451 +Node: Language History1058173 +Node: V7/SVR3.11059829 +Node: SVR41061982 +Node: POSIX1063416 +Node: BTL1064797 +Node: POSIX/GNU1065528 +Node: Feature History1071364 +Node: Common Extensions1085158 +Node: Ranges and Locales1086530 +Ref: Ranges and Locales-Footnote-11091149 +Ref: Ranges and Locales-Footnote-21091176 +Ref: Ranges and Locales-Footnote-31091411 +Node: Contributors1091632 +Node: History summary1097172 +Node: Installation1098551 +Node: Gawk Distribution1099497 +Node: Getting1099981 +Node: Extracting1100804 +Node: Distribution contents1102441 +Node: Unix Installation1108543 +Node: Quick Installation1109226 +Node: Shell Startup Files1111637 +Node: Additional Configuration Options1112716 +Node: Configuration Philosophy1114520 +Node: Non-Unix Installation1116889 +Node: PC Installation1117347 +Node: PC Binary Installation1118667 +Node: PC Compiling1120515 +Ref: PC Compiling-Footnote-11123536 +Node: PC Testing1123645 +Node: PC Using1124821 +Node: Cygwin1128936 +Node: MSYS1129706 +Node: VMS Installation1130207 +Node: VMS Compilation1130999 +Ref: VMS Compilation-Footnote-11132228 +Node: VMS Dynamic Extensions1132286 +Node: VMS Installation Details1133970 +Node: VMS Running1136221 +Node: VMS GNV1139061 +Node: VMS Old Gawk1139796 +Node: Bugs1140266 +Node: Other Versions1144155 +Node: Installation summary1150589 +Node: Notes1151648 +Node: Compatibility Mode1152513 +Node: Additions1153295 +Node: Accessing The Source1154220 +Node: Adding Code1155655 +Node: New Ports1161812 +Node: Derived Files1166294 +Ref: Derived Files-Footnote-11171769 +Ref: Derived Files-Footnote-21171803 +Ref: Derived Files-Footnote-31172399 +Node: Future Extensions1172513 +Node: Implementation Limitations1173119 +Node: Extension Design1174367 +Node: Old Extension Problems1175521 +Ref: Old Extension Problems-Footnote-11177038 +Node: Extension New Mechanism Goals1177095 +Ref: Extension New Mechanism Goals-Footnote-11180455 +Node: Extension Other Design Decisions1180644 +Node: Extension Future Growth1182752 +Node: Old Extension Mechanism1183588 +Node: Notes summary1185350 +Node: Basic Concepts1186536 +Node: Basic High Level1187217 +Ref: figure-general-flow1187489 +Ref: figure-process-flow1188088 +Ref: Basic High Level-Footnote-11191317 +Node: Basic Data Typing1191502 +Node: Glossary1194830 +Node: Copying1226759 +Node: GNU Free Documentation License1264315 +Node: Index1289451  End Tag Table -- cgit v1.2.3 From 1b047a42077ca58eeeaa93e0561c0b589350702b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 17 Mar 2015 22:28:56 +0200 Subject: Documentation fix: positive -> nonnegative as appropriate. --- doc/gawk.info | 943 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 471 insertions(+), 472 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 9c23943c..2d4fd906 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5097,9 +5097,9 @@ the built-in variable `FIELDWIDTHS'. Each number specifies the width of the field, _including_ columns between fields. If you want to ignore the columns between fields, you can specify the width as a separate field that is subsequently ignored. It is a fatal error to -supply a field width that is not a positive number. The following data -is the output of the Unix `w' utility. It is useful to illustrate the -use of `FIELDWIDTHS': +supply a field width that has a negative value. The following data is +the output of the Unix `w' utility. It is useful to illustrate the use +of `FIELDWIDTHS': 10:06pm up 21 days, 14:04, 23 users User tty login idle JCPU PCPU what @@ -10851,7 +10851,7 @@ be used as an array index. including a specification of how many elements or components they contain. In such languages, the declaration causes a contiguous block of memory to be allocated for that many elements. Usually, an index in -the array must be a positive integer. For example, the index zero +the array must be a nonnegative integer. For example, the index zero specifies the first element in the array, which is actually stored at the beginning of the block of memory. Index one specifies the second element, which is stored in memory right after the first element, and @@ -10906,8 +10906,8 @@ It has elements 0-3 and 10, but doesn't have elements 4, 5, 6, 7, 8, or 9. Another consequence of associative arrays is that the indices don't -have to be positive integers. Any number, or even a string, can be an -index. For example, the following is an array that translates words +have to be nonnegative integers. Any number, or even a string, can be +an index. For example, the following is an array that translates words from English to French: Index Value @@ -11078,7 +11078,7 @@ File: gawk.info, Node: Scanning an Array, Next: Controlling Scanning, Prev: A In programs that use arrays, it is often necessary to use a loop that executes once for each element of an array. In other languages, where -arrays are contiguous and indices are limited to positive integers, +arrays are contiguous and indices are limited to nonnegative integers, this is easy: all the valid indices can be found by counting from the lowest index up to the highest. This technique won't do the job in `awk', because any number or string can be an array index. So `awk' @@ -21791,8 +21791,7 @@ Integer arithmetic In computers, integer values come in two flavors: "signed" and "unsigned". Signed values may be negative or positive, whereas - unsigned values are always positive (i.e., greater than or equal - to zero). + unsigned values are always greater than or equal to zero. In computer systems, integer arithmetic is exact, but the possible range of values is limited. Integer arithmetic is generally @@ -34579,468 +34578,468 @@ Ref: Full Line Fields-Footnote-1225370 Ref: Full Line Fields-Footnote-2225416 Node: Field Splitting Summary225517 Node: Constant Size227591 -Node: Splitting By Content232174 -Ref: Splitting By Content-Footnote-1236139 -Node: Multiple Line236302 -Ref: Multiple Line-Footnote-1242183 -Node: Getline242362 -Node: Plain Getline244569 -Node: Getline/Variable247209 -Node: Getline/File248358 -Node: Getline/Variable/File249743 -Ref: Getline/Variable/File-Footnote-1251346 -Node: Getline/Pipe251433 -Node: Getline/Variable/Pipe254111 -Node: Getline/Coprocess255242 -Node: Getline/Variable/Coprocess256506 -Node: Getline Notes257245 -Node: Getline Summary260039 -Ref: table-getline-variants260451 -Node: Read Timeout261280 -Ref: Read Timeout-Footnote-1265117 -Node: Command-line directories265175 -Node: Input Summary266080 -Node: Input Exercises269465 -Node: Printing270193 -Node: Print271970 -Node: Print Examples273427 -Node: Output Separators276206 -Node: OFMT278224 -Node: Printf279579 -Node: Basic Printf280364 -Node: Control Letters281936 -Node: Format Modifiers285921 -Node: Printf Examples291927 -Node: Redirection294413 -Node: Special FD301251 -Ref: Special FD-Footnote-1304417 -Node: Special Files304491 -Node: Other Inherited Files305108 -Node: Special Network306108 -Node: Special Caveats306970 -Node: Close Files And Pipes307919 -Ref: Close Files And Pipes-Footnote-1315110 -Ref: Close Files And Pipes-Footnote-2315258 -Node: Output Summary315408 -Node: Output Exercises316406 -Node: Expressions317086 -Node: Values318275 -Node: Constants318952 -Node: Scalar Constants319643 -Ref: Scalar Constants-Footnote-1320505 -Node: Nondecimal-numbers320755 -Node: Regexp Constants323765 -Node: Using Constant Regexps324291 -Node: Variables327454 -Node: Using Variables328111 -Node: Assignment Options330022 -Node: Conversion331897 -Node: Strings And Numbers332421 -Ref: Strings And Numbers-Footnote-1335486 -Node: Locale influences conversions335595 -Ref: table-locale-affects338341 -Node: All Operators338933 -Node: Arithmetic Ops339562 -Node: Concatenation342067 -Ref: Concatenation-Footnote-1344886 -Node: Assignment Ops344993 -Ref: table-assign-ops349972 -Node: Increment Ops351282 -Node: Truth Values and Conditions354713 -Node: Truth Values355796 -Node: Typing and Comparison356845 -Node: Variable Typing357661 -Node: Comparison Operators361328 -Ref: table-relational-ops361738 -Node: POSIX String Comparison365233 -Ref: POSIX String Comparison-Footnote-1366305 -Node: Boolean Ops366444 -Ref: Boolean Ops-Footnote-1370922 -Node: Conditional Exp371013 -Node: Function Calls372751 -Node: Precedence376631 -Node: Locales380291 -Node: Expressions Summary381923 -Node: Patterns and Actions384494 -Node: Pattern Overview385614 -Node: Regexp Patterns387293 -Node: Expression Patterns387836 -Node: Ranges391616 -Node: BEGIN/END394723 -Node: Using BEGIN/END395484 -Ref: Using BEGIN/END-Footnote-1398220 -Node: I/O And BEGIN/END398326 -Node: BEGINFILE/ENDFILE400641 -Node: Empty403538 -Node: Using Shell Variables403855 -Node: Action Overview406128 -Node: Statements408454 -Node: If Statement410302 -Node: While Statement411797 -Node: Do Statement413825 -Node: For Statement414973 -Node: Switch Statement418131 -Node: Break Statement420513 -Node: Continue Statement422606 -Node: Next Statement424433 -Node: Nextfile Statement426814 -Node: Exit Statement429442 -Node: Built-in Variables431853 -Node: User-modified432986 -Ref: User-modified-Footnote-1440620 -Node: Auto-set440682 -Ref: Auto-set-Footnote-1453734 -Ref: Auto-set-Footnote-2453939 -Node: ARGC and ARGV453995 -Node: Pattern Action Summary458213 -Node: Arrays460646 -Node: Array Basics461975 -Node: Array Intro462819 -Ref: figure-array-elements464753 -Ref: Array Intro-Footnote-1467373 -Node: Reference to Elements467501 -Node: Assigning Elements469963 -Node: Array Example470454 -Node: Scanning an Array472213 -Node: Controlling Scanning475233 -Ref: Controlling Scanning-Footnote-1480627 -Node: Numeric Array Subscripts480943 -Node: Uninitialized Subscripts483128 -Node: Delete484745 -Ref: Delete-Footnote-1487494 -Node: Multidimensional487551 -Node: Multiscanning490648 -Node: Arrays of Arrays492237 -Node: Arrays Summary496991 -Node: Functions499082 -Node: Built-in500121 -Node: Calling Built-in501199 -Node: Numeric Functions503194 -Ref: Numeric Functions-Footnote-1507210 -Ref: Numeric Functions-Footnote-2507567 -Ref: Numeric Functions-Footnote-3507615 -Node: String Functions507887 -Ref: String Functions-Footnote-1531388 -Ref: String Functions-Footnote-2531517 -Ref: String Functions-Footnote-3531765 -Node: Gory Details531852 -Ref: table-sub-escapes533633 -Ref: table-sub-proposed535148 -Ref: table-posix-sub536510 -Ref: table-gensub-escapes538047 -Ref: Gory Details-Footnote-1538880 -Node: I/O Functions539031 -Ref: I/O Functions-Footnote-1546267 -Node: Time Functions546414 -Ref: Time Functions-Footnote-1556923 -Ref: Time Functions-Footnote-2556991 -Ref: Time Functions-Footnote-3557149 -Ref: Time Functions-Footnote-4557260 -Ref: Time Functions-Footnote-5557372 -Ref: Time Functions-Footnote-6557599 -Node: Bitwise Functions557865 -Ref: table-bitwise-ops558427 -Ref: Bitwise Functions-Footnote-1562755 -Node: Type Functions562927 -Node: I18N Functions564079 -Node: User-defined565726 -Node: Definition Syntax566531 -Ref: Definition Syntax-Footnote-1572190 -Node: Function Example572261 -Ref: Function Example-Footnote-1575182 -Node: Function Caveats575204 -Node: Calling A Function575722 -Node: Variable Scope576680 -Node: Pass By Value/Reference579673 -Node: Return Statement583170 -Node: Dynamic Typing586149 -Node: Indirect Calls587078 -Ref: Indirect Calls-Footnote-1596943 -Node: Functions Summary597071 -Node: Library Functions599773 -Ref: Library Functions-Footnote-1603381 -Ref: Library Functions-Footnote-2603524 -Node: Library Names603695 -Ref: Library Names-Footnote-1607153 -Ref: Library Names-Footnote-2607376 -Node: General Functions607462 -Node: Strtonum Function608565 -Node: Assert Function611587 -Node: Round Function614911 -Node: Cliff Random Function616452 -Node: Ordinal Functions617468 -Ref: Ordinal Functions-Footnote-1620531 -Ref: Ordinal Functions-Footnote-2620783 -Node: Join Function620994 -Ref: Join Function-Footnote-1622764 -Node: Getlocaltime Function622964 -Node: Readfile Function626708 -Node: Shell Quoting628680 -Node: Data File Management630081 -Node: Filetrans Function630713 -Node: Rewind Function634809 -Node: File Checking636195 -Ref: File Checking-Footnote-1637528 -Node: Empty Files637729 -Node: Ignoring Assigns639708 -Node: Getopt Function641258 -Ref: Getopt Function-Footnote-1652722 -Node: Passwd Functions652922 -Ref: Passwd Functions-Footnote-1661762 -Node: Group Functions661850 -Ref: Group Functions-Footnote-1669747 -Node: Walking Arrays669952 -Node: Library Functions Summary672958 -Node: Library Exercises674360 -Node: Sample Programs675640 -Node: Running Examples676410 -Node: Clones677138 -Node: Cut Program678362 -Node: Egrep Program688082 -Ref: Egrep Program-Footnote-1695585 -Node: Id Program695695 -Node: Split Program699371 -Ref: Split Program-Footnote-1702825 -Node: Tee Program702953 -Node: Uniq Program705742 -Node: Wc Program713161 -Ref: Wc Program-Footnote-1717411 -Node: Miscellaneous Programs717505 -Node: Dupword Program718718 -Node: Alarm Program720749 -Node: Translate Program725554 -Ref: Translate Program-Footnote-1730117 -Node: Labels Program730387 -Ref: Labels Program-Footnote-1733738 -Node: Word Sorting733822 -Node: History Sorting737892 -Node: Extract Program739727 -Node: Simple Sed747251 -Node: Igawk Program750321 -Ref: Igawk Program-Footnote-1764647 -Ref: Igawk Program-Footnote-2764848 -Ref: Igawk Program-Footnote-3764970 -Node: Anagram Program765085 -Node: Signature Program768146 -Node: Programs Summary769393 -Node: Programs Exercises770614 -Ref: Programs Exercises-Footnote-1774745 -Node: Advanced Features774836 -Node: Nondecimal Data776818 -Node: Array Sorting778408 -Node: Controlling Array Traversal779108 -Ref: Controlling Array Traversal-Footnote-1787474 -Node: Array Sorting Functions787592 -Ref: Array Sorting Functions-Footnote-1791478 -Node: Two-way I/O791674 -Ref: Two-way I/O-Footnote-1796619 -Ref: Two-way I/O-Footnote-2796805 -Node: TCP/IP Networking796887 -Node: Profiling799759 -Node: Advanced Features Summary807300 -Node: Internationalization809233 -Node: I18N and L10N810713 -Node: Explaining gettext811399 -Ref: Explaining gettext-Footnote-1816424 -Ref: Explaining gettext-Footnote-2816608 -Node: Programmer i18n816773 -Ref: Programmer i18n-Footnote-1821649 -Node: Translator i18n821698 -Node: String Extraction822492 -Ref: String Extraction-Footnote-1823623 -Node: Printf Ordering823709 -Ref: Printf Ordering-Footnote-1826495 -Node: I18N Portability826559 -Ref: I18N Portability-Footnote-1829015 -Node: I18N Example829078 -Ref: I18N Example-Footnote-1831881 -Node: Gawk I18N831953 -Node: I18N Summary832597 -Node: Debugger833937 -Node: Debugging834959 -Node: Debugging Concepts835400 -Node: Debugging Terms837210 -Node: Awk Debugging839782 -Node: Sample Debugging Session840688 -Node: Debugger Invocation841222 -Node: Finding The Bug842607 -Node: List of Debugger Commands849086 -Node: Breakpoint Control850418 -Node: Debugger Execution Control854095 -Node: Viewing And Changing Data857454 -Node: Execution Stack860830 -Node: Debugger Info862465 -Node: Miscellaneous Debugger Commands866510 -Node: Readline Support871511 -Node: Limitations872405 -Node: Debugging Summary874520 -Node: Arbitrary Precision Arithmetic875694 -Node: Computer Arithmetic877110 -Ref: table-numeric-ranges880709 -Ref: Computer Arithmetic-Footnote-1881233 -Node: Math Definitions881290 -Ref: table-ieee-formats884585 -Ref: Math Definitions-Footnote-1885189 -Node: MPFR features885294 -Node: FP Math Caution886965 -Ref: FP Math Caution-Footnote-1888015 -Node: Inexactness of computations888384 -Node: Inexact representation889343 -Node: Comparing FP Values890701 -Node: Errors accumulate891783 -Node: Getting Accuracy893215 -Node: Try To Round895919 -Node: Setting precision896818 -Ref: table-predefined-precision-strings897502 -Node: Setting the rounding mode899331 -Ref: table-gawk-rounding-modes899695 -Ref: Setting the rounding mode-Footnote-1903147 -Node: Arbitrary Precision Integers903326 -Ref: Arbitrary Precision Integers-Footnote-1906310 -Node: POSIX Floating Point Problems906459 -Ref: POSIX Floating Point Problems-Footnote-1910338 -Node: Floating point summary910376 -Node: Dynamic Extensions912563 -Node: Extension Intro914115 -Node: Plugin License915380 -Node: Extension Mechanism Outline916177 -Ref: figure-load-extension916605 -Ref: figure-register-new-function918085 -Ref: figure-call-new-function919089 -Node: Extension API Description921076 -Node: Extension API Functions Introduction922526 -Node: General Data Types927347 -Ref: General Data Types-Footnote-1933247 -Node: Memory Allocation Functions933546 -Ref: Memory Allocation Functions-Footnote-1936385 -Node: Constructor Functions936484 -Node: Registration Functions938223 -Node: Extension Functions938908 -Node: Exit Callback Functions941205 -Node: Extension Version String942453 -Node: Input Parsers943116 -Node: Output Wrappers952991 -Node: Two-way processors957504 -Node: Printing Messages959767 -Ref: Printing Messages-Footnote-1960843 -Node: Updating `ERRNO'960995 -Node: Requesting Values961735 -Ref: table-value-types-returned962462 -Node: Accessing Parameters963419 -Node: Symbol Table Access964653 -Node: Symbol table by name965167 -Node: Symbol table by cookie967187 -Ref: Symbol table by cookie-Footnote-1971332 -Node: Cached values971395 -Ref: Cached values-Footnote-1974891 -Node: Array Manipulation974982 -Ref: Array Manipulation-Footnote-1976080 -Node: Array Data Types976117 -Ref: Array Data Types-Footnote-1978772 -Node: Array Functions978864 -Node: Flattening Arrays982723 -Node: Creating Arrays989625 -Node: Extension API Variables994396 -Node: Extension Versioning995032 -Node: Extension API Informational Variables996923 -Node: Extension API Boilerplate997988 -Node: Finding Extensions1001797 -Node: Extension Example1002357 -Node: Internal File Description1003129 -Node: Internal File Ops1007196 -Ref: Internal File Ops-Footnote-11018947 -Node: Using Internal File Ops1019087 -Ref: Using Internal File Ops-Footnote-11021470 -Node: Extension Samples1021743 -Node: Extension Sample File Functions1023271 -Node: Extension Sample Fnmatch1030952 -Node: Extension Sample Fork1032440 -Node: Extension Sample Inplace1033655 -Node: Extension Sample Ord1035331 -Node: Extension Sample Readdir1036167 -Ref: table-readdir-file-types1037044 -Node: Extension Sample Revout1037855 -Node: Extension Sample Rev2way1038444 -Node: Extension Sample Read write array1039184 -Node: Extension Sample Readfile1041124 -Node: Extension Sample Time1042219 -Node: Extension Sample API Tests1043567 -Node: gawkextlib1044058 -Node: Extension summary1046736 -Node: Extension Exercises1050425 -Node: Language History1051147 -Node: V7/SVR3.11052803 -Node: SVR41054956 -Node: POSIX1056390 -Node: BTL1057771 -Node: POSIX/GNU1058502 -Node: Feature History1064023 -Node: Common Extensions1077121 -Node: Ranges and Locales1078493 -Ref: Ranges and Locales-Footnote-11083112 -Ref: Ranges and Locales-Footnote-21083139 -Ref: Ranges and Locales-Footnote-31083374 -Node: Contributors1083595 -Node: History summary1089135 -Node: Installation1090514 -Node: Gawk Distribution1091460 -Node: Getting1091944 -Node: Extracting1092767 -Node: Distribution contents1094404 -Node: Unix Installation1100158 -Node: Quick Installation1100775 -Node: Additional Configuration Options1103199 -Node: Configuration Philosophy1105002 -Node: Non-Unix Installation1107371 -Node: PC Installation1107829 -Node: PC Binary Installation1109149 -Node: PC Compiling1110997 -Ref: PC Compiling-Footnote-11114018 -Node: PC Testing1114127 -Node: PC Using1115303 -Node: Cygwin1119418 -Node: MSYS1120188 -Node: VMS Installation1120689 -Node: VMS Compilation1121481 -Ref: VMS Compilation-Footnote-11122710 -Node: VMS Dynamic Extensions1122768 -Node: VMS Installation Details1124452 -Node: VMS Running1126703 -Node: VMS GNV1129543 -Node: VMS Old Gawk1130278 -Node: Bugs1130748 -Node: Other Versions1134637 -Node: Installation summary1141071 -Node: Notes1142130 -Node: Compatibility Mode1142995 -Node: Additions1143777 -Node: Accessing The Source1144702 -Node: Adding Code1146137 -Node: New Ports1152294 -Node: Derived Files1156776 -Ref: Derived Files-Footnote-11162251 -Ref: Derived Files-Footnote-21162285 -Ref: Derived Files-Footnote-31162881 -Node: Future Extensions1162995 -Node: Implementation Limitations1163601 -Node: Extension Design1164849 -Node: Old Extension Problems1166003 -Ref: Old Extension Problems-Footnote-11167520 -Node: Extension New Mechanism Goals1167577 -Ref: Extension New Mechanism Goals-Footnote-11170937 -Node: Extension Other Design Decisions1171126 -Node: Extension Future Growth1173234 -Node: Old Extension Mechanism1174070 -Node: Notes summary1175832 -Node: Basic Concepts1177018 -Node: Basic High Level1177699 -Ref: figure-general-flow1177971 -Ref: figure-process-flow1178570 -Ref: Basic High Level-Footnote-11181799 -Node: Basic Data Typing1181984 -Node: Glossary1185312 -Node: Copying1217241 -Node: GNU Free Documentation License1254797 -Node: Index1279933 +Node: Splitting By Content232170 +Ref: Splitting By Content-Footnote-1236135 +Node: Multiple Line236298 +Ref: Multiple Line-Footnote-1242179 +Node: Getline242358 +Node: Plain Getline244565 +Node: Getline/Variable247205 +Node: Getline/File248354 +Node: Getline/Variable/File249739 +Ref: Getline/Variable/File-Footnote-1251342 +Node: Getline/Pipe251429 +Node: Getline/Variable/Pipe254107 +Node: Getline/Coprocess255238 +Node: Getline/Variable/Coprocess256502 +Node: Getline Notes257241 +Node: Getline Summary260035 +Ref: table-getline-variants260447 +Node: Read Timeout261276 +Ref: Read Timeout-Footnote-1265113 +Node: Command-line directories265171 +Node: Input Summary266076 +Node: Input Exercises269461 +Node: Printing270189 +Node: Print271966 +Node: Print Examples273423 +Node: Output Separators276202 +Node: OFMT278220 +Node: Printf279575 +Node: Basic Printf280360 +Node: Control Letters281932 +Node: Format Modifiers285917 +Node: Printf Examples291923 +Node: Redirection294409 +Node: Special FD301247 +Ref: Special FD-Footnote-1304413 +Node: Special Files304487 +Node: Other Inherited Files305104 +Node: Special Network306104 +Node: Special Caveats306966 +Node: Close Files And Pipes307915 +Ref: Close Files And Pipes-Footnote-1315106 +Ref: Close Files And Pipes-Footnote-2315254 +Node: Output Summary315404 +Node: Output Exercises316402 +Node: Expressions317082 +Node: Values318271 +Node: Constants318948 +Node: Scalar Constants319639 +Ref: Scalar Constants-Footnote-1320501 +Node: Nondecimal-numbers320751 +Node: Regexp Constants323761 +Node: Using Constant Regexps324287 +Node: Variables327450 +Node: Using Variables328107 +Node: Assignment Options330018 +Node: Conversion331893 +Node: Strings And Numbers332417 +Ref: Strings And Numbers-Footnote-1335482 +Node: Locale influences conversions335591 +Ref: table-locale-affects338337 +Node: All Operators338929 +Node: Arithmetic Ops339558 +Node: Concatenation342063 +Ref: Concatenation-Footnote-1344882 +Node: Assignment Ops344989 +Ref: table-assign-ops349968 +Node: Increment Ops351278 +Node: Truth Values and Conditions354709 +Node: Truth Values355792 +Node: Typing and Comparison356841 +Node: Variable Typing357657 +Node: Comparison Operators361324 +Ref: table-relational-ops361734 +Node: POSIX String Comparison365229 +Ref: POSIX String Comparison-Footnote-1366301 +Node: Boolean Ops366440 +Ref: Boolean Ops-Footnote-1370918 +Node: Conditional Exp371009 +Node: Function Calls372747 +Node: Precedence376627 +Node: Locales380287 +Node: Expressions Summary381919 +Node: Patterns and Actions384490 +Node: Pattern Overview385610 +Node: Regexp Patterns387289 +Node: Expression Patterns387832 +Node: Ranges391612 +Node: BEGIN/END394719 +Node: Using BEGIN/END395480 +Ref: Using BEGIN/END-Footnote-1398216 +Node: I/O And BEGIN/END398322 +Node: BEGINFILE/ENDFILE400637 +Node: Empty403534 +Node: Using Shell Variables403851 +Node: Action Overview406124 +Node: Statements408450 +Node: If Statement410298 +Node: While Statement411793 +Node: Do Statement413821 +Node: For Statement414969 +Node: Switch Statement418127 +Node: Break Statement420509 +Node: Continue Statement422602 +Node: Next Statement424429 +Node: Nextfile Statement426810 +Node: Exit Statement429438 +Node: Built-in Variables431849 +Node: User-modified432982 +Ref: User-modified-Footnote-1440616 +Node: Auto-set440678 +Ref: Auto-set-Footnote-1453730 +Ref: Auto-set-Footnote-2453935 +Node: ARGC and ARGV453991 +Node: Pattern Action Summary458209 +Node: Arrays460642 +Node: Array Basics461971 +Node: Array Intro462815 +Ref: figure-array-elements464752 +Ref: Array Intro-Footnote-1467375 +Node: Reference to Elements467503 +Node: Assigning Elements469965 +Node: Array Example470456 +Node: Scanning an Array472215 +Node: Controlling Scanning475238 +Ref: Controlling Scanning-Footnote-1480632 +Node: Numeric Array Subscripts480948 +Node: Uninitialized Subscripts483133 +Node: Delete484750 +Ref: Delete-Footnote-1487499 +Node: Multidimensional487556 +Node: Multiscanning490653 +Node: Arrays of Arrays492242 +Node: Arrays Summary496996 +Node: Functions499087 +Node: Built-in500126 +Node: Calling Built-in501204 +Node: Numeric Functions503199 +Ref: Numeric Functions-Footnote-1507215 +Ref: Numeric Functions-Footnote-2507572 +Ref: Numeric Functions-Footnote-3507620 +Node: String Functions507892 +Ref: String Functions-Footnote-1531393 +Ref: String Functions-Footnote-2531522 +Ref: String Functions-Footnote-3531770 +Node: Gory Details531857 +Ref: table-sub-escapes533638 +Ref: table-sub-proposed535153 +Ref: table-posix-sub536515 +Ref: table-gensub-escapes538052 +Ref: Gory Details-Footnote-1538885 +Node: I/O Functions539036 +Ref: I/O Functions-Footnote-1546272 +Node: Time Functions546419 +Ref: Time Functions-Footnote-1556928 +Ref: Time Functions-Footnote-2556996 +Ref: Time Functions-Footnote-3557154 +Ref: Time Functions-Footnote-4557265 +Ref: Time Functions-Footnote-5557377 +Ref: Time Functions-Footnote-6557604 +Node: Bitwise Functions557870 +Ref: table-bitwise-ops558432 +Ref: Bitwise Functions-Footnote-1562760 +Node: Type Functions562932 +Node: I18N Functions564084 +Node: User-defined565731 +Node: Definition Syntax566536 +Ref: Definition Syntax-Footnote-1572195 +Node: Function Example572266 +Ref: Function Example-Footnote-1575187 +Node: Function Caveats575209 +Node: Calling A Function575727 +Node: Variable Scope576685 +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 Ord1035314 +Node: Extension Sample Readdir1036150 +Ref: table-readdir-file-types1037027 +Node: Extension Sample Revout1037838 +Node: Extension Sample Rev2way1038427 +Node: Extension Sample Read write array1039167 +Node: Extension Sample Readfile1041107 +Node: Extension Sample Time1042202 +Node: Extension Sample API Tests1043550 +Node: gawkextlib1044041 +Node: Extension summary1046719 +Node: Extension Exercises1050408 +Node: Language History1051130 +Node: V7/SVR3.11052786 +Node: SVR41054939 +Node: POSIX1056373 +Node: BTL1057754 +Node: POSIX/GNU1058485 +Node: Feature History1064006 +Node: Common Extensions1077104 +Node: Ranges and Locales1078476 +Ref: Ranges and Locales-Footnote-11083095 +Ref: Ranges and Locales-Footnote-21083122 +Ref: Ranges and Locales-Footnote-31083357 +Node: Contributors1083578 +Node: History summary1089118 +Node: Installation1090497 +Node: Gawk Distribution1091443 +Node: Getting1091927 +Node: Extracting1092750 +Node: Distribution contents1094387 +Node: Unix Installation1100141 +Node: Quick Installation1100758 +Node: Additional Configuration Options1103182 +Node: Configuration Philosophy1104985 +Node: Non-Unix Installation1107354 +Node: PC Installation1107812 +Node: PC Binary Installation1109132 +Node: PC Compiling1110980 +Ref: PC Compiling-Footnote-11114001 +Node: PC Testing1114110 +Node: PC Using1115286 +Node: Cygwin1119401 +Node: MSYS1120171 +Node: VMS Installation1120672 +Node: VMS Compilation1121464 +Ref: VMS Compilation-Footnote-11122693 +Node: VMS Dynamic Extensions1122751 +Node: VMS Installation Details1124435 +Node: VMS Running1126686 +Node: VMS GNV1129526 +Node: VMS Old Gawk1130261 +Node: Bugs1130731 +Node: Other Versions1134620 +Node: Installation summary1141054 +Node: Notes1142113 +Node: Compatibility Mode1142978 +Node: Additions1143760 +Node: Accessing The Source1144685 +Node: Adding Code1146120 +Node: New Ports1152277 +Node: Derived Files1156759 +Ref: Derived Files-Footnote-11162234 +Ref: Derived Files-Footnote-21162268 +Ref: Derived Files-Footnote-31162864 +Node: Future Extensions1162978 +Node: Implementation Limitations1163584 +Node: Extension Design1164832 +Node: Old Extension Problems1165986 +Ref: Old Extension Problems-Footnote-11167503 +Node: Extension New Mechanism Goals1167560 +Ref: Extension New Mechanism Goals-Footnote-11170920 +Node: Extension Other Design Decisions1171109 +Node: Extension Future Growth1173217 +Node: Old Extension Mechanism1174053 +Node: Notes summary1175815 +Node: Basic Concepts1177001 +Node: Basic High Level1177682 +Ref: figure-general-flow1177954 +Ref: figure-process-flow1178553 +Ref: Basic High Level-Footnote-11181782 +Node: Basic Data Typing1181967 +Node: Glossary1185295 +Node: Copying1217224 +Node: GNU Free Documentation License1254780 +Node: Index1279916  End Tag Table -- cgit v1.2.3