summaryrefslogtreecommitdiff
path: root/src/eval.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.3650: Vim9: for loop variable can be a list memberv8.2.3650Bram Moolenaar2021-11-221-1/+1
| | | | | Problem: Vim9: for loop variable can be a list member. Solution: Check for valid variable name. (closes #9179)
* patch 8.2.3560: using freed memory with lambdav8.2.3560Bram Moolenaar2021-10-231-7/+16
| | | | | | Problem: Using freed memory with lambda. Solution: Do not free lines early, keep them until the expression is finished.
* patch 8.2.3418: garbage collection while evaluating may cause troublev8.2.3418Christian Brabandt2021-09-091-0/+3
| | | | | | Problem: Garbage collection while evaluating may cause trouble. Solution: Disable garbage collection while evaluating an expression. (Christian Brabandt, issue #8848)
* patch 8.2.3370: Vim9: no check for white space before type in declarationv8.2.3370Bram Moolenaar2021-08-231-1/+7
| | | | | | Problem: Vim9: no check for white space before type in declaration. (Naohiro Ono) Solution: Check for white space like in a compiled function. (closes #8785)
* patch 8.2.3347: check for legacy script is incompletev8.2.3347Bram Moolenaar2021-08-151-4/+3
| | | | | | Problem: Check for legacy script is incomplete. (Naohiro Ono) Solution: Also check the :legacy modifier. Use for string concatenation with "." and others (issue #8756)
* patch 8.2.3346: Vim9: no error for using "." for concatenation after ":vim9cmd"v8.2.3346Bram Moolenaar2021-08-141-1/+2
| | | | | | Problem: Vim9: no error for using "." for concatenation after ":vim9cmd". (Naohiro Ono) Solution: Check for Vim9 script syntax. (closes #8756)
* patch 8.2.3340: accessing uninitialized pointerv8.2.3340Bram Moolenaar2021-08-131-0/+2
| | | | | Problem: Accessing uninitialized pointer. Solution: Set pointer to NULL.
* patch 8.2.3339: Vim9: cannot lock a member in a local dictv8.2.3339Bram Moolenaar2021-08-131-11/+19
| | | | | Problem: Vim9: cannot lock a member in a local dict. Solution: Get the local dict from the stack and pass it to get_lval().
* patch 8.2.3332: Vim9: cannot assign to range in listv8.2.3332Bram Moolenaar2021-08-111-89/+9
| | | | | Problem: Vim9: cannot assign to range in list. Solution: Implement overwriting a list range.
* patch 8.2.3297: cannot use all commands inside a {} blockv8.2.3297Bram Moolenaar2021-08-051-3/+3
| | | | | | Problem: Cannot use all commands inside a {} block after :command and :autocmd. Solution: Do consider \n to separate commands. (closes #8620)
* patch 8.2.3284: no error for insert() or remove() changing a locked blobv8.2.3284Sean Dewar2021-08-041-1/+1
| | | | | | Problem: No error for insert() or remove() changing a locked blob. Solution: Check a blob is not locked before changing it. (Sean Dewar, closes #8696)
* patch 8.2.3264: Vim9: assign test failsv8.2.3264Bram Moolenaar2021-08-011-2/+4
| | | | | Problem: Vim9: assign test fails. Solution: Add missing change.
* patch 8.2.3249: Vim9: error for re-imported function with default argumentv8.2.3249Bram Moolenaar2021-07-291-1/+1
| | | | | Problem: Vim9: error for re-imported function with default argument. Solution: Do not check argument type if it is still unknown. (closes #8653)
* patch 8.2.3229: Vim9: runtime and compile time type checks are not the samev8.2.3229Yegappan Lakshmanan2021-07-271-2/+2
| | | | | | 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)
* patch 8.2.3224: cannot call script-local function after :vim9cmdv8.2.3224Bram Moolenaar2021-07-261-1/+2
| | | | | | Problem: Cannot call script-local function after :vim9cmd. (Christian J. Robinson) Solution: Skip over "<SNR>123".
* patch 8.2.3216: Vim9: crash when using variable in a loop at script levelv8.2.3216Bram Moolenaar2021-07-251-3/+7
| | | | | | | 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 #8628)
* patch 8.2.3201: crash in testv8.2.3201Bram Moolenaar2021-07-221-2/+1
| | | | | Problem: Crash in test. Solution: Initialize "where".
* patch 8.2.3200: Vim9: hard to guess where a type error is givenv8.2.3200Bram Moolenaar2021-07-221-3/+4
| | | | | Problem: Vim9: hard to guess where a type error is given. Solution: Add the function name where possible. (closes #8608)
* patch 8.2.3188: Vim9: argument types are not checked at compile timev8.2.3188Yegappan Lakshmanan2021-07-201-0/+9
| | | | | | Problem: Vim9: argument types are not checked at compile time. Solution: Add several more type checks, also at runtime. (Yegappan Lakshmanan, closes #8587)
* patch 8.2.3179: Vim9: cannot assign to an imported variable at script levelv8.2.3179Bram Moolenaar2021-07-181-1/+2
| | | | | Problem: Vim9: cannot assign to an imported variable at script level. Solution: Lookup imported items when assigning.
* patch 8.2.3177: Vim9: can not use "for _ in expr" at script levelv8.2.3177Bram Moolenaar2021-07-181-2/+12
| | | | | Problem: Vim9: can not use "for _ in expr" at script level. Solution: Skip assignment if the loop variable is "_".
* patch 8.2.3175: Vim9: using illegal pointer with nested lambdas.v8.2.3175Bram Moolenaar2021-07-181-0/+5
| | | | | | Problem: Vim9: using illegal pointer with inline function inside a lambda. Solution: Clear eval_tofree_cmdline when advancing to the next line. (closes #8578)
* patch 8.2.3146: Vim9: line number wrong for :execute argumentv8.2.3146Bram Moolenaar2021-07-111-0/+4
| | | | | Problem: Vim9: line number wrong for :execute argument. Solution: Use the line number of the :execute command itself. (closes #8537)
* patch 8.2.3144: Vim9: no error when using an invalid value for a line numberv8.2.3144Bram Moolenaar2021-07-111-0/+2
| | | | | | Problem: Vim9: no error when using an invalid value for a line number. Solution: Give an error if the string value is not recognized. (closes #8536)
* patch 8.2.3139: functions for string manipulation are spread outv8.2.3139Yegappan Lakshmanan2021-07-101-46/+3
| | | | | | Problem: Functions for string manipulation are spread out. Solution: Move string related functions to a new source file. (Yegappan Lakshmanan, closes #8470)
* patch 8.2.3129: Vim9: imported uninitialized list does not get type checkedv8.2.3129Bram Moolenaar2021-07-081-1/+1
| | | | | Problem: Vim9: imported uninitialized list does not get type checked. Solution: Get type from imported variable.
* patch 8.2.3128: Vim9: uninitialzed list does not get type checkedv8.2.3128Bram Moolenaar2021-07-081-1/+1
| | | | | Problem: Vim9: uninitialzed list does not get type checked. Solution: Set the type when initializing the variable. (closes #8529)
* patch 8.2.3113: no error when for loop variable shadows script variablev8.2.3113Bram Moolenaar2021-07-051-1/+6
| | | | | Problem: No error when for loop variable shadows script variable. Solution: Check for the error. (closes #8512)
* patch 8.2.3111: Vim9: confusing error with extra whitespace before colonv8.2.3111Bram Moolenaar2021-07-051-4/+9
| | | | | Problem: Vim9: confusing error with extra whitespace before colon. Solution: Check for colon after white space. (closes #8513)
* patch 8.2.3069: error messages are spread outv8.2.3069Bram Moolenaar2021-06-271-8/+8
| | | | | Problem: Error messages are spread out. Solution: Move some error messages to errors.h. Use clearer names.
* patch 8.2.3064: Vim9: in script cannot set item in uninitialized listv8.2.3064Bram Moolenaar2021-06-271-8/+25
| | | | | Problem: Vim9: in script cannot set item in uninitialized list. Solution: When a list is NULL allocate an empty one. (closes #8461)
* patch 8.2.3055: strange error for assigning to "x.key" on non-dictionaryv8.2.3055Bram Moolenaar2021-06-261-1/+7
| | | | | Problem: Strange error for assigning to "x.key" on non-dictionary. Solution: Add a specific error message. (closes #8451)
* patch 8.2.3016: confusing error when expression is followed by commav8.2.3016Bram Moolenaar2021-06-171-2/+10
| | | | | Problem: Confusing error when expression is followed by comma. Solution: Give a different error for trailing text. (closes #8395)
* patch 8.2.2985: Vim9: a compiled function cannot be debuggedv8.2.2985Bram Moolenaar2021-06-131-1/+1
| | | | | Problem: Vim9: a compiled function cannot be debugged. Solution: Add initial debugging support.
* patch 8.2.2983: Vim9: an inline function requires specifying the return typev8.2.2983Bram Moolenaar2021-06-121-2/+6
| | | | | Problem: Vim9: an inline function requires specifying the return type. Solution: Make the return type optional.
* patch 8.2.2978: warning for uninitialized variablev8.2.2978Bram Moolenaar2021-06-121-0/+1
| | | | | Problem: Warning for uninitialized variable. Solution: Set return value to FAIL.
* patch 8.2.2977: crash when using a null function referencev8.2.2977Bram Moolenaar2021-06-121-0/+8
| | | | | Problem: Crash when using a null function reference. (Naohiro Ono) Solution: Check for an invalid function name. (closes #8367)
* patch 8.2.2968: Vim9: memory leakv8.2.2968Bram Moolenaar2021-06-091-0/+3
| | | | | Problem: Vim9: memory leak Solution: Unreference pt_outer of partial.
* patch 8.2.2964: Vim9: hang when using space after ->v8.2.2964Bram Moolenaar2021-06-081-2/+3
| | | | | Problem: Vim9: hang when using space after ->. (Naohiro Ono) Solution: Skip over white space to find the function name. (closes #8341)
* patch 8.2.2947: build failure without the channel featurev8.2.2947Bram Moolenaar2021-06-061-0/+2
| | | | | Problem: Build failure without the channel feature. Solution: Add back #ifdef. (John Marriott)
* patch 8.2.2944: Vim9: no error when using job or channel as a stringv8.2.2944Bram Moolenaar2021-06-051-1/+2
| | | | | Problem: Vim9: no error when using job or channel as a string. Solution: Be more strict about conversion to string. (closes #8312)
* patch 8.2.2928: the evalfunc.c file is too bigv8.2.2928Yegappan Lakshmanan2021-06-021-37/+0
| | | | | | Problem: The evalfunc.c file is too big. Solution: Move float related functionality to a separate file. (Yegappan Lakshmanan, closes #8287)
* patch 8.2.2923: EBCDIC build is brokenv8.2.2923K.Takata2021-06-021-27/+0
| | | | | Problem: EBCDIC build is broken. Solution: Move sortFunctions() to evalfunc.c. (Ken Takata, closes #8306)
* patch 8.2.2922: computing array length is done in various waysv8.2.2922K.Takata2021-06-021-1/+1
| | | | | Problem: Computing array length is done in various ways. Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)
* patch 8.2.2920: still a way to shadow a builtin functionv8.2.2920Bram Moolenaar2021-06-011-6/+2
| | | | | Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto) Solution: Check the key when using extend(). (issue #8302)
* patch 8.2.2918: builtin function can be shadowed by global variablev8.2.2918Bram Moolenaar2021-05-311-0/+7
| | | | | | Problem: Builtin function can be shadowed by global variable. Solution: Check for builtin function before variable. (Yasuhiro Matsumoto, closes #8302)
* patch 8.2.2897: Vim9: can use reserved words at the script levelv8.2.2897Bram Moolenaar2021-05-281-0/+3
| | | | | Problem: Vim9: can use reserved words at the script level. Solution: Check variable names for reserved words. (closes #8253)
* patch 8.2.2895: Vim9: random characters appear in some error messagesv8.2.2895mityu2021-05-281-7/+10
| | | | | Problem: Vim9: random characters appear in some error messages. Solution: Pass the correct pointer. (closes #8277)
* patch 8.2.2892: error message contains random charactersv8.2.2892mityu2021-05-281-1/+1
| | | | | | Problem: Error message contains random characters. Solution: Pass the right pointer to error_white_both(). (closes #8272, closes #8263)
* patch 8.2.2866: Vim9: memory leak when using inline functionv8.2.2866Bram Moolenaar2021-05-181-2/+10
| | | | | Problem: Vim9: memory leak when using inline function. Solution: Remember what strings to free.