From ef5a25cdb3af19a1f2cc14e25e1a93914aae82c1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Mar 2014 22:22:35 +0200 Subject: Finishing indexing changes, special treatment for functions. --- doc/ChangeLog | 6 + doc/gawk.info | 714 ++++++++++++++++++++++++++++---------------------------- doc/gawk.texi | 130 ++++++----- doc/gawktexi.in | 130 ++++++----- 4 files changed, 518 insertions(+), 462 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 1a59539c..84750e4a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2014-03-27 Arnold D. Robbins + + * gawktexi.in: Finish the massive indexing improvements such that + functions are indexed the way I want in TeX and the way Eli + wants in Info. + 2014-03-27 Eli Zaretskii * gawktexi.in: First round of massive indexing improvements. diff --git a/doc/gawk.info b/doc/gawk.info index 29af8ab4..033a804e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -12199,7 +12199,8 @@ enclosed in square brackets ([ ]): Variables::). The default string value is `"%a %b %e %H:%M:%S %Z %Y"'. This format string produces output that is equivalent to that of the `date' utility. You can assign - a new value to `PROCINFO["strftime"]' to change the default format. + a new value to `PROCINFO["strftime"]' to change the default + format; see below for the various format directives. `systime()' Return the current time as the number of seconds since the system @@ -30051,8 +30052,8 @@ Index * ' (single quote), in shell commands: Quoting. (line 31) * ' (single quote), vs. apostrophe: Comments. (line 27) * ' (single quote), with double quotes: Quoting. (line 53) -* () (parentheses): Regexp Operators. (line 79) * () (parentheses), in a profile: Profiling. (line 146) +* () (parentheses), regexp operator: Regexp Operators. (line 79) * * (asterisk), * operator, as multiplication operator: Precedence. (line 55) * * (asterisk), * operator, as regexp operator: Regexp Operators. @@ -30318,9 +30319,9 @@ Index (line 6) * anagram.awk program: Anagram Program. (line 22) * anagrams, finding: Anagram Program. (line 6) +* and: Bitwise Functions. (line 39) * AND bitwise operation: Bitwise Functions. (line 6) * and Boolean-logic operator: Boolean Ops. (line 6) -* and() function (gawk): Bitwise Functions. (line 39) * ANSI: Glossary. (line 35) * API informational variables: Extension API Informational Variables. (line 6) @@ -30393,14 +30394,14 @@ Index (line 52) * ASCII <1>: Glossary. (line 133) * ASCII: Ordinal Functions. (line 45) -* asort() function (gawk) <1>: Array Sorting Functions. +* asort <1>: Array Sorting Functions. (line 6) -* asort() function (gawk): String Functions. (line 32) +* asort: String Functions. (line 32) * asort() function (gawk), arrays, sorting: Array Sorting Functions. (line 6) -* asorti() function (gawk) <1>: Array Sorting Functions. +* asorti <1>: Array Sorting Functions. (line 6) -* asorti() function (gawk): String Functions. (line 32) +* asorti: String Functions. (line 32) * asorti() function (gawk), arrays, sorting: Array Sorting Functions. (line 6) * assert() function (C library): Assert Function. (line 6) @@ -30571,9 +30572,9 @@ Index * Berry, Karl <1>: Ranges and Locales. (line 74) * Berry, Karl: Acknowledgments. (line 33) * binary input/output: User-modified. (line 10) +* bindtextdomain <1>: Programmer i18n. (line 47) +* bindtextdomain: I18N Functions. (line 12) * bindtextdomain() function (C library): Explaining gettext. (line 49) -* bindtextdomain() function (gawk) <1>: Programmer i18n. (line 47) -* bindtextdomain() function (gawk): I18N Functions. (line 12) * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) * BINMODE variable <1>: PC Using. (line 33) @@ -30713,10 +30714,10 @@ Index (line 6) * cliff_rand() user-defined function: Cliff Random Function. (line 12) -* close file or coprocess: I/O Functions. (line 10) -* close() function <1>: I/O Functions. (line 10) -* close() function: Close Files And Pipes. +* close <1>: I/O Functions. (line 10) +* close: Close Files And Pipes. (line 18) +* close file or coprocess: I/O Functions. (line 10) * close() function, portability: Close Files And Pipes. (line 81) * close() function, return value: Close Files And Pipes. @@ -30787,7 +30788,7 @@ Index * compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 13) * compiling gawk for VMS: VMS Compilation. (line 6) * compiling gawk with EMX for OS/2: PC Compiling. (line 28) -* compl() function (gawk): Bitwise Functions. (line 43) +* compl: Bitwise Functions. (line 43) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) * concatenating: Concatenation. (line 8) @@ -30822,7 +30823,7 @@ Index * convert string to upper case: String Functions. (line 527) * converting integer array subscripts: Numeric Array Subscripts. (line 31) -* converting, dates to timestamps: Time Functions. (line 75) +* converting, dates to timestamps: Time Functions. (line 76) * converting, numbers to strings <1>: Bitwise Functions. (line 109) * converting, numbers to strings: Conversion. (line 6) * converting, strings to numbers <1>: Bitwise Functions. (line 109) @@ -30837,7 +30838,7 @@ Index * coprocesses, closing: Close Files And Pipes. (line 6) * coprocesses, getline from: Getline/Coprocess. (line 6) -* cos() function: Numeric Functions. (line 15) +* cos: Numeric Functions. (line 15) * cosine: Numeric Functions. (line 15) * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) @@ -30845,7 +30846,7 @@ Index * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime() user-defined function: Function Example. (line 73) * currency symbols, localization: Explaining gettext. (line 103) -* current system time: Time Functions. (line 65) +* current system time: Time Functions. (line 66) * custom.h file: Configuration Philosophy. (line 30) * customized input parser: Input Parsers. (line 6) @@ -30903,18 +30904,18 @@ Index * database, group, reading: Group Functions. (line 6) * database, users, reading: Passwd Functions. (line 6) * date utility, GNU: Time Functions. (line 17) -* date utility, POSIX: Time Functions. (line 262) -* dates, converting to timestamps: Time Functions. (line 75) +* date utility, POSIX: Time Functions. (line 263) +* dates, converting to timestamps: Time Functions. (line 76) * dates, information related to, localization: Explaining gettext. (line 115) * Davies, Stephen <1>: Contributors. (line 74) * Davies, Stephen: Acknowledgments. (line 60) -* dcgettext() function (gawk) <1>: Programmer i18n. (line 19) -* dcgettext() function (gawk): I18N Functions. (line 22) +* dcgettext <1>: Programmer i18n. (line 19) +* dcgettext: I18N Functions. (line 22) * dcgettext() function (gawk), portability and: I18N Portability. (line 33) -* dcngettext() function (gawk) <1>: Programmer i18n. (line 36) -* dcngettext() function (gawk): I18N Functions. (line 28) +* dcngettext <1>: Programmer i18n. (line 36) +* dcngettext: I18N Functions. (line 28) * dcngettext() function (gawk), portability and: I18N Portability. (line 33) * deadlocks: Two-way I/O. (line 70) @@ -31239,7 +31240,7 @@ Index * exit status, of VMS: VMS Running. (line 29) * exit the debugger: Miscellaneous Debugger Commands. (line 99) -* exp() function: Numeric Functions. (line 18) +* exp: Numeric Functions. (line 18) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 35) * exponent: Numeric Functions. (line 18) @@ -31301,7 +31302,7 @@ Index * features, undocumented: Undocumented. (line 6) * Fenlason, Jay <1>: Contributors. (line 18) * Fenlason, Jay: History. (line 30) -* fflush() function: I/O Functions. (line 25) +* fflush: I/O Functions. (line 25) * field numbers: Nonconstant Fields. (line 6) * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) @@ -31422,7 +31423,7 @@ Index (line 57) * format specifiers, printf statement: Control Letters. (line 6) * format specifiers, strftime() function (gawk): Time Functions. - (line 88) + (line 89) * format time string: Time Functions. (line 48) * formats, numeric output: OFMT. (line 6) * formatting output: Printf. (line 6) @@ -31609,8 +31610,8 @@ Index * General Public License (GPL): Glossary. (line 306) * General Public License, See GPL: Manual History. (line 11) * generate time values: Time Functions. (line 25) -* gensub() function (gawk) <1>: String Functions. (line 82) -* gensub() function (gawk): Using Constant Regexps. +* gensub <1>: String Functions. (line 82) +* gensub: Using Constant Regexps. (line 43) * gensub() function (gawk), escape processing: Gory Details. (line 6) * getaddrinfo() function (C library): TCP/IP Networking. (line 38) @@ -31685,8 +31686,8 @@ Index * group file: Group Functions. (line 6) * group id of gawk user: Auto-set. (line 177) * groups, information about: Group Functions. (line 6) -* gsub() function <1>: String Functions. (line 135) -* gsub() function: Using Constant Regexps. +* gsub <1>: String Functions. (line 135) +* gsub: Using Constant Regexps. (line 43) * gsub() function, arguments of: String Functions. (line 460) * gsub() function, escape processing: Gory Details. (line 6) @@ -31730,7 +31731,8 @@ Index (line 83) * IGNORECASE variable, in example programs: Library Functions. (line 53) -* IGNORECASE variable, ~ and !~ operators: Case-sensitivity. (line 26) +* IGNORECASE variable, with ~ and !~ operators: Case-sensitivity. + (line 26) * Illumos: Other Versions. (line 104) * Illumos, POSIX-compliant awk: Other Versions. (line 104) * implementation issues, gawk: Notes. (line 6) @@ -31748,7 +31750,7 @@ Index (line 37) * in operator, use in loops: Scanning an Array. (line 17) * increment operators: Increment Ops. (line 6) -* index() function: String Functions. (line 151) +* index: String Functions. (line 151) * indexing arrays: Array Intro. (line 49) * indirect function calls: Indirect Calls. (line 6) * infinite precision: Arbitrary Precision Arithmetic. @@ -31783,8 +31785,8 @@ Index * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 89) +* int: Numeric Functions. (line 23) * INT signal (MS-Windows): Profiling. (line 214) -* int() function: Numeric Functions. (line 23) * integer array indices: Numeric Array Subscripts. (line 31) * integers: General Arithmetic. (line 6) @@ -31813,7 +31815,7 @@ Index * interval expressions, regexp operator: Regexp Operators. (line 116) * inventory-shipped file: Sample Data Files. (line 32) * invoke shell command: I/O Functions. (line 72) -* isarray() function (gawk): Type Functions. (line 11) +* isarray: Type Functions. (line 11) * ISO: Glossary. (line 368) * ISO 8859-1: Glossary. (line 133) * ISO Latin-1: Glossary. (line 133) @@ -31870,9 +31872,9 @@ Index * left shift: Bitwise Functions. (line 46) * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) +* length: String Functions. (line 164) * length of input record: String Functions. (line 171) * length of string: String Functions. (line 164) -* length() function: String Functions. (line 164) * Lesser General Public License (LGPL): Glossary. (line 397) * LGPL (Lesser General Public License): Glossary. (line 397) * libmawk: Other Versions. (line 120) @@ -31934,8 +31936,8 @@ Index * localization: I18N and L10N. (line 6) * localization, See internationalization, localization: I18N and L10N. (line 6) +* log: Numeric Functions. (line 30) * log files, timestamps in: Time Functions. (line 6) -* log() function: Numeric Functions. (line 30) * logarithm: Numeric Functions. (line 30) * logical false/true: Truth Values. (line 6) * logical operators, See Boolean expressions: Boolean Ops. (line 6) @@ -31952,7 +31954,7 @@ Index * loops, See Also while statement: While Statement. (line 6) * loops, while: While Statement. (line 6) * ls utility: More Complex. (line 15) -* lshift() function (gawk): Bitwise Functions. (line 46) +* lshift: Bitwise Functions. (line 46) * lvalues/rvalues: Assignment Ops. (line 32) * mail-list file: Sample Data Files. (line 6) * mailing labels, printing: Labels Program. (line 6) @@ -31964,8 +31966,8 @@ Index (line 6) * marked strings, extracting: String Extraction. (line 6) * Marx, Groucho: Increment Ops. (line 60) +* match: String Functions. (line 204) * match regexp in string: String Functions. (line 204) -* match() function: String Functions. (line 204) * match() function, RSTART/RLENGTH variables: String Functions. (line 221) * matching, expressions, See comparison expressions: Typing and Comparison. @@ -31990,7 +31992,7 @@ Index * metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 130) * minimum precision supported by MPFR library: Auto-set. (line 221) -* mktime() function (gawk): Time Functions. (line 25) +* mktime: Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 103) * MPFR: Gawk and MPFR. (line 6) @@ -32141,9 +32143,9 @@ Index * options, long <1>: Options. (line 6) * options, long: Command Line. (line 13) * options, printing list of: Options. (line 154) +* or: Bitwise Functions. (line 49) * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) -* or() function (gawk): Bitwise Functions. (line 49) * ord() extension function: Extension Sample Ord. (line 12) * ord() user-defined function: Ordinal Functions. (line 16) @@ -32169,10 +32171,10 @@ Index (line 36) * P1003.1 POSIX standard: Glossary. (line 454) * parent process id of gawk process: Auto-set. (line 186) -* parentheses (): Regexp Operators. (line 79) * parentheses (), in a profile: Profiling. (line 146) +* parentheses (), regexp operator: Regexp Operators. (line 79) * password file: Passwd Functions. (line 16) -* patsplit() function (gawk): String Functions. (line 291) +* patsplit: String Functions. (line 291) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) @@ -32265,7 +32267,7 @@ Index * POSIX awk, changes in awk versions: POSIX. (line 6) * POSIX awk, continue statement and: Continue Statement. (line 43) * POSIX awk, CONVFMT variable and: User-modified. (line 28) -* POSIX awk, date utility and: Time Functions. (line 262) +* POSIX awk, date utility and: Time Functions. (line 263) * POSIX awk, field separators and <1>: Field Splitting Summary. (line 40) * POSIX awk, field separators and: Fields. (line 6) @@ -32394,7 +32396,7 @@ Index * Rakitzis, Byron: History Sorting. (line 25) * Ramey, Chet <1>: General Data Types. (line 6) * Ramey, Chet: Acknowledgments. (line 60) -* rand() function: Numeric Functions. (line 34) +* rand: Numeric Functions. (line 34) * random numbers, Cliff: Cliff Random Function. (line 6) * random numbers, rand()/srand() functions: Numeric Functions. @@ -32535,7 +32537,7 @@ Index * RS variable <1>: User-modified. (line 143) * RS variable: Records. (line 20) * RS variable, multiline records and: Multiple Line. (line 17) -* rshift() function (gawk): Bitwise Functions. (line 52) +* rshift: Bitwise Functions. (line 52) * RSTART variable: Auto-set. (line 259) * RSTART variable, match() function and: String Functions. (line 221) * RT variable <1>: Auto-set. (line 266) @@ -32679,7 +32681,7 @@ Index * SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) -* sin() function: Numeric Functions. (line 75) +* sin: Numeric Functions. (line 75) * sine: Numeric Functions. (line 75) * single precision floating-point: General Arithmetic. (line 21) * single quote ('): One-shot. (line 15) @@ -32721,20 +32723,20 @@ Index * source files, search path for: Igawk Program. (line 368) * sparse arrays: Array Intro. (line 70) * Spencer, Henry: Glossary. (line 12) +* split: String Functions. (line 313) * split string into array: String Functions. (line 291) * split utility: Split Program. (line 6) -* split() function: String Functions. (line 313) * split() function, array elements, deleting: Delete. (line 61) * split.awk program: Split Program. (line 30) -* sprintf() function <1>: String Functions. (line 378) -* sprintf() function: OFMT. (line 15) +* sprintf <1>: String Functions. (line 378) +* sprintf: OFMT. (line 15) * sprintf() function, OFMT variable and: User-modified. (line 124) * sprintf() function, print/printf statements and: Round Function. (line 6) -* sqrt() function: Numeric Functions. (line 78) +* sqrt: Numeric Functions. (line 78) * square brackets ([]), regexp operator: Regexp Operators. (line 55) * square root: Numeric Functions. (line 78) -* srand() function: Numeric Functions. (line 82) +* srand: Numeric Functions. (line 82) * stack frame: Debugging Terms. (line 10) * Stallman, Richard <1>: Glossary. (line 297) * Stallman, Richard <2>: Contributors. (line 23) @@ -32759,7 +32761,7 @@ Index * stream editors <1>: Simple Sed. (line 6) * stream editors: Field Splitting Summary. (line 46) -* strftime() function (gawk): Time Functions. (line 48) +* strftime: Time Functions. (line 48) * string constants: Scalar Constants. (line 15) * string constants, vs. regexp constants: Computed Regexps. (line 38) * string extraction (internationalization): String Extraction. @@ -32783,11 +32785,11 @@ Index * strings, null: Regexp Field Splitting. (line 43) * strings, numeric: Variable Typing. (line 6) -* strtonum() function (gawk): String Functions. (line 385) +* strtonum: String Functions. (line 385) * strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data. (line 36) -* sub() function <1>: String Functions. (line 406) -* sub() function: Using Constant Regexps. +* sub <1>: String Functions. (line 406) +* sub: Using Constant Regexps. (line 43) * sub() function, arguments of: String Functions. (line 460) * sub() function, escape processing: Gory Details. (line 6) @@ -32803,7 +32805,7 @@ Index * SUBSEP variable, and multidimensional arrays: Multidimensional. (line 16) * substitute in string: String Functions. (line 82) -* substr() function: String Functions. (line 479) +* substr: String Functions. (line 479) * substring: String Functions. (line 479) * Sumner, Andrew: Other Versions. (line 64) * supplementary groups of gawk process: Auto-set. (line 234) @@ -32811,8 +32813,8 @@ Index * SYMTAB array: Auto-set. (line 274) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 147) -* system() function: I/O Functions. (line 72) -* systime() function (gawk): Time Functions. (line 65) +* system: I/O Functions. (line 72) +* systime: Time Functions. (line 66) * t debugger command (alias for tbreak): Breakpoint Control. (line 90) * tbreak debugger command: Breakpoint Control. (line 90) * Tcl: Library Names. (line 57) @@ -32858,11 +32860,11 @@ Index * time, retrieving: Time Functions. (line 17) * timeout, reading input: Read Timeout. (line 6) * timestamps: Time Functions. (line 6) -* timestamps, converting dates to: Time Functions. (line 75) +* timestamps, converting dates to: Time Functions. (line 76) * timestamps, formatted: Getlocaltime Function. (line 6) -* tolower() function: String Functions. (line 521) -* toupper() function: String Functions. (line 527) +* tolower: String Functions. (line 521) +* toupper: String Functions. (line 527) * tr utility: Translate Program. (line 6) * trace debugger command: Miscellaneous Debugger Commands. (line 108) @@ -33041,8 +33043,8 @@ Index * writea() extension function: Extension Sample Read write array. (line 9) * xgettext utility: String Extraction. (line 13) +* xor: Bitwise Functions. (line 55) * XOR bitwise operation: Bitwise Functions. (line 6) -* xor() function (gawk): Bitwise Functions. (line 55) * Yawitz, Efraim: Contributors. (line 129) * Zaretskii, Eli <1>: Bugs. (line 70) * Zaretskii, Eli <2>: Contributors. (line 55) @@ -33307,300 +33309,300 @@ Ref: Gory Details-Footnote-2506851 Node: I/O Functions507002 Ref: I/O Functions-Footnote-1513992 Node: Time Functions514139 -Ref: Time Functions-Footnote-1525072 -Ref: Time Functions-Footnote-2525140 -Ref: Time Functions-Footnote-3525298 -Ref: Time Functions-Footnote-4525409 -Ref: Time Functions-Footnote-5525521 -Ref: Time Functions-Footnote-6525748 -Node: Bitwise Functions526014 -Ref: table-bitwise-ops526576 -Ref: Bitwise Functions-Footnote-1530797 -Node: Type Functions530981 -Node: I18N Functions532132 -Node: User-defined533759 -Node: Definition Syntax534563 -Ref: Definition Syntax-Footnote-1539477 -Node: Function Example539546 -Ref: Function Example-Footnote-1542195 -Node: Function Caveats542217 -Node: Calling A Function542735 -Node: Variable Scope543690 -Node: Pass By Value/Reference546653 -Node: Return Statement550161 -Node: Dynamic Typing553142 -Node: Indirect Calls554073 -Node: Library Functions563760 -Ref: Library Functions-Footnote-1567273 -Ref: Library Functions-Footnote-2567416 -Node: Library Names567587 -Ref: Library Names-Footnote-1571060 -Ref: Library Names-Footnote-2571280 -Node: General Functions571366 -Node: Strtonum Function572394 -Node: Assert Function575324 -Node: Round Function578650 -Node: Cliff Random Function580191 -Node: Ordinal Functions581207 -Ref: Ordinal Functions-Footnote-1584284 -Ref: Ordinal Functions-Footnote-2584536 -Node: Join Function584747 -Ref: Join Function-Footnote-1586518 -Node: Getlocaltime Function586718 -Node: Readfile Function590459 -Node: Data File Management592298 -Node: Filetrans Function592930 -Node: Rewind Function596999 -Node: File Checking598386 -Node: Empty Files599480 -Node: Ignoring Assigns601710 -Node: Getopt Function603264 -Ref: Getopt Function-Footnote-1614567 -Node: Passwd Functions614770 -Ref: Passwd Functions-Footnote-1623748 -Node: Group Functions623836 -Node: Walking Arrays631920 -Node: Sample Programs634056 -Node: Running Examples634730 -Node: Clones635458 -Node: Cut Program636682 -Node: Egrep Program646533 -Ref: Egrep Program-Footnote-1654306 -Node: Id Program654416 -Node: Split Program658065 -Ref: Split Program-Footnote-1661584 -Node: Tee Program661712 -Node: Uniq Program664515 -Node: Wc Program671944 -Ref: Wc Program-Footnote-1676210 -Ref: Wc Program-Footnote-2676410 -Node: Miscellaneous Programs676502 -Node: Dupword Program677690 -Node: Alarm Program679721 -Node: Translate Program684528 -Ref: Translate Program-Footnote-1688915 -Ref: Translate Program-Footnote-2689163 -Node: Labels Program689297 -Ref: Labels Program-Footnote-1692668 -Node: Word Sorting692752 -Node: History Sorting696636 -Node: Extract Program698475 -Ref: Extract Program-Footnote-1705978 -Node: Simple Sed706106 -Node: Igawk Program709168 -Ref: Igawk Program-Footnote-1724325 -Ref: Igawk Program-Footnote-2724526 -Node: Anagram Program724664 -Node: Signature Program727732 -Node: Advanced Features728832 -Node: Nondecimal Data730718 -Node: Array Sorting732301 -Node: Controlling Array Traversal732998 -Node: Array Sorting Functions741282 -Ref: Array Sorting Functions-Footnote-1745151 -Node: Two-way I/O745345 -Ref: Two-way I/O-Footnote-1750777 -Node: TCP/IP Networking750859 -Node: Profiling753703 -Node: Internationalization761206 -Node: I18N and L10N762631 -Node: Explaining gettext763317 -Ref: Explaining gettext-Footnote-1768385 -Ref: Explaining gettext-Footnote-2768569 -Node: Programmer i18n768734 -Node: Translator i18n772936 -Node: String Extraction773730 -Ref: String Extraction-Footnote-1774691 -Node: Printf Ordering774777 -Ref: Printf Ordering-Footnote-1777559 -Node: I18N Portability777623 -Ref: I18N Portability-Footnote-1780072 -Node: I18N Example780135 -Ref: I18N Example-Footnote-1782773 -Node: Gawk I18N782845 -Node: Debugger783466 -Node: Debugging784437 -Node: Debugging Concepts784870 -Node: Debugging Terms786726 -Node: Awk Debugging789323 -Node: Sample Debugging Session790215 -Node: Debugger Invocation790735 -Node: Finding The Bug792068 -Node: List of Debugger Commands798555 -Node: Breakpoint Control799889 -Node: Debugger Execution Control803553 -Node: Viewing And Changing Data806913 -Node: Execution Stack810269 -Node: Debugger Info811736 -Node: Miscellaneous Debugger Commands815718 -Node: Readline Support820894 -Node: Limitations821725 -Node: Arbitrary Precision Arithmetic823977 -Ref: Arbitrary Precision Arithmetic-Footnote-1825626 -Node: General Arithmetic825774 -Node: Floating Point Issues827494 -Node: String Conversion Precision828375 -Ref: String Conversion Precision-Footnote-1830080 -Node: Unexpected Results830189 -Node: POSIX Floating Point Problems832342 -Ref: POSIX Floating Point Problems-Footnote-1836167 -Node: Integer Programming836205 -Node: Floating-point Programming837944 -Ref: Floating-point Programming-Footnote-1844275 -Ref: Floating-point Programming-Footnote-2844545 -Node: Floating-point Representation844809 -Node: Floating-point Context845974 -Ref: table-ieee-formats846813 -Node: Rounding Mode848197 -Ref: table-rounding-modes848676 -Ref: Rounding Mode-Footnote-1851691 -Node: Gawk and MPFR851870 -Node: Arbitrary Precision Floats853125 -Ref: Arbitrary Precision Floats-Footnote-1855568 -Node: Setting Precision855884 -Ref: table-predefined-precision-strings856570 -Node: Setting Rounding Mode858715 -Ref: table-gawk-rounding-modes859119 -Node: Floating-point Constants860306 -Node: Changing Precision861735 -Ref: Changing Precision-Footnote-1863132 -Node: Exact Arithmetic863306 -Node: Arbitrary Precision Integers866444 -Ref: Arbitrary Precision Integers-Footnote-1869459 -Node: Dynamic Extensions869606 -Node: Extension Intro871064 -Node: Plugin License872329 -Node: Extension Mechanism Outline873014 -Ref: load-extension873431 -Ref: load-new-function874909 -Ref: call-new-function875904 -Node: Extension API Description877919 -Node: Extension API Functions Introduction879206 -Node: General Data Types884133 -Ref: General Data Types-Footnote-1889828 -Node: Requesting Values890127 -Ref: table-value-types-returned890864 -Node: Memory Allocation Functions891818 -Ref: Memory Allocation Functions-Footnote-1894564 -Node: Constructor Functions894660 -Node: Registration Functions896418 -Node: Extension Functions897103 -Node: Exit Callback Functions899405 -Node: Extension Version String900654 -Node: Input Parsers901304 -Node: Output Wrappers911061 -Node: Two-way processors915571 -Node: Printing Messages917779 -Ref: Printing Messages-Footnote-1918856 -Node: Updating `ERRNO'919008 -Node: Accessing Parameters919747 -Node: Symbol Table Access920977 -Node: Symbol table by name921491 -Node: Symbol table by cookie923240 -Ref: Symbol table by cookie-Footnote-1927372 -Node: Cached values927435 -Ref: Cached values-Footnote-1930925 -Node: Array Manipulation931016 -Ref: Array Manipulation-Footnote-1932114 -Node: Array Data Types932153 -Ref: Array Data Types-Footnote-1934856 -Node: Array Functions934948 -Node: Flattening Arrays938784 -Node: Creating Arrays945636 -Node: Extension API Variables950361 -Node: Extension Versioning950997 -Node: Extension API Informational Variables952898 -Node: Extension API Boilerplate953984 -Node: Finding Extensions957788 -Node: Extension Example958348 -Node: Internal File Description959078 -Node: Internal File Ops963169 -Ref: Internal File Ops-Footnote-1974678 -Node: Using Internal File Ops974818 -Ref: Using Internal File Ops-Footnote-1977171 -Node: Extension Samples977437 -Node: Extension Sample File Functions978961 -Node: Extension Sample Fnmatch987446 -Node: Extension Sample Fork989215 -Node: Extension Sample Inplace990428 -Node: Extension Sample Ord992206 -Node: Extension Sample Readdir993042 -Node: Extension Sample Revout994574 -Node: Extension Sample Rev2way995167 -Node: Extension Sample Read write array995857 -Node: Extension Sample Readfile997740 -Node: Extension Sample API Tests998558 -Node: Extension Sample Time999083 -Node: gawkextlib1000447 -Node: Language History1003228 -Node: V7/SVR3.11004821 -Node: SVR41007141 -Node: POSIX1008583 -Node: BTL1009969 -Node: POSIX/GNU1010703 -Node: Feature History1016302 -Node: Common Extensions1029278 -Node: Ranges and Locales1030590 -Ref: Ranges and Locales-Footnote-11035207 -Ref: Ranges and Locales-Footnote-21035234 -Ref: Ranges and Locales-Footnote-31035468 -Node: Contributors1035689 -Node: Installation1041070 -Node: Gawk Distribution1041964 -Node: Getting1042448 -Node: Extracting1043274 -Node: Distribution contents1044966 -Node: Unix Installation1050671 -Node: Quick Installation1051288 -Node: Additional Configuration Options1053734 -Node: Configuration Philosophy1055470 -Node: Non-Unix Installation1057824 -Node: PC Installation1058282 -Node: PC Binary Installation1059581 -Node: PC Compiling1061429 -Node: PC Testing1064373 -Node: PC Using1065549 -Node: Cygwin1069717 -Node: MSYS1070526 -Node: VMS Installation1071040 -Node: VMS Compilation1071804 -Ref: VMS Compilation-Footnote-11073056 -Node: VMS Dynamic Extensions1073114 -Node: VMS Installation Details1074487 -Node: VMS Running1076738 -Node: VMS GNV1079572 -Node: VMS Old Gawk1080295 -Node: Bugs1080765 -Node: Other Versions1084683 -Node: Notes1090767 -Node: Compatibility Mode1091567 -Node: Additions1092350 -Node: Accessing The Source1093277 -Node: Adding Code1094717 -Node: New Ports1100762 -Node: Derived Files1104897 -Ref: Derived Files-Footnote-11110218 -Ref: Derived Files-Footnote-21110252 -Ref: Derived Files-Footnote-31110852 -Node: Future Extensions1110950 -Node: Implementation Limitations1111533 -Node: Extension Design1112785 -Node: Old Extension Problems1113939 -Ref: Old Extension Problems-Footnote-11115447 -Node: Extension New Mechanism Goals1115504 -Ref: Extension New Mechanism Goals-Footnote-11118869 -Node: Extension Other Design Decisions1119055 -Node: Extension Future Growth1121161 -Node: Old Extension Mechanism1121997 -Node: Basic Concepts1123737 -Node: Basic High Level1124418 -Ref: figure-general-flow1124689 -Ref: figure-process-flow1125288 -Ref: Basic High Level-Footnote-11128517 -Node: Basic Data Typing1128702 -Node: Glossary1132057 -Node: Copying1157286 -Node: GNU Free Documentation License1194843 -Node: Index1219980 +Ref: Time Functions-Footnote-1525122 +Ref: Time Functions-Footnote-2525190 +Ref: Time Functions-Footnote-3525348 +Ref: Time Functions-Footnote-4525459 +Ref: Time Functions-Footnote-5525571 +Ref: Time Functions-Footnote-6525798 +Node: Bitwise Functions526064 +Ref: table-bitwise-ops526626 +Ref: Bitwise Functions-Footnote-1530847 +Node: Type Functions531031 +Node: I18N Functions532182 +Node: User-defined533809 +Node: Definition Syntax534613 +Ref: Definition Syntax-Footnote-1539527 +Node: Function Example539596 +Ref: Function Example-Footnote-1542245 +Node: Function Caveats542267 +Node: Calling A Function542785 +Node: Variable Scope543740 +Node: Pass By Value/Reference546703 +Node: Return Statement550211 +Node: Dynamic Typing553192 +Node: Indirect Calls554123 +Node: Library Functions563810 +Ref: Library Functions-Footnote-1567323 +Ref: Library Functions-Footnote-2567466 +Node: Library Names567637 +Ref: Library Names-Footnote-1571110 +Ref: Library Names-Footnote-2571330 +Node: General Functions571416 +Node: Strtonum Function572444 +Node: Assert Function575374 +Node: Round Function578700 +Node: Cliff Random Function580241 +Node: Ordinal Functions581257 +Ref: Ordinal Functions-Footnote-1584334 +Ref: Ordinal Functions-Footnote-2584586 +Node: Join Function584797 +Ref: Join Function-Footnote-1586568 +Node: Getlocaltime Function586768 +Node: Readfile Function590509 +Node: Data File Management592348 +Node: Filetrans Function592980 +Node: Rewind Function597049 +Node: File Checking598436 +Node: Empty Files599530 +Node: Ignoring Assigns601760 +Node: Getopt Function603314 +Ref: Getopt Function-Footnote-1614617 +Node: Passwd Functions614820 +Ref: Passwd Functions-Footnote-1623798 +Node: Group Functions623886 +Node: Walking Arrays631970 +Node: Sample Programs634106 +Node: Running Examples634780 +Node: Clones635508 +Node: Cut Program636732 +Node: Egrep Program646583 +Ref: Egrep Program-Footnote-1654356 +Node: Id Program654466 +Node: Split Program658115 +Ref: Split Program-Footnote-1661634 +Node: Tee Program661762 +Node: Uniq Program664565 +Node: Wc Program671994 +Ref: Wc Program-Footnote-1676260 +Ref: Wc Program-Footnote-2676460 +Node: Miscellaneous Programs676552 +Node: Dupword Program677740 +Node: Alarm Program679771 +Node: Translate Program684578 +Ref: Translate Program-Footnote-1688965 +Ref: Translate Program-Footnote-2689213 +Node: Labels Program689347 +Ref: Labels Program-Footnote-1692718 +Node: Word Sorting692802 +Node: History Sorting696686 +Node: Extract Program698525 +Ref: Extract Program-Footnote-1706028 +Node: Simple Sed706156 +Node: Igawk Program709218 +Ref: Igawk Program-Footnote-1724375 +Ref: Igawk Program-Footnote-2724576 +Node: Anagram Program724714 +Node: Signature Program727782 +Node: Advanced Features728882 +Node: Nondecimal Data730768 +Node: Array Sorting732351 +Node: Controlling Array Traversal733048 +Node: Array Sorting Functions741332 +Ref: Array Sorting Functions-Footnote-1745201 +Node: Two-way I/O745395 +Ref: Two-way I/O-Footnote-1750827 +Node: TCP/IP Networking750909 +Node: Profiling753753 +Node: Internationalization761256 +Node: I18N and L10N762681 +Node: Explaining gettext763367 +Ref: Explaining gettext-Footnote-1768435 +Ref: Explaining gettext-Footnote-2768619 +Node: Programmer i18n768784 +Node: Translator i18n772986 +Node: String Extraction773780 +Ref: String Extraction-Footnote-1774741 +Node: Printf Ordering774827 +Ref: Printf Ordering-Footnote-1777609 +Node: I18N Portability777673 +Ref: I18N Portability-Footnote-1780122 +Node: I18N Example780185 +Ref: I18N Example-Footnote-1782823 +Node: Gawk I18N782895 +Node: Debugger783516 +Node: Debugging784487 +Node: Debugging Concepts784920 +Node: Debugging Terms786776 +Node: Awk Debugging789373 +Node: Sample Debugging Session790265 +Node: Debugger Invocation790785 +Node: Finding The Bug792118 +Node: List of Debugger Commands798605 +Node: Breakpoint Control799939 +Node: Debugger Execution Control803603 +Node: Viewing And Changing Data806963 +Node: Execution Stack810319 +Node: Debugger Info811786 +Node: Miscellaneous Debugger Commands815768 +Node: Readline Support820944 +Node: Limitations821775 +Node: Arbitrary Precision Arithmetic824027 +Ref: Arbitrary Precision Arithmetic-Footnote-1825676 +Node: General Arithmetic825824 +Node: Floating Point Issues827544 +Node: String Conversion Precision828425 +Ref: String Conversion Precision-Footnote-1830130 +Node: Unexpected Results830239 +Node: POSIX Floating Point Problems832392 +Ref: POSIX Floating Point Problems-Footnote-1836217 +Node: Integer Programming836255 +Node: Floating-point Programming837994 +Ref: Floating-point Programming-Footnote-1844325 +Ref: Floating-point Programming-Footnote-2844595 +Node: Floating-point Representation844859 +Node: Floating-point Context846024 +Ref: table-ieee-formats846863 +Node: Rounding Mode848247 +Ref: table-rounding-modes848726 +Ref: Rounding Mode-Footnote-1851741 +Node: Gawk and MPFR851920 +Node: Arbitrary Precision Floats853175 +Ref: Arbitrary Precision Floats-Footnote-1855618 +Node: Setting Precision855934 +Ref: table-predefined-precision-strings856620 +Node: Setting Rounding Mode858765 +Ref: table-gawk-rounding-modes859169 +Node: Floating-point Constants860356 +Node: Changing Precision861785 +Ref: Changing Precision-Footnote-1863182 +Node: Exact Arithmetic863356 +Node: Arbitrary Precision Integers866494 +Ref: Arbitrary Precision Integers-Footnote-1869509 +Node: Dynamic Extensions869656 +Node: Extension Intro871114 +Node: Plugin License872379 +Node: Extension Mechanism Outline873064 +Ref: load-extension873481 +Ref: load-new-function874959 +Ref: call-new-function875954 +Node: Extension API Description877969 +Node: Extension API Functions Introduction879256 +Node: General Data Types884183 +Ref: General Data Types-Footnote-1889878 +Node: Requesting Values890177 +Ref: table-value-types-returned890914 +Node: Memory Allocation Functions891868 +Ref: Memory Allocation Functions-Footnote-1894614 +Node: Constructor Functions894710 +Node: Registration Functions896468 +Node: Extension Functions897153 +Node: Exit Callback Functions899455 +Node: Extension Version String900704 +Node: Input Parsers901354 +Node: Output Wrappers911111 +Node: Two-way processors915621 +Node: Printing Messages917829 +Ref: Printing Messages-Footnote-1918906 +Node: Updating `ERRNO'919058 +Node: Accessing Parameters919797 +Node: Symbol Table Access921027 +Node: Symbol table by name921541 +Node: Symbol table by cookie923290 +Ref: Symbol table by cookie-Footnote-1927422 +Node: Cached values927485 +Ref: Cached values-Footnote-1930975 +Node: Array Manipulation931066 +Ref: Array Manipulation-Footnote-1932164 +Node: Array Data Types932203 +Ref: Array Data Types-Footnote-1934906 +Node: Array Functions934998 +Node: Flattening Arrays938834 +Node: Creating Arrays945686 +Node: Extension API Variables950411 +Node: Extension Versioning951047 +Node: Extension API Informational Variables952948 +Node: Extension API Boilerplate954034 +Node: Finding Extensions957838 +Node: Extension Example958398 +Node: Internal File Description959128 +Node: Internal File Ops963219 +Ref: Internal File Ops-Footnote-1974728 +Node: Using Internal File Ops974868 +Ref: Using Internal File Ops-Footnote-1977221 +Node: Extension Samples977487 +Node: Extension Sample File Functions979011 +Node: Extension Sample Fnmatch987496 +Node: Extension Sample Fork989265 +Node: Extension Sample Inplace990478 +Node: Extension Sample Ord992256 +Node: Extension Sample Readdir993092 +Node: Extension Sample Revout994624 +Node: Extension Sample Rev2way995217 +Node: Extension Sample Read write array995907 +Node: Extension Sample Readfile997790 +Node: Extension Sample API Tests998608 +Node: Extension Sample Time999133 +Node: gawkextlib1000497 +Node: Language History1003278 +Node: V7/SVR3.11004871 +Node: SVR41007191 +Node: POSIX1008633 +Node: BTL1010019 +Node: POSIX/GNU1010753 +Node: Feature History1016352 +Node: Common Extensions1029328 +Node: Ranges and Locales1030640 +Ref: Ranges and Locales-Footnote-11035257 +Ref: Ranges and Locales-Footnote-21035284 +Ref: Ranges and Locales-Footnote-31035518 +Node: Contributors1035739 +Node: Installation1041120 +Node: Gawk Distribution1042014 +Node: Getting1042498 +Node: Extracting1043324 +Node: Distribution contents1045016 +Node: Unix Installation1050721 +Node: Quick Installation1051338 +Node: Additional Configuration Options1053784 +Node: Configuration Philosophy1055520 +Node: Non-Unix Installation1057874 +Node: PC Installation1058332 +Node: PC Binary Installation1059631 +Node: PC Compiling1061479 +Node: PC Testing1064423 +Node: PC Using1065599 +Node: Cygwin1069767 +Node: MSYS1070576 +Node: VMS Installation1071090 +Node: VMS Compilation1071854 +Ref: VMS Compilation-Footnote-11073106 +Node: VMS Dynamic Extensions1073164 +Node: VMS Installation Details1074537 +Node: VMS Running1076788 +Node: VMS GNV1079622 +Node: VMS Old Gawk1080345 +Node: Bugs1080815 +Node: Other Versions1084733 +Node: Notes1090817 +Node: Compatibility Mode1091617 +Node: Additions1092400 +Node: Accessing The Source1093327 +Node: Adding Code1094767 +Node: New Ports1100812 +Node: Derived Files1104947 +Ref: Derived Files-Footnote-11110268 +Ref: Derived Files-Footnote-21110302 +Ref: Derived Files-Footnote-31110902 +Node: Future Extensions1111000 +Node: Implementation Limitations1111583 +Node: Extension Design1112835 +Node: Old Extension Problems1113989 +Ref: Old Extension Problems-Footnote-11115497 +Node: Extension New Mechanism Goals1115554 +Ref: Extension New Mechanism Goals-Footnote-11118919 +Node: Extension Other Design Decisions1119105 +Node: Extension Future Growth1121211 +Node: Old Extension Mechanism1122047 +Node: Basic Concepts1123787 +Node: Basic High Level1124468 +Ref: figure-general-flow1124739 +Ref: figure-process-flow1125338 +Ref: Basic High Level-Footnote-11128567 +Node: Basic Data Typing1128752 +Node: Glossary1132107 +Node: Copying1157336 +Node: GNU Free Documentation License1194893 +Node: Index1220030  End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index aa9e3ee4..f3c54551 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -134,6 +134,30 @@ @end macro @end ifnothtml +@c Indexing macros +@ifinfo + +@macro cindexawkfunc{name} +@cindex @code{\name\} +@end macro + +@macro cindexgawkfunc{name} +@cindex @code{\name\} +@end macro + +@end ifinfo + +@ifnotinfo + +@macro cindexawkfunc{name} +@cindex @code{\name\()} function +@end macro + +@macro cindexgawkfunc{name} +@cindex @code{\name\()} function (@command{gawk}) +@end macro +@end ifnotinfo + @ignore Some comments on the layout for TeX. 1. Use at least texinfo.tex 2014-01-30.15 @@ -4820,8 +4844,8 @@ means it matches any string that starts with @samp{P} or contains a digit. The alternation applies to the largest possible regexps on either side. -@cindex @code{()} (parentheses) -@cindex parentheses @code{()} +@cindex @code{()} (parentheses), regexp operator +@cindex parentheses @code{()}, regexp operator @item (@dots{}) Parentheses are used for grouping in regular expressions, as in arithmetic. They can be used to concatenate regular expressions @@ -5290,7 +5314,7 @@ This works in any POSIX-compliant @command{awk}. @cindex tilde (@code{~}), @code{~} operator @cindex @code{!} (exclamation point), @code{!~} operator @cindex exclamation point (@code{!}), @code{!~} operator -@cindex @code{IGNORECASE} variable, @code{~} and @code{!~} operators +@cindex @code{IGNORECASE} variable, with @code{~} and @code{!~} operators @cindex @command{gawk}, @code{IGNORECASE} variable in @c @cindex variables, @code{IGNORECASE} Another method, specific to @command{gawk}, is to set the variable @@ -8310,7 +8334,7 @@ numbers can be formatted. The different format specifications are discussed more fully in @ref{Control Letters}. -@cindex @code{sprintf()} function +@cindexawkfunc{sprintf} @cindex @code{OFMT} variable @cindex output, format specifier@comma{} @code{OFMT} The built-in variable @code{OFMT} contains the default format specification @@ -9312,7 +9336,7 @@ the file name or command associated with it, and subsequent writes to the same file or command are appended to the previous writes. The file or pipe stays open until @command{awk} exits. -@cindex @code{close()} function +@cindexawkfunc{close} This implies that special steps are necessary in order to read the same file again from the beginning, or to rerun a shell command (rather than reading more output from the same command). The @code{close()} function @@ -9881,9 +9905,9 @@ upon the contents of the current input record. @cindex differences in @command{awk} and @command{gawk}, regexp constants @cindex dark corner, regexp constants, as arguments to user-defined functions -@cindex @code{gensub()} function (@command{gawk}) -@cindex @code{sub()} function -@cindex @code{gsub()} function +@cindexgawkfunc{gensub} +@cindexawkfunc{sub} +@cindexawkfunc{gsub} Constant regular expressions are also used as the first argument for the @code{gensub()}, @code{sub()}, and @code{gsub()} functions, as the second argument of the @code{match()} function, @@ -15553,19 +15577,19 @@ Return the arctangent of @code{@var{y} / @var{x}} in radians. You can use @samp{pi = atan2(0, -1)} to retrieve the value of @value{PI}. @item cos(@var{x}) -@cindex @code{cos()} function +@cindexawkfunc{cos} @cindex cosine Return the cosine of @var{x}, with @var{x} in radians. @item exp(@var{x}) -@cindex @code{exp()} function +@cindexawkfunc{exp} @cindex exponent Return the exponential of @var{x} (@code{e ^ @var{x}}) or report an error if @var{x} is out of range. The range of values @var{x} can have depends on your machine's floating-point representation. @item int(@var{x}) -@cindex @code{int()} function +@cindexawkfunc{int} @cindex round to nearest integer Return the nearest integer to @var{x}, located between @var{x} and zero and truncated toward zero. @@ -15574,13 +15598,13 @@ For example, @code{int(3)} is 3, @code{int(3.9)} is 3, @code{int(-3.9)} is @minus{}3, and @code{int(-3)} is @minus{}3 as well. @item log(@var{x}) -@cindex @code{log()} function +@cindexawkfunc{log} @cindex logarithm Return the natural logarithm of @var{x}, if @var{x} is positive; otherwise, report an error. @item rand() -@cindex @code{rand()} function +@cindexawkfunc{rand} @cindex random numbers, @code{rand()}/@code{srand()} functions Return a random number. The values of @code{rand()} are uniformly distributed between zero and one. @@ -15638,19 +15662,19 @@ use @code{srand()}. @end quotation @item sin(@var{x}) -@cindex @code{sin()} function +@cindexawkfunc{sin} @cindex sine Return the sine of @var{x}, with @var{x} in radians. @item sqrt(@var{x}) -@cindex @code{sqrt()} function +@cindexawkfunc{sqrt} @cindex square root Return the positive square root of @var{x}. @command{gawk} prints a warning message if @var{x} is negative. Thus, @code{sqrt(4)} is 2. @item srand(@r{[}@var{x}@r{]}) -@cindex @code{srand()} function +@cindexawkfunc{srand} Set the starting point, or seed, for generating random numbers to the value @var{x}. @@ -15709,10 +15733,10 @@ pound sign@w{ (@samp{#}):} @table @code @item asort(@var{source} @r{[}, @var{dest} @r{[}, @var{how} @r{]} @r{]}) # @itemx asorti(@var{source} @r{[}, @var{dest} @r{[}, @var{how} @r{]} @r{]}) # -@cindex @code{asorti()} function (@command{gawk}) +@cindexgawkfunc{asorti} @cindex sort array @cindex arrays, elements, retrieving number of -@cindex @code{asort()} function (@command{gawk}) +@cindexgawkfunc{asort} @cindex sort array indices These two functions are similar in behavior, so they are described together. @@ -15776,7 +15800,7 @@ a[3] = "middle" are not available in compatibility mode (@pxref{Options}). @item gensub(@var{regexp}, @var{replacement}, @var{how} @r{[}, @var{target}@r{]}) # -@cindex @code{gensub()} function (@command{gawk}) +@cindexgawkfunc{gensub} @cindex search and replace in strings @cindex substitute in string Search the target string @var{target} for matches of the regular @@ -15841,7 +15865,7 @@ is the original unchanged value of @var{target}. in compatibility mode (@pxref{Options}). @item gsub(@var{regexp}, @var{replacement} @r{[}, @var{target}@r{]}) -@cindex @code{gsub()} function +@cindexawkfunc{gsub} Search @var{target} for @emph{all} of the longest, leftmost, @emph{nonoverlapping} matching substrings it can find and replace them with @var{replacement}. @@ -15863,7 +15887,7 @@ As in @code{sub()}, the characters @samp{&} and @samp{\} are special, and the third argument must be assignable. @item index(@var{in}, @var{find}) -@cindex @code{index()} function +@cindexawkfunc{index} @cindex search in string @cindex find substring in string Search the string @var{in} for the first occurrence of the string @@ -15882,7 +15906,7 @@ If @var{find} is not found, @code{index()} returns zero. It is a fatal error to use a regexp constant for @var{find}. @item length(@r{[}@var{string}@r{]}) -@cindex @code{length()} function +@cindexawkfunc{length} @cindex string length @cindex length of string Return the number of characters in @var{string}. If @@ -15947,7 +15971,7 @@ If @option{--posix} is supplied, using an array argument is a fatal error (@pxref{Arrays}). @item match(@var{string}, @var{regexp} @r{[}, @var{array}@r{]}) -@cindex @code{match()} function +@cindexawkfunc{match} @cindex string, regular expression match @cindex match regexp in string Search @var{string} for the @@ -16064,7 +16088,7 @@ The @var{array} argument to @code{match()} is a using a third argument is a fatal error. @item patsplit(@var{string}, @var{array} @r{[}, @var{fieldpat} @r{[}, @var{seps} @r{]} @r{]}) # -@cindex @code{patsplit()} function (@command{gawk}) +@cindexgawkfunc{patsplit} @cindex split string into array Divide @var{string} into pieces defined by @var{fieldpat} @@ -16096,7 +16120,7 @@ The @code{patsplit()} function is a it is not available. @item split(@var{string}, @var{array} @r{[}, @var{fieldsep} @r{[}, @var{seps} @r{]} @r{]}) -@cindex @code{split()} function +@cindexawkfunc{split} Divide @var{string} into pieces separated by @var{fieldsep} and store the pieces in @var{array} and the separator strings in the @var{seps} array. The first piece is stored in @@ -16181,7 +16205,7 @@ If @var{string} does not match @var{fieldsep} at all (but is not null), @var{string}. @item sprintf(@var{format}, @var{expression1}, @dots{}) -@cindex @code{sprintf()} function +@cindexawkfunc{sprintf} @cindex formatting strings Return (without printing) the string that @code{printf} would have printed out with the same arguments @@ -16195,7 +16219,7 @@ pival = sprintf("pi = %.2f (approx.)", 22/7) @noindent assigns the string @w{@samp{pi = 3.14 (approx.)}} to the variable @code{pival}. -@cindex @code{strtonum()} function (@command{gawk}) +@cindexgawkfunc{strtonum} @cindex convert string to number @item strtonum(@var{str}) # Examine @var{str} and return its numeric value. If @var{str} @@ -16223,7 +16247,7 @@ for recognizing numbers (@pxref{Locales}). in compatibility mode (@pxref{Options}). @item sub(@var{regexp}, @var{replacement} @r{[}, @var{target}@r{]}) -@cindex @code{sub()} function +@cindexawkfunc{sub} @cindex replace in string Search @var{target}, which is treated as a string, for the leftmost, longest substring matched by the regular expression @var{regexp}. @@ -16324,7 +16348,7 @@ Finally, if the @var{regexp} is not a regexp constant, it is converted into a string, and then the value of that string is treated as the regexp to match. @item substr(@var{string}, @var{start} @r{[}, @var{length}@r{]}) -@cindex @code{substr()} function +@cindexawkfunc{substr} @cindex substring Return a @var{length}-character-long substring of @var{string}, starting at character number @var{start}. The first character of a @@ -16384,7 +16408,7 @@ string = substr(string, 1, 2) "CDE" substr(string, 6) @cindex case sensitivity, converting case @cindex strings, converting letter case @item tolower(@var{string}) -@cindex @code{tolower()} function +@cindexawkfunc{tolower} @cindex convert string to lower case Return a copy of @var{string}, with each uppercase character in the string replaced with its corresponding lowercase character. @@ -16392,7 +16416,7 @@ Nonalphabetic characters are left unchanged. For example, @code{tolower("MiXeD cAsE 123")} returns @code{"mixed case 123"}. @item toupper(@var{string}) -@cindex @code{toupper()} function +@cindexawkfunc{toupper} @cindex convert string to upper case Return a copy of @var{string}, with each lowercase character in the string replaced with its corresponding uppercase character. @@ -16826,7 +16850,7 @@ Optional parameters are enclosed in square brackets ([ ]): @table @code @item close(@var{filename} @r{[}, @var{how}@r{]}) -@cindex @code{close()} function +@cindexawkfunc{close} @cindex files, closing @cindex close file or coprocess Close the file @var{filename} for input or output. Alternatively, the @@ -16845,7 +16869,7 @@ not matter. which discusses this feature in more detail and gives an example. @item fflush(@r{[}@var{filename}@r{]}) -@cindex @code{fflush()} function +@cindexawkfunc{fflush} @cindex flush buffered output Flush any buffered output associated with @var{filename}, which is either a file opened for writing or a shell command for redirecting output to @@ -16905,7 +16929,7 @@ or if @var{filename} is not an open file, pipe, or coprocess. In such a case, @code{fflush()} returns @minus{}1, as well. @item system(@var{command}) -@cindex @code{system()} function +@cindexawkfunc{system} @cindex invoke shell command @cindex interacting with other programs Execute the operating-system @@ -17220,7 +17244,7 @@ Optional parameters are enclosed in square brackets ([ ]): @table @code @item mktime(@var{datespec}) -@cindex @code{mktime()} function (@command{gawk}) +@cindexgawkfunc{mktime} @cindex generate time values Turn @var{datespec} into a timestamp in the same form as is returned by @code{systime()}. It is similar to the function of the @@ -17251,7 +17275,7 @@ is out of range, @code{mktime()} returns @minus{}1. @cindex @code{PROCINFO} array @item strftime(@r{[}@var{format} @r{[}, @var{timestamp} @r{[}, @var{utc-flag}@r{]]]}) @c STARTOFRANGE strf -@cindex @code{strftime()} function (@command{gawk}) +@cindexgawkfunc{strftime} @cindex format time string Format the time specified by @var{timestamp} based on the contents of the @var{format} string and return the result. @@ -17269,10 +17293,10 @@ The default string value is @code{@w{"%a %b %e %H:%M:%S %Z %Y"}}. This format string produces output that is equivalent to that of the @command{date} utility. You can assign a new value to @code{PROCINFO["strftime"]} to -change the default format. +change the default format; see below for the various format directives. @item systime() -@cindex @code{systime()} function (@command{gawk}) +@cindexgawkfunc{systime} @cindex timestamps @cindex current system time Return the current time as the number of seconds since @@ -17731,32 +17755,32 @@ bitwise operations just described. They are: @cindex @command{gawk}, bitwise operations in @table @code -@cindex @code{and()} function (@command{gawk}) +@cindexgawkfunc{and} @cindex bitwise AND @item and(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise AND of the arguments. There must be at least two. -@cindex @code{compl()} function (@command{gawk}) +@cindexgawkfunc{compl} @cindex bitwise complement @item compl(@var{val}) Return the bitwise complement of @var{val}. -@cindex @code{lshift()} function (@command{gawk}) +@cindexgawkfunc{lshift} @cindex left shift @item lshift(@var{val}, @var{count}) Return the value of @var{val}, shifted left by @var{count} bits. -@cindex @code{or()} function (@command{gawk}) +@cindexgawkfunc{or} @cindex bitwise OR @item or(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise OR of the arguments. There must be at least two. -@cindex @code{rshift()} function (@command{gawk}) +@cindexgawkfunc{rshift} @cindex right shift @item rshift(@var{val}, @var{count}) Return the value of @var{val}, shifted right by @var{count} bits. -@cindex @code{xor()} function (@command{gawk}) +@cindexgawkfunc{xor} @cindex bitwise XOR @item xor(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise XOR of the arguments. There must be at least two. @@ -17885,7 +17909,7 @@ that traverses every element of a true multidimensional array (@pxref{Arrays of Arrays}). @table @code -@cindex @code{isarray()} function (@command{gawk}) +@cindexgawkfunc{isarray} @cindex scalar or array @item isarray(@var{x}) Return a true value if @var{x} is an array. Otherwise return false. @@ -17920,7 +17944,7 @@ for the full story. Optional parameters are enclosed in square brackets ([ ]): @table @code -@cindex @code{bindtextdomain()} function (@command{gawk}) +@cindexgawkfunc{bindtextdomain} @cindex set directory of message catalogs @item bindtextdomain(@var{directory} @r{[}, @var{domain}@r{]}) Set the directory in which @@ -17934,7 +17958,7 @@ If @var{directory} is the null string (@code{""}), then @code{bindtextdomain()} returns the current binding for the given @var{domain}. -@cindex @code{dcgettext()} function (@command{gawk}) +@cindexgawkfunc{dcgettext} @cindex translate string @item dcgettext(@var{string} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the translation of @var{string} in @@ -17942,7 +17966,7 @@ text domain @var{domain} for locale category @var{category}. The default value for @var{domain} is the current value of @code{TEXTDOMAIN}. The default value for @var{category} is @code{"LC_MESSAGES"}. -@cindex @code{dcngettext()} function (@command{gawk}) +@cindexgawkfunc{dcngettext} @item dcngettext(@var{string1}, @var{string2}, @var{number} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the plural form used for @var{number} of the translation of @var{string1} and @var{string2} in text domain @@ -25524,9 +25548,9 @@ sorted array traversal is not the default. @subsection Sorting Array Values and Indices with @command{gawk} @cindex arrays, sorting -@cindex @code{asort()} function (@command{gawk}) +@cindexgawkfunc{asort} @cindex @code{asort()} function (@command{gawk}), arrays@comma{} sorting -@cindex @code{asorti()} function (@command{gawk}) +@cindexgawkfunc{asorti} @cindex @code{asorti()} function (@command{gawk}), arrays@comma{} sorting @cindex sort function, arrays, sorting In most @command{awk} implementations, sorting an array requires writing @@ -26506,7 +26530,7 @@ String constants marked with a leading underscore are candidates for translation at runtime. String constants without a leading underscore are not translated. -@cindex @code{dcgettext()} function (@command{gawk}) +@cindexgawkfunc{dcgettext} @item dcgettext(@var{string} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the translation of @var{string} in text domain @var{domain} for locale category @var{category}. @@ -26532,7 +26556,7 @@ chosen to be simple and to allow for reasonable @command{awk}-style default arguments. @end quotation -@cindex @code{dcngettext()} function (@command{gawk}) +@cindexgawkfunc{dcngettext} @item dcngettext(@var{string1}, @var{string2}, @var{number} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the plural form used for @var{number} of the translation of @var{string1} and @var{string2} in text domain @@ -26548,7 +26572,7 @@ The same remarks about argument order as for the @code{dcgettext()} function app @cindex files, @code{.gmo}, specifying directory of @cindex message object files, specifying directory of @cindex files, message object, specifying directory of -@cindex @code{bindtextdomain()} function (@command{gawk}) +@cindexgawkfunc{bindtextdomain} @item bindtextdomain(@var{directory} @r{[}, @var{domain}@r{]}) Change the directory in which @code{gettext} looks for @file{.gmo} files, in case they diff --git a/doc/gawktexi.in b/doc/gawktexi.in index bd604300..7ca73834 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -129,6 +129,30 @@ @end macro @end ifnothtml +@c Indexing macros +@ifinfo + +@macro cindexawkfunc{name} +@cindex @code{\name\} +@end macro + +@macro cindexgawkfunc{name} +@cindex @code{\name\} +@end macro + +@end ifinfo + +@ifnotinfo + +@macro cindexawkfunc{name} +@cindex @code{\name\()} function +@end macro + +@macro cindexgawkfunc{name} +@cindex @code{\name\()} function (@command{gawk}) +@end macro +@end ifnotinfo + @ignore Some comments on the layout for TeX. 1. Use at least texinfo.tex 2014-01-30.15 @@ -4665,8 +4689,8 @@ means it matches any string that starts with @samp{P} or contains a digit. The alternation applies to the largest possible regexps on either side. -@cindex @code{()} (parentheses) -@cindex parentheses @code{()} +@cindex @code{()} (parentheses), regexp operator +@cindex parentheses @code{()}, regexp operator @item (@dots{}) Parentheses are used for grouping in regular expressions, as in arithmetic. They can be used to concatenate regular expressions @@ -5135,7 +5159,7 @@ This works in any POSIX-compliant @command{awk}. @cindex tilde (@code{~}), @code{~} operator @cindex @code{!} (exclamation point), @code{!~} operator @cindex exclamation point (@code{!}), @code{!~} operator -@cindex @code{IGNORECASE} variable, @code{~} and @code{!~} operators +@cindex @code{IGNORECASE} variable, with @code{~} and @code{!~} operators @cindex @command{gawk}, @code{IGNORECASE} variable in @c @cindex variables, @code{IGNORECASE} Another method, specific to @command{gawk}, is to set the variable @@ -7928,7 +7952,7 @@ numbers can be formatted. The different format specifications are discussed more fully in @ref{Control Letters}. -@cindex @code{sprintf()} function +@cindexawkfunc{sprintf} @cindex @code{OFMT} variable @cindex output, format specifier@comma{} @code{OFMT} The built-in variable @code{OFMT} contains the default format specification @@ -8892,7 +8916,7 @@ the file name or command associated with it, and subsequent writes to the same file or command are appended to the previous writes. The file or pipe stays open until @command{awk} exits. -@cindex @code{close()} function +@cindexawkfunc{close} This implies that special steps are necessary in order to read the same file again from the beginning, or to rerun a shell command (rather than reading more output from the same command). The @code{close()} function @@ -9370,9 +9394,9 @@ upon the contents of the current input record. @cindex differences in @command{awk} and @command{gawk}, regexp constants @cindex dark corner, regexp constants, as arguments to user-defined functions -@cindex @code{gensub()} function (@command{gawk}) -@cindex @code{sub()} function -@cindex @code{gsub()} function +@cindexgawkfunc{gensub} +@cindexawkfunc{sub} +@cindexawkfunc{gsub} Constant regular expressions are also used as the first argument for the @code{gensub()}, @code{sub()}, and @code{gsub()} functions, as the second argument of the @code{match()} function, @@ -14884,19 +14908,19 @@ Return the arctangent of @code{@var{y} / @var{x}} in radians. You can use @samp{pi = atan2(0, -1)} to retrieve the value of @value{PI}. @item cos(@var{x}) -@cindex @code{cos()} function +@cindexawkfunc{cos} @cindex cosine Return the cosine of @var{x}, with @var{x} in radians. @item exp(@var{x}) -@cindex @code{exp()} function +@cindexawkfunc{exp} @cindex exponent Return the exponential of @var{x} (@code{e ^ @var{x}}) or report an error if @var{x} is out of range. The range of values @var{x} can have depends on your machine's floating-point representation. @item int(@var{x}) -@cindex @code{int()} function +@cindexawkfunc{int} @cindex round to nearest integer Return the nearest integer to @var{x}, located between @var{x} and zero and truncated toward zero. @@ -14905,13 +14929,13 @@ For example, @code{int(3)} is 3, @code{int(3.9)} is 3, @code{int(-3.9)} is @minus{}3, and @code{int(-3)} is @minus{}3 as well. @item log(@var{x}) -@cindex @code{log()} function +@cindexawkfunc{log} @cindex logarithm Return the natural logarithm of @var{x}, if @var{x} is positive; otherwise, report an error. @item rand() -@cindex @code{rand()} function +@cindexawkfunc{rand} @cindex random numbers, @code{rand()}/@code{srand()} functions Return a random number. The values of @code{rand()} are uniformly distributed between zero and one. @@ -14969,19 +14993,19 @@ use @code{srand()}. @end quotation @item sin(@var{x}) -@cindex @code{sin()} function +@cindexawkfunc{sin} @cindex sine Return the sine of @var{x}, with @var{x} in radians. @item sqrt(@var{x}) -@cindex @code{sqrt()} function +@cindexawkfunc{sqrt} @cindex square root Return the positive square root of @var{x}. @command{gawk} prints a warning message if @var{x} is negative. Thus, @code{sqrt(4)} is 2. @item srand(@r{[}@var{x}@r{]}) -@cindex @code{srand()} function +@cindexawkfunc{srand} Set the starting point, or seed, for generating random numbers to the value @var{x}. @@ -15040,10 +15064,10 @@ pound sign@w{ (@samp{#}):} @table @code @item asort(@var{source} @r{[}, @var{dest} @r{[}, @var{how} @r{]} @r{]}) # @itemx asorti(@var{source} @r{[}, @var{dest} @r{[}, @var{how} @r{]} @r{]}) # -@cindex @code{asorti()} function (@command{gawk}) +@cindexgawkfunc{asorti} @cindex sort array @cindex arrays, elements, retrieving number of -@cindex @code{asort()} function (@command{gawk}) +@cindexgawkfunc{asort} @cindex sort array indices These two functions are similar in behavior, so they are described together. @@ -15107,7 +15131,7 @@ a[3] = "middle" are not available in compatibility mode (@pxref{Options}). @item gensub(@var{regexp}, @var{replacement}, @var{how} @r{[}, @var{target}@r{]}) # -@cindex @code{gensub()} function (@command{gawk}) +@cindexgawkfunc{gensub} @cindex search and replace in strings @cindex substitute in string Search the target string @var{target} for matches of the regular @@ -15172,7 +15196,7 @@ is the original unchanged value of @var{target}. in compatibility mode (@pxref{Options}). @item gsub(@var{regexp}, @var{replacement} @r{[}, @var{target}@r{]}) -@cindex @code{gsub()} function +@cindexawkfunc{gsub} Search @var{target} for @emph{all} of the longest, leftmost, @emph{nonoverlapping} matching substrings it can find and replace them with @var{replacement}. @@ -15194,7 +15218,7 @@ As in @code{sub()}, the characters @samp{&} and @samp{\} are special, and the third argument must be assignable. @item index(@var{in}, @var{find}) -@cindex @code{index()} function +@cindexawkfunc{index} @cindex search in string @cindex find substring in string Search the string @var{in} for the first occurrence of the string @@ -15213,7 +15237,7 @@ If @var{find} is not found, @code{index()} returns zero. It is a fatal error to use a regexp constant for @var{find}. @item length(@r{[}@var{string}@r{]}) -@cindex @code{length()} function +@cindexawkfunc{length} @cindex string length @cindex length of string Return the number of characters in @var{string}. If @@ -15278,7 +15302,7 @@ If @option{--posix} is supplied, using an array argument is a fatal error (@pxref{Arrays}). @item match(@var{string}, @var{regexp} @r{[}, @var{array}@r{]}) -@cindex @code{match()} function +@cindexawkfunc{match} @cindex string, regular expression match @cindex match regexp in string Search @var{string} for the @@ -15395,7 +15419,7 @@ The @var{array} argument to @code{match()} is a using a third argument is a fatal error. @item patsplit(@var{string}, @var{array} @r{[}, @var{fieldpat} @r{[}, @var{seps} @r{]} @r{]}) # -@cindex @code{patsplit()} function (@command{gawk}) +@cindexgawkfunc{patsplit} @cindex split string into array Divide @var{string} into pieces defined by @var{fieldpat} @@ -15427,7 +15451,7 @@ The @code{patsplit()} function is a it is not available. @item split(@var{string}, @var{array} @r{[}, @var{fieldsep} @r{[}, @var{seps} @r{]} @r{]}) -@cindex @code{split()} function +@cindexawkfunc{split} Divide @var{string} into pieces separated by @var{fieldsep} and store the pieces in @var{array} and the separator strings in the @var{seps} array. The first piece is stored in @@ -15512,7 +15536,7 @@ If @var{string} does not match @var{fieldsep} at all (but is not null), @var{string}. @item sprintf(@var{format}, @var{expression1}, @dots{}) -@cindex @code{sprintf()} function +@cindexawkfunc{sprintf} @cindex formatting strings Return (without printing) the string that @code{printf} would have printed out with the same arguments @@ -15526,7 +15550,7 @@ pival = sprintf("pi = %.2f (approx.)", 22/7) @noindent assigns the string @w{@samp{pi = 3.14 (approx.)}} to the variable @code{pival}. -@cindex @code{strtonum()} function (@command{gawk}) +@cindexgawkfunc{strtonum} @cindex convert string to number @item strtonum(@var{str}) # Examine @var{str} and return its numeric value. If @var{str} @@ -15554,7 +15578,7 @@ for recognizing numbers (@pxref{Locales}). in compatibility mode (@pxref{Options}). @item sub(@var{regexp}, @var{replacement} @r{[}, @var{target}@r{]}) -@cindex @code{sub()} function +@cindexawkfunc{sub} @cindex replace in string Search @var{target}, which is treated as a string, for the leftmost, longest substring matched by the regular expression @var{regexp}. @@ -15655,7 +15679,7 @@ Finally, if the @var{regexp} is not a regexp constant, it is converted into a string, and then the value of that string is treated as the regexp to match. @item substr(@var{string}, @var{start} @r{[}, @var{length}@r{]}) -@cindex @code{substr()} function +@cindexawkfunc{substr} @cindex substring Return a @var{length}-character-long substring of @var{string}, starting at character number @var{start}. The first character of a @@ -15715,7 +15739,7 @@ string = substr(string, 1, 2) "CDE" substr(string, 6) @cindex case sensitivity, converting case @cindex strings, converting letter case @item tolower(@var{string}) -@cindex @code{tolower()} function +@cindexawkfunc{tolower} @cindex convert string to lower case Return a copy of @var{string}, with each uppercase character in the string replaced with its corresponding lowercase character. @@ -15723,7 +15747,7 @@ Nonalphabetic characters are left unchanged. For example, @code{tolower("MiXeD cAsE 123")} returns @code{"mixed case 123"}. @item toupper(@var{string}) -@cindex @code{toupper()} function +@cindexawkfunc{toupper} @cindex convert string to upper case Return a copy of @var{string}, with each lowercase character in the string replaced with its corresponding uppercase character. @@ -16124,7 +16148,7 @@ Optional parameters are enclosed in square brackets ([ ]): @table @code @item close(@var{filename} @r{[}, @var{how}@r{]}) -@cindex @code{close()} function +@cindexawkfunc{close} @cindex files, closing @cindex close file or coprocess Close the file @var{filename} for input or output. Alternatively, the @@ -16143,7 +16167,7 @@ not matter. which discusses this feature in more detail and gives an example. @item fflush(@r{[}@var{filename}@r{]}) -@cindex @code{fflush()} function +@cindexawkfunc{fflush} @cindex flush buffered output Flush any buffered output associated with @var{filename}, which is either a file opened for writing or a shell command for redirecting output to @@ -16203,7 +16227,7 @@ or if @var{filename} is not an open file, pipe, or coprocess. In such a case, @code{fflush()} returns @minus{}1, as well. @item system(@var{command}) -@cindex @code{system()} function +@cindexawkfunc{system} @cindex invoke shell command @cindex interacting with other programs Execute the operating-system @@ -16390,7 +16414,7 @@ Optional parameters are enclosed in square brackets ([ ]): @table @code @item mktime(@var{datespec}) -@cindex @code{mktime()} function (@command{gawk}) +@cindexgawkfunc{mktime} @cindex generate time values Turn @var{datespec} into a timestamp in the same form as is returned by @code{systime()}. It is similar to the function of the @@ -16421,7 +16445,7 @@ is out of range, @code{mktime()} returns @minus{}1. @cindex @code{PROCINFO} array @item strftime(@r{[}@var{format} @r{[}, @var{timestamp} @r{[}, @var{utc-flag}@r{]]]}) @c STARTOFRANGE strf -@cindex @code{strftime()} function (@command{gawk}) +@cindexgawkfunc{strftime} @cindex format time string Format the time specified by @var{timestamp} based on the contents of the @var{format} string and return the result. @@ -16439,10 +16463,10 @@ The default string value is @code{@w{"%a %b %e %H:%M:%S %Z %Y"}}. This format string produces output that is equivalent to that of the @command{date} utility. You can assign a new value to @code{PROCINFO["strftime"]} to -change the default format. +change the default format; see below for the various format directives. @item systime() -@cindex @code{systime()} function (@command{gawk}) +@cindexgawkfunc{systime} @cindex timestamps @cindex current system time Return the current time as the number of seconds since @@ -16901,32 +16925,32 @@ bitwise operations just described. They are: @cindex @command{gawk}, bitwise operations in @table @code -@cindex @code{and()} function (@command{gawk}) +@cindexgawkfunc{and} @cindex bitwise AND @item and(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise AND of the arguments. There must be at least two. -@cindex @code{compl()} function (@command{gawk}) +@cindexgawkfunc{compl} @cindex bitwise complement @item compl(@var{val}) Return the bitwise complement of @var{val}. -@cindex @code{lshift()} function (@command{gawk}) +@cindexgawkfunc{lshift} @cindex left shift @item lshift(@var{val}, @var{count}) Return the value of @var{val}, shifted left by @var{count} bits. -@cindex @code{or()} function (@command{gawk}) +@cindexgawkfunc{or} @cindex bitwise OR @item or(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise OR of the arguments. There must be at least two. -@cindex @code{rshift()} function (@command{gawk}) +@cindexgawkfunc{rshift} @cindex right shift @item rshift(@var{val}, @var{count}) Return the value of @var{val}, shifted right by @var{count} bits. -@cindex @code{xor()} function (@command{gawk}) +@cindexgawkfunc{xor} @cindex bitwise XOR @item xor(@var{v1}, @var{v2} @r{[}, @r{@dots{}]}) Return the bitwise XOR of the arguments. There must be at least two. @@ -17055,7 +17079,7 @@ that traverses every element of a true multidimensional array (@pxref{Arrays of Arrays}). @table @code -@cindex @code{isarray()} function (@command{gawk}) +@cindexgawkfunc{isarray} @cindex scalar or array @item isarray(@var{x}) Return a true value if @var{x} is an array. Otherwise return false. @@ -17090,7 +17114,7 @@ for the full story. Optional parameters are enclosed in square brackets ([ ]): @table @code -@cindex @code{bindtextdomain()} function (@command{gawk}) +@cindexgawkfunc{bindtextdomain} @cindex set directory of message catalogs @item bindtextdomain(@var{directory} @r{[}, @var{domain}@r{]}) Set the directory in which @@ -17104,7 +17128,7 @@ If @var{directory} is the null string (@code{""}), then @code{bindtextdomain()} returns the current binding for the given @var{domain}. -@cindex @code{dcgettext()} function (@command{gawk}) +@cindexgawkfunc{dcgettext} @cindex translate string @item dcgettext(@var{string} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the translation of @var{string} in @@ -17112,7 +17136,7 @@ text domain @var{domain} for locale category @var{category}. The default value for @var{domain} is the current value of @code{TEXTDOMAIN}. The default value for @var{category} is @code{"LC_MESSAGES"}. -@cindex @code{dcngettext()} function (@command{gawk}) +@cindexgawkfunc{dcngettext} @item dcngettext(@var{string1}, @var{string2}, @var{number} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the plural form used for @var{number} of the translation of @var{string1} and @var{string2} in text domain @@ -24665,9 +24689,9 @@ sorted array traversal is not the default. @subsection Sorting Array Values and Indices with @command{gawk} @cindex arrays, sorting -@cindex @code{asort()} function (@command{gawk}) +@cindexgawkfunc{asort} @cindex @code{asort()} function (@command{gawk}), arrays@comma{} sorting -@cindex @code{asorti()} function (@command{gawk}) +@cindexgawkfunc{asorti} @cindex @code{asorti()} function (@command{gawk}), arrays@comma{} sorting @cindex sort function, arrays, sorting In most @command{awk} implementations, sorting an array requires writing @@ -25647,7 +25671,7 @@ String constants marked with a leading underscore are candidates for translation at runtime. String constants without a leading underscore are not translated. -@cindex @code{dcgettext()} function (@command{gawk}) +@cindexgawkfunc{dcgettext} @item dcgettext(@var{string} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the translation of @var{string} in text domain @var{domain} for locale category @var{category}. @@ -25673,7 +25697,7 @@ chosen to be simple and to allow for reasonable @command{awk}-style default arguments. @end quotation -@cindex @code{dcngettext()} function (@command{gawk}) +@cindexgawkfunc{dcngettext} @item dcngettext(@var{string1}, @var{string2}, @var{number} @r{[}, @var{domain} @r{[}, @var{category}@r{]]}) Return the plural form used for @var{number} of the translation of @var{string1} and @var{string2} in text domain @@ -25689,7 +25713,7 @@ The same remarks about argument order as for the @code{dcgettext()} function app @cindex files, @code{.gmo}, specifying directory of @cindex message object files, specifying directory of @cindex files, message object, specifying directory of -@cindex @code{bindtextdomain()} function (@command{gawk}) +@cindexgawkfunc{bindtextdomain} @item bindtextdomain(@var{directory} @r{[}, @var{domain}@r{]}) Change the directory in which @code{gettext} looks for @file{.gmo} files, in case they -- cgit v1.2.1