gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-2441-g50a83f


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-2441-g50a83f4
Date: Fri, 3 Mar 2017 05:30:50 -0500 (EST)

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, master has been updated
       via  50a83f464b8c573bf8053dbb503041f4640b68d2 (commit)
       via  b16f8b0d639b529a3110c14c65668cb3cbfb4314 (commit)
       via  249ccecd908f11a77a531e23bcd3111bb3ecdb89 (commit)
      from  985825455031c54c78efd9e71c54833a6886a25d (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=50a83f464b8c573bf8053dbb503041f4640b68d2

commit 50a83f464b8c573bf8053dbb503041f4640b68d2
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Mar 3 12:30:31 2017 +0200

    Another very small doc change.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index d990f42..f6b77ed 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-03         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Additional small writing tip in the notes
+       after the @bye.
+
 2017-03-02         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Edits preparatory to release.
diff --git a/doc/gawk.texi b/doc/gawk.texi
index a7f7302..2223424 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -43205,6 +43205,7 @@ Consistency issues:
        Use MS-DOS not MS DOS
        Use an empty set of parentheses after built-in and awk function names.
        Use "multiFOO" without a hyphen.
+       Use "time zone" as two words, not "timezone".
 
 Date: Wed, 13 Apr 94 15:20:52 -0400
 From: address@hidden (Richard Stallman)
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index b65c1b4..d2b2431 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -42219,6 +42219,7 @@ Consistency issues:
        Use MS-DOS not MS DOS
        Use an empty set of parentheses after built-in and awk function names.
        Use "multiFOO" without a hyphen.
+       Use "time zone" as two words, not "timezone".
 
 Date: Wed, 13 Apr 94 15:20:52 -0400
 From: address@hidden (Richard Stallman)

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

commit b16f8b0d639b529a3110c14c65668cb3cbfb4314
Author: Arnold D. Robbins <address@hidden>
Date:   Thu Mar 2 20:20:33 2017 +0200

    Remove hardregex.txt file, no longer needed.

diff --git a/hardregex.txt b/hardregex.txt
deleted file mode 100644
index 557548c..0000000
--- a/hardregex.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-New variable type: "regexp", --> Node_hardregexp. (Need a better name).
-
-Syntax:                @/.../
-
-Use:
-       a = @/.../      # a now has type regexp
-       a = foo(1, "bar", @/.../)       # pass a regex to user defined function
-
-New function:
-       t = typeof(exp)         # "array", "regexp", "scalar"
-                       # Open: "scalar" vs. "scalar_s" / "scalar_n"
-
-Obsolete function:
-       isarray(exp)
-
-Conversions:
-       r = @/.../
-       s = r ""        # what happens?  becomes regex string?
-       s = r + 0       # what happens? treat as numeric 0?
-
-Why?
-       Allows passing regexes through user defined functions
-       Allows passing regexes through indirect funtion calls
-       In general, this is a gap in the language

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=249ccecd908f11a77a531e23bcd3111bb3ecdb89

commit 249ccecd908f11a77a531e23bcd3111bb3ecdb89
Author: Arnold D. Robbins <address@hidden>
Date:   Thu Mar 2 20:20:00 2017 +0200

    Doc edits before release.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index f00eaa4..d990f42 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2017-03-02         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Edits preparatory to release.
+
 2017-02-23         Arnold D. Robbins     <address@hidden>
 
        * gawk.1: "timezone" --> "time zone".
diff --git a/doc/gawk.info b/doc/gawk.info
index 188b78c..8e3dc9d 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -13611,10 +13611,10 @@ are enclosed in square brackets ([ ]):
      Return the bitwise XOR of the arguments.  There must be at least
      two.
 
-     CAUTION: Beginning with 'gawk' 4.1 4.2, negative operands are not
-     allowed for any of these functions.  A negative operand produces a
-     fatal error.  See the sidebar "Beware The Smoke and Mirrors!"  for
-     more information as to why.
+     CAUTION: Beginning with 'gawk' version 4.2, negative operands are
+     not allowed for any of these functions.  A negative operand
+     produces a fatal error.  See the sidebar "Beware The Smoke and
+     Mirrors!"  for more information as to why.
 
    Here is a user-defined function (*note User-defined::) that
 illustrates the use of these functions:
@@ -13714,7 +13714,7 @@ hexadecimal:
 arbitrary precision integers which have at least 64 bits of precision.
 When not using '-M', 'gawk' stores integral values in regular
 double-precision floating point, which only maintain 53 bits of
-precision.  Furthermore, the GNU MP library treats (or least seems to
+precision.  Furthermore, the GNU MP library treats (or at least seems to
 treat) the leading bit as a sign bit; thus the result with '-M' in this
 case is a negative number.
 
@@ -13737,7 +13737,7 @@ File: gawk.info,  Node: Type Functions,  Next: I18N 
Functions,  Prev: Bitwise Fu
 9.1.7 Getting Type Information
 ------------------------------
 
-'gawk' provides two functions that lets you distinguish the type of a
+'gawk' provides two functions that let you distinguish the type of a
 variable.  This is necessary for writing code that traverses every
 element of an array of arrays (*note Arrays of Arrays::), and in other
 contexts.
@@ -20130,7 +20130,7 @@ practice than being able to close the '"to"' end.)
      closed.
 
      You may set 'PROCINFO["COMMAND", "NONFATAL"]' to make such
-     operations become nonfatal, in which case you then need to check
+     operations become nonfatal.  If you do so, you then need to check
      'ERRNO' after each 'print', 'printf', or 'getline'.  *Note
      Nonfatal::, for more information.
 
@@ -20502,6 +20502,10 @@ result as the final version of your program.
 recreate an 'awk' program, profiling and pretty-printing automatically
 disable 'gawk''s default optimizations.
 
+   Pretty printing also preserves the original format of numeric
+constants; if you used an octal or hexadecimal value in your source
+code, it will appear that way in the output.
+
    ---------- Footnotes ----------
 
    (1) 'gawk' does the best it can to preserve the distinction between
@@ -23543,9 +23547,9 @@ operations:
           always NUL-terminated.  Thus it is safe to pass such string
           values to standard library and system routines.  However,
           because 'gawk' allows embedded NUL characters in string data,
-          you should check that 'strlen(SOME_STRING)' matches the length
-          for that string passed to the extension before using it as a
-          regular C string.
+          before using the data as a regular C string, you should check
+          that the length for that string passed to the extension
+          matches the return value of 'strlen()' for it.
 
    * When retrieving a value (such as a parameter or that of a global
      variable or array element), the extension requests a specific type
@@ -23677,7 +23681,7 @@ input.  Subsequent parsing by 'gawk' then determines 
whether it looks
 like a number and should be treated as a strnum, or as a regular string.
 
    This is useful in cases where an extension function would like to do
-something comparable to the 'split()' function which sets the user input
+something comparable to the 'split()' function which sets the strnum
 attribute on the array elements it creates.  For example, an extension
 that implements CSV splitting would want to use this feature.  This is
 also useful for a function that retrieves a data item from a database.
@@ -23927,9 +23931,9 @@ Extension functions are described by the following 
record:
 '                              struct awk_ext_func *finfo);'
      This is a pointer to the C function that provides the extension's
      functionality.  The function must fill in '*result' with either a
-     number or a string.  'gawk' takes ownership of any string memory.
-     As mentioned earlier, string memory _must_ come from one of
-     'gawk_malloc()', 'gawk_calloc()', or 'gawk_realloc()'.
+     number, a string, or a regexp.  'gawk' takes ownership of any
+     string memory.  As mentioned earlier, string memory _must_ come
+     from one of 'gawk_malloc()', 'gawk_calloc()', or 'gawk_realloc()'.
 
      The 'num_actual_args' argument tells the C function how many actual
      parameters were passed from the calling 'awk' code.
@@ -24979,7 +24983,7 @@ The following functions relate to individual array 
elements:
      'awk_flat_array_t' structure and fill it in with 'AWK_STRING'
      indices and 'AWK_UNDEFINED' values.  This is superseded by
      'flatten_array_typed()'.  It is provided as a macro, and remains
-     convenience and for source code compatibility with the previous
+     for convenience and for source code compatibility with the previous
      version of the API.
 
 'awk_bool_t release_flattened_array(awk_array_t a_cookie,'
@@ -25316,12 +25320,12 @@ redirections.
 '                    int fd,'
 '                    const awk_input_buf_t **ibufp,'
 '                    const awk_output_buf_t **obufp);'
-     Look up a file in 'gawk''s internal redirection table.  If 'name'
-     is 'NULL' or 'name_len' is zero, return data for the currently open
-     input file corresponding to 'FILENAME'.  (This does not access the
-     'filetype' argument, so that may be undefined).  If the file is not
-     already open, attempt to open it.  The 'filetype' argument must be
-     zero-terminated and should be one of:
+     Look up file 'name' in 'gawk''s internal redirection table.  If
+     'name' is 'NULL' or 'name_len' is zero, return data for the
+     currently open input file corresponding to 'FILENAME'.  (This does
+     not access the 'filetype' argument, so that may be undefined).  If
+     the file is not already open, attempt to open it.  The 'filetype'
+     argument must be zero-terminated and should be one of:
 
      '">"'
           A file opened for output.
@@ -25341,19 +25345,19 @@ redirections.
      '"|&"'
           A two-way coprocess.
 
-     On error, return a 'false' value.  Otherwise, return 'true', and
-     return additional information about the redirection in the 'ibufp'
-     and 'obufp' pointers.  For input redirections, the '*ibufp' value
-     should be non-'NULL', and '*obufp' should be 'NULL'.  For output
-     redirections, the '*obufp' value should be non-'NULL', and '*ibufp'
-     should be 'NULL'.  For two-way coprocesses, both values should be
-     non-'NULL'.
+     On error, return an 'awk_false' value.  Otherwise, return
+     'awk_true', and return additional information about the redirection
+     in the 'ibufp' and 'obufp' pointers.  For input redirections, the
+     '*ibufp' value should be non-'NULL', and '*obufp' should be 'NULL'.
+     For output redirections, the '*obufp' value should be non-'NULL',
+     and '*ibufp' should be 'NULL'.  For two-way coprocesses, both
+     values should be non-'NULL'.
 
      In the usual case, the extension is interested in '(*ibufp)->fd'
      and/or 'fileno((*obufp)->fp)'.  If the file is not already open,
-     and the 'fd' argument is non-negative, 'gawk' will use that file
+     and the 'fd' argument is nonnegative, 'gawk' will use that file
      descriptor instead of opening the file in the usual way.  If 'fd'
-     is non-negative, but the file exists already, 'gawk' ignores 'fd'
+     is nonnegative, but the file exists already, 'gawk' ignores 'fd'
      and returns the existing file.  It is the caller's responsibility
      to notice that neither the 'fd' in the returned 'awk_input_buf_t'
      nor the 'fd' in the returned 'awk_output_buf_t' matches the
@@ -27344,6 +27348,8 @@ current version of 'gawk'.
 
         - MirBSD
 
+        - GNU/Linux on Alpha
+
 
 File: gawk.info,  Node: Feature History,  Next: Common Extensions,  Prev: 
POSIX/GNU,  Up: Language History
 
@@ -28442,10 +28448,10 @@ File: gawk.info,  Node: Shell Startup Files,  Next: 
Additional Configuration Opt
 B.2.2 Shell Startup Files
 -------------------------
 
-The distribution contains shell startup files 'gawk.sh' and 'gawk.csh'
+The distribution contains shell startup files 'gawk.sh' and 'gawk.csh',
 containing functions to aid in manipulating the 'AWKPATH' and
-'AWKLIBPATH' environment variables.  On a Fedora system, these files
-should be installed in '/etc/profile.d'; on other platforms, the
+'AWKLIBPATH' environment variables.  On a Fedora GNU/Linux system, these
+files should be installed in '/etc/profile.d'; on other platforms, the
 appropriate location may be different.
 
 'gawkpath_default'
@@ -35690,314 +35696,314 @@ Ref: Time Functions-Footnote-5574725
 Ref: Time Functions-Footnote-6574952
 Node: Bitwise Functions575218
 Ref: table-bitwise-ops575812
-Ref: Bitwise Functions-Footnote-1581838
-Ref: Bitwise Functions-Footnote-2582011
-Node: Type Functions582202
-Node: I18N Functions584878
-Node: User-defined586529
-Node: Definition Syntax587334
-Ref: Definition Syntax-Footnote-1593021
-Node: Function Example593092
-Ref: Function Example-Footnote-1596014
-Node: Function Caveats596036
-Node: Calling A Function596554
-Node: Variable Scope597512
-Node: Pass By Value/Reference600506
-Node: Return Statement604005
-Node: Dynamic Typing606984
-Node: Indirect Calls607914
-Ref: Indirect Calls-Footnote-1618165
-Node: Functions Summary618293
-Node: Library Functions620998
-Ref: Library Functions-Footnote-1624605
-Ref: Library Functions-Footnote-2624748
-Node: Library Names624919
-Ref: Library Names-Footnote-1628379
-Ref: Library Names-Footnote-2628602
-Node: General Functions628688
-Node: Strtonum Function629791
-Node: Assert Function632813
-Node: Round Function636139
-Node: Cliff Random Function637680
-Node: Ordinal Functions638696
-Ref: Ordinal Functions-Footnote-1641759
-Ref: Ordinal Functions-Footnote-2642011
-Node: Join Function642221
-Ref: Join Function-Footnote-1643991
-Node: Getlocaltime Function644191
-Node: Readfile Function647933
-Node: Shell Quoting649905
-Node: Data File Management651306
-Node: Filetrans Function651938
-Node: Rewind Function656034
-Node: File Checking657940
-Ref: File Checking-Footnote-1659274
-Node: Empty Files659475
-Node: Ignoring Assigns661454
-Node: Getopt Function663004
-Ref: Getopt Function-Footnote-1674473
-Node: Passwd Functions674673
-Ref: Passwd Functions-Footnote-1683512
-Node: Group Functions683600
-Ref: Group Functions-Footnote-1691498
-Node: Walking Arrays691705
-Node: Library Functions Summary694713
-Node: Library Exercises696119
-Node: Sample Programs696584
-Node: Running Examples697354
-Node: Clones698082
-Node: Cut Program699306
-Node: Egrep Program709235
-Ref: Egrep Program-Footnote-1716747
-Node: Id Program716857
-Node: Split Program720537
-Ref: Split Program-Footnote-1723996
-Node: Tee Program724125
-Node: Uniq Program726915
-Node: Wc Program734341
-Ref: Wc Program-Footnote-1738596
-Node: Miscellaneous Programs738690
-Node: Dupword Program739903
-Node: Alarm Program741933
-Node: Translate Program746788
-Ref: Translate Program-Footnote-1751353
-Node: Labels Program751623
-Ref: Labels Program-Footnote-1754974
-Node: Word Sorting755058
-Node: History Sorting759130
-Node: Extract Program760965
-Node: Simple Sed768494
-Node: Igawk Program771568
-Ref: Igawk Program-Footnote-1785899
-Ref: Igawk Program-Footnote-2786101
-Ref: Igawk Program-Footnote-3786223
-Node: Anagram Program786338
-Node: Signature Program789400
-Node: Programs Summary790647
-Node: Programs Exercises791861
-Ref: Programs Exercises-Footnote-1795990
-Node: Advanced Features796081
-Node: Nondecimal Data798071
-Node: Array Sorting799662
-Node: Controlling Array Traversal800362
-Ref: Controlling Array Traversal-Footnote-1808729
-Node: Array Sorting Functions808847
-Ref: Array Sorting Functions-Footnote-1813938
-Node: Two-way I/O814134
-Ref: Two-way I/O-Footnote-1820684
-Ref: Two-way I/O-Footnote-2820871
-Node: TCP/IP Networking820953
-Node: Profiling824071
-Ref: Profiling-Footnote-1832564
-Node: Advanced Features Summary832887
-Node: Internationalization834731
-Node: I18N and L10N836211
-Node: Explaining gettext836898
-Ref: Explaining gettext-Footnote-1842790
-Ref: Explaining gettext-Footnote-2842975
-Node: Programmer i18n843140
-Ref: Programmer i18n-Footnote-1848089
-Node: Translator i18n848138
-Node: String Extraction848932
-Ref: String Extraction-Footnote-1850064
-Node: Printf Ordering850150
-Ref: Printf Ordering-Footnote-1852936
-Node: I18N Portability853000
-Ref: I18N Portability-Footnote-1855456
-Node: I18N Example855519
-Ref: I18N Example-Footnote-1858325
-Node: Gawk I18N858398
-Node: I18N Summary859043
-Node: Debugger860384
-Node: Debugging861406
-Node: Debugging Concepts861847
-Node: Debugging Terms863656
-Node: Awk Debugging866231
-Node: Sample Debugging Session867137
-Node: Debugger Invocation867671
-Node: Finding The Bug869057
-Node: List of Debugger Commands875535
-Node: Breakpoint Control876868
-Node: Debugger Execution Control880562
-Node: Viewing And Changing Data883924
-Node: Execution Stack887298
-Node: Debugger Info888935
-Node: Miscellaneous Debugger Commands893006
-Node: Readline Support898094
-Node: Limitations898990
-Node: Debugging Summary901099
-Node: Arbitrary Precision Arithmetic902378
-Node: Computer Arithmetic903794
-Ref: table-numeric-ranges907385
-Ref: Computer Arithmetic-Footnote-1908107
-Node: Math Definitions908164
-Ref: table-ieee-formats911478
-Ref: Math Definitions-Footnote-1912081
-Node: MPFR features912186
-Node: FP Math Caution913903
-Ref: FP Math Caution-Footnote-1914975
-Node: Inexactness of computations915344
-Node: Inexact representation916304
-Node: Comparing FP Values917664
-Node: Errors accumulate918746
-Node: Getting Accuracy920179
-Node: Try To Round922889
-Node: Setting precision923788
-Ref: table-predefined-precision-strings924485
-Node: Setting the rounding mode926315
-Ref: table-gawk-rounding-modes926689
-Ref: Setting the rounding mode-Footnote-1930097
-Node: Arbitrary Precision Integers930276
-Ref: Arbitrary Precision Integers-Footnote-1935193
-Node: POSIX Floating Point Problems935342
-Ref: POSIX Floating Point Problems-Footnote-1939224
-Node: Floating point summary939262
-Node: Dynamic Extensions941452
-Node: Extension Intro943005
-Node: Plugin License944271
-Node: Extension Mechanism Outline945068
-Ref: figure-load-extension945507
-Ref: figure-register-new-function947072
-Ref: figure-call-new-function948164
-Node: Extension API Description950226
-Node: Extension API Functions Introduction951868
-Node: General Data Types957179
-Ref: General Data Types-Footnote-1964388
-Node: Memory Allocation Functions964687
-Ref: Memory Allocation Functions-Footnote-1967532
-Node: Constructor Functions967631
-Node: Registration Functions970630
-Node: Extension Functions971315
-Node: Exit Callback Functions976516
-Node: Extension Version String977766
-Node: Input Parsers978429
-Node: Output Wrappers988311
-Node: Two-way processors992823
-Node: Printing Messages995088
-Ref: Printing Messages-Footnote-1996259
-Node: Updating ERRNO996412
-Node: Requesting Values997151
-Ref: table-value-types-returned997888
-Node: Accessing Parameters998824
-Node: Symbol Table Access1000059
-Node: Symbol table by name1000571
-Node: Symbol table by cookie1002360
-Ref: Symbol table by cookie-Footnote-11006545
-Node: Cached values1006609
-Ref: Cached values-Footnote-11010145
-Node: Array Manipulation1010236
-Ref: Array Manipulation-Footnote-11011327
-Node: Array Data Types1011364
-Ref: Array Data Types-Footnote-11014022
-Node: Array Functions1014114
-Node: Flattening Arrays1018509
-Node: Creating Arrays1025450
-Node: Redirection API1030219
-Node: Extension API Variables1033050
-Node: Extension Versioning1033683
-Ref: gawk-api-version1034120
-Node: Extension API Informational Variables1035848
-Node: Extension API Boilerplate1036912
-Node: Changes from API V11040774
-Node: Finding Extensions1041434
-Node: Extension Example1041993
-Node: Internal File Description1042791
-Node: Internal File Ops1046871
-Ref: Internal File Ops-Footnote-11058271
-Node: Using Internal File Ops1058411
-Ref: Using Internal File Ops-Footnote-11060794
-Node: Extension Samples1061068
-Node: Extension Sample File Functions1062597
-Node: Extension Sample Fnmatch1070246
-Node: Extension Sample Fork1071733
-Node: Extension Sample Inplace1072951
-Node: Extension Sample Ord1076161
-Node: Extension Sample Readdir1076997
-Ref: table-readdir-file-types1077886
-Node: Extension Sample Revout1078691
-Node: Extension Sample Rev2way1079280
-Node: Extension Sample Read write array1080020
-Node: Extension Sample Readfile1081962
-Node: Extension Sample Time1083057
-Node: Extension Sample API Tests1084405
-Node: gawkextlib1084897
-Node: Extension summary1087344
-Node: Extension Exercises1091046
-Node: Language History1092544
-Node: V7/SVR3.11094200
-Node: SVR41096352
-Node: POSIX1097786
-Node: BTL1099165
-Node: POSIX/GNU1099894
-Node: Feature History1105756
-Node: Common Extensions1120126
-Node: Ranges and Locales1121409
-Ref: Ranges and Locales-Footnote-11126025
-Ref: Ranges and Locales-Footnote-21126052
-Ref: Ranges and Locales-Footnote-31126287
-Node: Contributors1126508
-Node: History summary1132068
-Node: Installation1133448
-Node: Gawk Distribution1134392
-Node: Getting1134876
-Node: Extracting1135837
-Node: Distribution contents1137475
-Node: Unix Installation1143817
-Node: Quick Installation1144499
-Node: Shell Startup Files1146913
-Node: Additional Configuration Options1147991
-Node: Configuration Philosophy1149796
-Node: Non-Unix Installation1152165
-Node: PC Installation1152625
-Node: PC Binary Installation1153463
-Node: PC Compiling1153898
-Node: PC Using1155015
-Node: Cygwin1158060
-Node: MSYS1158830
-Node: VMS Installation1159331
-Node: VMS Compilation1160122
-Ref: VMS Compilation-Footnote-11161351
-Node: VMS Dynamic Extensions1161409
-Node: VMS Installation Details1163094
-Node: VMS Running1165347
-Node: VMS GNV1169626
-Node: VMS Old Gawk1170361
-Node: Bugs1170832
-Node: Bug address1171495
-Node: Usenet1173892
-Node: Maintainers1174669
-Node: Other Versions1176045
-Node: Installation summary1182629
-Node: Notes1183664
-Node: Compatibility Mode1184529
-Node: Additions1185311
-Node: Accessing The Source1186236
-Node: Adding Code1187671
-Node: New Ports1193889
-Node: Derived Files1198377
-Ref: Derived Files-Footnote-11203862
-Ref: Derived Files-Footnote-21203897
-Ref: Derived Files-Footnote-31204495
-Node: Future Extensions1204609
-Node: Implementation Limitations1205267
-Node: Extension Design1206450
-Node: Old Extension Problems1207604
-Ref: Old Extension Problems-Footnote-11209122
-Node: Extension New Mechanism Goals1209179
-Ref: Extension New Mechanism Goals-Footnote-11212543
-Node: Extension Other Design Decisions1212732
-Node: Extension Future Growth1214845
-Node: Old Extension Mechanism1215681
-Node: Notes summary1217444
-Node: Basic Concepts1218626
-Node: Basic High Level1219307
-Ref: figure-general-flow1219589
-Ref: figure-process-flow1220274
-Ref: Basic High Level-Footnote-11223575
-Node: Basic Data Typing1223760
-Node: Glossary1227088
-Node: Copying1259035
-Node: GNU Free Documentation License1296574
-Node: Index1321692
+Ref: Bitwise Functions-Footnote-1581845
+Ref: Bitwise Functions-Footnote-2582018
+Node: Type Functions582209
+Node: I18N Functions584884
+Node: User-defined586535
+Node: Definition Syntax587340
+Ref: Definition Syntax-Footnote-1593027
+Node: Function Example593098
+Ref: Function Example-Footnote-1596020
+Node: Function Caveats596042
+Node: Calling A Function596560
+Node: Variable Scope597518
+Node: Pass By Value/Reference600512
+Node: Return Statement604011
+Node: Dynamic Typing606990
+Node: Indirect Calls607920
+Ref: Indirect Calls-Footnote-1618171
+Node: Functions Summary618299
+Node: Library Functions621004
+Ref: Library Functions-Footnote-1624611
+Ref: Library Functions-Footnote-2624754
+Node: Library Names624925
+Ref: Library Names-Footnote-1628385
+Ref: Library Names-Footnote-2628608
+Node: General Functions628694
+Node: Strtonum Function629797
+Node: Assert Function632819
+Node: Round Function636145
+Node: Cliff Random Function637686
+Node: Ordinal Functions638702
+Ref: Ordinal Functions-Footnote-1641765
+Ref: Ordinal Functions-Footnote-2642017
+Node: Join Function642227
+Ref: Join Function-Footnote-1643997
+Node: Getlocaltime Function644197
+Node: Readfile Function647939
+Node: Shell Quoting649911
+Node: Data File Management651312
+Node: Filetrans Function651944
+Node: Rewind Function656040
+Node: File Checking657946
+Ref: File Checking-Footnote-1659280
+Node: Empty Files659481
+Node: Ignoring Assigns661460
+Node: Getopt Function663010
+Ref: Getopt Function-Footnote-1674479
+Node: Passwd Functions674679
+Ref: Passwd Functions-Footnote-1683518
+Node: Group Functions683606
+Ref: Group Functions-Footnote-1691504
+Node: Walking Arrays691711
+Node: Library Functions Summary694719
+Node: Library Exercises696125
+Node: Sample Programs696590
+Node: Running Examples697360
+Node: Clones698088
+Node: Cut Program699312
+Node: Egrep Program709241
+Ref: Egrep Program-Footnote-1716753
+Node: Id Program716863
+Node: Split Program720543
+Ref: Split Program-Footnote-1724002
+Node: Tee Program724131
+Node: Uniq Program726921
+Node: Wc Program734347
+Ref: Wc Program-Footnote-1738602
+Node: Miscellaneous Programs738696
+Node: Dupword Program739909
+Node: Alarm Program741939
+Node: Translate Program746794
+Ref: Translate Program-Footnote-1751359
+Node: Labels Program751629
+Ref: Labels Program-Footnote-1754980
+Node: Word Sorting755064
+Node: History Sorting759136
+Node: Extract Program760971
+Node: Simple Sed768500
+Node: Igawk Program771574
+Ref: Igawk Program-Footnote-1785905
+Ref: Igawk Program-Footnote-2786107
+Ref: Igawk Program-Footnote-3786229
+Node: Anagram Program786344
+Node: Signature Program789406
+Node: Programs Summary790653
+Node: Programs Exercises791867
+Ref: Programs Exercises-Footnote-1795996
+Node: Advanced Features796087
+Node: Nondecimal Data798077
+Node: Array Sorting799668
+Node: Controlling Array Traversal800368
+Ref: Controlling Array Traversal-Footnote-1808735
+Node: Array Sorting Functions808853
+Ref: Array Sorting Functions-Footnote-1813944
+Node: Two-way I/O814140
+Ref: Two-way I/O-Footnote-1820691
+Ref: Two-way I/O-Footnote-2820878
+Node: TCP/IP Networking820960
+Node: Profiling824078
+Ref: Profiling-Footnote-1832750
+Node: Advanced Features Summary833073
+Node: Internationalization834917
+Node: I18N and L10N836397
+Node: Explaining gettext837084
+Ref: Explaining gettext-Footnote-1842976
+Ref: Explaining gettext-Footnote-2843161
+Node: Programmer i18n843326
+Ref: Programmer i18n-Footnote-1848275
+Node: Translator i18n848324
+Node: String Extraction849118
+Ref: String Extraction-Footnote-1850250
+Node: Printf Ordering850336
+Ref: Printf Ordering-Footnote-1853122
+Node: I18N Portability853186
+Ref: I18N Portability-Footnote-1855642
+Node: I18N Example855705
+Ref: I18N Example-Footnote-1858511
+Node: Gawk I18N858584
+Node: I18N Summary859229
+Node: Debugger860570
+Node: Debugging861592
+Node: Debugging Concepts862033
+Node: Debugging Terms863842
+Node: Awk Debugging866417
+Node: Sample Debugging Session867323
+Node: Debugger Invocation867857
+Node: Finding The Bug869243
+Node: List of Debugger Commands875721
+Node: Breakpoint Control877054
+Node: Debugger Execution Control880748
+Node: Viewing And Changing Data884110
+Node: Execution Stack887484
+Node: Debugger Info889121
+Node: Miscellaneous Debugger Commands893192
+Node: Readline Support898280
+Node: Limitations899176
+Node: Debugging Summary901285
+Node: Arbitrary Precision Arithmetic902564
+Node: Computer Arithmetic903980
+Ref: table-numeric-ranges907571
+Ref: Computer Arithmetic-Footnote-1908293
+Node: Math Definitions908350
+Ref: table-ieee-formats911664
+Ref: Math Definitions-Footnote-1912267
+Node: MPFR features912372
+Node: FP Math Caution914089
+Ref: FP Math Caution-Footnote-1915161
+Node: Inexactness of computations915530
+Node: Inexact representation916490
+Node: Comparing FP Values917850
+Node: Errors accumulate918932
+Node: Getting Accuracy920365
+Node: Try To Round923075
+Node: Setting precision923974
+Ref: table-predefined-precision-strings924671
+Node: Setting the rounding mode926501
+Ref: table-gawk-rounding-modes926875
+Ref: Setting the rounding mode-Footnote-1930283
+Node: Arbitrary Precision Integers930462
+Ref: Arbitrary Precision Integers-Footnote-1935379
+Node: POSIX Floating Point Problems935528
+Ref: POSIX Floating Point Problems-Footnote-1939410
+Node: Floating point summary939448
+Node: Dynamic Extensions941638
+Node: Extension Intro943191
+Node: Plugin License944457
+Node: Extension Mechanism Outline945254
+Ref: figure-load-extension945693
+Ref: figure-register-new-function947258
+Ref: figure-call-new-function948350
+Node: Extension API Description950412
+Node: Extension API Functions Introduction952054
+Node: General Data Types957388
+Ref: General Data Types-Footnote-1964593
+Node: Memory Allocation Functions964892
+Ref: Memory Allocation Functions-Footnote-1967737
+Node: Constructor Functions967836
+Node: Registration Functions970835
+Node: Extension Functions971520
+Node: Exit Callback Functions976733
+Node: Extension Version String977983
+Node: Input Parsers978646
+Node: Output Wrappers988528
+Node: Two-way processors993040
+Node: Printing Messages995305
+Ref: Printing Messages-Footnote-1996476
+Node: Updating ERRNO996629
+Node: Requesting Values997368
+Ref: table-value-types-returned998105
+Node: Accessing Parameters999041
+Node: Symbol Table Access1000276
+Node: Symbol table by name1000788
+Node: Symbol table by cookie1002577
+Ref: Symbol table by cookie-Footnote-11006762
+Node: Cached values1006826
+Ref: Cached values-Footnote-11010362
+Node: Array Manipulation1010453
+Ref: Array Manipulation-Footnote-11011544
+Node: Array Data Types1011581
+Ref: Array Data Types-Footnote-11014239
+Node: Array Functions1014331
+Node: Flattening Arrays1018730
+Node: Creating Arrays1025671
+Node: Redirection API1030440
+Node: Extension API Variables1033282
+Node: Extension Versioning1033915
+Ref: gawk-api-version1034352
+Node: Extension API Informational Variables1036080
+Node: Extension API Boilerplate1037144
+Node: Changes from API V11041006
+Node: Finding Extensions1041666
+Node: Extension Example1042225
+Node: Internal File Description1043023
+Node: Internal File Ops1047103
+Ref: Internal File Ops-Footnote-11058503
+Node: Using Internal File Ops1058643
+Ref: Using Internal File Ops-Footnote-11061026
+Node: Extension Samples1061300
+Node: Extension Sample File Functions1062829
+Node: Extension Sample Fnmatch1070478
+Node: Extension Sample Fork1071965
+Node: Extension Sample Inplace1073183
+Node: Extension Sample Ord1076393
+Node: Extension Sample Readdir1077229
+Ref: table-readdir-file-types1078118
+Node: Extension Sample Revout1078923
+Node: Extension Sample Rev2way1079512
+Node: Extension Sample Read write array1080252
+Node: Extension Sample Readfile1082194
+Node: Extension Sample Time1083289
+Node: Extension Sample API Tests1084637
+Node: gawkextlib1085129
+Node: Extension summary1087576
+Node: Extension Exercises1091278
+Node: Language History1092776
+Node: V7/SVR3.11094432
+Node: SVR41096584
+Node: POSIX1098018
+Node: BTL1099397
+Node: POSIX/GNU1100126
+Node: Feature History1106018
+Node: Common Extensions1120388
+Node: Ranges and Locales1121671
+Ref: Ranges and Locales-Footnote-11126287
+Ref: Ranges and Locales-Footnote-21126314
+Ref: Ranges and Locales-Footnote-31126549
+Node: Contributors1126770
+Node: History summary1132330
+Node: Installation1133710
+Node: Gawk Distribution1134654
+Node: Getting1135138
+Node: Extracting1136099
+Node: Distribution contents1137737
+Node: Unix Installation1144079
+Node: Quick Installation1144761
+Node: Shell Startup Files1147175
+Node: Additional Configuration Options1148264
+Node: Configuration Philosophy1150069
+Node: Non-Unix Installation1152438
+Node: PC Installation1152898
+Node: PC Binary Installation1153736
+Node: PC Compiling1154171
+Node: PC Using1155288
+Node: Cygwin1158333
+Node: MSYS1159103
+Node: VMS Installation1159604
+Node: VMS Compilation1160395
+Ref: VMS Compilation-Footnote-11161624
+Node: VMS Dynamic Extensions1161682
+Node: VMS Installation Details1163367
+Node: VMS Running1165620
+Node: VMS GNV1169899
+Node: VMS Old Gawk1170634
+Node: Bugs1171105
+Node: Bug address1171768
+Node: Usenet1174165
+Node: Maintainers1174942
+Node: Other Versions1176318
+Node: Installation summary1182902
+Node: Notes1183937
+Node: Compatibility Mode1184802
+Node: Additions1185584
+Node: Accessing The Source1186509
+Node: Adding Code1187944
+Node: New Ports1194162
+Node: Derived Files1198650
+Ref: Derived Files-Footnote-11204135
+Ref: Derived Files-Footnote-21204170
+Ref: Derived Files-Footnote-31204768
+Node: Future Extensions1204882
+Node: Implementation Limitations1205540
+Node: Extension Design1206723
+Node: Old Extension Problems1207877
+Ref: Old Extension Problems-Footnote-11209395
+Node: Extension New Mechanism Goals1209452
+Ref: Extension New Mechanism Goals-Footnote-11212816
+Node: Extension Other Design Decisions1213005
+Node: Extension Future Growth1215118
+Node: Old Extension Mechanism1215954
+Node: Notes summary1217717
+Node: Basic Concepts1218899
+Node: Basic High Level1219580
+Ref: figure-general-flow1219862
+Ref: figure-process-flow1220547
+Ref: Basic High Level-Footnote-11223848
+Node: Basic Data Typing1224033
+Node: Glossary1227361
+Node: Copying1259308
+Node: GNU Free Documentation License1296847
+Node: Index1321965
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 01bc1a5..a7f7302 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -10441,10 +10441,10 @@ a system problem closing the file or process.
 In these cases, @command{gawk} sets the predefined variable
 @code{ERRNO} to a string describing the problem.
 
-In @command{gawk}, starting with version 4.2, when closing a pipe or
+In @command{gawk}, starting with @value{PVERSION} 4.2, when closing a pipe or
 coprocess (input or output), the return value is the exit status of the
 command, as described in @address@hidden
-to version 4.2, the return value from closing a pipe or co-process
+to @value{PVERSION} 4.2, the return value from closing a pipe or co-process
 was the full 16-bit exit value as defined by the @code{wait()} system
 call.} Otherwise, it is the return value from the system's @code{close()}
 or @code{fclose()} C functions when closing input or output files,
