summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2010-10-30 08:14:53 (GMT)
committerRaymond Hettinger <python@rcn.com>2010-10-30 08:14:53 (GMT)
commit7529afce3c8e0e012738c5671d583beb3b85e270 (patch)
treed57cad231d6b3e17026f746020dc9b10b2e8a702
parent6acd432457447973edcfe39550b9ee4fc52d3a27 (diff)
downloadcpython-7529afce3c8e0e012738c5671d583beb3b85e270.zip
cpython-7529afce3c8e0e012738c5671d583beb3b85e270.tar.gz
cpython-7529afce3c8e0e012738c5671d583beb3b85e270.tar.bz2
Issue 10221: Improve error message for dict.pop().
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/dictobject.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index fb6814f..a1b5246 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 3.1.3?
Core and Builtins
-----------------
+- Issue #10221: dict.pop(k) now has a key error message that includes the
+ missing key (same message d[k] returns for missing keys).
+
- Issue #5437: A preallocated MemoryError instance should not hold traceback
data (including local variables caught in the stack trace) alive infinitely.
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 8d0e6a4..9c17be7 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1810,8 +1810,7 @@ dict_pop(PyDictObject *mp, PyObject *args)
Py_INCREF(deflt);
return deflt;
}
- PyErr_SetString(PyExc_KeyError,
- "pop(): dictionary is empty");
+ set_key_error(key);
return NULL;
}
if (!PyUnicode_CheckExact(key) ||