I was just looking at the bug [#448679] Left to right It mentions that code like that {f1():f2(), f3():f4()} Will call these functions in the order f2, f1, f4, f3. What should we do about it? Tim mentions that "When [Tim] asked Guido about that some years ago, he agreed it was a bug.". Is it too late to fix it, or is it still a desirable fix? The fix should be as easy as that: diff -u -r2.264 compile.c --- Python/compile.c 3 Oct 2002 09:50:47 -0000 2.264 +++ Python/compile.c 26 Nov 2002 04:02:27 -0000 @@ -1527,9 +1527,9 @@ It wants the stack to look like (value) (dict) (key) */ com_addbyte(c, DUP_TOP); com_push(c, 1); - com_node(c, CHILD(n, i+2)); /* value */ - com_addbyte(c, ROT_TWO); com_node(c, CHILD(n, i)); /* key */ + com_node(c, CHILD(n, i+2)); /* value */ + com_addbyte(c, ROT_THREE); com_addbyte(c, STORE_SUBSCR); com_pop(c, 3); } (compiler module should be fixed as well, as it mimicks that behavior) So I belive it just a matter of deciding what should be done. -- Gustavo Niemeyer [ 2AAC 7928 0FBF 0299 5EB5 60E2 2253 B29A 6664 3A0C ]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4