@@ -10507,10 +10507,10 @@ a system problem closing the file or process.
 In these cases, @command{gawk} sets the predefined variable
 @code{ERRNO} to a string describing the problem.
 
-In @command{gawk}, starting with version 4.2, when closing a pipe or
+In @command{gawk}, starting with @value{PVERSION} 4.2, when closing a pipe or
 coprocess (input or output), the return value is the exit status of the
 command, as described in @address@hidden
-to version 4.2, the return value from closing a pipe or co-process
+to @value{PVERSION} 4.2, the return value from closing a pipe or co-process
 was the full 16-bit exit value as defined by the @code{wait()} system
 call.} Otherwise, it is the return value from the system's @code{close()}
 or @code{fclose()} C functions when closing input or output files,
@@ -15183,7 +15183,7 @@ For POSIX @command{awk}, changing this array does not 
affect the
 environment passed on to any programs that @command{awk} may spawn via
 redirection or the @code{system()} function.
 
-However, beginning with version 4.2, if not in POSIX
+However, beginning with @value{PVERSION} 4.2, if not in POSIX
 compatibility mode, @command{gawk} does update its own environment when
 @code{ENVIRON} is changed, thus changing the environment seen by programs
 that it creates.  You should therefore be especially careful if you
@@ -19561,7 +19561,7 @@ Return the bitwise XOR of the arguments. There must be 
at least two.
 @end table
 
 @quotation CAUTION
