gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-2661-g9b1829c
Date: Wed, 2 Aug 2017 15:07:50 -0400 (EDT)

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, feature/namespaces has been updated
       via  9b1829c00cd1e63ce4c4c70202a58d3221a00206 (commit)
      from  93a53834e9882743c30926e7cad767ed7644d3f7 (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=9b1829c00cd1e63ce4c4c70202a58d3221a00206

commit 9b1829c00cd1e63ce4c4c70202a58d3221a00206
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Aug 2 22:07:32 2017 +0300

    Add summary to namespace chapter.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index e1fb449..1d6253b 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-02         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in (Namespace Summary): Add summary to namespace
+       chapter.
+
 2017-07-28         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in (Type Functions): Improve the example
diff --git a/doc/gawk.info b/doc/gawk.info
index 75ed00e..c621486 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -530,7 +530,8 @@ in (a) below.  A copy of the license is included in the 
section entitled
 * Naming Rules::                        Namespace and Component Naming Rules.
 * Internal Name Management::            How names are stored internally.
 * Namespace Example::                   An example of code using a namespace.
-* Namespace And Features::      Namespaces and other 'gawk' features.
+* Namespace And Features::              Namespaces and other 'gawk' features.
+* Namespace Summary::                   Summarizing namespaces.
 * Computer Arithmetic::                 A quick intro to computer math.
 * Math Definitions::                    Defining terms used.
 * MPFR features::                       The MPFR features in 'gawk'.
@@ -22537,6 +22538,7 @@ This major node describes a feature that is specific to 
'gawk'.
 * Internal Name Management::    How names are stored internally.
 * Namespace Example::           An example of code using a namespace.
 * Namespace And Features::      Namespaces and other 'gawk' features.
+* Namespace Summary::           Summarizing namespaces.
 
 
 File: gawk.info,  Node: Global Namespace,  Next: Qualified Names,  Up: 
Namespaces
@@ -22835,7 +22837,7 @@ unadorned identifiers are sought for in the 'awk' 
namespace:
      ...
 
 
-File: gawk.info,  Node: Namespace And Features,  Prev: Namespace Example,  Up: 
Namespaces
+File: gawk.info,  Node: Namespace And Features,  Next: Namespace Summary,  
Prev: Namespace Example,  Up: Namespaces
 
 15.8 Namespaces and Other 'gawk' Features
 =========================================
@@ -22865,6 +22867,39 @@ Inplace::, for a nice example of an extension that 
leverages a namespace
 shared by cooperating 'awk' and C code.
 
 
+File: gawk.info,  Node: Namespace Summary,  Prev: Namespace And Features,  Up: 
Namespaces
+
+15.9 Summary
+============
+
+   * Standard 'awk' provides a single namespace for all global
+     identifiers (scalars, arrays, and functions).  This is limiting
+     when one wants to develop libraries of reusable functions or
+     function suites.
+
+   * 'gawk' provides multiple namespaces by using qualified names: names
+     consisting of a namespace name, a double colon, '::', and a
+     component name.  Namespace names might still possibly conflict, but
+     this is true of any language providing namespaces, modules, or
+     packages.
+
+   * The default namespace is 'awk'.  The rules for namespace and
+     component names are provided in *note Naming Rules::.  The rules
+     are designed in such a way as to make namespace-aware code continue
+     to look and work naturally while still providing the necessary
+     power and flexibility.
+
+   * Other parts of 'gawk' have been extended as necessary to integrate
+     namespaces smoothly with their operation.  This applies most
+     notably to the profiler / pretty-printer (*note Profiling::) and to
+     the extension facility (*note Dynamic Extensions::).
+
+   * Overall, the namespace facility was designed and implemented such
+     that backwards compatibility is paramount.  Programs that don't use
+     namespaces should see absolutely no difference in behavior when run
+     by a namespace-capable version of 'gawk'.
+
+
 File: gawk.info,  Node: Arbitrary Precision Arithmetic,  Next: Dynamic 
Extensions,  Prev: Namespaces,  Up: Top
 
 16 Arithmetic and Arbitrary-Precision Arithmetic with 'gawk'
@@ -36159,590 +36194,591 @@ Index
 
 Tag Table:
 Node: Top1200
-Node: Foreword343935
-Node: Foreword448377
-Node: Preface49909
-Ref: Preface-Footnote-152768
-Ref: Preface-Footnote-252875
-Ref: Preface-Footnote-353109
-Node: History53251
-Node: Names55603
-Ref: Names-Footnote-156697
-Node: This Manual56844
-Ref: This Manual-Footnote-163483
-Node: Conventions63583
-Node: Manual History65937
-Ref: Manual History-Footnote-168932
-Ref: Manual History-Footnote-268973
-Node: How To Contribute69047
-Node: Acknowledgments69698
-Node: Getting Started74584
-Node: Running gawk77023
-Node: One-shot78213
-Node: Read Terminal79476
-Node: Long81469
-Node: Executable Scripts82982
-Ref: Executable Scripts-Footnote-185777
-Node: Comments85880
-Node: Quoting88364
-Node: DOS Quoting93881
-Node: Sample Data Files95937
-Node: Very Simple98532
-Node: Two Rules103434
-Node: More Complex105319
-Node: Statements/Lines108185
-Ref: Statements/Lines-Footnote-1112644
-Node: Other Features112909
-Node: When113845
-Ref: When-Footnote-1115599
-Node: Intro Summary115664
-Node: Invoking Gawk116548
-Node: Command Line118062
-Node: Options118860
-Ref: Options-Footnote-1135956
-Ref: Options-Footnote-2136186
-Node: Other Arguments136211
-Node: Naming Standard Input139158
-Node: Environment Variables140251
-Node: AWKPATH Variable140809
-Ref: AWKPATH Variable-Footnote-1144220
-Ref: AWKPATH Variable-Footnote-2144254
-Node: AWKLIBPATH Variable144515
-Node: Other Environment Variables145772
-Node: Exit Status149593
-Node: Include Files150270
-Node: Loading Shared Libraries154018
-Node: Obsolete155446
-Node: Undocumented156138
-Node: Invoking Summary156435
-Node: Regexp158095
-Node: Regexp Usage159549
-Node: Escape Sequences161586
-Node: Regexp Operators167818
-Ref: Regexp Operators-Footnote-1175234
-Ref: Regexp Operators-Footnote-2175381
-Node: Bracket Expressions175479
-Ref: table-char-classes177955
-Node: Leftmost Longest181092
-Node: Computed Regexps182395
-Node: GNU Regexp Operators185822
-Node: Case-sensitivity189501
-Ref: Case-sensitivity-Footnote-1192388
-Ref: Case-sensitivity-Footnote-2192623
-Node: Regexp Summary192731
-Node: Reading Files194197
-Node: Records196466
-Node: awk split records197199
-Node: gawk split records202130
-Ref: gawk split records-Footnote-1206670
-Node: Fields206707
-Node: Nonconstant Fields209448
-Ref: Nonconstant Fields-Footnote-1211684
-Node: Changing Fields211888
-Node: Field Separators217816
-Node: Default Field Splitting220514
-Node: Regexp Field Splitting221632
-Node: Single Character Fields224985
-Node: Command Line Field Separator226045
-Node: Full Line Fields229263
-Ref: Full Line Fields-Footnote-1230785
-Ref: Full Line Fields-Footnote-2230831
-Node: Field Splitting Summary230932
-Node: Constant Size233006
-Node: Fixed width data233738
-Node: Skipping intervening237205
-Node: Allowing trailing data238003
-Node: Fields with fixed data239040
-Node: Splitting By Content240558
-Ref: Splitting By Content-Footnote-1244208
-Node: Testing field creation244371
-Node: Multiple Line245992
-Ref: Multiple Line-Footnote-1251876
-Node: Getline252055
-Node: Plain Getline254524
-Node: Getline/Variable257165
-Node: Getline/File258316
-Node: Getline/Variable/File259704
-Ref: Getline/Variable/File-Footnote-1261309
-Node: Getline/Pipe261397
-Node: Getline/Variable/Pipe264104
-Node: Getline/Coprocess265239
-Node: Getline/Variable/Coprocess266506
-Node: Getline Notes267248
-Node: Getline Summary270045
-Ref: table-getline-variants270469
-Node: Read Timeout271217
-Ref: Read Timeout-Footnote-1275123
-Node: Retrying Input275181
-Node: Command-line directories276380
-Node: Input Summary277286
-Node: Input Exercises280458
-Node: Printing281186
-Node: Print283020
-Node: Print Examples284477
-Node: Output Separators287257
-Node: OFMT289274
-Node: Printf290630
-Node: Basic Printf291415
-Node: Control Letters292989
-Node: Format Modifiers296977
-Node: Printf Examples302992
-Node: Redirection305478
-Node: Special FD312319
-Ref: Special FD-Footnote-1315487
-Node: Special Files315561
-Node: Other Inherited Files316178
-Node: Special Network317179
-Node: Special Caveats318039
-Node: Close Files And Pipes318988
-Ref: table-close-pipe-return-values325895
-Ref: Close Files And Pipes-Footnote-1326678
-Ref: Close Files And Pipes-Footnote-2326826
-Node: Nonfatal326978
-Node: Output Summary329303
-Node: Output Exercises330525
-Node: Expressions331204
-Node: Values332392
-Node: Constants333070
-Node: Scalar Constants333761
-Ref: Scalar Constants-Footnote-1334625
-Node: Nondecimal-numbers334875
-Node: Regexp Constants337876
-Node: Using Constant Regexps338402
-Node: Standard Regexp Constants339024
-Node: Strong Regexp Constants342212
-Node: Variables345170
-Node: Using Variables345827
-Node: Assignment Options347737
-Node: Conversion349610
-Node: Strings And Numbers350134
-Ref: Strings And Numbers-Footnote-1353197
-Node: Locale influences conversions353306
-Ref: table-locale-affects356064
-Node: All Operators356682
-Node: Arithmetic Ops357311
-Node: Concatenation359817
-Ref: Concatenation-Footnote-1362664
-Node: Assignment Ops362771
-Ref: table-assign-ops367762
-Node: Increment Ops369075
-Node: Truth Values and Conditions372535
-Node: Truth Values373609
-Node: Typing and Comparison374657
-Node: Variable Typing375477
-Ref: Variable Typing-Footnote-1381940
-Ref: Variable Typing-Footnote-2382012
-Node: Comparison Operators382089
-Ref: table-relational-ops382508
-Node: POSIX String Comparison386003
-Ref: POSIX String Comparison-Footnote-1387698
-Ref: POSIX String Comparison-Footnote-2387837
-Node: Boolean Ops387921
-Ref: Boolean Ops-Footnote-1392403
-Node: Conditional Exp392495
-Node: Function Calls394231
-Node: Precedence398108
-Node: Locales401767
-Node: Expressions Summary403399
-Node: Patterns and Actions405972
-Node: Pattern Overview407092
-Node: Regexp Patterns408769
-Node: Expression Patterns409311
-Node: Ranges413092
-Node: BEGIN/END416200
-Node: Using BEGIN/END416961
-Ref: Using BEGIN/END-Footnote-1419697
-Node: I/O And BEGIN/END419803
-Node: BEGINFILE/ENDFILE422117
-Node: Empty425024
-Node: Using Shell Variables425341
-Node: Action Overview427615
-Node: Statements429940
-Node: If Statement431788
-Node: While Statement433283
-Node: Do Statement435311
-Node: For Statement436459
-Node: Switch Statement439617
-Node: Break Statement442003
-Node: Continue Statement444095
-Node: Next Statement445922
-Node: Nextfile Statement448305
-Node: Exit Statement450957
-Node: Built-in Variables453360
-Node: User-modified454493
-Node: Auto-set462260
-Ref: Auto-set-Footnote-1477857
-Ref: Auto-set-Footnote-2478063
-Node: ARGC and ARGV478119
-Node: Pattern Action Summary482332
-Node: Arrays484762
-Node: Array Basics486091
-Node: Array Intro486935
-Ref: figure-array-elements488910
-Ref: Array Intro-Footnote-1491614
-Node: Reference to Elements491742
-Node: Assigning Elements494206
-Node: Array Example494697
-Node: Scanning an Array496456
-Node: Controlling Scanning499478
-Ref: Controlling Scanning-Footnote-1504877
-Node: Numeric Array Subscripts505193
-Node: Uninitialized Subscripts507377
-Node: Delete508996
-Ref: Delete-Footnote-1511748
-Node: Multidimensional511805
-Node: Multiscanning514900
-Node: Arrays of Arrays516491
-Node: Arrays Summary521258
-Node: Functions523351
-Node: Built-in524389
-Node: Calling Built-in525470
-Node: Numeric Functions527466
-Ref: Numeric Functions-Footnote-1532411
-Ref: Numeric Functions-Footnote-2532768
-Ref: Numeric Functions-Footnote-3532816
-Node: String Functions533088
-Ref: String Functions-Footnote-1556746
-Ref: String Functions-Footnote-2556874
-Ref: String Functions-Footnote-3557122
-Node: Gory Details557209
-Ref: table-sub-escapes559000
-Ref: table-sub-proposed560519
-Ref: table-posix-sub561882
-Ref: table-gensub-escapes563423
-Ref: Gory Details-Footnote-1564246
-Node: I/O Functions564400
-Ref: table-system-return-values570982
-Ref: I/O Functions-Footnote-1572962
-Ref: I/O Functions-Footnote-2573110
-Node: Time Functions573230
-Ref: Time Functions-Footnote-1583897
-Ref: Time Functions-Footnote-2583965
-Ref: Time Functions-Footnote-3584123
-Ref: Time Functions-Footnote-4584234
-Ref: Time Functions-Footnote-5584346
-Ref: Time Functions-Footnote-6584573
-Node: Bitwise Functions584839
-Ref: table-bitwise-ops585433
-Ref: Bitwise Functions-Footnote-1591466
-Ref: Bitwise Functions-Footnote-2591639
-Node: Type Functions591830
-Node: I18N Functions594747
-Node: User-defined596398
-Node: Definition Syntax597203
-Ref: Definition Syntax-Footnote-1602890
-Node: Function Example602961
-Ref: Function Example-Footnote-1605883
-Node: Function Caveats605905
-Node: Calling A Function606423
-Node: Variable Scope607381
-Node: Pass By Value/Reference610375
-Node: Return Statement613874
-Node: Dynamic Typing616853
-Node: Indirect Calls617783
-Ref: Indirect Calls-Footnote-1628034
-Node: Functions Summary628162
-Node: Library Functions630867
-Ref: Library Functions-Footnote-1634474
-Ref: Library Functions-Footnote-2634617
-Node: Library Names634788
-Ref: Library Names-Footnote-1638464
-Ref: Library Names-Footnote-2638687
-Node: General Functions638773
-Node: Strtonum Function639876
-Node: Assert Function642898
-Node: Round Function646224
-Node: Cliff Random Function647765
-Node: Ordinal Functions648781
-Ref: Ordinal Functions-Footnote-1651844
-Ref: Ordinal Functions-Footnote-2652096
-Node: Join Function652306
-Ref: Join Function-Footnote-1654076
-Node: Getlocaltime Function654276
-Node: Readfile Function658018
-Node: Shell Quoting659990
-Node: Data File Management661391
-Node: Filetrans Function662023
-Node: Rewind Function666119
-Node: File Checking668029
-Ref: File Checking-Footnote-1669363
-Node: Empty Files669564
-Node: Ignoring Assigns671543
-Node: Getopt Function673093
-Ref: Getopt Function-Footnote-1684562
-Node: Passwd Functions684762
-Ref: Passwd Functions-Footnote-1693601
-Node: Group Functions693689
-Ref: Group Functions-Footnote-1701587
-Node: Walking Arrays701794
-Node: Library Functions Summary704802
-Node: Library Exercises706208
-Node: Sample Programs706673
-Node: Running Examples707443
-Node: Clones708171
-Node: Cut Program709395
-Node: Egrep Program719324
-Ref: Egrep Program-Footnote-1726836
-Node: Id Program726946
-Node: Split Program730626
-Ref: Split Program-Footnote-1734085
-Node: Tee Program734214
-Node: Uniq Program737004
-Node: Wc Program744430
-Ref: Wc Program-Footnote-1748685
-Node: Miscellaneous Programs748779
-Node: Dupword Program749992
-Node: Alarm Program752022
-Node: Translate Program756877
-Ref: Translate Program-Footnote-1761442
-Node: Labels Program761712
-Ref: Labels Program-Footnote-1765063
-Node: Word Sorting765147
-Node: History Sorting769219
-Node: Extract Program771054
-Node: Simple Sed778583
-Node: Igawk Program781657
-Ref: Igawk Program-Footnote-1795988
-Ref: Igawk Program-Footnote-2796190
-Ref: Igawk Program-Footnote-3796312
-Node: Anagram Program796427
-Node: Signature Program799489
-Node: Programs Summary800736
-Node: Programs Exercises801950
-Ref: Programs Exercises-Footnote-1806079
-Node: Advanced Features806170
-Node: Nondecimal Data808160
-Node: Array Sorting809751
-Node: Controlling Array Traversal810451
-Ref: Controlling Array Traversal-Footnote-1818818
-Node: Array Sorting Functions818936
-Ref: Array Sorting Functions-Footnote-1824027
-Node: Two-way I/O824223
-Ref: Two-way I/O-Footnote-1830774
-Ref: Two-way I/O-Footnote-2830961
-Node: TCP/IP Networking831043
-Node: Profiling834161
-Ref: Profiling-Footnote-1842833
-Node: Advanced Features Summary843156
-Node: Internationalization845000
-Node: I18N and L10N846480
-Node: Explaining gettext847167
-Ref: Explaining gettext-Footnote-1853059
-Ref: Explaining gettext-Footnote-2853244
-Node: Programmer i18n853409
-Ref: Programmer i18n-Footnote-1858358
-Node: Translator i18n858407
-Node: String Extraction859201
-Ref: String Extraction-Footnote-1860333
-Node: Printf Ordering860419
-Ref: Printf Ordering-Footnote-1863205
-Node: I18N Portability863269
-Ref: I18N Portability-Footnote-1865725
-Node: I18N Example865788
-Ref: I18N Example-Footnote-1868594
-Node: Gawk I18N868667
-Node: I18N Summary869312
-Node: Debugger870653
-Node: Debugging871655
-Node: Debugging Concepts872096
-Node: Debugging Terms873905
-Node: Awk Debugging876480
-Node: Sample Debugging Session877386
-Node: Debugger Invocation877920
-Node: Finding The Bug879306
-Node: List of Debugger Commands885784
-Node: Breakpoint Control887117
-Node: Debugger Execution Control890811
-Node: Viewing And Changing Data894173
-Node: Execution Stack897547
-Node: Debugger Info899184
-Node: Miscellaneous Debugger Commands903255
-Node: Readline Support908343
-Node: Limitations909239
-Node: Debugging Summary911348
-Node: Namespaces912627
-Node: Global Namespace913389
-Node: Qualified Names914743
-Node: Default Namespace915742
-Node: Changing The Namespace916483
-Node: Naming Rules918094
-Node: Internal Name Management919943
-Node: Namespace Example920985
-Node: Namespace And Features923547
-Node: Arbitrary Precision Arithmetic924956
-Node: Computer Arithmetic926443
-Ref: table-numeric-ranges930034
-Ref: Computer Arithmetic-Footnote-1930756
-Node: Math Definitions930813
-Ref: table-ieee-formats934127
-Ref: Math Definitions-Footnote-1934730
-Node: MPFR features934835
-Node: FP Math Caution936552
-Ref: FP Math Caution-Footnote-1937624
-Node: Inexactness of computations937993
-Node: Inexact representation938953
-Node: Comparing FP Values940313
-Node: Errors accumulate941395
-Node: Getting Accuracy942828
-Node: Try To Round945538
-Node: Setting precision946437
-Ref: table-predefined-precision-strings947134
-Node: Setting the rounding mode948964
-Ref: table-gawk-rounding-modes949338
-Ref: Setting the rounding mode-Footnote-1952746
-Node: Arbitrary Precision Integers952925
-Ref: Arbitrary Precision Integers-Footnote-1957830
-Node: Checking for MPFR957979
-Node: POSIX Floating Point Problems959276
-Ref: POSIX Floating Point Problems-Footnote-1963147
-Node: Floating point summary963185
-Node: Dynamic Extensions965375
-Node: Extension Intro966928
-Node: Plugin License968194
-Node: Extension Mechanism Outline968991
-Ref: figure-load-extension969430
-Ref: figure-register-new-function970995
-Ref: figure-call-new-function972087
-Node: Extension API Description974149
-Node: Extension API Functions Introduction975791
-Node: General Data Types981125
-Ref: General Data Types-Footnote-1988330
-Node: Memory Allocation Functions988629
-Ref: Memory Allocation Functions-Footnote-1991781
-Node: Constructor Functions991880
-Node: Registration Functions994879
-Node: Extension Functions995564
-Node: Exit Callback Functions1000777
-Node: Extension Version String1002027
-Node: Input Parsers1002690
-Node: Output Wrappers1015397
-Node: Two-way processors1019909
-Node: Printing Messages1022174
-Ref: Printing Messages-Footnote-11023345
-Node: Updating ERRNO1023498
-Node: Requesting Values1024237
-Ref: table-value-types-returned1024974
-Node: Accessing Parameters1025910
-Node: Symbol Table Access1027145
-Node: Symbol table by name1027657
-Ref: Symbol table by name-Footnote-11030547
-Node: Symbol table by cookie1030675
-Ref: Symbol table by cookie-Footnote-11034860
-Node: Cached values1034924
-Ref: Cached values-Footnote-11038460
-Node: Array Manipulation1038551
-Ref: Array Manipulation-Footnote-11039642
-Node: Array Data Types1039679
-Ref: Array Data Types-Footnote-11042337
-Node: Array Functions1042429
-Node: Flattening Arrays1046828
-Node: Creating Arrays1053769
-Node: Redirection API1058538
-Node: Extension API Variables1061380
-Node: Extension Versioning1062013
-Ref: gawk-api-version1062450
-Node: Extension API Informational Variables1064178
-Node: Extension API Boilerplate1065242
-Node: Changes from API V11069104
-Node: Finding Extensions1069764
-Node: Extension Example1070323
-Node: Internal File Description1071121
-Node: Internal File Ops1075201
-Ref: Internal File Ops-Footnote-11086601
-Node: Using Internal File Ops1086741
-Ref: Using Internal File Ops-Footnote-11089124
-Node: Extension Samples1089398
-Node: Extension Sample File Functions1090927
-Node: Extension Sample Fnmatch1098576
-Node: Extension Sample Fork1100063
-Node: Extension Sample Inplace1101281
-Node: Extension Sample Ord1104585
-Node: Extension Sample Readdir1105421
-Ref: table-readdir-file-types1106310
-Node: Extension Sample Revout1107115
-Node: Extension Sample Rev2way1107704
-Node: Extension Sample Read write array1108444
-Node: Extension Sample Readfile1110386
-Node: Extension Sample Time1111481
-Node: Extension Sample API Tests1112829
-Node: gawkextlib1113321
-Node: Extension summary1115768
-Node: Extension Exercises1119470
-Node: Language History1120712
-Node: V7/SVR3.11122368
-Node: SVR41124520
-Node: POSIX1125954
-Node: BTL1127333
-Node: POSIX/GNU1128062
-Node: Feature History1133954
-Node: Common Extensions1148378
-Node: Ranges and Locales1149661
-Ref: Ranges and Locales-Footnote-11154277
-Ref: Ranges and Locales-Footnote-21154304
-Ref: Ranges and Locales-Footnote-31154539
-Node: Contributors1154760
-Node: History summary1160320
-Node: Installation1161700
-Node: Gawk Distribution1162644
-Node: Getting1163128
-Node: Extracting1164089
-Node: Distribution contents1165727
-Node: Unix Installation1172069
-Node: Quick Installation1172751
-Node: Shell Startup Files1175165
-Node: Additional Configuration Options1176254
-Node: Configuration Philosophy1178243
-Node: Non-Unix Installation1180612
-Node: PC Installation1181072
-Node: PC Binary Installation1181910
-Node: PC Compiling1182345
-Node: PC Using1183462
-Node: Cygwin1186507
-Node: MSYS1187277
-Node: VMS Installation1187778
-Node: VMS Compilation1188569
-Ref: VMS Compilation-Footnote-11189798
-Node: VMS Dynamic Extensions1189856
-Node: VMS Installation Details1191541
-Node: VMS Running1193794
-Node: VMS GNV1198073
-Node: VMS Old Gawk1198808
-Node: Bugs1199279
-Node: Bug address1199942
-Node: Usenet1202339
-Node: Maintainers1203116
-Node: Other Versions1204492
-Node: Installation summary1211076
-Node: Notes1212111
-Node: Compatibility Mode1212976
-Node: Additions1213758
-Node: Accessing The Source1214683
-Node: Adding Code1216118
-Node: New Ports1222336
-Node: Derived Files1226824
-Ref: Derived Files-Footnote-11232309
-Ref: Derived Files-Footnote-21232344
-Ref: Derived Files-Footnote-31232942
-Node: Future Extensions1233056
-Node: Implementation Limitations1233714
-Node: Extension Design1234897
-Node: Old Extension Problems1236051
-Ref: Old Extension Problems-Footnote-11237569
-Node: Extension New Mechanism Goals1237626
-Ref: Extension New Mechanism Goals-Footnote-11240990
-Node: Extension Other Design Decisions1241179
-Node: Extension Future Growth1243292
-Node: Old Extension Mechanism1244128
-Node: Notes summary1245891
-Node: Basic Concepts1247073
-Node: Basic High Level1247754
-Ref: figure-general-flow1248036
-Ref: figure-process-flow1248721
-Ref: Basic High Level-Footnote-11252022
-Node: Basic Data Typing1252207
-Node: Glossary1255535
-Node: Copying1287482
-Node: GNU Free Documentation License1325021
-Node: Index1350139
+Node: Foreword344007
+Node: Foreword448449
+Node: Preface49981
+Ref: Preface-Footnote-152840
+Ref: Preface-Footnote-252947
+Ref: Preface-Footnote-353181
+Node: History53323
+Node: Names55675
+Ref: Names-Footnote-156769
+Node: This Manual56916
+Ref: This Manual-Footnote-163555
+Node: Conventions63655
+Node: Manual History66009
+Ref: Manual History-Footnote-169004
+Ref: Manual History-Footnote-269045
+Node: How To Contribute69119
+Node: Acknowledgments69770
+Node: Getting Started74656
+Node: Running gawk77095
+Node: One-shot78285
+Node: Read Terminal79548
+Node: Long81541
+Node: Executable Scripts83054
+Ref: Executable Scripts-Footnote-185849
+Node: Comments85952
+Node: Quoting88436
+Node: DOS Quoting93953
+Node: Sample Data Files96009
+Node: Very Simple98604
+Node: Two Rules103506
+Node: More Complex105391
+Node: Statements/Lines108257
+Ref: Statements/Lines-Footnote-1112716
+Node: Other Features112981
+Node: When113917
+Ref: When-Footnote-1115671
+Node: Intro Summary115736
+Node: Invoking Gawk116620
+Node: Command Line118134
+Node: Options118932
+Ref: Options-Footnote-1136028
+Ref: Options-Footnote-2136258
+Node: Other Arguments136283
+Node: Naming Standard Input139230
+Node: Environment Variables140323
+Node: AWKPATH Variable140881
+Ref: AWKPATH Variable-Footnote-1144292
+Ref: AWKPATH Variable-Footnote-2144326
+Node: AWKLIBPATH Variable144587
+Node: Other Environment Variables145844
+Node: Exit Status149665
+Node: Include Files150342
+Node: Loading Shared Libraries154090
+Node: Obsolete155518
+Node: Undocumented156210
+Node: Invoking Summary156507
+Node: Regexp158167
+Node: Regexp Usage159621
+Node: Escape Sequences161658
+Node: Regexp Operators167890
+Ref: Regexp Operators-Footnote-1175306
+Ref: Regexp Operators-Footnote-2175453
+Node: Bracket Expressions175551
+Ref: table-char-classes178027
+Node: Leftmost Longest181164
+Node: Computed Regexps182467
+Node: GNU Regexp Operators185894
+Node: Case-sensitivity189573
+Ref: Case-sensitivity-Footnote-1192460
+Ref: Case-sensitivity-Footnote-2192695
+Node: Regexp Summary192803
+Node: Reading Files194269
+Node: Records196538
+Node: awk split records197271
+Node: gawk split records202202
+Ref: gawk split records-Footnote-1206742
+Node: Fields206779
+Node: Nonconstant Fields209520
+Ref: Nonconstant Fields-Footnote-1211756
+Node: Changing Fields211960
+Node: Field Separators217888
+Node: Default Field Splitting220586
+Node: Regexp Field Splitting221704
+Node: Single Character Fields225057
+Node: Command Line Field Separator226117
+Node: Full Line Fields229335
+Ref: Full Line Fields-Footnote-1230857
+Ref: Full Line Fields-Footnote-2230903
+Node: Field Splitting Summary231004
+Node: Constant Size233078
+Node: Fixed width data233810
+Node: Skipping intervening237277
+Node: Allowing trailing data238075
+Node: Fields with fixed data239112
+Node: Splitting By Content240630
+Ref: Splitting By Content-Footnote-1244280
+Node: Testing field creation244443
+Node: Multiple Line246064
+Ref: Multiple Line-Footnote-1251948
+Node: Getline252127
+Node: Plain Getline254596
+Node: Getline/Variable257237
+Node: Getline/File258388
+Node: Getline/Variable/File259776
+Ref: Getline/Variable/File-Footnote-1261381
+Node: Getline/Pipe261469
+Node: Getline/Variable/Pipe264176
+Node: Getline/Coprocess265311
+Node: Getline/Variable/Coprocess266578
+Node: Getline Notes267320
+Node: Getline Summary270117
+Ref: table-getline-variants270541
+Node: Read Timeout271289
+Ref: Read Timeout-Footnote-1275195
+Node: Retrying Input275253
+Node: Command-line directories276452
+Node: Input Summary277358
+Node: Input Exercises280530
+Node: Printing281258
+Node: Print283092
+Node: Print Examples284549
+Node: Output Separators287329
+Node: OFMT289346
+Node: Printf290702
+Node: Basic Printf291487
+Node: Control Letters293061
+Node: Format Modifiers297049
+Node: Printf Examples303064
+Node: Redirection305550
+Node: Special FD312391
+Ref: Special FD-Footnote-1315559
+Node: Special Files315633
+Node: Other Inherited Files316250
+Node: Special Network317251
+Node: Special Caveats318111
+Node: Close Files And Pipes319060
+Ref: table-close-pipe-return-values325967
+Ref: Close Files And Pipes-Footnote-1326750
+Ref: Close Files And Pipes-Footnote-2326898
+Node: Nonfatal327050
+Node: Output Summary329375
+Node: Output Exercises330597
+Node: Expressions331276
+Node: Values332464
+Node: Constants333142
+Node: Scalar Constants333833
+Ref: Scalar Constants-Footnote-1334697
+Node: Nondecimal-numbers334947
+Node: Regexp Constants337948
+Node: Using Constant Regexps338474
+Node: Standard Regexp Constants339096
+Node: Strong Regexp Constants342284
+Node: Variables345242
+Node: Using Variables345899
+Node: Assignment Options347809
+Node: Conversion349682
+Node: Strings And Numbers350206
+Ref: Strings And Numbers-Footnote-1353269
+Node: Locale influences conversions353378
+Ref: table-locale-affects356136
+Node: All Operators356754
+Node: Arithmetic Ops357383
+Node: Concatenation359889
+Ref: Concatenation-Footnote-1362736
+Node: Assignment Ops362843
+Ref: table-assign-ops367834
+Node: Increment Ops369147
+Node: Truth Values and Conditions372607
+Node: Truth Values373681
+Node: Typing and Comparison374729
+Node: Variable Typing375549
+Ref: Variable Typing-Footnote-1382012
+Ref: Variable Typing-Footnote-2382084
+Node: Comparison Operators382161
+Ref: table-relational-ops382580
+Node: POSIX String Comparison386075
+Ref: POSIX String Comparison-Footnote-1387770
+Ref: POSIX String Comparison-Footnote-2387909
+Node: Boolean Ops387993
+Ref: Boolean Ops-Footnote-1392475
+Node: Conditional Exp392567
+Node: Function Calls394303
+Node: Precedence398180
+Node: Locales401839
+Node: Expressions Summary403471
+Node: Patterns and Actions406044
+Node: Pattern Overview407164
+Node: Regexp Patterns408841
+Node: Expression Patterns409383
+Node: Ranges413164
+Node: BEGIN/END416272
+Node: Using BEGIN/END417033
+Ref: Using BEGIN/END-Footnote-1419769
+Node: I/O And BEGIN/END419875
+Node: BEGINFILE/ENDFILE422189
+Node: Empty425096
+Node: Using Shell Variables425413
+Node: Action Overview427687
+Node: Statements430012
+Node: If Statement431860
+Node: While Statement433355
+Node: Do Statement435383
+Node: For Statement436531
+Node: Switch Statement439689
+Node: Break Statement442075
+Node: Continue Statement444167
+Node: Next Statement445994
+Node: Nextfile Statement448377
+Node: Exit Statement451029
+Node: Built-in Variables453432
+Node: User-modified454565
+Node: Auto-set462332
+Ref: Auto-set-Footnote-1477929
+Ref: Auto-set-Footnote-2478135
+Node: ARGC and ARGV478191
+Node: Pattern Action Summary482404
+Node: Arrays484834
+Node: Array Basics486163
+Node: Array Intro487007
+Ref: figure-array-elements488982
+Ref: Array Intro-Footnote-1491686
+Node: Reference to Elements491814
+Node: Assigning Elements494278
+Node: Array Example494769
+Node: Scanning an Array496528
+Node: Controlling Scanning499550
+Ref: Controlling Scanning-Footnote-1504949
+Node: Numeric Array Subscripts505265
+Node: Uninitialized Subscripts507449
+Node: Delete509068
+Ref: Delete-Footnote-1511820
+Node: Multidimensional511877
+Node: Multiscanning514972
+Node: Arrays of Arrays516563
+Node: Arrays Summary521330
+Node: Functions523423
+Node: Built-in524461
+Node: Calling Built-in525542
+Node: Numeric Functions527538
+Ref: Numeric Functions-Footnote-1532483
+Ref: Numeric Functions-Footnote-2532840
+Ref: Numeric Functions-Footnote-3532888
+Node: String Functions533160
+Ref: String Functions-Footnote-1556818
+Ref: String Functions-Footnote-2556946
+Ref: String Functions-Footnote-3557194
+Node: Gory Details557281
+Ref: table-sub-escapes559072
+Ref: table-sub-proposed560591
+Ref: table-posix-sub561954
+Ref: table-gensub-escapes563495
+Ref: Gory Details-Footnote-1564318
+Node: I/O Functions564472
+Ref: table-system-return-values571054
+Ref: I/O Functions-Footnote-1573034
+Ref: I/O Functions-Footnote-2573182
+Node: Time Functions573302
+Ref: Time Functions-Footnote-1583969
+Ref: Time Functions-Footnote-2584037
+Ref: Time Functions-Footnote-3584195
+Ref: Time Functions-Footnote-4584306
+Ref: Time Functions-Footnote-5584418
+Ref: Time Functions-Footnote-6584645
+Node: Bitwise Functions584911
+Ref: table-bitwise-ops585505
+Ref: Bitwise Functions-Footnote-1591538
+Ref: Bitwise Functions-Footnote-2591711
+Node: Type Functions591902
+Node: I18N Functions594819
+Node: User-defined596470
+Node: Definition Syntax597275
+Ref: Definition Syntax-Footnote-1602962
+Node: Function Example603033
+Ref: Function Example-Footnote-1605955
+Node: Function Caveats605977
+Node: Calling A Function606495
+Node: Variable Scope607453
+Node: Pass By Value/Reference610447
+Node: Return Statement613946
+Node: Dynamic Typing616925
+Node: Indirect Calls617855
+Ref: Indirect Calls-Footnote-1628106
+Node: Functions Summary628234
+Node: Library Functions630939
+Ref: Library Functions-Footnote-1634546
+Ref: Library Functions-Footnote-2634689
+Node: Library Names634860
+Ref: Library Names-Footnote-1638536
+Ref: Library Names-Footnote-2638759
+Node: General Functions638845
+Node: Strtonum Function639948
+Node: Assert Function642970
+Node: Round Function646296
+Node: Cliff Random Function647837
+Node: Ordinal Functions648853
+Ref: Ordinal Functions-Footnote-1651916
+Ref: Ordinal Functions-Footnote-2652168
+Node: Join Function652378
+Ref: Join Function-Footnote-1654148
+Node: Getlocaltime Function654348
+Node: Readfile Function658090
+Node: Shell Quoting660062
+Node: Data File Management661463
+Node: Filetrans Function662095
+Node: Rewind Function666191
+Node: File Checking668101
+Ref: File Checking-Footnote-1669435
+Node: Empty Files669636
+Node: Ignoring Assigns671615
+Node: Getopt Function673165
+Ref: Getopt Function-Footnote-1684634
+Node: Passwd Functions684834
+Ref: Passwd Functions-Footnote-1693673
+Node: Group Functions693761
+Ref: Group Functions-Footnote-1701659
+Node: Walking Arrays701866
+Node: Library Functions Summary704874
+Node: Library Exercises706280
+Node: Sample Programs706745
+Node: Running Examples707515
+Node: Clones708243
+Node: Cut Program709467
+Node: Egrep Program719396
+Ref: Egrep Program-Footnote-1726908
+Node: Id Program727018
+Node: Split Program730698
+Ref: Split Program-Footnote-1734157
+Node: Tee Program734286
+Node: Uniq Program737076
+Node: Wc Program744502
+Ref: Wc Program-Footnote-1748757
+Node: Miscellaneous Programs748851
+Node: Dupword Program750064
+Node: Alarm Program752094
+Node: Translate Program756949
+Ref: Translate Program-Footnote-1761514
+Node: Labels Program761784
+Ref: Labels Program-Footnote-1765135
+Node: Word Sorting765219
+Node: History Sorting769291
+Node: Extract Program771126
+Node: Simple Sed778655
+Node: Igawk Program781729
+Ref: Igawk Program-Footnote-1796060
+Ref: Igawk Program-Footnote-2796262
+Ref: Igawk Program-Footnote-3796384
+Node: Anagram Program796499
+Node: Signature Program799561
+Node: Programs Summary800808
+Node: Programs Exercises802022
+Ref: Programs Exercises-Footnote-1806151
+Node: Advanced Features806242
+Node: Nondecimal Data808232
+Node: Array Sorting809823
+Node: Controlling Array Traversal810523
+Ref: Controlling Array Traversal-Footnote-1818890
+Node: Array Sorting Functions819008
+Ref: Array Sorting Functions-Footnote-1824099
+Node: Two-way I/O824295
+Ref: Two-way I/O-Footnote-1830846
+Ref: Two-way I/O-Footnote-2831033
+Node: TCP/IP Networking831115
+Node: Profiling834233
+Ref: Profiling-Footnote-1842905
+Node: Advanced Features Summary843228
+Node: Internationalization845072
+Node: I18N and L10N846552
+Node: Explaining gettext847239
+Ref: Explaining gettext-Footnote-1853131
+Ref: Explaining gettext-Footnote-2853316
+Node: Programmer i18n853481
+Ref: Programmer i18n-Footnote-1858430
+Node: Translator i18n858479
+Node: String Extraction859273
+Ref: String Extraction-Footnote-1860405
+Node: Printf Ordering860491
+Ref: Printf Ordering-Footnote-1863277
+Node: I18N Portability863341
+Ref: I18N Portability-Footnote-1865797
+Node: I18N Example865860
+Ref: I18N Example-Footnote-1868666
+Node: Gawk I18N868739
+Node: I18N Summary869384
+Node: Debugger870725
+Node: Debugging871727
+Node: Debugging Concepts872168
+Node: Debugging Terms873977
+Node: Awk Debugging876552
+Node: Sample Debugging Session877458
+Node: Debugger Invocation877992
+Node: Finding The Bug879378
+Node: List of Debugger Commands885856
+Node: Breakpoint Control887189
+Node: Debugger Execution Control890883
+Node: Viewing And Changing Data894245
+Node: Execution Stack897619
+Node: Debugger Info899256
+Node: Miscellaneous Debugger Commands903327
+Node: Readline Support908415
+Node: Limitations909311
+Node: Debugging Summary911420
+Node: Namespaces912699
+Node: Global Namespace913517
+Node: Qualified Names914871
+Node: Default Namespace915870
+Node: Changing The Namespace916611
+Node: Naming Rules918222
+Node: Internal Name Management920071
+Node: Namespace Example921113
+Node: Namespace And Features923675
+Node: Namespace Summary925110
+Node: Arbitrary Precision Arithmetic926587
+Node: Computer Arithmetic928074
+Ref: table-numeric-ranges931665
+Ref: Computer Arithmetic-Footnote-1932387
+Node: Math Definitions932444
+Ref: table-ieee-formats935758
+Ref: Math Definitions-Footnote-1936361
+Node: MPFR features936466
+Node: FP Math Caution938183
+Ref: FP Math Caution-Footnote-1939255
+Node: Inexactness of computations939624
+Node: Inexact representation940584
+Node: Comparing FP Values941944
+Node: Errors accumulate943026
+Node: Getting Accuracy944459
+Node: Try To Round947169
+Node: Setting precision948068
+Ref: table-predefined-precision-strings948765
+Node: Setting the rounding mode950595
+Ref: table-gawk-rounding-modes950969
+Ref: Setting the rounding mode-Footnote-1954377
+Node: Arbitrary Precision Integers954556
+Ref: Arbitrary Precision Integers-Footnote-1959461
+Node: Checking for MPFR959610
+Node: POSIX Floating Point Problems960907
+Ref: POSIX Floating Point Problems-Footnote-1964778
+Node: Floating point summary964816
+Node: Dynamic Extensions967006
+Node: Extension Intro968559
+Node: Plugin License969825
+Node: Extension Mechanism Outline970622
+Ref: figure-load-extension971061
+Ref: figure-register-new-function972626
+Ref: figure-call-new-function973718
+Node: Extension API Description975780
+Node: Extension API Functions Introduction977422
+Node: General Data Types982756
+Ref: General Data Types-Footnote-1989961
+Node: Memory Allocation Functions990260
+Ref: Memory Allocation Functions-Footnote-1993412
+Node: Constructor Functions993511
+Node: Registration Functions996510
+Node: Extension Functions997195
+Node: Exit Callback Functions1002408
+Node: Extension Version String1003658
+Node: Input Parsers1004321
+Node: Output Wrappers1017028
+Node: Two-way processors1021540
+Node: Printing Messages1023805
+Ref: Printing Messages-Footnote-11024976
+Node: Updating ERRNO1025129
+Node: Requesting Values1025868
+Ref: table-value-types-returned1026605
+Node: Accessing Parameters1027541
+Node: Symbol Table Access1028776
+Node: Symbol table by name1029288
+Ref: Symbol table by name-Footnote-11032178
+Node: Symbol table by cookie1032306
+Ref: Symbol table by cookie-Footnote-11036491
+Node: Cached values1036555
+Ref: Cached values-Footnote-11040091
+Node: Array Manipulation1040182
+Ref: Array Manipulation-Footnote-11041273
+Node: Array Data Types1041310
+Ref: Array Data Types-Footnote-11043968
+Node: Array Functions1044060
+Node: Flattening Arrays1048459
+Node: Creating Arrays1055400
+Node: Redirection API1060169
+Node: Extension API Variables1063011
+Node: Extension Versioning1063644
+Ref: gawk-api-version1064081
+Node: Extension API Informational Variables1065809
+Node: Extension API Boilerplate1066873
+Node: Changes from API V11070735
+Node: Finding Extensions1071395
+Node: Extension Example1071954
+Node: Internal File Description1072752
+Node: Internal File Ops1076832
+Ref: Internal File Ops-Footnote-11088232
+Node: Using Internal File Ops1088372
+Ref: Using Internal File Ops-Footnote-11090755
+Node: Extension Samples1091029
+Node: Extension Sample File Functions1092558
+Node: Extension Sample Fnmatch1100207
+Node: Extension Sample Fork1101694
+Node: Extension Sample Inplace1102912
+Node: Extension Sample Ord1106216
+Node: Extension Sample Readdir1107052
+Ref: table-readdir-file-types1107941
+Node: Extension Sample Revout1108746
+Node: Extension Sample Rev2way1109335
+Node: Extension Sample Read write array1110075
+Node: Extension Sample Readfile1112017
+Node: Extension Sample Time1113112
+Node: Extension Sample API Tests1114460
+Node: gawkextlib1114952
+Node: Extension summary1117399
+Node: Extension Exercises1121101
+Node: Language History1122343
+Node: V7/SVR3.11123999
+Node: SVR41126151
+Node: POSIX1127585
+Node: BTL1128964
+Node: POSIX/GNU1129693
+Node: Feature History1135585
+Node: Common Extensions1150009
+Node: Ranges and Locales1151292
+Ref: Ranges and Locales-Footnote-11155908
+Ref: Ranges and Locales-Footnote-21155935
+Ref: Ranges and Locales-Footnote-31156170
+Node: Contributors1156391
+Node: History summary1161951
+Node: Installation1163331
+Node: Gawk Distribution1164275
+Node: Getting1164759
+Node: Extracting1165720
+Node: Distribution contents1167358
+Node: Unix Installation1173700
+Node: Quick Installation1174382
+Node: Shell Startup Files1176796
+Node: Additional Configuration Options1177885
+Node: Configuration Philosophy1179874
+Node: Non-Unix Installation1182243
+Node: PC Installation1182703
+Node: PC Binary Installation1183541
+Node: PC Compiling1183976
+Node: PC Using1185093
+Node: Cygwin1188138
+Node: MSYS1188908
+Node: VMS Installation1189409
+Node: VMS Compilation1190200
+Ref: VMS Compilation-Footnote-11191429
+Node: VMS Dynamic Extensions1191487
+Node: VMS Installation Details1193172
+Node: VMS Running1195425
+Node: VMS GNV1199704
+Node: VMS Old Gawk1200439
+Node: Bugs1200910
+Node: Bug address1201573
+Node: Usenet1203970
+Node: Maintainers1204747
+Node: Other Versions1206123
+Node: Installation summary1212707
+Node: Notes1213742
+Node: Compatibility Mode1214607
+Node: Additions1215389
+Node: Accessing The Source1216314
+Node: Adding Code1217749
+Node: New Ports1223967
+Node: Derived Files1228455
+Ref: Derived Files-Footnote-11233940
+Ref: Derived Files-Footnote-21233975
+Ref: Derived Files-Footnote-31234573
+Node: Future Extensions1234687
+Node: Implementation Limitations1235345
+Node: Extension Design1236528
+Node: Old Extension Problems1237682
+Ref: Old Extension Problems-Footnote-11239200
+Node: Extension New Mechanism Goals1239257
+Ref: Extension New Mechanism Goals-Footnote-11242621
+Node: Extension Other Design Decisions1242810
+Node: Extension Future Growth1244923
+Node: Old Extension Mechanism1245759
+Node: Notes summary1247522
+Node: Basic Concepts1248704
+Node: Basic High Level1249385
+Ref: figure-general-flow1249667
+Ref: figure-process-flow1250352
+Ref: Basic High Level-Footnote-11253653
+Node: Basic Data Typing1253838
+Node: Glossary1257166
+Node: Copying1289113
+Node: GNU Free Documentation License1326652
+Node: Index1351770
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index baf75d4..54be3db 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -902,7 +902,8 @@ particular records in a file and perform operations upon 
them.
 * Naming Rules::                        Namespace and Component Naming Rules.
 * Internal Name Management::            How names are stored internally.
 * Namespace Example::                   An example of code using a namespace.
-* Namespace And Features::      Namespaces and other @command{gawk} features.
+* Namespace And Features::              Namespaces and other @command{gawk} 
features.
+* Namespace Summary::                   Summarizing namespaces.
 * Computer Arithmetic::                 A quick intro to computer math.
 * Math Definitions::                    Defining terms used.
 * MPFR features::                       The MPFR features in @command{gawk}.
@@ -31257,6 +31258,7 @@ This @value{CHAPTER} describes a feature that is 
specific to @command{gawk}.
 * Internal Name Management::    How names are stored internally.
 * Namespace Example::           An example of code using a namespace.
 * Namespace And Features::      Namespaces and other @command{gawk} features.
+* Namespace Summary::           Summarizing namespaces.
 @end menu
 
 @node Global Namespace
@@ -31606,6 +31608,41 @@ been corrected (@pxref{Symbol table by name}).
 @xref{Extension Sample Inplace}, for a nice example of an extension that
 leverages a namespace shared by cooperating @command{awk} and C code.
 
address@hidden Namespace Summary
address@hidden Summary
+
address@hidden @value{BULLET}
address@hidden
+Standard @command{awk} provides a single namespace for all global
+identifiers (scalars, arrays, and functions).  This is limiting when
+one wants to develop libraries of reusable functions or function suites.
+
address@hidden
address@hidden provides multiple namespaces by using qualified names:
+names consisting of a namespace name, a double colon, @code{::}, and a
+component name.  Namespace names might still possibly conflict, but this
+is true of any language providing namespaces, modules, or packages.
+
address@hidden
+The default namespace is @command{awk}. The rules for namespace and
+component names are provided in @ref{Naming Rules}. The rules are
+designed in such a way as to make namespace-aware code continue to
+look and work naturally while still providing the necessary power and
+flexibility.
+
address@hidden
+Other parts of @command{gawk} have been extended as necessary to integrate
+namespaces smoothly with their operation.  This applies most notably to
+the profiler / pretty-printer (@pxref{Profiling}) and to the extension
+facility (@pxref{Dynamic Extensions}).
+
address@hidden
+Overall, the namespace facility was designed and implemented such that
+backwards compatibility is paramount. Programs that don't use namespaces
+should see absolutely no difference in behavior when run by a namespace-capable
+version of @command{gawk}.
address@hidden itemize
+
 @node Arbitrary Precision Arithmetic
 @chapter Arithmetic and Arbitrary-Precision Arithmetic with @command{gawk}
 @cindex arbitrary precision
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 2c13da4..3a56cf8 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -897,7 +897,8 @@ particular records in a file and perform operations upon 
them.
 * Naming Rules::                        Namespace and Component Naming Rules.
 * Internal Name Management::            How names are stored internally.
 * Namespace Example::                   An example of code using a namespace.
-* Namespace And Features::      Namespaces and other @command{gawk} features.
+* Namespace And Features::              Namespaces and other @command{gawk} 
features.
+* Namespace Summary::                   Summarizing namespaces.
 * Computer Arithmetic::                 A quick intro to computer math.
 * Math Definitions::                    Defining terms used.
 * MPFR features::                       The MPFR features in @command{gawk}.
@@ -30271,6 +30272,7 @@ This @value{CHAPTER} describes a feature that is 
specific to @command{gawk}.
 * Internal Name Management::    How names are stored internally.
 * Namespace Example::           An example of code using a namespace.
 * Namespace And Features::      Namespaces and other @command{gawk} features.
+* Namespace Summary::           Summarizing namespaces.
 @end menu
 
 @node Global Namespace
@@ -30620,6 +30622,41 @@ been corrected (@pxref{Symbol table by name}).
 @xref{Extension Sample Inplace}, for a nice example of an extension that
 leverages a namespace shared by cooperating @command{awk} and C code.
 
address@hidden Namespace Summary
address@hidden Summary
+
address@hidden @value{BULLET}
address@hidden
+Standard @command{awk} provides a single namespace for all global
+identifiers (scalars, arrays, and functions).  This is limiting when
+one wants to develop libraries of reusable functions or function suites.
+
address@hidden
address@hidden provides multiple namespaces by using qualified names:
+names consisting of a namespace name, a double colon, @code{::}, and a
+component name.  Namespace names might still possibly conflict, but this
+is true of any language providing namespaces, modules, or packages.
+
address@hidden
+The default namespace is @command{awk}. The rules for namespace and
+component names are provided in @ref{Naming Rules}. The rules are
+designed in such a way as to make namespace-aware code continue to
+look and work naturally while still providing the necessary power and
+flexibility.
+
address@hidden
+Other parts of @command{gawk} have been extended as necessary to integrate
+namespaces smoothly with their operation.  This applies most notably to
+the profiler / pretty-printer (@pxref{Profiling}) and to the extension
+facility (@pxref{Dynamic Extensions}).
+
address@hidden
+Overall, the namespace facility was designed and implemented such that
+backwards compatibility is paramount. Programs that don't use namespaces
+should see absolutely no difference in behavior when run by a namespace-capable
+version of @command{gawk}.
address@hidden itemize
+
 @node Arbitrary Precision Arithmetic
 @chapter Arithmetic and Arbitrary-Precision Arithmetic with @command{gawk}
 @cindex arbitrary precision

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

Summary of changes:
 doc/ChangeLog   |    5 +
 doc/gawk.info   | 1210 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |   39 +-
 doc/gawktexi.in |   39 +-
 4 files changed, 704 insertions(+), 589 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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