summaryrefslogtreecommitdiff
path: root/jim-package.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-27 14:19:00 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:46 +1000
commitcf077dff22b3c9ca0c528fd64e1392971e2d6027 (patch)
tree084df123c747d4ca4212f27274b78982ff9c1095 /jim-package.c
parent8ca4eb0a1561cdd3ccd92d797cc744b6f8b0ea8d (diff)
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.c9
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);
}
/*