# HG changeset patch
# User ZyX <[email protected]>
# Date 1369507217 -14400
# Node ID 72a773f3fc682f63c79d1b8481626fdec3198ddd
# Parent  8144426a1ffd077f23443e7de9e7c7c102395e6c
Add Py_TPFLAGS_HAVE_GC flag to types with tp_traverse+tp_clear

diff -r 8144426a1ffd -r 72a773f3fc68 src/if_py_both.h
--- a/src/if_py_both.h  Sat May 25 21:47:40 2013 +0400
+++ b/src/if_py_both.h  Sat May 25 22:40:17 2013 +0400
@@ -4460,7 +4460,7 @@
     vim_memset(&IterType, 0, sizeof(IterType));
     IterType.tp_name = "vim.iter";
     IterType.tp_basicsize = sizeof(IterObject);
-    IterType.tp_flags = Py_TPFLAGS_DEFAULT;
+    IterType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
     IterType.tp_doc = "generic iterator object";
     IterType.tp_iter = (getiterfunc)IterIter;
     IterType.tp_iternext = (iternextfunc)IterNext;
@@ -4494,7 +4494,7 @@
     WindowType.tp_basicsize = sizeof(WindowObject);
     WindowType.tp_dealloc = (destructor)WindowDestructor;
     WindowType.tp_repr = (reprfunc)WindowRepr;
-    WindowType.tp_flags = Py_TPFLAGS_DEFAULT;
+    WindowType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
     WindowType.tp_doc = "vim Window object";
     WindowType.tp_methods = WindowMethods;
     WindowType.tp_traverse = (traverseproc)WindowTraverse;
@@ -4557,7 +4557,7 @@
     RangeType.tp_repr = (reprfunc)RangeRepr;
     RangeType.tp_as_sequence = &RangeAsSeq;
     RangeType.tp_as_mapping = &RangeAsMapping;
-    RangeType.tp_flags = Py_TPFLAGS_DEFAULT;
+    RangeType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
     RangeType.tp_doc = "vim Range object";
     RangeType.tp_methods = RangeMethods;
     RangeType.tp_traverse = (traverseproc)RangeTraverse;
@@ -4636,7 +4636,7 @@
     vim_memset(&OptionsType, 0, sizeof(OptionsType));
     OptionsType.tp_name = "vim.options";
     OptionsType.tp_basicsize = sizeof(OptionsObject);
-    OptionsType.tp_flags = Py_TPFLAGS_DEFAULT;
+    OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
     OptionsType.tp_doc = "object for manipulating options";
     OptionsType.tp_as_mapping = &OptionsAsMapping;
     OptionsType.tp_dealloc = (destructor)OptionsDestructor;

-- 
-- 
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.IdY6jy/vim.8144426a1ffd/src/if_py_both.h	2013-05-25 22:41:53.528201833 +0400
--- vim.72a773f3fc68/src/if_py_both.h	2013-05-25 22:41:53.535198267 +0400
***************
*** 4460,4466 ****
      vim_memset(&IterType, 0, sizeof(IterType));
      IterType.tp_name = "vim.iter";
      IterType.tp_basicsize = sizeof(IterObject);
!     IterType.tp_flags = Py_TPFLAGS_DEFAULT;
      IterType.tp_doc = "generic iterator object";
      IterType.tp_iter = (getiterfunc)IterIter;
      IterType.tp_iternext = (iternextfunc)IterNext;
--- 4460,4466 ----
      vim_memset(&IterType, 0, sizeof(IterType));
      IterType.tp_name = "vim.iter";
      IterType.tp_basicsize = sizeof(IterObject);
!     IterType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
      IterType.tp_doc = "generic iterator object";
      IterType.tp_iter = (getiterfunc)IterIter;
      IterType.tp_iternext = (iternextfunc)IterNext;
***************
*** 4494,4500 ****
      WindowType.tp_basicsize = sizeof(WindowObject);
      WindowType.tp_dealloc = (destructor)WindowDestructor;
      WindowType.tp_repr = (reprfunc)WindowRepr;
!     WindowType.tp_flags = Py_TPFLAGS_DEFAULT;
      WindowType.tp_doc = "vim Window object";
      WindowType.tp_methods = WindowMethods;
      WindowType.tp_traverse = (traverseproc)WindowTraverse;
--- 4494,4500 ----
      WindowType.tp_basicsize = sizeof(WindowObject);
      WindowType.tp_dealloc = (destructor)WindowDestructor;
      WindowType.tp_repr = (reprfunc)WindowRepr;
!     WindowType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
      WindowType.tp_doc = "vim Window object";
      WindowType.tp_methods = WindowMethods;
      WindowType.tp_traverse = (traverseproc)WindowTraverse;
***************
*** 4557,4563 ****
      RangeType.tp_repr = (reprfunc)RangeRepr;
      RangeType.tp_as_sequence = &RangeAsSeq;
      RangeType.tp_as_mapping = &RangeAsMapping;
!     RangeType.tp_flags = Py_TPFLAGS_DEFAULT;
      RangeType.tp_doc = "vim Range object";
      RangeType.tp_methods = RangeMethods;
      RangeType.tp_traverse = (traverseproc)RangeTraverse;
--- 4557,4563 ----
      RangeType.tp_repr = (reprfunc)RangeRepr;
      RangeType.tp_as_sequence = &RangeAsSeq;
      RangeType.tp_as_mapping = &RangeAsMapping;
!     RangeType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
      RangeType.tp_doc = "vim Range object";
      RangeType.tp_methods = RangeMethods;
      RangeType.tp_traverse = (traverseproc)RangeTraverse;
***************
*** 4636,4642 ****
      vim_memset(&OptionsType, 0, sizeof(OptionsType));
      OptionsType.tp_name = "vim.options";
      OptionsType.tp_basicsize = sizeof(OptionsObject);
!     OptionsType.tp_flags = Py_TPFLAGS_DEFAULT;
      OptionsType.tp_doc = "object for manipulating options";
      OptionsType.tp_as_mapping = &OptionsAsMapping;
      OptionsType.tp_dealloc = (destructor)OptionsDestructor;
--- 4636,4642 ----
      vim_memset(&OptionsType, 0, sizeof(OptionsType));
      OptionsType.tp_name = "vim.options";
      OptionsType.tp_basicsize = sizeof(OptionsObject);
!     OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
      OptionsType.tp_doc = "object for manipulating options";
      OptionsType.tp_as_mapping = &OptionsAsMapping;
      OptionsType.tp_dealloc = (destructor)OptionsDestructor;

Raspunde prin e-mail lui