Index: generic/nsf.c =================================================================== diff -u -re4500c77b2bdbb0733a1503d765be84f15509be3 -rdb831678bc92ce4e39bf4ff303f32491a3c4f9d9 --- generic/nsf.c (.../nsf.c) (revision e4500c77b2bdbb0733a1503d765be84f15509be3) +++ generic/nsf.c (.../nsf.c) (revision db831678bc92ce4e39bf4ff303f32491a3c4f9d9) @@ -13087,13 +13087,14 @@ assert(outObjPtr); // autoadded if (unlikely(pPtr->converterArg != NULL)) { - Tcl_Obj *objv[3]; + Tcl_Obj *objv[4]; /*fprintf(stderr, "ConvertToTclobj %s (must be %s)\n", ObjStr(objPtr), ObjStr(pPtr->converterArg));*/ objv[1] = pPtr->converterArg; - objv[2] = objPtr; + objv[2] = NsfGlobalObjs[NSF_OPTION_STRICT]; + objv[3] = objPtr; - result = NsfCallCommand(interp, NSF_IS, 3, objv); + result = NsfCallCommand(interp, NSF_STRING_IS, 4, objv); if (likely(result == TCL_OK)) { int success; Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &success); Index: generic/nsfInt.h =================================================================== diff -u -r92ab630ebd3c1b907e3d0fdf97cc07914245c028 -rdb831678bc92ce4e39bf4ff303f32491a3c4f9d9 --- generic/nsfInt.h (.../nsfInt.h) (revision 92ab630ebd3c1b907e3d0fdf97cc07914245c028) +++ generic/nsfInt.h (.../nsfInt.h) (revision db831678bc92ce4e39bf4ff303f32491a3c4f9d9) @@ -637,11 +637,11 @@ /* constants */ NSF_ALIAS, NSF_ARGS, NSF_CMD, NSF_FILTER, NSF_FORWARD, NSF_METHOD, NSF_OBJECT, NSF_SETTER, NSF_SETTERNAME, NSF_VALUECHECK, - NSF_GUARD_OPTION, NSF___UNKNOWN__, NSF_ARRAY, NSF_GET, NSF_SET, + NSF_GUARD_OPTION, NSF___UNKNOWN__, NSF_ARRAY, NSF_GET, NSF_SET, NSF_OPTION_STRICT, NSF_OBJECT_UNKNOWN_HANDLER, NSF_ARGUMENT_UNKNOWN_HANDLER, /* Partly redefined Tcl commands; leave them together at the end */ NSF_EXPR, NSF_FORMAT, NSF_INFO_BODY, NSF_INFO_FRAME, NSF_INTERP, - NSF_IS, NSF_EVAL, + NSF_STRING_IS, NSF_EVAL, NSF_RENAME } NsfGlobalNames; #if !defined(NSF_C) @@ -660,7 +660,7 @@ /* constants */ "alias", "args", "cmd", "filter", "forward", "method", "object", "setter", "settername", "valuecheck", - "-guard", "__unknown__", "::array", "get", "set", + "-guard", "__unknown__", "::array", "get", "set", "-strict", /* nsf tcl commands */ "::nsf::object::unknown", "::nsf::argument::unknown", Index: generic/nsfShadow.c =================================================================== diff -u -r92ab630ebd3c1b907e3d0fdf97cc07914245c028 -rdb831678bc92ce4e39bf4ff303f32491a3c4f9d9 --- generic/nsfShadow.c (.../nsfShadow.c) (revision 92ab630ebd3c1b907e3d0fdf97cc07914245c028) +++ generic/nsfShadow.c (.../nsfShadow.c) (revision db831678bc92ce4e39bf4ff303f32491a3c4f9d9) @@ -406,7 +406,7 @@ #endif rc |= NsfReplaceCommand(interp, NSF_FORMAT, NULL, initialized); rc |= NsfReplaceCommand(interp, NSF_INTERP, NULL, initialized); - rc |= NsfReplaceCommand(interp, NSF_IS, NULL, initialized); + rc |= NsfReplaceCommand(interp, NSF_STRING_IS, NULL, initialized); /* for the following commands, we have to add our own semantics */ rc |= NsfReplaceCommand(interp, NSF_INFO_BODY, Nsf_InfoBodyObjCmd, initialized);