Index: generic/nsf.c =================================================================== diff -u -rad4f3d99cd2be1dae08f6cd8dbd964723366ff6f -r00277873eb81d50a47f2804be84729b9ba0b650f --- generic/nsf.c (.../nsf.c) (revision ad4f3d99cd2be1dae08f6cd8dbd964723366ff6f) +++ generic/nsf.c (.../nsf.c) (revision 00277873eb81d50a47f2804be84729b9ba0b650f) @@ -18791,7 +18791,7 @@ fprintf(stderr, "######## cscPtr %p topCscPtr %p varFramePtr %p\n", cscPtr, topCscPtr, varFramePtr); - if (/*((cscPtr->flags & NSF_CSC_CALL_IS_ENSEMBLE) == 0u) && */(cscPtr1 != NULL && ((cscPtr1->flags & NSF_CSC_CALL_IS_NEXT) != 0u))) { + if (((cscPtr->flags & NSF_CSC_CALL_IS_ENSEMBLE) == 0u) /*TODO: fix this */ && (cscPtr1 != NULL && ((cscPtr1->flags & NSF_CSC_CALL_IS_NEXT) != 0u))) { cscPtr = cscPtr1; } Index: tests/submethods.test =================================================================== diff -u -r96e318fb438fdc1bd75b09307fdb535cc93f6323 -r00277873eb81d50a47f2804be84729b9ba0b650f --- tests/submethods.test (.../submethods.test) (revision 96e318fb438fdc1bd75b09307fdb535cc93f6323) +++ tests/submethods.test (.../submethods.test) (revision 00277873eb81d50a47f2804be84729b9ba0b650f) @@ -1067,6 +1067,43 @@ } +nx::Class create ::A +set host ::A +# set host ::nx::Object +nx::test case tmp { + $::host public method "i o x a" {} {return a} + $::host public alias "i o x b" ::nsf::methods::class::info::heritage +} + +nx::Class create B -superclasses A { + :public method "i o x s" args { + next; # IRGH: Should not trigger unknown! + return [current class] + } + :create b { + :public object method "i o x s" args { + next + } + } +} + +? {b i o x s} "::B"; # IRGH: "unable to dispatch sub-method "s" of ::b i; valid are: i o a, i o b, i s" + +b object mixins set [nx::Class new { + :public method "i o x s" args { + next + } + + :public method "i o x c" args {;} + +}] + +? {b i o x s} "::B"; # IRGH: "unable to dispatch sub-method "s" of ::b i; valid are: i o a, i o b, i s" + +? {b i o x d} "::B"; # IRGH: "unable to dispatch sub-method "s" of ::b i; valid are: i o a, i o b, i s" + + + # # Local variables: # mode: tcl