aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-12-07 14:30:47 +0200
committerArnold D. Robbins <arnold@skeeve.com>2020-12-07 14:30:47 +0200
commit86df8fd1c504793b43404ce9467cff7b1d1fe2a1 (patch)
tree94e983746e05228e9d87024c9a61a4fb80432ec0
parent2d10a67c0edc9170ce20d4cefe6806ef01d8a45f (diff)
parent8224cc546f7cfb0922fb69f3ad3f91313cf80e37 (diff)
downloadegawk-86df8fd1c504793b43404ce9467cff7b1d1fe2a1.tar.gz
egawk-86df8fd1c504793b43404ce9467cff7b1d1fe2a1.tar.bz2
egawk-86df8fd1c504793b43404ce9467cff7b1d1fe2a1.zip
Merge branch 'gawk-5.1-stable'
-rw-r--r--doc/ChangeLog15
-rw-r--r--doc/gawk.info1079
-rw-r--r--doc/gawk.texi16
-rw-r--r--doc/gawkinet.info168
-rw-r--r--doc/gawkinet.texi119
-rw-r--r--doc/gawktexi.in16
6 files changed, 696 insertions, 717 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 796051a5..de71baa5 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,18 @@
+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.
+
+2020-12-04 Juergen Kahrs <Juergen.Kahrs@googlemail.com>
+
+ * gawkinet.texi: Update urefs.
+
2020-12-01 Arnold D. Robbins <arnold@skeeve.com>
* gawkinet.texi: Lots of cleanup edits. Bump the minor part
diff --git a/doc/gawk.info b/doc/gawk.info
index 22a15a62..258ddf71 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -4566,19 +4566,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.)
@@ -35546,7 +35533,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.
@@ -35771,9 +35758,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.
@@ -36323,7 +36310,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.
@@ -36915,7 +36902,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.
@@ -37326,12 +37313,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)
@@ -37381,7 +37368,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)
@@ -37442,7 +37429,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)
@@ -37494,7 +37481,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)
@@ -37701,7 +37688,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)
@@ -37754,7 +37741,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)
@@ -38108,527 +38095,527 @@ Node: Regexp Summary199533
Node: Reading Files200999
Node: Records203268
Node: awk split records204343
-Node: gawk split records209618
-Ref: gawk split records-Footnote-1214351
-Node: Fields214388
-Node: Nonconstant Fields217129
-Ref: Nonconstant Fields-Footnote-1219365
-Node: Changing Fields219569
-Node: Field Separators225600
-Node: Default Field Splitting228298
-Node: Regexp Field Splitting229416
-Node: Single Character Fields232769
-Node: Command Line Field Separator233829
-Node: Full Line Fields237047
-Ref: Full Line Fields-Footnote-1238569
-Ref: Full Line Fields-Footnote-2238615
-Node: Field Splitting Summary238716
-Node: Constant Size240790
-Node: Fixed width data241522
-Node: Skipping intervening244989
-Node: Allowing trailing data245787
-Node: Fields with fixed data246824
-Node: Splitting By Content248342
-Ref: Splitting By Content-Footnote-1252125
-Node: More CSV252288
-Node: Testing field creation253598
-Node: Multiple Line255223
-Node: Getline261500
-Node: Plain Getline263969
-Node: Getline/Variable266542
-Node: Getline/File267693
-Node: Getline/Variable/File269081
-Ref: Getline/Variable/File-Footnote-1270686
-Node: Getline/Pipe270774
-Node: Getline/Variable/Pipe273478
-Node: Getline/Coprocess274613
-Node: Getline/Variable/Coprocess275880
-Node: Getline Notes276622
-Node: Getline Summary279419
-Ref: table-getline-variants279843
-Node: Read Timeout280591
-Ref: Read Timeout-Footnote-1284497
-Node: Retrying Input284555
-Node: Command-line directories285754
-Node: Input Summary286660
-Node: Input Exercises289832
-Node: Printing290266
-Node: Print292100
-Node: Print Examples293557
-Node: Output Separators296337
-Node: OFMT298354
-Node: Printf299710
-Node: Basic Printf300495
-Node: Control Letters302069
-Node: Format Modifiers307231
-Node: Printf Examples313246
-Node: Redirection315732
-Node: Special FD322573
-Ref: Special FD-Footnote-1325741
-Node: Special Files325815
-Node: Other Inherited Files326432
-Node: Special Network327433
-Node: Special Caveats328293
-Node: Close Files And Pipes329242
-Ref: table-close-pipe-return-values336149
-Ref: Close Files And Pipes-Footnote-1336962
-Ref: Close Files And Pipes-Footnote-2337110
-Node: Nonfatal337262
-Node: Output Summary339600
-Node: Output Exercises340822
-Node: Expressions341501
-Node: Values342689
-Node: Constants343367
-Node: Scalar Constants344058
-Ref: Scalar Constants-Footnote-1346568
-Node: Nondecimal-numbers346818
-Node: Regexp Constants349819
-Node: Using Constant Regexps350345
-Node: Standard Regexp Constants350967
-Node: Strong Regexp Constants354155
-Node: Variables357167
-Node: Using Variables357824
-Node: Assignment Options359734
-Node: Conversion362205
-Node: Strings And Numbers362729
-Ref: Strings And Numbers-Footnote-1365792
-Node: Locale influences conversions365901
-Ref: table-locale-affects368659
-Node: All Operators369277
-Node: Arithmetic Ops369906
-Node: Concatenation372622
-Ref: Concatenation-Footnote-1375469
-Node: Assignment Ops375576
-Ref: table-assign-ops380567
-Node: Increment Ops381880
-Node: Truth Values and Conditions385340
-Node: Truth Values386414
-Node: Typing and Comparison387462
-Node: Variable Typing388282
-Ref: Variable Typing-Footnote-1394745
-Ref: Variable Typing-Footnote-2394817
-Node: Comparison Operators394894
-Ref: table-relational-ops395313
-Node: POSIX String Comparison398808
-Ref: POSIX String Comparison-Footnote-1400503
-Ref: POSIX String Comparison-Footnote-2400642
-Node: Boolean Ops400726
-Ref: Boolean Ops-Footnote-1405208
-Node: Conditional Exp405300
-Node: Function Calls407036
-Node: Precedence410913
-Node: Locales414572
-Node: Expressions Summary416204
-Node: Patterns and Actions418777
-Node: Pattern Overview419897
-Node: Regexp Patterns421574
-Node: Expression Patterns422116
-Node: Ranges425897
-Node: BEGIN/END429005
-Node: Using BEGIN/END429766
-Ref: Using BEGIN/END-Footnote-1432520
-Node: I/O And BEGIN/END432626
-Node: BEGINFILE/ENDFILE434939
-Node: Empty438170
-Node: Using Shell Variables438487
-Node: Action Overview440761
-Node: Statements443086
-Node: If Statement444934
-Node: While Statement446429
-Node: Do Statement448457
-Node: For Statement449605
-Node: Switch Statement452776
-Node: Break Statement455217
-Node: Continue Statement457309
-Node: Next Statement459136
-Node: Nextfile Statement461519
-Node: Exit Statement464208
-Node: Built-in Variables466611
-Node: User-modified467744
-Node: Auto-set475511
-Ref: Auto-set-Footnote-1492318
-Ref: Auto-set-Footnote-2492524
-Node: ARGC and ARGV492580
-Node: Pattern Action Summary496793
-Node: Arrays499223
-Node: Array Basics500552
-Node: Array Intro501396
-Ref: figure-array-elements503371
-Ref: Array Intro-Footnote-1506075
-Node: Reference to Elements506203
-Node: Assigning Elements508667
-Node: Array Example509158
-Node: Scanning an Array510917
-Node: Controlling Scanning513939
-Ref: Controlling Scanning-Footnote-1520395
-Node: Numeric Array Subscripts520711
-Node: Uninitialized Subscripts522895
-Node: Delete524514
-Ref: Delete-Footnote-1527266
-Node: Multidimensional527323
-Node: Multiscanning530418
-Node: Arrays of Arrays532009
-Node: Arrays Summary536777
-Node: Functions538870
-Node: Built-in539908
-Node: Calling Built-in540989
-Node: Numeric Functions542985
-Ref: Numeric Functions-Footnote-1547011
-Ref: Numeric Functions-Footnote-2547659
-Ref: Numeric Functions-Footnote-3547707
-Node: String Functions547979
-Ref: String Functions-Footnote-1572120
-Ref: String Functions-Footnote-2572248
-Ref: String Functions-Footnote-3572496
-Node: Gory Details572583
-Ref: table-sub-escapes574374
-Ref: table-sub-proposed575893
-Ref: table-posix-sub577256
-Ref: table-gensub-escapes578797
-Ref: Gory Details-Footnote-1579620
-Node: I/O Functions579774
-Ref: table-system-return-values586228
-Ref: I/O Functions-Footnote-1588308
-Ref: I/O Functions-Footnote-2588456
-Node: Time Functions588576
-Ref: Time Functions-Footnote-1599247
-Ref: Time Functions-Footnote-2599315
-Ref: Time Functions-Footnote-3599473
-Ref: Time Functions-Footnote-4599584
-Ref: Time Functions-Footnote-5599696
-Ref: Time Functions-Footnote-6599923
-Node: Bitwise Functions600189
-Ref: table-bitwise-ops600783
-Ref: Bitwise Functions-Footnote-1606846
-Ref: Bitwise Functions-Footnote-2607019
-Node: Type Functions607210
-Node: I18N Functions610073
-Node: User-defined611724
-Node: Definition Syntax612536
-Ref: Definition Syntax-Footnote-1618230
-Node: Function Example618301
-Ref: Function Example-Footnote-1621223
-Node: Function Calling621245
-Node: Calling A Function621833
-Node: Variable Scope622791
-Node: Pass By Value/Reference625785
-Node: Function Caveats628429
-Ref: Function Caveats-Footnote-1630476
-Node: Return Statement630596
-Node: Dynamic Typing633575
-Node: Indirect Calls634505
-Ref: Indirect Calls-Footnote-1644757
-Node: Functions Summary644885
-Node: Library Functions647590
-Ref: Library Functions-Footnote-1651197
-Ref: Library Functions-Footnote-2651340
-Node: Library Names651511
-Ref: Library Names-Footnote-1655178
-Ref: Library Names-Footnote-2655401
-Node: General Functions655487
-Node: Strtonum Function656590
-Node: Assert Function659612
-Node: Round Function662938
-Node: Cliff Random Function664478
-Node: Ordinal Functions665494
-Ref: Ordinal Functions-Footnote-1668557
-Ref: Ordinal Functions-Footnote-2668809
-Node: Join Function669019
-Ref: Join Function-Footnote-1670789
-Node: Getlocaltime Function670989
-Node: Readfile Function674731
-Node: Shell Quoting676708
-Node: Data File Management678109
-Node: Filetrans Function678741
-Node: Rewind Function682837
-Node: File Checking684746
-Ref: File Checking-Footnote-1686080
-Node: Empty Files686281
-Node: Ignoring Assigns688260
-Node: Getopt Function689810
-Ref: Getopt Function-Footnote-1705021
-Node: Passwd Functions705221
-Ref: Passwd Functions-Footnote-1714060
-Node: Group Functions714148
-Ref: Group Functions-Footnote-1722046
-Node: Walking Arrays722253
-Node: Library Functions Summary725261
-Node: Library Exercises726667
-Node: Sample Programs727132
-Node: Running Examples727902
-Node: Clones728630
-Node: Cut Program729854
-Node: Egrep Program739994
-Node: Id Program749005
-Node: Split Program758952
-Ref: Split Program-Footnote-1768842
-Node: Tee Program769015
-Node: Uniq Program771805
-Node: Wc Program779393
-Node: Bytes vs. Characters779790
-Node: Using extensions781338
-Node: wc program782092
-Node: Miscellaneous Programs786957
-Node: Dupword Program788170
-Node: Alarm Program790200
-Node: Translate Program795055
-Ref: Translate Program-Footnote-1799620
-Node: Labels Program799890
-Ref: Labels Program-Footnote-1803241
-Node: Word Sorting803325
-Node: History Sorting807397
-Node: Extract Program809622
-Node: Simple Sed817676
-Node: Igawk Program820750
-Ref: Igawk Program-Footnote-1835081
-Ref: Igawk Program-Footnote-2835283
-Ref: Igawk Program-Footnote-3835405
-Node: Anagram Program835520
-Node: Signature Program838582
-Node: Programs Summary839829
-Node: Programs Exercises841043
-Ref: Programs Exercises-Footnote-1845173
-Node: Advanced Features845259
-Node: Nondecimal Data847326
-Node: Array Sorting848917
-Node: Controlling Array Traversal849617
-Ref: Controlling Array Traversal-Footnote-1857985
-Node: Array Sorting Functions858103
-Ref: Array Sorting Functions-Footnote-1863194
-Node: Two-way I/O863390
-Ref: Two-way I/O-Footnote-1871111
-Ref: Two-way I/O-Footnote-2871298
-Node: TCP/IP Networking871380
-Node: Profiling874498
-Node: Extension Philosophy883807
-Node: Advanced Features Summary885258
-Node: Internationalization887257
-Node: I18N and L10N888737
-Node: Explaining gettext889424
-Ref: Explaining gettext-Footnote-1895316
-Ref: Explaining gettext-Footnote-2895501
-Node: Programmer i18n895666
-Ref: Programmer i18n-Footnote-1900615
-Node: Translator i18n900664
-Node: String Extraction901458
-Ref: String Extraction-Footnote-1902590
-Node: Printf Ordering902676
-Ref: Printf Ordering-Footnote-1905462
-Node: I18N Portability905526
-Ref: I18N Portability-Footnote-1907982
-Node: I18N Example908045
-Ref: I18N Example-Footnote-1911320
-Ref: I18N Example-Footnote-2911393
-Node: Gawk I18N911502
-Node: I18N Summary912151
-Node: Debugger913492
-Node: Debugging914492
-Node: Debugging Concepts914933
-Node: Debugging Terms916742
-Node: Awk Debugging919317
-Ref: Awk Debugging-Footnote-1920262
-Node: Sample Debugging Session920394
-Node: Debugger Invocation920928
-Node: Finding The Bug922314
-Node: List of Debugger Commands928788
-Node: Breakpoint Control930121
-Node: Debugger Execution Control933815
-Node: Viewing And Changing Data937177
-Node: Execution Stack940718
-Node: Debugger Info942355
-Node: Miscellaneous Debugger Commands946426
-Node: Readline Support951488
-Node: Limitations952384
-Node: Debugging Summary954938
-Node: Namespaces956217
-Node: Global Namespace957328
-Node: Qualified Names958726
-Node: Default Namespace959725
-Node: Changing The Namespace960466
-Node: Naming Rules962080
-Node: Internal Name Management963928
-Node: Namespace Example964970
-Node: Namespace And Features967532
-Node: Namespace Summary968967
-Node: Arbitrary Precision Arithmetic970444
-Node: Computer Arithmetic971931
-Ref: table-numeric-ranges975697
-Ref: table-floating-point-ranges976190
-Ref: Computer Arithmetic-Footnote-1976848
-Node: Math Definitions976905
-Ref: table-ieee-formats979881
-Node: MPFR features980448
-Node: FP Math Caution982166
-Ref: FP Math Caution-Footnote-1983238
-Node: Inexactness of computations983607
-Node: Inexact representation984638
-Node: Comparing FP Values985998
-Node: Errors accumulate987239
-Node: Strange values988695
-Ref: Strange values-Footnote-1991283
-Node: Getting Accuracy991388
-Node: Try To Round994098
-Node: Setting precision994997
-Ref: table-predefined-precision-strings995694
-Node: Setting the rounding mode997524
-Ref: table-gawk-rounding-modes997898
-Ref: Setting the rounding mode-Footnote-11001829
-Node: Arbitrary Precision Integers1002008
-Ref: Arbitrary Precision Integers-Footnote-11005183
-Node: Checking for MPFR1005332
-Node: POSIX Floating Point Problems1006806
-Ref: POSIX Floating Point Problems-Footnote-11011091
-Node: Floating point summary1011129
-Node: Dynamic Extensions1013319
-Node: Extension Intro1014872
-Node: Plugin License1016138
-Node: Extension Mechanism Outline1016935
-Ref: figure-load-extension1017374
-Ref: figure-register-new-function1018939
-Ref: figure-call-new-function1020031
-Node: Extension API Description1022093
-Node: Extension API Functions Introduction1023806
-Ref: table-api-std-headers1025642
-Node: General Data Types1029891
-Ref: General Data Types-Footnote-11038521
-Node: Memory Allocation Functions1038820
-Ref: Memory Allocation Functions-Footnote-11043321
-Node: Constructor Functions1043420
-Node: API Ownership of MPFR and GMP Values1046886
-Node: Registration Functions1048199
-Node: Extension Functions1048899
-Node: Exit Callback Functions1054221
-Node: Extension Version String1055471
-Node: Input Parsers1056134
-Node: Output Wrappers1068855
-Node: Two-way processors1073367
-Node: Printing Messages1075632
-Ref: Printing Messages-Footnote-11076803
-Node: Updating ERRNO1076956
-Node: Requesting Values1077695
-Ref: table-value-types-returned1078432
-Node: Accessing Parameters1079368
-Node: Symbol Table Access1080605
-Node: Symbol table by name1081117
-Ref: Symbol table by name-Footnote-11084141
-Node: Symbol table by cookie1084269
-Ref: Symbol table by cookie-Footnote-11088454
-Node: Cached values1088518
-Ref: Cached values-Footnote-11092054
-Node: Array Manipulation1092207
-Ref: Array Manipulation-Footnote-11093298
-Node: Array Data Types1093335
-Ref: Array Data Types-Footnote-11095993
-Node: Array Functions1096085
-Node: Flattening Arrays1100583
-Node: Creating Arrays1107559
-Node: Redirection API1112326
-Node: Extension API Variables1115159
-Node: Extension Versioning1115870
-Ref: gawk-api-version1116299
-Node: Extension GMP/MPFR Versioning1118030
-Node: Extension API Informational Variables1119658
-Node: Extension API Boilerplate1120731
-Node: Changes from API V11124705
-Node: Finding Extensions1126277
-Node: Extension Example1126836
-Node: Internal File Description1127634
-Node: Internal File Ops1131714
-Ref: Internal File Ops-Footnote-11143064
-Node: Using Internal File Ops1143204
-Ref: Using Internal File Ops-Footnote-11145587
-Node: Extension Samples1145861
-Node: Extension Sample File Functions1147390
-Node: Extension Sample Fnmatch1155039
-Node: Extension Sample Fork1156526
-Node: Extension Sample Inplace1157744
-Node: Extension Sample Ord1161370
-Node: Extension Sample Readdir1162206
-Ref: table-readdir-file-types1163095
-Node: Extension Sample Revout1164162
-Node: Extension Sample Rev2way1164751
-Node: Extension Sample Read write array1165491
-Node: Extension Sample Readfile1167433
-Node: Extension Sample Time1168528
-Node: Extension Sample API Tests1170280
-Node: gawkextlib1170772
-Node: Extension summary1173690
-Node: Extension Exercises1177392
-Node: Language History1178634
-Node: V7/SVR3.11180290
-Node: SVR41182442
-Node: POSIX1183876
-Node: BTL1185257
-Node: POSIX/GNU1185986
-Node: Feature History1191764
-Node: Common Extensions1208083
-Node: Ranges and Locales1209366
-Ref: Ranges and Locales-Footnote-11213982
-Ref: Ranges and Locales-Footnote-21214009
-Ref: Ranges and Locales-Footnote-31214244
-Node: Contributors1214467
-Node: History summary1220464
-Node: Installation1221844
-Node: Gawk Distribution1222788
-Node: Getting1223272
-Node: Extracting1224235
-Node: Distribution contents1225873
-Node: Unix Installation1232353
-Node: Quick Installation1233035
-Node: Shell Startup Files1235449
-Node: Additional Configuration Options1236538
-Node: Configuration Philosophy1238853
-Node: Non-Unix Installation1241222
-Node: PC Installation1241682
-Node: PC Binary Installation1242520
-Node: PC Compiling1242955
-Node: PC Using1244072
-Node: Cygwin1247625
-Node: MSYS1248849
-Node: VMS Installation1249451
-Node: VMS Compilation1250242
-Ref: VMS Compilation-Footnote-11251471
-Node: VMS Dynamic Extensions1251529
-Node: VMS Installation Details1253214
-Node: VMS Running1255467
-Node: VMS GNV1259746
-Node: VMS Old Gawk1260481
-Node: Bugs1260952
-Node: Bug address1261615
-Node: Usenet1264597
-Node: Maintainers1265601
-Node: Other Versions1266786
-Node: Installation summary1273874
-Node: Notes1275083
-Node: Compatibility Mode1275877
-Node: Additions1276659
-Node: Accessing The Source1277584
-Node: Adding Code1279021
-Node: New Ports1285240
-Node: Derived Files1289615
-Ref: Derived Files-Footnote-11295275
-Ref: Derived Files-Footnote-21295310
-Ref: Derived Files-Footnote-31295908
-Node: Future Extensions1296022
-Node: Implementation Limitations1296680
-Node: Extension Design1297890
-Node: Old Extension Problems1299034
-Ref: Old Extension Problems-Footnote-11300552
-Node: Extension New Mechanism Goals1300609
-Ref: Extension New Mechanism Goals-Footnote-11303973
-Node: Extension Other Design Decisions1304162
-Node: Extension Future Growth1306275
-Node: Notes summary1306881
-Node: Basic Concepts1308039
-Node: Basic High Level1308720
-Ref: figure-general-flow1309002
-Ref: figure-process-flow1309687
-Ref: Basic High Level-Footnote-11312988
-Node: Basic Data Typing1313173
-Node: Glossary1316501
-Node: Copying1348386
-Node: GNU Free Documentation License1385929
-Node: Index1411049
+Node: gawk split records209043
+Ref: gawk split records-Footnote-1213776
+Node: Fields213813
+Node: Nonconstant Fields216554
+Ref: Nonconstant Fields-Footnote-1218790
+Node: Changing Fields218994
+Node: Field Separators225025
+Node: Default Field Splitting227723
+Node: Regexp Field Splitting228841
+Node: Single Character Fields232194
+Node: Command Line Field Separator233254
+Node: Full Line Fields236472
+Ref: Full Line Fields-Footnote-1237994
+Ref: Full Line Fields-Footnote-2238040
+Node: Field Splitting Summary238141
+Node: Constant Size240215
+Node: Fixed width data240947
+Node: Skipping intervening244414
+Node: Allowing trailing data245212
+Node: Fields with fixed data246249
+Node: Splitting By Content247767
+Ref: Splitting By Content-Footnote-1251550
+Node: More CSV251713
+Node: Testing field creation253023
+Node: Multiple Line254648
+Node: Getline260925
+Node: Plain Getline263394
+Node: Getline/Variable265967
+Node: Getline/File267118
+Node: Getline/Variable/File268506
+Ref: Getline/Variable/File-Footnote-1270111
+Node: Getline/Pipe270199
+Node: Getline/Variable/Pipe272903
+Node: Getline/Coprocess274038
+Node: Getline/Variable/Coprocess275305
+Node: Getline Notes276047
+Node: Getline Summary278844
+Ref: table-getline-variants279268
+Node: Read Timeout280016
+Ref: Read Timeout-Footnote-1283922
+Node: Retrying Input283980
+Node: Command-line directories285179
+Node: Input Summary286085
+Node: Input Exercises289257
+Node: Printing289691
+Node: Print291525
+Node: Print Examples292982
+Node: Output Separators295762
+Node: OFMT297779
+Node: Printf299135
+Node: Basic Printf299920
+Node: Control Letters301494
+Node: Format Modifiers306656
+Node: Printf Examples312671
+Node: Redirection315157
+Node: Special FD321998
+Ref: Special FD-Footnote-1325166
+Node: Special Files325240
+Node: Other Inherited Files325857
+Node: Special Network326858
+Node: Special Caveats327718
+Node: Close Files And Pipes328667
+Ref: table-close-pipe-return-values335574
+Ref: Close Files And Pipes-Footnote-1336387
+Ref: Close Files And Pipes-Footnote-2336535
+Node: Nonfatal336687
+Node: Output Summary339025
+Node: Output Exercises340247
+Node: Expressions340926
+Node: Values342114
+Node: Constants342792
+Node: Scalar Constants343483
+Ref: Scalar Constants-Footnote-1345993
+Node: Nondecimal-numbers346243
+Node: Regexp Constants349244
+Node: Using Constant Regexps349770
+Node: Standard Regexp Constants350392
+Node: Strong Regexp Constants353580
+Node: Variables356592
+Node: Using Variables357249
+Node: Assignment Options359159
+Node: Conversion361630
+Node: Strings And Numbers362154
+Ref: Strings And Numbers-Footnote-1365217
+Node: Locale influences conversions365326
+Ref: table-locale-affects368084
+Node: All Operators368702
+Node: Arithmetic Ops369331
+Node: Concatenation372047
+Ref: Concatenation-Footnote-1374894
+Node: Assignment Ops375001
+Ref: table-assign-ops379992
+Node: Increment Ops381305
+Node: Truth Values and Conditions384765
+Node: Truth Values385839
+Node: Typing and Comparison386887
+Node: Variable Typing387707
+Ref: Variable Typing-Footnote-1394170
+Ref: Variable Typing-Footnote-2394242
+Node: Comparison Operators394319
+Ref: table-relational-ops394738
+Node: POSIX String Comparison398233
+Ref: POSIX String Comparison-Footnote-1399928
+Ref: POSIX String Comparison-Footnote-2400067
+Node: Boolean Ops400151
+Ref: Boolean Ops-Footnote-1404633
+Node: Conditional Exp404725
+Node: Function Calls406461
+Node: Precedence410338
+Node: Locales413997
+Node: Expressions Summary415629
+Node: Patterns and Actions418202
+Node: Pattern Overview419322
+Node: Regexp Patterns420999
+Node: Expression Patterns421541
+Node: Ranges425322
+Node: BEGIN/END428430
+Node: Using BEGIN/END429191
+Ref: Using BEGIN/END-Footnote-1431945
+Node: I/O And BEGIN/END432051
+Node: BEGINFILE/ENDFILE434364
+Node: Empty437595
+Node: Using Shell Variables437912
+Node: Action Overview440186
+Node: Statements442511
+Node: If Statement444359
+Node: While Statement445854
+Node: Do Statement447882
+Node: For Statement449030
+Node: Switch Statement452201
+Node: Break Statement454642
+Node: Continue Statement456734
+Node: Next Statement458561
+Node: Nextfile Statement460944
+Node: Exit Statement463633
+Node: Built-in Variables466036
+Node: User-modified467169
+Node: Auto-set474936
+Ref: Auto-set-Footnote-1491743
+Ref: Auto-set-Footnote-2491949
+Node: ARGC and ARGV492005
+Node: Pattern Action Summary496218
+Node: Arrays498648
+Node: Array Basics499977
+Node: Array Intro500821
+Ref: figure-array-elements502796
+Ref: Array Intro-Footnote-1505500
+Node: Reference to Elements505628
+Node: Assigning Elements508092
+Node: Array Example508583
+Node: Scanning an Array510342
+Node: Controlling Scanning513364
+Ref: Controlling Scanning-Footnote-1519820
+Node: Numeric Array Subscripts520136
+Node: Uninitialized Subscripts522320
+Node: Delete523939
+Ref: Delete-Footnote-1526691
+Node: Multidimensional526748
+Node: Multiscanning529843
+Node: Arrays of Arrays531434
+Node: Arrays Summary536202
+Node: Functions538295
+Node: Built-in539333
+Node: Calling Built-in540414
+Node: Numeric Functions542410
+Ref: Numeric Functions-Footnote-1546436
+Ref: Numeric Functions-Footnote-2547084
+Ref: Numeric Functions-Footnote-3547132
+Node: String Functions547404
+Ref: String Functions-Footnote-1571545
+Ref: String Functions-Footnote-2571673
+Ref: String Functions-Footnote-3571921
+Node: Gory Details572008
+Ref: table-sub-escapes573799
+Ref: table-sub-proposed575318
+Ref: table-posix-sub576681
+Ref: table-gensub-escapes578222
+Ref: Gory Details-Footnote-1579045
+Node: I/O Functions579199
+Ref: table-system-return-values585653
+Ref: I/O Functions-Footnote-1587733
+Ref: I/O Functions-Footnote-2587881
+Node: Time Functions588001
+Ref: Time Functions-Footnote-1598672
+Ref: Time Functions-Footnote-2598740
+Ref: Time Functions-Footnote-3598898
+Ref: Time Functions-Footnote-4599009
+Ref: Time Functions-Footnote-5599121
+Ref: Time Functions-Footnote-6599348
+Node: Bitwise Functions599614
+Ref: table-bitwise-ops600208
+Ref: Bitwise Functions-Footnote-1606271
+Ref: Bitwise Functions-Footnote-2606444
+Node: Type Functions606635
+Node: I18N Functions609498
+Node: User-defined611149
+Node: Definition Syntax611961
+Ref: Definition Syntax-Footnote-1617655
+Node: Function Example617726
+Ref: Function Example-Footnote-1620648
+Node: Function Calling620670
+Node: Calling A Function621258
+Node: Variable Scope622216
+Node: Pass By Value/Reference625210
+Node: Function Caveats627854
+Ref: Function Caveats-Footnote-1629901
+Node: Return Statement630021
+Node: Dynamic Typing633000
+Node: Indirect Calls633930
+Ref: Indirect Calls-Footnote-1644182
+Node: Functions Summary644310
+Node: Library Functions647015
+Ref: Library Functions-Footnote-1650622
+Ref: Library Functions-Footnote-2650765
+Node: Library Names650936
+Ref: Library Names-Footnote-1654603
+Ref: Library Names-Footnote-2654826
+Node: General Functions654912
+Node: Strtonum Function656015
+Node: Assert Function659037
+Node: Round Function662363
+Node: Cliff Random Function663903
+Node: Ordinal Functions664919
+Ref: Ordinal Functions-Footnote-1667982
+Ref: Ordinal Functions-Footnote-2668234
+Node: Join Function668444
+Ref: Join Function-Footnote-1670214
+Node: Getlocaltime Function670414
+Node: Readfile Function674156
+Node: Shell Quoting676133
+Node: Data File Management677534
+Node: Filetrans Function678166
+Node: Rewind Function682262
+Node: File Checking684171
+Ref: File Checking-Footnote-1685505
+Node: Empty Files685706
+Node: Ignoring Assigns687685
+Node: Getopt Function689235
+Ref: Getopt Function-Footnote-1704446
+Node: Passwd Functions704646
+Ref: Passwd Functions-Footnote-1713485
+Node: Group Functions713573
+Ref: Group Functions-Footnote-1721471
+Node: Walking Arrays721678
+Node: Library Functions Summary724686
+Node: Library Exercises726092
+Node: Sample Programs726557
+Node: Running Examples727327
+Node: Clones728055
+Node: Cut Program729279
+Node: Egrep Program739419
+Node: Id Program748430
+Node: Split Program758377
+Ref: Split Program-Footnote-1768267
+Node: Tee Program768440
+Node: Uniq Program771230
+Node: Wc Program778818
+Node: Bytes vs. Characters779215
+Node: Using extensions780763
+Node: wc program781517
+Node: Miscellaneous Programs786382
+Node: Dupword Program787595
+Node: Alarm Program789625
+Node: Translate Program794480
+Ref: Translate Program-Footnote-1799045
+Node: Labels Program799315
+Ref: Labels Program-Footnote-1802666
+Node: Word Sorting802750
+Node: History Sorting806822
+Node: Extract Program809047
+Node: Simple Sed817101
+Node: Igawk Program820175
+Ref: Igawk Program-Footnote-1834506
+Ref: Igawk Program-Footnote-2834708
+Ref: Igawk Program-Footnote-3834830
+Node: Anagram Program834945
+Node: Signature Program838007
+Node: Programs Summary839254
+Node: Programs Exercises840468
+Ref: Programs Exercises-Footnote-1844598
+Node: Advanced Features844684
+Node: Nondecimal Data846751
+Node: Array Sorting848342
+Node: Controlling Array Traversal849042
+Ref: Controlling Array Traversal-Footnote-1857410
+Node: Array Sorting Functions857528
+Ref: Array Sorting Functions-Footnote-1862619
+Node: Two-way I/O862815
+Ref: Two-way I/O-Footnote-1870536
+Ref: Two-way I/O-Footnote-2870723
+Node: TCP/IP Networking870805
+Node: Profiling873923
+Node: Extension Philosophy883232
+Node: Advanced Features Summary884683
+Node: Internationalization886682
+Node: I18N and L10N888162
+Node: Explaining gettext888849
+Ref: Explaining gettext-Footnote-1894741
+Ref: Explaining gettext-Footnote-2894926
+Node: Programmer i18n895091
+Ref: Programmer i18n-Footnote-1900040
+Node: Translator i18n900089
+Node: String Extraction900883
+Ref: String Extraction-Footnote-1902015
+Node: Printf Ordering902101
+Ref: Printf Ordering-Footnote-1904887
+Node: I18N Portability904951
+Ref: I18N Portability-Footnote-1907407
+Node: I18N Example907470
+Ref: I18N Example-Footnote-1910745
+Ref: I18N Example-Footnote-2910818
+Node: Gawk I18N910927
+Node: I18N Summary911576
+Node: Debugger912917
+Node: Debugging913917
+Node: Debugging Concepts914358
+Node: Debugging Terms916167
+Node: Awk Debugging918742
+Ref: Awk Debugging-Footnote-1919687
+Node: Sample Debugging Session919819
+Node: Debugger Invocation920353
+Node: Finding The Bug921739
+Node: List of Debugger Commands928213
+Node: Breakpoint Control929546
+Node: Debugger Execution Control933240
+Node: Viewing And Changing Data936602
+Node: Execution Stack940143
+Node: Debugger Info941780
+Node: Miscellaneous Debugger Commands945851
+Node: Readline Support950913
+Node: Limitations951809
+Node: Debugging Summary954363
+Node: Namespaces955642
+Node: Global Namespace956753
+Node: Qualified Names958151
+Node: Default Namespace959150
+Node: Changing The Namespace959891
+Node: Naming Rules961505
+Node: Internal Name Management963353
+Node: Namespace Example964395
+Node: Namespace And Features966957
+Node: Namespace Summary968392
+Node: Arbitrary Precision Arithmetic969869
+Node: Computer Arithmetic971356
+Ref: table-numeric-ranges975122
+Ref: table-floating-point-ranges975615
+Ref: Computer Arithmetic-Footnote-1976273
+Node: Math Definitions976330
+Ref: table-ieee-formats979306
+Node: MPFR features979873
+Node: FP Math Caution981591
+Ref: FP Math Caution-Footnote-1982663
+Node: Inexactness of computations983032
+Node: Inexact representation984063
+Node: Comparing FP Values985423
+Node: Errors accumulate986664
+Node: Strange values988120
+Ref: Strange values-Footnote-1990708
+Node: Getting Accuracy990813
+Node: Try To Round993523
+Node: Setting precision994422
+Ref: table-predefined-precision-strings995119
+Node: Setting the rounding mode996949
+Ref: table-gawk-rounding-modes997323
+Ref: Setting the rounding mode-Footnote-11001254
+Node: Arbitrary Precision Integers1001433
+Ref: Arbitrary Precision Integers-Footnote-11004608
+Node: Checking for MPFR1004757
+Node: POSIX Floating Point Problems1006231
+Ref: POSIX Floating Point Problems-Footnote-11010516
+Node: Floating point summary1010554
+Node: Dynamic Extensions1012744
+Node: Extension Intro1014297
+Node: Plugin License1015563
+Node: Extension Mechanism Outline1016360
+Ref: figure-load-extension1016799
+Ref: figure-register-new-function1018364
+Ref: figure-call-new-function1019456
+Node: Extension API Description1021518
+Node: Extension API Functions Introduction1023231
+Ref: table-api-std-headers1025067
+Node: General Data Types1029316
+Ref: General Data Types-Footnote-11037946
+Node: Memory Allocation Functions1038245
+Ref: Memory Allocation Functions-Footnote-11042746
+Node: Constructor Functions1042845
+Node: API Ownership of MPFR and GMP Values1046311
+Node: Registration Functions1047624
+Node: Extension Functions1048324
+Node: Exit Callback Functions1053646
+Node: Extension Version String1054896
+Node: Input Parsers1055559
+Node: Output Wrappers1068280
+Node: Two-way processors1072792
+Node: Printing Messages1075057
+Ref: Printing Messages-Footnote-11076228
+Node: Updating ERRNO1076381
+Node: Requesting Values1077120
+Ref: table-value-types-returned1077857
+Node: Accessing Parameters1078793
+Node: Symbol Table Access1080030
+Node: Symbol table by name1080542
+Ref: Symbol table by name-Footnote-11083566
+Node: Symbol table by cookie1083694
+Ref: Symbol table by cookie-Footnote-11087879
+Node: Cached values1087943
+Ref: Cached values-Footnote-11091479
+Node: Array Manipulation1091632
+Ref: Array Manipulation-Footnote-11092723
+Node: Array Data Types1092760
+Ref: Array Data Types-Footnote-11095418
+Node: Array Functions1095510
+Node: Flattening Arrays1100008
+Node: Creating Arrays1106984
+Node: Redirection API1111751
+Node: Extension API Variables1114584
+Node: Extension Versioning1115295
+Ref: gawk-api-version1115724
+Node: Extension GMP/MPFR Versioning1117455
+Node: Extension API Informational Variables1119083
+Node: Extension API Boilerplate1120156
+Node: Changes from API V11124130
+Node: Finding Extensions1125702
+Node: Extension Example1126261
+Node: Internal File Description1127059
+Node: Internal File Ops1131139
+Ref: Internal File Ops-Footnote-11142489
+Node: Using Internal File Ops1142629
+Ref: Using Internal File Ops-Footnote-11145012
+Node: Extension Samples1145286
+Node: Extension Sample File Functions1146815
+Node: Extension Sample Fnmatch1154464
+Node: Extension Sample Fork1155951
+Node: Extension Sample Inplace1157169
+Node: Extension Sample Ord1160795
+Node: Extension Sample Readdir1161631
+Ref: table-readdir-file-types1162520
+Node: Extension Sample Revout1163587
+Node: Extension Sample Rev2way1164176
+Node: Extension Sample Read write array1164916
+Node: Extension Sample Readfile1166858
+Node: Extension Sample Time1167953
+Node: Extension Sample API Tests1169705
+Node: gawkextlib1170197
+Node: Extension summary1173115
+Node: Extension Exercises1176817
+Node: Language History1178059
+Node: V7/SVR3.11179715
+Node: SVR41181867
+Node: POSIX1183301
+Node: BTL1184682
+Node: POSIX/GNU1185411
+Node: Feature History1191189
+Node: Common Extensions1207508
+Node: Ranges and Locales1208791
+Ref: Ranges and Locales-Footnote-11213407
+Ref: Ranges and Locales-Footnote-21213434
+Ref: Ranges and Locales-Footnote-31213669
+Node: Contributors1213892
+Node: History summary1219889
+Node: Installation1221269
+Node: Gawk Distribution1222213
+Node: Getting1222697
+Node: Extracting1223660
+Node: Distribution contents1225298
+Node: Unix Installation1231778
+Node: Quick Installation1232460
+Node: Shell Startup Files1234874
+Node: Additional Configuration Options1235963
+Node: Configuration Philosophy1238278
+Node: Non-Unix Installation1240647
+Node: PC Installation1241107
+Node: PC Binary Installation1241945
+Node: PC Compiling1242380
+Node: PC Using1243497
+Node: Cygwin1247050
+Node: MSYS1248274
+Node: VMS Installation1248876
+Node: VMS Compilation1249667
+Ref: VMS Compilation-Footnote-11250896
+Node: VMS Dynamic Extensions1250954
+Node: VMS Installation Details1252639
+Node: VMS Running1254892
+Node: VMS GNV1259171
+Node: VMS Old Gawk1259906
+Node: Bugs1260377
+Node: Bug address1261040
+Node: Usenet1264022
+Node: Maintainers1265026
+Node: Other Versions1266211
+Node: Installation summary1273299
+Node: Notes1274508
+Node: Compatibility Mode1275302
+Node: Additions1276084
+Node: Accessing The Source1277009
+Node: Adding Code1278446
+Node: New Ports1284665
+Node: Derived Files1289040
+Ref: Derived Files-Footnote-11294700
+Ref: Derived Files-Footnote-21294735
+Ref: Derived Files-Footnote-31295333
+Node: Future Extensions1295447
+Node: Implementation Limitations1296105
+Node: Extension Design1297315
+Node: Old Extension Problems1298459
+Ref: Old Extension Problems-Footnote-11299977
+Node: Extension New Mechanism Goals1300034
+Ref: Extension New Mechanism Goals-Footnote-11303398
+Node: Extension Other Design Decisions1303587
+Node: Extension Future Growth1305700
+Node: Notes summary1306306
+Node: Basic Concepts1307464
+Node: Basic High Level1308145
+Ref: figure-general-flow1308427
+Ref: figure-process-flow1309112
+Ref: Basic High Level-Footnote-11312413
+Node: Basic Data Typing1312598
+Node: Glossary1315926
+Node: Copying1347811
+Node: GNU Free Documentation License1385354
+Node: Index1410474

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 40c85a81..b8fcff00 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -6905,22 +6905,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/gawkinet.info b/doc/gawkinet.info
index 2a75964f..71724910 100644
--- a/doc/gawkinet.info
+++ b/doc/gawkinet.info
@@ -820,7 +820,11 @@ back-ported their TCP/IP implementation to Microsoft Windows for
Workgroups 3.11, but it was a rather rudimentary and half-hearted
implementation. Nevertheless, the equivalent of '/etc/services' resides
under 'C:\WINNT\system32\drivers\etc\services' on Microsoft Windows 2000
-and Microsoft Windows XP.
+and Microsoft Windows XP. On Microsoft Windows 7, 8 and 10 there is a
+directory '%WinDir%\System32\Drivers\Etc' that holds the 'hosts' file
+(https://support.microsoft.com/en-us/help/972034/how-to-reset-the-hosts-file-back-to-the-default)
+and probably also a 'services' file
+(https://www.ibm.com/support/knowledgecenter/SSRNYG_7.2.1/com.ibm.rational.synergy.install.win.doc/topics/sg_r_igw_services_file.html).

File: gawkinet.info, Node: Interacting, Next: Setting Up, Prev: Troubleshooting, Up: Using Networking
@@ -927,7 +931,12 @@ running on a Unix machine, because the ports with numbers smaller than
1024 ('echo' is at port 7) are reserved for 'root'. On machines running
some flavor of Microsoft Windows, there is no restriction that reserves
ports 1 to 1024 for a privileged user; hence, you can start an 'echo'
-server there.
+server there. Even in later version of Microsoft Windows, this
+restriction of the Unix world seems to have never been adopted 'Does
+windows(10/server-2016) have privileged ports?'
+(https://social.technet.microsoft.com/Forums/windowsserver/en-US/334f0770-eda9-475a-a27f-46b80ab7e872/does-windows10server2016-have-privileged-ports-?forum=ws2016).
+In Microsoft Windows it is the level of the firewall that handles port
+access restrictions, not the level of the operating system's kernel.
Turning this short server program into something really useful is
simple. Imagine a server that first reads a file name from the client
@@ -1039,7 +1048,7 @@ existed when the web was created in the early 1990s. HTTP calls this
'GET' request a "method," which tells the service to transmit a web page
(here the home page of the Yahoo! search engine). Version 1.0 added
the request methods 'HEAD' and 'POST'. The current version of HTTP is
-1.1,(1) and knows the additional request methods 'OPTIONS', 'PUT',
+1.1,(1)(2) and knows the additional request methods 'OPTIONS', 'PUT',
'DELETE', and 'TRACE'. You can fill in any valid web address, and the
program prints the HTML code of that page to your screen.
@@ -1069,6 +1078,14 @@ following:
initially specified in RFC 2068. In June 1999, RFC 2068 was made
obsolete by RFC 2616, an update without any substantial changes.
+ (2) Version 2.0 of HTTP (https://en.wikipedia.org/wiki/HTTP/2) was
+defined in RFC7540 (https://tools.ietf.org/html/rfc7540) and was derived
+from Google's SPDY (https://en.wikipedia.org/wiki/SPDY) protocol. It is
+said to be widely supported. As of 2020 the most popular web sites
+still identify themselves as supporting HTTP/1.1. Version 3.0 of HTTP
+(https://en.wikipedia.org/wiki/HTTP/3) is still a draft and was derived
+from Google's QUIC (https://en.wikipedia.org/wiki/QUIC) protocol.
+

File: gawkinet.info, Node: Primitive Service, Next: Interacting Service, Prev: Web page, Up: Using Networking
@@ -1695,10 +1712,11 @@ ELIZA just picks an index randomly:
}
Some interesting remarks and details (including the original source
-code of ELIZA) are found on Mark Humphrys' home page. Yahoo! also has
-a page with a collection of ELIZA-like programs. Many of them are
-written in Java, some of them disclosing the Java source code, and a few
-even explain how to modify the Java source code.
+code of ELIZA) are found on Mark Humphrys's home page 'How my program
+passed the Turing Test' (https://computing.dcu.ie/~humphrys/eliza.html).
+Wikipedia provides much background information about ELIZA
+(https://en.wikipedia.org/wiki/ELIZA), including the original design of
+the software and its early implementations.
---------- Footnotes ----------
@@ -2565,7 +2583,7 @@ negative variances causes invalid results.
(1) Due to licensing problems, the default installation of GNUPlot
disables the generation of '.gif' files. If your installed version does
not accept 'set term gif', just download and install the most recent
-version of GNUPlot and the GD library (http://www.boutell.com/gd/) by
+version of GNUPlot and the GD library (https://libgd.github.io/) by
Thomas Boutell. Otherwise you still have the chance to generate some
ASCII-art style images with GNUPlot by using 'set term dumb'. (We tried
it and it worked.)
@@ -2984,7 +3002,7 @@ and report it to the originating host, whose name is stored in
---------- Footnotes ----------
- (1) <http://www.research.ibm.com/massive/mobag.ps>
+ (1) <https://link.springer.com/chapter/10.1007/3-540-62852-5_4>

File: gawkinet.info, Node: STOXPRED, Next: PROTBASE, Prev: MOBAGWHO, Up: Some Applications and Techniques
@@ -3568,7 +3586,7 @@ This section lists the URLs for various items discussed in this Info
file. They are presented in the order in which they appear.
'Internet Programming with Python'
- <http://www.fsbassociates.com/books/python.htm>
+ <http://cewing.github.io/training.python_web/html/index.html>
'Advanced Perl Programming'
<http://www.oreilly.com/catalog/advperl>
@@ -3577,73 +3595,59 @@ file. They are presented in the order in which they appear.
<http://www.oreilly.com/catalog/webclient>
Richard Stevens's home page and book
- <http://www.kohala.com/~rstevens>
-
-The SPAK home page
- <http://www.userfriendly.net/linux/RPM/contrib/libc6/i386/spak-0.6b-1.i386.html>
+ <http://www.kohala.com/start>
Volume III of 'Internetworking with TCP/IP', by Comer and Stevens
<http://www.cs.purdue.edu/homes/dec/tcpip3s.cont.html>
XBM Graphics File Format
- <http://www.wotsit.org/download.asp?f=xbm>
+ <https://en.wikipedia.org/wiki/X_BitMap>
GNUPlot
- <http://www.cs.dartmouth.edu/gnuplot_info.html>
+ <http://www.gnuplot.info>
Mark Humphrys' Eliza page
- <http://www.compapp.dcu.ie/~humphrys/eliza.html>
-
-Yahoo! Eliza Information
- <http://dir.yahoo.com/Recreation/Games/Computer_Games/Internet_Games/Web_Games/Artificial_Intelligence>
+ <https://computing.dcu.ie/~humphrys/eliza.html>
-Java versions of Eliza
- <http://www.tjhsst.edu/Psych/ch1/eliza.html>
+Eliza on Wikipedia
+ <https://en.wikipedia.org/wiki/ELIZA>
Java versions of Eliza with source code
- <http://home.adelphia.net/~lifeisgood/eliza/eliza.htm>
-
-Eliza Programs with Explanations
- <http://chayden.net/chayden/eliza/Eliza.shtml>
+ <https://github.com/codeanticode/eliza>
Loebner Contest
- <http://acm.org/~loebner/loebner-prize.htmlx>
+ <https://www.ocf.berkeley.edu/~arihuang/academic/research/loebner.html>
Tck/Tk Information
- <http://www.scriptics.com/>
+ <https://en.wikipedia.org/wiki/Tcl>
Intel 80x86 Processors
- <http://developer.intel.com/design/platform/embedpc/what_is.htm>
+Embedded PCs
+ <https://en.wikipedia.org/wiki/Embedded_system>
AMD Elan Processors
- <http://www.amd.com/products/epd/processors/4.32bitcont/32bitcont/index.html>
+ <https://en.wikipedia.org/wiki/Am5x86>
XINU
- <http://willow.canberra.edu.au/~chrisc/xinu.html>
+ <https://xinu.cs.purdue.edu>
GNU/Linux
- <http://uclinux.lineo.com/>
-
-Embedded PCs
- <http://dir.yahoo.com/Business_and_Economy/Business_to_Business/Computers/Hardware/Embedded_Control/>
+ <https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy>
MiniSQL
- <http://www.hughes.com.au/library/>
+ <https://hughestech.com.au/products/msql>
Market Share Surveys
<http://www.netcraft.com/survey>
'Numerical Recipes in C: The Art of Scientific Computing'
- <http://www.nr.com>
+ <http://numerical.recipes/>
VRML
- <http://www.vrml.org>
-
-The VRML FAQ
- <http://www.vrml.org/technicalinfo/specifications/specifications.htm#FAQ>
+ <https://en.wikipedia.org/wiki/VRML>
The UMBC Agent Web
- <http://www.cs.umbc.edu/agents>
+ <https://agents.umbc.edu>
Apache Web Server
<http://www.apache.org>
@@ -3652,34 +3656,31 @@ National Center for Biotechnology Information (NCBI)
<http://www.ncbi.nlm.nih.gov>
Basic Local Alignment Search Tool (BLAST)
- <http://www.ncbi.nlm.nih.gov/BLAST/blast_overview.html>
-
-NCBI Home Page
- <http://www.ncbi.nlm.nih.gov>
+ <https://www.nature.com/scitable/topicpage/basic-local-alignment-search-tool-blast-29096>
BLAST Pages
<http://www.ncbi.nlm.nih.gov/BLAST>
BLAST Demonstration Client
- <ftp://ncbi.nlm.nih.gov/blast/blasturl/>
+ <http://www.genebee.msu.su/blast/blast_overview.html#Network>
BLAST anonymous FTP location
- <ftp://ncbi.nlm.nih.gov/blast/network/netblast/>
+ <https://www.ncbi.nlm.nih.gov/books/NBK62345/>
BLAST 2.0 Executables
- <ftp://ncbi.nlm.nih.gov/blast/executables/>
+ <ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST>
IUB/IUPAC Amino Acid and Nucleic Acid Codes
- <http://www.uthscsa.edu/geninfo/blastmail.html#item6>
+ <https://en.wikipedia.org/wiki/Nucleic_acid_notation>
FASTA/Pearson Format
- <http://www.ncbi.nlm.nih.gov/BLAST/fasta.html>
+ <https://de.wikipedia.org/wiki/FASTA-Format>
Fasta/Pearson Sequence in Java
<http://www.kazusa.or.jp/java/codon_table_java/>
Book Review of 'Introduction to Computational Biology'
- <http://www.acm.org/crossroads/xrds5-1/introcb.html>
+ <https://dl.acm.org/doi/abs/10.1145/332925.332927>
'Developing Bioinformatics Computer Skills'
<http://www.oreilly.com/catalog/bioskills/>
@@ -4382,37 +4383,38 @@ Ref: File /inet/udp-Footnote-129645
Node: TCP Connecting29899
Node: Troubleshooting32245
Ref: Troubleshooting-Footnote-135073
-Node: Interacting35646
-Node: Setting Up38370
-Node: Email41870
-Node: Web page44253
-Ref: Web page-Footnote-147070
-Node: Primitive Service47268
-Node: Interacting Service50002
-Ref: Interacting Service-Footnote-159157
-Node: CGI Lib59189
-Node: Simple Server66189
-Ref: Simple Server-Footnote-173934
-Node: Caveats74035
-Node: Challenges75178
-Ref: Challenges-Footnote-183920
-Node: Some Applications and Techniques84021
-Node: PANIC86482
-Node: GETURL88208
-Node: REMCONF90841
-Node: URLCHK96337
-Node: WEBGRAB100181
-Node: STATIST104645
-Ref: STATIST-Footnote-1117793
-Node: MAZE118238
-Node: MOBAGWHO124463
-Ref: MOBAGWHO-Footnote-1138365
-Node: STOXPRED138420
-Node: PROTBASE152712
-Ref: PROTBASE-Footnote-1165879
-Node: Links165994
-Node: GNU Free Documentation License169426
-Node: Index194546
+Node: Interacting36030
+Node: Setting Up38754
+Node: Email42726
+Node: Web page45109
+Ref: Web page-Footnote-147929
+Ref: Web page-Footnote-248127
+Node: Primitive Service48621
+Node: Interacting Service51355
+Ref: Interacting Service-Footnote-160510
+Node: CGI Lib60542
+Node: Simple Server67542
+Ref: Simple Server-Footnote-175344
+Node: Caveats75445
+Node: Challenges76588
+Ref: Challenges-Footnote-185330
+Node: Some Applications and Techniques85431
+Node: PANIC87892
+Node: GETURL89618
+Node: REMCONF92251
+Node: URLCHK97747
+Node: WEBGRAB101591
+Node: STATIST106055
+Ref: STATIST-Footnote-1119203
+Node: MAZE119646
+Node: MOBAGWHO125871
+Ref: MOBAGWHO-Footnote-1139773
+Node: STOXPRED139841
+Node: PROTBASE154133
+Ref: PROTBASE-Footnote-1167300
+Node: Links167415
+Node: GNU Free Documentation License170306
+Node: Index195426

End Tag Table
diff --git a/doc/gawkinet.texi b/doc/gawkinet.texi
index f4dd2f6f..a2454e31 100644
--- a/doc/gawkinet.texi
+++ b/doc/gawkinet.texi
@@ -4,6 +4,9 @@
@settitle TCP/IP Internetworking With @command{gawk}
@c %**end of header (This is for running Texinfo on a region.)
@c FIXME: web vs. Web
+@c Correct spelling of web is still under discussion.
+@c https://english.stackexchange.com/questions/120869/should-i-capitalize-the-word-web-in-this-sentence
+@c We leave the many occurrences of web in this file as they are.
@dircategory Network applications
@direntry
@@ -995,7 +998,6 @@ flavor of Microsoft Windows usually do @emph{not} support these services.
Nevertheless, it @emph{is} possible to do networking with @command{gawk} on
Microsoft
Windows.@footnote{Microsoft preferred to ignore the TCP/IP
-@c FIXME: What about Windows 7, 8, 10?
family of protocols until 1995. Then came the rise of the Netscape browser
as a landmark ``killer application.'' Microsoft added TCP/IP support and
their own browser to Microsoft Windows 95 at the last minute. They even back-ported
@@ -1003,7 +1005,13 @@ their TCP/IP implementation to Microsoft Windows for Workgroups 3.11, but it was
a rather rudimentary and half-hearted implementation. Nevertheless,
the equivalent of @file{/etc/services} resides under
@file{C:\WINNT\system32\drivers\etc\services} on Microsoft Windows 2000
-and Microsoft Windows XP.}
+and Microsoft Windows XP.
+On Microsoft Windows 7, 8 and 10 there is a directory
+@file{%WinDir%\System32\Drivers\Etc}
+that holds the
+@uref{https://support.microsoft.com/en-us/help/972034/how-to-reset-the-hosts-file-back-to-the-default, @file{hosts} file}
+and probably also a
+@uref{https://www.ibm.com/support/knowledgecenter/SSRNYG_7.2.1/com.ibm.rational.synergy.install.win.doc/topics/sg_r_igw_services_file.html, @file{services} file}.}
The first column of the file gives the name of the service, and
the second column gives a unique number and the protocol that one can use to connect to
this service.
@@ -1146,7 +1154,12 @@ than 1024 (@samp{echo} is at port 7) are reserved for @code{root}.
On machines running some flavor of Microsoft Windows, there is no restriction
that reserves ports 1 to 1024 for a privileged user; hence, you can start
an @samp{echo} server there.
-@c FIXME: Is this still true?
+Even in later version of Microsoft Windows, this restriction of
+the Unix world seems to have never been adopted
+@uref{https://social.technet.microsoft.com/Forums/windowsserver/en-US/334f0770-eda9-475a-a27f-46b80ab7e872/does-windows10server2016-have-privileged-ports-?forum=ws2016,
+@cite{Does windows(10/server-2016) have privileged ports?}}.
+In Microsoft Windows it is the level of the firewall that handles
+port access restrictions, not the level of the operating system's kernel.
Turning this short server program into something really useful is simple.
Imagine a server that first reads a @value{FN} from the client through the
@@ -1285,11 +1298,21 @@ HTTP request that existed when the web was created in the early 1990s.
HTTP calls this @code{GET} request a ``method,'' which tells the
service to transmit a web page (here the home page of the Yahoo! search
engine). Version 1.0 added the request methods @code{HEAD} and
-@c FIXME: Update this footnote?
@code{POST}. The current version of HTTP is 1.1,@footnote{Version 1.0 of
HTTP was defined in RFC 1945. HTTP 1.1 was initially specified in RFC
2068. In June 1999, RFC 2068 was made obsolete by RFC 2616, an update
-without any substantial changes.} and knows the additional request
+without any substantial changes.}@footnote{@uref{https://en.wikipedia.org/wiki/HTTP/2,
+Version 2.0 of HTTP}
+was defined in
+@uref{https://tools.ietf.org/html/rfc7540,RFC7540}
+and was derived from Google's
+@uref{https://en.wikipedia.org/wiki/SPDY,SPDY}
+protocol. It is said to be widely supported. As of 2020 the most popular
+web sites still identify themselves as supporting HTTP/1.1.
+@uref{https://en.wikipedia.org/wiki/HTTP/3, Version 3.0 of HTTP}
+is still a draft and was derived from Google's
+@uref{https://en.wikipedia.org/wiki/QUIC,QUIC} protocol.}
+and knows the additional request
methods @code{OPTIONS}, @code{PUT}, @code{DELETE}, and @code{TRACE}.
You can fill in any valid web address, and the program prints the
HTML code of that page to your screen.
@@ -2199,14 +2222,16 @@ function SetUpEliza() @{
@c endfile
@end example
-@c FIXME: Not sure what this home page is, or if available any more. Needs updating.
@cindex Humphrys, Mark
@cindex ELIZA program
Some interesting remarks and details (including the original source code
-of ELIZA) are found on Mark Humphrys' home page. Yahoo! also has a
-page with a collection of ELIZA-like programs. Many of them are written
-in Java, some of them disclosing the Java source code, and a few even
-explain how to modify the Java source code.
+of ELIZA) are found on Mark Humphrys's home page
+@uref{https://computing.dcu.ie/~humphrys/eliza.html,
+@cite{How my program passed the Turing Test}}.
+Wikipedia provides much background information about
+@uref{https://en.wikipedia.org/wiki/ELIZA, ELIZA},
+including the original design of the software and
+its early implementations.
@node Caveats, Challenges, Simple Server, Using Networking
@section Network Programming Caveats
@@ -2902,8 +2927,7 @@ files.@footnote{Due to licensing problems, the default
installation of GNUPlot disables the generation of @file{.gif} files.
If your installed version does not accept @samp{set term gif},
just download and install the most recent version of GNUPlot and the
-@c FIXME: URL doesn't work
-@uref{http://www.boutell.com/gd/, GD library}
+@uref{https://libgd.github.io/, GD library}
by Thomas Boutell.
Otherwise you still have the chance to generate some
ASCII-art style images with GNUPlot by using @samp{set term dumb}.
@@ -3311,7 +3335,7 @@ paradigm that enables us to significantly increase the efficiency
of our work. Mobile agents could become the mediators between users and
the networking world. For an unbiased view at this technology,
see the remarkable paper @cite{Mobile Agents: Are they a good
-idea?}.@footnote{@uref{http://www.research.ibm.com/massive/mobag.ps}}
+idea?}.@footnote{@uref{https://link.springer.com/chapter/10.1007/3-540-62852-5_4}}
When trying to migrate a process from one system to another,
a server process is needed on the receiving side. Depending on the kind
@@ -4298,7 +4322,7 @@ They are presented in the order in which they appear.
@table @asis
@item @cite{Internet Programming with Python}
-@uref{http://www.fsbassociates.com/books/python.htm}
+@uref{http://cewing.github.io/training.python_web/html/index.html}
@item @cite{Advanced Perl Programming}
@uref{http://www.oreilly.com/catalog/advperl}
@@ -4307,73 +4331,59 @@ They are presented in the order in which they appear.
@uref{http://www.oreilly.com/catalog/webclient}
@item Richard Stevens's home page and book
-@uref{http://www.kohala.com/~rstevens}
-
-@item The SPAK home page
-@uref{http://www.userfriendly.net/linux/RPM/contrib/libc6/i386/spak-0.6b-1.i386.html}
+@uref{http://www.kohala.com/start}
@item Volume III of @cite{Internetworking with TCP/IP}, by Comer and Stevens
@uref{http://www.cs.purdue.edu/homes/dec/tcpip3s.cont.html}
@item XBM Graphics File Format
-@uref{http://www.wotsit.org/download.asp?f=xbm}
+@uref{https://en.wikipedia.org/wiki/X_BitMap}
@item GNUPlot
-@uref{http://www.cs.dartmouth.edu/gnuplot_info.html}
+@uref{http://www.gnuplot.info}
@item Mark Humphrys' Eliza page
-@uref{http://www.compapp.dcu.ie/~humphrys/eliza.html}
-
-@item Yahoo! Eliza Information
-@uref{http://dir.yahoo.com/Recreation/Games/Computer_Games/Internet_Games/Web_Games/Artificial_Intelligence}
+@uref{https://computing.dcu.ie/~humphrys/eliza.html}
-@item Java versions of Eliza
-@uref{http://www.tjhsst.edu/Psych/ch1/eliza.html}
+@item Eliza on Wikipedia
+@uref{https://en.wikipedia.org/wiki/ELIZA}
@item Java versions of Eliza with source code
-@uref{http://home.adelphia.net/~lifeisgood/eliza/eliza.htm}
-
-@item Eliza Programs with Explanations
-@uref{http://chayden.net/chayden/eliza/Eliza.shtml}
+@uref{https://github.com/codeanticode/eliza}
@item Loebner Contest
-@uref{http://acm.org/~loebner/loebner-prize.htmlx}
+@uref{https://www.ocf.berkeley.edu/~arihuang/academic/research/loebner.html}
@item Tck/Tk Information
-@uref{http://www.scriptics.com/}
+@uref{https://en.wikipedia.org/wiki/Tcl}
@item Intel 80x86 Processors
-@uref{http://developer.intel.com/design/platform/embedpc/what_is.htm}
+@item Embedded PCs
+@uref{https://en.wikipedia.org/wiki/Embedded_system}
@item AMD Elan Processors
-@uref{http://www.amd.com/products/epd/processors/4.32bitcont/32bitcont/index.html}
+@uref{https://en.wikipedia.org/wiki/Am5x86}
@item XINU
-@uref{http://willow.canberra.edu.au/~chrisc/xinu.html }
+@uref{https://xinu.cs.purdue.edu}
@item GNU/Linux
-@uref{http://uclinux.lineo.com/}
-
-@item Embedded PCs
-@uref{http://dir.yahoo.com/Business_and_Economy/Business_to_Business/Computers/Hardware/Embedded_Control/}
+@uref{https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy}
@item MiniSQL
-@uref{http://www.hughes.com.au/library/}
+@uref{https://hughestech.com.au/products/msql}
@item Market Share Surveys
@uref{http://www.netcraft.com/survey}
@item @cite{Numerical Recipes in C: The Art of Scientific Computing}
-@uref{http://www.nr.com}
+@uref{http://numerical.recipes/}
@item VRML
-@uref{http://www.vrml.org}
-
-@item The VRML FAQ
-@uref{http://www.vrml.org/technicalinfo/specifications/specifications.htm#FAQ}
+@uref{https://en.wikipedia.org/wiki/VRML}
@item The UMBC Agent Web
-@uref{http://www.cs.umbc.edu/agents }
+@uref{https://agents.umbc.edu}
@item Apache Web Server
@uref{http://www.apache.org}
@@ -4382,34 +4392,31 @@ They are presented in the order in which they appear.
@uref{http://www.ncbi.nlm.nih.gov}
@item Basic Local Alignment Search Tool (BLAST)
-@uref{http://www.ncbi.nlm.nih.gov/BLAST/blast_overview.html}
-
-@item NCBI Home Page
-@uref{http://www.ncbi.nlm.nih.gov}
+@uref{https://www.nature.com/scitable/topicpage/basic-local-alignment-search-tool-blast-29096}
@item BLAST Pages
@uref{http://www.ncbi.nlm.nih.gov/BLAST}
@item BLAST Demonstration Client
-@uref{ftp://ncbi.nlm.nih.gov/blast/blasturl/}
+@uref{http://www.genebee.msu.su/blast/blast_overview.html#Network}
@item BLAST anonymous FTP location
-@uref{ftp://ncbi.nlm.nih.gov/blast/network/netblast/}
+@uref{https://www.ncbi.nlm.nih.gov/books/NBK62345/}
@item BLAST 2.0 Executables
-@uref{ftp://ncbi.nlm.nih.gov/blast/executables/}
+@uref{ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST}
@item IUB/IUPAC Amino Acid and Nucleic Acid Codes
-@uref{http://www.uthscsa.edu/geninfo/blastmail.html#item6}
+@uref{https://en.wikipedia.org/wiki/Nucleic_acid_notation}
@item FASTA/Pearson Format
-@uref{http://www.ncbi.nlm.nih.gov/BLAST/fasta.html}
+@uref{https://de.wikipedia.org/wiki/FASTA-Format}
@item Fasta/Pearson Sequence in Java
@uref{http://www.kazusa.or.jp/java/codon_table_java/}
@item Book Review of @cite{Introduction to Computational Biology}
-@uref{http://www.acm.org/crossroads/xrds5-1/introcb.html}
+@uref{https://dl.acm.org/doi/abs/10.1145/332925.332927}
@item @cite{Developing Bioinformatics Computer Skills}
@uref{http://www.oreilly.com/catalog/bioskills/}
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 5a4e7479..eb9e794e 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -6643,22 +6643,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}.