retcode = cmdPtr->cmdProc(interp, objc, objv);
} else {
retcode = JimCallProcedure(interp, cmdPtr, objc, objv);
- if (retcode == JIM_ERR) {
- JimAppendStackTrace(interp,
- Jim_GetString(objv[0], NULL), "?", 1);
- }
+ if (retcode == JIM_ERR) {
+ JimAppendStackTrace(interp,
+ Jim_GetString(objv[0], NULL), "?", 1);
+ }
}
}
/* Decr refcount of arguments and return the retcode */
} else {
/* Call [unknown] */
retcode = JimUnknown(interp, argc, argv);
+ if (retcode == JIM_ERR) {
+ JimAppendStackTrace(interp,
+ Jim_GetString(argv[0], NULL), script->fileName,
+ token[i-argc*2].linenr);
+ }
}
if (retcode != JIM_OK) {
i -= argc*2; /* point to the command name. */
int retval=ERROR_OK;
int retcode=Jim_Eval(interp, line);
- const char *result;
- int reslen;
- result = Jim_GetString(Jim_GetResult(interp), &reslen);
if (retcode == JIM_ERR) {
- int len, i;
-
- LOG_USER_N("Runtime error, file \"%s\", line %d:" JIM_NL, interp->errorFileName, interp->errorLine);
- LOG_USER_N(" %s" JIM_NL,
- Jim_GetString(interp->result, NULL));
- Jim_ListLength(interp, interp->stackTrace, &len);
- for (i = 0; i < len; i += 3) {
- Jim_Obj *objPtr;
- const char *proc, *file, *line;
-
- Jim_ListIndex(interp, interp->stackTrace, i, &objPtr, JIM_NONE);
- proc = Jim_GetString(objPtr, NULL);
- Jim_ListIndex(interp, interp->stackTrace, i+1, &objPtr, JIM_NONE);
- file = Jim_GetString(objPtr, NULL);
- Jim_ListIndex(interp, interp->stackTrace, i+2, &objPtr, JIM_NONE);
- line = Jim_GetString(objPtr, NULL);
- LOG_USER_N("In procedure '%s' called at file \"%s\", line %s" JIM_NL, proc, file, line);
- }
+ Jim_PrintErrorMessage(interp);
long t;
if (Jim_GetLong(interp, Jim_GetVariableStr(interp, "openocd_result", JIM_ERRMSG), &t)==JIM_OK)
{
return t;
}
return ERROR_FAIL;
- } else if (retcode == JIM_EXIT) {
+ }
+ const char *result;
+ int reslen;
+ result = Jim_GetString(Jim_GetResult(interp), &reslen);
+
+ if (retcode == JIM_EXIT) {
/* ignore. */
/* exit(Jim_GetExitCode(interp)); */
} else {