Bram Moolenaar
1b5f7a6202
patch 8.2.3868: Vim9: function test fails
...
Problem: Vim9: function test fails.
Solution: Add missing changes. Add test for earlier patch.
2021-12-21 13:30:42 +00:00
Bram Moolenaar
44a8977de4
patch 8.2.3844: Vim9: no type error if assigning func(number) to func(string)
...
Problem: Vim9: no type error if assigning a value with type func(number) to
a variable of type func(string).
Solution: Use check_type_maybe(): return MAYBE if a runtime type check is
useful. (issue #8492 )
2021-12-18 12:31:33 +00:00
Bram Moolenaar
e124204c4f
patch 8.2.3830: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2021-12-16 20:56:57 +00:00
Bram Moolenaar
464393a696
patch 8.2.3429: leaking memory when assigning to list or dict
...
Problem: Leaking memory when assigning to list or dict.
Solution: Free the list or dict type before overwriting it.
2021-09-11 23:07:44 +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
c66f645b80
patch 8.2.3359: Vim9: error for type when variable is not set
...
Problem: Vim9: error for type when variable is not set.
Solution: Give a specific error for a NULL function. (closes #8773 )
2021-08-19 21:08:30 +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
Yegappan Lakshmanan
8ee52affe7
patch 8.2.3320: some local functions are not static
...
Problem: Some local functions are not static.
Solution: Add "static". Move snprintf() related code to strings.c.
(Yegappan Lakshmanan, closes #8734 )
2021-08-09 19:59:06 +02:00
Bram Moolenaar
f78da4f9d6
patch 8.2.3269: Vim9: wrong argument check for partial
...
Problem: Vim9: wrong argument check for partial. (Naohiro Ono)
Solution: Handle getting return type without arguments. Correct the minimal
number of arguments for what is included in the partial.
(closes #8667 )
2021-08-01 15:40:31 +02:00
Bram Moolenaar
60dc8274e9
patch 8.2.3249: Vim9: error for re-imported function with default argument
...
Problem: Vim9: error for re-imported function with default argument.
Solution: Do not check argument type if it is still unknown. (closes #8653 )
2021-07-29 22:48:54 +02:00
Bram Moolenaar
7a3fe3e180
patch 8.2.3200: Vim9: hard to guess where a type error is given
...
Problem: Vim9: hard to guess where a type error is given.
Solution: Add the function name where possible. (closes #8608 )
2021-07-22 14:58:47 +02:00
Bram Moolenaar
9da32e4d57
patch 8.2.3134: crash when using typename() on a function reference
...
Problem: Crash when using typename() on a function reference. (Naohiro Ono)
Solution: Initialize pointer to NULL. (closes #8531 )
2021-07-09 19:53:57 +02:00
Bram Moolenaar
97f227d9c9
patch 8.2.3105: Vim9: type of partial is wrong when it has arguments
...
Problem: Vim9: type of partial is wrong when it has arguments.
Solution: Subtract arguments from the count. (issue #8492 )
2021-07-04 20:20:52 +02:00
Bram Moolenaar
b7480cd893
patch 8.2.3104: Vim9: unspecified function type causes type error
...
Problem: Vim9: unspecified function type causes type error.
Solution: Don't check type when min_argcount is negative. (issue #8492 )
2021-07-04 18:28:15 +02:00
Bram Moolenaar
7a40ff00ed
patch 8.2.3100: Vim9: no error when using type with unknown number of args
...
Problem: Vim9: no error when using type with unknown number of arguments.
Solution: Do not ignore argument count of -1. (closes #8492 )
2021-07-04 15:54:08 +02:00
Bram Moolenaar
831bdf8622
patch 8.2.3035: Vim9: crash when calling :def function with partial
...
Problem: Vim9: crash when calling :def function with partial and return
type is not set.
Solution: When the return type is not set handle like the return type is
unknown. (closes #8422 )
2021-06-22 19:32:17 +02:00
Bram Moolenaar
e99d422bbd
patch 8.2.2985: Vim9: a compiled function cannot be debugged
...
Problem: Vim9: a compiled function cannot be debugged.
Solution: Add initial debugging support.
2021-06-13 14:01:26 +02:00
Bram Moolenaar
f18332fb9e
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
...
Problem: Vim9: skip argument to searchpair() is not compiled.
Solution: Add VAR_INSTR.
2021-05-07 17:55:55 +02:00
Bram Moolenaar
f2253963c2
patch 8.2.2759: Vim9: for loop infers type of loop variable
...
Problem: Vim9: for loop infers type of loop variable.
Solution: Do not get the member type. (closes #8102 )
2021-04-13 20:53:13 +02:00
Bram Moolenaar
108cf0153c
patch 8.2.2621: typval2type() cannot handle recursive structures
...
Problem: typval2type() cannot handle recursive structures.
Solution: Use copyID. (closes #7979 )
2021-03-18 22:15:04 +01:00
Bram Moolenaar
93e1cae739
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
...
Problem: Vim9: crash when putting an unknown type in a dictionary.
(Yegappan Lakshmanan)
Solution: Handle a NULL type pointer.
2021-03-13 21:24:56 +01:00
Bram Moolenaar
f785aa1354
patch 8.2.2501: not always clear where an error is reported
...
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes #7796 )
2021-02-11 21:19:34 +01:00
Bram Moolenaar
ba98fb54ae
patch 8.2.2486: Vim9: some errors for white space do not show context
...
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
2021-02-07 18:06:29 +01:00
Bram Moolenaar
c3fc75db02
patch 8.2.2480: Vim9: some errors for white space do not show context
...
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
2021-02-07 15:28:09 +01:00
Bram Moolenaar
b204990346
patch 8.2.2400: Vim9: compiled functions are not profiled
...
Problem: Vim9: compiled functions are not profiled.
Solution: Add initial changes to profile compiled functions. Fix that a
script-local function was hard to debug.
2021-01-24 12:53:53 +01:00
Bram Moolenaar
351ead09dd
patch 8.2.2362: Vim9: check of builtin function argument type is incomplete
...
Problem: Vim9: check of builtin function argument type is incomplete.
Solution: Use need_type() instead of check_arg_type().
2021-01-16 16:07:01 +01:00
Bram Moolenaar
a47e05f04a
patch 8.2.2339: cannot get the type of a value as a string
...
Problem: Cannot get the type of a value as a string.
Solution: Add typename().
2021-01-12 21:49:00 +01:00
Bram Moolenaar
32b3f82010
patch 8.2.2306: Vim9: when using function reference type is not checked
...
Problem: Vim9: when using function reference type is not checked.
Solution: When using a function reference lookup the type and check the
argument types. (issue #7629 )
2021-01-06 21:59:39 +01:00
Bram Moolenaar
e68b02a1c4
patch 8.2.2283: Vim9: crash when lambda has fewer arguments than expected
...
Problem: Vim9: crash when lambda has fewer arguments than expected.
Solution: Don't check arguments when already failed. (closes #7606 )
2021-01-03 13:09:51 +01:00
Bram Moolenaar
6b55377303
patch 8.2.2252: Vim9: crash when using lambda without return type in dict
...
Problem: Vim9: crash when using lambda without return type in dict.
Solution: Without a return type use t_unknown. (closes #7587 )
2020-12-31 13:31:23 +01:00
Bram Moolenaar
07a65d26e7
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
...
Problem: Vim9: crash if script reloaded with different variable type.
Solution: Check the type when accessing the variable.
2020-12-26 20:09:15 +01:00
Bram Moolenaar
c754b4cc98
patch 8.2.2212: Vim9: lambda with => does not work at the script level
...
Problem: Vim9: lambda with => does not work at the script level.
Solution: Make it work.
2020-12-25 15:24:23 +01:00
Bram Moolenaar
3868f59466
patch 8.2.2210: Vim9: allocating a type to set TTFLAG_BOOL_OK
...
Problem: Vim9: allocating a type to set TTFLAG_BOOL_OK.
Solution: Add t_number_bool.
2020-12-25 13:20:41 +01:00
Bram Moolenaar
9e68c32563
patch 8.2.2209: Vim9: return type of => lambda not parsed
...
Problem: Vim9: return type of => lambda not parsed.
Solution: Parse and use the return type.
2020-12-25 12:38:04 +01:00
Bram Moolenaar
193f6201b4
patch 8.2.1996: Vim9: invalid error for argument of extend()
...
Problem: Vim9: invalid error for argument of extend().
Solution: Check if the type could match. (closes #7299 )
2020-11-16 20:08:35 +01:00
Bram Moolenaar
9c13f76275
patch 8.2.1950: Vim9: crash when compiling function fails when getting type
...
Problem: Vim9: crash when compiling function fails when getting type.
Solution: Handle NULL type. (closes #7253 )
2020-11-04 12:00:53 +01:00
Bram Moolenaar
2bb2658bef
patch 8.2.1795: Vim9: operators && and || have a confusing result
...
Problem: Vim9: operators && and || have a confusing result.
Solution: Make the result a boolean.
2020-10-03 22:52:39 +02:00
Bram Moolenaar
92f26c256e
patch 8.2.1794: no falsy Coalescing operator
...
Problem: No falsy Coalescing operator.
Solution: Add the "??" operator. Fix mistake with function argument count.
2020-10-03 20:17:30 +02:00
Bram Moolenaar
5597ba0467
patch 8.2.1758: Vim9: type of unmaterialized list is wrong
...
Problem: Vim9: type of unmaterialized list is wrong.
Solution: Use list<number>.
2020-09-27 17:45:03 +02:00
Bram Moolenaar
dbd759309b
patch 8.2.1722: Vim9: cannot assign a lambda to a variable of type function
...
Problem: Vim9: cannot assign a lambda to a variable of type function.
Solution: Allow for assigning a partial to a variable of type function.
(Naruhiko Nishino, closes #6996 )
2020-09-21 21:48:21 +02:00
Bram Moolenaar
77b20977dc
patch 8.2.1710: Vim9: list of list type can be wrong
...
Problem: Vim9: list of list type can be wrong.
Solution: Use VAR_UNKNOWN for empty list. Recognize VAR_UNKNOWN when
looking for a common type. (closes #6979 )
2020-09-19 14:12:34 +02:00
Bram Moolenaar
5e65423077
patch 8.2.1691: Vim9: list<any> is not accepted where list<number> is expected
...
Problem: Vim9: list<any> is not accepted where list<number> is expected.
Solution: Add functions to allocate and free a type_T, use it in
ISN_CHECKTYPE. (closes #6959 )
2020-09-16 15:22:00 +02:00
Bram Moolenaar
c1ec0422e4
patch 8.2.1650: Vim9: result of && and || expression is not bool in script
...
Problem: Vim9: result of && and || expression cannot be assigned to a bool
at the script level.
Solution: Add the VAR_BOOL_OK flag. Convert to bool when needed.
2020-09-09 22:27:58 +02:00
Bram Moolenaar
ba7c0d7b4c
patch 8.2.1644: Vim9: cannot assign 1 and 0 to bool at script level
...
Problem: Vim9: cannot assign 1 and 0 to bool at script level.
Solution: Add the TTFLAG_BOOL_OK flag to the type. Fix name of test
function.
2020-09-09 18:54:42 +02:00
Bram Moolenaar
29a86ffee7
patch 8.2.1641: Vim9: cannot use 0 or 1 where a bool is expected
...
Problem: Vim9: cannot use 0 or 1 where a bool is expected.
Solution: Allow using 0 and 1 for a bool type. (closes #6903 )
2020-09-09 14:55:31 +02:00
Bram Moolenaar
8b565c2c15
patch 8.2.1551: Vim9: error for argument type does not mention the number
...
Problem: Vim9: error for argument type does not mention the number.
Solution: Pass the argument number to where the error is given.
2020-08-30 23:24:20 +02:00
Bram Moolenaar
7cb6fc29d0
patch 8.2.1504: Vim9: white space checks are only done for a :def function
...
Problem: Vim9: white space checks are only done for a :def function.
Solution: Also do checks at the script level. Adjust the name of a few
error messages.
2020-08-21 22:36:47 +02:00
Bram Moolenaar
451c2e3536
patch 8.2.1460: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more messages into errors.h.
2020-08-15 16:33:28 +02:00
Bram Moolenaar
41fab3eac8
patch 8.2.1451: Vim9: list type at script level only uses first item
...
Problem: Vim9: list type at script level only uses first item.
Solution: Use all members, like in a compiled function. (closes #6712 )
Also for dictionary.
2020-08-14 21:27:37 +02:00
Bram Moolenaar
bc4c505166
patch 8.2.1444: error messages are spread out and names can be confusing
...
Problem: Error messages are spread out and names can be confusing.
Solution: Start moving error messages to a separate file and use clear
names.
2020-08-13 22:47:35 +02:00