Bram Moolenaar
d505d17885
patch 9.0.1074: class members are not supported yet
...
Problem: Class members are not supported yet.
Solution: Add initial support for class members.
2022-12-18 21:42:55 +00:00
Bram Moolenaar
3d473ee1a6
patch 9.0.1060: private and public object members are not implemented yet
...
problem: Private and public object members are not implemented yet.
Solution: Implement private and public object members.
2022-12-14 20:59:32 +00:00
Bram Moolenaar
7ce7daf6cd
patch 9.0.1045: in a class object members cannot be initialized
...
Problem: In a class object members cannot be initialized.
Solution: Support initializing object members. Make "dissassemble" work on
an object method.
2022-12-10 18:42:12 +00:00
Bram Moolenaar
ffdaca9e6f
patch 9.0.1041: cannot define a method in a class
...
Problem: Cannot define a method in a class.
Solution: Implement defining an object method. Make calling an object
method work.
2022-12-09 21:41:48 +00:00
Bram Moolenaar
00b28d6c23
patch 9.0.1031: Vim9 class is not implemented yet
...
Problem: Vim9 class is not implemented yet.
Solution: Add very basic class support.
2022-12-08 15:32:33 +00:00
Bram Moolenaar
adbc08fd69
patch 9.0.0840: cannot change a slice of a const list
...
Problem: Cannot change a slice of a const list. (Takumi KAGIYAMA)
Solution: Remove the const flag from the slice type. (closes #11490 )
2022-11-06 18:27:17 +00:00
dundargoc
c57b5bcd22
patch 9.0.0828: various typos
...
Problem: Various typos.
Solution: Correct typos. (closes #11432 )
2022-11-02 13:30:51 +00:00
Bram Moolenaar
d0fbb41eaa
patch 9.0.0799: in compiled function ->() on next line not recognized
...
Problem: In compiled function ->() on next line not recognized.
Solution: Also check for "(". (closes #11405 )
2022-10-19 18:04:49 +01:00
Bram Moolenaar
4913d420e8
patch 9.0.0778: indexing of unknown const type fails during compilation
...
Problem: Indexing of unknown const type fails during compilation.
Solution: Check for "any" properly. (closes #11389 )
2022-10-17 13:13:32 +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
c9e4a6f191
patch 9.0.0504: still a build failure
...
Problem: still a Build failure.
Solution: Add another missing changes. Avoid compiler warning.
2022-09-19 16:08:04 +01:00
Bram Moolenaar
73e28dcc61
patch 9.0.0491: no good reason to build without the float feature
...
Problem: No good reason to build without the float feature.
Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17 21:08:33 +01:00
Bram Moolenaar
8fa745e7be
patch 9.0.0481: in :def function all closures in loop get the same variables
...
Problem: In a :def function all closures in a loop get the same variables.
Solution: Use a separate list of variables for LOADOUTER and STOREOUTER.
Not copied at end of loop yet.
2022-09-16 19:04:24 +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
806a273f3c
patch 9.0.0379: cleaning up after writefile() is a hassle
...
Problem: Cleaning up after writefile() is a hassle.
Solution: Add the 'D' flag to defer deleting the written file. Very useful
in tests.
2022-09-04 15:40:36 +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
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
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
c3caa7f788
patch 8.2.5018: Vim9: some code is not covered by tests
...
Problem: Vim9: some code is not covered by tests.
Solution: Delete dead code.
2022-05-25 19:15:10 +01:00
Bram Moolenaar
68e64d2c17
patch 8.2.5006: asan warns for undefined behavior
...
Problem: Asan warns for undefined behavior.
Solution: Cast the shifted value to unsigned.
2022-05-22 22:07:52 +01:00
Bram Moolenaar
5b529230f1
patch 8.2.5005: compiler warning for uninitialized variable
...
Problem: Compiler warning for uninitialized variable. (John Marriott)
Solution: Initialize the pointer to NULL.
2022-05-22 21:53:26 +01:00
Bram Moolenaar
338bf58eba
patch 8.2.5004: right shift on negative number does not work as documented
...
Problem: Right shift on negative number does not work as documented.
Solution: Use a uvarnumber_T type cast.
2022-05-22 20:16:32 +01:00
Yegappan Lakshmanan
a061f34191
patch 8.2.5003: cannot do bitwise shifts
...
Problem: Cannot do bitwise shifts.
Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457 )
2022-05-22 19:13:49 +01:00
Bram Moolenaar
1ff9c44267
patch 8.2.4972: Vim9: compilation fails when using dict member when skipping
...
Problem: Vim9: compilation fails when using dict member when skipping.
Solution: Do not generate ISN_USEDICT when skipping. (closes #10433 )
2022-05-17 15:03:33 +01:00
Bram Moolenaar
31ad32a325
patch 8.2.4949: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few more test cases. Fix double error message.
2022-05-13 16:23:37 +01:00
Bram Moolenaar
7f8a3b11bf
patch 8.2.4946: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few more test cases. Remove dead code.
2022-05-12 22:03:01 +01:00
Bram Moolenaar
d0132f4862
patch 8.2.4940: some code is never used
...
Problem: Some code is never used.
Solution: Remove dead code. Add a few more test cases.
2022-05-12 11:05:40 +01:00
Bram Moolenaar
0abc2871c1
patch 8.2.4930: interpolated string expression requires escaping
...
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
2022-05-10 13:24:30 +01:00
LemonBoy
2eaef106e4
patch 8.2.4883: string interpolation only works in heredoc
...
Problem: String interpolation only works in heredoc.
Solution: Support interpolated strings. Use syntax for heredoc consistent
with strings, similar to C#. (closes #10327 )
2022-05-06 13:14:50 +01:00
LemonBoy
f3b4895f27
patch 8.2.4870: Vim9: expression in :substitute is not compiled
...
Problem: Vim9: expression in :substitute is not compiled.
Solution: Use an INSTR instruction if possible. (closes #10334 )
2022-05-05 13:53:03 +01:00
LemonBoy
372bcceeee
patch 8.2.4823: concat more than 2 strings in :def function is inefficient
...
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276 )
2022-04-25 12:43:20 +01:00
LemonBoy
58f331a05f
patch 8.2.4669: in compiled code len('string') is not inlined
...
Problem: In compiled code len('string') is not inlined.
Solution: Compute the length at compile time if possible. (closes #10065 )
2022-04-02 21:59:06 +01:00
Bram Moolenaar
ffe6e646dc
patch 8.2.4661: Coverity warning for using uninitialized variable
...
Problem: Coverity warning for using uninitialized variable.
Solution: Initialize variable to NULL.
2022-04-01 13:23:47 +01:00
Bram Moolenaar
a6c18d38ca
patch 8.2.4657: errors for functions are sometimes hard to read
...
Problem: Errors for functions are sometimes hard to read.
Solution: Use printable_func_name() in more places.
2022-03-31 20:02:56 +01:00
Bram Moolenaar
ccbfd4883f
patch 8.2.4656: Vim9: can't use item from "import autoload" with autoload dir
...
Problem: Vim9: can't use items from "import autoload" with autoload
directory name.
Solution: Let sn_autoload_prefix overrule sn_import_autoload.
(closes #10054 )
2022-03-31 16:18:23 +01:00
Bram Moolenaar
c0ceeeb839
patch 8.2.4650: "import autoload" only works with using 'runtimepath'
...
Problem: "import autoload" only works with using 'runtimepath'.
Solution: Also support a relative and absolute file name.
2022-03-30 21:12:27 +01:00
Bram Moolenaar
ec15b1cfdc
patch 8.2.4634: Vim9: cannot initialize a variable to null_list
...
Problem: Vim9: cannot initialize a variable to null_list.
Solution: Give negative count to NEWLIST. (closes #10027 )
Also fix inconsistencies in comparing with null values.
2022-03-27 16:29:53 +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
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
139575de66
patch 8.2.4575: Vim9: test for profiling still fails
...
Problem: Vim9: test for profiling still fails.
Solution: Update flags for profiling and breakpoints when obtaining the
compile type. Do not set the FC_CLOSURE flag for a toplevel
function.
2022-03-15 19:29:30 +00:00
Bram Moolenaar
96923b7a14
patch 8.2.4573: a nested function is compiled for debugging without context
...
Problem: A nested function (closure) is compiled for debugging without
context.
Solution: Check if a nested function is marked for debugging before
compiling it. Give an error when trying to compile a closure
without its context. (closes #9951 )
2022-03-15 15:57:04 +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
afa048f0d4
patch 8.2.4447: Vim9: can still use s:var in a compiled function
...
Problem: Vim9: can still use s:var in a compiled function.
Solution: Disallow using s:var for Vim9 script. (closes #9824 )
2022-02-22 20:43:36 +00:00
Bram Moolenaar
4b1d963972
patch 8.2.4375: ctx_imports is not used
...
Problem: ctx_imports is not used.
Solution: Delete ctx_imports. Add missing dependency.
2022-02-13 21:51:08 +00:00
Bram Moolenaar
b6a138eb33
patch 8.2.4333: cstack not always passed to where it is needed
...
Problem: cstack not always passed to where it is needed.
Solution: Pass ctack through functions.
2022-02-08 21:17:22 +00:00
Bram Moolenaar
dce2441a60
patch 8.2.4332: Vim9: incomplete test for existing script variable in block
...
Problem: Vim9: incomplete test for existing script variable in block.
Solution: Add a couple more tests. Fix uncovered problem.
2022-02-08 20:35:30 +00:00
Bram Moolenaar
5f4ef5f5e5
patch 8.2.4313: Vim9: cannot change type of list after making a slice
...
Problem: Vim9: cannot change type of list after making a slice.
Solution: Adjust the declared member type. (closes #9696 )
2022-02-06 18:36:53 +00:00
Bram Moolenaar
83d0cec956
patch 8.2.4296: Vim9: not all code covered by tests
...
Problem: Vim9: not all code covered by tests.
Solution: Add a few more tests for corner cases. Fix hang when single quote
is missing.
2022-02-04 21:17:58 +00:00
Bram Moolenaar
eb4a9ba293
patch 8.2.4280: list-dict test crashes
...
Problem: list-dict test crashes.
Solution: Check declared type for add().
2022-02-01 12:47:07 +00:00
Bram Moolenaar
848faddb87
patch 8.2.4260: Vim9: can still use a global function without g:
...
Problem: Vim9: can still use a global function without g: at the script
level.
Solution: Also check for g: at the script level. (issue #9637 )
2022-01-30 15:28:30 +00:00