remove unknown handler
authorZachary T Welch <zw@superlucidity.net>
Sat, 28 Nov 2009 05:47:54 +0000 (21:47 -0800)
committerZachary T Welch <zw@superlucidity.net>
Sat, 28 Nov 2009 21:00:39 +0000 (13:00 -0800)
commit89fa493a3bc34d22eeca06fa4e78523ac3b766a8
tree8b50a4b4e4e8e0fa23f6f63d53fbedcecb3da05b
parentdf22f0f9ca4ebf881adf8d20cb63e64139f18613
remove unknown handler

Updates command registration to provide top-level handlers for all
commands, rather than falling back onto the 'unknown' command. Instead,
that same handler is registered for placeholders, providing the same
functionality under the root verb command name instead.  This permits
users to implement their own 'unknown' function, and it resolves some
mind-bending breakage related to function object lookup while recursing.

Changes 'ocd_bounce' to call 'ocd_command' and 'ocd_help' from the
wrapper directly, rather than bouncing through their wrappers. This
prevents endless recursion caused by the above changes, whereby the
'command' wrapper's type check would blow the stack to hell and gone.
src/helper/command.c
src/helper/startup.tcl