Age | Commit message (Collapse) | Author |
|
Problem: Cannot use the "dll" options on MS-Windows.
Solution: Support the options on all platforms. Use the built-in name as
the default, so that it's clear what Vim is looking for.
|
|
Problem: Vim overwrites the value of $PYTHONHOME.
Solution: Do not set $PYTHONHOME if it is already set. (Kazuki Sakamoto,
closes #500)
|
|
Problem: Libraries for dynamically loading interfaces can only be defined
at compile time.
Solution: Add options to specify the dll names. (Kazuki Sakamoto,
closes #452)
|
|
Problem: For complicated list and dict use the garbage collector can run
out of stack space.
Solution: Use a stack of dicts and lists to be marked, thus making it
iterative instead of recursive. (Ben Fritz)
|
|
Problem: Loading python may cause Vim to exit.
Solution: Avoid loading the "site" module. (Taro Muraoka)
|
|
Problem: Compiler warnings when building with Python 3.2.
Solution: Make type cast depend on Python version. (Ken Takata)
|
|
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)
|