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 }