Index: generic/gentclAPI.tcl =================================================================== diff -u -raef09781efb62a6336ecf355e927549d72b37a7a -rf316e4ef5e27eedc5ed7cb1a4d90ff0d86b53ca8 --- generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision aef09781efb62a6336ecf355e927549d72b37a7a) +++ generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision f316e4ef5e27eedc5ed7cb1a4d90ff0d86b53ca8) @@ -22,12 +22,15 @@ } set domain [split $type |] set opts "static CONST char *opts\[\] = {\"[join $domain {", "}]\", NULL};" - set enums [list] + set enums [list ${argname}NULL] foreach d $domain {lappend enums $argname[string totitle [string map [list - _] $d]]Idx} subst { static int convertTo${name}(Tcl_Interp *interp, Tcl_Obj *objPtr, XOTclParam CONST *pPtr, ClientData *clientData) { + int index, result; $opts - return Tcl_GetIndexFromObj(interp, objPtr, opts, "$argname", 0, (int *)clientData); + result = Tcl_GetIndexFromObj(interp, objPtr, opts, "$argname", 0, &index); + *clientData = (ClientData) index + 1; + return result; } enum ${argname}Idx {[join $enums {, }]}; }