Bram Moolenaar
a7583c42cd
patch 8.2.4912: using execute() to define a lambda doesn't work
...
Problem: Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution: Put the getline function in evalarg. (closes #10375 )
2022-05-07 21:14:05 +01:00
Bram Moolenaar
ec89223478
patch 8.2.4892: test failures because of changed error messages
...
Problem: Test failures because of changed error messages.
Solution: Adjust the exptected error messages.
2022-05-06 17:53:06 +01:00
Yegappan Lakshmanan
7c7e19cf50
patch 8.2.4716: memory allocation failure not tested when defining a function
...
Problem: Memory allocation failure not tested when defining a function.
Solution: Add a test. (Yegappan Lakshmanan, closes #10127 )
2022-04-09 11:09:07 +01:00
Bram Moolenaar
a915fa0103
patch 8.2.4612: Vim9: cannot use a recursive call in a nested function
...
Problem: Vim9: cannot use a recursive call in a nested function. (Sergey
Vlasov)
Solution: Define the funcref before compiling the function. (closes #9989 )
2022-03-23 11:29:15 +00:00
Bram Moolenaar
efd73ae5d2
patch 8.2.4601: Vim9: not enough test coverage for executing :def function
...
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests.
2022-03-20 18:51:00 +00:00
Bram Moolenaar
1d9cef769d
patch 8.2.4586: Vim9: no error for using lower case name for "func" argument
...
Problem: Vim9: no error for using lower case name for "func" argument.
(Ernie Rael)
Solution: Check the name as soon as the type is known.
2022-03-17 16:30:03 +00:00
Bram Moolenaar
21dc8f1527
patch 8.2.4580: Vim9: incorrect error for shadowing variable
...
Problem: Vim9: incorrect error for shadowing variable.
Solution: Do not pass the context when compiling a referenced function.
2022-03-16 17:54:17 +00:00
Bram Moolenaar
1a572e9b3b
patch 8.2.4572: Vim9: return type "any" is changed to first returned type
...
Problem: Vim9: return type "any" is sometimes changed to first returned
type. (Virginia Senioria)
Solution: Do not change the return type if declared as "any". (closes #9949 )
2022-03-15 12:28:10 +00:00
Bram Moolenaar
badf04f5c2
patch 8.2.4554: Vim9: using null values not sufficiently tested
...
Problem: Vim9: using null values not sufficiently tested.
Solution: Add more tests. Fix uncovered problem.
2022-03-12 21:28:22 +00:00
Bram Moolenaar
fb43cfc2c6
patch 8.2.4548: script-local function is deleted when used in a funcref
...
Problem: Script-local function is deleted when used in a funcref.
Solution: Do not consider a function starting with "<SNR>" reference
counted. (closes #9916 , closes #9820 )
2022-03-11 18:54:17 +00:00
Bram Moolenaar
ed0c62e7b1
patch 8.2.4529: Vim9: comparing partial with function fails
...
Problem: Vim9: comparing partial with function fails.
Solution: Support this comparison. Avoid a crash. (closes #9909 )
Add more test cases.
2022-03-08 19:43:55 +00:00
Bram Moolenaar
673bcb10eb
patch 8.2.4528: crash when using null_function for a partial
...
Problem: Crash when using null_function for a partial.
Solution: Don't call fname_trans_sid() with NULL. (closes #9908 )
2022-03-08 16:52:24 +00:00
Bram Moolenaar
8acb9cc620
patch 8.2.4526: Vim9: cannot set variables to a null value
...
Problem: Vim9: cannot set variables to a null value.
Solution: Add null_list, null_job, etc.
2022-03-08 13:18:55 +00:00
Bram Moolenaar
1983f1aa31
patch 8.2.4484: Vim9: some error messages are not tested
...
Problem: Vim9: some error messages are not tested.
Solution: Add a few more test cases. Delete dead code.
2022-02-28 20:55:02 +00:00
Bram Moolenaar
dea5ab0fc5
patch 8.2.4460: Vim9: wrong error for defining dict function
...
Problem: Vim9: wrong error for defining dict function.
Solution: Explicitly check for trying to define a dict function.
(closes 9827)
2022-02-23 22:12:02 +00:00
Bram Moolenaar
eddd4fc4f6
patch 8.2.4425: map() function does not check function arguments
...
Problem: map() function does not check function arguments at compile time.
Solution: Give an error if the arguments of a map() function are wrong.
2022-02-20 15:52:28 +00:00
Bram Moolenaar
e08be09a08
patch 8.2.4407: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add more tests. Avoid giving two errors. Remove dead code.
2022-02-17 13:08:26 +00:00
Bram Moolenaar
cd1cda2f87
patch 8.2.4404: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few specific test cases.
2022-02-16 21:48:25 +00:00
Bram Moolenaar
f5288c5895
patch 8.2.4396: Python3 test fails
...
Problem: Python3 test fails.
Solution: Remove "let".
2022-02-15 21:33:29 +00:00
Bram Moolenaar
8b716f5f22
patch 8.2.4395: some code lines not covered by tests
...
Problem: Some code lines not covered by tests.
Solution: Add a few more test cases. Fix getting more than one error for
invalid assignment.
2022-02-15 21:17:56 +00:00
Bram Moolenaar
a749a42ed2
patch 8.2.4360: Vim9: allowing use of "s:" leads to inconsistencies
...
Problem: Vim9: allowing use of "s:" leads to inconsistencies.
Solution: Disallow using "s:" in Vim9 script at the script level.
2022-02-12 19:52:25 +00:00
Bram Moolenaar
dce2441a60
patch 8.2.4332: Vim9: incomplete test for existing script variable in block
...
Problem: Vim9: incomplete test for existing script variable in block.
Solution: Add a couple more tests. Fix uncovered problem.
2022-02-08 20:35:30 +00:00
Bram Moolenaar
3a5988c025
patch 8.2.4331: Vim9: no test for existing script variable in block
...
Problem: Vim9: no test for existing script variable in block.
Solution: Add a test.
2022-02-08 19:23:35 +00:00
Bram Moolenaar
3787f26c2e
patch 8.2.4324: Vim9: script-local function name can start with "_"
...
Problem: Vim9: script-local function name can start with "_".
Solution: Check for leading capital after "s:". Correct error message.
2022-02-07 21:54:01 +00:00
Bram Moolenaar
f681cfb90b
patch 8.2.4323: Vim9: nested function name can start with "_"
...
Problem: Vim9: nested function name can start with "_".
Solution: Use same rule for function name for nested functions.
(closes #9713 )
2022-02-07 20:30:57 +00:00
Bram Moolenaar
7aca5ca676
patch 8.2.4322: Vim9: crash when using funcref with closure
...
Problem: Vim9: crash when using funcref with closure.
Solution: Keep a reference to the funcref that has the outer context.
(closes #9716 )
2022-02-07 19:56:43 +00:00
Bram Moolenaar
92368aad61
patch 8.2.4321: Vim9: crash when using a funcref to a closure
...
Problem: Vim9: crash when using a funcref to a closure.
Solution: Copy pt_outer to the new partial. (closes #9714 )
2022-02-07 17:50:39 +00:00
Bram Moolenaar
fe1bfc9b26
patch 8.2.4309: Vim9: crash when using a partial in the wrong context
...
Problem: Vim9: crash when using a partial in the wrong context.
Solution: Don't use an NULL outer pointer. (closes #9706 )
2022-02-06 13:55:03 +00:00
Bram Moolenaar
2d3ac2e030
patch 8.2.4287: cannot assign empty list with type to variable with list type
...
Problem: Cannot assign empty list with any list type to variable with
specific list type.
Solution: Use unknown list type for empty list if the specified type is any.
2022-02-03 12:34:05 +00:00
Bram Moolenaar
d8fe6d34bb
patch 8.2.4264: Vim9: can use old style autoload function name
...
Problem: Vim9: can use old style autoload function name.
Solution: Give an error for old style autoload function name.
2022-01-30 18:40:44 +00:00
Bram Moolenaar
848faddb87
patch 8.2.4260: Vim9: can still use a global function without g:
...
Problem: Vim9: can still use a global function without g: at the script
level.
Solution: Also check for g: at the script level. (issue #9637 )
2022-01-30 15:28:30 +00:00
Bram Moolenaar
62aec93bfd
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
...
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
2022-01-29 21:45:34 +00:00
Bram Moolenaar
ef7aadbe36
patch 8.2.4138: Vim9: no error for return with argument when invalid
...
Problem: Vim9: no error for return with argument when the function does not
return anything.
Solution: Give an error for the invalid argument. (issue #9497 )
2022-01-18 18:46:07 +00:00
Bram Moolenaar
9f1a39a5d1
patch 8.2.4040: keeping track of allocated lines is too complicated
...
Problem: Keeping track of allocated lines in user functions is too
complicated.
Solution: Instead of freeing individual lines keep them all until the end.
2022-01-08 15:39:39 +00:00
Bram Moolenaar
58493cfae2
patch 8.2.4016: Vim9: incorrect error for argument that is shadowing var
...
Problem: Vim9: incorrect error for argument that is shadowing var.
Solution: Ignore variable that is not in block where the function was
defined.
2022-01-06 12:23:30 +00:00
Bram Moolenaar
d3a117814d
patch 8.2.4009: reading one byte beyond the end of the line
...
Problem: Reading one byte beyond the end of the line.
Solution: Check for NUL byte first.
2022-01-05 16:50:40 +00:00
Bram Moolenaar
114dbda785
patch 8.2.3991: Vim9: error when extending dict<any>
...
Problem: Vim9: error when extending dict<any> with another type that it was
initialized with.
Solution: Also set the type for dict<any> if the initializer has a more
specific type. (closes #9461 )
2022-01-03 12:28:03 +00:00
Bram Moolenaar
9a015111a5
patch 8.2.3954: Vim9: no error for shadowing if script var is declared later
...
Problem: Vim9: no error for shadowing if script var is declared later.
Solution: Check argument names when compiling a function.
2021-12-31 14:06:45 +00:00
Bram Moolenaar
d293981d2b
patch 8.2.3951: Vim9: memory leak when text after a nested function
...
Problem: Vim9: memory leak when text after a nested function.
Solution: Free the function if text is found after "enddef".
2021-12-30 17:09:05 +00:00
Bram Moolenaar
7473a84cf9
patch 8.2.3924: Vim9: no error if something follows :enddef
...
Problem: Vim9: no error if something follows :enddef in a nested function.
Solution: Give an error. Move common code to a function.
2021-12-28 17:55:26 +00:00
Bram Moolenaar
4bf1006cae
patch 8.2.3923: Vim9: double free with split argument list in nested function
...
Problem: Vim9: double free if a nested function has a line break in the
argument list.
Solution: Set cmdlinep when freeing the previous line.
2021-12-28 17:23:12 +00:00
Bram Moolenaar
9c23f9bb5f
patch 8.2.3902: Vim9: double free with nested :def function
...
Problem: Vim9: double free with nested :def function.
Solution: Pass "line_to_free" from compile_def_function() and make sure
cmdlinep is valid.
2021-12-26 14:23:22 +00:00
Bram Moolenaar
db8e5c21b9
patch 8.2.3896: Vim9: no test for nested function not available later
...
Problem: Vim9: no test for nested function not available later.
Solution: Add a test.
2021-12-25 19:58:22 +00:00
Bram Moolenaar
fa46ead31a
patch 8.2.3869: Vim9: type checking for "any" is inconsistent
...
Problem: Vim9: type checking for "any" is inconsistent.
Solution: Always use a runtime type check for using "any" for a more
specific type.
2021-12-22 13:18:39 +00:00
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