Posted to tcl by de at Wed Jun 24 13:02:44 GMT 2009view pretty

==== tailcall-1 tailcall FAILED
==== Contents of test case:

    namespace eval a {
        variable x *::a
        proc xset {} {
            set tmp {}
            set ns {[namespace current]}
            set level [info level]
            for {set i 0} {$i <= [info level]} {incr i} {
                uplevel #$i "set x $i$ns"
                lappend tmp "$i [info level $i]"
            }
            lrange $tmp 1 end
        }
        proc foo {} {tailcall xset; set x noreach}
    }
    namespace eval b {
        variable x *::b
        proc xset args {error b::xset}
        proc moo {} {set x 0; variable y [::a::foo]; set x}
    }
    variable x *::
    proc xset args {error ::xset}
    list [::b::moo] | $x $a::x $b::x | $::b::y 

---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
---- errorInfo: invalid command name "foo"
    while executing
"foo x {} write"
    (write trace on "x")
    invoked from within
"variable x *::"
    ("uplevel" body line 21)
    invoked from within
"uplevel 1 $script"
---- errorCode: TCL WRITE VARNAME
---- Test cleanup failed:
can't delete "xset": command doesn't exist
---- errorInfo(cleanup): can't delete "xset": command doesn't exist
    while executing
"rename xset {}"
    ("uplevel" body line 3)
    invoked from within
"uplevel 1 $cleanup"
---- errorCode(cleanup): NONE
==== tailcall-1 FAILED