X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fhelper%2Fstartup.tcl;h=71f489dd5f3c2b2068a2586f4bac99e34042a862;hb=c281c64469de3c92b2fad0933722cb95b710b02a;hp=dda89c8adc6cccf09f2c427d1dff99159aae0076;hpb=89fa493a3bc34d22eeca06fa4e78523ac3b766a8;p=fw%2Fopenocd diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index dda89c8ad..71f489dd5 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -3,37 +3,6 @@ # Embedded into OpenOCD executable # - -# We need to explicitly redirect this to the OpenOCD command -# as Tcl defines the exit proc -proc exit {} { - ocd_throw exit -} - -# All commands are registered with an 'ocd_' prefix, while the "real" -# command is a wrapper that calls this function. Its primary purpose is -# to discard 'handler' command output, -proc ocd_bouncer {name args} { - set cmd [format "ocd_%s" $name] - set type [eval ocd_command type $cmd $args] - if {$type == "native"} { - return [eval $cmd $args] - } else {if {$type == "simple"} { - if {[catch {eval $cmd $args}] == 0} { - return "" - } else { - set errmsg "Command handler execution failed" - } - } else {if {$type == "group"} { - catch {eval ocd_help $name $args} - set errmsg [format "%s: command requires more arguments" \ - [concat $name " " $args]] - } else { - set errmsg [format "Unknown command type: %s" $type] - }}} - return -code error $errmsg -} - # Try flipping / and \ to find file if the filename does not # match the precise spelling proc find {filename} { @@ -52,19 +21,11 @@ proc find {filename} { add_usage_text find "" add_help_text find "print full path to file according to OpenOCD search rules" -# Run script +# Find and run a script proc script {filename} { - source [find $filename] + uplevel #0 [list source [find $filename]] } add_help_text script "filename of OpenOCD script (tcl) to run" add_usage_text script "" ######### - -# catch any exceptions, capture output and return output -proc capture_catch {a} { - catch { - capture {uplevel $a} - } result - return $result -}