Yegappan Lakshmanan
8ee52affe7
patch 8.2.3320: some local functions are not static
...
Problem: Some local functions are not static.
Solution: Add "static". Move snprintf() related code to strings.c.
(Yegappan Lakshmanan, closes #8734 )
2021-08-09 19:59:06 +02:00
Yegappan Lakshmanan
4490ec4e83
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
...
Problem: Vim9: runtime and compile time type checks are not the same.
Solution: Add more runtime type checks for builtin functions. (Yegappan
Lakshmanan, closes #8646 )
2021-07-27 22:00:44 +02:00
Yegappan Lakshmanan
0ad871dc4d
patch 8.2.3206: Vim9: argument types are not checked at compile time
...
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8611 )
2021-07-23 20:37:56 +02:00
Bram Moolenaar
7a3fe3e180
patch 8.2.3200: Vim9: hard to guess where a type error is given
...
Problem: Vim9: hard to guess where a type error is given.
Solution: Add the function name where possible. (closes #8608 )
2021-07-22 14:58:47 +02:00
Yegappan Lakshmanan
83494b4ac6
patch 8.2.3188: Vim9: argument types are not checked at compile time
...
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks, also at runtime. (Yegappan
Lakshmanan, closes #8587 )
2021-07-20 17:51:51 +02:00
Bram Moolenaar
b54abeeafb
patch 8.2.2921: E704 for script local variable is not backwards compatible
...
Problem: E704 for script local variable is not backwards compatible.
(Yasuhiro Matsumoto)
Solution: Only give the error in Vim9 script. Also check for function-local
variable.
2021-06-02 11:49:23 +02:00
Bram Moolenaar
6f1d2aa437
patch 8.2.2920: still a way to shadow a builtin function
...
Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto)
Solution: Check the key when using extend(). (issue #8302 )
2021-06-01 21:21:55 +02: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
ba98fb54ae
patch 8.2.2486: Vim9: some errors for white space do not show context
...
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
2021-02-07 18:06:29 +01:00
Bram Moolenaar
c3fc75db02
patch 8.2.2480: Vim9: some errors for white space do not show context
...
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
2021-02-07 15:28:09 +01:00
Bram Moolenaar
2e5910bfbb
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
...
Problem: Vim9: key type that can be used for literal dict and indexing is
inconsistent.
Solution: Allow using number and bool as key for a literal dict. (#7771 )
2021-02-03 17:41:24 +01:00
Bram Moolenaar
4bce26bb70
patch 8.2.2393: Vim9: error message when script line starts with "[{"
...
Problem: Vim9: error message when script line starts with "[{".
Solution: Do not give an error for checking for end of list.
2021-01-22 22:06:56 +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
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
9987fb0b4b
patch 8.2.2146: Vim9: automatic conversion of number to string for dict key
...
Problem: Vim9: automatic conversion of number to string for dict key.
Solution: Do not convert number to string. (closes #7474 )
2020-12-15 21:41:56 +01:00
Bram Moolenaar
8bb0f5472c
patch 8.2.2101: Vim9: memory leak when literal dict has an error
...
Problem: Vim9: memory leak when literal dict has an error and when an
expression is not complete.
Solution: Clear the typval and the growarray.
2020-12-06 16:03:55 +01:00
Bram Moolenaar
c5e6a7179d
patch 8.2.2090: Vim9: dict does not accept a key in quotes
...
Problem: Vim9: dict does not accept a key in quotes.
Solution: Recognize a key in single or double quotes.
2020-12-04 19:12:14 +01:00
Bram Moolenaar
e0de171ecd
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
...
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406 , closes #7405 )
2020-12-02 17:36:54 +01:00
Bram Moolenaar
67d1c68f09
patch 8.2.2017: missing part of the dict change
...
Problem: Missing part of the dict change.
Solution: Also change the script level dict.
2020-11-19 19:01:43 +01:00
Bram Moolenaar
22286895fc
patch 8.2.1961: various comments can be improved
...
Problem: Various comments can be improved.
Solution: Various comment adjustments.
2020-11-05 20:50:51 +01:00
Bram Moolenaar
b07a39de48
patch 8.2.1889: Vim9: errornous error for missing white space after {}
...
Problem: Vim9: errornous error for missing white space after {}.
Solution: Don't skip over white space after {}. (issue #7167 )
2020-10-22 19:00:01 +02:00
Bram Moolenaar
a2c026d0fd
patch 8.2.1861: Vim9: no specific error when parsing lambda fails
...
Problem: Vim9: no specific error when parsing lambda fails.
Solution: Also give syntax errors when not evaluating. (closes #7154 )
2020-10-18 18:03:17 +02:00
Bram Moolenaar
3f974ff45e
patch 8.2.1785: compiler warning for strcp() out of bounds
...
Problem: Compiler warning for strcp() out of bounds. (Christian Brabandt)
Solution: use memmove() instead.
2020-10-02 18:11:56 +02:00
Bram Moolenaar
a187c43cfe
patch 8.2.1698: cannot lock a variable in legacy Vim script like in Vim9
...
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
2020-09-16 21:08:28 +02:00
Bram Moolenaar
7cb6fc29d0
patch 8.2.1504: Vim9: white space checks are only done for a :def function
...
Problem: Vim9: white space checks are only done for a :def function.
Solution: Also do checks at the script level. Adjust the name of a few
error messages.
2020-08-21 22:36:47 +02:00
Bram Moolenaar
558813314d
patch 8.2.1478: Vim9: cannot use "true" for some popup options
...
Problem: Vim9: cannot use "true" for some popup options.
Solution: Add dict_get_bool(). (closes #6725 )
2020-08-18 13:04:15 +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
c3d6e8a46a
patch 8.2.1431: Vim9: no error for white space before comma in dict
...
Problem: Vim9: no error for white space before comma in dict.
Solution: Check for extra white space. (closes #6674 )
2020-08-12 18:34:28 +02:00
Bram Moolenaar
db199216e8
patch 8.2.1430: Vim9: error for missing comma instead of extra white space
...
Problem: Vim9: error for missing comma instead of extra white space.
Solution: Check if comma can be found after white space. (closes #6668 )
Also check for extra white space in literal dict. (closes #6670 )
2020-08-12 18:01:53 +02:00
Bram Moolenaar
98b4f145eb
patch 8.2.1395: Vim9: no error if declaring a funcref with lower case letter
...
Problem: Vim9: no error if declaring a funcref with a lower case letter.
Solution: Check the name after the type is inferred. Fix confusing name.
2020-08-08 15:46:01 +02:00
Bram Moolenaar
ae95a3946b
patch 8.2.1379: curly braces expression ending in " }" does not work
...
Problem: Curly braces expression ending in " }" does not work.
Solution: Skip over white space when checking for "}". (closes #6634 )
2020-08-06 16:38:12 +02:00
Bram Moolenaar
4d4d1cd5c8
patch 8.2.1328: no space allowed before comma in list
...
Problem: No space allowed before comma in list.
Solution: Legacy Vim script allows it. (closes #6577 )
2020-07-30 22:14:33 +02:00
Bram Moolenaar
9d48956681
patch 8.2.1326: Vim9: skipping over white space after list
...
Problem: Vim9: skipping over white space after list.
Solution: Do not skip white space, a following [] would be misinterpreted.
(closes #6552 ) Fix a few side effects.
2020-07-30 20:08:50 +02:00
Bram Moolenaar
eb6880b6eb
patch 8.2.1190: Vim9: checking for Vim9 syntax is spread out
...
Problem: Vim9: checking for Vim9 syntax is spread out.
Solution: Use in_vim9script().
2020-07-12 17:07:05 +02:00
Bram Moolenaar
962d721319
patch 8.2.1125: Vim9: double quote can be a string or a comment
...
Problem: Vim9: double quote can be a string or a comment.
Solution: Only support comments starting with # to avoid confusion.
2020-07-04 14:15:00 +02:00
Bram Moolenaar
e6b5324e3a
patch 8.2.1110: Vim9: line continuation does not work in function arguments
...
Problem: Vim9: line continuation does not work in function arguments.
Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string
as comment.
2020-07-01 17:28:33 +02:00
Bram Moolenaar
9215f01218
patch 8.2.1074: Vim9: no line break allowed after some operators
...
Problem: Vim9: no line break allowed after some operators.
Solution: Skip a line break after the operator. Add
eval_may_get_next_line() to simplify checking for a line break.
2020-06-27 21:18:00 +02:00
Bram Moolenaar
ab19d495fd
patch 8.2.1070: Vim9: leaking memory when lacking white space in dict
...
Problem: Vim9: leaking memory when lacking white space in dict.
Solution: Clear the typval.
2020-06-27 17:04:05 +02:00
Bram Moolenaar
8ea9390b78
patch 8.2.1068: Vim9: no line break allowed inside a dict
...
Problem: Vim9: no line break allowed inside a dict.
Solution: Handle line break inside a dict in Vim9 script.
2020-06-27 14:11:53 +02:00
Bram Moolenaar
5409f5d8c9
patch 8.2.1047: Vim9: script cannot use line continuation like :def function
...
Problem: Vim9: script cannot use line continuation like in a :def function.
Solution: Pass the getline function pointer to the eval() functions. Use it
for addition and multiplication operators.
2020-06-24 18:37:35 +02:00
Bram Moolenaar
df44a27b53
patch 8.2.0928: many type casts are used for vim_strnsave()
...
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closes #5633 ) Remove some type casts.
2020-06-07 20:49:05 +02:00
Bram Moolenaar
32e351179e
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
...
Problem: Vim9: expressions are evaluated in the discovery phase.
Solution: Bail out if an expression is not a constant. Require a type for
declared constants.
2020-05-14 22:41:15 +02:00
Bram Moolenaar
89483d4043
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
...
Problem: Vim9: When reloading a script variables are not cleared.
Solution: When sourcing a script again clear all script-local variables.
2020-05-10 15:24:44 +02:00
Bram Moolenaar
ea04a6e8ba
patch 8.2.0619: null dict is not handled like an empty dict
...
Problem: Null dict is not handled like an empty dict.
Solution: Fix the code and add tests. (Yegappan Lakshmanan, closes #5968 )
2020-04-23 13:38:02 +02:00
Bram Moolenaar
33fa29cf74
patch 8.2.0467: Vim9: some errors are not tested
...
Problem: Vim9: some errors are not tested
Solution: Add more tests. Fix that Vim9 script flag is not reset.
2020-03-28 19:41:33 +01:00
Bram Moolenaar
8a7d6542b3
patch 8.2.0149: maintaining a Vim9 branch separately is more work
...
Problem: Maintaining a Vim9 branch separately is more work.
Solution: Merge the Vim9 script changes.
2020-01-26 15:56:19 +01:00
Bram Moolenaar
9b4a15d5db
patch 8.2.0111: VAR_SPECIAL is also used for booleans
...
Problem: VAR_SPECIAL is also used for booleans.
Solution: Add VAR_BOOL for better type checking.
2020-01-11 16:05:23 +01:00
Bram Moolenaar
ab782c5b6f
patch 8.2.0086: build error for small version
...
Problem: Build error for small version. (Tony Mechelynck)
Solution: Only use "user_data" with the +eval feature. Remove unused
variable.
2020-01-04 19:00:11 +01:00
Bram Moolenaar
0892832bb6
patch 8.2.0084: complete item "user_data" can only be a string
...
Problem: Complete item "user_data" can only be a string.
Solution: Accept any type of variable. (closes #5412 )
2020-01-04 14:32:48 +01:00
Bram Moolenaar
5d18efecfd
patch 8.1.2378: using old C style comments
...
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
2019-12-01 21:11:22 +01:00