Issue 10221: Improve error message for dict.pop().
diff --git a/Misc/NEWS b/Misc/NEWS
index b1e701d..52fecdd 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
 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 d932ba7..1015772 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1820,8 +1820,7 @@
             Py_INCREF(deflt);
             return deflt;
         }
-        PyErr_SetString(PyExc_KeyError,
-                        "pop(): dictionary is empty");
+        set_key_error(key);
         return NULL;
     }
     if (!PyUnicode_CheckExact(key) ||