Bram Moolenaar
1d84f7608f
patch 9.0.0370: cleaning up afterwards can make a function messy
...
Problem: Cleaning up afterwards can make a function messy.
Solution: Add the :defer command.
2022-09-03 21:35:53 +01:00
Bram Moolenaar
7d7ad7b2e8
patch 9.0.0350: :echowindow does not work in a compiled function
...
Problem: :echowindow does not work in a compiled function.
Solution: Handle the expression at compile time.
2022-09-01 16:00:53 +01:00
Bram Moolenaar
bd3a9d2c94
patch 8.2.4973: Vim9: type error for list unpack mentions argument
...
Problem: Vim9: type error for list unpack mentions argument.
Solution: Mention variable. (close #10435 )
2022-05-17 16:12:39 +01:00
Bram Moolenaar
6ed545e797
patch 8.2.4928: various white space and cosmetic mistakes
...
Problem: Various white space and cosmetic mistakes.
Solution: Change spaces to tabs, improve comments.
2022-05-09 20:09:23 +01:00
Bram Moolenaar
f6ced9863f
patch 8.2.4836: Vim9: some lines not covered by tests
...
Problem: Vim9: some lines not covered by tests.
Solution: Remove dead code. Add disassemble tests.
2022-04-28 12:00:49 +01:00
Bram Moolenaar
06651630ee
patch 8.2.4834: Vim9: some lines not covered by tests
...
Problem: Vim9: some lines not covered by tests.
Solution: Add a few more tests. Remove dead code.
2022-04-27 17:54:25 +01:00
LemonBoy
372bcceeee
patch 8.2.4823: concat more than 2 strings in :def function is inefficient
...
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276 )
2022-04-25 12:43:20 +01:00
Bram Moolenaar
c0ceeeb839
patch 8.2.4650: "import autoload" only works with using 'runtimepath'
...
Problem: "import autoload" only works with using 'runtimepath'.
Solution: Also support a relative and absolute file name.
2022-03-30 21:12:27 +01:00
kylo252
9dac9b1751
patch 8.2.4639: not sufficient parenthesis in preprocessor macros
...
Problem: Not sufficient parenthesis in preprocessor macros.
Solution: Add more parenthesis. (closes #10031 )
2022-03-27 20:05:17 +01:00
Bram Moolenaar
ec15b1cfdc
patch 8.2.4634: Vim9: cannot initialize a variable to null_list
...
Problem: Vim9: cannot initialize a variable to null_list.
Solution: Give negative count to NEWLIST. (closes #10027 )
Also fix inconsistencies in comparing with null values.
2022-03-27 16:29:53 +01:00
Bram Moolenaar
397a87ac1c
patch 8.2.4602: Vim9: not enough test coverage for executing :def function
...
Problem: Vim9: not enough test coverage for executing :def function.
Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
2022-03-20 21:14:15 +00:00
Bram Moolenaar
139575de66
patch 8.2.4575: Vim9: test for profiling still fails
...
Problem: Vim9: test for profiling still fails.
Solution: Update flags for profiling and breakpoints when obtaining the
compile type. Do not set the FC_CLOSURE flag for a toplevel
function.
2022-03-15 19:29:30 +00:00
Bram Moolenaar
873f8243f6
patch 8.2.4542: Vim9: "break" inside try/catch not handled correctly
...
Problem: Vim9: "break" inside try/catch not handled correctly.
Solution: First jump to :endtry. (closes #9927 )
2022-03-10 21:53:44 +00:00
Bram Moolenaar
8acb9cc620
patch 8.2.4526: Vim9: cannot set variables to a null value
...
Problem: Vim9: cannot set variables to a null value.
Solution: Add null_list, null_job, etc.
2022-03-08 13:18:55 +00:00
Bram Moolenaar
7a22224875
patch 8.2.4487: Vim9: cannot compare with v:null
...
Problem: Vim9: cannot compare with v:null.
Solution: Allow comparing anything with v:null. (closes #9866 )
2022-03-01 19:23:24 +00:00
Bram Moolenaar
4b1d963972
patch 8.2.4375: ctx_imports is not used
...
Problem: ctx_imports is not used.
Solution: Delete ctx_imports. Add missing dependency.
2022-02-13 21:51:08 +00:00
Bram Moolenaar
06b77229ca
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
...
Problem: Vim9: cannot use a function from an autoload import directly.
Solution: Add the AUTOLOAD instruction to figure out at runtime.
(closes #9620 )
2022-01-25 15:51:56 +00:00
Bram Moolenaar
53c296112e
patch 8.2.4071: Vim9: no detection of return in try/endtry
...
Problem: Vim9: no detection of return in try/endtry. (Dominique Pellé)
Solution: Check if any of the blocks inside try/endtry did not end in
return.
2022-01-12 16:18:18 +00:00
Bram Moolenaar
114dbda785
patch 8.2.3991: Vim9: error when extending dict<any>
...
Problem: Vim9: error when extending dict<any> with another type that it was
initialized with.
Solution: Also set the type for dict<any> if the initializer has a more
specific type. (closes #9461 )
2022-01-03 12:28:03 +00:00
Dominique Pelle
af4a61a85d
patch 8.2.3914: various spelling mistakes in comments
...
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes #9416 )
2021-12-27 17:21:41 +00:00
Bram Moolenaar
0d807107b6
patch 8.2.3865: Vim9: compiler complains about using "try" as a struct member
...
Problem: Vim9: compiler complains about using "try" as a struct member.
Solution: Rename "try" to "tryref".
2021-12-21 09:42:09 +00:00
Bram Moolenaar
dc7c366f3a
patch 8.2.3860: Vim9: codecov struggles with the file size
...
Problem: Vim9: codecov struggles with the file size.
Solution: Split vim9compile.c into four files.
2021-12-20 15:04:29 +00:00
Bram Moolenaar
dcb53be441
patch 8.2.3765: Vim9: cannot use a lambda for 'opfunc' and others
...
Problem: Vim9: cannot use a lambda for 'opfunc' and others.
Solution: Convert the lambda to a string.
2021-12-09 14:23:43 +00:00
Bram Moolenaar
e4eed8c6db
patch 8.2.3716: Vim9: range without a command is not compiled
...
Problem: Vim9: range without a command is not compiled.
Solution: Add the ISN_EXECRANGE byte code.
2021-12-01 15:22:56 +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
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
26a4484da2
patch 8.2.3395: Vim9: expression breakpoint not checked in :def function
...
Problem: Vim9: expression breakpoint not checked in :def function.
Solution: Always compile a function for debugging if there is an expression
breakpoint. (closes #8803 )
2021-09-02 18:49:06 +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
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
Dominique Pelle
3276f5846f
patch 8.2.3303: some structures could be smaller
...
Problem: Some structures could be smaller.
Solution: Rearrange members to reduce size. (Dominique Pellé, closes #8725 )
2021-08-07 12:44:41 +02:00
Bram Moolenaar
307dec4567
patch 8.2.3057: Vim9: debugger test fails with normal features and +terminal
...
Problem: Vim9: debugger test fails with normal features and +terminal.
(Dominique Pellé)
Solution: Adjust the INSTRUCTIONS macro. (closes #8460 )
2021-06-26 21:21:03 +02:00
Bram Moolenaar
8cec9273d2
patch 8.2.3039: Vim9: breakpoint at a comment line does not work
...
Problem: Vim9: breakpoint at a comment line does not work.
Solution: Add the comment line number to the debug instruction.
(closes #8429 )
2021-06-23 20:20:53 +02:00
Bram Moolenaar
035bd1c99f
patch 8.2.3029: Vim9: crash when using operator and list unpack assignment
...
Problem: Vim9: crash when using operator and list unpack assignment.
(Naohiro Ono)
Solution: Get variable value before operation. (closes #8416 )
2021-06-21 19:44:11 +02:00
Bram Moolenaar
4f8f54280f
patch 8.2.3026: Vim9: cannot set breakpoint in compiled function
...
Problem: Vim9: cannot set breakpoint in compiled function.
Solution: Check for breakpoint when calling a function.
2021-06-20 19:28:14 +02:00
Bram Moolenaar
f57b43c230
patch 8.2.3005: Vim9: using a void value does not give a proper error message
...
Problem: Vim9: using a void value does not give a proper error message.
Solution: Give a clear error message. (clodes #8387 )
2021-06-15 22:13:27 +02:00
Bram Moolenaar
b69c6fb7b4
patch 8.2.2996: Vim9: when debugging cannot inspect local variables
...
Problem: Vim9: when debugging cannot inspect local variables.
Solution: Make local variables available when debugging.
2021-06-14 20:40:37 +02:00
Bram Moolenaar
c3a27bbd53
patch 8.2.2988: Vim9: debugger test fails
...
Problem: Vim9: debugger test fails.
Solution: Get the debugger instructions when needed.
2021-06-13 15:16:01 +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
2067733b5c
patch 8.2.2951: Vim9: cannot use heredoc for :python, :lua, etc.
...
Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc.
Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT
instruction.
2021-06-06 17:02:53 +02:00
Bram Moolenaar
5fa9b24440
patch 8.2.2936: Vim9: converting number to bool uses wrong stack offset
...
Problem: Vim9: converting number to bool uses wrong stack offset. (Salman
Halim)
Solution: Include the offset in the 2BOOL command.
2021-06-04 21:00:32 +02:00
Bram Moolenaar
3b1373b193
patch 8.2.2861: Vim9: "legacy return" is not recognized as a return statement
...
Problem: Vim9: "legacy return" is not recognized as a return statement.
Solution: Specifically check for a return command. (closes #8213 )
2021-05-17 00:01:42 +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
5f7d4c049e
patch 8.2.2834: Vim9: :cexpr does not work with local variables
...
Problem: Vim9: :cexpr does not work with local variables.
Solution: Compile :cexpr.
2021-05-05 21:31:39 +02:00
Bram Moolenaar
5930ddcd25
patch 8.2.2812: Vim9: still crash when using substitute expression
...
Problem: Vim9: still crash when using substitute expression.
Solution: Put the instruction list in the stack frame. (closes #8154 )
2021-04-26 20:32:59 +02:00
Bram Moolenaar
2d1c57ed3d
patch 8.2.2785: Vim9: cannot redirect to local variable
...
Problem: Vim9: cannot redirect to local variable.
Solution: Compile :redir when redirecting to a variable.
2021-04-19 20:50:03 +02:00
Bram Moolenaar
4c13721482
patch 8.2.2784: Vim9: cannot use \=expr in :substitute
...
Problem: Vim9: cannot use \=expr in :substitute.
Solution: Compile the expression into instructions and execute them when
invoked.
2021-04-19 16:48:48 +02:00
Bram Moolenaar
68452177ca
patch 8.2.2757: Vim9: blob tests for legacy and Vim9 script are separate
...
Problem: Vim9: blob tests for legacy and Vim9 script are separate.
Solution: Add CheckLegacyAndVim9Success(). Make blob index assign work.
2021-04-12 21:21:02 +02:00
Bram Moolenaar
cfc3023cb6
patch 8.2.2756: Vim9: blob index and slice not implemented yet
...
Problem: Vim9: blob index and slice not implemented yet.
Solution: Implement blob index and slice.
2021-04-11 20:26:34 +02:00
Bram Moolenaar
38a3bfa9a2
patch 8.2.2677: Vim9: cannot use only some of the default arguments
...
Problem: Vim9: cannot use only some of the default arguments.
Solution: Use v:none to use default argument value. Remove
uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504 )
2021-03-29 22:14:55 +02:00