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

updated for version 7.4.161

Problem:    Crash in Python exception handling.
Solution:   Only use exception variables if did_throw is set. (ZyX)
This commit is contained in:
Bram Moolenaar
2014-01-31 14:54:04 +01:00
parent fcc3f46735
commit 4315f26500
2 changed files with 4 additions and 7 deletions

View File

@@ -564,10 +564,8 @@ VimTryEnd(void)
/* Keyboard interrupt should be preferred over anything else */
if (got_int)
{
if (current_exception != NULL)
if (did_throw)
discard_current_exception();
else
need_rethrow = did_throw = FALSE;
got_int = FALSE;
PyErr_SetNone(PyExc_KeyboardInterrupt);
return -1;
@@ -599,10 +597,7 @@ VimTryEnd(void)
/* Python exception is preferred over vim one; unlikely to occur though */
else if (PyErr_Occurred())
{
if (current_exception != NULL)
discard_current_exception();
else
need_rethrow = did_throw = FALSE;
discard_current_exception();
return -1;
}
/* Finally transform VimL exception to python one */

View File

@@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
161,
/**/
160,
/**/