[PATCH 1 of 8 py3 v3] extensions: use inspect module instead of func_code.co_argcount

Augie Fackler raf at durin42.com
Wed Mar 8 18:22:40 EST 2017


# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# 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
 


More information about the Mercurial-devel mailing list