| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Test failures for unreachable code.
Solution: Add a test override to ignore unreachable code.
|
|
|
|
|
| |
Problem: Crash when :def function has :break in skipped block. (Ernie Rael)
Solution: Don't generate a jump for a skipped :break. (closes #12077)
|
|
|
|
|
| |
Problem: Error for space before ": type" is inconsistent.
Solution: Give E1059 in more places. (closes #11868)
|
|
|
|
|
|
| |
Problem: Cannot use an object method with :defer. (Ernie Rael)
Solution: Find the object method and generate code to call it.
(closes #11886)
|
|
|
|
|
| |
Problem: Error message names do not match the items.
Solution: Add "_str" when the text contains "%s".
|
|
|
|
|
| |
Problem: Type error when using "any" type and adding a number to a float.
Solution: Accept both a number and a float. (closes #11753)
|
|
|
|
|
| |
Problem: Compiler warning when HAS_MESSAGE_WINDOW is not defined.
Solution: Add UNUSED.
|
|
|
|
|
| |
Problem: Class members are not supported yet.
Solution: Add initial support for class members.
|
|
|
|
|
| |
Problem: Vim9 script: get E1096 when comment follows return.
Solution: Adjust condition for return without expression. (closes #11654)
|
|
|
|
|
| |
Problem: Various typos.
Solution: Correct typos. (closes #11432)
|
|
|
|
|
|
| |
Problem: Reading past end of the line when compiling a function with
errors.
Solution: Do not return an invalid pointer. Fix skipping redirection.
|
|
|
|
|
|
| |
Problem: Looping over list of lists and changing the list contents works in
Vim9 script, not in a compiled function.
Solution: Mark the loop variable final instead of const. (closes #11347)
|
|
|
|
|
|
| |
Problem: Closure in compiled function gets same variable in block.
Solution: At the end of a block to not always reset the variable count.
(issue #11094)
|
|
|
|
|
|
| |
Problem: Cannot specify a time for :echowindow.
Solution: A count can be used to specify the display time. Add
popup_findecho().
|
|
|
|
|
|
| |
Problem: "const" and "final" both make the type a constant. (Daniel
Steinberg)
Solution: Only have "const" make the type a constant.
|
|
|
|
|
| |
Problem: A closure in a nested loop in a :def function does not work.
Solution: Use an array of loopvars, one per loop level.
|
|
|
|
|
| |
Problem: In a :def function all closures in a loop get the same variables.
Solution: Add ENDLOOP at break, continue and return if needed.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: Function went missing.
Solution: Add the function back.
|
|
|
|
|
|
| |
Problem: The :defer command does not check the function argument count and
types.
Solution: Check the function arguments when adding a deferred function.
|
| |
|
|
|
|
|
| |
Problem: Deleting files in tests is a hassle.
Solution: Use the new 'D' flag of writefile().
|
|
|
|
|
|
| |
Problem: Cleaning up after writefile() is a hassle.
Solution: Add the 'D' flag to defer deleting the written file. Very useful
in tests.
|
|
|
|
|
| |
Problem: Cleaning up afterwards can make a function messy.
Solution: Add the :defer command.
|
|
|
|
|
| |
Problem: :echowindow does not work in a compiled function.
Solution: Handle the expression at compile time.
|
|
|
|
|
| |
Problem: Invalid memory access when compiling :unlet.
Solution: Don't read past the end of the line.
|
|
|
|
|
| |
Problem: Invalid memory access when compiling :lockvar.
Solution: Don't read past the end of the line.
|
|
|
|
|
|
| |
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276)
|
|
|
|
|
| |
Problem: Vim9: assignment not recognized in skipped block.
Solution: When skipping assume identifier exists. (closes #10059)
|
|
|
|
|
|
| |
Problem: Mapping with escaped bar does not work in :def function. (Sergey
Vlasov)
Solution: Do not remove the backslash. (closes #10002)
|
|
|
|
|
| |
Problem: Some conditions are always true.
Solution: Remove the useless conditions. (closes #9993)
|
|
|
|
|
|
| |
Problem: Vim9: return type "any" is sometimes changed to first returned
type. (Virginia Senioria)
Solution: Do not change the return type if declared as "any". (closes #9949)
|
|
|
|
|
| |
Problem: In a :def function "put = expr" does not work.
Solution: Skip over white space. (closes #9936)
|
|
|
|
|
| |
Problem: Vim9: "break" inside try/catch not handled correctly.
Solution: First jump to :endtry. (closes #9927)
|
|
|
|
|
| |
Problem: Coverity warns for uninitialized variable.
Solution: Set flags to zero.
|
|
|
|
|
| |
Problem: Various comment and indent mistakes, returning wrong zero.
Solution: Fix the mistakes. Return NULL instead of FAIL.
|
|
|
|
|
| |
Problem: Vim9: type of item in for loop not checked properly.
Solution: Adjust the type checking. (closes #9683)
|
|
|
|
|
| |
Problem: Vim9: using "lockvar!" in :def function does not work.
Solution: Add "!" instead of "-1". (closes #9634)
|
|
|
|
|
|
| |
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: invalid error for return type of lambda when debugging.
Solution: Do not check the return type of a lambda. (closes #9589)
|
|
|
|
|
|
| |
Problem: Vim9: no error for return with argument when the function does not
return anything.
Solution: Give an error for the invalid argument. (issue #9497)
|
|
|
|
|
|
| |
Problem: Vim9: no detection of return in try/endtry. (Dominique Pellé)
Solution: Check if any of the blocks inside try/endtry did not end in
return.
|
|
|
|
|
| |
Problem: Missing part of the :import changes.
Solution: Add changes in vim9cmds.c.
|
|
|
|
|
|
|
| |
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: Vim9: debugging a for loop doesn't stop before it starts.
Solution: Keep the DEBUG instruction before the expression is evaluated.
(closes #9456)
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move the last errors from globals.h 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: Error messages are spread out.
Solution: Move more errors to errors.h.
|