-Beginning with @command{gawk} @value{VERSION} 4.2, negative
+Beginning with @command{gawk} @value{PVERSION} 4.2, negative
 operands are not allowed for any of these functions. A negative
 operand produces a fatal error.  See the sidebar
 ``Beware The Smoke and Mirrors!'' for more information as to why.
@@ -19720,7 +19720,7 @@ When using the @option{-M} option, under the hood, 
@command{gawk} uses
 GNU MP arbitrary precision integers which have at least 64 bits of precision.
 When not using @option{-M}, @command{gawk} stores integral values in
 regular double-precision floating point, which only maintain 53 bits of
-precision.  Furthermore, the GNU MP library treats (or least seems to treat)
+precision.  Furthermore, the GNU MP library treats (or at least seems to treat)
 the leading bit as a sign bit; thus the result with @option{-M} in this case is
 a negative number.
 
@@ -19782,7 +19782,7 @@ When using the @option{-M} option, under the hood, 
@command{gawk} uses
 GNU MP arbitrary precision integers which have at least 64 bits of precision.
 When not using @option{-M}, @command{gawk} stores integral values in
 regular double-precision floating point, which only maintain 53 bits of
-precision.  Furthermore, the GNU MP library treats (or least seems to treat)
+precision.  Furthermore, the GNU MP library treats (or at least seems to treat)
 the leading bit as a sign bit; thus the result with @option{-M} in this case is
 a negative number.
 
