Bram Moolenaar
01dd6c3732
patch 8.2.3404: Vim9: no error for white space before "("
...
Problem: Vim9: no error for white space before "(".
Solution: Give an error, like in a compiled function.
2021-09-05 16:36:23 +02:00
Bram Moolenaar
c66f645b80
patch 8.2.3359: Vim9: error for type when variable is not set
...
Problem: Vim9: error for type when variable is not set.
Solution: Give a specific error for a NULL function. (closes #8773 )
2021-08-19 21:08:30 +02:00
Bram Moolenaar
4bba16d252
patch 8.2.3352: Vim9: error for nested :enddef has wrong line number
...
Problem: Vim9: error for nested :enddef has wrong line number.
Solution: Compute the line number.
2021-08-15 19:28:05 +02:00
Bram Moolenaar
b033ee2ddf
patch 8.2.3351: Vim9: using a function by name may delete it
...
Problem: Vim9: using a function by name may delete it. (Naohiro Ono)
Solution: Increment the reference count when using a function by name.
(closes #8760 )
2021-08-15 16:08:36 +02:00
Bram Moolenaar
88c89c7722
patch 8.2.3341: Vim9: function call aborted despite try/catch
...
Problem: Vim9: function call aborted despite try/catch. (Naohiro Ono)
Solution: Ignore error caught by try/catch. (closes #8755 )
2021-08-14 14:01:05 +02:00
Bram Moolenaar
6e48b84c5f
patch 8.2.3326: Vim9: no error passing an empty list of the wrong type
...
Problem: Vim9: no error passing an empty list of the wrong type.
Solution: Use ISN_SETTYPE also for "list<any>". (closes #8732 )
2021-08-10 22:52:02 +02:00
Bram Moolenaar
33ea9fd4d8
patch 8.2.3317: Vim9: No error for missing white space before return type
...
Problem: Vim9: No error for missing white space before return type.
Solution: Check for white space. (closes #8733 )
2021-08-08 19:07:37 +02:00
Bram Moolenaar
6ce46b9963
patch 8.2.3308: Vim9: no runtime check for argument type with varargs only
...
Problem: Vim9: no runtime check for argument type if a function only has
varargs.
Solution: Also check argument types if uf_va_type is set. (closes #8715 )
2021-08-07 15:35:36 +02:00
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