Bram Moolenaar
cc34181f99
patch 9.0.0502: a closure in a nested loop in a :def function does not work
...
Problem: A closure in a nested loop in a :def function does not work.
Solution: Use an array of loopvars, one per loop level.
2022-09-19 15:54:34 +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
b46c083a5e
patch 9.0.0470: 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: When in a loop and a closure refers to a variable declared in the
loop, prepare for making a copy of variables for each closure.
2022-09-15 17:19:37 +01:00
Bram Moolenaar
169003289f
patch 9.0.0419: the :defer command does not check the function arguments
...
Problem: The :defer command does not check the function argument count and
types.
Solution: Check the function arguments when adding a deferred function.
2022-09-08 19:51:45 +01:00
Yegappan Lakshmanan
6b085b9d73
patch 9.0.0376: clang warns for dead assignments
...
Problem: Clang warns for dead assignments.
Solution: Adjust the code. (Yegappan Lakshmanan, closes #11048 )
2022-09-04 12:47:21 +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
68a635a80a
patch 9.0.0353: missing entry in switch
...
Problem: Missing entry in switch.
Solution: Add ISN_ECHOWINDOW.
2022-09-01 17:26:17 +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
bd3a9d2c94
patch 8.2.4973: Vim9: type error for list unpack mentions argument
...
Problem: Vim9: type error for list unpack mentions argument.
Solution: Mention variable. (close #10435 )
2022-05-17 16:12:39 +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
Bram Moolenaar
c9af617ac6
patch 8.2.4863: accessing freed memory in test without the +channel feature
...
Problem: Accessing freed memory in test without the +channel feature.
(Dominique Pellé)
Solution: Do not generted PUSHCHANNEL or PUSHJOB if they are not
implemented. (closes #10350 )
2022-05-04 16:46:54 +01:00
Bram Moolenaar
06651630ee
patch 8.2.4834: Vim9: some lines not covered by tests
...
Problem: Vim9: some lines not covered by tests.
Solution: Add a few more tests. Remove dead code.
2022-04-27 17:54:25 +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
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
397a87ac1c
patch 8.2.4602: Vim9: not enough test coverage for executing :def function
...
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
2022-03-20 21:14:15 +00:00
Bram Moolenaar
056678184f
patch 8.2.4576: Vim9: error for comparing with null can be annoying
...
Problem: Vim9: error for comparing with null can be annoying.
Solution: Allow comparing anything with null. (closes #9948 )
2022-03-15 20:21:33 +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
53ba6ca5b2
patch 8.2.4539: when comparing special v:none and v:null are handled the same
...
Problem: When comparing special v:none and v:null are handled the same when
compiling.
Solution: Pass more information so that v:none can be handled differently at
compile time. (issue #9923 )
2022-03-10 19:23:28 +00:00
Bram Moolenaar
ed0c62e7b1
patch 8.2.4529: Vim9: comparing partial with function fails
...
Problem: Vim9: comparing partial with function fails.
Solution: Support this comparison. Avoid a crash. (closes #9909 )
Add more test cases.
2022-03-08 19:43:55 +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
7a22224875
patch 8.2.4487: Vim9: cannot compare with v:null
...
Problem: Vim9: cannot compare with v:null.
Solution: Allow comparing anything with v:null. (closes #9866 )
2022-03-01 19:23:24 +00:00
Bram Moolenaar
160afdb185
patch 8.2.4311: Vim9: changing script variable type not caught compile time
...
Problem: Vim9: changing script variable type not caught at compile time.
Solution: Set the declared type.
2022-02-06 17:17:02 +00:00
Bram Moolenaar
2626d6a71c
patch 8.2.4310: Vim9: constant list and dict get a declaration type
...
Problem: Vim9: constant list and dict get a declaration type other than
"any".
Solution: A constant list and dict have a declared member type "any".
(closes #9701 )
2022-02-06 15:49:35 +00:00
Bram Moolenaar
8133018f50
patch 8.2.4279: Vim9: cannot change item type with map() after range()
...
Problem: Vim9: cannot change item type with map() after range().
Solution: Split the return type in current type and declared type.
(closes #9665 )
2022-02-01 12:11:58 +00:00
Bram Moolenaar
35c807df1f
patch 8.2.4231: Vim9: map() gives type error when type was not declared
...
Problem: Vim9: map() gives type error when type was not declared.
Solution: Only check the type when it was declared, like extend() does.
(closes #9635 )
2022-01-27 16:36:29 +00:00
Bram Moolenaar
06b77229ca
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
...
Problem: Vim9: cannot use a function from an autoload import directly.
Solution: Add the AUTOLOAD instruction to figure out at runtime.
(closes #9620 )
2022-01-25 15:51:56 +00:00
Bram Moolenaar
acc4b5648b
patch 8.2.4202: Vim9: cannot export function that exists globally
...
Problem: Vim9: cannot export function that exists globally.
Solution: When checking if a function already exists only check for
script-local functions. (closes #9615 )
2022-01-24 13:54:45 +00:00
Bram Moolenaar
38ecd97226
patch 8.2.4103: Vim9: variable declared in for loop not initialzed
...
Problem: Vim9: variable declared in for loop not initialzed.
Solution: Always initialze the variable. (closes #9535 )
2022-01-15 21:44:44 +00:00
Bram Moolenaar
d9d2fd0aa3
patch 8.2.4086: "cctx" argument of find_func_even_dead() is unused
...
Problem: "cctx" argument of find_func_even_dead() is unused.
Solution: Remove the argument.
2022-01-13 21:15:21 +00:00
Bram Moolenaar
d041f4208b
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
...
Problem: Vim9: compiling function fails when autoload script is not loaded
yet.
Solution: Depend on runtime loading.
2022-01-12 19:54:00 +00:00
Yegappan Lakshmanan
782b43d894
patch 8.2.4045: some global functions are only used in one file
...
Problem: Some global functions are only used in one file.
Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492 )
2022-01-08 18:43:40 +00:00
Bram Moolenaar
078a46161e
patch 8.2.3996: Vim9: type checking lacks information about declared type
...
Problem: Vim9: type checking for list and dict lacks information about
declared type.
Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to
store two types in each entry.
2022-01-04 15:17:03 +00:00
Bram Moolenaar
460ae5dfca
patch 8.2.3967: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2022-01-01 14:19:49 +00:00
Bram Moolenaar
5cd647935d
patch 8.2.3893: Vim9: many local variables are initialized with an instruction
...
Problem: Vim9: many local variables are initialized with an instruction.
Solution: Initialize local variables to zero to avoid the instructions.
2021-12-25 18:23:24 +00:00
Bram Moolenaar
d787e40fdb
patch 8.2.3890: Vim9: type check for using v: variables is basic
...
Problem: Vim9: type check for using v: variables is basic.
Solution: Specify a more precise type.
2021-12-24 21:36:12 +00:00
Bram Moolenaar
59618fed4c
patch 8.2.3866: Vim9: type checking global variables is inconsistent
...
Problem: Vim9: type checking global variables is inconsistent.
Solution: Use the "unknown" type in more places.
2021-12-21 12:32:17 +00:00
Bram Moolenaar
0d807107b6
patch 8.2.3865: Vim9: compiler complains about using "try" as a struct member
...
Problem: Vim9: compiler complains about using "try" as a struct member.
Solution: Rename "try" to "tryref".
2021-12-21 09:42:09 +00:00
Bram Moolenaar
dc7c366f3a
patch 8.2.3860: Vim9: codecov struggles with the file size
...
Problem: Vim9: codecov struggles with the file size.
Solution: Split vim9compile.c into four files.
2021-12-20 15:04:29 +00:00