Index: generic/xotcl.c =================================================================== diff -u -rc942f4e117d2aa3c8594702e0476a3f73a4147df -re5cee71c4fdd11860c1a897522c6d4202ebc64c4 --- generic/xotcl.c (.../xotcl.c) (revision c942f4e117d2aa3c8594702e0476a3f73a4147df) +++ generic/xotcl.c (.../xotcl.c) (revision e5cee71c4fdd11860c1a897522c6d4202ebc64c4) @@ -12393,11 +12393,16 @@ result = ArgumentCheck(interp, value, paramPtr, &flags, &checkedData, &outObjPtr); + if (value != outObjPtr) { + Tcl_ResetResult(interp); + } + if (flags & XOTCL_PC_MUST_DECR) { DECR_REF_COUNT(outObjPtr); } - + Tcl_SetIntObj(Tcl_GetObjResult(interp), (result == TCL_OK)); + return TCL_OK; }