From patchwork Wed Oct 7 06:10:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D9165: errors: name arguments to AmbiguousCommand constructor From: phabricator X-Patchwork-Id: 47395 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Wed, 7 Oct 2020 06:10:50 +0000 martinvonz created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9165 AFFECTED FILES mercurial/dispatch.py mercurial/error.py mercurial/help.py CHANGE DETAILS To: martinvonz, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -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 diff --git a/mercurial/error.py b/mercurial/error.py --- a/mercurial/error.py +++ b/mercurial/error.py @@ -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 diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -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: