1
0
forked from aniani/vim
Commit Graph

179 Commits

Author SHA1 Message Date
LemonBoy
0f7a3e1de6 patch 8.2.5019: cannot get the first screen column of a character
Problem:    Cannot get the first screen column of a character.
Solution:   Let virtcol() optionally return a list. (closes #10482,
            closes #7964)
2022-05-26 12:10:37 +01:00
Yegappan Lakshmanan
1755a91851 patch 8.2.4981: it is not possible to manipulate autocommands
Problem:    It is not possible to manipulate autocommands.
Solution:   Add functions to add, get and set autocommands. (Yegappan
            Lakshmanan, closes #10291)
2022-05-19 10:31:47 +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
Ernie Rael
d8f5f76621 patch 8.2.4932: not easy to filter the output of maplist()
Problem:    Not easy to filter the output of maplist().
Solution:   Add mode_bits to the dictionary. (Ernie Rael, closes #10356)
2022-05-10 17:50:39 +01:00
Bram Moolenaar
2ac037f54b patch 8.2.4927: return type of remove() incorrect when using three arguments
Problem:    Return type of remove() incorrect when using three arguments.
Solution:   Use first argument type when there are three arguments.
            (closes #10387)
2022-05-09 14:12:14 +01:00
Bram Moolenaar
ec89223478 patch 8.2.4892: test failures because of changed error messages
Problem:    Test failures because of changed error messages.
Solution:   Adjust the exptected error messages.
2022-05-06 17:53:06 +01:00
Bram Moolenaar
3e79427803 patch 8.2.4879: screendump test may fail when using valgrind
Problem:    Screendump test may fail when using valgrind.
Solution:   Wait longer for the first screendump.
2022-05-06 11:21:19 +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
Ernie Rael
51d04d16f2 patch 8.2.4861: it is not easy to restore saved mappings
Problem:    It is not easy to restore saved mappings.
Solution:   Make mapset() accept a dict argument. (Ernie Rael, closes #10295)
2022-05-04 15:40:22 +01:00
Yegappan Lakshmanan
885de449c0 patch 8.2.4809: various things no6 properly tested
Problem:    Various things no6 properly tested.
Solution:   Add various test cases. (Yegappan Lakshmanan, closes #10259)
2022-04-23 10:51:14 +01:00
Bram Moolenaar
861fcee8de patch 8.2.4786: test for win_gotoid() in Visual mode fails on Mac
Problem:    Test for win_gotoid() in Visual mode fails on Mac.
Solution:   Skip the test on MacOS.
2022-04-18 19:16:55 +01:00
Bram Moolenaar
3aca0916f0 patch 8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer
Problem:    Visual mode not stopped early enough if win_gotoid() goes to
            another buffer. (Sergey Vlasov)
Solution:   Stop Visual mode before jumping to another buffer. (closes #10217)
2022-04-18 18:32:19 +01:00
Bram Moolenaar
aa7d0c2335 patch 8.2.4698: Vim9: script variable has no flag that it was set
Problem:    Vim9: script variable has no flag that it was set.
Solution:   Add a flag that it was set, to avoid giving it a value when used.
            (closes #10088)
2022-04-05 21:40:38 +01:00
Yegappan Lakshmanan
2b74b6805b patch 8.2.4679: cannot have expandcmd() give an error message for mistakes
Problem:    Cannot have expandcmd() give an error message for mistakes.
Solution:   Add an optional argument to give errors. Fix memory leak when
            expanding files fails. (Yegappan Lakshmanan, closes #10071)
2022-04-03 21:30:32 +01:00
Bram Moolenaar
24565cf27b patch 8.2.4643: Vim9: variable may be locked unintentionally
Problem:    Vim9: variable may be locked unintentionally.
Solution:   Clear "v_lock". (closes #10036)
2022-03-28 18:16:52 +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
Bram Moolenaar
ed0c62e7b1 patch 8.2.4529: Vim9: comparing partial with function fails
Problem:    Vim9: comparing partial with function fails.
Solution:   Support this comparison.  Avoid a crash. (closes #9909)
            Add more test cases.
2022-03-08 19:43:55 +00:00
Bram Moolenaar
fa02616718 patch 8.2.4459: Vim9: compiling sort() call fails with unknown arguments
Problem:    Vim9: compiling sort() call fails with a funcref that has unknown
            arguments.
Solution:   Do not check the arguments if they are unknown at compile time.
            (closes #9835)
2022-02-23 21:03:32 +00:00
Bram Moolenaar
6e1a38745f patch 8.2.4458: Vim9: compiling filter() call fails with unknown arguments
Problem:    Vim9: compiling filter() call fails with funcref that has unknown
            arguments.
Solution:   Do not check the arguments if they are unknown at compile time.
            (closes #9835)
2022-02-23 19:11:49 +00:00
Bram Moolenaar
e843efcc35 patch 8.2.4449: vim9: function argument of sort() not checked at compile time
Problem:    vim9: function argument of sort() not checked at compile time.
Solution:   Add a compile time check.
2022-02-22 21:54:44 +00:00
Bram Moolenaar
fe73255c92 patch 8.2.4446: Vim9: cannot refer to a global function like a local one
Problem:    Vim9: cannot refer to a global function like a local one.
Solution:   When g:name is not a variable but a function, use a function
            reference. (closes #9826)
2022-02-22 19:39:13 +00:00
Bram Moolenaar
16f6c8ac94 patch 8.2.4441: Vim9: function argument of filter() not checked like map()
Problem:    Vim9: function argument of filter() not checked like map().
Solution:   Also check the function argument of filter().
2022-02-22 15:12:14 +00:00
Bram Moolenaar
c1e6c7bafe patch 8.2.4426: map() function on string and blob does not check types
Problem:    map() function on string and blob does not check argument types at
            compile time.
Solution:   Check string and blob argument types.  Support "0z1234->func()".
2022-02-20 18:26:46 +00:00
Bram Moolenaar
eddd4fc4f6 patch 8.2.4425: map() function does not check function arguments
Problem:    map() function does not check function arguments at compile time.
Solution:   Give an error if the arguments of a map() function are wrong.
2022-02-20 15:52:28 +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
5f4ef5f5e5 patch 8.2.4313: Vim9: cannot change type of list after making a slice
Problem:    Vim9: cannot change type of list after making a slice.
Solution:   Adjust the declared member type. (closes #9696)
2022-02-06 18:36:53 +00:00
Bram Moolenaar
2626d6a71c patch 8.2.4310: Vim9: constant list and dict get a declaration type
Problem:    Vim9: constant list and dict get a declaration type other than
            "any".
Solution:   A constant list and dict have a declared member type "any".
            (closes #9701)
2022-02-06 15:49:35 +00:00
Bram Moolenaar
00eb99528e patch 8.2.4304: Vim9: slice() makes a copy but doesn't change the type
Problem:    Vim9: slice() makes a copy but doesn't change the type.
Solution:   Change the declared type like copy(). (closes #9696)
2022-02-05 19:23:18 +00:00
Bram Moolenaar
82e46e5d31 patch 8.2.4302: Vim9: return type of getline() is too strict
Problem:    Vim9: return type of getline() is too strict.
Solution:   Make the declared type list<any>.  Also do this for other
            functions returning a list of a specific type.
2022-02-05 18:12:34 +00:00
Bram Moolenaar
e0c2b2ceaa patch 8.2.4301: Vim9: type error for copy of dict
Problem:    Vim9: type error for copy of dict.
Solution:   Do not use dict<any> but no type. (closes #9696)
2022-02-05 14:05:51 +00:00
Bram Moolenaar
381692b6f1 patch 8.2.4286: Vim9: strict type checking after copy() and deepcopy()
Problem:    Vim9: strict type checking after copy() and deepcopy().
Solution:   Allow type to change after making a copy. (closes #9644)
2022-02-02 20:01:27 +00:00
Bram Moolenaar
8133018f50 patch 8.2.4279: Vim9: cannot change item type with map() after range()
Problem:    Vim9: cannot change item type with map() after range().
Solution:   Split the return type in current type and declared type.
            (closes #9665)
2022-02-01 12:11:58 +00:00
Yegappan Lakshmanan
9e0208f51c patch 8.2.4276: separate test function for the GUI scrollbar
Problem:    Separate test function for the GUI scrollbar.
Solution:   Use test_gui_event(). (Yegappan Lakshmanan, closes #9674)
2022-01-31 17:40:55 +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
Yegappan Lakshmanan
06011e1a55 patch 8.2.4259: number of test functions for GUI events is growing
Problem:    Number of test functions for GUI events is growing.
Solution:   Use one function with a dictionary. (Yegappan Lakshmanan,
            closes #9660)
2022-01-30 12:37:29 +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
35c807df1f patch 8.2.4231: Vim9: map() gives type error when type was not declared
Problem:    Vim9: map() gives type error when type was not declared.
Solution:   Only check the type when it was declared, like extend() does.
            (closes #9635)
2022-01-27 16:36:29 +00:00
Bram Moolenaar
745b938a48 patch 8.2.4229: possible crash when invoking timer callback fails
Problem:    Possible crash when invoking timer callback fails.
Solution:   Initialize the typval.  Give an error for an empty callback.
            (closes #9636)
2022-01-27 13:55:35 +00:00
Bram Moolenaar
1080c48ec8 patch 8.2.4224: Vim9: no error when using a number for map() second argument
Problem:    Vim9: no error when using a number for map() second argument
Solution:   Disallow number to string conversion. (closes #9630)
2022-01-26 18:26:21 +00:00
Bram Moolenaar
17dd519633 patch 8.2.4141: Vim9 builtin functions test fails
Problem:    Vim9 builtin functions test fails.
Solution:   Add "scriptversion" item to maparg() result.
2022-01-18 21:42:37 +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
078a46161e patch 8.2.3996: Vim9: type checking lacks information about declared type
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.
2022-01-04 15:17:03 +00:00
Bram Moolenaar
ad8f248585 patch 8.2.3994: Vim9: extend() complains about type when it was not declared
Problem:    Vim9: extend() complains about the type even when it was not
            declared.
Solution:   Only check the list or dict type when it was declared.
2022-01-03 16:52:28 +00:00
Bram Moolenaar
114dbda785 patch 8.2.3991: Vim9: error when extending dict<any>
Problem:    Vim9: error when extending dict<any> with another type that it was
            initialized with.
Solution:   Also set the type for dict<any> if the initializer has a more
            specific type. (closes #9461)
2022-01-03 12:28:03 +00:00
Dominique Pelle
8bfa0eb863 patch 8.2.3982: some lines of code not covered by tests
Problem:    Some lines of code not covered by tests.
Solution:   Add a few more test cases. (Dominique Pellé, closes #9453)
2022-01-02 16:16:33 +00:00
Bram Moolenaar
1f4a3457a3 patch 8.2.3974: Vim9: LISTAPPEND instruction does not check for a locked list
Problem:    Vim9: LISTAPPEND instruction does not check for a locked list.
Solution:   Check whether the list is locked. (closes #9452)
2022-01-01 18:29:21 +00:00
Bram Moolenaar
8b6256f6ec patch 8.2.3919: Vim9: wrong argument for append() results in two errors
Problem:    Vim9: wrong argument for append() results in two errors.
Solution:   Check did_emsg.  Also for setline().  Adjust the help for
            appendbufline().
2021-12-28 11:24:49 +00:00
Bram Moolenaar
8dac2acd6a patch 8.2.3916: no error for passing an invalid line number to append()
Problem:    No error for passing an invalid line number to append().
Solution:   In Vim9 script check for a non-negative number. (closes #9417)
2021-12-27 20:57:06 +00:00