diff options
author | dgp <dgp@users.sourceforge.net> | 2022-09-19 14:06:59 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2022-09-19 14:06:59 (GMT) |
commit | 6944eab64ce107c5628ee69c404cc376516e6d13 (patch) | |
tree | 3838dd6303e9101aa9509aa5b84499a58206bb1a /generic/tclEvent.c | |
parent | 0ef6cc44a3553534bf07762034b13959827ae36c (diff) | |
parent | 8b385f576d9e88424573a523da358f29719681a8 (diff) | |
download | tcl-6944eab64ce107c5628ee69c404cc376516e6d13.zip tcl-6944eab64ce107c5628ee69c404cc376516e6d13.tar.gz tcl-6944eab64ce107c5628ee69c404cc376516e6d13.tar.bz2 |
merge 8.7
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r-- | generic/tclEvent.c | 11 |
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); |