@@ -19795,7 +19795,7 @@ operations is probably a bad idea; caveat emptor!
 @node Type Functions
 @subsection Getting Type Information
 
address@hidden provides two functions that lets you distinguish
address@hidden provides two functions that let you distinguish
 the type of a variable.
 This is necessary for writing code
 that traverses every element of an array of arrays
@@ -28151,7 +28151,7 @@ pipe which has been closed, and it is also a fatal 
error to read
 from the @code{"from"} end of a two-way pipe that has been closed.
 
 You may set @code{PROCINFO["@var{command}", "NONFATAL"]} to
-make such operations become nonfatal, in which case you then need
+make such operations become nonfatal. If you do so, you then need
 to check @code{ERRNO} after each @code{print}, @code{printf},
 or @code{getline}.
 @xref{Nonfatal}, for more information.
@@ -28661,6 +28661,10 @@ Because the internal representation of your program is 
formatted to
 recreate an @command{awk} program, profiling and pretty-printing
 automatically disable @command{gawk}'s default optimizations.
 
+Pretty printing also preserves the original format of numeric
+constants; if you used an octal or hexadecimal value in your source
+code, it will appear that way in the output.
+
 @node Advanced Features Summary
 @section Summary
 
@@ -32477,11 +32481,11 @@ and output from files.
 @quotation NOTE
 String values passed to an extension by @command{gawk} are always
 @sc{nul}-terminated.  Thus it is safe to pass such string values to
