| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Vim9: no error for using "let g:var = val".
Solution: Add an error.
|
|
|
|
|
| |
Problem: Vim9: no test for disassambling newly added instructions.
Solution: Add a function and check disassembly.
|
|
|
|
|
| |
Problem: Vim9: require unnecessary return statement.
Solution: Improve the use of the had_return flag. (closes #6270)
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: Vim9: no test for STORELIST and STOREDICT.
Solution: Add a test. Make matches stricter.
|
|
|
|
|
| |
Problem: Vim9: no test for MEMBER instruction.
Solution: Add a test. Make matches stricter.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: Vim9: cannot call a function declared later in Vim9 script.
Solution: Make two passes through the script file.
|
|
|
|
|
| |
Problem: Vim9: nested constant expression not evaluated compile time.
Solution: Use compile_expr1() for parenthesis.
|
|
|
|
|
| |
Problem: Vim9: more expressions can be evaluated at compile time
Solution: Recognize has('name').
|
|
|
|
|
| |
Problem: Vim9: postponed constant expressions does not scale.
Solution: Add a structure to pass around postponed constants.
|
|
|
|
|
| |
Problem: Vim9: constant expressions are not simplified.
Solution: Simplify string concatenation.
|
|
|
|
|
| |
Problem: Vim9: using assert_fails() causes function to finish.
Solution: Check did_emsg instead of called_emsg.
|
|
|
|
|
|
| |
Problem: Vim9: closure cannot store value in outer context.
Solution: Make storing value in outer context work. Make :disassemble
accept a function reference.
|
|
|
|
|
| |
Problem: Vim9: expanding does not work.
Solution: Find wildcards in not compiled commands. Reorganize test files.
|
|
|
|
|
|
| |
Problem: Vim9: wrong syntax of function in Vim9 script.
Solution: Give error for missing space. Implement :echomsg and :echoerr.
(closes #5670)
|
|
|
|
|
| |
Problem: Vim9: cannot unlet an environment variable.
Solution: Implement unlet for $VAR.
|
|
|
|
|
| |
Problem: Vim9: :unlet is not compiled.
Solution: Implement :unlet instruction and check for errors.
|
|
|
|
|
|
| |
Problem: Vim9: cannot read or write w:, t: and b: variables.
Solution: Implement load and store for w:, t: and b: variables.
(closes #5950)
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: Vim9: no error when omitting type from argument.
Solution: Enforce specifying argument types.
|
|
|
|
|
| |
Problem: Vim9: tests contain superfluous line continuation.
Solution: Remove line continuation no longer needed. Skip empty lines.
|
|
|
|
|
|
| |
Problem: Vim9: no optional arguments in func type.
Solution: Check for question mark after type. Find function reference
without function().
|
|
|
|
|
|
| |
Problem: Vim9: func and partial types not done yet
Solution: Fill in details about func declaration, drop a separate partial
declaration.
|
|
|
|
|
| |
Problem: Vim9: some code is not tested.
Solution: Add more tests. Fix uncovered problems.
|
|
|
|
|
| |
Problem: Vim9: disassemble test fails.
Solution: Separate test cases with recognized constant expressions.
|
|
|
|
|
| |
Problem: Vim9: compiling not sufficiently tested.
Solution: Add more tests. Fix bug with PCALL.
|
|
|
|
|
| |
Problem: Delete() commented out for testing.
Solution: Undo commenting-out.
|
|
|
|
|
| |
Problem: Vim9: finding common list type not tested.
Solution: Add more tests. Fix listing function. Fix overwriting type.
|
|
|
|
|
| |
Problem: Vim9: using wrong instruction, limited test coverage.
Solution: Use ISN_PUSHJOB. Add a few more tests.
|
|
|
|
|
|
| |
Problem: Vim9: calling a function that is defined later is slow.
Solution: Once the function is found update the instruction so it can be
called directly.
|
|
|
|
|
|
| |
Problem: Vim9: ":execute" does not work yet.
Solution: Add ISN_EXECUTE. (closes #5699) Also make :echo work with more
than one argument.
|
|
|
|
|
|
| |
Problem: Vim9: ISN_STORE with argument not tested. Some cases in tv2bool()
not tested.
Solution: Add tests. Add test_unknown() and test_void().
|
|
|
|
|
| |
Problem: Vim9: not all instructions covered by tests.
Solution: Add more test cases.
|
|
|
|
|
|
| |
Problem: Crash when using :disassamble without argument. (Dhiraj Mishra)
Solution: Check for missing argument. (Dominique Pelle, closes #5635,
closes #5637)
|
|
|
|
|
| |
Problem: Compare instructions not tested.
Solution: Add test cases. Fix disassemble with line continuation.
|
|
|
|
|
| |
Problem: Compiling a few instructions not tested.
Solution: Add more test cases.
|
|
|
|
|
| |
Problem: Compiling for loop not tested.
Solution: Add a test. Make variable initialization work for more types.
|
|
|
|
|
| |
Problem: compiling lambda not tested yet.
Solution: Add test for lambda and funcref. Drop unused instruction arg.
|
|
|
|
|
| |
Problem: compiling :elseif not tested yet.
Solution: Add test for :elseif. Fix generating jumps.
|
|
Problem: Some instructions not yet tested.
Solution: Disassemble more instructions. Move tests to a new file. Compile
call to s:function().
|