demandimport: raise ImportError immediately for missing modules diff -r 1063a631cb8e mercurial/demandimport.py --- a/mercurial/demandimport.py Sat Dec 16 02:51:16 2006 -0200 +++ b/mercurial/demandimport.py Sun Dec 17 17:14:48 2006 -0800 @@ -25,6 +25,8 @@ These imports will not be delayed: ''' _origimport = __import__ +import imp +import os.path class _demandmod(object): """module demand-loader and proxy""" @@ -35,6 +37,12 @@ class _demandmod(object): else: head = name after = [] + try: + f = globals.get('__file__') + path = f and os.path.dirname(f) + imp.find_module(head, [path]) + except ImportError: + imp.find_module(head) object.__setattr__(self, "_data", (head, globals, locals, after)) object.__setattr__(self, "_module", None) def _extend(self, name):