| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Problem: Vim9: crash when using variable in a loop at script level.
Solution: Do not clear the variable if a function was defined.
Do not create a new entry in sn_var_vals every time.
(closes #8628)
|
|
|
|
|
|
| |
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks. Fix type check for matchaddpos().
(Yegappan Lakshmanan, closes #8619)
|
|
|
|
|
| |
Problem: Crash in test.
Solution: Initialize "where".
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move a few more error messages to errors.h.
|
|
|
|
|
|
| |
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks, also at runtime. (Yegappan
Lakshmanan, closes #8587)
|
|
|
|
|
| |
Problem: Vim9: not all failures for import tested
Solution: Test more import failures
|
|
|
|
|
| |
Problem: Vim9: memory leak when concatenating to an imported string.
Solution: Clear the destination.
|
|
|
|
|
| |
Problem: Vim9: cannot assign to an imported variable at script level.
Solution: Lookup imported items when assigning.
|
|
|
|
|
| |
Problem: Vim9: accessing "s:" results in an error.
Solution: Do not try to lookup a script variable for "s:". (closes #8549)
|
|
|
|
|
| |
Problem: Vim9: imported uninitialized list does not get type checked.
Solution: Get type from imported variable.
|
|
|
|
|
| |
Problem: Vim9: uninitialzed list does not get type checked.
Solution: Set the type when initializing the variable. (closes #8529)
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move some error messages to errors.h. Use clearer names.
|
|
|
|
|
| |
Problem: Vim9: disassemble test fails.
Solution: Add missing call to lookup_debug_var().
|
|
|
|
|
| |
Problem: Vim9: can only use an autoload function name as a string.
Solution: Load the autoload script when encountered. (closes #8124)
|
|
|
|
|
|
|
| |
Problem: Subtracting from number option fails when result is zero. (Ingo
Karkat)
Solution: Reset the string value when using the numeric value.
(closes #8351)
|
|
|
|
|
| |
Problem: Vim9: skip argument to searchpair() is not compiled.
Solution: Add VAR_INSTR.
|
|
|
|
|
| |
Problem: Vim9: cannot redirect to local variable.
Solution: Compile :redir when redirecting to a variable.
|
|
|
|
|
|
| |
Problem: Add() silently skips when adding to null list or blob.
Solution: Give an error in Vim9 script. Allocate blob when it is NULL like
with list and dict.
|
|
|
|
|
| |
Problem: Vim9: cannot use type in for loop unpack at script level.
Solution: Advance over the type name.
|
|
|
|
|
| |
Problem: Vim9: no error for changing a for loop variable.
Solution: Make the loop variable read-only. (issue #8102)
|
|
|
|
|
| |
Problem: Vim9: cannot ignore an item in assignment unpack.
Solution: Allow using an underscore.
|
|
|
|
|
| |
Problem: Vim9: no way to explicitly ignore an argument.
Solution: Use the underscore as the name for an ignored argument.
|
|
|
|
|
| |
Problem: Vim9: test fails for redeclaring script variable.
Solution: It's OK to assign to an existing script variable in legacy.
|
|
|
|
|
|
| |
Problem: Vim9: problem defining a script variable from legacy function.
Solution: Check if the script is Vim9, not the current syntax.
(closes #8032)
|
|
|
|
|
| |
Problem: Vim9: script-local funcref can have lower case name.
Solution: Require an upper case name.
|
|
|
|
|
| |
Problem: Vim9: no error for declaration with trailing text.
Solution: Give an error. (closes #8014)
|
|
|
|
|
| |
Problem: Vim9: no effect if user command is also a function.
Solution: Check for paren following. (closes #7960)
|
|
|
|
|
| |
Problem: Vim9: "import * as" does not work at script level.
Solution: Implement using an imported namespace.
|
|
|
|
|
|
| |
Problem: Vim9: crash in garbagecollect after for loop.
Solution: Do not set a reference in script item when the name was cleared.
(closes #7935)
|
|
|
|
|
| |
Problem: Vim9: no error if variable is defined for existing function.
Solution: Check if name isn't already in use. (closes #7897)
|
|
|
|
|
|
| |
Problem: Vim9: Function name is not recognized.
Solution: Change lookup_scriptvar() to also find function names.
(closes #7770)
|
|
|
|
|
| |
Problem: Vim9: cannot use a range with :unlet.
Solution: Implement ISN_UNLETRANGE.
|
|
|
|
|
| |
Problem: Build failure.
Solution: Change lookup_scriptvar() arguments.
|
|
|
|
|
| |
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes #7796)
|
|
|
|
|
|
| |
Problem: Vim9: error for wrong type may report wrong line number.
Solution: Save and restore the line number when evaluating the expression.
(closes #7727)
|
|
|
|
|
| |
Problem: No easy way to get the maximum or mininum number value.
Solution: Add v:numbermax and v:numbermin.
|
|
|
|
|
| |
Problem: Vim9: divide by zero does not abort expression execution.
Solution: Use a "failed" flag. (issue #7704)
|
|
|
|
|
| |
Problem: Confusing error message for wrong :let command.
Solution: Only check for type in Vim9 script.
|
|
|
|
|
|
| |
Problem: Vim9: crash when using types in :for with unpack.
Solution: Check for skip_var_list() failing. Pass include_type to
skip_var_one(). Skip type when compiling. (closes #7694)
|
|
|
|
|
|
| |
Problem: Expresison command line completion shows variables but not
functions after "g:". (Gary Johnson)
Solution: Prefix "g:" when needed to a global function.
|
|
|
|
|
|
| |
Problem: Vim9: wrong error when modifying dict declared with :final.
Solution: Do not check for writable variable when an index follows.
(closes #7657)
|
|
|
|
|
|
| |
Problem: Vim9: when using function reference type is not checked.
Solution: When using a function reference lookup the type and check the
argument types. (issue #7629)
|
|
|
|
|
| |
Problem: Vim9: cannot set 'number' to a boolean value.
Solution: Use tv_get_bool(). (closes #7615)
|
|
|
|
|
| |
Problem: Vim9: cannot use "null" for v:null.
Solution: Support "null" like "true" and "false". (closes #7495)
|
|
|
|
|
| |
Problem: Vim9: cannot set an option to a false.
Solution: For VAR_BOOL use string "0". (closes #7603)
|
|
|
|
|
| |
Problem: Vim9: cannot set an option to a boolean value.
Solution: Check for VAR_BOOL. (closes #7603)
|
|
|
|
|
|
| |
Problem: Vim9: extend() can violate the type of a variable.
Solution: Add the type to the dictionary or list and check items against it.
(closes #7593)
|
|
|
|
|
| |
Problem: Vim9: list unpack seen as declaration.
Solution: Check for "var". (closes #7594)
|
|
|
|
|
| |
Problem: Vim9: cannot use unlet for a dict member.
Solution: Pass GLV_NO_DECL to get_lval(). (closes #7585)
|
|
|
|
|
| |
Problem: Vim9: it can be hard to see where white space is missing.
Solution: Mention the text where the error was seen. (closes #7580)
|