| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
Problem: Python threads still do not work properly.
Solution: Fix both Python 2 and 3. Add tests. (Ken Takata)
|
|
|
|
|
| |
Problem: Python threads don't run in the background (issue 103).
Solution: Move the statements to manipulate thread state.
|
|
|
|
|
| |
Problem: Python 3 does not preserve state beween commands.
Solution: Preserve the state. (Paul Ollis)
|
|
|
|
|
| |
Problem: State specific to the Python thread is discarded.
Solution: Keep state between threads. (Paul)
|
|
|
|
|
| |
Problem: Not possible to lock/unlock lists in Python interface.
Solution: Add .locked and .scope attributes. (ZyX)
|
|
|
|
|
| |
Problem: More Python code can be shared between Python 2 and 3.
Solution: Move code to if_py_both.h. (ZyX)
|
|
|
|
|
|
| |
Problem: SEGV in Python code.
Solution: Initialize len to zero. Use the right function depending on
version. (Maxim Philippov)
|
|
|
|
|
| |
Problem: Python bindings silently truncate string values containing NUL.
Solution: Fail when a string contains NUL. (ZyX)
|
|
|
|
|
| |
Problem: Internal error in :pyeval.
Solution: Handle failed object conversion. (ZyX)
|