gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-446


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-446-gc86aa5e
Date: Sun, 05 Oct 2014 17:54: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.1-stable has been updated
       via  c86aa5e85c7ced14a81389c0bf96b6c75fe420c9 (commit)
       via  6b818c7f463e1bd6b9470f4bfb694f240ac3e5c2 (commit)
      from  42bcb6246432790af31958d5445cd035fe9966a5 (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 -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=c86aa5e85c7ced14a81389c0bf96b6c75fe420c9

commit c86aa5e85c7ced14a81389c0bf96b6c75fe420c9
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Oct 5 20:54:01 2014 +0300

    Finished edits!

diff --git a/doc/ChangeLog b/doc/ChangeLog
index e4676b2..5f59e57 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-05         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Finished changes!
+
 2014-10-03         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in (EMRED): Renamed from EMISTERED to match original.
diff --git a/doc/gawk.info b/doc/gawk.info
index 6c8b9c8..68d6012 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1746,10 +1746,10 @@ the quoting rules.
 
           awk -F"" 'PROGRAM' FILES  # wrong!
 
-     In the second case, `awk' will attempt to use the text of the
-     program as the value of `FS', and the first file name as the text
-     of the program!  This results in syntax errors at best, and
-     confusing behavior at worst.
+     In the second case, `awk' attempts to use the text of the program
+     as the value of `FS', and the first file name as the text of the
+     program!  This results in syntax errors at best, and confusing
+     behavior at worst.
 
    Mixing single and double quotes is difficult.  You have to resort to
 shell quoting tricks, like this:
@@ -3942,7 +3942,7 @@ No options
      Traditional Unix `awk' regexps are matched. The GNU operators are
      not special, and interval expressions are not available.  The
      POSIX character classes (`[[:alnum:]]', etc.) are supported, as
-     BWK `awk' does support them.  Characters described by octal and
+     BWK `awk' supports them.  Characters described by octal and
      hexadecimal escape sequences are treated literally, even if they
      represent regexp metacharacters.
 
@@ -4465,9 +4465,9 @@ program.  Other `awk' implementations may behave 
differently.)
 
    As mentioned in *note Fields::, `awk' stores the current record's
 number of fields in the built-in variable `NF' (also *note Built-in
-Variables::).  The expression `$NF' is not a special feature--it is the
-direct consequence of evaluating `NF' and using its value as a field
-number.
+Variables::).  Thus, the expression `$NF' is not a special feature--it
+is the direct consequence of evaluating `NF' and using its value as a
+field number.
 
    ---------- Footnotes ----------
 
@@ -7677,7 +7677,7 @@ difference in behavior, on a GNU/Linux system:
 The `en_DK.utf-8' locale is for English in Denmark, where the comma
 acts as the decimal point separator.  In the normal `"C"' locale, `gawk'
 treats `4,321' as 4, while in the Danish locale, it's treated as the
-full number, 4.321.
+full number including the fractional part, 4.321.
 
    Some earlier versions of `gawk' fully complied with this aspect of
 the standard.  However, many users in non-English locales complained
@@ -10765,8 +10765,8 @@ program.
    Arrays in `awk' superficially resemble arrays in other programming
 languages, but there are fundamental differences.  In `awk', it isn't
 necessary to specify the size of an array before starting to use it.
-Additionally, any number or string in `awk', not just consecutive
-integers, may be used as an array index.
+Additionally, any number or string, not just consecutive integers, may
+be used as an array index.
 
    In most other languages, arrays must be "declared" before use,
 including a specification of how many elements or components they
@@ -12079,7 +12079,7 @@ Options::):
      With BWK `awk' and `gawk', it is a fatal error to use a regexp
      constant for FIND.  Other implementations allow it, simply
      treating the regexp constant as an expression meaning `$0 ~
-     /regexp/'.
+     /regexp/'. (d.c.).
 
 `length('[STRING]`)'
      Return the number of characters in STRING.  If STRING is a number,
@@ -18294,7 +18294,7 @@ pipeline of commands.  While `sed' is a complicated 
program in its own
 right, its most common use is to perform global substitutions in the
 middle of a pipeline:
 
-     command1 < orig.data | sed 's/old/new/g' | command2 > result
+     COMMAND1 < orig.data | sed 's/old/new/g' | COMMAND2 > result
 
    Here, `s/old/new/g' tells `sed' to look for the regexp `old' on each
 input line and globally replace it with the text `new', i.e., all the
@@ -25919,7 +25919,7 @@ File: gawk.info,  Node: Extension summary,  Next: 
Extension Exercises,  Prev: ga
      tasks.
 
    * One of these tasks is to "register" the name and implementation of
-     a new `awk'-level function with `gawk'.  The implementation takes
+     new `awk'-level functions with `gawk'.  The implementation takes
      the form of a C function pointer with a defined signature.  By
      convention, implementation functions are named `do_XXXX()' for
      some `awk'-level function `XXXX()'.
@@ -25955,7 +25955,7 @@ File: gawk.info,  Node: Extension summary,  Next: 
Extension Exercises,  Prev: ga
           modifying elements; getting the count of elements in an array;
           creating a new array; clearing an array; and flattening an
           array for easy C style looping over all its indices and
-          elements
+          elements.
 
    * The API defines a number of standard data types for representing
      `awk' values, array elements, and arrays.
@@ -28068,8 +28068,8 @@ reorganized to supply individual PCSI packages for each 
component.  See
    The normal build procedure for `gawk' produces a program that is
 suitable for use with GNV.
 
-   The `vms/gawk_build_steps.txt' in the distribution documents the
-procedure for building a VMS PCSI kit that is compatible with GNV.
+   The file `vms/gawk_build_steps.txt' in the distribution documents
+the procedure for building a VMS PCSI kit that is compatible with GNV.
 
 
 File: gawk.info,  Node: VMS Old Gawk,  Prev: VMS GNV,  Up: VMS Installation
@@ -32292,6 +32292,7 @@ Index
 * double quote ("), in shell commands:   Quoting.             (line  54)
 * down debugger command:                 Execution Stack.     (line  23)
 * Drepper, Ulrich:                       Acknowledgments.     (line  52)
+* Duman, Patrice:                        Acknowledgments.     (line  74)
 * dump all variables of a program:       Options.             (line  93)
 * dump debugger command:                 Miscellaneous Debugger Commands.
                                                               (line   9)
@@ -34253,532 +34254,532 @@ Node: Executable Scripts79204
 Ref: Executable Scripts-Footnote-181993
 Node: Comments82095
 Node: Quoting84568
-Node: DOS Quoting90078
-Node: Sample Data Files90753
-Node: Very Simple93346
-Node: Two Rules98237
-Node: More Complex100123
-Node: Statements/Lines102985
-Ref: Statements/Lines-Footnote-1107441
-Node: Other Features107706
-Node: When108637
-Ref: When-Footnote-1110393
-Node: Intro Summary110458
-Node: Invoking Gawk111341
-Node: Command Line112856
-Node: Options113647
-Ref: Options-Footnote-1129542
-Node: Other Arguments129567
-Node: Naming Standard Input132528
-Node: Environment Variables133621
-Node: AWKPATH Variable134179
-Ref: AWKPATH Variable-Footnote-1137031
-Ref: AWKPATH Variable-Footnote-2137076
-Node: AWKLIBPATH Variable137336
-Node: Other Environment Variables138095
-Node: Exit Status141797
-Node: Include Files142472
-Node: Loading Shared Libraries146050
-Node: Obsolete147477
-Node: Undocumented148174
-Node: Invoking Summary148441
-Node: Regexp150107
-Node: Regexp Usage151566
-Node: Escape Sequences153599
-Node: Regexp Operators159616
-Ref: Regexp Operators-Footnote-1167050
-Ref: Regexp Operators-Footnote-2167197
-Node: Bracket Expressions167295
-Ref: table-char-classes169312
-Node: Leftmost Longest172252
-Node: Computed Regexps173554
-Node: GNU Regexp Operators176951
-Node: Case-sensitivity180657
-Ref: Case-sensitivity-Footnote-1183547
-Ref: Case-sensitivity-Footnote-2183782
-Node: Regexp Summary183890
-Node: Reading Files185359
-Node: Records187453
-Node: awk split records188185
-Node: gawk split records193099
-Ref: gawk split records-Footnote-1197638
-Node: Fields197675
-Ref: Fields-Footnote-1200473
-Node: Nonconstant Fields200559
-Ref: Nonconstant Fields-Footnote-1202789
-Node: Changing Fields202991
-Node: Field Separators208923
-Node: Default Field Splitting211627
-Node: Regexp Field Splitting212744
-Node: Single Character Fields216094
-Node: Command Line Field Separator217153
-Node: Full Line Fields220365
-Ref: Full Line Fields-Footnote-1220873
-Node: Field Splitting Summary220919
-Ref: Field Splitting Summary-Footnote-1224050
-Node: Constant Size224151
-Node: Splitting By Content228757
-Ref: Splitting By Content-Footnote-1232830
-Node: Multiple Line232870
-Ref: Multiple Line-Footnote-1238759
-Node: Getline238938
-Node: Plain Getline241149
-Node: Getline/Variable243789
-Node: Getline/File244936
-Node: Getline/Variable/File246320
-Ref: Getline/Variable/File-Footnote-1247921
-Node: Getline/Pipe248008
-Node: Getline/Variable/Pipe250691
-Node: Getline/Coprocess251822
-Node: Getline/Variable/Coprocess253074
-Node: Getline Notes253813
-Node: Getline Summary256605
-Ref: table-getline-variants257017
-Node: Read Timeout257846
-Ref: Read Timeout-Footnote-1261660
-Node: Command-line directories261718
-Node: Input Summary262622
-Node: Input Exercises265874
-Node: Printing266602
-Node: Print268379
-Node: Print Examples269836
-Node: Output Separators272615
-Node: OFMT274633
-Node: Printf275987
-Node: Basic Printf276772
-Node: Control Letters278343
-Node: Format Modifiers282327
-Node: Printf Examples288334
-Node: Redirection290816
-Node: Special FD297655
-Ref: Special FD-Footnote-1300812
-Node: Special Files300886
-Node: Other Inherited Files301502
-Node: Special Network302502
-Node: Special Caveats303363
-Node: Close Files And Pipes304314
-Ref: Close Files And Pipes-Footnote-1311493
-Ref: Close Files And Pipes-Footnote-2311641
-Node: Output Summary311791
-Node: Output Exercises312787
-Node: Expressions313467
-Node: Values314652
-Node: Constants315328
-Node: Scalar Constants316008
-Ref: Scalar Constants-Footnote-1316867
-Node: Nondecimal-numbers317117
-Node: Regexp Constants320117
-Node: Using Constant Regexps320642
-Node: Variables323780
-Node: Using Variables324435
-Node: Assignment Options326345
-Node: Conversion328220
-Node: Strings And Numbers328744
-Ref: Strings And Numbers-Footnote-1331808
-Node: Locale influences conversions331917
-Ref: table-locale-affects334632
-Node: All Operators335220
-Node: Arithmetic Ops335850
-Node: Concatenation338355
-Ref: Concatenation-Footnote-1341174
-Node: Assignment Ops341280
-Ref: table-assign-ops346263
-Node: Increment Ops347541
-Node: Truth Values and Conditions350979
-Node: Truth Values352062
-Node: Typing and Comparison353111
-Node: Variable Typing353904
-Node: Comparison Operators357556
-Ref: table-relational-ops357966
-Node: POSIX String Comparison361481
-Ref: POSIX String Comparison-Footnote-1362553
-Node: Boolean Ops362691
-Ref: Boolean Ops-Footnote-1367170
-Node: Conditional Exp367261
-Node: Function Calls368988
-Node: Precedence372868
-Node: Locales376536
-Node: Expressions Summary378167
-Node: Patterns and Actions380741
-Node: Pattern Overview381861
-Node: Regexp Patterns383540
-Node: Expression Patterns384083
-Node: Ranges387863
-Node: BEGIN/END390969
-Node: Using BEGIN/END391731
-Ref: Using BEGIN/END-Footnote-1394468
-Node: I/O And BEGIN/END394574
-Node: BEGINFILE/ENDFILE396888
-Node: Empty399789
-Node: Using Shell Variables400106
-Node: Action Overview402382
-Node: Statements404709
-Node: If Statement406557
-Node: While Statement408055
-Node: Do Statement410083
-Node: For Statement411225
-Node: Switch Statement414380
-Node: Break Statement416768
-Node: Continue Statement418809
-Node: Next Statement420634
-Node: Nextfile Statement423014
-Node: Exit Statement425644
-Node: Built-in Variables428047
-Node: User-modified429180
-Ref: User-modified-Footnote-1436860
-Node: Auto-set436922
-Ref: Auto-set-Footnote-1449779
-Ref: Auto-set-Footnote-2449984
-Node: ARGC and ARGV450040
-Node: Pattern Action Summary454244
-Node: Arrays456671
-Node: Array Basics458000
-Node: Array Intro458844
-Ref: figure-array-elements460817
-Ref: Array Intro-Footnote-1463341
-Node: Reference to Elements463469
-Node: Assigning Elements465919
-Node: Array Example466410
-Node: Scanning an Array468168
-Node: Controlling Scanning471184
-Ref: Controlling Scanning-Footnote-1476373
-Node: Numeric Array Subscripts476689
-Node: Uninitialized Subscripts478874
-Node: Delete480491
-Ref: Delete-Footnote-1483235
-Node: Multidimensional483292
-Node: Multiscanning486387
-Node: Arrays of Arrays487976
-Node: Arrays Summary492737
-Node: Functions494842
-Node: Built-in495715
-Node: Calling Built-in496793
-Node: Numeric Functions498781
-Ref: Numeric Functions-Footnote-1502803
-Ref: Numeric Functions-Footnote-2503160
-Ref: Numeric Functions-Footnote-3503208
-Node: String Functions503477
-Ref: String Functions-Footnote-1526941
-Ref: String Functions-Footnote-2527070
-Ref: String Functions-Footnote-3527318
-Node: Gory Details527405
-Ref: table-sub-escapes529186
-Ref: table-sub-proposed530706
-Ref: table-posix-sub532070
-Ref: table-gensub-escapes533610
-Ref: Gory Details-Footnote-1534442
-Node: I/O Functions534593
-Ref: I/O Functions-Footnote-1541694
-Node: Time Functions541841
-Ref: Time Functions-Footnote-1552310
-Ref: Time Functions-Footnote-2552378
-Ref: Time Functions-Footnote-3552536
-Ref: Time Functions-Footnote-4552647
-Ref: Time Functions-Footnote-5552759
-Ref: Time Functions-Footnote-6552986
-Node: Bitwise Functions553252
-Ref: table-bitwise-ops553814
-Ref: Bitwise Functions-Footnote-1558122
-Node: Type Functions558291
-Node: I18N Functions559440
-Node: User-defined561085
-Node: Definition Syntax561889
-Ref: Definition Syntax-Footnote-1567295
-Node: Function Example567364
-Ref: Function Example-Footnote-1570281
-Node: Function Caveats570303
-Node: Calling A Function570821
-Node: Variable Scope571776
-Node: Pass By Value/Reference574764
-Node: Return Statement578274
-Node: Dynamic Typing581258
-Node: Indirect Calls582187
-Ref: Indirect Calls-Footnote-1593491
-Node: Functions Summary593619
-Node: Library Functions596318
-Ref: Library Functions-Footnote-1599936
-Ref: Library Functions-Footnote-2600079
-Node: Library Names600250
-Ref: Library Names-Footnote-1603710
-Ref: Library Names-Footnote-2603930
-Node: General Functions604016
-Node: Strtonum Function605119
-Node: Assert Function608139
-Node: Round Function611463
-Node: Cliff Random Function613004
-Node: Ordinal Functions614020
-Ref: Ordinal Functions-Footnote-1617085
-Ref: Ordinal Functions-Footnote-2617337
-Node: Join Function617548
-Ref: Join Function-Footnote-1619319
-Node: Getlocaltime Function619519
-Node: Readfile Function623260
-Node: Shell Quoting625230
-Node: Data File Management626631
-Node: Filetrans Function627263
-Node: Rewind Function631322
-Node: File Checking632707
-Ref: File Checking-Footnote-1634035
-Node: Empty Files634236
-Node: Ignoring Assigns636215
-Node: Getopt Function637766
-Ref: Getopt Function-Footnote-1649226
-Node: Passwd Functions649429
-Ref: Passwd Functions-Footnote-1658280
-Node: Group Functions658368
-Ref: Group Functions-Footnote-1666271
-Node: Walking Arrays666484
-Node: Library Functions Summary668087
-Node: Library Exercises669488
-Node: Sample Programs670768
-Node: Running Examples671538
-Node: Clones672266
-Node: Cut Program673490
-Node: Egrep Program683220
-Ref: Egrep Program-Footnote-1690724
-Node: Id Program690834
-Node: Split Program694478
-Ref: Split Program-Footnote-1697924
-Node: Tee Program698052
-Node: Uniq Program700839
-Node: Wc Program708260
-Ref: Wc Program-Footnote-1712508
-Node: Miscellaneous Programs712600
-Node: Dupword Program713813
-Node: Alarm Program715844
-Node: Translate Program720648
-Ref: Translate Program-Footnote-1725212
-Node: Labels Program725482
-Ref: Labels Program-Footnote-1728831
-Node: Word Sorting728915
-Node: History Sorting732985
-Node: Extract Program734821
-Node: Simple Sed742353
-Node: Igawk Program745415
-Ref: Igawk Program-Footnote-1759741
-Ref: Igawk Program-Footnote-2759942
-Ref: Igawk Program-Footnote-3760064
-Node: Anagram Program760179
-Node: Signature Program763241
-Node: Programs Summary764488
-Node: Programs Exercises765681
-Ref: Programs Exercises-Footnote-1769812
-Node: Advanced Features769903
-Node: Nondecimal Data771851
-Node: Array Sorting773441
-Node: Controlling Array Traversal774138
-Ref: Controlling Array Traversal-Footnote-1782469
-Node: Array Sorting Functions782587
-Ref: Array Sorting Functions-Footnote-1786479
-Node: Two-way I/O786673
-Ref: Two-way I/O-Footnote-1791617
-Ref: Two-way I/O-Footnote-2791803
-Node: TCP/IP Networking791885
-Node: Profiling794757
-Node: Advanced Features Summary802301
-Node: Internationalization804234
-Node: I18N and L10N805714
-Node: Explaining gettext806400
-Ref: Explaining gettext-Footnote-1811429
-Ref: Explaining gettext-Footnote-2811613
-Node: Programmer i18n811778
-Ref: Programmer i18n-Footnote-1816644
-Node: Translator i18n816693
-Node: String Extraction817487
-Ref: String Extraction-Footnote-1818618
-Node: Printf Ordering818704
-Ref: Printf Ordering-Footnote-1821490
-Node: I18N Portability821554
-Ref: I18N Portability-Footnote-1824003
-Node: I18N Example824066
-Ref: I18N Example-Footnote-1826866
-Node: Gawk I18N826938
-Node: I18N Summary827576
-Node: Debugger828915
-Node: Debugging829937
-Node: Debugging Concepts830378
-Node: Debugging Terms832235
-Node: Awk Debugging834810
-Node: Sample Debugging Session835702
-Node: Debugger Invocation836222
-Node: Finding The Bug837606
-Node: List of Debugger Commands844081
-Node: Breakpoint Control845413
-Node: Debugger Execution Control849105
-Node: Viewing And Changing Data852469
-Node: Execution Stack855834
-Node: Debugger Info857472
-Node: Miscellaneous Debugger Commands861489
-Node: Readline Support866681
-Node: Limitations867573
-Node: Debugging Summary869670
-Node: Arbitrary Precision Arithmetic870838
-Node: Computer Arithmetic872254
-Ref: table-numeric-ranges875855
-Ref: Computer Arithmetic-Footnote-1876714
-Node: Math Definitions876771
-Ref: table-ieee-formats880058
-Ref: Math Definitions-Footnote-1880662
-Node: MPFR features880767
-Node: FP Math Caution882438
-Ref: FP Math Caution-Footnote-1883488
-Node: Inexactness of computations883857
-Node: Inexact representation884805
-Node: Comparing FP Values886160
-Node: Errors accumulate887233
-Node: Getting Accuracy888666
-Node: Try To Round891325
-Node: Setting precision892224
-Ref: table-predefined-precision-strings892908
-Node: Setting the rounding mode894702
-Ref: table-gawk-rounding-modes895066
-Ref: Setting the rounding mode-Footnote-1898520
-Node: Arbitrary Precision Integers898699
-Ref: Arbitrary Precision Integers-Footnote-1901690
-Node: POSIX Floating Point Problems901839
-Ref: POSIX Floating Point Problems-Footnote-1905715
-Node: Floating point summary905753
-Node: Dynamic Extensions907945
-Node: Extension Intro909497
-Node: Plugin License910763
-Node: Extension Mechanism Outline911560
-Ref: figure-load-extension911988
-Ref: figure-register-new-function913468
-Ref: figure-call-new-function914472
-Node: Extension API Description916458
-Node: Extension API Functions Introduction917908
-Node: General Data Types922744
-Ref: General Data Types-Footnote-1928431
-Node: Memory Allocation Functions928730
-Ref: Memory Allocation Functions-Footnote-1931560
-Node: Constructor Functions931656
-Node: Registration Functions933390
-Node: Extension Functions934075
-Node: Exit Callback Functions936371
-Node: Extension Version String937619
-Node: Input Parsers938269
-Node: Output Wrappers948084
-Node: Two-way processors952600
-Node: Printing Messages954804
-Ref: Printing Messages-Footnote-1955881
-Node: Updating `ERRNO'956033
-Node: Requesting Values956773
-Ref: table-value-types-returned957501
-Node: Accessing Parameters958459
-Node: Symbol Table Access959690
-Node: Symbol table by name960204
-Node: Symbol table by cookie962184
-Ref: Symbol table by cookie-Footnote-1966323
-Node: Cached values966386
-Ref: Cached values-Footnote-1969890
-Node: Array Manipulation969981
-Ref: Array Manipulation-Footnote-1971079
-Node: Array Data Types971118
-Ref: Array Data Types-Footnote-1973775
-Node: Array Functions973867
-Node: Flattening Arrays977721
-Node: Creating Arrays984608
-Node: Extension API Variables989375
-Node: Extension Versioning990011
-Node: Extension API Informational Variables991912
-Node: Extension API Boilerplate993000
-Node: Finding Extensions996816
-Node: Extension Example997376
-Node: Internal File Description998148
-Node: Internal File Ops1002215
-Ref: Internal File Ops-Footnote-11013873
-Node: Using Internal File Ops1014013
-Ref: Using Internal File Ops-Footnote-11016396
-Node: Extension Samples1016669
-Node: Extension Sample File Functions1018193
-Node: Extension Sample Fnmatch1025795
-Node: Extension Sample Fork1027277
-Node: Extension Sample Inplace1028490
-Node: Extension Sample Ord1030165
-Node: Extension Sample Readdir1031001
-Ref: table-readdir-file-types1031857
-Node: Extension Sample Revout1032668
-Node: Extension Sample Rev2way1033259
-Node: Extension Sample Read write array1034000
-Node: Extension Sample Readfile1035939
-Node: Extension Sample Time1037034
-Node: Extension Sample API Tests1038383
-Node: gawkextlib1038874
-Node: Extension summary1041524
-Node: Extension Exercises1045206
-Node: Language History1045928
-Node: V7/SVR3.11047585
-Node: SVR41049766
-Node: POSIX1051211
-Node: BTL1052600
-Node: POSIX/GNU1053334
-Node: Feature History1058903
-Node: Common Extensions1071994
-Node: Ranges and Locales1073318
-Ref: Ranges and Locales-Footnote-11077957
-Ref: Ranges and Locales-Footnote-21077984
-Ref: Ranges and Locales-Footnote-31078218
-Node: Contributors1078439
-Node: History summary1083979
-Node: Installation1085348
-Node: Gawk Distribution1086304
-Node: Getting1086788
-Node: Extracting1087612
-Node: Distribution contents1089254
-Node: Unix Installation1094971
-Node: Quick Installation1095588
-Node: Additional Configuration Options1098019
-Node: Configuration Philosophy1099759
-Node: Non-Unix Installation1102110
-Node: PC Installation1102568
-Node: PC Binary Installation1103894
-Node: PC Compiling1105742
-Ref: PC Compiling-Footnote-11108763
-Node: PC Testing1108868
-Node: PC Using1110044
-Node: Cygwin1114159
-Node: MSYS1114982
-Node: VMS Installation1115480
-Node: VMS Compilation1116272
-Ref: VMS Compilation-Footnote-11117494
-Node: VMS Dynamic Extensions1117552
-Node: VMS Installation Details1119236
-Node: VMS Running1121488
-Node: VMS GNV1124329
-Node: VMS Old Gawk1125058
-Node: Bugs1125528
-Node: Other Versions1129498
-Node: Installation summary1135711
-Node: Notes1136767
-Node: Compatibility Mode1137632
-Node: Additions1138414
-Node: Accessing The Source1139339
-Node: Adding Code1140775
-Node: New Ports1146947
-Node: Derived Files1151429
-Ref: Derived Files-Footnote-11156904
-Ref: Derived Files-Footnote-21156938
-Ref: Derived Files-Footnote-31157534
-Node: Future Extensions1157648
-Node: Implementation Limitations1158254
-Node: Extension Design1159502
-Node: Old Extension Problems1160656
-Ref: Old Extension Problems-Footnote-11162173
-Node: Extension New Mechanism Goals1162230
-Ref: Extension New Mechanism Goals-Footnote-11165590
-Node: Extension Other Design Decisions1165779
-Node: Extension Future Growth1167887
-Node: Old Extension Mechanism1168723
-Node: Notes summary1170485
-Node: Basic Concepts1171671
-Node: Basic High Level1172352
-Ref: figure-general-flow1172624
-Ref: figure-process-flow1173223
-Ref: Basic High Level-Footnote-11176452
-Node: Basic Data Typing1176637
-Node: Glossary1179965
-Node: Copying1205123
-Node: GNU Free Documentation License1242679
-Node: Index1267815
+Node: DOS Quoting90074
+Node: Sample Data Files90749
+Node: Very Simple93342
+Node: Two Rules98233
+Node: More Complex100119
+Node: Statements/Lines102981
+Ref: Statements/Lines-Footnote-1107437
+Node: Other Features107702
+Node: When108633
+Ref: When-Footnote-1110389
+Node: Intro Summary110454
+Node: Invoking Gawk111337
+Node: Command Line112852
+Node: Options113643
+Ref: Options-Footnote-1129538
+Node: Other Arguments129563
+Node: Naming Standard Input132524
+Node: Environment Variables133617
+Node: AWKPATH Variable134175
+Ref: AWKPATH Variable-Footnote-1137027
+Ref: AWKPATH Variable-Footnote-2137072
+Node: AWKLIBPATH Variable137332
+Node: Other Environment Variables138091
+Node: Exit Status141793
+Node: Include Files142468
+Node: Loading Shared Libraries146046
+Node: Obsolete147473
+Node: Undocumented148170
+Node: Invoking Summary148437
+Node: Regexp150103
+Node: Regexp Usage151562
+Node: Escape Sequences153595
+Node: Regexp Operators159612
+Ref: Regexp Operators-Footnote-1167046
+Ref: Regexp Operators-Footnote-2167193
+Node: Bracket Expressions167291
+Ref: table-char-classes169308
+Node: Leftmost Longest172248
+Node: Computed Regexps173550
+Node: GNU Regexp Operators176947
+Node: Case-sensitivity180649
+Ref: Case-sensitivity-Footnote-1183539
+Ref: Case-sensitivity-Footnote-2183774
+Node: Regexp Summary183882
+Node: Reading Files185351
+Node: Records187445
+Node: awk split records188177
+Node: gawk split records193091
+Ref: gawk split records-Footnote-1197630
+Node: Fields197667
+Ref: Fields-Footnote-1200465
+Node: Nonconstant Fields200551
+Ref: Nonconstant Fields-Footnote-1202787
+Node: Changing Fields202989
+Node: Field Separators208921
+Node: Default Field Splitting211625
+Node: Regexp Field Splitting212742
+Node: Single Character Fields216092
+Node: Command Line Field Separator217151
+Node: Full Line Fields220363
+Ref: Full Line Fields-Footnote-1220871
+Node: Field Splitting Summary220917
+Ref: Field Splitting Summary-Footnote-1224048
+Node: Constant Size224149
+Node: Splitting By Content228755
+Ref: Splitting By Content-Footnote-1232828
+Node: Multiple Line232868
+Ref: Multiple Line-Footnote-1238757
+Node: Getline238936
+Node: Plain Getline241147
+Node: Getline/Variable243787
+Node: Getline/File244934
+Node: Getline/Variable/File246318
+Ref: Getline/Variable/File-Footnote-1247919
+Node: Getline/Pipe248006
+Node: Getline/Variable/Pipe250689
+Node: Getline/Coprocess251820
+Node: Getline/Variable/Coprocess253072
+Node: Getline Notes253811
+Node: Getline Summary256603
+Ref: table-getline-variants257015
+Node: Read Timeout257844
+Ref: Read Timeout-Footnote-1261658
+Node: Command-line directories261716
+Node: Input Summary262620
+Node: Input Exercises265872
+Node: Printing266600
+Node: Print268377
+Node: Print Examples269834
+Node: Output Separators272613
+Node: OFMT274631
+Node: Printf275985
+Node: Basic Printf276770
+Node: Control Letters278341
+Node: Format Modifiers282325
+Node: Printf Examples288332
+Node: Redirection290814
+Node: Special FD297653
+Ref: Special FD-Footnote-1300810
+Node: Special Files300884
+Node: Other Inherited Files301500
+Node: Special Network302500
+Node: Special Caveats303361
+Node: Close Files And Pipes304312
+Ref: Close Files And Pipes-Footnote-1311491
+Ref: Close Files And Pipes-Footnote-2311639
+Node: Output Summary311789
+Node: Output Exercises312785
+Node: Expressions313465
+Node: Values314650
+Node: Constants315326
+Node: Scalar Constants316006
+Ref: Scalar Constants-Footnote-1316865
+Node: Nondecimal-numbers317115
+Node: Regexp Constants320115
+Node: Using Constant Regexps320640
+Node: Variables323778
+Node: Using Variables324433
+Node: Assignment Options326343
+Node: Conversion328218
+Node: Strings And Numbers328742
+Ref: Strings And Numbers-Footnote-1331806
+Node: Locale influences conversions331915
+Ref: table-locale-affects334660
+Node: All Operators335248
+Node: Arithmetic Ops335878
+Node: Concatenation338383
+Ref: Concatenation-Footnote-1341202
+Node: Assignment Ops341308
+Ref: table-assign-ops346291
+Node: Increment Ops347569
+Node: Truth Values and Conditions351007
+Node: Truth Values352090
+Node: Typing and Comparison353139
+Node: Variable Typing353932
+Node: Comparison Operators357584
+Ref: table-relational-ops357994
+Node: POSIX String Comparison361509
+Ref: POSIX String Comparison-Footnote-1362581
+Node: Boolean Ops362719
+Ref: Boolean Ops-Footnote-1367198
+Node: Conditional Exp367289
+Node: Function Calls369016
+Node: Precedence372896
+Node: Locales376564
+Node: Expressions Summary378195
+Node: Patterns and Actions380769
+Node: Pattern Overview381889
+Node: Regexp Patterns383568
+Node: Expression Patterns384111
+Node: Ranges387891
+Node: BEGIN/END390997
+Node: Using BEGIN/END391759
+Ref: Using BEGIN/END-Footnote-1394496
+Node: I/O And BEGIN/END394602
+Node: BEGINFILE/ENDFILE396916
+Node: Empty399817
+Node: Using Shell Variables400134
+Node: Action Overview402410
+Node: Statements404737
+Node: If Statement406585
+Node: While Statement408083
+Node: Do Statement410111
+Node: For Statement411253
+Node: Switch Statement414408
+Node: Break Statement416796
+Node: Continue Statement418837
+Node: Next Statement420662
+Node: Nextfile Statement423042
+Node: Exit Statement425672
+Node: Built-in Variables428075
+Node: User-modified429208
+Ref: User-modified-Footnote-1436888
+Node: Auto-set436950
+Ref: Auto-set-Footnote-1449807
+Ref: Auto-set-Footnote-2450012
+Node: ARGC and ARGV450068
+Node: Pattern Action Summary454272
+Node: Arrays456699
+Node: Array Basics458028
+Node: Array Intro458872
+Ref: figure-array-elements460836
+Ref: Array Intro-Footnote-1463360
+Node: Reference to Elements463488
+Node: Assigning Elements465938
+Node: Array Example466429
+Node: Scanning an Array468187
+Node: Controlling Scanning471203
+Ref: Controlling Scanning-Footnote-1476392
+Node: Numeric Array Subscripts476708
+Node: Uninitialized Subscripts478893
+Node: Delete480510
+Ref: Delete-Footnote-1483254
+Node: Multidimensional483311
+Node: Multiscanning486406
+Node: Arrays of Arrays487995
+Node: Arrays Summary492756
+Node: Functions494861
+Node: Built-in495734
+Node: Calling Built-in496812
+Node: Numeric Functions498800
+Ref: Numeric Functions-Footnote-1502822
+Ref: Numeric Functions-Footnote-2503179
+Ref: Numeric Functions-Footnote-3503227
+Node: String Functions503496
+Ref: String Functions-Footnote-1526968
+Ref: String Functions-Footnote-2527097
+Ref: String Functions-Footnote-3527345
+Node: Gory Details527432
+Ref: table-sub-escapes529213
+Ref: table-sub-proposed530733
+Ref: table-posix-sub532097
+Ref: table-gensub-escapes533637
+Ref: Gory Details-Footnote-1534469
+Node: I/O Functions534620
+Ref: I/O Functions-Footnote-1541721
+Node: Time Functions541868
+Ref: Time Functions-Footnote-1552337
+Ref: Time Functions-Footnote-2552405
+Ref: Time Functions-Footnote-3552563
+Ref: Time Functions-Footnote-4552674
+Ref: Time Functions-Footnote-5552786
+Ref: Time Functions-Footnote-6553013
+Node: Bitwise Functions553279
+Ref: table-bitwise-ops553841
+Ref: Bitwise Functions-Footnote-1558149
+Node: Type Functions558318
+Node: I18N Functions559467
+Node: User-defined561112
+Node: Definition Syntax561916
+Ref: Definition Syntax-Footnote-1567322
+Node: Function Example567391
+Ref: Function Example-Footnote-1570308
+Node: Function Caveats570330
+Node: Calling A Function570848
+Node: Variable Scope571803
+Node: Pass By Value/Reference574791
+Node: Return Statement578301
+Node: Dynamic Typing581285
+Node: Indirect Calls582214
+Ref: Indirect Calls-Footnote-1593518
+Node: Functions Summary593646
+Node: Library Functions596345
+Ref: Library Functions-Footnote-1599963
+Ref: Library Functions-Footnote-2600106
+Node: Library Names600277
+Ref: Library Names-Footnote-1603737
+Ref: Library Names-Footnote-2603957
+Node: General Functions604043
+Node: Strtonum Function605146
+Node: Assert Function608166
+Node: Round Function611490
+Node: Cliff Random Function613031
+Node: Ordinal Functions614047
+Ref: Ordinal Functions-Footnote-1617112
+Ref: Ordinal Functions-Footnote-2617364
+Node: Join Function617575
+Ref: Join Function-Footnote-1619346
+Node: Getlocaltime Function619546
+Node: Readfile Function623287
+Node: Shell Quoting625257
+Node: Data File Management626658
+Node: Filetrans Function627290
+Node: Rewind Function631349
+Node: File Checking632734
+Ref: File Checking-Footnote-1634062
+Node: Empty Files634263
+Node: Ignoring Assigns636242
+Node: Getopt Function637793
+Ref: Getopt Function-Footnote-1649253
+Node: Passwd Functions649456
+Ref: Passwd Functions-Footnote-1658307
+Node: Group Functions658395
+Ref: Group Functions-Footnote-1666298
+Node: Walking Arrays666511
+Node: Library Functions Summary668114
+Node: Library Exercises669515
+Node: Sample Programs670795
+Node: Running Examples671565
+Node: Clones672293
+Node: Cut Program673517
+Node: Egrep Program683247
+Ref: Egrep Program-Footnote-1690751
+Node: Id Program690861
+Node: Split Program694505
+Ref: Split Program-Footnote-1697951
+Node: Tee Program698079
+Node: Uniq Program700866
+Node: Wc Program708287
+Ref: Wc Program-Footnote-1712535
+Node: Miscellaneous Programs712627
+Node: Dupword Program713840
+Node: Alarm Program715871
+Node: Translate Program720675
+Ref: Translate Program-Footnote-1725239
+Node: Labels Program725509
+Ref: Labels Program-Footnote-1728858
+Node: Word Sorting728942
+Node: History Sorting733012
+Node: Extract Program734848
+Node: Simple Sed742380
+Node: Igawk Program745442
+Ref: Igawk Program-Footnote-1759768
+Ref: Igawk Program-Footnote-2759969
+Ref: Igawk Program-Footnote-3760091
+Node: Anagram Program760206
+Node: Signature Program763268
+Node: Programs Summary764515
+Node: Programs Exercises765708
+Ref: Programs Exercises-Footnote-1769839
+Node: Advanced Features769930
+Node: Nondecimal Data771878
+Node: Array Sorting773468
+Node: Controlling Array Traversal774165
+Ref: Controlling Array Traversal-Footnote-1782496
+Node: Array Sorting Functions782614
+Ref: Array Sorting Functions-Footnote-1786506
+Node: Two-way I/O786700
+Ref: Two-way I/O-Footnote-1791644
+Ref: Two-way I/O-Footnote-2791830
+Node: TCP/IP Networking791912
+Node: Profiling794784
+Node: Advanced Features Summary802328
+Node: Internationalization804261
+Node: I18N and L10N805741
+Node: Explaining gettext806427
+Ref: Explaining gettext-Footnote-1811456
+Ref: Explaining gettext-Footnote-2811640
+Node: Programmer i18n811805
+Ref: Programmer i18n-Footnote-1816671
+Node: Translator i18n816720
+Node: String Extraction817514
+Ref: String Extraction-Footnote-1818645
+Node: Printf Ordering818731
+Ref: Printf Ordering-Footnote-1821517
+Node: I18N Portability821581
+Ref: I18N Portability-Footnote-1824030
+Node: I18N Example824093
+Ref: I18N Example-Footnote-1826893
+Node: Gawk I18N826965
+Node: I18N Summary827603
+Node: Debugger828942
+Node: Debugging829964
+Node: Debugging Concepts830405
+Node: Debugging Terms832262
+Node: Awk Debugging834837
+Node: Sample Debugging Session835729
+Node: Debugger Invocation836249
+Node: Finding The Bug837633
+Node: List of Debugger Commands844108
+Node: Breakpoint Control845440
+Node: Debugger Execution Control849132
+Node: Viewing And Changing Data852496
+Node: Execution Stack855861
+Node: Debugger Info857499
+Node: Miscellaneous Debugger Commands861516
+Node: Readline Support866708
+Node: Limitations867600
+Node: Debugging Summary869697
+Node: Arbitrary Precision Arithmetic870865
+Node: Computer Arithmetic872281
+Ref: table-numeric-ranges875882
+Ref: Computer Arithmetic-Footnote-1876741
+Node: Math Definitions876798
+Ref: table-ieee-formats880085
+Ref: Math Definitions-Footnote-1880689
+Node: MPFR features880794
+Node: FP Math Caution882465
+Ref: FP Math Caution-Footnote-1883515
+Node: Inexactness of computations883884
+Node: Inexact representation884832
+Node: Comparing FP Values886187
+Node: Errors accumulate887260
+Node: Getting Accuracy888693
+Node: Try To Round891352
+Node: Setting precision892251
+Ref: table-predefined-precision-strings892935
+Node: Setting the rounding mode894729
+Ref: table-gawk-rounding-modes895093
+Ref: Setting the rounding mode-Footnote-1898547
+Node: Arbitrary Precision Integers898726
+Ref: Arbitrary Precision Integers-Footnote-1901717
+Node: POSIX Floating Point Problems901866
+Ref: POSIX Floating Point Problems-Footnote-1905742
+Node: Floating point summary905780
+Node: Dynamic Extensions907972
+Node: Extension Intro909524
+Node: Plugin License910790
+Node: Extension Mechanism Outline911587
+Ref: figure-load-extension912015
+Ref: figure-register-new-function913495
+Ref: figure-call-new-function914499
+Node: Extension API Description916485
+Node: Extension API Functions Introduction917935
+Node: General Data Types922771
+Ref: General Data Types-Footnote-1928458
+Node: Memory Allocation Functions928757
+Ref: Memory Allocation Functions-Footnote-1931587
+Node: Constructor Functions931683
+Node: Registration Functions933417
+Node: Extension Functions934102
+Node: Exit Callback Functions936398
+Node: Extension Version String937646
+Node: Input Parsers938296
+Node: Output Wrappers948111
+Node: Two-way processors952627
+Node: Printing Messages954831
+Ref: Printing Messages-Footnote-1955908
+Node: Updating `ERRNO'956060
+Node: Requesting Values956800
+Ref: table-value-types-returned957528
+Node: Accessing Parameters958486
+Node: Symbol Table Access959717
+Node: Symbol table by name960231
+Node: Symbol table by cookie962211
+Ref: Symbol table by cookie-Footnote-1966350
+Node: Cached values966413
+Ref: Cached values-Footnote-1969917
+Node: Array Manipulation970008
+Ref: Array Manipulation-Footnote-1971106
+Node: Array Data Types971145
+Ref: Array Data Types-Footnote-1973802
+Node: Array Functions973894
+Node: Flattening Arrays977748
+Node: Creating Arrays984635
+Node: Extension API Variables989402
+Node: Extension Versioning990038
+Node: Extension API Informational Variables991939
+Node: Extension API Boilerplate993027
+Node: Finding Extensions996843
+Node: Extension Example997403
+Node: Internal File Description998175
+Node: Internal File Ops1002242
+Ref: Internal File Ops-Footnote-11013900
+Node: Using Internal File Ops1014040
+Ref: Using Internal File Ops-Footnote-11016423
+Node: Extension Samples1016696
+Node: Extension Sample File Functions1018220
+Node: Extension Sample Fnmatch1025822
+Node: Extension Sample Fork1027304
+Node: Extension Sample Inplace1028517
+Node: Extension Sample Ord1030192
+Node: Extension Sample Readdir1031028
+Ref: table-readdir-file-types1031884
+Node: Extension Sample Revout1032695
+Node: Extension Sample Rev2way1033286
+Node: Extension Sample Read write array1034027
+Node: Extension Sample Readfile1035966
+Node: Extension Sample Time1037061
+Node: Extension Sample API Tests1038410
+Node: gawkextlib1038901
+Node: Extension summary1041551
+Node: Extension Exercises1045233
+Node: Language History1045955
+Node: V7/SVR3.11047612
+Node: SVR41049793
+Node: POSIX1051238
+Node: BTL1052627
+Node: POSIX/GNU1053361
+Node: Feature History1058930
+Node: Common Extensions1072021
+Node: Ranges and Locales1073345
+Ref: Ranges and Locales-Footnote-11077984
+Ref: Ranges and Locales-Footnote-21078011
+Ref: Ranges and Locales-Footnote-31078245
+Node: Contributors1078466
+Node: History summary1084006
+Node: Installation1085375
+Node: Gawk Distribution1086331
+Node: Getting1086815
+Node: Extracting1087639
+Node: Distribution contents1089281
+Node: Unix Installation1094998
+Node: Quick Installation1095615
+Node: Additional Configuration Options1098046
+Node: Configuration Philosophy1099786
+Node: Non-Unix Installation1102137
+Node: PC Installation1102595
+Node: PC Binary Installation1103921
+Node: PC Compiling1105769
+Ref: PC Compiling-Footnote-11108790
+Node: PC Testing1108895
+Node: PC Using1110071
+Node: Cygwin1114186
+Node: MSYS1115009
+Node: VMS Installation1115507
+Node: VMS Compilation1116299
+Ref: VMS Compilation-Footnote-11117521
+Node: VMS Dynamic Extensions1117579
+Node: VMS Installation Details1119263
+Node: VMS Running1121515
+Node: VMS GNV1124356
+Node: VMS Old Gawk1125090
+Node: Bugs1125560
+Node: Other Versions1129530
+Node: Installation summary1135743
+Node: Notes1136799
+Node: Compatibility Mode1137664
+Node: Additions1138446
+Node: Accessing The Source1139371
+Node: Adding Code1140807
+Node: New Ports1146979
+Node: Derived Files1151461
+Ref: Derived Files-Footnote-11156936
+Ref: Derived Files-Footnote-21156970
+Ref: Derived Files-Footnote-31157566
+Node: Future Extensions1157680
+Node: Implementation Limitations1158286
+Node: Extension Design1159534
+Node: Old Extension Problems1160688
+Ref: Old Extension Problems-Footnote-11162205
+Node: Extension New Mechanism Goals1162262
+Ref: Extension New Mechanism Goals-Footnote-11165622
+Node: Extension Other Design Decisions1165811
+Node: Extension Future Growth1167919
+Node: Old Extension Mechanism1168755
+Node: Notes summary1170517
+Node: Basic Concepts1171703
+Node: Basic High Level1172384
+Ref: figure-general-flow1172656
+Ref: figure-process-flow1173255
+Ref: Basic High Level-Footnote-11176484
+Node: Basic Data Typing1176669
+Node: Glossary1179997
+Node: Copying1205155
+Node: GNU Free Documentation License1242711
+Node: Index1267847
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index d8ebb0b..40b7bfa 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -2108,8 +2108,16 @@ working with this team of fine people.
 Notable code and documentation contributions were made by
 a number of people. @xref{Contributors}, for the full list.
 
address@hidden FOR_PRINT
address@hidden Oram, Andy
+Thanks to Andy Oram, of O'Reilly Media, for initiating
+the fourth edition and for his support during the work.
address@hidden ifset
+
 Thanks to Michael Brennan for the Foreword.
 
address@hidden Duman, Patrice
address@hidden Berry, Karl
 Thanks to Patrice Dumas for the new @command{makeinfo} program.
 Thanks to Karl Berry who continues to work to keep
 the Texinfo markup language sane.
@@ -2796,7 +2804,7 @@ awk -F"" '@var{program}' @var{files}  # wrong!
 @end example
 
 @noindent
-In the second case, @command{awk} will attempt to use the text of the program
+In the second case, @command{awk} attempts to use the text of the program
 as the value of @code{FS}, and the first @value{FN} as the text of the program!
 This results in syntax errors at best, and confusing behavior at worst.
 @end itemize
@@ -5976,7 +5984,7 @@ are allowed.
 Traditional Unix @command{awk} regexps are matched. The GNU operators
 are not special, and interval expressions are not available.
 The POSIX character classes (@samp{[[:alnum:]]}, etc.) are supported,
-as BWK @command{awk} does support them.
+as BWK @command{awk} supports them.
 Characters described by octal and hexadecimal escape sequences are
 treated literally, even if they represent regexp metacharacters.
 
@@ -6692,7 +6700,7 @@ implementations may behave differently.)
 
 As mentioned in @ref{Fields},
 @command{awk} stores the current record's number of fields in the built-in
-variable @code{NF} (also @pxref{Built-in Variables}).  The expression
+variable @code{NF} (also @pxref{Built-in Variables}).  Thus, the expression
 @code{$NF} is not a special feature---it is the direct consequence of
 evaluating @code{NF} and using its value as a field number.
 
@@ -11036,7 +11044,7 @@ $ @kbd{echo 4,321 | LC_ALL=en_DK.utf-8 gawk '@{ print 
$1 + 1 @}'}
 The @code{en_DK.utf-8} locale is for English in Denmark, where the comma acts 
as
 the decimal point separator.  In the normal @code{"C"} locale, @command{gawk}
 treats @samp{4,321} as 4, while in the Danish locale, it's treated
-as the full number, 4.321.
+as the full number including the fractional part, 4.321.
 
 Some earlier versions of @command{gawk} fully complied with this aspect
 of the standard.  However, many users in non-English locales complained
@@ -15390,7 +15398,7 @@ as a variable) in the same @command{awk} program.
 Arrays in @command{awk} superficially resemble arrays in other programming
 languages, but there are fundamental differences.  In @command{awk}, it
 isn't necessary to specify the size of an array before starting to use it.
-Additionally, any number or string in @command{awk}, not just consecutive 
integers,
+Additionally, any number or string, not just consecutive integers,
 may be used as an array index.
 
 In most other languages, arrays must be @dfn{declared} before use,
@@ -17167,7 +17175,7 @@ If @var{find} is not found, @code{index()} returns zero.
 With BWK @command{awk} and @command{gawk},
 it is a fatal error to use a regexp constant for @var{find}.
 Other implementations allow it, simply treating the regexp
-constant as an expression meaning @samp{$0 ~ /regexp/}.
+constant as an expression meaning @samp{$0 ~ /regexp/}. @value{DARKCORNER}.
 
 @item @code{length(address@hidden@code{)}
 @cindexawkfunc{length}
@@ -25720,7 +25728,7 @@ While @command{sed} is a complicated program in its own 
right, its most common
 use is to perform global substitutions in the middle of a pipeline:
 
 @example
-command1 < orig.data | sed 's/old/new/g' | command2 > result
address@hidden < orig.data | sed 's/old/new/g' | @var{command2} > result
 @end example
 
 Here, @samp{s/old/new/g} tells @command{sed} to look for the regexp
@@ -35004,7 +35012,7 @@ certain tasks.
 
 @item
 One of these tasks is to ``register'' the name and implementation of
-a new @command{awk}-level function with @command{gawk}.  The implementation
+new @command{awk}-level functions with @command{gawk}.  The implementation
 takes the form of a C function pointer with a defined signature.
 By convention, implementation functions are named @address@hidden()}
 for some @command{awk}-level function @address@hidden()}.
@@ -35055,7 +35063,7 @@ getting the count of elements in an array;
 creating a new array;
 clearing an array;
 and
-flattening an array for easy C style looping over all its indices and elements
+flattening an array for easy C style looping over all its indices and elements.
 @end itemize
 
 @item
@@ -38010,8 +38018,8 @@ See 
@address@hidden://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.}
 The normal build procedure for @command{gawk} produces a program that
 is suitable for use with GNV.
 
-The @file{vms/gawk_build_steps.txt} in the distribution documents the procedure
-for building a VMS PCSI kit that is compatible with GNV.
+The file @file{vms/gawk_build_steps.txt} in the distribution documents
+the procedure for building a VMS PCSI kit that is compatible with GNV.
 
 @ignore
 @c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 8d25e63..fb4ca90 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2075,8 +2075,16 @@ working with this team of fine people.
 Notable code and documentation contributions were made by
 a number of people. @xref{Contributors}, for the full list.
 
address@hidden FOR_PRINT
address@hidden Oram, Andy
+Thanks to Andy Oram, of O'Reilly Media, for initiating
+the fourth edition and for his support during the work.
address@hidden ifset
+
 Thanks to Michael Brennan for the Foreword.
 
address@hidden Duman, Patrice
address@hidden Berry, Karl
 Thanks to Patrice Dumas for the new @command{makeinfo} program.
 Thanks to Karl Berry who continues to work to keep
 the Texinfo markup language sane.
