| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Cannot invoke option function using autoload import.
Solution: Expand the import to an autoload function name. (closes #9578)
|
|
|
|
|
|
| |
Problem: A script local funcref is not found from a mapping.
Solution: When looking for a function, also find a script-local funcref.
(closes #9485)
|
|
|
|
|
| |
Problem: Vim9: import mechanism is too complicated.
Solution: Do not use the Javascript mechanism but a much simpler one.
|
|
|
|
|
| |
Problem: Vim9: type check for using v: variables is basic.
Solution: Specify a more precise type.
|
|
|
|
|
| |
Problem: Vim9: for loop variable can be a list member.
Solution: Check for valid variable name. (closes #9179)
|
|
|
|
|
| |
Problem: Vim9: cannot redirect to local variable.
Solution: Compile :redir when redirecting to a variable.
|
|
|
|
|
| |
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: 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: Expresison command line completion shows variables but not
functions after "g:". (Gary Johnson)
Solution: Prefix "g:" when needed to a global function.
|
|
|
|
|
| |
Problem: Vim9: can change constant in :def function.
Solution: Check if a variable is locked. (issue #7526)
|
|
|
|
|
| |
Problem: Vim9: Cannot load or store autoload variables.
Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485)
|
|
|
|
|
|
| |
Problem: Vim9: crash when lambda uses same var as assignment.
Solution: Do not let lookup_local change lv_from_outer, make a copy.
(closes #7461)
|
|
|
|
|
| |
Problem: Vim9: variables at the script level escape their scope.
Solution: When leaving a scope remove variables declared in it.
|
|
|
|
|
| |
Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson)
Solution: Check the type if known.
|
|
|
|
|
|
| |
Problem: Vim9: using ":const!" is weird.
Solution: Use "var" - "final" - "const" like Dart. "let" still works for
now.
|
|
|
|
|
| |
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: 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: Cannot use a lambda with quickfix functions.
Solution: Add support for lambda. (Yegappan Lakshmanan, closes #6499)
|
|
|
|
|
|
| |
Problem: Inconsistent naming of get_list_tv() and eval_dict().
Solution: Rename get_list_tv() to eval_list(). Similarly for eval_number(),
eval_string(), eval_lit_string() and a few others.
|
|
|
|
|
| |
Problem: Vim9: cannot compile "[var, var] = list".
Solution: Implement list assignment.
|
|
|
|
|
| |
Problem: Duplicate code for evaluating expression argument.
Solution: Merge the code and make the use more flexible.
|
|
|
|
|
| |
Problem: Search() cannot skip over matches like searchpair() can.
Solution: Add an optional "skip" argument. (Christian Brabandt, closes #861)
|
|
|
|
|
| |
Problem: Code for resetting v:register is duplicated.
Solution: Add reset_reg_var().
|
|
|
|
|
| |
Problem: Vim9: code left over from discovery phase.
Solution: Remove the dead code.
|
|
|
|
|
|
| |
Problem: Vim9: using a discovery phase doesn't work well.
Solution: Remove the discovery phase, instead compile a function only when
it is used. Add :defcompile to compile def functions earlier.
|
|
|
|
|
| |
Problem: Vim9: cannot call a function declared later in Vim9 script.
Solution: Make two passes through the script file.
|
|
|
|
|
| |
Problem: Vim9: no support for closures.
Solution: Do not re-use stack entries.
|
|
|
|
|
| |
Problem: Vim9: :unlet is not compiled.
Solution: Implement :unlet instruction and check for errors.
|
|
|
|
|
|
| |
Problem: Heredoc for interfaces does not support "trim".
Solution: Update the script heredoc support to be same as the :let command.
(Yegappan Lakshmanan, closes #5916)
|
|
|
|
|
| |
Problem: Vim9: some compilation code not tested.
Solution: Add more test cases.
|
|
|
|
|
| |
Problem: Several global functions are used in only one file.
Solution: Make the functions static. (Yegappan Lakshmanan, closes #5884)
|
|
|
|
|
|
| |
Problem: Vim9 script commands not sufficiently tested.
Solution: Add more tests. Fix storing global variable. Make script
variables work.
|
|
|
|
|
| |
Problem: Maintaining a Vim9 branch separately is more work.
Solution: Merge the Vim9 script changes.
|
|
|
|
|
| |
Problem: Cannot get the Vim command line arguments.
Solution: Add v:argv. (Dmitri Vereshchagin, closes #1322)
|
|
|
|
|
|
|
| |
Problem: The evalfunc.c file is still too big.
Solution: Move f_pathshorten() to filepath.c. Move f_cscope_connection() to
if_cscope.c. Move diff_ functions to diff.c. Move timer_
functions to ex_cmds2.c. move callback functions to evalvars.c.
|
|
|
|
|
| |
Problem: Code for handling file names is spread out.
Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME.
|
|
|
|
|
|
| |
Problem: More code can be moved to evalvars.c.
Solution: Move code to where it fits better. (Yegappan Lakshmanan,
closes #4883)
|
|
|
|
|
|
| |
Problem: More code can be moved to evalvars.c.
Solution: Move it, clean up comments. Also move some window related
functions to window.c. (Yegappan Lakshmanan, closes #4874)
|
|
|
|
|
| |
Problem: Script tests fail.
Solution: Don't set vimvars type in set_vim_var_nr().
|
|
|
|
|
|
| |
Problem: Code for handling v: variables in generic eval file.
Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan,
closes #4872)
|
|
Problem: The eval.c file is too big.
Solution: Move code related to variables to evalvars.c. (Yegappan
Lakshmanan, closes #4868)
|