]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.1237 v7.3.1237
authorBram Moolenaar <Bram@vim.org>
Sun, 23 Jun 2013 14:40:39 +0000 (16:40 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 23 Jun 2013 14:40:39 +0000 (16:40 +0200)
Problem:    Python: non-import errors not handled correctly.
Solution:   Let non-ImportError exceptions pass the finder. (ZyX)

src/if_py_both.h
src/testdir/test86.ok
src/testdir/test87.ok
src/version.c

index 8f60550f934c170b3a96ea3a8ff01bcc3fdd801f..4f977c38c20be58756ed7ad2202d4e356c83af6b 100644 (file)
@@ -1199,6 +1199,14 @@ FinderFindModule(PyObject *self, PyObject *args)
 
     if (!module)
     {
+       if (PyErr_Occurred())
+       {
+           if (PyErr_ExceptionMatches(PyExc_ImportError))
+               PyErr_Clear();
+           else
+               return NULL;
+       }
+
        Py_INCREF(Py_None);
        return Py_None;
     }
index 6fdab0ccf0853aa13a5cd60ff193f395e5ea0c2b..c8517b3dcdd2237d3f8693671fb7cdb7888ddf24 100644 (file)
@@ -497,7 +497,7 @@ vim.foreach_rtp(int, 2):TypeError:('foreach_rtp() takes exactly one argument (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',)
index 06c97a3d2c237695fedafa4f0ad6e86aab670220..9a2d686cd923a57b2a1c386904dd38b72ac8e718 100644 (file)
@@ -486,7 +486,7 @@ vim.foreach_rtp(int, 2):(<class 'TypeError'>, TypeError('foreach_rtp() takes exa
 > import
 import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',))
 import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',))
-import failing:(<class 'ImportError'>, ImportError('No module named failing',))
+import failing:(<class 'NotImplementedError'>, NotImplementedError())
 > Dictionary
 >> DictionaryConstructor
 vim.Dictionary("abcI"):(<class 'ValueError'>, ValueError('expected sequence element of size 2, but got sequence of size 1',))
index 69603fbc96c018c440fdd65ea83f5b3e9646ef8b..59d4aa0a60967659d62b38ae4b8a03b182e9a959 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1237,
 /**/
     1236,
 /**/