Show More
@@ -139,7 +139,24 b' def _demandimport(name, globals=None, lo' | |||
|
139 | 139 | # so modern Mercurial code will have level >= 0. |
|
140 | 140 | |
|
141 | 141 | if level >= 0: |
|
142 | return _origimport(name, globals, locals, fromlist, level) | |
|
142 | # Mercurial's enforced import style does not use | |
|
143 | # "from a import b,c,d" or "from .a import b,c,d" syntax. In | |
|
144 | # addition, this appears to be giving errors with some modules | |
|
145 | # for unknown reasons. Since we shouldn't be using this syntax | |
|
146 | # much, work around the problems. | |
|
147 | if name: | |
|
148 | return _hgextimport(_origimport, name, globals, locals, | |
|
149 | fromlist, level) | |
|
150 | ||
|
151 | mod = _hgextimport(_origimport, name, globals, locals, level=level) | |
|
152 | for x in fromlist: | |
|
153 | # Missing symbols mean they weren't defined in the module | |
|
154 | # itself which means they are sub-modules. | |
|
155 | if getattr(mod, x, nothing) is nothing: | |
|
156 | setattr(mod, x, | |
|
157 | _demandmod(x, mod.__dict__, locals, level=level)) | |
|
158 | ||
|
159 | return mod | |
|
143 | 160 | |
|
144 | 161 | # But, we still need to support lazy loading of standard library and 3rd |
|
145 | 162 | # party modules. So handle level == -1. |
General Comments 0
You need to be logged in to leave comments.
Login now