Skip to content
  • Zachary T Welch's avatar
    fix regression causing duplicated output · 77aa7ca8
    Zachary T Welch authored
    The command refactoring caused subcommand handlers to produce duplicate
    output when run.  The problem was introduced by failing to ensure all
    such invocations went through a top-level "catcher" script, prefixing
    the command name with the 'ocd_' prefix and consuming its results.
    
    The fix is to ensure such a top-level "catcher" script gets created
    for each top-level command, regardless of whether it has a handler.
    Indeed, this patch removes all command registrations for sub-commands,
    which would not have worked in the new registration scheme anyway.
    
    For now, dispatch of subcommands continues to be handled by the new
    'unknown' command handler, which gets fixed here to strip the 'ocd_'
    prefix if searching for the top-level command name fails initially.
    Some Jim commands may be registered with this prefix, and that situation
    seems to require the current fallback approach.  Otherwise, that prefix
    could be stripped unconditionally and the logic made a little simpler.
    The same problem must be handled by the 'help' command handler too,
    so its lookup process works as intended.
    
    Overall, the command dispatching remains more complicated than desired,
    but this patch fixes the immediate regressions.
    77aa7ca8