diff options
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 1166 | ||||
-rw-r--r-- | doc/gawk.texi | 99 | ||||
-rw-r--r-- | doc/gawktexi.in | 99 |
4 files changed, 639 insertions, 729 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index c8bfb6e8..30f7d1b0 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-07 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: More minor fixes, update UPDATE_MONTH. + 2014-02-03 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: More minor fixes, in indexing. diff --git a/doc/gawk.info b/doc/gawk.info index 2667d53f..6e721a2b 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1816,18 +1816,8 @@ and the first four months of the current year. Mar 24 75 70 495 Apr 21 70 74 514 - If you are reading this in GNU Emacs using Info, you can copy the -regions of text showing these sample files into your own test files. -This way you can try out the examples shown in the remainder of this -document. You do this by using the command `M-x write-region' to copy -text from the Info file into a file for use with `awk' (*Note -Miscellaneous File Operations: (emacs)Misc File Ops, for more -information). Using this information, create your own `BBS-list' and -`inventory-shipped' files and practice what you learn in this Info file. - - If you are using the stand-alone version of Info, see *note Extract -Program::, for an `awk' program that extracts these data files from -`gawk.texi', the (generated) Texinfo source file for this Info file. + The sample files are included in the `gawk' distribution, in the +directory `awklib/eg/data'. File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, Up: Getting Started @@ -2238,7 +2228,7 @@ File: gawk.info, Node: Invoking Gawk, Next: Regexp, Prev: Getting Started, U 2 Running `awk' and `gawk' ************************** -This major node covers how to run awk, both POSIX-standard and +This major node covers how to run `awk', both POSIX-standard and `gawk'-specific command-line options, and what `awk' and `gawk' do with non-option arguments. It then proceeds to cover how `gawk' searches for source files, reading standard input along with other files, @@ -2314,22 +2304,8 @@ The following list describes options mandated by the POSIX standard: `--file SOURCE-FILE' Read `awk' program source from SOURCE-FILE instead of in the first non-option argument. This option may be given multiple times; the - `awk' program consists of the concatenation the contents of each - specified SOURCE-FILE. - -`-i SOURCE-FILE' -`--include SOURCE-FILE' - Read `awk' source library from SOURCE-FILE. This option is - completely equivalent to using the `@include' directive inside - your program. This option is very similar to the `-f' option, but - there are two important differences. First, when `-i' is used, - the program source will not be loaded if it has been previously - loaded, whereas the `-f' will always load the file. Second, - because this option is intended to be used with code libraries, - `gawk' does not recognize such files as constituting main program - input. Thus, after processing an `-i' argument, `gawk' still - expects to find the main source code via the `-f' option or on the - command-line. + `awk' program consists of the concatenation of the contents of + each specified SOURCE-FILE. `-v VAR=VAL' `--assign VAR=VAL' @@ -2458,6 +2434,20 @@ The following list describes options mandated by the POSIX standard: Print a "usage" message summarizing the short and long style options that `gawk' accepts and then exit. +`-i SOURCE-FILE' +`--include SOURCE-FILE' + Read `awk' source library from SOURCE-FILE. This option is + completely equivalent to using the `@include' directive inside + your program. This option is very similar to the `-f' option, but + there are two important differences. First, when `-i' is used, + the program source will not be loaded if it has been previously + loaded, whereas the `-f' will always load the file. Second, + because this option is intended to be used with code libraries, + `gawk' does not recognize such files as constituting main program + input. Thus, after processing an `-i' argument, `gawk' still + expects to find the main source code via the `-f' option or on the + command-line. + `-l LIB' `--load LIB' Load a shared library LIB. This searches for the library using the @@ -4765,14 +4755,15 @@ File: gawk.info, Node: Constant Size, Next: Splitting By Content, Prev: Field 4.6 Reading Fixed-Width Data ============================ -(This minor node discusses an advanced feature of `awk'. If you are a -novice `awk' user, you might want to skip it on the first reading.) + NOTE: This minor node discusses an advanced feature of `gawk'. If + you are a novice `awk' user, you might want to skip it on the + first reading. -`gawk' provides a facility for dealing with fixed-width fields with no -distinctive field separator. For example, data of this nature arises -in the input for old Fortran programs where numbers are run together, -or in the output of programs that did not anticipate the use of their -output as input for other programs. + `gawk' provides a facility for dealing with fixed-width fields with +no distinctive field separator. For example, data of this nature +arises in the input for old Fortran programs where numbers are run +together, or in the output of programs that did not anticipate the use +of their output as input for other programs. An example of the latter is a table where all the columns are lined up by the use of a variable number of spaces and _empty fields are just @@ -4871,10 +4862,11 @@ File: gawk.info, Node: Splitting By Content, Next: Multiple Line, Prev: Const 4.7 Defining Fields By Content ============================== -(This minor node discusses an advanced feature of `awk'. If you are a -novice `awk' user, you might want to skip it on the first reading.) + NOTE: This minor node discusses an advanced feature of `gawk'. If + you are a novice `awk' user, you might want to skip it on the + first reading. -Normally, when using `FS', `gawk' defines the fields as the parts of + Normally, when using `FS', `gawk' defines the fields as the parts of the record that occur in between each field separator. In other words, `FS' defines what a field _is not_, instead of what a field _is_. However, there are times when you really want to define the fields by @@ -21889,11 +21881,8 @@ that use them. allowing `gawk' to use them as it needs to. `typedef enum awk_bool {' - ` awk_false = 0,' - ` awk_true' - `} awk_bool_t;' A simple boolean type. @@ -30014,13 +30003,13 @@ Index * - (hyphen), -- operator: Increment Ops. (line 48) * - (hyphen), -= operator <1>: Precedence. (line 95) * - (hyphen), -= operator: Assignment Ops. (line 129) -* - (hyphen), filenames beginning with: Options. (line 73) +* - (hyphen), filenames beginning with: Options. (line 59) * - (hyphen), in bracket expressions: Bracket Expressions. (line 17) -* --assign option: Options. (line 46) +* --assign option: Options. (line 32) * --bignum option: Options. (line 201) -* --characters-as-bytes option: Options. (line 82) -* --copyright option: Options. (line 102) -* --debug option: Options. (line 122) +* --characters-as-bytes option: Options. (line 68) +* --copyright option: Options. (line 88) +* --debug option: Options. (line 108) * --disable-extensions configuration option: Additional Configuration Options. (line 9) * --disable-lint configuration option: Additional Configuration Options. @@ -30028,14 +30017,14 @@ Index * --disable-nls configuration option: Additional Configuration Options. (line 30) * --dump-variables option <1>: Library Names. (line 45) -* --dump-variables option: Options. (line 107) -* --exec option: Options. (line 139) +* --dump-variables option: Options. (line 93) +* --exec option: Options. (line 125) * --field-separator option: Options. (line 21) * --file option: Options. (line 25) * --gen-pot option <1>: String Extraction. (line 6) -* --gen-pot option: Options. (line 161) -* --help option: Options. (line 168) -* --include option: Options. (line 32) +* --gen-pot option: Options. (line 147) +* --help option: Options. (line 154) +* --include option: Options. (line 159) * --lint option <1>: Options. (line 182) * --lint option: Command Line. (line 20) * --lint-old option: Options. (line 288) @@ -30057,20 +30046,20 @@ Index * --sandbox option, input redirection with getline: Getline. (line 19) * --sandbox option, output redirection with print, printf: Redirection. (line 6) -* --source option: Options. (line 131) -* --traditional option: Options. (line 95) +* --source option: Options. (line 117) +* --traditional option: Options. (line 81) * --traditional option, --posix option and: Options. (line 266) * --use-lc-numeric option: Options. (line 215) * --version option: Options. (line 293) * --with-whiny-user-strftime configuration option: Additional Configuration Options. (line 35) -* -b option: Options. (line 82) -* -C option: Options. (line 102) -* -c option: Options. (line 95) -* -D option: Options. (line 122) -* -d option: Options. (line 107) -* -E option: Options. (line 139) -* -e option: Options. (line 131) +* -b option: Options. (line 68) +* -C option: Options. (line 88) +* -c option: Options. (line 81) +* -D option: Options. (line 108) +* -d option: Options. (line 93) +* -E option: Options. (line 125) +* -e option: Options. (line 117) * -F option: Command Line Field Separator. (line 6) * -f option: Options. (line 25) @@ -30078,9 +30067,9 @@ Index * -f option: Long. (line 12) * -F option, -Ft sets FS to TAB: Options. (line 301) * -f option, multiple uses: Options. (line 306) -* -g option: Options. (line 161) -* -h option: Options. (line 168) -* -i option: Options. (line 32) +* -g option: Options. (line 147) +* -h option: Options. (line 154) +* -i option: Options. (line 159) * -L option: Options. (line 288) * -l option: Options. (line 173) * -M option: Options. (line 201) @@ -30094,8 +30083,8 @@ Index * -S option: Options. (line 279) * -v option: Assignment Options. (line 12) * -V option: Options. (line 293) -* -v option: Options. (line 46) -* -W option: Options. (line 60) +* -v option: Options. (line 32) +* -W option: Options. (line 46) * . (period): Regexp Operators. (line 43) * .gmo files: Explaining gettext. (line 41) * .gmo files, converting from .po: I18N Example. (line 62) @@ -30224,7 +30213,7 @@ Index * Ada programming language: Glossary. (line 20) * adding, features to gawk: Adding Code. (line 6) * adding, fields: Changing Fields. (line 53) -* advanced features, fixed-width data: Constant Size. (line 9) +* advanced features, fixed-width data: Constant Size. (line 10) * advanced features, gawk: Advanced Features. (line 6) * advanced features, network connections, See Also networks, connections: Advanced Features. (line 6) @@ -30233,7 +30222,7 @@ Index * advanced features, processes, communicating with: Two-way I/O. (line 23) * advanced features, specifying field content: Splitting By Content. - (line 9) + (line 10) * Aho, Alfred <1>: Contributors. (line 11) * Aho, Alfred: History. (line 17) * alarm clock example program: Alarm Program. (line 9) @@ -30335,7 +30324,7 @@ Index * asterisk (*), *= operator: Assignment Ops. (line 129) * atan2() function: Numeric Functions. (line 11) * awf (amazingly workable formatter) program: Glossary. (line 25) -* awk debugging, enabling: Options. (line 122) +* awk debugging, enabling: Options. (line 108) * awk language, POSIX version: Assignment Ops. (line 136) * awk profiling, enabling: Options. (line 235) * awk programs <1>: Two Rules. (line 6) @@ -30393,7 +30382,7 @@ Index * AWKPATH environment variable: AWKPATH Variable. (line 6) * awkprof.out file: Profiling. (line 6) * awksed.awk program: Simple Sed. (line 25) -* awkvars.out file: Options. (line 107) +* awkvars.out file: Options. (line 93) * b debugger command (alias for break): Breakpoint Control. (line 11) * backslash (\) <1>: Regexp Operators. (line 18) * backslash (\) <2>: Quoting. (line 31) @@ -30537,7 +30526,7 @@ Index * built-in functions: Functions. (line 6) * built-in functions, evaluation order: Calling Built-in. (line 30) * built-in variables: Built-in Variables. (line 6) -* built-in variables, -v option, setting with: Options. (line 54) +* built-in variables, -v option, setting with: Options. (line 40) * built-in variables, conveying information: Auto-set. (line 6) * built-in variables, user-modifiable: User-modified. (line 6) * Busybox Awk: Other Versions. (line 88) @@ -30560,7 +30549,7 @@ Index * case sensitivity, regexps and <1>: User-modified. (line 82) * case sensitivity, regexps and: Case-sensitivity. (line 6) * case sensitivity, string comparisons and: User-modified. (line 82) -* CGI, awk scripts for: Options. (line 139) +* CGI, awk scripts for: Options. (line 125) * character lists, See bracket expressions: Regexp Operators. (line 55) * character sets (machine character encodings) <1>: Glossary. (line 141) * character sets (machine character encodings): Ordinal Functions. @@ -30613,7 +30602,7 @@ Index (line 6) * command line, options <2>: Options. (line 6) * command line, options: Long. (line 12) -* command line, options, end of: Options. (line 68) +* command line, options, end of: Options. (line 54) * command line, variables, assigning on: Assignment Options. (line 6) * command-line options, processing: Getopt Function. (line 6) * command-line options, string extraction: String Extraction. (line 6) @@ -30647,7 +30636,7 @@ Index (line 60) * compatibility mode (gawk), octal numbers: Nondecimal-numbers. (line 60) -* compatibility mode (gawk), specifying: Options. (line 95) +* compatibility mode (gawk), specifying: Options. (line 81) * compiled programs <1>: Glossary. (line 165) * compiled programs: Basic High Level. (line 15) * compiling gawk for Cygwin: Cygwin. (line 6) @@ -30752,7 +30741,7 @@ Index * dark corner, split() function: String Functions. (line 358) * dark corner, strings, storing: Records. (line 195) * dark corner, value of ARGV[0]: Auto-set. (line 35) -* data, fixed-width: Constant Size. (line 9) +* data, fixed-width: Constant Size. (line 10) * data-driven languages: Basic High Level. (line 85) * database, group, reading: Group Functions. (line 6) * database, users, reading: Passwd Functions. (line 6) @@ -31140,7 +31129,7 @@ Index * fields, single-character: Single Character Fields. (line 6) * FIELDWIDTHS variable <1>: User-modified. (line 35) -* FIELDWIDTHS variable: Constant Size. (line 22) +* FIELDWIDTHS variable: Constant Size. (line 23) * file descriptors: Special FD. (line 6) * file names, distinguishing: Auto-set. (line 52) * file names, in compatibility mode: Special Caveats. (line 9) @@ -31164,7 +31153,7 @@ Index * files, as single records: Records. (line 200) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 6) -* files, awkvars.out: Options. (line 107) +* files, awkvars.out: Options. (line 93) * files, closing: I/O Functions. (line 10) * files, descriptors, See file descriptors: Special FD. (line 6) * files, group: Group Functions. (line 6) @@ -31191,7 +31180,7 @@ Index * files, portable object template: Explaining gettext. (line 30) * files, portable object, converting to message object files: I18N Example. (line 62) -* files, portable object, generating: Options. (line 161) +* files, portable object, generating: Options. (line 147) * files, processing, ARGIND variable and: Auto-set. (line 47) * files, reading: Rewind Function. (line 6) * files, reading, multiline records: Multiple Line. (line 6) @@ -31203,7 +31192,7 @@ Index * finish debugger command: Debugger Execution Control. (line 39) * Fish, Fred: Contributors. (line 50) -* fixed-width data: Constant Size. (line 9) +* fixed-width data: Constant Size. (line 10) * flag variables <1>: Tee Program. (line 20) * flag variables: Boolean Ops. (line 67) * floating-point numbers, arbitrary precision: Arbitrary Precision Arithmetic. @@ -31237,7 +31226,7 @@ Index * forward slash (/), patterns and: Expression Patterns. (line 24) * FPAT variable <1>: User-modified. (line 45) * FPAT variable: Splitting By Content. - (line 26) + (line 27) * frame debugger command: Execution Stack. (line 25) * Free Documentation License (FDL): GNU Free Documentation License. (line 6) @@ -31342,12 +31331,12 @@ Index * gawk, features, advanced: Advanced Features. (line 6) * gawk, field separators and: User-modified. (line 77) * gawk, FIELDWIDTHS variable in <1>: User-modified. (line 35) -* gawk, FIELDWIDTHS variable in: Constant Size. (line 22) +* gawk, FIELDWIDTHS variable in: Constant Size. (line 23) * gawk, file names in: Special Files. (line 6) * gawk, format-control characters: Control Letters. (line 18) * gawk, FPAT variable in <1>: User-modified. (line 45) * gawk, FPAT variable in: Splitting By Content. - (line 26) + (line 27) * gawk, FUNCTAB array in: Auto-set. (line 128) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) @@ -31394,7 +31383,7 @@ Index * gawk, RT variable in: Records. (line 117) * gawk, See Also awk: Preface. (line 36) * gawk, source code, obtaining: Getting. (line 6) -* gawk, splitting fields and: Constant Size. (line 87) +* gawk, splitting fields and: Constant Size. (line 88) * gawk, string-translation functions: I18N Functions. (line 6) * gawk, SYMTAB array in: Auto-set. (line 283) * gawk, TEXTDOMAIN variable in: User-modified. (line 162) @@ -31460,7 +31449,7 @@ Index * GNU Lesser General Public License: Glossary. (line 405) * GNU long options <1>: Options. (line 6) * GNU long options: Command Line. (line 13) -* GNU long options, printing list of: Options. (line 168) +* GNU long options, printing list of: Options. (line 154) * GNU Project <1>: Glossary. (line 323) * GNU Project: Manual History. (line 11) * GNU/Linux <1>: Glossary. (line 624) @@ -31468,7 +31457,7 @@ Index * GNU/Linux: Manual History. (line 28) * GPL (General Public License) <1>: Glossary. (line 314) * GPL (General Public License): Manual History. (line 11) -* GPL (General Public License), printing: Options. (line 102) +* GPL (General Public License), printing: Options. (line 88) * grcat program: Group Functions. (line 16) * Grigera, Juan: Contributors. (line 57) * group database, reading: Group Functions. (line 6) @@ -31499,7 +31488,7 @@ Index * hyphen (-), -- operator: Increment Ops. (line 48) * hyphen (-), -= operator <1>: Precedence. (line 95) * hyphen (-), -= operator: Assignment Ops. (line 129) -* hyphen (-), filenames beginning with: Options. (line 73) +* hyphen (-), filenames beginning with: Options. (line 59) * hyphen (-), in bracket expressions: Bracket Expressions. (line 17) * i debugger command (alias for info): Debugger Info. (line 13) * id utility: Id Program. (line 6) @@ -31892,13 +31881,13 @@ Index (line 6) * options, command-line <2>: Options. (line 6) * options, command-line: Long. (line 12) -* options, command-line, end of: Options. (line 68) +* options, command-line, end of: Options. (line 54) * options, command-line, invoking awk: Command Line. (line 6) * options, command-line, processing: Getopt Function. (line 6) * options, deprecated: Obsolete. (line 6) * options, long <1>: Options. (line 6) * options, long: Command Line. (line 13) -* options, printing list of: Options. (line 168) +* options, printing list of: Options. (line 154) * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) * or() function (gawk): Bitwise Functions. (line 49) @@ -31994,7 +31983,7 @@ Index * portable object files: Explaining gettext. (line 36) * portable object files, converting to message object files: I18N Example. (line 62) -* portable object files, generating: Options. (line 161) +* portable object files, generating: Options. (line 147) * portable object template files: Explaining gettext. (line 30) * porting gawk: New Ports. (line 6) * positional specifiers, printf statement <1>: Printf Ordering. @@ -32078,7 +32067,7 @@ Index * printf statement, sprintf() function and: Round Function. (line 6) * printf statement, syntax of: Basic Printf. (line 6) * printing: Printing. (line 6) -* printing, list of options: Options. (line 168) +* printing, list of options: Options. (line 154) * printing, mailing labels: Labels Program. (line 6) * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) @@ -32418,7 +32407,7 @@ Index * source code, jawk: Other Versions. (line 112) * source code, libmawk: Other Versions. (line 120) * source code, mawk: Other Versions. (line 44) -* source code, mixing: Options. (line 131) +* source code, mixing: Options. (line 117) * source code, pawk: Other Versions. (line 78) * source code, QSE Awk: Other Versions. (line 130) * source code, QuikTrim Awk: Other Versions. (line 134) @@ -32520,7 +32509,6 @@ Index * Texinfo <3>: Extract Program. (line 12) * Texinfo <4>: Dupword Program. (line 17) * Texinfo <5>: Library Functions. (line 33) -* Texinfo <6>: Sample Data Files. (line 66) * Texinfo: Conventions. (line 6) * Texinfo, chapter beginnings in files: Regexp Operators. (line 22) * Texinfo, extracting programs from source files: Extract Program. @@ -32564,7 +32552,7 @@ Index (line 112) * troubleshooting, division: Arithmetic Ops. (line 44) * troubleshooting, fatal errors, field widths, specifying: Constant Size. - (line 22) + (line 23) * troubleshooting, fatal errors, printf format strings: Format Modifiers. (line 159) * troubleshooting, fflush() function: I/O Functions. (line 60) @@ -32588,7 +32576,7 @@ Index * troubleshooting, substr() function: String Functions. (line 496) * troubleshooting, system() function: I/O Functions. (line 94) * troubleshooting, typographical errors, global variables: Options. - (line 112) + (line 98) * true, logical: Truth Values. (line 6) * Trueman, David <1>: Contributors. (line 30) * Trueman, David <2>: Acknowledgments. (line 47) @@ -32644,7 +32632,7 @@ Index * variables, assigning on command line: Assignment Options. (line 6) * variables, built-in <1>: Built-in Variables. (line 6) * variables, built-in: Using Variables. (line 20) -* variables, built-in, -v option, setting with: Options. (line 54) +* variables, built-in, -v option, setting with: Options. (line 40) * variables, built-in, conveying information: Auto-set. (line 6) * variables, flag: Boolean Ops. (line 67) * variables, getline command into, using <1>: Getline/Variable/Coprocess. @@ -32655,12 +32643,12 @@ Index (line 6) * variables, getline command into, using: Getline/Variable. (line 6) * variables, global, for library functions: Library Names. (line 11) -* variables, global, printing list of: Options. (line 107) +* variables, global, printing list of: Options. (line 93) * variables, initializing: Using Variables. (line 20) * variables, local: Variable Scope. (line 6) * variables, names of: Arrays. (line 18) * variables, private: Library Names. (line 11) -* variables, setting: Options. (line 46) +* variables, setting: Options. (line 32) * variables, shadowing: Definition Syntax. (line 61) * variables, types of: Assignment Ops. (line 40) * variables, types of, comparison expressions and: Typing and Comparison. @@ -32679,7 +32667,7 @@ Index * Vinschen, Corinna: Acknowledgments. (line 60) * w debugger command (alias for watch): Viewing And Changing Data. (line 67) -* w utility: Constant Size. (line 22) +* w utility: Constant Size. (line 23) * wait() extension function: Extension Sample Fork. (line 22) * waitpid() extension function: Extension Sample Fork. @@ -32783,496 +32771,496 @@ Node: Comments80181 Node: Quoting82648 Node: DOS Quoting87271 Node: Sample Data Files87946 -Node: Very Simple90990 -Node: Two Rules95589 -Node: More Complex97736 -Ref: More Complex-Footnote-1100666 -Node: Statements/Lines100751 -Ref: Statements/Lines-Footnote-1105213 -Node: Other Features105478 -Node: When106406 -Node: Invoking Gawk108553 -Node: Command Line110014 -Node: Options110797 -Ref: Options-Footnote-1126189 -Node: Other Arguments126214 -Node: Naming Standard Input128872 -Node: Environment Variables129966 -Node: AWKPATH Variable130524 -Ref: AWKPATH Variable-Footnote-1133282 -Node: AWKLIBPATH Variable133542 -Node: Other Environment Variables134260 -Node: Exit Status137223 -Node: Include Files137898 -Node: Loading Shared Libraries141467 -Node: Obsolete142831 -Node: Undocumented143528 -Node: Regexp143770 -Node: Regexp Usage145159 -Node: Escape Sequences147185 -Node: Regexp Operators152854 -Ref: Regexp Operators-Footnote-1160234 -Ref: Regexp Operators-Footnote-2160381 -Node: Bracket Expressions160479 -Ref: table-char-classes162369 -Node: GNU Regexp Operators164892 -Node: Case-sensitivity168615 -Ref: Case-sensitivity-Footnote-1171583 -Ref: Case-sensitivity-Footnote-2171818 -Node: Leftmost Longest171926 -Node: Computed Regexps173127 -Node: Reading Files176464 -Node: Records178466 -Ref: Records-Footnote-1187355 -Node: Fields187392 -Ref: Fields-Footnote-1190425 -Node: Nonconstant Fields190511 -Node: Changing Fields192713 -Node: Field Separators198672 -Node: Default Field Splitting201374 -Node: Regexp Field Splitting202491 -Node: Single Character Fields205833 -Node: Command Line Field Separator206892 -Node: Full Line Fields210326 -Ref: Full Line Fields-Footnote-1210834 -Node: Field Splitting Summary210880 -Ref: Field Splitting Summary-Footnote-1213979 -Node: Constant Size214080 -Node: Splitting By Content218664 -Ref: Splitting By Content-Footnote-1222390 -Node: Multiple Line222430 -Ref: Multiple Line-Footnote-1228277 -Node: Getline228456 -Node: Plain Getline230672 -Node: Getline/Variable232767 -Node: Getline/File233914 -Node: Getline/Variable/File235255 -Ref: Getline/Variable/File-Footnote-1236854 -Node: Getline/Pipe236941 -Node: Getline/Variable/Pipe239640 -Node: Getline/Coprocess240747 -Node: Getline/Variable/Coprocess241999 -Node: Getline Notes242736 -Node: Getline Summary245523 -Ref: table-getline-variants245931 -Node: Read Timeout246843 -Ref: Read Timeout-Footnote-1250584 -Node: Command line directories250641 -Node: Printing251271 -Node: Print252902 -Node: Print Examples254239 -Node: Output Separators257023 -Node: OFMT258783 -Node: Printf260141 -Node: Basic Printf261047 -Node: Control Letters262586 -Node: Format Modifiers266398 -Node: Printf Examples272407 -Node: Redirection275122 -Node: Special Files282087 -Node: Special FD282620 -Ref: Special FD-Footnote-1286245 -Node: Special Network286319 -Node: Special Caveats287169 -Node: Close Files And Pipes287965 -Ref: Close Files And Pipes-Footnote-1294948 -Ref: Close Files And Pipes-Footnote-2295096 -Node: Expressions295246 -Node: Values296378 -Node: Constants297054 -Node: Scalar Constants297734 -Ref: Scalar Constants-Footnote-1298593 -Node: Nondecimal-numbers298775 -Node: Regexp Constants301775 -Node: Using Constant Regexps302250 -Node: Variables305305 -Node: Using Variables305960 -Node: Assignment Options307684 -Node: Conversion309556 -Ref: table-locale-affects315057 -Ref: Conversion-Footnote-1315681 -Node: All Operators315790 -Node: Arithmetic Ops316420 -Node: Concatenation318925 -Ref: Concatenation-Footnote-1321717 -Node: Assignment Ops321837 -Ref: table-assign-ops326825 -Node: Increment Ops328156 -Node: Truth Values and Conditions331590 -Node: Truth Values332673 -Node: Typing and Comparison333722 -Node: Variable Typing334515 -Ref: Variable Typing-Footnote-1338412 -Node: Comparison Operators338534 -Ref: table-relational-ops338944 -Node: POSIX String Comparison342492 -Ref: POSIX String Comparison-Footnote-1343448 -Node: Boolean Ops343586 -Ref: Boolean Ops-Footnote-1347664 -Node: Conditional Exp347755 -Node: Function Calls349487 -Node: Precedence353081 -Node: Locales356750 -Node: Patterns and Actions357839 -Node: Pattern Overview358893 -Node: Regexp Patterns360562 -Node: Expression Patterns361105 -Node: Ranges364790 -Node: BEGIN/END367756 -Node: Using BEGIN/END368518 -Ref: Using BEGIN/END-Footnote-1371249 -Node: I/O And BEGIN/END371355 -Node: BEGINFILE/ENDFILE373637 -Node: Empty376551 -Node: Using Shell Variables376867 -Node: Action Overview379152 -Node: Statements381509 -Node: If Statement383363 -Node: While Statement384862 -Node: Do Statement386906 -Node: For Statement388062 -Node: Switch Statement391214 -Node: Break Statement393311 -Node: Continue Statement395301 -Node: Next Statement397094 -Node: Nextfile Statement399484 -Node: Exit Statement402127 -Node: Built-in Variables404543 -Node: User-modified405638 -Ref: User-modified-Footnote-1413996 -Node: Auto-set414058 -Ref: Auto-set-Footnote-1427528 -Ref: Auto-set-Footnote-2427733 -Node: ARGC and ARGV427789 -Node: Arrays431640 -Node: Array Basics433145 -Node: Array Intro433971 -Node: Reference to Elements438288 -Node: Assigning Elements440558 -Node: Array Example441049 -Node: Scanning an Array442781 -Node: Controlling Scanning445095 -Ref: Controlling Scanning-Footnote-1450182 -Node: Delete450498 -Ref: Delete-Footnote-1453263 -Node: Numeric Array Subscripts453320 -Node: Uninitialized Subscripts455503 -Node: Multidimensional457130 -Node: Multiscanning460223 -Node: Arrays of Arrays461812 -Node: Functions466452 -Node: Built-in467271 -Node: Calling Built-in468349 -Node: Numeric Functions470337 -Ref: Numeric Functions-Footnote-1474169 -Ref: Numeric Functions-Footnote-2474526 -Ref: Numeric Functions-Footnote-3474574 -Node: String Functions474843 -Ref: String Functions-Footnote-1497763 -Ref: String Functions-Footnote-2497892 -Ref: String Functions-Footnote-3498140 -Node: Gory Details498227 -Ref: table-sub-escapes499906 -Ref: table-sub-posix-92501260 -Ref: table-sub-proposed502611 -Ref: table-posix-sub503965 -Ref: table-gensub-escapes505510 -Ref: Gory Details-Footnote-1506686 -Ref: Gory Details-Footnote-2506737 -Node: I/O Functions506888 -Ref: I/O Functions-Footnote-1513873 -Node: Time Functions514020 -Ref: Time Functions-Footnote-1524953 -Ref: Time Functions-Footnote-2525021 -Ref: Time Functions-Footnote-3525179 -Ref: Time Functions-Footnote-4525290 -Ref: Time Functions-Footnote-5525402 -Ref: Time Functions-Footnote-6525629 -Node: Bitwise Functions525895 -Ref: table-bitwise-ops526457 -Ref: Bitwise Functions-Footnote-1530678 -Node: Type Functions530862 -Node: I18N Functions532013 -Node: User-defined533640 -Node: Definition Syntax534444 -Ref: Definition Syntax-Footnote-1539354 -Node: Function Example539423 -Node: Function Caveats542017 -Node: Calling A Function542438 -Node: Variable Scope543553 -Node: Pass By Value/Reference546516 -Node: Return Statement550024 -Node: Dynamic Typing553005 -Node: Indirect Calls553936 -Node: Library Functions563621 -Ref: Library Functions-Footnote-1567134 -Ref: Library Functions-Footnote-2567277 -Node: Library Names567448 -Ref: Library Names-Footnote-1570919 -Ref: Library Names-Footnote-2571139 -Node: General Functions571225 -Node: Strtonum Function572253 -Node: Assert Function575183 -Node: Round Function578509 -Node: Cliff Random Function580052 -Node: Ordinal Functions581068 -Ref: Ordinal Functions-Footnote-1584140 -Ref: Ordinal Functions-Footnote-2584392 -Node: Join Function584601 -Ref: Join Function-Footnote-1586372 -Node: Getlocaltime Function586572 -Node: Readfile Function590313 -Node: Data File Management592152 -Node: Filetrans Function592784 -Node: Rewind Function596853 -Node: File Checking598240 -Node: Empty Files599334 -Node: Ignoring Assigns601564 -Node: Getopt Function603117 -Ref: Getopt Function-Footnote-1614420 -Node: Passwd Functions614623 -Ref: Passwd Functions-Footnote-1623598 -Node: Group Functions623686 -Node: Walking Arrays631770 -Node: Sample Programs633907 -Node: Running Examples634581 -Node: Clones635309 -Node: Cut Program636533 -Node: Egrep Program646378 -Ref: Egrep Program-Footnote-1654151 -Node: Id Program654261 -Node: Split Program657877 -Ref: Split Program-Footnote-1661396 -Node: Tee Program661524 -Node: Uniq Program664327 -Node: Wc Program671756 -Ref: Wc Program-Footnote-1676022 -Ref: Wc Program-Footnote-2676222 -Node: Miscellaneous Programs676314 -Node: Dupword Program677502 -Node: Alarm Program679533 -Node: Translate Program684286 -Ref: Translate Program-Footnote-1688673 -Ref: Translate Program-Footnote-2688921 -Node: Labels Program689055 -Ref: Labels Program-Footnote-1692426 -Node: Word Sorting692510 -Node: History Sorting696394 -Node: Extract Program698233 -Ref: Extract Program-Footnote-1705736 -Node: Simple Sed705864 -Node: Igawk Program708926 -Ref: Igawk Program-Footnote-1724083 -Ref: Igawk Program-Footnote-2724284 -Node: Anagram Program724422 -Node: Signature Program727490 -Node: Advanced Features728590 -Node: Nondecimal Data730476 -Node: Array Sorting732059 -Node: Controlling Array Traversal732756 -Node: Array Sorting Functions741040 -Ref: Array Sorting Functions-Footnote-1744909 -Node: Two-way I/O745103 -Ref: Two-way I/O-Footnote-1750535 -Node: TCP/IP Networking750605 -Node: Profiling753449 -Node: Internationalization760946 -Node: I18N and L10N762371 -Node: Explaining gettext763057 -Ref: Explaining gettext-Footnote-1768125 -Ref: Explaining gettext-Footnote-2768309 -Node: Programmer i18n768474 -Node: Translator i18n772676 -Node: String Extraction773469 -Ref: String Extraction-Footnote-1774430 -Node: Printf Ordering774516 -Ref: Printf Ordering-Footnote-1777300 -Node: I18N Portability777364 -Ref: I18N Portability-Footnote-1779813 -Node: I18N Example779876 -Ref: I18N Example-Footnote-1782514 -Node: Gawk I18N782586 -Node: Debugger783207 -Node: Debugging784178 -Node: Debugging Concepts784611 -Node: Debugging Terms786467 -Node: Awk Debugging789064 -Node: Sample Debugging Session789956 -Node: Debugger Invocation790476 -Node: Finding The Bug791808 -Node: List of Debugger Commands798296 -Node: Breakpoint Control799630 -Node: Debugger Execution Control803294 -Node: Viewing And Changing Data806654 -Node: Execution Stack810010 -Node: Debugger Info811477 -Node: Miscellaneous Debugger Commands815459 -Node: Readline Support820635 -Node: Limitations821466 -Node: Arbitrary Precision Arithmetic823718 -Ref: Arbitrary Precision Arithmetic-Footnote-1825367 -Node: General Arithmetic825515 -Node: Floating Point Issues827235 -Node: String Conversion Precision828116 -Ref: String Conversion Precision-Footnote-1829821 -Node: Unexpected Results829930 -Node: POSIX Floating Point Problems832083 -Ref: POSIX Floating Point Problems-Footnote-1835908 -Node: Integer Programming835946 -Node: Floating-point Programming837685 -Ref: Floating-point Programming-Footnote-1844016 -Ref: Floating-point Programming-Footnote-2844286 -Node: Floating-point Representation844550 -Node: Floating-point Context845715 -Ref: table-ieee-formats846554 -Node: Rounding Mode847938 -Ref: table-rounding-modes848417 -Ref: Rounding Mode-Footnote-1851432 -Node: Gawk and MPFR851611 -Node: Arbitrary Precision Floats852866 -Ref: Arbitrary Precision Floats-Footnote-1855309 -Node: Setting Precision855625 -Ref: table-predefined-precision-strings856311 -Node: Setting Rounding Mode858456 -Ref: table-gawk-rounding-modes858860 -Node: Floating-point Constants860047 -Node: Changing Precision861476 -Ref: Changing Precision-Footnote-1862873 -Node: Exact Arithmetic863047 -Node: Arbitrary Precision Integers866185 -Ref: Arbitrary Precision Integers-Footnote-1869203 -Node: Dynamic Extensions869350 -Node: Extension Intro870808 -Node: Plugin License872073 -Node: Extension Mechanism Outline872758 -Ref: load-extension873175 -Ref: load-new-function874653 -Ref: call-new-function875648 -Node: Extension API Description877663 -Node: Extension API Functions Introduction878876 -Node: General Data Types883742 -Ref: General Data Types-Footnote-1889347 -Node: Requesting Values889646 -Ref: table-value-types-returned890377 -Node: Constructor Functions891331 -Node: Registration Functions894351 -Node: Extension Functions895036 -Node: Exit Callback Functions897261 -Node: Extension Version String898510 -Node: Input Parsers899160 -Node: Output Wrappers908917 -Node: Two-way processors913427 -Node: Printing Messages915635 -Ref: Printing Messages-Footnote-1916712 -Node: Updating `ERRNO'916864 -Node: Accessing Parameters917603 -Node: Symbol Table Access918833 -Node: Symbol table by name919345 -Node: Symbol table by cookie921092 -Ref: Symbol table by cookie-Footnote-1925222 -Node: Cached values925285 -Ref: Cached values-Footnote-1928734 -Node: Array Manipulation928825 -Ref: Array Manipulation-Footnote-1929923 -Node: Array Data Types929962 -Ref: Array Data Types-Footnote-1932665 -Node: Array Functions932757 -Node: Flattening Arrays936523 -Node: Creating Arrays943375 -Node: Extension API Variables948100 -Node: Extension Versioning948736 -Node: Extension API Informational Variables950637 -Node: Extension API Boilerplate951723 -Node: Finding Extensions955527 -Node: Extension Example956087 -Node: Internal File Description956817 -Node: Internal File Ops960908 -Ref: Internal File Ops-Footnote-1972416 -Node: Using Internal File Ops972556 -Ref: Using Internal File Ops-Footnote-1974909 -Node: Extension Samples975175 -Node: Extension Sample File Functions976699 -Node: Extension Sample Fnmatch985184 -Node: Extension Sample Fork986910 -Node: Extension Sample Inplace988128 -Node: Extension Sample Ord989906 -Node: Extension Sample Readdir990742 -Node: Extension Sample Revout992274 -Node: Extension Sample Rev2way992867 -Node: Extension Sample Read write array993557 -Node: Extension Sample Readfile995440 -Node: Extension Sample API Tests996258 -Node: Extension Sample Time996783 -Node: gawkextlib998147 -Node: Language History1000928 -Node: V7/SVR3.11002521 -Node: SVR41004841 -Node: POSIX1006283 -Node: BTL1007669 -Node: POSIX/GNU1008403 -Node: Feature History1014002 -Node: Common Extensions1026966 -Node: Ranges and Locales1028278 -Ref: Ranges and Locales-Footnote-11032896 -Ref: Ranges and Locales-Footnote-21032923 -Ref: Ranges and Locales-Footnote-31033183 -Node: Contributors1033404 -Node: Installation1038549 -Node: Gawk Distribution1039443 -Node: Getting1039927 -Node: Extracting1040753 -Node: Distribution contents1042445 -Node: Unix Installation1048150 -Node: Quick Installation1048767 -Node: Additional Configuration Options1051211 -Node: Configuration Philosophy1052947 -Node: Non-Unix Installation1055301 -Node: PC Installation1055759 -Node: PC Binary Installation1057058 -Node: PC Compiling1058906 -Node: PC Testing1061850 -Node: PC Using1063026 -Node: Cygwin1067211 -Node: MSYS1068211 -Node: VMS Installation1068725 -Node: VMS Compilation1069489 -Ref: VMS Compilation-Footnote-11071104 -Node: VMS Dynamic Extensions1071162 -Node: VMS Installation Details1072535 -Node: VMS Running1074782 -Node: VMS GNV1077616 -Node: VMS Old Gawk1078339 -Node: Bugs1078809 -Node: Other Versions1082727 -Node: Notes1088811 -Node: Compatibility Mode1089611 -Node: Additions1090394 -Node: Accessing The Source1091321 -Node: Adding Code1092761 -Node: New Ports1098806 -Node: Derived Files1102941 -Ref: Derived Files-Footnote-11108262 -Ref: Derived Files-Footnote-21108296 -Ref: Derived Files-Footnote-31108896 -Node: Future Extensions1108994 -Node: Implementation Limitations1109577 -Node: Extension Design1110829 -Node: Old Extension Problems1111983 -Ref: Old Extension Problems-Footnote-11113491 -Node: Extension New Mechanism Goals1113548 -Ref: Extension New Mechanism Goals-Footnote-11116913 -Node: Extension Other Design Decisions1117099 -Node: Extension Future Growth1119205 -Node: Old Extension Mechanism1120041 -Node: Basic Concepts1121781 -Node: Basic High Level1122462 -Ref: figure-general-flow1122733 -Ref: figure-process-flow1123332 -Ref: Basic High Level-Footnote-11126561 -Node: Basic Data Typing1126746 -Node: Glossary1130101 -Node: Copying1155563 -Node: GNU Free Documentation License1193120 -Node: Index1218257 +Node: Very Simple90332 +Node: Two Rules94931 +Node: More Complex97078 +Ref: More Complex-Footnote-1100008 +Node: Statements/Lines100093 +Ref: Statements/Lines-Footnote-1104555 +Node: Other Features104820 +Node: When105748 +Node: Invoking Gawk107895 +Node: Command Line109358 +Node: Options110141 +Ref: Options-Footnote-1125536 +Node: Other Arguments125561 +Node: Naming Standard Input128219 +Node: Environment Variables129313 +Node: AWKPATH Variable129871 +Ref: AWKPATH Variable-Footnote-1132629 +Node: AWKLIBPATH Variable132889 +Node: Other Environment Variables133607 +Node: Exit Status136570 +Node: Include Files137245 +Node: Loading Shared Libraries140814 +Node: Obsolete142178 +Node: Undocumented142875 +Node: Regexp143117 +Node: Regexp Usage144506 +Node: Escape Sequences146532 +Node: Regexp Operators152201 +Ref: Regexp Operators-Footnote-1159581 +Ref: Regexp Operators-Footnote-2159728 +Node: Bracket Expressions159826 +Ref: table-char-classes161716 +Node: GNU Regexp Operators164239 +Node: Case-sensitivity167962 +Ref: Case-sensitivity-Footnote-1170930 +Ref: Case-sensitivity-Footnote-2171165 +Node: Leftmost Longest171273 +Node: Computed Regexps172474 +Node: Reading Files175811 +Node: Records177813 +Ref: Records-Footnote-1186702 +Node: Fields186739 +Ref: Fields-Footnote-1189772 +Node: Nonconstant Fields189858 +Node: Changing Fields192060 +Node: Field Separators198019 +Node: Default Field Splitting200721 +Node: Regexp Field Splitting201838 +Node: Single Character Fields205180 +Node: Command Line Field Separator206239 +Node: Full Line Fields209673 +Ref: Full Line Fields-Footnote-1210181 +Node: Field Splitting Summary210227 +Ref: Field Splitting Summary-Footnote-1213326 +Node: Constant Size213427 +Node: Splitting By Content218034 +Ref: Splitting By Content-Footnote-1221783 +Node: Multiple Line221823 +Ref: Multiple Line-Footnote-1227670 +Node: Getline227849 +Node: Plain Getline230065 +Node: Getline/Variable232160 +Node: Getline/File233307 +Node: Getline/Variable/File234648 +Ref: Getline/Variable/File-Footnote-1236247 +Node: Getline/Pipe236334 +Node: Getline/Variable/Pipe239033 +Node: Getline/Coprocess240140 +Node: Getline/Variable/Coprocess241392 +Node: Getline Notes242129 +Node: Getline Summary244916 +Ref: table-getline-variants245324 +Node: Read Timeout246236 +Ref: Read Timeout-Footnote-1249977 +Node: Command line directories250034 +Node: Printing250664 +Node: Print252295 +Node: Print Examples253632 +Node: Output Separators256416 +Node: OFMT258176 +Node: Printf259534 +Node: Basic Printf260440 +Node: Control Letters261979 +Node: Format Modifiers265791 +Node: Printf Examples271800 +Node: Redirection274515 +Node: Special Files281480 +Node: Special FD282013 +Ref: Special FD-Footnote-1285638 +Node: Special Network285712 +Node: Special Caveats286562 +Node: Close Files And Pipes287358 +Ref: Close Files And Pipes-Footnote-1294341 +Ref: Close Files And Pipes-Footnote-2294489 +Node: Expressions294639 +Node: Values295771 +Node: Constants296447 +Node: Scalar Constants297127 +Ref: Scalar Constants-Footnote-1297986 +Node: Nondecimal-numbers298168 +Node: Regexp Constants301168 +Node: Using Constant Regexps301643 +Node: Variables304698 +Node: Using Variables305353 +Node: Assignment Options307077 +Node: Conversion308949 +Ref: table-locale-affects314450 +Ref: Conversion-Footnote-1315074 +Node: All Operators315183 +Node: Arithmetic Ops315813 +Node: Concatenation318318 +Ref: Concatenation-Footnote-1321110 +Node: Assignment Ops321230 +Ref: table-assign-ops326218 +Node: Increment Ops327549 +Node: Truth Values and Conditions330983 +Node: Truth Values332066 +Node: Typing and Comparison333115 +Node: Variable Typing333908 +Ref: Variable Typing-Footnote-1337805 +Node: Comparison Operators337927 +Ref: table-relational-ops338337 +Node: POSIX String Comparison341885 +Ref: POSIX String Comparison-Footnote-1342841 +Node: Boolean Ops342979 +Ref: Boolean Ops-Footnote-1347057 +Node: Conditional Exp347148 +Node: Function Calls348880 +Node: Precedence352474 +Node: Locales356143 +Node: Patterns and Actions357232 +Node: Pattern Overview358286 +Node: Regexp Patterns359955 +Node: Expression Patterns360498 +Node: Ranges364183 +Node: BEGIN/END367149 +Node: Using BEGIN/END367911 +Ref: Using BEGIN/END-Footnote-1370642 +Node: I/O And BEGIN/END370748 +Node: BEGINFILE/ENDFILE373030 +Node: Empty375944 +Node: Using Shell Variables376260 +Node: Action Overview378545 +Node: Statements380902 +Node: If Statement382756 +Node: While Statement384255 +Node: Do Statement386299 +Node: For Statement387455 +Node: Switch Statement390607 +Node: Break Statement392704 +Node: Continue Statement394694 +Node: Next Statement396487 +Node: Nextfile Statement398877 +Node: Exit Statement401520 +Node: Built-in Variables403936 +Node: User-modified405031 +Ref: User-modified-Footnote-1413389 +Node: Auto-set413451 +Ref: Auto-set-Footnote-1426921 +Ref: Auto-set-Footnote-2427126 +Node: ARGC and ARGV427182 +Node: Arrays431033 +Node: Array Basics432538 +Node: Array Intro433364 +Node: Reference to Elements437681 +Node: Assigning Elements439951 +Node: Array Example440442 +Node: Scanning an Array442174 +Node: Controlling Scanning444488 +Ref: Controlling Scanning-Footnote-1449575 +Node: Delete449891 +Ref: Delete-Footnote-1452656 +Node: Numeric Array Subscripts452713 +Node: Uninitialized Subscripts454896 +Node: Multidimensional456523 +Node: Multiscanning459616 +Node: Arrays of Arrays461205 +Node: Functions465845 +Node: Built-in466664 +Node: Calling Built-in467742 +Node: Numeric Functions469730 +Ref: Numeric Functions-Footnote-1473562 +Ref: Numeric Functions-Footnote-2473919 +Ref: Numeric Functions-Footnote-3473967 +Node: String Functions474236 +Ref: String Functions-Footnote-1497156 +Ref: String Functions-Footnote-2497285 +Ref: String Functions-Footnote-3497533 +Node: Gory Details497620 +Ref: table-sub-escapes499299 +Ref: table-sub-posix-92500653 +Ref: table-sub-proposed502004 +Ref: table-posix-sub503358 +Ref: table-gensub-escapes504903 +Ref: Gory Details-Footnote-1506079 +Ref: Gory Details-Footnote-2506130 +Node: I/O Functions506281 +Ref: I/O Functions-Footnote-1513266 +Node: Time Functions513413 +Ref: Time Functions-Footnote-1524346 +Ref: Time Functions-Footnote-2524414 +Ref: Time Functions-Footnote-3524572 +Ref: Time Functions-Footnote-4524683 +Ref: Time Functions-Footnote-5524795 +Ref: Time Functions-Footnote-6525022 +Node: Bitwise Functions525288 +Ref: table-bitwise-ops525850 +Ref: Bitwise Functions-Footnote-1530071 +Node: Type Functions530255 +Node: I18N Functions531406 +Node: User-defined533033 +Node: Definition Syntax533837 +Ref: Definition Syntax-Footnote-1538747 +Node: Function Example538816 +Node: Function Caveats541410 +Node: Calling A Function541831 +Node: Variable Scope542946 +Node: Pass By Value/Reference545909 +Node: Return Statement549417 +Node: Dynamic Typing552398 +Node: Indirect Calls553329 +Node: Library Functions563014 +Ref: Library Functions-Footnote-1566527 +Ref: Library Functions-Footnote-2566670 +Node: Library Names566841 +Ref: Library Names-Footnote-1570312 +Ref: Library Names-Footnote-2570532 +Node: General Functions570618 +Node: Strtonum Function571646 +Node: Assert Function574576 +Node: Round Function577902 +Node: Cliff Random Function579445 +Node: Ordinal Functions580461 +Ref: Ordinal Functions-Footnote-1583533 +Ref: Ordinal Functions-Footnote-2583785 +Node: Join Function583994 +Ref: Join Function-Footnote-1585765 +Node: Getlocaltime Function585965 +Node: Readfile Function589706 +Node: Data File Management591545 +Node: Filetrans Function592177 +Node: Rewind Function596246 +Node: File Checking597633 +Node: Empty Files598727 +Node: Ignoring Assigns600957 +Node: Getopt Function602510 +Ref: Getopt Function-Footnote-1613813 +Node: Passwd Functions614016 +Ref: Passwd Functions-Footnote-1622991 +Node: Group Functions623079 +Node: Walking Arrays631163 +Node: Sample Programs633300 +Node: Running Examples633974 +Node: Clones634702 +Node: Cut Program635926 +Node: Egrep Program645771 +Ref: Egrep Program-Footnote-1653544 +Node: Id Program653654 +Node: Split Program657270 +Ref: Split Program-Footnote-1660789 +Node: Tee Program660917 +Node: Uniq Program663720 +Node: Wc Program671149 +Ref: Wc Program-Footnote-1675415 +Ref: Wc Program-Footnote-2675615 +Node: Miscellaneous Programs675707 +Node: Dupword Program676895 +Node: Alarm Program678926 +Node: Translate Program683679 +Ref: Translate Program-Footnote-1688066 +Ref: Translate Program-Footnote-2688314 +Node: Labels Program688448 +Ref: Labels Program-Footnote-1691819 +Node: Word Sorting691903 +Node: History Sorting695787 +Node: Extract Program697626 +Ref: Extract Program-Footnote-1705129 +Node: Simple Sed705257 +Node: Igawk Program708319 +Ref: Igawk Program-Footnote-1723476 +Ref: Igawk Program-Footnote-2723677 +Node: Anagram Program723815 +Node: Signature Program726883 +Node: Advanced Features727983 +Node: Nondecimal Data729869 +Node: Array Sorting731452 +Node: Controlling Array Traversal732149 +Node: Array Sorting Functions740433 +Ref: Array Sorting Functions-Footnote-1744302 +Node: Two-way I/O744496 +Ref: Two-way I/O-Footnote-1749928 +Node: TCP/IP Networking749998 +Node: Profiling752842 +Node: Internationalization760339 +Node: I18N and L10N761764 +Node: Explaining gettext762450 +Ref: Explaining gettext-Footnote-1767518 +Ref: Explaining gettext-Footnote-2767702 +Node: Programmer i18n767867 +Node: Translator i18n772069 +Node: String Extraction772862 +Ref: String Extraction-Footnote-1773823 +Node: Printf Ordering773909 +Ref: Printf Ordering-Footnote-1776693 +Node: I18N Portability776757 +Ref: I18N Portability-Footnote-1779206 +Node: I18N Example779269 +Ref: I18N Example-Footnote-1781907 +Node: Gawk I18N781979 +Node: Debugger782600 +Node: Debugging783571 +Node: Debugging Concepts784004 +Node: Debugging Terms785860 +Node: Awk Debugging788457 +Node: Sample Debugging Session789349 +Node: Debugger Invocation789869 +Node: Finding The Bug791201 +Node: List of Debugger Commands797689 +Node: Breakpoint Control799023 +Node: Debugger Execution Control802687 +Node: Viewing And Changing Data806047 +Node: Execution Stack809403 +Node: Debugger Info810870 +Node: Miscellaneous Debugger Commands814852 +Node: Readline Support820028 +Node: Limitations820859 +Node: Arbitrary Precision Arithmetic823111 +Ref: Arbitrary Precision Arithmetic-Footnote-1824760 +Node: General Arithmetic824908 +Node: Floating Point Issues826628 +Node: String Conversion Precision827509 +Ref: String Conversion Precision-Footnote-1829214 +Node: Unexpected Results829323 +Node: POSIX Floating Point Problems831476 +Ref: POSIX Floating Point Problems-Footnote-1835301 +Node: Integer Programming835339 +Node: Floating-point Programming837078 +Ref: Floating-point Programming-Footnote-1843409 +Ref: Floating-point Programming-Footnote-2843679 +Node: Floating-point Representation843943 +Node: Floating-point Context845108 +Ref: table-ieee-formats845947 +Node: Rounding Mode847331 +Ref: table-rounding-modes847810 +Ref: Rounding Mode-Footnote-1850825 +Node: Gawk and MPFR851004 +Node: Arbitrary Precision Floats852259 +Ref: Arbitrary Precision Floats-Footnote-1854702 +Node: Setting Precision855018 +Ref: table-predefined-precision-strings855704 +Node: Setting Rounding Mode857849 +Ref: table-gawk-rounding-modes858253 +Node: Floating-point Constants859440 +Node: Changing Precision860869 +Ref: Changing Precision-Footnote-1862266 +Node: Exact Arithmetic862440 +Node: Arbitrary Precision Integers865578 +Ref: Arbitrary Precision Integers-Footnote-1868596 +Node: Dynamic Extensions868743 +Node: Extension Intro870201 +Node: Plugin License871466 +Node: Extension Mechanism Outline872151 +Ref: load-extension872568 +Ref: load-new-function874046 +Ref: call-new-function875041 +Node: Extension API Description877056 +Node: Extension API Functions Introduction878269 +Node: General Data Types883135 +Ref: General Data Types-Footnote-1888737 +Node: Requesting Values889036 +Ref: table-value-types-returned889767 +Node: Constructor Functions890721 +Node: Registration Functions893741 +Node: Extension Functions894426 +Node: Exit Callback Functions896651 +Node: Extension Version String897900 +Node: Input Parsers898550 +Node: Output Wrappers908307 +Node: Two-way processors912817 +Node: Printing Messages915025 +Ref: Printing Messages-Footnote-1916102 +Node: Updating `ERRNO'916254 +Node: Accessing Parameters916993 +Node: Symbol Table Access918223 +Node: Symbol table by name918735 +Node: Symbol table by cookie920482 +Ref: Symbol table by cookie-Footnote-1924612 +Node: Cached values924675 +Ref: Cached values-Footnote-1928124 +Node: Array Manipulation928215 +Ref: Array Manipulation-Footnote-1929313 +Node: Array Data Types929352 +Ref: Array Data Types-Footnote-1932055 +Node: Array Functions932147 +Node: Flattening Arrays935913 +Node: Creating Arrays942765 +Node: Extension API Variables947490 +Node: Extension Versioning948126 +Node: Extension API Informational Variables950027 +Node: Extension API Boilerplate951113 +Node: Finding Extensions954917 +Node: Extension Example955477 +Node: Internal File Description956207 +Node: Internal File Ops960298 +Ref: Internal File Ops-Footnote-1971806 +Node: Using Internal File Ops971946 +Ref: Using Internal File Ops-Footnote-1974299 +Node: Extension Samples974565 +Node: Extension Sample File Functions976089 +Node: Extension Sample Fnmatch984574 +Node: Extension Sample Fork986300 +Node: Extension Sample Inplace987518 +Node: Extension Sample Ord989296 +Node: Extension Sample Readdir990132 +Node: Extension Sample Revout991664 +Node: Extension Sample Rev2way992257 +Node: Extension Sample Read write array992947 +Node: Extension Sample Readfile994830 +Node: Extension Sample API Tests995648 +Node: Extension Sample Time996173 +Node: gawkextlib997537 +Node: Language History1000318 +Node: V7/SVR3.11001911 +Node: SVR41004231 +Node: POSIX1005673 +Node: BTL1007059 +Node: POSIX/GNU1007793 +Node: Feature History1013392 +Node: Common Extensions1026356 +Node: Ranges and Locales1027668 +Ref: Ranges and Locales-Footnote-11032286 +Ref: Ranges and Locales-Footnote-21032313 +Ref: Ranges and Locales-Footnote-31032573 +Node: Contributors1032794 +Node: Installation1037939 +Node: Gawk Distribution1038833 +Node: Getting1039317 +Node: Extracting1040143 +Node: Distribution contents1041835 +Node: Unix Installation1047540 +Node: Quick Installation1048157 +Node: Additional Configuration Options1050601 +Node: Configuration Philosophy1052337 +Node: Non-Unix Installation1054691 +Node: PC Installation1055149 +Node: PC Binary Installation1056448 +Node: PC Compiling1058296 +Node: PC Testing1061240 +Node: PC Using1062416 +Node: Cygwin1066601 +Node: MSYS1067601 +Node: VMS Installation1068115 +Node: VMS Compilation1068879 +Ref: VMS Compilation-Footnote-11070494 +Node: VMS Dynamic Extensions1070552 +Node: VMS Installation Details1071925 +Node: VMS Running1074172 +Node: VMS GNV1077006 +Node: VMS Old Gawk1077729 +Node: Bugs1078199 +Node: Other Versions1082117 +Node: Notes1088201 +Node: Compatibility Mode1089001 +Node: Additions1089784 +Node: Accessing The Source1090711 +Node: Adding Code1092151 +Node: New Ports1098196 +Node: Derived Files1102331 +Ref: Derived Files-Footnote-11107652 +Ref: Derived Files-Footnote-21107686 +Ref: Derived Files-Footnote-31108286 +Node: Future Extensions1108384 +Node: Implementation Limitations1108967 +Node: Extension Design1110219 +Node: Old Extension Problems1111373 +Ref: Old Extension Problems-Footnote-11112881 +Node: Extension New Mechanism Goals1112938 +Ref: Extension New Mechanism Goals-Footnote-11116303 +Node: Extension Other Design Decisions1116489 +Node: Extension Future Growth1118595 +Node: Old Extension Mechanism1119431 +Node: Basic Concepts1121171 +Node: Basic High Level1121852 +Ref: figure-general-flow1122123 +Ref: figure-process-flow1122722 +Ref: Basic High Level-Footnote-11125951 +Node: Basic Data Typing1126136 +Node: Glossary1129491 +Node: Copying1154953 +Node: GNU Free Documentation License1192510 +Node: Index1217647 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 02a4a2b8..16cd4b49 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -40,7 +40,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH January, 2014 +@set UPDATE-MONTH February, 2014 @set VERSION 4.1 @set PATCHLEVEL 0 @@ -136,10 +136,7 @@ @ignore Some comments on the layout for TeX. -1. Use at least texinfo.tex 2000-09-06.09 -2. I have done A LOT of work to make this look good. There are `@page' commands - and use of `@group ... @end group' in a number of places. If you muck - with anything, it's your responsibility not to break the layout. +1. Use at least texinfo.tex 2014-01-30.15 @end ignore @c merge the function and variable indexes into the concept index @@ -2623,23 +2620,8 @@ Apr 21 70 74 514 @c endfile @end example -@ifinfo -If you are reading this in GNU Emacs using Info, you can copy the regions -of text showing these sample files into your own test files. This way you -can try out the examples shown in the remainder of this document. You do -this by using the command @kbd{M-x write-region} to copy text from the Info -file into a file for use with @command{awk} -(@xref{Misc File Ops, , Miscellaneous File Operations, emacs, GNU Emacs Manual}, -for more information). Using this information, create your own -@file{BBS-list} and @file{inventory-shipped} files and practice what you -learn in this @value{DOCUMENT}. - -@cindex Texinfo -If you are using the stand-alone version of Info, -see @ref{Extract Program}, -for an @command{awk} program that extracts these data files from -@file{gawk.texi}, the (generated) Texinfo source file for this Info file. -@end ifinfo +The sample files are included in the @command{gawk} distribution, +in the directory @file{awklib/eg/data}. @node Very Simple @section Some Simple Examples @@ -3136,7 +3118,7 @@ easier to maintain and usually run more efficiently. @node Invoking Gawk @chapter Running @command{awk} and @command{gawk} -This @value{CHAPTER} covers how to run awk, both POSIX-standard +This @value{CHAPTER} covers how to run @command{awk}, both POSIX-standard and @command{gawk}-specific command-line options, and what @command{awk} and @command{gawk} do with non-option arguments. @@ -3247,25 +3229,9 @@ Set the @code{FS} variable to @var{fs} Read @command{awk} program source from @var{source-file} instead of in the first non-option argument. This option may be given multiple times; the @command{awk} -program consists of the concatenation the contents of +program consists of the concatenation of the contents of each specified @var{source-file}. -@item -i @var{source-file} -@itemx --include @var{source-file} -@cindex @option{-i} option -@cindex @option{--include} option -@cindex @command{awk} programs, location of -Read @command{awk} source library from @var{source-file}. This option is -completely equivalent to using the @samp{@@include} directive inside -your program. This option is very -similar to the @option{-f} option, but there are two important differences. -First, when @option{-i} is used, the program source will not be loaded if it has -been previously loaded, whereas the @option{-f} will always load the file. -Second, because this option is intended to be used with code libraries, -@command{gawk} does not recognize such files as constituting main program -input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to -find the main source code via the @option{-f} option or on the command-line. - @item -v @var{var}=@var{val} @itemx --assign @var{var}=@var{val} @cindex @option{-v} option @@ -3455,6 +3421,22 @@ for information about this option. Print a ``usage'' message summarizing the short and long style options that @command{gawk} accepts and then exit. +@item -i @var{source-file} +@itemx --include @var{source-file} +@cindex @option{-i} option +@cindex @option{--include} option +@cindex @command{awk} programs, location of +Read @command{awk} source library from @var{source-file}. This option is +completely equivalent to using the @samp{@@include} directive inside +your program. This option is very +similar to the @option{-f} option, but there are two important differences. +First, when @option{-i} is used, the program source will not be loaded if it has +been previously loaded, whereas the @option{-f} will always load the file. +Second, because this option is intended to be used with code libraries, +@command{gawk} does not recognize such files as constituting main program +input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to +find the main source code via the @option{-f} option or on the command-line. + @item -l @var{lib} @itemx --load @var{lib} @cindex @code{-l} option @@ -6911,19 +6893,11 @@ will take effect. @node Constant Size @section Reading Fixed-Width Data -@ifnotinfo @quotation NOTE This @value{SECTION} discusses an advanced feature of @command{gawk}. If you are a novice @command{awk} user, you might want to skip it on the first reading. @end quotation -@end ifnotinfo - -@ifinfo -(This @value{SECTION} discusses an advanced feature of @command{awk}. -If you are a novice @command{awk} user, you might want to skip it on -the first reading.) -@end ifinfo @cindex data, fixed-width @cindex fixed-width data @@ -7053,19 +7027,11 @@ for an example of such a function). @node Splitting By Content @section Defining Fields By Content -@ifnotinfo @quotation NOTE This @value{SECTION} discusses an advanced feature of @command{gawk}. If you are a novice @command{awk} user, you might want to skip it on the first reading. @end quotation -@end ifnotinfo - -@ifinfo -(This @value{SECTION} discusses an advanced feature of @command{awk}. -If you are a novice @command{awk} user, you might want to skip it on -the first reading.) -@end ifinfo @cindex advanced features, specifying field content Normally, when using @code{FS}, @command{gawk} defines the fields as the @@ -13782,13 +13748,7 @@ The number of fields in the current input record. @code{NF} is set each time a new record is read, when a new field is created or when @code{$0} changes (@pxref{Fields}). -Unlike most of the variables described in this -@ifnotinfo -section, -@end ifnotinfo -@ifinfo -node, -@end ifinfo +Unlike most of the variables described in this @value{SUBSECTION}, assigning a value to @code{NF} has the potential to affect @command{awk}'s internal workings. In particular, assignments to @code{NF} can be used to create or remove fields from the @@ -23818,7 +23778,8 @@ printed and online documentation. @ifnotinfo Texinfo is fully documented in the book @cite{Texinfo---The GNU Documentation Format}, -available from the Free Software Foundation. +available from the Free Software Foundation, +and also available @uref{http://www.gnu.org/software/texinfo/manual/texinfo/, online}. @end ifnotinfo @ifinfo The Texinfo language is described fully, starting with @@ -29691,9 +29652,9 @@ certain fields in the API data structures unwritable from extension code, while allowing @command{gawk} to use them as it needs to. @item typedef enum awk_bool @{ -@item @ @ @ @ awk_false = 0, -@item @ @ @ @ awk_true -@item @} awk_bool_t; +@itemx @ @ @ @ awk_false = 0, +@itemx @ @ @ @ awk_true +@itemx @} awk_bool_t; A simple boolean type. @item typedef struct awk_string @{ @@ -36298,7 +36259,7 @@ for information on getting the latest version of @command{gawk}.) @item @ifnotinfo -Follow the @cite{GNU Coding Standards}. +Follow the @uref{http://www.gnu.org/prep/standards/, @cite{GNU Coding Standards}}. @end ifnotinfo @ifinfo See @inforef{Top, , Version, standards, GNU Coding Standards}. @@ -36457,11 +36418,9 @@ Be prepared to sign the appropriate paperwork. In order for the FSF to distribute your code, you must either place your code in the public domain and submit a signed statement to that effect, or assign the copyright in your code to the FSF. -@ifinfo Both of these actions are easy to do and @emph{many} people have done so already. If you have questions, please contact me, or @email{gnu@@gnu.org}. -@end ifinfo @item When doing a port, bear in mind that your code must coexist peacefully diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 269e6daa..4bb52d2d 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -35,7 +35,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH January, 2014 +@set UPDATE-MONTH February, 2014 @set VERSION 4.1 @set PATCHLEVEL 0 @@ -131,10 +131,7 @@ @ignore Some comments on the layout for TeX. -1. Use at least texinfo.tex 2000-09-06.09 -2. I have done A LOT of work to make this look good. There are `@page' commands - and use of `@group ... @end group' in a number of places. If you muck - with anything, it's your responsibility not to break the layout. +1. Use at least texinfo.tex 2014-01-30.15 @end ignore @c merge the function and variable indexes into the concept index @@ -2551,23 +2548,8 @@ Apr 21 70 74 514 @c endfile @end example -@ifinfo -If you are reading this in GNU Emacs using Info, you can copy the regions -of text showing these sample files into your own test files. This way you -can try out the examples shown in the remainder of this document. You do -this by using the command @kbd{M-x write-region} to copy text from the Info -file into a file for use with @command{awk} -(@xref{Misc File Ops, , Miscellaneous File Operations, emacs, GNU Emacs Manual}, -for more information). Using this information, create your own -@file{BBS-list} and @file{inventory-shipped} files and practice what you -learn in this @value{DOCUMENT}. - -@cindex Texinfo -If you are using the stand-alone version of Info, -see @ref{Extract Program}, -for an @command{awk} program that extracts these data files from -@file{gawk.texi}, the (generated) Texinfo source file for this Info file. -@end ifinfo +The sample files are included in the @command{gawk} distribution, +in the directory @file{awklib/eg/data}. @node Very Simple @section Some Simple Examples @@ -3064,7 +3046,7 @@ easier to maintain and usually run more efficiently. @node Invoking Gawk @chapter Running @command{awk} and @command{gawk} -This @value{CHAPTER} covers how to run awk, both POSIX-standard +This @value{CHAPTER} covers how to run @command{awk}, both POSIX-standard and @command{gawk}-specific command-line options, and what @command{awk} and @command{gawk} do with non-option arguments. @@ -3175,25 +3157,9 @@ Set the @code{FS} variable to @var{fs} Read @command{awk} program source from @var{source-file} instead of in the first non-option argument. This option may be given multiple times; the @command{awk} -program consists of the concatenation the contents of +program consists of the concatenation of the contents of each specified @var{source-file}. -@item -i @var{source-file} -@itemx --include @var{source-file} -@cindex @option{-i} option -@cindex @option{--include} option -@cindex @command{awk} programs, location of -Read @command{awk} source library from @var{source-file}. This option is -completely equivalent to using the @samp{@@include} directive inside -your program. This option is very -similar to the @option{-f} option, but there are two important differences. -First, when @option{-i} is used, the program source will not be loaded if it has -been previously loaded, whereas the @option{-f} will always load the file. -Second, because this option is intended to be used with code libraries, -@command{gawk} does not recognize such files as constituting main program -input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to -find the main source code via the @option{-f} option or on the command-line. - @item -v @var{var}=@var{val} @itemx --assign @var{var}=@var{val} @cindex @option{-v} option @@ -3383,6 +3349,22 @@ for information about this option. Print a ``usage'' message summarizing the short and long style options that @command{gawk} accepts and then exit. +@item -i @var{source-file} +@itemx --include @var{source-file} +@cindex @option{-i} option +@cindex @option{--include} option +@cindex @command{awk} programs, location of +Read @command{awk} source library from @var{source-file}. This option is +completely equivalent to using the @samp{@@include} directive inside +your program. This option is very +similar to the @option{-f} option, but there are two important differences. +First, when @option{-i} is used, the program source will not be loaded if it has +been previously loaded, whereas the @option{-f} will always load the file. +Second, because this option is intended to be used with code libraries, +@command{gawk} does not recognize such files as constituting main program +input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to +find the main source code via the @option{-f} option or on the command-line. + @item -l @var{lib} @itemx --load @var{lib} @cindex @code{-l} option @@ -6537,19 +6519,11 @@ will take effect. @node Constant Size @section Reading Fixed-Width Data -@ifnotinfo @quotation NOTE This @value{SECTION} discusses an advanced feature of @command{gawk}. If you are a novice @command{awk} user, you might want to skip it on the first reading. @end quotation -@end ifnotinfo - -@ifinfo -(This @value{SECTION} discusses an advanced feature of @command{awk}. -If you are a novice @command{awk} user, you might want to skip it on -the first reading.) -@end ifinfo @cindex data, fixed-width @cindex fixed-width data @@ -6679,19 +6653,11 @@ for an example of such a function). @node Splitting By Content @section Defining Fields By Content -@ifnotinfo @quotation NOTE This @value{SECTION} discusses an advanced feature of @command{gawk}. If you are a novice @command{awk} user, you might want to skip it on the first reading. @end quotation -@end ifnotinfo - -@ifinfo -(This @value{SECTION} discusses an advanced feature of @command{awk}. -If you are a novice @command{awk} user, you might want to skip it on -the first reading.) -@end ifinfo @cindex advanced features, specifying field content Normally, when using @code{FS}, @command{gawk} defines the fields as the @@ -13167,13 +13133,7 @@ The number of fields in the current input record. @code{NF} is set each time a new record is read, when a new field is created or when @code{$0} changes (@pxref{Fields}). -Unlike most of the variables described in this -@ifnotinfo -section, -@end ifnotinfo -@ifinfo -node, -@end ifinfo +Unlike most of the variables described in this @value{SUBSECTION}, assigning a value to @code{NF} has the potential to affect @command{awk}'s internal workings. In particular, assignments to @code{NF} can be used to create or remove fields from the @@ -22967,7 +22927,8 @@ printed and online documentation. @ifnotinfo Texinfo is fully documented in the book @cite{Texinfo---The GNU Documentation Format}, -available from the Free Software Foundation. +available from the Free Software Foundation, +and also available @uref{http://www.gnu.org/software/texinfo/manual/texinfo/, online}. @end ifnotinfo @ifinfo The Texinfo language is described fully, starting with @@ -28840,9 +28801,9 @@ certain fields in the API data structures unwritable from extension code, while allowing @command{gawk} to use them as it needs to. @item typedef enum awk_bool @{ -@item @ @ @ @ awk_false = 0, -@item @ @ @ @ awk_true -@item @} awk_bool_t; +@itemx @ @ @ @ awk_false = 0, +@itemx @ @ @ @ awk_true +@itemx @} awk_bool_t; A simple boolean type. @item typedef struct awk_string @{ @@ -35447,7 +35408,7 @@ for information on getting the latest version of @command{gawk}.) @item @ifnotinfo -Follow the @cite{GNU Coding Standards}. +Follow the @uref{http://www.gnu.org/prep/standards/, @cite{GNU Coding Standards}}. @end ifnotinfo @ifinfo See @inforef{Top, , Version, standards, GNU Coding Standards}. @@ -35606,11 +35567,9 @@ Be prepared to sign the appropriate paperwork. In order for the FSF to distribute your code, you must either place your code in the public domain and submit a signed statement to that effect, or assign the copyright in your code to the FSF. -@ifinfo Both of these actions are easy to do and @emph{many} people have done so already. If you have questions, please contact me, or @email{gnu@@gnu.org}. -@end ifinfo @item When doing a port, bear in mind that your code must coexist peacefully |