aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
* refactor(eval): use tv_list_append_allocated_string()zeertzjq2023-04-19
|
* vim-patch:8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'zeertzjq2023-04-17
| | | | | | | | | Problem: Cannot use an import in the "expr" part of 'spellsuggest'. Solution: Set the script context when evaluating "expr" of 'spellsuggest'. https://github.com/vim/vim/commit/2a7aa834583dea157eccf3e69827d2ff1d9fe9c7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4193: cannot use an import in 'charconvert'zeertzjq2023-04-17
| | | | | | | | | | Problem: Cannot use an import in 'charconvert'. Solution: Set the script context when evaluating 'charconvert'. Also expand script-local functions in 'charconvert'. https://github.com/vim/vim/commit/f4e88f2152c5975a6f4cfa7ccd745575fe4d1c78 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4186: cannot use an import in 'patchexpr'zeertzjq2023-04-17
| | | | | | | | | | Problem: Cannot use an import in 'patchexpr'. Solution: Set the script context when evaluating 'patchexpr'. Do not require 'patchexpr' to return a bool, it was ignored anyway. https://github.com/vim/vim/commit/36c2add7f82bc5dbbfc45db31953ef9633c635b3 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4182: memory leak when evaluating 'diffexpr'zeertzjq2023-04-17
| | | | | | | | | Problem: Memory leak when evaluating 'diffexpr'. Solution: Use free_tv() instead of clear_tv(). https://github.com/vim/vim/commit/39b8944539a9cde553fe709e535fdfd37d0f9307 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4181: Vim9: cannot use an import in 'diffexpr'zeertzjq2023-04-17
| | | | | | | | | | Problem: Vim9: cannot use an import in 'diffexpr'. Solution: Set the script context when evaluating 'diffexpr'. Do not require 'diffexpr' to return a bool, it was ignored anyway. https://github.com/vim/vim/commit/7b29f6a3949743914f08410b6f6bd6237c2f2038 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1145: invalid memory access with recursive substitute ↵zeertzjq2023-04-16
| | | | | | | | | | expression (#23132) Problem: Invalid memory access with recursive substitute expression. Solution: Check the return value of vim_regsub(). https://github.com/vim/vim/commit/3ac1d97a1d9353490493d30088256360435f7731 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0398: members of funccall_T are inconsistently named (#23123)zeertzjq2023-04-16
| | | | | | | | Problem: Members of funccall_T are inconsistently named. Solution: Use the "fc_" prefix for all members. https://github.com/vim/vim/commit/ca16c60f337ed33d5dd66a6e90aaf95b619c5e47 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3783: confusing error for using a variable as a functionzeertzjq2023-04-16
| | | | | | | | | | Problem: Confusing error for using a variable as a function. Solution: If a function is not found but there is a variable, give a more useful error. (issue vim/vim#9310) https://github.com/vim/vim/commit/2ef9156b4284e4a52613c36e3d4667245273a28d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2978: warning for uninitialized variablezeertzjq2023-04-16
| | | | | | | | | Problem: Warning for uninitialized variable. Solution: Set return value to FAIL. https://github.com/vim/vim/commit/744aecf8777e86fac6d30f072e90e2de353b8ea1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2977: crash when using a null function referencezeertzjq2023-04-16
| | | | | | | | | Problem: Crash when using a null function reference. (Naohiro Ono) Solution: Check for an invalid function name. (closes vim/vim#8367) https://github.com/vim/vim/commit/22db0d549f64aa3d8a6e366b70eb8d7e66933b82 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2848: crash whn calling partialzeertzjq2023-04-16
| | | | | | | | | Problem: Crash whn calling partial. Solution: Check for NULL pointer. (Dominique Pellé, closes vim/vim#8202) https://github.com/vim/vim/commit/fe8ebdbe5c4e116311c0c0d5937b89ded5c92d01 Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
* refactor: deprecate checkhealth functionsdundargoc2023-04-15
| | | | | | | | | | | | | | | | | | | | | | | The following functions are deprecated and will be removed in Nvim v0.11: - health#report_start() - health#report_info() - health#report_ok() - health#report_warn() - health#report_error() - vim.health.report_start() - vim.health.report_info() - vim.health.report_ok() - vim.health.report_warn() - vim.health.report_error() Users should instead use these: - vim.health.start() - vim.health.info() - vim.health.ok() - vim.health.warn() - vim.health.error()
* vim-patch:9.0.0104: going beyond allocated memory when evaluating string ↵zeertzjq2023-04-15
| | | | | | | | | | | constant Problem: Going beyond allocated memory when evaluating string constant. Solution: Properly skip over <Key> form. https://github.com/vim/vim/commit/1e56bda9048a9625bce6e660938c834c5c15b07d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4934: string interpolation fails when not evaluatingzeertzjq2023-04-15
| | | | | | | | | Problem: String interpolation fails when not evaluating. Solution: Skip the expression when not evaluating. (closes vim/vim#10398) https://github.com/vim/vim/commit/70c41241c2701f26a99085e433925a206ca265a3 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4930: interpolated string expression requires escapingzeertzjq2023-04-15
| | | | | | | | | Problem: Interpolated string expression requires escaping. Solution: Do not require escaping in the expression. https://github.com/vim/vim/commit/0abc2871c105882ed1c1effb9a7757fad8a395bd Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4883: string interpolation only works in heredoczeertzjq2023-04-15
| | | | | | | | | | | | Problem: String interpolation only works in heredoc. Solution: Support interpolated strings. Use syntax for heredoc consistent with strings, similar to C#. (closes vim/vim#10327) https://github.com/vim/vim/commit/2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e Cherry-pick Test_Debugger_breakadd_expr() from Vim. Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:8.2.1378: cannot put space between function name and parenzeertzjq2023-04-15
| | | | | | | | | | | Problem: Cannot put space between function name and paren. Solution: Allow this for backwards compatibility. https://github.com/vim/vim/commit/bbd3e3c357487f7a5bdc704a819f63a7dd0dd66e This fixes a regression from patch 8.2.1365, which isn't ported yet. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3329: v_lock not set when getting value of environment variablezeertzjq2023-04-15
| | | | | | | | | Problem: v_lock not set when getting value of environment variable. Solution: Set v_lock to zero. https://github.com/vim/vim/commit/16e63e6d353c8b7337470644ceac02dc5e569db9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1014: using "name" for a string result is confusingzeertzjq2023-04-15
| | | | | | | | | Problem: Using "name" for a string result is confusing. Solution: Rename to "end". https://github.com/vim/vim/commit/1e0b7b11db61bd906266d3174fee0bbaf20a101f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.0634: crash with null partial and blobzeertzjq2023-04-15
| | | | | | | | | | Problem: Crash with null partial and blob. Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan, closes vim/vim#5984) https://github.com/vim/vim/commit/92b83ccfda7a1d654ccaaf161a9c8a8e01fbcf76 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.0633: crash when using null partial in filter()zeertzjq2023-04-15
| | | | | | | | | Problem: Crash when using null partial in filter(). Solution: Fix crash. Add more tests. (Yegappan Lakshmanan, closes vim/vim#5976) https://github.com/vim/vim/commit/9d8d0b5c644ea53364d04403740b3f23e57c1497 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1111: inconsistent naming of get_list_tv() and eval_dict() ↵zeertzjq2023-04-14
| | | | | | | | | | | (#23086) 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. https://github.com/vim/vim/commit/9a78e6df17033223ebdf499f2b02b2538601c52d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1452: code using EVAL_CONSTANT is dead, it is never setzeertzjq2023-04-14
| | | | | | | Problem: Code using EVAL_CONSTANT is dead, it is never set. Solution: Remove EVAL_CONSTANT. (closes vim/vim#12252) https://github.com/vim/vim/commit/b7f6f93475a3ad5c590a09a2577fd51590bea9e1
* vim-patch:8.2.1794: no falsy Coalescing operatorzeertzjq2023-04-14
| | | | | | | | | | | | Problem: No falsy Coalescing operator. Solution: Add the "??" operator. Fix mistake with function argument count. https://github.com/vim/vim/commit/92f26c256e06277ff2ec4ce7adea1eb58c85abe0 Cherry-pick tv2bool() into eval/typval.c. Cherry-pick *??* tag from Vim runtime. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1512: failure after trinary expression failszeertzjq2023-04-14
| | | | | | | | | Problem: Failure after trinary expression fails. Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes vim/vim#6776) https://github.com/vim/vim/commit/69e44552c567ff25b363ba0790ad3d43fa0397a7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1189: Vim9: line continuation in lambda doesn't always workzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: line continuation in lambda doesn't always work. Solution: Do not use a local evalarg unless there isn't one. (closes vim/vim#6439) https://github.com/vim/vim/commit/8af81d656a4c501611f6211b6379ea9dd650c545 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3216: Vim9: crash when using variable in a loop at script levelzeertzjq2023-04-14
| | | | | | | | | | | | | Problem: Vim9: crash when using variable in a loop at script level. Solution: Do not clear the variable if a function was defined. Do not create a new entry in sn_var_vals every time. (closes vim/vim#8628) https://github.com/vim/vim/commit/2eb6fc3b52148f961e804ec2be361d531ff770d8 Omit eval_cstack: Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1203: unused assignments in expression evaluationzeertzjq2023-04-14
| | | | | | | | | Problem: Unused assignments in expression evaluation. Solution: Move declarations and assignments to inner blocks where possible. https://github.com/vim/vim/commit/3ac9c4701a5f1e39303ca2885956db92215966db Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1161: Vim9: using freed memoryzeertzjq2023-04-14
| | | | | | | | | | | | | | | | | | | | Problem: Vim9: using freed memory. Solution: Put pointer back in evalarg instead of freeing it. https://github.com/vim/vim/commit/8e2730a315b8b06192f5fc822dc218dbb3cff7ae Omit eval_tofree_lambda: Vim9 script only. N/A patches for version.c: vim-patch:8.2.1163: build error Problem: Build error. Solution: Add missing change to globals. https://github.com/vim/vim/commit/6e13530ca03dd9cad245221177dd65f712211448 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1125: Vim9: double quote can be a string or a commentzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: double quote can be a string or a comment. Solution: Only support comments starting with # to avoid confusion. https://github.com/vim/vim/commit/962d7213194647e90f9bdc608f693d39dd07cbd5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1110: Vim9: line continuation does not work in function argumentszeertzjq2023-04-14
| | | | | | | | | | | | Problem: Vim9: line continuation does not work in function arguments. Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string as comment. https://github.com/vim/vim/commit/e6b5324e3a3d354363f3c48e784c42ce3e77453f Omit skipwhite_and_linebreak_keep_string(): Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1103: Coverity reports an unnecessary NULL checkzeertzjq2023-04-14
| | | | | | | | | Problem: Coverity reports an unnecessary NULL check. Solution: Remove the check for NULL. https://github.com/vim/vim/commit/e707c882b23a53d2c1f0d1f7fc3a7be247aca614 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1100: Vim9: cannot use line break in :execute argumentzeertzjq2023-04-14
| | | | | | | | | | Problem: Vim9: cannot use line break in :execute, :echomsg and :echoerr argument. Solution: Check for line break. https://github.com/vim/vim/commit/47e880d6c13c3ec2888398fd9ba1f5a7180d791a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1099: Vim9: cannot use line break in :cexpr argumentzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: cannot use line break in :cexpr argument. Solution: Check for line break. https://github.com/vim/vim/commit/37c837119579ff70b005a4e54c2e26ca42b74022 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1098: Vim9: cannot use line break in :throw argumentzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: cannot use line break in :throw argument. Solution: Check for line break. https://github.com/vim/vim/commit/006ad48b8a15c3bace741d8caaf3195e592fbe78 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1080: Vim9: no line break allowed in a for loopzeertzjq2023-04-14
| | | | | | | | | | | Problem: Vim9: no line break allowed in a for loop. Solution: Skip line breaks in for command. https://github.com/vim/vim/commit/b7a78f7a6713f07d2fcad0b27dea22925c7b1cdf Omit *_break_count and skip_for_lines(): Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1079: Vim9: no line break allowed in a while loopzeertzjq2023-04-14
| | | | | | | | | | | Problem: Vim9: no line break allowed in a while loop. Solution: Update stored loop lines when finding line breaks. https://github.com/vim/vim/commit/d5053d015a957b343ad9c9e45e0abd2978f10cf0 Omit getline_peek(): Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1076: Vim9: no line break allowed in :if expressionzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed in :if expression. Solution: Skip linebreak. https://github.com/vim/vim/commit/faf8626b79e380fe81e7ae2439a535ed7619d27b Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1075: Vim9: no line break allowed in :echo expressionzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed in :echo expression. Solution: Skip linebreak. https://github.com/vim/vim/commit/7e8967fdcdf45caf08753bb791dc3779e78b34c8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1074: Vim9: no line break allowed after some operatorszeertzjq2023-04-14
| | | | | | | | | | Problem: Vim9: no line break allowed after some operators. Solution: Skip a line break after the operator. Add eval_may_get_next_line() to simplify checking for a line break. https://github.com/vim/vim/commit/9215f01218b2ed2cfe49c1f43fcf342bd9ffdded Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1073: Vim9: no line break allowed in () expressionzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed in () expression. Solution: Skip a line break. https://github.com/vim/vim/commit/7a4981b93642b5b62018cd8150b3fb0dfa2417d4 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1071: Vim9: no line break allowed inside a lambdazeertzjq2023-04-14
| | | | | | | | | | | | Problem: Vim9: no line break allowed inside a lambda. Solution: Handle line break inside a lambda in Vim9 script. https://github.com/vim/vim/commit/e40fbc2ca9fda07332a4da5af1fcaba91bed865b Omit skip_expr_concatenate(). Apply the change to skip_expr() instead. Omit eval_ga: Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1069: Vim9: fail to check for white space in listzeertzjq2023-04-14
| | | | | | | | | | | | | | | | | | Problem: Vim9: fail to check for white space in list. Solution: Add check for white space. https://github.com/vim/vim/commit/e6e031739c9d0c4140e371031b58a249db0eb572 N/A patches for version.c: vim-patch:8.2.1070: Vim9: leaking memory when lacking white space in dict Problem: Vim9: leaking memory when lacking white space in dict. Solution: Clear the typval. https://github.com/vim/vim/commit/ab19d495fd880b25a38d58cbeb5b21e4d0ee5835 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1068: Vim9: no line break allowed inside a dictzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed inside a dict. Solution: Handle line break inside a dict in Vim9 script. https://github.com/vim/vim/commit/8ea9390b78da9e34a20e7418712921397c0c1989 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1065: Vim9: no line break allowed inside a listzeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed inside a list. Solution: Handle line break inside a list in Vim9 script. https://github.com/vim/vim/commit/7147820cb978f5b179cfec2f9d8b7774e28d43e0 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1064: Vim9: no line break allowed before comperatorszeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed before comperators. Solution: Check for comperator after line break. https://github.com/vim/vim/commit/e6536aa766e95b6c64489678eb029e6909ee6a35 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1063: Vim9: no line break allowed before || or &&zeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed before || or &&. Solution: Check for operator after line break. https://github.com/vim/vim/commit/be7ee488761a5582a5605197c3951a17f20d072e Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1062: Vim9: no line break allowed inside "cond ? val1 : val2"zeertzjq2023-04-14
| | | | | | | | | Problem: Vim9: no line break allowed inside "cond ? val1 : val2". Solution: Check for operator after line break. https://github.com/vim/vim/commit/793648fb563359396a23740c72a6e04cb64df3a9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1049: Vim9: leaking memory when using continuation linezeertzjq2023-04-14
| | | | | | | | | | | | | | | | | | | Problem: Vim9: leaking memory when using continuation line. Solution: Keep a pointer to the continuation line in evalarg_T. Centralize checking for a next command. https://github.com/vim/vim/commit/b171fb179053fa631fec74911b5fb9374cb6a8a1 Omit eval_next_line(): Vim9 script only. vim-patch:8.2.1050: missing change in struct Problem: Missing change in struct. Solution: Add missing change. https://github.com/vim/vim/commit/65a8ed37f7bc61fbe5c612a7b0eb0dfc16ad3e11 Co-authored-by: Bram Moolenaar <Bram@vim.org>