-standard library and system routines. However, because
address@hidden allows embedded @sc{nul} characters in string data,
-you should check that @samp{strlen(@var{some_string})} matches
-the length for that string passed to the extension before using
-it as a regular C string.
+standard library and system routines. However, because @command{gawk}
+allows embedded @sc{nul} characters in string data, before using the data
+as a regular C string, you should check that the length for that string
+passed to the extension matches the return value of @code{strlen()}
+for it.
 @end quotation
 
 @item
@@ -32626,7 +32630,7 @@ as user input. Subsequent parsing by @command{gawk} 
then determines whether it
 looks like a number and should be treated as a strnum, or as a regular string.
 
 This is useful in cases where an extension function would like to do something
-comparable to the @code{split()} function which sets the user input attribute
+comparable to the @code{split()} function which sets the strnum attribute
 on the array elements it creates.  For example, an extension that implements
 CSV splitting would want to use this feature. This is also useful for a
 function that retrieves a data item from a database. The PostgreSQL
@@ -32825,10 +32829,10 @@ This function creates a strongly typed regexp value 
by allocating a copy of the
 
 @item static inline awk_value_t *
 @itemx make_malloced_regex(const char *string, size_t length, awk_value_t 
*result);
-This function creates a strongly typed regexp value.
address@hidden is the regular expression of length @code{len}.
-It expects @code{string} to be a @samp{char *}
-value pointing to data previously obtained from @code{gawk_malloc()}, 
@code{gawk_calloc()}, or @code{gawk_realloc()}.
+This function creates a strongly typed regexp value.  @code{string} is
+the regular expression of length @code{len}.  It expects @code{string}
+to be a @samp{char *} value pointing to data previously obtained from
address@hidden()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
 
 @end table
 
