Show More
@@ -139,7 +139,24 b' def _demandimport(name, globals=None, lo' | |||||
139 | # so modern Mercurial code will have level >= 0. |
|
139 | # so modern Mercurial code will have level >= 0. | |
140 |
|
140 | |||
141 | if level >= 0: |
|
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 | # But, we still need to support lazy loading of standard library and 3rd |
|
161 | # But, we still need to support lazy loading of standard library and 3rd | |
145 | # party modules. So handle level == -1. |
|
162 | # party modules. So handle level == -1. |
General Comments 0
You need to be logged in to leave comments.
Login now