From patchwork Mon Aug 19 17:43:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D6743: perf: handle NameError for `pycompat.foo` when pycompat wasn't imported From: phabricator X-Patchwork-Id: 41350 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Mon, 19 Aug 2019 17:43:32 +0000 martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY On old Mercurial versions, we won't have a pycompat variable defined, and then `pycompat.foo` will raise a NameError. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6743 AFFECTED FILES contrib/perf.py CHANGE DETAILS To: martinvonz, #hg-reviewers Cc: mercurial-devel diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -132,7 +132,7 @@ _maxint = sys.maxsize # per py3 docs for replacing maxint else: _maxint = sys.maxint -except (ImportError, AttributeError): +except (NameError, ImportError, AttributeError): import inspect getargspec = inspect.getargspec _byteskwargs = identity @@ -144,11 +144,11 @@ try: # 4.7+ queue = pycompat.queue.Queue -except (AttributeError, ImportError): +except (NameError, AttributeError, ImportError): # <4.7. try: queue = pycompat.queue - except (AttributeError, ImportError): + except (NameError, AttributeError, ImportError): queue = util.queue try: