Tcl Source Code

View Ticket
Login
Ticket UUID: 46450b464ea031daeb6a419eb64ce1ab848dd6ca
Title: A namespace loses track of itself
Type: Bug Version: 8.7
Submitter: pooryorick Created on: 2017-06-02 11:21:14
Subsystem: 21. [namespace] Assigned To: nobody
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2017-06-02 12:16:48
Resolution: None Closed By: nobody
    Closed on:
Description: (text/x-fossil-wiki)
<code><verbatim>
namespace eval ns1 {
	namespace delete [namespace current]
	namespace eval [namespace current] {}
	namespace eval doc {}
	set doc::var1 val1
	::apply [list {} {
		puts $doc::var1 ;# -> can't read "$doc::var1": no such variable
	} [namespace current]]
}
</verbatim></code>

And here is an example where two variables, both having the name
$ns1::doc::var1 print their different values:

<code><verbatim>
namespace eval ns1 {
	namespace delete [namespace current]
	namespace eval [namespace current] {}
	namespace eval doc {}
	set doc::var1 val1
	::apply [list {} {
		namespace eval doc {}
		set doc::var1 val2
		puts $doc::var1
	} [namespace current]]
	puts $doc::var1
}
</verbatim></code>