@@ -32886,9 +32890,8 @@ Letter case in function names is significant.
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ struct 
awk_ext_func *finfo);
 This is a pointer to the C function that provides the extension's
 functionality.
-The function must fill in @code{*result} with either a number
-or a string.
address@hidden FIXME: Change to a scalar - number, string or regex once regex 
api stuff is merged.
+The function must fill in @code{*result} with either a number,
+a string, or a regexp.
 @command{gawk} takes ownership of any string memory.
 As mentioned earlier, string memory @emph{must} come from one of
 @code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
@@ -33514,9 +33517,7 @@ value type, as appropriate.  This behavior is 
summarized in
 
 @float Table,table-value-types-returned
 @caption{API value types returned}
address@hidden FIXME: This needs doing.
 @docbook
-<!-- FIXME: Column widths need adjusting -->
 <informaltable>
 <tgroup cols="8">
   <colspec colname="c1"/>
@@ -34140,7 +34141,7 @@ For the array represented by @code{a_cookie}, create an 
@code{awk_flat_array_t}
 structure and fill it in with @code{AWK_STRING} indices and
 @code{AWK_UNDEFINED} values.
 This is superseded by @code{flatten_array_typed()}.
-It is provided as a macro, and remains convenience and for source code
+It is provided as a macro, and remains for convenience and for source code
 compatibility with the previous version of the API.
 
 @item awk_bool_t release_flattened_array(awk_array_t a_cookie,
@@ -34563,7 +34564,7 @@ The following function allows extensions to access and 
manipulate redirections.
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ int fd,
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ const awk_input_buf_t **ibufp,
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ const awk_output_buf_t **obufp);
-Look up a file in @command{gawk}'s internal redirection table.
+Look up file @code{name} in @command{gawk}'s internal redirection table.
 If @code{name} is @code{NULL} or @code{name_len} is zero, return
 data for the currently open input file corresponding to @code{FILENAME}.
 (This does not access the @code{filetype} argument, so that may be undefined). 
 
