Bram Moolenaar
094cf9f4d5
patch 9.0.1296: calling an object method with arguments does not work
...
Problem: Calling an object method with arguments does not work. (Ernie
Rael)
Solution: Take the argument count into account when looking up the object.
(closes #11911 )
2023-02-10 15:52:25 +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
Yegappan Lakshmanan
142ed77898
patch 9.0.1246: code is indented more than necessary
...
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11887 )
2023-01-26 12:00:00 +00:00
Bram Moolenaar
47bba53bdb
patch 9.0.1224: cannot call a :def function with a number for float argument
...
Problem: Cannot call a :def function with a number for a float argument.
Solution: Accept a number as well, convert it to a float.
2023-01-20 18:49:46 +00:00
Bram Moolenaar
f7d1c6e188
patch 9.0.1211: storing value in interface member does not always work
...
Problem: Storing value in interface member does not always work.
Solution: Convert the index on the interface to the index on the object.
2023-01-16 20:47:57 +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
554d031302
patch 9.0.1150: :interface is not implemented yet
...
Problem: :interface is not implemented yet.
Solution: Implement the basics of :interface.
2023-01-05 19:59:18 +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
03ff0c6681
patch 9.0.1135: missing function argument
...
Problem: Missing function argument.
Solution: Add ignore case flag.
2023-01-02 20:38:01 +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
0d89d8ae89
patch 9.0.1119: type of arguments not checked when calling a partial
...
Problem: Type of arguments not checked when calling a partial.
Solution: Give an error for a wrong argument type. (closes #11753 )
2022-12-31 14:01:24 +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
590162cae0
patch 9.0.1093: using freed memory of object member
...
Problem: Using freed memory of object member. (Yegappan Lakshmanan)
Solution: Make a copy of the object member when getting it.
2022-12-24 21:24:06 +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
65b0d16768
patch 9.0.1053: default constructor arguments are not optional
...
Problem: Default constructor arguments are not optional.
Solution: Use "= v:none" to make constructor arguments optional.
2022-12-13 18:43:22 +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
d28d7b94f5
patch 9.0.1035: object members are not being marked as used
...
Problem: Object members are not being marked as used, garbage collection
may free them.
Solution: Mark object members as used. Fix reference counting.
2022-12-08 20:42:00 +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
ef2c325f5e
patch 9.0.0949: crash when unletting a variable while listing variables
...
Problem: Crash when unletting a variable while listing variables.
Solution: Disallow changing a hashtable while going over the entries.
(closes #11435 )
2022-11-25 16:31:51 +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
bdc09a18fc
patch 9.0.0683: cannot specify a time for :echowindow
...
Problem: Cannot specify a time for :echowindow.
Solution: A count can be used to specify the display time. Add
popup_findecho().
2022-10-07 14:31:45 +01:00
Bram Moolenaar
87b4e5c5db
patch 9.0.0632: calling a function from an "expr" option has overhead
...
Problem: Calling a function from an "expr" option has too much overhead.
Solution: Add call_simple_func() and use it for 'foldexpr'
2022-10-01 15:32:46 +01:00
Bram Moolenaar
1936c76536
patch 9.0.0617: calling function for reduce() has too much overhead
...
Problem: Calling function for reduce() has too much overhead.
Solution: Only call clear_tv() when needed.
2022-09-28 15:19:10 +01:00
Bram Moolenaar
5800c79838
patch 9.0.0549: duplicated code in calling a :def function
...
Problem: Duplicated code in calling a :def function.
Solution: Simplify the code.
2022-09-22 17:34:01 +01:00
Bram Moolenaar
6d313bec53
patch 9.0.0547: looping over empty out_loop[] entries
...
Problem: Looping over empty out_loop[] entries.
Solution: Store the array size.
2022-09-22 16:36: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
cc34181f99
patch 9.0.0502: a closure in a nested loop in a :def function does not work
...
Problem: A closure in a nested loop in a :def function does not work.
Solution: Use an array of loopvars, one per loop level.
2022-09-19 15:54:34 +01:00
Bram Moolenaar
566badc76b
patch 9.0.0499: in :def function list created after const is locked
...
Problem: In :def function list created after const is locked.
Solution: Reset v_lock. (closes #11154 )
2022-09-18 13:46:08 +01:00
Bram Moolenaar
dbbb02bc77
patch 9.0.0495: closure doesn't work properly in nested loop
...
Problem: Closure doesn't work properly in nested loop.
Solution: Save variables up to the outer loop.
2022-09-18 12:00:21 +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
acd6b9976b
patch 9.0.0487: using freed memory with combination of closures
...
Problem: Using freed memory with combination of closures.
Solution: Do not use a partial after it has been freed through the
funcstack.
2022-09-17 16:27:39 +01:00
Bram Moolenaar
0cdfb7ce46
patch 9.0.0485: 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: Make a copy of loop variables used in a closure.
2022-09-17 15:44:52 +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
b46c083a5e
patch 9.0.0470: 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: When in a loop and a closure refers to a variable declared in the
loop, prepare for making a copy of variables for each closure.
2022-09-15 17:19:37 +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
6de2296e5e
patch 9.0.0432: crash when using for loop variable in closure
...
Problem: Crash when using for loop variable in closure.
Solution: Check that the variable wasn't deleted. (issue #11094 )
2022-09-09 21:35:36 +01:00
Bram Moolenaar
c9c967da09
patch 9.0.0405: arguments in a partial not used by a :def function
...
Problem: Arguments in a partial not used by a :def function.
Solution: Put the partial arguments on the stack.
2022-09-07 16:48:46 +01:00
Bram Moolenaar
98aff658d5
patch 9.0.0399: using :defer in expression funcref not tested
...
Problem: Using :defer in expression funcref not tested.
Solution: Add a test. Fix uncovered problems.
2022-09-06 21:02:35 +01:00
Bram Moolenaar
ca16c60f33
patch 9.0.0398: members of funccall_T are inconsistently named
...
Problem: Members of funccall_T are inconsistently named.
Solution: Use the "fc_" prefix for all members.
2022-09-06 18:57:08 +01:00
Bram Moolenaar
58779858fb
patch 9.0.0397: :defer not tested with exceptions and ":qa!"
...
Problem: :defer not tested with exceptions and ":qa!".
Solution: Test :defer works when exceptions are thrown and when ":qa!" is
used. Invoke the deferred calls on exit.
2022-09-06 18:31:14 +01:00
Bram Moolenaar
31ea6bf530
patch 9.0.0382: freeing the wrong string on failure
...
Problem: Freeing the wrong string on failure.
Solution: Adjust the argument. Reorder the code.
2022-09-05 10:47:13 +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
a5348f241b
patch 9.0.0373: Coverity warns for NULL check and unused return value
...
Problem: Coverity warns for NULL check and unused return value.
Solution: Remove the NULL check, it was already checked earlier. Add (void)
to ignore the return value.
2022-09-04 11:42:22 +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
7d7ad7b2e8
patch 9.0.0350: :echowindow does not work in a compiled function
...
Problem: :echowindow does not work in a compiled function.
Solution: Handle the expression at compile time.
2022-09-01 16:00:53 +01:00
Bram Moolenaar
bd683e3a79
patch 9.0.0056: wrong line number reported when :cexpr fails in :def function
...
Problem: Wrong line number reported when :cexpr fails in :def function.
Solution: Set line_number before executing :cexpr. (closes #10735 )
2022-07-18 17:49:03 +01:00