From 8.5 years or more, yes. The command returnhas a parameter -levelthat is used only for this:
return -level 2 $someValue
Thus, for example:
proc X {} {
puts "X - in"
Y
puts "X - out"
}
proc Y {} {
puts "Y - in"
Z
puts "Y - out"
}
proc Z {} {
puts "Z - in"
return -level 2 "some value"
puts "Z - out"
}
X
produces this conclusion:
X - in
Y - in
Z - in
X - out
Please note that this reduces the possibility of reuse Z, but this is your business.
source
share