Jacob Hallen cornered me here at EuroPython and got me to look at
patch:
[ 750008 ] 'compiler' module bug with 'import foo.bar as baz'
which I'm now checking in.
after import foo.bar as baz, baz would refer to foo.
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index a6face0..009afbd 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -761,7 +761,11 @@
self.emit('LOAD_CONST', None)
self.emit('IMPORT_NAME', name)
mod = name.split(".")[0]
- self.storeName(alias or mod)
+ if alias:
+ self._resolveDots(name)
+ self.storeName(alias)
+ else:
+ self.storeName(mod)
def visitFrom(self, node):
self.set_lineno(node)