Menu

#2536 Unsetting env vars in slave interps

obsolete: 8.4.4
open
5
2003-11-19
2003-11-19
No

When an evironment variable has been unset in a slave
interpreter it is left in some strange state:
- info exists reports the variable still exists
- set and $env report the variable doesn't exist
- using an upvar alias the variable still has its
original value

Tested on Linux 2.4.20 and windows 98.

Code to reproduce the problem (use some existing
environment variable):

puts $env(SHELL)
interp create i
i eval {unset env(SHELL)}
catch {set env(SHELL)} msg
puts $msg
puts [info exists env(SHELL)]
upvar 0 env(SHELL) foo
puts $foo

Discussion