Bram Moolenaar
3215466af9
patch 8.2.2673: Vim9: script-local funcref can have lower case name
...
Problem: Vim9: script-local funcref can have lower case name.
Solution: Require an upper case name.
2021-03-28 21:14:06 +02:00
Bram Moolenaar
ccc25aa285
patch 8.2.2660: Vim9: no error for declaration with trailing text
...
Problem: Vim9: no error for declaration with trailing text.
Solution: Give an error. (closes #8014 )
2021-03-26 21:27:52 +01:00
Bram Moolenaar
77b10ffad4
patch 8.2.2603: Vim9: no effect if user command is also a function
...
Problem: Vim9: no effect if user command is also a function.
Solution: Check for paren following. (closes #7960 )
2021-03-14 13:21:35 +01:00
Bram Moolenaar
cb4e80fab9
patch 8.2.2597: Vim9: "import * as" does not work at script level
...
Problem: Vim9: "import * as" does not work at script level.
Solution: Implement using an imported namespace.
2021-03-13 20:57:19 +01:00
Bram Moolenaar
d00a7fb81a
patch 8.2.2579: Vim9: crash in garbagecollect after for loop
...
Problem: Vim9: crash in garbagecollect after for loop.
Solution: Do not set a reference in script item when the name was cleared.
(closes #7935 )
2021-03-08 20:47:14 +01:00
Bram Moolenaar
6c3843ca8a
patch 8.2.2567: Vim9: no error if variable is defined for existing function
...
Problem: Vim9: no error if variable is defined for existing function.
Solution: Check if name isn't already in use. (closes #7897 )
2021-03-04 12:38:21 +01:00
Bram Moolenaar
2e2d758902
patch 8.2.2566: Vim9: Function name is not recognized
...
Problem: Vim9: Function name is not recognized.
Solution: Change lookup_scriptvar() to also find function names.
(closes #7770 )
2021-03-03 21:22:41 +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
527ed38cfa
patch 8.2.2526: build failure
...
Problem: Build failure.
Solution: Change lookup_scriptvar() arguments.
2021-02-17 15:05:45 +01:00
Bram Moolenaar
f785aa1354
patch 8.2.2501: not always clear where an error is reported
...
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes #7796 )
2021-02-11 21:19:34 +01:00
Bram Moolenaar
9a562c184d
patch 8.2.2395: Vim9: error for wrong type may report wrong line number
...
Problem: Vim9: error for wrong type may report wrong line number.
Solution: Save and restore the line number when evaluating the expression.
(closes #7727 )
2021-01-23 13:39:14 +01:00
Bram Moolenaar
57d5a01cb4
patch 8.2.2388: no easy way to get the maximum or mininum number value
...
Problem: No easy way to get the maximum or mininum number value.
Solution: Add v:numbermax and v:numbermin.
2021-01-21 21:42:31 +01:00
Bram Moolenaar
c5f59fab23
patch 8.2.2381: Vim9: divide by zero does not abort expression execution
...
Problem: Vim9: divide by zero does not abort expression execution.
Solution: Use a "failed" flag. (issue #7704 )
2021-01-21 12:34:14 +01:00
Bram Moolenaar
585587dadb
patch 8.2.2372: confusing error message for wrong :let command
...
Problem: Confusing error message for wrong :let command.
Solution: Only check for type in Vim9 script.
2021-01-17 20:52:13 +01:00
Bram Moolenaar
036d07144e
patch 8.2.2371: Vim9: crash when using types in :for with unpack
...
Problem: Vim9: crash when using types in :for with unpack.
Solution: Check for skip_var_list() failing. Pass include_type to
skip_var_one(). Skip type when compiling. (closes #7694 )
2021-01-17 20:23:38 +01:00
Bram Moolenaar
1bb4de5302
patch 8.2.2341: expresison command line completion incomplete after "g:"
...
Problem: Expresison command line completion shows variables but not
functions after "g:". (Gary Johnson)
Solution: Prefix "g:" when needed to a global function.
2021-01-13 19:48:46 +01:00
Bram Moolenaar
082517570d
patch 8.2.2331: Vim9: wrong error when modifying dict declared with :final
...
Problem: Vim9: wrong error when modifying dict declared with :final.
Solution: Do not check for writable variable when an index follows.
(closes #7657 )
2021-01-11 21:20:18 +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
0ea0440865
patch 8.2.2297: Vim9: cannot set 'number' to a boolean value
...
Problem: Vim9: cannot set 'number' to a boolean value.
Solution: Use tv_get_bool(). (closes #7615 )
2021-01-04 13:37:54 +01:00
Bram Moolenaar
6797782127
patch 8.2.2291: Vim9: cannot use "null" for v:null
...
Problem: Vim9: cannot use "null" for v:null.
Solution: Support "null" like "true" and "false". (closes #7495 )
2021-01-03 21:53:53 +01:00
Bram Moolenaar
b0d8182fa3
patch 8.2.2285: Vim9: cannot set an option to a false
...
Problem: Vim9: cannot set an option to a false.
Solution: For VAR_BOOL use string "0". (closes #7603 )
2021-01-03 15:55:10 +01:00
Bram Moolenaar
31a201a04a
patch 8.2.2284: Vim9: cannot set an option to a boolean value
...
Problem: Vim9: cannot set an option to a boolean value.
Solution: Check for VAR_BOOL. (closes #7603 )
2021-01-03 14:47:25 +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
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
c368957b19
patch 8.2.2267: Vim9: cannot use unlet for a dict member
...
Problem: Vim9: cannot use unlet for a dict member.
Solution: Pass GLV_NO_DECL to get_lval(). (closes #7585 )
2021-01-01 19:40:02 +01:00
Bram Moolenaar
e7a73e0762
patch 8.2.2266: Vim9: it can be hard to see where white space is missing
...
Problem: Vim9: it can be hard to see where white space is missing.
Solution: Mention the text where the error was seen. (closes #7580 )
2021-01-01 19:17:55 +01:00
Bram Moolenaar
a8b8af19e4
patch 8.2.2262: Vim9: converting bool to string prefixes v:
...
Problem: Vim9: converting bool to string prefixes v:.
Solution: Do not use the v: prefix.
2021-01-01 15:11:04 +01:00
Bram Moolenaar
dd1f426bd6
patch 8.2.2254: Vim9: bool option type is number
...
Problem: Vim9: bool option type is number.
Solution: Have get_option_value() return a different value for bool and
number options. (closes #7583 )
2020-12-31 17:41:01 +01:00
Bram Moolenaar
a629495530
patch 8.2.2225: Vim9: error when using :import in legacy script twice
...
Problem: Vim9: error when using :import in legacy script twice.
Solution: Make it possible to redefine an import when reloading.
2020-12-27 13:39:50 +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
1dcf55d4f1
patch 8.2.2195: failing tests for :const
...
Problem: Failing tests for :const.
Solution: Add missing check for ASSIGN_FINAL.
2020-12-22 22:07:30 +01:00
Bram Moolenaar
89b474dd4f
patch 8.2.2194: Vim9: cannot use :const or :final at the script level
...
Problem: Vim9: cannot use :const or :final at the script level.
Solution: Support using :const and :final. (closes #7526 )
2020-12-22 21:19:39 +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
8f22f5c3aa
patch 8.2.2165: Vim9: assignment to dict member does not work
...
Problem: Vim9: assignment to dict member does not work.
Solution: Fix recognizing dict member. (closes #7484 )
2020-12-19 22:10:13 +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
9aed729fe9
patch 8.2.2157: Vim9: can delete a Vim9 script variable from a function
...
Problem: Vim9: can delete a Vim9 script variable from a function.
Solution: Check the variable is defined in Vim9 script. (closes #7483 )
2020-12-18 15:38:00 +01:00
Bram Moolenaar
709664cca0
patch 8.2.2131: Vim9: crash when lambda uses same var as assignment
...
Problem: Vim9: crash when lambda uses same var as assignment.
Solution: Do not let lookup_local change lv_from_outer, make a copy.
(closes #7461 )
2020-12-12 14:33:41 +01:00
Bram Moolenaar
f0068c5154
patch 8.2.2070: can't get the exit value in VimLeave(Pre) autocommands
...
Problem: Can't get the exit value in VimLeave or VimLeavePre autocommands.
Solution: Add v:exiting like in Neovim. (Yegappan Lakshmanan, closes #7395 )
2020-11-30 17:42:10 +01:00
Bram Moolenaar
2ea95b61f4
patch 8.2.2018: Vim9: script variable not found from lambda
...
Problem: Vim9: script variable not found from lambda.
Solution: In a lambda also check the script hashtab for a variable without a
scope. (closes #7329 )
2020-11-19 21:47:56 +01:00
Bram Moolenaar
348be7ed07
patch 8.2.1949: Vim9: using extend() on null dict is silently ignored
...
Problem: Vim9: using extend() on null dict is silently ignored.
Solution: Give an error message. Initialize a dict variable with an empty
dictionary. (closes #7251 )
2020-11-04 11:36:35 +01:00
Bram Moolenaar
4ff2f2fb6b
patch 8.2.1901: variable completion does not work in command line window
...
Problem: Variable completion does not work in command line window.
Solution: Use the "prevwin". (closes #7198 )
2020-10-25 13:22:42 +01: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
c58f5456e5
patch 8.2.1882: Vim9: v:disallow_let is no longer needed
...
Problem: Vim9: v:disallow_let is no longer needed.
Solution: Remove v:disallow_let.
2020-10-21 20:58:52 +02:00
Bram Moolenaar
ed234f24f3
patch 8.2.1849: Vim9: garbage collection frees block-local variables
...
Problem: Vim9: garbage collection frees block-local variables.
Solution: Mark all script variables as used.
2020-10-15 20:42:20 +02:00
Bram Moolenaar
8d739de43b
patch 8.2.1845: Vim9: function defined in a block can't use block variables
...
Problem: Vim9: function defined in a block can't use variables defined in
that block.
Solution: First step: Make a second hashtab that holds all script variables,
also block-local ones, with more information.
2020-10-14 19:39:19 +02:00
Bram Moolenaar
fcdc5d83fb
patch 8.2.1824: Vim9: variables at the script level escape their scope
...
Problem: Vim9: variables at the script level escape their scope.
Solution: When leaving a scope remove variables declared in it.
2020-10-10 19:07:09 +02:00
Bram Moolenaar
922acbda3d
patch 8.2.1814: missing change to remove "static"
...
Problem: Missing change to remove "static".
Solution: Add the change.
2020-10-08 21:30:40 +02:00
Bram Moolenaar
016faaa1b2
patch 8.2.1788: Vim9: still allows :let for declarations
...
Problem: Vim9: still allows :let for declarations.
Solution: Make the default for v:disallow_let one. It can still be set to
zero to allow for using :let.
2020-10-03 12:57:27 +02:00
Bram Moolenaar
cfcd011fcd
patch 8.2.1756: Vim9: :let will soon be disallowed
...
Problem: Vim9: :let will soon be disallowed.
Solution: Add v:disallow_let temporarily. Fix tests.
2020-09-27 15:19:27 +02:00
Bram Moolenaar
c0e29010f6
patch 8.2.1755: Vim9: crash when using invalid heredoc marker
...
Problem: Vim9: crash when using invalid heredoc marker. (Dhiraj Mishra)
Solution: Check for NULL list. (closes #7027 ) Fix comment character.
2020-09-27 14:22:48 +02:00