Yegappan Lakshmanan
29bb67f1be
patch 9.0.2019: Vim9: no support for funcrefs
...
Problem: Vim9: no support for funcrefs
Solution: Add support for object/class funcref members
closes : #11981 #12417 #12960 #12324 #13333
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com >
2023-10-14 11:18:50 +02:00
Bram Moolenaar
d4a9b7f614
patch 9.0.1573: error for function name has wrong line number
...
Problem: Error for function name has wrong line number.
Solution: Set the line number before giving the error.
2023-05-23 14:48:42 +01:00
Bram Moolenaar
2ba51236fb
patch 9.0.1559: function argument types not always checked
...
Problem: Function argument types not always checked and using v:none may
cause an error.
Solution: Check argument types once the function type is known. Do not give
an error for using v:none as an argument. (closes #12200 )
2023-05-15 16:22:38 +01:00
Bram Moolenaar
cf2610c82b
patch 9.0.1556: Vim9: error for missing "return" after "throw"
...
Problem: Vim9: error for missing "return" after "throw".
Solution: Set had_return flag for "throw". (closes #12262 )
2023-05-14 19:59:59 +01:00
Bram Moolenaar
2ed57ac367
patch 9.0.1436: cannot compare a typed variable with v:none
...
Problem: Cannot compare a typed variable with v:none.
Solution: Allow for "x is v:none" and "x isnot v:none". (issue #12194 )
2023-04-01 22:05:38 +01:00
Bram Moolenaar
3f45d67a15
patch 9.0.1363: crash when :def function has :break in skipped block
...
Problem: Crash when :def function has :break in skipped block. (Ernie Rael)
Solution: Don't generate a jump for a skipped :break. (closes #12077 )
2023-02-27 22:06:51 +00:00
Bram Moolenaar
94722c5107
patch 9.0.1257: code style is not check in test scripts
...
Problem: Code style is not check in test scripts.
Solution: Add basic code style check for test files.
2023-01-28 19:19:03 +00:00
Bram Moolenaar
47bba53bdb
patch 9.0.1224: cannot call a :def function with a number for float argument
...
Problem: Cannot call a :def function with a number for a float argument.
Solution: Accept a number as well, convert it to a float.
2023-01-20 18:49:46 +00:00
Bram Moolenaar
36818a9daa
patch 9.0.1138: crash when expecting varargs but it is something else
...
Problem: Crash when expecting varargs but it is something else.
Solution: Only use the member when the type is a list. (closes #11774 )
2023-01-03 12:33:26 +00:00
Bram Moolenaar
39c82ea656
patch 9.0.1130: unexpected output when autoloading a script
...
Problem: Unexpected output when autoloading a script for an interactive
operation.
Solution: Reset "KeyTyped" while loading a script and when handling a nested
function. (closes #11773 )
2023-01-02 13:08:01 +00:00
Bram Moolenaar
0d89d8ae89
patch 9.0.1119: type of arguments not checked when calling a partial
...
Problem: Type of arguments not checked when calling a partial.
Solution: Give an error for a wrong argument type. (closes #11753 )
2022-12-31 14:01:24 +00:00
Bram Moolenaar
56310d38d8
patch 9.0.1104: invalid memory access when checking function argument types
...
Problem: Invalid memory access when checking function argument types.
Solution: Do not check beyond the number of arguments. (closes #11755 )
2022-12-27 17:25:05 +00:00
mityu
500c444283
patch 9.0.0992: Vim9 script: get E1096 when comment follows return
...
Problem: Vim9 script: get E1096 when comment follows return.
Solution: Adjust condition for return without expression. (closes #11654 )
2022-12-02 18:12:05 +00:00
Bram Moolenaar
3558afe9e9
patch 9.0.0742: reading past end of the line when compiling a function
...
Problem: Reading past end of the line when compiling a function with
errors.
Solution: Do not return an invalid pointer. Fix skipping redirection.
2022-10-13 16:12:57 +01:00
Bram Moolenaar
cfb4d4f312
patch 9.0.0630: in Vim9 script a numbered function cannot be called
...
Problem: In Vim9 script a numbered function cannot be called.
Solution: Do not require "g:" before a numbered function name.
(closes #11254 )
2022-09-30 19:19:04 +01:00
Bram Moolenaar
259a741044
patch 9.0.0557: valgrind reports possibly leaked memory
...
Problem: Valgrind reports possibly leaked memory.
Solution: Move the problematic test function to the "fails" test file to
avoid obscuring real memory leaks.
2022-09-23 16:11:37 +01:00
Bram Moolenaar
f8addf1ca1
patch 9.0.0554: using freed memory when command follows lambda
...
Problem: Using freed memory when command follows lambda.
Solution: Don't free what is still in use. (closes #11201 )
2022-09-23 12:44:25 +01:00
Bram Moolenaar
f5f4e85f01
patch 9.0.0553: no error for "|" after "{" in lamda
...
Problem: No error for "|" after "{" in lamda.
Solution: Check for invalid "|". (closes #11199 )
2022-09-22 22:03:14 +01:00
Bram Moolenaar
766ae5b252
patch 9.0.0460: loop variable can't be found
...
Problem: Loop variable can't be found.
Solution: Adjust block_id of the loop variable each round.
2022-09-14 00:30:51 +01:00
Bram Moolenaar
c069edeab2
patch 9.0.0441: closure in for loop test fails on some systems
...
Problem: Closure in for loop test fails on some systems.
Solution: Do not wait for the ruler to show up. (issue #11106 )
2022-09-11 12:01:04 +01:00
Bram Moolenaar
f5fec05c7f
patch 9.0.0440: crash when using mkdir() with "R" flag in compiled function
...
Problem: Crash when using mkdir() with "R" flag in compiled function.
Solution: Reserve a variable for deferred function calls. Handle more than
one argument.
2022-09-11 11:49:22 +01:00
Bram Moolenaar
6de2296e5e
patch 9.0.0432: crash when using for loop variable in closure
...
Problem: Crash when using for loop variable in closure.
Solution: Check that the variable wasn't deleted. (issue #11094 )
2022-09-09 21:35:36 +01:00
Bakudankun
375141e1f8
patch 9.0.0430: cannot use repeat() with a blob
...
Problem: Cannot use repeat() with a blob.
Solution: Implement blob repeat. (closes #11090 )
2022-09-09 18:46:47 +01:00
Bram Moolenaar
1d84f7608f
patch 9.0.0370: cleaning up afterwards can make a function messy
...
Problem: Cleaning up afterwards can make a function messy.
Solution: Add the :defer command.
2022-09-03 21:35:53 +01:00
Dominique Pelle
f240395fca
patch 9.0.0334: test does not properly clean up
...
Problem: Test does not properly clean up.
Solution: Fix typo in argument of delete(). (Dominique Pellé, closes #11010 )
2022-08-30 18:42:16 +01:00
Bram Moolenaar
3b0d70f4ff
patch 9.0.0323: using common name in tests leads to flaky tests
...
Problem: Using common name in tests leads to flaky tests.
Solution: Rename files and directories to be more specific.
2022-08-29 22:31:20 +01:00
Bram Moolenaar
2984ed31d9
patch 9.0.0230: no error for comma missing in list in :def function
...
Problem: No error for comma missing in list in :def function.
Solution: Check for missing comma. (closes #10943 )
2022-08-20 14:51:17 +01:00
Bram Moolenaar
62e0e2e54b
patch 9.0.0229: Vim9: error message for missing type is not clear
...
Problem: Vim9: error message for missing type is not clear.
Solution: Mention the context. (issue #10944 )
2022-08-20 12:07:58 +01:00
Bram Moolenaar
1889f499a4
patch 9.0.0221: accessing freed memory if compiling nested function fails
...
Problem: Accessing freed memory if compiling nested function fails.
Solution: Mess up the variable name so that it won't be found.
2022-08-16 19:34:44 +01:00
Kota Kato
948a3894d9
patch 9.0.0219: cannot make a funcref with "s:func" in a def function
...
Problem: Cannot make a funcref with "s:func" in a def function in legacy
script.
Solution: Allow for using a lower case function name after "s:". (Kota Kato,
closes #10926 )
2022-08-16 16:09:59 +01:00
Bram Moolenaar
ad6d9cc679
patch 9.0.0174: no error for using "#{ comment" in a compiled function
...
Problem: No error for using "#{ comment" in a compiled function.
Solution: Make error checking for "#{" consistent. (closes #10855 )
2022-08-08 21:43:11 +01:00
Bram Moolenaar
bd683e3a79
patch 9.0.0056: wrong line number reported when :cexpr fails in :def function
...
Problem: Wrong line number reported when :cexpr fails in :def function.
Solution: Set line_number before executing :cexpr. (closes #10735 )
2022-07-18 17:49:03 +01:00
Bram Moolenaar
31d9948e3a
patch 8.2.5026: Vim9: a few lines not covered by tests
...
Problem: Vim9: a few lines not covered by tests.
Solution: Delete dead code. Add a few test cases. make "12->func()" work.
2022-05-26 22:24:43 +01:00
Bram Moolenaar
bce69d65dd
patch 8.2.4998: Vim9: crash when using multiple funcref()
...
Problem: Vim9: crash when using multiple funcref().
Solution: Check if varargs type is NULL. (closes #10467 )
2022-05-22 13:45:52 +01:00
Bram Moolenaar
d881d15984
patch 8.2.4948: cannot use Perl heredoc in nested :def function
...
Problem: Cannot use Perl heredoc in nested :def function. (Virginia
Senioria)
Solution: Only concatenate heredoc lines when not in a nested function.
(closes #10415 )
2022-05-13 13:50:36 +01:00
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