# HG changeset patch # User Bram Moolenaar # Date 1371998439 -7200 # Node ID 5b2c8f3b390632e1e57a3839f040146f6798a969 # Parent ca16c61923aa6730edabac0c51c05bf3ac9026bb updated for version 7.3.1237 Problem: Python: non-import errors not handled correctly. Solution: Let non-ImportError exceptions pass the finder. (ZyX) diff --git a/src/if_py_both.h b/src/if_py_both.h --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -1199,6 +1199,14 @@ FinderFindModule(PyObject *self, PyObjec if (!module) { + if (PyErr_Occurred()) + { + if (PyErr_ExceptionMatches(PyExc_ImportError)) + PyErr_Clear(); + else + return NULL; + } + Py_INCREF(Py_None); return Py_None; } diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok --- a/src/testdir/test86.ok +++ b/src/testdir/test86.ok @@ -497,7 +497,7 @@ vim.foreach_rtp(int, 2):TypeError:('fore > import import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',) import failing_import:ImportError:('No module named failing_import',) -import failing:ImportError:('No module named failing',) +import failing:NotImplementedError:() > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok --- a/src/testdir/test87.ok +++ b/src/testdir/test87.ok @@ -486,7 +486,7 @@ vim.foreach_rtp(int, 2):( import import xxx_no_such_module_xxx:(, ImportError('No module named xxx_no_such_module_xxx',)) import failing_import:(, ImportError('No module named failing_import',)) -import failing:(, ImportError('No module named failing',)) +import failing:(, NotImplementedError()) > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):(, ValueError('expected sequence element of size 2, but got sequence of size 1',)) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1237, +/**/ 1236, /**/ 1235,