diff -r 919a4b7f531d -r 14f077f7519a mercurial/demandimport.py --- a/mercurial/demandimport.py Sat Aug 06 15:00:34 2016 -0700 +++ b/mercurial/demandimport.py Sat Aug 06 22:24:33 2016 +0900 @@ -117,7 +117,8 @@ if '.' in p: h, t = p.split('.', 1) if getattr(mod, h, nothing) is nothing: - setattr(mod, h, _demandmod(p, mod.__dict__, mod.__dict__)) + setattr(mod, h, _demandmod(p, mod.__dict__, mod.__dict__, + level=1)) elif t: subload(getattr(mod, h), t) @@ -210,8 +211,8 @@ mod = rootmod for comp in modname.split('.')[1:]: if getattr(mod, comp, nothing) is nothing: - setattr(mod, comp, - _demandmod(comp, mod.__dict__, mod.__dict__)) + setattr(mod, comp, _demandmod(comp, mod.__dict__, + mod.__dict__, level=1)) mod = getattr(mod, comp) return mod