- }
-}
-
-add_help_text help "Tcl implementation of help command"
-
-
-# If a fn is unknown to Tcl, we try to execute it as an OpenOCD command
-#
-# We also support two level commands. "flash banks" is translated to
-# flash_banks
-proc unknown {args} {
- # do the name mangling from "flash banks" to "flash_banks"
- if {[llength $args]>=2} {
- set cmd_name "[lindex $args 0]_[lindex $args 1]"
- # Fix?? add a check here if this is a command?
- # we'll strip away args until we fail anyway...
- return [eval "$cmd_name [lrange $args 2 end]"]
- }
- # This really is an unknown command.
- return -code error "Unknown command: $args"
-}
-
-proc new_target_name { } {
- return [target number [expr [target count] - 1 ]]
-}
-
-
-proc target_script {target_num eventname scriptname} {
-
- set tname [target number $target_num]
-
- if { 0 == [string compare $eventname "reset"] } {
- $tname configure -event reset-init "script $scriptname"
- return
- }
-
- if { 0 == [string compare $eventname "post_reset"] } {
- $tname configure -event reset-init "script $scriptname"
- return
- }
-
- if { 0 == [string compare $eventname "pre_reset"] } {
- $tname configure -event reset-start "script $scriptname"
- return
- }
-
- if { 0 == [string compare $eventname "gdb_program_config"] } {
- $tname configure -event old-gdb_program_config "script $scriptname"
- return
- }
-
- return -code error "Unknown target (old) event: $eventname (try $tname configure -event NAME)"
-
+ } else {if {$type == "group"} {
+ catch {eval ocd_usage $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