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-2599-g8423964
Date: Fri, 23 Jun 2017 09:09:38 -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  8423964def2fa84b93b6286d4174a139336aeddb (commit)
      from  561addbd599af5f32977c0ced24cbfb2356f5879 (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=8423964def2fa84b93b6286d4174a139336aeddb

commit 8423964def2fa84b93b6286d4174a139336aeddb
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Jun 23 16:09:21 2017 +0300

    More namespace doc edits.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 4d8fa89..f7e839f 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2017-06-23         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in (Namespaces): More minor doc edits.
+
 2017-06-19         Andrew J. Schorr     <address@hidden>
 
        * gawktexi.in (Memory Allocation Functions and Convenience Macros):
diff --git a/doc/gawk.info b/doc/gawk.info
index e0b0cef..3ba9d06 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -19766,7 +19766,7 @@ File: gawk.info,  Node: Global Namespace,  Next: 
Qualified Names,  Up: Namespace
 In standard 'awk', there is a single, global, "namespace".  This means
 that _all_ function names and global variable names must be unique.  For
 example, two different 'awk' source files cannot both define a function
-named 'min()'.
+named 'min()', or define an array named 'data'.
 
    This situation is okay when programs are small, say a few hundred
 lines, or even a few thousand, but it prevents the development of
@@ -19779,10 +19779,11 @@ kind of namespace control: a way to say "this 
function is in namespace
 XXX, and that function is in namespace YYY."  (Of course, there is then
 still a single namespace for the namespaces, but the hope is that there
 are much fewer namespaces in use by any given program, and thus much
-less chance for collisions.)
+less chance for collisions.)  These facilities are sometimes referred to
+as "packages" or "modules".
 
    Starting with version *FIXME* 5.0, 'gawk' provides a mechanism to put
-functions and global variables into different namespaces.
+functions and global variables into separate namespaces.
 
 
 File: gawk.info,  Node: Qualified Names,  Next: Default Namespace,  Prev: 
Global Namespace,  Up: Namespaces
@@ -19803,8 +19804,9 @@ such separator is allowed in a qualified name.
 
    You must use fully qualified names from one namespace to access
 variables and functions in another.  This is especially important when
