Index: generic/nsf.c =================================================================== diff -u -rc4db8ed59a42cf23cc9a7eac511e556d6b077f14 -rdb2dcddd4328ce68ddf06905ffccda392fb1aa0f --- generic/nsf.c (.../nsf.c) (revision c4db8ed59a42cf23cc9a7eac511e556d6b077f14) +++ generic/nsf.c (.../nsf.c) (revision db2dcddd4328ce68ddf06905ffccda392fb1aa0f) @@ -13065,6 +13065,7 @@ "cannot use -frame object|method in dispatch for command '", methodName, "'", (char *) NULL); } + if (withFrame == FrameObjectIdx) { Nsf_PushFrameObj(interp, object, framePtr); flags = NSF_CSC_IMMEDIATE; Index: generic/nsfStack.c =================================================================== diff -u -r1945e08ac5a2e0f6387145d948bfb29eee0016fa -rdb2dcddd4328ce68ddf06905ffccda392fb1aa0f --- generic/nsfStack.c (.../nsfStack.c) (revision 1945e08ac5a2e0f6387145d948bfb29eee0016fa) +++ generic/nsfStack.c (.../nsfStack.c) (revision db2dcddd4328ce68ddf06905ffccda392fb1aa0f) @@ -272,7 +272,7 @@ */ #define SKIP_LEVELS 1 -//#define SKIP_LAMBDA 1 +#define SKIP_LAMBDA 1 #if defined(SKIP_LAMBDA) # if !defined(SKIP_LEVELS) Index: library/nx/nx.tcl =================================================================== diff -u -r1d351e2644038c65f9b5568de5da3fcdf3f1ae3f -rdb2dcddd4328ce68ddf06905ffccda392fb1aa0f --- library/nx/nx.tcl (.../nx.tcl) (revision 1d351e2644038c65f9b5568de5da3fcdf3f1ae3f) +++ library/nx/nx.tcl (.../nx.tcl) (revision db2dcddd4328ce68ddf06905ffccda392fb1aa0f) @@ -1293,13 +1293,15 @@ # TODO: the following is not pretty; however, contains might # build xotcl and next objects. if {[::nsf::is class ::xotcl::Class]} {::xotcl::Class instmixin add $m end} - ::nsf::dispatch [self] -frame method ::apply [list {} $cmds $object] #namespace eval $object $cmds + #::nsf::dispatch [self] -frame method ::apply [list {} $cmds $object] + ::apply [list {} $cmds $object] Class mixin delete $m if {[::nsf::is class ::xotcl::Class]} {::xotcl::Class instmixin delete $m} } else { - ::nsf::dispatch [self] -frame method ::apply [list {} $cmds $object] #namespace eval $object $cmds + #::nsf::dispatch [self] -frame method ::apply [list {} $cmds $object] + ::apply [list {} $cmds $object] } } Index: library/xotcl/library/xotcl2.tcl =================================================================== diff -u -r6c2e8f94be1ba335ff90d4b6b5132c98a9f5c242 -rdb2dcddd4328ce68ddf06905ffccda392fb1aa0f --- library/xotcl/library/xotcl2.tcl (.../xotcl2.tcl) (revision 6c2e8f94be1ba335ff90d4b6b5132c98a9f5c242) +++ library/xotcl/library/xotcl2.tcl (.../xotcl2.tcl) (revision db2dcddd4328ce68ddf06905ffccda392fb1aa0f) @@ -609,7 +609,7 @@ [::nsf::dispatch [self] ::nsf::methods::object::info::hastype $class]}] } - # definitin of "contains", based on nx + # definition of "contains", based on nx ::nsf::alias Object contains ::nsf::classes::nx::Object::contains ::xotcl::Class instforward slots %self contains \ @@ -876,7 +876,10 @@ package provide [::xotcl::self] [set :version] } namespace eval [::xotcl::self] {namespace import ::xotcl::*} - namespace eval [::xotcl::self] $script + #namespace eval [::xotcl::self] $script + ::nsf::dispatch [::xotcl::self] -frame method ::apply [list {} $script [::xotcl::self]] + ::apply [list {} $script [::xotcl::self]] + foreach e [set :export] { set nq [namespace qualifiers $e] if {$nq ne ""} {