@@ -2707,7 +2715,7 @@ awk -F"" '@var{program}' @var{files}  # wrong!
 @end example
 
 @noindent
-In the second case, @command{awk} will attempt to use the text of the program
+In the second case, @command{awk} attempts to use the text of the program
 as the value of @code{FS}, and the first @value{FN} as the text of the program!
 This results in syntax errors at best, and confusing behavior at worst.
 @end itemize
@@ -5760,7 +5768,7 @@ are allowed.
 Traditional Unix @command{awk} regexps are matched. The GNU operators
 are not special, and interval expressions are not available.
 The POSIX character classes (@samp{[[:alnum:]]}, etc.) are supported,
-as BWK @command{awk} does support them.
+as BWK @command{awk} supports them.
 Characters described by octal and hexadecimal escape sequences are
 treated literally, even if they represent regexp metacharacters.
 
@@ -6419,7 +6427,7 @@ implementations may behave differently.)
 
 As mentioned in @ref{Fields},
 @command{awk} stores the current record's number of fields in the built-in
-variable @code{NF} (also @pxref{Built-in Variables}).  The expression
+variable @code{NF} (also @pxref{Built-in Variables}).  Thus, the expression
 @code{$NF} is not a special feature---it is the direct consequence of
 evaluating @code{NF} and using its value as a field number.
 
