Bram Moolenaar
f96e9dec63
patch 8.2.1360: stray error for white space after expression
...
Problem: Stray error for white space after expression.
Solution: Ignore trailing white space. (closes #6608 )
2020-08-03 22:39:28 +02:00
Bram Moolenaar
9d48956681
patch 8.2.1326: Vim9: skipping over white space after list
...
Problem: Vim9: skipping over white space after list.
Solution: Do not skip white space, a following [] would be misinterpreted.
(closes #6552 ) Fix a few side effects.
2020-07-30 20:08:50 +02:00
Bram Moolenaar
696ba23149
patch 8.2.1323: Vim9: invalid operators only rejected in :def function
...
Problem: Vim9: invalid operators only rejected in :def function.
Solution: Also reject them at script level. (closes #6564 )
2020-07-29 21:20:41 +02:00
Bram Moolenaar
b13ab99908
patch 8.2.1306: checking for first character of dict key is inconsistent
...
Problem: Checking for first character of dict key is inconsistent.
Solution: Add eval_isdictc(). (closes #6546 )
2020-07-27 21:43:28 +02:00
Bram Moolenaar
2d06bfde29
patch 8.2.1281: the "trailing characters" error can be hard to understand
...
Problem: The "trailing characters" error can be hard to understand.
Solution: Add the trailing characters to the message.
2020-07-23 17:16:18 +02:00
Bram Moolenaar
63be3d4ba0
patch 8.2.1274: Vim9: no error for missing white space at script level
...
Problem: Vim9: no error for missing white space in assignment at script
level.
Solution: Check for white space. (closes #6495 )
2020-07-23 13:11:37 +02:00
Bram Moolenaar
4cdb13ce81
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
...
Problem: Vim9: type not checked if declaration also assigns value.
Solution: Check the type. (issue #6507 )
2020-07-22 21:45:14 +02:00
Bram Moolenaar
c71f36a889
patch 8.2.1263: Vim9: comperators use 'ignorecase' in Vim9 script
...
Problem: Vim9: comperators use 'ignorecase' in Vim9 script.
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
(closes #6497 )
2020-07-21 21:31:00 +02:00
Bram Moolenaar
75783bd84e
patch 8.2.1243: Vim9: cannot have a comment line halfway a list
...
Problem: Vim9: cannot have a comment or empty line halfway a list at script
level.
Solution: Skip more than one line if needed.
2020-07-19 14:41:58 +02:00
Bram Moolenaar
8c34ea54ad
patch 8.2.1205: Vim9: && and || work different when not compiled
...
Problem: Vim9: && and || work different when not compiled.
Solution: Keep the value.
2020-07-13 22:29:02 +02:00
Bram Moolenaar
5d2eb0fff0
patch 8.2.1204: Vim9: true and false not recognized in Vim9 script
...
Problem: Vim9: true and false not recognized in Vim9 script.
Solution: Recognize true and false.
2020-07-13 21:59:33 +02:00
Bram Moolenaar
3ac9c4701a
patch 8.2.1203: unused assignments in expression evaluation
...
Problem: Unused assignments in expression evaluation.
Solution: Move declarations and assignments to inner blocks where possible.
2020-07-13 21:28:03 +02:00
Bram Moolenaar
eb6880b6eb
patch 8.2.1190: Vim9: checking for Vim9 syntax is spread out
...
Problem: Vim9: checking for Vim9 syntax is spread out.
Solution: Use in_vim9script().
2020-07-12 17:07:05 +02:00
Bram Moolenaar
8af81d656a
patch 8.2.1189: Vim9: line continuation in lambda doesn't always work
...
Problem: Vim9: line continuation in lambda doesn't always work.
Solution: Do not use a local evalarg unless there isn't one. (closes #6439 )
2020-07-12 16:32:19 +02:00
Bram Moolenaar
543e6f3467
patch 8.2.1176: Vim9: not enough type checking in Vim9 script
...
Problem: Vim9: not enough type checking in Vim9 script.
Solution: Use same type checking as in a :def function.
2020-07-10 22:45:38 +02:00
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