Bram Moolenaar
8e2730a315
patch 8.2.1161: Vim9: using freed memory
...
Problem: Vim9: using freed memory.
Solution: Put pointer back in evalarg instead of freeing it.
2020-07-08 22:01:49 +02:00
Bram Moolenaar
7a4b8980ea
patch 8.2.1155: Vim9: cannot handle line break inside lambda
...
Problem: Vim9: cannot handle line break inside lambda.
Solution: Pass the compilation context through. (closes #6407 , closes #6409 )
2020-07-08 17:36:21 +02:00
Bram Moolenaar
962d721319
patch 8.2.1125: Vim9: double quote can be a string or a comment
...
Problem: Vim9: double quote can be a string or a comment.
Solution: Only support comments starting with # to avoid confusion.
2020-07-04 14:15:00 +02:00
Bram Moolenaar
442af2f89e
patch 8.2.1122: Vim9: line continuation in dict member not recognized
...
Problem: Vim9: line continuation in dict member not recognized.
Solution: Check for line continuation.
2020-07-03 21:09:52 +02:00
Bram Moolenaar
9a78e6df17
patch 8.2.1111: inconsistent naming of get_list_tv() and eval_dict()
...
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.
2020-07-01 18:29:55 +02:00
Bram Moolenaar
e6b5324e3a
patch 8.2.1110: Vim9: line continuation does not work in function arguments
...
Problem: Vim9: line continuation does not work in function arguments.
Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string
as comment.
2020-07-01 17:28:33 +02:00
Bram Moolenaar
e707c882b2
patch 8.2.1103: Coverity reports an unnecessary NULL check
...
Problem: Coverity reports an unnecessary NULL check.
Solution: Remove the check for NULL.
2020-07-01 13:07:37 +02:00
Bram Moolenaar
47e880d6c1
patch 8.2.1100: Vim9: cannot use line break in :execute argument
...
Problem: Vim9: cannot use line break in :execute, :echomsg and :echoerr
argument.
Solution: Check for line break.
2020-06-30 22:02:02 +02:00
Bram Moolenaar
37c8371195
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
...
Problem: Vim9: cannot use line break in :cexpr argument.
Solution: Check for line break.
2020-06-30 21:18:36 +02:00
Bram Moolenaar
006ad48b8a
patch 8.2.1098: Vim9: cannot use line break in :throw argument
...
Problem: Vim9: cannot use line break in :throw argument.
Solution: Check for line break.
2020-06-30 20:55:15 +02:00
Bram Moolenaar
9b5384b97e
patch 8.2.1090: may use NULL pointer when skipping over name
...
Problem: May use NULL pointer when skipping over name.
Solution: Always set ll_name_end.
2020-06-29 22:31:36 +02:00
Bram Moolenaar
b7a78f7a67
patch 8.2.1080: Vim9: no line break allowed in a for loop
...
Problem: Vim9: no line break allowed in a for loop.
Solution: Skip line breaks in for command.
2020-06-28 18:43:40 +02:00
Bram Moolenaar
d5053d015a
patch 8.2.1079: Vim9: no line break allowed in a while loop
...
Problem: Vim9: no line break allowed in a while loop.
Solution: Update stored loop lines when finding line breaks.
2020-06-28 15:51:16 +02:00
Bram Moolenaar
faf8626b79
patch 8.2.1076: Vim9: no line break allowed in :if expression
...
Problem: Vim9: no line break allowed in :if expression.
Solution: Skip linebreak.
2020-06-27 23:07:36 +02:00
Bram Moolenaar
7e8967fdcd
patch 8.2.1075: Vim9: no line break allowed in :echo expression
...
Problem: Vim9: no line break allowed in :echo expression.
Solution: Skip linebreak.
2020-06-27 21:56:17 +02:00
Bram Moolenaar
9215f01218
patch 8.2.1074: Vim9: no line break allowed after some operators
...
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.
2020-06-27 21:18:00 +02:00
Bram Moolenaar
7a4981b936
patch 8.2.1073: Vim9: no line break allowed in () expression
...
Problem: Vim9: no line break allowed in () expression.
Solution: Skip a line break.
2020-06-27 20:46:29 +02:00
Bram Moolenaar
e40fbc2ca9
patch 8.2.1071: Vim9: no line break allowed inside a lambda
...
Problem: Vim9: no line break allowed inside a lambda.
Solution: Handle line break inside a lambda in Vim9 script.
2020-06-27 18:06:45 +02:00
Bram Moolenaar
8ea9390b78
patch 8.2.1068: Vim9: no line break allowed inside a dict
...
Problem: Vim9: no line break allowed inside a dict.
Solution: Handle line break inside a dict in Vim9 script.
2020-06-27 14:11:53 +02:00
Bram Moolenaar
0b1cd52ff6
patch 8.2.1067: expression "!expr->func()" does not work
...
Problem: Expression "!expr->func()" does not work.
Solution: Apply plus and minus earlier. (closes #6348 )
2020-06-27 13:11:50 +02:00
Bram Moolenaar
7147820cb9
patch 8.2.1065: Vim9: no line break allowed inside a list
...
Problem: Vim9: no line break allowed inside a list.
Solution: Handle line break inside a list in Vim9 script.
2020-06-26 22:46:27 +02:00
Bram Moolenaar
e6536aa766
patch 8.2.1064: Vim9: no line break allowed before comperators
...
Problem: Vim9: no line break allowed before comperators.
Solution: Check for comperator after line break.
2020-06-26 22:00:38 +02:00
Bram Moolenaar
be7ee48876
patch 8.2.1063: Vim9: no line break allowed before || or &&
...
Problem: Vim9: no line break allowed before || or &&.
Solution: Check for operator after line break.
2020-06-26 21:38:51 +02:00
Bram Moolenaar
793648fb56
patch 8.2.1062: Vim9: no line break allowed inside "cond ? val1 : val2"
...
Problem: Vim9: no line break allowed inside "cond ? val1 : val2".
Solution: Check for operator after line break.
2020-06-26 21:28:25 +02:00
Bram Moolenaar
7acde51832
patch 8.2.1052: build failure with older compilers
...
Problem: Build failure with older compilers.
Solution: Move declaration to start of block.
2020-06-24 23:02:40 +02:00
Bram Moolenaar
b171fb1790
patch 8.2.1049: Vim9: leaking memory when using continuation line
...
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.
2020-06-24 20:34:03 +02:00
Bram Moolenaar
5409f5d8c9
patch 8.2.1047: Vim9: script cannot use line continuation like :def function
...
Problem: Vim9: script cannot use line continuation like in a :def function.
Solution: Pass the getline function pointer to the eval() functions. Use it
for addition and multiplication operators.
2020-06-24 18:37:35 +02:00
Bram Moolenaar
0cb5bcf583
patch 8.2.1023: Vim9: redefining a function uses a new index every time
...
Problem: Vim9: redefining a function uses a new index every time.
Solution: When redefining a function clear the contents and re-use the
index.
2020-06-20 18:19:09 +02:00
Bram Moolenaar
9af78769ee
patch 8.2.0987: Vim9: cannot assign to [var; var]
...
Problem: Vim9: cannot assign to [var; var].
Solution: Assign rest of items to a list.
2020-06-16 11:34:42 +02:00
Bram Moolenaar
47a519a933
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
...
Problem: Vim9: cannot compile "[var, var] = list".
Solution: Implement list assignment.
2020-06-14 23:05:10 +02:00
Bram Moolenaar
df44a27b53
patch 8.2.0928: many type casts are used for vim_strnsave()
...
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closes #5633 ) Remove some type casts.
2020-06-07 20:49:05 +02:00
Bram Moolenaar
a9c0104947
patch 8.2.0918: duplicate code for evaluating expression argument
...
Problem: Duplicate code for evaluating expression argument.
Solution: Merge the code and make the use more flexible.
2020-06-07 14:50:50 +02:00
Bram Moolenaar
367d59e6ba
patch 8.2.0847: typval related code is spread out
...
Problem: Typval related code is spread out.
Solution: Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093 )
2020-05-30 17:06:14 +02:00
Bram Moolenaar
1919371b2b
patch 8.2.0824: still not enough memory allocated when converting string
...
Problem: Still not enough memory allocated when converting string with
special character.
Solution: Reserve space for expanding K_SPECIAL. (closes #6130 )
2020-05-25 23:01:42 +02:00
Bram Moolenaar
822ba24743
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
...
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.
2020-05-24 23:00:18 +02:00
Bram Moolenaar
f7271e8316
patch 8.2.0817: not enough memory allocated when converting string
...
Problem: Not enough memory allocated when converting string with special
character.
Solution: Reserve space for modifier code. (closes #6130 )
2020-05-24 18:45:07 +02:00
Bram Moolenaar
6f5b6dfb16
patch 8.2.0771: Vim9: cannot call a compiled closure from not compiled code
...
Problem: Vim9: cannot call a compiled closure from not compiled code.
Solution: Pass funcexe to call_user_func().
2020-05-16 21:20:12 +02:00
Bram Moolenaar
227a69de1e
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
...
Problem: Vim9: No error when variable initializer is not a constant.
Solution: Return FAIL when trying to get a variable value. Do not execute a
script when an error is deteted in the first or second phase.
2020-05-15 18:17:28 +02:00
Bram Moolenaar
32e351179e
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
...
Problem: Vim9: expressions are evaluated in the discovery phase.
Solution: Bail out if an expression is not a constant. Require a type for
declared constants.
2020-05-14 22:41:15 +02:00
Bram Moolenaar
7e9f351b2e
patch 8.2.0751: Vim9: performance can be improved
...
Problem: Vim9: performance can be improved.
Solution: Don't call break. Inline check for list materialize. Make an
inline version of ga_grow().
2020-05-13 22:44:22 +02:00
Bram Moolenaar
b68b346e6d
patch 8.2.0703: Vim9: closure cannot store value in outer context
...
Problem: Vim9: closure cannot store value in outer context.
Solution: Make storing value in outer context work. Make :disassemble
accept a function reference.
2020-05-06 21:06:30 +02:00
Bram Moolenaar
f7779c63d4
patch 8.2.0684: Vim9: memory leak when using lambda
...
Problem: Vim9: memory leak when using lambda.
Solution: Move the funccal context to the partial. Free the function when
exiting.
2020-05-03 15:38:16 +02:00
Bram Moolenaar
6adb9ea0a6
patch 8.2.0670: cannot change window when evaluating 'completefunc'
...
Problem: Cannot change window when evaluating 'completefunc'.
Solution: Make a difference between not changing text or buffers and also
not changing window.
2020-04-30 22:31:18 +02:00
Bram Moolenaar
92b83ccfda
patch 8.2.0634: crash with null partial and blob
...
Problem: Crash with null partial and blob.
Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan,
closes #5984 )
2020-04-25 15:24:44 +02:00
Bram Moolenaar
9d8d0b5c64
patch 8.2.0633: crash when using null partial in filter()
...
Problem: Crash when using null partial in filter().
Solution: Fix crash. Add more tests. (Yegappan Lakshmanan, closes #5976 )
2020-04-24 22:47:31 +02:00
Bram Moolenaar
f93c7fea08
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
...
Problem: Vim9: wrong syntax of function in Vim9 script.
Solution: Give error for missing space. Implement :echomsg and :echoerr.
(closes #5670 )
2020-04-23 22:16:53 +02:00
Bram Moolenaar
ea04a6e8ba
patch 8.2.0619: null dict is not handled like an empty dict
...
Problem: Null dict is not handled like an empty dict.
Solution: Fix the code and add tests. (Yegappan Lakshmanan, closes #5968 )
2020-04-23 13:38:02 +02:00
Bram Moolenaar
db950e4c03
patch 8.2.0618: echoing a null list results in no output
...
Problem: Echoing a null list results in no output. (Yegappan Lakshmanan)
Solution: Return "[]" instead of NULL in echo_string_core().
2020-04-22 19:13:19 +02:00
Bram Moolenaar
faac410409
patch 8.2.0611: Vim9: no check for space before #comment
...
Problem: Vim9: no check for space before #comment.
Solution: Add space checks.
2020-04-20 17:46:14 +02:00
Bram Moolenaar
d72c1bf0a6
patch 8.2.0601: Vim9: :unlet is not compiled
...
Problem: Vim9: :unlet is not compiled.
Solution: Implement :unlet instruction and check for errors.
2020-04-19 16:28:59 +02:00