diff Python/ceval.c @ 40405:4e368e82c70d legacy-trunk

Forgot a case where the locals can now be a general mapping instead of just a dictionary. (backporting...)
author Armin Rigo <arigo@tunes.org>
date Wed, 29 Nov 2006 21:59:22 +0000
parents e2e80a016945
children 83088ad83a6b 07c4702020dc
line wrap: on
line diff
--- a/Python/ceval.c	Tue Nov 28 20:21:54 2006 +0000
+++ b/Python/ceval.c	Wed Nov 29 21:59:22 2006 +0000
@@ -4046,8 +4046,10 @@
 		value = PyObject_GetAttr(v, name);
 		if (value == NULL)
 			err = -1;
+		else if (PyDict_CheckExact(locals))
+			err = PyDict_SetItem(locals, name, value);
 		else
-			err = PyDict_SetItem(locals, name, value);
+			err = PyObject_SetItem(locals, name, value);
 		Py_DECREF(name);
 		Py_XDECREF(value);
 		if (err != 0)