Bram Moolenaar
6601b62943
patch 8.2.2344: using inclusive index for slice is not always desired
...
Problem: Using inclusive index for slice is not always desired.
Solution: Add the slice() method, which has an exclusive index. (closes
#7408 )
2021-01-13 21:47:15 +01:00
Bram Moolenaar
cb6cbf29e9
patch 8.2.2333: Vim9: warning for uninitialized variable
...
Problem: Vim9: warning for uninitialized variable. (Tony Mechelynck)
Solution: Initialize "res".
2021-01-12 17:17:01 +01:00
Bram Moolenaar
9567efa1b4
patch 8.2.2332: Vim9: missing :endif not reported when using :windo
...
Problem: Vim9: missing :endif not reported when using :windo.
Solution: Pass a getline function to do_cmdline(). (closes #7650 )
2021-01-11 22:16:30 +01:00
Bram Moolenaar
16a6f91ccb
patch 8.2.2327: debugging code included
...
Problem: Debugging code included.
Solution: Remove the debugging code.
2021-01-10 23:58:28 +01:00
Bram Moolenaar
0186e58639
patch 8.2.2322: Vim9: closure nested limiting to one level
...
Problem: Vim9: closure nested limiting to one level.
Solution: Add outer_T. Also make STOREOUTER work.
2021-01-10 18:33:11 +01:00
Bram Moolenaar
ab360526ef
patch 8.2.2321: Vim9: cannot nest closures
...
Problem: Vim9: cannot nest closures.
Solution: Add the nesting level to ISN_LOADOUTER and ISN_STOREOUTER.
(closes #7150 , closes #7635 )
2021-01-10 14:02:28 +01:00
Bram Moolenaar
657137ca48
patch 8.2.2319: "exptype_T" can be read as "expected type"
...
Problem: "exptype_T" can be read as "expected type".
Solution: Rename to "exprtype_T", expression type.
2021-01-09 15:45:23 +01:00
Bram Moolenaar
e7525c5520
patch 8.2.2318: Vim9: string and list index work differently
...
Problem: Vim9: string and list index work differently.
Solution: Make string index work like list index. (closes #7643 )
2021-01-09 13:20:37 +01:00
Bram Moolenaar
299f3036ec
patch 8.2.2314: Vim9: returning zero takes two instructions
...
Problem: Vim9: returning zero takes two instructions.
Solution: Add ISN_RETURN_ZERO.
2021-01-08 20:53:09 +01:00
Bram Moolenaar
ece0b87c0f
patch 8.2.2313: Vim9: using uninitialized field when parsing range
...
Problem: Vim9: using uninitialized field when parsing range. ":silent!" not
respected when parsing range fails.
Solution: Initialize ea.skip. On pattern failure handle it like an error.
(closes #7636 )
2021-01-08 20:40:45 +01:00
Bram Moolenaar
32b3f82010
patch 8.2.2306: Vim9: when using function reference type is not checked
...
Problem: Vim9: when using function reference type is not checked.
Solution: When using a function reference lookup the type and check the
argument types. (issue #7629 )
2021-01-06 21:59:39 +01:00
Bram Moolenaar
0acbf5ae66
patch 8.2.2304: Vim9: no test for unletting an imported variable
...
Problem: Vim9: no test for unletting an imported variable.
Solution: Add a test. Fix line number in error.
2021-01-05 20:58:25 +01:00
Bram Moolenaar
752fc692ac
patch 8.2.2301: Vim9: cannot unlet a dict or list item
...
Problem: Vim9: cannot unlet a dict or list item.
Solution: Add ISN_UNLETINDEX. Refactor assignment code to use for unlet.
2021-01-04 21:57:11 +01:00
Bram Moolenaar
d1510ee946
patch 8.2.2299: Vim9: invalid memory access making error message flaky
...
Problem: Vim9: invalid memory access making error message flaky.
Solution: Do not check cmd_argt for CMD_USER. (issue #7467 )
2021-01-04 16:15:58 +01:00
Bram Moolenaar
82c38fe508
patch 8.2.2294: VMS: a few remaining problems
...
Problem: VMS: a few remaining problems.
Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
2021-01-04 10:47:26 +01:00
Bram Moolenaar
aa210a3aec
patch 8.2.2272: Vim9: extend() can violate the type of a variable
...
Problem: Vim9: extend() can violate the type of a variable.
Solution: Add the type to the dictionary or list and check items against it.
(closes #7593 )
2021-01-02 15:41:03 +01:00
Bram Moolenaar
38a434f7ba
patch 8.2.2270: warning for size_t to int conversion
...
Problem: Warning for size_t to int conversion. (Randall W. Morris)
Solution: Add a type cast.
2021-01-02 12:45:45 +01:00
Bram Moolenaar
3862ea3f62
patch 8.2.2268: Vim9: list unpack seen as declaration
...
Problem: Vim9: list unpack seen as declaration.
Solution: Check for "var". (closes #7594 )
2021-01-01 21:05:55 +01:00
Bram Moolenaar
07a65d26e7
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
...
Problem: Vim9: crash if script reloaded with different variable type.
Solution: Check the type when accessing the variable.
2020-12-26 20:09:15 +01:00
Bram Moolenaar
fc0e8f5c3e
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
...
Problem: Vim9: failure if passing more arguments to a lambda than expected.
Solution: Only put expected arguments on the stack. (closes #7548 )
2020-12-25 20:24:51 +01:00
Bram Moolenaar
20a762987e
patch 8.2.2217: Vim9: command modifiers not restored in catch block
...
Problem: Vim9: command modifiers not restored in catch block.
Solution: Restore command modifiers. (closes #7542 )
2020-12-25 19:47:24 +01:00
Bram Moolenaar
4aab88d919
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
...
Problem: Vim9: after reloading a script variable index may be invalid.
Solution: When the sequence number doesn't match give an error for using a
script-local variable from a compiled function. (closes #7547 )
2020-12-24 21:56:41 +01:00
Bram Moolenaar
3bdc90b7df
patch 8.2.2193: Vim9: can change constant in :def function
...
Problem: Vim9: can change constant in :def function.
Solution: Check if a variable is locked. (issue #7526 )
2020-12-22 20:35:40 +01:00
Bram Moolenaar
cd45ed03bf
patch 8.2.2188: Vim9: crash when calling global function from :def function
...
Problem: Vim9: crash when calling global function from :def function.
Solution: Set the outer context. Define the partial for the context on the
original function. Use a refcount to keep track of which ufunc is
using a dfunc. (closes #7525 )
2020-12-22 17:35:54 +01:00
Bram Moolenaar
4f5e397756
patch 8.2.2179: Vim9: crash when indexing a dict with a number
...
Problem: Vim9: crash when indexing a dict with a number.
Solution: Add ISN_STOREINDEX. (closes #7513 )
2020-12-21 17:30:50 +01:00
Bram Moolenaar
52c124d330
patch 8.2.2173: Vim9: get internal error when assigning to undefined variable
...
Problem: Vim9: get internal error when assigning to undefined variable.
Solution: Add error message. (closes #7475 )
2020-12-20 21:43:35 +01:00
Bram Moolenaar
5082471f91
patch 8.2.2172: Vim9: number of arguments is not always checked
...
Problem: Vim9: number of arguments is not always checked. (Yegappan
Lakshmanan)
Solution: Check number of arguments when calling function by name.
2020-12-20 21:10:17 +01:00
Bram Moolenaar
f112f30a82
patch 8.2.2170: Vim9: a global function defined in a :def function fails
...
Problem: Vim9: a global function defined in a :def function fails if it
uses the context.
Solution: Create a partial to store the closure context. (see #7410 )
2020-12-20 17:47:52 +01:00
Bram Moolenaar
03290b8444
patch 8.2.2162: Vim9: Cannot load or store autoload variables
...
Problem: Vim9: Cannot load or store autoload variables.
Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485 )
2020-12-19 16:30:44 +01:00
Bram Moolenaar
8e7d6223f6
patch 8.2.2160: various typos
...
Problem: Various typos.
Solution: Fix spelling mistakes. (closes #7494 )
2020-12-18 19:49:56 +01:00
Bram Moolenaar
3beaf9cd8e
patch 8.2.2159: Vim9: when declaring a list it is not allocated yet
...
Problem: Vim9: when declaring a list it is not allocated yet, causing a
following extend() to fail.
Solution: When fetching a variable value for a list or dict that is null
allocate the list or dict, so it can be used. (closes #7491 )
2020-12-18 17:23:14 +01:00
Bram Moolenaar
57f799e6a4
patch 8.2.2134: Vim9: get E1099 when autocmd triggered in builtin function
...
Problem: Vim9: get E1099 when autocmd triggered in builtin function.
Solution: Check that did_emsg increased instead of checking that it changed.
(closes #7448 )
2020-12-12 20:42:19 +01:00
Bram Moolenaar
08597875b2
patch 8.2.2124: Vim9: a range cannot be computed at runtime
...
Problem: Vim9: a range cannot be computed at runtime.
Solution: Add the ISN_RANGE instruction.
2020-12-10 19:43:40 +01:00
Bram Moolenaar
56602ba153
patch 8.2.2097: Vim9: using :silent! when calling a function prevents abort
...
Problem: Vim9: using :silent! when calling a function prevents abortng that
function.
Solution: Add emsg_silent_def and did_emsg_def.
2020-12-05 21:22:08 +01:00
Bram Moolenaar
f665e97ffa
patch 8.2.2096: Vim9: command modifiers not restored after assignment
...
Problem: Vim9: command modifiers not restored after assignment.
Solution: Jump to nextline instead of using continue.
2020-12-05 19:17:16 +01:00
Bram Moolenaar
4029cabbe7
patch 8.2.2095: Vim9: crash when failed dict member is followed by concat
...
Problem: Vim9: crash when failed dict member is followed by concatenation.
Solution: Remove the dict from the stack. (closes #7416 )
2020-12-05 18:13:27 +01:00
Bram Moolenaar
af0df47a76
patch 8.2.2083: Vim9: crash when using ":silent!" and getting member fails
...
Problem: Vim9: crash when using ":silent!" and getting member fails.
Solution: Jump to on_fatal_error. (closes #7412 )
2020-12-02 20:51:22 +01:00
Bram Moolenaar
34c54eb6cb
patch 8.2.2051: Vim9: crash when aborting a user function call
...
Problem: Vim9: crash when aborting a user function call.
Solution: Do not use the return value when aboring. (closes #7372 )
2020-11-25 19:15:19 +01:00
Bram Moolenaar
792f786aad
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
...
Problem: Vim9: list unpack in for statement not compiled yet.
Solution: Compile list unpack. (closes #7345 )
2020-11-23 08:31:18 +01:00
Bram Moolenaar
6abdcf8285
patch 8.2.2033: Vim9: :def without argument gives compilation error
...
Problem: Vim9: :def without argument gives compilation error.
Solution: Add the DEF instruction. (closes #7344 )
2020-11-22 18:15:44 +01:00
Bram Moolenaar
c71ee829ef
patch 8.2.2023: Vim: memory leak when :execute fails
...
Problem: Vim: memory leak when :execute fails.
Solution: Clear the growarray.
2020-11-21 11:45:50 +01:00
Bram Moolenaar
eeece9e488
patch 8.2.2021: Vim9: get E1099 when autocommand resets did_emsg
...
Problem: Vim9: get E1099 when autocommand resets did_emsg.
Solution: Add did_emsg_cumul. (closes #7336 )
2020-11-20 19:26:48 +01:00
Bram Moolenaar
0ba48e8c27
patch 8.2.2001: Vim9: :def function does not apply 'maxfuncdepth'
...
Problem: Vim9: :def function does not apply 'maxfuncdepth'.
Solution: Use 'maxfuncdepth'. (issue #7313 )
2020-11-17 18:23:19 +01:00
Bram Moolenaar
ea2d407f9c
patch 8.2.1977: Vim9: error for using a string in a condition is confusing
...
Problem: Vim9: error for using a string in a condition is confusing.
Solution: Give a more specific error. Also adjust the compile time type
checking for || and &&.
2020-11-12 12:08:51 +01:00
Bram Moolenaar
631e8f9345
patch 8.2.1953: Vim9: extra "unknown" error after other error
...
Problem: Vim9: extra "unknown" error after other error.
Solution: Restore did_emsg count after EXEC instruction. (closes #7254 )
Improve error message from assert_fails()
2020-11-04 15:07:16 +01:00
Bram Moolenaar
c7f7f6db3e
patch 8.2.1952: Vim9: crash when using a NULL dict key
...
Problem: Vim9: crash when using a NULL dict key.
Solution: Use a NULL dict key like an empty string. (closes #7249 )
2020-11-04 13:38:28 +01:00
Bram Moolenaar
cd030c4b60
patch 8.2.1928: Vim9: "silent!" not effective when list index is wrong
...
Problem: Vim9: "silent!" not effective when list index is wrong.
Solution: Ignore list indes failure when emsg_silent is set. (closes #7232 )
2020-10-30 21:49:40 +01:00
Bram Moolenaar
d66960bf57
patch 8.2.1927: Vim9: get unknown error with an error in a timer function
...
Problem: Vim9: get unknown error with an error in a timer function.
Solution: Use did_emsg instead of called_emsg. (closes #7231 )
2020-10-30 20:46:26 +01:00
Bram Moolenaar
086fc9a585
patch 8.2.1924: Vim9: crash when indexing dict with NULL key
...
Problem: Vim9: crash when indexing dict with NULL key.
Solution: Use empty string instead of NULL. (closes #7229 ) Make error
message more useful for empty string.
2020-10-30 18:33:02 +01:00
Bram Moolenaar
28ee892ac4
patch 8.2.1919: assert_fails() setting emsg_silent changes normal execution
...
Problem: Assert_fails() setting emsg_silent changes normal execution.
Solution: Use a separate flag in_assert_fails.
2020-10-28 20:20:00 +01:00