diff options
author | Steve Bennett <steveb@workware.net.au> | 2014-10-10 18:45:34 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2014-10-10 19:07:19 +1000 |
commit | 97e38369e9957929ab86d1536018c97f921ec9ad (patch) | |
tree | 0093175237b6d8bd832590e55b7d19d4dae14df0 /nshelper.tcl | |
parent | 20e9c4c1decdadcec69e43bd7c14f51996baf94c (diff) | |
download | jimtcl-97e38369e9957929ab86d1536018c97f921ec9ad.zip jimtcl-97e38369e9957929ab86d1536018c97f921ec9ad.tar.gz jimtcl-97e38369e9957929ab86d1536018c97f921ec9ad.tar.bz2 |
namespace: restore namespace import support
Commit 8e28d066 "fixed" infinite namespace import
recursion by simply disabling support for import.
This commit restores support by detecting self-import.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'nshelper.tcl')
-rw-r--r-- | nshelper.tcl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/nshelper.tcl b/nshelper.tcl index 33acb51..d0cb35a 100644 --- a/nshelper.tcl +++ b/nshelper.tcl @@ -63,6 +63,9 @@ proc {namespace import} {args} { foreach pattern $args { foreach cmd [info commands [namespace canon $current $pattern]] { + if {[namespace qualifiers $cmd] eq $current} { + return -code error "import pattern \"$pattern\" tries to import from namespace \"$current\" into itself" + } alias ${current}::[namespace tail $cmd] $cmd } } |