Bram Moolenaar
fc74d03e76
patch 8.2.2000: Vim9: dict.key assignment not implemented yet
...
Problem: Vim9: dict.key assignment not implemented yet.
Solution: Implement dict.key assignment. (closes #7312 )
2020-11-16 22:11:49 +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
ea2d407f9c
patch 8.2.1977: Vim9: error for using a string in a condition is confusing
...
Problem: Vim9: error for using a string in a condition is confusing.
Solution: Give a more specific error. Also adjust the compile time type
checking for || and &&.
2020-11-12 12:08:51 +01:00
Bram Moolenaar
8cebd43e97
patch 8.2.1968: Vim9: has() assumes a feature does not change dynamically
...
Problem: Vim9: has() assumes a feature does not change dynamically.
Solution: Check whether a feature may change dynamically. (closes #7265 )
2020-11-08 12:49:47 +01:00
Bram Moolenaar
b4d16cb11d
patch 8.2.1956: Vim9: cannot specify argument types for lambda
...
Problem: Vim9: cannot specify argument types for lambda.
Solution: Allow adding argument types. Check arguments when calling a
function reference.
2020-11-05 18:45:46 +01:00
Bram Moolenaar
e88c8e802c
patch 8.2.1934: Vim9: command modifiers in :def function not tested
...
Problem: Vim9: command modifiers in :def function not tested.
Solution: Add tests. Fix using modifier before filter command.
2020-11-01 17:03:37 +01:00
Bram Moolenaar
d66960bf57
patch 8.2.1927: Vim9: get unknown error with an error in a timer function
...
Problem: Vim9: get unknown error with an error in a timer function.
Solution: Use did_emsg instead of called_emsg. (closes #7231 )
2020-10-30 20:46:26 +01:00
Bram Moolenaar
6cf7e3b026
patch 8.2.1915: Vim9: error for wrong number of arguments is not useful
...
Problem: Vim9: error for wrong number of arguments is not useful.
Solution: Mention whatever we have for the name. (closes #7208 )
2020-10-28 14:31:16 +01:00
Bram Moolenaar
02194d2bd5
patch 8.2.1900: Vim9: command modifiers do not work
...
Problem: Vim9: command modifiers do not work.
Solution: Make most command modifiers work.
2020-10-24 23:08:38 +02:00
Bram Moolenaar
e100440158
patch 8.2.1898: command modifier parsing always uses global cmdmod
...
Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
2020-10-24 20:49:43 +02:00
Bram Moolenaar
5661ed6c83
patch 8.2.1897: command modifiers are saved and set inconsistently
...
Problem: Command modifiers are saved and set inconsistently.
Solution: Separate parsing and applying command modifiers. Save values in
cmdmod_T.
2020-10-24 17:19:16 +02:00
Bram Moolenaar
f4c6e1e75c
patch 8.2.1894: Vim9: command modifiers are not supported
...
Problem: Vim9: command modifiers are not supported.
Solution: Support "silent" and "silent!".
2020-10-23 18:02:32 +02:00
Bram Moolenaar
683581eb49
patch 8.2.1891: Vim9: skipping over expression doesn't handle line breaks
...
Problem: Vim9: skipping over expression doesn't handle line breaks.
Solution: Pass evalarg to skip_expr(). (closes #7157 )
2020-10-22 21:22:58 +02:00
Bram Moolenaar
a1224cb706
patch 8.2.1884: compiler warning for uninitialized variable
...
Problem: Compiler warning for uninitialized variable. (John Marriott)
Solution: Initialize with NULL.
2020-10-22 12:31:49 +02:00
Bram Moolenaar
c58f5456e5
patch 8.2.1882: Vim9: v:disallow_let is no longer needed
...
Problem: Vim9: v:disallow_let is no longer needed.
Solution: Remove v:disallow_let.
2020-10-21 20:58:52 +02:00
Bram Moolenaar
af7a9066a9
patch 8.2.1880: Vim9: asan complains about adding zero to NULL
...
Problem: Vim9: Asan complains about adding zero to NULL.
Solution: Check for argument count first.
2020-10-21 16:49:17 +02:00
Bram Moolenaar
ca17453e73
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
...
Problem: Vim9: argument types of insert() not checked when compiling.
Solution: Add argument type checks for insert().
2020-10-21 16:42:22 +02:00
Bram Moolenaar
94738d8fab
patch 8.2.1876: Vim9: argument types are not checked at compile time
...
Problem: Vim9: argument types for builtin functions are not checked at
compile time.
Solution: Add an argument type checking mechanism. Implement type checks for
one function.
2020-10-21 14:25:07 +02:00
Bram Moolenaar
9a13e185e5
patch 8.2.1868: Vim9: no error for missing space after comma in dict
...
Problem: Vim9: no error for missing space after comma in dict.
Solution: Check for white space. (closes #6672 )
2020-10-19 21:45:07 +02:00
Bram Moolenaar
80b0e5ea11
patch 8.2.1867: Vim9: argument to add() not checked for blob
...
Problem: Vim9: argument to add() not checked for blob.
Solution: Add the BLOBAPPEND instruction.
2020-10-19 20:45:36 +02:00
Bram Moolenaar
1dcae59957
patch 8.2.1865: Vim9: add() does not check type of argument
...
Problem: Vim9: add() does not check type of argument.
Solution: Inline the add() call. (closes #7160 )
2020-10-19 19:02:42 +02:00
Bram Moolenaar
334a8b4bde
patch 8.2.1864: Vim9: no error for wrong list type
...
Problem: Vim9: no error for wrong list type.
Solution: Add flag to indicate a constant. (closes #7160 )
2020-10-19 16:07:42 +02:00
Bram Moolenaar
2ea79ad835
patch 8.2.1862: vim9: memory leak when compiling lambda fails
...
Problem: vim9: memory leak when compiling lambda fails.
Solution: Call clear_evalarg().
2020-10-18 23:32:13 +02:00
Bram Moolenaar
e13bdec6b9
patch 8.2.1855: Vim9: get error message when nothing is wrong
...
Problem: Vim9: get error message when nothing is wrong.
Solution: Check called_emsg instead of did_emsg. (closes #7143 )
2020-10-16 23:16:47 +02:00
Bram Moolenaar
27491cd3ef
patch 8.2.1851: Vim9: "!" followed by space incorrectly used
...
Problem: Vim9: "!" followed by space incorrectly used.
Solution: Skip over trailing spaces. (closes #7131 )
2020-10-15 21:54:56 +02:00
Bram Moolenaar
209f0208f7
patch 8.2.1847: Vim9: using negative value for unsigned type
...
Problem: Vim9: using negative value for unsigned type.
Solution: Use zero instead of -1.
2020-10-15 13:57:56 +02:00
Bram Moolenaar
fbbcd00367
patch 8.2.1846: Vim9: block variables are not found in compiled function
...
Problem: Vim9: variables declared in a local block are not found in
when a function is compiled.
Solution: Look for script variables in sn_all_vars.
2020-10-15 12:46:44 +02:00
Bram Moolenaar
f4e8cdd3d2
patch 8.2.1840: Vim9: error message is not clear about compilation error
...
Problem: Vim9: error message is not clear about compilation error.
Solution: Say "compiling" instead of "processing".
2020-10-12 22:07:13 +02:00
Bram Moolenaar
e8211a33dc
patch 8.2.1817: Vim9: wrong instruction when reusing a local variable spot
...
Problem: Vim9: wrong instruction when reusing a local variable spot.
Solution: Clear a newly allocated local variable. (closes #7080 )
2020-10-09 22:04:29 +02:00
Bram Moolenaar
44aefffaad
patch 8.2.1802: Vim9: crash with unterminated dict
...
Problem: Vim9: crash with unterminated dict. (Dhiraj Mishra)
Solution: Return empty string instead of NULL. (closes #7084 )
2020-10-05 19:23:59 +02:00
Bram Moolenaar
dda749ce85
patch 8.2.1800: Vim9: memory leak if "if" condition is invalid
...
Problem: Vim9: memory leak if "if" condition is invalid.
Solution: Free ppconst earlier.
2020-10-04 17:24:29 +02:00
Bram Moolenaar
1310660557
patch 8.2.1798: Vim9: trinary operator condition is too permissive
...
Problem: Vim9: trinary operator condition is too permissive.
Solution: Use tv_get_bool_chk().
2020-10-04 16:06:05 +02: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
c1f0066b64
patch 8.2.1789: Vim9: crash with invalid list constant
...
Problem: Vim9: crash with invalid list constant. (Dhiraj Mishra)
Solution: Return FAIL when compiling the list fails. (closes #7066 )
2020-10-03 13:41:53 +02:00
Bram Moolenaar
06f9c6940a
patch 8.2.1764: Vim9: no error when assigning to script var with wrong type
...
Problem: Vim9: no error when assigning to script var with wrong type.
Solution: Fix off-by-one error. (closes #7028 )
2020-09-27 21:27:40 +02:00
Bram Moolenaar
2914a20abc
patch 8.2.1760: Vim9: crash when end marker is missing
...
Problem: Vim9: crash when end marker is missing. (Dhiraj Mishra)
Solution: Check for end of function lines. (closes #7031 )
2020-09-27 18:24:03 +02:00
Bram Moolenaar
cfcd011fcd
patch 8.2.1756: Vim9: :let will soon be disallowed
...
Problem: Vim9: :let will soon be disallowed.
Solution: Add v:disallow_let temporarily. Fix tests.
2020-09-27 15:19:27 +02:00
Bram Moolenaar
c0e29010f6
patch 8.2.1755: Vim9: crash when using invalid heredoc marker
...
Problem: Vim9: crash when using invalid heredoc marker. (Dhiraj Mishra)
Solution: Check for NULL list. (closes #7027 ) Fix comment character.
2020-09-27 14:22:48 +02:00
Bram Moolenaar
30fd8204ce
patch 8.2.1744: Vim9: using ":const!" is weird
...
Problem: Vim9: using ":const!" is weird.
Solution: Use "var" - "final" - "const" like Dart. "let" still works for
now.
2020-09-26 15:09:30 +02:00
Bram Moolenaar
9c4f55204f
patch 8.2.1739: Vim9: crash when compiling a manually defined function
...
Problem: Vim9: crash when compiling a manually defined function. (Antony
Scriven)
Solution: Check that the script ID is positive. (closes #7012 )
2020-09-25 21:47:28 +02:00
Bram Moolenaar
148ce7ae62
patch 8.2.1734: Vim9: cannot use a funcref for a closure twice
...
Problem: Vim9: cannot use a funcref for a closure twice.
Solution: Instead of putting the funcref on the stack use a growarray on the
execution context.
2020-09-23 21:57:23 +02:00
Bram Moolenaar
4ee711f213
patch 8.2.1733: Vim9: memory leaks when using nested function
...
Problem: Vim9: memory leaks when using nested function.
Solution: Free function when compilation fails.
2020-09-23 18:51:11 +02:00
Bram Moolenaar
04bdd573d0
patch 8.2.1730: Vim9: cannot use member of unknown type
...
Problem: Vim9: cannot use member of unknown type.
Solution: When type is unknown us "any". (closes #6997 )
2020-09-23 13:25:32 +02:00
Bram Moolenaar
078269bdce
patch 8.2.1720: Vim9: memory leak with heredoc that isn't executed
...
Problem: Vim9: memory leak with heredoc that isn't executed. (Dominique
Pellé)
Solution: Don't clear the list items. (closes #6991 )
2020-09-21 20:35:55 +02:00
Bram Moolenaar
10e4f12bf4
patch 8.2.1719: Vim9: no error if comma is missing in between arguments
...
Problem: Vim9: no error if comma is missing in between arguments.
Solution: Give an error message.
2020-09-20 22:43:52 +02:00
Bram Moolenaar
a05e524f3a
patch 8.2.1712: Vim9: leaking memory when calling a lambda
...
Problem: Vim9: leaking memory when calling a lambda.
Solution: Decrement function reference from ISN_DCALL.
2020-09-19 18:19:19 +02:00
Bram Moolenaar
fdeab65db6
patch 8.2.1711: Vim9: leaking memory when using partial
...
Problem: Vim9: leaking memory when using partial.
Solution: Do delete the function even when it was compiled.
2020-09-19 15:16:50 +02:00
Bram Moolenaar
b185a40745
patch 8.2.1708: Vim9: error message for function has unpritable characters
...
Problem: Vim9: error message for function has unpritable characters.
Solution: use printable_func_name(). (closes #6965 )
2020-09-18 22:42:00 +02:00
Bram Moolenaar
2f8cbc4b22
patch 8.2.1695: Vim9: crash when using varargs type "any"
...
Problem: Vim9: crash when using varargs type "any".
Solution: Check if uf_va_type is &t_any. (closes #6957 )
2020-09-16 17:22:59 +02:00