1
0
forked from aniani/vim
Commit Graph

148 Commits

Author SHA1 Message Date
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
Bram Moolenaar
ef8f04b1d1 patch 8.2.3911: Vim9: type check for filter() does not accept unknown
Problem:    Vim9: type check for filter() does not accept unknown.
Solution:   Also accept unknown for the return type. (closes #9413)
2021-12-27 12:29:19 +00:00
Bram Moolenaar
23018f2d4b patch 8.2.3910: when compare function of sort() fails it does not abort
Problem:    When the compare function of sort() produces and error then sort()
            does not abort.
Solution:   Check if did_emsg was incremented.
2021-12-27 11:54:37 +00:00
Bram Moolenaar
7319981f21 patch 8.2.3904: Vim9: skip expression type is not checked at compile time
Problem:    Vim9: skip expression type is not checked at compile time.
Solution:   Add argument type checks.
2021-12-26 17:18:14 +00:00
Bram Moolenaar
1802405d71 patch 8.2.3897: Vim9: second argument of map() and filter() not checked
Problem:    Vim9: the second argument of map() and filter() is not checked at
            compile time.
Solution:   Add more specific type check for the second argument.
2021-12-25 21:43:28 +00:00
Bram Moolenaar
ae1068afde patch 8.2.3895: Vim9: confusing error when using function() with a number
Problem:    Vim9: confusing error when using function() with a number.
Solution:   Check for a function or string argument.
2021-12-25 19:43:44 +00:00
Bram Moolenaar
223d0a6bc8 patch 8.2.3894: Vim9: no proper type check for first argument of call()
Problem:    Vim9: no proper type check for first argument of call().
Solution:   Add specific type check.
2021-12-25 19:29:21 +00:00
Bram Moolenaar
080182216e patch 8.2.3872: Vim9: finddir() and uniq() return types can be more specific
Problem:    Vim9: finddir() and uniq() return types can be more specific.
Solution:   Adjust the return type.
2021-12-22 18:45:37 +00:00
Bram Moolenaar
2f9f4ccfc8 patch 8.2.3857: Vim9: inconsistent error for using function()
Problem:    Vim9: inconsistent error for using function().
Solution:   Use a runtime type check for the result of function().
            (closes #8492)
2021-12-20 09:36:27 +00:00
Bram Moolenaar
86b3ab4fa0 patch 8.2.3854: Vim9: inconsistent arguments for test functions
Problem:    Vim9: inconsistent arguments for test functions.
Solution:   When :def function and script have different arguments use a list
            with two items instead of a separate function.
2021-12-19 18:33:23 +00:00
rbtnn
0ccb5842f5 patch 8.2.3848: cannot use reduce() for a string
Problem:    Cannot use reduce() for a string.
Solution:   Make reduce() work with a string. (Naruhiko Nishino, closes #9366)
2021-12-18 18:33:46 +00:00
Dominique Pelle
0dc4d8eaec patch 8.2.3845: Vim9: test fails when the channel feature is missing
Problem:    Vim9: test fails when the channel feature is missing.
Solution:   Check for the channel feature. (Dominique Pellé, closes #9368)
2021-12-18 12:40:52 +00:00
Bram Moolenaar
2d877599ee patch 8.2.3822: leaking memory in map() and filter(), no string in Vim9
Problem:    Leaking memory in map() and filter(), cannot use a string argument
            in Vim9 script.
Solution:   Fix the leak, adjust the argument check, also run the tests as
            Vim9 script. (Yegappan Lakshmanan, closes #9354)
2021-12-16 08:21:09 +00:00
Bram Moolenaar
f0e496a85a patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Problem:    Vim9: valgrind reports spurious problems for a test.
Solution:   Move the test to the set that is known to fail.
2021-12-01 12:41:31 +00:00
Bram Moolenaar
c449271f4e patch 8.2.3646: using <sfile> in a function gives an unexpected result
Problem:    Using <sfile> in a function gives an unexpected result.
Solution:   Give an error in a Vim9 function. (issue #9189)
2021-11-22 15:37:15 +00:00
Yegappan Lakshmanan
2a16dc6613 patch 8.2.3605: cannot clear and unlinke a highlight group with hlset()
Problem:    Cannot clear and unlinke a highlight group with hlset() in a
            single call.
Solution:   Add the "force" option. (Yegappan Lakshmanan, closes #9117)
2021-11-16 17:19:30 +00:00
Yegappan Lakshmanan
d1a8d658e1 patch 8.2.3578: manipulating highlighting is complicated
Problem:    Manipulating highlighting is complicated.
Solution:   Add the hlget() and hlset() functions. (Yegappan Lakshmanan,
            closes #9039)
2021-11-03 21:56:45 +00:00
Yegappan Lakshmanan
51491adfa8 patch 8.2.3459: Vim9: need more tests for empty string arguments
Problem:    Vim9: need more tests for empty string arguments.
Solution:   Add more tests.  Also use empty argument with menu_info() to get
            the top-level menu names. (Yegappan Lakshmanan, closes #8925)
2021-09-30 19:00:00 +01:00
Yegappan Lakshmanan
f8dbd58666 patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Problem:    Vim9: Not all functions are tested with an empty string argument.
Solution:   Add tests with empty strings. (Yegappan Lakshmanan, closes #8915)
2021-09-26 19:04:05 +01:00
Yegappan Lakshmanan
820d5525ca patch 8.2.3446: not enough tests for empty string arguments
Problem:    Not enough tests for empty string arguments.
Solution:   Add tests, fix type check. (Yegappan Lakshmanan, closes #8881)
2021-09-17 21:07:35 +02:00
Yegappan Lakshmanan
5dfe467432 patch 8.2.3438: cannot manipulate blobs
Problem:    Cannot manipulate blobs.
Solution:   Add blob2list() and list2blob(). (Yegappan Lakshmanan,
            closes #8868)
2021-09-14 17:54:30 +02:00
Bram Moolenaar
b3bf33a7b2 patch 8.2.3427: double free when list is copied
Problem:    Double free when list is copied.
Solution:   Allocate the type when making a copy. (closes #8862)
            Clear the type for flattennew().  Avoid a memory leak when
            flattennew() fails.
2021-09-11 20:20:38 +02:00
Yegappan Lakshmanan
fc3b775055 patch 8.2.3415: Vim9: not all function argument types are properly checked
Problem:    Vim9: Not all function argument types are properly checked.
Solution:   Add and improve argument type checks. (Yegappan Lakshmanan,
            closes #8839)
2021-09-08 14:57:42 +02:00
Bram Moolenaar
10c83dde55 patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Problem:    Vim9: cannot use a negative count with finddir() and findfile().
Solution:   Adjust the return type. (closes #8776)
2021-09-04 14:49:56 +02:00
Bram Moolenaar
c8103b4c25 patch 8.2.3382: crash when getting the type of a NULL partial
Problem:    Crash when getting the type of a NULL partial.
Solution:   Check for NULL. (closes #8260)
2021-08-28 14:58:44 +02:00
Bram Moolenaar
b8bd2e6eba patch 8.2.3363: when :edit reuses the current buffer the alternate file is set
Problem:    When :edit reuses the current buffer the alternate file is set to
            the same buffer.
Solution:   Only set the alternate file when not reusing the buffer.
            (closes #8783)
2021-08-21 17:13:14 +02:00
Yegappan Lakshmanan
ccfb7c6758 patch 8.2.3356: adding many text properties requires a lot of function calls
Problem:    Adding many text properties requires a lot of function calls.
Solution:   Add the prop_add_list() function. (Yegappan Lakshmanan,
            closes #8751)
2021-08-16 21:39:09 +02:00
Bram Moolenaar
b56c4419d4 patch 8.2.3322: Vim9: checking type of dict does not check member type
Problem:    Vim9: checking type of dict does not check member type.
Solution:   When getting the type of a typval use dv_type and lv_type.
            (closes #8732)
2021-08-09 22:22:27 +02:00
Bram Moolenaar
267359902c patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Problem:    Behavior of exists() in a :def function is unpredictable.
Solution:   Add exists_compiled().
2021-08-08 14:43:22 +02:00
Bram Moolenaar
5671f3f076 patch 8.2.3299: Vim9: exists() does not handle much at compile time
Problem:    Vim9: exists() does not handle much at compile time.
Solution:   Handle variable names. (closes #8688)
2021-08-05 22:48:11 +02:00
Bram Moolenaar
bb7ee7abe1 patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Problem:    Vim9: exists() can only be evaluated at runtime.
Solution:   Evaluate at compile time for option name literals. (closes #8437)
2021-08-02 20:06:50 +02:00
Bram Moolenaar
1780f08ba4 patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Problem:    Vim9: when compiling repeat(123, N) return type is number.
Solution:   Make return type a string. (closes #8664)
2021-07-31 22:03:59 +02:00