Age | Commit message (Collapse) | Author |
|
Problem: Checks for Dictionary argument often give a vague error message.
Solution: Give a useful error message. (Yegappan Lakshmanan, closes #11009)
|
|
Problem: Cannot use items() on a string.
Solution: Make items() work on a string. (closes #11016)
|
|
Problem: items() does not work on a list. (Sergey Vlasov)
Solution: Make items() work on a list. (closes #11013)
|
|
Problem: Too many type casts for dict_get functions.
Solution: Change the key argument from "char_u *" to "char *".
|
|
Problem: Some functions return a different value on failure.
Solution: Initialize the return value earlier. (Yegappan Lakshmanan,
closes #10568)
|
|
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
|
|
Problem: Verbose check with dict_find() to see if a key is present.
Solution: Add dict_has_key(). (Yegappan Lakshmanan, closes #10074)
|
|
Problem: Vim9: type error for copy of dict.
Solution: Do not use dict<any> but no type. (closes #9696)
|
|
Problem: Vim9: strict type checking after copy() and deepcopy().
Solution: Allow type to change after making a copy. (closes #9644)
|
|
Problem: Using int for second argument of ga_init2().
Solution: Remove unnessary type cast (int) when using sizeof().
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Vim9: not enough testing for extend() and map().
Solution: Add more test cases. Fix uncovered problems. Remove unused type
fields.
|
|
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: 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: gcc complains about buffer overrun.
Solution: Use mch_memmove() instead of STRCPY(). (John Marriott)
|
|
Problem: List.c contains code for dict and blob.
Solution: Refactor to put code where it belongs. (Yegappan Lakshmanan,
closes #9386)
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: First key in dict is seen as curly expression and fails.
Solution: Ignore failure of curly expression. (closes #9247)
|
|
Problem: Vim9: for loop variable can be a list member.
Solution: Check for valid variable name. (closes #9179)
|
|
Problem: Using uninitialized memory with "let g:['bar'] = 2".
Solution: Initialize v_type of a new dict item.
|
|
Problem: Vim9: not enough tests run with Vim9.
Solution: Run a few more tests in Vim9 script and :def function. Fix that
items(), keys() and values9) return zero for a NULL dict.
Make join() return an empty string for a NULL list. Make sort()
return an empty list for a NULL list.
|
|
Problem: Some local functions are not static.
Solution: Add "static". Move snprintf() related code to strings.c.
(Yegappan Lakshmanan, closes #8734)
|
|
Problem: Vim9: runtime and compile time type checks are not the same.
Solution: Add more runtime type checks for builtin functions. (Yegappan
Lakshmanan, closes #8646)
|
|
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8611)
|
|
Problem: Vim9: hard to guess where a type error is given.
Solution: Add the function name where possible. (closes #8608)
|
|
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks, also at runtime. (Yegappan
Lakshmanan, closes #8587)
|
|
Problem: E704 for script local variable is not backwards compatible.
(Yasuhiro Matsumoto)
Solution: Only give the error in Vim9 script. Also check for function-local
variable.
|
|
Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto)
Solution: Check the key when using extend(). (issue #8302)
|
|
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes #7796)
|
|
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
|
|
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
|
|
Problem: Vim9: key type that can be used for literal dict and indexing is
inconsistent.
Solution: Allow using number and bool as key for a literal dict. (#7771)
|
|
Problem: Vim9: error message when script line starts with "[{".
Solution: Do not give an error for checking for end of list.
|
|
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: Cannot load or store autoload variables.
Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485)
|
|
Problem: Vim9: automatic conversion of number to string for dict key.
Solution: Do not convert number to string. (closes #7474)
|
|
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: dict does not accept a key in quotes.
Solution: Recognize a key in single or double quotes.
|
|
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405)
|
|
Problem: Missing part of the dict change.
Solution: Also change the script level dict.
|
|
Problem: Various comments can be improved.
Solution: Various comment adjustments.
|
|
Problem: Vim9: errornous error for missing white space after {}.
Solution: Don't skip over white space after {}. (issue #7167)
|
|
Problem: Vim9: no specific error when parsing lambda fails.
Solution: Also give syntax errors when not evaluating. (closes #7154)
|
|
Problem: Compiler warning for strcp() out of bounds. (Christian Brabandt)
Solution: use memmove() instead.
|
|
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
|
|
Problem: Vim9: white space checks are only done for a :def function.
Solution: Also do checks at the script level. Adjust the name of a few
error messages.
|
|
Problem: Vim9: cannot use "true" for some popup options.
Solution: Add dict_get_bool(). (closes #6725)
|
|
Problem: Error messages are spread out and names can be confusing.
Solution: Start moving error messages to a separate file and use clear
names.
|