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
0631bb4ed7
patch 8.2.4374: unreachable code
...
Problem: Unreachable code.
Solution: Remove outdated code lines.
2022-02-13 21:20:21 +00:00
Bram Moolenaar
a749a42ed2
patch 8.2.4360: Vim9: allowing use of "s:" leads to inconsistencies
...
Problem: Vim9: allowing use of "s:" leads to inconsistencies.
Solution: Disallow using "s:" in Vim9 script at the script level.
2022-02-12 19:52:25 +00:00
Bram Moolenaar
b6a138eb33
patch 8.2.4333: cstack not always passed to where it is needed
...
Problem: cstack not always passed to where it is needed.
Solution: Pass ctack through functions.
2022-02-08 21:17:22 +00:00
Bram Moolenaar
dce2441a60
patch 8.2.4332: Vim9: incomplete test for existing script variable in block
...
Problem: Vim9: incomplete test for existing script variable in block.
Solution: Add a couple more tests. Fix uncovered problem.
2022-02-08 20:35:30 +00:00
Bram Moolenaar
3787f26c2e
patch 8.2.4324: Vim9: script-local function name can start with "_"
...
Problem: Vim9: script-local function name can start with "_".
Solution: Check for leading capital after "s:". Correct error message.
2022-02-07 21:54:01 +00:00
Bram Moolenaar
f681cfb90b
patch 8.2.4323: Vim9: nested function name can start with "_"
...
Problem: Vim9: nested function name can start with "_".
Solution: Use same rule for function name for nested functions.
(closes #9713 )
2022-02-07 20:30:57 +00:00
Bram Moolenaar
8cbf249917
patch 8.2.4314: test fails where lines are skipped
...
Problem: Test fails where lines are skipped.
Solution: Only give an error when not skipping commands.
2022-02-06 20:28:13 +00:00
Bram Moolenaar
107f7325f6
patch 8.2.4312: no error for using :vim9script in a :def function
...
Problem: No error for using :vim9script in a :def function.
Solution: Give an error when compiling.
2022-02-06 17:30:41 +00:00
Bram Moolenaar
a1c5195180
patch 8.2.4285: Vim9: type of item in for loop not checked properly
...
Problem: Vim9: type of item in for loop not checked properly.
Solution: Adjust the type checking. (closes #9683 )
2022-02-02 16:20:26 +00:00
Bram Moolenaar
acc4b5648b
patch 8.2.4202: Vim9: cannot export function that exists globally
...
Problem: Vim9: cannot export function that exists globally.
Solution: When checking if a function already exists only check for
script-local functions. (closes #9615 )
2022-01-24 13:54:45 +00:00
Bram Moolenaar
b697dc295d
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
...
Problem: Vim9: autoload script not loaded after "vim9script noclear".
Solution: Check IMP_FLAGS_AUTOLOAD properly.
2022-01-22 11:27:29 +00:00
Bram Moolenaar
bed34f0a8a
patch 8.2.4147: E464 does not always include the offending command
...
Problem: E464 does not always include the offending command.
Solution: Add another error message with "%s". (closes #9564 )
2022-01-19 20:48:37 +00:00
Bram Moolenaar
38ecd97226
patch 8.2.4103: Vim9: variable declared in for loop not initialzed
...
Problem: Vim9: variable declared in for loop not initialzed.
Solution: Always initialze the variable. (closes #9535 )
2022-01-15 21:44:44 +00:00
Bram Moolenaar
f60a63485e
patch 8.2.4097: wrong number in error message on 32 bit system
...
Problem: Wrong number in error message on 32 bit system. (John Paul Adrian
Glaubitz)
Solution: Add type cast. (closes #9527 )
2022-01-15 14:16:37 +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
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
17d36cbcd3
patch 8.2.4066: Vim9: imported autoload script loaded again
...
Problem: Vim9: imported autoload script loaded again.
Solution: Do not create a new imported_T every time.
2022-01-12 11:46:40 +00:00
Bram Moolenaar
577bd85d55
patch 8.2.4054: Vim9 script test fails
...
Problem: Vim9 script test fails.
Solution: Add missing change.
2022-01-10 18:42:52 +00:00
Bram Moolenaar
dc4451df61
patch 8.2.4050: Vim9: need to prefix every item in an autoload script
...
Problem: Vim9: need to prefix every item in an autoload script.
Solution: First step in supporting "vim9script autoload" and "import
autoload".
2022-01-09 21:36:37 +00:00
Yegappan Lakshmanan
782b43d894
patch 8.2.4045: some global functions are only used in one file
...
Problem: Some global functions are only used in one file.
Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492 )
2022-01-08 18:43:40 +00:00
Bram Moolenaar
9f1a39a5d1
patch 8.2.4040: keeping track of allocated lines is too complicated
...
Problem: Keeping track of allocated lines in user functions is too
complicated.
Solution: Instead of freeing individual lines keep them all until the end.
2022-01-08 15:39:39 +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
58493cfae2
patch 8.2.4016: Vim9: incorrect error for argument that is shadowing var
...
Problem: Vim9: incorrect error for argument that is shadowing var.
Solution: Ignore variable that is not in block where the function was
defined.
2022-01-06 12:23:30 +00:00
Bram Moolenaar
d82a47dd04
patch 8.2.4012: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move the last error messages to errors.h.
2022-01-05 20:24:39 +00:00
Bram Moolenaar
d3a117814d
patch 8.2.4009: reading one byte beyond the end of the line
...
Problem: Reading one byte beyond the end of the line.
Solution: Check for NUL byte first.
2022-01-05 16:50:40 +00:00
Bram Moolenaar
10d6f18b2f
patch 8.2.3997: Vim9: not enough testing for extend() and map()
...
Problem: Vim9: not enough testing for extend() and map().
Solution: Add more test cases. Fix uncovered problems. Remove unused type
fields.
2022-01-04 15:54:38 +00:00
Bram Moolenaar
078a46161e
patch 8.2.3996: Vim9: type checking lacks information about declared type
...
Problem: Vim9: type checking for list and dict lacks information about
declared type.
Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to
store two types in each entry.
2022-01-04 15:17:03 +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
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
e70cec9760
patch 8.2.3968: build failure
...
Problem: Build failure.
Solution: Add missing changes.
2022-01-01 14:25:55 +00:00
Bram Moolenaar
1a9922243a
patch 8.2.3957: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 17:25:48 +00:00
Bram Moolenaar
9a015111a5
patch 8.2.3954: Vim9: no error for shadowing if script var is declared later
...
Problem: Vim9: no error for shadowing if script var is declared later.
Solution: Check argument names when compiling a function.
2021-12-31 14:06:45 +00:00
Bram Moolenaar
d293981d2b
patch 8.2.3951: Vim9: memory leak when text after a nested function
...
Problem: Vim9: memory leak when text after a nested function.
Solution: Free the function if text is found after "enddef".
2021-12-30 17:09:05 +00:00
Bram Moolenaar
7473a84cf9
patch 8.2.3924: Vim9: no error if something follows :enddef
...
Problem: Vim9: no error if something follows :enddef in a nested function.
Solution: Give an error. Move common code to a function.
2021-12-28 17:55:26 +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
fa46ead31a
patch 8.2.3869: Vim9: type checking for "any" is inconsistent
...
Problem: Vim9: type checking for "any" is inconsistent.
Solution: Always use a runtime type check for using "any" for a more
specific type.
2021-12-22 13:18:39 +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
a99fb23842
patch 8.2.3859: Vim9: some code lines not tested
...
Problem: Vim9: some code lines not tested.
Solution: Add a few specific tests.
2021-12-20 12:25:03 +00:00
Bram Moolenaar
003312b1d2
patch 8.2.3858: Vim9: not enough tests
...
Problem: Vim9: not enough tests.
Solution: Add tests for :try/:catch and :redir. Add missing type check.
2021-12-20 10:55:35 +00:00
Bram Moolenaar
fea43e44c0
patch 8.2.3856: Vim9: not enough tests
...
Problem: Vim9: not enough tests.
Solution: Run more expression tests also with Vim9. Fix an uncovered
problem.
2021-12-19 21:34:05 +00:00
Bram Moolenaar
f47c5a8e2d
patch 8.2.3852: Vim9: not enough tests
...
Problem: Vim9: not enough tests.
Solution: Also run existing tests for Vim9 script. Make errors more
consistent.
2021-12-19 15:17:21 +00:00
Bram Moolenaar
44a8977de4
patch 8.2.3844: Vim9: no type error if assigning func(number) to func(string)
...
Problem: Vim9: no type error if assigning a value with type func(number) to
a variable of type func(string).
Solution: Use check_type_maybe(): return MAYBE if a runtime type check is
useful. (issue #8492 )
2021-12-18 12:31:33 +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
b15cf44c1d
patch 8.2.3826: Vim9: using "g:Func" as funcref doesn't work in :def function
...
Problem: Vim9: using "g:Func" as a funcref does not work in a :def
function.
Solution: Include "g:" in the function name. (closes #9336 )
2021-12-16 15:49:43 +00:00
Bram Moolenaar
9fffef9f35
patch 8.2.3775: Vim9: lambda compiled without outer context when debugging
...
Problem: Vim9: lambda compiled without outer context when debugging.
Solution: When compiling a lambda for debugging also compile it without.
(closes #9302 )
2021-12-10 16:55:58 +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
Yegappan Lakshmanan
6409553b6e
patch 8.2.3751: cannot assign a lambda to an option that takes a function
...
Problem: Cannot assign a lambda to an option that takes a function.
Solution: Automatically convert the lambda to a string. (Yegappan
Lakshmanan, closes #9286 )
2021-12-06 11:03:55 +00:00
Bram Moolenaar
b579f6ebbf
patch 8.2.3733: Vim9: using "legacy" before range does not work
...
Problem: Vim9: using "legacy" before range does not work.
Solution: Skip over range before parsing command. (closes #9270 )
2021-12-04 11:57:00 +00:00