errors: name arguments to AmbiguousCommand constructor
Differential Revision: https://phab.mercurial-scm.org/D9165
--- a/mercurial/dispatch.py Tue Oct 06 20:37:35 2020 -0700
+++ b/mercurial/dispatch.py Tue Oct 06 20:45:52 2020 -0700
@@ -489,7 +489,7 @@
except error.AmbiguousCommand as inst:
ui.warn(
_(b"hg: command '%s' is ambiguous:\n %s\n")
- % (inst.args[0], b" ".join(inst.args[1]))
+ % (inst.prefix, b" ".join(inst.matches))
)
except error.CommandError as inst:
if inst.command:
--- a/mercurial/error.py Tue Oct 06 20:37:35 2020 -0700
+++ b/mercurial/error.py Tue Oct 06 20:45:52 2020 -0700
@@ -117,6 +117,11 @@
class AmbiguousCommand(Exception):
"""Exception raised if command shortcut matches more than one command."""
+ def __init__(self, prefix, matches):
+ self.prefix = prefix
+ self.matches = matches
+ super(AmbiguousCommand, self).__init__()
+
__bytes__ = _tobytes
--- a/mercurial/help.py Tue Oct 06 20:37:35 2020 -0700
+++ b/mercurial/help.py Tue Oct 06 20:45:52 2020 -0700
@@ -713,7 +713,7 @@
except error.AmbiguousCommand as inst:
# py3 fix: except vars can't be used outside the scope of the
# except block, nor can be used inside a lambda. python issue4617
- prefix = inst.args[0]
+ prefix = inst.prefix
select = lambda c: cmdutil.parsealiases(c)[0].startswith(prefix)
rst = helplist(select)
return rst