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
Bram Moolenaar
2fecb53115
patch 8.2.2650: Vim9: command modifiers not handled in nested function
...
Problem: Vim9: command modifiers not handled in nested function.
Solution: Keep function-local info in a structure and save it on the stack.
2021-03-24 22:00:56 +01:00
Bram Moolenaar
7e82c5f338
patch 8.2.2539: Vim9: return from finally block causes a hang
...
Problem: Vim9: return from finally block causes a hang.
Solution: Store both the finally and endtry indexes. (closes #7885 )
2021-02-21 21:32:45 +01:00
Bram Moolenaar
5b5ae29bd3
patch 8.2.2533: Vim9: cannot use a range with :unlet
...
Problem: Vim9: cannot use a range with :unlet.
Solution: Implement ISN_UNLETRANGE.
2021-02-20 17:04:02 +01:00
Bram Moolenaar
064095012c
patch 8.2.2527: Vim9: lambda return type is not determined at script level
...
Problem: Vim9: lambda return type is not determined at script level.
Solution: Compile the lambda to get the return type. (closes #7843 )
2021-02-17 17:00:27 +01:00
Bram Moolenaar
c150c09ec4
patch 8.2.2506: Vim9: :continue does not work correctly in a :try block
...
Problem: Vim9: :continue does not work correctly in a :try block
Solution: Add the TRYCLEANUP instruction. (closes #7827 )
2021-02-13 15:02:46 +01:00
Bram Moolenaar
ff0e57fe77
patch 8.2.2410: build failure without the +profiling feature
...
Problem: Build failure without the +profiling feature.
Solution: Add dummy argument to macro.
2021-01-25 23:02:38 +01:00
Bram Moolenaar
e5ea346a07
patch 8.2.2409: Vim9: profiling only works for one function
...
Problem: Vim9: profiling only works for one function.
Solution: Select the right instructions when calling and returning.
(closes #7743 )
2021-01-25 21:01:48 +01:00
Bram Moolenaar
f002a41d12
patch 8.2.2401: build fails without +profiling feature
...
Problem: Build fails without +profiling feature.
Solution: Add #ifdefs.
2021-01-24 13:34:18 +01:00
Bram Moolenaar
b204990346
patch 8.2.2400: Vim9: compiled functions are not profiled
...
Problem: Vim9: compiled functions are not profiled.
Solution: Add initial changes to profile compiled functions. Fix that a
script-local function was hard to debug.
2021-01-24 12:53:53 +01:00
Bram Moolenaar
b3005ce191
patch 8.2.2390: Vim9: using positive offset is unexpected
...
Problem: Vim9: using positive offset is unexpected.
Solution: Use int8_T instead of char. (James McCoy)
2021-01-22 17:51:06 +01:00
Bram Moolenaar
9b6344613e
patch 8.2.2389: test failure on a few systems
...
Problem: Test failure on a few systems.
Solution: Avoid that "char" value is negative.
2021-01-21 22:53:38 +01:00
Bram Moolenaar
e32e516dfa
patch 8.2.2387: runtime type check does not mention argument index
...
Problem: Runtime type check does not mention argument index.
Solution: Add ct_arg_idx. (closes #7720 )
2021-01-21 20:21:29 +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
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
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
628c102d12
patch 8.2.2273: build failure
...
Problem: Build failure.
Solution: Add missing changes to header file.
2021-01-02 15:49:28 +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
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
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
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
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
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
02194d2bd5
patch 8.2.1900: Vim9: command modifiers do not work
...
Problem: Vim9: command modifiers do not work.
Solution: Make most command modifiers work.
2020-10-24 23:08:38 +02:00
Bram Moolenaar
f4c6e1e75c
patch 8.2.1894: Vim9: command modifiers are not supported
...
Problem: Vim9: command modifiers are not supported.
Solution: Support "silent" and "silent!".
2020-10-23 18:02:32 +02:00
Bram Moolenaar
80b0e5ea11
patch 8.2.1867: Vim9: argument to add() not checked for blob
...
Problem: Vim9: argument to add() not checked for blob.
Solution: Add the BLOBAPPEND instruction.
2020-10-19 20:45:36 +02:00
Bram Moolenaar
1dcae59957
patch 8.2.1865: Vim9: add() does not check type of argument
...
Problem: Vim9: add() does not check type of argument.
Solution: Inline the add() call. (closes #7160 )
2020-10-19 19:02:42 +02:00
Bram Moolenaar
2bb2658bef
patch 8.2.1795: Vim9: operators && and || have a confusing result
...
Problem: Vim9: operators && and || have a confusing result.
Solution: Make the result a boolean.
2020-10-03 22:52:39 +02:00
Bram Moolenaar
5366e1aecf
patch 8.2.1778: Vim9: returning from a partial call clears outer context
...
Problem: Vim9: returning from a partial call clears outer context, causing
a crash.
Solution: Put the outer context in the stack frame. (closes #7044 )
2020-10-01 13:01:34 +02:00
Bram Moolenaar
148ce7ae62
patch 8.2.1734: Vim9: cannot use a funcref for a closure twice
...
Problem: Vim9: cannot use a funcref for a closure twice.
Solution: Instead of putting the funcref on the stack use a growarray on the
execution context.
2020-09-23 21:57:23 +02:00
Bram Moolenaar
5e65423077
patch 8.2.1691: Vim9: list<any> is not accepted where list<number> is expected
...
Problem: Vim9: list<any> is not accepted where list<number> is expected.
Solution: Add functions to allocate and free a type_T, use it in
ISN_CHECKTYPE. (closes #6959 )
2020-09-16 15:22:00 +02:00
Bram Moolenaar
0b4c66c67a
patch 8.2.1685: Vim9: cannot declare a constant value
...
Problem: Vim9: cannot declare a constant value.
Solution: Introduce ":const!".
2020-09-14 21:39:44 +02:00
Bram Moolenaar
c3516f7e45
patch 8.2.1637: Vim9: :put ={expr} does not work inside :def function
...
Problem: Vim9: :put ={expr} does not work inside :def function.
Solution: Add ISN_PUT. (closes #6397 )
2020-09-08 22:45:35 +02:00
Bram Moolenaar
cc673e746a
patch 8.2.1466: Vim9: cannot index or slice a variable with type "any"
...
Problem: Vim9: cannot index or slice a variable with type "any".
Solution: Add runtime index and slice.
2020-08-16 17:33:35 +02:00
Bram Moolenaar
ed5918771f
patch 8.2.1463: Vim9: list slice not supported yet
...
Problem: Vim9: list slice not supported yet.
Solution: Add support for list slicing.
2020-08-15 22:14:53 +02:00
Bram Moolenaar
11107bab7e
patch 8.2.1462: Vim9: string slice not supported yet
...
Problem: Vim9: string slice not supported yet.
Solution: Add support for string slicing.
2020-08-15 21:10:16 +02:00
Bram Moolenaar
418f1df547
patch 8.2.1435: Vim9: always converting to string for ".." leads to mistakes
...
Problem: Vim9: always converting to string for ".." leads to mistakes.
Solution: Only automatically convert simple types.
2020-08-12 21:34:49 +02:00
Bram Moolenaar
38ddf333f6
patch 8.2.1329: Vim9: cannot define global function inside :def function
...
Problem: Vim9: cannot define global function inside :def function.
Solution: Assign to global variable instead of local. (closes #6584 )
2020-07-31 22:05:04 +02:00
Bram Moolenaar
2f8ce0ae8a
patch 8.2.1250: Vim9: cannot use the g:, b:, t: and w: namespaces
...
Problem: Vim9: cannot use the g:, b:, t: and w: namespaces.
Solution: Add instructions to push a dict for the namespaces. (closes #6480 )
2020-07-19 19:47:35 +02:00
Bram Moolenaar
bf9d8c3765
patch 8.2.1247: Vim9: cannot index a character in a string
...
Problem: Vim9: cannot index a character in a string.
Solution: Add ISN_STRINDEX instruction. (closes #6478 )
2020-07-19 17:55:44 +02:00
Bram Moolenaar
389df259c4
patch 8.2.1167: Vim9: builtin function method call only supports first arg
...
Problem: Vim9: builtin function method call only supports first argument.
Solution: Shift arguments when needed. (closes #6305 , closes #6419 )
2020-07-09 21:20:47 +02:00
Bram Moolenaar
9af78769ee
patch 8.2.0987: Vim9: cannot assign to [var; var]
...
Problem: Vim9: cannot assign to [var; var].
Solution: Assign rest of items to a list.
2020-06-16 11:34:42 +02:00
Bram Moolenaar
47a519a933
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
...
Problem: Vim9: cannot compile "[var, var] = list".
Solution: Implement list assignment.
2020-06-14 23:05:10 +02:00