X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=base%2Fscriptinv.c;h=6dd53755e79963f7877c652dab926552faffac27;hp=3bc383d9c847cf2857573f0efc7bd8784ca3f7f8;hb=1f4b96ff118c4666bb2674edb09c7dfcfa45f61d;hpb=c48252ff1a8cfbd77e1be9717dbcb957bbcf57a8 diff --git a/base/scriptinv.c b/base/scriptinv.c index 3bc383d..6dd5375 100644 --- a/base/scriptinv.c +++ b/base/scriptinv.c @@ -34,7 +34,8 @@ int cht_scriptinv_set(ScriptToInvoke *si, Tcl_Interp *ip, return 0; } -void cht_scriptinv_invoke(ScriptToInvoke *si, int argc, Tcl_Obj *const *argv) { +int cht_scriptinv_invoke_fg(ScriptToInvoke *si, int argc, + Tcl_Obj *const *argv) { Tcl_Obj *invoke=0; int i, rc; @@ -60,5 +61,10 @@ void cht_scriptinv_invoke(ScriptToInvoke *si, int argc, Tcl_Obj *const *argv) { x_rc: for (i=0; iip); + return rc; } + +void cht_scriptinv_invoke(ScriptToInvoke *si, int argc, Tcl_Obj *const *argv) { + rc= cht_scriptinv_invoke_fg(si, argc, argv); + if (rc) Tcl_BackgroundError(si->ip); +}