Bram Moolenaar
23e2e11515
patch 8.2.3281: Vim9: TODO items in tests can be taken care of
...
Problem: Vim9: TODO items in tests can be taken care of.
Solution: Update test for now working functionality. (closes #8694 )
2021-08-03 21:16:18 +02:00
Bram Moolenaar
f78da4f9d6
patch 8.2.3269: Vim9: wrong argument check for partial
...
Problem: Vim9: wrong argument check for partial. (Naohiro Ono)
Solution: Handle getting return type without arguments. Correct the minimal
number of arguments for what is included in the partial.
(closes #8667 )
2021-08-01 15:40:31 +02:00
Bram Moolenaar
3c77b6a1ce
patch 8.2.3222: Vim9: cannot used loop variable later as lambda argument
...
Problem: Vim9: cannot used loop variable later as lambda argument.
Solution: When not in function context check the current block ID.
(closes #8637 )
2021-07-25 18:07:00 +02:00
Bram Moolenaar
88421d6dc8
patch 8.2.3209: Vim9: lambda doesn't find block-local variable
...
Problem: Vim9: lambda doesn't find block-local variable.
Solution: Adjust how a script-local variable is found. (closes #8614 )
2021-07-24 14:14:52 +02:00
Bram Moolenaar
c4c5642513
patch 8.2.3195: Vim9: unclear error when passing too many arguments to lambda
...
Problem: Vim9: unclear error when passing too many arguments to lambda.
Solution: Pass the expression itself instead of "[expression]".
(closes #8604 )
2021-07-21 20:38:46 +02:00
Bram Moolenaar
c6ba2f9dde
patch 8.2.3175: Vim9: using illegal pointer with nested lambdas.
...
Problem: Vim9: using illegal pointer with inline function inside a lambda.
Solution: Clear eval_tofree_cmdline when advancing to the next line.
(closes #8578 )
2021-07-18 13:42:29 +02:00
Bram Moolenaar
5245beb37c
patch 8.2.3169: Vim9: cannot handle nested inline function
...
Problem: Vim9: cannot handle nested inline function.
Solution: Check for nested inline function. (closes #8575 )
2021-07-15 22:03:50 +02:00
Bram Moolenaar
c323527d67
patch 8.2.3137: Vim9: no error when a line only has a variable name
...
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 )
2021-07-10 19:42:03 +02:00
Bram Moolenaar
7a40ff00ed
patch 8.2.3100: Vim9: no error when using type with unknown number of args
...
Problem: Vim9: no error when using type with unknown number of arguments.
Solution: Do not ignore argument count of -1. (closes #8492 )
2021-07-04 15:54:08 +02:00
Bram Moolenaar
e28d9b3bd4
patch 8.2.3091: Vim9: default argument expr. cannot use previous argument
...
Problem: Vim9: default argument expression cannot use previous argument
Solution: Correct argument index. (closes #8496 )
2021-07-03 18:56:53 +02:00
Bram Moolenaar
98f9a5f4cb
patch 8.2.3060: Vim9: cannot use ternary operator in parenthesis
...
Problem: Vim9: cannot use ternary operator in parenthesis.
Solution: Do not use "=~" for a default argument value. (closes #8462 )
2021-06-26 22:22:38 +02:00
Bram Moolenaar
015cf10311
patch 8.2.3058: Vim9: cannot use ternary operator in parenthesis
...
Problem: Vim9: cannot use ternary operator in parenthesis.
Solution: Do not use "==" for a default argument value. (closes #8462 )
2021-06-26 21:52:02 +02:00
Bram Moolenaar
14ded11fca
patch 8.2.3056: Vim9: using default value in lambda gives confusing error
...
Problem: Vim9: using default value in lambda gives confusing error.
Solution: Pass "default_args" on the first pass to get the arguments.
(closes #8455 )
2021-06-26 19:25:49 +02:00
Bram Moolenaar
ce024c3e20
patch 8.2.3052: Vim9: "legacy call" does not work
...
Problem: Vim9: "legacy call" does not work.
Solution: Do not skip "call" after "legacy". (closes #8454 )
2021-06-26 13:00:49 +02:00
Bram Moolenaar
831bdf8622
patch 8.2.3035: Vim9: crash when calling :def function with partial
...
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 )
2021-06-22 19:32:17 +02:00
Bram Moolenaar
22f17a29cd
patch 8.2.3031: no error if a function name starts with an underscore
...
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 )
2021-06-21 20:48:58 +02:00
Bram Moolenaar
a993153538
patch 8.2.2983: Vim9: an inline function requires specifying the return type
...
Problem: Vim9: an inline function requires specifying the return type.
Solution: Make the return type optional.
2021-06-12 15:58:16 +02:00
Bram Moolenaar
f0a4069e3d
patch 8.2.2975: Vim9: can only use an autoload function name as a string
...
Problem: Vim9: can only use an autoload function name as a string.
Solution: Load the autoload script when encountered. (closes #8124 )
2021-06-11 22:05:47 +02:00
Bram Moolenaar
c04f2a4cd4
patch 8.2.2967: Vim9: crash when using two levels of partials
...
Problem: Vim9: crash when using two levels of partials.
Solution: Add outer_ref_T and use it in the execution context.
2021-06-09 19:30:03 +02:00
Bram Moolenaar
b55d618f19
patch 8.2.2965: Vim9: crash when calling function that failed to compile
...
Problem: Vim9: crash when calling function that failed to compile.
Solution: Fail when trying to call the function. (closes #8344 )
2021-06-08 22:01:53 +02:00
Bram Moolenaar
2067733b5c
patch 8.2.2951: Vim9: cannot use heredoc for :python, :lua, etc.
...
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.
2021-06-06 17:02:53 +02:00
Bram Moolenaar
c3cb1c92a3
patch 8.2.2926: Vim9: no good error for using :legacy in a :def function
...
Problem: Vim9: no good error for using :legacy in a :def function.
Solution: Give an explicit error where :legacy is not working.
(closes #8309 )
2021-06-02 16:47:53 +02:00
Yegappan Lakshmanan
34fcb69724
patch 8.2.2886: various pieces of code not covered by tests
...
Problem: Various pieces of code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8255 )
2021-05-25 20:14:00 +02:00
Yegappan Lakshmanan
611728f806
patch 8.2.2881: various pieces of code not covered by tests
...
Problem: Various pieces of code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8245 )
2021-05-24 15:15:47 +02:00
Bram Moolenaar
074f84c01f
patch 8.2.2864: Vim9: crash when using inline function
...
Problem: Vim9: crash when using inline function.
Solution: Check for NULL pointer. Make using inline function work inside
lambda. (closes #8217 )
2021-05-18 11:47:44 +02:00
Bram Moolenaar
227c58a486
patch 8.2.2817: Vim9: script sourcing continues after an error
...
Problem: Vim9: script sourcing continues after an error.
Solution: Make an error in any command in "vim9script" abort sourcing.
2021-04-28 20:40:44 +02:00
Bram Moolenaar
dc4c2309f2
patch 8.2.2809: Vim9: :def function compilation fails when using :legacy
...
Problem: Vim9: :def function compilation fails when using :legacy.
Solution: Reset CMOD_LEGACY when compiling a function. (closes #8137 )
2021-04-25 13:54:42 +02:00
Bram Moolenaar
96cf4ba8fb
patch 8.2.2805: Vim9: cannot use legacy syntax in Vim9 script
...
Problem: Vim9: cannot use legacy syntax in Vim9 script.
Solution: Add the :legacy command.
2021-04-24 14:15:41 +02:00
Bram Moolenaar
a6aa16423f
patch 8.2.2802: Vim9: illegal memory access
...
Problem: Vim9: illegal memory access.
Solution: Check for comment before checking for white space. (closes #8142 )
2021-04-23 19:32:23 +02:00
Bram Moolenaar
f48b2fa33c
patch 8.2.2758: Vim9: wrong line number for autoload function with wrong name
...
Problem: Vim9: wrong line number for autoload function with wrong name.
Solution: Set and restore SOURCING_LNUM. (closes #8100 )
2021-04-12 22:02:36 +02:00
Bram Moolenaar
da479c7597
patch 8.2.2750: Vim9: error for using underscore in nested function
...
Problem: Vim9: error for using underscore in nested function.
Solution: Do not consider "_" already defined. (closes #8096 )
2021-04-10 21:01:38 +02:00
Bram Moolenaar
bb8a7ce0a1
patch 8.2.2747: Vim9: not always an error for too many function arguments
...
Problem: Vim9: not always an error for too many function arguments.
Solution: Check for getting too many arguments.
2021-04-10 20:10:26 +02:00
Bram Moolenaar
962c43bf0d
patch 8.2.2744: Vim9: no way to explicitly ignore an argument
...
Problem: Vim9: no way to explicitly ignore an argument.
Solution: Use the underscore as the name for an ignored argument.
2021-04-10 17:18:09 +02:00
Bram Moolenaar
599410cb3c
patch 8.2.2743: Vim9: function state stuck when compiling with ":silent!"
...
Problem: Vim9: function state stuck when compiling with ":silent!".
Solution: Check for uf_def_status to be UF_COMPILING.
2021-04-10 14:03:43 +02:00
Bram Moolenaar
701cc6ca9e
patch 8.2.2742: Vim9: when compiling a function fails it is cleared
...
Problem: Vim9: when compiling a function fails it is cleared.
Solution: Keep the function lines, prevent execution with a different
status. (closes #8093 )
2021-04-10 13:33:48 +02:00
Bram Moolenaar
1088b69451
patch 8.2.2741: Vim9: Partial call does not check right arguments
...
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 )
2021-04-09 22:12:44 +02:00
Bram Moolenaar
2a38908b05
patch 8.2.2740: Vim9: lambda with varargs doesn't work
...
Problem: Vim9: lambda with varargs doesn't work.
Solution: Make "...name" work. Require type to be a list.
2021-04-09 20:24:31 +02:00
Bram Moolenaar
767034c5b8
patch 8.2.2739: Vim9: a lambda accepts too many arguments at the script level
...
Problem: Vim9: a lambda accepts too many arguments at the script level.
Solution: Do not set uf_varargs in Vim9 script.
2021-04-09 17:24:52 +02:00
Bram Moolenaar
86cdb8a4bd
patch 8.2.2726: confusing error message with white space before comma
...
Problem: Confusing error message with white space before comma in the
arguments of a function declaration.
Solution: Give a specific error message. (closes #2235 )
2021-04-06 19:01:03 +02:00
Bram Moolenaar
e8c4660a55
patch 8.2.2725: Vim9: message about compiling is wrong when using try/catch
...
Problem: Vim9: message about compiling is wrong when using try/catch.
Solution: Store the compiling flag with the message. (closes #8071 )
2021-04-05 22:27:37 +02:00
Bram Moolenaar
0865b15bc6
patch 8.2.2718: Vim9: no explicit test for using a global function without g:
...
Problem: Vim9: no explicit test for using a global function without the g:
prefix.
Solution: Add a test case.
2021-04-05 15:38:51 +02:00
Bram Moolenaar
38a3bfa9a2
patch 8.2.2677: Vim9: cannot use only some of the default arguments
...
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 )
2021-03-29 22:14:55 +02:00
Bram Moolenaar
2fecb53115
patch 8.2.2650: Vim9: command modifiers not handled in nested function
...
Problem: Vim9: command modifiers not handled in nested function.
Solution: Keep function-local info in a structure and save it on the stack.
2021-03-24 22:00:56 +01:00
Bram Moolenaar
49f1e9ec3e
patch 8.2.2645: using inline function is not properly tested
...
Problem: Using inline function is not properly tested.
Solution: Add test cases, esp. for errors. Minor code improvements.
2021-03-22 20:49:02 +01:00
Bram Moolenaar
5f91e74bf9
patch 8.2.2619: Vim9: no test for return type of lambda
...
Problem: Vim9: no test for return type of lambda.
Solution: Add a test.
2021-03-17 21:29:29 +01:00
Bram Moolenaar
8863bda25d
patch 8.2.2617: Vim9: script variable in block not found by function
...
Problem: Vim9: script variable in a block scope not found by a nested
function.
Solution: Copy the block scope IDs before compiling the function.
2021-03-17 18:42:08 +01:00
Bram Moolenaar
12bce95887
patch 8.2.2590: Vim9: default argument value may cause internal error
...
Problem: Vim9: default argument value may cause internal error.
Solution: Hide later function arguments when compiling the expression.
(closes #7948 )
2021-03-11 20:04:04 +01:00
Bram Moolenaar
608d78fb45
patch 8.2.2576: Vim9: defining a :func function checks for white space
...
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 )
2021-03-06 22:33:12 +01:00
Bram Moolenaar
04947cc6ed
patch 8.2.2574: Vim9: crash when calling partial with wrong function
...
Problem: Vim9: crash when calling partial with wrong function.
Solution: Check argument types of called function. (closes #7912 )
2021-03-06 19:26:46 +01:00
Bram Moolenaar
18062fcad6
patch 8.2.2572: Vim9: crash when getting the types for a legacy function
...
Problem: Vim9: crash when getting the types for a legacy function.
Solution: Initialize the type list growarray. (closes #7929 )
2021-03-05 21:35:47 +01:00