diff Python/ceval.c @ 40407:98a1eca3a930 2.5

Backport of r52862.
author Armin Rigo <arigo@tunes.org>
date Wed, 29 Nov 2006 22:07:38 +0000
parents c5a6ace3fc7f
children 83088ad83a6b 07c4702020dc
line wrap: on
line diff
--- a/Python/ceval.c	Tue Nov 28 20:43:11 2006 +0000
+++ b/Python/ceval.c	Wed Nov 29 22:07:38 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)