diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-09-10 15:15:04 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:51 +1000 |
commit | 38733caf6dc5e8556283c62468d0b3f20d5911dd (patch) | |
tree | 6b527d13a02bcfdfaf0c98daa321f6da0167d7f3 /jim.c | |
parent | fe33a846cd13edf9440b81756896105ab4a86680 (diff) | |
download | jimtcl-38733caf6dc5e8556283c62468d0b3f20d5911dd.zip jimtcl-38733caf6dc5e8556283c62468d0b3f20d5911dd.tar.gz jimtcl-38733caf6dc5e8556283c62468d0b3f20d5911dd.tar.bz2 |
Fix some eventloop problems
File handlers now pass through the error code and the handler
is deleted on error. If there is nothing to do, vwait returns.
If bgerror doesn't exist, print the original error to stderr.
Also remove the 'eof' event handler since it isn't needed. Can just
call [eof $f]. This also fixes source locations within 'readable'
scripts.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r-- | jim.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -9900,7 +9900,7 @@ int Jim_EvalObjBackground(Jim_Interp *interp, Jim_Obj *scriptObjPtr) objv[1] = Jim_GetResult(interp); Jim_IncrRefCount(objv[0]); Jim_IncrRefCount(objv[1]); - if (Jim_EvalObjVector(interp, 2, objv) != JIM_OK) { + if (Jim_GetCommand(interp, objv[0], JIM_NONE) == NULL || Jim_EvalObjVector(interp, 2, objv) != JIM_OK) { /* Report the error to stderr. */ fprintf(stderr, "Background error:" JIM_NL); Jim_PrintErrorMessage(interp); |