@@ -34590,8 +34591,8 @@ A pipe opened for input.
 A two-way coprocess.
 @end table
 
-On error, return a @code{false} value.  Otherwise, return
address@hidden, and return additional information about the redirection
+On error, return an @code{awk_false} value.  Otherwise, return
address@hidden, and return additional information about the redirection
 in the @code{ibufp} and @code{obufp} pointers.  For input
 redirections, the @code{*ibufp} value should be address@hidden,
 and @code{*obufp} should be @code{NULL}.  For output redirections,
@@ -34601,9 +34602,9 @@ be address@hidden
 
 In the usual case, the extension is interested in @code{(*ibufp)->fd}
 and/or @code{fileno((*obufp)->fp)}.  If the file is not already
-open, and the @code{fd} argument is non-negative, @command{gawk}
+open, and the @code{fd} argument is nonnegative, @command{gawk}
 will use that file descriptor instead of opening the file in the
-usual way.  If @code{fd} is non-negative, but the file exists already,
+usual way.  If @code{fd} is nonnegative, but the file exists already,
 @command{gawk} ignores @code{fd} and returns the existing file.  It is
 the caller's responsibility to notice that neither the @code{fd} in
 the returned @code{awk_input_buf_t} nor the @code{fd} in the returned
@@ -37063,6 +37064,9 @@ for @command{gawk} @value{PVERSION} 4.2:
 @itemize @value{MINUS}
 @item
 MirBSD
+
address@hidden
+GNU/Linux on Alpha
 @end itemize
 
 @end itemize
@@ -38584,9 +38588,9 @@ to have been set up previously as a user who is allowed 
to run the
 @appendixsubsec Shell Startup Files
 
 The distribution contains shell startup files @file{gawk.sh} and
address@hidden containing functions to aid in manipulating
address@hidden, containing functions to aid in manipulating
 the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
-On a Fedora system, these files should be installed in @file{/etc/profile.d};
+On a Fedora GNU/Linux system, these files should be installed in 
@file{/etc/profile.d};
 on other platforms, the appropriate location may be different.
 
 @table @command
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 9e6ce8d..b65c1b4 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -9995,10 +9995,10 @@ a system problem closing the file or process.
 In these cases, @command{gawk} sets the predefined variable
 @code{ERRNO} to a string describing the problem.
 
-In @command{gawk}, starting with version 4.2, when closing a pipe or
+In @command{gawk}, starting with @value{PVERSION} 4.2, when closing a pipe or
 coprocess (input or output), the return value is the exit status of the
 command, as described in @address@hidden
-to version 4.2, the return value from closing a pipe or co-process
+to @value{PVERSION} 4.2, the return value from closing a pipe or co-process
 was the full 16-bit exit value as defined by the @code{wait()} system
 call.} Otherwise, it is the return value from the system's @code{close()}
 or @code{fclose()} C functions when closing input or output files,
@@ -14502,7 +14502,7 @@ For POSIX @command{awk}, changing this array does not 
affect the
 environment passed on to any programs that @command{awk} may spawn via
 redirection or the @code{system()} function.
 
-However, beginning with version 4.2, if not in POSIX
+However, beginning with @value{PVERSION} 4.2, if not in POSIX
 compatibility mode, @command{gawk} does update its own environment when
 @code{ENVIRON} is changed, thus changing the environment seen by programs
 that it creates.  You should therefore be especially careful if you
@@ -18673,7 +18673,7 @@ Return the bitwise XOR of the arguments. There must be 
at least two.
 @end table
 
 @quotation CAUTION
-Beginning with @command{gawk} @value{VERSION} 4.2, negative
+Beginning with @command{gawk} @value{PVERSION} 4.2, negative
 operands are not allowed for any of these functions. A negative
 operand produces a fatal error.  See the sidebar
 ``Beware The Smoke and Mirrors!'' for more information as to why.
@@ -18827,7 +18827,7 @@ When using the @option{-M} option, under the hood, 
@command{gawk} uses
 GNU MP arbitrary precision integers which have at least 64 bits of precision.
 When not using @option{-M}, @command{gawk} stores integral values in
 regular double-precision floating point, which only maintain 53 bits of
-precision.  Furthermore, the GNU MP library treats (or least seems to treat)
+precision.  Furthermore, the GNU MP library treats (or at least seems to treat)
 the leading bit as a sign bit; thus the result with @option{-M} in this case is
 a negative number.
 
@@ -18839,7 +18839,7 @@ operations is probably a bad idea; caveat emptor!
 @node Type Functions
 @subsection Getting Type Information
 
address@hidden provides two functions that lets you distinguish
address@hidden provides two functions that let you distinguish
 the type of a variable.
 This is necessary for writing code
 that traverses every element of an array of arrays
