summaryrefslogtreecommitdiffstats
path: root/src/evalvars.c
AgeCommit message (Collapse)Author
2022-10-01patch 9.0.0634: evaluating "expr" options has more overhead than neededv9.0.0634Bram Moolenaar
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'.
2022-09-21patch 9.0.0535: closure gets wrong value in for loop with two loop variablesv9.0.0535Bram Moolenaar
Problem: Closure gets wrong value in for loop with two loop variables. Solution: Correctly compute the number of loop variables to clear.
2022-09-14patch 9.0.0460: loop variable can't be foundv9.0.0460Bram Moolenaar
Problem: Loop variable can't be found. Solution: Adjust block_id of the loop variable each round.
2022-09-11patch 9.0.0444: trying to declare g:variable gives confusing errorv9.0.0444Bram Moolenaar
Problem: Trying to declare g:variable gives confusing error. Solution: Give a better error message. (closes #11108)
2022-09-06patch 9.0.0398: members of funccall_T are inconsistently namedv9.0.0398Bram Moolenaar
Problem: Members of funccall_T are inconsistently named. Solution: Use the "fc_" prefix for all members.
2022-09-03patch 9.0.0364: clang static analyzer gives warningsv9.0.0364Yegappan Lakshmanan
Problem: Clang static analyzer gives warnings. Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #11043)
2022-09-02patch 9.0.0355: check for uppercase char in autoload name is wrongv9.0.0355thinca
Problem: Check for uppercase char in autoload name is wrong, it checks the name of the script. Solution: Remove the check. (closes #11031)
2022-08-24patch 9.0.0253: a symlink to an autoload script results in two entriesv9.0.0253Bram Moolenaar
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)
2022-08-14patch 9.0.0206: redraw flags are not named specificallyv9.0.0206Bram Moolenaar
Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen().
2022-07-27patch 9.0.0092: plugins cannot change v:completed_itemv9.0.0092Shougo Matsushita
Problem: Plugins cannot change v:completed_item. Solution: Make v:completed_item writeable. (Shougo Matsushita, closes #10801)
2022-07-27patch 9.0.0090: no error when assigning bool to a string optionv9.0.0090Bram Moolenaar
Problem: No error when assigning bool to a string option with setwinvar(). Solution: Give an error (closes #10766)
2022-07-25patch 9.0.0066: switching window uneccarily when getting buffer optionsv9.0.0066zeertzjq
Problem: Switching window uneccarily when getting buffer options. Solution: Do not switch window when getting buffer options. (closes #10767)
2022-06-29patch 9.0.0003: functions are global while they could be localv9.0.0003Yegappan Lakshmanan
Problem: Functions are global while they could be local. Solution: Add "static". Add a few tests. (Yegappan Lakshmanan, closes #10612)
2022-05-25patch 8.2.5017: gcc 12.1 warns for uninitialized variablev8.2.5017mityu
Problem: Gcc 12.1 warns for uninitialized variable. Solution: Initialize the variable. (closes #10476)
2022-05-10patch 8.2.4934: string interpolation fails when not evaluatingv8.2.4934Bram Moolenaar
Problem: String interpolation fails when not evaluating. Solution: Skip the expression when not evaluating. (closes #10398)
2022-05-10patch 8.2.4930: interpolated string expression requires escapingv8.2.4930Bram Moolenaar
Problem: Interpolated string expression requires escaping. Solution: Do not require escaping in the expression.
2022-05-06patch 8.2.4883: string interpolation only works in heredocv8.2.4883LemonBoy
Problem: String interpolation only works in heredoc. Solution: Support interpolated strings. Use syntax for heredoc consistent with strings, similar to C#. (closes #10327)
2022-05-04patch 8.2.4866: duplicate code in "get" functionsv8.2.4866LemonBoy
Problem: Duplicate code in "get" functions. Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar() and getbufvar(). (closes #10335)
2022-04-28patch 8.2.4840: heredoc expression evaluated even when skippingv8.2.4840Bram Moolenaar
Problem: Heredoc expression evaluated even when skipping. Solution: Don't evaluate when "skip" is set. (closes #10306)
2022-04-21patch 8.2.4804: expression in heredoc doesn't work for compiled functionv8.2.4804Yegappan Lakshmanan
Problem: Expression in heredoc doesn't work for compiled function. Solution: Implement compiling the heredoc expressions. (Yegappan Lakshmanan, closes #10232)
2022-04-18patch 8.2.4783: Coverity warns for leaking memoryv8.2.4783Bram Moolenaar
Problem: Coverity warns for leaking memory. Solution: Use another strategy freeing "theline".
2022-04-17patch 8.2.4770: cannot easily mix expression and heredocv8.2.4770Yegappan Lakshmanan
Problem: Cannot easily mix expression and heredoc. Solution: Support in heredoc. (Yegappan Lakshmanan, closes #10138)
2022-04-15patch 8.2.4754: using cached values after unsetting some environment variablesv8.2.4754LemonBoy
Problem: Still using cached values after unsetting some known environment variables. Solution: Take care of the side effects. (closes #10194)
2022-04-15patch 8.2.4753: error from setting an option is silently ignoredv8.2.4753Bram Moolenaar
Problem: Error from setting an option is silently ignored. Solution: Handle option value errors better. Fix uses of N_().
2022-04-05patch 8.2.4698: Vim9: script variable has no flag that it was setv8.2.4698Bram Moolenaar
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)
2022-04-04patch 8.2.4682: Vim9: can use :unlockvar for const variablev8.2.4682Bram Moolenaar
Problem: Vim9: can use :unlockvar for const variable. (Ernie Rael) Solution: Check whether the variable is a const.
2022-04-01patch 8.2.4662: no error for using out of range list indexv8.2.4662Bram Moolenaar
Problem: No error for using out of range list index. Solution: Check list index at script level like in compiled function. (closes #10051)
2022-03-28patch 8.2.4642: Vim9: in :def function script var cannot be nullv8.2.4642Bram Moolenaar
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)
2022-03-27patch 8.2.4635: tests using null list or dict failv8.2.4635Bram Moolenaar
Problem: Tests using null list or dict fail. Solution: Only use the new rules for Vim9 script.
2022-03-27patch 8.2.4634: Vim9: cannot initialize a variable to null_listv8.2.4634Bram Moolenaar
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.
2022-03-20patch 8.2.4600: Vim9: not enough test coverage for executing :def functionv8.2.4600Bram Moolenaar
Problem: Vim9: not enough test coverage for executing :def function. Solution: Add a few more tests. Fix inconsistencies.
2022-03-08patch 8.2.4526: Vim9: cannot set variables to a null valuev8.2.4526Bram Moolenaar
Problem: Vim9: cannot set variables to a null value. Solution: Add null_list, null_job, etc.
2022-03-05patch 8.2.4510: Vim9: shortening commands leads to confusing scriptv8.2.4510Bram Moolenaar
Problem: Vim9: shortening commands leads to confusing script. Solution: In Vim9 script require at least ":cont" for ":continue", "const" instead of "cons", "break" instead of "brea", "catch" instead of "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor" instead of "endfo" "endif" instead of "en" "endtry" instead of "endt", "finally" instead of "fina", "throw" instead of "th", "while" instead of "wh".
2022-03-05patch 8.2.4509: Vim9: can declare a variable with ":va"v8.2.4509Bram Moolenaar
Problem: Vim9: can declare a variable with ":va". Solution: Disallow using ":va", require using ":var".
2022-03-05patch 8.2.4508: Vim9: cannot assign to a global variable on the command linev8.2.4508Bram Moolenaar
Problem: Vim9: cannot assign to a global variable on the command line. Solution: Allow using :vim9cmd for assignment on the command line.
2022-03-03patch 8.2.4500: Vim9: can declare a global variable on the command linev8.2.4500Bram Moolenaar
Problem: Vim9: can declare a global variable on the command line. Solution: Disallow declaring a variable on the command line. (closes #9881)
2022-03-02patch 8.2.4492: no error if an option is given a value with ":let &opt = val"v8.2.4492Bram Moolenaar
Problem: No error if an option is given an invalid value with ":let &opt = val". Solution: Give the error. (closes #9864)
2022-03-01patch 8.2.4487: Vim9: cannot compare with v:nullv8.2.4487Bram Moolenaar
Problem: Vim9: cannot compare with v:null. Solution: Allow comparing anything with v:null. (closes #9866)
2022-02-21patch 8.2.4431: unnecessary condition when assigning to a variablev8.2.4431Bram Moolenaar
Problem: Unnecessary condition when assigning to a variable. Solution: Remove the condition.
2022-02-20patch 8.2.4428: crash when switching tabpage while in the cmdline windowv8.2.4428Bram Moolenaar
Problem: Crash when switching tabpage while in the cmdline window. Solution: Disallow switching tabpage when in the cmdline window.
2022-02-15patch 8.2.4395: some code lines not covered by testsv8.2.4395Bram Moolenaar
Problem: Some code lines not covered by tests. Solution: Add a few more test cases. Fix getting more than one error for invalid assignment.
2022-02-13patch 8.2.4375: ctx_imports is not usedv8.2.4375Bram Moolenaar
Problem: ctx_imports is not used. Solution: Delete ctx_imports. Add missing dependency.
2022-02-13patch 8.2.4371: Vim9: can create a script variable from a legacy functionv8.2.4371Bram Moolenaar
Problem: Vim9: can create a script variable from a legacy function. Solution: Disallow creating a script variable from a function.
2022-02-07patch 8.2.4318: various comment and indent mistakes, returning wrong zerov8.2.4318Bram Moolenaar
Problem: Various comment and indent mistakes, returning wrong zero. Solution: Fix the mistakes. Return NULL instead of FAIL.
2022-02-02patch 8.2.4286: Vim9: strict type checking after copy() and deepcopy()v8.2.4286Bram Moolenaar
Problem: Vim9: strict type checking after copy() and deepcopy(). Solution: Allow type to change after making a copy. (closes #9644)
2022-01-30patch 8.2.4260: Vim9: can still use a global function without g:v8.2.4260Bram Moolenaar
Problem: Vim9: can still use a global function without g: at the script level. Solution: Also check for g: at the script level. (issue #9637)
2022-01-26patch 8.2.4225: Vim9: depth argument of :lockvar not parsed in :def functionv8.2.4225Bram Moolenaar
Problem: Vim9: depth argument of :lockvar not parsed in :def function. Solution: Parse the optional depth argument. (closes #9629) Fix that locking doesn't work for a non-materialize list.
2022-01-24patch 8.2.4209: partial in 'opfunc' cannot use an imported functionv8.2.4209Bram Moolenaar
Problem: partial in 'opfunc' cannot use an imported function. Solution: Also expand the function name in a partial. (closes #9614)
2022-01-23patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'v8.2.4197Bram Moolenaar
Problem: Cannot use an import in the "expr" part of 'spellsuggest'. Solution: Set the script context when evaluating "expr" of 'spellsuggest'.
2022-01-23patch 8.2.4193: cannot use an import in 'charconvert'v8.2.4193Bram Moolenaar
Problem: Cannot use an import in 'charconvert'. Solution: Set the script context when evaluating 'charconvert'. Also expand script-local functions in 'charconvert'.