Karsten Hopp 2f1ae7
To: vim_dev@googlegroups.com
Karsten Hopp 2f1ae7
Subject: Patch 7.3.652
Karsten Hopp 2f1ae7
Fcc: outbox
Karsten Hopp 2f1ae7
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 2f1ae7
Mime-Version: 1.0
Karsten Hopp 2f1ae7
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 2f1ae7
Content-Transfer-Encoding: 8bit
Karsten Hopp 2f1ae7
------------
Karsten Hopp 2f1ae7
Karsten Hopp 2f1ae7
Patch 7.3.652
Karsten Hopp 2f1ae7
Problem:    Workaround for Python crash isn't perfect.
Karsten Hopp 2f1ae7
Solution:   Change the type of the length argument. (Sean Estabrooks)
Karsten Hopp 2f1ae7
Files:	    src/if_py_both.h
Karsten Hopp 2f1ae7
Karsten Hopp 2f1ae7
Karsten Hopp 2f1ae7
*** ../vim-7.3.651/src/if_py_both.h	2012-08-08 16:05:03.000000000 +0200
Karsten Hopp 2f1ae7
--- src/if_py_both.h	2012-09-05 17:15:31.000000000 +0200
Karsten Hopp 2f1ae7
***************
Karsten Hopp 2f1ae7
*** 74,91 ****
Karsten Hopp 2f1ae7
      static PyObject *
Karsten Hopp 2f1ae7
  OutputWrite(PyObject *self, PyObject *args)
Karsten Hopp 2f1ae7
  {
Karsten Hopp 2f1ae7
!     int len;
Karsten Hopp 2f1ae7
      char *str = NULL;
Karsten Hopp 2f1ae7
      int error = ((OutputObject *)(self))->error;
Karsten Hopp 2f1ae7
  
Karsten Hopp 2f1ae7
      if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
Karsten Hopp 2f1ae7
  	return NULL;
Karsten Hopp 2f1ae7
  
Karsten Hopp 2f1ae7
-     /* TODO: This works around a gcc optimizer problem and avoids Vim
Karsten Hopp 2f1ae7
-      * from crashing.  Should find a real solution. */
Karsten Hopp 2f1ae7
-     if (str == NULL)
Karsten Hopp 2f1ae7
- 	return NULL;
Karsten Hopp 2f1ae7
- 
Karsten Hopp 2f1ae7
      Py_BEGIN_ALLOW_THREADS
Karsten Hopp 2f1ae7
      Python_Lock_Vim();
Karsten Hopp 2f1ae7
      writer((writefn)(error ? emsg : msg), (char_u *)str, len);
Karsten Hopp 2f1ae7
--- 74,86 ----
Karsten Hopp 2f1ae7
      static PyObject *
Karsten Hopp 2f1ae7
  OutputWrite(PyObject *self, PyObject *args)
Karsten Hopp 2f1ae7
  {
Karsten Hopp 2f1ae7
!     Py_ssize_t len;
Karsten Hopp 2f1ae7
      char *str = NULL;
Karsten Hopp 2f1ae7
      int error = ((OutputObject *)(self))->error;
Karsten Hopp 2f1ae7
  
Karsten Hopp 2f1ae7
      if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
Karsten Hopp 2f1ae7
  	return NULL;
Karsten Hopp 2f1ae7
  
Karsten Hopp 2f1ae7
      Py_BEGIN_ALLOW_THREADS
Karsten Hopp 2f1ae7
      Python_Lock_Vim();
Karsten Hopp 2f1ae7
      writer((writefn)(error ? emsg : msg), (char_u *)str, len);
Karsten Hopp 2f1ae7
*** ../vim-7.3.651/src/version.c	2012-09-05 15:15:01.000000000 +0200
Karsten Hopp 2f1ae7
--- src/version.c	2012-09-05 17:27:46.000000000 +0200
Karsten Hopp 2f1ae7
***************
Karsten Hopp 2f1ae7
*** 721,722 ****
Karsten Hopp 2f1ae7
--- 721,724 ----
Karsten Hopp 2f1ae7
  {   /* Add new patch number below this line */
Karsten Hopp 2f1ae7
+ /**/
Karsten Hopp 2f1ae7
+     652,
Karsten Hopp 2f1ae7
  /**/
Karsten Hopp 2f1ae7
Karsten Hopp 2f1ae7
-- 
Karsten Hopp 2f1ae7
GUARD #2:  It could be carried by an African swallow!
Karsten Hopp 2f1ae7
GUARD #1:  Oh, yeah, an African swallow maybe, but not a European swallow,
Karsten Hopp 2f1ae7
           that's my point.
Karsten Hopp 2f1ae7
GUARD #2:  Oh, yeah, I agree with that...
Karsten Hopp 2f1ae7
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp 2f1ae7
Karsten Hopp 2f1ae7
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 2f1ae7
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 2f1ae7
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 2f1ae7
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///