From patchwork Wed Mar 8 23:22:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1, of, 8, py3, v3] extensions: use inspect module instead of func_code.co_argcount From: Augie Fackler X-Patchwork-Id: 19031 Message-Id: <6305f423089ed14fbf77.1489015360@augie-macbookair2.roam.corp.google.com> To: mercurial-devel@mercurial-scm.org Date: Wed, 08 Mar 2017 18:22:40 -0500 # HG changeset patch # User Augie Fackler # Date 1488565641 18000 # Fri Mar 03 13:27:21 2017 -0500 # Node ID 6305f423089ed14fbf77a0311b5ce472fd1e1d0d # Parent 8dcc7582ec043d04d800a54a579f0f25ee7b44f4 extensions: use inspect module instead of func_code.co_argcount Fixes the extsetup argspec check on Python 3. diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -8,6 +8,7 @@ from __future__ import absolute_import import imp +import inspect import os from .i18n import ( @@ -150,7 +151,7 @@ def _runextsetup(name, ui): try: extsetup(ui) except TypeError: - if extsetup.func_code.co_argcount != 0: + if inspect.getargspec(extsetup).args: raise extsetup() # old extsetup with no ui argument