To: vim_dev@googlegroups.com Subject: Patch 7.3.1053 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.1053 Problem: Python: no flag for types with tp_traverse+tp_clear. Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX) Files: src/if_py_both.h *** ../vim-7.3.1052/src/if_py_both.h 2013-05-29 22:52:29.000000000 +0200 --- src/if_py_both.h 2013-05-29 22:55:08.000000000 +0200 *************** *** 4461,4467 **** 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; --- 4461,4467 ---- 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; *************** *** 4495,4501 **** 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; --- 4495,4501 ---- 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; *************** *** 4558,4564 **** 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; --- 4558,4564 ---- 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; *************** *** 4637,4643 **** 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; --- 4637,4643 ---- 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; *** ../vim-7.3.1052/src/version.c 2013-05-29 22:52:29.000000000 +0200 --- src/version.c 2013-05-29 22:54:46.000000000 +0200 *************** *** 730,731 **** --- 730,733 ---- { /* Add new patch number below this line */ + /**/ + 1053, /**/ -- hundred-and-one symptoms of being an internet addict: 26. You check your mail. It says "no new messages." So you check it again. /// Bram Moolenaar -- Bram@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 ///