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 e7290d1a..94e8b306 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 329f15d3..6523199c 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 @@ -21880,11 +21872,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. @@ -30005,13 +29994,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. @@ -30019,14 +30008,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) @@ -30048,20 +30037,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) @@ -30069,9 +30058,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) @@ -30085,8 +30074,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) @@ -30215,7 +30204,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) @@ -30224,7 +30213,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) @@ -30326,7 +30315,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) @@ -30384,7 +30373,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) @@ -30528,7 +30517,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) @@ -30551,7 +30540,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. @@ -30604,7 +30593,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) @@ -30638,7 +30627,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) @@ -30743,7 +30732,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) @@ -31131,7 +31120,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) @@ -31155,7 +31144,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) @@ -31182,7 +31171,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) @@ -31194,7 +31183,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. @@ -31228,7 +31217,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) @@ -31333,12 +31322,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 119) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) @@ -31385,7 +31374,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 274) * gawk, TEXTDOMAIN variable in: User-modified. (line 162) @@ -31451,7 +31440,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) @@ -31459,7 +31448,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) @@ -31490,7 +31479,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) @@ -31883,13 +31872,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) @@ -31985,7 +31974,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. @@ -32069,7 +32058,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) @@ -32409,7 +32398,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) @@ -32511,7 +32500,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. @@ -32555,7 +32543,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) @@ -32579,7 +32567,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) @@ -32635,7 +32623,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. @@ -32646,12 +32634,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. @@ -32670,7 +32658,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. @@ -32774,496 +32762,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-1427136 -Ref: Auto-set-Footnote-2427341 -Node: ARGC and ARGV427397 -Node: Arrays431248 -Node: Array Basics432753 -Node: Array Intro433579 -Node: Reference to Elements437896 -Node: Assigning Elements440166 -Node: Array Example440657 -Node: Scanning an Array442389 -Node: Controlling Scanning444703 -Ref: Controlling Scanning-Footnote-1449790 -Node: Delete450106 -Ref: Delete-Footnote-1452871 -Node: Numeric Array Subscripts452928 -Node: Uninitialized Subscripts455111 -Node: Multidimensional456738 -Node: Multiscanning459831 -Node: Arrays of Arrays461420 -Node: Functions466060 -Node: Built-in466879 -Node: Calling Built-in467957 -Node: Numeric Functions469945 -Ref: Numeric Functions-Footnote-1473777 -Ref: Numeric Functions-Footnote-2474134 -Ref: Numeric Functions-Footnote-3474182 -Node: String Functions474451 -Ref: String Functions-Footnote-1497371 -Ref: String Functions-Footnote-2497500 -Ref: String Functions-Footnote-3497748 -Node: Gory Details497835 -Ref: table-sub-escapes499514 -Ref: table-sub-posix-92500868 -Ref: table-sub-proposed502219 -Ref: table-posix-sub503573 -Ref: table-gensub-escapes505118 -Ref: Gory Details-Footnote-1506294 -Ref: Gory Details-Footnote-2506345 -Node: I/O Functions506496 -Ref: I/O Functions-Footnote-1513481 -Node: Time Functions513628 -Ref: Time Functions-Footnote-1524561 -Ref: Time Functions-Footnote-2524629 -Ref: Time Functions-Footnote-3524787 -Ref: Time Functions-Footnote-4524898 -Ref: Time Functions-Footnote-5525010 -Ref: Time Functions-Footnote-6525237 -Node: Bitwise Functions525503 -Ref: table-bitwise-ops526065 -Ref: Bitwise Functions-Footnote-1530286 -Node: Type Functions530470 -Node: I18N Functions531621 -Node: User-defined533248 -Node: Definition Syntax534052 -Ref: Definition Syntax-Footnote-1538962 -Node: Function Example539031 -Node: Function Caveats541625 -Node: Calling A Function542046 -Node: Variable Scope543161 -Node: Pass By Value/Reference546124 -Node: Return Statement549632 -Node: Dynamic Typing552613 -Node: Indirect Calls553544 -Node: Library Functions563229 -Ref: Library Functions-Footnote-1566742 -Ref: Library Functions-Footnote-2566885 -Node: Library Names567056 -Ref: Library Names-Footnote-1570527 -Ref: Library Names-Footnote-2570747 -Node: General Functions570833 -Node: Strtonum Function571861 -Node: Assert Function574791 -Node: Round Function578117 -Node: Cliff Random Function579660 -Node: Ordinal Functions580676 -Ref: Ordinal Functions-Footnote-1583748 -Ref: Ordinal Functions-Footnote-2584000 -Node: Join Function584209 -Ref: Join Function-Footnote-1585980 -Node: Getlocaltime Function586180 -Node: Readfile Function589921 -Node: Data File Management591760 -Node: Filetrans Function592392 -Node: Rewind Function596461 -Node: File Checking597848 -Node: Empty Files598942 -Node: Ignoring Assigns601172 -Node: Getopt Function602725 -Ref: Getopt Function-Footnote-1614028 -Node: Passwd Functions614231 -Ref: Passwd Functions-Footnote-1623206 -Node: Group Functions623294 -Node: Walking Arrays631378 -Node: Sample Programs633515 -Node: Running Examples634189 -Node: Clones634917 -Node: Cut Program636141 -Node: Egrep Program645986 -Ref: Egrep Program-Footnote-1653759 -Node: Id Program653869 -Node: Split Program657485 -Ref: Split Program-Footnote-1661004 -Node: Tee Program661132 -Node: Uniq Program663935 -Node: Wc Program671364 -Ref: Wc Program-Footnote-1675630 -Ref: Wc Program-Footnote-2675830 -Node: Miscellaneous Programs675922 -Node: Dupword Program677110 -Node: Alarm Program679141 -Node: Translate Program683894 -Ref: Translate Program-Footnote-1688281 -Ref: Translate Program-Footnote-2688529 -Node: Labels Program688663 -Ref: Labels Program-Footnote-1692034 -Node: Word Sorting692118 -Node: History Sorting696002 -Node: Extract Program697841 -Ref: Extract Program-Footnote-1705344 -Node: Simple Sed705472 -Node: Igawk Program708534 -Ref: Igawk Program-Footnote-1723691 -Ref: Igawk Program-Footnote-2723892 -Node: Anagram Program724030 -Node: Signature Program727098 -Node: Advanced Features728198 -Node: Nondecimal Data730084 -Node: Array Sorting731667 -Node: Controlling Array Traversal732364 -Node: Array Sorting Functions740648 -Ref: Array Sorting Functions-Footnote-1744517 -Node: Two-way I/O744711 -Ref: Two-way I/O-Footnote-1750143 -Node: TCP/IP Networking750213 -Node: Profiling753057 -Node: Internationalization760554 -Node: I18N and L10N761979 -Node: Explaining gettext762665 -Ref: Explaining gettext-Footnote-1767733 -Ref: Explaining gettext-Footnote-2767917 -Node: Programmer i18n768082 -Node: Translator i18n772284 -Node: String Extraction773077 -Ref: String Extraction-Footnote-1774038 -Node: Printf Ordering774124 -Ref: Printf Ordering-Footnote-1776908 -Node: I18N Portability776972 -Ref: I18N Portability-Footnote-1779421 -Node: I18N Example779484 -Ref: I18N Example-Footnote-1782122 -Node: Gawk I18N782194 -Node: Debugger782815 -Node: Debugging783786 -Node: Debugging Concepts784219 -Node: Debugging Terms786075 -Node: Awk Debugging788672 -Node: Sample Debugging Session789564 -Node: Debugger Invocation790084 -Node: Finding The Bug791416 -Node: List of Debugger Commands797904 -Node: Breakpoint Control799238 -Node: Debugger Execution Control802902 -Node: Viewing And Changing Data806262 -Node: Execution Stack809618 -Node: Debugger Info811085 -Node: Miscellaneous Debugger Commands815067 -Node: Readline Support820243 -Node: Limitations821074 -Node: Arbitrary Precision Arithmetic823326 -Ref: Arbitrary Precision Arithmetic-Footnote-1824975 -Node: General Arithmetic825123 -Node: Floating Point Issues826843 -Node: String Conversion Precision827724 -Ref: String Conversion Precision-Footnote-1829429 -Node: Unexpected Results829538 -Node: POSIX Floating Point Problems831691 -Ref: POSIX Floating Point Problems-Footnote-1835516 -Node: Integer Programming835554 -Node: Floating-point Programming837293 -Ref: Floating-point Programming-Footnote-1843624 -Ref: Floating-point Programming-Footnote-2843894 -Node: Floating-point Representation844158 -Node: Floating-point Context845323 -Ref: table-ieee-formats846162 -Node: Rounding Mode847546 -Ref: table-rounding-modes848025 -Ref: Rounding Mode-Footnote-1851040 -Node: Gawk and MPFR851219 -Node: Arbitrary Precision Floats852474 -Ref: Arbitrary Precision Floats-Footnote-1854917 -Node: Setting Precision855233 -Ref: table-predefined-precision-strings855919 -Node: Setting Rounding Mode858064 -Ref: table-gawk-rounding-modes858468 -Node: Floating-point Constants859655 -Node: Changing Precision861084 -Ref: Changing Precision-Footnote-1862481 -Node: Exact Arithmetic862655 -Node: Arbitrary Precision Integers865793 -Ref: Arbitrary Precision Integers-Footnote-1868811 -Node: Dynamic Extensions868958 -Node: Extension Intro870416 -Node: Plugin License871681 -Node: Extension Mechanism Outline872366 -Ref: load-extension872783 -Ref: load-new-function874261 -Ref: call-new-function875256 -Node: Extension API Description877271 -Node: Extension API Functions Introduction878484 -Node: General Data Types883350 -Ref: General Data Types-Footnote-1888955 -Node: Requesting Values889254 -Ref: table-value-types-returned889985 -Node: Constructor Functions890939 -Node: Registration Functions893959 -Node: Extension Functions894644 -Node: Exit Callback Functions896869 -Node: Extension Version String898118 -Node: Input Parsers898768 -Node: Output Wrappers908525 -Node: Two-way processors913035 -Node: Printing Messages915243 -Ref: Printing Messages-Footnote-1916320 -Node: Updating `ERRNO'916472 -Node: Accessing Parameters917211 -Node: Symbol Table Access918441 -Node: Symbol table by name918953 -Node: Symbol table by cookie920700 -Ref: Symbol table by cookie-Footnote-1924830 -Node: Cached values924893 -Ref: Cached values-Footnote-1928342 -Node: Array Manipulation928433 -Ref: Array Manipulation-Footnote-1929531 -Node: Array Data Types929570 -Ref: Array Data Types-Footnote-1932273 -Node: Array Functions932365 -Node: Flattening Arrays936131 -Node: Creating Arrays942983 -Node: Extension API Variables947708 -Node: Extension Versioning948344 -Node: Extension API Informational Variables950245 -Node: Extension API Boilerplate951331 -Node: Finding Extensions955135 -Node: Extension Example955695 -Node: Internal File Description956425 -Node: Internal File Ops960516 -Ref: Internal File Ops-Footnote-1972024 -Node: Using Internal File Ops972164 -Ref: Using Internal File Ops-Footnote-1974517 -Node: Extension Samples974783 -Node: Extension Sample File Functions976307 -Node: Extension Sample Fnmatch984792 -Node: Extension Sample Fork986518 -Node: Extension Sample Inplace987736 -Node: Extension Sample Ord989514 -Node: Extension Sample Readdir990350 -Node: Extension Sample Revout991882 -Node: Extension Sample Rev2way992475 -Node: Extension Sample Read write array993165 -Node: Extension Sample Readfile995048 -Node: Extension Sample API Tests995866 -Node: Extension Sample Time996391 -Node: gawkextlib997755 -Node: Language History1000536 -Node: V7/SVR3.11002129 -Node: SVR41004449 -Node: POSIX1005891 -Node: BTL1007277 -Node: POSIX/GNU1008011 -Node: Feature History1013610 -Node: Common Extensions1026574 -Node: Ranges and Locales1027886 -Ref: Ranges and Locales-Footnote-11032504 -Ref: Ranges and Locales-Footnote-21032531 -Ref: Ranges and Locales-Footnote-31032791 -Node: Contributors1033012 -Node: Installation1038157 -Node: Gawk Distribution1039051 -Node: Getting1039535 -Node: Extracting1040361 -Node: Distribution contents1042053 -Node: Unix Installation1047758 -Node: Quick Installation1048375 -Node: Additional Configuration Options1050819 -Node: Configuration Philosophy1052555 -Node: Non-Unix Installation1054909 -Node: PC Installation1055367 -Node: PC Binary Installation1056666 -Node: PC Compiling1058514 -Node: PC Testing1061458 -Node: PC Using1062634 -Node: Cygwin1066819 -Node: MSYS1067819 -Node: VMS Installation1068333 -Node: VMS Compilation1069097 -Ref: VMS Compilation-Footnote-11070712 -Node: VMS Dynamic Extensions1070770 -Node: VMS Installation Details1072143 -Node: VMS Running1074390 -Node: VMS GNV1077224 -Node: VMS Old Gawk1077947 -Node: Bugs1078417 -Node: Other Versions1082335 -Node: Notes1088419 -Node: Compatibility Mode1089219 -Node: Additions1090002 -Node: Accessing The Source1090929 -Node: Adding Code1092369 -Node: New Ports1098414 -Node: Derived Files1102549 -Ref: Derived Files-Footnote-11107870 -Ref: Derived Files-Footnote-21107904 -Ref: Derived Files-Footnote-31108504 -Node: Future Extensions1108602 -Node: Implementation Limitations1109185 -Node: Extension Design1110437 -Node: Old Extension Problems1111591 -Ref: Old Extension Problems-Footnote-11113099 -Node: Extension New Mechanism Goals1113156 -Ref: Extension New Mechanism Goals-Footnote-11116521 -Node: Extension Other Design Decisions1116707 -Node: Extension Future Growth1118813 -Node: Old Extension Mechanism1119649 -Node: Basic Concepts1121389 -Node: Basic High Level1122070 -Ref: figure-general-flow1122341 -Ref: figure-process-flow1122940 -Ref: Basic High Level-Footnote-11126169 -Node: Basic Data Typing1126354 -Node: Glossary1129709 -Node: Copying1155171 -Node: GNU Free Documentation License1192728 -Node: Index1217865 +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-1426529 +Ref: Auto-set-Footnote-2426734 +Node: ARGC and ARGV426790 +Node: Arrays430641 +Node: Array Basics432146 +Node: Array Intro432972 +Node: Reference to Elements437289 +Node: Assigning Elements439559 +Node: Array Example440050 +Node: Scanning an Array441782 +Node: Controlling Scanning444096 +Ref: Controlling Scanning-Footnote-1449183 +Node: Delete449499 +Ref: Delete-Footnote-1452264 +Node: Numeric Array Subscripts452321 +Node: Uninitialized Subscripts454504 +Node: Multidimensional456131 +Node: Multiscanning459224 +Node: Arrays of Arrays460813 +Node: Functions465453 +Node: Built-in466272 +Node: Calling Built-in467350 +Node: Numeric Functions469338 +Ref: Numeric Functions-Footnote-1473170 +Ref: Numeric Functions-Footnote-2473527 +Ref: Numeric Functions-Footnote-3473575 +Node: String Functions473844 +Ref: String Functions-Footnote-1496764 +Ref: String Functions-Footnote-2496893 +Ref: String Functions-Footnote-3497141 +Node: Gory Details497228 +Ref: table-sub-escapes498907 +Ref: table-sub-posix-92500261 +Ref: table-sub-proposed501612 +Ref: table-posix-sub502966 +Ref: table-gensub-escapes504511 +Ref: Gory Details-Footnote-1505687 +Ref: Gory Details-Footnote-2505738 +Node: I/O Functions505889 +Ref: I/O Functions-Footnote-1512874 +Node: Time Functions513021 +Ref: Time Functions-Footnote-1523954 +Ref: Time Functions-Footnote-2524022 +Ref: Time Functions-Footnote-3524180 +Ref: Time Functions-Footnote-4524291 +Ref: Time Functions-Footnote-5524403 +Ref: Time Functions-Footnote-6524630 +Node: Bitwise Functions524896 +Ref: table-bitwise-ops525458 +Ref: Bitwise Functions-Footnote-1529679 +Node: Type Functions529863 +Node: I18N Functions531014 +Node: User-defined532641 +Node: Definition Syntax533445 +Ref: Definition Syntax-Footnote-1538355 +Node: Function Example538424 +Node: Function Caveats541018 +Node: Calling A Function541439 +Node: Variable Scope542554 +Node: Pass By Value/Reference545517 +Node: Return Statement549025 +Node: Dynamic Typing552006 +Node: Indirect Calls552937 +Node: Library Functions562622 +Ref: Library Functions-Footnote-1566135 +Ref: Library Functions-Footnote-2566278 +Node: Library Names566449 +Ref: Library Names-Footnote-1569920 +Ref: Library Names-Footnote-2570140 +Node: General Functions570226 +Node: Strtonum Function571254 +Node: Assert Function574184 +Node: Round Function577510 +Node: Cliff Random Function579053 +Node: Ordinal Functions580069 +Ref: Ordinal Functions-Footnote-1583141 +Ref: Ordinal Functions-Footnote-2583393 +Node: Join Function583602 +Ref: Join Function-Footnote-1585373 +Node: Getlocaltime Function585573 +Node: Readfile Function589314 +Node: Data File Management591153 +Node: Filetrans Function591785 +Node: Rewind Function595854 +Node: File Checking597241 +Node: Empty Files598335 +Node: Ignoring Assigns600565 +Node: Getopt Function602118 +Ref: Getopt Function-Footnote-1613421 +Node: Passwd Functions613624 +Ref: Passwd Functions-Footnote-1622599 +Node: Group Functions622687 +Node: Walking Arrays630771 +Node: Sample Programs632908 +Node: Running Examples633582 +Node: Clones634310 +Node: Cut Program635534 +Node: Egrep Program645379 +Ref: Egrep Program-Footnote-1653152 +Node: Id Program653262 +Node: Split Program656878 +Ref: Split Program-Footnote-1660397 +Node: Tee Program660525 +Node: Uniq Program663328 +Node: Wc Program670757 +Ref: Wc Program-Footnote-1675023 +Ref: Wc Program-Footnote-2675223 +Node: Miscellaneous Programs675315 +Node: Dupword Program676503 +Node: Alarm Program678534 +Node: Translate Program683287 +Ref: Translate Program-Footnote-1687674 +Ref: Translate Program-Footnote-2687922 +Node: Labels Program688056 +Ref: Labels Program-Footnote-1691427 +Node: Word Sorting691511 +Node: History Sorting695395 +Node: Extract Program697234 +Ref: Extract Program-Footnote-1704737 +Node: Simple Sed704865 +Node: Igawk Program707927 +Ref: Igawk Program-Footnote-1723084 +Ref: Igawk Program-Footnote-2723285 +Node: Anagram Program723423 +Node: Signature Program726491 +Node: Advanced Features727591 +Node: Nondecimal Data729477 +Node: Array Sorting731060 +Node: Controlling Array Traversal731757 +Node: Array Sorting Functions740041 +Ref: Array Sorting Functions-Footnote-1743910 +Node: Two-way I/O744104 +Ref: Two-way I/O-Footnote-1749536 +Node: TCP/IP Networking749606 +Node: Profiling752450 +Node: Internationalization759947 +Node: I18N and L10N761372 +Node: Explaining gettext762058 +Ref: Explaining gettext-Footnote-1767126 +Ref: Explaining gettext-Footnote-2767310 +Node: Programmer i18n767475 +Node: Translator i18n771677 +Node: String Extraction772470 +Ref: String Extraction-Footnote-1773431 +Node: Printf Ordering773517 +Ref: Printf Ordering-Footnote-1776301 +Node: I18N Portability776365 +Ref: I18N Portability-Footnote-1778814 +Node: I18N Example778877 +Ref: I18N Example-Footnote-1781515 +Node: Gawk I18N781587 +Node: Debugger782208 +Node: Debugging783179 +Node: Debugging Concepts783612 +Node: Debugging Terms785468 +Node: Awk Debugging788065 +Node: Sample Debugging Session788957 +Node: Debugger Invocation789477 +Node: Finding The Bug790809 +Node: List of Debugger Commands797297 +Node: Breakpoint Control798631 +Node: Debugger Execution Control802295 +Node: Viewing And Changing Data805655 +Node: Execution Stack809011 +Node: Debugger Info810478 +Node: Miscellaneous Debugger Commands814460 +Node: Readline Support819636 +Node: Limitations820467 +Node: Arbitrary Precision Arithmetic822719 +Ref: Arbitrary Precision Arithmetic-Footnote-1824368 +Node: General Arithmetic824516 +Node: Floating Point Issues826236 +Node: String Conversion Precision827117 +Ref: String Conversion Precision-Footnote-1828822 +Node: Unexpected Results828931 +Node: POSIX Floating Point Problems831084 +Ref: POSIX Floating Point Problems-Footnote-1834909 +Node: Integer Programming834947 +Node: Floating-point Programming836686 +Ref: Floating-point Programming-Footnote-1843017 +Ref: Floating-point Programming-Footnote-2843287 +Node: Floating-point Representation843551 +Node: Floating-point Context844716 +Ref: table-ieee-formats845555 +Node: Rounding Mode846939 +Ref: table-rounding-modes847418 +Ref: Rounding Mode-Footnote-1850433 +Node: Gawk and MPFR850612 +Node: Arbitrary Precision Floats851867 +Ref: Arbitrary Precision Floats-Footnote-1854310 +Node: Setting Precision854626 +Ref: table-predefined-precision-strings855312 +Node: Setting Rounding Mode857457 +Ref: table-gawk-rounding-modes857861 +Node: Floating-point Constants859048 +Node: Changing Precision860477 +Ref: Changing Precision-Footnote-1861874 +Node: Exact Arithmetic862048 +Node: Arbitrary Precision Integers865186 +Ref: Arbitrary Precision Integers-Footnote-1868204 +Node: Dynamic Extensions868351 +Node: Extension Intro869809 +Node: Plugin License871074 +Node: Extension Mechanism Outline871759 +Ref: load-extension872176 +Ref: load-new-function873654 +Ref: call-new-function874649 +Node: Extension API Description876664 +Node: Extension API Functions Introduction877877 +Node: General Data Types882743 +Ref: General Data Types-Footnote-1888345 +Node: Requesting Values888644 +Ref: table-value-types-returned889375 +Node: Constructor Functions890329 +Node: Registration Functions893349 +Node: Extension Functions894034 +Node: Exit Callback Functions896259 +Node: Extension Version String897508 +Node: Input Parsers898158 +Node: Output Wrappers907915 +Node: Two-way processors912425 +Node: Printing Messages914633 +Ref: Printing Messages-Footnote-1915710 +Node: Updating `ERRNO'915862 +Node: Accessing Parameters916601 +Node: Symbol Table Access917831 +Node: Symbol table by name918343 +Node: Symbol table by cookie920090 +Ref: Symbol table by cookie-Footnote-1924220 +Node: Cached values924283 +Ref: Cached values-Footnote-1927732 +Node: Array Manipulation927823 +Ref: Array Manipulation-Footnote-1928921 +Node: Array Data Types928960 +Ref: Array Data Types-Footnote-1931663 +Node: Array Functions931755 +Node: Flattening Arrays935521 +Node: Creating Arrays942373 +Node: Extension API Variables947098 +Node: Extension Versioning947734 +Node: Extension API Informational Variables949635 +Node: Extension API Boilerplate950721 +Node: Finding Extensions954525 +Node: Extension Example955085 +Node: Internal File Description955815 +Node: Internal File Ops959906 +Ref: Internal File Ops-Footnote-1971414 +Node: Using Internal File Ops971554 +Ref: Using Internal File Ops-Footnote-1973907 +Node: Extension Samples974173 +Node: Extension Sample File Functions975697 +Node: Extension Sample Fnmatch984182 +Node: Extension Sample Fork985908 +Node: Extension Sample Inplace987126 +Node: Extension Sample Ord988904 +Node: Extension Sample Readdir989740 +Node: Extension Sample Revout991272 +Node: Extension Sample Rev2way991865 +Node: Extension Sample Read write array992555 +Node: Extension Sample Readfile994438 +Node: Extension Sample API Tests995256 +Node: Extension Sample Time995781 +Node: gawkextlib997145 +Node: Language History999926 +Node: V7/SVR3.11001519 +Node: SVR41003839 +Node: POSIX1005281 +Node: BTL1006667 +Node: POSIX/GNU1007401 +Node: Feature History1013000 +Node: Common Extensions1025964 +Node: Ranges and Locales1027276 +Ref: Ranges and Locales-Footnote-11031894 +Ref: Ranges and Locales-Footnote-21031921 +Ref: Ranges and Locales-Footnote-31032181 +Node: Contributors1032402 +Node: Installation1037547 +Node: Gawk Distribution1038441 +Node: Getting1038925 +Node: Extracting1039751 +Node: Distribution contents1041443 +Node: Unix Installation1047148 +Node: Quick Installation1047765 +Node: Additional Configuration Options1050209 +Node: Configuration Philosophy1051945 +Node: Non-Unix Installation1054299 +Node: PC Installation1054757 +Node: PC Binary Installation1056056 +Node: PC Compiling1057904 +Node: PC Testing1060848 +Node: PC Using1062024 +Node: Cygwin1066209 +Node: MSYS1067209 +Node: VMS Installation1067723 +Node: VMS Compilation1068487 +Ref: VMS Compilation-Footnote-11070102 +Node: VMS Dynamic Extensions1070160 +Node: VMS Installation Details1071533 +Node: VMS Running1073780 +Node: VMS GNV1076614 +Node: VMS Old Gawk1077337 +Node: Bugs1077807 +Node: Other Versions1081725 +Node: Notes1087809 +Node: Compatibility Mode1088609 +Node: Additions1089392 +Node: Accessing The Source1090319 +Node: Adding Code1091759 +Node: New Ports1097804 +Node: Derived Files1101939 +Ref: Derived Files-Footnote-11107260 +Ref: Derived Files-Footnote-21107294 +Ref: Derived Files-Footnote-31107894 +Node: Future Extensions1107992 +Node: Implementation Limitations1108575 +Node: Extension Design1109827 +Node: Old Extension Problems1110981 +Ref: Old Extension Problems-Footnote-11112489 +Node: Extension New Mechanism Goals1112546 +Ref: Extension New Mechanism Goals-Footnote-11115911 +Node: Extension Other Design Decisions1116097 +Node: Extension Future Growth1118203 +Node: Old Extension Mechanism1119039 +Node: Basic Concepts1120779 +Node: Basic High Level1121460 +Ref: figure-general-flow1121731 +Ref: figure-process-flow1122330 +Ref: Basic High Level-Footnote-11125559 +Node: Basic Data Typing1125744 +Node: Glossary1129099 +Node: Copying1154561 +Node: GNU Free Documentation License1192118 +Node: Index1217255 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index f238c45f..1dd75e51 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 @@ -13774,13 +13740,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 @@ -23810,7 +23770,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 @@ -29683,9 +29644,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 @{ @@ -36288,7 +36249,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}. @@ -36447,11 +36408,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 6fdc67a3..e970d9a0 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 @@ -13159,13 +13125,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 @@ -22959,7 +22919,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 @@ -28832,9 +28793,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 @{ @@ -35437,7 +35398,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}. @@ -35596,11 +35557,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 |