indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY The symbol from this module is only used in functions. Let's access that symbol through its imported module so importing zope.interface.advice can be lazy. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2931 AFFECTED FILES mercurial/thirdparty/zope/interface/declarations.py CHANGE DETAILS diff --git a/mercurial/thirdparty/zope/interface/declarations.py b/mercurial/thirdparty/zope/interface/declarations.py --- a/mercurial/thirdparty/zope/interface/declarations.py +++ b/mercurial/thirdparty/zope/interface/declarations.py @@ -34,7 +34,7 @@ from types import ModuleType import weakref -from .advice import addClassAdvisor +from . import advice as advicemod from .interface import InterfaceClass from .interface import SpecificationBase from .interface import Specification @@ -451,7 +451,7 @@ raise TypeError(name+" can be used only once in a class definition.") locals['__implements_advice_data__'] = interfaces, classImplements - addClassAdvisor(_implements_advice, depth=3) + advicemod.addClassAdvisor(_implements_advice, depth=3) def implements(*interfaces): """Declare interfaces implemented by instances of a class @@ -732,7 +732,7 @@ locals["__provides__"] = _normalizeargs(interfaces) - addClassAdvisor(_classProvides_advice, depth=2) + advicemod.addClassAdvisor(_classProvides_advice, depth=2) def _classProvides_advice(cls): # This entire approach is invalid under Py3K. Don't even try to fix To: indygreg, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel