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
Bram Moolenaar
c8cd2b34d1
patch 8.2.0677: Vim9: no support for closures
...
Problem: Vim9: no support for closures.
Solution: Find variables in the outer function scope, so long as the scope
exists.
2020-05-01 19:29:08 +02:00
Bram Moolenaar
4c17ad94ec
patch 8.2.0650: Vim9: script function can be deleted
...
Problem: Vim9: script function can be deleted.
Solution: Disallow deleting script function. Delete functions when sourcing
a script again.
2020-04-27 22:47:51 +02:00
Bram Moolenaar
f93c7fea08
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
...
Problem: Vim9: wrong syntax of function in Vim9 script.
Solution: Give error for missing space. Implement :echomsg and :echoerr.
(closes #5670 )
2020-04-23 22:16:53 +02:00
Bram Moolenaar
1df8b3fb04
patch 8.2.0625: Vim9: confusing error when calling unknown function
...
Problem: Vim9: confusing error when calling unknown function.
Solution: Give error while compiling.
2020-04-23 18:13:23 +02:00
Bram Moolenaar
6e949784be
patch 8.2.0570: Vim9: no error when omitting type from argument
...
Problem: Vim9: no error when omitting type from argument.
Solution: Enforce specifying argument types.
2020-04-13 17:21:00 +02:00
Bram Moolenaar
2c330432cf
patch 8.2.0567: Vim9: cannot put comments halfway expressions
...
Problem: Vim9: cannot put comments halfway expressions.
Solution: Support # comments in many places.
2020-04-13 14:41:35 +02:00
Bram Moolenaar
23e032523e
patch 8.2.0564: Vim9: calling a def function from non-vim9 may fail
...
Problem: Vim9: calling a def function from non-vim9 may fail.
Solution: Convert varargs to a list.
2020-04-12 22:22:31 +02:00
Bram Moolenaar
5e774c7579
patch 8.2.0563: Vim9: cannot split a function line
...
Problem: Vim9: cannot split a function line.
Solution: Continue in next line so long as the function isn't done.
2020-04-12 21:53:00 +02:00
Bram Moolenaar
99aaf0ce7c
patch 8.2.0552: Vim9: some errors not covered by tests
...
Problem: Vim9: some errors not covered by tests.
Solution: Add more tests. Check Funcref argument types.
2020-04-12 14:39:53 +02:00
Bram Moolenaar
08938eeba4
patch 8.2.0548: Vim9: not all possible func type errors tested
...
Problem: Vim9: not all possible func type errors tested.
Solution: Add more tests.
2020-04-11 23:17:17 +02:00
Bram Moolenaar
1378fbc459
patch 8.2.0543: Vim9: function with varargs does not work properly
...
Problem: Vim9: function with varargs does not work properly.
Solution: Improve function type spec and add tests. Fix bugs.
2020-04-11 20:50:33 +02:00
Bram Moolenaar
49cf7cc8d2
patch 8.2.0529: Vim9: function argument with default not checked
...
Problem: Vim9: function argument with default not checked.
Solution: Check type of argument with default value.
2020-04-07 22:45:00 +02:00
Bram Moolenaar
0b76b42d0a
patch 8.2.0528: Vim9: function arguments insufficiently tested
...
Problem: Vim9: function arguments insufficiently tested.
Solution: Check types. Add more tests. Fix function with varargs only.
2020-04-07 22:05:08 +02:00
Bram Moolenaar
ec5929d0fe
patch 8.2.0527: Vim9: function types insufficiently tested
...
Problem: Vim9: function types insufficiently tested.
Solution: Add more tests. Fix white space check. Add "test_vim9" target.
2020-04-07 20:53:39 +02:00
Bram Moolenaar
ee4e0c1e9a
patch 8.2.0522: several errors are not tested for
...
Problem: Several errors are not tested for.
Solution: Add tests. (Yegappan Lakshmanan, closes #5892 )
2020-04-06 21:35:05 +02:00
Bram Moolenaar
8922860afb
patch 8.2.0519: Vim9: return type not properly checked
...
Problem: Vim9: return type not properly checked.
Solution: Check type properly, also at runtime.
2020-04-05 22:14:54 +02:00
Bram Moolenaar
4c68375057
patch 8.2.0517: Vim9: cannot separate "func" and "func(): void"
...
Problem: Vim9: cannot separate "func" and "func(): void".
Solution: Use VAR_ANY for "any" and VAR_UNKNOWN for "no type".
2020-04-05 21:38:23 +02:00
Bram Moolenaar
5deeb3f1f9
patch 8.2.0512: Vim9: no optional arguments in func type
...
Problem: Vim9: no optional arguments in func type.
Solution: Check for question mark after type. Find function reference
without function().
2020-04-05 17:08:17 +02:00