Index: generic/gentclAPI.tcl =================================================================== diff -u -rdb9cc86bb6df8dadf59f951a504c908fb8d14ef0 -r4182e5c48847acdfdb384d0ab998f453e1434c69 --- generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision db9cc86bb6df8dadf59f951a504c908fb8d14ef0) +++ generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision 4182e5c48847acdfdb384d0ab998f453e1434c69) @@ -76,7 +76,11 @@ # } lappend l "{\"$argName\", $flags, $(-nrargs), ConvertTo$converter}" } - join $l ",\n " + if {[llength $l] == 0} { + return "{NULL, 0, 0, NULL}" + } else { + return [join $l ",\n "] + } } proc gencall {fn parameterDefinitions clientData cDefsVar ifDefVar arglistVar preVar postVar introVar} { Index: generic/nsf.c =================================================================== diff -u -rdb9cc86bb6df8dadf59f951a504c908fb8d14ef0 -r4182e5c48847acdfdb384d0ab998f453e1434c69 --- generic/nsf.c (.../nsf.c) (revision db9cc86bb6df8dadf59f951a504c908fb8d14ef0) +++ generic/nsf.c (.../nsf.c) (revision 4182e5c48847acdfdb384d0ab998f453e1434c69) @@ -16124,9 +16124,9 @@ const char *varNamePrefix, /* shows up as varname in error message */ register Tcl_Obj *objPtr) /* The object to convert. */ { - NsfParamWrapper *paramWrapperPtr = NEW(NsfParamWrapper); Tcl_Obj *fullParamObj = Tcl_NewStringObj(varNamePrefix, -1); int result, possibleUnknowns = 0, plainParams = 0, nrNonposArgs = 0; + NsfParamWrapper *paramWrapperPtr = NEW(NsfParamWrapper); paramWrapperPtr->paramPtr = ParamsNew(1); paramWrapperPtr->refCount = 1; Index: generic/tclAPI.h =================================================================== diff -u -rdb9cc86bb6df8dadf59f951a504c908fb8d14ef0 -r4182e5c48847acdfdb384d0ab998f453e1434c69 --- generic/tclAPI.h (.../tclAPI.h) (revision db9cc86bb6df8dadf59f951a504c908fb8d14ef0) +++ generic/tclAPI.h (.../tclAPI.h) (revision 4182e5c48847acdfdb384d0ab998f453e1434c69) @@ -2185,7 +2185,7 @@ {"currentoption", 0|NSF_ARG_IS_ENUMERATION, 0, ConvertToCurrentoption}} }, {"::nsf::__db_run_assertions", NsfDebugRunAssertionsCmdStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::dispatch", NsfDispatchCmdStub, 4, { {"object", NSF_ARG_REQUIRED, 0, ConvertToObject}, @@ -2198,7 +2198,7 @@ {"varName", NSF_ARG_REQUIRED, 0, ConvertToString}} }, {"::nsf::finalize", NsfFinalizeObjCmdStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::forward", NsfForwardCmdStub, 11, { {"object", NSF_ARG_REQUIRED, 0, ConvertToObject}, @@ -2280,7 +2280,7 @@ {"value", 0, 0, ConvertToTclobj}} }, {"::nsf::self", NsfSelfCmdStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::setvar", NsfSetVarCmdStub, 3, { {"object", NSF_ARG_REQUIRED, 0, ConvertToObject}, @@ -2293,21 +2293,21 @@ {"parameter", NSF_ARG_REQUIRED, 0, ConvertToTclobj}} }, {"::nsf::__db_show_stack", NsfShowStackCmdStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::autoname", NsfOAutonameMethodStub, 3, { {"-instance", 0, 0, ConvertToString}, {"-reset", 0, 0, ConvertToString}, {"name", NSF_ARG_REQUIRED, 0, ConvertToTclobj}} }, {"::nsf::methods::object::cleanup", NsfOCleanupMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::configure", NsfOConfigureMethodStub, 1, { {"args", 0, 0, ConvertToNothing}} }, {"::nsf::methods::object::destroy", NsfODestroyMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::exists", NsfOExistsMethodStub, 1, { {"varName", NSF_ARG_REQUIRED, 0, ConvertToString}} @@ -2324,10 +2324,10 @@ {"guard", NSF_ARG_REQUIRED, 0, ConvertToTclobj}} }, {"::nsf::methods::object::noinit", NsfONoinitMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::requirenamespace", NsfORequireNamespaceMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::residualargs", NsfOResidualargsMethodStub, 1, { {"args", 0, 0, ConvertToNothing}} @@ -2339,7 +2339,7 @@ {"args", 0, 0, ConvertToNothing}} }, {"::nsf::methods::object::volatile", NsfOVolatileMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::vwait", NsfOVwaitMethodStub, 1, { {"varName", NSF_ARG_REQUIRED, 0, ConvertToString}} @@ -2349,7 +2349,7 @@ {"pattern", 0, 0, ConvertToString}} }, {"::nsf::methods::object::info::class", NsfObjInfoClassMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::info::filterguard", NsfObjInfoFilterguardMethodStub, 1, { {"fileName", NSF_ARG_REQUIRED, 0, ConvertToString}} @@ -2370,7 +2370,7 @@ {"class", NSF_ARG_REQUIRED, 0, ConvertToClass}} }, {"::nsf::methods::object::info::hasnamespace", NsfObjInfoHasnamespaceMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::info::is", NsfObjInfoIsMethodStub, 1, { {"objectkind", NSF_ARG_REQUIRED|NSF_ARG_IS_ENUMERATION, 0, ConvertToObjectkind}} @@ -2414,7 +2414,7 @@ {"mixin", NSF_ARG_REQUIRED, 0, ConvertToString}} }, {"::nsf::methods::object::info::parent", NsfObjInfoParentMethodStub, 0, { - } + {NULL, 0, 0, NULL}} }, {"::nsf::methods::object::info::precedence", NsfObjInfoPrecedenceMethodStub, 2, { {"-intrinsic", 0, 0, ConvertToString},