diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-12-16 13:54:02 (GMT) |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-12-16 13:54:02 (GMT) |
commit | 78429a6aa6bb4f8527f0c6be678555ef26b62d19 (patch) | |
tree | e733c09ec2db70d79822c60895286ffacd97e003 /Python | |
parent | c389ec8d55efe0a812906ec68cf5c690290b3428 (diff) | |
download | cpython-78429a6aa6bb4f8527f0c6be678555ef26b62d19.zip cpython-78429a6aa6bb4f8527f0c6be678555ef26b62d19.tar.gz cpython-78429a6aa6bb4f8527f0c6be678555ef26b62d19.tar.bz2 |
Fixing bug
[#448679] Left to right
* Python/compile.c
(com_dictmaker): Reordered evaluation of dictionaries to follow strict
LTR evaluation.
* Lib/compiler/pycodegen.py
(CodeGenerator.visitDict): Reordered evaluation of dictionaries to
follow strict LTR evaluation.
* Doc/ref/ref5.tex
Documented the general LTR evaluation order idea.
* Misc/NEWS
Documented change in evaluation order of dictionaries.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/compile.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Python/compile.c b/Python/compile.c index b438ce4..1755521 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1529,9 +1529,9 @@ com_dictmaker(struct compiling *c, node *n) 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); } |