Mercurial > vim
comparison src/if_python.c @ 5088:34c629c3b4ba v7.3.1287
updated for version 7.3.1287
Problem: Python SystemExit exception is not handled properly.
Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken
Takata)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 01 Jul 2013 22:03:04 +0200 |
parents | 048c69ebe8ee |
children | 46ca8fcee525 |
comparison
equal
deleted
inserted
replaced
5087:0f6ca569356b | 5088:34c629c3b4ba |
---|---|
442 static PyObject *imp_PyExc_IndexError; | 442 static PyObject *imp_PyExc_IndexError; |
443 static PyObject *imp_PyExc_KeyError; | 443 static PyObject *imp_PyExc_KeyError; |
444 static PyObject *imp_PyExc_KeyboardInterrupt; | 444 static PyObject *imp_PyExc_KeyboardInterrupt; |
445 static PyObject *imp_PyExc_TypeError; | 445 static PyObject *imp_PyExc_TypeError; |
446 static PyObject *imp_PyExc_ValueError; | 446 static PyObject *imp_PyExc_ValueError; |
447 static PyObject *imp_PyExc_SystemExit; | |
447 static PyObject *imp_PyExc_RuntimeError; | 448 static PyObject *imp_PyExc_RuntimeError; |
448 static PyObject *imp_PyExc_ImportError; | 449 static PyObject *imp_PyExc_ImportError; |
449 static PyObject *imp_PyExc_OverflowError; | 450 static PyObject *imp_PyExc_OverflowError; |
450 | 451 |
451 # define PyExc_AttributeError imp_PyExc_AttributeError | 452 # define PyExc_AttributeError imp_PyExc_AttributeError |
452 # define PyExc_IndexError imp_PyExc_IndexError | 453 # define PyExc_IndexError imp_PyExc_IndexError |
453 # define PyExc_KeyError imp_PyExc_KeyError | 454 # define PyExc_KeyError imp_PyExc_KeyError |
454 # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt | 455 # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt |
455 # define PyExc_TypeError imp_PyExc_TypeError | 456 # define PyExc_TypeError imp_PyExc_TypeError |
456 # define PyExc_ValueError imp_PyExc_ValueError | 457 # define PyExc_ValueError imp_PyExc_ValueError |
458 # define PyExc_SystemExit imp_PyExc_SystemExit | |
457 # define PyExc_RuntimeError imp_PyExc_RuntimeError | 459 # define PyExc_RuntimeError imp_PyExc_RuntimeError |
458 # define PyExc_ImportError imp_PyExc_ImportError | 460 # define PyExc_ImportError imp_PyExc_ImportError |
459 # define PyExc_OverflowError imp_PyExc_OverflowError | 461 # define PyExc_OverflowError imp_PyExc_OverflowError |
460 | 462 |
461 /* | 463 /* |
729 imp_PyExc_IndexError = PyDict_GetItemString(exdict, "IndexError"); | 731 imp_PyExc_IndexError = PyDict_GetItemString(exdict, "IndexError"); |
730 imp_PyExc_KeyError = PyDict_GetItemString(exdict, "KeyError"); | 732 imp_PyExc_KeyError = PyDict_GetItemString(exdict, "KeyError"); |
731 imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); | 733 imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); |
732 imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); | 734 imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); |
733 imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); | 735 imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); |
736 imp_PyExc_SystemExit = PyDict_GetItemString(exdict, "SystemExit"); | |
734 imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); | 737 imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); |
735 imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); | 738 imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); |
736 imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError"); | 739 imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError"); |
737 Py_XINCREF(imp_PyExc_AttributeError); | 740 Py_XINCREF(imp_PyExc_AttributeError); |
738 Py_XINCREF(imp_PyExc_IndexError); | 741 Py_XINCREF(imp_PyExc_IndexError); |
739 Py_XINCREF(imp_PyExc_KeyError); | 742 Py_XINCREF(imp_PyExc_KeyError); |
740 Py_XINCREF(imp_PyExc_KeyboardInterrupt); | 743 Py_XINCREF(imp_PyExc_KeyboardInterrupt); |
741 Py_XINCREF(imp_PyExc_TypeError); | 744 Py_XINCREF(imp_PyExc_TypeError); |
742 Py_XINCREF(imp_PyExc_ValueError); | 745 Py_XINCREF(imp_PyExc_ValueError); |
746 Py_XINCREF(imp_PyExc_SystemExit); | |
743 Py_XINCREF(imp_PyExc_RuntimeError); | 747 Py_XINCREF(imp_PyExc_RuntimeError); |
744 Py_XINCREF(imp_PyExc_ImportError); | 748 Py_XINCREF(imp_PyExc_ImportError); |
745 Py_XINCREF(imp_PyExc_OverflowError); | 749 Py_XINCREF(imp_PyExc_OverflowError); |
746 Py_XDECREF(exmod); | 750 Py_XDECREF(exmod); |
747 } | 751 } |