Index: generic/gentclAPI.tcl =================================================================== diff -u -rc990d14157d8434cd5b1ee5f45aa43f82cb911b5 -r9f046615c4f92e3d10286103e1ee67c8b6882f14 --- generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision c990d14157d8434cd5b1ee5f45aa43f82cb911b5) +++ generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision 9f046615c4f92e3d10286103e1ee67c8b6882f14) @@ -256,8 +256,8 @@ {-argName "-methodprefix" -nrargs 1 -type tclobj} {-argName "-objscope"} {-argName "-onerror" -nrargs 1 -type tclobj} - {-argName "-verbose" -nrargs 0} - {-argName "target" -type tclobj -required 0} + {-argName "-verbose"} + {-argName "target" -type tclobj} {-argName "args" -type args} } # todo -protected for XOTclCInstForwardMethod Index: generic/xotcl.c =================================================================== diff -u -r27ac647d2233f9a66da2315a9cf94658a71ef1c9 -r9f046615c4f92e3d10286103e1ee67c8b6882f14 --- generic/xotcl.c (.../xotcl.c) (revision 27ac647d2233f9a66da2315a9cf94658a71ef1c9) +++ generic/xotcl.c (.../xotcl.c) (revision 9f046615c4f92e3d10286103e1ee67c8b6882f14) @@ -11060,7 +11060,7 @@ char *objStr; for (p = o; pname == '-'; bPtr ++) { @@ -11072,7 +11072,8 @@ o++; p++; /*fprintf(stderr, "flag '%s' o=%d p=%d, objc=%d\n",objStr,o,p,objc);*/ if (otype, &pc->clientData[i], &varArgs) != TCL_OK) { + /*fprintf(stderr, "setting cd[%d] = %s\n", bPtr-ifdPtr[0], ObjStr(objv[o]));*/ + if (convertToType(interp, objv[o], aPtr->type, &pc->clientData[bPtr-ifdPtr[0]], &varArgs) != TCL_OK) { return TCL_ERROR; } } else { @@ -11120,7 +11121,6 @@ } } args = objc - flagCount - 1; - pc->lastobjc = aPtr->name ? o : o-1; /* is the last argument a varargs */ @@ -11146,7 +11146,7 @@ } if (aPtr->required) { Tcl_AppendToObj(msg, aPtr->name, -1); - } else { + } else { /* todo nrargs>0 */ Tcl_AppendToObj(msg, "?", 1); Tcl_AppendToObj(msg, aPtr->name, -1); Tcl_AppendToObj(msg, "?", 1); @@ -11155,7 +11155,6 @@ return XOTclObjErrArgCntObj(interp, objv[0], NULL, msg); } - /*fprintf(stderr, "END args=%d\n",pc->lastobjc);*/ return TCL_OK; }