-using variable names to index the special 'SYMTAB' array, and when
-making indirect function calls.  *FIXME:* and xref.
+using variable names to index the special 'SYMTAB' array (*note
+Auto-set::), and when making indirect function calls (*note Indirect
+Calls::).
 
    It is a syntax error to use any 'gawk' reserved word (such as 'if' or
 'for'), or the name of any built-in function (such as 'sin()' or
@@ -19854,15 +19856,14 @@ are placed into the 'passwd' namespace.
    You can change the namespace multiple times within a single source
 file, although this is likely to become confusing if you do it too much.
 
-     NOTE: The namespace concept is one handled while your program is
-     being parsed by 'gawk'.  There is no concept of a "current"
-     namespace during runtime.  Be sure you understand the distinction.
+     NOTE: Association of unqualified identifiers to a namespace is
+     handled while your program is being parsed by 'gawk' and before it
+     starts to run.  There is no concept of a "current" namespace once
+     your program starts executing.  Be sure you understand this.
 
-   Each source file for '-i' and '-f' (FIXME: pxref) starts out with an
-implicit '@namespace "awk"'.
-
-   Similarly, each chunk of command-line code with '-e' has such an
-implicit statement.
+   Each source file for '-i' and '-f' starts out with an implicit
+'@namespace "awk"'.  Similarly, each chunk of command-line code supplied
+with '-e' has such an implicit initial statement (*note Options::).
 
    The use of '@namespace' has no influence upon the order of execution
 of 'BEGIN', 'BEGINFILE', 'END', and 'ENDFILE' rules.
@@ -19876,8 +19877,8 @@ File: gawk.info,  Node: Internal Name Management,  
Next: Namespace Example,  Pre
 For backwards compatibility, all identifiers in the 'awk' namespace are
 stored internally as unadorned identifiers.  This is mainly relevant
 when using such identifiers as indices for 'SYMTAB', 'FUNCTAB', and
-'PROCINFO["identifiers"]' (FIXME: xref), and for use in indirect
-function calls (FIXME: xref).
+'PROCINFO["identifiers"]' (*note Auto-set::), and for use in indirect
+function calls (*note Indirect Calls::).
 
    In program code, to refer to variables and functions in the 'awk'
 namespace from another namespace, you must still use the 'awk::' prefix.
@@ -36412,235 +36413,235 @@ Node: Programs Exercises800575
 Ref: Programs Exercises-Footnote-1804704
 Node: Namespaces804795
 Node: Global Namespace805475
-Node: Qualified Names806718
-Node: Default Namespace808074
-Node: Changing The Namespace808851
-Node: Internal Name Management809976
-Node: Namespace Example810981
-Node: Namespace Misc813050
-Node: Advanced Features814692
-Node: Nondecimal Data816677
-Node: Array Sorting818268
-Node: Controlling Array Traversal818968
-Ref: Controlling Array Traversal-Footnote-1827335
-Node: Array Sorting Functions827453
-Ref: Array Sorting Functions-Footnote-1832544
-Node: Two-way I/O832740
-Ref: Two-way I/O-Footnote-1839291
-Ref: Two-way I/O-Footnote-2839478
-Node: TCP/IP Networking839560
-Node: Profiling842678
-Ref: Profiling-Footnote-1851350
-Node: Advanced Features Summary851673
-Node: Internationalization853517
-Node: I18N and L10N854997
-Node: Explaining gettext855684
-Ref: Explaining gettext-Footnote-1861576
-Ref: Explaining gettext-Footnote-2861761
-Node: Programmer i18n861926
-Ref: Programmer i18n-Footnote-1866875
-Node: Translator i18n866924
-Node: String Extraction867718
-Ref: String Extraction-Footnote-1868850
-Node: Printf Ordering868936
-Ref: Printf Ordering-Footnote-1871722
-Node: I18N Portability871786
-Ref: I18N Portability-Footnote-1874242
-Node: I18N Example874305
-Ref: I18N Example-Footnote-1877111
-Node: Gawk I18N877184
-Node: I18N Summary877829
-Node: Debugger879170
-Node: Debugging880192
-Node: Debugging Concepts880633
-Node: Debugging Terms882442
-Node: Awk Debugging885017
-Node: Sample Debugging Session885923
-Node: Debugger Invocation886457
-Node: Finding The Bug887843
-Node: List of Debugger Commands894321
-Node: Breakpoint Control895654
-Node: Debugger Execution Control899348
-Node: Viewing And Changing Data902710
-Node: Execution Stack906084
-Node: Debugger Info907721
-Node: Miscellaneous Debugger Commands911792
-Node: Readline Support916880
-Node: Limitations917776
-Node: Debugging Summary919885
-Node: Arbitrary Precision Arithmetic921164
-Node: Computer Arithmetic922649
-Ref: table-numeric-ranges926240
-Ref: Computer Arithmetic-Footnote-1926962
-Node: Math Definitions927019
-Ref: table-ieee-formats930333
-Ref: Math Definitions-Footnote-1930936
-Node: MPFR features931041
-Node: FP Math Caution932758
-Ref: FP Math Caution-Footnote-1933830
-Node: Inexactness of computations934199
-Node: Inexact representation935159
-Node: Comparing FP Values936519
-Node: Errors accumulate937601
-Node: Getting Accuracy939034
-Node: Try To Round941744
-Node: Setting precision942643
-Ref: table-predefined-precision-strings943340
-Node: Setting the rounding mode945170
-Ref: table-gawk-rounding-modes945544
-Ref: Setting the rounding mode-Footnote-1948952
-Node: Arbitrary Precision Integers949131
-Ref: Arbitrary Precision Integers-Footnote-1954036
-Node: Checking for MPFR954185
-Node: POSIX Floating Point Problems955482
-Ref: POSIX Floating Point Problems-Footnote-1959353
-Node: Floating point summary959391
-Node: Dynamic Extensions961581
-Node: Extension Intro963134
-Node: Plugin License964400
-Node: Extension Mechanism Outline965197
-Ref: figure-load-extension965636
-Ref: figure-register-new-function967201
-Ref: figure-call-new-function968293
-Node: Extension API Description970355
-Node: Extension API Functions Introduction971997
-Node: General Data Types977331
-Ref: General Data Types-Footnote-1984536
-Node: Memory Allocation Functions984835
-Ref: Memory Allocation Functions-Footnote-1987987
-Node: Constructor Functions988086
-Node: Registration Functions991085
-Node: Extension Functions991770
-Node: Exit Callback Functions996983
-Node: Extension Version String998233
-Node: Input Parsers998896
-Node: Output Wrappers1011603
-Node: Two-way processors1016115
-Node: Printing Messages1018380
-Ref: Printing Messages-Footnote-11019551
-Node: Updating ERRNO1019704
-Node: Requesting Values1020443
-Ref: table-value-types-returned1021180
-Node: Accessing Parameters1022116
-Node: Symbol Table Access1023351
-Node: Symbol table by name1023863
-Node: Symbol table by cookie1025652
-Ref: Symbol table by cookie-Footnote-11029837
-Node: Cached values1029901
-Ref: Cached values-Footnote-11033437
-Node: Array Manipulation1033528
-Ref: Array Manipulation-Footnote-11034619
-Node: Array Data Types1034656
-Ref: Array Data Types-Footnote-11037314
-Node: Array Functions1037406
-Node: Flattening Arrays1041805
-Node: Creating Arrays1048746
-Node: Redirection API1053515
-Node: Extension API Variables1056357
-Node: Extension Versioning1056990
-Ref: gawk-api-version1057427
-Node: Extension API Informational Variables1059155
-Node: Extension API Boilerplate1060219
-Node: Changes from API V11064081
-Node: Finding Extensions1064741
-Node: Extension Example1065300
-Node: Internal File Description1066098
-Node: Internal File Ops1070178
-Ref: Internal File Ops-Footnote-11081578
-Node: Using Internal File Ops1081718
-Ref: Using Internal File Ops-Footnote-11084101
-Node: Extension Samples1084375
-Node: Extension Sample File Functions1085904
-Node: Extension Sample Fnmatch1093553
-Node: Extension Sample Fork1095040
-Node: Extension Sample Inplace1096258
-Node: Extension Sample Ord1099475
-Node: Extension Sample Readdir1100311
-Ref: table-readdir-file-types1101200
-Node: Extension Sample Revout1102005
-Node: Extension Sample Rev2way1102594
-Node: Extension Sample Read write array1103334
-Node: Extension Sample Readfile1105276
-Node: Extension Sample Time1106371
-Node: Extension Sample API Tests1107719
-Node: gawkextlib1108211
-Node: Extension summary1110658
-Node: Extension Exercises1114360
-Node: Language History1115858
-Node: V7/SVR3.11117514
-Node: SVR41119666
-Node: POSIX1121100
-Node: BTL1122479
-Node: POSIX/GNU1123208
-Node: Feature History1129100
-Node: Common Extensions1143524
-Node: Ranges and Locales1144807
-Ref: Ranges and Locales-Footnote-11149423
-Ref: Ranges and Locales-Footnote-21149450
-Ref: Ranges and Locales-Footnote-31149685
-Node: Contributors1149906
-Node: History summary1155466
-Node: Installation1156846
-Node: Gawk Distribution1157790
-Node: Getting1158274
-Node: Extracting1159235
-Node: Distribution contents1160873
-Node: Unix Installation1167215
-Node: Quick Installation1167897
-Node: Shell Startup Files1170311
-Node: Additional Configuration Options1171400
-Node: Configuration Philosophy1173389
-Node: Non-Unix Installation1175758
-Node: PC Installation1176218
-Node: PC Binary Installation1177056
-Node: PC Compiling1177491
-Node: PC Using1178608
-Node: Cygwin1181653
-Node: MSYS1182423
-Node: VMS Installation1182924
-Node: VMS Compilation1183715
-Ref: VMS Compilation-Footnote-11184944
-Node: VMS Dynamic Extensions1185002
-Node: VMS Installation Details1186687
-Node: VMS Running1188940
-Node: VMS GNV1193219
-Node: VMS Old Gawk1193954
-Node: Bugs1194425
-Node: Bug address1195088
-Node: Usenet1197485
-Node: Maintainers1198262
-Node: Other Versions1199638
-Node: Installation summary1206222
-Node: Notes1207257
-Node: Compatibility Mode1208122
-Node: Additions1208904
-Node: Accessing The Source1209829
-Node: Adding Code1211264
-Node: New Ports1217482
-Node: Derived Files1221970
-Ref: Derived Files-Footnote-11227455
-Ref: Derived Files-Footnote-21227490
-Ref: Derived Files-Footnote-31228088
-Node: Future Extensions1228202
-Node: Implementation Limitations1228860
-Node: Extension Design1230043
-Node: Old Extension Problems1231197
-Ref: Old Extension Problems-Footnote-11232715
-Node: Extension New Mechanism Goals1232772
-Ref: Extension New Mechanism Goals-Footnote-11236136
-Node: Extension Other Design Decisions1236325
-Node: Extension Future Growth1238438
-Node: Old Extension Mechanism1239274
-Node: Notes summary1241037
-Node: Basic Concepts1242219
-Node: Basic High Level1242900
-Ref: figure-general-flow1243182
-Ref: figure-process-flow1243867
-Ref: Basic High Level-Footnote-11247168
-Node: Basic Data Typing1247353
-Node: Glossary1250681
-Node: Copying1282628
-Node: GNU Free Documentation License1320167
-Node: Index1345285
+Node: Qualified Names806822
+Node: Default Namespace808202
+Node: Changing The Namespace808979
+Node: Internal Name Management810191
+Node: Namespace Example811212
+Node: Namespace Misc813281
+Node: Advanced Features814923
+Node: Nondecimal Data816908
+Node: Array Sorting818499
+Node: Controlling Array Traversal819199
+Ref: Controlling Array Traversal-Footnote-1827566
+Node: Array Sorting Functions827684
+Ref: Array Sorting Functions-Footnote-1832775
+Node: Two-way I/O832971
+Ref: Two-way I/O-Footnote-1839522
+Ref: Two-way I/O-Footnote-2839709
+Node: TCP/IP Networking839791
+Node: Profiling842909
+Ref: Profiling-Footnote-1851581
+Node: Advanced Features Summary851904
+Node: Internationalization853748
+Node: I18N and L10N855228
+Node: Explaining gettext855915
+Ref: Explaining gettext-Footnote-1861807
+Ref: Explaining gettext-Footnote-2861992
+Node: Programmer i18n862157
+Ref: Programmer i18n-Footnote-1867106
+Node: Translator i18n867155
+Node: String Extraction867949
+Ref: String Extraction-Footnote-1869081
+Node: Printf Ordering869167
+Ref: Printf Ordering-Footnote-1871953
+Node: I18N Portability872017
+Ref: I18N Portability-Footnote-1874473
+Node: I18N Example874536
+Ref: I18N Example-Footnote-1877342
+Node: Gawk I18N877415
+Node: I18N Summary878060
+Node: Debugger879401
+Node: Debugging880423
+Node: Debugging Concepts880864
+Node: Debugging Terms882673
+Node: Awk Debugging885248
+Node: Sample Debugging Session886154
+Node: Debugger Invocation886688
+Node: Finding The Bug888074
+Node: List of Debugger Commands894552
+Node: Breakpoint Control895885
+Node: Debugger Execution Control899579
+Node: Viewing And Changing Data902941
+Node: Execution Stack906315
+Node: Debugger Info907952
+Node: Miscellaneous Debugger Commands912023
+Node: Readline Support917111
+Node: Limitations918007
+Node: Debugging Summary920116
+Node: Arbitrary Precision Arithmetic921395
+Node: Computer Arithmetic922880
+Ref: table-numeric-ranges926471
+Ref: Computer Arithmetic-Footnote-1927193
+Node: Math Definitions927250
+Ref: table-ieee-formats930564
+Ref: Math Definitions-Footnote-1931167
+Node: MPFR features931272
+Node: FP Math Caution932989
+Ref: FP Math Caution-Footnote-1934061
+Node: Inexactness of computations934430
+Node: Inexact representation935390
+Node: Comparing FP Values936750
+Node: Errors accumulate937832
+Node: Getting Accuracy939265
+Node: Try To Round941975
+Node: Setting precision942874
+Ref: table-predefined-precision-strings943571
+Node: Setting the rounding mode945401
+Ref: table-gawk-rounding-modes945775
+Ref: Setting the rounding mode-Footnote-1949183
+Node: Arbitrary Precision Integers949362
+Ref: Arbitrary Precision Integers-Footnote-1954267
+Node: Checking for MPFR954416
+Node: POSIX Floating Point Problems955713
+Ref: POSIX Floating Point Problems-Footnote-1959584
+Node: Floating point summary959622
+Node: Dynamic Extensions961812
+Node: Extension Intro963365
+Node: Plugin License964631
+Node: Extension Mechanism Outline965428
+Ref: figure-load-extension965867
+Ref: figure-register-new-function967432
+Ref: figure-call-new-function968524
+Node: Extension API Description970586
+Node: Extension API Functions Introduction972228
+Node: General Data Types977562
+Ref: General Data Types-Footnote-1984767
+Node: Memory Allocation Functions985066
+Ref: Memory Allocation Functions-Footnote-1988218
+Node: Constructor Functions988317
+Node: Registration Functions991316
+Node: Extension Functions992001
+Node: Exit Callback Functions997214
+Node: Extension Version String998464
+Node: Input Parsers999127
+Node: Output Wrappers1011834
+Node: Two-way processors1016346
+Node: Printing Messages1018611
+Ref: Printing Messages-Footnote-11019782
+Node: Updating ERRNO1019935
+Node: Requesting Values1020674
+Ref: table-value-types-returned1021411
+Node: Accessing Parameters1022347
+Node: Symbol Table Access1023582
+Node: Symbol table by name1024094
+Node: Symbol table by cookie1025883
+Ref: Symbol table by cookie-Footnote-11030068
+Node: Cached values1030132
+Ref: Cached values-Footnote-11033668
+Node: Array Manipulation1033759
+Ref: Array Manipulation-Footnote-11034850
+Node: Array Data Types1034887
+Ref: Array Data Types-Footnote-11037545
+Node: Array Functions1037637
+Node: Flattening Arrays1042036
+Node: Creating Arrays1048977
+Node: Redirection API1053746
+Node: Extension API Variables1056588
+Node: Extension Versioning1057221
+Ref: gawk-api-version1057658
+Node: Extension API Informational Variables1059386
+Node: Extension API Boilerplate1060450
+Node: Changes from API V11064312
+Node: Finding Extensions1064972
+Node: Extension Example1065531
+Node: Internal File Description1066329
+Node: Internal File Ops1070409
+Ref: Internal File Ops-Footnote-11081809
+Node: Using Internal File Ops1081949
+Ref: Using Internal File Ops-Footnote-11084332
+Node: Extension Samples1084606
+Node: Extension Sample File Functions1086135
+Node: Extension Sample Fnmatch1093784
+Node: Extension Sample Fork1095271
+Node: Extension Sample Inplace1096489
+Node: Extension Sample Ord1099706
+Node: Extension Sample Readdir1100542
+Ref: table-readdir-file-types1101431
+Node: Extension Sample Revout1102236
+Node: Extension Sample Rev2way1102825
+Node: Extension Sample Read write array1103565
+Node: Extension Sample Readfile1105507
+Node: Extension Sample Time1106602
+Node: Extension Sample API Tests1107950
+Node: gawkextlib1108442
+Node: Extension summary1110889
+Node: Extension Exercises1114591
+Node: Language History1116089
+Node: V7/SVR3.11117745
+Node: SVR41119897
+Node: POSIX1121331
+Node: BTL1122710
+Node: POSIX/GNU1123439
+Node: Feature History1129331
+Node: Common Extensions1143755
+Node: Ranges and Locales1145038
+Ref: Ranges and Locales-Footnote-11149654
+Ref: Ranges and Locales-Footnote-21149681
+Ref: Ranges and Locales-Footnote-31149916
+Node: Contributors1150137
+Node: History summary1155697
+Node: Installation1157077
+Node: Gawk Distribution1158021
+Node: Getting1158505
+Node: Extracting1159466
+Node: Distribution contents1161104
+Node: Unix Installation1167446
+Node: Quick Installation1168128
+Node: Shell Startup Files1170542
+Node: Additional Configuration Options1171631
+Node: Configuration Philosophy1173620
+Node: Non-Unix Installation1175989
+Node: PC Installation1176449
+Node: PC Binary Installation1177287
+Node: PC Compiling1177722
+Node: PC Using1178839
+Node: Cygwin1181884
+Node: MSYS1182654
+Node: VMS Installation1183155
+Node: VMS Compilation1183946
+Ref: VMS Compilation-Footnote-11185175
+Node: VMS Dynamic Extensions1185233
+Node: VMS Installation Details1186918
+Node: VMS Running1189171
+Node: VMS GNV1193450
+Node: VMS Old Gawk1194185
+Node: Bugs1194656
+Node: Bug address1195319
+Node: Usenet1197716
+Node: Maintainers1198493
+Node: Other Versions1199869
+Node: Installation summary1206453
+Node: Notes1207488
+Node: Compatibility Mode1208353
+Node: Additions1209135
+Node: Accessing The Source1210060
+Node: Adding Code1211495
+Node: New Ports1217713
+Node: Derived Files1222201
+Ref: Derived Files-Footnote-11227686
+Ref: Derived Files-Footnote-21227721
+Ref: Derived Files-Footnote-31228319
+Node: Future Extensions1228433
+Node: Implementation Limitations1229091
+Node: Extension Design1230274
+Node: Old Extension Problems1231428
+Ref: Old Extension Problems-Footnote-11232946
+Node: Extension New Mechanism Goals1233003
+Ref: Extension New Mechanism Goals-Footnote-11236367
+Node: Extension Other Design Decisions1236556
+Node: Extension Future Growth1238669
+Node: Old Extension Mechanism1239505
+Node: Notes summary1241268
+Node: Basic Concepts1242450
+Node: Basic High Level1243131
+Ref: figure-general-flow1243413
+Ref: figure-process-flow1244098
+Ref: Basic High Level-Footnote-11247399
+Node: Basic Data Typing1247584
+Node: Glossary1250912
+Node: Copying1282859
+Node: GNU Free Documentation License1320398
+Node: Index1345516
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 4a52fd9..434e7ff 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -27629,7 +27629,7 @@ This @value{CHAPTER} describes a feature that is 
specific to @command{gawk}.
 In standard @command{awk}, there is a single, global, @dfn{namespace}.
 This means that @emph{all} function names and global variable names must
 be unique. For example, two different @command{awk} source files cannot
-both define a function named @code{min()}.
+both define a function named @code{min()}, or define an array named 
@code{data}.
 
 This situation is okay when programs are small, say a few hundred
 lines, or even a few thousand, but it prevents the development of
@@ -27643,10 +27643,11 @@ of namespace control: a way to say ``this function is 
in namespace @var{xxx},
 and that function is in namespace @var{yyy}.''  (Of course, there is then
 still a single namespace for the namespaces, but the hope is that there
 are much fewer namespaces in use by any given program, and thus much
-less chance for collisions.)
+less chance for collisions.)  These facilities are sometimes referred
+to as @dfn{packages} or @dfn{modules}.
 
 Starting with @value{PVERSION} @strong{FIXME} 5.0, @command{gawk} provides a
