| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Vim9: some code is not covered by tests.
Solution: Delete dead code.
|
|
|
|
|
| |
Problem: Vim9: type error for list unpack mentions argument.
Solution: Mention variable. (close #10435)
|
|
|
|
|
| |
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
Problem: Vim9: some lines not covered by tests.
Solution: Add a few more tests. Remove dead code.
|
|
|
|
|
|
| |
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276)
|
|
|
|
|
| |
Problem: Errors for functions are sometimes hard to read.
Solution: Use printable_func_name() in more places.
|
|
|
|
|
|
|
| |
Problem: Vim9: can't use items from "import autoload" with autoload
directory name.
Solution: Let sn_autoload_prefix overrule sn_import_autoload.
(closes #10054)
|
|
|
|
|
| |
Problem: "import autoload" only works with using 'runtimepath'.
Solution: Also support a relative and absolute file name.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Problem: Vim9: cannot use a recursive call in a nested function. (Sergey
Vlasov)
Solution: Define the funcref before compiling the function. (closes #9989)
|
|
|
|
|
| |
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
|
|
|
|
|
| |
Problem: Vim9: error for comparing with null can be annoying.
Solution: Allow comparing anything with null. (closes #9948)
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
Problem: Vim9: comparing partial with function fails.
Solution: Support this comparison. Avoid a crash. (closes #9909)
Add more test cases.
|
|
|
|
|
| |
Problem: Vim9: cannot set variables to a null value.
Solution: Add null_list, null_job, etc.
|
|
|
|
|
| |
Problem: Vim9: cannot compare with v:null.
Solution: Allow comparing anything with v:null. (closes #9866)
|
|
|
|
|
| |
Problem: Vim9: changing script variable type not caught at compile time.
Solution: Set the declared 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)
|
|
|
|
|
|
| |
Problem: Vim9: cannot change item type with map() after range().
Solution: Split the return type in current type and declared type.
(closes #9665)
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
Problem: Vim9: cannot use a function from an autoload import directly.
Solution: Add the AUTOLOAD instruction to figure out at runtime.
(closes #9620)
|
|
|
|
|
|
| |
Problem: Vim9: cannot export function that exists globally.
Solution: When checking if a function already exists only check for
script-local functions. (closes #9615)
|
|
|
|
|
| |
Problem: Vim9: variable declared in for loop not initialzed.
Solution: Always initialze the variable. (closes #9535)
|
|
|
|
|
| |
Problem: "cctx" argument of find_func_even_dead() is unused.
Solution: Remove the argument.
|
|
|
|
|
|
| |
Problem: Vim9: compiling function fails when autoload script is not loaded
yet.
Solution: Depend on runtime loading.
|
|
|
|
|
| |
Problem: Some global functions are only used in one file.
Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492)
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
|
|
|
| |
Problem: Vim9: many local variables are initialized with an instruction.
Solution: Initialize local variables to zero to avoid the instructions.
|
|
|
|
|
| |
Problem: Vim9: type check for using v: variables is basic.
Solution: Specify a more precise type.
|
|
|
|
|
| |
Problem: Vim9: type checking global variables is inconsistent.
Solution: Use the "unknown" type in more places.
|
|
|
|
|
| |
Problem: Vim9: compiler complains about using "try" as a struct member.
Solution: Rename "try" to "tryref".
|
|
Problem: Vim9: codecov struggles with the file size.
Solution: Split vim9compile.c into four files.
|