Karsten Hopp 40e011
To: vim_dev@googlegroups.com
Karsten Hopp 40e011
Subject: Patch 7.3.611
Karsten Hopp 40e011
Fcc: outbox
Karsten Hopp 40e011
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 40e011
Mime-Version: 1.0
Karsten Hopp 40e011
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 40e011
Content-Transfer-Encoding: 8bit
Karsten Hopp 40e011
------------
Karsten Hopp 40e011
Karsten Hopp 40e011
Patch 7.3.611
Karsten Hopp 40e011
Problem:    Can't use Vim dictionary as self argument in Python.
Karsten Hopp 40e011
Solution:   Fix the check for the "self" argument. (ZyX)
Karsten Hopp 40e011
Files:	    src/if_py_both.h
Karsten Hopp 40e011
Karsten Hopp 40e011
Karsten Hopp 40e011
*** ../vim-7.3.610/src/if_py_both.h	2012-06-30 13:34:29.000000000 +0200
Karsten Hopp 40e011
--- src/if_py_both.h	2012-07-25 15:32:10.000000000 +0200
Karsten Hopp 40e011
***************
Karsten Hopp 40e011
*** 1284,1292 ****
Karsten Hopp 40e011
  	selfdictObject = PyDict_GetItemString(kwargs, "self");
Karsten Hopp 40e011
  	if (selfdictObject != NULL)
Karsten Hopp 40e011
  	{
Karsten Hopp 40e011
! 	    if (!PyDict_Check(selfdictObject))
Karsten Hopp 40e011
  	    {
Karsten Hopp 40e011
! 		PyErr_SetString(PyExc_TypeError, _("'self' argument must be a dictionary"));
Karsten Hopp 40e011
  		clear_tv(&args);
Karsten Hopp 40e011
  		return NULL;
Karsten Hopp 40e011
  	    }
Karsten Hopp 40e011
--- 1284,1293 ----
Karsten Hopp 40e011
  	selfdictObject = PyDict_GetItemString(kwargs, "self");
Karsten Hopp 40e011
  	if (selfdictObject != NULL)
Karsten Hopp 40e011
  	{
Karsten Hopp 40e011
! 	    if (!PyMapping_Check(selfdictObject))
Karsten Hopp 40e011
  	    {
Karsten Hopp 40e011
! 		PyErr_SetString(PyExc_TypeError,
Karsten Hopp 40e011
! 				   _("'self' argument must be a dictionary"));
Karsten Hopp 40e011
  		clear_tv(&args);
Karsten Hopp 40e011
  		return NULL;
Karsten Hopp 40e011
  	    }
Karsten Hopp 40e011
*** ../vim-7.3.610/src/version.c	2012-07-25 15:06:20.000000000 +0200
Karsten Hopp 40e011
--- src/version.c	2012-07-25 15:32:24.000000000 +0200
Karsten Hopp 40e011
***************
Karsten Hopp 40e011
*** 716,717 ****
Karsten Hopp 40e011
--- 716,719 ----
Karsten Hopp 40e011
  {   /* Add new patch number below this line */
Karsten Hopp 40e011
+ /**/
Karsten Hopp 40e011
+     611,
Karsten Hopp 40e011
  /**/
Karsten Hopp 40e011
Karsten Hopp 40e011
-- 
Karsten Hopp 40e011
In Joseph Heller's novel "Catch-22", the main character tries to get out of a
Karsten Hopp 40e011
war by proving he is crazy.  But the mere fact he wants to get out of the war
Karsten Hopp 40e011
only shows he isn't crazy -- creating the original "Catch-22".
Karsten Hopp 40e011
Karsten Hopp 40e011
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 40e011
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 40e011
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 40e011
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///