# # # patch "ChangeLog" # from [b0ae4b41d3d703bb154becfd5800bcd489ebac3d] # to [f685188e70fef9b435a32ab0a188ffb12d6dd1c5] # # patch "commands.cc" # from [31247ea847e3a1702e069e468a140f9fe33aca16] # to [766ec7954924f1dd0eef55b8b2815f9c43688e6f] # ============================================================ --- ChangeLog b0ae4b41d3d703bb154becfd5800bcd489ebac3d +++ ChangeLog f685188e70fef9b435a32ab0a188ffb12d6dd1c5 @@ -1,3 +1,8 @@ +2006-05-02 Richard Levitte + + * commands.cc (commands::complete_command): Make sure to catch the + case of a unknown command, and treat it as a naughty. + 2006-05-01 Matthew Gregan * win32/terminal.cc (have_smart_terminal): Simplify smart terminal ============================================================ --- commands.cc 31247ea847e3a1702e069e468a140f9fe33aca16 +++ commands.cc 766ec7954924f1dd0eef55b8b2815f9c43688e6f @@ -95,21 +95,24 @@ } } + // no matched commands + N(matched.size() != 0, + F("unknown command '%s'\n") % cmd); + + // one matched command if (matched.size() == 1) { string completed = *matched.begin(); L(FL("expanded command to '%s'") % completed); return completed; } - else if (matched.size() > 1) - { - string err = (F("command '%s' has multiple ambiguous expansions:\n") % cmd).str(); - for (vector::iterator i = matched.begin(); - i != matched.end(); ++i) - err += (*i + "\n"); - W(i18n_format(err)); - } + // more than one matched command + string err = (F("command '%s' has multiple ambiguous expansions:\n") % cmd).str(); + for (vector::iterator i = matched.begin(); + i != matched.end(); ++i) + err += (*i + "\n"); + W(i18n_format(err)); return cmd; }