Elimar Riesebieter wrote: > * Bram Moolenaar <b...@moolenaar.net> [2013-05-31 20:49 +0200]: > > [...] > > Note that this solves it by commenting out a function that apparently > > fails. I hope you can figure out why it fails, so we can re-enable the > > tests. > [...] > > * Jun T. <takimot...@kba.biglobe.ne.jp> [2013-06-06 10:39 +0900]: > > > Hi all. I'm new to this list. > > > > I'm getting core dump (segfault) in test86; > > vim 7.3.1128 on Mac OS X and Linux, both with Python 2.7/64bit. > > Does this happen only to me? > > Me too :-( > > > It seems that the problem is in OutputWritelines(). > > PyArg_Parse(..., "et#",.., &len) returns a bogus value for len, > > because len is defined as PyInt (i.e., Py_ssize_t, 64bit), but > > a version of PyArg_Parse() in use is NOT ssize_t-clean and > > the value returned for len is int (32bit). > > > > To use ssize_t-clean version of PyArg_Parse(), the macro > > PY_SSIZE_T_CELAN must be defined BEFORE including Python.h. > > > > So a possible (but not necessarily the best) fix is to modify > > > > #include <Python.h> > > > > in if_pytyon.c (and if_python3.c also?) to > > > > #define PY_SSIZE_T_CELAN > > #include <Python.h> > > #undef PY_SSIZE_T_CELAN > > (it will be re-defined at a few lines below for Python 2.5 or later). > > Build and test suite went fine with: > > #python3-config --configdir > /usr/lib/python3.2/config-3.2mu > > #python-config --configdir > /usr/lib/python2.7/config-x86_64-linux-gnu > > Same on ppc: > /usr/lib/python2.7/config-powerpc-linux-gnu > /usr/lib/python3.2/config-3.2mu > > Same on i386: > /usr/lib/python2.7/config-i386-linux-gnu > /usr/lib/python3.2/config-3.2mu > > > diff -r c4bb9860b91e src/if_python.c > --- a/src/if_python.c Tue Jun 04 22:13:50 2013 +0200 > +++ b/src/if_python.c Thu Jun 06 22:27:34 2013 +0200 > @@ -53,7 +53,9 @@ > # undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */ > #endif > > +#define PY_SSIZE_T_CELAN
Didn't you mean PY_SSIZE_T_CLEAN ? It's defined further down, but inside an #ifdef. Do we need that #ifdef here as well? Or perhaps we should move the other define to this place? > #include <Python.h> > +#undef PY_SSIZE_T_CELAN > #if defined(MACOS) && !defined(MACOS_X_UNIX) > # include "macglue.h" > # include <CodeFragments.h> > diff -r c4bb9860b91e src/if_python3.c > --- a/src/if_python3.c Tue Jun 04 22:13:50 2013 +0200 > +++ b/src/if_python3.c Thu Jun 06 22:27:34 2013 +0200 > @@ -61,7 +61,9 @@ > # undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */ > #endif > > +#define PY_SSIZE_T_CELAN > #include <Python.h> > +#undef PY_SSIZE_T_CELAN > #if defined(MACOS) && !defined(MACOS_X_UNIX) > # include "macglue.h" > # include <CodeFragments.h> -- Why is it called "Windows"? "Gates" would be more appropriate... /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.