yep, using Tcl_AttemptSetObjLength() seems better, although the function is quite complex. i would prefer a function Tcl_GrowObjLength(... desired_length, required_min_length) to keep the changes mininmal and to encapsulate the growing behavior.