@@ -10476,7 +10484,7 @@ $ @kbd{echo 4,321 | LC_ALL=en_DK.utf-8 gawk '@{ print 
$1 + 1 @}'}
 The @code{en_DK.utf-8} locale is for English in Denmark, where the comma acts 
as
 the decimal point separator.  In the normal @code{"C"} locale, @command{gawk}
 treats @samp{4,321} as 4, while in the Danish locale, it's treated
-as the full number, 4.321.
+as the full number including the fractional part, 4.321.
 
 Some earlier versions of @command{gawk} fully complied with this aspect
 of the standard.  However, many users in non-English locales complained
@@ -14674,7 +14682,7 @@ as a variable) in the same @command{awk} program.
 Arrays in @command{awk} superficially resemble arrays in other programming
 languages, but there are fundamental differences.  In @command{awk}, it
 isn't necessary to specify the size of an array before starting to use it.
-Additionally, any number or string in @command{awk}, not just consecutive 
integers,
+Additionally, any number or string, not just consecutive integers,
 may be used as an array index.
 
 In most other languages, arrays must be @dfn{declared} before use,
@@ -16451,7 +16459,7 @@ If @var{find} is not found, @code{index()} returns zero.
 With BWK @command{awk} and @command{gawk},
 it is a fatal error to use a regexp constant for @var{find}.
 Other implementations allow it, simply treating the regexp
