| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Problem: Vim9: script variable has no flag that it was set.
Solution: Add a flag that it was set, to avoid giving it a value when used.
(closes #10088)
|
|
|
|
|
|
| |
Problem: Vim9: crash when adding a duplicate key to a dictionary.
Solution: Clear the stack item when it has been moved into the dictionary.
(closes #10087)
|
|
|
|
|
| |
Problem: Build failure without +postscript.
Solution: Use another error message.
|
|
|
|
|
| |
Problem: Vim9: not all code is tested.
Solution: Add a few more tests.
|
|
|
|
|
|
| |
Problem: No error for using out of range list index.
Solution: Check list index at script level like in compiled function.
(closes #10051)
|
|
|
|
|
| |
Problem: Errors for functions are sometimes hard to read.
Solution: Use printable_func_name() in more places.
|
|
|
|
|
| |
Problem: Leaking memory if assignment fails.
Solution: Clear assigned value on failure.
|
|
|
|
|
| |
Problem: "import autoload" only works with using 'runtimepath'.
Solution: Also support a relative and absolute file name.
|
|
|
|
|
| |
Problem: Vim9: variable may be locked unintentionally.
Solution: Clear "v_lock". (closes #10036)
|
|
|
|
|
|
| |
Problem: Vim9: in :def function script var cannot be null.
Solution: Only initialize a script variable when not set to a null value.
(closes #10034)
|
|
|
|
|
|
| |
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: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
|
|
|
|
|
| |
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix inconsistencies.
|
|
|
|
|
| |
Problem: Vim9: range type check has wrong offset.
Solution: Adjust offset for CHECKTYPE. Remove other type check.
|
|
|
|
|
| |
Problem: Vim9: double free after unpacking a list.
Solution: Make a copy of the value instead of moving it. (closes #9968)
|
|
|
|
|
|
|
| |
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: 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)
|
|
|
|
|
|
| |
Problem: Crash in debugger when a variable is not available in the current
block.
Solution: Check for a NULL name. (closes #9926)
|
|
|
|
|
| |
Problem: Vim9: "is" operator with empty string and null returns true.
Solution: Consider empty string and null to be different for "is".
|
|
|
|
|
| |
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: some error messages are not tested.
Solution: Add a few more test cases. Delete dead code.
|
|
|
|
|
|
| |
Problem: Vim9: cannot refer to a global function like a local one.
Solution: When g:name is not a variable but a function, use a function
reference. (closes #9826)
|
|
|
|
|
| |
Problem: Vim9: Coverity warns for using NULL pointer.
Solution: Give an internal error when funcref function can't be found.
|
|
|
|
|
| |
Problem: Vim9: some code not covered by tests.
Solution: Add a few more tests. Remove dead code.
|
|
|
|
|
| |
Problem: Vim9: some code not covered by tests.
Solution: Add a few more tests. Fix reported line number.
|
|
|
|
|
|
| |
Problem: Vim9: some code not covered by tests.
Solution: Add a few more tests. Correct error message. Allow unlet on dict
with a number key.
|
|
|
|
|
| |
Problem: Vim9: some code not covered by tests.
Solution: Add more tests. Avoid giving two errors. Remove dead code.
|
|
|
|
|
| |
Problem: Vim9: some code not covered by tests.
Solution: Add a few specific test cases.
|
|
|
|
|
| |
Problem: Vim9: line number of exception is not set.
Solution: Set the line number before throwing an exception. (closes #9755)
|
|
|
|
|
|
| |
Problem: Vim9: crash when using funcref with closure.
Solution: Keep a reference to the funcref that has the outer context.
(closes #9716)
|
|
|
|
|
| |
Problem: :put does not work properly in compiled function. (John Beckett)
Solution: Adjust the direction when using line zero.
|
|
|
|
|
| |
Problem: Vim9: crash when using a partial in the wrong context.
Solution: Don't use an NULL outer pointer. (closes #9706)
|
|
|
|
|
| |
Problem: Vim9: strict type checking after copy() and deepcopy().
Solution: Allow type to change after making a copy. (closes #9644)
|
|
|
|
|
|
| |
Problem: Vim9: depth argument of :lockvar not parsed in :def function.
Solution: Parse the optional depth argument. (closes #9629)
Fix that locking doesn't work for a non-materialize list.
|
|
|
|
|
|
| |
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: the switch for executing instructions is too long.
Solution: Move some code to separate functions.
|
|
|
|
|
|
| |
Problem: Vim9: calling import with and without method is inconsistent.
Solution: Set a flag that a parenthsis follows to compile_load_scriptvar().
Add some more tests. Improve error message.
|
|
|
|
|
|
|
| |
Problem: Vim9: calling function in autoload import does not work in a :def
function.
Solution: When a variable is not found and a PCALL follows use a funcref.
(closes #9550)
|
|
|
|
|
| |
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: Using int for second argument of ga_init2().
Solution: Remove unnessary type cast (int) when using sizeof().
|
|
|
|
|
| |
Problem: Vim9: build error.
Solution: Use grow array instead of character pointer.
|
|
|
|
|
| |
Problem: Vim9: import mechanism is too complicated.
Solution: Do not use the Javascript mechanism but a much simpler one.
|
|
|
|
|
| |
Problem: Vim9: LISTAPPEND instruction does not check for a locked list.
Solution: Check whether the list is locked. (closes #9452)
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
|
|
|
| |
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes #9416)
|
|
|
|
|
|
| |
Problem: Vim9: double free with nested :def function.
Solution: Pass "line_to_free" from compile_def_function() and make sure
cmdlinep is valid.
|