[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, gawk-4.0-stable, updated. f60abc38c224e5

From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.0-stable, updated. f60abc38c224e5a56aef64564d37f5f6ef7e87a9
Date: Sun, 05 Aug 2012 14:36:43 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-4.0-stable has been updated
       via  f60abc38c224e5a56aef64564d37f5f6ef7e87a9 (commit)
      from  c6454cc02a0c79c3da5316aa580e545c8e7085f0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit f60abc38c224e5a56aef64564d37f5f6ef7e87a9
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Aug 5 17:33:52 2012 +0300

    Fix doc on RS = "a" case.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 5d28ede..88743ad 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -2,6 +2,8 @@
        * gawk.texi (PC Binary Installation): Document Eli Zaretskii's
+       (Records): Update case of RS = "a". It only prints 1 if in
+       POSIX mode. Thanks to Jeroen Schot who first reported it.
 2012-07-20         Arnold D. Robbins     <address@hidden>
diff --git a/doc/ b/doc/
index d8e27f4..91c9d51 100644
--- a/doc/
+++ b/doc/
@@ -3707,14 +3707,19 @@ using the variable-assignment feature (*note Other 
 This sets `RS' to `/' before processing `BBS-list'.
    Using an unusual character such as `/' for the record separator
-produces correct behavior in the vast majority of cases.  However, the
-following (extreme) pipeline prints a surprising `1':
+produces correct behavior in the vast majority of cases.
-     $ echo | awk 'BEGIN { RS = "a" } ; { print NF }'
+   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
@@ -24960,7 +24965,7 @@ Index
                                                               (line 131)
 * advanced features, constants, values of: Nondecimal-numbers.
                                                               (line  67)
-* advanced features, data files as single record: Records.    (line 175)
+* advanced features, data files as single record: Records.    (line 180)
 * advanced features, fixed-width data:   Constant Size.       (line   9)
 * advanced features, FNR/NR variables:   Auto-set.            (line 207)
 * advanced features, gawk:               Advanced Features.   (line   6)
@@ -25374,7 +25379,7 @@ Index
 * common extensions, length() applied to an array: String Functions.
                                                               (line 196)
 * common extensions, nextfile statement: Nextfile Statement.  (line   6)
-* common extensions, RS as a regexp:     Records.             (line 115)
+* common extensions, RS as a regexp:     Records.             (line 120)
 * common extensions, single character fields: Single Character Fields.
                                                               (line   6)
 * comp.lang.awk newsgroup:               Bugs.                (line  38)
@@ -25470,7 +25475,7 @@ Index
 * dark corner, format-control characters: Control Letters.    (line  18)
 * dark corner, FS as null string:        Single Character Fields.
                                                               (line  20)
-* dark corner, input files:              Records.             (line  98)
+* dark corner, input files:              Records.             (line 103)
 * dark corner, invoking awk:             Command Line.        (line  16)
 * dark corner, length() function:        String Functions.    (line 182)
 * dark corner, multiline records:        Multiple Line.       (line  35)
@@ -25483,7 +25488,7 @@ Index
 * dark corner, regexp constants, as arguments to user-defined functions: Using 
Constant Regexps.
                                                               (line  43)
 * dark corner, split() function:         String Functions.    (line 361)
-* dark corner, strings, storing:         Records.             (line 191)
+* dark corner, strings, storing:         Records.             (line 196)
 * dark corner, value of ARGV[0]:         Auto-set.            (line  35)
 * data, fixed-width:                     Constant Size.       (line   9)
 * data-driven languages:                 Basic High Level.    (line  83)
@@ -25659,19 +25664,19 @@ Index
 * differences in awk and gawk, print/printf statements: Format Modifiers.
                                                               (line  13)
 * differences in awk and gawk, PROCINFO array: Auto-set.      (line 123)
-* differences in awk and gawk, record separators: Records.    (line 112)
+* differences in awk and gawk, record separators: Records.    (line 117)
 * differences in awk and gawk, regexp constants: Using Constant Regexps.
                                                               (line  43)
 * differences in awk and gawk, regular expressions: Case-sensitivity.
                                                               (line  26)
-* differences in awk and gawk, RS/RT variables: Records.      (line 167)
+* differences in awk and gawk, RS/RT variables: Records.      (line 172)
 * differences in awk and gawk, RT variable: Auto-set.         (line 196)
 * differences in awk and gawk, single-character fields: Single Character 
                                                               (line   6)
 * differences in awk and gawk, split() function: String Functions.
                                                               (line 349)
 * differences in awk and gawk, strings:  Scalar Constants.    (line  20)
-* differences in awk and gawk, strings, storing: Records.     (line 187)
+* differences in awk and gawk, strings, storing: Records.     (line 192)
 * differences in awk and gawk, strtonum() function (gawk): String Functions.
                                                               (line 404)
 * differences in awk and gawk, TEXTDOMAIN variable: User-modified.
@@ -25823,7 +25828,7 @@ Index
 * extensions, common, length() applied to an array: String Functions.
                                                               (line 196)
 * extensions, common, nextfile statement: Nextfile Statement. (line   6)
-* extensions, common, RS as a regexp:    Records.             (line 115)
+* extensions, common, RS as a regexp:    Records.             (line 120)
 * extensions, common, single character fields: Single Character Fields.
                                                               (line   6)
 * extensions, in gawk, not in POSIX awk: POSIX/GNU.           (line   6)
@@ -25895,7 +25900,7 @@ Index
 * files, /inet/... (gawk):               TCP/IP Networking.   (line   6)
 * files, /inet4/... (gawk):              TCP/IP Networking.   (line   6)
 * files, /inet6/... (gawk):              TCP/IP Networking.   (line   6)
-* files, as single records:              Records.             (line 196)
+* files, as single records:              Records.             (line 201)
 * files, awk programs in:                Long.                (line   6)
 * files, awkprof.out:                    Profiling.           (line  10)
 * files, awkvars.out:                    Options.             (line  93)
@@ -26123,7 +26128,7 @@ Index
 * gawk, RT variable in <2>:              Getline/Variable/File.
                                                               (line  10)
 * gawk, RT variable in <3>:              Multiple Line.       (line 129)
-* gawk, RT variable in:                  Records.             (line 112)
+* gawk, RT variable in:                  Records.             (line 117)
 * gawk, See Also awk:                    Preface.             (line  36)
 * gawk, source code, obtaining:          Getting.             (line   6)
 * gawk, splitting fields and:            Constant Size.       (line  87)
@@ -26569,7 +26574,7 @@ Index
 * null strings <2>:                      Truth Values.        (line   6)
 * null strings <3>:                      Regexp Field Splitting.
                                                               (line  43)
-* null strings:                          Records.             (line 102)
+* null strings:                          Records.             (line 107)
 * null strings, array elements and:      Delete.              (line  27)
 * null strings, as array subscripts:     Uninitialized Subscripts.
                                                               (line  43)
@@ -26738,7 +26743,7 @@ Index
                                                               (line 113)
 * portability, close() function and:     Close Files And Pipes.
                                                               (line  81)
-* portability, data files as single record: Records.          (line 175)
+* portability, data files as single record: Records.          (line 180)
 * portability, deleting array elements:  Delete.              (line  52)
 * portability, example programs:         Library Functions.   (line  31)
 * portability, fflush() function and:    I/O Functions.       (line  29)
@@ -26919,15 +26924,15 @@ Index
 * record separators <1>:                 User-modified.       (line 134)
 * record separators:                     Records.             (line  14)
 * record separators, changing:           Records.             (line  81)
-* record separators, regular expressions as: Records.         (line 112)
+* record separators, regular expressions as: Records.         (line 117)
 * record separators, with multiline records: Multiple Line.   (line  10)
 * records <1>:                           Basic High Level.    (line  71)
 * records:                               Reading Files.       (line  14)
 * records, multiline:                    Multiple Line.       (line   6)
 * records, printing:                     Print.               (line  22)
 * records, splitting input into:         Records.             (line   6)
-* records, terminating:                  Records.             (line 112)
-* records, treating files as:            Records.             (line 196)
+* records, terminating:                  Records.             (line 117)
+* records, treating files as:            Records.             (line 201)
 * recursive functions:                   Definition Syntax.   (line  73)
 * redirection of input:                  Getline/File.        (line   6)
 * redirection of output:                 Redirection.         (line   6)
@@ -26953,7 +26958,7 @@ Index
                                                               (line   6)
 * regular expressions, as patterns <1>:  Regexp Patterns.     (line   6)
 * regular expressions, as patterns:      Regexp Usage.        (line   6)
-* regular expressions, as record separators: Records.         (line 112)
+* regular expressions, as record separators: Records.         (line 117)
 * regular expressions, case sensitivity <1>: User-modified.   (line  82)
 * regular expressions, case sensitivity: Case-sensitivity.    (line   6)
 * regular expressions, computed:         Computed Regexps.    (line   6)
@@ -27029,7 +27034,7 @@ Index
 * RT variable <2>:                       Getline/Variable/File.
                                                               (line  10)
 * RT variable <3>:                       Multiple Line.       (line 129)
-* RT variable:                           Records.             (line 112)
+* RT variable:                           Records.             (line 117)
 * Rubin, Paul <1>:                       Contributors.        (line  16)
 * Rubin, Paul:                           History.             (line  30)
 * rule, definition of:                   Getting Started.     (line  21)
@@ -27070,7 +27075,7 @@ Index
 * separators, field, POSIX and:          Fields.              (line   6)
 * separators, for records <1>:           User-modified.       (line 134)
 * separators, for records:               Records.             (line  14)
-* separators, for records, regular expressions as: Records.   (line 112)
+* separators, for records, regular expressions as: Records.   (line 117)
 * separators, for statements in actions: Action Overview.     (line  19)
 * separators, subscript:                 User-modified.       (line 147)
 * set debugger command:                  Viewing And Changing Data.
@@ -27187,7 +27192,7 @@ Index
 * strings, converting <1>:               Bitwise Functions.   (line 107)
 * strings, converting:                   Conversion.          (line   6)
 * strings, converting, numbers to:       User-modified.       (line  28)
-* strings, empty, See null strings:      Records.             (line 102)
+* strings, empty, See null strings:      Records.             (line 107)
 * strings, extracting:                   String Extraction.   (line   6)
 * strings, for localization:             Programmer i18n.     (line  14)
 * strings, length of:                    Scalar Constants.    (line  20)
@@ -27230,7 +27235,7 @@ Index
 * TCP/IP, support for:                   Special Network.     (line   6)
 * tee utility:                           Tee Program.         (line   6)
 * tee.awk program:                       Tee Program.         (line  26)
-* terminating records:                   Records.             (line 112)
+* terminating records:                   Records.             (line 117)
 * testbits.awk program:                  Bitwise Functions.   (line  68)
 * Texinfo <1>:                           Adding Code.         (line  99)
 * Texinfo <2>:                           Distribution contents.
@@ -27541,351 +27546,351 @@ Node: Leftmost Longest155607
 Node: Computed Regexps156808
 Node: Reading Files160218
 Node: Records162159
-Ref: Records-Footnote-1170833
-Node: Fields170870
-Ref: Fields-Footnote-1173903
-Node: Nonconstant Fields173989
-Node: Changing Fields176191
-Node: Field Separators182172
-Node: Default Field Splitting184801
-Node: Regexp Field Splitting185918
-Node: Single Character Fields189260
-Node: Command Line Field Separator190319
-Node: Field Splitting Summary193760
-Ref: Field Splitting Summary-Footnote-1196952
-Node: Constant Size197053
-Node: Splitting By Content201637
-Ref: Splitting By Content-Footnote-1205363
-Node: Multiple Line205403
-Ref: Multiple Line-Footnote-1211250
-Node: Getline211429
-Node: Plain Getline213657
-Node: Getline/Variable215746
-Node: Getline/File216887
-Node: Getline/Variable/File218209
-Ref: Getline/Variable/File-Footnote-1219808
-Node: Getline/Pipe219895
-Node: Getline/Variable/Pipe222455
-Node: Getline/Coprocess223562
-Node: Getline/Variable/Coprocess224805
-Node: Getline Notes225519
-Node: Getline Summary228306
-Ref: table-getline-variants228649
-Node: Command line directories229505
-Node: Printing230130
-Node: Print231761
-Node: Print Examples233098
-Node: Output Separators235882
-Node: OFMT237642
-Node: Printf239000
-Node: Basic Printf239906
-Node: Control Letters241445
-Node: Format Modifiers245257
-Node: Printf Examples251266
-Node: Redirection253981
-Node: Special Files260965
-Node: Special FD261498
-Ref: Special FD-Footnote-1265123
-Node: Special Network265197
-Node: Special Caveats266047
-Node: Close Files And Pipes266843
-Ref: Close Files And Pipes-Footnote-1273866
-Ref: Close Files And Pipes-Footnote-2274014
-Node: Expressions274164
-Node: Values275296
-Node: Constants275972
-Node: Scalar Constants276652
-Ref: Scalar Constants-Footnote-1277511
-Node: Nondecimal-numbers277693
-Node: Regexp Constants280752
-Node: Using Constant Regexps281227
-Node: Variables284282
-Node: Using Variables284937
-Node: Assignment Options286661
-Node: Conversion288533
-Ref: table-locale-affects293909
-Ref: Conversion-Footnote-1294533
-Node: All Operators294642
-Node: Arithmetic Ops295272
-Node: Concatenation297777
-Ref: Concatenation-Footnote-1300570
-Node: Assignment Ops300690
-Ref: table-assign-ops305678
-Node: Increment Ops307086
-Node: Truth Values and Conditions310556
-Node: Truth Values311639
-Node: Typing and Comparison312688
-Node: Variable Typing313477
-Ref: Variable Typing-Footnote-1317374
-Node: Comparison Operators317496
-Ref: table-relational-ops317906
-Node: POSIX String Comparison321455
-Ref: POSIX String Comparison-Footnote-1322411
-Node: Boolean Ops322549
-Ref: Boolean Ops-Footnote-1326627
-Node: Conditional Exp326718
-Node: Function Calls328450
-Node: Precedence332044
-Node: Locales335713
-Node: Patterns and Actions336802
-Node: Pattern Overview337856
-Node: Regexp Patterns339525
-Node: Expression Patterns340068
-Node: Ranges343753
-Node: BEGIN/END346719
-Node: Using BEGIN/END347481
-Ref: Using BEGIN/END-Footnote-1350212
-Node: I/O And BEGIN/END350318
-Node: Empty355493
-Node: Using Shell Variables355809
-Node: Action Overview358094
-Node: Statements360451
-Node: If Statement362305
-Node: While Statement363804
-Node: Do Statement365848
-Node: For Statement367004
-Node: Switch Statement370156
-Node: Break Statement372253
-Node: Continue Statement374243
-Node: Next Statement376036
-Node: Nextfile Statement378426
-Node: Exit Statement380971
-Node: Built-in Variables383387
-Node: User-modified384482
-Ref: User-modified-Footnote-1392508
-Node: Auto-set392570
-Ref: Auto-set-Footnote-1401861
-Node: ARGC and ARGV402066
-Node: Arrays405917
-Node: Array Basics407422
-Node: Array Intro408248
-Node: Reference to Elements412566
-Node: Assigning Elements414836
-Node: Array Example415327
-Node: Scanning an Array417059
-Node: Controlling Scanning419373
-Ref: Controlling Scanning-Footnote-1424306
-Node: Delete424622
-Ref: Delete-Footnote-1427057
-Node: Numeric Array Subscripts427114
-Node: Uninitialized Subscripts429297
-Node: Multi-dimensional430925
-Node: Multi-scanning434019
-Node: Arrays of Arrays435610
-Node: Functions440255
-Node: Built-in441077
-Node: Calling Built-in442155
-Node: Numeric Functions444143
-Ref: Numeric Functions-Footnote-1447975
-Ref: Numeric Functions-Footnote-2448332
-Ref: Numeric Functions-Footnote-3448380
-Node: String Functions448649
-Ref: String Functions-Footnote-1472146
-Ref: String Functions-Footnote-2472275
-Ref: String Functions-Footnote-3472523
-Node: Gory Details472610
-Ref: table-sub-escapes474289
-Ref: table-sub-posix-92475643
-Ref: table-sub-proposed476986
-Ref: table-posix-sub478336
-Ref: table-gensub-escapes479882
-Ref: Gory Details-Footnote-1481089
-Ref: Gory Details-Footnote-2481140
-Node: I/O Functions481291
-Ref: I/O Functions-Footnote-1487946
-Node: Time Functions488093
-Ref: Time Functions-Footnote-1498985
-Ref: Time Functions-Footnote-2499053
-Ref: Time Functions-Footnote-3499211
-Ref: Time Functions-Footnote-4499322
-Ref: Time Functions-Footnote-5499434
-Ref: Time Functions-Footnote-6499661
-Node: Bitwise Functions499927
-Ref: table-bitwise-ops500485
-Ref: Bitwise Functions-Footnote-1504645
-Node: Type Functions504829
-Node: I18N Functions505299
-Node: User-defined506926
-Node: Definition Syntax507730
-Ref: Definition Syntax-Footnote-1512640
-Node: Function Example512709
-Node: Function Caveats515303
-Node: Calling A Function515724
-Node: Variable Scope516839
-Node: Pass By Value/Reference518814
-Node: Return Statement522254
-Node: Dynamic Typing525235
-Node: Indirect Calls525970
-Node: Internationalization535655
-Node: I18N and L10N537081
-Node: Explaining gettext537767
-Ref: Explaining gettext-Footnote-1542833
-Ref: Explaining gettext-Footnote-2543017
-Node: Programmer i18n543182
-Node: Translator i18n547382
-Node: String Extraction548175
-Ref: String Extraction-Footnote-1549136
-Node: Printf Ordering549222
-Ref: Printf Ordering-Footnote-1552006
-Node: I18N Portability552070
-Ref: I18N Portability-Footnote-1554519
-Node: I18N Example554582
-Ref: I18N Example-Footnote-1557217
-Node: Gawk I18N557289
-Node: Advanced Features557906
-Node: Nondecimal Data559419
-Node: Array Sorting561002
-Node: Controlling Array Traversal561699
-Node: Array Sorting Functions569936
-Ref: Array Sorting Functions-Footnote-1573610
-Ref: Array Sorting Functions-Footnote-2573703
-Node: Two-way I/O573897
-Ref: Two-way I/O-Footnote-1579329
-Node: TCP/IP Networking579399
-Node: Profiling582243
-Node: Library Functions589717
-Ref: Library Functions-Footnote-1592724
-Node: Library Names592895
-Ref: Library Names-Footnote-1596366
-Ref: Library Names-Footnote-2596586
-Node: General Functions596672
-Node: Strtonum Function597625
-Node: Assert Function600555
-Node: Round Function603881
-Node: Cliff Random Function605424
-Node: Ordinal Functions606440
-Ref: Ordinal Functions-Footnote-1609510
-Ref: Ordinal Functions-Footnote-2609762
-Node: Join Function609971
-Ref: Join Function-Footnote-1611742
-Node: Gettimeofday Function611942
-Node: Data File Management615657
-Node: Filetrans Function616289
-Node: Rewind Function620428
-Node: File Checking621815
-Node: Empty Files622909
-Node: Ignoring Assigns625139
-Node: Getopt Function626692
-Ref: Getopt Function-Footnote-1637996
-Node: Passwd Functions638199
-Ref: Passwd Functions-Footnote-1647174
-Node: Group Functions647262
-Node: Walking Arrays655346
-Node: Sample Programs656915
-Node: Running Examples657580
-Node: Clones658308
-Node: Cut Program659532
-Node: Egrep Program669377
-Ref: Egrep Program-Footnote-1677150
-Node: Id Program677260
-Node: Split Program680876
-Ref: Split Program-Footnote-1684395
-Node: Tee Program684523
-Node: Uniq Program687326
-Node: Wc Program694755
-Ref: Wc Program-Footnote-1699021
-Ref: Wc Program-Footnote-2699221
-Node: Miscellaneous Programs699313
-Node: Dupword Program700501
-Node: Alarm Program702532
-Node: Translate Program707281
-Ref: Translate Program-Footnote-1711668
-Ref: Translate Program-Footnote-2711896
-Node: Labels Program712030
-Ref: Labels Program-Footnote-1715401
-Node: Word Sorting715485
-Node: History Sorting719369
-Node: Extract Program721208
-Ref: Extract Program-Footnote-1728691
-Node: Simple Sed728819
-Node: Igawk Program731881
-Ref: Igawk Program-Footnote-1747038
-Ref: Igawk Program-Footnote-2747239
-Node: Anagram Program747377
-Node: Signature Program750445
-Node: Debugger751545
-Node: Debugging752456
-Node: Debugging Concepts752869
-Node: Debugging Terms754725
-Node: Awk Debugging757348
-Node: Sample dgawk session758240
-Node: dgawk invocation758732
-Node: Finding The Bug759914
-Node: List of Debugger Commands766400
-Node: Breakpoint Control767711
-Node: Dgawk Execution Control771347
-Node: Viewing And Changing Data774698
-Node: Dgawk Stack778035
-Node: Dgawk Info779495
-Node: Miscellaneous Dgawk Commands783443
-Node: Readline Support788871
-Node: Dgawk Limitations789709
-Node: Language History791898
-Node: V7/SVR3.1793410
-Node: SVR4795731
-Node: POSIX797173
-Node: BTL798181
-Node: POSIX/GNU798915
-Node: Common Extensions804066
-Node: Ranges and Locales805173
-Ref: Ranges and Locales-Footnote-1809884
-Ref: Ranges and Locales-Footnote-2809911
-Ref: Ranges and Locales-Footnote-3810171
-Node: Contributors810392
-Node: Installation814654
-Node: Gawk Distribution815548
-Node: Getting816032
-Node: Extracting816858
-Node: Distribution contents818550
-Node: Unix Installation823772
-Node: Quick Installation824389
-Node: Additional Configuration Options826351
-Node: Configuration Philosophy827828
-Node: Non-Unix Installation830170
-Node: PC Installation830628
-Node: PC Binary Installation831927
-Node: PC Compiling833942
-Node: PC Testing836886
-Node: PC Using838062
-Node: Cygwin842247
-Node: MSYS843247
-Node: VMS Installation843761
-Node: VMS Compilation844364
-Ref: VMS Compilation-Footnote-1845371
-Node: VMS Installation Details845429
-Node: VMS Running847064
-Node: VMS Old Gawk848671
-Node: Bugs849145
-Node: Other Versions852997
-Node: Notes858278
-Node: Compatibility Mode858970
-Node: Additions859753
-Node: Accessing The Source860565
-Node: Adding Code861990
-Node: New Ports867957
-Node: Dynamic Extensions872070
-Node: Internals873446
-Node: Plugin License882549
-Node: Sample Library883183
-Node: Internal File Description883869
-Node: Internal File Ops887584
-Ref: Internal File Ops-Footnote-1892365
-Node: Using Internal File Ops892505
-Node: Future Extensions894882
-Node: Basic Concepts897386
-Node: Basic High Level898143
-Ref: Basic High Level-Footnote-1902178
-Node: Basic Data Typing902363
-Node: Floating Point Issues906888
-Node: String Conversion Precision907971
-Ref: String Conversion Precision-Footnote-1909671
-Node: Unexpected Results909780
-Node: POSIX Floating Point Problems911606
-Ref: POSIX Floating Point Problems-Footnote-1915311
-Node: Glossary915349
-Node: Copying940325
-Node: GNU Free Documentation License977882
-Node: Index1003019
+Ref: Records-Footnote-1171083
+Node: Fields171120
+Ref: Fields-Footnote-1174153
+Node: Nonconstant Fields174239
+Node: Changing Fields176441
+Node: Field Separators182422
+Node: Default Field Splitting185051
+Node: Regexp Field Splitting186168
+Node: Single Character Fields189510
+Node: Command Line Field Separator190569
+Node: Field Splitting Summary194010
+Ref: Field Splitting Summary-Footnote-1197202
+Node: Constant Size197303
+Node: Splitting By Content201887
+Ref: Splitting By Content-Footnote-1205613
+Node: Multiple Line205653
+Ref: Multiple Line-Footnote-1211500
+Node: Getline211679
+Node: Plain Getline213907
+Node: Getline/Variable215996
+Node: Getline/File217137
+Node: Getline/Variable/File218459
+Ref: Getline/Variable/File-Footnote-1220058
+Node: Getline/Pipe220145
+Node: Getline/Variable/Pipe222705
+Node: Getline/Coprocess223812
+Node: Getline/Variable/Coprocess225055
+Node: Getline Notes225769
+Node: Getline Summary228556
+Ref: table-getline-variants228899
+Node: Command line directories229755
+Node: Printing230380
+Node: Print232011
+Node: Print Examples233348
+Node: Output Separators236132
+Node: OFMT237892
+Node: Printf239250
+Node: Basic Printf240156
+Node: Control Letters241695
+Node: Format Modifiers245507
+Node: Printf Examples251516
+Node: Redirection254231
+Node: Special Files261215
+Node: Special FD261748
+Ref: Special FD-Footnote-1265373
+Node: Special Network265447
+Node: Special Caveats266297
+Node: Close Files And Pipes267093
+Ref: Close Files And Pipes-Footnote-1274116
+Ref: Close Files And Pipes-Footnote-2274264
+Node: Expressions274414
+Node: Values275546
+Node: Constants276222
+Node: Scalar Constants276902
+Ref: Scalar Constants-Footnote-1277761
+Node: Nondecimal-numbers277943
+Node: Regexp Constants281002
+Node: Using Constant Regexps281477
+Node: Variables284532
+Node: Using Variables285187
+Node: Assignment Options286911
+Node: Conversion288783
+Ref: table-locale-affects294159
+Ref: Conversion-Footnote-1294783
+Node: All Operators294892
+Node: Arithmetic Ops295522
+Node: Concatenation298027
+Ref: Concatenation-Footnote-1300820
+Node: Assignment Ops300940
+Ref: table-assign-ops305928
+Node: Increment Ops307336
+Node: Truth Values and Conditions310806
+Node: Truth Values311889
+Node: Typing and Comparison312938
+Node: Variable Typing313727
+Ref: Variable Typing-Footnote-1317624
+Node: Comparison Operators317746
+Ref: table-relational-ops318156
+Node: POSIX String Comparison321705
+Ref: POSIX String Comparison-Footnote-1322661
+Node: Boolean Ops322799
+Ref: Boolean Ops-Footnote-1326877
+Node: Conditional Exp326968
+Node: Function Calls328700
+Node: Precedence332294
+Node: Locales335963
+Node: Patterns and Actions337052
+Node: Pattern Overview338106
+Node: Regexp Patterns339775
+Node: Expression Patterns340318
+Node: Ranges344003
+Node: BEGIN/END346969
+Node: Using BEGIN/END347731
+Ref: Using BEGIN/END-Footnote-1350462
+Node: I/O And BEGIN/END350568
+Node: Empty355743
+Node: Using Shell Variables356059
+Node: Action Overview358344
+Node: Statements360701
+Node: If Statement362555
+Node: While Statement364054
+Node: Do Statement366098
+Node: For Statement367254
+Node: Switch Statement370406
+Node: Break Statement372503
+Node: Continue Statement374493
+Node: Next Statement376286
+Node: Nextfile Statement378676
+Node: Exit Statement381221
+Node: Built-in Variables383637
+Node: User-modified384732
+Ref: User-modified-Footnote-1392758
+Node: Auto-set392820
+Ref: Auto-set-Footnote-1402111
+Node: ARGC and ARGV402316
+Node: Arrays406167
+Node: Array Basics407672
+Node: Array Intro408498
+Node: Reference to Elements412816
+Node: Assigning Elements415086
+Node: Array Example415577
+Node: Scanning an Array417309
+Node: Controlling Scanning419623
+Ref: Controlling Scanning-Footnote-1424556
+Node: Delete424872
+Ref: Delete-Footnote-1427307
+Node: Numeric Array Subscripts427364
+Node: Uninitialized Subscripts429547
+Node: Multi-dimensional431175
+Node: Multi-scanning434269
+Node: Arrays of Arrays435860
+Node: Functions440505
+Node: Built-in441327
+Node: Calling Built-in442405
+Node: Numeric Functions444393
+Ref: Numeric Functions-Footnote-1448225
+Ref: Numeric Functions-Footnote-2448582
+Ref: Numeric Functions-Footnote-3448630
+Node: String Functions448899
+Ref: String Functions-Footnote-1472396
+Ref: String Functions-Footnote-2472525
+Ref: String Functions-Footnote-3472773
+Node: Gory Details472860
+Ref: table-sub-escapes474539
+Ref: table-sub-posix-92475893
+Ref: table-sub-proposed477236
+Ref: table-posix-sub478586
+Ref: table-gensub-escapes480132
+Ref: Gory Details-Footnote-1481339
+Ref: Gory Details-Footnote-2481390
+Node: I/O Functions481541
+Ref: I/O Functions-Footnote-1488196
+Node: Time Functions488343
+Ref: Time Functions-Footnote-1499235
+Ref: Time Functions-Footnote-2499303
+Ref: Time Functions-Footnote-3499461
+Ref: Time Functions-Footnote-4499572
+Ref: Time Functions-Footnote-5499684
+Ref: Time Functions-Footnote-6499911
+Node: Bitwise Functions500177
+Ref: table-bitwise-ops500735
+Ref: Bitwise Functions-Footnote-1504895
+Node: Type Functions505079
+Node: I18N Functions505549
+Node: User-defined507176
+Node: Definition Syntax507980
+Ref: Definition Syntax-Footnote-1512890
+Node: Function Example512959
+Node: Function Caveats515553
+Node: Calling A Function515974
+Node: Variable Scope517089
+Node: Pass By Value/Reference519064
+Node: Return Statement522504
+Node: Dynamic Typing525485
+Node: Indirect Calls526220
+Node: Internationalization535905
+Node: I18N and L10N537331
+Node: Explaining gettext538017
+Ref: Explaining gettext-Footnote-1543083
+Ref: Explaining gettext-Footnote-2543267
+Node: Programmer i18n543432
+Node: Translator i18n547632
+Node: String Extraction548425
+Ref: String Extraction-Footnote-1549386
+Node: Printf Ordering549472
+Ref: Printf Ordering-Footnote-1552256
+Node: I18N Portability552320
+Ref: I18N Portability-Footnote-1554769
+Node: I18N Example554832
+Ref: I18N Example-Footnote-1557467
+Node: Gawk I18N557539
+Node: Advanced Features558156
+Node: Nondecimal Data559669
+Node: Array Sorting561252
+Node: Controlling Array Traversal561949
+Node: Array Sorting Functions570186
+Ref: Array Sorting Functions-Footnote-1573860
+Ref: Array Sorting Functions-Footnote-2573953
+Node: Two-way I/O574147
+Ref: Two-way I/O-Footnote-1579579
+Node: TCP/IP Networking579649
+Node: Profiling582493
+Node: Library Functions589967
+Ref: Library Functions-Footnote-1592974
+Node: Library Names593145
+Ref: Library Names-Footnote-1596616
+Ref: Library Names-Footnote-2596836
+Node: General Functions596922
+Node: Strtonum Function597875
+Node: Assert Function600805
+Node: Round Function604131
+Node: Cliff Random Function605674
+Node: Ordinal Functions606690
+Ref: Ordinal Functions-Footnote-1609760
+Ref: Ordinal Functions-Footnote-2610012
+Node: Join Function610221
+Ref: Join Function-Footnote-1611992
+Node: Gettimeofday Function612192
+Node: Data File Management615907
+Node: Filetrans Function616539
+Node: Rewind Function620678
+Node: File Checking622065
+Node: Empty Files623159
+Node: Ignoring Assigns625389
+Node: Getopt Function626942
+Ref: Getopt Function-Footnote-1638246
+Node: Passwd Functions638449
+Ref: Passwd Functions-Footnote-1647424
+Node: Group Functions647512
+Node: Walking Arrays655596
+Node: Sample Programs657165
+Node: Running Examples657830
+Node: Clones658558
+Node: Cut Program659782
+Node: Egrep Program669627
+Ref: Egrep Program-Footnote-1677400
+Node: Id Program677510
+Node: Split Program681126
+Ref: Split Program-Footnote-1684645
+Node: Tee Program684773
+Node: Uniq Program687576
+Node: Wc Program695005
+Ref: Wc Program-Footnote-1699271
+Ref: Wc Program-Footnote-2699471
+Node: Miscellaneous Programs699563
+Node: Dupword Program700751
+Node: Alarm Program702782
+Node: Translate Program707531
+Ref: Translate Program-Footnote-1711918
+Ref: Translate Program-Footnote-2712146
+Node: Labels Program712280
+Ref: Labels Program-Footnote-1715651
+Node: Word Sorting715735
+Node: History Sorting719619
+Node: Extract Program721458
+Ref: Extract Program-Footnote-1728941
+Node: Simple Sed729069
+Node: Igawk Program732131
+Ref: Igawk Program-Footnote-1747288
+Ref: Igawk Program-Footnote-2747489
+Node: Anagram Program747627
+Node: Signature Program750695
+Node: Debugger751795
+Node: Debugging752706
+Node: Debugging Concepts753119
+Node: Debugging Terms754975
+Node: Awk Debugging757598
+Node: Sample dgawk session758490
+Node: dgawk invocation758982
+Node: Finding The Bug760164
+Node: List of Debugger Commands766650
+Node: Breakpoint Control767961
+Node: Dgawk Execution Control771597
+Node: Viewing And Changing Data774948
+Node: Dgawk Stack778285
+Node: Dgawk Info779745
+Node: Miscellaneous Dgawk Commands783693
+Node: Readline Support789121
+Node: Dgawk Limitations789959
+Node: Language History792148
+Node: V7/SVR3.1793660
+Node: SVR4795981
+Node: POSIX797423
+Node: BTL798431
+Node: POSIX/GNU799165
+Node: Common Extensions804316
+Node: Ranges and Locales805423
+Ref: Ranges and Locales-Footnote-1810134
+Ref: Ranges and Locales-Footnote-2810161
+Ref: Ranges and Locales-Footnote-3810421
+Node: Contributors810642
+Node: Installation814904
+Node: Gawk Distribution815798
+Node: Getting816282
+Node: Extracting817108
+Node: Distribution contents818800
+Node: Unix Installation824022
+Node: Quick Installation824639
+Node: Additional Configuration Options826601
+Node: Configuration Philosophy828078
+Node: Non-Unix Installation830420
+Node: PC Installation830878
+Node: PC Binary Installation832177
+Node: PC Compiling834192
+Node: PC Testing837136
+Node: PC Using838312
+Node: Cygwin842497
+Node: MSYS843497
+Node: VMS Installation844011
+Node: VMS Compilation844614
+Ref: VMS Compilation-Footnote-1845621
+Node: VMS Installation Details845679
+Node: VMS Running847314
+Node: VMS Old Gawk848921
+Node: Bugs849395
+Node: Other Versions853247
+Node: Notes858528
+Node: Compatibility Mode859220
+Node: Additions860003
+Node: Accessing The Source860815
+Node: Adding Code862240
+Node: New Ports868207
+Node: Dynamic Extensions872320
+Node: Internals873696
+Node: Plugin License882799
+Node: Sample Library883433
+Node: Internal File Description884119
+Node: Internal File Ops887834
+Ref: Internal File Ops-Footnote-1892615
+Node: Using Internal File Ops892755
+Node: Future Extensions895132
+Node: Basic Concepts897636
+Node: Basic High Level898393
+Ref: Basic High Level-Footnote-1902428
+Node: Basic Data Typing902613
+Node: Floating Point Issues907138
+Node: String Conversion Precision908221
+Ref: String Conversion Precision-Footnote-1909921
+Node: Unexpected Results910030
+Node: POSIX Floating Point Problems911856
+Ref: POSIX Floating Point Problems-Footnote-1915561
+Node: Glossary915599
+Node: Copying940575
+Node: GNU Free Documentation License978132
+Node: Index1003269
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 91ef044..b204464 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -5256,16 +5256,22 @@ awk '@{ print $0 @}' RS="/" BBS-list
 This sets @code{RS} to @samp{/} before processing @file{BBS-list}.
 Using an unusual character such as @samp{/} for the record separator
-produces correct behavior in the vast majority of cases.  However,
-the following (extreme) pipeline prints a surprising @samp{1}:
+produces correct behavior in the vast majority of cases.
+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}:
-$ echo | awk 'BEGIN @{ RS = "a" @} ; @{ print NF @}'
+$ 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, input files
 Reaching the end of an input file terminates the current input record,


Summary of changes:
 doc/ChangeLog |    2 +
 doc/ |  743 +++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi |   12 +-
 3 files changed, 385 insertions(+), 372 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]