extensions: attempt to use non-deprecated inspect method
Avoids some deprecation warnings when extension loading breaks.
Differential Revision: https://phab.mercurial-scm.org/D295
--- a/mercurial/extensions.py Thu Jun 15 14:22:25 2017 -0400
+++ b/mercurial/extensions.py Tue Jul 25 22:48:46 2017 -0400
@@ -186,7 +186,11 @@
try:
extsetup(ui)
except TypeError:
- if inspect.getargspec(extsetup).args:
+ # Try to use getfullargspec (Python 3) first, and fall
+ # back to getargspec only if it doesn't exist so as to
+ # avoid warnings.
+ if getattr(inspect, 'getfullargspec',
+ getattr(inspect, 'getargspec'))(extsetup).args:
raise
extsetup() # old extsetup with no ui argument
except Exception as inst: