0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

updated for version 7.3.950

Problem:    Python: Stack trace printer can't handle messages.
Solution:   Make KeyErrors use PyErr_SetObject. (ZyX)
This commit is contained in:
Bram Moolenaar
2013-05-15 15:35:09 +02:00
parent 5e538ecd5e
commit 4d188da22b
4 changed files with 13 additions and 5 deletions

View File

@@ -734,7 +734,7 @@ DictionaryItem(PyObject *self, PyObject *keyObject)
if (di == NULL)
{
PyErr_SetString(PyExc_KeyError, _("no such key in dictionary"));
PyErr_SetObject(PyExc_KeyError, keyObject);
return NULL;
}
@@ -767,7 +767,7 @@ DictionaryAssItem(PyObject *self, PyObject *keyObject, PyObject *valObject)
if (di == NULL)
{
DICTKEY_UNREF
PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
PyErr_SetObject(PyExc_KeyError, keyObject);
return -1;
}
hi = hash_find(&d->dv_hashtab, di->di_key);
@@ -1353,7 +1353,7 @@ OptionsItem(OptionsObject *this, PyObject *keyObject)
if (flags == 0)
{
PyErr_SetString(PyExc_KeyError, "Option does not exist in given scope");
PyErr_SetObject(PyExc_KeyError, keyObject);
return NULL;
}
@@ -1447,7 +1447,7 @@ OptionsAssItem(OptionsObject *this, PyObject *keyObject, PyObject *valObject)
if (flags == 0)
{
PyErr_SetString(PyExc_KeyError, "Option does not exist in given scope");
PyErr_SetObject(PyExc_KeyError, keyObject);
return -1;
}
@@ -3145,7 +3145,7 @@ BufMapItem(PyObject *self UNUSED, PyObject *keyObject)
return BufferNew(b);
else
{
PyErr_SetString(PyExc_KeyError, _("no such buffer"));
PyErr_SetObject(PyExc_KeyError, keyObject);
return NULL;
}
}