| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Problem: Vim9: debugger test fails with normal features and +terminal.
(Dominique Pellé)
Solution: Adjust the INSTRUCTIONS macro. (closes #8460)
|
|
|
|
|
|
| |
Problem: Vim9: breakpoint at a comment line does not work.
Solution: Add the comment line number to the debug instruction.
(closes #8429)
|
|
|
|
|
|
| |
Problem: Vim9: crash when using operator and list unpack assignment.
(Naohiro Ono)
Solution: Get variable value before operation. (closes #8416)
|
|
|
|
|
| |
Problem: Vim9: cannot set breakpoint in compiled function.
Solution: Check for breakpoint when calling a function.
|
|
|
|
|
| |
Problem: Vim9: using a void value does not give a proper error message.
Solution: Give a clear error message. (clodes #8387)
|
|
|
|
|
| |
Problem: Vim9: when debugging cannot inspect local variables.
Solution: Make local variables available when debugging.
|
|
|
|
|
| |
Problem: Vim9: debugger test fails.
Solution: Get the debugger instructions when needed.
|
|
|
|
|
| |
Problem: Vim9: a compiled function cannot be debugged.
Solution: Add initial debugging support.
|
|
|
|
|
|
| |
Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc.
Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT
instruction.
|
|
|
|
|
|
| |
Problem: Vim9: converting number to bool uses wrong stack offset. (Salman
Halim)
Solution: Include the offset in the 2BOOL command.
|
|
|
|
|
| |
Problem: Vim9: "legacy return" is not recognized as a return statement.
Solution: Specifically check for a return command. (closes #8213)
|
|
|
|
|
| |
Problem: Vim9: skip argument to searchpair() is not compiled.
Solution: Add VAR_INSTR.
|
|
|
|
|
| |
Problem: Vim9: :cexpr does not work with local variables.
Solution: Compile :cexpr.
|
|
|
|
|
| |
Problem: Vim9: still crash when using substitute expression.
Solution: Put the instruction list in the stack frame. (closes #8154)
|
|
|
|
|
| |
Problem: Vim9: cannot redirect to local variable.
Solution: Compile :redir when redirecting to a variable.
|
|
|
|
|
|
| |
Problem: Vim9: cannot use \=expr in :substitute.
Solution: Compile the expression into instructions and execute them when
invoked.
|
|
|
|
|
| |
Problem: Vim9: blob tests for legacy and Vim9 script are separate.
Solution: Add CheckLegacyAndVim9Success(). Make blob index assign work.
|
|
|
|
|
| |
Problem: Vim9: blob index and slice not implemented yet.
Solution: Implement blob index and slice.
|
|
|
|
|
|
| |
Problem: Vim9: cannot use only some of the default arguments.
Solution: Use v:none to use default argument value. Remove
uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504)
|
|
|
|
|
| |
Problem: Vim9: command modifiers not handled in nested function.
Solution: Keep function-local info in a structure and save it on the stack.
|
|
|
|
|
| |
Problem: Vim9: return from finally block causes a hang.
Solution: Store both the finally and endtry indexes. (closes #7885)
|
|
|
|
|
| |
Problem: Vim9: cannot use a range with :unlet.
Solution: Implement ISN_UNLETRANGE.
|
|
|
|
|
| |
Problem: Vim9: lambda return type is not determined at script level.
Solution: Compile the lambda to get the return type. (closes #7843)
|
|
|
|
|
| |
Problem: Vim9: :continue does not work correctly in a :try block
Solution: Add the TRYCLEANUP instruction. (closes #7827)
|
|
|
|
|
| |
Problem: Build failure without the +profiling feature.
Solution: Add dummy argument to macro.
|
|
|
|
|
|
| |
Problem: Vim9: profiling only works for one function.
Solution: Select the right instructions when calling and returning.
(closes #7743)
|
|
|
|
|
| |
Problem: Build fails without +profiling feature.
Solution: Add #ifdefs.
|
|
|
|
|
|
| |
Problem: Vim9: compiled functions are not profiled.
Solution: Add initial changes to profile compiled functions. Fix that a
script-local function was hard to debug.
|
|
|
|
|
| |
Problem: Vim9: using positive offset is unexpected.
Solution: Use int8_T instead of char. (James McCoy)
|
|
|
|
|
| |
Problem: Test failure on a few systems.
Solution: Avoid that "char" value is negative.
|
|
|
|
|
| |
Problem: Runtime type check does not mention argument index.
Solution: Add ct_arg_idx. (closes #7720)
|
|
|
|
|
| |
Problem: Vim9: closure nested limiting to one level.
Solution: Add outer_T. Also make STOREOUTER work.
|
|
|
|
|
|
| |
Problem: Vim9: cannot nest closures.
Solution: Add the nesting level to ISN_LOADOUTER and ISN_STOREOUTER.
(closes #7150, closes #7635)
|
|
|
|
|
| |
Problem: "exptype_T" can be read as "expected type".
Solution: Rename to "exprtype_T", expression type.
|
|
|
|
|
| |
Problem: Vim9: returning zero takes two instructions.
Solution: Add ISN_RETURN_ZERO.
|
|
|
|
|
| |
Problem: Vim9: cannot unlet a dict or list item.
Solution: Add ISN_UNLETINDEX. Refactor assignment code to use for unlet.
|
|
|
|
|
| |
Problem: Build failure.
Solution: Add missing changes to header file.
|
|
|
|
|
| |
Problem: Vim9: crash if script reloaded with different variable type.
Solution: Check the type when accessing the variable.
|
|
|
|
|
|
| |
Problem: Vim9: after reloading a script variable index may be invalid.
Solution: When the sequence number doesn't match give an error for using a
script-local variable from a compiled function. (closes #7547)
|
|
|
|
|
|
|
| |
Problem: Vim9: crash when calling global function from :def function.
Solution: Set the outer context. Define the partial for the context on the
original function. Use a refcount to keep track of which ufunc is
using a dfunc. (closes #7525)
|
|
|
|
|
| |
Problem: Vim9: crash when indexing a dict with a number.
Solution: Add ISN_STOREINDEX. (closes #7513)
|
|
|
|
|
| |
Problem: Vim9: Cannot load or store autoload variables.
Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485)
|
|
|
|
|
| |
Problem: Various typos.
Solution: Fix spelling mistakes. (closes #7494)
|
|
|
|
|
| |
Problem: Vim9: a range cannot be computed at runtime.
Solution: Add the ISN_RANGE instruction.
|
|
|
|
|
| |
Problem: Vim9: list unpack in for statement not compiled yet.
Solution: Compile list unpack. (closes #7345)
|
|
|
|
|
| |
Problem: Vim9: :def without argument gives compilation error.
Solution: Add the DEF instruction. (closes #7344)
|
|
|
|
|
| |
Problem: Vim9: command modifiers do not work.
Solution: Make most command modifiers work.
|
|
|
|
|
| |
Problem: Vim9: command modifiers are not supported.
Solution: Support "silent" and "silent!".
|
|
|
|
|
| |
Problem: Vim9: argument to add() not checked for blob.
Solution: Add the BLOBAPPEND instruction.
|
|
|
|
|
| |
Problem: Vim9: add() does not check type of argument.
Solution: Inline the add() call. (closes #7160)
|