Files
expect/source-files/expect-5.45.4-tcl9-eval-tokens.patch
2026-02-26 13:28:48 +02:00

25 lines
853 B
Diff

diff -up expect5.45.4/expect.c.tcl9-eval expect5.45.4/expect.c
--- expect5.45.4/expect.c.tcl9-eval 2026-01-19 11:30:58.662069055 +0100
+++ expect5.45.4/expect.c 2026-01-19 11:30:58.663720515 +0100
@@ -325,15 +325,16 @@ exp_eval_with_one_arg(
numWords--, tokenPtr += (tokenPtr->numComponents + 1)) {
/* FUTURE: Save token information, do substitution later */
- Tcl_Obj* w = Tcl_EvalTokens(interp, tokenPtr+1,
+ Tcl_Obj* w;
+ int code = Tcl_EvalTokensStandard(interp, tokenPtr+1,
tokenPtr->numComponents);
- /* w has refCount 1 here, if not NULL */
- if (w == NULL) {
+ if (code != TCL_OK) {
Tcl_DecrRefCount (res);
res = NULL;
goto done;
-
}
+ w = Tcl_GetObjResult(interp);
+ Tcl_IncrRefCount(w);
Tcl_ListObjAppendElement (interp, res, w);
Tcl_DecrRefCount (w); /* Local reference goes away */
}