-mechanism to put functions and global variables into different namespaces.
+mechanism to put functions and global variables into separate namespaces.
 
 @node Qualified Names
 @section Qualified Names
@@ -27667,9 +27668,8 @@ the name.
 
 You must use fully qualified names from one namespace to access variables
 and functions in another.  This is especially important when using
-variable names to index the special @code{SYMTAB} array, and when making
-indirect function calls.
address@hidden:} and xref.
+variable names to index the special @code{SYMTAB} array (@pxref{Auto-set}),
+and when making indirect function calls (@pxref{Indirect Calls}).
 
 It is a syntax error to use any @command{gawk} reserved word (such
 as @code{if} or @code{for}), or the name of any built-in function
@@ -27717,17 +27717,16 @@ source file, although this is likely to become 
confusing if you
 do it too much.
 
 @quotation NOTE
-The namespace concept is one handled while your program is being parsed
-by @command{gawk}. There is no concept of a ``current'' namespace
-during runtime.  Be sure you understand the distinction.
+Association of unqualified identifiers to a namespace is handled while
+your program is being parsed by @command{gawk} and before it starts
+to run.  There is no concept of a ``current'' namespace once your program
+starts executing.  Be sure you understand this.
 @end quotation
 
-Each source file for @option{-i} and @option{-f}
-(FIXME: pxref)
-starts out with an implicit @samp{@@namespace "awk"}.
-
-Similarly, each chunk of command-line code with @option{-e} has such an 
implicit
-statement.
+Each source file for @option{-i} and @option{-f} starts out with
+an implicit @samp{@@namespace "awk"}.  Similarly, each chunk of
+command-line code supplied with @option{-e} has such an implicit
+initial statement (@pxref{Options}).
 
 The use of @samp{@@namespace} has no influence upon the order of execution
 of @code{BEGIN}, @code{BEGINFILE}, @code{END}, and @code{ENDFILE} rules.
