diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-12-07 14:28:30 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-12-07 14:28:30 +0200 |
commit | 8224cc546f7cfb0922fb69f3ad3f91313cf80e37 (patch) | |
tree | 369201efec078e37da78f3797e72f3e244f8adf6 | |
parent | 0dfeaff26d60ebf6e175a781fe47f4e48a0ee210 (diff) | |
download | egawk-8224cc546f7cfb0922fb69f3ad3f91313cf80e37.tar.gz egawk-8224cc546f7cfb0922fb69f3ad3f91313cf80e37.tar.bz2 egawk-8224cc546f7cfb0922fb69f3ad3f91313cf80e37.zip |
Remove some incorrect stuff from gawktexi.in.
-rw-r--r-- | doc/ChangeLog | 7 | ||||
-rw-r--r-- | doc/gawk.info | 1077 | ||||
-rw-r--r-- | doc/gawk.texi | 16 | ||||
-rw-r--r-- | doc/gawktexi.in | 16 |
4 files changed, 539 insertions, 577 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index a9634913..39d32ce3 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2020-12-07 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (awk split records): Remove the bit about POSIX + mode not treating newline as a field separator; it's been not + true since 2015. Thanks to Arkadiusz Drabczyk <arkadiusz@drabczyk.org> + for the report. + 2020-12-07 Juergen Kahrs <Juergen.Kahrs@googlemail.com> * gawkinet.texi: Fix a number of FIXMEs. diff --git a/doc/gawk.info b/doc/gawk.info index 985e4c6a..7a01d25a 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -4565,19 +4565,6 @@ value of 'RS' has no special effect: it is treated literally. This is required for backwards compatibility with both Unix 'awk' and with POSIX. - When using regular characters as the record separator, there is one -unusual case that occurs when 'gawk' is being fully POSIX-compliant -(*note Options::). Then, the following (extreme) pipeline prints a -surprising '1': - - $ echo | gawk --posix 'BEGIN { RS = "a" } ; { print NF }' - -| 1 - - There is one field, consisting of a newline. The value of the -built-in variable 'NF' is the number of fields in the current record. -(In the normal case, 'gawk' treats the newline as whitespace, printing -'0' as the result. Most other versions of 'awk' also act this way.) - Reaching the end of an input file terminates the current input record, even if the last character in the file is not the character in 'RS'. (d.c.) @@ -35499,7 +35486,7 @@ Index * dark corner, escape sequences: Other Arguments. (line 46) * dark corner, escape sequences, for metacharacters: Escape Sequences. (line 144) -* dark corner, input files: awk split records. (line 117) +* dark corner, input files: awk split records. (line 104) * dark corner, strings, storing: gawk split records. (line 86) * dark corner, NF variable, decrementing: Changing Fields. (line 107) * dark corner, ^, in FS: Regexp Field Splitting. @@ -35724,9 +35711,9 @@ Index * differences in awk and gawk, regular expressions: Case-sensitivity. (line 26) * differences in awk and gawk, record separators: awk split records. - (line 131) + (line 118) * differences in awk and gawk, RS/RT variables: awk split records. - (line 131) + (line 118) * differences in awk and gawk, RS/RT variables <1>: gawk split records. (line 58) * differences in awk and gawk, strings, storing: gawk split records. @@ -36276,7 +36263,7 @@ Index * gawk, regular expressions, case sensitivity: Case-sensitivity. (line 26) * gawk, IGNORECASE variable in: Case-sensitivity. (line 26) -* gawk, RT variable in: awk split records. (line 131) +* gawk, RT variable in: awk split records. (line 118) * gawk, RT variable in <1>: gawk split records. (line 58) * gawk, FIELDWIDTHS variable in: Fixed width data. (line 17) * gawk, FPAT variable in: Splitting By Content. @@ -36868,7 +36855,7 @@ Index * null strings, in gawk arguments, quoting and: Quoting. (line 82) * null strings, in gawk arguments, quoting and <1>: Other Arguments. (line 73) -* null strings: awk split records. (line 121) +* null strings: awk split records. (line 108) * null strings <1>: Regexp Field Splitting. (line 43) * null strings, converting numbers to strings: Strings And Numbers. @@ -37279,12 +37266,12 @@ Index * record separators, newlines as: awk split records. (line 12) * record separators, changing: awk split records. (line 85) * record separators, regular expressions as: awk split records. - (line 131) + (line 118) * record separators, with multiline records: Multiple Line. (line 10) * record separators <1>: User-modified. (line 136) * records: Reading Files. (line 14) * records, splitting input into: Records. (line 6) -* records, terminating: awk split records. (line 131) +* records, terminating: awk split records. (line 118) * records, treating files as: gawk split records. (line 96) * records, multiline: Multiple Line. (line 6) * records, printing: Print. (line 22) @@ -37334,7 +37321,7 @@ Index (line 73) * regular expressions, case sensitivity: Case-sensitivity. (line 6) * regular expressions, as record separators: awk split records. - (line 131) + (line 118) * regular expressions, as field separators: Field Separators. (line 50) * regular expressions, as field separators <1>: Regexp Field Splitting. (line 6) @@ -37395,7 +37382,7 @@ Index * rshift: Bitwise Functions. (line 54) * RSTART variable: Auto-set. (line 341) * RSTART variable, match() function and: String Functions. (line 234) -* RT variable: awk split records. (line 131) +* RT variable: awk split records. (line 118) * RT variable <1>: gawk split records. (line 58) * RT variable <2>: Multiple Line. (line 139) * RT variable <3>: Auto-set. (line 348) @@ -37447,7 +37434,7 @@ Index * separators, for records: awk split records. (line 6) * separators, for records <1>: awk split records. (line 85) * separators, for records, regular expressions as: awk split records. - (line 131) + (line 118) * separators, field, FS variable and: Default Field Splitting. (line 6) * separators, for statements in actions: Action Overview. (line 19) @@ -37654,7 +37641,7 @@ Index * string-manipulation functions: String Functions. (line 6) * string-matching operators: Regexp Usage. (line 19) * string-translation functions: I18N Functions. (line 6) -* strings, empty: awk split records. (line 121) +* strings, empty: awk split records. (line 108) * strings, null: Regexp Field Splitting. (line 43) * strings, length limitations: Scalar Constants. (line 20) @@ -37707,7 +37694,7 @@ Index * tee utility: Tee Program. (line 6) * tee.awk program: Tee Program. (line 26) * temporary breakpoint: Breakpoint Control. (line 90) -* terminating records: awk split records. (line 131) +* terminating records: awk split records. (line 118) * testbits.awk program: Bitwise Functions. (line 69) * testext extension: Extension Sample API Tests. (line 6) @@ -38061,526 +38048,526 @@ Node: Regexp Summary199454 Node: Reading Files200920 Node: Records203189 Node: awk split records204264 -Node: gawk split records209539 -Ref: gawk split records-Footnote-1214272 -Node: Fields214309 -Node: Nonconstant Fields217050 -Ref: Nonconstant Fields-Footnote-1219286 -Node: Changing Fields219490 -Node: Field Separators225521 -Node: Default Field Splitting228219 -Node: Regexp Field Splitting229337 -Node: Single Character Fields232690 -Node: Command Line Field Separator233750 -Node: Full Line Fields236968 -Ref: Full Line Fields-Footnote-1238490 -Ref: Full Line Fields-Footnote-2238536 -Node: Field Splitting Summary238637 -Node: Constant Size240711 -Node: Fixed width data241443 -Node: Skipping intervening244910 -Node: Allowing trailing data245708 -Node: Fields with fixed data246745 -Node: Splitting By Content248263 -Ref: Splitting By Content-Footnote-1252046 -Node: More CSV252209 -Node: Testing field creation253519 -Node: Multiple Line255144 -Node: Getline261421 -Node: Plain Getline263890 -Node: Getline/Variable266463 -Node: Getline/File267614 -Node: Getline/Variable/File269002 -Ref: Getline/Variable/File-Footnote-1270607 -Node: Getline/Pipe270695 -Node: Getline/Variable/Pipe273399 -Node: Getline/Coprocess274534 -Node: Getline/Variable/Coprocess275801 -Node: Getline Notes276543 -Node: Getline Summary279340 -Ref: table-getline-variants279764 -Node: Read Timeout280512 -Ref: Read Timeout-Footnote-1284418 -Node: Retrying Input284476 -Node: Command-line directories285675 -Node: Input Summary286581 -Node: Input Exercises289753 -Node: Printing290187 -Node: Print292021 -Node: Print Examples293478 -Node: Output Separators296258 -Node: OFMT298275 -Node: Printf299631 -Node: Basic Printf300416 -Node: Control Letters301990 -Node: Format Modifiers307154 -Node: Printf Examples313169 -Node: Redirection315655 -Node: Special FD322496 -Ref: Special FD-Footnote-1325664 -Node: Special Files325738 -Node: Other Inherited Files326355 -Node: Special Network327356 -Node: Special Caveats328216 -Node: Close Files And Pipes329165 -Ref: table-close-pipe-return-values336072 -Ref: Close Files And Pipes-Footnote-1336885 -Ref: Close Files And Pipes-Footnote-2337033 -Node: Nonfatal337185 -Node: Output Summary339523 -Node: Output Exercises340745 -Node: Expressions341424 -Node: Values342612 -Node: Constants343290 -Node: Scalar Constants343981 -Ref: Scalar Constants-Footnote-1346491 -Node: Nondecimal-numbers346741 -Node: Regexp Constants349742 -Node: Using Constant Regexps350268 -Node: Standard Regexp Constants350890 -Node: Strong Regexp Constants354078 -Node: Variables357090 -Node: Using Variables357747 -Node: Assignment Options359657 -Node: Conversion362128 -Node: Strings And Numbers362652 -Ref: Strings And Numbers-Footnote-1365715 -Node: Locale influences conversions365824 -Ref: table-locale-affects368582 -Node: All Operators369200 -Node: Arithmetic Ops369829 -Node: Concatenation372545 -Ref: Concatenation-Footnote-1375392 -Node: Assignment Ops375499 -Ref: table-assign-ops380490 -Node: Increment Ops381803 -Node: Truth Values and Conditions385263 -Node: Truth Values386337 -Node: Typing and Comparison387385 -Node: Variable Typing388205 -Ref: Variable Typing-Footnote-1394668 -Ref: Variable Typing-Footnote-2394740 -Node: Comparison Operators394817 -Ref: table-relational-ops395236 -Node: POSIX String Comparison398731 -Ref: POSIX String Comparison-Footnote-1400426 -Ref: POSIX String Comparison-Footnote-2400565 -Node: Boolean Ops400649 -Ref: Boolean Ops-Footnote-1405131 -Node: Conditional Exp405223 -Node: Function Calls406959 -Node: Precedence410836 -Node: Locales414495 -Node: Expressions Summary416127 -Node: Patterns and Actions418700 -Node: Pattern Overview419820 -Node: Regexp Patterns421497 -Node: Expression Patterns422039 -Node: Ranges425820 -Node: BEGIN/END428928 -Node: Using BEGIN/END429689 -Ref: Using BEGIN/END-Footnote-1432443 -Node: I/O And BEGIN/END432549 -Node: BEGINFILE/ENDFILE434862 -Node: Empty438093 -Node: Using Shell Variables438410 -Node: Action Overview440684 -Node: Statements443009 -Node: If Statement444857 -Node: While Statement446352 -Node: Do Statement448380 -Node: For Statement449528 -Node: Switch Statement452699 -Node: Break Statement455140 -Node: Continue Statement457232 -Node: Next Statement459059 -Node: Nextfile Statement461442 -Node: Exit Statement464131 -Node: Built-in Variables466534 -Node: User-modified467667 -Node: Auto-set475434 -Ref: Auto-set-Footnote-1492241 -Ref: Auto-set-Footnote-2492447 -Node: ARGC and ARGV492503 -Node: Pattern Action Summary496716 -Node: Arrays499146 -Node: Array Basics500475 -Node: Array Intro501319 -Ref: figure-array-elements503294 -Ref: Array Intro-Footnote-1505998 -Node: Reference to Elements506126 -Node: Assigning Elements508590 -Node: Array Example509081 -Node: Scanning an Array510840 -Node: Controlling Scanning513862 -Ref: Controlling Scanning-Footnote-1520318 -Node: Numeric Array Subscripts520634 -Node: Uninitialized Subscripts522818 -Node: Delete524437 -Ref: Delete-Footnote-1527189 -Node: Multidimensional527246 -Node: Multiscanning530341 -Node: Arrays of Arrays531932 -Node: Arrays Summary536700 -Node: Functions538793 -Node: Built-in539831 -Node: Calling Built-in540912 -Node: Numeric Functions542908 -Ref: Numeric Functions-Footnote-1546936 -Ref: Numeric Functions-Footnote-2547584 -Ref: Numeric Functions-Footnote-3547632 -Node: String Functions547904 -Ref: String Functions-Footnote-1572045 -Ref: String Functions-Footnote-2572173 -Ref: String Functions-Footnote-3572421 -Node: Gory Details572508 -Ref: table-sub-escapes574299 -Ref: table-sub-proposed575818 -Ref: table-posix-sub577181 -Ref: table-gensub-escapes578722 -Ref: Gory Details-Footnote-1579545 -Node: I/O Functions579699 -Ref: table-system-return-values586153 -Ref: I/O Functions-Footnote-1588233 -Ref: I/O Functions-Footnote-2588381 -Node: Time Functions588501 -Ref: Time Functions-Footnote-1599172 -Ref: Time Functions-Footnote-2599240 -Ref: Time Functions-Footnote-3599398 -Ref: Time Functions-Footnote-4599509 -Ref: Time Functions-Footnote-5599621 -Ref: Time Functions-Footnote-6599848 -Node: Bitwise Functions600114 -Ref: table-bitwise-ops600708 -Ref: Bitwise Functions-Footnote-1606771 -Ref: Bitwise Functions-Footnote-2606944 -Node: Type Functions607135 -Node: I18N Functions609998 -Node: User-defined611649 -Node: Definition Syntax612461 -Ref: Definition Syntax-Footnote-1618155 -Node: Function Example618226 -Ref: Function Example-Footnote-1621148 -Node: Function Calling621170 -Node: Calling A Function621758 -Node: Variable Scope622716 -Node: Pass By Value/Reference625710 -Node: Function Caveats628354 -Ref: Function Caveats-Footnote-1630401 -Node: Return Statement630521 -Node: Dynamic Typing633500 -Node: Indirect Calls634430 -Ref: Indirect Calls-Footnote-1644682 -Node: Functions Summary644810 -Node: Library Functions647515 -Ref: Library Functions-Footnote-1651122 -Ref: Library Functions-Footnote-2651265 -Node: Library Names651436 -Ref: Library Names-Footnote-1655103 -Ref: Library Names-Footnote-2655326 -Node: General Functions655412 -Node: Strtonum Function656515 -Node: Assert Function659537 -Node: Round Function662863 -Node: Cliff Random Function664403 -Node: Ordinal Functions665419 -Ref: Ordinal Functions-Footnote-1668482 -Ref: Ordinal Functions-Footnote-2668734 -Node: Join Function668944 -Ref: Join Function-Footnote-1670714 -Node: Getlocaltime Function670914 -Node: Readfile Function674656 -Node: Shell Quoting676633 -Node: Data File Management678034 -Node: Filetrans Function678666 -Node: Rewind Function682762 -Node: File Checking684671 -Ref: File Checking-Footnote-1686005 -Node: Empty Files686206 -Node: Ignoring Assigns688185 -Node: Getopt Function689735 -Ref: Getopt Function-Footnote-1704946 -Node: Passwd Functions705146 -Ref: Passwd Functions-Footnote-1713985 -Node: Group Functions714073 -Ref: Group Functions-Footnote-1721971 -Node: Walking Arrays722178 -Node: Library Functions Summary725186 -Node: Library Exercises726592 -Node: Sample Programs727057 -Node: Running Examples727827 -Node: Clones728555 -Node: Cut Program729779 -Node: Egrep Program739919 -Node: Id Program748930 -Node: Split Program758877 -Ref: Split Program-Footnote-1768767 -Node: Tee Program768940 -Node: Uniq Program771730 -Node: Wc Program779318 -Node: Bytes vs. Characters779715 -Node: Using extensions781263 -Node: wc program782017 -Node: Miscellaneous Programs786882 -Node: Dupword Program788095 -Node: Alarm Program790125 -Node: Translate Program794980 -Ref: Translate Program-Footnote-1799545 -Node: Labels Program799815 -Ref: Labels Program-Footnote-1803166 -Node: Word Sorting803250 -Node: History Sorting807322 -Node: Extract Program809547 -Node: Simple Sed817601 -Node: Igawk Program820675 -Ref: Igawk Program-Footnote-1835006 -Ref: Igawk Program-Footnote-2835208 -Ref: Igawk Program-Footnote-3835330 -Node: Anagram Program835445 -Node: Signature Program838507 -Node: Programs Summary839754 -Node: Programs Exercises840968 -Ref: Programs Exercises-Footnote-1845098 -Node: Advanced Features845184 -Node: Nondecimal Data847251 -Node: Array Sorting848842 -Node: Controlling Array Traversal849542 -Ref: Controlling Array Traversal-Footnote-1857910 -Node: Array Sorting Functions858028 -Ref: Array Sorting Functions-Footnote-1863119 -Node: Two-way I/O863315 -Ref: Two-way I/O-Footnote-1871036 -Ref: Two-way I/O-Footnote-2871223 -Node: TCP/IP Networking871305 -Node: Profiling874423 -Node: Extension Philosophy883732 -Node: Advanced Features Summary885183 -Node: Internationalization887182 -Node: I18N and L10N888662 -Node: Explaining gettext889349 -Ref: Explaining gettext-Footnote-1895241 -Ref: Explaining gettext-Footnote-2895426 -Node: Programmer i18n895591 -Ref: Programmer i18n-Footnote-1900540 -Node: Translator i18n900589 -Node: String Extraction901383 -Ref: String Extraction-Footnote-1902515 -Node: Printf Ordering902601 -Ref: Printf Ordering-Footnote-1905387 -Node: I18N Portability905451 -Ref: I18N Portability-Footnote-1907907 -Node: I18N Example907970 -Ref: I18N Example-Footnote-1911245 -Ref: I18N Example-Footnote-2911318 -Node: Gawk I18N911427 -Node: I18N Summary912076 -Node: Debugger913417 -Node: Debugging914417 -Node: Debugging Concepts914858 -Node: Debugging Terms916667 -Node: Awk Debugging919242 -Ref: Awk Debugging-Footnote-1920187 -Node: Sample Debugging Session920319 -Node: Debugger Invocation920853 -Node: Finding The Bug922239 -Node: List of Debugger Commands928713 -Node: Breakpoint Control930046 -Node: Debugger Execution Control933740 -Node: Viewing And Changing Data937102 -Node: Execution Stack940643 -Node: Debugger Info942280 -Node: Miscellaneous Debugger Commands946351 -Node: Readline Support951413 -Node: Limitations952309 -Node: Debugging Summary954863 -Node: Namespaces956142 -Node: Global Namespace957253 -Node: Qualified Names958651 -Node: Default Namespace959650 -Node: Changing The Namespace960391 -Node: Naming Rules962005 -Node: Internal Name Management963853 -Node: Namespace Example964895 -Node: Namespace And Features967457 -Node: Namespace Summary968892 -Node: Arbitrary Precision Arithmetic970369 -Node: Computer Arithmetic971856 -Ref: table-numeric-ranges975622 -Ref: table-floating-point-ranges976115 -Ref: Computer Arithmetic-Footnote-1976773 -Node: Math Definitions976830 -Ref: table-ieee-formats980146 -Ref: Math Definitions-Footnote-1980749 -Node: MPFR features980854 -Node: FP Math Caution982572 -Ref: FP Math Caution-Footnote-1983644 -Node: Inexactness of computations984013 -Node: Inexact representation984973 -Node: Comparing FP Values986333 -Node: Errors accumulate987574 -Node: Getting Accuracy989007 -Node: Try To Round991717 -Node: Setting precision992616 -Ref: table-predefined-precision-strings993313 -Node: Setting the rounding mode995143 -Ref: table-gawk-rounding-modes995517 -Ref: Setting the rounding mode-Footnote-1999448 -Node: Arbitrary Precision Integers999627 -Ref: Arbitrary Precision Integers-Footnote-11002802 -Node: Checking for MPFR1002951 -Node: POSIX Floating Point Problems1004425 -Ref: POSIX Floating Point Problems-Footnote-11008710 -Node: Floating point summary1008748 -Node: Dynamic Extensions1010938 -Node: Extension Intro1012491 -Node: Plugin License1013757 -Node: Extension Mechanism Outline1014554 -Ref: figure-load-extension1014993 -Ref: figure-register-new-function1016558 -Ref: figure-call-new-function1017650 -Node: Extension API Description1019712 -Node: Extension API Functions Introduction1021425 -Ref: table-api-std-headers1023261 -Node: General Data Types1027510 -Ref: General Data Types-Footnote-11036140 -Node: Memory Allocation Functions1036439 -Ref: Memory Allocation Functions-Footnote-11040940 -Node: Constructor Functions1041039 -Node: API Ownership of MPFR and GMP Values1044505 -Node: Registration Functions1045818 -Node: Extension Functions1046518 -Node: Exit Callback Functions1051840 -Node: Extension Version String1053090 -Node: Input Parsers1053753 -Node: Output Wrappers1066474 -Node: Two-way processors1070986 -Node: Printing Messages1073251 -Ref: Printing Messages-Footnote-11074422 -Node: Updating ERRNO1074575 -Node: Requesting Values1075314 -Ref: table-value-types-returned1076051 -Node: Accessing Parameters1076987 -Node: Symbol Table Access1078224 -Node: Symbol table by name1078736 -Ref: Symbol table by name-Footnote-11081760 -Node: Symbol table by cookie1081888 -Ref: Symbol table by cookie-Footnote-11086073 -Node: Cached values1086137 -Ref: Cached values-Footnote-11089673 -Node: Array Manipulation1089826 -Ref: Array Manipulation-Footnote-11090917 -Node: Array Data Types1090954 -Ref: Array Data Types-Footnote-11093612 -Node: Array Functions1093704 -Node: Flattening Arrays1098202 -Node: Creating Arrays1105178 -Node: Redirection API1109945 -Node: Extension API Variables1112778 -Node: Extension Versioning1113489 -Ref: gawk-api-version1113918 -Node: Extension GMP/MPFR Versioning1115649 -Node: Extension API Informational Variables1117277 -Node: Extension API Boilerplate1118350 -Node: Changes from API V11122324 -Node: Finding Extensions1123896 -Node: Extension Example1124455 -Node: Internal File Description1125253 -Node: Internal File Ops1129333 -Ref: Internal File Ops-Footnote-11140683 -Node: Using Internal File Ops1140823 -Ref: Using Internal File Ops-Footnote-11143206 -Node: Extension Samples1143480 -Node: Extension Sample File Functions1145009 -Node: Extension Sample Fnmatch1152658 -Node: Extension Sample Fork1154145 -Node: Extension Sample Inplace1155363 -Node: Extension Sample Ord1158989 -Node: Extension Sample Readdir1159825 -Ref: table-readdir-file-types1160714 -Node: Extension Sample Revout1161781 -Node: Extension Sample Rev2way1162370 -Node: Extension Sample Read write array1163110 -Node: Extension Sample Readfile1165052 -Node: Extension Sample Time1166147 -Node: Extension Sample API Tests1167899 -Node: gawkextlib1168391 -Node: Extension summary1171309 -Node: Extension Exercises1175011 -Node: Language History1176253 -Node: V7/SVR3.11177909 -Node: SVR41180061 -Node: POSIX1181495 -Node: BTL1182876 -Node: POSIX/GNU1183605 -Node: Feature History1189383 -Node: Common Extensions1205702 -Node: Ranges and Locales1206985 -Ref: Ranges and Locales-Footnote-11211601 -Ref: Ranges and Locales-Footnote-21211628 -Ref: Ranges and Locales-Footnote-31211863 -Node: Contributors1212086 -Node: History summary1218083 -Node: Installation1219463 -Node: Gawk Distribution1220407 -Node: Getting1220891 -Node: Extracting1221854 -Node: Distribution contents1223492 -Node: Unix Installation1229972 -Node: Quick Installation1230654 -Node: Shell Startup Files1233068 -Node: Additional Configuration Options1234157 -Node: Configuration Philosophy1236472 -Node: Non-Unix Installation1238841 -Node: PC Installation1239301 -Node: PC Binary Installation1240139 -Node: PC Compiling1240574 -Node: PC Using1241691 -Node: Cygwin1245244 -Node: MSYS1246468 -Node: VMS Installation1247070 -Node: VMS Compilation1247861 -Ref: VMS Compilation-Footnote-11249090 -Node: VMS Dynamic Extensions1249148 -Node: VMS Installation Details1250833 -Node: VMS Running1253086 -Node: VMS GNV1257365 -Node: VMS Old Gawk1258100 -Node: Bugs1258571 -Node: Bug address1259234 -Node: Usenet1262216 -Node: Maintainers1263220 -Node: Other Versions1264405 -Node: Installation summary1271493 -Node: Notes1272702 -Node: Compatibility Mode1273496 -Node: Additions1274278 -Node: Accessing The Source1275203 -Node: Adding Code1276640 -Node: New Ports1282859 -Node: Derived Files1287234 -Ref: Derived Files-Footnote-11292894 -Ref: Derived Files-Footnote-21292929 -Ref: Derived Files-Footnote-31293527 -Node: Future Extensions1293641 -Node: Implementation Limitations1294299 -Node: Extension Design1295509 -Node: Old Extension Problems1296653 -Ref: Old Extension Problems-Footnote-11298171 -Node: Extension New Mechanism Goals1298228 -Ref: Extension New Mechanism Goals-Footnote-11301592 -Node: Extension Other Design Decisions1301781 -Node: Extension Future Growth1303894 -Node: Notes summary1304500 -Node: Basic Concepts1305658 -Node: Basic High Level1306339 -Ref: figure-general-flow1306621 -Ref: figure-process-flow1307306 -Ref: Basic High Level-Footnote-11310607 -Node: Basic Data Typing1310792 -Node: Glossary1314120 -Node: Copying1346005 -Node: GNU Free Documentation License1383548 -Node: Index1408668 +Node: gawk split records208964 +Ref: gawk split records-Footnote-1213697 +Node: Fields213734 +Node: Nonconstant Fields216475 +Ref: Nonconstant Fields-Footnote-1218711 +Node: Changing Fields218915 +Node: Field Separators224946 +Node: Default Field Splitting227644 +Node: Regexp Field Splitting228762 +Node: Single Character Fields232115 +Node: Command Line Field Separator233175 +Node: Full Line Fields236393 +Ref: Full Line Fields-Footnote-1237915 +Ref: Full Line Fields-Footnote-2237961 +Node: Field Splitting Summary238062 +Node: Constant Size240136 +Node: Fixed width data240868 +Node: Skipping intervening244335 +Node: Allowing trailing data245133 +Node: Fields with fixed data246170 +Node: Splitting By Content247688 +Ref: Splitting By Content-Footnote-1251471 +Node: More CSV251634 +Node: Testing field creation252944 +Node: Multiple Line254569 +Node: Getline260846 +Node: Plain Getline263315 +Node: Getline/Variable265888 +Node: Getline/File267039 +Node: Getline/Variable/File268427 +Ref: Getline/Variable/File-Footnote-1270032 +Node: Getline/Pipe270120 +Node: Getline/Variable/Pipe272824 +Node: Getline/Coprocess273959 +Node: Getline/Variable/Coprocess275226 +Node: Getline Notes275968 +Node: Getline Summary278765 +Ref: table-getline-variants279189 +Node: Read Timeout279937 +Ref: Read Timeout-Footnote-1283843 +Node: Retrying Input283901 +Node: Command-line directories285100 +Node: Input Summary286006 +Node: Input Exercises289178 +Node: Printing289612 +Node: Print291446 +Node: Print Examples292903 +Node: Output Separators295683 +Node: OFMT297700 +Node: Printf299056 +Node: Basic Printf299841 +Node: Control Letters301415 +Node: Format Modifiers306579 +Node: Printf Examples312594 +Node: Redirection315080 +Node: Special FD321921 +Ref: Special FD-Footnote-1325089 +Node: Special Files325163 +Node: Other Inherited Files325780 +Node: Special Network326781 +Node: Special Caveats327641 +Node: Close Files And Pipes328590 +Ref: table-close-pipe-return-values335497 +Ref: Close Files And Pipes-Footnote-1336310 +Ref: Close Files And Pipes-Footnote-2336458 +Node: Nonfatal336610 +Node: Output Summary338948 +Node: Output Exercises340170 +Node: Expressions340849 +Node: Values342037 +Node: Constants342715 +Node: Scalar Constants343406 +Ref: Scalar Constants-Footnote-1345916 +Node: Nondecimal-numbers346166 +Node: Regexp Constants349167 +Node: Using Constant Regexps349693 +Node: Standard Regexp Constants350315 +Node: Strong Regexp Constants353503 +Node: Variables356515 +Node: Using Variables357172 +Node: Assignment Options359082 +Node: Conversion361553 +Node: Strings And Numbers362077 +Ref: Strings And Numbers-Footnote-1365140 +Node: Locale influences conversions365249 +Ref: table-locale-affects368007 +Node: All Operators368625 +Node: Arithmetic Ops369254 +Node: Concatenation371970 +Ref: Concatenation-Footnote-1374817 +Node: Assignment Ops374924 +Ref: table-assign-ops379915 +Node: Increment Ops381228 +Node: Truth Values and Conditions384688 +Node: Truth Values385762 +Node: Typing and Comparison386810 +Node: Variable Typing387630 +Ref: Variable Typing-Footnote-1394093 +Ref: Variable Typing-Footnote-2394165 +Node: Comparison Operators394242 +Ref: table-relational-ops394661 +Node: POSIX String Comparison398156 +Ref: POSIX String Comparison-Footnote-1399851 +Ref: POSIX String Comparison-Footnote-2399990 +Node: Boolean Ops400074 +Ref: Boolean Ops-Footnote-1404556 +Node: Conditional Exp404648 +Node: Function Calls406384 +Node: Precedence410261 +Node: Locales413920 +Node: Expressions Summary415552 +Node: Patterns and Actions418125 +Node: Pattern Overview419245 +Node: Regexp Patterns420922 +Node: Expression Patterns421464 +Node: Ranges425245 +Node: BEGIN/END428353 +Node: Using BEGIN/END429114 +Ref: Using BEGIN/END-Footnote-1431868 +Node: I/O And BEGIN/END431974 +Node: BEGINFILE/ENDFILE434287 +Node: Empty437518 +Node: Using Shell Variables437835 +Node: Action Overview440109 +Node: Statements442434 +Node: If Statement444282 +Node: While Statement445777 +Node: Do Statement447805 +Node: For Statement448953 +Node: Switch Statement452124 +Node: Break Statement454565 +Node: Continue Statement456657 +Node: Next Statement458484 +Node: Nextfile Statement460867 +Node: Exit Statement463556 +Node: Built-in Variables465959 +Node: User-modified467092 +Node: Auto-set474859 +Ref: Auto-set-Footnote-1491666 +Ref: Auto-set-Footnote-2491872 +Node: ARGC and ARGV491928 +Node: Pattern Action Summary496141 +Node: Arrays498571 +Node: Array Basics499900 +Node: Array Intro500744 +Ref: figure-array-elements502719 +Ref: Array Intro-Footnote-1505423 +Node: Reference to Elements505551 +Node: Assigning Elements508015 +Node: Array Example508506 +Node: Scanning an Array510265 +Node: Controlling Scanning513287 +Ref: Controlling Scanning-Footnote-1519743 +Node: Numeric Array Subscripts520059 +Node: Uninitialized Subscripts522243 +Node: Delete523862 +Ref: Delete-Footnote-1526614 +Node: Multidimensional526671 +Node: Multiscanning529766 +Node: Arrays of Arrays531357 +Node: Arrays Summary536125 +Node: Functions538218 +Node: Built-in539256 +Node: Calling Built-in540337 +Node: Numeric Functions542333 +Ref: Numeric Functions-Footnote-1546361 +Ref: Numeric Functions-Footnote-2547009 +Ref: Numeric Functions-Footnote-3547057 +Node: String Functions547329 +Ref: String Functions-Footnote-1571470 +Ref: String Functions-Footnote-2571598 +Ref: String Functions-Footnote-3571846 +Node: Gory Details571933 +Ref: table-sub-escapes573724 +Ref: table-sub-proposed575243 +Ref: table-posix-sub576606 +Ref: table-gensub-escapes578147 +Ref: Gory Details-Footnote-1578970 +Node: I/O Functions579124 +Ref: table-system-return-values585578 +Ref: I/O Functions-Footnote-1587658 +Ref: I/O Functions-Footnote-2587806 +Node: Time Functions587926 +Ref: Time Functions-Footnote-1598597 +Ref: Time Functions-Footnote-2598665 +Ref: Time Functions-Footnote-3598823 +Ref: Time Functions-Footnote-4598934 +Ref: Time Functions-Footnote-5599046 +Ref: Time Functions-Footnote-6599273 +Node: Bitwise Functions599539 +Ref: table-bitwise-ops600133 +Ref: Bitwise Functions-Footnote-1606196 +Ref: Bitwise Functions-Footnote-2606369 +Node: Type Functions606560 +Node: I18N Functions609423 +Node: User-defined611074 +Node: Definition Syntax611886 +Ref: Definition Syntax-Footnote-1617580 +Node: Function Example617651 +Ref: Function Example-Footnote-1620573 +Node: Function Calling620595 +Node: Calling A Function621183 +Node: Variable Scope622141 +Node: Pass By Value/Reference625135 +Node: Function Caveats627779 +Ref: Function Caveats-Footnote-1629826 +Node: Return Statement629946 +Node: Dynamic Typing632925 +Node: Indirect Calls633855 +Ref: Indirect Calls-Footnote-1644107 +Node: Functions Summary644235 +Node: Library Functions646940 +Ref: Library Functions-Footnote-1650547 +Ref: Library Functions-Footnote-2650690 +Node: Library Names650861 +Ref: Library Names-Footnote-1654528 +Ref: Library Names-Footnote-2654751 +Node: General Functions654837 +Node: Strtonum Function655940 +Node: Assert Function658962 +Node: Round Function662288 +Node: Cliff Random Function663828 +Node: Ordinal Functions664844 +Ref: Ordinal Functions-Footnote-1667907 +Ref: Ordinal Functions-Footnote-2668159 +Node: Join Function668369 +Ref: Join Function-Footnote-1670139 +Node: Getlocaltime Function670339 +Node: Readfile Function674081 +Node: Shell Quoting676058 +Node: Data File Management677459 +Node: Filetrans Function678091 +Node: Rewind Function682187 +Node: File Checking684096 +Ref: File Checking-Footnote-1685430 +Node: Empty Files685631 +Node: Ignoring Assigns687610 +Node: Getopt Function689160 +Ref: Getopt Function-Footnote-1704371 +Node: Passwd Functions704571 +Ref: Passwd Functions-Footnote-1713410 +Node: Group Functions713498 +Ref: Group Functions-Footnote-1721396 +Node: Walking Arrays721603 +Node: Library Functions Summary724611 +Node: Library Exercises726017 +Node: Sample Programs726482 +Node: Running Examples727252 +Node: Clones727980 +Node: Cut Program729204 +Node: Egrep Program739344 +Node: Id Program748355 +Node: Split Program758302 +Ref: Split Program-Footnote-1768192 +Node: Tee Program768365 +Node: Uniq Program771155 +Node: Wc Program778743 +Node: Bytes vs. Characters779140 +Node: Using extensions780688 +Node: wc program781442 +Node: Miscellaneous Programs786307 +Node: Dupword Program787520 +Node: Alarm Program789550 +Node: Translate Program794405 +Ref: Translate Program-Footnote-1798970 +Node: Labels Program799240 +Ref: Labels Program-Footnote-1802591 +Node: Word Sorting802675 +Node: History Sorting806747 +Node: Extract Program808972 +Node: Simple Sed817026 +Node: Igawk Program820100 +Ref: Igawk Program-Footnote-1834431 +Ref: Igawk Program-Footnote-2834633 +Ref: Igawk Program-Footnote-3834755 +Node: Anagram Program834870 +Node: Signature Program837932 +Node: Programs Summary839179 +Node: Programs Exercises840393 +Ref: Programs Exercises-Footnote-1844523 +Node: Advanced Features844609 +Node: Nondecimal Data846676 +Node: Array Sorting848267 +Node: Controlling Array Traversal848967 +Ref: Controlling Array Traversal-Footnote-1857335 +Node: Array Sorting Functions857453 +Ref: Array Sorting Functions-Footnote-1862544 +Node: Two-way I/O862740 +Ref: Two-way I/O-Footnote-1870461 +Ref: Two-way I/O-Footnote-2870648 +Node: TCP/IP Networking870730 +Node: Profiling873848 +Node: Extension Philosophy883157 +Node: Advanced Features Summary884608 +Node: Internationalization886607 +Node: I18N and L10N888087 +Node: Explaining gettext888774 +Ref: Explaining gettext-Footnote-1894666 +Ref: Explaining gettext-Footnote-2894851 +Node: Programmer i18n895016 +Ref: Programmer i18n-Footnote-1899965 +Node: Translator i18n900014 +Node: String Extraction900808 +Ref: String Extraction-Footnote-1901940 +Node: Printf Ordering902026 +Ref: Printf Ordering-Footnote-1904812 +Node: I18N Portability904876 +Ref: I18N Portability-Footnote-1907332 +Node: I18N Example907395 +Ref: I18N Example-Footnote-1910670 +Ref: I18N Example-Footnote-2910743 +Node: Gawk I18N910852 +Node: I18N Summary911501 +Node: Debugger912842 +Node: Debugging913842 +Node: Debugging Concepts914283 +Node: Debugging Terms916092 +Node: Awk Debugging918667 +Ref: Awk Debugging-Footnote-1919612 +Node: Sample Debugging Session919744 +Node: Debugger Invocation920278 +Node: Finding The Bug921664 +Node: List of Debugger Commands928138 +Node: Breakpoint Control929471 +Node: Debugger Execution Control933165 +Node: Viewing And Changing Data936527 +Node: Execution Stack940068 +Node: Debugger Info941705 +Node: Miscellaneous Debugger Commands945776 +Node: Readline Support950838 +Node: Limitations951734 +Node: Debugging Summary954288 +Node: Namespaces955567 +Node: Global Namespace956678 +Node: Qualified Names958076 +Node: Default Namespace959075 +Node: Changing The Namespace959816 +Node: Naming Rules961430 +Node: Internal Name Management963278 +Node: Namespace Example964320 +Node: Namespace And Features966882 +Node: Namespace Summary968317 +Node: Arbitrary Precision Arithmetic969794 +Node: Computer Arithmetic971281 +Ref: table-numeric-ranges975047 +Ref: table-floating-point-ranges975540 +Ref: Computer Arithmetic-Footnote-1976198 +Node: Math Definitions976255 +Ref: table-ieee-formats979571 +Ref: Math Definitions-Footnote-1980174 +Node: MPFR features980279 +Node: FP Math Caution981997 +Ref: FP Math Caution-Footnote-1983069 +Node: Inexactness of computations983438 +Node: Inexact representation984398 +Node: Comparing FP Values985758 +Node: Errors accumulate986999 +Node: Getting Accuracy988432 +Node: Try To Round991142 +Node: Setting precision992041 +Ref: table-predefined-precision-strings992738 +Node: Setting the rounding mode994568 +Ref: table-gawk-rounding-modes994942 +Ref: Setting the rounding mode-Footnote-1998873 +Node: Arbitrary Precision Integers999052 +Ref: Arbitrary Precision Integers-Footnote-11002227 +Node: Checking for MPFR1002376 +Node: POSIX Floating Point Problems1003850 +Ref: POSIX Floating Point Problems-Footnote-11008135 +Node: Floating point summary1008173 +Node: Dynamic Extensions1010363 +Node: Extension Intro1011916 +Node: Plugin License1013182 +Node: Extension Mechanism Outline1013979 +Ref: figure-load-extension1014418 +Ref: figure-register-new-function1015983 +Ref: figure-call-new-function1017075 +Node: Extension API Description1019137 +Node: Extension API Functions Introduction1020850 +Ref: table-api-std-headers1022686 +Node: General Data Types1026935 +Ref: General Data Types-Footnote-11035565 +Node: Memory Allocation Functions1035864 +Ref: Memory Allocation Functions-Footnote-11040365 +Node: Constructor Functions1040464 +Node: API Ownership of MPFR and GMP Values1043930 +Node: Registration Functions1045243 +Node: Extension Functions1045943 +Node: Exit Callback Functions1051265 +Node: Extension Version String1052515 +Node: Input Parsers1053178 +Node: Output Wrappers1065899 +Node: Two-way processors1070411 +Node: Printing Messages1072676 +Ref: Printing Messages-Footnote-11073847 +Node: Updating ERRNO1074000 +Node: Requesting Values1074739 +Ref: table-value-types-returned1075476 +Node: Accessing Parameters1076412 +Node: Symbol Table Access1077649 +Node: Symbol table by name1078161 +Ref: Symbol table by name-Footnote-11081185 +Node: Symbol table by cookie1081313 +Ref: Symbol table by cookie-Footnote-11085498 +Node: Cached values1085562 +Ref: Cached values-Footnote-11089098 +Node: Array Manipulation1089251 +Ref: Array Manipulation-Footnote-11090342 +Node: Array Data Types1090379 +Ref: Array Data Types-Footnote-11093037 +Node: Array Functions1093129 +Node: Flattening Arrays1097627 +Node: Creating Arrays1104603 +Node: Redirection API1109370 +Node: Extension API Variables1112203 +Node: Extension Versioning1112914 +Ref: gawk-api-version1113343 +Node: Extension GMP/MPFR Versioning1115074 +Node: Extension API Informational Variables1116702 +Node: Extension API Boilerplate1117775 +Node: Changes from API V11121749 +Node: Finding Extensions1123321 +Node: Extension Example1123880 +Node: Internal File Description1124678 +Node: Internal File Ops1128758 +Ref: Internal File Ops-Footnote-11140108 +Node: Using Internal File Ops1140248 +Ref: Using Internal File Ops-Footnote-11142631 +Node: Extension Samples1142905 +Node: Extension Sample File Functions1144434 +Node: Extension Sample Fnmatch1152083 +Node: Extension Sample Fork1153570 +Node: Extension Sample Inplace1154788 +Node: Extension Sample Ord1158414 +Node: Extension Sample Readdir1159250 +Ref: table-readdir-file-types1160139 +Node: Extension Sample Revout1161206 +Node: Extension Sample Rev2way1161795 +Node: Extension Sample Read write array1162535 +Node: Extension Sample Readfile1164477 +Node: Extension Sample Time1165572 +Node: Extension Sample API Tests1167324 +Node: gawkextlib1167816 +Node: Extension summary1170734 +Node: Extension Exercises1174436 +Node: Language History1175678 +Node: V7/SVR3.11177334 +Node: SVR41179486 +Node: POSIX1180920 +Node: BTL1182301 +Node: POSIX/GNU1183030 +Node: Feature History1188808 +Node: Common Extensions1205127 +Node: Ranges and Locales1206410 +Ref: Ranges and Locales-Footnote-11211026 +Ref: Ranges and Locales-Footnote-21211053 +Ref: Ranges and Locales-Footnote-31211288 +Node: Contributors1211511 +Node: History summary1217508 +Node: Installation1218888 +Node: Gawk Distribution1219832 +Node: Getting1220316 +Node: Extracting1221279 +Node: Distribution contents1222917 +Node: Unix Installation1229397 +Node: Quick Installation1230079 +Node: Shell Startup Files1232493 +Node: Additional Configuration Options1233582 +Node: Configuration Philosophy1235897 +Node: Non-Unix Installation1238266 +Node: PC Installation1238726 +Node: PC Binary Installation1239564 +Node: PC Compiling1239999 +Node: PC Using1241116 +Node: Cygwin1244669 +Node: MSYS1245893 +Node: VMS Installation1246495 +Node: VMS Compilation1247286 +Ref: VMS Compilation-Footnote-11248515 +Node: VMS Dynamic Extensions1248573 +Node: VMS Installation Details1250258 +Node: VMS Running1252511 +Node: VMS GNV1256790 +Node: VMS Old Gawk1257525 +Node: Bugs1257996 +Node: Bug address1258659 +Node: Usenet1261641 +Node: Maintainers1262645 +Node: Other Versions1263830 +Node: Installation summary1270918 +Node: Notes1272127 +Node: Compatibility Mode1272921 +Node: Additions1273703 +Node: Accessing The Source1274628 +Node: Adding Code1276065 +Node: New Ports1282284 +Node: Derived Files1286659 +Ref: Derived Files-Footnote-11292319 +Ref: Derived Files-Footnote-21292354 +Ref: Derived Files-Footnote-31292952 +Node: Future Extensions1293066 +Node: Implementation Limitations1293724 +Node: Extension Design1294934 +Node: Old Extension Problems1296078 +Ref: Old Extension Problems-Footnote-11297596 +Node: Extension New Mechanism Goals1297653 +Ref: Extension New Mechanism Goals-Footnote-11301017 +Node: Extension Other Design Decisions1301206 +Node: Extension Future Growth1303319 +Node: Notes summary1303925 +Node: Basic Concepts1305083 +Node: Basic High Level1305764 +Ref: figure-general-flow1306046 +Ref: figure-process-flow1306731 +Ref: Basic High Level-Footnote-11310032 +Node: Basic Data Typing1310217 +Node: Glossary1313545 +Node: Copying1345430 +Node: GNU Free Documentation License1382973 +Node: Index1408093 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 7f9816aa..a6f49cb5 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -6903,22 +6903,6 @@ character in the value of @code{RS} has no special effect: it is treated literally. This is required for backwards compatibility with both Unix @command{awk} and with POSIX. -When using regular characters as the record separator, -there is one unusual case that occurs when @command{gawk} is -being fully POSIX-compliant (@pxref{Options}). -Then, the following (extreme) pipeline prints a surprising @samp{1}: - -@example -$ @kbd{echo | gawk --posix 'BEGIN @{ RS = "a" @} ; @{ print NF @}'} -@print{} 1 -@end example - -There is one field, consisting of a newline. The value of the built-in -variable @code{NF} is the number of fields in the current record. -(In the normal case, @command{gawk} treats the newline as whitespace, -printing @samp{0} as the result. Most other versions of @command{awk} -also act this way.) - @cindex dark corner @subentry input files Reaching the end of an input file terminates the current input record, even if the last character in the file is not the character in @code{RS}. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index ceacad6b..78a28be1 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -6641,22 +6641,6 @@ character in the value of @code{RS} has no special effect: it is treated literally. This is required for backwards compatibility with both Unix @command{awk} and with POSIX. -When using regular characters as the record separator, -there is one unusual case that occurs when @command{gawk} is -being fully POSIX-compliant (@pxref{Options}). -Then, the following (extreme) pipeline prints a surprising @samp{1}: - -@example -$ @kbd{echo | gawk --posix 'BEGIN @{ RS = "a" @} ; @{ print NF @}'} -@print{} 1 -@end example - -There is one field, consisting of a newline. The value of the built-in -variable @code{NF} is the number of fields in the current record. -(In the normal case, @command{gawk} treats the newline as whitespace, -printing @samp{0} as the result. Most other versions of @command{awk} -also act this way.) - @cindex dark corner @subentry input files Reaching the end of an input file terminates the current input record, even if the last character in the file is not the character in @code{RS}. |