gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, new-vms, updated. gawk-4.1.0-129-gb75490


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, new-vms, updated. gawk-4.1.0-129-gb754902
Date: Mon, 16 Dec 2013 20:23:55 +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, new-vms has been updated
       via  b754902e81384e9c66d022f31d01ed8de3b2ad4d (commit)
      from  07296693d0b748f6e6040f988099177d877f1229 (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=b754902e81384e9c66d022f31d01ed8de3b2ad4d

commit b754902e81384e9c66d022f31d01ed8de3b2ad4d
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Dec 16 22:23:09 2013 +0200

    Further updates, mainly doc.

diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index 5068111..beaf198 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,5 +1,10 @@
+2013-12-16        John E. Malmberg     <address@hidden>
+
+       * README.VMS: Further updates.
+
 2013-12-05        John E. Malmberg     <address@hidden>
-       * readme.vms: updated with current build information.
+
+       * README.VMS: updated with current build information.
 
 2013-07-02         Arnold D. Robbins     <address@hidden>
 
diff --git a/README_d/README.VMS b/README_d/README.VMS
index 84bfe2f..2bf8e86 100644
--- a/README_d/README.VMS
+++ b/README_d/README.VMS
@@ -37,6 +37,38 @@ Most recent builds are using:
 GAWK was originally ported for VMS V4.6 and up.  It has not been tested
 with a release that old for some time.
 
+Compiling dynamic extensions on VMS:
+
+Dynamic extensions need to be compiled with the same compiler options for
+floating point, pointer size, and symbol name handling as gawk.
+Alpha and Itanium should use IEEE floating point.  The pointer size is 32 bits,
+and the symbol name handling is to be exact case with CRC shortening for
+symbols longer than 32 bits.
+
+Alpha and Itanium:
+
+/name=(as_is,short)
+/float=ieee/ieee_mode=denorm_results
+
+VAX:
+
+/name=(as_is,short)
+
+Compile time macros needed to be defined before the first VMS supplied
+header file is included.
+
+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
+#define _LARGEFILE 1
+#endif
+
+#ifndef __VAX
+#ifdef __CRTL_VER
+#if __CRTL_VER >= 80200000
+#define _USE_STD_STAT 1
+#endif
+#endif
+#endif
+
 
 Installing GAWK on VMS:
 
@@ -48,6 +80,10 @@ That symbol should be placed in the user's login.com or in 
the system-
 wide sylogin.com procedure so that it will be defined every time the
 user logs on.
 
+If your gawk was installed by a PCSI kit into the GNV$GNU: directory tree,
+the program will be known as GNV$GNU:[bin]gnv$gawk.exe and the help file
+will be GNV$GNU:[vms_help]gawk.hlp.
+
      Optionally, the help entry can be loaded into a VMS help library.
  |$ LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP
 (You may want to substitute a site-specific help library rather than
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9b77b10..ad7c52a 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-16        John E. Malmberg     <address@hidden>
+
+       * gawktexi.in: Updates to VMS sections.
+
 2013-12-12         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Fix the presentation of asort() and asorti().
diff --git a/doc/gawk.info b/doc/gawk.info
index 42228ca..bc80723 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -614,9 +614,12 @@ texts being (a) (see below), and with the Back-Cover Texts 
being (b)
 * VMS Installation::                    Installing `gawk' on VMS.
 * VMS Compilation::                     How to compile `gawk' under
                                         VMS.
+* VMS Dynamic Extensions::              Compiling `gawk' dynamic
+                                        extensions on VMS.
 * VMS Installation Details::            How to install `gawk' under
                                         VMS.
 * VMS Running::                         How to run `gawk' under VMS.
+* VMS GNV::                             The VMS GNV Project.
 * VMS Old Gawk::                        An old version comes with some VMS
                                         systems.
 * Bugs::                                Reporting Problems and Bugs.
@@ -10735,7 +10738,7 @@ File: gawk.info,  Node: Multidimensional,  Next: Arrays 
of Arrays,  Prev: Uninit
 
 * Menu:
 
-* Multiscanning::              Scanning multidimensional arrays.
+* Multiscanning::               Scanning multidimensional arrays.
 
    A multidimensional array is an array in which an element is
 identified by a sequence of indices instead of a single index.  For
@@ -25204,6 +25207,8 @@ the current version of `gawk'.
 
         - Prestandard VAX C compiler for VAX/VMS
 
+        - GCC for VAX and Alpha has not been tested for a while.
+
 
 
 
@@ -26229,51 +26234,106 @@ older designation "VMS" is used throughout to refer 
to OpenVMS.
 * Menu:
 
 * VMS Compilation::             How to compile `gawk' under VMS.
+* VMS Dynamic Extensions::      Compiling `gawk' dynamic extensions on
+                                VMS.
 * VMS Installation Details::    How to install `gawk' under VMS.
 * VMS Running::                 How to run `gawk' under VMS.
+* VMS GNV::                     The VMS GNV Project.
 * VMS Old Gawk::                An old version comes with some VMS systems.
 
 
-File: gawk.info,  Node: VMS Compilation,  Next: VMS Installation Details,  Up: 
VMS Installation
+File: gawk.info,  Node: VMS Compilation,  Next: VMS Dynamic Extensions,  Up: 
VMS Installation
 
 B.3.2.1 Compiling `gawk' on VMS
 ...............................
 
 To compile `gawk' under VMS, there is a `DCL' command procedure that
 issues all the necessary `CC' and `LINK' commands. There is also a
-`Makefile' for use with the `MMS' utility.  From the source directory,
-use either:
+`Makefile' for use with the `MMS' or `MMK' utility.  From the source
+directory, use either:
+
+     $ @[.vms]vmsbuild.com
+
+or:
 
-     $ @[.VMS]VMSBUILD.COM
+     $ MMS/DESCRIPTION=[.vms]descrip.mms gawk
 
 or:
 
-     $ MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK
+     $ MMK/DESCRIPTION=[.vms]descrip.mms gawk
+
+   `MMK' is an open source freeware near clone of `MMS' and can better
+handle `ODS-5' volumes with upper- and lower-case filenames.  `MMK' is
+available from `https://github.com/endlesssoftware/mmk'.
+
+   With `ODS-5' volumes and extended parsing enabled, the case of the
+target parameter may need to be exact.
 
    Older versions of `gawk' could be built with VAX C or GNU C on
 VAX/VMS, as well as with DEC C, but that is no longer supported.  DEC C
 (also briefly known as "Compaq C" and now known as "HP C," but referred
-to here as "DEC C") is required.  Both `VMSBUILD.COM' and `DESCRIP.MMS'
+to here as "DEC C") is required.  Both `vmsbuild.com' and `descrip.mms'
 contain some obsolete support for the older compilers but are set up to
 use DEC C by default.
 
-   `gawk' has been tested under Alpha/VMS 7.3-1 using Compaq C V6.4,
-and on Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.(1)
+   `gawk' has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1 using
+Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
+The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both Alpha
+and IA64 VMS 8.4 used HP C 7.3.(1)
+
+   Work is currently being done for a procedure to build `gawk' and
+create a PCSI kit for compatible with the GNV product.
 
    ---------- Footnotes ----------
 
    (1) The IA64 architecture is also known as "Itanium."
 
 
-File: gawk.info,  Node: VMS Installation Details,  Next: VMS Running,  Prev: 
VMS Compilation,  Up: VMS Installation
+File: gawk.info,  Node: VMS Dynamic Extensions,  Next: VMS Installation 
Details,  Prev: VMS Compilation,  Up: VMS Installation
+
+B.3.2.2 Compiling `gawk' Dynamic Extensions on VMS
+..................................................
+
+Dynamic extensions need to be compiled with the same compiler options
+for floating point, pointer size, and symbol name handling as `gawk'.
+Alpha and Itanium should use IEEE floating point.  The pointer size is
+32 bits, and the symbol name handling is to be exact case with CRC
+shortening for symbols longer than 32 bits.
+
+   For Alpha and Itanium:
+
+     /name=(as_is,short)
+     /float=ieee/ieee_mode=denorm_results
+
+   For VAX:
+
+     /name=(as_is,short)
+
+   Compile time macros need to be defined before the first VMS-supplied
+header file is included.
+
+     #if (__CRTL_VER >= 70200000) && !defined (__VAX)
+     #define _LARGEFILE 1
+     #endif
+
+     #ifndef __VAX
+     #ifdef __CRTL_VER
+     #if __CRTL_VER >= 80200000
+     #define _USE_STD_STAT 1
+     #endif
+     #endif
+     #endif
+
+
+File: gawk.info,  Node: VMS Installation Details,  Next: VMS Running,  Prev: 
VMS Dynamic Extensions,  Up: VMS Installation
 
-B.3.2.2 Installing `gawk' on VMS
+B.3.2.3 Installing `gawk' on VMS
 ................................
 
-To install `gawk', all you need is a "foreign" command, which is a
-`DCL' symbol whose value begins with a dollar sign. For example:
+To use `gawk', all you need is a "foreign" command, which is a `DCL'
+symbol whose value begins with a dollar sign. For example:
 
-     $ GAWK :== $disk1:[gnubin]GAWK
+     $ GAWK :== $disk1:[gnubin]gawk
 
 Substitute the actual location of `gawk.exe' for `$disk1:[gnubin]'. The
 symbol should be placed in the `login.com' of any user who wants to run
@@ -26281,9 +26341,14 @@ symbol should be placed in the `login.com' of any user 
who wants to run
 Alternatively, the symbol may be placed in the system-wide
 `sylogin.com' procedure, which allows all users to run `gawk'.
 
+   If your `gawk' was installed by a PCSI kit into the `GNV$GNU:'
+directory tree, the program will be known as
+`GNV$GNU:[bin]gnv$gawk.exe' and the help file will be
+`GNV$GNU:[vms_help]gawk.hlp'.
+
    Optionally, the help entry can be loaded into a VMS help library:
 
-     $ LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP
+     $ LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp
 
 (You may want to substitute a site-specific help library rather than
 the standard VMS library `HELPLIB'.)  After loading the help text, the
@@ -26305,9 +26370,9 @@ If `AWK_LIBRARY' has no definition, a default value of 
`SYS$LIBRARY:'
 is used for it.
 
 
-File: gawk.info,  Node: VMS Running,  Next: VMS Old Gawk,  Prev: VMS 
Installation Details,  Up: VMS Installation
+File: gawk.info,  Node: VMS Running,  Next: VMS GNV,  Prev: VMS Installation 
Details,  Up: VMS Installation
 
-B.3.2.3 Running `gawk' on VMS
+B.3.2.4 Running `gawk' on VMS
 .............................
 
 Command-line parsing and quoting conventions are significantly different
@@ -26341,9 +26406,25 @@ When defining it, the value should be quoted so that 
it retains a single
 translation and not a multitranslation `RMS' searchlist.
 
 
-File: gawk.info,  Node: VMS Old Gawk,  Prev: VMS Running,  Up: VMS Installation
+File: gawk.info,  Node: VMS GNV,  Next: VMS Old Gawk,  Prev: VMS Running,  Up: 
VMS Installation
+
+B.3.2.5 The VMS GNV Project
+...........................
+
+The VMS GNV package provides a build environment similar to POSIX with
+ports of a collection of open source tools.  The `gawk' found in the GNV
+base kit is an older port.  Currently the GNV project is being
+reorganized to be individual PCSI packages for each component.  See
+`https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'.
+
+   The normal build procedure for `gawk' produces a program that is
+suitable for use with GNV.  At this time work is being done to create
+the procedures for building a PCSI kit to replace the older `gawk' port.
+
+
+File: gawk.info,  Node: VMS Old Gawk,  Prev: VMS GNV,  Up: VMS Installation
 
-B.3.2.4 Some VMS Systems Have An Old Version of `gawk'
+B.3.2.6 Some VMS Systems Have An Old Version of `gawk'
 ......................................................
 
 Some versions of VMS have an old version of `gawk'.  To access it,
@@ -32176,520 +32257,522 @@ Index
 
 Tag Table:
 Node: Top1360
-Node: Foreword40460
-Node: Preface44805
-Ref: Preface-Footnote-147858
-Ref: Preface-Footnote-247954
-Node: History48186
-Node: Names50560
-Ref: Names-Footnote-152037
-Node: This Manual52109
-Ref: This Manual-Footnote-157883
-Node: Conventions57983
-Node: Manual History60139
-Ref: Manual History-Footnote-163587
-Ref: Manual History-Footnote-263628
-Node: How To Contribute63702
-Node: Acknowledgments64846
-Node: Getting Started69055
-Node: Running gawk71434
-Node: One-shot72620
-Node: Read Terminal73845
-Ref: Read Terminal-Footnote-175495
-Ref: Read Terminal-Footnote-275771
-Node: Long75942
-Node: Executable Scripts77318
-Ref: Executable Scripts-Footnote-179151
-Ref: Executable Scripts-Footnote-279253
-Node: Comments79800
-Node: Quoting82267
-Node: DOS Quoting86890
-Node: Sample Data Files87565
-Node: Very Simple90609
-Node: Two Rules95208
-Node: More Complex97355
-Ref: More Complex-Footnote-1100285
-Node: Statements/Lines100370
-Ref: Statements/Lines-Footnote-1104832
-Node: Other Features105097
-Node: When106025
-Node: Invoking Gawk108172
-Node: Command Line109633
-Node: Options110416
-Ref: Options-Footnote-1125808
-Node: Other Arguments125833
-Node: Naming Standard Input128491
-Node: Environment Variables129585
-Node: AWKPATH Variable130143
-Ref: AWKPATH Variable-Footnote-1132901
-Node: AWKLIBPATH Variable133161
-Node: Other Environment Variables133879
-Node: Exit Status136842
-Node: Include Files137517
-Node: Loading Shared Libraries141086
-Node: Obsolete142450
-Node: Undocumented143147
-Node: Regexp143389
-Node: Regexp Usage144778
-Node: Escape Sequences146804
-Node: Regexp Operators152473
-Ref: Regexp Operators-Footnote-1159853
-Ref: Regexp Operators-Footnote-2160000
-Node: Bracket Expressions160098
-Ref: table-char-classes161988
-Node: GNU Regexp Operators164511
-Node: Case-sensitivity168234
-Ref: Case-sensitivity-Footnote-1171202
-Ref: Case-sensitivity-Footnote-2171437
-Node: Leftmost Longest171545
-Node: Computed Regexps172746
-Node: Reading Files176083
-Node: Records178085
-Ref: Records-Footnote-1186974
-Node: Fields187011
-Ref: Fields-Footnote-1190044
-Node: Nonconstant Fields190130
-Node: Changing Fields192332
-Node: Field Separators198291
-Node: Default Field Splitting200920
-Node: Regexp Field Splitting202037
-Node: Single Character Fields205379
-Node: Command Line Field Separator206438
-Node: Field Splitting Summary209879
-Ref: Field Splitting Summary-Footnote-1212990
-Node: Constant Size213091
-Node: Splitting By Content217675
-Ref: Splitting By Content-Footnote-1221401
-Node: Multiple Line221441
-Ref: Multiple Line-Footnote-1227288
-Node: Getline227467
-Node: Plain Getline229683
-Node: Getline/Variable231778
-Node: Getline/File232925
-Node: Getline/Variable/File234266
-Ref: Getline/Variable/File-Footnote-1235865
-Node: Getline/Pipe235952
-Node: Getline/Variable/Pipe238651
-Node: Getline/Coprocess239758
-Node: Getline/Variable/Coprocess241010
-Node: Getline Notes241747
-Node: Getline Summary244534
-Ref: table-getline-variants244942
-Node: Read Timeout245854
-Ref: Read Timeout-Footnote-1249595
-Node: Command line directories249652
-Node: Printing250282
-Node: Print251913
-Node: Print Examples253250
-Node: Output Separators256034
-Node: OFMT257794
-Node: Printf259152
-Node: Basic Printf260058
-Node: Control Letters261597
-Node: Format Modifiers265409
-Node: Printf Examples271418
-Node: Redirection274133
-Node: Special Files281098
-Node: Special FD281631
-Ref: Special FD-Footnote-1285256
-Node: Special Network285330
-Node: Special Caveats286180
-Node: Close Files And Pipes286976
-Ref: Close Files And Pipes-Footnote-1293959
-Ref: Close Files And Pipes-Footnote-2294107
-Node: Expressions294257
-Node: Values295389
-Node: Constants296065
-Node: Scalar Constants296745
-Ref: Scalar Constants-Footnote-1297604
-Node: Nondecimal-numbers297786
-Node: Regexp Constants300786
-Node: Using Constant Regexps301261
-Node: Variables304316
-Node: Using Variables304971
-Node: Assignment Options306695
-Node: Conversion308567
-Ref: table-locale-affects314068
-Ref: Conversion-Footnote-1314692
-Node: All Operators314801
-Node: Arithmetic Ops315431
-Node: Concatenation317936
-Ref: Concatenation-Footnote-1320728
-Node: Assignment Ops320848
-Ref: table-assign-ops325836
-Node: Increment Ops327167
-Node: Truth Values and Conditions330601
-Node: Truth Values331684
-Node: Typing and Comparison332733
-Node: Variable Typing333526
-Ref: Variable Typing-Footnote-1337423
-Node: Comparison Operators337545
-Ref: table-relational-ops337955
-Node: POSIX String Comparison341504
-Ref: POSIX String Comparison-Footnote-1342460
-Node: Boolean Ops342598
-Ref: Boolean Ops-Footnote-1346676
-Node: Conditional Exp346767
-Node: Function Calls348499
-Node: Precedence352093
-Node: Locales355762
-Node: Patterns and Actions356851
-Node: Pattern Overview357905
-Node: Regexp Patterns359574
-Node: Expression Patterns360117
-Node: Ranges363802
-Node: BEGIN/END366768
-Node: Using BEGIN/END367530
-Ref: Using BEGIN/END-Footnote-1370261
-Node: I/O And BEGIN/END370367
-Node: BEGINFILE/ENDFILE372649
-Node: Empty375563
-Node: Using Shell Variables375879
-Node: Action Overview378164
-Node: Statements380521
-Node: If Statement382375
-Node: While Statement383874
-Node: Do Statement385918
-Node: For Statement387074
-Node: Switch Statement390226
-Node: Break Statement392323
-Node: Continue Statement394313
-Node: Next Statement396106
-Node: Nextfile Statement398496
-Node: Exit Statement401139
-Node: Built-in Variables403555
-Node: User-modified404650
-Ref: User-modified-Footnote-1413008
-Node: Auto-set413070
-Ref: Auto-set-Footnote-1426148
-Ref: Auto-set-Footnote-2426353
-Node: ARGC and ARGV426409
-Node: Arrays430260
-Node: Array Basics431765
-Node: Array Intro432591
-Node: Reference to Elements436908
-Node: Assigning Elements439178
-Node: Array Example439669
-Node: Scanning an Array441401
-Node: Controlling Scanning443715
-Ref: Controlling Scanning-Footnote-1448802
-Node: Delete449118
-Ref: Delete-Footnote-1451883
-Node: Numeric Array Subscripts451940
-Node: Uninitialized Subscripts454123
-Node: Multidimensional455750
-Node: Multiscanning458842
-Node: Arrays of Arrays460431
-Node: Functions465071
-Node: Built-in465890
-Node: Calling Built-in466968
-Node: Numeric Functions468956
-Ref: Numeric Functions-Footnote-1472788
-Ref: Numeric Functions-Footnote-2473145
-Ref: Numeric Functions-Footnote-3473193
-Node: String Functions473462
-Ref: String Functions-Footnote-1496382
-Ref: String Functions-Footnote-2496511
-Ref: String Functions-Footnote-3496759
-Node: Gory Details496846
-Ref: table-sub-escapes498525
-Ref: table-sub-posix-92499879
-Ref: table-sub-proposed501230
-Ref: table-posix-sub502584
-Ref: table-gensub-escapes504129
-Ref: Gory Details-Footnote-1505305
-Ref: Gory Details-Footnote-2505356
-Node: I/O Functions505507
-Ref: I/O Functions-Footnote-1512492
-Node: Time Functions512639
-Ref: Time Functions-Footnote-1523572
-Ref: Time Functions-Footnote-2523640
-Ref: Time Functions-Footnote-3523798
-Ref: Time Functions-Footnote-4523909
-Ref: Time Functions-Footnote-5524021
-Ref: Time Functions-Footnote-6524248
-Node: Bitwise Functions524514
-Ref: table-bitwise-ops525076
-Ref: Bitwise Functions-Footnote-1529297
-Node: Type Functions529481
-Node: I18N Functions530632
-Node: User-defined532259
-Node: Definition Syntax533063
-Ref: Definition Syntax-Footnote-1537973
-Node: Function Example538042
-Node: Function Caveats540636
-Node: Calling A Function541057
-Node: Variable Scope542172
-Node: Pass By Value/Reference545135
-Node: Return Statement548643
-Node: Dynamic Typing551624
-Node: Indirect Calls552555
-Node: Library Functions562240
-Ref: Library Functions-Footnote-1565753
-Ref: Library Functions-Footnote-2565896
-Node: Library Names566067
-Ref: Library Names-Footnote-1569538
-Ref: Library Names-Footnote-2569758
-Node: General Functions569844
-Node: Strtonum Function570872
-Node: Assert Function573802
-Node: Round Function577128
-Node: Cliff Random Function578671
-Node: Ordinal Functions579687
-Ref: Ordinal Functions-Footnote-1582757
-Ref: Ordinal Functions-Footnote-2583009
-Node: Join Function583218
-Ref: Join Function-Footnote-1584989
-Node: Getlocaltime Function585189
-Node: Readfile Function588930
-Node: Data File Management590769
-Node: Filetrans Function591401
-Node: Rewind Function595470
-Node: File Checking596857
-Node: Empty Files597951
-Node: Ignoring Assigns600181
-Node: Getopt Function601734
-Ref: Getopt Function-Footnote-1613037
-Node: Passwd Functions613240
-Ref: Passwd Functions-Footnote-1622215
-Node: Group Functions622303
-Node: Walking Arrays630387
-Node: Sample Programs632524
-Node: Running Examples633198
-Node: Clones633926
-Node: Cut Program635150
-Node: Egrep Program644995
-Ref: Egrep Program-Footnote-1652768
-Node: Id Program652878
-Node: Split Program656494
-Ref: Split Program-Footnote-1660013
-Node: Tee Program660141
-Node: Uniq Program662944
-Node: Wc Program670373
-Ref: Wc Program-Footnote-1674639
-Ref: Wc Program-Footnote-2674839
-Node: Miscellaneous Programs674931
-Node: Dupword Program676119
-Node: Alarm Program678150
-Node: Translate Program682903
-Ref: Translate Program-Footnote-1687290
-Ref: Translate Program-Footnote-2687538
-Node: Labels Program687672
-Ref: Labels Program-Footnote-1691043
-Node: Word Sorting691127
-Node: History Sorting695011
-Node: Extract Program696850
-Ref: Extract Program-Footnote-1704353
-Node: Simple Sed704481
-Node: Igawk Program707543
-Ref: Igawk Program-Footnote-1722700
-Ref: Igawk Program-Footnote-2722901
-Node: Anagram Program723039
-Node: Signature Program726107
-Node: Advanced Features727207
-Node: Nondecimal Data729093
-Node: Array Sorting730676
-Node: Controlling Array Traversal731373
-Node: Array Sorting Functions739657
-Ref: Array Sorting Functions-Footnote-1743526
-Node: Two-way I/O743720
-Ref: Two-way I/O-Footnote-1749152
-Node: TCP/IP Networking749222
-Node: Profiling752066
-Node: Internationalization759563
-Node: I18N and L10N760988
-Node: Explaining gettext761674
-Ref: Explaining gettext-Footnote-1766742
-Ref: Explaining gettext-Footnote-2766926
-Node: Programmer i18n767091
-Node: Translator i18n771293
-Node: String Extraction772086
-Ref: String Extraction-Footnote-1773047
-Node: Printf Ordering773133
-Ref: Printf Ordering-Footnote-1775917
-Node: I18N Portability775981
-Ref: I18N Portability-Footnote-1778430
-Node: I18N Example778493
-Ref: I18N Example-Footnote-1781131
-Node: Gawk I18N781203
-Node: Debugger781824
-Node: Debugging782795
-Node: Debugging Concepts783228
-Node: Debugging Terms785084
-Node: Awk Debugging787681
-Node: Sample Debugging Session788573
-Node: Debugger Invocation789093
-Node: Finding The Bug790425
-Node: List of Debugger Commands796913
-Node: Breakpoint Control798247
-Node: Debugger Execution Control801911
-Node: Viewing And Changing Data805271
-Node: Execution Stack808627
-Node: Debugger Info810094
-Node: Miscellaneous Debugger Commands814076
-Node: Readline Support819252
-Node: Limitations820083
-Node: Arbitrary Precision Arithmetic822335
-Ref: Arbitrary Precision Arithmetic-Footnote-1823984
-Node: General Arithmetic824132
-Node: Floating Point Issues825852
-Node: String Conversion Precision826733
-Ref: String Conversion Precision-Footnote-1828438
-Node: Unexpected Results828547
-Node: POSIX Floating Point Problems830700
-Ref: POSIX Floating Point Problems-Footnote-1834525
-Node: Integer Programming834563
-Node: Floating-point Programming836302
-Ref: Floating-point Programming-Footnote-1842633
-Ref: Floating-point Programming-Footnote-2842903
-Node: Floating-point Representation843167
-Node: Floating-point Context844332
-Ref: table-ieee-formats845171
-Node: Rounding Mode846555
-Ref: table-rounding-modes847034
-Ref: Rounding Mode-Footnote-1850049
-Node: Gawk and MPFR850228
-Node: Arbitrary Precision Floats851483
-Ref: Arbitrary Precision Floats-Footnote-1853926
-Node: Setting Precision854242
-Ref: table-predefined-precision-strings854928
-Node: Setting Rounding Mode857073
-Ref: table-gawk-rounding-modes857477
-Node: Floating-point Constants858664
-Node: Changing Precision860093
-Ref: Changing Precision-Footnote-1861490
-Node: Exact Arithmetic861664
-Node: Arbitrary Precision Integers864802
-Ref: Arbitrary Precision Integers-Footnote-1867820
-Node: Dynamic Extensions867967
-Node: Extension Intro869425
-Node: Plugin License870690
-Node: Extension Mechanism Outline871375
-Ref: load-extension871792
-Ref: load-new-function873270
-Ref: call-new-function874265
-Node: Extension API Description876280
-Node: Extension API Functions Introduction877493
-Node: General Data Types882359
-Ref: General Data Types-Footnote-1887958
-Node: Requesting Values888257
-Ref: table-value-types-returned888988
-Node: Constructor Functions889942
-Node: Registration Functions892962
-Node: Extension Functions893647
-Node: Exit Callback Functions895872
-Node: Extension Version String897121
-Node: Input Parsers897771
-Node: Output Wrappers907528
-Node: Two-way processors912038
-Node: Printing Messages914246
-Ref: Printing Messages-Footnote-1915323
-Node: Updating `ERRNO'915475
-Node: Accessing Parameters916214
-Node: Symbol Table Access917444
-Node: Symbol table by name917956
-Node: Symbol table by cookie919703
-Ref: Symbol table by cookie-Footnote-1923833
-Node: Cached values923896
-Ref: Cached values-Footnote-1927345
-Node: Array Manipulation927436
-Ref: Array Manipulation-Footnote-1928534
-Node: Array Data Types928573
-Ref: Array Data Types-Footnote-1931276
-Node: Array Functions931368
-Node: Flattening Arrays935134
-Node: Creating Arrays941986
-Node: Extension API Variables946711
-Node: Extension Versioning947347
-Node: Extension API Informational Variables949248
-Node: Extension API Boilerplate950334
-Node: Finding Extensions954138
-Node: Extension Example954698
-Node: Internal File Description955428
-Node: Internal File Ops959519
-Ref: Internal File Ops-Footnote-1971027
-Node: Using Internal File Ops971167
-Ref: Using Internal File Ops-Footnote-1973520
-Node: Extension Samples973786
-Node: Extension Sample File Functions975310
-Node: Extension Sample Fnmatch983795
-Node: Extension Sample Fork985521
-Node: Extension Sample Inplace986739
-Node: Extension Sample Ord988517
-Node: Extension Sample Readdir989353
-Node: Extension Sample Revout990885
-Node: Extension Sample Rev2way991478
-Node: Extension Sample Read write array992168
-Node: Extension Sample Readfile994051
-Node: Extension Sample API Tests994869
-Node: Extension Sample Time995394
-Node: gawkextlib996758
-Node: Language History999518
-Node: V7/SVR3.11001040
-Node: SVR41003360
-Node: POSIX1004802
-Node: BTL1006188
-Node: POSIX/GNU1006922
-Node: Common Extensions1012457
-Node: Ranges and Locales1013763
-Ref: Ranges and Locales-Footnote-11018381
-Ref: Ranges and Locales-Footnote-21018408
-Ref: Ranges and Locales-Footnote-31018668
-Node: Contributors1018889
-Node: Installation1023964
-Node: Gawk Distribution1024858
-Node: Getting1025342
-Node: Extracting1026168
-Node: Distribution contents1027860
-Node: Unix Installation1033380
-Node: Quick Installation1033997
-Node: Additional Configuration Options1036441
-Node: Configuration Philosophy1037918
-Node: Non-Unix Installation1040272
-Node: PC Installation1040730
-Node: PC Binary Installation1042029
-Node: PC Compiling1043877
-Node: PC Testing1046821
-Node: PC Using1047997
-Node: Cygwin1052182
-Node: MSYS1053182
-Node: VMS Installation1053696
-Node: VMS Compilation1054299
-Ref: VMS Compilation-Footnote-11055306
-Node: VMS Installation Details1055364
-Node: VMS Running1056999
-Node: VMS Old Gawk1058606
-Node: Bugs1059080
-Node: Other Versions1062936
-Node: Notes1069020
-Node: Compatibility Mode1069820
-Node: Additions1070603
-Node: Accessing The Source1071530
-Node: Adding Code1072970
-Node: New Ports1079015
-Node: Derived Files1083150
-Ref: Derived Files-Footnote-11088471
-Ref: Derived Files-Footnote-21088505
-Ref: Derived Files-Footnote-31089105
-Node: Future Extensions1089203
-Node: Implementation Limitations1089780
-Node: Extension Design1091032
-Node: Old Extension Problems1092186
-Ref: Old Extension Problems-Footnote-11093694
-Node: Extension New Mechanism Goals1093751
-Ref: Extension New Mechanism Goals-Footnote-11097116
-Node: Extension Other Design Decisions1097302
-Node: Extension Future Growth1099408
-Node: Old Extension Mechanism1100244
-Node: Basic Concepts1101984
-Node: Basic High Level1102665
-Ref: figure-general-flow1102936
-Ref: figure-process-flow1103535
-Ref: Basic High Level-Footnote-11106764
-Node: Basic Data Typing1106949
-Node: Glossary1110304
-Node: Copying1135766
-Node: GNU Free Documentation License1173323
-Node: Index1198460
+Node: Foreword40645
+Node: Preface44990
+Ref: Preface-Footnote-148043
+Ref: Preface-Footnote-248139
+Node: History48371
+Node: Names50745
+Ref: Names-Footnote-152222
+Node: This Manual52294
+Ref: This Manual-Footnote-158068
+Node: Conventions58168
+Node: Manual History60324
+Ref: Manual History-Footnote-163772
+Ref: Manual History-Footnote-263813
+Node: How To Contribute63887
+Node: Acknowledgments65031
+Node: Getting Started69240
+Node: Running gawk71619
+Node: One-shot72805
+Node: Read Terminal74030
+Ref: Read Terminal-Footnote-175680
+Ref: Read Terminal-Footnote-275956
+Node: Long76127
+Node: Executable Scripts77503
+Ref: Executable Scripts-Footnote-179336
+Ref: Executable Scripts-Footnote-279438
+Node: Comments79985
+Node: Quoting82452
+Node: DOS Quoting87075
+Node: Sample Data Files87750
+Node: Very Simple90794
+Node: Two Rules95393
+Node: More Complex97540
+Ref: More Complex-Footnote-1100470
+Node: Statements/Lines100555
+Ref: Statements/Lines-Footnote-1105017
+Node: Other Features105282
+Node: When106210
+Node: Invoking Gawk108357
+Node: Command Line109818
+Node: Options110601
+Ref: Options-Footnote-1125993
+Node: Other Arguments126018
+Node: Naming Standard Input128676
+Node: Environment Variables129770
+Node: AWKPATH Variable130328
+Ref: AWKPATH Variable-Footnote-1133086
+Node: AWKLIBPATH Variable133346
+Node: Other Environment Variables134064
+Node: Exit Status137027
+Node: Include Files137702
+Node: Loading Shared Libraries141271
+Node: Obsolete142635
+Node: Undocumented143332
+Node: Regexp143574
+Node: Regexp Usage144963
+Node: Escape Sequences146989
+Node: Regexp Operators152658
+Ref: Regexp Operators-Footnote-1160038
+Ref: Regexp Operators-Footnote-2160185
+Node: Bracket Expressions160283
+Ref: table-char-classes162173
+Node: GNU Regexp Operators164696
+Node: Case-sensitivity168419
+Ref: Case-sensitivity-Footnote-1171387
+Ref: Case-sensitivity-Footnote-2171622
+Node: Leftmost Longest171730
+Node: Computed Regexps172931
+Node: Reading Files176268
+Node: Records178270
+Ref: Records-Footnote-1187159
+Node: Fields187196
+Ref: Fields-Footnote-1190229
+Node: Nonconstant Fields190315
+Node: Changing Fields192517
+Node: Field Separators198476
+Node: Default Field Splitting201105
+Node: Regexp Field Splitting202222
+Node: Single Character Fields205564
+Node: Command Line Field Separator206623
+Node: Field Splitting Summary210064
+Ref: Field Splitting Summary-Footnote-1213175
+Node: Constant Size213276
+Node: Splitting By Content217860
+Ref: Splitting By Content-Footnote-1221586
+Node: Multiple Line221626
+Ref: Multiple Line-Footnote-1227473
+Node: Getline227652
+Node: Plain Getline229868
+Node: Getline/Variable231963
+Node: Getline/File233110
+Node: Getline/Variable/File234451
+Ref: Getline/Variable/File-Footnote-1236050
+Node: Getline/Pipe236137
+Node: Getline/Variable/Pipe238836
+Node: Getline/Coprocess239943
+Node: Getline/Variable/Coprocess241195
+Node: Getline Notes241932
+Node: Getline Summary244719
+Ref: table-getline-variants245127
+Node: Read Timeout246039
+Ref: Read Timeout-Footnote-1249780
+Node: Command line directories249837
+Node: Printing250467
+Node: Print252098
+Node: Print Examples253435
+Node: Output Separators256219
+Node: OFMT257979
+Node: Printf259337
+Node: Basic Printf260243
+Node: Control Letters261782
+Node: Format Modifiers265594
+Node: Printf Examples271603
+Node: Redirection274318
+Node: Special Files281283
+Node: Special FD281816
+Ref: Special FD-Footnote-1285441
+Node: Special Network285515
+Node: Special Caveats286365
+Node: Close Files And Pipes287161
+Ref: Close Files And Pipes-Footnote-1294144
+Ref: Close Files And Pipes-Footnote-2294292
+Node: Expressions294442
+Node: Values295574
+Node: Constants296250
+Node: Scalar Constants296930
+Ref: Scalar Constants-Footnote-1297789
+Node: Nondecimal-numbers297971
+Node: Regexp Constants300971
+Node: Using Constant Regexps301446
+Node: Variables304501
+Node: Using Variables305156
+Node: Assignment Options306880
+Node: Conversion308752
+Ref: table-locale-affects314253
+Ref: Conversion-Footnote-1314877
+Node: All Operators314986
+Node: Arithmetic Ops315616
+Node: Concatenation318121
+Ref: Concatenation-Footnote-1320913
+Node: Assignment Ops321033
+Ref: table-assign-ops326021
+Node: Increment Ops327352
+Node: Truth Values and Conditions330786
+Node: Truth Values331869
+Node: Typing and Comparison332918
+Node: Variable Typing333711
+Ref: Variable Typing-Footnote-1337608
+Node: Comparison Operators337730
+Ref: table-relational-ops338140
+Node: POSIX String Comparison341689
+Ref: POSIX String Comparison-Footnote-1342645
+Node: Boolean Ops342783
+Ref: Boolean Ops-Footnote-1346861
+Node: Conditional Exp346952
+Node: Function Calls348684
+Node: Precedence352278
+Node: Locales355947
+Node: Patterns and Actions357036
+Node: Pattern Overview358090
+Node: Regexp Patterns359759
+Node: Expression Patterns360302
+Node: Ranges363987
+Node: BEGIN/END366953
+Node: Using BEGIN/END367715
+Ref: Using BEGIN/END-Footnote-1370446
+Node: I/O And BEGIN/END370552
+Node: BEGINFILE/ENDFILE372834
+Node: Empty375748
+Node: Using Shell Variables376064
+Node: Action Overview378349
+Node: Statements380706
+Node: If Statement382560
+Node: While Statement384059
+Node: Do Statement386103
+Node: For Statement387259
+Node: Switch Statement390411
+Node: Break Statement392508
+Node: Continue Statement394498
+Node: Next Statement396291
+Node: Nextfile Statement398681
+Node: Exit Statement401324
+Node: Built-in Variables403740
+Node: User-modified404835
+Ref: User-modified-Footnote-1413193
+Node: Auto-set413255
+Ref: Auto-set-Footnote-1426333
+Ref: Auto-set-Footnote-2426538
+Node: ARGC and ARGV426594
+Node: Arrays430445
+Node: Array Basics431950
+Node: Array Intro432776
+Node: Reference to Elements437093
+Node: Assigning Elements439363
+Node: Array Example439854
+Node: Scanning an Array441586
+Node: Controlling Scanning443900
+Ref: Controlling Scanning-Footnote-1448987
+Node: Delete449303
+Ref: Delete-Footnote-1452068
+Node: Numeric Array Subscripts452125
+Node: Uninitialized Subscripts454308
+Node: Multidimensional455935
+Node: Multiscanning459028
+Node: Arrays of Arrays460617
+Node: Functions465257
+Node: Built-in466076
+Node: Calling Built-in467154
+Node: Numeric Functions469142
+Ref: Numeric Functions-Footnote-1472974
+Ref: Numeric Functions-Footnote-2473331
+Ref: Numeric Functions-Footnote-3473379
+Node: String Functions473648
+Ref: String Functions-Footnote-1496568
+Ref: String Functions-Footnote-2496697
+Ref: String Functions-Footnote-3496945
+Node: Gory Details497032
+Ref: table-sub-escapes498711
+Ref: table-sub-posix-92500065
+Ref: table-sub-proposed501416
+Ref: table-posix-sub502770
+Ref: table-gensub-escapes504315
+Ref: Gory Details-Footnote-1505491
+Ref: Gory Details-Footnote-2505542
+Node: I/O Functions505693
+Ref: I/O Functions-Footnote-1512678
+Node: Time Functions512825
+Ref: Time Functions-Footnote-1523758
+Ref: Time Functions-Footnote-2523826
+Ref: Time Functions-Footnote-3523984
+Ref: Time Functions-Footnote-4524095
+Ref: Time Functions-Footnote-5524207
+Ref: Time Functions-Footnote-6524434
+Node: Bitwise Functions524700
+Ref: table-bitwise-ops525262
+Ref: Bitwise Functions-Footnote-1529483
+Node: Type Functions529667
+Node: I18N Functions530818
+Node: User-defined532445
+Node: Definition Syntax533249
+Ref: Definition Syntax-Footnote-1538159
+Node: Function Example538228
+Node: Function Caveats540822
+Node: Calling A Function541243
+Node: Variable Scope542358
+Node: Pass By Value/Reference545321
+Node: Return Statement548829
+Node: Dynamic Typing551810
+Node: Indirect Calls552741
+Node: Library Functions562426
+Ref: Library Functions-Footnote-1565939
+Ref: Library Functions-Footnote-2566082
+Node: Library Names566253
+Ref: Library Names-Footnote-1569724
+Ref: Library Names-Footnote-2569944
+Node: General Functions570030
+Node: Strtonum Function571058
+Node: Assert Function573988
+Node: Round Function577314
+Node: Cliff Random Function578857
+Node: Ordinal Functions579873
+Ref: Ordinal Functions-Footnote-1582943
+Ref: Ordinal Functions-Footnote-2583195
+Node: Join Function583404
+Ref: Join Function-Footnote-1585175
+Node: Getlocaltime Function585375
+Node: Readfile Function589116
+Node: Data File Management590955
+Node: Filetrans Function591587
+Node: Rewind Function595656
+Node: File Checking597043
+Node: Empty Files598137
+Node: Ignoring Assigns600367
+Node: Getopt Function601920
+Ref: Getopt Function-Footnote-1613223
+Node: Passwd Functions613426
+Ref: Passwd Functions-Footnote-1622401
+Node: Group Functions622489
+Node: Walking Arrays630573
+Node: Sample Programs632710
+Node: Running Examples633384
+Node: Clones634112
+Node: Cut Program635336
+Node: Egrep Program645181
+Ref: Egrep Program-Footnote-1652954
+Node: Id Program653064
+Node: Split Program656680
+Ref: Split Program-Footnote-1660199
+Node: Tee Program660327
+Node: Uniq Program663130
+Node: Wc Program670559
+Ref: Wc Program-Footnote-1674825
+Ref: Wc Program-Footnote-2675025
+Node: Miscellaneous Programs675117
+Node: Dupword Program676305
+Node: Alarm Program678336
+Node: Translate Program683089
+Ref: Translate Program-Footnote-1687476
+Ref: Translate Program-Footnote-2687724
+Node: Labels Program687858
+Ref: Labels Program-Footnote-1691229
+Node: Word Sorting691313
+Node: History Sorting695197
+Node: Extract Program697036
+Ref: Extract Program-Footnote-1704539
+Node: Simple Sed704667
+Node: Igawk Program707729
+Ref: Igawk Program-Footnote-1722886
+Ref: Igawk Program-Footnote-2723087
+Node: Anagram Program723225
+Node: Signature Program726293
+Node: Advanced Features727393
+Node: Nondecimal Data729279
+Node: Array Sorting730862
+Node: Controlling Array Traversal731559
+Node: Array Sorting Functions739843
+Ref: Array Sorting Functions-Footnote-1743712
+Node: Two-way I/O743906
+Ref: Two-way I/O-Footnote-1749338
+Node: TCP/IP Networking749408
+Node: Profiling752252
+Node: Internationalization759749
+Node: I18N and L10N761174
+Node: Explaining gettext761860
+Ref: Explaining gettext-Footnote-1766928
+Ref: Explaining gettext-Footnote-2767112
+Node: Programmer i18n767277
+Node: Translator i18n771479
+Node: String Extraction772272
+Ref: String Extraction-Footnote-1773233
+Node: Printf Ordering773319
+Ref: Printf Ordering-Footnote-1776103
+Node: I18N Portability776167
+Ref: I18N Portability-Footnote-1778616
+Node: I18N Example778679
+Ref: I18N Example-Footnote-1781317
+Node: Gawk I18N781389
+Node: Debugger782010
+Node: Debugging782981
+Node: Debugging Concepts783414
+Node: Debugging Terms785270
+Node: Awk Debugging787867
+Node: Sample Debugging Session788759
+Node: Debugger Invocation789279
+Node: Finding The Bug790611
+Node: List of Debugger Commands797099
+Node: Breakpoint Control798433
+Node: Debugger Execution Control802097
+Node: Viewing And Changing Data805457
+Node: Execution Stack808813
+Node: Debugger Info810280
+Node: Miscellaneous Debugger Commands814262
+Node: Readline Support819438
+Node: Limitations820269
+Node: Arbitrary Precision Arithmetic822521
+Ref: Arbitrary Precision Arithmetic-Footnote-1824170
+Node: General Arithmetic824318
+Node: Floating Point Issues826038
+Node: String Conversion Precision826919
+Ref: String Conversion Precision-Footnote-1828624
+Node: Unexpected Results828733
+Node: POSIX Floating Point Problems830886
+Ref: POSIX Floating Point Problems-Footnote-1834711
+Node: Integer Programming834749
+Node: Floating-point Programming836488
+Ref: Floating-point Programming-Footnote-1842819
+Ref: Floating-point Programming-Footnote-2843089
+Node: Floating-point Representation843353
+Node: Floating-point Context844518
+Ref: table-ieee-formats845357
+Node: Rounding Mode846741
+Ref: table-rounding-modes847220
+Ref: Rounding Mode-Footnote-1850235
+Node: Gawk and MPFR850414
+Node: Arbitrary Precision Floats851669
+Ref: Arbitrary Precision Floats-Footnote-1854112
+Node: Setting Precision854428
+Ref: table-predefined-precision-strings855114
+Node: Setting Rounding Mode857259
+Ref: table-gawk-rounding-modes857663
+Node: Floating-point Constants858850
+Node: Changing Precision860279
+Ref: Changing Precision-Footnote-1861676
+Node: Exact Arithmetic861850
+Node: Arbitrary Precision Integers864988
+Ref: Arbitrary Precision Integers-Footnote-1868006
+Node: Dynamic Extensions868153
+Node: Extension Intro869611
+Node: Plugin License870876
+Node: Extension Mechanism Outline871561
+Ref: load-extension871978
+Ref: load-new-function873456
+Ref: call-new-function874451
+Node: Extension API Description876466
+Node: Extension API Functions Introduction877679
+Node: General Data Types882545
+Ref: General Data Types-Footnote-1888144
+Node: Requesting Values888443
+Ref: table-value-types-returned889174
+Node: Constructor Functions890128
+Node: Registration Functions893148
+Node: Extension Functions893833
+Node: Exit Callback Functions896058
+Node: Extension Version String897307
+Node: Input Parsers897957
+Node: Output Wrappers907714
+Node: Two-way processors912224
+Node: Printing Messages914432
+Ref: Printing Messages-Footnote-1915509
+Node: Updating `ERRNO'915661
+Node: Accessing Parameters916400
+Node: Symbol Table Access917630
+Node: Symbol table by name918142
+Node: Symbol table by cookie919889
+Ref: Symbol table by cookie-Footnote-1924019
+Node: Cached values924082
+Ref: Cached values-Footnote-1927531
+Node: Array Manipulation927622
+Ref: Array Manipulation-Footnote-1928720
+Node: Array Data Types928759
+Ref: Array Data Types-Footnote-1931462
+Node: Array Functions931554
+Node: Flattening Arrays935320
+Node: Creating Arrays942172
+Node: Extension API Variables946897
+Node: Extension Versioning947533
+Node: Extension API Informational Variables949434
+Node: Extension API Boilerplate950520
+Node: Finding Extensions954324
+Node: Extension Example954884
+Node: Internal File Description955614
+Node: Internal File Ops959705
+Ref: Internal File Ops-Footnote-1971213
+Node: Using Internal File Ops971353
+Ref: Using Internal File Ops-Footnote-1973706
+Node: Extension Samples973972
+Node: Extension Sample File Functions975496
+Node: Extension Sample Fnmatch983981
+Node: Extension Sample Fork985707
+Node: Extension Sample Inplace986925
+Node: Extension Sample Ord988703
+Node: Extension Sample Readdir989539
+Node: Extension Sample Revout991071
+Node: Extension Sample Rev2way991664
+Node: Extension Sample Read write array992354
+Node: Extension Sample Readfile994237
+Node: Extension Sample API Tests995055
+Node: Extension Sample Time995580
+Node: gawkextlib996944
+Node: Language History999704
+Node: V7/SVR3.11001226
+Node: SVR41003546
+Node: POSIX1004988
+Node: BTL1006374
+Node: POSIX/GNU1007108
+Node: Common Extensions1012709
+Node: Ranges and Locales1014015
+Ref: Ranges and Locales-Footnote-11018633
+Ref: Ranges and Locales-Footnote-21018660
+Ref: Ranges and Locales-Footnote-31018920
+Node: Contributors1019141
+Node: Installation1024216
+Node: Gawk Distribution1025110
+Node: Getting1025594
+Node: Extracting1026420
+Node: Distribution contents1028112
+Node: Unix Installation1033632
+Node: Quick Installation1034249
+Node: Additional Configuration Options1036693
+Node: Configuration Philosophy1038170
+Node: Non-Unix Installation1040524
+Node: PC Installation1040982
+Node: PC Binary Installation1042281
+Node: PC Compiling1044129
+Node: PC Testing1047073
+Node: PC Using1048249
+Node: Cygwin1052434
+Node: MSYS1053434
+Node: VMS Installation1053948
+Node: VMS Compilation1054712
+Ref: VMS Compilation-Footnote-11056327
+Node: VMS Dynamic Extensions1056385
+Node: VMS Installation Details1057406
+Node: VMS Running1059240
+Node: VMS GNV1060842
+Node: VMS Old Gawk1061547
+Node: Bugs1062017
+Node: Other Versions1065873
+Node: Notes1071957
+Node: Compatibility Mode1072757
+Node: Additions1073540
+Node: Accessing The Source1074467
+Node: Adding Code1075907
+Node: New Ports1081952
+Node: Derived Files1086087
+Ref: Derived Files-Footnote-11091408
+Ref: Derived Files-Footnote-21091442
+Ref: Derived Files-Footnote-31092042
+Node: Future Extensions1092140
+Node: Implementation Limitations1092717
+Node: Extension Design1093969
+Node: Old Extension Problems1095123
+Ref: Old Extension Problems-Footnote-11096631
+Node: Extension New Mechanism Goals1096688
+Ref: Extension New Mechanism Goals-Footnote-11100053
+Node: Extension Other Design Decisions1100239
+Node: Extension Future Growth1102345
+Node: Old Extension Mechanism1103181
+Node: Basic Concepts1104921
+Node: Basic High Level1105602
+Ref: figure-general-flow1105873
+Ref: figure-process-flow1106472
+Ref: Basic High Level-Footnote-11109701
+Node: Basic Data Typing1109886
+Node: Glossary1113241
+Node: Copying1138703
+Node: GNU Free Documentation License1176260
+Node: Index1201397
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 80638e4..f11e2be 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -822,9 +822,12 @@ particular records in a file and perform operations upon 
them.
 * VMS Installation::                    Installing @command{gawk} on VMS.
 * VMS Compilation::                     How to compile @command{gawk} under
                                         VMS.
+* VMS Dynamic Extensions::              Compiling @command{gawk} dynamic
+                                        extensions on VMS.
 * VMS Installation Details::            How to install @command{gawk} under
                                         VMS.
 * VMS Running::                         How to run @command{gawk} under VMS.
+* VMS GNV::                             The VMS GNV Project.
 * VMS Old Gawk::                        An old version comes with some VMS
                                         systems.
 * Bugs::                                Reporting Problems and Bugs.
@@ -15031,7 +15034,7 @@ on the command line (@pxref{Options}).
 @section Multidimensional Arrays
 
 @menu
-* Multiscanning::              Scanning multidimensional arrays.
+* Multiscanning::               Scanning multidimensional arrays.
 @end menu
 
 @cindex subscripts in arrays, multidimensional
@@ -33564,6 +33567,9 @@ Tandem (non-POSIX)
 @item
 Prestandard VAX C compiler for VAX/VMS
 
address@hidden
+GCC for VAX and Alpha has not been tested for a while.
+
 @end itemize
 
 @end itemize
@@ -34835,8 +34841,11 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 
 @menu
 * VMS Compilation::             How to compile @command{gawk} under VMS.
+* VMS Dynamic Extensions::      Compiling @command{gawk} dynamic extensions on
+                                VMS.
 * VMS Installation Details::    How to install @command{gawk} under VMS.
 * VMS Running::                 How to run @command{gawk} under VMS.
+* VMS GNV::                     The VMS GNV Project.
 * VMS Old Gawk::                An old version comes with some VMS systems.
 @end menu
 
@@ -34844,41 +34853,99 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 @appendixsubsubsec Compiling @command{gawk} on VMS
 @cindex compiling @command{gawk} for VMS
 
-To compile @command{gawk} under VMS, there is a @code{DCL} command procedure 
that
-issues all the necessary @code{CC} and @code{LINK} commands. There is
-also a @file{Makefile} for use with the @code{MMS} utility.  From the source
-directory, use either:
+To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
+that issues all the necessary @code{CC} and @code{LINK} commands. There is
+also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
+From the source directory, use either:
 
 @example
-$ @kbd{@@[.VMS]VMSBUILD.COM}
+$ @kbd{@@[.vms]vmsbuild.com}
 @end example
 
 @noindent
 or:
 
 @example
-$ @kbd{MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK}
+$ @kbd{MMS/DESCRIPTION=[.vms]descrip.mms gawk}
 @end example
 
address@hidden
+or:
+
address@hidden
+$ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
address@hidden example
+
address@hidden is an open source freeware near clone of @code{MMS} and
+can better handle @code{ODS-5} volumes with upper- and lower-case filenames.
address@hidden is available from @uref{https://github.com/endlesssoftware/mmk}.
+
+With @code{ODS-5} volumes and extended parsing enabled, the case of the target
+parameter may need to be exact.
+
 Older versions of @command{gawk} could be built with VAX C or
 GNU C on VAX/VMS, as well as with DEC C, but that is no longer
 supported.  DEC C (also briefly known as ``Compaq C'' and now known
 as ``HP C,'' but referred to here as ``DEC C'') is required.  Both
address@hidden and @code{DESCRIP.MMS} contain some obsolete support
address@hidden and @code{descrip.mms} contain some obsolete support
 for the older compilers but are set up to use DEC C by default.
 
address@hidden has been tested under Alpha/VMS 7.3-1 using Compaq C V6.4,
-and on Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS address@hidden IA64
-architecture is also known as ``Itanium.''}
address@hidden has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1
+using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
+The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
+Alpha and IA64 VMS 8.4 used HP C address@hidden IA64 architecture
+is also known as ``Itanium.''}
+
+Work is currently being done for a procedure to build @command{gawk} and create
+a PCSI kit for compatible with the GNV product.
+
address@hidden VMS Dynamic Extensions
address@hidden Compiling @command{gawk} Dynamic Extensions on VMS
+
+Dynamic extensions need to be compiled with the same compiler options for
+floating point, pointer size, and symbol name handling as @command{gawk}.
+Alpha and Itanium should use IEEE floating point.  The pointer size is 32 bits,
+and the symbol name handling is to be exact case with CRC shortening for
+symbols longer than 32 bits.
+
+For Alpha and Itanium:
+
address@hidden
+/name=(as_is,short)
+/float=ieee/ieee_mode=denorm_results
address@hidden example
+
+For VAX:
+
address@hidden
+/name=(as_is,short)
address@hidden example
+
+Compile time macros need to be defined before the first VMS-supplied
+header file is included.
+
address@hidden
+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
+#define _LARGEFILE 1
+#endif
+
+#ifndef __VAX
+#ifdef __CRTL_VER
+#if __CRTL_VER >= 80200000
+#define _USE_STD_STAT 1
+#endif
+#endif
+#endif
address@hidden example
 
 @node VMS Installation Details
 @appendixsubsubsec Installing @command{gawk} on VMS
 
-To install @command{gawk}, all you need is a ``foreign'' command, which is
-a @code{DCL} symbol whose value begins with a dollar sign. For example:
+To use @command{gawk}, all you need is a ``foreign'' command, which is a
address@hidden symbol whose value begins with a dollar sign. For example:
 
 @example
-$ @kbd{GAWK :== $disk1:[gnubin]GAWK}
+$ @kbd{GAWK :== $disk1:[gnubin]gawk}
 @end example
 
 @noindent
@@ -34890,10 +34957,15 @@ Alternatively, the symbol may be placed in the 
system-wide
 @file{sylogin.com} procedure, which allows all users
 to run @command{gawk}.
 
+If your @command{gawk} was installed by a PCSI kit into the
address@hidden:} directory tree, the program will be known as
address@hidden:[bin]gnv$gawk.exe} and the help file will be
address@hidden:[vms_help]gawk.hlp}.
+
 Optionally, the help entry can be loaded into a VMS help library:
 
 @example
-$ @kbd{LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP}
+$ @kbd{LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp}
 @end example
 
 @noindent
@@ -34958,6 +35030,20 @@ of @env{AWKPATH} is a comma-separated list of 
directory specifications.
 When defining it, the value should be quoted so that it retains a single
 translation and not a multitranslation @code{RMS} searchlist.
 
address@hidden VMS GNV
address@hidden The VMS GNV Project
+
+The VMS GNV package provides a build environment similar to POSIX with ports
+of a collection of open source tools.  The @command{gawk} found in the GNV
+base kit is an older port.  Currently the GNV project is being reorganized
+to be individual PCSI packages for each component.
+See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
+
+The normal build procedure for @command{gawk} produces a program that
+is suitable for use with GNV.  At this time work is being done to create
+the procedures for building a PCSI kit to replace the older @command{gawk}
+port.
+
 @ignore
 @c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
 @c and building gawk for it has not been tested in many years, but these
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index f385107..c4dbea5 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -817,9 +817,12 @@ particular records in a file and perform operations upon 
them.
 * VMS Installation::                    Installing @command{gawk} on VMS.
 * VMS Compilation::                     How to compile @command{gawk} under
                                         VMS.
+* VMS Dynamic Extensions::              Compiling @command{gawk} dynamic
+                                        extensions on VMS.
 * VMS Installation Details::            How to install @command{gawk} under
                                         VMS.
 * VMS Running::                         How to run @command{gawk} under VMS.
+* VMS GNV::                             The VMS GNV Project.
 * VMS Old Gawk::                        An old version comes with some VMS
                                         systems.
 * Bugs::                                Reporting Problems and Bugs.
@@ -14370,7 +14373,7 @@ on the command line (@pxref{Options}).
 @section Multidimensional Arrays
 
 @menu
-* Multiscanning::              Scanning multidimensional arrays.
+* Multiscanning::               Scanning multidimensional arrays.
 @end menu
 
 @cindex subscripts in arrays, multidimensional
@@ -32713,6 +32716,9 @@ Tandem (non-POSIX)
 @item
 Prestandard VAX C compiler for VAX/VMS
 
address@hidden
+GCC for VAX and Alpha has not been tested for a while.
+
 @end itemize
 
 @end itemize
@@ -33984,8 +33990,11 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 
 @menu
 * VMS Compilation::             How to compile @command{gawk} under VMS.
+* VMS Dynamic Extensions::      Compiling @command{gawk} dynamic extensions on
+                                VMS.
 * VMS Installation Details::    How to install @command{gawk} under VMS.
 * VMS Running::                 How to run @command{gawk} under VMS.
+* VMS GNV::                     The VMS GNV Project.
 * VMS Old Gawk::                An old version comes with some VMS systems.
 @end menu
 
@@ -33993,41 +34002,99 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 @appendixsubsubsec Compiling @command{gawk} on VMS
 @cindex compiling @command{gawk} for VMS
 
-To compile @command{gawk} under VMS, there is a @code{DCL} command procedure 
that
-issues all the necessary @code{CC} and @code{LINK} commands. There is
-also a @file{Makefile} for use with the @code{MMS} utility.  From the source
-directory, use either:
+To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
+that issues all the necessary @code{CC} and @code{LINK} commands. There is
+also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
+From the source directory, use either:
 
 @example
-$ @kbd{@@[.VMS]VMSBUILD.COM}
+$ @kbd{@@[.vms]vmsbuild.com}
 @end example
 
 @noindent
 or:
 
 @example
-$ @kbd{MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK}
+$ @kbd{MMS/DESCRIPTION=[.vms]descrip.mms gawk}
 @end example
 
address@hidden
+or:
+
address@hidden
+$ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
address@hidden example
+
address@hidden is an open source freeware near clone of @code{MMS} and
+can better handle @code{ODS-5} volumes with upper- and lower-case filenames.
address@hidden is available from @uref{https://github.com/endlesssoftware/mmk}.
+
+With @code{ODS-5} volumes and extended parsing enabled, the case of the target
+parameter may need to be exact.
+
 Older versions of @command{gawk} could be built with VAX C or
 GNU C on VAX/VMS, as well as with DEC C, but that is no longer
 supported.  DEC C (also briefly known as ``Compaq C'' and now known
 as ``HP C,'' but referred to here as ``DEC C'') is required.  Both
address@hidden and @code{DESCRIP.MMS} contain some obsolete support
address@hidden and @code{descrip.mms} contain some obsolete support
 for the older compilers but are set up to use DEC C by default.
 
address@hidden has been tested under Alpha/VMS 7.3-1 using Compaq C V6.4,
-and on Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS address@hidden IA64
-architecture is also known as ``Itanium.''}
address@hidden has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1
+using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
+The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
+Alpha and IA64 VMS 8.4 used HP C address@hidden IA64 architecture
+is also known as ``Itanium.''}
+
+Work is currently being done for a procedure to build @command{gawk} and create
+a PCSI kit for compatible with the GNV product.
+
address@hidden VMS Dynamic Extensions
address@hidden Compiling @command{gawk} Dynamic Extensions on VMS
+
+Dynamic extensions need to be compiled with the same compiler options for
+floating point, pointer size, and symbol name handling as @command{gawk}.
+Alpha and Itanium should use IEEE floating point.  The pointer size is 32 bits,
+and the symbol name handling is to be exact case with CRC shortening for
+symbols longer than 32 bits.
+
+For Alpha and Itanium:
+
address@hidden
+/name=(as_is,short)
+/float=ieee/ieee_mode=denorm_results
address@hidden example
+
+For VAX:
+
address@hidden
+/name=(as_is,short)
address@hidden example
+
+Compile time macros need to be defined before the first VMS-supplied
+header file is included.
+
address@hidden
+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
+#define _LARGEFILE 1
+#endif
+
+#ifndef __VAX
+#ifdef __CRTL_VER
+#if __CRTL_VER >= 80200000
+#define _USE_STD_STAT 1
+#endif
+#endif
+#endif
address@hidden example
 
 @node VMS Installation Details
 @appendixsubsubsec Installing @command{gawk} on VMS
 
-To install @command{gawk}, all you need is a ``foreign'' command, which is
-a @code{DCL} symbol whose value begins with a dollar sign. For example:
+To use @command{gawk}, all you need is a ``foreign'' command, which is a
address@hidden symbol whose value begins with a dollar sign. For example:
 
 @example
-$ @kbd{GAWK :== $disk1:[gnubin]GAWK}
+$ @kbd{GAWK :== $disk1:[gnubin]gawk}
 @end example
 
 @noindent
@@ -34039,10 +34106,15 @@ Alternatively, the symbol may be placed in the 
system-wide
 @file{sylogin.com} procedure, which allows all users
 to run @command{gawk}.
 
+If your @command{gawk} was installed by a PCSI kit into the
address@hidden:} directory tree, the program will be known as
address@hidden:[bin]gnv$gawk.exe} and the help file will be
address@hidden:[vms_help]gawk.hlp}.
+
 Optionally, the help entry can be loaded into a VMS help library:
 
 @example
-$ @kbd{LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP}
+$ @kbd{LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp}
 @end example
 
 @noindent
@@ -34107,6 +34179,20 @@ of @env{AWKPATH} is a comma-separated list of 
directory specifications.
 When defining it, the value should be quoted so that it retains a single
 translation and not a multitranslation @code{RMS} searchlist.
 
address@hidden VMS GNV
address@hidden The VMS GNV Project
+
+The VMS GNV package provides a build environment similar to POSIX with ports
+of a collection of open source tools.  The @command{gawk} found in the GNV
+base kit is an older port.  Currently the GNV project is being reorganized
+to be individual PCSI packages for each component.
+See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
+
+The normal build procedure for @command{gawk} produces a program that
+is suitable for use with GNV.  At this time work is being done to create
+the procedures for building a PCSI kit to replace the older @command{gawk}
+port.
+
 @ignore
 @c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
 @c and building gawk for it has not been tested in many years, but these
diff --git a/vms/vms-notes b/vms/vms-notes
index 23943bb..312a562 100644
--- a/vms/vms-notes
+++ b/vms/vms-notes
@@ -6,3 +6,613 @@ Per Anders Wallin, the HP VMS porting guide is available at
        http://h71000.www7.hp.com/portability/portingguidelines.html
 
 This file documents this fact, and anything else of interest.
+From address@hidden  Wed Dec 11 20:03:44 2013
+Return-Path: <address@hidden>
+Received: from skeeve.com (skeeve.com [127.0.0.1])
+       by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id 
rBBI3gNX002464
+       for <address@hidden>; Wed, 11 Dec 2013 20:03:43 +0200
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+       frenzy.freefriends.org
+X-Spam-Level: 
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
+       autolearn=ham version=3.3.1
+X-Envelope-From: address@hidden
+X-Envelope-To: <address@hidden>
+Received: from frenzy.freefriends.org [66.54.153.139]
+       by skeeve.com with IMAP (fetchmail-6.3.21)
+       for <address@hidden> (single-drop); Wed, 11 Dec 2013 20:03:43 +0200 
(IST)
+Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
+       by freefriends.org (8.14.6/8.14.6) with ESMTP id rBB5jaW9020988
+       for <address@hidden>; Tue, 10 Dec 2013 22:45:40 -0700
+Received: from [192.168.0.101]
+ (173-19-202-206.client.mchsi.com [173.19.202.206])
+ by Encompasserve.org (PMDF V6.6 #13031)
+ with ESMTPSA id <address@hidden> for address@hidden;
+ Tue, 10 Dec 2013 23:45:35 -0600 (CST)
+Date: Tue, 10 Dec 2013 23:45:36 -0600
+From: "John E. Malmberg" <address@hidden>
+Subject: Re: Some questions...
+In-reply-to: <address@hidden>
+To: Aharon Robbins <address@hidden>
+Cc: address@hidden
+Message-id: <address@hidden>
+MIME-version: 1.0
+Content-type: text/plain; charset=ISO-8859-1; format=flowed
+Content-transfer-encoding: 7BIT
+User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
+ Thunderbird/17.0.3
+References: <address@hidden> <address@hidden>
+Status: RO
+
+On 12/10/2013 10:26 PM, Aharon Robbins wrote:
+> Hi. Some questions about your changes.
+>
+> 1. I notice that there is at least one instance of #if __VMS, where as
+> it seems most code uses #if VMS.  Is that on purpose?  If not, which
+> is correct?
+
+VMS is a macro historically pre-defined by C compilers on C before the 
+ANSI rules.
+
+Under strict ANSI rules, a standards compliant compiler is not allowed 
+to pre-define macros that are not prefixed by "__".
+
+Which means that you can not count on the VMS macro being defined unless 
+you do it yourself.
+
+So __VMS is the ANSI correct definition.  But it would be a lot of work 
+to change all the code.
+
+The vms_config.h that is now generated has these lines in it to make 
+sure that VMS is defined.
+
+#ifdef __VMS  /* ANSI compliant */
+#ifndef VMS /* PRE-ansi */
+#define VMS 1
+#endif
+#endif
+
+This may be needed for other architectures.  It only shows up as an 
+issue if you set a "strict" compliance flag on the compile command.
+
+> 2. For the include of the main wrapper.  Gawk already has a routine
+> os_arg_fixup which is intended to manipulate argc and argv as needed
+> by an OS-specific routine before main() parses it.  A quick look at
+> the wrapper looks to me like it could be made to fit within that framework,
+> which would keep #if and the include out of the mainline code.
+
+I can look at that.  I can also look to see if I can move the logic from 
+vms_crtl_init.c into it in a way that would sidestep that it has no 
+copyright notice at all.  The result would be code that is almost 
+identical to code that is in the official Perl distribution.
+
+GNV was started as a user project and when the VMS POSIX product was 
+dropped and they needed a Unix like environment, Digital took over the 
+GNV product, but did not really do much to keep it up to date.
+
+The routine in vms_crtl_init.c is actually called before main() is 
+called, so just linking a module with it in is all that it takes to 
+activate the change.  Unfortunately I do not know how to get it to 
+magically fix up the argv array.
+
+> If that looks reasonable to you, can you make that change?  You can send
+> it as a diff against what you currently have already done.
+
+I will look at it tomorrow night.  I also found another change needed 
+for vms_args.c to work properly under a bash shell.
+
+> I'm sorry about the hassle on the copyrights, but I really have to play
+> this game by the FSF rules.  I hope we can get it clarified soon
+> so that I can include the files in the dist.
+
+I hope so.  I have not seen a reply from Karl yet.  He did say that 
+there are other options.
+
+This would clear the way for getting the similar code accepted into the 
+Bash and coreutils repositories.  I have a report that the first bash 
+4.3 beta built on VMS and looked real good on the test run.
+
+I am currently working on adapting the packaging scripts from bash and 
+coreutils to gawk.  Each product has had it unique features, so I have 
+not yet come up with a generic set of scripts.
+
+This is a preview what will be coming:
+
+backup_gawk_src.com - Builds a VMS equivalent to tar archive.  By 
+placing the source in the PCSI kit, it covers the requirement of 
+providing source somewhere with the binary.
+
+build_gawk_pcsi_desc.com - Creates a VMS PCSI package manifest file.
+
+build_gawk_pcsi_text.com - text output by the VMS PCSI package installer.
+
+compare_gawk_source.com - I have the source checked out on an NFS 
+server.  The backup program needs me to copy it to a VMS volume first. 
+This procedure makes sure that the two copies are the same and ready for 
+backup.
+
+gawk_alias_setup.com - Sets up gawk and awk links to gnv$gawk.exe. 
+Needed to repair when sins of the past partially break an install.
+
+gawk_verb.cld - for gawk to use gnv$gawk.exe as an image.  Different 
+than gawk.cld.  To properly add an image to the VMS command table, it 
+needs a prefix.  I have "GNV$" registered as a prefix for this purpose.
+
+gnv_gawk_kit_name.com - Calculates the VMS PCSI package name, used for 
+both file names and file contents.
+
+gnv_gawk_startup.com - Run at VMS startup to make sure that the 
+environment is set up properly for gawk.
+
+pcsi_gawk_file_list.txt - Source file for build_gawk_pcsi_desc.com.
+
+remove_old_gawk.com - Needed to properly clean up sins of the past. 
+Only touches the the GNV provided gawk and awk programs.
+
+stage_gawk_install.com - Does a pre-install into a fake "root" directory 
+tree for the kitting procedure to pull files out of.
+
+Regards,
+-John
+
+From address@hidden  Thu Dec 12 12:21:57 2013
+Return-Path: <address@hidden>
+Received: from skeeve.com (skeeve.com [127.0.0.1])
+       by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id 
rBCAIn2l004322
+       for <address@hidden>; Thu, 12 Dec 2013 12:21:55 +0200
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+       frenzy.freefriends.org
+X-Spam-Level: 
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
+       autolearn=ham version=3.3.1
+X-Envelope-From: address@hidden
+X-Envelope-To: <address@hidden>
+Received: from frenzy.freefriends.org [66.54.153.139]
+       by skeeve.com with IMAP (fetchmail-6.3.21)
+       for <address@hidden> (single-drop); Thu, 12 Dec 2013 12:21:55 +0200 
(IST)
+Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
+       by freefriends.org (8.14.6/8.14.6) with ESMTP id rBC6FboY024650
+       for <address@hidden>; Wed, 11 Dec 2013 23:15:41 -0700
+Received: from [192.168.0.101]
+ (173-19-202-206.client.mchsi.com [173.19.202.206])
+ by Encompasserve.org (PMDF V6.6 #13031)
+ with ESMTPSA id <address@hidden> for address@hidden;
+ Thu, 12 Dec 2013 00:15:35 -0600 (CST)
+Date: Thu, 12 Dec 2013 00:15:38 -0600
+From: "John E. Malmberg" <address@hidden>
+Subject: Re: Some questions...
+In-reply-to: <address@hidden>
+To: address@hidden
+Cc: address@hidden
+Message-id: <address@hidden>
+MIME-version: 1.0
+Content-type: multipart/mixed; boundary="Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)"
+User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
+ Thunderbird/17.0.3
+References: <address@hidden> <address@hidden>
+ <address@hidden> <address@hidden>
+Status: RO
+X-Status: A
+
+This is a multi-part message in MIME format.
+
+--Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
+Content-type: text/plain; charset=ISO-8859-1; format=flowed
+Content-transfer-encoding: 7BIT
+
+I moved the vms_gawk_main_wrapper.c code into gawkmisc.vms so that file 
+is not needed anymore.
+
+I also discovered that we were not building with exact case public 
+symbols, so I fixed up the source to build with exact case symbols. 
+This will be more important when building dynamic plug-ins, and in the 
+future if and when the other related packages can be built with it.
+
+This caused small changes to most of the source files in VMS, as all the 
+system services routines were in the wrong case.
+
+I see that just about everything has been backed out of git until the 
+legal stuff is resolved.
+
+This is what I currently have for io.c changes based on a branch I just 
+made against master.
+
+And this is what the diff for the vms/gawkmisc.vms changes are, which 
+eliminates the change to main.c.
+
+Regards,
+-John
+
+
+
+On 12/11/2013 1:55 AM, address@hidden wrote:
+> Hi.
+>
+> Thahks for the answers. I will address some of this later; I'm at work now.
+>
+> I would like to emphasize that, from my perspective, the priorities are:
+>
+> 1. Code changes (os_arg_fixup, etc.).
+> 2. Documentation revisions.
+> 3. The other VMS-only goodies that you described.
+>
+> The documentation revisions are not optional; I have to have them.
+>
+> But, as I said, it's enough if you give me plain text. I can do the
+> markup.  If the markup is what's holding you back then don't bother,
+> just send me text, with some kind of clear indication of the sectioning /
+> subsectioning (if any), and I'll do the markup.
+>
+> Karl replied further to me; I don't know if it was on purpose or
+> by accident that he didn't include you. I will include you on the
+> further correspondance that I need to send.
+>
+> Believe me, I very much want to move this forward, but I really do
+> have to play by the rules.
+>
+> Thanks,
+>
+> Arnold
+>
+
+
+--Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
+Content-type: application/gzip; name=gawk_io_c_vms.patch.gz
+Content-transfer-encoding: base64
+Content-disposition: attachment; filename=gawk_io_c_vms.patch.gz
+
+H4sICANRqVICAzAwMDEtaW8uYy1yZWRpcmVjdC1BZGQtYWRkaXRpb25hbC1WTVMtZXJyb3It
+Y29kZXMucGF0Y2gAnVV/b9pIEP0bf4q5pmptwI5tzM82FRRImyqQXEhzV51OyPaOwY3t5Wwn
+TdT0u9/sGhNIIuVyKyTvzs6bfTNvdjlMeQy+7Ti+z3zT902n6wZdz/acltU0zQBNn7VZs2m2
+ut0GTHgCM1yB1QbT7Mkf2KZpKYcUpgdf+DKBiRvFHqYLeP/D6+S3P/r/ZJGRYP5BGbk59uAP
+ZHWwLBihT1irAXaj12z0GjboZss0ldmV9x39vAd/nQ7Oh5//hpAbPqgpsjAlu9aDAWPgMhbm
+IU/cCC4mM8A05Sn4nGFmSIACaoI3eRBGSIgzzNNb4CtMwA1yJM+IZ2GygIzHCMIpMxRF13UF
+hks3WeAxX8Ad0HCgRkMpSMghzLYpzVtD1yXaLoKBL6OIRLsQJhmmgmum1rQ6NIFhhMVa1xSF
+hUEAur4Ic3D370/37udKmDC8AdfqYIc1DAO7zGx6Llim2XIcQXsbqRCbHXS/D7pVb0DNqreh
+31dqouq6ZeskQjmkcmPjXjw5HilYK/2rL1blMfal+pAKG+bmhvnM53lOzRQG4eXGCO8zYWZG
+7IZRP/P8RcQ9d50EKFApOYhzMHZvPcy4f4llHgyDMJGZQEAZjL58Oj01dpWSeE9+1vo4AV2j
+Junjt5sMW51dfaRjIY2cSlVsq94iXehDWpA0sIcJnSIo7oVBQQOZSrXUlNpemPjRFUNKLqMd
+Y/lB2AI6O4DZ7PV8/OfHb+fHEzIWuG0jmDe2azkA+1WpTMdwIEMqd3Wf/ItDtw5I4/IEKIM9
+rJQaMK0ijWK2xVwk5rRskZjTaheJQam1enTy8eshVKv+VSrWdfA4jyC7DFcr0pviVCoV4li4
+xW7iLjDGhF4DIir2qKUSDgdgvpPLgNGc4bVoHTVI3FhEDJOYWk59lb7StHdKjdyolqoqfA/g
+aHoxOD4azT8PpqPjsQZv3oC6DnoA48nhERk1+ClhRX5znqC6DvSE5T9S+FXSF9eBEPLMIgnB
+7jdgfJ6nbnl/ikpUrlaMHs35+OxsejIPk7ygSiFFlbtOp07vZ63blF8ylddRnZ6MxlCVyzne
+rOr0COXFbn67wmJZpVhBtK654PCgDHB3B/emqaxMwWqnCKJTRQtSWyl6od4gWi3dfdFnF23D
+epvBEM7OjyHMiEJ+lSbiZudLWtLTmKPLZIEe4WpPwzDDDU6wodvOg5KyunSvMXmbQ56GyICT
+ewornuX6RcuwIbslXJxpopv03Wvy+9eT8wFdE/o3Gz7ce/YKibwxEsR2ynh0ItpLZrfZ3d3e
+KTFFJaFlSyrw7FCv3Rv/9Qa9ncXdnaI/H+ApvMxU0+4f6/8BF8e/GH82oQCD4VCCK1LWJxxm
+36ba0z24fn3KSv+kVxcUy2gbXUX5F+2/BB3kCAAA
+
+--Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
+Content-type: application/gzip; name=gawk_gawkmisc_vms.gdiff.gz
+Content-transfer-encoding: base64
+Content-disposition: attachment; filename=gawk_gawkmisc_vms.gdiff.gz
+
+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
+/gvg4az2BTMAAA==
+
+--Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)--
+
+From address@hidden  Sun Dec  8 19:58:11 2013
+Return-Path: <address@hidden>
+Received: from skeeve.com (skeeve.com [127.0.0.1])
+       by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id 
rB8Hw8Y1002346
+       for <address@hidden>; Sun, 8 Dec 2013 19:58:10 +0200
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+       frenzy.freefriends.org
+X-Spam-Level: 
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
+       autolearn=ham version=3.3.1
+X-Envelope-From: address@hidden
+X-Envelope-To: <address@hidden>
+Received: from frenzy.freefriends.org [66.54.153.139]
+       by skeeve.com with IMAP (fetchmail-6.3.21)
+       for <address@hidden> (single-drop); Sun, 08 Dec 2013 19:58:10 +0200 
(IST)
+Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
+       by freefriends.org (8.14.6/8.14.6) with ESMTP id rB84BBd2018585
+       for <address@hidden>; Sat, 7 Dec 2013 21:11:14 -0700
+Received: from [192.168.0.101]
+ (173-19-202-206.client.mchsi.com [173.19.202.206])
+ by Encompasserve.org (PMDF V6.6 #13031)
+ with ESMTPSA id <address@hidden> for address@hidden;
+ Sat, 07 Dec 2013 22:11:09 -0600 (CST)
+Date: Sat, 07 Dec 2013 22:11:05 -0600
+From: "John E. Malmberg" <address@hidden>
+Subject: Re: VMS patch for config.h generation, passing tests.
+In-reply-to: <address@hidden>
+To: "John E. Malmberg" <address@hidden>
+Cc: address@hidden, address@hidden, address@hidden
+Message-id: <address@hidden>
+MIME-version: 1.0
+Content-type: text/plain; charset=ISO-8859-1; format=flowed
+Content-transfer-encoding: 7BIT
+User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
+ Thunderbird/17.0.3
+References: <address@hidden>
+ <address@hidden> <address@hidden>
+Status: R
+X-Status: A
+
+I have merged in your changes with my local copy, but not sure yet what 
+to do to get the git status happy.
+
+Unfortunately the VMS 8.3 Alpha manyfile test failed.  Closing 2 files 
+in io.c was not good enough.  I am trying again with closing 4 files.
+Still failed.  I am going to have to add some diagnostics to identify 
+the failure.
+
+And the beginfile1 test also is failing on VMS 8.3 Alpha.  I will look 
+at that after I resolve the manyfile issue.
+
+I also did not notice that ofmta test failed on VMS 7.3 VAX.  The 
+floating point number is rounding differently.  I get the same result 
+with the replacement SNPRINTF or the VMS provided SNPRINTF.
+
+TOAD> diff ofmta.ok sys$disk:[]_ofmta.tmp
+************
+File SRC_ROOT:[GAWK.TEST]OFMTA.OK;1
+     5   4.234
+     6   4.2345 hi
+******
+File LCL_ROOT:[GAWK.TEST]_OFMTA.TMP;2
+     5   4.235
+     6   4.2345 hi
+************
+
+I tried that build again with #undef HAVE_VPRINTF, and it failed.
+
+ From eval.c:
+  I1        8733 #ifndef HAVE_VPRINTF
+  I1        8734 #error "you lose: you need a system with vfprintf"
+                 .1
+%CC-E-ERRORMESSAGE, (1) #error "you lose: you need a system with vfprintf"
+
+Note that the error message has the wrong routine name.
+
+I have looked over the manual, and will try to get some detailed changes 
+to it.
+
+Some preliminary things to help collect my thoughts.
+
+As the MMS program has a lot of issues with ODS-5, Some open source 
+programmers have switched to Madgoat Make, known as MMK from 
+https://github.com/endlesssoftware/mmk .  MMK uses most unmodified MMS 
+description files and handles ODS-5 volumes better than MMS does.
+
+The optional POSIX subsystem is no longer supported on VMS.  While I 
+used to know at what version this support stopped in my head, I have 
+forgotten, and so far have not found that with an online search.
+
+Most of the C runtime routines that formerly required the POSIX 
+subsystem are in the VMS C runtime, so there no separate POSIX builds 
+needed for newer versions of VMS.
+
+The behavior of the VMS C runtime is controlled by feature settings that 
+can be set by logical names before the program is run.
+
+These feature settings include the support of longer filenames with 
+almost any characters including UTF-8, on ODS-5 volumes and if routines 
+should behave in a more Unix like fashion.
+
+I will be adding vms_crtl_init.c to the next commit for vmsbuild.com and 
+descrip.mms.  This vms_crtl_init.c detects when the program is running 
+under a bash or similar shell and sets the feature settings for better 
+UNIX compatibility, or sets them for better DCL compatibilities.
+It makes sure that the extended filename support is enabled.
+This way a single binary can be used for both the VMS environment and 
+the DCL environment.
+
+As a replacement, a GNV https://sourceforge.net/projects/gnv/ was 
+created.  There is older version of gawk that is provided by that package.
+
+Recently a group of programmers have started trying to correct issues 
+with the GNV project and reorganize it as a collection of packages along 
+wth a VMSPORTS https://sourceforge.net/projects/vms-ports/ effort.
+
+The GNV environment provides a Bash shell and several other utilities 
+intended to simulate a Unix environment.
+
+The web page https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/ 
+documents what needs to be done before installing these newer packages 
+while GNV is in the transition phase.
+
+Currently only Bash 4.2.45 and Coreutils 8.21 have been packaged, both 
+are fixing critical issues in GNV.
+
+I plan to have a GAWK PCSI package that will be installed with the VMS 
+PRODUCT command.  This package will install into the GNV directory 
+structure, which mimics a Linux directory tree, so I will need to 
+determine where to put the gawk.hlp file in it.
+
+Regards,
+-John
+
+
+
+On 12/6/2013 7:20 PM, John E. Malmberg wrote:
+> Hello Arnold,
+>
+> I almost missed this, the gmail randomizer threw it in the spam folder.
+>   It tends to do that with about 1 to 5 percent of my incoming e-mail.
+>
+> I am still learning git, so I am not sure how to regenerate the patch
+> set.  If you can help me with the commands, I can try to regenerate it.
+>
+> I ended up doing two patches, because I forgot that VMS execute
+> permission is interpreted differently than Unix, so is usually on.
+>
+> I did not change the commands to kick off the build procedure, just the
+> internals.
+>
+> Unfortunately  Texinfo is not in my toolbox.  I will look at the *.tex*
+> files to see what I can figure out for editing the source format for any
+> changes.  I did update the readme.vms FILE.
+>
+> Also this patch should enable the dynamic extension loading, which I
+> forgot to put in the change list.
+>
+> To better support dynamic extensions, gawk on VMS/ALPHA should be built
+> using IEEE floating point.
+>
+> This slightly changes the precision of floating point output.  I am not
+> sure that anyone would notice.  IA64 defaults to IEEE, and VAX can not
+> support IEEE.
+>
+> The reason for this is that most open source packages expect the IEEE
+> behavior, so it seems best to default to that when possible.
+>
+> When we get this step resolved, I am going to work on the procedure to
+> generate a installable package in the VMS PCSI format.
+>
+> Regards,
+> -John
+>
+>
+>
+> On 12/6/2013 2:40 AM, address@hidden wrote:
+>> Hi.
+>>
+>> Thanks for this.  I already pushed the change you suggested about
+>> version.c.  Do you want to pull and regenerate this patch set?
+>> Or should I just apply it all and you'll send me an updated patch?
+>>
+>> Finally, we need the manual updated about the build procedure. If
+>> Texinfo isn't in your toolbox, you can just send me plain text and I'll
+>> handle the formatting, but the manual needs to be updated and also
+>> and README files.
+>>
+>> This is great work and it's exciting that VMS gawk is progressing
+>> this way.
+>>
+>> Thanks,
+>>
+>> Arnold
+>>
+>> "John E. Malmberg" <address@hidden> wrote:
+>>
+>>> Forgot to document that the previous strftime test was incorrect as it
+>>> was not specifying a timezone on VMS versions that support timezones
+>>> which made the behavior different than on Unix/Linux.  The test has been
+>>> fixed.
+>>>
+>>> All tests now passing on VAX/VMS 7.3, Alpha and IA64/VMS 8.4.
+>>> Tests are still running on ALPHA/VMS 8.3, but I am expecting them to
+>>> also pass.
+>>>
+>>> VMS build procedures no longer need to be edited when the version number
+>>> changes.
+>>>
+>>> 2013-12-05   John E. Malmberg       <address@hidden>
+>>>
+>>> * New config_h.com to generate config.h
+>>>
+>>> * New gawk_ident.com generates ident line for link option file.
+>>>
+>>> * Add version_c.com to create version.c from version.in.
+>>>
+>>> * Remove fcntl.h covering up real fcntl.h.  If an older version
+>>>     of VMS needs this file, the build procedure should be updated
+>>>     to generate it from a template.
+>>>
+>>> * descrip.mms: Use command files to generate files based
+>>>     on same input files as a Linux build.
+>>>
+>>> * gawkmisc.vms (files_are_same): support _USE_STD_STAT for VMS 8.x.
+>>>
+>>> * generate_config_vms_h_gawk.com: Generates a helper file
+>>>     config_vms.h to cover issues config_h.com can not handle.
+>>>
+>>> * vmsbuild.com: Use command files to generate files based
+>>>     on the same input files as a Linux build.
+>>>
+>>> * vms_misc.c (vms_open): VMS CRTL setting errno to ENOENT where
+>>>     it should be set to EMFILE.
+>>>
+>>> Regards,
+>>> -John
+>
+

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

Summary of changes:
 README_d/ChangeLog  |    7 +-
 README_d/README.VMS |   36 ++
 doc/ChangeLog       |    4 +
 doc/gawk.info       | 1151 +++++++++++++++++++++++++++------------------------
 doc/gawk.texi       |  116 +++++-
 doc/gawktexi.in     |  116 +++++-
 vms/vms-notes       |  610 +++++++++++++++++++++++++++
 7 files changed, 1475 insertions(+), 565 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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