Age | Commit message (Collapse) | Author |
|
Problem: Sometimes VimL is used, which is confusing.
Solution: Consistently use "Vim script". (Hirohito Higashi)
|
|
Problem: May get ml_get error when :pydo deletes lines or switches to
another buffer. (Nikolai Pavlov, issue #1421)
Solution: Check the buffer and line every time.
|
|
Problem: Coverity complains about not checking for NULL.
Solution: Check for out of memory.
|
|
Problem: Test 86 and 87 fail.
Solution: Call func_ref() also for regular functions.
|
|
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
|
|
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
|
|
Problem: Python: encoding error with Python 2.
Solution: Use "getcwdu" instead of "getcwd". (Ken Takata)
|
|
Problem: Tests involving Python are flaky.
Solution: Set the pt_auto field. Add tests. (Nikolai Pavlov)
|
|
Problem: No "closed", "errors" and "encoding" attribute on Python output.
Solution: Add attributes and more tests. (Roland Puntaier, closes #622)
|
|
Problem: Coverity: missing check for NULL pointer.
Solution: Check for out of memory.
|
|
Problem: Python: Converting a sequence may leak memory.
Solution: Decrement a reference. (Nikolay Pavlov)
|
|
Problem: Clang warns for uninitialzed variable. (Michael Jarvis)
Solution: Initialize it.
|
|
Problem: Unused variable.
Solution: Remove it. (Yasuhiro Matsumoto)
|
|
Problem: Python: turns partial into simple funcref.
Solution: Use partials like partials. (Nikolai Pavlov, closes #734)
|
|
Problem: Using Python vim.bindeval() on a partial doesn't work. (Nikolai
Pavlov)
Solution: Add VAR_PARTIAL support in Python.
|
|
Problem: The versplit feature makes the code uneccessary complicated.
Solution: Remove FEAT_VERTSPLIT, always support vertical splits when
FEAT_WINDOWS is defined.
|
|
Problem: Passing cookie to a callback is clumsy.
Solution: Change function() to take arguments and return a partial.
|
|
Problem: ":colorscheme" does not use 'packpath'.
Solution: Also use in "start" and "opt" directories in 'packpath'.
|
|
Problem: Warnings for missing values in switch.
Solution: Change switch to if-else or add values.
|
|
Problem: No support for JSON.
Solution: Add jsonencode() and jsondecode(). Also add v:false, v:true,
v:null and v:none.
|
|
Problem: Python None value can't be converted to a Vim value.
Solution: Just use zero. (Damien)
|
|
Problem: Compiler complains about type punned pointer.
Solution: Use another way to increment the ref count.
|
|
Problem: Python interface can produce error "vim.message' object has no
attribute 'isatty'".
Solution: Add dummy isatty(), readable(), etc. (closes #464)
|
|
Problem: Possible NULL pointer dereference.
Solution: Check for NULL before using it. (Mike Williams)
|
|
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: Failed commands in Python interface not handled correctly.
Solution: Restore window and buffer on failure.
|
|
Problem: Get ml_get error when using Python to delete lines in a buffer
that is not in a window. issue 248.
Solution: Do not try adjusting the cursor for a different buffer.
|
|
Problem: list_remove() conflicts with function defined in Sun header file.
Solution: Rename the function. (Richard Palo)
|
|
Problem: Compiler warnings when building with Python 3.2.
Solution: Make type cast depend on Python version. (Ken Takata)
|
|
Problem: Typos in messages.
Solution: "then" -> "than". (Dominique Pelle)
|
|
Problem: Older Python versions don't support %ld.
Solution: Use %d instead. (ZyX)
|
|
Problem: Warning for type-punned pointer. (Tony Mechelynck)
Solution: Use intermediate variable.
|
|
Problem: Dictionary.update() thows an error when used without arguments.
Python programmers don't expect that.
Solution: Make Dictionary.update() without arguments do nothing. (ZyX)
|
|
Problem: Compiler warnings for Python interface. (Tony Mechelynck)
Solution: Add type casts, initialize variable.
|
|
Problem: Crash in Python exception handling.
Solution: Only use exception variables if did_throw is set. (ZyX)
|
|
Problem: Compiler warning for pointer type.
Solution: Add type cast.
|
|
Problem: Python: Cannot iterate over options.
Solution: Add options iterator. (ZyX)
|
|
Problem: Python: slices with steps are not supported.
Solution: Support slices in Python vim.List. (ZyX)
|
|
Problem: Problems when building with Borland: st_mode is signed short;
can't build with Python; temp files not ignored by Mercurial;
building with DEBUG doesn't define _DEBUG.
Solution: Fix the problems. (Ken Takata)
|
|
Problem: Memory leak in Python OptionsAssItem. (Ken Takata)
Solution: Call Py_XDECREF() where needed. (ZyX)
|
|
Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the
Python code doesn't catch it. (Yggdroot Chen)
Solution: Throw exceptions on errors in vim.eval(). (ZyX)
|
|
Problem: Python: interrupt not being properly discarded. (Yggdroot Chen)
Solution: Discard interrupt in VimTryEnd. (ZyX)
|
|
Problem: Crash when using invalid key in Python dictionary.
Solution: Check for object to be NULL. Add tests. (ZyX)
|
|
Problem: More ml_get errors when adding or deleting lines from Python.
(Vlad Irnov)
Solution: Switch to a window with the buffer when possible.
|
|
Problem: When Python adds lines to another buffer the cursor position is
wrong, it might be below the last line causing ml_get errors.
(Vlad Irnov)
Solution: Temporarily change the current window, so that marks are corrected
properly.
|
|
Problem: Compiler warnings for function prototypes.
Solution: Add "void". Move list_features() prototype. (Ken Takata)
|
|
Problem: Not giving correct error messages for SystemExit().
Solution: Move E858 into an else. (Ken Takata)
|
|
Problem: Python SystemExit exception is not handled properly.
Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken
Takata)
|
|
Problem: No failure when trying to use a number as a string.
Solution: Give an error when StringToLine() is called with an instance of
the wrong type. (Jun Takimoto)
|
|
Problem: Can't build with Python and MSVC10.
Solution: Move #if outside of macro. (Taro Muraoka)
|