@@ -27165,7 +27165,7 @@ pipe which has been closed, and it is also a fatal 
error to read
 from the @code{"from"} end of a two-way pipe that has been closed.
 
 You may set @code{PROCINFO["@var{command}", "NONFATAL"]} to
-make such operations become nonfatal, in which case you then need
+make such operations become nonfatal. If you do so, you then need
 to check @code{ERRNO} after each @code{print}, @code{printf},
 or @code{getline}.
 @xref{Nonfatal}, for more information.
@@ -27675,6 +27675,10 @@ Because the internal representation of your program is 
formatted to
 recreate an @command{awk} program, profiling and pretty-printing
 automatically disable @command{gawk}'s default optimizations.
 
+Pretty printing also preserves the original format of numeric
+constants; if you used an octal or hexadecimal value in your source
+code, it will appear that way in the output.
+
 @node Advanced Features Summary
 @section Summary
 
@@ -31491,11 +31495,11 @@ and output from files.
 @quotation NOTE
 String values passed to an extension by @command{gawk} are always
 @sc{nul}-terminated.  Thus it is safe to pass such string values to
-standard library and system routines. However, because
address@hidden allows embedded @sc{nul} characters in string data,
-you should check that @samp{strlen(@var{some_string})} matches
-the length for that string passed to the extension before using
-it as a regular C string.
+standard library and system routines. However, because @command{gawk}
+allows embedded @sc{nul} characters in string data, before using the data
+as a regular C string, you should check that the length for that string
+passed to the extension matches the return value of @code{strlen()}
+for it.
 @end quotation
 
 @item
@@ -31640,7 +31644,7 @@ as user input. Subsequent parsing by @command{gawk} 
then determines whether it
 looks like a number and should be treated as a strnum, or as a regular string.
 
 This is useful in cases where an extension function would like to do something
-comparable to the @code{split()} function which sets the user input attribute
+comparable to the @code{split()} function which sets the strnum attribute
 on the array elements it creates.  For example, an extension that implements
 CSV splitting would want to use this feature. This is also useful for a
 function that retrieves a data item from a database. The PostgreSQL
@@ -31839,10 +31843,10 @@ This function creates a strongly typed regexp value 
by allocating a copy of the
 
 @item static inline awk_value_t *
 @itemx make_malloced_regex(const char *string, size_t length, awk_value_t 
*result);
-This function creates a strongly typed regexp value.
address@hidden is the regular expression of length @code{len}.
-It expects @code{string} to be a @samp{char *}
-value pointing to data previously obtained from @code{gawk_malloc()}, 
@code{gawk_calloc()}, or @code{gawk_realloc()}.
+This function creates a strongly typed regexp value.  @code{string} is
+the regular expression of length @code{len}.  It expects @code{string}
+to be a @samp{char *} value pointing to data previously obtained from
address@hidden()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
 
 @end table
 
@@ -31900,9 +31904,8 @@ Letter case in function names is significant.
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ struct 
awk_ext_func *finfo);
 This is a pointer to the C function that provides the extension's
 functionality.
-The function must fill in @code{*result} with either a number
-or a string.
address@hidden FIXME: Change to a scalar - number, string or regex once regex 
api stuff is merged.
+The function must fill in @code{*result} with either a number,
+a string, or a regexp.
 @command{gawk} takes ownership of any string memory.
 As mentioned earlier, string memory @emph{must} come from one of
 @code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
@@ -32528,9 +32531,7 @@ value type, as appropriate.  This behavior is 
summarized in
 
 @float Table,table-value-types-returned
 @caption{API value types returned}
address@hidden FIXME: This needs doing.
 @docbook
-<!-- FIXME: Column widths need adjusting -->
 <informaltable>
 <tgroup cols="8">
   <colspec colname="c1"/>
@@ -33154,7 +33155,7 @@ For the array represented by @code{a_cookie}, create an 
@code{awk_flat_array_t}
 structure and fill it in with @code{AWK_STRING} indices and
 @code{AWK_UNDEFINED} values.
 This is superseded by @code{flatten_array_typed()}.
-It is provided as a macro, and remains convenience and for source code
+It is provided as a macro, and remains for convenience and for source code
 compatibility with the previous version of the API.
 
 @item awk_bool_t release_flattened_array(awk_array_t a_cookie,
@@ -33577,7 +33578,7 @@ The following function allows extensions to access and 
manipulate redirections.
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ int fd,
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ const awk_input_buf_t **ibufp,
 @itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ const awk_output_buf_t **obufp);
-Look up a file in @command{gawk}'s internal redirection table.
+Look up file @code{name} in @command{gawk}'s internal redirection table.
 If @code{name} is @code{NULL} or @code{name_len} is zero, return
 data for the currently open input file corresponding to @code{FILENAME}.
 (This does not access the @code{filetype} argument, so that may be undefined). 
 
@@ -33604,8 +33605,8 @@ A pipe opened for input.
 A two-way coprocess.
 @end table
 
-On error, return a @code{false} value.  Otherwise, return
address@hidden, and return additional information about the redirection
+On error, return an @code{awk_false} value.  Otherwise, return
address@hidden, and return additional information about the redirection
 in the @code{ibufp} and @code{obufp} pointers.  For input
 redirections, the @code{*ibufp} value should be address@hidden,
 and @code{*obufp} should be @code{NULL}.  For output redirections,
@@ -33615,9 +33616,9 @@ be address@hidden
 
 In the usual case, the extension is interested in @code{(*ibufp)->fd}
 and/or @code{fileno((*obufp)->fp)}.  If the file is not already
-open, and the @code{fd} argument is non-negative, @command{gawk}
+open, and the @code{fd} argument is nonnegative, @command{gawk}
 will use that file descriptor instead of opening the file in the
-usual way.  If @code{fd} is non-negative, but the file exists already,
+usual way.  If @code{fd} is nonnegative, but the file exists already,
 @command{gawk} ignores @code{fd} and returns the existing file.  It is
 the caller's responsibility to notice that neither the @code{fd} in
 the returned @code{awk_input_buf_t} nor the @code{fd} in the returned
@@ -36077,6 +36078,9 @@ for @command{gawk} @value{PVERSION} 4.2:
 @itemize @value{MINUS}
 @item
 MirBSD
+
address@hidden
+GNU/Linux on Alpha
 @end itemize
 
 @end itemize
@@ -37598,9 +37602,9 @@ to have been set up previously as a user who is allowed 
to run the
 @appendixsubsec Shell Startup Files
 
 The distribution contains shell startup files @file{gawk.sh} and
address@hidden containing functions to aid in manipulating
address@hidden, containing functions to aid in manipulating
 the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
-On a Fedora system, these files should be installed in @file{/etc/profile.d};
+On a Fedora GNU/Linux system, these files should be installed in 
@file{/etc/profile.d};
 on other platforms, the appropriate location may be different.
 
 @table @command

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

Summary of changes:
 doc/ChangeLog   |   9 +
 doc/gawk.info   | 690 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |  71 +++---
 doc/gawktexi.in |  65 +++---
 hardregex.txt   |  24 --
 5 files changed, 430 insertions(+), 429 deletions(-)
 delete mode 100644 hardregex.txt


hooks/post-receive
-- 
gawk



reply via email to

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