diff mercurial/error.py @ 29510:19205a0e2bf1

error: make hintable exceptions reject unknown keyword arguments (API) Previously they would accept any typos of the hint keyword.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 11 Jul 2016 21:40:02 +0900
parents 945b4c14c570
children b17a6e3cd2ac
line wrap: on
line diff
--- a/mercurial/error.py	Sat Jul 09 14:28:30 2016 +0900
+++ b/mercurial/error.py	Mon Jul 11 21:40:02 2016 +0900
@@ -18,12 +18,12 @@
 class Hint(object):
     """Mix-in to provide a hint of an error
 
-    This should come first in the inheritance list to consume **kw and pass
-    only *args to the exception class.
+    This should come first in the inheritance list to consume a hint and
+    pass remaining arguments to the exception class.
     """
     def __init__(self, *args, **kw):
-        super(Hint, self).__init__(*args)
-        self.hint = kw.get('hint')
+        self.hint = kw.pop('hint', None)
+        super(Hint, self).__init__(*args, **kw)
 
 class RevlogError(Hint, Exception):
     pass