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

Augie Fackler raf at durin42.com
Tue Mar 7 16:25:15 UTC 2017


# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1488565641 18000
#      Fri Mar 03 13:27:21 2017 -0500
# Node ID 48c957d67d0f40a7134aeca72b98c33eb1546f17
# Parent  150cd51257221fad5ccba5794e7a21837afba479
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