Ernie Rael
f77a7f704f
patch 9.0.1375: crash when getting member of obj of unknown class
...
Problem: Crash when getting member of obj of unknown class.
Solution: Check for NULL class and give an error message. (Ernie Rael,
closes #12096 )
2023-03-03 15:05:30 +00:00
Bram Moolenaar
b1e32ac0c9
patch 9.0.1334: using tt_member for the class leads to mistakes
...
Problem: Using tt_member for the class leads to mistakes.
Solution: Add a separate tt_class field.
2023-02-21 12:38:51 +00:00
Bram Moolenaar
3e1ac1443a
patch 9.0.1323: build failure with +eval feature
...
Problem: Build failure with +eval feature.
Solution: Add missing part for using funcerror_T.
2023-02-18 19:49:32 +00:00
Bram Moolenaar
313e4724c3
patch 9.0.1292: :defer may call the wrong method for an object
...
Problem: :defer may call the wrong method for an object. (Ernie Rael)
Solution: When en object is from a class that extends or implements, figure
out the method to call at runtime. (closes #11910 )
2023-02-08 20:55:27 +00:00
Bram Moolenaar
d0200c8631
patch 9.0.1254: calling a method on an interface does not work
...
Problem: Calling a method on an interface does not work.
Solution: At runtime figure out what method to call. (closes #11901 )
2023-01-28 15:19:40 +00:00
Bram Moolenaar
8dbab1d8ce
patch 9.0.1250: cannot use an object method with :defer
...
Problem: Cannot use an object method with :defer. (Ernie Rael)
Solution: Find the object method and generate code to call it.
(closes #11886 )
2023-01-27 20:14:02 +00:00
Bram Moolenaar
62a6923470
patch 9.0.1240: cannot access a private object member in a lambda
...
Problem: Cannot access a private object member in a lambda defined inside
the class.
Solution: Go up the context stack to find the class. (closes #11866 )
2023-01-24 15:07:04 +00:00
Bram Moolenaar
29ac5df37b
patch 9.0.1209: getting interface member does not always work
...
Problem: Getting interface member does not always work.
Solution: Convert the index on the interface to the index on the object.
(closes #11825 )
2023-01-16 19:43:47 +00:00
Bram Moolenaar
912bfee710
patch 9.0.1204: expression compiled the wrong way after using an object
...
Problem: Expression compiled the wrong way after using an object.
Solution: Generate constants before getting the type.
2023-01-15 20:18:55 +00:00
Bram Moolenaar
6aa0937fb8
patch 9.0.1179: not all errors around inheritance are tested
...
Problem: Not all errors around inheritance are tested.
Solution: Add more tests. Fix uncovered problems.
2023-01-11 17:59:38 +00:00
Bram Moolenaar
58b40092e6
patch 9.0.1178: a child class cannot override functions from a base class
...
Problem: A child class cannot override functions from a base class.
Solution: Allow overriding and implement "super".
2023-01-11 15:59:05 +00:00
h-east
01c5f2addf
patch 9.0.1164: evaluating string expression advances function line
...
Problem: Evaluating string expression advances function line.
Solution: Disable function lines while parsing a string expression.
(Hirohito Higashi, closes #11796 )
2023-01-09 15:10:40 +00:00
Bram Moolenaar
3259ff3b3b
patch 9.0.1147: cannot access a class member in a compiled function
...
Problem: Cannot access a class member in a compiled function.
Solution: Implement looking up a class member.
2023-01-04 18:54:09 +00:00
Bram Moolenaar
574950dfb1
patch 9.0.1140: cannot call an object method in a compiled function
...
Problem: Cannot call an object method in a compiled function.
Solution: Compile the instructins to invoke an object method.
2023-01-03 19:08:50 +00:00
Bram Moolenaar
46ab925937
patch 9.0.1139: cannot create a new object in a compiled function
...
Problem: Cannot create a new object in a compiled function.
Solution: Compile the instructins to create a new object.
2023-01-03 14:01:21 +00:00
Bram Moolenaar
bcf31ec36b
patch 9.0.1134: comparing objects uses identity instead of equality
...
Problem: Comparing objects uses identity instead of equality.
Solution: Compare the object values.
2023-01-02 20:32:24 +00:00
Bram Moolenaar
a9fa8c58fb
patch 9.0.1133: error message names do not match the items
...
Problem: Error message names do not match the items.
Solution: Add "_str" when the text contains "%s".
2023-01-02 18:10:04 +00:00
Bram Moolenaar
6acf757c6a
patch 9.0.1127: no error if function argument shadows class member
...
Problem: No error if function argument shadows class member.
Solution: Give an error for shadowing a class member.
2023-01-01 19:53:30 +00:00
Bram Moolenaar
6bafdd41cb
patch 9.0.1123: class function not implemented yet
...
Problem: Class function not implemented yet.
Solution: Implement defining and calling a class function.
2023-01-01 12:58:33 +00:00
Bram Moolenaar
c6951a76a5
patch 9.0.1108: type error when using "any" type and adding to float
...
Problem: Type error when using "any" type and adding a number to a float.
Solution: Accept both a number and a float. (closes #11753 )
2022-12-29 20:56:24 +00:00
Bram Moolenaar
73ade49c4b
patch 9.0.1107: float constant not recognized as float
...
Problem: Float constant not recognized as float.
Solution: Check the vartype instead of comparing with t_float.
(closes #11754 )
2022-12-27 20:54:41 +00:00
Bram Moolenaar
d505d17885
patch 9.0.1074: class members are not supported yet
...
Problem: Class members are not supported yet.
Solution: Add initial support for class members.
2022-12-18 21:42:55 +00:00
Bram Moolenaar
3d473ee1a6
patch 9.0.1060: private and public object members are not implemented yet
...
problem: Private and public object members are not implemented yet.
Solution: Implement private and public object members.
2022-12-14 20:59:32 +00:00
Bram Moolenaar
7ce7daf6cd
patch 9.0.1045: in a class object members cannot be initialized
...
Problem: In a class object members cannot be initialized.
Solution: Support initializing object members. Make "dissassemble" work on
an object method.
2022-12-10 18:42:12 +00:00
Bram Moolenaar
ffdaca9e6f
patch 9.0.1041: cannot define a method in a class
...
Problem: Cannot define a method in a class.
Solution: Implement defining an object method. Make calling an object
method work.
2022-12-09 21:41:48 +00:00
Bram Moolenaar
00b28d6c23
patch 9.0.1031: Vim9 class is not implemented yet
...
Problem: Vim9 class is not implemented yet.
Solution: Add very basic class support.
2022-12-08 15:32:33 +00:00
Bram Moolenaar
adbc08fd69
patch 9.0.0840: cannot change a slice of a const list
...
Problem: Cannot change a slice of a const list. (Takumi KAGIYAMA)
Solution: Remove the const flag from the slice type. (closes #11490 )
2022-11-06 18:27:17 +00:00
dundargoc
c57b5bcd22
patch 9.0.0828: various typos
...
Problem: Various typos.
Solution: Correct typos. (closes #11432 )
2022-11-02 13:30:51 +00:00
Bram Moolenaar
d0fbb41eaa
patch 9.0.0799: in compiled function ->() on next line not recognized
...
Problem: In compiled function ->() on next line not recognized.
Solution: Also check for "(". (closes #11405 )
2022-10-19 18:04:49 +01:00
Bram Moolenaar
4913d420e8
patch 9.0.0778: indexing of unknown const type fails during compilation
...
Problem: Indexing of unknown const type fails during compilation.
Solution: Check for "any" properly. (closes #11389 )
2022-10-17 13:13:32 +01:00
Bram Moolenaar
f8addf1ca1
patch 9.0.0554: using freed memory when command follows lambda
...
Problem: Using freed memory when command follows lambda.
Solution: Don't free what is still in use. (closes #11201 )
2022-09-23 12:44:25 +01:00
Bram Moolenaar
c9e4a6f191
patch 9.0.0504: still a build failure
...
Problem: still a Build failure.
Solution: Add another missing changes. Avoid compiler warning.
2022-09-19 16:08:04 +01:00
Bram Moolenaar
73e28dcc61
patch 9.0.0491: no good reason to build without the float feature
...
Problem: No good reason to build without the float feature.
Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17 21:08:33 +01:00
Bram Moolenaar
8fa745e7be
patch 9.0.0481: in :def function all closures in loop get the same variables
...
Problem: In a :def function all closures in a loop get the same variables.
Solution: Use a separate list of variables for LOADOUTER and STOREOUTER.
Not copied at end of loop yet.
2022-09-16 19:04:24 +01:00
Bram Moolenaar
f5fec05c7f
patch 9.0.0440: crash when using mkdir() with "R" flag in compiled function
...
Problem: Crash when using mkdir() with "R" flag in compiled function.
Solution: Reserve a variable for deferred function calls. Handle more than
one argument.
2022-09-11 11:49:22 +01:00
Bram Moolenaar
806a273f3c
patch 9.0.0379: cleaning up after writefile() is a hassle
...
Problem: Cleaning up after writefile() is a hassle.
Solution: Add the 'D' flag to defer deleting the written file. Very useful
in tests.
2022-09-04 15:40:36 +01:00
Bram Moolenaar
1d84f7608f
patch 9.0.0370: cleaning up afterwards can make a function messy
...
Problem: Cleaning up afterwards can make a function messy.
Solution: Add the :defer command.
2022-09-03 21:35:53 +01:00
Bram Moolenaar
2984ed31d9
patch 9.0.0230: no error for comma missing in list in :def function
...
Problem: No error for comma missing in list in :def function.
Solution: Check for missing comma. (closes #10943 )
2022-08-20 14:51:17 +01:00
Kota Kato
948a3894d9
patch 9.0.0219: cannot make a funcref with "s:func" in a def function
...
Problem: Cannot make a funcref with "s:func" in a def function in legacy
script.
Solution: Allow for using a lower case function name after "s:". (Kota Kato,
closes #10926 )
2022-08-16 16:09:59 +01:00
Bram Moolenaar
c3caa7f788
patch 8.2.5018: Vim9: some code is not covered by tests
...
Problem: Vim9: some code is not covered by tests.
Solution: Delete dead code.
2022-05-25 19:15:10 +01:00
Bram Moolenaar
68e64d2c17
patch 8.2.5006: asan warns for undefined behavior
...
Problem: Asan warns for undefined behavior.
Solution: Cast the shifted value to unsigned.
2022-05-22 22:07:52 +01:00
Bram Moolenaar
5b529230f1
patch 8.2.5005: compiler warning for uninitialized variable
...
Problem: Compiler warning for uninitialized variable. (John Marriott)
Solution: Initialize the pointer to NULL.
2022-05-22 21:53:26 +01:00
Bram Moolenaar
338bf58eba
patch 8.2.5004: right shift on negative number does not work as documented
...
Problem: Right shift on negative number does not work as documented.
Solution: Use a uvarnumber_T type cast.
2022-05-22 20:16:32 +01:00
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
1ff9c44267
patch 8.2.4972: Vim9: compilation fails when using dict member when skipping
...
Problem: Vim9: compilation fails when using dict member when skipping.
Solution: Do not generate ISN_USEDICT when skipping. (closes #10433 )
2022-05-17 15:03:33 +01:00
Bram Moolenaar
31ad32a325
patch 8.2.4949: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few more test cases. Fix double error message.
2022-05-13 16:23:37 +01:00
Bram Moolenaar
7f8a3b11bf
patch 8.2.4946: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few more test cases. Remove dead code.
2022-05-12 22:03:01 +01:00
Bram Moolenaar
d0132f4862
patch 8.2.4940: some code is never used
...
Problem: Some code is never used.
Solution: Remove dead code. Add a few more test cases.
2022-05-12 11:05:40 +01:00
Bram Moolenaar
0abc2871c1
patch 8.2.4930: interpolated string expression requires escaping
...
Problem: Interpolated string expression requires escaping.
Solution: Do not require escaping in the expression.
2022-05-10 13:24:30 +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