Yegappan Lakshmanan
a061f34191
patch 8.2.5003: cannot do bitwise shifts
...
Problem: Cannot do bitwise shifts.
Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457 )
2022-05-22 19:13:49 +01:00
Bram Moolenaar
f79d9dd43f
patch 8.2.4989: cannot specify a function name for :defcompile
...
Problem: Cannot specify a function name for :defcompile.
Solution: Implement a function name argument for :defcompile.
2022-05-21 15:39:02 +01:00
Bram Moolenaar
bd3a9d2c94
patch 8.2.4973: Vim9: type error for list unpack mentions argument
...
Problem: Vim9: type error for list unpack mentions argument.
Solution: Mention variable. (close #10435 )
2022-05-17 16:12:39 +01:00
LemonBoy
2eaef106e4
patch 8.2.4883: string interpolation only works in heredoc
...
Problem: String interpolation only works in heredoc.
Solution: Support interpolated strings. Use syntax for heredoc consistent
with strings, similar to C#. (closes #10327 )
2022-05-06 13:14:50 +01:00
LemonBoy
f3b4895f27
patch 8.2.4870: Vim9: expression in :substitute is not compiled
...
Problem: Vim9: expression in :substitute is not compiled.
Solution: Use an INSTR instruction if possible. (closes #10334 )
2022-05-05 13:53:03 +01:00
Bram Moolenaar
f6ced9863f
patch 8.2.4836: Vim9: some lines not covered by tests
...
Problem: Vim9: some lines not covered by tests.
Solution: Remove dead code. Add disassemble tests.
2022-04-28 12:00:49 +01:00
Bram Moolenaar
95e4dd813a
patch 8.2.4835: Vim9: some lines not covered by tests
...
Problem: Vim9: some lines not covered by tests.
Solution: Add a few more tests. Fix disassemble output.
2022-04-27 22:15:40 +01:00
LemonBoy
372bcceeee
patch 8.2.4823: concat more than 2 strings in :def function is inefficient
...
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276 )
2022-04-25 12:43:20 +01:00
LemonBoy
58f331a05f
patch 8.2.4669: in compiled code len('string') is not inlined
...
Problem: In compiled code len('string') is not inlined.
Solution: Compute the length at compile time if possible. (closes #10065 )
2022-04-02 21:59:06 +01:00
Bram Moolenaar
1712518f48
patch 8.2.4651: test fails because path differs
...
Problem: Test fails because path differs.
Solution: Only compare the tail of the path.
2022-03-30 21:57:50 +01:00
Bram Moolenaar
c0ceeeb839
patch 8.2.4650: "import autoload" only works with using 'runtimepath'
...
Problem: "import autoload" only works with using 'runtimepath'.
Solution: Also support a relative and absolute file name.
2022-03-30 21:12:27 +01:00
Bram Moolenaar
ec15b1cfdc
patch 8.2.4634: Vim9: cannot initialize a variable to null_list
...
Problem: Vim9: cannot initialize a variable to null_list.
Solution: Give negative count to NEWLIST. (closes #10027 )
Also fix inconsistencies in comparing with null values.
2022-03-27 16:29:53 +01:00
Dominique Pelle
81b573d7e5
patch 8.2.4611: typos in tests; one lua line not covered by test
...
Problem: Typos in tests; one lua line not covered by test.
Solution: Fix typos. Add test case. (Dominique Pellé, closes #9994 )
2022-03-22 21:14:55 +00:00
Bram Moolenaar
8acb9cc620
patch 8.2.4526: Vim9: cannot set variables to a null value
...
Problem: Vim9: cannot set variables to a null value.
Solution: Add null_list, null_job, etc.
2022-03-08 13:18:55 +00:00
Bram Moolenaar
7a22224875
patch 8.2.4487: Vim9: cannot compare with v:null
...
Problem: Vim9: cannot compare with v:null.
Solution: Allow comparing anything with v:null. (closes #9866 )
2022-03-01 19:23:24 +00:00
Bram Moolenaar
e88c6b7a5d
patch 8.2.4390: Vim9: list from declaration with inferred type not set
...
Problem: Vim9: list from declaration with inferred type does not set the
type on the value.
Solution: When inferring the type in a variable declaration also set the
type of the list or dictionary. (closes #9705 ) Do not set the
type when the member is "any".
2022-02-15 15:37:11 +00:00
Bram Moolenaar
a749a42ed2
patch 8.2.4360: Vim9: allowing use of "s:" leads to inconsistencies
...
Problem: Vim9: allowing use of "s:" leads to inconsistencies.
Solution: Disallow using "s:" in Vim9 script at the script level.
2022-02-12 19:52:25 +00:00
Bram Moolenaar
21ebb0899e
patch 8.2.4297: Vim9: not all code covered by tests
...
Problem: Vim9: not all code covered by tests.
Solution: Add a couple more tests.
2022-02-04 21:58:58 +00:00
Bram Moolenaar
848faddb87
patch 8.2.4260: Vim9: can still use a global function without g:
...
Problem: Vim9: can still use a global function without g: at the script
level.
Solution: Also check for g: at the script level. (issue #9637 )
2022-01-30 15:28:30 +00:00
Bram Moolenaar
62aec93bfd
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
...
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
2022-01-29 21:45:34 +00:00
Bram Moolenaar
70c43d84be
patch 8.2.4225: Vim9: depth argument of :lockvar not parsed in :def function
...
Problem: Vim9: depth argument of :lockvar not parsed in :def function.
Solution: Parse the optional depth argument. (closes #9629 )
Fix that locking doesn't work for a non-materialize list.
2022-01-26 21:01:15 +00:00
Bram Moolenaar
06b77229ca
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
...
Problem: Vim9: cannot use a function from an autoload import directly.
Solution: Add the AUTOLOAD instruction to figure out at runtime.
(closes #9620 )
2022-01-25 15:51:56 +00:00
Bram Moolenaar
10d6f18b2f
patch 8.2.3997: Vim9: not enough testing for extend() and map()
...
Problem: Vim9: not enough testing for extend() and map().
Solution: Add more test cases. Fix uncovered problems. Remove unused type
fields.
2022-01-04 15:54:38 +00:00
Bram Moolenaar
2b4ecc2c31
patch 8.2.3981: Vim9: debugging a for loop doesn't stop before it starts
...
Problem: Vim9: debugging a for loop doesn't stop before it starts.
Solution: Keep the DEBUG instruction before the expression is evaluated.
(closes #9456 )
2022-01-02 14:08:18 +00:00
Bram Moolenaar
fb9dcb080b
patch 8.2.3898: Vim9: not sufficient testing for variable initialization
...
Problem: Vim9: not sufficient testing for variable initialization.
Solution: Add another test case.
2021-12-25 22:00:49 +00:00
Bram Moolenaar
5cd647935d
patch 8.2.3893: Vim9: many local variables are initialized with an instruction
...
Problem: Vim9: many local variables are initialized with an instruction.
Solution: Initialize local variables to zero to avoid the instructions.
2021-12-25 18:23:24 +00:00
Bram Moolenaar
1b5f7a6202
patch 8.2.3868: Vim9: function test fails
...
Problem: Vim9: function test fails.
Solution: Add missing changes. Add test for earlier patch.
2021-12-21 13:30:42 +00:00
Bram Moolenaar
b15cf44c1d
patch 8.2.3826: Vim9: using "g:Func" as funcref doesn't work in :def function
...
Problem: Vim9: using "g:Func" as a funcref does not work in a :def
function.
Solution: Include "g:" in the function name. (closes #9336 )
2021-12-16 15:49:43 +00:00
Bram Moolenaar
dcb53be441
patch 8.2.3765: Vim9: cannot use a lambda for 'opfunc' and others
...
Problem: Vim9: cannot use a lambda for 'opfunc' and others.
Solution: Convert the lambda to a string.
2021-12-09 14:23:43 +00:00
Bram Moolenaar
db9ff9ab5d
patch 8.2.3717: Vim9: error for constant list size is only given at runtime
...
Problem: Vim9: error for constant list size is only given at runtime.
Solution: Give the error at compile time if possible.
2021-12-01 17:38:01 +00:00
Bram Moolenaar
e4eed8c6db
patch 8.2.3716: Vim9: range without a command is not compiled
...
Problem: Vim9: range without a command is not compiled.
Solution: Add the ISN_EXECRANGE byte code.
2021-12-01 15:22:56 +00:00
Bram Moolenaar
90770b746e
patch 8.2.3707: Vim9: constant expression of elseif not recognized
...
Problem: Vim9: constant expression of elseif not recognized.
Solution: Set instruction count before generating the expression.
2021-11-30 20:57:38 +00:00
Bram Moolenaar
1a7ee4dd11
patch 8.2.3442: Vim9: || and && are not handled at compile time
...
Problem: Vim9: || and && are not handled at compile time when possible.
Solution: When using constants generate fewer instructions.
2021-09-16 16:15:07 +02:00
Bram Moolenaar
b1b6f4de2b
patch 8.2.3435: Vim9: dict is not passed to dict function
...
Problem: Vim9: dict is not passed to dict function.
Solution: Keep the dict used until a function call.
2021-09-13 18:25:54 +02:00
Bram Moolenaar
093165c899
patch 8.2.3366: Vim9: debugging elseif does not stop before condition
...
Problem: Vim9: debugging elseif does not stop before condition.
Solution: Move debug statement to after the jump. (closes #8781 )
2021-08-22 13:35:31 +02:00
Bram Moolenaar
cd6b4f3001
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
...
Problem: Vim9: type of argument for negate not checked at compile time.
Solution: Add a compile time check.
2021-08-15 20:36:28 +02:00
Bram Moolenaar
aacc966c5d
patch 8.2.3339: Vim9: cannot lock a member in a local dict
...
Problem: Vim9: cannot lock a member in a local dict.
Solution: Get the local dict from the stack and pass it to get_lval().
2021-08-13 19:40:51 +02:00
Bram Moolenaar
6e48b84c5f
patch 8.2.3326: Vim9: no error passing an empty list of the wrong type
...
Problem: Vim9: no error passing an empty list of the wrong type.
Solution: Use ISN_SETTYPE also for "list<any>". (closes #8732 )
2021-08-10 22:52:02 +02:00
Bram Moolenaar
4270d8b762
patch 8.2.3310: Vim9: unpack assignment does not mention source of type error
...
Problem: Vim9: unpack assignment does not mention source of type error.
Solution: Mention the argument number. (closes #8719 )
2021-08-07 16:30:42 +02:00
Bram Moolenaar
7de6262373
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
...
Problem: Vim9: :echoconsole cannot access local variables.
Solution: Handle like other :echo commands. (closes #8708 )
2021-08-07 15:05:47 +02:00
Bram Moolenaar
6db660bed9
patch 8.2.3267: Vim9: crash when disassembling using deleted script variable
...
Problem: Vim9: crash when disassembling a function that uses a deleted
script variable.
Solution: Check the variable still exists. (closes #8683 )
2021-08-01 14:08:54 +02:00
Bram Moolenaar
f5d52c90e0
patch 8.2.3263: Vim9: "..=" does not accept same types as the ".." operator
...
Problem: Vim9: "..=" does not accept same types as the ".." operator.
Solution: Convert value to string like ".." does. (issue #8664 )
2021-07-31 22:51:10 +02:00
Bram Moolenaar
8cec9273d2
patch 8.2.3039: Vim9: breakpoint at a comment line does not work
...
Problem: Vim9: breakpoint at a comment line does not work.
Solution: Add the comment line number to the debug instruction.
(closes #8429 )
2021-06-23 20:20:53 +02:00
Bram Moolenaar
035bd1c99f
patch 8.2.3029: Vim9: crash when using operator and list unpack assignment
...
Problem: Vim9: crash when using operator and list unpack assignment.
(Naohiro Ono)
Solution: Get variable value before operation. (closes #8416 )
2021-06-21 19:44:11 +02:00
Bram Moolenaar
f57b43c230
patch 8.2.3005: Vim9: using a void value does not give a proper error message
...
Problem: Vim9: using a void value does not give a proper error message.
Solution: Give a clear error message. (clodes #8387 )
2021-06-15 22:13:27 +02:00
Bram Moolenaar
26d711645c
patch 8.2.2997: Vim9: disassemble test fails
...
Problem: Vim9: disassemble test fails.
Solution: Adjust expected output.
2021-06-14 21:08:56 +02:00
Bram Moolenaar
e99d422bbd
patch 8.2.2985: Vim9: a compiled function cannot be debugged
...
Problem: Vim9: a compiled function cannot be debugged.
Solution: Add initial debugging support.
2021-06-13 14:01:26 +02:00
Bram Moolenaar
2067733b5c
patch 8.2.2951: Vim9: cannot use heredoc for :python, :lua, etc.
...
Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc.
Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT
instruction.
2021-06-06 17:02:53 +02:00
Bram Moolenaar
5fa9b24440
patch 8.2.2936: Vim9: converting number to bool uses wrong stack offset
...
Problem: Vim9: converting number to bool uses wrong stack offset. (Salman
Halim)
Solution: Include the offset in the 2BOOL command.
2021-06-04 21:00:32 +02:00
Bram Moolenaar
f18332fb9e
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
...
Problem: Vim9: skip argument to searchpair() is not compiled.
Solution: Add VAR_INSTR.
2021-05-07 17:55:55 +02:00