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
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
9b123d8590
patch 8.2.1687: Vim9: out of bounds error
...
Problem: Vim9: out of bounds error.
Solution: Check that cmdidx is not negative.
2020-09-14 22:39:11 +02:00
Bram Moolenaar
71abe48289
patch 8.2.1686: Vim9: "const!" not sufficiently tested
...
Problem: Vim9: "const!" not sufficiently tested.
Solution: Add a few more test cases. Fix type checking.
2020-09-14 22:28:30 +02:00
Bram Moolenaar
0b4c66c67a
patch 8.2.1685: Vim9: cannot declare a constant value
...
Problem: Vim9: cannot declare a constant value.
Solution: Introduce ":const!".
2020-09-14 21:39:44 +02:00
Bram Moolenaar
dbeecb2b6b
patch 8.2.1682: Vim9: const works in an unexpected way
...
Problem: Vim9: const works in an unexpected way.
Solution: ":const" only disallows changing the variable, not the value.
Make "list[0] = 9" work at the script level.
2020-09-14 18:15:09 +02:00
Bram Moolenaar
3bd8de40b4
patch 8.2.1679: Vim9: ":*" is not recognized as a range
...
Problem: Vim9: ":*" is not recognized as a range.
Solution: Move recognizing "*" into skip_range(). (closes #6838 )
2020-09-14 16:37:34 +02:00
Bram Moolenaar
0f769815c8
patch 8.2.1667: local function name cannot shadow a global function name
...
Problem: Local function name cannot shadow a global function name.
Solution: Ignore global functions when checking a script-local or scoped
function name. (closes #6926 )
2020-09-12 18:32:34 +02:00
Bram Moolenaar
8b848cafb0
patch 8.2.1657: Vim9: no proper error for nested ":def!"
...
Problem: Vim9: no proper error for nested ":def!".
Solution: Check for "!". (closes #6920 )
2020-09-10 22:28:01 +02:00
Bram Moolenaar
4ed124cc6c
patch 8.2.1647: Vim9: result of expression with && and || is not a bool
...
Problem: Vim9: result of expression with && and || cannot be assigned to a
bool variable.
Solution: Add the TTFLAG_BOOL_OK flag and convert the value if needed.
2020-09-09 20:03:46 +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
c3516f7e45
patch 8.2.1637: Vim9: :put ={expr} does not work inside :def function
...
Problem: Vim9: :put ={expr} does not work inside :def function.
Solution: Add ISN_PUT. (closes #6397 )
2020-09-08 22:45:35 +02:00
Bram Moolenaar
9c2b06637b
patch 8.2.1560: using NULL pointers in some code
...
Problem: Using NULL pointers in some code. (James McCoy)
Solution: Avoid adding to a NULL pointer. Use byte as unsigned.
2020-09-01 19:56:15 +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
e3d4685f1f
patch 8.2.1539: using invalid script ID causes a crash
...
Problem: Using invalid script ID causes a crash.
Solution: Check the script ID to be valid. (closes #6804 )
2020-08-29 13:39:17 +02:00
Bram Moolenaar
7a3330fc57
patch 8.2.1531: Vim9: test still fails on MS-Windows
...
Problem: Vim9: test still fails on MS-Windows.
Solution: When skipping expect function to be NULL.
2020-08-27 23:57:57 +02:00
Bram Moolenaar
5163fcce79
patch 8.2.1530: Vim9: test fails on MS-Windows
...
Problem: Vim9: test fails on MS-Windows.
Solution: Skip Ex command inside "if false".
2020-08-27 23:37:09 +02:00
Bram Moolenaar
749639ec72
patch 8.2.1529: Vim9: :elseif may be compiled when not needed
...
Problem: Vim9: :elseif may be compiled when not needed.
Solution: Do evaluate the :elseif expression.
2020-08-27 23:08:47 +02:00
Bram Moolenaar
3988f64f9d
patch 8.2.1528: Vim9: :endif not found after "if false"
...
Problem: Vim9: :endif not found after "if false".
Solution: When skipping still check for a following command. (closes #6797 )
2020-08-27 22:43:03 +02:00
Bram Moolenaar
2e80095501
patch 8.2.1518: Vim9: cannot assign to local option
...
Problem: Vim9: cannot assign to local option.
Solution: Skip over "&l:" and "&g:". (closes #6749 )
2020-08-23 19:34:48 +02:00
Bram Moolenaar
8436773fad
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
...
Problem: Vim9: can create s:var in legacy script but cannot unlet.
Solution: Allow :unlet for legacy script var.
2020-08-23 15:21:55 +02:00
Bram Moolenaar
5390099a97
patch 8.2.1510: using "var" in :def function may refer to legacy script var
...
Problem: Using "var" in a :def function may refer to a legacy Vim script
variable.
Solution: Require using "s:" to refer to a legacy Vim script variable.
(closes #6771 )
2020-08-22 19:02:02 +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
3fc71285d5
patch 8.2.1501: Vim9: concatenating to constant reverses order
...
Problem: Vim9: concatenating to constant reverses order.
Solution: Generate constant before option, register and environment
variable. (closes #6757 )
2020-08-21 20:43:17 +02:00
Bram Moolenaar
5d72ce69c8
patch 8.2.1500: Vim9: error when using address without a command
...
Problem: Vim9: error when using address without a command.
Solution: Execute the range itself. (closes #6747 )
2020-08-20 23:04:06 +02:00
Bram Moolenaar
b8a9296ced
patch 8.2.1496: Vim9: cannot use " #" in a mapping
...
Problem: Vim9: cannot use " #" in a mapping.
Solution: Do not remove a comment with the EX_NOTRLCOM flag. (closes #6746 )
2020-08-20 18:02:47 +02:00
Bram Moolenaar
66250c932e
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
...
Problem: Vim9: crash when compiling heredoc lines start with comment.
Solution: Skip over NULL pointers. Do not remove comment and empty lines
when fetching function lines. (closes #6743 )
2020-08-20 15:02:42 +02:00
Bram Moolenaar
93ad14710b
patch 8.2.1490: Vim9: using /= with float and number doesn't work
...
Problem: Vim9: using /= with float and number doesn't work.
Solution: Better support assignment with operator. (closes #6742 )
2020-08-19 22:02:41 +02:00
Bram Moolenaar
e5abf7af08
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
...
Problem: Vim9: :echomsg doesn't like a dict argument.
Solution: Convert arguments like in legacy script. (closes #6717 )
2020-08-16 18:29:35 +02:00
Bram Moolenaar
cc673e746a
patch 8.2.1466: Vim9: cannot index or slice a variable with type "any"
...
Problem: Vim9: cannot index or slice a variable with type "any".
Solution: Add runtime index and slice.
2020-08-16 17:33:35 +02:00
Bram Moolenaar
56acb0943e
patch 8.2.1465: Vim9: subscript not handled properly
...
Problem: Vim9: subscript not handled properly.
Solution: Adjust error message. Remove dead code. Disallow string to
number conversion in scripts.
2020-08-16 14:48:19 +02:00
Bram Moolenaar
ed5918771f
patch 8.2.1463: Vim9: list slice not supported yet
...
Problem: Vim9: list slice not supported yet.
Solution: Add support for list slicing.
2020-08-15 22:14:53 +02:00
Bram Moolenaar
11107bab7e
patch 8.2.1462: Vim9: string slice not supported yet
...
Problem: Vim9: string slice not supported yet.
Solution: Add support for string slicing.
2020-08-15 21:10:16 +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
d1103587cf
patch 8.2.1455: Vim9: crash when using typecast before constant
...
Problem: Vim9: crash when using typecast before constant.
Solution: Generate constant before checking type. Add tets.
2020-08-14 22:44:25 +02:00
Bram Moolenaar
79e8db9a21
patch 8.2.1454: Vim9: failure invoking lambda with wrong arguments
...
Problem: Vim9: failure invoking lambda with wrong arguments.
Solution: Handle invalid arguments. Add a test.
2020-08-14 22:16:33 +02:00
Bram Moolenaar
8d56622944
patch 8.2.1452: Vim9: dead code in to_name_end()
...
Problem: Vim9: dead code in to_name_end().
Solution: Remove check for lambda and dict, it won't be used.
2020-08-14 21:42:54 +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
Bram Moolenaar
418f1df547
patch 8.2.1435: Vim9: always converting to string for ".." leads to mistakes
...
Problem: Vim9: always converting to string for ".." leads to mistakes.
Solution: Only automatically convert simple types.
2020-08-12 21:34:49 +02:00
Bram Moolenaar
fd77748df2
patch 8.2.1434: Vim9: crash when lambda uses outer function argument
...
Problem: Vim9: crash when lambda uses outer function argument.
Solution: Set the flag that the outer context is used.
2020-08-12 19:42:01 +02:00
Bram Moolenaar
ba60cc45e7
patch 8.2.1433: Vim9: cannot mingle comments in multi-line lambda
...
Problem: Vim9: cannot mingle comments in multi-line lambda.
Solution: Skip over NULL lines. (closes #6694 )
2020-08-12 19:15:33 +02:00
Bram Moolenaar
c3d6e8a46a
patch 8.2.1431: Vim9: no error for white space before comma in dict
...
Problem: Vim9: no error for white space before comma in dict.
Solution: Check for extra white space. (closes #6674 )
2020-08-12 18:34:28 +02:00
Bram Moolenaar
db199216e8
patch 8.2.1430: Vim9: error for missing comma instead of extra white space
...
Problem: Vim9: error for missing comma instead of extra white space.
Solution: Check if comma can be found after white space. (closes #6668 )
Also check for extra white space in literal dict. (closes #6670 )
2020-08-12 18:01:53 +02:00