diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-11-23 20:02:53 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-11-23 20:02:53 +0200 |
commit | 723446ecab4a6c88ff129d61e360f70bf17a718b (patch) | |
tree | d266d2756c369448a855c567ff55846511dd63fc | |
parent | 0b07960513cbb8aa76b6f301b23cf73b5b2019c7 (diff) | |
download | egawk-723446ecab4a6c88ff129d61e360f70bf17a718b.tar.gz egawk-723446ecab4a6c88ff129d61e360f70bf17a718b.tar.bz2 egawk-723446ecab4a6c88ff129d61e360f70bf17a718b.zip |
Update doc on environment vars.
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 804 | ||||
-rw-r--r-- | doc/gawk.texi | 6 | ||||
-rw-r--r-- | doc/gawktexi.in | 6 |
5 files changed, 424 insertions, 400 deletions
@@ -9,7 +9,8 @@ Changes from 4.1.x to 4.2.0 1. If not in POSIX mode, changes to ENVIRON are reflected into gawk's environment, affecting any programs run by system() - or for piped redirections. + or for piped redirections. This can also affect built-in routines, such + as mktime(), which is typically influenced by the TZ environment variable. 2. The series of numbers returned by rand() should now be "more random" than previously. Gawk's rand() remains repeatable; you will diff --git a/doc/ChangeLog b/doc/ChangeLog index 837d76bd..fea9d17a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-23 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Update that TZ env. var can influnce mktime + in running program. Thanks to Hermann Peifer. + 2014-11-19 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Update that RFC 4180 documents CSV data. diff --git a/doc/gawk.info b/doc/gawk.info index 56f945f5..6ffc5dc1 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -10328,6 +10328,12 @@ Options::), they are not special: `ENVIRON["PATH"]"', which is the search path for finding executable programs. + This can also affect the running `gawk' program, since some of the + built-in functions may pay attention to certain environment + variables. The most notable instance of this is `mktime()' (*note + Time Functions::), which pays attention the value of the `TZ' + environment variable on many systems. + Some operating systems may not have environment variables. On such systems, the `ENVIRON' array is empty (except for `ENVIRON["AWKPATH"]' and `ENVIRON["AWKLIBPATH"]'; *note AWKPATH @@ -32230,9 +32236,9 @@ Index (line 143) * dark corner, exit statement: Exit Statement. (line 30) * dark corner, field separators: Full Line Fields. (line 22) -* dark corner, FILENAME variable <1>: Auto-set. (line 98) +* dark corner, FILENAME variable <1>: Auto-set. (line 104) * dark corner, FILENAME variable: Getline Notes. (line 19) -* dark corner, FNR/NR variables: Auto-set. (line 322) +* dark corner, FNR/NR variables: Auto-set. (line 328) * dark corner, format-control characters: Control Letters. (line 18) * dark corner, FS as null string: Single Character Fields. (line 20) @@ -32421,12 +32427,12 @@ Index (line 81) * differences in awk and gawk, command-line directories: Command-line directories. (line 6) -* differences in awk and gawk, ERRNO variable: Auto-set. (line 82) +* differences in awk and gawk, ERRNO variable: Auto-set. (line 88) * differences in awk and gawk, error messages: Special FD. (line 19) * differences in awk and gawk, FIELDWIDTHS variable: User-modified. (line 37) * differences in awk and gawk, FPAT variable: User-modified. (line 43) -* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 124) +* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 130) * differences in awk and gawk, function arguments (gawk): Calling Built-in. (line 16) * differences in awk and gawk, getline command: Getline. (line 19) @@ -32449,7 +32455,7 @@ Index (line 263) * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) -* differences in awk and gawk, PROCINFO array: Auto-set. (line 138) +* differences in awk and gawk, PROCINFO array: Auto-set. (line 144) * differences in awk and gawk, read timeouts: Read Timeout. (line 6) * differences in awk and gawk, record separators: awk split records. (line 125) @@ -32459,7 +32465,7 @@ Index (line 26) * differences in awk and gawk, RS/RT variables: gawk split records. (line 58) -* differences in awk and gawk, RT variable: Auto-set. (line 273) +* differences in awk and gawk, RT variable: Auto-set. (line 279) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -32467,7 +32473,7 @@ Index * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: gawk split records. (line 77) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 277) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 283) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 151) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -32508,8 +32514,8 @@ Index * dynamically loaded extensions: Dynamic Extensions. (line 6) * e debugger command (alias for enable): Breakpoint Control. (line 73) * EBCDIC: Ordinal Functions. (line 45) -* effective group ID of gawk user: Auto-set. (line 143) -* effective user ID of gawk user: Auto-set. (line 147) +* effective group ID of gawk user: Auto-set. (line 149) +* effective user ID of gawk user: Auto-set. (line 153) * egrep utility <1>: Egrep Program. (line 6) * egrep utility: Bracket Expressions. (line 26) * egrep.awk program: Egrep Program. (line 54) @@ -32564,13 +32570,13 @@ Index (line 11) * EREs (Extended Regular Expressions): Bracket Expressions. (line 26) * ERRNO variable <1>: TCP/IP Networking. (line 54) -* ERRNO variable: Auto-set. (line 82) +* ERRNO variable: Auto-set. (line 88) * ERRNO variable, with BEGINFILE pattern: BEGINFILE/ENDFILE. (line 26) * ERRNO variable, with close() function: Close Files And Pipes. (line 141) * ERRNO variable, with getline command: Getline. (line 19) * error handling: Special FD. (line 19) -* error handling, ERRNO variable and: Auto-set. (line 82) +* error handling, ERRNO variable and: Auto-set. (line 88) * error output: Special FD. (line 6) * escape processing, gsub()/gensub()/sub() functions: Gory Details. (line 6) @@ -32624,7 +32630,7 @@ Index (line 6) * extension API version: Extension Versioning. (line 6) -* extension API, version number: Auto-set. (line 240) +* extension API, version number: Auto-set. (line 246) * extension example: Extension Example. (line 6) * extension registration: Registration Functions. (line 6) @@ -32705,7 +32711,7 @@ Index * file names, distinguishing: Auto-set. (line 56) * file names, in compatibility mode: Special Caveats. (line 9) * file names, standard streams in gawk: Special FD. (line 48) -* FILENAME variable <1>: Auto-set. (line 98) +* FILENAME variable <1>: Auto-set. (line 104) * FILENAME variable: Reading Files. (line 6) * FILENAME variable, getline, setting with: Getline Notes. (line 19) * filenames, assignments as: Ignoring Assigns. (line 6) @@ -32773,9 +32779,9 @@ Index * flush buffered output: I/O Functions. (line 28) * fnmatch() extension function: Extension Sample Fnmatch. (line 12) -* FNR variable <1>: Auto-set. (line 108) +* FNR variable <1>: Auto-set. (line 114) * FNR variable: Records. (line 6) -* FNR variable, changing: Auto-set. (line 322) +* FNR variable, changing: Auto-set. (line 328) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) * fork() extension function: Extension Sample Fork. @@ -32825,7 +32831,7 @@ Index * FSF (Free Software Foundation): Manual History. (line 6) * fts() extension function: Extension Sample File Functions. (line 61) -* FUNCTAB array: Auto-set. (line 124) +* FUNCTAB array: Auto-set. (line 130) * function calls: Function Calls. (line 6) * function calls, indirect: Indirect Calls. (line 6) * function calls, indirect, @-notation for: Indirect Calls. (line 47) @@ -32875,7 +32881,7 @@ Index * G-d: Acknowledgments. (line 94) * Garfinkle, Scott: Contributors. (line 34) * gawk program, dynamic profiling: Profiling. (line 178) -* gawk version: Auto-set. (line 215) +* gawk version: Auto-set. (line 221) * gawk, ARGIND variable in: Other Arguments. (line 15) * gawk, awk and <1>: This Manual. (line 14) * gawk, awk and: Preface. (line 21) @@ -32893,7 +32899,7 @@ Index * gawk, distribution: Distribution contents. (line 6) * gawk, ERRNO variable in <1>: TCP/IP Networking. (line 54) -* gawk, ERRNO variable in <2>: Auto-set. (line 82) +* gawk, ERRNO variable in <2>: Auto-set. (line 88) * gawk, ERRNO variable in <3>: BEGINFILE/ENDFILE. (line 26) * gawk, ERRNO variable in <4>: Close Files And Pipes. (line 141) @@ -32910,7 +32916,7 @@ Index * gawk, FPAT variable in <1>: User-modified. (line 43) * gawk, FPAT variable in: Splitting By Content. (line 25) -* gawk, FUNCTAB array in: Auto-set. (line 124) +* gawk, FUNCTAB array in: Auto-set. (line 130) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) * gawk, IGNORECASE variable in <1>: Array Sorting Functions. @@ -32942,7 +32948,7 @@ Index * gawk, predefined variables and: Built-in Variables. (line 14) * gawk, PROCINFO array in <1>: Two-way I/O. (line 99) * gawk, PROCINFO array in <2>: Time Functions. (line 47) -* gawk, PROCINFO array in: Auto-set. (line 138) +* gawk, PROCINFO array in: Auto-set. (line 144) * gawk, regexp constants and: Using Constant Regexps. (line 28) * gawk, regular expressions, case sensitivity: Case-sensitivity. @@ -32950,14 +32956,14 @@ Index * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) * gawk, regular expressions, precedence: Regexp Operators. (line 161) -* gawk, RT variable in <1>: Auto-set. (line 273) +* gawk, RT variable in <1>: Auto-set. (line 279) * gawk, RT variable in <2>: Multiple Line. (line 129) * gawk, RT variable in: awk split records. (line 125) * gawk, See Also awk: Preface. (line 34) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 277) +* gawk, SYMTAB array in: Auto-set. (line 283) * gawk, TEXTDOMAIN variable in: User-modified. (line 151) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 34) @@ -33049,7 +33055,7 @@ Index * Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) -* group ID of gawk user: Auto-set. (line 188) +* group ID of gawk user: Auto-set. (line 194) * groups, information about: Group Functions. (line 6) * gsub <1>: String Functions. (line 140) * gsub: Using Constant Regexps. @@ -33344,7 +33350,7 @@ Index * mawk utility <3>: Concatenation. (line 36) * mawk utility <4>: Getline/Pipe. (line 62) * mawk utility: Escape Sequences. (line 120) -* maximum precision supported by MPFR library: Auto-set. (line 229) +* maximum precision supported by MPFR library: Auto-set. (line 235) * McIlroy, Doug: Glossary. (line 149) * McPhee, Patrick: Contributors. (line 100) * message object files: Explaining gettext. (line 42) @@ -33357,7 +33363,7 @@ Index * messages from extensions: Printing Messages. (line 6) * metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 139) -* minimum precision supported by MPFR library: Auto-set. (line 232) +* minimum precision supported by MPFR library: Auto-set. (line 238) * mktime: Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 104) @@ -33406,7 +33412,7 @@ Index (line 47) * nexti debugger command: Debugger Execution Control. (line 49) -* NF variable <1>: Auto-set. (line 113) +* NF variable <1>: Auto-set. (line 119) * NF variable: Fields. (line 33) * NF variable, decrementing: Changing Fields. (line 107) * ni debugger command (alias for nexti): Debugger Execution Control. @@ -33415,9 +33421,9 @@ Index * non-existent array elements: Reference to Elements. (line 23) * not Boolean-logic operator: Boolean Ops. (line 6) -* NR variable <1>: Auto-set. (line 133) +* NR variable <1>: Auto-set. (line 139) * NR variable: Records. (line 6) -* NR variable, changing: Auto-set. (line 322) +* NR variable, changing: Auto-set. (line 328) * null strings <1>: Basic Data Typing. (line 26) * null strings <2>: Truth Values. (line 6) * null strings <3>: Regexp Field Splitting. @@ -33531,7 +33537,7 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 36) * Papadopoulos, Panos: Contributors. (line 128) -* parent process ID of gawk process: Auto-set. (line 197) +* parent process ID of gawk process: Auto-set. (line 203) * parentheses (), in a profile: Profiling. (line 146) * parentheses (), regexp operator: Regexp Operators. (line 81) * password file: Passwd Functions. (line 16) @@ -33697,24 +33703,24 @@ Index * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) -* process group idIDof gawk process: Auto-set. (line 191) -* process ID of gawk process: Auto-set. (line 194) +* process group idIDof gawk process: Auto-set. (line 197) +* process ID of gawk process: Auto-set. (line 200) * processes, two-way communications with: Two-way I/O. (line 6) * processing data: Basic High Level. (line 6) * PROCINFO array <1>: Passwd Functions. (line 6) * PROCINFO array <2>: Time Functions. (line 47) -* PROCINFO array: Auto-set. (line 138) +* PROCINFO array: Auto-set. (line 144) * PROCINFO array, and communications via ptys: Two-way I/O. (line 99) * PROCINFO array, and group membership: Group Functions. (line 6) * PROCINFO array, and user and group ID numbers: Id Program. (line 15) * PROCINFO array, testing the field splitting: Passwd Functions. (line 154) -* PROCINFO array, uses: Auto-set. (line 250) +* PROCINFO array, uses: Auto-set. (line 256) * PROCINFO, values of sorted_in: Controlling Scanning. (line 26) * profiling awk programs: Profiling. (line 6) * profiling awk programs, dynamically: Profiling. (line 178) -* program identifiers: Auto-set. (line 156) +* program identifiers: Auto-set. (line 162) * program, definition of: Getting Started. (line 21) * programming conventions, --non-decimal-data option: Nondecimal Data. (line 35) @@ -33872,7 +33878,7 @@ Index * right shift: Bitwise Functions. (line 53) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 54) -* RLENGTH variable: Auto-set. (line 260) +* RLENGTH variable: Auto-set. (line 266) * RLENGTH variable, match() function and: String Functions. (line 228) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 70) @@ -33898,9 +33904,9 @@ Index * RS variable: awk split records. (line 12) * RS variable, multiline records and: Multiple Line. (line 17) * rshift: Bitwise Functions. (line 53) -* RSTART variable: Auto-set. (line 266) +* RSTART variable: Auto-set. (line 272) * RSTART variable, match() function and: String Functions. (line 228) -* RT variable <1>: Auto-set. (line 273) +* RT variable <1>: Auto-set. (line 279) * RT variable <2>: Multiple Line. (line 129) * RT variable: awk split records. (line 125) * Rubin, Paul <1>: Contributors. (line 15) @@ -33920,7 +33926,7 @@ Index * scanning arrays: Scanning an Array. (line 6) * scanning multidimensional arrays: Multiscanning. (line 11) * Schorr, Andrew <1>: Contributors. (line 133) -* Schorr, Andrew <2>: Auto-set. (line 305) +* Schorr, Andrew <2>: Auto-set. (line 311) * Schorr, Andrew: Acknowledgments. (line 60) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -34003,7 +34009,7 @@ Index (line 106) * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields. (line 14) -* sidebar, Changing NR and FNR: Auto-set. (line 320) +* sidebar, Changing NR and FNR: Auto-set. (line 326) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 138) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -34165,9 +34171,9 @@ Index * substr: String Functions. (line 481) * substring: String Functions. (line 481) * Sumner, Andrew: Other Versions. (line 68) -* supplementary groups of gawk process: Auto-set. (line 245) +* supplementary groups of gawk process: Auto-set. (line 251) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 277) +* SYMTAB array: Auto-set. (line 283) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 148) * system: I/O Functions. (line 106) @@ -34344,10 +34350,10 @@ Index * variables, uninitialized, as array subscripts: Uninitialized Subscripts. (line 6) * variables, user-defined: Variables. (line 6) -* version of gawk: Auto-set. (line 215) -* version of gawk extension API: Auto-set. (line 240) -* version of GNU MP library: Auto-set. (line 226) -* version of GNU MPFR library: Auto-set. (line 222) +* version of gawk: Auto-set. (line 221) +* version of gawk extension API: Auto-set. (line 246) +* version of GNU MP library: Auto-set. (line 232) +* version of GNU MPFR library: Auto-set. (line 228) * vertical bar (|): Regexp Operators. (line 70) * vertical bar (|), | operator (I/O) <1>: Precedence. (line 65) * vertical bar (|), | operator (I/O): Getline/Pipe. (line 9) @@ -34637,359 +34643,359 @@ Node: Built-in Variables431230 Node: User-modified432363 Ref: User-modified-Footnote-1440044 Node: Auto-set440106 -Ref: Auto-set-Footnote-1453478 -Ref: Auto-set-Footnote-2453683 -Node: ARGC and ARGV453739 -Node: Pattern Action Summary457957 -Node: Arrays460384 -Node: Array Basics461713 -Node: Array Intro462557 -Ref: figure-array-elements464521 -Ref: Array Intro-Footnote-1467047 -Node: Reference to Elements467175 -Node: Assigning Elements469627 -Node: Array Example470118 -Node: Scanning an Array471876 -Node: Controlling Scanning474892 -Ref: Controlling Scanning-Footnote-1480088 -Node: Numeric Array Subscripts480404 -Node: Uninitialized Subscripts482589 -Node: Delete484206 -Ref: Delete-Footnote-1486949 -Node: Multidimensional487006 -Node: Multiscanning490103 -Node: Arrays of Arrays491692 -Node: Arrays Summary496451 -Node: Functions498543 -Node: Built-in499416 -Node: Calling Built-in500494 -Node: Numeric Functions502485 -Ref: Numeric Functions-Footnote-1507304 -Ref: Numeric Functions-Footnote-2507661 -Ref: Numeric Functions-Footnote-3507709 -Node: String Functions507981 -Ref: String Functions-Footnote-1531456 -Ref: String Functions-Footnote-2531585 -Ref: String Functions-Footnote-3531833 -Node: Gory Details531920 -Ref: table-sub-escapes533701 -Ref: table-sub-proposed535221 -Ref: table-posix-sub536585 -Ref: table-gensub-escapes538121 -Ref: Gory Details-Footnote-1538953 -Node: I/O Functions539104 -Ref: I/O Functions-Footnote-1546322 -Node: Time Functions546469 -Ref: Time Functions-Footnote-1556957 -Ref: Time Functions-Footnote-2557025 -Ref: Time Functions-Footnote-3557183 -Ref: Time Functions-Footnote-4557294 -Ref: Time Functions-Footnote-5557406 -Ref: Time Functions-Footnote-6557633 -Node: Bitwise Functions557899 -Ref: table-bitwise-ops558461 -Ref: Bitwise Functions-Footnote-1562770 -Node: Type Functions562939 -Node: I18N Functions564090 -Node: User-defined565735 -Node: Definition Syntax566540 -Ref: Definition Syntax-Footnote-1571947 -Node: Function Example572018 -Ref: Function Example-Footnote-1574937 -Node: Function Caveats574959 -Node: Calling A Function575477 -Node: Variable Scope576435 -Node: Pass By Value/Reference579423 -Node: Return Statement582918 -Node: Dynamic Typing585899 -Node: Indirect Calls586828 -Ref: Indirect Calls-Footnote-1598130 -Node: Functions Summary598258 -Node: Library Functions600960 -Ref: Library Functions-Footnote-1604569 -Ref: Library Functions-Footnote-2604712 -Node: Library Names604883 -Ref: Library Names-Footnote-1608337 -Ref: Library Names-Footnote-2608560 -Node: General Functions608646 -Node: Strtonum Function609749 -Node: Assert Function612771 -Node: Round Function616095 -Node: Cliff Random Function617636 -Node: Ordinal Functions618652 -Ref: Ordinal Functions-Footnote-1621715 -Ref: Ordinal Functions-Footnote-2621967 -Node: Join Function622178 -Ref: Join Function-Footnote-1623947 -Node: Getlocaltime Function624147 -Node: Readfile Function627891 -Node: Shell Quoting629861 -Node: Data File Management631262 -Node: Filetrans Function631894 -Node: Rewind Function635950 -Node: File Checking637337 -Ref: File Checking-Footnote-1638669 -Node: Empty Files638870 -Node: Ignoring Assigns640849 -Node: Getopt Function642400 -Ref: Getopt Function-Footnote-1653862 -Node: Passwd Functions654062 -Ref: Passwd Functions-Footnote-1662911 -Node: Group Functions662999 -Ref: Group Functions-Footnote-1670893 -Node: Walking Arrays671106 -Node: Library Functions Summary672709 -Node: Library Exercises674110 -Node: Sample Programs675390 -Node: Running Examples676160 -Node: Clones676888 -Node: Cut Program678112 -Node: Egrep Program687831 -Ref: Egrep Program-Footnote-1695329 -Node: Id Program695439 -Node: Split Program699084 -Ref: Split Program-Footnote-1702532 -Node: Tee Program702660 -Node: Uniq Program705449 -Node: Wc Program712868 -Ref: Wc Program-Footnote-1717118 -Node: Miscellaneous Programs717212 -Node: Dupword Program718425 -Node: Alarm Program720456 -Node: Translate Program725260 -Ref: Translate Program-Footnote-1729825 -Node: Labels Program730095 -Ref: Labels Program-Footnote-1733446 -Node: Word Sorting733530 -Node: History Sorting737601 -Node: Extract Program739437 -Node: Simple Sed746962 -Node: Igawk Program750030 -Ref: Igawk Program-Footnote-1764354 -Ref: Igawk Program-Footnote-2764555 -Ref: Igawk Program-Footnote-3764677 -Node: Anagram Program764792 -Node: Signature Program767849 -Node: Programs Summary769096 -Node: Programs Exercises770289 -Ref: Programs Exercises-Footnote-1774420 -Node: Advanced Features774511 -Node: Nondecimal Data776459 -Node: Array Sorting778049 -Node: Controlling Array Traversal778746 -Ref: Controlling Array Traversal-Footnote-1787079 -Node: Array Sorting Functions787197 -Ref: Array Sorting Functions-Footnote-1791086 -Node: Two-way I/O791282 -Ref: Two-way I/O-Footnote-1796223 -Ref: Two-way I/O-Footnote-2796409 -Node: TCP/IP Networking796491 -Node: Profiling799364 -Node: Advanced Features Summary807641 -Node: Internationalization809574 -Node: I18N and L10N811054 -Node: Explaining gettext811740 -Ref: Explaining gettext-Footnote-1816765 -Ref: Explaining gettext-Footnote-2816949 -Node: Programmer i18n817114 -Ref: Programmer i18n-Footnote-1821980 -Node: Translator i18n822029 -Node: String Extraction822823 -Ref: String Extraction-Footnote-1823954 -Node: Printf Ordering824040 -Ref: Printf Ordering-Footnote-1826826 -Node: I18N Portability826890 -Ref: I18N Portability-Footnote-1829345 -Node: I18N Example829408 -Ref: I18N Example-Footnote-1832211 -Node: Gawk I18N832283 -Node: I18N Summary832921 -Node: Debugger834260 -Node: Debugging835282 -Node: Debugging Concepts835723 -Node: Debugging Terms837576 -Node: Awk Debugging840148 -Node: Sample Debugging Session841042 -Node: Debugger Invocation841562 -Node: Finding The Bug842946 -Node: List of Debugger Commands849421 -Node: Breakpoint Control850754 -Node: Debugger Execution Control854450 -Node: Viewing And Changing Data857814 -Node: Execution Stack861192 -Node: Debugger Info862829 -Node: Miscellaneous Debugger Commands866846 -Node: Readline Support871875 -Node: Limitations872767 -Node: Debugging Summary874881 -Node: Arbitrary Precision Arithmetic876049 -Node: Computer Arithmetic877465 -Ref: table-numeric-ranges881063 -Ref: Computer Arithmetic-Footnote-1881922 -Node: Math Definitions881979 -Ref: table-ieee-formats885267 -Ref: Math Definitions-Footnote-1885871 -Node: MPFR features885976 -Node: FP Math Caution887647 -Ref: FP Math Caution-Footnote-1888697 -Node: Inexactness of computations889066 -Node: Inexact representation890025 -Node: Comparing FP Values891382 -Node: Errors accumulate892464 -Node: Getting Accuracy893897 -Node: Try To Round896559 -Node: Setting precision897458 -Ref: table-predefined-precision-strings898142 -Node: Setting the rounding mode899931 -Ref: table-gawk-rounding-modes900295 -Ref: Setting the rounding mode-Footnote-1903750 -Node: Arbitrary Precision Integers903929 -Ref: Arbitrary Precision Integers-Footnote-1908828 -Node: POSIX Floating Point Problems908977 -Ref: POSIX Floating Point Problems-Footnote-1912850 -Node: Floating point summary912888 -Node: Dynamic Extensions915082 -Node: Extension Intro916634 -Node: Plugin License917900 -Node: Extension Mechanism Outline918697 -Ref: figure-load-extension919125 -Ref: figure-register-new-function920605 -Ref: figure-call-new-function921609 -Node: Extension API Description923595 -Node: Extension API Functions Introduction925045 -Node: General Data Types929869 -Ref: General Data Types-Footnote-1935608 -Node: Memory Allocation Functions935907 -Ref: Memory Allocation Functions-Footnote-1938746 -Node: Constructor Functions938842 -Node: Registration Functions940576 -Node: Extension Functions941261 -Node: Exit Callback Functions943558 -Node: Extension Version String944806 -Node: Input Parsers945471 -Node: Output Wrappers955348 -Node: Two-way processors959863 -Node: Printing Messages962067 -Ref: Printing Messages-Footnote-1963143 -Node: Updating `ERRNO'963295 -Node: Requesting Values964035 -Ref: table-value-types-returned964763 -Node: Accessing Parameters965720 -Node: Symbol Table Access966951 -Node: Symbol table by name967465 -Node: Symbol table by cookie969446 -Ref: Symbol table by cookie-Footnote-1973590 -Node: Cached values973653 -Ref: Cached values-Footnote-1977152 -Node: Array Manipulation977243 -Ref: Array Manipulation-Footnote-1978341 -Node: Array Data Types978378 -Ref: Array Data Types-Footnote-1981033 -Node: Array Functions981125 -Node: Flattening Arrays984979 -Node: Creating Arrays991871 -Node: Extension API Variables996640 -Node: Extension Versioning997276 -Node: Extension API Informational Variables999177 -Node: Extension API Boilerplate1000265 -Node: Finding Extensions1004074 -Node: Extension Example1004634 -Node: Internal File Description1005406 -Node: Internal File Ops1009473 -Ref: Internal File Ops-Footnote-11021143 -Node: Using Internal File Ops1021283 -Ref: Using Internal File Ops-Footnote-11023666 -Node: Extension Samples1023939 -Node: Extension Sample File Functions1025465 -Node: Extension Sample Fnmatch1033103 -Node: Extension Sample Fork1034594 -Node: Extension Sample Inplace1035809 -Node: Extension Sample Ord1037484 -Node: Extension Sample Readdir1038320 -Ref: table-readdir-file-types1039196 -Node: Extension Sample Revout1040007 -Node: Extension Sample Rev2way1040597 -Node: Extension Sample Read write array1041337 -Node: Extension Sample Readfile1043277 -Node: Extension Sample Time1044372 -Node: Extension Sample API Tests1045721 -Node: gawkextlib1046212 -Node: Extension summary1048849 -Node: Extension Exercises1052526 -Node: Language History1053248 -Node: V7/SVR3.11054904 -Node: SVR41057085 -Node: POSIX1058530 -Node: BTL1059919 -Node: POSIX/GNU1060653 -Node: Feature History1066277 -Node: Common Extensions1079375 -Node: Ranges and Locales1080699 -Ref: Ranges and Locales-Footnote-11085317 -Ref: Ranges and Locales-Footnote-21085344 -Ref: Ranges and Locales-Footnote-31085578 -Node: Contributors1085799 -Node: History summary1091340 -Node: Installation1092710 -Node: Gawk Distribution1093656 -Node: Getting1094140 -Node: Extracting1094963 -Node: Distribution contents1096598 -Node: Unix Installation1102663 -Node: Quick Installation1103346 -Node: Shell Startup Files1105757 -Node: Additional Configuration Options1106836 -Node: Configuration Philosophy1108575 -Node: Non-Unix Installation1110944 -Node: PC Installation1111402 -Node: PC Binary Installation1112721 -Node: PC Compiling1114569 -Ref: PC Compiling-Footnote-11117590 -Node: PC Testing1117699 -Node: PC Using1118875 -Node: Cygwin1122990 -Node: MSYS1123813 -Node: VMS Installation1124313 -Node: VMS Compilation1125105 -Ref: VMS Compilation-Footnote-11126327 -Node: VMS Dynamic Extensions1126385 -Node: VMS Installation Details1128069 -Node: VMS Running1130321 -Node: VMS GNV1133157 -Node: VMS Old Gawk1133891 -Node: Bugs1134361 -Node: Other Versions1138244 -Node: Installation summary1144666 -Node: Notes1145722 -Node: Compatibility Mode1146587 -Node: Additions1147369 -Node: Accessing The Source1148294 -Node: Adding Code1149730 -Node: New Ports1155895 -Node: Derived Files1160377 -Ref: Derived Files-Footnote-11165852 -Ref: Derived Files-Footnote-21165886 -Ref: Derived Files-Footnote-31166482 -Node: Future Extensions1166596 -Node: Implementation Limitations1167202 -Node: Extension Design1168450 -Node: Old Extension Problems1169604 -Ref: Old Extension Problems-Footnote-11171121 -Node: Extension New Mechanism Goals1171178 -Ref: Extension New Mechanism Goals-Footnote-11174538 -Node: Extension Other Design Decisions1174727 -Node: Extension Future Growth1176835 -Node: Old Extension Mechanism1177671 -Node: Notes summary1179433 -Node: Basic Concepts1180619 -Node: Basic High Level1181300 -Ref: figure-general-flow1181572 -Ref: figure-process-flow1182171 -Ref: Basic High Level-Footnote-11185400 -Node: Basic Data Typing1185585 -Node: Glossary1188913 -Node: Copying1214071 -Node: GNU Free Documentation License1251627 -Node: Index1276763 +Ref: Auto-set-Footnote-1453798 +Ref: Auto-set-Footnote-2454003 +Node: ARGC and ARGV454059 +Node: Pattern Action Summary458277 +Node: Arrays460704 +Node: Array Basics462033 +Node: Array Intro462877 +Ref: figure-array-elements464841 +Ref: Array Intro-Footnote-1467367 +Node: Reference to Elements467495 +Node: Assigning Elements469947 +Node: Array Example470438 +Node: Scanning an Array472196 +Node: Controlling Scanning475212 +Ref: Controlling Scanning-Footnote-1480408 +Node: Numeric Array Subscripts480724 +Node: Uninitialized Subscripts482909 +Node: Delete484526 +Ref: Delete-Footnote-1487269 +Node: Multidimensional487326 +Node: Multiscanning490423 +Node: Arrays of Arrays492012 +Node: Arrays Summary496771 +Node: Functions498863 +Node: Built-in499736 +Node: Calling Built-in500814 +Node: Numeric Functions502805 +Ref: Numeric Functions-Footnote-1507624 +Ref: Numeric Functions-Footnote-2507981 +Ref: Numeric Functions-Footnote-3508029 +Node: String Functions508301 +Ref: String Functions-Footnote-1531776 +Ref: String Functions-Footnote-2531905 +Ref: String Functions-Footnote-3532153 +Node: Gory Details532240 +Ref: table-sub-escapes534021 +Ref: table-sub-proposed535541 +Ref: table-posix-sub536905 +Ref: table-gensub-escapes538441 +Ref: Gory Details-Footnote-1539273 +Node: I/O Functions539424 +Ref: I/O Functions-Footnote-1546642 +Node: Time Functions546789 +Ref: Time Functions-Footnote-1557277 +Ref: Time Functions-Footnote-2557345 +Ref: Time Functions-Footnote-3557503 +Ref: Time Functions-Footnote-4557614 +Ref: Time Functions-Footnote-5557726 +Ref: Time Functions-Footnote-6557953 +Node: Bitwise Functions558219 +Ref: table-bitwise-ops558781 +Ref: Bitwise Functions-Footnote-1563090 +Node: Type Functions563259 +Node: I18N Functions564410 +Node: User-defined566055 +Node: Definition Syntax566860 +Ref: Definition Syntax-Footnote-1572267 +Node: Function Example572338 +Ref: Function Example-Footnote-1575257 +Node: Function Caveats575279 +Node: Calling A Function575797 +Node: Variable Scope576755 +Node: Pass By Value/Reference579743 +Node: Return Statement583238 +Node: Dynamic Typing586219 +Node: Indirect Calls587148 +Ref: Indirect Calls-Footnote-1598450 +Node: Functions Summary598578 +Node: Library Functions601280 +Ref: Library Functions-Footnote-1604889 +Ref: Library Functions-Footnote-2605032 +Node: Library Names605203 +Ref: Library Names-Footnote-1608657 +Ref: Library Names-Footnote-2608880 +Node: General Functions608966 +Node: Strtonum Function610069 +Node: Assert Function613091 +Node: Round Function616415 +Node: Cliff Random Function617956 +Node: Ordinal Functions618972 +Ref: Ordinal Functions-Footnote-1622035 +Ref: Ordinal Functions-Footnote-2622287 +Node: Join Function622498 +Ref: Join Function-Footnote-1624267 +Node: Getlocaltime Function624467 +Node: Readfile Function628211 +Node: Shell Quoting630181 +Node: Data File Management631582 +Node: Filetrans Function632214 +Node: Rewind Function636270 +Node: File Checking637657 +Ref: File Checking-Footnote-1638989 +Node: Empty Files639190 +Node: Ignoring Assigns641169 +Node: Getopt Function642720 +Ref: Getopt Function-Footnote-1654182 +Node: Passwd Functions654382 +Ref: Passwd Functions-Footnote-1663231 +Node: Group Functions663319 +Ref: Group Functions-Footnote-1671213 +Node: Walking Arrays671426 +Node: Library Functions Summary673029 +Node: Library Exercises674430 +Node: Sample Programs675710 +Node: Running Examples676480 +Node: Clones677208 +Node: Cut Program678432 +Node: Egrep Program688151 +Ref: Egrep Program-Footnote-1695649 +Node: Id Program695759 +Node: Split Program699404 +Ref: Split Program-Footnote-1702852 +Node: Tee Program702980 +Node: Uniq Program705769 +Node: Wc Program713188 +Ref: Wc Program-Footnote-1717438 +Node: Miscellaneous Programs717532 +Node: Dupword Program718745 +Node: Alarm Program720776 +Node: Translate Program725580 +Ref: Translate Program-Footnote-1730145 +Node: Labels Program730415 +Ref: Labels Program-Footnote-1733766 +Node: Word Sorting733850 +Node: History Sorting737921 +Node: Extract Program739757 +Node: Simple Sed747282 +Node: Igawk Program750350 +Ref: Igawk Program-Footnote-1764674 +Ref: Igawk Program-Footnote-2764875 +Ref: Igawk Program-Footnote-3764997 +Node: Anagram Program765112 +Node: Signature Program768169 +Node: Programs Summary769416 +Node: Programs Exercises770609 +Ref: Programs Exercises-Footnote-1774740 +Node: Advanced Features774831 +Node: Nondecimal Data776779 +Node: Array Sorting778369 +Node: Controlling Array Traversal779066 +Ref: Controlling Array Traversal-Footnote-1787399 +Node: Array Sorting Functions787517 +Ref: Array Sorting Functions-Footnote-1791406 +Node: Two-way I/O791602 +Ref: Two-way I/O-Footnote-1796543 +Ref: Two-way I/O-Footnote-2796729 +Node: TCP/IP Networking796811 +Node: Profiling799684 +Node: Advanced Features Summary807961 +Node: Internationalization809894 +Node: I18N and L10N811374 +Node: Explaining gettext812060 +Ref: Explaining gettext-Footnote-1817085 +Ref: Explaining gettext-Footnote-2817269 +Node: Programmer i18n817434 +Ref: Programmer i18n-Footnote-1822300 +Node: Translator i18n822349 +Node: String Extraction823143 +Ref: String Extraction-Footnote-1824274 +Node: Printf Ordering824360 +Ref: Printf Ordering-Footnote-1827146 +Node: I18N Portability827210 +Ref: I18N Portability-Footnote-1829665 +Node: I18N Example829728 +Ref: I18N Example-Footnote-1832531 +Node: Gawk I18N832603 +Node: I18N Summary833241 +Node: Debugger834580 +Node: Debugging835602 +Node: Debugging Concepts836043 +Node: Debugging Terms837896 +Node: Awk Debugging840468 +Node: Sample Debugging Session841362 +Node: Debugger Invocation841882 +Node: Finding The Bug843266 +Node: List of Debugger Commands849741 +Node: Breakpoint Control851074 +Node: Debugger Execution Control854770 +Node: Viewing And Changing Data858134 +Node: Execution Stack861512 +Node: Debugger Info863149 +Node: Miscellaneous Debugger Commands867166 +Node: Readline Support872195 +Node: Limitations873087 +Node: Debugging Summary875201 +Node: Arbitrary Precision Arithmetic876369 +Node: Computer Arithmetic877785 +Ref: table-numeric-ranges881383 +Ref: Computer Arithmetic-Footnote-1882242 +Node: Math Definitions882299 +Ref: table-ieee-formats885587 +Ref: Math Definitions-Footnote-1886191 +Node: MPFR features886296 +Node: FP Math Caution887967 +Ref: FP Math Caution-Footnote-1889017 +Node: Inexactness of computations889386 +Node: Inexact representation890345 +Node: Comparing FP Values891702 +Node: Errors accumulate892784 +Node: Getting Accuracy894217 +Node: Try To Round896879 +Node: Setting precision897778 +Ref: table-predefined-precision-strings898462 +Node: Setting the rounding mode900251 +Ref: table-gawk-rounding-modes900615 +Ref: Setting the rounding mode-Footnote-1904070 +Node: Arbitrary Precision Integers904249 +Ref: Arbitrary Precision Integers-Footnote-1909148 +Node: POSIX Floating Point Problems909297 +Ref: POSIX Floating Point Problems-Footnote-1913170 +Node: Floating point summary913208 +Node: Dynamic Extensions915402 +Node: Extension Intro916954 +Node: Plugin License918220 +Node: Extension Mechanism Outline919017 +Ref: figure-load-extension919445 +Ref: figure-register-new-function920925 +Ref: figure-call-new-function921929 +Node: Extension API Description923915 +Node: Extension API Functions Introduction925365 +Node: General Data Types930189 +Ref: General Data Types-Footnote-1935928 +Node: Memory Allocation Functions936227 +Ref: Memory Allocation Functions-Footnote-1939066 +Node: Constructor Functions939162 +Node: Registration Functions940896 +Node: Extension Functions941581 +Node: Exit Callback Functions943878 +Node: Extension Version String945126 +Node: Input Parsers945791 +Node: Output Wrappers955668 +Node: Two-way processors960183 +Node: Printing Messages962387 +Ref: Printing Messages-Footnote-1963463 +Node: Updating `ERRNO'963615 +Node: Requesting Values964355 +Ref: table-value-types-returned965083 +Node: Accessing Parameters966040 +Node: Symbol Table Access967271 +Node: Symbol table by name967785 +Node: Symbol table by cookie969766 +Ref: Symbol table by cookie-Footnote-1973910 +Node: Cached values973973 +Ref: Cached values-Footnote-1977472 +Node: Array Manipulation977563 +Ref: Array Manipulation-Footnote-1978661 +Node: Array Data Types978698 +Ref: Array Data Types-Footnote-1981353 +Node: Array Functions981445 +Node: Flattening Arrays985299 +Node: Creating Arrays992191 +Node: Extension API Variables996960 +Node: Extension Versioning997596 +Node: Extension API Informational Variables999497 +Node: Extension API Boilerplate1000585 +Node: Finding Extensions1004394 +Node: Extension Example1004954 +Node: Internal File Description1005726 +Node: Internal File Ops1009793 +Ref: Internal File Ops-Footnote-11021463 +Node: Using Internal File Ops1021603 +Ref: Using Internal File Ops-Footnote-11023986 +Node: Extension Samples1024259 +Node: Extension Sample File Functions1025785 +Node: Extension Sample Fnmatch1033423 +Node: Extension Sample Fork1034914 +Node: Extension Sample Inplace1036129 +Node: Extension Sample Ord1037804 +Node: Extension Sample Readdir1038640 +Ref: table-readdir-file-types1039516 +Node: Extension Sample Revout1040327 +Node: Extension Sample Rev2way1040917 +Node: Extension Sample Read write array1041657 +Node: Extension Sample Readfile1043597 +Node: Extension Sample Time1044692 +Node: Extension Sample API Tests1046041 +Node: gawkextlib1046532 +Node: Extension summary1049169 +Node: Extension Exercises1052846 +Node: Language History1053568 +Node: V7/SVR3.11055224 +Node: SVR41057405 +Node: POSIX1058850 +Node: BTL1060239 +Node: POSIX/GNU1060973 +Node: Feature History1066597 +Node: Common Extensions1079695 +Node: Ranges and Locales1081019 +Ref: Ranges and Locales-Footnote-11085637 +Ref: Ranges and Locales-Footnote-21085664 +Ref: Ranges and Locales-Footnote-31085898 +Node: Contributors1086119 +Node: History summary1091660 +Node: Installation1093030 +Node: Gawk Distribution1093976 +Node: Getting1094460 +Node: Extracting1095283 +Node: Distribution contents1096918 +Node: Unix Installation1102983 +Node: Quick Installation1103666 +Node: Shell Startup Files1106077 +Node: Additional Configuration Options1107156 +Node: Configuration Philosophy1108895 +Node: Non-Unix Installation1111264 +Node: PC Installation1111722 +Node: PC Binary Installation1113041 +Node: PC Compiling1114889 +Ref: PC Compiling-Footnote-11117910 +Node: PC Testing1118019 +Node: PC Using1119195 +Node: Cygwin1123310 +Node: MSYS1124133 +Node: VMS Installation1124633 +Node: VMS Compilation1125425 +Ref: VMS Compilation-Footnote-11126647 +Node: VMS Dynamic Extensions1126705 +Node: VMS Installation Details1128389 +Node: VMS Running1130641 +Node: VMS GNV1133477 +Node: VMS Old Gawk1134211 +Node: Bugs1134681 +Node: Other Versions1138564 +Node: Installation summary1144986 +Node: Notes1146042 +Node: Compatibility Mode1146907 +Node: Additions1147689 +Node: Accessing The Source1148614 +Node: Adding Code1150050 +Node: New Ports1156215 +Node: Derived Files1160697 +Ref: Derived Files-Footnote-11166172 +Ref: Derived Files-Footnote-21166206 +Ref: Derived Files-Footnote-31166802 +Node: Future Extensions1166916 +Node: Implementation Limitations1167522 +Node: Extension Design1168770 +Node: Old Extension Problems1169924 +Ref: Old Extension Problems-Footnote-11171441 +Node: Extension New Mechanism Goals1171498 +Ref: Extension New Mechanism Goals-Footnote-11174858 +Node: Extension Other Design Decisions1175047 +Node: Extension Future Growth1177155 +Node: Old Extension Mechanism1177991 +Node: Notes summary1179753 +Node: Basic Concepts1180939 +Node: Basic High Level1181620 +Ref: figure-general-flow1181892 +Ref: figure-process-flow1182491 +Ref: Basic High Level-Footnote-11185720 +Node: Basic Data Typing1185905 +Node: Glossary1189233 +Node: Copying1214391 +Node: GNU Free Documentation License1251947 +Node: Index1277083 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 00f2fa5c..7c9beae6 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -14896,6 +14896,12 @@ that it creates. You should therefore be especially careful if you modify @code{ENVIRON["PATH"]"}, which is the search path for finding executable programs. +This can also affect the running @command{gawk} program, since some of the +built-in functions may pay attention to certain environment variables. +The most notable instance of this is @code{mktime()} (@pxref{Time +Functions}), which pays attention the value of the @env{TZ} environment +variable on many systems. + Some operating systems may not have environment variables. On such systems, the @code{ENVIRON} array is empty (except for @w{@code{ENVIRON["AWKPATH"]}} and diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 758fe14a..391405e4 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -14225,6 +14225,12 @@ that it creates. You should therefore be especially careful if you modify @code{ENVIRON["PATH"]"}, which is the search path for finding executable programs. +This can also affect the running @command{gawk} program, since some of the +built-in functions may pay attention to certain environment variables. +The most notable instance of this is @code{mktime()} (@pxref{Time +Functions}), which pays attention the value of the @env{TZ} environment +variable on many systems. + Some operating systems may not have environment variables. On such systems, the @code{ENVIRON} array is empty (except for @w{@code{ENVIRON["AWKPATH"]}} and |