diff Lib/compiler/pycodegen.py @ 15185:100beebde9df legacy-trunk

Fix SF bug #116263: support for from .. import * transformer.py: return '*', None from com_import_as_name pycodegen.py: special case for name == '*' pyassem.py: fix stack counting for IMPORT_ opcodes
author Jeremy Hylton <jeremy@alum.mit.edu>
date Thu, 12 Oct 2000 20:23:23 +0000
parents a665bdc4922f
children 04e76e08e10f
line wrap: on
line diff
--- a/Lib/compiler/pycodegen.py	Thu Oct 12 20:07:09 2000 +0000
+++ b/Lib/compiler/pycodegen.py	Thu Oct 12 20:23:23 2000 +0000
@@ -439,9 +439,14 @@
         for name, alias in node.names:
             if name == '*':
                 self.namespace = 0
-            self.emit('IMPORT_FROM', name)
-            self._resolveDots(name)
-            self.storeName(alias or name)
+                self.emit('IMPORT_STAR')
+                # There can only be one name w/ from ... import *
+                assert len(node.names) == 1
+                return
+            else:
+                self.emit('IMPORT_FROM', name)
+                self._resolveDots(name)
+                self.storeName(alias or name)
         self.emit('POP_TOP')
 
     def _resolveDots(self, name):