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

login
register
mail settings
Submitter Augie Fackler
Date March 7, 2017, 4:25 p.m.
Message ID <48c957d67d0f40a7134a.1488903915@augie-macbookair2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/18960/
State Superseded
Headers show

Comments

Augie Fackler - March 7, 2017, 4:25 p.m.
# HG changeset patch
# User Augie Fackler <raf@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.

Patch

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