diff -r 3f93f6838639 -r fb66a7d3f28f mercurial/demandimport.py --- a/mercurial/demandimport.py Wed Aug 05 14:58:30 2009 +0200 +++ b/mercurial/demandimport.py Wed Aug 05 17:19:37 2009 +0200 @@ -81,7 +81,10 @@ def _demandimport(name, globals=None, locals=None, fromlist=None, level=None): if not locals or name in ignore or fromlist == ('*',): # these cases we can't really delay - return _origimport(name, globals, locals, fromlist) + if level is None: + return _origimport(name, globals, locals, fromlist) + else: + return _origimport(name, globals, locals, fromlist, level) elif not fromlist: # import a [as b] if '.' in name: # a.b