Age | Commit message (Collapse) | Author |
|
Problem: Vim9: using illegal pointer with inline function inside a lambda.
Solution: Clear eval_tofree_cmdline when advancing to the next line.
(closes #8578)
|
|
Problem: Vim9: cannot handle nested inline function.
Solution: Check for nested inline function. (closes #8575)
|
|
Problem: Vim9: no error when a line only has a variable name.
Solution: Give an error when an expression is evaluated without an effect.
(closes #8538)
|
|
Problem: Vim9: no error when using type with unknown number of arguments.
Solution: Do not ignore argument count of -1. (closes #8492)
|
|
Problem: Vim9: default argument expression cannot use previous argument
Solution: Correct argument index. (closes #8496)
|
|
Problem: Vim9: cannot use ternary operator in parenthesis.
Solution: Do not use "=~" for a default argument value. (closes #8462)
|
|
Problem: Vim9: cannot use ternary operator in parenthesis.
Solution: Do not use "==" for a default argument value. (closes #8462)
|
|
Problem: Vim9: using default value in lambda gives confusing error.
Solution: Pass "default_args" on the first pass to get the arguments.
(closes #8455)
|
|
Problem: Vim9: "legacy call" does not work.
Solution: Do not skip "call" after "legacy". (closes #8454)
|
|
Problem: Vim9: crash when calling :def function with partial and return
type is not set.
Solution: When the return type is not set handle like the return type is
unknown. (closes #8422)
|
|
Problem: No error if a function name starts with an underscore. (Naohiro
Ono)
Solution: In Vim9 script disallow a function name starting with an
underscore, as is mentioned in the help. (closes #8414)
|
|
Problem: Vim9: an inline function requires specifying the return type.
Solution: Make the return type optional.
|
|
Problem: Vim9: can only use an autoload function name as a string.
Solution: Load the autoload script when encountered. (closes #8124)
|
|
Problem: Vim9: crash when using two levels of partials.
Solution: Add outer_ref_T and use it in the execution context.
|
|
Problem: Vim9: crash when calling function that failed to compile.
Solution: Fail when trying to call the function. (closes #8344)
|
|
Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc.
Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT
instruction.
|
|
Problem: Vim9: no good error for using :legacy in a :def function.
Solution: Give an explicit error where :legacy is not working.
(closes #8309)
|
|
Problem: Various pieces of code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8255)
|
|
Problem: Various pieces of code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8245)
|
|
Problem: Vim9: crash when using inline function.
Solution: Check for NULL pointer. Make using inline function work inside
lambda. (closes #8217)
|
|
Problem: Vim9: script sourcing continues after an error.
Solution: Make an error in any command in "vim9script" abort sourcing.
|
|
Problem: Vim9: :def function compilation fails when using :legacy.
Solution: Reset CMOD_LEGACY when compiling a function. (closes #8137)
|
|
Problem: Vim9: cannot use legacy syntax in Vim9 script.
Solution: Add the :legacy command.
|
|
Problem: Vim9: illegal memory access.
Solution: Check for comment before checking for white space. (closes #8142)
|
|
Problem: Vim9: wrong line number for autoload function with wrong name.
Solution: Set and restore SOURCING_LNUM. (closes #8100)
|
|
Problem: Vim9: error for using underscore in nested function.
Solution: Do not consider "_" already defined. (closes #8096)
|
|
Problem: Vim9: not always an error for too many function arguments.
Solution: Check for getting too many arguments.
|
|
Problem: Vim9: no way to explicitly ignore an argument.
Solution: Use the underscore as the name for an ignored argument.
|
|
Problem: Vim9: function state stuck when compiling with ":silent!".
Solution: Check for uf_def_status to be UF_COMPILING.
|
|
Problem: Vim9: when compiling a function fails it is cleared.
Solution: Keep the function lines, prevent execution with a different
status. (closes #8093)
|
|
Problem: Vim9: Partial call does not check right arguments.
Solution: Adjust the offset for whether the partial is before or after the
arguments. (closes #8091)
|
|
Problem: Vim9: lambda with varargs doesn't work.
Solution: Make "...name" work. Require type to be a list.
|
|
Problem: Vim9: a lambda accepts too many arguments at the script level.
Solution: Do not set uf_varargs in Vim9 script.
|
|
Problem: Confusing error message with white space before comma in the
arguments of a function declaration.
Solution: Give a specific error message. (closes #2235)
|
|
Problem: Vim9: message about compiling is wrong when using try/catch.
Solution: Store the compiling flag with the message. (closes #8071)
|
|
Problem: Vim9: no explicit test for using a global function without the g:
prefix.
Solution: Add a test case.
|
|
Problem: Vim9: cannot use only some of the default arguments.
Solution: Use v:none to use default argument value. Remove
uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504)
|
|
Problem: Vim9: command modifiers not handled in nested function.
Solution: Keep function-local info in a structure and save it on the stack.
|
|
Problem: Using inline function is not properly tested.
Solution: Add test cases, esp. for errors. Minor code improvements.
|
|
Problem: Vim9: no test for return type of lambda.
Solution: Add a test.
|
|
Problem: Vim9: script variable in a block scope not found by a nested
function.
Solution: Copy the block scope IDs before compiling the function.
|
|
Problem: Vim9: default argument value may cause internal error.
Solution: Hide later function arguments when compiling the expression.
(closes #7948)
|
|
Problem: Vim9: defining a :func function checks for white space after a
comma in the arguments.
Solution: Only check for white space in a :def function. (closes #7930)
|
|
Problem: Vim9: crash when calling partial with wrong function.
Solution: Check argument types of called function. (closes #7912)
|
|
Problem: Vim9: crash when getting the types for a legacy function.
Solution: Initialize the type list growarray. (closes #7929)
|
|
Problem: No error if a lambda argument shadows a variable.
Solution: Check that the argument name shadows a local, argument or script
variable. (closes #7898)
|
|
Problem: Vim9: no error for using script var name for argument.
Solution: Check for this error. (closes #7868)
|
|
Problem: Vim9: compiling error test sometimes fails.
Solution: use WaitForAssert() instead of sleeping for a bit. (Dominique
Pellé, closes #7837)
|
|
Problem: Vim9: crash after defining function with invalid return type.
Solution: Clear function growarrays. Fix memory leak.
|
|
Problem: Vim9: crash when using an argument from a closure.
Solution: Check if gen_load_outer is NULL. (closes #7821)
|