demandimport: disable lazy import of __builtin__
Demandimport uses the "try to import __builtin__, else use builtins" trick to
handle Python 3. External libraries and extensions might do something similar.
On Fedora 25 subversion-python-1.9.4-4.fc25.x86_64 will do just that (except
the opposite) ... and it failed all subversion convert tests because
demandimport was hiding that it didn't have builtins but should use
__builtin__.
The builtin module has already been imported when demandimport is loaded so
there is no point in trying to import it on demand. Just always ignore both
variants in demandimport.
--- a/mercurial/demandimport.py Thu Oct 13 12:50:27 2016 +0200
+++ b/mercurial/demandimport.py Fri Oct 14 03:03:39 2016 +0200
@@ -291,6 +291,8 @@
'sqlalchemy.events', # has import-time side effects (issue5085)
# setuptools 8 expects this module to explode early when not on windows
'distutils.msvc9compiler',
+ '__builtin__',
+ 'builtins',
]
if _pypy: