diff Python/import.c @ 39753:8dcb882ec3e1 legacy-trunk

Bug #1520864 (again): unpacking singleton tuples in list comprehensions and generator expressions (x for x, in ... ) works again. Sigh, I only fixed for loops the first time, not list comps and genexprs too. I couldn't find any more unpacking cases where there is a similar bug lurking. This code should be refactored to eliminate the duplication. I'm sure the listcomp/genexpr code can be refactored. I'm not sure if the for loop can re-use any of the same code though. Will backport to 2.5 (the only place it matters).
author Neal Norwitz <nnorwitz@gmail.com>
date Tue, 05 Sep 2006 03:53:08 +0000
parents 57482176e101
children 307a11c085b4
line wrap: on
line diff
--- a/Python/import.c	Tue Sep 05 02:57:01 2006 +0000
+++ b/Python/import.c	Tue Sep 05 03:53:08 2006 +0000
@@ -64,9 +64,10 @@
        Python 2.5b3: 62111 (fix wrong code: x += yield)
        Python 2.5c1: 62121 (fix wrong lnotab with for loops and
        			    storing constants that should have been removed)
+       Python 2.5c2: 62131 (fix wrong code: for x, in ... in listcomp/genexp)
 .
 */
-#define MAGIC (62121 | ((long)'\r'<<16) | ((long)'\n'<<24))
+#define MAGIC (62131 | ((long)'\r'<<16) | ((long)'\n'<<24))
 
 /* Magic word as global; note that _PyImport_Init() can change the
    value of this global to accommodate for alterations of how the