diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-01-27 14:19:00 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:46 +1000 |
commit | cf077dff22b3c9ca0c528fd64e1392971e2d6027 (patch) | |
tree | 084df123c747d4ca4212f27274b78982ff9c1095 /jim-package.c | |
parent | 8ca4eb0a1561cdd3ccd92d797cc744b6f8b0ea8d (diff) | |
download | jimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.zip jimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.tar.gz jimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.tar.bz2 |
Improve stack trace handling
*: Get rid of JIM_ERR_ADDSTACK and use interp->addStackTrace instead
*: 'return -code error' doesn't add a stack frame
*: Rename _file_copy to {file copy} for better error messages
*: Use 'return -code' to prevent excessive levels in the stack trace
Also rename info_nameofexecutable to {info nameofexecutable}
Diffstat (limited to 'jim-package.c')
-rw-r--r-- | jim-package.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/jim-package.c b/jim-package.c index 6796cb0..12a63be 100644 --- a/jim-package.c +++ b/jim-package.c @@ -188,13 +188,10 @@ static int package_cmd_provide(Jim_Interp *interp, int argc, Jim_Obj *const *arg */ static int package_cmd_require(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { - int retcode = Jim_PackageRequire(interp, Jim_GetString(argv[0], NULL), JIM_ERRMSG); - /* package require failing is important enough to add to the stack */ - if (retcode == JIM_ERR) { - retcode = JIM_ERR_ADDSTACK; - } - return retcode; + interp->addStackTrace++; + + return Jim_PackageRequire(interp, Jim_GetString(argv[0], NULL), JIM_ERRMSG); } /* |