Nick Mathewson: Make sure the recursion is handled properly.
This is part of SF patch #440292.
diff --git a/Lib/pyclbr.py b/Lib/pyclbr.py
index 4a153ca..95479a7 100644
--- a/Lib/pyclbr.py
+++ b/Lib/pyclbr.py
@@ -166,8 +166,8 @@
         # Dotted module name
         package = module[:i].strip()
         submodule = module[i+1:].strip()
-        parent = readmodule(package, path, inpackage)
-        child = readmodule(submodule, parent['__path__'], 1)
+        parent = readmodule_ex(package, path, inpackage)
+        child = readmodule_ex(submodule, parent['__path__'], 1)
         return child
 
     if _modules.has_key(module):
@@ -295,7 +295,7 @@
                 n = n.strip()
                 try:
                     # recursively read the imported module
-                    d = readmodule(n, path, inpackage)
+                    d = readmodule_ex(n, path, inpackage)
                 except:
                     ##print 'module', n, 'not found'
                     pass
@@ -306,7 +306,7 @@
             names = m.group("ImportFromList").split(',')
             try:
                 # recursively read the imported module
-                d = readmodule(mod, path, inpackage)
+                d = readmodule_ex(mod, path, inpackage)
             except:
                 ##print 'module', mod, 'not found'
                 continue