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
058ee7c569
patch 8.2.4198: Vim9: the switch for executing instructions is too long
...
Problem: Vim9: the switch for executing instructions is too long.
Solution: Move some code to separate functions.
2022-01-23 20:00:42 +00:00
Bram Moolenaar
d02dce2bb5
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
...
Problem: Vim9: calling import with and without method is inconsistent.
Solution: Set a flag that a parenthsis follows to compile_load_scriptvar().
Add some more tests. Improve error message.
2022-01-18 17:43:04 +00:00
Bram Moolenaar
cbbc48f64b
patch 8.2.4131: Vim9: calling function in autoload import does not work
...
Problem: Vim9: calling function in autoload import does not work in a :def
function.
Solution: When a variable is not found and a PCALL follows use a funcref.
(closes #9550 )
2022-01-18 12:58:28 +00:00
Bram Moolenaar
d9d2fd0aa3
patch 8.2.4086: "cctx" argument of find_func_even_dead() is unused
...
Problem: "cctx" argument of find_func_even_dead() is unused.
Solution: Remove the argument.
2022-01-13 21:15:21 +00:00
Bram Moolenaar
d041f4208b
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
...
Problem: Vim9: compiling function fails when autoload script is not loaded
yet.
Solution: Depend on runtime loading.
2022-01-12 19:54:00 +00:00
Bram Moolenaar
04935fb17e
patch 8.2.4043: using int for second argument of ga_init2()
...
Problem: Using int for second argument of ga_init2().
Solution: Remove unnessary type cast (int) when using sizeof().
2022-01-08 16:19:22 +00:00
Bram Moolenaar
1433672568
patch 8.2.4042: Vim9: build error
...
Problem: Vim9: build error.
Solution: Use grow array instead of character pointer.
2022-01-08 16:02:59 +00:00
Bram Moolenaar
d5f400c607
patch 8.2.4019: Vim9: import mechanism is too complicated
...
Problem: Vim9: import mechanism is too complicated.
Solution: Do not use the Javascript mechanism but a much simpler one.
2022-01-06 21:10:28 +00:00
Bram Moolenaar
1f4a3457a3
patch 8.2.3974: Vim9: LISTAPPEND instruction does not check for a locked list
...
Problem: Vim9: LISTAPPEND instruction does not check for a locked list.
Solution: Check whether the list is locked. (closes #9452 )
2022-01-01 18:29:21 +00:00
Bram Moolenaar
74409f6279
patch 8.2.3970: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2022-01-01 15:58:22 +00:00
Bram Moolenaar
460ae5dfca
patch 8.2.3967: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2022-01-01 14:19:49 +00:00
Bram Moolenaar
436b5adc97
patch 8.2.3961: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 22:49:24 +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
9c23f9bb5f
patch 8.2.3902: Vim9: double free with nested :def function
...
Problem: Vim9: double free with nested :def function.
Solution: Pass "line_to_free" from compile_def_function() and make sure
cmdlinep is valid.
2021-12-26 14:23:22 +00:00
Bram Moolenaar
5cd647935d
patch 8.2.3893: Vim9: many local variables are initialized with an instruction
...
Problem: Vim9: many local variables are initialized with an instruction.
Solution: Initialize local variables to zero to avoid the instructions.
2021-12-25 18:23:24 +00:00
Bram Moolenaar
310091d20f
patch 8.2.3878: Vim9: debugger tries to read more lines than there are
...
Problem: Vim9: debugger tries to read more lines than there are.
Solution: Check the number of lines. (closes #9394 )
2021-12-23 21:14:37 +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
265f811f5a
patch 8.2.3851: Vim9: overhead when comparing string, dict or function
...
Problem: Vim9: overhead when comparing string, dict or function.
Solution: Call the intented compare function directly. Refactor to avoid
duplicated code.
2021-12-19 12:33:05 +00:00
Bram Moolenaar
422085f1c8
patch 8.2.3842: Vim9: can change locked list and list items
...
Problem: Vim9: can change locked list and list items.
Solution: Check that a list and list item isn't locked.
2021-12-17 20:36:15 +00:00
Bram Moolenaar
71b7685092
patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
...
Problem: Vim9: outdated TODO items, disabled tests that work.
Solution: Remove TODO items, run tests that work now. Check that a dict
item isn't locked.
2021-12-17 20:15:38 +00:00
Bram Moolenaar
e124204c4f
patch 8.2.3830: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2021-12-16 20:56:57 +00:00
Bram Moolenaar
7509ad8b0f
patch 8.2.3809: Vim9: crash when garbage collecting a nested partial
...
Problem: Vim9: crash when garbage collecting a nested partial. (Virginia
Senioria)
Solution: Set references in all the funcstacks. (closes #9348 )
2021-12-14 18:14:37 +00:00
Bram Moolenaar
919c12c19a
patch 8.2.3808: Vim9: obsolete TODO items
...
Problem: Vim9: obsolete TODO items
Solution: Remove the comments.
2021-12-14 14:29:16 +00:00
Bram Moolenaar
851f86b951
patch 8.2.3796: the funcexe_T struct members are not named consistently
...
Problem: The funcexe_T struct members are not named consistently.
Solution: Prefix "fe_" to all the members.
2021-12-13 14:26:44 +00:00
Bram Moolenaar
2ef9156b42
patch 8.2.3783: confusing error for using a variable as a function
...
Problem: Confusing error for using a variable as a function.
Solution: If a function is not found but there is a variable, give a more
useful error. (issue #9310 )
2021-12-11 16:14:07 +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
2336c376d5
patch 8.2.3753: Vim9: function unreferenced while called is never deleted
...
Problem: Vim9: function unreferenced while called is never deleted.
Solution: Delete a function when no longer referenced.
2021-12-06 15:06:54 +00:00
Bram Moolenaar
c7d5fc8622
patch 8.2.3746: cannot disassemble function starting with "debug" or "profile"
...
Problem: Cannot disassemble function starting with "debug" or "profile".
Solution: Check for white space following. (closes #9273 )
2021-12-05 17:20:24 +00:00
Bram Moolenaar
01a4dcbcee
patch 8.2.3734: Vim9: crash when no pattern match found
...
Problem: Vim9: crash when no pattern match found.
Solution: Check for error.
2021-12-04 13:15:10 +00:00
Bram Moolenaar
69c76171f1
patch 8.2.3720: Vim9: Internal error when invoking closure in legacy context
...
Problem: Vim9: Internal error when invoking closure in legacy context.
Solution: Give a more appropriate error message. (closes #9251 )
2021-12-02 16:38:52 +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
293eb9ba46
patch 8.2.3693: Coverity warns for possibly using a NULL pointer
...
Problem: Coverity warns for possibly using a NULL pointer.
Solution: Check for NULL and give an error.
2021-11-29 10:36:19 +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
112bed0cbe
patch 8.2.3657: Vim9: debug text misses one line of return statement
...
Problem: Vim9: debug text misses one line of return statement.
Solution: Add a line when not at a debug instruction. (closes #9137 )
2021-11-23 22:16:34 +00:00
Bram Moolenaar
21c1a0c2f1
patch 8.2.3530: ":buf \{a}" fails while ":edit \{a}" works
...
Problem: ":buf \{a}" fails while ":edit \{a}" works.
Solution: Unescape "\{". (closes #8917 )
2021-10-17 17:20:23 +01: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
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
88c89c7722
patch 8.2.3341: Vim9: function call aborted despite try/catch
...
Problem: Vim9: function call aborted despite try/catch. (Naohiro Ono)
Solution: Ignore error caught by try/catch. (closes #8755 )
2021-08-14 14:01:05 +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
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
fbeefb1b87
patch 8.2.3309: Vim9: divide by zero causes a crash
...
Problem: Vim9: divide by zero causes a crash.
Solution: Give an error message. (closes #8727 )
2021-08-07 15:50:23 +02:00
Bram Moolenaar
6ce46b9963
patch 8.2.3308: Vim9: no runtime check for argument type with varargs only
...
Problem: Vim9: no runtime check for argument type if a function only has
varargs.
Solution: Also check argument types if uf_va_type is set. (closes #8715 )
2021-08-07 15:35:36 +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
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
952d9d827e
patch 8.2.3274: macro for printf format check can be simplified
...
Problem: Macro for printf format check can be simplified.
Solution: Add ATTRIBUTE_FORMAT_PRINTF(). (Dominique Pellé, issue #8635 )
2021-08-02 18:07:18 +02:00