Index: generic/xotcl.c =================================================================== diff -u -ra588ad9e5d66f12c4b2a5baf9153b652932a5912 -r4d02778de9877814d5d078fa5a4e34e40f57bcff --- generic/xotcl.c (.../xotcl.c) (revision a588ad9e5d66f12c4b2a5baf9153b652932a5912) +++ generic/xotcl.c (.../xotcl.c) (revision 4d02778de9877814d5d078fa5a4e34e40f57bcff) @@ -4010,13 +4010,9 @@ cmdList = seekCurrent(object->mixinStack->currentCmdPtr, object->mixinOrder); RUNTIME_STATE(interp)->cmdPtr = cmdList ? cmdList->cmdPtr : NULL; - /* - fprintf(stderr, "MixinSearch searching for '%s' %p\n", methodName, cmdList); - */ + /* fprintf(stderr, "MixinSearch searching for '%s' %p\n", methodName, cmdList); */ /*CmdListPrint(interp, "MixinSearch CL = \n", cmdList);*/ - /*xxxx*/ - for (; cmdList; cmdList = cmdList->nextPtr) { if (Tcl_Command_cmdEpoch(cmdList->cmdPtr)) { @@ -13887,31 +13883,29 @@ /* infoObjectMethod filter XOTclObjInfoFilterMethod { {-argName "object" -required 1 -type object} - {-argName "-order"} + {-argName "-guard"} {-argName "-guards"} + {-argName "-order"} {-argName "pattern"} } */ static int XOTclObjInfoFilterMethod(Tcl_Interp *interp, XOTclObject *object, - int withOrder, int withGuards, CONST char *pattern) { + int withGuard, int withGuards, int withOrder, + CONST char *pattern) { XOTclObjectOpt *opt = object->opt; + + if (withGuard) { + return opt ? GuardList(interp, object->opt->filters, pattern) : TCL_OK; + } if (withOrder) { if (!(object->flags & XOTCL_FILTER_ORDER_VALID)) FilterComputeDefined(interp, object); return FilterInfo(interp, object->filterOrder, pattern, withGuards, 1); } return opt ? FilterInfo(interp, opt->filters, pattern, withGuards, 0) : TCL_OK; } + /* -infoObjectMethod filterguard XOTclObjInfoFilterguardMethod { - {-argName "object" -required 1 -type object} - {-argName "filter" -required 1} -} -*/ -static int XOTclObjInfoFilterguardMethod(Tcl_Interp *interp, XOTclObject *object, CONST char *filter) { - return object->opt ? GuardList(interp, object->opt->filters, filter) : TCL_OK; -} -/* infoObjectMethod forward XOTclObjInfoForwardMethod { {-argName "object" -required 1 -type object} {-argName "-definition"} @@ -14158,25 +14152,22 @@ /* infoClassMethod filter XOTclClassInfoFilterMethod { {-argName "class" -required 1 -type class} + {-argName "-guard"} {-argName "-guards"} {-argName "pattern"} } */ -static int XOTclClassInfoFilterMethod(Tcl_Interp *interp, XOTclClass *class, int withGuards, CONST char *pattern) { + +static int XOTclClassInfoFilterMethod(Tcl_Interp *interp, XOTclClass *class, + int withGuard, int withGuards, + CONST char *pattern) { + if (withGuard) { + return class->opt ? GuardList(interp, class->opt->classfilters, pattern) : TCL_OK; + } return class->opt ? FilterInfo(interp, class->opt->classfilters, pattern, withGuards, 0) : TCL_OK; } /* -infoClassMethod filterguard XOTclClassInfoFilterguardMethod { - {-argName "class" -required 1 -type class} - {-argName "filter" -required 1} -} -*/ -static int XOTclClassInfoFilterguardMethod(Tcl_Interp *interp, XOTclClass *class, CONST char *filter) { - return class->opt ? GuardList(interp, class->opt->classfilters, filter) : TCL_OK; -} - -/* infoClassMethod forward XOTclClassInfoForwardMethod { {-argName "class" -required 1 -type class} {-argName "-definition"}