Age | Commit message (Collapse) | Author |
|
Problem: Python: Allocating dict the wrong way, causing a crash.
Solution: Use py_dict_alloc(). Fix some exception problems. (ZyX)
|
|
Problem: Compiler warning for printf format. (Manuel Ortega)
Solution: Add type casts.
|
|
Problem: Vim crashes in Python tests. Compiler warning for unused function.
Solution: Disable the tests for now. Move the function.
|
|
Problem: Python: memory leaks.
Solution: Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX)
|
|
Problem: Python: Script is auto-loaded on function creation.
Solution: Python patch 27. (ZyX)
|
|
Problem: Python: key mapping is not standard.
Solution: Puthon patch 24: use PyMapping_Keys. (ZyX)
|
|
Problem: Python: insufficient error checking.
Solution: Python patch 23. (ZyX)
|
|
Problem: Python: Function is not standard.
Solution: Python patch 22: make Function subclassable. (ZyX)
|
|
Problem: Python: List is not standard.
Solution: Python patch 21: Add standard methods and fields. (ZyX)
|
|
Problem: Python: Dictionary is not standard.
Solution: Python patch 20: Add standard methods and fields. (ZyX)
|
|
Problem: Python: can't repr() a function.
Solution: Python patch 19: add FunctionRepr(). (ZyX)
|
|
Problem: Python: Using fixed size buffers.
Solution: Python patch 18: Use python's own formatter. (ZyX)
|
|
Problem: Python: not enough compatibilty.
Solution: Python patch 16: Make OutputWritelines support any sequence object
(ZyX) Note: tests fail
|
|
Problem: Python: possible memory leaks.
Solution: Python patch 15. (ZyX) Fix will follow later.
|
|
Problem: Python: no flag for types with tp_traverse+tp_clear.
Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX)
|
|
Problem: Python: possible SEGV and negative refcount.
Solution: Python patch 13: Fix IterIter function. (ZyX)
|
|
Problem: Python: possible memory leaks.
Solution: Python patch 12: fix the leaks (ZyX)
|
|
Problem: Python: Typo in pyiter_to_tv.
Solution: Python patch 11. (ZyX)
|
|
Problem: Python: no consistent naming
Solution: Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX)
|
|
Problem: Python: no consistent naming.
Solution: Python patch 9: Rename d to dict and lookupDict to lookup_dict.
(ZyX)
|
|
Problem: Python: dir() does not work properly.
Solution: Python patch 8. Add __dir__ method to all objects with custom
tp_getattr supplemented by __members__ attribute for at least
python-2* versions. __members__ is not mentioned in python-3*
dir() output even if it is accessible. (ZyX)
|
|
Problem: Python: Using Py_BuildValue for building strings.
Solution: Python patch 7 and 7.5: Replace Py_BuildValue with
PyString_FromString. (ZyX)
|
|
Problem: Python: No error handling for VimToPython function.
Solution: Python patch 6. (ZyX)
|
|
Problem: Python: No {Buffer,TabPage,Window}.valid attributes.
Solution: Python patch 5: add .valid (ZyX)
|
|
Problem: Python: can't assign to vim.Buffer.name.
Solution: Python patch 3. (ZyX)
|
|
Problem: Python: Invalid read valgrind errors.
Solution: Python patch 2: defer DICTKEY_UNREF until key is no longer needed.
(ZyX)
|
|
Problem: Compiler warning on 64 bit windows.
Solution: Add type cast. (Mike Williams)
|
|
Problem: Compiler warning for ambiguous else.
Solution: Add curly braces.
|
|
Problem: No error when option could not be set.
Solution: Report an error. (ZyX)
|
|
Problem: Python interface does not compile with Python 2.2
Solution: Fix thread issues and True/False. (ZyX)
|
|
Problem: Valgrind errors for Python interface.
Solution: Fix memory leaks when running tests. (ZyX)
|
|
Problem: Python: garbage collection issues.
Solution: Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative
refcounts, use PyObject_GC_* for objects with tp_traverse and
tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some
places. (ZyX)
|
|
Problem: Vim and Python exceptions are different.
Solution: Make Vim exceptions be Python exceptions. (ZyX)
|
|
Problem: Python: Can't check types of what is returned by bindeval().
Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX)
|
|
Problem: Python: Module initialization is duplicated.
Solution: Move to shared file. (ZyX)
|
|
Problem: Python: using magic constants.
Solution: Use descriptive values for ml_flags. (ZyX)
|
|
Problem: Python: Later patch does things slightly differently.
Solution: Adjusted argument type changes. (ZyX)
|
|
Problem: Python: Too many type casts.
Solution: Change argument types. (ZyX)
|
|
Problem: More can be shared by Python 2 and 3.
Solution: Move more stuff to if_py_both. (ZyX)
|
|
Problem: Build fails on Mac OSX. (Greg Novack)
Solution: Undefine clear().
|
|
Problem: There is ":py3do" but no ":pydo".
Solution: Add the ":pydo" command. (Lilydjwg)
|
|
Problem: Python garbage collection not working properly.
Solution: Add support for garbage collection. (ZyX)
|
|
Problem: Python: not so easy to access tab pages.
Solution: Add window.tabpage, make window.number work with non-current tab
pages. (ZyX)
|
|
Problem: Setting curbuf without curwin causes trouble.
Solution: Add switch_buffer() and restore_buffer(). Block autocommands to
avoid trouble.
|
|
Problem: Python: Iteration destructor not set.
Solution: Put IterDestructor to use. (ZyX)
|
|
Problem: Python vim.bindeval() causes SIGABRT.
Solution: Make pygilstate a local variable. (Yukihiro Nakadaira)
|
|
Problem: No check if PyObject_IsTrue fails.
Solution: Add a check for -1 value. (ZyX)
|
|
Problem: Python: It's not easy to change window/buffer/tabpage.
Solution: Add ability to assign to vim.current.{tabpage,buffer,window}.
(ZyX)
|
|
Problem: Python exceptions have problems.
Solution: Change some IndexErrors to TypeErrors. Make “line number out of
range” an IndexError. Make “unable to get option value” a
RuntimeError. Make all PyErr_SetString messages start with
lowercase letter and use _(). (ZyX)
|
|
Problem: Python: Stack trace printer can't handle messages.
Solution: Make KeyErrors use PyErr_SetObject. (ZyX)
|