> *** ../vim-7.3.947/src/if_py_both.h   2013-05-15 14:39:47.000000000 +0200
> --- src/if_py_both.h  2013-05-15 14:49:11.000000000 +0200
> ***************
> *** 564,569 ****
> --- 564,570 ----
>       return (PyObject *)(self);
>   }
>   
> + #if 0 /* unused */
>       static void
>   IterDestructor(PyObject *self)
>   {
> ***************
> *** 573,578 ****
> --- 574,580 ----
>   
>       DESTRUCTOR_FINISH(self);
>   }
> + #endif

Ah, I forgot to record destructor in IterType. Here is a patch:
# HG changeset patch
# User ZyX <[email protected]>
# Date 1368632722 -14400
# Branch python-extended-2
# Node ID 110024d9f92adc356dec5c9d6f1499439f7bd008
# Parent  f328565664aa8c6f95cc2b099937be7048e41755
Record IterDestructor in IterType

diff -r f328565664aa -r 110024d9f92a src/if_py_both.h
--- a/src/if_py_both.h  Wed May 15 16:27:37 2013 +0200
+++ b/src/if_py_both.h  Wed May 15 19:45:22 2013 +0400
@@ -566,7 +566,6 @@
     return (PyObject *)(self);
 }
 
-#if 0 /* unused */
     static void
 IterDestructor(PyObject *self)
 {
@@ -576,7 +575,6 @@
 
     DESTRUCTOR_FINISH(self);
 }
-#endif
 
     static PyObject *
 IterNext(PyObject *self)
@@ -3816,6 +3814,7 @@
     IterType.tp_doc = "generic iterator object";
     IterType.tp_iter = IterIter;
     IterType.tp_iternext = IterNext;
+    IterType.tp_dealloc = IterDestructor;
 
     vim_memset(&BufferType, 0, sizeof(BufferType));
     BufferType.tp_name = "vim.buffer";

-- 
-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


*** /tmp/extdiff.In6ye3/vim.f328565664aa/src/if_py_both.h	2013-05-15 19:47:28.800417375 +0400
--- vim.110024d9f92a/src/if_py_both.h	2013-05-15 19:47:28.805417325 +0400
***************
*** 566,572 ****
      return (PyObject *)(self);
  }
  
- #if 0 /* unused */
      static void
  IterDestructor(PyObject *self)
  {
--- 566,571 ----
***************
*** 576,582 ****
  
      DESTRUCTOR_FINISH(self);
  }
- #endif
  
      static PyObject *
  IterNext(PyObject *self)
--- 575,580 ----
***************
*** 3816,3821 ****
--- 3814,3820 ----
      IterType.tp_doc = "generic iterator object";
      IterType.tp_iter = IterIter;
      IterType.tp_iternext = IterNext;
+     IterType.tp_dealloc = IterDestructor;
  
      vim_memset(&BufferType, 0, sizeof(BufferType));
      BufferType.tp_name = "vim.buffer";

Raspunde prin e-mail lui