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
Bram Moolenaar
17a836cbee
patch 8.2.1429: Vim9: no error for missing white after : in dict
...
Problem: Vim9: no error for missing white after : in dict.
Solution: Check for white space. (closes #6671 ) Also check that there is no
white before the :.
2020-08-12 17:35:58 +02:00
Bram Moolenaar
7c5ad34878
patch 8.2.1427: Vim9: cannot use a range with marks in :def function
...
Problem: Vim9: cannot use a range with marks in :def function.
Solution: Parse range after colon. (closes #6686 )
2020-08-12 15:48:55 +02:00
Bram Moolenaar
a177344dc0
patch 8.2.1426: Vim9: cannot call autoload function in :def function
...
Problem: Vim9: cannot call autoload function in :def function.
Solution: Load the autoload script. (closes #6690 )
2020-08-12 15:21:22 +02:00
Bram Moolenaar
575f24b3f3
patch 8.2.1425: Vim9: cannot use call() without :call
...
Problem: Vim9: cannot use call() without :call.
Solution: Do not skip over "call(". (closes #6689 )
2020-08-12 14:21:11 +02:00
Bram Moolenaar
4301a729ea
patch 8.2.1421: Vim9: handling "+" and "-" before number differs from script
...
Problem: Vim9: handling "+" and "-" before number differs from Vim script.
Solution: Use the same sequence of commands.
2020-08-11 20:51:08 +02:00
Bram Moolenaar
59eccb92e3
patch 8.2.1419: Vim9: not operator applied too early
...
Problem: Vim9: not operator applied too early.
Solution: Implement the "numeric_only" argument. (closes #6680 )
2020-08-10 23:09:37 +02:00
Bram Moolenaar
64d662d5fc
patch 8.2.1408: Vim9: type casting not supported
...
Problem: Vim9: type casting not supported.
Solution: Introduce type casting.
2020-08-09 19:02:50 +02:00
Bram Moolenaar
127542bceb
patch 8.2.1407: Vim9: type of list and dict only depends on first item
...
Problem: Vim9: type of list and dict only depends on first item.
Solution: Use all items to decide about the type.
2020-08-09 17:22:04 +02:00
Bram Moolenaar
a7cc9e697b
patch 8.2.1405: Vim9: vim9compile.c is getting too big
...
Problem: Vim9: vim9compile.c is getting too big.
Solution: Split off type code to vim9type.c.
2020-08-09 15:25:14 +02:00
Bram Moolenaar
efa94447e8
patch 8.2.1399: Vim9: may find imported item in wrong script
...
Problem: Vim9: may find imported item in wrong script.
Solution: When looking up script-local function use the embedded script ID.
(issue #6644 )
2020-08-08 22:16:00 +02:00
Bram Moolenaar
5a849da57c
patch 8.2.1396: Vim9: no error for unexpectedly returning a value
...
Problem: Vim9: no error for unexpectedly returning a value.
Solution: Only set the return type for lambda's. Make using function type
in a function reference work.
2020-08-08 16:47:30 +02:00
Bram Moolenaar
98b4f145eb
patch 8.2.1395: Vim9: no error if declaring a funcref with lower case letter
...
Problem: Vim9: no error if declaring a funcref with a lower case letter.
Solution: Check the name after the type is inferred. Fix confusing name.
2020-08-08 15:46:01 +02:00
Bram Moolenaar
2dd0a2c39a
patch 8.2.1394: Vim9: compiling a function interferes with command modifiers
...
Problem: Vim9: compiling a function interferes with command modifiers.
Solution: Save and restore command modifiers. (closes #6658 )
2020-08-08 15:10:27 +02:00
Bram Moolenaar
fa211f3c6d
patch 8.2.1391: Vim9: no error for shadowing a script function
...
Problem: Vim9: no error for shadowing a script function.
Solution: Check for already defined items. (closes #6652 )
2020-08-07 22:00:26 +02:00
Bram Moolenaar
1c199f9c70
patch 8.2.1390: Vim9: type error after storing an option value
...
Problem: Vim9: type error after storing an option value.
Solution: Drop the type after a STOREOPT instruction. (closes #6632 )
2020-08-07 21:28:34 +02:00
Bram Moolenaar
dd29f1b056
patch 8.2.1388: Vim9: += only works for numbers
...
Problem: Vim9: += only works for numbers.
Solution: Use += as concatenate for a list. (closes #6646 )
2020-08-07 20:46:20 +02:00
Bram Moolenaar
c5da1fb7ea
patch 8.2.1375: Vim9: method name with digit not accepted
...
Problem: Vim9: method name with digit not accepted.
Solution: Use eval_isnamec() instead of eval_isnamec1(). (closes #6613 )
2020-08-05 15:43:44 +02:00