@@ -27735,13 +27734,11 @@ of @code{BEGIN}, @code{BEGINFILE}, @code{END}, and 
@code{ENDFILE} rules.
 @node Internal Name Management
 @section Internal Name Management
 
-For backwards compatibility, all identifiers in the @samp{awk}
-namespace are stored internally as unadorned identifiers.  This
-is mainly relevant when using such identifiers as indices for
address@hidden, @code{FUNCTAB}, and @code{PROCINFO["identifiers"]}
-(FIXME: xref),
-and for use in indirect function calls
-(FIXME: xref).
+For backwards compatibility, all identifiers in the @samp{awk} namespace
+are stored internally as unadorned identifiers.  This is mainly relevant
+when using such identifiers as indices for @code{SYMTAB}, @code{FUNCTAB},
+and @code{PROCINFO["identifiers"]} (@pxref{Auto-set}), and for use in
+indirect function calls (@pxref{Indirect Calls}).
 
 In program code, to refer to variables and functions in the @samp{awk}
 namespace from another namespace, you must still use the @samp{awk::}
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index ad74767..61da6a9 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -26643,7 +26643,7 @@ This @value{CHAPTER} describes a feature that is 
specific to @command{gawk}.
 In standard @command{awk}, there is a single, global, @dfn{namespace}.
 This means that @emph{all} function names and global variable names must
 be unique. For example, two different @command{awk} source files cannot
