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
Bram Moolenaar
0186e58639
patch 8.2.2322: Vim9: closure nested limiting to one level
...
Problem: Vim9: closure nested limiting to one level.
Solution: Add outer_T. Also make STOREOUTER work.
2021-01-10 18:33:11 +01:00
Bram Moolenaar
ab360526ef
patch 8.2.2321: Vim9: cannot nest closures
...
Problem: Vim9: cannot nest closures.
Solution: Add the nesting level to ISN_LOADOUTER and ISN_STOREOUTER.
(closes #7150 , closes #7635 )
2021-01-10 14:02:28 +01:00
Bram Moolenaar
b657198cb3
patch 8.2.2316: Vim9: cannot list a lambda function
...
Problem: Vim9: cannot list a lambda function.
Solution: Support the <lambda>9 notation, like :disassemble. (closes #7634 )
2021-01-08 22:24:19 +01:00
Bram Moolenaar
832ea89ca9
patch 8.2.2315: Vim9: "enddef" as dict key misintepreted as function end
...
Problem: Vim9: "enddef" as dict key misintepreted as function end.
Solution: Check for following colon. (closes #7640 )
2021-01-08 21:55:26 +01:00
Bram Moolenaar
328eac2b5d
patch 8.2.2308: Vim9: no error when assigning lambda to funcref
...
Problem: Vim9: no error when assigning lambda to funcref without return
value.
Solution: Default return value to "any". (closes #7629 )
2021-01-07 19:23:08 +01:00
Bram Moolenaar
32b3f82010
patch 8.2.2306: Vim9: when using function reference type is not checked
...
Problem: Vim9: when using function reference type is not checked.
Solution: When using a function reference lookup the type and check the
argument types. (issue #7629 )
2021-01-06 21:59:39 +01:00
Bram Moolenaar
cef1270dec
patch 8.2.2298: Vim9: comment right after "(" of function not recognized
...
Problem: Vim9: comment right after "(" of function not recognized.
Solution: Do not skip over white space before calling get_function_args().
(closes #7613 )
2021-01-04 14:09:43 +01:00
Bram Moolenaar
e68b02a1c4
patch 8.2.2283: Vim9: crash when lambda has fewer arguments than expected
...
Problem: Vim9: crash when lambda has fewer arguments than expected.
Solution: Don't check arguments when already failed. (closes #7606 )
2021-01-03 13:09:51 +01:00
Bram Moolenaar
b8ba9b9197
patch 8.2.2265: error message for missing endfunc/enddef is last line
...
Problem: Error message for missing endfunc/enddef is last line.
Solution: Report the line where the function starts. (closes #7582 )
2021-01-01 18:54:34 +01:00
Bram Moolenaar
5178b1b02f
patch 8.2.2264: Vim9: no error for mismatched :endfunc or :enddef
...
Problem: Vim9: no error for mismatched :endfunc or :enddef.
Solution: Check for the mismatch. (issue #7582 )
2021-01-01 18:43:51 +01:00
Bram Moolenaar
2949cfdbe4
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
...
Problem: Vim9: using -> for lambda is ambiguous.
Solution: Stop supporting ->, must use =>.
2020-12-31 21:28:47 +01:00
Bram Moolenaar
adc8e44645
patch 8.2.2256: Vim9: cannot use function( after line break in :def function
...
Problem: Vim9: cannot use function( after line break in :def function.
Solution: Check for "(" after "function". (closes #7581 )
2020-12-31 18:28:18 +01:00
Bram Moolenaar
1dcf55d4f1
patch 8.2.2195: failing tests for :const
...
Problem: Failing tests for :const.
Solution: Add missing check for ASSIGN_FINAL.
2020-12-22 22:07:30 +01:00
Bram Moolenaar
89b474dd4f
patch 8.2.2194: Vim9: cannot use :const or :final at the script level
...
Problem: Vim9: cannot use :const or :final at the script level.
Solution: Support using :const and :final. (closes #7526 )
2020-12-22 21:19:39 +01:00
Bram Moolenaar
3bdc90b7df
patch 8.2.2193: Vim9: can change constant in :def function
...
Problem: Vim9: can change constant in :def function.
Solution: Check if a variable is locked. (issue #7526 )
2020-12-22 20:35:40 +01:00
Bram Moolenaar
58a52f215a
patch 8.2.2191: Vim9: using wrong name with lambda in nested function
...
Problem: Vim9: using wrong name with lambda in nested function.
Solution: Copy the lambda name earlier. (closes #7525 )
2020-12-22 18:56:55 +01:00
Bram Moolenaar
077a42318c
patch 8.2.2190: Vim9: crash when compiled with EXITFREE
...
Problem: Vim9: crash when compiled with EXITFREE.
Solution: Check that df_ufunc is not NULL.
2020-12-22 18:33:27 +01:00
Bram Moolenaar
cd45ed03bf
patch 8.2.2188: Vim9: crash when calling global function from :def function
...
Problem: Vim9: crash when calling global function from :def function.
Solution: Set the outer context. Define the partial for the context on the
original function. Use a refcount to keep track of which ufunc is
using a dfunc. (closes #7525 )
2020-12-22 17:35:54 +01:00
Bram Moolenaar
5b3d1bb0f5
patch 8.2.2186: Vim9: error when using 'opfunc'
...
Problem: Vim9: error when using 'opfunc'.
Solution: Do not expect a return value from 'opfunc'. (closes #7510 )
2020-12-22 12:20:08 +01:00
Bram Moolenaar
5082471f91
patch 8.2.2172: Vim9: number of arguments is not always checked
...
Problem: Vim9: number of arguments is not always checked. (Yegappan
Lakshmanan)
Solution: Check number of arguments when calling function by name.
2020-12-20 21:10:17 +01:00
Bram Moolenaar
f112f30a82
patch 8.2.2170: Vim9: a global function defined in a :def function fails
...
Problem: Vim9: a global function defined in a :def function fails if it
uses the context.
Solution: Create a partial to store the closure context. (see #7410 )
2020-12-20 17:47:52 +01:00
Bram Moolenaar
57f799e6a4
patch 8.2.2134: Vim9: get E1099 when autocmd triggered in builtin function
...
Problem: Vim9: get E1099 when autocmd triggered in builtin function.
Solution: Check that did_emsg increased instead of checking that it changed.
(closes #7448 )
2020-12-12 20:42:19 +01:00
Bram Moolenaar
709664cca0
patch 8.2.2131: Vim9: crash when lambda uses same var as assignment
...
Problem: Vim9: crash when lambda uses same var as assignment.
Solution: Do not let lookup_local change lv_from_outer, make a copy.
(closes #7461 )
2020-12-12 14:33:41 +01:00
Bram Moolenaar
5402175815
patch 8.2.2102: Vim9: not all error messages tested
...
Problem: Vim9: not all error messages tested.
Solution: Add a few test cases.
2020-12-06 18:50:36 +01:00
Bram Moolenaar
56602ba153
patch 8.2.2097: Vim9: using :silent! when calling a function prevents abort
...
Problem: Vim9: using :silent! when calling a function prevents abortng that
function.
Solution: Add emsg_silent_def and did_emsg_def.
2020-12-05 21:22:08 +01:00
Bram Moolenaar
f665e97ffa
patch 8.2.2096: Vim9: command modifiers not restored after assignment
...
Problem: Vim9: command modifiers not restored after assignment.
Solution: Jump to nextline instead of using continue.
2020-12-05 19:17:16 +01:00
Bram Moolenaar
4029cabbe7
patch 8.2.2095: Vim9: crash when failed dict member is followed by concat
...
Problem: Vim9: crash when failed dict member is followed by concatenation.
Solution: Remove the dict from the stack. (closes #7416 )
2020-12-05 18:13:27 +01:00
Bram Moolenaar
2d870f8d9e
patch 8.2.2092: Vim9: unpredictable errors for script tests
...
Problem: Vim9: unpredictable errors for script tests.
Solution: Use a different script file name for each run.
2020-12-05 13:41:01 +01:00
Bram Moolenaar
af0df47a76
patch 8.2.2083: Vim9: crash when using ":silent!" and getting member fails
...
Problem: Vim9: crash when using ":silent!" and getting member fails.
Solution: Jump to on_fatal_error. (closes #7412 )
2020-12-02 20:51:22 +01:00
Bram Moolenaar
e0de171ecd
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
...
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406 , closes #7405 )
2020-12-02 17:36:54 +01:00
Bram Moolenaar
34c54eb6cb
patch 8.2.2051: Vim9: crash when aborting a user function call
...
Problem: Vim9: crash when aborting a user function call.
Solution: Do not use the return value when aboring. (closes #7372 )
2020-11-25 19:15:19 +01:00
Bram Moolenaar
6abdcf8285
patch 8.2.2033: Vim9: :def without argument gives compilation error
...
Problem: Vim9: :def without argument gives compilation error.
Solution: Add the DEF instruction. (closes #7344 )
2020-11-22 18:15:44 +01:00
Bram Moolenaar
18dc355395
patch 8.2.2031: some tests fail when run under valgrind
...
Problem: Some tests fail when run under valgrind.
Solution: Avoid timing problems.
2020-11-22 14:24:00 +01:00
Bram Moolenaar
eeece9e488
patch 8.2.2021: Vim9: get E1099 when autocommand resets did_emsg
...
Problem: Vim9: get E1099 when autocommand resets did_emsg.
Solution: Add did_emsg_cumul. (closes #7336 )
2020-11-20 19:26:48 +01:00
Bram Moolenaar
2ea95b61f4
patch 8.2.2018: Vim9: script variable not found from lambda
...
Problem: Vim9: script variable not found from lambda.
Solution: In a lambda also check the script hashtab for a variable without a
scope. (closes #7329 )
2020-11-19 21:47:56 +01:00
Bram Moolenaar
2bede173a1
patch 8.2.2015: Vim9: literal dict #{} is not like any other language
...
Problem: Vim9: literal dict #{} is not like any other language.
Solution: Support the JavaScript syntax.
2020-11-19 18:53:18 +01:00
Bram Moolenaar
52bf81c2d5
patch 8.2.2002: Vim9: lambda argument shadowed by function name
...
Problem: Vim9: lambda argument shadowed by function name.
Solution: Let function name be shadowed by lambda argument. (closes #7313 )
2020-11-17 18:50:44 +01:00
Bram Moolenaar
0ba48e8c27
patch 8.2.2001: Vim9: :def function does not apply 'maxfuncdepth'
...
Problem: Vim9: :def function does not apply 'maxfuncdepth'.
Solution: Use 'maxfuncdepth'. (issue #7313 )
2020-11-17 18:23:19 +01:00
Bram Moolenaar
b4d16cb11d
patch 8.2.1956: Vim9: cannot specify argument types for lambda
...
Problem: Vim9: cannot specify argument types for lambda.
Solution: Allow adding argument types. Check arguments when calling a
function reference.
2020-11-05 18:45:46 +01:00
Bram Moolenaar
cd030c4b60
patch 8.2.1928: Vim9: "silent!" not effective when list index is wrong
...
Problem: Vim9: "silent!" not effective when list index is wrong.
Solution: Ignore list indes failure when emsg_silent is set. (closes #7232 )
2020-10-30 21:49:40 +01:00
Bram Moolenaar
28ee892ac4
patch 8.2.1919: assert_fails() setting emsg_silent changes normal execution
...
Problem: Assert_fails() setting emsg_silent changes normal execution.
Solution: Use a separate flag in_assert_fails.
2020-10-28 20:20:00 +01:00
Bram Moolenaar
171fb923b8
patch 8.2.1916: Vim9: function call is aborted even when "silent!" is used
...
Problem: Vim9: function call is aborted even when "silent!" is used.
Solution: Use did_emsg instead of called_emsg. (closes #7213 )
2020-10-28 16:54:47 +01:00
Bram Moolenaar
6cf7e3b026
patch 8.2.1915: Vim9: error for wrong number of arguments is not useful
...
Problem: Vim9: error for wrong number of arguments is not useful.
Solution: Mention whatever we have for the name. (closes #7208 )
2020-10-28 14:31:16 +01:00
Bram Moolenaar
94738d8fab
patch 8.2.1876: Vim9: argument types are not checked at compile time
...
Problem: Vim9: argument types for builtin functions are not checked at
compile time.
Solution: Add an argument type checking mechanism. Implement type checks for
one function.
2020-10-21 14:25:07 +02:00
Bram Moolenaar
80b0e5ea11
patch 8.2.1867: Vim9: argument to add() not checked for blob
...
Problem: Vim9: argument to add() not checked for blob.
Solution: Add the BLOBAPPEND instruction.
2020-10-19 20:45:36 +02:00
Bram Moolenaar
66fa5fd54f
patch 8.2.1866: Vim9: appending to pushed blob gives wrong result
...
Problem: Vim9: appending to pushed blob gives wrong result.
Solution: Set ga_maxlen when copying a blob.
2020-10-19 20:21:03 +02:00
Bram Moolenaar
1dcae59957
patch 8.2.1865: Vim9: add() does not check type of argument
...
Problem: Vim9: add() does not check type of argument.
Solution: Inline the add() call. (closes #7160 )
2020-10-19 19:02:42 +02:00
Bram Moolenaar
403dc31f5a
patch 8.2.1858: Vim9: filter functions return number instead of bool
...
Problem: Vim9: filter functions return number instead of bool.
Solution: Return v:true instead of one. (closes #7144 )
2020-10-17 19:29:51 +02:00
Bram Moolenaar
2b9b17ea5d
patch 8.2.1841: Vim9: test for compilation error fails in normal build
...
Problem: Vim9: test for compilation error fails in normal build.
Solution: Invoke CheckRunVimInTerminal in a separate function.
2020-10-13 18:38:11 +02:00