Age | Commit message (Collapse) | Author |
|
Problem: Vim9: using ":const!" is weird.
Solution: Use "var" - "final" - "const" like Dart. "let" still works for
now.
|
|
Problem: Vim9: cannot use += to append to empty NULL list.
Solution: Copy the list instead of extending it. (closes #6998)
|
|
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
|
|
Problem: Vim9: cannot declare a constant value.
Solution: Introduce ":const!".
|
|
Problem: v_lock is used when it is not initialized. (Yegappan Lakshmanan)
Solution: Initialize the typval in eval1().
|
|
Problem: Vim9: stray error for missing white space.
Solution: Do not skip over white space after member. (closes #6817)
|
|
Problem: Vim9: result of && and || expression cannot be assigned to a bool
at the script level.
Solution: Add the VAR_BOOL_OK flag. Convert to bool when needed.
|
|
Problem: Using NULL pointers in some code. (James McCoy)
Solution: Avoid adding to a NULL pointer. Use byte as unsigned.
|
|
Problem: Vim9: error for argument type does not mention the number.
Solution: Pass the argument number to where the error is given.
|
|
Problem: Compiler warning for conversion of size_t to long.
Solution: Add type cast.
|
|
Problem: No longer get an error for string concatenation with float.
(Tsuyoshi Cho)
Solution: Only convert float for Vim9 script. (closes #6787)
|
|
Problem: Failure after trinary expression fails.
Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes #6776)
|
|
Problem: Using malloc() directly.
Solution: Use ALLOC_ONE(). Remove superfluous typecast. (Hussam al-Homsi,
closes #6768)
|
|
Problem: Vim9: error when using "$" with col().
Solution: Reorder getting the column value. (closes #6744)
|
|
Problem: Missing change to calling eval_getline().
Solution: Change last argument.
|
|
Problem: Vim9: crash when using a nested lambda.
Solution: Do not clear the growarray when not evaluating. Correct pointer
when getting the next line. (closes #6731)
|
|
Problem: Vim9: skip expression in search() gives error.
Solution: use tv_get_bool() eval_expr_to_bool(). (closes #6729)
|
|
Problem: Items in a list given to :const can still be modified.
Solution: Work like ":lockvar! name" but don't lock referenced items.
Make locking a blob work.
|
|
Problem: Vim9: invalid error for missing white space.
Solution: Don't skip over white space after index. (closes #6718)
|
|
Problem: Vim9: cannot index or slice a variable with type "any".
Solution: Add runtime index and slice.
|
|
Problem: Vim9: subscript not handled properly.
Solution: Adjust error message. Remove dead code. Disallow string to
number conversion in scripts.
|
|
Problem: Vim9: list slice not supported yet.
Solution: Add support for list slicing.
|
|
Problem: Vim9: string slice not supported yet.
Solution: Add support for string slicing.
|
|
Problem: Vim9: string indexes are counted in bytes.
Solution: Use character indexes. (closes #6574)
|
|
Problem: Error messages are spread out.
Solution: Move more messages into errors.h.
|
|
Problem: Vim9: 'statusline' is evaluated using Vim9 script syntax.
Solution: Always use legacy script syntax.
|
|
Problem: Vim9: always converting to string for ".." leads to mistakes.
Solution: Only automatically convert simple types.
|
|
Problem: Vim9: boolean evaluation does not work as intended.
Solution: Use tv2bool() in Vim9 script. (closes #6681)
|
|
Problem: Vim: not operator does not result in boolean.
Solution: Make type depend on operator. (issue 6678) Fix using "false" and
"true" in Vim9 script.
|
|
Problem: Vim9: no error if declaring a funcref with a lower case letter.
Solution: Check the name after the type is inferred. Fix confusing name.
|
|
Problem: Vim9: cannot assign to single letter variable with type.
Solution: Exclude the colon from the variable name. (closes #6647)
|
|
Problem: Cannot put space between function name and paren.
Solution: Allow this for backwards compatibility.
|
|
Problem: Vim9: no error for missing white space around operator.
Solution: Check for white space around ? and :.
|
|
Problem: Vim9: no error for missing white space around operator.
Solution: Check for white space around && and ||.
|
|
Problem: Vim9: no error for missing white space around operator.
Solution: Check for white space around <, !=, etc.
|
|
Problem: Vim9: no error for missing white space around operator.
Solution: Check for white space around *, / and %.
|
|
Problem: Vim9: no error for missing white space around operator.
Solution: Check for white space. (closes #6618)
|
|
Problem: Error for white space after expression in assignment.
Solution: Skip over white space. (closes #6617)
|
|
Problem: Stray error for white space after expression.
Solution: Ignore trailing white space. (closes #6608)
|
|
Problem: Vim9: skipping over white space after list.
Solution: Do not skip white space, a following [] would be misinterpreted.
(closes #6552) Fix a few side effects.
|
|
Problem: Vim9: invalid operators only rejected in :def function.
Solution: Also reject them at script level. (closes #6564)
|
|
Problem: Checking for first character of dict key is inconsistent.
Solution: Add eval_isdictc(). (closes #6546)
|
|
Problem: The "trailing characters" error can be hard to understand.
Solution: Add the trailing characters to the message.
|
|
Problem: Vim9: no error for missing white space in assignment at script
level.
Solution: Check for white space. (closes #6495)
|
|
Problem: Vim9: type not checked if declaration also assigns value.
Solution: Check the type. (issue #6507)
|
|
Problem: Vim9: comperators use 'ignorecase' in Vim9 script.
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
(closes #6497)
|
|
Problem: Vim9: cannot have a comment or empty line halfway a list at script
level.
Solution: Skip more than one line if needed.
|
|
Problem: Vim9: && and || work different when not compiled.
Solution: Keep the value.
|
|
Problem: Vim9: true and false not recognized in Vim9 script.
Solution: Recognize true and false.
|
|
Problem: Unused assignments in expression evaluation.
Solution: Move declarations and assignments to inner blocks where possible.
|