Bram Moolenaar
24aa48b7a2
patch 8.2.1291: Vim9: type of varargs items is not checked
...
Problem: Vim9: type of varargs items is not checked.
Solution: Check the list item types. (closes #6523 )
2020-07-25 16:33:02 +02:00
Bram Moolenaar
13e12b8a3c
patch 8.2.1288: Vim9: cannot use mark in range
...
Problem: Vim9: cannot use mark in range.
Solution: Use the flag that a colon was seen. (closes #6528 )
2020-07-24 18:47:22 +02:00
Bram Moolenaar
b8070e3173
patch 8.2.1285: Vim9: argument types are not checked on assignment
...
Problem: Vim9: argument types are not checked on assignment.
Solution: Check function argument types. (issue #6507 )
2020-07-23 20:56:04 +02:00
Bram Moolenaar
bfba8651a5
patch 8.2.1284: Vim9: skipping over type includes following white space
...
Problem: Vim9: skipping over type includes following white space, leading
to an error for missing white space.
Solution: Do not skip over white space after the type.
2020-07-23 20:09:10 +02:00
Bram Moolenaar
6c4bfe4b31
patch 8.2.1282: Vim9: crash when using CheckScriptFailure()
...
Problem: Vim9: crash when using CheckScriptFailure() in
Test_vim9script_call_fail_decl().
Solution: Do not decrement the def_functions len unless the function was
newly added.
2020-07-23 18:26:30 +02:00
Bram Moolenaar
0f60e80f9b
patch 8.2.1271: Vim9: Error for Funcref function argument type
...
Problem: Vim9: Error for Funcref function argument type.
Solution: Find the actual function type if possible. (issue #6507 )
2020-07-22 20:16:11 +02:00
Bram Moolenaar
2f1980f7b7
patch 8.2.1270: Vim9: not skipping over function type declaration
...
Problem: Vim9: not skipping over function type declaration with only a
return type.
Solution: Skip over the return type. (issue #6507 )
2020-07-22 19:30:06 +02:00
Bram Moolenaar
65b9545f44
patch 8.2.1242: Vim9: no error if calling a function with wrong type
...
Problem: Vim9: no error if calling a function with wrong argument type.
Solution: Check types of arguments. (closes #6469 )
2020-07-19 14:03:09 +02:00
Bram Moolenaar
f5be8cdb77
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
...
Problem: Vim9: allowing both quoted and # comments is confusing.
Solution: Only support # comments in Vim9 script.
2020-07-17 20:36:00 +02:00
Bram Moolenaar
a90afb9a59
patch 8.2.1224: Vim9: arguments from partial are not used
...
Problem: Vim9: arguments from partial are not used.
Solution: Put the partial arguments on the stack. (closes #6460 )
2020-07-15 22:38:56 +02:00
Bram Moolenaar
e30f64b4b5
patch 8.2.1223: Vim9: invalid type error for function default value
...
Problem: Vim9: invalid type error for function default value.
Solution: Use right argument index. (closes #6458 )
2020-07-15 19:48:20 +02:00
Bram Moolenaar
3d48e25dcb
patch 8.2.1218: Vim9: cannot use 'text'->func()
...
Problem: Vim9: cannot use 'text'->func().
Solution: Recognize string at start of command.
2020-07-15 14:15:52 +02:00
Bram Moolenaar
08f7a41b0a
patch 8.2.1202: Vim9: crash when calling a closure from a builtin function
...
Problem: Vim9: crash when calling a closure from a builtin function.
Solution: Use the current execution context. (closes #6441 )
2020-07-13 20:41:08 +02:00
Bram Moolenaar
f1a2368d81
patch 8.2.1201: Vim9: crash when passing number as dict key
...
Problem: Vim9: crash when passing number as dict key.
Solution: Check key type to be string. (closes #6449 )
2020-07-13 18:55:48 +02:00
Bram Moolenaar
985116ae0b
patch 8.2.1191: Vim9: crash when function calls itself
...
Problem: Vim9: crash when function calls itself.
Solution: Add status UF_COMPILING. (closes #6441 )
2020-07-12 17:31:09 +02:00
Bram Moolenaar
9b7bf9e98f
patch 8.2.1183: assert_fails() checks the last error message
...
Problem: assert_fails() checks the last error message.
Solution: Check the first error, it is more relevant. Fix all the tests
that rely on the old behavior.
2020-07-11 22:14:59 +02:00
Bram Moolenaar
914e7eaa67
patch 8.2.1182: Vim9: no check for whitespace after comma in lambda
...
Problem: Vim9: no check for whitespace after comma in lambda.
Solution: Give error if white space is missing.
2020-07-11 15:20:48 +02:00
Bram Moolenaar
7a4b8980ea
patch 8.2.1155: Vim9: cannot handle line break inside lambda
...
Problem: Vim9: cannot handle line break inside lambda.
Solution: Pass the compilation context through. (closes #6407 , closes #6409 )
2020-07-08 17:36:21 +02:00
Bram Moolenaar
67627355ac
patch 8.2.1144: Vim9: return type of reverse() is any
...
Problem: Vim9: return type of reverse() is any.
Solution: Use the type of the first argument.
2020-07-05 21:10:24 +02:00
Bram Moolenaar
ad7c249327
patch 8.2.1143: Vim9: return type of remove() is any
...
Problem: Vim9: return type of remove() is any.
Solution: Use the member type of the first argument, if known.
2020-07-05 20:55:29 +02:00
Bram Moolenaar
252e88a785
patch 8.2.1142: Vim9: return type of insert() is any
...
Problem: Vim9: return type of insert() is any.
Solution: Use type of the first argument.
2020-07-05 20:47:18 +02:00
Bram Moolenaar
0d94ad6958
patch 8.2.1141: Vim9: return type of filter() is any
...
Problem: Vim9: return type of filter() is any.
Solution: Use type of the argument.
2020-07-05 20:16:41 +02:00
Bram Moolenaar
b3c019cbc3
patch 8.2.1140: Vim9: return type of extend() is any
...
Problem: Vim9: return type of extend() is any.
Solution: Use type of the argument.
2020-07-05 20:08:39 +02:00
Bram Moolenaar
8f510afcd6
patch 8.2.1139: Vim9: test for silent echo fails in some environments
...
Problem: Vim9: test for silent echo fails in some environments.
Solution: Use :function instead of :def.
2020-07-05 18:48:23 +02:00
Bram Moolenaar
a66ba01a5f
patch 8.2.1138: Vim9: return type of copy() and deepcopy() is any
...
Problem: Vim9: return type of copy() and deepcopy() is any.
Solution: Use type of the argument.
2020-07-05 18:41:08 +02:00
Bram Moolenaar
47e7d70b58
patch 8.2.1137: Vim9: modifiers not cleared after compiling function
...
Problem: Vim9: modifiers not cleared after compiling function.
Solution: Clear command modifiers. (closes #6396 )
2020-07-05 18:18:42 +02:00
Bram Moolenaar
846178a72c
patch 8.2.1136: Vim9: return type of argv() is always any
...
Problem: Vim9: return type of argv() is always any.
Solution: Use list<string> if there is no argument.
2020-07-05 17:04:13 +02:00
Bram Moolenaar
fce82b3aa7
patch 8.2.1133: Vim9: return type of add() is not specific enough
...
Problem: Vim9: return type of add() is not specific enough.
Solution: Return the type of the first argument. (closes #6395 )
2020-07-05 16:07:21 +02:00
Bram Moolenaar
9978d473e3
patch 8.2.1132: Vim9: return type of repeat() is not specific enough
...
Problem: Vim9: return type of repeat() is not specific enough.
Solution: Return the type of the first argument. (closes #6395 )
2020-07-05 16:01:56 +02:00
Bram Moolenaar
05a5551a86
patch 8.2.1131: Vim9: error message for returning a value is not clear
...
Problem: Vim9: error message for returning a value in a function that does
not return anything is not clear.
Solution: Add a specific message.
2020-07-05 15:52:19 +02:00
Bram Moolenaar
e6b5324e3a
patch 8.2.1110: Vim9: line continuation does not work in function arguments
...
Problem: Vim9: line continuation does not work in function arguments.
Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string
as comment.
2020-07-01 17:28:33 +02:00
Bram Moolenaar
f151ad1c70
patch 8.2.1096: Vim9: return type of getqflist() is wrong
...
Problem: Vim9: return type of getqflist() is wrong.
Solution: Let the return type depend on the arguments. Also for
getloclist(). (closes #6367 )
2020-06-30 13:38:01 +02:00
Bram Moolenaar
acd4c5e914
patch 8.2.1037: Vim9: crash when using line continuation inside :def
...
Problem: Vim9: crash when using line continuation inside :def.
Solution: Check for no more lines available.
2020-06-22 19:39:03 +02:00
Bram Moolenaar
6797966dfc
patch 8.2.1024: Vim9: no error for using "let g:var = val"
...
Problem: Vim9: no error for using "let g:var = val".
Solution: Add an error.
2020-06-20 22:50:47 +02:00
Bram Moolenaar
efd8855594
patch 8.2.1006: Vim9: require unnecessary return statement
...
Problem: Vim9: require unnecessary return statement.
Solution: Improve the use of the had_return flag. (closes #6270 )
2020-06-18 20:50:10 +02:00
Bram Moolenaar
865af6b990
patch 8.2.1003: Vim9: return type of sort() is too generic
...
Problem: Vim9: return type of sort() is too generic.
Solution: Get type from the first argument. (closes #6292 )
2020-06-18 18:45:49 +02:00
Bram Moolenaar
6ff71d8b7f
patch 8.2.0820: Vim9: function type isn't set until compiled
...
Problem: Vim9: function type isn't set until compiled.
Solution: Set function type early.
2020-05-24 23:45:24 +02:00
Bram Moolenaar
822ba24743
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
...
Problem: Vim9: using a discovery phase doesn't work well.
Solution: Remove the discovery phase, instead compile a function only when
it is used. Add :defcompile to compile def functions earlier.
2020-05-24 23:00:18 +02:00
Bram Moolenaar
6f5b6dfb16
patch 8.2.0771: Vim9: cannot call a compiled closure from not compiled code
...
Problem: Vim9: cannot call a compiled closure from not compiled code.
Solution: Pass funcexe to call_user_func().
2020-05-16 21:20:12 +02:00
Bram Moolenaar
cb2bdb1c6d
patch 8.2.0733: Vim9: assigning to dict or list argument does not work
...
Problem: Vim9: assigning to dict or list argument does not work.
Solution: Recognize an argument as assignment target.
2020-05-10 22:53:56 +02:00
Bram Moolenaar
f391586f3f
patch 8.2.0707: Vim9 function test fails
...
Problem: Vim9 function test fails.
Solution: Adjust expected error code.
2020-05-07 14:37:19 +02:00
Bram Moolenaar
b68b346e6d
patch 8.2.0703: Vim9: closure cannot store value in outer context
...
Problem: Vim9: closure cannot store value in outer context.
Solution: Make storing value in outer context work. Make :disassemble
accept a function reference.
2020-05-06 21:06:30 +02:00
Bram Moolenaar
015f4267f4
patch 8.2.0699: Vim9: not all errors tested
...
Problem: Vim9: not all errors tested.
Solution: Add test for deleted function. Bail out on first error.
2020-05-05 21:25:22 +02:00
Bram Moolenaar
0e65d3de0a
patch 8.2.0696: Vim9: nested function does not work properly
...
Problem: Vim9: nested function does not work properly
Solution: Create a function reference. Check argument count.
2020-05-05 17:53:16 +02:00
Bram Moolenaar
04b1269783
patch 8.2.0695: Vim9: cannot define a function inside a function
...
Problem: Vim9: cannot define a function inside a function.
Solution: Initial support for :def inside :def.
2020-05-04 23:24:44 +02:00
Bram Moolenaar
2fd4cd755c
patch 8.2.0693: closure using argument not tested
...
Problem: Closure using argument not tested.
Solution: Add a test, make it work.
2020-05-03 22:30:49 +02:00
Bram Moolenaar
f7779c63d4
patch 8.2.0684: Vim9: memory leak when using lambda
...
Problem: Vim9: memory leak when using lambda.
Solution: Move the funccal context to the partial. Free the function when
exiting.
2020-05-03 15:38:16 +02:00
Bram Moolenaar
5adc55cb74
patch 8.2.0683: Vim9: parsing type does not always work
...
Problem: Vim9: parsing type does not always work.
Solution: Handle func type without return value. Test more closures.
Fix type check offset. Fix garbage collection.
2020-05-02 23:12:58 +02:00
Bram Moolenaar
1c0d44f8ef
patch 8.2.0682: Vim9: parsing function argument type can get stuck
...
Problem: Vim9: parsing function argument type can get stuck.
Solution: Bail out when not making progress.
2020-05-02 19:04:58 +02:00
Bram Moolenaar
bf67ea1af0
patch 8.2.0679: Vim9: incomplete support for closures
...
Problem: Vim9: incomplete support for closures.
Solution: At the end of a function copy arguments and local variables if
they are still used by a referenced closure.
2020-05-02 17:52:42 +02:00