summaryrefslogtreecommitdiffstats
path: root/src/eval.c
AgeCommit message (Collapse)Author
2022-11-02patch 9.0.0828: various typosv9.0.0828dundargoc
Problem: Various typos. Solution: Correct typos. (closes #11432)
2022-10-20patch 9.0.0804: crash when trying to divide a number by -1v9.0.0804Bram Moolenaar
Problem: Crash when trying to divice the largest negative number by -1. Solution: Handle this case specifically.
2022-10-10patch 9.0.0712: wrong column when calling setcursorcharpos() with zero lnumv9.0.0712Bram Moolenaar
Problem: Wrong column when calling setcursorcharpos() with zero lnum. Solution: Set the line number before calling buf_charidx_to_byteidx(). (closes #11329)
2022-10-07patch 9.0.0683: cannot specify a time for :echowindowv9.0.0683Bram Moolenaar
Problem: Cannot specify a time for :echowindow. Solution: A count can be used to specify the display time. Add popup_findecho().
2022-10-01patch 9.0.0634: evaluating "expr" options has more overhead than neededv9.0.0634Bram Moolenaar
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'.
2022-10-01patch 9.0.0632: calling a function from an "expr" option has overheadv9.0.0632Bram Moolenaar
Problem: Calling a function from an "expr" option has too much overhead. Solution: Add call_simple_func() and use it for 'foldexpr'
2022-09-28patch 9.0.0618: calling function for reduce() has too much overheadv9.0.0618Bram Moolenaar
Problem: Calling function for reduce() has too much overhead. Solution: Do not create a funccall_T every time.
2022-09-23patch 9.0.0558: Coverity warns for possibly using NULL pointerv9.0.0558Bram Moolenaar
Problem: Coverity warns for possibly using NULL pointer. Solution: Only use "evalarg" when not NULL.
2022-09-23patch 9.0.0556: leaking memory with nested functionsv9.0.0556Bram Moolenaar
Problem: Leaking memory with nested functions. Solution: Free saved pointer.
2022-09-23patch 9.0.0554: using freed memory when command follows lambdav9.0.0554Bram Moolenaar
Problem: Using freed memory when command follows lambda. Solution: Don't free what is still in use. (closes #11201)
2022-09-22patch 9.0.0552: crash when using NUL in buffer that uses :sourcev9.0.0552Bram Moolenaar
Problem: Crash when using NUL in buffer that uses :source. Solution: Don't get a next line when skipping over NL.
2022-09-19patch 9.0.0502: a closure in a nested loop in a :def function does not workv9.0.0502Bram Moolenaar
Problem: A closure in a nested loop in a :def function does not work. Solution: Use an array of loopvars, one per loop level.
2022-09-17patch 9.0.0491: no good reason to build without the float featurev9.0.0491Bram Moolenaar
Problem: No good reason to build without the float feature. Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17patch 9.0.0487: using freed memory with combination of closuresv9.0.0487Bram Moolenaar
Problem: Using freed memory with combination of closures. Solution: Do not use a partial after it has been freed through the funcstack.
2022-09-17patch 9.0.0485: in :def function all closures in loop get the same variablesv9.0.0485Bram Moolenaar
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.
2022-09-14patch 9.0.0460: loop variable can't be foundv9.0.0460Bram Moolenaar
Problem: Loop variable can't be found. Solution: Adjust block_id of the loop variable each round.
2022-09-11patch 9.0.0444: trying to declare g:variable gives confusing errorv9.0.0444Bram Moolenaar
Problem: Trying to declare g:variable gives confusing error. Solution: Give a better error message. (closes #11108)
2022-09-10patch 9.0.0437: no error when custom completion function returns wrong typev9.0.0437Bram Moolenaar
Problem: No error when a custom completion function returns something else than the expected list. Solution: Give an error. (closes #11100)
2022-09-10patch 9.0.0435: compiler warning for uninitialized variablev9.0.0435Bram Moolenaar
Problem: Compiler warning for uninitialized variable. Solution: Initialize it.
2022-09-10patch 9.0.0433: Coverity warns for not checking allocation failurev9.0.0433Bram Moolenaar
Problem: Coverity warns for not checking allocation failure. Solution: Check that allocating a list or blob succeeded.
2022-09-07patch 9.0.0406: deferred functions not invoked when partial func exitsv9.0.0406Bram Moolenaar
Problem: Deferred functions not invoked when partial func exits. Solution: Create a funccall_T when calling a :def function.
2022-09-07patch 9.0.0405: arguments in a partial not used by a :def functionv9.0.0405Bram Moolenaar
Problem: Arguments in a partial not used by a :def function. Solution: Put the partial arguments on the stack.
2022-09-06patch 9.0.0397: :defer not tested with exceptions and ":qa!"v9.0.0397Bram Moolenaar
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.
2022-09-03patch 9.0.0371: compiler warning for uninitialized variablev9.0.0371Bram Moolenaar
Problem: Compiler warning for uninitialized variable. Solution: Initialize the variable. (John Marriott)
2022-09-03patch 9.0.0366: cannot use import->Func() in lambdav9.0.0366Bram Moolenaar
Problem: Cannot use import->Func() in lambda. (Israel Chauca Fuentes) Solution: Adjust how an expression in a lambda is parsed. (closes #11042)
2022-09-02patch 9.0.0356: :echowindow sets the in_echowindow flag too earlyv9.0.0356Yasuhiro Matsumoto
Problem: :echowindow sets the in_echowindow flag too early. Solution: Set in_echowindow only when outputting the text. (Yasuhiro Matsumoto, closes #11033)
2022-09-01patch 9.0.0351: message window may obscure the command linev9.0.0351Bram Moolenaar
Problem: Message window may obscure the command line. Solution: Reduce the maximum height of the message window.
2022-08-31patch 9.0.0340: the 'cmdheight' zero support causes too much troublev9.0.0340Bram Moolenaar
Problem: The 'cmdheight' zero support causes too much trouble. Solution: Revert support for 'cmdheight' being zero.
2022-08-29patch 9.0.0321: cannot use the message popup window directlyv9.0.0321Bram Moolenaar
Problem: Cannot use the message popup window directly. Solution: Add ":echowindow".
2022-08-28patch 9.0.0307: :echomsg doesn't work properly with cmdheight=0v9.0.0307Bram Moolenaar
Problem: :echomsg doesn't work properly with cmdheight=0. Solution: Improve scrolling and displaying.
2022-08-24patch 9.0.0253: a symlink to an autoload script results in two entriesv9.0.0253Bram Moolenaar
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)
2022-08-18patch 9.0.0225: using freed memory with multiple line breaks in expressionv9.0.0225Bram Moolenaar
Problem: Using freed memory with multiple line breaks in expression. Solution: Free eval_tofree later.
2022-08-06patch 9.0.0156: giving E1170 only in an expression is confusingv9.0.0156Bram Moolenaar
Problem: Giving E1170 only in an expression is confusing. Solution: Give E1170 for any "#{ comment". (closes #10855)
2022-08-06patch 9.0.0150: error for using #{ in an expression is a bit confusingv9.0.0150Bram Moolenaar
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)
2022-06-27patch 8.2.5169: nested :source may use NULL pointerv8.2.5169Bram Moolenaar
Problem: Nested :source may use NULL pointer. Solution: Do not use the NULL pointer.
2022-06-03patch 8.2.5053: cannot have a comment halfway an expression in a blockv8.2.5053Bram Moolenaar
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)
2022-05-30patch 8.2.5046: vim_regsub() can overwrite the destinationv8.2.5046Bram Moolenaar
Problem: vim_regsub() can overwrite the destination. Solution: Pass the destination length, give an error when it doesn't fit.
2022-05-27patch 8.2.5029: "textlock" is always zerov8.2.5029zeertzjq
Problem: "textlock" is always zero. Solution: Remove "textlock" and rename "textwinlock" to "textlock". (closes #10489)
2022-05-22patch 8.2.5006: asan warns for undefined behaviorv8.2.5006Bram Moolenaar
Problem: Asan warns for undefined behavior. Solution: Cast the shifted value to unsigned.
2022-05-22patch 8.2.5004: right shift on negative number does not work as documentedv8.2.5004Bram Moolenaar
Problem: Right shift on negative number does not work as documented. Solution: Use a uvarnumber_T type cast.
2022-05-22patch 8.2.5003: cannot do bitwise shiftsv8.2.5003Yegappan Lakshmanan
Problem: Cannot do bitwise shifts. Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457)
2022-05-10patch 8.2.4930: interpolated string expression requires escapingv8.2.4930Bram Moolenaar
Problem: Interpolated string expression requires escaping. Solution: Do not require escaping in the expression.
2022-05-07patch 8.2.4912: using execute() to define a lambda doesn't workv8.2.4912Bram Moolenaar
Problem: Using execute() to define a lambda doesn't work. (Ernie Rael) Solution: Put the getline function in evalarg. (closes #10375)
2022-05-06patch 8.2.4897: comment inside an expression in lambda ignores the restv8.2.4897Bram Moolenaar
Problem: Comment inside an expression in lambda ignores the rest of the expression. Solution: Truncate the line at the comment. (closes #10367)
2022-05-06patch 8.2.4896: expression in command block does not look after NLv8.2.4896Bram Moolenaar
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)
2022-05-06patch 8.2.4883: string interpolation only works in heredocv8.2.4883LemonBoy
Problem: String interpolation only works in heredoc. Solution: Support interpolated strings. Use syntax for heredoc consistent with strings, similar to C#. (closes #10327)
2022-05-05patch 8.2.4869: expression in command block does not look after NLv8.2.4869Bram Moolenaar
Problem: Expression in command block does not look after NL. Solution: Skip over NL to check what follows. (closes #10358)
2022-04-29patch 8.2.4847: crash when using uninitialized function pointerv8.2.4847LemonBoy
Problem: Crash when using uninitialized function pointer. Solution: Check for NULL pointer. (closes #10319, closes #10319)
2022-04-24patch 8.2.4822: setting ufunc to NULL twicev8.2.4822LemonBoy
Problem: Setting ufunc to NULL twice. Solution: Set ufunc to NULL in find_exported(). (closes #19275)
2022-04-24patch 8.2.4821: crash when imported autoload script was deletedv8.2.4821Bram Moolenaar
Problem: Crash when imported autoload script was deleted. Solution: Initialize local variable. (closes #10274) Give a more meaningful error message.