Age | Commit message (Collapse) | Author |
|
Problem: Ubsan reports errors for integer overflow.
Solution: Define macros for minimum and maximum values. Select an
expression based on the value. (Mike Williams)
|
|
Problem: Vim does not support bracketed paste, as implemented by xterm and
other terminals.
Solution: Add t_BE, t_BD, t_PS and t_PE.
|
|
Problem: Leaking file descriptor when system() cannot find the buffer.
(Coverity)
Solution: Close the file descriptor. (Dominique Pelle, closes #1398)
|
|
Problem: Warning for an unused parameter when the libcall feature is
disabled. Warning for a function type cast when compiling with
-pedantic.
Solution: Add UNUSED. Use a different type cast. (Damien Molinier)
|
|
Problem: When compiling with EBCDIC defined the build fails. (Yaroslav
Kuzmin)
Solution: Move sortFunctions() to the right file. Avoid warning for
redefining __SUSV3.
|
|
Problem: str2nr() and str2float() do not always work with negative values.
Solution: Be more flexible about handling signs. (LemonBoy, closes #1332)
Add more tests.
|
|
Problem: JSON with a duplicate key gives an internal error. (Lcd)
Solution: Give a normal error. Avoid an error when parsing JSON from a
remote client fails.
|
|
Problem: To pass buffer content to system() and systemlist() one has to
first create a string or list.
Solution: Allow passing a buffer number. (LemonBoy, closes #1240)
|
|
Problem: searchpair() does not work when 'magic' is off. (Chris Paul)
Solution: Add \m in the pattern. (Christian Brabandt, closes #1341)
|
|
Problem: Line number of current buffer in getbufinfo() is wrong.
Solution: For the current buffer use the current line number. (Ken Takata)
|
|
Problem: Internal error for assert_inrange(1, 1).
Solution: Adjust number of allowed arguments. (Dominique Pelle)
|
|
Problem: When reading channel output in a timer, messages may go missing.
(Skywind)
Solution: Add the "drop" option. Write error messages in the channel log.
Don't have ch_canread() check for the channel being open.
|
|
Problem: When using ch_read() with zero timeout, can't tell the difference
between reading an empty line and nothing available.
Solution: Add ch_canread().
|
|
Problem: When the input or output is not a tty Vim appears to hang.
Solution: Add the --ttyfail argument. Also add the "ttyin" and "ttyout"
features to be able to check in Vim script.
|
|
Problem: Cannot make Vim fail on an internal error.
Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an
internal error without mentioning where.
|
|
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
Solution: Do not set compl_curr_match when called from complete_check().
(closes #1168)
|
|
Problem: Code for MS-Windows is complicated because of the exceptions for
old systems.
Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata)
|
|
Problem: Can't tell which part of a channel has "buffered" status.
Solution: Add an optional argument to ch_status(). Let ch_info() also
return "buffered" for out_status and err_status.
|
|
Problem: Typos in comments.
Solution: Change "its" to "it's". (Matthew Brener, closes #1088)
|
|
Problem: A string argument for function() that is not a function name
results in an error message with NULL. (Christian Brabandt)
Solution: Use the argument for the error message.
|
|
Problem: Memory leak in timer_start().
Solution: Check the right field to be NULL.
|
|
Problem: Crash when stop_timer() is called in a callback of a callback.
Vim hangs when the timer callback uses too much time.
Solution: Set tr_id to -1 when a timer is to be deleted. Don't keep calling
callbacks forever. (Ozaki Kiichi)
|
|
Problem: Error for min() and max() contains %s. (Nikolay Pavlov)
Solution: Pass the function name. (closes #1040)
|
|
Problem: It is not possible to close the "in" part of a channel.
Solution: Add ch_close_in().
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: Memory leak in getbufinfo() when there is a sign. (Dominique
Pelle)
Solution: Remove extra vim_strsave().
|
|
Problem: getwininfo() and getbufinfo() are inefficient.
Solution: Do not make a copy of all window/buffer-local options. Make it
possible to get them with gettabwinvar() or getbufvar().
|
|
Problem: getbufinfo(), getwininfo() and gettabinfo() are inefficient.
Solution: Instead of making a copy of the variables dictionary, use a
reference.
|
|
Problem: Check for Windows 3.1 will always return false. (Christian
Brabandt)
Solution: Remove the dead code.
|
|
Problem: Some error message cannot be translated.
Solution: Enclose them in _() and N_(). (Dominique Pelle)
|
|
Problem: submatch() does not check for a valid argument.
Solution: Give an error if the argument is out of range. (Dominique Pelle)
|
|
Problem: Crash when using funcref() with invalid name. (Dominique Pelle)
Solution: Check for NULL translated name.
|
|
Problem: The field names used by getbufinfo(), gettabinfo() and
getwininfo() are not consistent.
Solution: Use bufnr, winnr and tabnr. (Yegappan Lakshmanan)
|
|
Problem: Compiler warnings with older compiler and 64 bit numbers.
Solution: Add "LL" to large values. (Mike Williams)
|
|
Problem: Buffer overflow when using latin1 character with feedkeys().
Solution: Check for an illegal character. Add a test.
|
|
Problem: It's not easy to find out if a window is a quickfix or location
list window.
Solution: Add "loclist" and "quickfix" entries to the dict returnec by
getwininfo(). (Yegappan Lakshmanan)
|
|
Problem: Warning for unused function.
Solution: Put the function inside #ifdef. (John Marriott)
|
|
Problem: 'wildignore' always applies to getcompletion().
Solution: Add an option to use 'wildignore' or not. (Yegappan Lakshmanan)
|
|
Problem: It is not easy to get information about buffers, windows and
tabpages.
Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan
Lakshmanan)
|
|
Problem: Cannot get all information about a quickfix list.
Solution: Add an optional argument to get/set loc/qf list(). (Yegappan
Lakshmanan)
|
|
Problem: There is no easy way to stop all timers. There is no way to
temporary pause a timer.
Solution: Add timer_stopall() and timer_pause().
|
|
Problem: Cannot get information about timers.
Solution: Add timer_info().
|
|
Problem: Result of getcompletion('', 'sign') depends on previous
completion.
Solution: Call set_context_in_sign_cmd(). (Dominique Pelle)
|
|
Problem: setmatches() mixes up values. (Nikolai Pavlov)
Solution: Save the string instead of reusing a shared buffer.
|
|
Problem: Result of getcompletion('', 'cscope') depends on previous
completion. (Christian Brabandt)
Solution: Call set_context_in_cscope_cmd().
|
|
Problem: No proper translation of messages with a count.
Solution: Use ngettext(). (Sergey Alyoshin)
|
|
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: No error for using function() badly.
Solution: Check for passing wrong function name. (Ken Takata)
|
|
Problem: Memory leak when using timer_start(). (Dominique Pelle)
Solution: Don't copy the callback when using a partial.
|
|
Problem: No easy way to check if lambda and closure are supported.
Solution: Add the +lambda feature.
|