diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-10-01 22:21:02 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-10-01 22:21:02 +0300 |
commit | e4f68191b510ea46eed8156630d4029cf7dffc8f (patch) | |
tree | 3abed0d599691bf081fb64703a439a8a1cd254b5 /doc/gawk.info | |
parent | a168e61dfc53b7c69df577986ce25e0ee358f80a (diff) | |
parent | 161ab89bfe117326be4452eaca2bd7b268cf4b08 (diff) | |
download | egawk-e4f68191b510ea46eed8156630d4029cf7dffc8f.tar.gz egawk-e4f68191b510ea46eed8156630d4029cf7dffc8f.tar.bz2 egawk-e4f68191b510ea46eed8156630d4029cf7dffc8f.zip |
Merge branch 'master' into feature/fix-comments
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1148 |
1 files changed, 588 insertions, 560 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 5b757a51..94b88699 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5441,7 +5441,7 @@ being used: else if (PROCINFO["FS"] == "FIELDWIDTHS") FIXED-WIDTH FIELD SPLITTING ... else if (PROCINFO["FS"] == "FPAT") - CONTENT-BASED FIELD SPLITTING + CONTENT-BASED FIELD SPLITTING ... else API INPUT PARSER FIELD SPLITTING ... (advanced feature) @@ -9786,7 +9786,8 @@ tasks that would otherwise be difficult or impossible to perform: inserting an "input parser"; *note Input Parsers::), you can invoke them at this point, before 'gawk' has started processing the file. (This is a _very_ advanced feature, currently used only by the - 'gawkextlib' project (http://sourceforge.net/projects/gawkextlib).) + 'gawkextlib' project + (https://sourceforge.net/projects/gawkextlib).) The 'ENDFILE' rule is called when 'gawk' has finished processing the last record in an input file. For the last input file, it will be @@ -10997,6 +10998,19 @@ they are not special: Set a timeout for reading from input redirection INPUT_NAME. *Note Read Timeout:: for more information. + 'PROCINFO["IINPUT_NAME", "RETRY"]' + If an I/O error that may be retried occurs when reading data + from INPUT_NAME, and this array entry exists, then 'getline' + returns -2 instead of following the default behavior of + returning -1 and configuring INPUT_NAME to return no further + data. An I/O error that may be retried is one where 'errno' + has the value 'EAGAIN', 'EWOULDBLOCK', 'EINTR', or + 'ETIMEDOUT'. This may be useful in conjunction with + '\fBPROCINFO["INPUT_NAME", "READ_TIMEOUT"]' or situations + where a file descriptor has been configured to behave in a + non-blocking fashion. *Note Retrying Input:: for more + information. + 'PROCINFO["sorted_in"]' If this element exists in 'PROCINFO', its value controls the order in which array indices will be processed by 'for (INDX @@ -13455,9 +13469,9 @@ enclosed in square brackets ([ ]): preceding year 1 and year -1 preceding year 0. If UTC-FLAG is present and is either nonzero or non-null, the time is assumed to be in the UTC time zone; otherwise, the time is assumed to be in - the local time zone. If the daylight-savings flag is positive, the - time is assumed to be daylight savings time; if zero, the time is - assumed to be standard time; and if negative (the default), + the local time zone. If the DST daylight-savings flag is positive, + the time is assumed to be daylight savings time; if zero, the time + is assumed to be standard time; and if negative (the default), 'mktime()' attempts to determine whether daylight savings time is in effect for the specified time. @@ -14776,7 +14790,7 @@ pointers," which are a mechanism for calling a function chosen at runtime. One of the most well-known uses of this ability is the C 'qsort()' function, which sorts an array using the famous "quicksort" algorithm (see the Wikipedia article -(http://en.wikipedia.org/wiki/Quicksort) for more information). To use +(https://en.wikipedia.org/wiki/Quicksort) for more information). To use this function, you supply a pointer to a comparison function. This mechanism allows you to sort arbitrary data in an arbitrary fashion. @@ -22665,12 +22679,12 @@ material here: "Stability" From the Wikipedia article on numerical stability - (http://en.wikipedia.org/wiki/Numerical_stability): "Calculations + (https://en.wikipedia.org/wiki/Numerical_stability): "Calculations that can be proven not to magnify approximation errors are called "numerically stable"." See the Wikipedia article on accuracy and precision -(http://en.wikipedia.org/wiki/Accuracy_and_precision) for more +(https://en.wikipedia.org/wiki/Accuracy_and_precision) for more information on some of those terms. On modern systems, floating-point hardware uses the representation @@ -22709,7 +22723,7 @@ File: gawk.info, Node: MPFR features, Next: FP Math Caution, Prev: Math Defin By default, 'gawk' uses the double-precision floating-point values supplied by the hardware of the system it runs on. However, if it was compiled to do so, and the '-M' command-line option is supplied, 'gawk' -uses the GNU MPFR (http://www.mpfr.org) and GNU MP (http://gmplib.org) +uses the GNU MPFR (http://www.mpfr.org) and GNU MP (https://gmplib.org) (GMP) libraries for arbitrary-precision arithmetic on numbers. You can see if MPFR support is available like so: @@ -24088,13 +24102,13 @@ code would use them: 'static inline awk_value_t *' 'make_number_mpz(void *mpz, awk_value_t *result);' This function creates a GMP number value in 'result'. The 'mpz' - must be from a call to 'get_mpz_ptr()' (and thus be or real + must be from a call to 'get_mpz_ptr()' (and thus be of real underlying type 'mpz_ptr'). 'gawk' takes ownership of this memory. 'static inline awk_value_t *' 'make_number_mpfr(void *mpfr, awk_value_t *result);' This function creates an MPFR number value in 'result'. The 'mpfr' - must be from a call to 'get_mpfr_ptr()'. (and thus be or real + must be from a call to 'get_mpfr_ptr()'. (and thus be of real underlying type 'mpfr_ptr') 'gawk' takes ownership of this memory. 'static inline awk_value_t *' @@ -27153,7 +27167,7 @@ File: gawk.info, Node: gawkextlib, Next: Extension summary, Prev: Extension S 16.8 The 'gawkextlib' Project ============================= -The 'gawkextlib' (http://sourceforge.net/projects/gawkextlib/) project +The 'gawkextlib' (https://sourceforge.net/projects/gawkextlib/) project provides a number of 'gawk' extensions, including one for processing XML files. This is the evolution of the original 'xgawk' (XML 'gawk') project. @@ -27176,15 +27190,15 @@ project. * Select extension * XML parser extension, using the Expat - (http://expat.sourceforge.net) XML parsing library + (https://expat.sourceforge.net) XML parsing library You can check out the code for the 'gawkextlib' project using the Git -(http://git-scm.com) distributed source code control system. The +(https://git-scm.com) distributed source code control system. The command is as follows: git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code - You will need to have the Expat (http://expat.sourceforge.net) XML + You will need to have the Expat (https://expat.sourceforge.net) XML parser library installed in order to build and use the XML extension. In addition, you must have the GNU Autotools installed (Autoconf @@ -27201,7 +27215,7 @@ follows. First, build and install 'gawk': make && make check Build and check that all is OK make install Install gawk - Next, go to <http://sourceforge.net/projects/gawkextlib/files> to + Next, go to <https://sourceforge.net/projects/gawkextlib/files> to download 'gawkextlib' and any extensions that you would like to build. The 'README' file at that site explains how to build the code. If you installed 'gawk' in a non-standard location, you will need to specify @@ -27510,7 +27524,7 @@ many years were finally added to POSIX. They are: permitted by the POSIX standard. The 2008 POSIX standard can be found online at -<http://www.opengroup.org/onlinepubs/9699919799/>. +<http://pubs.opengroup.org/onlinepubs/9699919799/>. File: gawk.info, Node: BTL, Next: POSIX/GNU, Prev: POSIX, Up: Language History @@ -29486,16 +29500,25 @@ B.4.1 Submitting Bug Reports ---------------------------- Before reporting a bug, make sure you have really found a genuine bug. -Carefully reread the documentation and see if it says you can do what -you're trying to do. If it's not clear whether you should be able to do -something or not, report that too; it's a bug in the documentation! - - Before reporting a bug or trying to fix it yourself, try to isolate -it to the smallest possible 'awk' program and input data file that -reproduce the problem. Then send us the program and data file, some -idea of what kind of Unix system you're using, the compiler you used to -compile 'gawk', and the exact results 'gawk' gave you. Also say what -you expected to occur; this helps us decide whether the problem is +First, verify that you have the latest version of 'gawk'. Many bugs +(usually subtle ones) are fixed at each release, and if yours is out of +date, the problem may already have been solved. + + Second, please see if setting the environment variable 'LC_ALL' to +'LC_ALL=C' causes things to behave as you expect. If so, it's a locale +issue, and may or may not really be a bug. + + Third, carefully reread the documentation and see if it says you can +do what you're trying to do. If it's not clear whether you should be +able to do something or not, report that too; it's a bug in the +documentation! + + Finally, before reporting a bug or trying to fix it yourself, try to +isolate it to the smallest possible 'awk' program and input data file +that reproduce the problem. Then send us the program and data file, +some idea of what kind of Unix system you're using, the compiler you +used to compile 'gawk', and the exact results 'gawk' gave you. Also say +what you expected to occur; this helps us decide whether the problem is really in the documentation. Make sure to include the version number of 'gawk' you are using. You @@ -29610,7 +29633,7 @@ Unix 'awk' git clone git://github.com/onetrueawk/awk bwkawk - This command creates a copy of the Git (http://git-scm.com) + This command creates a copy of the Git (https://git-scm.com) repository in a directory named 'bwkawk'. If you leave that argument off the 'git' command line, the repository copy is created in a directory named 'awk'. @@ -29645,6 +29668,11 @@ Unix 'awk' *Note Common Extensions:: for a list of extensions in 'mawk' that are not in POSIX 'awk'. +'mawk' 2.0 + In 2016, Michael Brennan resumed 'mawk' development. His + development snapshots are available via Git from the project's + GitHub page (https://github.com/mikebrennan000/mawk-2). + 'awka' Written by Andrew Sumner, 'awka' translates 'awk' programs into C, compiles them, and links them with a library of functions that @@ -29654,7 +29682,7 @@ Unix 'awk' The 'awk' translator is released under the GPL, and the library is under the LGPL. - To get 'awka', go to <http://sourceforge.net/projects/awka>. + To get 'awka', go to <https://sourceforge.net/projects/awka>. The project seems to be frozen; no new code changes have been made since approximately 2001. @@ -29675,7 +29703,7 @@ BusyBox 'awk' building it, be careful not to do 'make install' as it will overwrite copies of other applications in your '/usr/local/bin'. For more information, see the project's home page - (http://busybox.net). + (https://busybox.net). The OpenSolaris POSIX 'awk' The versions of 'awk' in '/usr/xpg4/bin' and '/usr/xpg6/bin' on @@ -29689,7 +29717,7 @@ The OpenSolaris POSIX 'awk' The source code used to be available from the OpenSolaris website. However, that project was ended and the website shut down. Fortunately, the Illumos project - (http://wiki.illumos.org/display/illumos/illumos+Home) makes this + (https://wiki.illumos.org/display/illumos/illumos+Home) makes this implementation available. You can view the files one at a time from <https://github.com/joyent/illumos-joyent/blob/master/usr/src/cmd/awk_xpg4>. @@ -29699,7 +29727,7 @@ The OpenSolaris POSIX 'awk' a full interpreter, although because it uses Java facilities for I/O and for regexp matching, the language it supports is different from POSIX 'awk'. More information is available on the project's - home page (http://jawk.sourceforge.net). + home page (https://jawk.sourceforge.net). Libmawk This is an embeddable 'awk' interpreter derived from 'mawk'. For @@ -29713,7 +29741,7 @@ Libmawk QSE 'awk' This is an embeddable 'awk' interpreter. For more information, see - <http://code.google.com/p/qse/> and <http://awk.info/?tools/qse>. + <https://code.google.com/p/qse/> and <http://awk.info/?tools/qse>. 'QTawk' This is an independent implementation of 'awk' distributed under @@ -29730,7 +29758,7 @@ QSE 'awk' Other versions See also the "Versions and implementations" section of the Wikipedia article - (http://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations) + (https://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations) on 'awk' for information on additional versions. @@ -29846,7 +29874,7 @@ versions of 'gawk'. changes, you will probably wish to work with the development version. To do so, you will need to access the 'gawk' source code repository. The code is maintained using the Git distributed version control system -(http://git-scm.com). You will need to install it if your system +(https://git-scm.com). You will need to install it if your system doesn't have it. Once you have done so, use the command: git clone git://git.savannah.gnu.org/gawk.git @@ -31213,7 +31241,7 @@ ISO POSIX become both American national and ISO international standards simultaneously. This Info file refers to Standard C as "ISO C" throughout. See the ISO website - (http://www.iso.org/iso/home/about.htm) for more information about + (https://www.iso.org/iso/home/about.htm) for more information about the name of the organization and its language-independent three-letter acronym. @@ -31332,7 +31360,7 @@ POSIX these standards. The main standard of interest for 'awk' users is 'IEEE Standard for Information Technology, Standard 1003.1-2008'. The 2008 POSIX standard can be found online at - <http://www.opengroup.org/onlinepubs/9699919799/>. + <http://pubs.opengroup.org/onlinepubs/9699919799/>. Precedence The order in which operations are performed when operators are used @@ -31505,7 +31533,7 @@ Unix system. There are many commercial versions of Unix, as well as several work-alike systems whose source code is freely available (such as GNU/Linux, NetBSD (http://www.netbsd.org), FreeBSD - (http://www.freebsd.org), and OpenBSD (http://www.openbsd.org)). + (https://www.freebsd.org), and OpenBSD (http://www.openbsd.org)). UTC The accepted abbreviation for "Universal Coordinated Time." This @@ -33234,7 +33262,7 @@ Index * awk, versions of, See Also Brian Kernighan's awk: BTL. (line 6) * awk, versions of, See Also Brian Kernighan's awk <1>: Other Versions. (line 13) -* awka compiler for awk: Other Versions. (line 68) +* awka compiler for awk: Other Versions. (line 73) * AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6) * AWKPATH environment variable: AWKPATH Variable. (line 6) * AWKPATH environment variable <1>: PC Using. (line 9) @@ -33293,7 +33321,7 @@ Index (line 57) * backtrace debugger command: Execution Stack. (line 13) * Beebe, Nelson H.F.: Acknowledgments. (line 60) -* Beebe, Nelson H.F. <1>: Other Versions. (line 82) +* Beebe, Nelson H.F. <1>: Other Versions. (line 87) * BEGIN pattern: Field Separators. (line 44) * BEGIN pattern <1>: BEGIN/END. (line 6) * BEGIN pattern <2>: Using BEGIN/END. (line 6) @@ -33415,11 +33443,11 @@ Index * buffers, flushing <1>: I/O Functions. (line 166) * buffers, operators for: GNU Regexp Operators. (line 51) -* bug reports, email address, bug-gawk@gnu.org: Bug address. (line 22) -* bug-gawk@gnu.org bug reporting address: Bug address. (line 22) +* bug reports, email address, bug-gawk@gnu.org: Bug address. (line 31) +* bug-gawk@gnu.org bug reporting address: Bug address. (line 31) * built-in functions: Functions. (line 6) * built-in functions, evaluation order: Calling Built-in. (line 30) -* BusyBox Awk: Other Versions. (line 92) +* BusyBox Awk: Other Versions. (line 97) * c.e., See common extensions: Conventions. (line 51) * call by reference: Pass By Value/Reference. (line 44) @@ -33629,7 +33657,7 @@ Index * dark corner, field separators: Full Line Fields. (line 22) * dark corner, FILENAME variable: Getline Notes. (line 19) * dark corner, FILENAME variable <1>: Auto-set. (line 108) -* dark corner, FNR/NR variables: Auto-set. (line 377) +* dark corner, FNR/NR variables: Auto-set. (line 390) * dark corner, format-control characters: Control Letters. (line 18) * dark corner, format-control characters <1>: Control Letters. (line 93) @@ -33863,7 +33891,7 @@ Index (line 6) * differences in awk and gawk, RS/RT variables: gawk split records. (line 58) -* differences in awk and gawk, RT variable: Auto-set. (line 315) +* differences in awk and gawk, RT variable: Auto-set. (line 328) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -33871,7 +33899,7 @@ Index * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: gawk split records. (line 76) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 319) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 332) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 155) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -33924,7 +33952,7 @@ Index * elements of arrays: Reference to Elements. (line 6) * email address for bug reports, bug-gawk@gnu.org: Bug address. - (line 22) + (line 31) * empty array elements: Reference to Elements. (line 18) * empty pattern: Empty. (line 6) @@ -34186,7 +34214,7 @@ Index (line 12) * FNR variable: Records. (line 6) * FNR variable <1>: Auto-set. (line 118) -* FNR variable, changing: Auto-set. (line 377) +* FNR variable, changing: Auto-set. (line 390) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) * fork() extension function: Extension Sample Fork. @@ -34366,13 +34394,13 @@ Index * gawk, regular expressions, precedence: Regexp Operators. (line 161) * gawk, RT variable in: awk split records. (line 124) * gawk, RT variable in <1>: Multiple Line. (line 130) -* gawk, RT variable in <2>: Auto-set. (line 315) +* gawk, RT variable in <2>: Auto-set. (line 328) * gawk, See Also awk: Preface. (line 34) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Testing field creation. (line 6) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 319) +* gawk, SYMTAB array in: Auto-set. (line 332) * gawk, TEXTDOMAIN variable in: User-modified. (line 155) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 34) @@ -34422,7 +34450,7 @@ Index * getline from a file: Getline/File. (line 6) * getline into a variable: Getline/Variable. (line 6) * getline statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE. - (line 53) + (line 54) * getlocaltime() user-defined function: Getlocaltime Function. (line 16) * getopt() function (C library): Getopt Function. (line 15) @@ -34520,8 +34548,8 @@ Index (line 53) * IGNORECASE variable, with ~ and !~ operators: Case-sensitivity. (line 26) -* Illumos: Other Versions. (line 109) -* Illumos, POSIX-compliant awk: Other Versions. (line 109) +* Illumos: Other Versions. (line 114) +* Illumos, POSIX-compliant awk: Other Versions. (line 114) * implementation issues, gawk: Notes. (line 6) * implementation issues, gawk, debugging: Compatibility Mode. (line 6) * implementation issues, gawk, limits: Getline Notes. (line 14) @@ -34611,9 +34639,9 @@ Index * Jacobs, Andrew: Passwd Functions. (line 90) * Jaegermann, Michal: Acknowledgments. (line 60) * Jaegermann, Michal <1>: Contributors. (line 46) -* Java implementation of awk: Other Versions. (line 117) +* Java implementation of awk: Other Versions. (line 122) * Java programming language: Glossary. (line 468) -* jawk: Other Versions. (line 117) +* jawk: Other Versions. (line 122) * Jedi knights: Undocumented. (line 6) * Johansen, Chris: Signature Program. (line 25) * join() user-defined function: Join Function. (line 18) @@ -34665,7 +34693,7 @@ Index * length of string: String Functions. (line 170) * Lesser General Public License (LGPL): Glossary. (line 491) * LGPL (Lesser General Public License): Glossary. (line 491) -* libmawk: Other Versions. (line 125) +* libmawk: Other Versions. (line 130) * libraries of awk functions: Library Functions. (line 6) * libraries of awk functions, assertions: Assert Function. (line 6) * libraries of awk functions, associative arrays and: Library Names. @@ -34820,7 +34848,7 @@ Index * next statement <1>: Next Statement. (line 6) * next statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 36) * next statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE. - (line 49) + (line 50) * next statement, user-defined functions and: Next Statement. (line 44) * nextfile statement: Nextfile Statement. (line 6) * nextfile statement, BEGIN/END patterns and: I/O And BEGIN/END. @@ -34842,7 +34870,7 @@ Index * not Boolean-logic operator: Boolean Ops. (line 6) * NR variable: Records. (line 6) * NR variable <1>: Auto-set. (line 143) -* NR variable, changing: Auto-set. (line 377) +* NR variable, changing: Auto-set. (line 390) * null strings: awk split records. (line 114) * null strings <1>: Regexp Field Splitting. (line 43) @@ -34888,7 +34916,7 @@ Index * OFS variable <1>: Output Separators. (line 6) * OFS variable <2>: User-modified. (line 116) * OpenBSD: Glossary. (line 748) -* OpenSolaris: Other Versions. (line 100) +* OpenSolaris: Other Versions. (line 105) * operating systems, BSD-based: Manual History. (line 28) * operating systems, PC, gawk on: PC Using. (line 6) * operating systems, PC, gawk on, installing: PC Installation. @@ -34978,8 +35006,8 @@ Index * patterns, regexp constants as: Expression Patterns. (line 34) * patterns, types of: Pattern Overview. (line 15) * pawk (profiling version of Brian Kernighan's awk): Other Versions. - (line 82) -* pawk, awk-like facilities for Python: Other Versions. (line 129) + (line 87) +* pawk, awk-like facilities for Python: Other Versions. (line 134) * PC operating systems, gawk on: PC Using. (line 6) * PC operating systems, gawk on, installing: PC Installation. (line 6) * percent sign (%), % operator: Precedence. (line 54) @@ -35174,13 +35202,13 @@ Index * pwcat program: Passwd Functions. (line 23) * q debugger command (alias for quit): Miscellaneous Debugger Commands. (line 102) -* QSE awk: Other Versions. (line 135) +* QSE awk: Other Versions. (line 140) * Quanstrom, Erik: Alarm Program. (line 8) * question mark (?), ?: operator: Precedence. (line 91) * question mark (?), regexp operator: Regexp Operators. (line 111) * question mark (?), regexp operator <1>: GNU Regexp Operators. (line 62) -* QuikTrim Awk: Other Versions. (line 139) +* QuikTrim Awk: Other Versions. (line 144) * quit debugger command: Miscellaneous Debugger Commands. (line 102) * QUIT signal (MS-Windows): Profiling. (line 212) @@ -35308,7 +35336,7 @@ Index * right shift: Bitwise Functions. (line 54) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 54) -* RLENGTH variable: Auto-set. (line 302) +* RLENGTH variable: Auto-set. (line 315) * RLENGTH variable, match() function and: String Functions. (line 227) * Robbins, Arnold: Command Line Field Separator. (line 71) @@ -35334,11 +35362,11 @@ Index * RS variable <1>: User-modified. (line 136) * RS variable, multiline records and: Multiple Line. (line 17) * rshift: Bitwise Functions. (line 54) -* RSTART variable: Auto-set. (line 308) +* RSTART variable: Auto-set. (line 321) * RSTART variable, match() function and: String Functions. (line 227) * RT variable: awk split records. (line 124) * RT variable <1>: Multiple Line. (line 130) -* RT variable <2>: Auto-set. (line 315) +* RT variable <2>: Auto-set. (line 328) * Rubin, Paul: History. (line 30) * Rubin, Paul <1>: Contributors. (line 16) * rule, definition of: Getting Started. (line 21) @@ -35356,7 +35384,7 @@ Index * scanning arrays: Scanning an Array. (line 6) * scanning multidimensional arrays: Multiscanning. (line 11) * Schorr, Andrew: Acknowledgments. (line 60) -* Schorr, Andrew <1>: Auto-set. (line 347) +* Schorr, Andrew <1>: Auto-set. (line 360) * Schorr, Andrew <2>: Contributors. (line 136) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -35442,7 +35470,7 @@ Index * sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 126) * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields. (line 14) -* sidebar, Changing NR and FNR: Auto-set. (line 375) +* sidebar, Changing NR and FNR: Auto-set. (line 388) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 164) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -35494,7 +35522,7 @@ Index * sleep utility: Alarm Program. (line 109) * sleep() extension function: Extension Sample Time. (line 22) -* Solaris, POSIX-compliant awk: Other Versions. (line 100) +* Solaris, POSIX-compliant awk: Other Versions. (line 105) * sort array: String Functions. (line 42) * sort array indices: String Functions. (line 42) * sort function, arrays, sorting: Array Sorting Functions. @@ -35503,20 +35531,20 @@ Index * sort utility, coprocesses and: Two-way I/O. (line 66) * sorting characters in different languages: Explaining gettext. (line 94) -* source code, awka: Other Versions. (line 68) +* source code, awka: Other Versions. (line 73) * source code, Brian Kernighan's awk: Other Versions. (line 13) -* source code, BusyBox Awk: Other Versions. (line 92) +* source code, BusyBox Awk: Other Versions. (line 97) * source code, gawk: Gawk Distribution. (line 6) -* source code, Illumos awk: Other Versions. (line 109) -* source code, jawk: Other Versions. (line 117) -* source code, libmawk: Other Versions. (line 125) +* source code, Illumos awk: Other Versions. (line 114) +* source code, jawk: Other Versions. (line 122) +* source code, libmawk: Other Versions. (line 130) * source code, mawk: Other Versions. (line 48) * source code, mixing: Options. (line 117) -* source code, pawk: Other Versions. (line 82) -* source code, pawk (Python version): Other Versions. (line 129) -* source code, QSE awk: Other Versions. (line 135) -* source code, QuikTrim Awk: Other Versions. (line 139) -* source code, Solaris awk: Other Versions. (line 100) +* source code, pawk: Other Versions. (line 87) +* source code, pawk (Python version): Other Versions. (line 134) +* source code, QSE awk: Other Versions. (line 140) +* source code, QuikTrim Awk: Other Versions. (line 144) +* source code, Solaris awk: Other Versions. (line 105) * source files, search path for: Programs Exercises. (line 70) * sparse arrays: Array Intro. (line 76) * Spencer, Henry: Glossary. (line 16) @@ -35604,10 +35632,10 @@ Index * substitute in string: String Functions. (line 89) * substr: String Functions. (line 484) * substring: String Functions. (line 484) -* Sumner, Andrew: Other Versions. (line 68) +* Sumner, Andrew: Other Versions. (line 73) * supplementary groups of gawk process: Auto-set. (line 271) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 319) +* SYMTAB array: Auto-set. (line 332) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 149) * system: I/O Functions. (line 107) @@ -35956,484 +35984,484 @@ Node: Fields with fixed data237747 Node: Splitting By Content239265 Ref: Splitting By Content-Footnote-1242915 Node: Testing field creation243078 -Node: Multiple Line244699 -Ref: Multiple Line-Footnote-1250583 -Node: Getline250762 -Node: Plain Getline253231 -Node: Getline/Variable255872 -Node: Getline/File257023 -Node: Getline/Variable/File258411 -Ref: Getline/Variable/File-Footnote-1260016 -Node: Getline/Pipe260104 -Node: Getline/Variable/Pipe262811 -Node: Getline/Coprocess263946 -Node: Getline/Variable/Coprocess265213 -Node: Getline Notes265955 -Node: Getline Summary268752 -Ref: table-getline-variants269176 -Node: Read Timeout269924 -Ref: Read Timeout-Footnote-1273830 -Node: Retrying Input273888 -Node: Command-line directories275087 -Node: Input Summary275993 -Node: Input Exercises279165 -Node: Printing279893 -Node: Print281727 -Node: Print Examples283184 -Node: Output Separators285964 -Node: OFMT287981 -Node: Printf289337 -Node: Basic Printf290122 -Node: Control Letters291696 -Node: Format Modifiers295684 -Node: Printf Examples301699 -Node: Redirection304185 -Node: Special FD311026 -Ref: Special FD-Footnote-1314194 -Node: Special Files314268 -Node: Other Inherited Files314885 -Node: Special Network315886 -Node: Special Caveats316746 -Node: Close Files And Pipes317695 -Ref: table-close-pipe-return-values324602 -Ref: Close Files And Pipes-Footnote-1325385 -Ref: Close Files And Pipes-Footnote-2325533 -Node: Nonfatal325685 -Node: Output Summary328010 -Node: Output Exercises329232 -Node: Expressions329911 -Node: Values331099 -Node: Constants331777 -Node: Scalar Constants332468 -Ref: Scalar Constants-Footnote-1333332 -Node: Nondecimal-numbers333582 -Node: Regexp Constants336583 -Node: Using Constant Regexps337109 -Node: Standard Regexp Constants337731 -Node: Strong Regexp Constants340919 -Node: Variables343877 -Node: Using Variables344534 -Node: Assignment Options346444 -Node: Conversion348317 -Node: Strings And Numbers348841 -Ref: Strings And Numbers-Footnote-1351904 -Node: Locale influences conversions352013 -Ref: table-locale-affects354771 -Node: All Operators355389 -Node: Arithmetic Ops356018 -Node: Concatenation358524 -Ref: Concatenation-Footnote-1361371 -Node: Assignment Ops361478 -Ref: table-assign-ops366469 -Node: Increment Ops367782 -Node: Truth Values and Conditions371242 -Node: Truth Values372316 -Node: Typing and Comparison373364 -Node: Variable Typing374184 -Ref: Variable Typing-Footnote-1380647 -Ref: Variable Typing-Footnote-2380719 -Node: Comparison Operators380796 -Ref: table-relational-ops381215 -Node: POSIX String Comparison384710 -Ref: POSIX String Comparison-Footnote-1386405 -Ref: POSIX String Comparison-Footnote-2386544 -Node: Boolean Ops386628 -Ref: Boolean Ops-Footnote-1391110 -Node: Conditional Exp391202 -Node: Function Calls392938 -Node: Precedence396815 -Node: Locales400474 -Node: Expressions Summary402106 -Node: Patterns and Actions404679 -Node: Pattern Overview405799 -Node: Regexp Patterns407476 -Node: Expression Patterns408018 -Node: Ranges411799 -Node: BEGIN/END414907 -Node: Using BEGIN/END415668 -Ref: Using BEGIN/END-Footnote-1418404 -Node: I/O And BEGIN/END418510 -Node: BEGINFILE/ENDFILE420824 -Node: Empty423731 -Node: Using Shell Variables424048 -Node: Action Overview426322 -Node: Statements428647 -Node: If Statement430495 -Node: While Statement431990 -Node: Do Statement434018 -Node: For Statement435166 -Node: Switch Statement438324 -Node: Break Statement440710 -Node: Continue Statement442802 -Node: Next Statement444629 -Node: Nextfile Statement447012 -Node: Exit Statement449664 -Node: Built-in Variables452067 -Node: User-modified453200 -Node: Auto-set460967 -Ref: Auto-set-Footnote-1476564 -Ref: Auto-set-Footnote-2476770 -Node: ARGC and ARGV476826 -Node: Pattern Action Summary481039 -Node: Arrays483469 -Node: Array Basics484798 -Node: Array Intro485642 -Ref: figure-array-elements487617 -Ref: Array Intro-Footnote-1490321 -Node: Reference to Elements490449 -Node: Assigning Elements492913 -Node: Array Example493404 -Node: Scanning an Array495163 -Node: Controlling Scanning498185 -Ref: Controlling Scanning-Footnote-1503584 -Node: Numeric Array Subscripts503900 -Node: Uninitialized Subscripts506084 -Node: Delete507703 -Ref: Delete-Footnote-1510455 -Node: Multidimensional510512 -Node: Multiscanning513607 -Node: Arrays of Arrays515198 -Node: Arrays Summary519965 -Node: Functions522058 -Node: Built-in523096 -Node: Calling Built-in524177 -Node: Numeric Functions526173 -Ref: Numeric Functions-Footnote-1530201 -Ref: Numeric Functions-Footnote-2530558 -Ref: Numeric Functions-Footnote-3530606 -Node: String Functions530878 -Ref: String Functions-Footnote-1554536 -Ref: String Functions-Footnote-2554664 -Ref: String Functions-Footnote-3554912 -Node: Gory Details554999 -Ref: table-sub-escapes556790 -Ref: table-sub-proposed558309 -Ref: table-posix-sub559672 -Ref: table-gensub-escapes561213 -Ref: Gory Details-Footnote-1562036 -Node: I/O Functions562190 -Ref: table-system-return-values568772 -Ref: I/O Functions-Footnote-1570752 -Ref: I/O Functions-Footnote-2570900 -Node: Time Functions571020 -Ref: Time Functions-Footnote-1581687 -Ref: Time Functions-Footnote-2581755 -Ref: Time Functions-Footnote-3581913 -Ref: Time Functions-Footnote-4582024 -Ref: Time Functions-Footnote-5582136 -Ref: Time Functions-Footnote-6582363 -Node: Bitwise Functions582629 -Ref: table-bitwise-ops583223 -Ref: Bitwise Functions-Footnote-1589256 -Ref: Bitwise Functions-Footnote-2589429 -Node: Type Functions589620 -Node: I18N Functions592537 -Node: User-defined594188 -Node: Definition Syntax594993 -Ref: Definition Syntax-Footnote-1600680 -Node: Function Example600751 -Ref: Function Example-Footnote-1603673 -Node: Function Caveats603695 -Node: Calling A Function604213 -Node: Variable Scope605171 -Node: Pass By Value/Reference608165 -Node: Return Statement611664 -Node: Dynamic Typing614643 -Node: Indirect Calls615573 -Ref: Indirect Calls-Footnote-1625824 -Node: Functions Summary625952 -Node: Library Functions628657 -Ref: Library Functions-Footnote-1632264 -Ref: Library Functions-Footnote-2632407 -Node: Library Names632578 -Ref: Library Names-Footnote-1636038 -Ref: Library Names-Footnote-2636261 -Node: General Functions636347 -Node: Strtonum Function637450 -Node: Assert Function640472 -Node: Round Function643798 -Node: Cliff Random Function645339 -Node: Ordinal Functions646355 -Ref: Ordinal Functions-Footnote-1649418 -Ref: Ordinal Functions-Footnote-2649670 -Node: Join Function649880 -Ref: Join Function-Footnote-1651650 -Node: Getlocaltime Function651850 -Node: Readfile Function655592 -Node: Shell Quoting657564 -Node: Data File Management658965 -Node: Filetrans Function659597 -Node: Rewind Function663693 -Node: File Checking665603 -Ref: File Checking-Footnote-1666937 -Node: Empty Files667138 -Node: Ignoring Assigns669117 -Node: Getopt Function670667 -Ref: Getopt Function-Footnote-1682136 -Node: Passwd Functions682336 -Ref: Passwd Functions-Footnote-1691175 -Node: Group Functions691263 -Ref: Group Functions-Footnote-1699161 -Node: Walking Arrays699368 -Node: Library Functions Summary702376 -Node: Library Exercises703782 -Node: Sample Programs704247 -Node: Running Examples705017 -Node: Clones705745 -Node: Cut Program706969 -Node: Egrep Program716898 -Ref: Egrep Program-Footnote-1724410 -Node: Id Program724520 -Node: Split Program728200 -Ref: Split Program-Footnote-1731659 -Node: Tee Program731788 -Node: Uniq Program734578 -Node: Wc Program742004 -Ref: Wc Program-Footnote-1746259 -Node: Miscellaneous Programs746353 -Node: Dupword Program747566 -Node: Alarm Program749596 -Node: Translate Program754451 -Ref: Translate Program-Footnote-1759016 -Node: Labels Program759286 -Ref: Labels Program-Footnote-1762637 -Node: Word Sorting762721 -Node: History Sorting766793 -Node: Extract Program768628 -Node: Simple Sed776158 -Node: Igawk Program779232 -Ref: Igawk Program-Footnote-1793563 -Ref: Igawk Program-Footnote-2793765 -Ref: Igawk Program-Footnote-3793887 -Node: Anagram Program794002 -Node: Signature Program797064 -Node: Programs Summary798311 -Node: Programs Exercises799525 -Ref: Programs Exercises-Footnote-1803654 -Node: Advanced Features803745 -Node: Nondecimal Data805735 -Node: Array Sorting807326 -Node: Controlling Array Traversal808026 -Ref: Controlling Array Traversal-Footnote-1816393 -Node: Array Sorting Functions816511 -Ref: Array Sorting Functions-Footnote-1821602 -Node: Two-way I/O821798 -Ref: Two-way I/O-Footnote-1828350 -Ref: Two-way I/O-Footnote-2828537 -Node: TCP/IP Networking828619 -Node: Profiling831737 -Ref: Profiling-Footnote-1840409 -Node: Advanced Features Summary840732 -Node: Internationalization842576 -Node: I18N and L10N844056 -Node: Explaining gettext844743 -Ref: Explaining gettext-Footnote-1850635 -Ref: Explaining gettext-Footnote-2850820 -Node: Programmer i18n850985 -Ref: Programmer i18n-Footnote-1855934 -Node: Translator i18n855983 -Node: String Extraction856777 -Ref: String Extraction-Footnote-1857909 -Node: Printf Ordering857995 -Ref: Printf Ordering-Footnote-1860781 -Node: I18N Portability860845 -Ref: I18N Portability-Footnote-1863301 -Node: I18N Example863364 -Ref: I18N Example-Footnote-1866170 -Node: Gawk I18N866243 -Node: I18N Summary866888 -Node: Debugger868229 -Node: Debugging869252 -Node: Debugging Concepts869693 -Node: Debugging Terms871502 -Node: Awk Debugging874077 -Node: Sample Debugging Session874983 -Node: Debugger Invocation875517 -Node: Finding The Bug876903 -Node: List of Debugger Commands883381 -Node: Breakpoint Control884714 -Node: Debugger Execution Control888408 -Node: Viewing And Changing Data891770 -Node: Execution Stack895144 -Node: Debugger Info896781 -Node: Miscellaneous Debugger Commands900852 -Node: Readline Support905940 -Node: Limitations906836 -Node: Debugging Summary908945 -Node: Arbitrary Precision Arithmetic910224 -Node: Computer Arithmetic911709 -Ref: table-numeric-ranges915300 -Ref: Computer Arithmetic-Footnote-1916022 -Node: Math Definitions916079 -Ref: table-ieee-formats919393 -Ref: Math Definitions-Footnote-1919996 -Node: MPFR features920101 -Node: FP Math Caution921818 -Ref: FP Math Caution-Footnote-1922890 -Node: Inexactness of computations923259 -Node: Inexact representation924219 -Node: Comparing FP Values925579 -Node: Errors accumulate926661 -Node: Getting Accuracy928094 -Node: Try To Round930804 -Node: Setting precision931703 -Ref: table-predefined-precision-strings932400 -Node: Setting the rounding mode934230 -Ref: table-gawk-rounding-modes934604 -Ref: Setting the rounding mode-Footnote-1938012 -Node: Arbitrary Precision Integers938191 -Ref: Arbitrary Precision Integers-Footnote-1941366 -Node: Checking for MPFR941515 -Node: POSIX Floating Point Problems942812 -Ref: POSIX Floating Point Problems-Footnote-1946683 -Node: Floating point summary946721 -Node: Dynamic Extensions948911 -Node: Extension Intro950464 -Node: Plugin License951730 -Node: Extension Mechanism Outline952527 -Ref: figure-load-extension952966 -Ref: figure-register-new-function954531 -Ref: figure-call-new-function955623 -Node: Extension API Description957685 -Node: Extension API Functions Introduction959327 -Node: General Data Types964867 -Ref: General Data Types-Footnote-1972988 -Node: Memory Allocation Functions973287 -Ref: Memory Allocation Functions-Footnote-1977495 -Node: Constructor Functions977594 -Node: Registration Functions981180 -Node: Extension Functions981865 -Node: Exit Callback Functions987080 -Node: Extension Version String988330 -Node: Input Parsers988993 -Node: Output Wrappers1001714 -Node: Two-way processors1006226 -Node: Printing Messages1008491 -Ref: Printing Messages-Footnote-11009662 -Node: Updating ERRNO1009815 -Node: Requesting Values1010554 -Ref: table-value-types-returned1011291 -Node: Accessing Parameters1012227 -Node: Symbol Table Access1013462 -Node: Symbol table by name1013974 -Node: Symbol table by cookie1015763 -Ref: Symbol table by cookie-Footnote-11019948 -Node: Cached values1020012 -Ref: Cached values-Footnote-11023548 -Node: Array Manipulation1023701 -Ref: Array Manipulation-Footnote-11024792 -Node: Array Data Types1024829 -Ref: Array Data Types-Footnote-11027487 -Node: Array Functions1027579 -Node: Flattening Arrays1032077 -Node: Creating Arrays1039053 -Node: Redirection API1043822 -Node: Extension API Variables1046655 -Node: Extension Versioning1047366 -Ref: gawk-api-version1047795 -Node: Extension GMP/MPFR Versioning1049523 -Node: Extension API Informational Variables1051151 -Node: Extension API Boilerplate1052224 -Node: Changes from API V11056198 -Node: Finding Extensions1056858 -Node: Extension Example1057417 -Node: Internal File Description1058215 -Node: Internal File Ops1062295 -Ref: Internal File Ops-Footnote-11073695 -Node: Using Internal File Ops1073835 -Ref: Using Internal File Ops-Footnote-11076218 -Node: Extension Samples1076492 -Node: Extension Sample File Functions1078021 -Node: Extension Sample Fnmatch1085670 -Node: Extension Sample Fork1087157 -Node: Extension Sample Inplace1088375 -Node: Extension Sample Ord1091592 -Node: Extension Sample Readdir1092428 -Ref: table-readdir-file-types1093317 -Node: Extension Sample Revout1094122 -Node: Extension Sample Rev2way1094711 -Node: Extension Sample Read write array1095451 -Node: Extension Sample Readfile1097393 -Node: Extension Sample Time1098488 -Node: Extension Sample API Tests1099836 -Node: gawkextlib1100328 -Node: Extension summary1102779 -Node: Extension Exercises1106481 -Node: Language History1107979 -Node: V7/SVR3.11109635 -Node: SVR41111787 -Node: POSIX1113221 -Node: BTL1114600 -Node: POSIX/GNU1115329 -Node: Feature History1121107 -Node: Common Extensions1136966 -Node: Ranges and Locales1138249 -Ref: Ranges and Locales-Footnote-11142865 -Ref: Ranges and Locales-Footnote-21142892 -Ref: Ranges and Locales-Footnote-31143127 -Node: Contributors1143348 -Node: History summary1149293 -Node: Installation1150673 -Node: Gawk Distribution1151617 -Node: Getting1152101 -Node: Extracting1153064 -Node: Distribution contents1154702 -Node: Unix Installation1161182 -Node: Quick Installation1161864 -Node: Shell Startup Files1164278 -Node: Additional Configuration Options1165367 -Node: Configuration Philosophy1167356 -Node: Non-Unix Installation1169725 -Node: PC Installation1170185 -Node: PC Binary Installation1171023 -Node: PC Compiling1171458 -Node: PC Using1172575 -Node: Cygwin1175620 -Node: MSYS1176390 -Node: VMS Installation1176891 -Node: VMS Compilation1177682 -Ref: VMS Compilation-Footnote-11178911 -Node: VMS Dynamic Extensions1178969 -Node: VMS Installation Details1180654 -Node: VMS Running1182907 -Node: VMS GNV1187186 -Node: VMS Old Gawk1187921 -Node: Bugs1188392 -Node: Bug address1189055 -Node: Usenet1191452 -Node: Maintainers1192229 -Node: Other Versions1193490 -Node: Installation summary1200074 -Node: Notes1201276 -Node: Compatibility Mode1202141 -Node: Additions1202923 -Node: Accessing The Source1203848 -Node: Adding Code1205284 -Node: New Ports1211503 -Node: Derived Files1215991 -Ref: Derived Files-Footnote-11221637 -Ref: Derived Files-Footnote-21221672 -Ref: Derived Files-Footnote-31222270 -Node: Future Extensions1222384 -Node: Implementation Limitations1223042 -Node: Extension Design1224225 -Node: Old Extension Problems1225379 -Ref: Old Extension Problems-Footnote-11226897 -Node: Extension New Mechanism Goals1226954 -Ref: Extension New Mechanism Goals-Footnote-11230318 -Node: Extension Other Design Decisions1230507 -Node: Extension Future Growth1232620 -Node: Old Extension Mechanism1233456 -Node: Notes summary1235219 -Node: Basic Concepts1236401 -Node: Basic High Level1237082 -Ref: figure-general-flow1237364 -Ref: figure-process-flow1238049 -Ref: Basic High Level-Footnote-11241350 -Node: Basic Data Typing1241535 -Node: Glossary1244863 -Node: Copying1276810 -Node: GNU Free Documentation License1314349 -Node: Index1339467 +Node: Multiple Line244703 +Ref: Multiple Line-Footnote-1250587 +Node: Getline250766 +Node: Plain Getline253235 +Node: Getline/Variable255876 +Node: Getline/File257027 +Node: Getline/Variable/File258415 +Ref: Getline/Variable/File-Footnote-1260020 +Node: Getline/Pipe260108 +Node: Getline/Variable/Pipe262815 +Node: Getline/Coprocess263950 +Node: Getline/Variable/Coprocess265217 +Node: Getline Notes265959 +Node: Getline Summary268756 +Ref: table-getline-variants269180 +Node: Read Timeout269928 +Ref: Read Timeout-Footnote-1273834 +Node: Retrying Input273892 +Node: Command-line directories275091 +Node: Input Summary275997 +Node: Input Exercises279169 +Node: Printing279897 +Node: Print281731 +Node: Print Examples283188 +Node: Output Separators285968 +Node: OFMT287985 +Node: Printf289341 +Node: Basic Printf290126 +Node: Control Letters291700 +Node: Format Modifiers295688 +Node: Printf Examples301703 +Node: Redirection304189 +Node: Special FD311030 +Ref: Special FD-Footnote-1314198 +Node: Special Files314272 +Node: Other Inherited Files314889 +Node: Special Network315890 +Node: Special Caveats316750 +Node: Close Files And Pipes317699 +Ref: table-close-pipe-return-values324606 +Ref: Close Files And Pipes-Footnote-1325389 +Ref: Close Files And Pipes-Footnote-2325537 +Node: Nonfatal325689 +Node: Output Summary328014 +Node: Output Exercises329236 +Node: Expressions329915 +Node: Values331103 +Node: Constants331781 +Node: Scalar Constants332472 +Ref: Scalar Constants-Footnote-1333336 +Node: Nondecimal-numbers333586 +Node: Regexp Constants336587 +Node: Using Constant Regexps337113 +Node: Standard Regexp Constants337735 +Node: Strong Regexp Constants340923 +Node: Variables343881 +Node: Using Variables344538 +Node: Assignment Options346448 +Node: Conversion348321 +Node: Strings And Numbers348845 +Ref: Strings And Numbers-Footnote-1351908 +Node: Locale influences conversions352017 +Ref: table-locale-affects354775 +Node: All Operators355393 +Node: Arithmetic Ops356022 +Node: Concatenation358528 +Ref: Concatenation-Footnote-1361375 +Node: Assignment Ops361482 +Ref: table-assign-ops366473 +Node: Increment Ops367786 +Node: Truth Values and Conditions371246 +Node: Truth Values372320 +Node: Typing and Comparison373368 +Node: Variable Typing374188 +Ref: Variable Typing-Footnote-1380651 +Ref: Variable Typing-Footnote-2380723 +Node: Comparison Operators380800 +Ref: table-relational-ops381219 +Node: POSIX String Comparison384714 +Ref: POSIX String Comparison-Footnote-1386409 +Ref: POSIX String Comparison-Footnote-2386548 +Node: Boolean Ops386632 +Ref: Boolean Ops-Footnote-1391114 +Node: Conditional Exp391206 +Node: Function Calls392942 +Node: Precedence396819 +Node: Locales400478 +Node: Expressions Summary402110 +Node: Patterns and Actions404683 +Node: Pattern Overview405803 +Node: Regexp Patterns407480 +Node: Expression Patterns408022 +Node: Ranges411803 +Node: BEGIN/END414911 +Node: Using BEGIN/END415672 +Ref: Using BEGIN/END-Footnote-1418408 +Node: I/O And BEGIN/END418514 +Node: BEGINFILE/ENDFILE420828 +Node: Empty423741 +Node: Using Shell Variables424058 +Node: Action Overview426332 +Node: Statements428657 +Node: If Statement430505 +Node: While Statement432000 +Node: Do Statement434028 +Node: For Statement435176 +Node: Switch Statement438334 +Node: Break Statement440720 +Node: Continue Statement442812 +Node: Next Statement444639 +Node: Nextfile Statement447022 +Node: Exit Statement449674 +Node: Built-in Variables452077 +Node: User-modified453210 +Node: Auto-set460977 +Ref: Auto-set-Footnote-1477314 +Ref: Auto-set-Footnote-2477520 +Node: ARGC and ARGV477576 +Node: Pattern Action Summary481789 +Node: Arrays484219 +Node: Array Basics485548 +Node: Array Intro486392 +Ref: figure-array-elements488367 +Ref: Array Intro-Footnote-1491071 +Node: Reference to Elements491199 +Node: Assigning Elements493663 +Node: Array Example494154 +Node: Scanning an Array495913 +Node: Controlling Scanning498935 +Ref: Controlling Scanning-Footnote-1504334 +Node: Numeric Array Subscripts504650 +Node: Uninitialized Subscripts506834 +Node: Delete508453 +Ref: Delete-Footnote-1511205 +Node: Multidimensional511262 +Node: Multiscanning514357 +Node: Arrays of Arrays515948 +Node: Arrays Summary520715 +Node: Functions522808 +Node: Built-in523846 +Node: Calling Built-in524927 +Node: Numeric Functions526923 +Ref: Numeric Functions-Footnote-1530951 +Ref: Numeric Functions-Footnote-2531308 +Ref: Numeric Functions-Footnote-3531356 +Node: String Functions531628 +Ref: String Functions-Footnote-1555286 +Ref: String Functions-Footnote-2555414 +Ref: String Functions-Footnote-3555662 +Node: Gory Details555749 +Ref: table-sub-escapes557540 +Ref: table-sub-proposed559059 +Ref: table-posix-sub560422 +Ref: table-gensub-escapes561963 +Ref: Gory Details-Footnote-1562786 +Node: I/O Functions562940 +Ref: table-system-return-values569522 +Ref: I/O Functions-Footnote-1571502 +Ref: I/O Functions-Footnote-2571650 +Node: Time Functions571770 +Ref: Time Functions-Footnote-1582441 +Ref: Time Functions-Footnote-2582509 +Ref: Time Functions-Footnote-3582667 +Ref: Time Functions-Footnote-4582778 +Ref: Time Functions-Footnote-5582890 +Ref: Time Functions-Footnote-6583117 +Node: Bitwise Functions583383 +Ref: table-bitwise-ops583977 +Ref: Bitwise Functions-Footnote-1590010 +Ref: Bitwise Functions-Footnote-2590183 +Node: Type Functions590374 +Node: I18N Functions593291 +Node: User-defined594942 +Node: Definition Syntax595747 +Ref: Definition Syntax-Footnote-1601434 +Node: Function Example601505 +Ref: Function Example-Footnote-1604427 +Node: Function Caveats604449 +Node: Calling A Function604967 +Node: Variable Scope605925 +Node: Pass By Value/Reference608919 +Node: Return Statement612418 +Node: Dynamic Typing615397 +Node: Indirect Calls616327 +Ref: Indirect Calls-Footnote-1626579 +Node: Functions Summary626707 +Node: Library Functions629412 +Ref: Library Functions-Footnote-1633019 +Ref: Library Functions-Footnote-2633162 +Node: Library Names633333 +Ref: Library Names-Footnote-1636793 +Ref: Library Names-Footnote-2637016 +Node: General Functions637102 +Node: Strtonum Function638205 +Node: Assert Function641227 +Node: Round Function644553 +Node: Cliff Random Function646094 +Node: Ordinal Functions647110 +Ref: Ordinal Functions-Footnote-1650173 +Ref: Ordinal Functions-Footnote-2650425 +Node: Join Function650635 +Ref: Join Function-Footnote-1652405 +Node: Getlocaltime Function652605 +Node: Readfile Function656347 +Node: Shell Quoting658319 +Node: Data File Management659720 +Node: Filetrans Function660352 +Node: Rewind Function664448 +Node: File Checking666358 +Ref: File Checking-Footnote-1667692 +Node: Empty Files667893 +Node: Ignoring Assigns669872 +Node: Getopt Function671422 +Ref: Getopt Function-Footnote-1682891 +Node: Passwd Functions683091 +Ref: Passwd Functions-Footnote-1691930 +Node: Group Functions692018 +Ref: Group Functions-Footnote-1699916 +Node: Walking Arrays700123 +Node: Library Functions Summary703131 +Node: Library Exercises704537 +Node: Sample Programs705002 +Node: Running Examples705772 +Node: Clones706500 +Node: Cut Program707724 +Node: Egrep Program717653 +Ref: Egrep Program-Footnote-1725165 +Node: Id Program725275 +Node: Split Program728955 +Ref: Split Program-Footnote-1732414 +Node: Tee Program732543 +Node: Uniq Program735333 +Node: Wc Program742759 +Ref: Wc Program-Footnote-1747014 +Node: Miscellaneous Programs747108 +Node: Dupword Program748321 +Node: Alarm Program750351 +Node: Translate Program755206 +Ref: Translate Program-Footnote-1759771 +Node: Labels Program760041 +Ref: Labels Program-Footnote-1763392 +Node: Word Sorting763476 +Node: History Sorting767548 +Node: Extract Program769383 +Node: Simple Sed776913 +Node: Igawk Program779987 +Ref: Igawk Program-Footnote-1794318 +Ref: Igawk Program-Footnote-2794520 +Ref: Igawk Program-Footnote-3794642 +Node: Anagram Program794757 +Node: Signature Program797819 +Node: Programs Summary799066 +Node: Programs Exercises800280 +Ref: Programs Exercises-Footnote-1804409 +Node: Advanced Features804500 +Node: Nondecimal Data806490 +Node: Array Sorting808081 +Node: Controlling Array Traversal808781 +Ref: Controlling Array Traversal-Footnote-1817148 +Node: Array Sorting Functions817266 +Ref: Array Sorting Functions-Footnote-1822357 +Node: Two-way I/O822553 +Ref: Two-way I/O-Footnote-1829105 +Ref: Two-way I/O-Footnote-2829292 +Node: TCP/IP Networking829374 +Node: Profiling832492 +Ref: Profiling-Footnote-1841164 +Node: Advanced Features Summary841487 +Node: Internationalization843331 +Node: I18N and L10N844811 +Node: Explaining gettext845498 +Ref: Explaining gettext-Footnote-1851390 +Ref: Explaining gettext-Footnote-2851575 +Node: Programmer i18n851740 +Ref: Programmer i18n-Footnote-1856689 +Node: Translator i18n856738 +Node: String Extraction857532 +Ref: String Extraction-Footnote-1858664 +Node: Printf Ordering858750 +Ref: Printf Ordering-Footnote-1861536 +Node: I18N Portability861600 +Ref: I18N Portability-Footnote-1864056 +Node: I18N Example864119 +Ref: I18N Example-Footnote-1866925 +Node: Gawk I18N866998 +Node: I18N Summary867643 +Node: Debugger868984 +Node: Debugging870007 +Node: Debugging Concepts870448 +Node: Debugging Terms872257 +Node: Awk Debugging874832 +Node: Sample Debugging Session875738 +Node: Debugger Invocation876272 +Node: Finding The Bug877658 +Node: List of Debugger Commands884136 +Node: Breakpoint Control885469 +Node: Debugger Execution Control889163 +Node: Viewing And Changing Data892525 +Node: Execution Stack895899 +Node: Debugger Info897536 +Node: Miscellaneous Debugger Commands901607 +Node: Readline Support906695 +Node: Limitations907591 +Node: Debugging Summary909700 +Node: Arbitrary Precision Arithmetic910979 +Node: Computer Arithmetic912464 +Ref: table-numeric-ranges916055 +Ref: Computer Arithmetic-Footnote-1916777 +Node: Math Definitions916834 +Ref: table-ieee-formats920150 +Ref: Math Definitions-Footnote-1920753 +Node: MPFR features920858 +Node: FP Math Caution922576 +Ref: FP Math Caution-Footnote-1923648 +Node: Inexactness of computations924017 +Node: Inexact representation924977 +Node: Comparing FP Values926337 +Node: Errors accumulate927419 +Node: Getting Accuracy928852 +Node: Try To Round931562 +Node: Setting precision932461 +Ref: table-predefined-precision-strings933158 +Node: Setting the rounding mode934988 +Ref: table-gawk-rounding-modes935362 +Ref: Setting the rounding mode-Footnote-1938770 +Node: Arbitrary Precision Integers938949 +Ref: Arbitrary Precision Integers-Footnote-1942124 +Node: Checking for MPFR942273 +Node: POSIX Floating Point Problems943570 +Ref: POSIX Floating Point Problems-Footnote-1947441 +Node: Floating point summary947479 +Node: Dynamic Extensions949669 +Node: Extension Intro951222 +Node: Plugin License952488 +Node: Extension Mechanism Outline953285 +Ref: figure-load-extension953724 +Ref: figure-register-new-function955289 +Ref: figure-call-new-function956381 +Node: Extension API Description958443 +Node: Extension API Functions Introduction960085 +Node: General Data Types965625 +Ref: General Data Types-Footnote-1973746 +Node: Memory Allocation Functions974045 +Ref: Memory Allocation Functions-Footnote-1978253 +Node: Constructor Functions978352 +Node: Registration Functions981938 +Node: Extension Functions982623 +Node: Exit Callback Functions987838 +Node: Extension Version String989088 +Node: Input Parsers989751 +Node: Output Wrappers1002472 +Node: Two-way processors1006984 +Node: Printing Messages1009249 +Ref: Printing Messages-Footnote-11010420 +Node: Updating ERRNO1010573 +Node: Requesting Values1011312 +Ref: table-value-types-returned1012049 +Node: Accessing Parameters1012985 +Node: Symbol Table Access1014220 +Node: Symbol table by name1014732 +Node: Symbol table by cookie1016521 +Ref: Symbol table by cookie-Footnote-11020706 +Node: Cached values1020770 +Ref: Cached values-Footnote-11024306 +Node: Array Manipulation1024459 +Ref: Array Manipulation-Footnote-11025550 +Node: Array Data Types1025587 +Ref: Array Data Types-Footnote-11028245 +Node: Array Functions1028337 +Node: Flattening Arrays1032835 +Node: Creating Arrays1039811 +Node: Redirection API1044580 +Node: Extension API Variables1047413 +Node: Extension Versioning1048124 +Ref: gawk-api-version1048553 +Node: Extension GMP/MPFR Versioning1050281 +Node: Extension API Informational Variables1051909 +Node: Extension API Boilerplate1052982 +Node: Changes from API V11056956 +Node: Finding Extensions1057616 +Node: Extension Example1058175 +Node: Internal File Description1058973 +Node: Internal File Ops1063053 +Ref: Internal File Ops-Footnote-11074453 +Node: Using Internal File Ops1074593 +Ref: Using Internal File Ops-Footnote-11076976 +Node: Extension Samples1077250 +Node: Extension Sample File Functions1078779 +Node: Extension Sample Fnmatch1086428 +Node: Extension Sample Fork1087915 +Node: Extension Sample Inplace1089133 +Node: Extension Sample Ord1092350 +Node: Extension Sample Readdir1093186 +Ref: table-readdir-file-types1094075 +Node: Extension Sample Revout1094880 +Node: Extension Sample Rev2way1095469 +Node: Extension Sample Read write array1096209 +Node: Extension Sample Readfile1098151 +Node: Extension Sample Time1099246 +Node: Extension Sample API Tests1100594 +Node: gawkextlib1101086 +Node: Extension summary1103542 +Node: Extension Exercises1107244 +Node: Language History1108742 +Node: V7/SVR3.11110398 +Node: SVR41112550 +Node: POSIX1113984 +Node: BTL1115364 +Node: POSIX/GNU1116093 +Node: Feature History1121871 +Node: Common Extensions1137730 +Node: Ranges and Locales1139013 +Ref: Ranges and Locales-Footnote-11143629 +Ref: Ranges and Locales-Footnote-21143656 +Ref: Ranges and Locales-Footnote-31143891 +Node: Contributors1144112 +Node: History summary1150057 +Node: Installation1151437 +Node: Gawk Distribution1152381 +Node: Getting1152865 +Node: Extracting1153828 +Node: Distribution contents1155466 +Node: Unix Installation1161946 +Node: Quick Installation1162628 +Node: Shell Startup Files1165042 +Node: Additional Configuration Options1166131 +Node: Configuration Philosophy1168120 +Node: Non-Unix Installation1170489 +Node: PC Installation1170949 +Node: PC Binary Installation1171787 +Node: PC Compiling1172222 +Node: PC Using1173339 +Node: Cygwin1176384 +Node: MSYS1177154 +Node: VMS Installation1177655 +Node: VMS Compilation1178446 +Ref: VMS Compilation-Footnote-11179675 +Node: VMS Dynamic Extensions1179733 +Node: VMS Installation Details1181418 +Node: VMS Running1183671 +Node: VMS GNV1187950 +Node: VMS Old Gawk1188685 +Node: Bugs1189156 +Node: Bug address1189819 +Node: Usenet1192611 +Node: Maintainers1193388 +Node: Other Versions1194649 +Node: Installation summary1201444 +Node: Notes1202646 +Node: Compatibility Mode1203511 +Node: Additions1204293 +Node: Accessing The Source1205218 +Node: Adding Code1206655 +Node: New Ports1212874 +Node: Derived Files1217362 +Ref: Derived Files-Footnote-11223008 +Ref: Derived Files-Footnote-21223043 +Ref: Derived Files-Footnote-31223641 +Node: Future Extensions1223755 +Node: Implementation Limitations1224413 +Node: Extension Design1225596 +Node: Old Extension Problems1226750 +Ref: Old Extension Problems-Footnote-11228268 +Node: Extension New Mechanism Goals1228325 +Ref: Extension New Mechanism Goals-Footnote-11231689 +Node: Extension Other Design Decisions1231878 +Node: Extension Future Growth1233991 +Node: Old Extension Mechanism1234827 +Node: Notes summary1236590 +Node: Basic Concepts1237772 +Node: Basic High Level1238453 +Ref: figure-general-flow1238735 +Ref: figure-process-flow1239420 +Ref: Basic High Level-Footnote-11242721 +Node: Basic Data Typing1242906 +Node: Glossary1246234 +Node: Copying1278184 +Node: GNU Free Documentation License1315723 +Node: Index1340841 End Tag Table |