Bram Moolenaar
ab36e6ae7b
patch 8.2.3704: Vim9: cannot use a list declaration in a :def function
...
Problem: Vim9: cannot use a list declaration in a :def function.
Solution: Make it work.
2021-11-30 16:14:49 +00:00
Bram Moolenaar
c750d91a07
patch 8.2.3701: Vim9: invalid LHS is not possible
...
Problem: Vim9: invalid LHS is not possible.
Solution: Remove unreachable error message.
2021-11-29 22:02:12 +00:00
Bram Moolenaar
38453528c3
patch 8.2.3692: Vim9: cannot use :func inside a :def function
...
Problem: Vim9: cannot use :func inside a :def function.
Solution: Make it work.
2021-11-28 22:00:12 +00:00
Mike Williams
cc9d725bbb
patch 8.2.3655: compiler warning for using size_t for int
...
Problem: Compiler warning for using size_t for int.
Solution: Add a type cast. (Mike Williams, closes #9199 )
2021-11-23 12:35:57 +00:00
Bram Moolenaar
3b3755fe19
patch 8.2.3650: Vim9: for loop variable can be a list member
...
Problem: Vim9: for loop variable can be a list member.
Solution: Check for valid variable name. (closes #9179 )
2021-11-22 20:10:18 +00:00
Bram Moolenaar
844fb64a60
patch 8.2.3560: using freed memory with lambda
...
Problem: Using freed memory with lambda.
Solution: Do not free lines early, keep them until the expression is
finished.
2021-10-23 13:32:30 +01:00
Bram Moolenaar
7f32092b91
patch 8.2.3504: Vim9: warning for signed vs unsigned
...
Problem: Vim9: warning for signed vs unsigned.
Solution: Add type cast.
2021-10-13 15:28:28 +01:00
Bram Moolenaar
7b82926892
patch 8.2.3503: Vim9: using g:pat:cmd is confusing
...
Problem: Vim9: using g:pat:cmd is confusing.
Solution: Do not recognize g: as the :global command. Also for s:pat:repl.
(closes #8982 )
2021-10-13 15:04:34 +01:00
Bram Moolenaar
3dfe2e0fb8
patch 8.2.3443: Vim9: memory leak when and/or fails
...
Problem: Vim9: memory leak when and/or fails.
Solution: Also clear the growarray when the length is zero.
2021-09-16 20:14:51 +02:00
Bram Moolenaar
1a7ee4dd11
patch 8.2.3442: Vim9: || and && are not handled at compile time
...
Problem: Vim9: || and && are not handled at compile time when possible.
Solution: When using constants generate fewer instructions.
2021-09-16 16:15:07 +02:00
Bram Moolenaar
b1b6f4de2b
patch 8.2.3435: Vim9: dict is not passed to dict function
...
Problem: Vim9: dict is not passed to dict function.
Solution: Keep the dict used until a function call.
2021-09-13 18:25:54 +02:00
Bram Moolenaar
07802044b9
patch 8.2.3423: Vim9: list += list creates a new list in :def function
...
Problem: Vim9: list += list creates a new list in :def function.
Solution: Append to the existing list.
2021-09-09 23:01:14 +02:00
Bram Moolenaar
4799cef85c
patch 8.2.3376: Vim9: no warning that "@r" does not do anything
...
Problem: Vim9: no warning that "@r" does not do anything.
Solution: Give a "no effect" error. (closes #8779 )
2021-08-25 22:37:36 +02:00
Bram Moolenaar
5ca5cc6412
patch 8.2.3371: Vim9: :$ENV cannot be followed by ->func() in next line
...
Problem: Vim9: :$ENV cannot be followed by ->func() in next line.
Solution: Use "$ENV" as the start of an expression. (closes #8790 )
2021-08-24 21:56:03 +02:00
Bram Moolenaar
093165c899
patch 8.2.3366: Vim9: debugging elseif does not stop before condition
...
Problem: Vim9: debugging elseif does not stop before condition.
Solution: Move debug statement to after the jump. (closes #8781 )
2021-08-22 13:35:31 +02:00
Bram Moolenaar
bf5f287833
patch 8.2.3365: Vim9: cannot use option for all operations
...
Problem: Vim9: cannot use option for all operations.
Solution: Recognize more operations. (closes #8779 )
2021-08-21 20:50:35 +02:00
rbtnn
bebf06954e
patch 8.2.3364: Vim9: crash when :for is skipped
...
Problem: Vim9: crash when :for is skipped.
Solution: Skip more code generation. (Naruhiko Nishino, closes #8777 )
2021-08-21 17:26:50 +02:00
rbtnn
d895b1d918
patch 8.2.3361: Vim9: crash with nested :while
...
Problem: Vim9: crash with nested :while.
Solution: Handle skipping better. (Naruhiko Nishino, closes #8778 )
2021-08-20 20:54:25 +02:00
Bram Moolenaar
cd6b4f3001
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
...
Problem: Vim9: type of argument for negate not checked at compile time.
Solution: Add a compile time check.
2021-08-15 20:36:28 +02:00
Bram Moolenaar
aacc966c5d
patch 8.2.3339: Vim9: cannot lock a member in a local dict
...
Problem: Vim9: cannot lock a member in a local dict.
Solution: Get the local dict from the stack and pass it to get_lval().
2021-08-13 19:40:51 +02:00
Bram Moolenaar
bd77aa9274
patch 8.2.3334: Vim9: not enough tests run with Vim9
...
Problem: Vim9: not enough tests run with Vim9.
Solution: Run a few more tests in Vim9 script and :def function. Fix
islocked(). Fix error for locking local variable.
2021-08-12 17:06:05 +02:00
Bram Moolenaar
4f0884d6e2
patch 8.2.3332: Vim9: cannot assign to range in list
...
Problem: Vim9: cannot assign to range in list.
Solution: Implement overwriting a list range.
2021-08-11 21:49:23 +02:00
Bram Moolenaar
6e48b84c5f
patch 8.2.3326: Vim9: no error passing an empty list of the wrong type
...
Problem: Vim9: no error passing an empty list of the wrong type.
Solution: Use ISN_SETTYPE also for "list<any>". (closes #8732 )
2021-08-10 22:52:02 +02:00
Bram Moolenaar
917c46abe5
patch 8.2.3324: Vim9: Cannot use :silent with :endwhile
...
Problem: Vim9: Cannot use :silent with :endwhile.
Solution: Allow for using the :silent modifier. (closes #8737 )
2021-08-10 19:53:01 +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
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
e525bdda3a
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
...
Problem: Vim9: after "if false" line breaks in expression not skipped.
Solution: Do parse the expression. (closes #8723 )
2021-08-07 18:12:40 +02:00
Bram Moolenaar
4270d8b762
patch 8.2.3310: Vim9: unpack assignment does not mention source of type error
...
Problem: Vim9: unpack assignment does not mention source of type error.
Solution: Mention the argument number. (closes #8719 )
2021-08-07 16:30:42 +02:00
Bram Moolenaar
7de6262373
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
...
Problem: Vim9: :echoconsole cannot access local variables.
Solution: Handle like other :echo commands. (closes #8708 )
2021-08-07 15:05:47 +02:00
rbtnn
8493499880
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
...
Problem: Vim9: :finally in skipped block not handled correctly.
Solution: Check whether :finally is in a skipped block. (Naruhiko Nishino,
closes #8724 )
2021-08-07 13:26:53 +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
63b9173693
patch 8.2.3297: cannot use all commands inside a {} block
...
Problem: Cannot use all commands inside a {} block after :command and
:autocmd.
Solution: Do consider \n to separate commands. (closes #8620 )
2021-08-05 20:40:03 +02:00
Bram Moolenaar
af647e76ca
patch 8.2.3296: Vim9: cannot add a number to a float
...
Problem: Vim9: cannot add a number to a float.
Solution: Accept a number if the destination is a float. (closes #8703 )
2021-08-05 19:01:17 +02:00
Zdenek Dohnal
9fe17d473a
patch 8.2.3290: Vim9: compiling dict may use pointer after free
...
Problem: Vim9: compiling dict may use pointer after free and leak memory on
failure.
Solution: Pass a pointer to generate_PUSHS(). (Zdenek Dohnal, closes #8699 )
2021-08-04 22:30:52 +02:00
Bram Moolenaar
7bf9a07bd7
patch 8.2.3278: Vim9: error when adding 1 to float
...
Problem: Vim9: error when adding 1 to float.
Solution: Accept t_number_bool. (closes #8687 )
2021-08-02 21:55:15 +02:00
Bram Moolenaar
c3160727b9
patch 8.2.3277: Vim9: compiled has() does not work properly
...
Problem: Vim9: compiled has() does not work properly.
Solution: Fix check for has() vs exists().
2021-08-02 21:12:05 +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
35578168be
patch 8.2.3275: optimizer can use hints about ga_grow() normally succeeding
...
Problem: Optimizer can use hints about ga_grow() normally succeeding.
Solution: Use GA_GROW_FAILS() and GA_GROW_OK() in several places. (Dominique
Pellé, issue #8635 )
2021-08-02 19:10:38 +02:00
Bram Moolenaar
e4db17fb6e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
...
Problem: Vim9: cannot use :command or :au with a block in a :def function.
Solution: Recognize the start of the block.
2021-08-01 21:19:43 +02:00
Bram Moolenaar
e97976baa7
patch 8.2.3266: Vim9: assignment with two indexes may check next line
...
Problem: Vim9: assignment with two indexes may check next line.
Solution: Limit the number of lines to avoid checking the next line when
assiging to a LHS subscript. (closes #8660 )
2021-08-01 13:17:17 +02:00
Bram Moolenaar
f5d52c90e0
patch 8.2.3263: Vim9: "..=" does not accept same types as the ".." operator
...
Problem: Vim9: "..=" does not accept same types as the ".." operator.
Solution: Convert value to string like ".." does. (issue #8664 )
2021-07-31 22:51:10 +02:00
Bram Moolenaar
81530e3603
patch 8.2.3239: Vim9: no error using heredoc for a number variable
...
Problem: Vim9: no error using heredoc for a number variable.
Solution: Add a type check. (closes #8627 )
2021-07-28 21:25:49 +02:00
Bram Moolenaar
d47c39775b
patch 8.2.3238: Vim9: error message does not indicate the location
...
Problem: Vim9: error message does not indicate the location.
Solution: Add the relevant text. (issue #8634 )
2021-07-28 20:52:13 +02:00
Bram Moolenaar
f723701de0
patch 8.2.3230: Vim9: type error when function return type is not known yet
...
Problem: Vim9: type error when function return type is not known yet.
Solution: When return type is unknown, use "any". (closes #8644 )
2021-07-27 22:21:44 +02:00
Bram Moolenaar
678b207fb1
patch 8.2.3224: cannot call script-local function after :vim9cmd
...
Problem: Cannot call script-local function after :vim9cmd. (Christian J.
Robinson)
Solution: Skip over "<SNR>123".
2021-07-26 21:10:11 +02:00
Bram Moolenaar
3c77b6a1ce
patch 8.2.3222: Vim9: cannot used loop variable later as lambda argument
...
Problem: Vim9: cannot used loop variable later as lambda argument.
Solution: When not in function context check the current block ID.
(closes #8637 )
2021-07-25 18:07:00 +02:00
Bram Moolenaar
dd0b287c1e
patch 8.2.3210: Vim9: searchpair() sixth argument is compiled
...
Problem: Vim9: searchpair() sixth argument is compiled. (Yegappan
Lakshmanan)
Solution: Only compile the fifth argument.
2021-07-24 15:44:30 +02:00
Bram Moolenaar
88421d6dc8
patch 8.2.3209: Vim9: lambda doesn't find block-local variable
...
Problem: Vim9: lambda doesn't find block-local variable.
Solution: Adjust how a script-local variable is found. (closes #8614 )
2021-07-24 14:14:52 +02:00
Bram Moolenaar
5a234eb18e
patch 8.2.3207: Vim9: crash when compiling string fails
...
Problem: Vim9: crash when compiling string fails. (Yegappan Lakshmanan)
Solution: Adjust the type stack length.
2021-07-24 13:18:48 +02:00
Bram Moolenaar
1b862c466b
patch 8.2.3205: Coverity reports a null pointer dereference
...
Problem: Coverity reports a null pointer dereference.
Solution: Change the logic to avoid Coverity gets confused.
2021-07-23 19:30:19 +02:00