-both define a function named @code{min()}.
+both define a function named @code{min()}, or define an array named 
@code{data}.
 
 This situation is okay when programs are small, say a few hundred
 lines, or even a few thousand, but it prevents the development of
@@ -26657,10 +26657,11 @@ of namespace control: a way to say ``this function is 
in namespace @var{xxx},
 and that function is in namespace @var{yyy}.''  (Of course, there is then
 still a single namespace for the namespaces, but the hope is that there
 are much fewer namespaces in use by any given program, and thus much
-less chance for collisions.)
+less chance for collisions.)  These facilities are sometimes referred
+to as @dfn{packages} or @dfn{modules}.
 
 Starting with @value{PVERSION} @strong{FIXME} 5.0, @command{gawk} provides a
-mechanism to put functions and global variables into different namespaces.
+mechanism to put functions and global variables into separate namespaces.
 
 @node Qualified Names
 @section Qualified Names
@@ -26681,9 +26682,8 @@ the name.
 
 You must use fully qualified names from one namespace to access variables
 and functions in another.  This is especially important when using
-variable names to index the special @code{SYMTAB} array, and when making
-indirect function calls.
address@hidden:} and xref.
+variable names to index the special @code{SYMTAB} array (@pxref{Auto-set}),
+and when making indirect function calls (@pxref{Indirect Calls}).
 
 It is a syntax error to use any @command{gawk} reserved word (such
 as @code{if} or @code{for}), or the name of any built-in function
