Bram Moolenaar
f93bbd0262
patch 8.2.2753: Vim9: cannot ignore an item in assignment unpack
...
Problem: Vim9: cannot ignore an item in assignment unpack.
Solution: Allow using an underscore.
2021-04-10 22:35:43 +02:00
Bram Moolenaar
643ce6c0c6
patch 8.2.2729: Vim9: wrong error message for referring to legacy script var
...
Problem: Vim9: wrong error message for referring to legacy script variable.
Solution: Do allow referring to a variable in legacy script without "s:" if
it exists at compile time. (closes #8076 )
2021-04-06 21:17:27 +02:00
Bram Moolenaar
0d351a04e1
patch 8.2.2724: Vim9: concatenating to list in dict not tested
...
Problem: Vim9: concatenating to list in dict not tested.
Solution: Add a test. (issue #8068 )
2021-04-05 21:05:26 +02:00
Bram Moolenaar
b9c0cd897a
patch 8.2.2722: Vim9: crash when using LHS with double index
...
Problem: Vim9: crash when using LHS with double index.
Solution: Handle lhs_dest which is "dest_expr". (closes #8068 )
Fix confusing error message for missing dict item.
2021-04-05 20:51:00 +02:00
Bram Moolenaar
e42939af87
patch 8.2.2719: Vim9: appending to dict item doesn't work in a :def function
...
Problem: Vim9: appending to dict item doesn't work in a :def function.
Solution: Implement assignment with operator on indexed item.
2021-04-05 17:11:17 +02:00
Bram Moolenaar
77709b194c
patch 8.2.2705: Vim9: misleading reported line number for wrong type
...
Problem: Vim9: misleading reported line number for wrong type.
Solution: Remember and use the line number at the start. (closes #8059 )
2021-04-03 21:01:01 +02:00
Bram Moolenaar
6e50ec2f0a
patch 8.2.2703: Vim9: memory leak when failing on locked variable
...
Problem: Vim9: memory leak when failing on locked variable.
Solution: Free the memory.
2021-04-03 19:32:44 +02:00
Bram Moolenaar
dcf29ac87f
patch 8.2.2693: Vim9: locked script variable can be changed
...
Problem: Vim9: locked script variable can be changed.
Solution: Check legacy script variable for being locked. (issue #8031 )
2021-04-02 14:44:02 +02:00
Bram Moolenaar
f5906aa780
patch 8.2.2692: Vim9: locked script variable can be changed
...
Problem: Vim9: locked script variable can be changed.
Solution: Check for locked value. (closes #8031 )
2021-04-02 14:35:15 +02:00
Bram Moolenaar
d877a5700f
patch 8.2.2687: Vim9: cannot use "const" for global variable in :def function
...
Problem: Vim9: cannot use "const" for global variable in :def function.
Solution: Do allow using :const for a global variable. (closes #8030 )
2021-04-01 19:42:48 +02:00
Bram Moolenaar
3215466af9
patch 8.2.2673: Vim9: script-local funcref can have lower case name
...
Problem: Vim9: script-local funcref can have lower case name.
Solution: Require an upper case name.
2021-03-28 21:14:06 +02:00
Bram Moolenaar
ccc25aa285
patch 8.2.2660: Vim9: no error for declaration with trailing text
...
Problem: Vim9: no error for declaration with trailing text.
Solution: Give an error. (closes #8014 )
2021-03-26 21:27:52 +01:00
Bram Moolenaar
3f32788000
patch 8.2.2618: Vim9: cannot use a normal list name to store function refs
...
Problem: Vim9: cannot use a normal list name to store function refs.
Solution: Allow a lower case name if it is indexed.
2021-03-17 20:56:38 +01:00
Bram Moolenaar
f76ec1eeb5
patch 8.2.2565: Vim9: "..=" not always recognized
...
Problem: Vim9: "..=" not always recognized.
Solution: Do not consider "..=" to be string concatenation. (closes #7905 )
2021-03-03 17:58:16 +01:00
Bram Moolenaar
5b5ae29bd3
patch 8.2.2533: Vim9: cannot use a range with :unlet
...
Problem: Vim9: cannot use a range with :unlet.
Solution: Implement ISN_UNLETRANGE.
2021-02-20 17:04:02 +01:00
Bram Moolenaar
c7dac8534e
patch 8.2.2528: Vim9: crash when compiling lambda fails
...
Problem: Vim9: crash when compiling lambda fails.
Solution: Bail out after compilation fails. (closes #7862 )
2021-02-17 18:49:11 +01:00
Bram Moolenaar
064095012c
patch 8.2.2527: Vim9: lambda return type is not determined at script level
...
Problem: Vim9: lambda return type is not determined at script level.
Solution: Compile the lambda to get the return type. (closes #7843 )
2021-02-17 17:00:27 +01:00
Bram Moolenaar
f785aa1354
patch 8.2.2501: not always clear where an error is reported
...
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes #7796 )
2021-02-11 21:19:34 +01:00
Bram Moolenaar
9a562c184d
patch 8.2.2395: Vim9: error for wrong type may report wrong line number
...
Problem: Vim9: error for wrong type may report wrong line number.
Solution: Save and restore the line number when evaluating the expression.
(closes #7727 )
2021-01-23 13:39:14 +01:00
Bram Moolenaar
c5f59fab23
patch 8.2.2381: Vim9: divide by zero does not abort expression execution
...
Problem: Vim9: divide by zero does not abort expression execution.
Solution: Use a "failed" flag. (issue #7704 )
2021-01-21 12:34:14 +01:00
Bram Moolenaar
f30a14db3b
patch 8.2.2373: Vim9: list assignment only accepts a number index
...
Problem: Vim9: list assignment only accepts a number index.
Solution: Accept "any" and do a runtime type check. (closes #7694 )
2021-01-17 21:51:24 +01:00
Bram Moolenaar
70250fb4d2
patch 8.2.2365: Vim9: no check for map() changing item type at script level
...
Problem: Vim9: no check for map() changing item type at script level.
Solution: Check the new value type.
2021-01-16 19:01:53 +01:00
Bram Moolenaar
082517570d
patch 8.2.2331: Vim9: wrong error when modifying dict declared with :final
...
Problem: Vim9: wrong error when modifying dict declared with :final.
Solution: Do not check for writable variable when an index follows.
(closes #7657 )
2021-01-11 21:20:18 +01:00
Bram Moolenaar
9e0f883f89
patch 8.2.2317: Vim9: command modifier before list unpack doesn't work
...
Problem: Vim9: command modifier before list unpack doesn't work.
Solution: Only recognize "[" directly after the name. (closes #7641 )
2021-01-09 12:09:22 +01:00
Bram Moolenaar
17126b1396
patch 8.2.2311: Vim9: cannot assign to variable that shadows command modifier
...
Problem: Vim9: cannot assign to a variable that shadows a command modifier.
Solution: Check for assignment after possible command modifier.
(closes #7632 )
2021-01-07 22:03:02 +01:00
Bram Moolenaar
328eac2b5d
patch 8.2.2308: Vim9: no error when assigning lambda to funcref
...
Problem: Vim9: no error when assigning lambda to funcref without return
value.
Solution: Default return value to "any". (closes #7629 )
2021-01-07 19:23:08 +01:00
Bram Moolenaar
0acbf5ae66
patch 8.2.2304: Vim9: no test for unletting an imported variable
...
Problem: Vim9: no test for unletting an imported variable.
Solution: Add a test. Fix line number in error.
2021-01-05 20:58:25 +01:00
Bram Moolenaar
752fc692ac
patch 8.2.2301: Vim9: cannot unlet a dict or list item
...
Problem: Vim9: cannot unlet a dict or list item.
Solution: Add ISN_UNLETINDEX. Refactor assignment code to use for unlet.
2021-01-04 21:57:11 +01:00
Bram Moolenaar
0ea0440865
patch 8.2.2297: Vim9: cannot set 'number' to a boolean value
...
Problem: Vim9: cannot set 'number' to a boolean value.
Solution: Use tv_get_bool(). (closes #7615 )
2021-01-04 13:37:54 +01:00
Bram Moolenaar
2ef951dd31
patch 8.2.2290: Vim9: unlet of global variable cannot be compiled
...
Problem: Vim9: unlet of global variable cannot be compiled.
Solution: Skip over variables that might be defined later. Give an error if
a subscript is found. (closes #7585 )
2021-01-03 20:55:26 +01:00
Bram Moolenaar
3862ea3f62
patch 8.2.2268: Vim9: list unpack seen as declaration
...
Problem: Vim9: list unpack seen as declaration.
Solution: Check for "var". (closes #7594 )
2021-01-01 21:05:55 +01:00
Bram Moolenaar
c368957b19
patch 8.2.2267: Vim9: cannot use unlet for a dict member
...
Problem: Vim9: cannot use unlet for a dict member.
Solution: Pass GLV_NO_DECL to get_lval(). (closes #7585 )
2021-01-01 19:40:02 +01:00
Bram Moolenaar
2949cfdbe4
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
...
Problem: Vim9: using -> for lambda is ambiguous.
Solution: Stop supporting ->, must use =>.
2020-12-31 21:28:47 +01:00
Bram Moolenaar
dd1f426bd6
patch 8.2.2254: Vim9: bool option type is number
...
Problem: Vim9: bool option type is number.
Solution: Have get_option_value() return a different value for bool and
number options. (closes #7583 )
2020-12-31 17:41:01 +01:00
Bram Moolenaar
c754b4cc98
patch 8.2.2212: Vim9: lambda with => does not work at the script level
...
Problem: Vim9: lambda with => does not work at the script level.
Solution: Make it work.
2020-12-25 15:24:23 +01:00
Bram Moolenaar
89b474dd4f
patch 8.2.2194: Vim9: cannot use :const or :final at the script level
...
Problem: Vim9: cannot use :const or :final at the script level.
Solution: Support using :const and :final. (closes #7526 )
2020-12-22 21:19:39 +01:00
Bram Moolenaar
4f5e397756
patch 8.2.2179: Vim9: crash when indexing a dict with a number
...
Problem: Vim9: crash when indexing a dict with a number.
Solution: Add ISN_STOREINDEX. (closes #7513 )
2020-12-21 17:30:50 +01:00
Bram Moolenaar
d24602f43c
patch 8.2.2168: Vim9: error for assigning to dict of dict
...
Problem: Vim9: error for assigning to dict of dict.
Solution: Remember the destination type. (closes #7506 )
2020-12-20 15:20:56 +01:00
Bram Moolenaar
d88dc4d4e9
patch 8.2.2167: Vim9: assign test fails
...
Problem: Vim9: assign test fails. (Elimar Riesebieter)
Solution: Adjust the test for dict assignment.
2020-12-20 14:49:42 +01:00
Bram Moolenaar
3beaf9cd8e
patch 8.2.2159: Vim9: when declaring a list it is not allocated yet
...
Problem: Vim9: when declaring a list it is not allocated yet, causing a
following extend() to fail.
Solution: When fetching a variable value for a list or dict that is null
allocate the list or dict, so it can be used. (closes #7491 )
2020-12-18 17:23:14 +01:00
Bram Moolenaar
9aed729fe9
patch 8.2.2157: Vim9: can delete a Vim9 script variable from a function
...
Problem: Vim9: can delete a Vim9 script variable from a function.
Solution: Check the variable is defined in Vim9 script. (closes #7483 )
2020-12-18 15:38:00 +01:00
Bram Moolenaar
acbae18df5
patch 8.2.2139: Vim9: unreachable code in assignment
...
Problem: Vim9: unreachable code in assignment.
Solution: Don't check "new_local" when "has_index" is set. Add test for
wrong type of list index.
2020-12-13 18:44:43 +01:00
Bram Moolenaar
b5b9480ee9
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
...
Problem: Vim9: "exit_cb" causes Vim to exit.
Solution: Require white space after a command in Vim9 script. (closes #7467 )
Also fix that Vim9 style heredoc was not always recognized.
2020-12-13 17:50:20 +01:00
Bram Moolenaar
7257af477b
patch 8.2.2115: Vim9: some errors not tested for; dead code
...
Problem: Vim9: some errors not tested for; dead code.
Solution: Add a test. Remove dead code.
2020-12-08 22:08:51 +01:00
Bram Moolenaar
083966f671
patch 8.2.2108: Vim9: no test to check for :let error
...
Problem: Vim9: no test to check for :let error.
Solution: Add a test. Rename tests from _let_ to _var_.
2020-12-08 11:29:40 +01:00
Bram Moolenaar
8ff16e0183
patch 8.2.2107: Vim9: some errors not tested
...
Problem: Vim9: some errors not tested.
Solution: Add tests. Fix getting the right error.
2020-12-07 21:49:52 +01:00
Bram Moolenaar
2d870f8d9e
patch 8.2.2092: Vim9: unpredictable errors for script tests
...
Problem: Vim9: unpredictable errors for script tests.
Solution: Use a different script file name for each run.
2020-12-05 13:41:01 +01:00
Bram Moolenaar
e0de171ecd
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
...
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406 , closes #7405 )
2020-12-02 17:36:54 +01:00
Bram Moolenaar
7f76494aac
patch 8.2.2081: Vim9: cannot handle a linebreak after "=" in assignment
...
Problem: Vim9: cannot handle a linebreak after "=" in assignment.
Solution: Skip over linebreak. (closes #7407 )
2020-12-02 15:11:18 +01:00
Bram Moolenaar
004d9b00ba
patch 8.2.2072: Vim9: list assign not well tested
...
Problem: Vim9: list assign not well tested.
Solution: Test with different destinations. Fix white space error.
2020-11-30 21:40:03 +01:00