Age | Commit message (Collapse) | Author |
|
Problem: Condition is always true.
Solution: Remove the useless condition. (closes #12253)
|
|
Problem: FOR_ALL_ macros are defined in an unexpected file.
Solution: Move FOR_ALL_ macros to macros.h. Add FOR_ALL_HASHTAB_ITEMS.
(Yegappan Lakshmanan, closes #12109)
|
|
Problem: Using sizeof() and subtract array size is tricky.
Solution: Use offsetof() instead. (closes #11926)
|
|
Problem: Error for space before ": type" is inconsistent.
Solution: Give E1059 in more places. (closes #11868)
|
|
Problem: Return value of type() for class and object unclear.
Solution: Add v:t_object and v:t_class.
|
|
Problem: Imported class does not work when used twice in a line.
Solution: Fix the type parsing.
|
|
Problem: Using class from imported script not tested.
Solution: Add tests. Implement what is missing.
|
|
Problem: Class "implements" argument not implemented.
Solution: Implement "implements" argument. Add basic checks for when a
class implements an interface.
|
|
Problem: Some conditions are always false.
Solution: Remove the useless conditions. (closes #11776)
|
|
Problem: Error message names do not match the items.
Solution: Add "_str" when the text contains "%s".
|
|
Problem: Code is indented more than needed.
Solution: Use an early return to reduce indentation. (Yegappan Lakshmanan,
closes #11769)
|
|
Problem: Vim9 class is not implemented yet.
Solution: Add very basic class support.
|
|
Problem: Callback name argument is changed by setqflist().
Solution: Use the expanded function name for the callback, do not store it
in the argument. (closes #11653)
|
|
Problem: Using one window for executing autocommands is insufficient.
Solution: Use up to five windows for executing autocommands.
|
|
Problem: Crash when unletting a variable while listing variables.
Solution: Disallow changing a hashtable while going over the entries.
(closes #11435)
|
|
Problem: No test for what patch 9.0.0827 fixes.
Solution: Add a test (still doesn't fail when fix is reverted).
|
|
Problem: In script in autoload dir exported variable is not found. (Doug
Kearns)
Solution: Find the variable with the "script#" prefix. (closes #11361)
|
|
Problem: No check for white space before and after "=<<". (Doug Kearns)
Solution: Check for white space in Vim9 script. (closes #11351)
|
|
Problem: Evaluating "expr" options has more overhead than needed.
Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
"expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
'formatexpr', 'indentexpr' and 'charconvert'.
|
|
Problem: Closure gets wrong value in for loop with two loop variables.
Solution: Correctly compute the number of loop variables to clear.
|
|
Problem: Loop variable can't be found.
Solution: Adjust block_id of the loop variable each round.
|
|
Problem: Trying to declare g:variable gives confusing error.
Solution: Give a better error message. (closes #11108)
|
|
Problem: Members of funccall_T are inconsistently named.
Solution: Use the "fc_" prefix for all members.
|
|
Problem: Clang static analyzer gives warnings.
Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #11043)
|
|
Problem: Check for uppercase char in autoload name is wrong, it checks the
name of the script.
Solution: Remove the check. (closes #11031)
|
|
Problem: A symlink to an autoload script results in two entries in the list
of scripts, items expected in one are actually in the other.
Solution: Have one script item refer to the actually sourced one.
(closes #10960)
|
|
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
|
|
Problem: Plugins cannot change v:completed_item.
Solution: Make v:completed_item writeable. (Shougo Matsushita,
closes #10801)
|
|
Problem: No error when assigning bool to a string option with setwinvar().
Solution: Give an error (closes #10766)
|
|
Problem: Switching window uneccarily when getting buffer options.
Solution: Do not switch window when getting buffer options. (closes #10767)
|
|
Problem: Functions are global while they could be local.
Solution: Add "static". Add a few tests. (Yegappan Lakshmanan,
closes #10612)
|
|
Problem: Gcc 12.1 warns for uninitialized variable.
Solution: Initialize the variable. (closes #10476)
|
|
Problem: String interpolation fails when not evaluating.
Solution: Skip the expression when not evaluating. (closes #10398)
|
|
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
|
|
Problem: String interpolation only works in heredoc.
Solution: Support interpolated strings. Use syntax for heredoc consistent
with strings, similar to C#. (closes #10327)
|
|
Problem: Duplicate code in "get" functions.
Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
and getbufvar(). (closes #10335)
|
|
Problem: Heredoc expression evaluated even when skipping.
Solution: Don't evaluate when "skip" is set. (closes #10306)
|
|
Problem: Expression in heredoc doesn't work for compiled function.
Solution: Implement compiling the heredoc expressions. (Yegappan Lakshmanan,
closes #10232)
|
|
Problem: Coverity warns for leaking memory.
Solution: Use another strategy freeing "theline".
|
|
Problem: Cannot easily mix expression and heredoc.
Solution: Support in heredoc. (Yegappan Lakshmanan, closes #10138)
|
|
Problem: Still using cached values after unsetting some known environment
variables.
Solution: Take care of the side effects. (closes #10194)
|
|
Problem: Error from setting an option is silently ignored.
Solution: Handle option value errors better. Fix uses of N_().
|
|
Problem: Vim9: script variable has no flag that it was set.
Solution: Add a flag that it was set, to avoid giving it a value when used.
(closes #10088)
|
|
Problem: Vim9: can use :unlockvar for const variable. (Ernie Rael)
Solution: Check whether the variable is a const.
|
|
Problem: No error for using out of range list index.
Solution: Check list index at script level like in compiled function.
(closes #10051)
|
|
Problem: Vim9: in :def function script var cannot be null.
Solution: Only initialize a script variable when not set to a null value.
(closes #10034)
|
|
Problem: Tests using null list or dict fail.
Solution: Only use the new rules for Vim9 script.
|
|
Problem: Vim9: cannot initialize a variable to null_list.
Solution: Give negative count to NEWLIST. (closes #10027)
Also fix inconsistencies in comparing with null values.
|
|
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix inconsistencies.
|
|
Problem: Vim9: cannot set variables to a null value.
Solution: Add null_list, null_job, etc.
|