From dd4215483f369f17e15804179212493c76b7bc41 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 30 Oct 2010 08:10:29 +0000 Subject: [PATCH] Issue 10221: Improve error message for dict.pop(). --- Misc/NEWS | 3 +++ Objects/dictobject.c | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index b1e701d8f20..52fecdd17b3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.2 Beta 1? 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 d932ba7723e..10157728984 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -1820,8 +1820,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) ||