mercurial/packagescan.py
changeset 1841 7f12a63568ae
parent 1308 2073e5a71008
child 2322 685597676a13
child 2323 c58a403aa830
--- a/mercurial/packagescan.py
+++ b/mercurial/packagescan.py
@@ -16,8 +16,14 @@ def demandload(scope, modules):
     """ fake demandload function that collects the required modules """
     for m in modules.split():
         mod = None
-        mod = __import__(m,scope,scope)
-        scope[m] = mod
+        try:
+            module, submodules = m.split(':')
+            submodules = submodules.split(',')
+        except:
+            module = m
+            submodules = []
+        mod = __import__(module, scope, scope, submodules)
+        scope[module] = mod
         requiredmodules[mod.__name__] = 1
 
 def getmodules(libpath,packagename):