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
Bram Moolenaar
057e84afe5
patch 8.2.2558: no error if a lambda argument shadows a variable
...
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 )
2021-02-28 16:55:11 +01:00
Bram Moolenaar
b4893b8450
patch 8.2.2540: Vim9: no error for using script var name for argument
...
Problem: Vim9: no error for using script var name for argument.
Solution: Check for this error. (closes #7868 )
2021-02-21 22:20:24 +01:00
Bram Moolenaar
03dfde2b5f
patch 8.2.2512: Vim9: compiling error test sometimes fails
...
Problem: Vim9: compiling error test sometimes fails.
Solution: use WaitForAssert() instead of sleeping for a bit. (Dominique
Pellé, closes #7837 )
2021-02-14 13:17:22 +01:00
Bram Moolenaar
31842cd077
patch 8.2.2505: Vim9: crash after defining function with invalid return type
...
Problem: Vim9: crash after defining function with invalid return type.
Solution: Clear function growarrays. Fix memory leak.
2021-02-12 22:10:21 +01:00
Bram Moolenaar
44ec21c467
patch 8.2.2504: Vim9: crash when using an argument from a closure
...
Problem: Vim9: crash when using an argument from a closure.
Solution: Check if gen_load_outer is NULL. (closes #7821 )
2021-02-12 21:50:57 +01:00
Bram Moolenaar
4f53b79bf5
patch 8.2.2481: Vim9: confusing error when variable arguments have default
...
Problem: Vim9: confusing error when variable arguments have a default
value.
Solution: Give a specific error message. (closes #7793 )
2021-02-07 15:59:49 +01:00
Bram Moolenaar
0346b799fc
patch 8.2.2445: Vim9: no proper error for lambda missing return type
...
Problem: Vim9: no proper error for lambda missing return type.
Solution: Check for this error. (closes #7758 )
2021-01-31 22:18:29 +01:00
Bram Moolenaar
4efd994829
patch 8.2.2405: Vim9: no need to allow white space before "(" for :def
...
Problem: Vim9: no need to allow white space before "(" for :def.
Solution: Give an error for stray white space. (issue #7734 )
2021-01-24 21:14:20 +01:00
Bram Moolenaar
e32e516dfa
patch 8.2.2387: runtime type check does not mention argument index
...
Problem: Runtime type check does not mention argument index.
Solution: Add ct_arg_idx. (closes #7720 )
2021-01-21 20:21:29 +01:00
Bram Moolenaar
f904133e1a
patch 8.2.2386: Vim9: crash when using ":silent! put"
...
Problem: Vim9: crash when using ":silent! put".
Solution: When ignoring an error for ":silent!" rewind the stack and skip
ahead to restoring the cmdmod. (closes #7717 )
2021-01-21 19:41:16 +01:00
Bram Moolenaar
f898f7c68d
patch 8.2.2364: Vim9: line break in lambda accesses freed memory
...
Problem: Vim9: line break in lambda accesses freed memory.
Solution: Make a copy of the return type. (closes #7664 )
2021-01-16 18:09:52 +01:00
Bram Moolenaar
648ea76e1d
patch 8.2.2357: Vim9: crash when parsing function return type fails
...
Problem: Vim9: crash when parsing function return type fails.
Solution: Bail out and set return type to "unknown". (closes #7685 )
2021-01-15 19:04:32 +01:00
Bram Moolenaar
75ab91ff34
patch 8.2.2325: Vim9: crash if map() changes the item type
...
Problem: Vim9: crash if map() changes the item type.
Solution: Check that the item type is still OK. (closes #7652 )
Fix problem with mapnew() on range list.
2021-01-10 22:42:50 +01:00