[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Inconsistency in Namespace Internal Name Management, Ver 5.1.1
From: |
J Naman |
Subject: |
Inconsistency in Namespace Internal Name Management, Ver 5.1.1 |
Date: |
Thu, 30 Dec 2021 15:54:50 -0500 |
Ref: 15.6 Internal Name Management (in Namespaces)
"For backwards compatibility, all identifiers in the awk namespace are
stored internally as
unadorned identifiers (that is, without a leading ‘awk::’). This is mainly
relevant when
using such identifiers as indices for SYMTAB, FUNCTAB, and
PROCINFO["identifiers"]"
The above is True for user-defined functions (UDFs)
defined with a namespace qualified name, i.e. ns::foo()
@namespace "ns"
ns::foo is YES in FUNCTAB
ns::foo is YES in PROCINFO["identifiers"];
*NOT True* for UDFs defined with awk namespace qualified name, i.e.
awk::foo()
"awk::foo" is NOT in FUNCTAB
"awk::foo" is YES in PROCINFO["identifiers"];
"foo" is YES in FUNCTAB
"foo" is NOT in PROCINFO["identifiers"];
Note: the above awk::foo() and foo()
*will execute correctly, whether calleddirectly or indirectly,* without
regard to their showing as 'in FUNCTAB' or
PROCINFO["identifiers"];
'Best, John Naman, gawker@703n.com
- Inconsistency in Namespace Internal Name Management, Ver 5.1.1,
J Naman <=