Age | Commit message (Collapse) | Author |
|
Problem: Various typos.
Solution: Correct typos. (closes #11432)
|
|
Problem: Crash when trying to divice the largest negative number by -1.
Solution: Handle this case specifically.
|
|
Problem: Wrong column when calling setcursorcharpos() with zero lnum.
Solution: Set the line number before calling buf_charidx_to_byteidx().
(closes #11329)
|
|
Problem: Cannot specify a time for :echowindow.
Solution: A count can be used to specify the display time. Add
popup_findecho().
|
|
Problem: Evaluating "expr" options has more overhead than needed.
Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
"expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
'formatexpr', 'indentexpr' and 'charconvert'.
|
|
Problem: Calling a function from an "expr" option has too much overhead.
Solution: Add call_simple_func() and use it for 'foldexpr'
|
|
Problem: Calling function for reduce() has too much overhead.
Solution: Do not create a funccall_T every time.
|
|
Problem: Coverity warns for possibly using NULL pointer.
Solution: Only use "evalarg" when not NULL.
|
|
Problem: Leaking memory with nested functions.
Solution: Free saved pointer.
|
|
Problem: Using freed memory when command follows lambda.
Solution: Don't free what is still in use. (closes #11201)
|
|
Problem: Crash when using NUL in buffer that uses :source.
Solution: Don't get a next line when skipping over NL.
|
|
Problem: A closure in a nested loop in a :def function does not work.
Solution: Use an array of loopvars, one per loop level.
|
|
Problem: No good reason to build without the float feature.
Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
|
|
Problem: Using freed memory with combination of closures.
Solution: Do not use a partial after it has been freed through the
funcstack.
|
|
Problem: In a :def function all closures in a loop get the same variables.
Solution: Make a copy of loop variables used in a closure.
|
|
Problem: Loop variable can't be found.
Solution: Adjust block_id of the loop variable each round.
|
|
Problem: Trying to declare g:variable gives confusing error.
Solution: Give a better error message. (closes #11108)
|
|
Problem: No error when a custom completion function returns something else
than the expected list.
Solution: Give an error. (closes #11100)
|
|
Problem: Compiler warning for uninitialized variable.
Solution: Initialize it.
|
|
Problem: Coverity warns for not checking allocation failure.
Solution: Check that allocating a list or blob succeeded.
|
|
Problem: Deferred functions not invoked when partial func exits.
Solution: Create a funccall_T when calling a :def function.
|
|
Problem: Arguments in a partial not used by a :def function.
Solution: Put the partial arguments on the stack.
|
|
Problem: :defer not tested with exceptions and ":qa!".
Solution: Test :defer works when exceptions are thrown and when ":qa!" is
used. Invoke the deferred calls on exit.
|
|
Problem: Compiler warning for uninitialized variable.
Solution: Initialize the variable. (John Marriott)
|
|
Problem: Cannot use import->Func() in lambda. (Israel Chauca Fuentes)
Solution: Adjust how an expression in a lambda is parsed. (closes #11042)
|
|
Problem: :echowindow sets the in_echowindow flag too early.
Solution: Set in_echowindow only when outputting the text. (Yasuhiro
Matsumoto, closes #11033)
|
|
Problem: Message window may obscure the command line.
Solution: Reduce the maximum height of the message window.
|
|
Problem: The 'cmdheight' zero support causes too much trouble.
Solution: Revert support for 'cmdheight' being zero.
|
|
Problem: Cannot use the message popup window directly.
Solution: Add ":echowindow".
|
|
Problem: :echomsg doesn't work properly with cmdheight=0.
Solution: Improve scrolling and displaying.
|
|
Problem: A symlink to an autoload script results in two entries in the list
of scripts, items expected in one are actually in the other.
Solution: Have one script item refer to the actually sourced one.
(closes #10960)
|
|
Problem: Using freed memory with multiple line breaks in expression.
Solution: Free eval_tofree later.
|
|
Problem: Giving E1170 only in an expression is confusing.
Solution: Give E1170 for any "#{ comment". (closes #10855)
|
|
Problem: Error for using #{ in an expression is a bit confusing.
Solution: Mention that this error is only given for an expression.
Avoid giving the error more than once. (closes #10855)
|
|
Problem: Nested :source may use NULL pointer.
Solution: Do not use the NULL pointer.
|
|
Problem: Cannot have a comment halfway an expression in an autocmd command
block.
Solution: When skipping over the NL also skip over comments. (closes #10519)
|
|
Problem: vim_regsub() can overwrite the destination.
Solution: Pass the destination length, give an error when it doesn't fit.
|
|
Problem: "textlock" is always zero.
Solution: Remove "textlock" and rename "textwinlock" to "textlock".
(closes #10489)
|
|
Problem: Asan warns for undefined behavior.
Solution: Cast the shifted value to unsigned.
|
|
Problem: Right shift on negative number does not work as documented.
Solution: Use a uvarnumber_T type cast.
|
|
Problem: Cannot do bitwise shifts.
Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457)
|
|
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
|
|
Problem: Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution: Put the getline function in evalarg. (closes #10375)
|
|
Problem: Comment inside an expression in lambda ignores the rest of the
expression.
Solution: Truncate the line at the comment. (closes #10367)
|
|
Problem: Expression in command block does not look after NL when command is
typed.
Solution: Skip over NL also when not in a script. (closes #10358)
|
|
Problem: String interpolation only works in heredoc.
Solution: Support interpolated strings. Use syntax for heredoc consistent
with strings, similar to C#. (closes #10327)
|
|
Problem: Expression in command block does not look after NL.
Solution: Skip over NL to check what follows. (closes #10358)
|
|
Problem: Crash when using uninitialized function pointer.
Solution: Check for NULL pointer. (closes #10319, closes #10319)
|
|
Problem: Setting ufunc to NULL twice.
Solution: Set ufunc to NULL in find_exported(). (closes #19275)
|
|
Problem: Crash when imported autoload script was deleted.
Solution: Initialize local variable. (closes #10274) Give a more meaningful
error message.
|