diff --git a/mercurial/demandimport.py b/mercurial/demandimport.py --- a/mercurial/demandimport.py +++ b/mercurial/demandimport.py @@ -164,6 +164,8 @@ ignore = [ '_ssl', # conditional imports in the stdlib, issue1964 'rfc822', 'mimetools', + # setuptools 8 expects this module to explode early when not on windows + 'distutils.msvc9compiler' ] def isenabled(): diff --git a/tests/test-demandimport.py b/tests/test-demandimport.py --- a/tests/test-demandimport.py +++ b/tests/test-demandimport.py @@ -1,6 +1,16 @@ from mercurial import demandimport demandimport.enable() +import os +if os.name != 'nt': + try: + import distutils.msvc9compiler + print ('distutils.msvc9compiler needs to be an immediate ' + 'importerror on non-windows platforms') + distutils.msvc9compiler + except ImportError: + pass + import re rsub = re.sub