provide command context during cmd_init
authorZachary T Welch <zw@superlucidity.net>
Fri, 20 Nov 2009 17:11:39 +0000 (09:11 -0800)
committerZachary T Welch <zw@superlucidity.net>
Fri, 20 Nov 2009 22:52:56 +0000 (14:52 -0800)
For the startup.tcl code to use built-in commands, the context must be
associated with the interpreter temporarily.  This will be required to
add help text.

src/helper/command.c

index f135bb03cb2f8dbed1e7d75a2d2ed042e3e424ef..0958147ea116e3183ef13eda30acec6ec2f4b230 100644 (file)
@@ -869,12 +869,14 @@ struct command_context* command_init(const char *startup_tcl)
 #if !BUILD_ECOSBOARD
        Jim_EventLoopOnLoad(interp);
 #endif
+       Jim_SetAssocData(interp, "context", NULL, context);
        if (Jim_Eval_Named(interp, startup_tcl, "embedded:startup.tcl",1) == JIM_ERR)
        {
                LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD)");
                Jim_PrintErrorMessage(interp);
                exit(-1);
        }
+       Jim_DeleteAssocData(interp, "context");
 
        register_command(context, NULL, "sleep",
                        handle_sleep_command, COMMAND_ANY,