Index: generic/nsf.c =================================================================== diff -u -rd4f9e4f92fc05047b816dfbdccd7e1eed97b725a -r5ac6229f27005543dfe6bbc7f76356195dedbe4d --- generic/nsf.c (.../nsf.c) (revision d4f9e4f92fc05047b816dfbdccd7e1eed97b725a) +++ generic/nsf.c (.../nsf.c) (revision 5ac6229f27005543dfe6bbc7f76356195dedbe4d) @@ -4422,16 +4422,17 @@ valueObj = Tcl_ObjGetVar2(interp, NsfGlobalObjs[NSF_AUTONAMES], nameObj, flgs); if (valueObj) { long autoname_counter; + /* should probably do an overflow check here */ Tcl_GetLongFromObj(interp, valueObj, &autoname_counter); autoname_counter++; if (Tcl_IsShared(valueObj)) { valueObj = Tcl_DuplicateObj(valueObj); } Tcl_SetLongObj(valueObj, autoname_counter); + Tcl_ObjSetVar2(interp, NsfGlobalObjs[NSF_AUTONAMES], nameObj, + valueObj, flgs); } - Tcl_ObjSetVar2(interp, NsfGlobalObjs[NSF_AUTONAMES], nameObj, - valueObj, flgs); if (resetOpt) { if (valueObj) { /* we have an entry */