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