Bram Moolenaar
7d2ac92ebc
patch 8.2.1084: Lua: registering function has useless code
...
Problem: Lua: registering function has useless code.
Solution: Remove clearing grow arrays.
2020-06-29 20:20:33 +02:00
Bram Moolenaar
b7a78f7a67
patch 8.2.1080: Vim9: no line break allowed in a for loop
...
Problem: Vim9: no line break allowed in a for loop.
Solution: Skip line breaks in for command.
2020-06-28 18:43:40 +02:00
Bram Moolenaar
9215f01218
patch 8.2.1074: Vim9: no line break allowed after some operators
...
Problem: Vim9: no line break allowed after some operators.
Solution: Skip a line break after the operator. Add
eval_may_get_next_line() to simplify checking for a line break.
2020-06-27 21:18:00 +02:00
Bram Moolenaar
e40fbc2ca9
patch 8.2.1071: Vim9: no line break allowed inside a lambda
...
Problem: Vim9: no line break allowed inside a lambda.
Solution: Handle line break inside a lambda in Vim9 script.
2020-06-27 18:06:45 +02:00
Bram Moolenaar
0b1cd52ff6
patch 8.2.1067: expression "!expr->func()" does not work
...
Problem: Expression "!expr->func()" does not work.
Solution: Apply plus and minus earlier. (closes #6348 )
2020-06-27 13:11:50 +02:00
Bram Moolenaar
801ab06934
patch 8.2.1054: not so easy to pass a lua function to Vim
...
Problem: Not so easy to pass a lua function to Vim.
Solution: Convert a Lua function and closure to a Vim funcref. (Prabir
Shrestha, closes #6246 )
2020-06-25 19:27:56 +02:00
Bram Moolenaar
b171fb1790
patch 8.2.1049: Vim9: leaking memory when using continuation line
...
Problem: Vim9: leaking memory when using continuation line.
Solution: Keep a pointer to the continuation line in evalarg_T. Centralize
checking for a next command.
2020-06-24 20:34:03 +02:00
Bram Moolenaar
5409f5d8c9
patch 8.2.1047: Vim9: script cannot use line continuation like :def function
...
Problem: Vim9: script cannot use line continuation like in a :def function.
Solution: Pass the getline function pointer to the eval() functions. Use it
for addition and multiplication operators.
2020-06-24 18:37:35 +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
0cb5bcf583
patch 8.2.1023: Vim9: redefining a function uses a new index every time
...
Problem: Vim9: redefining a function uses a new index every time.
Solution: When redefining a function clear the contents and re-use the
index.
2020-06-20 18:19:09 +02:00
Bram Moolenaar
71ccd03ee8
patch 8.2.0967: unnecessary type casts for vim_strnsave()
...
Problem: Unnecessary type casts for vim_strnsave().
Solution: Remove the type casts.
2020-06-12 22:59:11 +02:00
Bram Moolenaar
9721fb4ea3
patch 8.2.0960: cannot use :import in legacy Vim script
...
Problem: Cannot use :import in legacy Vim script.
Solution: Support :import in any Vim script.
2020-06-11 23:10:46 +02:00
Bram Moolenaar
3fffa97159
patch 8.2.0908: crash when changing the function table while listing it
...
Problem: Crash when changing the function table while listing it.
Solution: Bail out when the function table changes. (closes #6209 )
2020-06-05 21:06:10 +02:00
Bram Moolenaar
285b189260
patch 8.2.0827: Vim9: crash in :defcompile
...
Problem: Vim9: crash in :defcompile.
Solution: Fix off-by-one error.
2020-05-26 11:37:26 +02:00
Bram Moolenaar
ebc3de634f
patch 8.2.0826: Vim9: crash in :defcompile
...
Problem: Vim9: crash in :defcompile.
Solution: Restart the loop after a call to compile_def_function() caused the
hash table to resize.
2020-05-26 11:08:28 +02:00
Bram Moolenaar
a14e697547
patch 8.2.0825: def_function() may return pointer that was freed
...
Problem: def_function() may return pointer that was freed.
Solution: Set "fp" to NULL after freeing it.
2020-05-25 23:29:28 +02:00
Bram Moolenaar
25e0f5863e
patch 8.2.0823: Vim9: script reload test is disabled
...
Problem: Vim9: script reload test is disabled.
Solution: Compile a function in the context of the script where it was
defined. Set execution stack for compiled function. Add a test
that an error is reported for the right file/function.
2020-05-25 22:36:50 +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
32e351179e
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
...
Problem: Vim9: expressions are evaluated in the discovery phase.
Solution: Bail out if an expression is not a constant. Require a type for
declared constants.
2020-05-14 22:41:15 +02:00
Bram Moolenaar
7e9f351b2e
patch 8.2.0751: Vim9: performance can be improved
...
Problem: Vim9: performance can be improved.
Solution: Don't call break. Inline check for list materialize. Make an
inline version of ga_grow().
2020-05-13 22:44:22 +02:00
Bram Moolenaar
09689a0284
patch 8.2.0725: Vim9: cannot call a function declared later in Vim9 script
...
Problem: Vim9: cannot call a function declared later in Vim9 script.
Solution: Make two passes through the script file.
2020-05-09 22:50:08 +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
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
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
03afdcf1f4
patch 8.2.0653: using uninitialized pointer
...
Problem: using uninitialized pointer.
Solution: Move assignment up. (John Marriott)
2020-04-27 23:39:30 +02:00
Bram Moolenaar
909ed7e902
patch 8.2.0652: compiler warning for char conversion
...
Problem: Compiler warning for char conversion.
Solution: Use unsigned char buffer.
2020-04-27 23:16:41 +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
b8ce6b0005
patch 8.2.0627: Vim9: error message does not work
...
Problem: Vim9: error message does not work. (Yegappan Lakshmanan)
Solution: Swap lines.
2020-04-23 22:23:14 +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
a72cfb80cd
patch 8.2.0624: Vim9: no check for space before #comment
...
Problem: Vim9: no check for space before #comment.
Solution: Add space checks. Fix :throw with double quoted string.
2020-04-23 17:07:30 +02:00
Bram Moolenaar
ec9749f33d
patch 8.2.0596: crash in test49
...
Problem: Crash in test49.
Solution: Check the right pointer.
2020-04-18 20:51:40 +02:00
Bram Moolenaar
a26b9700d7
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
...
Problem: Vim9: not all commands using ends_excmd() tested.
Solution: Find # comment after regular commands. Add more tests. Report
error for where it was caused.
2020-04-18 19:53:28 +02:00
Bram Moolenaar
6c2b7b8055
patch 8.2.0578: heredoc for interfaces does not support "trim"
...
Problem: Heredoc for interfaces does not support "trim".
Solution: Update the script heredoc support to be same as the :let command.
(Yegappan Lakshmanan, closes #5916 )
2020-04-14 20:15:49 +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
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
a80faa8930
patch 8.2.0559: clearing a struct is verbose
...
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
2020-04-12 19:37:17 +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
00d253e2b2
patch 8.2.0523: loops are repeated
...
Problem: Loops are repeated.
Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882 )
2020-04-06 22:13:01 +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
Bram Moolenaar
d1e9dc2723
patch 8.2.0506: Coverity complains about ignoring return value
...
Problem: Coverity complains about ignoring return value.
Solution: Add (void).
2020-04-03 18:13:57 +02:00
Bram Moolenaar
e8c4abbbd7
patch 8.2.0502: Vim9: some code is not tested
...
Problem: Vim9: some code is not tested.
Solution: Add more tests. Fix uncovered problems.
2020-04-02 21:13:25 +02:00
Bram Moolenaar
aeea72151c
patch 8.2.0500: using the same loop in many places
...
Problem: Using the same loop in many places.
Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339 )
2020-04-02 18:50:46 +02:00
Bram Moolenaar
f10806b250
patch 8.2.0499: calling a lambda is slower than evaluating a string
...
Problem: Calling a lambda is slower than evaluating a string.
Solution: Make calling a lambda faster. (Ken Takata, closes #5727 )
2020-04-02 18:34:35 +02:00
Bram Moolenaar
ee619e5bc0
patch 8.2.0469: Vim9: no error for missing ] after list
...
Problem: Vim9: no error for missing ] after list.
Solution: Add error message. Add more tests.
2020-03-28 21:38:06 +01:00
Bram Moolenaar
292b90d4fa
patch 8.2.0399: various memory leaks
...
Problem: Various memory leaks.
Solution: Avoid the leaks. (Ozaki Kiichi, closes #5803 )
2020-03-18 15:23:16 +01:00