-constant as an expression meaning @samp{$0 ~ /regexp/}.
+constant as an expression meaning @samp{$0 ~ /regexp/}. @value{DARKCORNER}.
 
 @item @code{length(address@hidden@code{)}
 @cindexawkfunc{length}
@@ -24814,7 +24822,7 @@ While @command{sed} is a complicated program in its own 
right, its most common
 use is to perform global substitutions in the middle of a pipeline:
 
 @example
-command1 < orig.data | sed 's/old/new/g' | command2 > result
address@hidden < orig.data | sed 's/old/new/g' | @var{command2} > result
 @end example
 
 Here, @samp{s/old/new/g} tells @command{sed} to look for the regexp
@@ -34098,7 +34106,7 @@ certain tasks.
 
 @item
 One of these tasks is to ``register'' the name and implementation of
-a new @command{awk}-level function with @command{gawk}.  The implementation
+new @command{awk}-level functions with @command{gawk}.  The implementation
 takes the form of a C function pointer with a defined signature.
 By convention, implementation functions are named @address@hidden()}
 for some @command{awk}-level function @address@hidden()}.
@@ -34149,7 +34157,7 @@ getting the count of elements in an array;
 creating a new array;
 clearing an array;
 and
-flattening an array for easy C style looping over all its indices and elements
+flattening an array for easy C style looping over all its indices and elements.
 @end itemize
 
 @item
