Patchwork [1,of,4,py3] error: wrap super() init call in try/except

login
register
mail settings
Submitter Augie Fackler
Date Nov. 9, 2016, 4:23 p.m.
Message ID <6f2a1367baa59f33fcbc.1478708618@augie-macbookair2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/17415/
State Accepted
Headers show

Comments

Augie Fackler - Nov. 9, 2016, 4:23 p.m.
# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1476019730 14400
#      Sun Oct 09 09:28:50 2016 -0400
# Node ID 6f2a1367baa59f33fcbc328aea1a637658ce345e
# Parent  c9313a5b8e602b6b3b9a4427e5c2f452a711dd73
error: wrap super() init call in try/except

This is how we have to handle object's pickiness while still correctly
handling multiple inheritance MRO nonsense.

Patch

diff --git a/mercurial/error.py b/mercurial/error.py
--- a/mercurial/error.py
+++ b/mercurial/error.py
@@ -23,7 +23,10 @@  class Hint(object):
     """
     def __init__(self, *args, **kw):
         self.hint = kw.pop('hint', None)
-        super(Hint, self).__init__(*args, **kw)
+        try:
+            super(Hint, self).__init__(*args, **kw)
+        except TypeError:
+            pass
 
 class RevlogError(Hint, Exception):
     pass