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
fdeab65db6
patch 8.2.1711: Vim9: leaking memory when using partial
...
Problem: Vim9: leaking memory when using partial.
Solution: Do delete the function even when it was compiled.
2020-09-19 15:16:50 +02:00
Bram Moolenaar
dec07510bb
patch 8.2.1709: Vim9: memory leak when using multiple closures
...
Problem: Vim9: memory leak when using multiple closures.
Solution: Free the partial.
2020-09-18 23:11:10 +02:00
Bram Moolenaar
7cbfaa51de
patch 8.2.1706: Vim9: crash after running into the "Multiple closures" error
...
Problem: Vim9: crash after running into the "Multiple closures" error.
Solution: When a function fails still update any closures. (closes #6973 )
2020-09-18 21:25:32 +02:00
Bram Moolenaar
77e5dcc36a
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
...
Problem: Vim9: crash in for loop when autoload script has an error.
Solution: Reset suppress_errthrow. Check for NULL list. (closes #6967 )
2020-09-17 21:29:03 +02:00
Bram Moolenaar
9939f57b7f
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
...
Problem: Vim9: try/catch causes wrong value to be returned.
Solution: Reset tcd_return. (closes #6964 )
2020-09-16 22:29:52 +02:00
Bram Moolenaar
2f8cbc4b22
patch 8.2.1695: Vim9: crash when using varargs type "any"
...
Problem: Vim9: crash when using varargs type "any".
Solution: Check if uf_va_type is &t_any. (closes #6957 )
2020-09-16 17:22:59 +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
eb26f4331f
patch 8.2.1680: Vim9: line number for compare error is wrong
...
Problem: Vim9: line number for compare error is wrong.
Solution: Set SOURCING_LNUM. (closes #6936 )
2020-09-14 16:50:05 +02:00
Bram Moolenaar
dadaddd59f
patch 8.2.1668: Vim9: not accepting 0 or 1 as bool when type is any
...
Problem: Vim9: not accepting 0 or 1 as bool when type is any.
Solution: Convert the type with the CHECKTYPE instruction. (closes #6913 )
2020-09-12 19:11:23 +02:00
Bram Moolenaar
dfa3d5524e
patch 8.2.1656: Vim9: callstack wrong if :def function calls :def function
...
Problem: Vim9: callstack wrong if :def function calls :def function.
Solution: Set the line number before calling. (closes #6914 )
2020-09-10 22:05:08 +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
8b565c2c15
patch 8.2.1551: Vim9: error for argument type does not mention the number
...
Problem: Vim9: error for argument type does not mention the number.
Solution: Pass the argument number to where the error is given.
2020-08-30 23:24:20 +02:00
Bram Moolenaar
95006e3dca
patch 8.2.1541: Vim9: cannot find function reference for s:Func
...
Problem: Vim9: cannot find function reference for s:Func.
Solution: Recognize <SNR> prefix. (closes #6805 )
2020-08-29 17:47:08 +02:00
Bram Moolenaar
ee8580e52e
patch 8.2.1534: Vim9: type error for argument type is not at call position
...
Problem: Vim9: type error for argument type is not at call position.
Solution: Set the context and stack after checking the arguments.
(issue #6785 )
2020-08-28 17:19:07 +02:00
Bram Moolenaar
430deb1945
patch 8.2.1516: Vim9: error for :exe has wrong line number
...
Problem: Vim9: error for :exe has wrong line number.
Solution: Set line number before calling do_cmdline_cmd(). (closes #6774 )
2020-08-23 16:29:11 +02:00
Bram Moolenaar
3affe7a6c6
patch 8.2.1481: Vim9: line number reported with error may be wrong
...
Problem: Vim9: line number reported with error may be wrong.
Solution: Check line number in tests.
2020-08-18 20:34:13 +02:00
Bram Moolenaar
1d634542cf
patch 8.2.1479: Vim9: error for list index uses wrong line number
...
Problem: Vim9: error for list index uses wrong line number.
Solution: Set source line number. (closes #6724 ) Add a way to assert the
line number of the error with assert_fails().
2020-08-18 13:41:50 +02:00
Bram Moolenaar
e5abf7af08
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
...
Problem: Vim9: :echomsg doesn't like a dict argument.
Solution: Convert arguments like in legacy script. (closes #6717 )
2020-08-16 18:29: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
56acb0943e
patch 8.2.1465: Vim9: subscript not handled properly
...
Problem: Vim9: subscript not handled properly.
Solution: Adjust error message. Remove dead code. Disallow string to
number conversion in scripts.
2020-08-16 14:48:19 +02:00
Bram Moolenaar
829ac868b7
patch 8.2.1464: Vim9: build warning for unused variable
...
Problem: Vim9: build warning for unused variable.
Solution: Delete the variable declaration.
2020-08-15 22:48:48 +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
e3c37d8ebf
patch 8.2.1461: Vim9: string indexes are counted in bytes
...
Problem: Vim9: string indexes are counted in bytes.
Solution: Use character indexes. (closes #6574 )
2020-08-15 18:39:05 +02:00
Bram Moolenaar
451c2e3536
patch 8.2.1460: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more messages into errors.h.
2020-08-15 16:33:28 +02:00
Bram Moolenaar
793dcc540d
patch 8.2.1457: Vim9: the output of :disassemble cannot be interrupted
...
Problem: Vim9: the output of :disassemble cannot be interrupted.
Solution: Check got_int. (closes #6715 )
2020-08-15 13:49:17 +02:00
Bram Moolenaar
79e8db9a21
patch 8.2.1454: Vim9: failure invoking lambda with wrong arguments
...
Problem: Vim9: failure invoking lambda with wrong arguments.
Solution: Handle invalid arguments. Add a test.
2020-08-14 22:16:33 +02:00
Bram Moolenaar
7517ffdbb5
patch 8.2.1446: Vim9: line number in error message is not correct
...
Problem: Vim9: line number in error message is not correct.
Solution: Set SOURCING_LNUM before calling emsg(). (closes #6708 )
2020-08-14 18:35:07 +02:00
Bram Moolenaar
bc4c505166
patch 8.2.1444: error messages are spread out and names can be confusing
...
Problem: Error messages are spread out and names can be confusing.
Solution: Start moving error messages to a separate file and use clear
names.
2020-08-13 22:47:35 +02:00
Bram Moolenaar
cdd70f09a5
patch 8.2.1443: Vim9: crash when interrupting a nested :def function
...
Problem: Vim9: crash when interrupting a nested :def function.
Solution: Push a dummy return value onto the stack. (closes #6701 )
2020-08-13 21:40:18 +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
ed677f5587
patch 8.2.1428: Vim9: :def function does not abort on nested function error
...
Problem: Vim9: :def function does not abort on nested function error.
Solution: Check whether an error message was given. (closes #6691 )
2020-08-12 16:38:10 +02:00
Bram Moolenaar
a177344dc0
patch 8.2.1426: Vim9: cannot call autoload function in :def function
...
Problem: Vim9: cannot call autoload function in :def function.
Solution: Load the autoload script. (closes #6690 )
2020-08-12 15:21:22 +02:00
Bram Moolenaar
8e4c8c853e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
...
Problem: Vim9: assigning to script-local variable doesn't check type.
Solution: Use the type. (issue #6591 )
2020-08-01 15:38:38 +02:00
Bram Moolenaar
586268721d
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
...
Problem: Vim9: cannot use empty key in dict assignment.
Solution: Allow empty key. (closes #6591 )
2020-08-01 14:06:38 +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
24aa48b7a2
patch 8.2.1291: Vim9: type of varargs items is not checked
...
Problem: Vim9: type of varargs items is not checked.
Solution: Check the list item types. (closes #6523 )
2020-07-25 16:33:02 +02:00
Bram Moolenaar
4cdb13ce81
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
...
Problem: Vim9: type not checked if declaration also assigns value.
Solution: Check the type. (issue #6507 )
2020-07-22 21:45:14 +02:00
Bram Moolenaar
c71f36a889
patch 8.2.1263: Vim9: comperators use 'ignorecase' in Vim9 script
...
Problem: Vim9: comperators use 'ignorecase' in Vim9 script.
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
(closes #6497 )
2020-07-21 21:31:00 +02:00
Bram Moolenaar
c7db57788b
patch 8.2.1261: Vim9: common type of function not tested
...
Problem: Vim9: common type of function not tested.
Solution: Add a test. Fix uncovered problems.
2020-07-21 20:55:50 +02:00
Bram Moolenaar
682d0a1546
patch 8.2.1251: Vim9: warning for pointer usage, test failure undetected
...
Problem: Vim9: warning for pointer usage, test failure undetected.
Solution: Fix pointer indirection. Give error when executing function
failed for any reason. Fix instruction names.
2020-07-19 20:48:59 +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
65b9545f44
patch 8.2.1242: Vim9: no error if calling a function with wrong type
...
Problem: Vim9: no error if calling a function with wrong argument type.
Solution: Check types of arguments. (closes #6469 )
2020-07-19 14:03:09 +02:00
Bram Moolenaar
d032f34a51
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
...
Problem: Vim9: a few remaining errors not caught by try/catch.
Solution: Do not bail out if an error is inside try/catch.
2020-07-18 18:13:02 +02:00
Bram Moolenaar
e859312e74
patch 8.2.1236: Vim9: a few errors not caught by try/catch
...
Problem: Vim9: a few errors not caught by try/catch.
Solution: Do not bail out if an error is inside try/catch. Fix that a not
matching catch doesn't jump to :endtry.
2020-07-18 15:17:02 +02:00
Bram Moolenaar
f0b9f43c31
patch 8.2.1233: Vim9: various errors not caught by try/catch
...
Problem: Vim9: various errors not caught by try/catch.
Solution: Do not bail out if an error is inside try/catch.
2020-07-17 23:03:17 +02:00
Bram Moolenaar
68d130c618
patch 8.2.1230: Vim9: list index error not caught by try/catch
...
Problem: Vim9: list index error not caught by try/catch.
Solution: Do not bail out if an error is inside try/catch. (closes #6462 )
2020-07-17 22:06:44 +02:00