@@ -26731,17 +26731,16 @@ source file, although this is likely to become 
confusing if you
 do it too much.
 
 @quotation NOTE
-The namespace concept is one handled while your program is being parsed
-by @command{gawk}. There is no concept of a ``current'' namespace
-during runtime.  Be sure you understand the distinction.
+Association of unqualified identifiers to a namespace is handled while
+your program is being parsed by @command{gawk} and before it starts
+to run.  There is no concept of a ``current'' namespace once your program
+starts executing.  Be sure you understand this.
 @end quotation
 
-Each source file for @option{-i} and @option{-f}
-(FIXME: pxref)
-starts out with an implicit @samp{@@namespace "awk"}.
-
-Similarly, each chunk of command-line code with @option{-e} has such an 
implicit
-statement.
+Each source file for @option{-i} and @option{-f} starts out with
+an implicit @samp{@@namespace "awk"}.  Similarly, each chunk of
+command-line code supplied with @option{-e} has such an implicit
+initial statement (@pxref{Options}).
 
 The use of @samp{@@namespace} has no influence upon the order of execution
 of @code{BEGIN}, @code{BEGINFILE}, @code{END}, and @code{ENDFILE} rules.
@@ -26749,13 +26748,11 @@ of @code{BEGIN}, @code{BEGINFILE}, @code{END}, and 
@code{ENDFILE} rules.
 @node Internal Name Management
 @section Internal Name Management
 
-For backwards compatibility, all identifiers in the @samp{awk}
-namespace are stored internally as unadorned identifiers.  This
-is mainly relevant when using such identifiers as indices for
address@hidden, @code{FUNCTAB}, and @code{PROCINFO["identifiers"]}
-(FIXME: xref),
-and for use in indirect function calls
-(FIXME: xref).
+For backwards compatibility, all identifiers in the @samp{awk} namespace
+are stored internally as unadorned identifiers.  This is mainly relevant
+when using such identifiers as indices for @code{SYMTAB}, @code{FUNCTAB},
+and @code{PROCINFO["identifiers"]} (@pxref{Auto-set}), and for use in
+indirect function calls (@pxref{Indirect Calls}).
 
 In program code, to refer to variables and functions in the @samp{awk}
 namespace from another namespace, you must still use the @samp{awk::}

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

Summary of changes:
 doc/ChangeLog   |   4 +
 doc/gawk.info   | 491 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |  41 +++--
 doc/gawktexi.in |  41 +++--
 4 files changed, 288 insertions(+), 289 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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