From 05f91a42cd9575ef338a67bd04855b44f6ac20c2 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Tue, 30 Jan 2018 15:27:41 +1000 Subject: [PATCH] [3.6] Revert "bpo-32690: Preserve order of locals() (GH-5379) (#5390)" This reverts commit 9105879bfd7133ecbac67f3e9c0bacf6e477de5a in order to keep the behaviour of locals() consistent between 3.6.4 and 3.6.5+. --- .../2018-01-28-09-26-07.bpo-32690.8i9g5P.rst | 2 -- Objects/frameobject.c | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-01-28-09-26-07.bpo-32690.8i9g5P.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-09-26-07.bpo-32690.8i9g5P.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-28-09-26-07.bpo-32690.8i9g5P.rst deleted file mode 100644 index 1663b96cb9..0000000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-09-26-07.bpo-32690.8i9g5P.rst +++ /dev/null @@ -1,2 +0,0 @@ -The locals() dictionary now displays in the lexical order that variables -were defined. Previously, the order was reversed. diff --git a/Objects/frameobject.c b/Objects/frameobject.c index ca1fbfa1a2..62f9f34c8e 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -776,7 +776,7 @@ map_to_dict(PyObject *map, Py_ssize_t nmap, PyObject *dict, PyObject **values, assert(PyTuple_Check(map)); assert(PyDict_Check(dict)); assert(PyTuple_Size(map) >= nmap); - for (j=0; j < nmap; j++) { + for (j = nmap; --j >= 0; ) { PyObject *key = PyTuple_GET_ITEM(map, j); PyObject *value = values[j]; assert(PyUnicode_Check(key)); @@ -829,7 +829,7 @@ dict_to_map(PyObject *map, Py_ssize_t nmap, PyObject *dict, PyObject **values, assert(PyTuple_Check(map)); assert(PyDict_Check(dict)); assert(PyTuple_Size(map) >= nmap); - for (j=0; j < nmap; j++) { + for (j = nmap; --j >= 0; ) { PyObject *key = PyTuple_GET_ITEM(map, j); PyObject *value = PyObject_GetItem(dict, key); assert(PyUnicode_Check(key)); -- 2.40.0