diff Python/ceval.c @ 40406:39ad99dd67e4 2.4

Backport of r52862.
author Armin Rigo <arigo@tunes.org>
date Wed, 29 Nov 2006 22:07:38 +0000
parents 6b91c0dcea58
children 54f1cb8a81f6
line wrap: on
line diff
--- a/Python/ceval.c	Mon Nov 20 13:40:10 2006 +0000
+++ b/Python/ceval.c	Wed Nov 29 22:07:38 2006 +0000
@@ -4073,8 +4073,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)