summaryrefslogtreecommitdiffstats
path: root/src/proto/vim9instr.pro
AgeCommit message (Collapse)Author
2024-01-01patch 9.0.2190: proto files need updatev9.0.2190Christian Brabandt
Problem: proto files need update Solution: re-generate them Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-17patch 9.0.2038: Vim9: object method funcref not cleaned up after usev9.0.2038Yegappan Lakshmanan
Problem: Vim9: object method funcref not cleaned up after use Solution: Clean up type stack after using object method funcref, remove now longer used ISN_DEFEROBJ instrunction closes: #13360 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-14patch 9.0.2019: Vim9: no support for funcrefsv9.0.2019Yegappan Lakshmanan
Problem: Vim9: no support for funcrefs Solution: Add support for object/class funcref members closes: #11981 #12417 #12960 #12324 #13333 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-29patch 9.0.1955: Vim9: lockvar issues with objects/classesv9.0.1955Ernie Rael
Problem: Vim9: lockvar issues with objects/classes Solution: fix `get_lhs()` object/class access and avoid `SEGV`, make error messages more accurate. - `get_lval()` detects/returns object/class access - `compile_lock_unlock()` generate code for bare static and obj_arg access - `do_lock_var()` check lval for `ll_object`/`ll_class` and fail if so. Details: - Add `ll_object`/`ll_class`/`ll_oi` to `lval_T`. - Add `lockunlock_T` to `isn_T` for `is_arg` to specify handling of `lval_root` in `get_lval()`. - In `get_lval()`, fill in `ll_object`/`ll_class`/`ll_oi` as needed; when no `[idx] or .key`, check lval_root on the way out. - In `do_lock_var()` check for `ll_object`/`ll_class`; also bullet proof ll_dict case and give `Dictionay required` if problem. (not needed to avoid lockvar crash anymore) - In `compile_lock_unlock()` compile for the class variable and func arg cases. closes: #13174 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-29patch 9.0.1952: Vim9: unused static fieldv9.0.1952Yegappan Lakshmanan
Problem: Vim9: unused static field Solution: remove it and simplify code closes: #13220 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-27patch 9.0.1944: Vim9: function instruction pointer invalidatedv9.0.1944Yegappan Lakshmanan
Problem: Vim9: function instruction pointer invalidated Solution: Use the funcref index instead of the instruction pointer closes: #13178 closes: #13196 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-24patch 9.0.1928: Vim9: constructor type checking bugv9.0.1928h-east
Problem: Vim9: constructor type checking bug Solution: Fix class constructor regression closes: #13102 closes: #13113 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: h-east <h.east.727@gmail.com>
2023-09-04patch 9.0.1867: Vim9: access to interface statics possiblev9.0.1867Ernie Rael
Problem: Vim9: access to interface statics possible Solution: Prevent direct access to interface statics closes: #13007 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
2023-08-27patch 9.0.1796: Vim9 problems with null_objectsv9.0.1796Ernie Rael
Problem: Vim9 problems with null_objects Solution: Vim9 improve null_object usage Fix "xvar == null", where xvar might have been assigned null_object. Fix compilation failure: "var o2: C = null_object". closes: #12890 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
2023-08-17patch 9.0.1724: vim9class constructor argument type checking bugv9.0.1724h-east
Problem: vim9class constructor argument type checking bug Solution: fix it closes: #12816 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: h-east <h.east.727@gmail.com>
2023-02-08patch 9.0.1292: :defer may call the wrong method for an objectv9.0.1292Bram Moolenaar
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-01-28patch 9.0.1254: calling a method on an interface does not workv9.0.1254Bram Moolenaar
Problem: Calling a method on an interface does not work. Solution: At runtime figure out what method to call. (closes #11901)
2023-01-27patch 9.0.1250: cannot use an object method with :deferv9.0.1250Bram Moolenaar
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-16patch 9.0.1209: getting interface member does not always workv9.0.1209Bram Moolenaar
Problem: Getting interface member does not always work. Solution: Convert the index on the interface to the index on the object. (closes #11825)
2022-12-29patch 9.0.1108: type error when using "any" type and adding to floatv9.0.1108Bram Moolenaar
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-18patch 9.0.1074: class members are not supported yetv9.0.1074Bram Moolenaar
Problem: Class members are not supported yet. Solution: Add initial support for class members.
2022-12-13patch 9.0.1053: default constructor arguments are not optionalv9.0.1053Bram Moolenaar
Problem: Default constructor arguments are not optional. Solution: Use "= v:none" to make constructor arguments optional.
2022-12-10patch 9.0.1045: in a class object members cannot be initializedv9.0.1045Bram Moolenaar
Problem: In a class object members cannot be initialized. Solution: Support initializing object members. Make "dissassemble" work on an object method.
2022-12-09patch 9.0.1041: cannot define a method in a classv9.0.1041Bram Moolenaar
Problem: Cannot define a method in a class. Solution: Implement defining an object method. Make calling an object method work.
2022-12-08patch 9.0.1031: Vim9 class is not implemented yetv9.0.1031Bram Moolenaar
Problem: Vim9 class is not implemented yet. Solution: Add very basic class support.
2022-10-07patch 9.0.0683: cannot specify a time for :echowindowv9.0.0683Bram Moolenaar
Problem: Cannot specify a time for :echowindow. Solution: A count can be used to specify the display time. Add popup_findecho().
2022-09-19patch 9.0.0502: a closure in a nested loop in a :def function does not workv9.0.0502Bram Moolenaar
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-16patch 9.0.0481: in :def function all closures in loop get the same variablesv9.0.0481Bram Moolenaar
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-15patch 9.0.0470: in :def function all closures in loop get the same variablesv9.0.0470Bram Moolenaar
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-08patch 9.0.0419: the :defer command does not check the function argumentsv9.0.0419Bram Moolenaar
Problem: The :defer command does not check the function argument count and types. Solution: Check the function arguments when adding a deferred function.
2022-09-03patch 9.0.0370: cleaning up afterwards can make a function messyv9.0.0370Bram Moolenaar
Problem: Cleaning up afterwards can make a function messy. Solution: Add the :defer command.
2022-05-25patch 8.2.5018: Vim9: some code is not covered by testsv8.2.5018Bram Moolenaar
Problem: Vim9: some code is not covered by tests. Solution: Delete dead code.
2022-05-17patch 8.2.4973: Vim9: type error for list unpack mentions argumentv8.2.4973Bram Moolenaar
Problem: Vim9: type error for list unpack mentions argument. Solution: Mention variable. (close #10435)
2022-04-25patch 8.2.4823: concat more than 2 strings in :def function is inefficientv8.2.4823LemonBoy
Problem: Concatenating more than 2 strings in a :def function is inefficient. Solution: Add a count to the CONCAT instruction. (closes #10276)
2022-03-30patch 8.2.4650: "import autoload" only works with using 'runtimepath'v8.2.4650Bram Moolenaar
Problem: "import autoload" only works with using 'runtimepath'. Solution: Also support a relative and absolute file name.
2022-03-27patch 8.2.4634: Vim9: cannot initialize a variable to null_listv8.2.4634Bram Moolenaar
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-23patch 8.2.4612: Vim9: cannot use a recursive call in a nested functionv8.2.4612Bram Moolenaar
Problem: Vim9: cannot use a recursive call in a nested function. (Sergey Vlasov) Solution: Define the funcref before compiling the function. (closes #9989)
2022-03-20patch 8.2.4602: Vim9: not enough test coverage for executing :def functionv8.2.4602Bram Moolenaar
Problem: Vim9: not enough test coverage for executing :def function. Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
2022-01-25patch 8.2.4216: Vim9: cannot use a function from an autoload import directlyv8.2.4216Bram Moolenaar
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-15patch 8.2.4103: Vim9: variable declared in for loop not initialzedv8.2.4103Bram Moolenaar
Problem: Vim9: variable declared in for loop not initialzed. Solution: Always initialze the variable. (closes #9535)
2022-01-08patch 8.2.4045: some global functions are only used in one filev8.2.4045Yegappan Lakshmanan
Problem: Some global functions are only used in one file. Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492)
2022-01-04patch 8.2.3996: Vim9: type checking lacks information about declared typev8.2.3996Bram Moolenaar
Problem: Vim9: type checking for list and dict lacks information about declared type. Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to store two types in each entry.
2021-12-25patch 8.2.3893: Vim9: many local variables are initialized with an instructionv8.2.3893Bram Moolenaar
Problem: Vim9: many local variables are initialized with an instruction. Solution: Initialize local variables to zero to avoid the instructions.
2021-12-20patch 8.2.3860: Vim9: codecov struggles with the file sizev8.2.3860Bram Moolenaar
Problem: Vim9: codecov struggles with the file size. Solution: Split vim9compile.c into four files.