@@ -37104,8 +37112,8 @@ See 
@address@hidden://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.}
 The normal build procedure for @command{gawk} produces a program that
 is suitable for use with GNV.
 
-The @file{vms/gawk_build_steps.txt} in the distribution documents the procedure
-for building a VMS PCSI kit that is compatible with GNV.
+The file @file{vms/gawk_build_steps.txt} in the distribution documents
+the procedure for building a VMS PCSI kit that is compatible with GNV.
 
 @ignore
 @c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=6b818c7f463e1bd6b9470f4bfb694f240ac3e5c2

commit 6b818c7f463e1bd6b9470f4bfb694f240ac3e5c2
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Oct 5 20:06:38 2014 +0300

    Minor typo fix in profiling output.

diff --git a/ChangeLog b/ChangeLog
index 72a27d7..e8d57f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-05         Arnold D. Robbins     <address@hidden>
+
+       * profile.c (pprint): Fix typo in header. Sheesh.
+
 2014-10-04         Arnold D. Robbins     <address@hidden>
 
        * profile.c (pp_string_fp): Fix breaklines case to actually
diff --git a/profile.c b/profile.c
index 84e7f9d..a5ed381 100644
--- a/profile.c
+++ b/profile.c
@@ -190,7 +190,7 @@ pprint(INSTRUCTION *startp, INSTRUCTION *endp, bool 
in_for_header)
 
                        if (rule != Rule) {
                                if (! rule_count[rule]++)
-                                       fprintf(prof_fp, _("\t# %s 
rules(s)\n\n"), ruletab[rule]);
+                                       fprintf(prof_fp, _("\t# %s 
rule(s)\n\n"), ruletab[rule]);
                                fprintf(prof_fp, "\t%s {\n", ruletab[rule]);
                                ip = (pc + 1)->firsti;
                        } else {
diff --git a/test/ChangeLog b/test/ChangeLog
index caee294..28c936d 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-05         Arnold D. Robbins     <address@hidden>
+
+       * profile2.ok, profile3.ok, profile4.ok, profile5.ok:
+       Adjusted after minor code change. Again.
+
 2014-10-04         Arnold D. Robbins     <address@hidden>
 
        * Makefile.am (genpot): New test.
diff --git a/test/profile2.ok b/test/profile2.ok
index 66b0140..938d685 100644
--- a/test/profile2.ok
+++ b/test/profile2.ok
@@ -1,4 +1,4 @@
-       # BEGIN rules(s)
+       # BEGIN rule(s)
 
        BEGIN {
      1         if (sortcmd == "") {
diff --git a/test/profile3.ok b/test/profile3.ok
index 5a9eeea..bbf0654 100644
--- a/test/profile3.ok
+++ b/test/profile3.ok
@@ -1,4 +1,4 @@
-       # BEGIN rules(s)
+       # BEGIN rule(s)
 
        BEGIN {
      1         the_func = "p"
diff --git a/test/profile4.ok b/test/profile4.ok
index df52aa1..dd845c1 100644
--- a/test/profile4.ok
+++ b/test/profile4.ok
@@ -1,4 +1,4 @@
-       # BEGIN rules(s)
+       # BEGIN rule(s)
 
        BEGIN {
                a = "foo" (c = "bar")
diff --git a/test/profile5.ok b/test/profile5.ok
index c688fbb..bff767e 100644
--- a/test/profile5.ok
+++ b/test/profile5.ok
@@ -1,4 +1,4 @@
-       # BEGIN rules(s)
+       # BEGIN rule(s)
 
        BEGIN {
                _addlib("_BASE")
@@ -263,7 +263,7 @@
                _END()
        }
 
-       # END rules(s)
+       # END rule(s)
 
        END {
                _EXIT()

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |    4 +
 doc/ChangeLog    |    4 +
 doc/gawk.info    | 1089 +++++++++++++++++++++++++++---------------------------
 doc/gawk.texi    |   30 +-
 doc/gawktexi.in  |   30 +-
 profile.c        |    2 +-
 test/ChangeLog   |    5 +
 test/profile2.ok |    2 +-
 test/profile3.ok |    2 +-
 test/profile4.ok |    2 +-
 test/profile5.ok |    4 +-
 11 files changed, 602 insertions(+), 572 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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