1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
*** /usr/tmp/TclTk/itcl3.0.1/itcl/generic/itcl_ensemble.c.orig Sun Jun 6 17:09:21 1999
--- /usr/tmp/TclTk/itcl3.0.1/itcl/generic/itcl_ensemble.c Mon Oct 25 22:01:41 1999
***************
*** 1626,1632 ****
* another "ensemble" command. Use the current ensemble as
* the parent, and find or create an ensemble part within it.
*/
! ensName = TclGetStringFromObj(objv[1], (int*)NULL);
if (ensData) {
if (FindEnsemblePart(interp, ensData, ensName, &ensPart) != TCL_OK) {
--- 1626,1632 ----
* another "ensemble" command. Use the current ensemble as
* the parent, and find or create an ensemble part within it.
*/
! ensName = Tcl_GetStringFromObj(objv[1], (int*)NULL);
if (ensData) {
if (FindEnsemblePart(interp, ensData, ensName, &ensPart) != TCL_OK) {
***************
*** 1693,1698 ****
--- 1693,1699 ----
}
else if (objc > 3) {
objPtr = Tcl_NewListObj(objc-2, objv+2);
+ Tcl_IncrRefCount(objPtr); /* stop Eval trashing it */
status = Tcl_EvalObj(ensInfo->parser, objPtr);
Tcl_DecrRefCount(objPtr); /* we're done with the object */
}
***************
*** 2103,2108 ****
--- 2104,2110 ----
if (prevArgObj) {
objPtr = Tcl_DuplicateObj(prevArgObj);
+ Tcl_IncrRefCount(objPtr);
copyPtr->internalRep.twoPtrValue.ptr2 = (VOID *) objPtr;
}
}
***************
*** 2154,2160 ****
* keep the string around as if it were the command line
* invocation.
*/
! argObj = Tcl_NewStringObj(name, -1);
/*
* Free the old representation and install a new one.
--- 2156,2162 ----
* keep the string around as if it were the command line
* invocation.
*/
! argObj = Tcl_NewStringObj(name, length);
/*
* Free the old representation and install a new one.
|