diff --git a/mercurial/demandimport.py b/mercurial/demandimport.py --- a/mercurial/demandimport.py +++ b/mercurial/demandimport.py @@ -24,7 +24,7 @@ These imports will not be delayed: b = __import__(a) ''' -import __builtin__ +import __builtin__, os _origimport = __import__ nothing = object() @@ -167,7 +167,8 @@ def isenabled(): def enable(): "enable global demand-loading of modules" - __builtin__.__import__ = _demandimport + if os.environ.get('HGDEMANDIMPORT') != 'disable': + __builtin__.__import__ = _demandimport def disable(): "disable global demand-loading of modules" diff --git a/tests/test-demandimport.py b/tests/test-demandimport.py --- a/tests/test-demandimport.py +++ b/tests/test-demandimport.py @@ -37,3 +37,9 @@ print "fred =", f(fred) print "re =", f(re) print "re.stderr =", f(re.stderr) print "re =", f(re) + +demandimport.disable() +os.environ['HGDEMANDIMPORT'] = 'disable' +demandimport.enable() +from mercurial import node +print "node =", f(node) diff --git a/tests/test-demandimport.py.out b/tests/test-demandimport.py.out --- a/tests/test-demandimport.py.out +++ b/tests/test-demandimport.py.out @@ -13,3 +13,4 @@ fred = re = re.stderr = ', mode 'w' at 0x?> re = +node =