summaryrefslogtreecommitdiffstats
path: root/generic/tclEvent.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2022-09-19 14:06:59 (GMT)
committerdgp <dgp@users.sourceforge.net>2022-09-19 14:06:59 (GMT)
commit6944eab64ce107c5628ee69c404cc376516e6d13 (patch)
tree3838dd6303e9101aa9509aa5b84499a58206bb1a /generic/tclEvent.c
parent0ef6cc44a3553534bf07762034b13959827ae36c (diff)
parent8b385f576d9e88424573a523da358f29719681a8 (diff)
downloadtcl-6944eab64ce107c5628ee69c404cc376516e6d13.zip
tcl-6944eab64ce107c5628ee69c404cc376516e6d13.tar.gz
tcl-6944eab64ce107c5628ee69c404cc376516e6d13.tar.bz2
merge 8.7
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r--generic/tclEvent.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index d28c38e..55a32a0 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -1495,7 +1495,7 @@ Tcl_VwaitObjCmd(
{
int i, done = 0, timedOut = 0, foundEvent, any = 1, timeout = 0;
int numItems = 0, extended = 0, result, mode, mask = TCL_ALL_EVENTS;
- Tcl_SavedResult savedResult;
+ Tcl_InterpState saved = NULL;
Tcl_TimerToken timer = NULL;
Tcl_Time before, after;
Tcl_Channel chan;
@@ -1510,7 +1510,7 @@ Tcl_VwaitObjCmd(
OPT_ALL, OPT_EXTD, OPT_NO_FEVTS, OPT_NO_IEVTS,
OPT_NO_TEVTS, OPT_NO_WEVTS, OPT_READABLE,
OPT_TIMEOUT, OPT_VARIABLE, OPT_WRITABLE, OPT_LAST
- };
+ } index;
if ((objc == 2) && (strcmp(Tcl_GetString(objv[1]), "--") != 0)) {
/*
@@ -1526,7 +1526,6 @@ Tcl_VwaitObjCmd(
for (i = 1; i < objc; i++) {
const char *name;
- int index;
name = TclGetString(objv[i]);
if (name[0] != '-') {
@@ -1537,7 +1536,7 @@ Tcl_VwaitObjCmd(
result = TCL_ERROR;
goto done;
}
- switch ((enum options) index) {
+ switch (index) {
case OPT_ALL:
any = 0;
break;
@@ -1793,7 +1792,7 @@ Tcl_VwaitObjCmd(
Tcl_DeleteTimerHandler(timer);
}
if (result != TCL_OK) {
- Tcl_SaveResult(interp, &savedResult);
+ saved = Tcl_SaveInterpState(interp, result);
}
for (i = 0; i < numItems; i++) {
if (vwaitItems[i].mask & TCL_READABLE) {
@@ -1849,7 +1848,7 @@ Tcl_VwaitObjCmd(
Tcl_SetObjResult(interp, Tcl_NewWideIntObj(diff));
}
} else {
- Tcl_RestoreResult(interp, &savedResult);
+ Tcl_RestoreInterpState(interp, saved);
}
if (vwaitItems != localItems) {
Tcl_Free(vwaitItems);