4 From: Bram Moolenaar <Bram@moolenaar.net>
6 Content-Type: text/plain; charset=ISO-8859-1
7 Content-Transfer-Encoding: 8bit
11 Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene
13 Solution: Disallow executing a Python command recursively and give an error
15 Files: src/if_python.c
18 *** ../vim-6.2.231/src/if_python.c Mon Dec 29 21:14:00 2003
19 --- src/if_python.c Tue Feb 3 19:41:48 2004
25 ! /* External interface
28 DoPythonCommand(exarg_T *eap, const char *cmd)
30 #if defined(MACOS) && !defined(MACOS_X_UNIX)
33 /* Check if the Python library is available */
34 if ( (Ptr) PyMac_Initialize == (Ptr) kUnresolvedCFragSymbolAddress)
40 RangeStart = eap->line1;
41 RangeEnd = eap->line2;
47 ! * External interface
50 DoPythonCommand(exarg_T *eap, const char *cmd)
52 + static int recursive = 0;
56 + EMSG(_("E659: Cannot invoke Python recursively"));
61 #if defined(MACOS) && !defined(MACOS_X_UNIX)
64 /* Check if the Python library is available */
65 if ( (Ptr) PyMac_Initialize == (Ptr) kUnresolvedCFragSymbolAddress)
71 RangeStart = eap->line1;
72 RangeEnd = eap->line2;
76 #if defined(MACOS) && !defined(MACOS_X_UNIX)
85 *** ../vim-6.2.231/src/version.c Tue Feb 3 17:25:35 2004
86 --- src/version.c Tue Feb 3 19:58:11 2004
90 { /* Add new patch number below this line */
96 To define recursion, we must first define recursion.
98 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
99 /// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
100 \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
101 \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///