| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Vim9: some errors not tested.
Solution: Add tests. Fix getting the right error.
|
|
|
|
|
| |
Problem: Vim9: unreachable code.
Solution: Remove the code to prepend s: to the variable name
|
|
|
|
|
|
| |
Problem: Vim9: memory leak when literal dict has an error and when an
expression is not complete.
Solution: Clear the typval and the growarray.
|
|
|
|
|
| |
Problem: Vim9: some checks are not tested.
Solution: Add a few more tests. Give better error messages.
|
|
|
|
|
| |
Problem: Vim9: command modifiers not restored after assignment.
Solution: Jump to nextline instead of using continue.
|
|
|
|
|
| |
Problem: Vim9: dict does not accept a key in quotes.
Solution: Recognize a key in single or double quotes.
|
|
|
|
|
| |
Problem: Vim9: memory leak when statement is truncated.
Solution: Increment the number of local variables.
|
|
|
|
|
| |
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405)
|
|
|
|
|
| |
Problem: Vim9: cannot handle a linebreak after "=" in assignment.
Solution: Skip over linebreak. (closes #7407)
|
|
|
|
|
| |
Problem: Vim9: no proper error message for using s:var in for loop.
Solution: Give a specific error.
|
|
|
|
|
| |
Problem: Vim9: cannot put a linebreak before or after "in" of ":for".
Solution: Skip over linebreak.
|
|
|
|
|
| |
Problem: Vim9: for with unpack only works for local variables.
Solution: Recognize different destinations.
|
|
|
|
|
| |
Problem: Vim9: list assign not well tested.
Solution: Test with different destinations. Fix white space error.
|
|
|
|
|
| |
Problem: Vim9: only one level of indexing supported.
Solution: Handle more than one index in an assignment.
|
|
|
|
|
| |
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: Some compilers do not like the "namespace" argument.
Solution: Rename to "use_namespace". (closes #7332)
|
|
|
|
|
| |
Problem: Vim9: literal dict #{} is not like any other language.
Solution: Support the JavaScript syntax.
|
|
|
|
|
| |
Problem: Vim9: not skipping white space after unary minus.
Solution: Skip whitespace. (closes #7324)
|
|
|
|
|
| |
Problem: Vim9: compiling fails for unreachable return statement.
Solution: Fix it. (closes #7319)
|
|
|
|
|
| |
Problem: Compiler warning for uninitialized variable.
Solution: Initialize "ufunc". (John Marriott)
|
|
|
|
|
| |
Problem: Vim9: lambda argument shadowed by function name.
Solution: Let function name be shadowed by lambda argument. (closes #7313)
|
|
|
|
|
| |
Problem: Vim9: dict.key assignment not implemented yet.
Solution: Implement dict.key assignment. (closes #7312)
|
|
|
|
|
| |
Problem: Vim9: invalid error for argument of extend().
Solution: Check if the type could match. (closes #7299)
|
|
|
|
|
|
| |
Problem: Vim9: error for using a string in a condition is confusing.
Solution: Give a more specific error. Also adjust the compile time type
checking for || and &&.
|
|
|
|
|
| |
Problem: Vim9: has() assumes a feature does not change dynamically.
Solution: Check whether a feature may change dynamically. (closes #7265)
|
|
|
|
|
|
| |
Problem: Vim9: cannot specify argument types for lambda.
Solution: Allow adding argument types. Check arguments when calling a
function reference.
|
|
|
|
|
| |
Problem: Vim9: command modifiers in :def function not tested.
Solution: Add tests. Fix using modifier before filter command.
|
|
|
|
|
| |
Problem: Vim9: get unknown error with an error in a timer function.
Solution: Use did_emsg instead of called_emsg. (closes #7231)
|
|
|
|
|
| |
Problem: Vim9: error for wrong number of arguments is not useful.
Solution: Mention whatever we have for the name. (closes #7208)
|
|
|
|
|
| |
Problem: Vim9: command modifiers do not work.
Solution: Make most command modifiers work.
|
|
|
|
|
| |
Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
|
|
|
|
|
|
| |
Problem: Command modifiers are saved and set inconsistently.
Solution: Separate parsing and applying command modifiers. Save values in
cmdmod_T.
|
|
|
|
|
| |
Problem: Vim9: command modifiers are not supported.
Solution: Support "silent" and "silent!".
|
|
|
|
|
| |
Problem: Vim9: skipping over expression doesn't handle line breaks.
Solution: Pass evalarg to skip_expr(). (closes #7157)
|
|
|
|
|
| |
Problem: Compiler warning for uninitialized variable. (John Marriott)
Solution: Initialize with NULL.
|
|
|
|
|
| |
Problem: Vim9: v:disallow_let is no longer needed.
Solution: Remove v:disallow_let.
|
|
|
|
|
| |
Problem: Vim9: Asan complains about adding zero to NULL.
Solution: Check for argument count first.
|
|
|
|
|
| |
Problem: Vim9: argument types of insert() not checked when compiling.
Solution: Add argument type checks for insert().
|
|
|
|
|
|
|
| |
Problem: Vim9: argument types for builtin functions are not checked at
compile time.
Solution: Add an argument type checking mechanism. Implement type checks for
one function.
|
|
|
|
|
| |
Problem: Vim9: no error for missing space after comma in dict.
Solution: Check for white space. (closes #6672)
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
Problem: Vim9: no error for wrong list type.
Solution: Add flag to indicate a constant. (closes #7160)
|
|
|
|
|
| |
Problem: vim9: memory leak when compiling lambda fails.
Solution: Call clear_evalarg().
|
|
|
|
|
| |
Problem: Vim9: get error message when nothing is wrong.
Solution: Check called_emsg instead of did_emsg. (closes #7143)
|
|
|
|
|
| |
Problem: Vim9: "!" followed by space incorrectly used.
Solution: Skip over trailing spaces. (closes #7131)
|
|
|
|
|
| |
Problem: Vim9: using negative value for unsigned type.
Solution: Use zero instead of -1.
|
|
|
|
|
|
| |
Problem: Vim9: variables declared in a local block are not found in
when a function is compiled.
Solution: Look for script variables in sn_all_vars.
|
|
|
|
|
| |
Problem: Vim9: error message is not clear about compilation error.
Solution: Say "compiling" instead of "processing".
|