Bram Moolenaar
59618fed4c
patch 8.2.3866: Vim9: type checking global variables is inconsistent
...
Problem: Vim9: type checking global variables is inconsistent.
Solution: Use the "unknown" type in more places.
2021-12-21 12:32:17 +00:00
Bram Moolenaar
86b3ab4fa0
patch 8.2.3854: Vim9: inconsistent arguments for test functions
...
Problem: Vim9: inconsistent arguments for test functions.
Solution: When :def function and script have different arguments use a list
with two items instead of a separate function.
2021-12-19 18:33:23 +00:00
Bram Moolenaar
23e72369ff
patch 8.2.3831: opfunc test fails when missing feature changes function name
...
Problem: Opfunc test fails when missing feature changes function name.
(Dominique Pellé)
Solution: Check the relevant screen line instead of using a screendump.
(closes #9360 )
2021-12-16 21:07:35 +00:00
Bram Moolenaar
b15cf44c1d
patch 8.2.3826: Vim9: using "g:Func" as funcref doesn't work in :def function
...
Problem: Vim9: using "g:Func" as a funcref does not work in a :def
function.
Solution: Include "g:" in the function name. (closes #9336 )
2021-12-16 15:49:43 +00:00
Bram Moolenaar
7c0fb80030
patch 8.2.3811: the opfunc error test fails on a slow machine
...
Problem: The opfunc error test fails on a slow machine.
Solution: Use WaitForAssert().
2021-12-14 20:26:53 +00:00
Bram Moolenaar
7509ad8b0f
patch 8.2.3809: Vim9: crash when garbage collecting a nested partial
...
Problem: Vim9: crash when garbage collecting a nested partial. (Virginia
Senioria)
Solution: Set references in all the funcstacks. (closes #9348 )
2021-12-14 18:14:37 +00:00
Bram Moolenaar
3b309f11db
patch 8.2.3798: a :def callback function postpones an error message
...
Problem: A :def callback function postpones an error message.
Solution: Display the error after calling the function. (closes #9340 )
2021-12-13 18:19:55 +00:00
Bram Moolenaar
33b968dc60
patch 8.2.3794: Vim9: cannot find script-local func using "s:"
...
Problem: Vim9: cannot find script-local func using "s:". (Yegappan
Lakshmanan)
Solution: Skip the "s:".
2021-12-13 11:31:04 +00:00
Bram Moolenaar
ef082e12df
patch 8.2.3793: using "g:Func" as a funcref does not work in script context
...
Problem: Using "g:Func" as a funcref does not work in script context
because "g:" is dropped.
Solution: Keep "g:" in the name. Also add parenthesis to avoid confusing
operator prececence. (closes #9336 )
2021-12-12 21:02:03 +00:00
Bram Moolenaar
2ef9156b42
patch 8.2.3783: confusing error for using a variable as a function
...
Problem: Confusing error for using a variable as a function.
Solution: If a function is not found but there is a variable, give a more
useful error. (issue #9310 )
2021-12-11 16:14:07 +00:00
Bram Moolenaar
dd297bc11d
patch 8.2.3771: Vim9: accessing freed memory when checking type
...
Problem: Vim9: accessing freed memory when checking type.
Solution: Make a copy of a function type.
2021-12-10 10:37:38 +00:00
Bram Moolenaar
dcb53be441
patch 8.2.3765: Vim9: cannot use a lambda for 'opfunc' and others
...
Problem: Vim9: cannot use a lambda for 'opfunc' and others.
Solution: Convert the lambda to a string.
2021-12-09 14:23:43 +00:00
Bram Moolenaar
69c76171f1
patch 8.2.3720: Vim9: Internal error when invoking closure in legacy context
...
Problem: Vim9: Internal error when invoking closure in legacy context.
Solution: Give a more appropriate error message. (closes #9251 )
2021-12-02 16:38:52 +00:00
Bram Moolenaar
38453528c3
patch 8.2.3692: Vim9: cannot use :func inside a :def function
...
Problem: Vim9: cannot use :func inside a :def function.
Solution: Make it work.
2021-11-28 22:00:12 +00:00
Bram Moolenaar
d604d78e7b
patch 8.2.3634: error for already defined function uses wrong line number
...
Problem: Error for already defined function uses wrong line number.
Solution: Set SOURCING_LNUM before giving the error message. (closes #9085 )
2021-11-20 21:46:20 +00:00
Bram Moolenaar
a755fdbe80
patch 8.2.3633: Vim9: line number of lambda is off by one
...
Problem: Vim9: line number of lambda is off by one.
Solution: Add one to the line number. (closes #9083 )
2021-11-20 21:35:41 +00:00
Bram Moolenaar
844fb64a60
patch 8.2.3560: using freed memory with lambda
...
Problem: Using freed memory with lambda.
Solution: Do not free lines early, keep them until the expression is
finished.
2021-10-23 13:32:30 +01:00
Bram Moolenaar
b1b6f4de2b
patch 8.2.3435: Vim9: dict is not passed to dict function
...
Problem: Vim9: dict is not passed to dict function.
Solution: Keep the dict used until a function call.
2021-09-13 18:25:54 +02:00
Bram Moolenaar
efc084e335
patch 8.2.3422: Vim9: no failure if return type differs from returned var
...
Problem: Vim9: no failure if return type differs from returned variable.
Solution: Copy type when copying a list. (closes #8847 )
2021-09-09 22:30:52 +02:00
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