Age | Commit message (Collapse) | Author |
|
Problem: SIZEOF_LONG clashes with similar defines in header files.
Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT.
|
|
Problem: Compiler warning for pointer type.
Solution: Add type cast.
|
|
Problem: Python: slices with steps are not supported.
Solution: Support slices in Python vim.List. (ZyX)
|
|
Problem: Declaration has wrong return type for PyObject_SetAttrString().
Solution: Use int instead of PyObject. (Andreas Schwab)
|
|
Problem: Python SystemExit exception is not handled properly.
Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken
Takata)
|
|
Problem: Crash in Python interface on 64 bit machines.
Solution: Change argument type of PyString_AsStringAndSize. (Taro Muraoka,
Jun Takimoto)
|
|
Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED.
Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX)
|
|
Problem: Python: use of numbers not consistent.
Solution: Add support for Number protocol. (ZyX)
|
|
Problem: Python: Exception messages are not clear.
Solution: Make exception messages more verbose. (ZyX)
|
|
Problem: Python: various inconsistencies and problems.
Solution: StringToLine now supports both bytes() and unicode() objects.
Make function names consistant. Fix memory leak fixed in
StringToLine. (ZyX)
|
|
Problem: Python 2 and 3 use different ways to load modules.
Solution: Use the same method. (ZyX)
|
|
Problem: Python 2: loading modules doesn't work well.
Solution: Fix the code. Add more tests. (ZyX)
|
|
Problem: Not easy to load Python modules.
Solution: Search "python2", "python3" and "pythonx" directories in
'runtimepath' for Python modules. (ZyX)
|
|
Problem: Python: Memory leaks
Solution: Add more Py_DECREF(). (ZyX)
|
|
Problem: Crash when running test 86. (Jun Takimoto)
Solution: Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter)
|
|
Problem: Python: Changing directory with os.chdir() causes problems for
Vim's notion of directories.
Solution: Add vim.chdir() and vim.fchdir(). (ZyX)
|
|
Problem: Vim crashes in Python tests. Compiler warning for unused function.
Solution: Disable the tests for now. Move the function.
|
|
Problem: Python: key mapping is not standard.
Solution: Puthon patch 24: use PyMapping_Keys. (ZyX)
|
|
Problem: Python: Dictionary is not standard.
Solution: Python patch 20: Add standard methods and fields. (ZyX)
|
|
Problem: Python: Using fixed size buffers.
Solution: Python patch 18: Use python's own formatter. (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: No {Buffer,TabPage,Window}.valid attributes.
Solution: Python patch 5: add .valid (ZyX)
|
|
Problem: Python: Dynamic compilation with 2.3 fails.
Solution: Python patch 4. (ZyX)
|
|
Problem: Python: can't assign to vim.Buffer.name.
Solution: Python patch 3. (ZyX)
|
|
Problem: Python: Problems with debugging dynamic build.
Solution: Python patch 1. (ZyX)
|
|
Problem: Python interface does not compile with Python 2.2
Solution: Fix thread issues and True/False. (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: Python: Module initialization is duplicated.
Solution: Move to shared file. (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: There is ":py3do" but no ":pydo".
Solution: Add the ":pydo" command. (Lilydjwg)
|
|
Problem: Python: not so easy to access tab pages.
Solution: Add window.tabpage, make window.number work with non-current tab
pages. (ZyX)
|
|
Problem: Python vim.bindeval() causes SIGABRT.
Solution: Make pygilstate a local variable. (Yukihiro Nakadaira)
|
|
Problem: Python: string exceptions are deprecated.
Solution: Make vim.error an Exception subclass. (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)
|
|
Problem: Python: no easy access to tabpages.
Solution: Add vim.tabpages and vim.current.tabpage. (ZyX)
|
|
Problem: Cannot build with Python 2.2
Solution: Make Python interface work with Python 2.2
Make 2.2 the first supported version. (ZyX)
|
|
Problem: Python: No iterator for vim.list and vim.bufferlist.
Solution: Add the iterators. Also fix name of FunctionType. Add tests for
vim.buffers. (ZyX)
|
|
Problem: Python: List of buffers is not very useful.
Solution: Make vim.buffers a map. No iterator yet. (ZyX)
|
|
Problem: Python: SEGV in Buffer functions.
Solution: Call CheckBuffer() at the right time. (ZyX)
|
|
Problem: Stuff in if_py_both.h is ordered badly.
Solution: Reorder by type. (ZyX)
|
|
Problem: More can be shared between Python 2 and 3.
Solution: Move code to if_py_both.h. (ZyX)
|
|
Problem: Typos in source files.
Solution: Fix the typos. (Ken Takata)
|
|
Problem: Python interface can't easily access options.
Solution: Add vim.options, vim.window.options and vim.buffer.options. (ZyX)
|
|
Problem: Python: Access to Vim variables is not so easy.
Solution: Define vim.vars and vim.vvars. (ZyX)
|
|
Problem: Python code in #ifdef branches with only minor differences.
Solution: Merge the #ifdef branches. (ZyX)
|
|
Problem: Duplicate Python code.
Solution: Move more items to if_py_both.h. (ZyX) Also avoid compiler
warnings for missing initializers.
|
|
Problem: Python uses IndexError when a dict key is not found.
Solution: Use KeyError instead. (ZyX)
|
|
Problem: With Python errors are not always clear.
Solution: Print the stack trace, unless :silent is used. (ZyX)
|