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
Bram Moolenaar
a893194d91
patch 8.1.2095: leaking memory when getting item from dict
...
Problem: Leaking memory when getting item from dict.
Solution: Also free the key when not evaluating.
2019-09-28 17:25:10 +02:00
Bram Moolenaar
8c6173c7d3
patch 8.1.1949: cannot scroll a popup window to the very bottom
...
Problem: Cannot scroll a popup window to the very bottom.
Solution: Scroll to the bottom when the "firstline" property was set to -1.
(closes #4577 ) Allow resetting min/max width/height.
2019-08-30 22:08:34 +02:00
Bram Moolenaar
5843f5f37b
patch 8.1.1891: functions used in one file are global
...
Problem: Functions used in one file are global.
Solution: Add "static". (Yegappan Lakshmanan, closes #4840 )
2019-08-20 20:13:45 +02:00
Bram Moolenaar
b59e735772
patch 8.1.1825: allocating more memory than needed for extended structs
...
Problem: Allocating more memory than needed for extended structs.
Solution: Use offsetof() instead of sizeof(). (Dominique Pelle,
closes #4785 )
2019-08-07 21:42:24 +02:00
Bram Moolenaar
9f9fe37f67
patch 8.1.1763: evalfunc.c is still too big
...
Problem: Evalfunc.c is still too big.
Solution: Move dict and list functions to a better place.
2019-07-27 23:12:12 +02:00
Bram Moolenaar
d5abb4c877
patch 8.1.1683: dictionary with string keys is longer than needed
...
Problem: Dictionary with string keys is longer than needed.
Solution: Use *{key: val} for literaly keys.
2019-07-13 22:46:10 +02:00
Bram Moolenaar
adc6714aac
patch 8.1.1579: dict and list could be GC'ed while displaying error
...
Problem: Dict and list could be GC'ed while displaying error in a timer.
(Yasuhiro Matsumoto)
Solution: Block garbage collection when executing a timer. Add
test_garbagecollect_soon(). Add "no_wait_return" to
test_override(). (closes #4571 )
2019-06-22 01:40:42 +02:00
Bram Moolenaar
ae943150d3
patch 8.1.1561: popup_setoptions() is not implemented yet
...
Problem: Popup_setoptions() is not implemented yet.
Solution: Implement popup_setoptions(). Also add more fields to
popup_getoptions().
2019-06-16 22:54:14 +02:00
Bram Moolenaar
b0ebbda06c
patch 8.1.1452: line and col property of popup windows not properly checked
...
Problem: Line and col property of popup windows not properly checked.
Solution: Check for "+" or "-" sign.
2019-06-02 16:51:21 +02:00
Bram Moolenaar
c799fe206e
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
...
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
2019-05-28 23:08:19 +02:00
Bram Moolenaar
51e14387f1
patch 8.1.1393: unnecessary type casts
...
Problem: Unnecessary type casts.
Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams)
2019-05-25 20:21:28 +02:00
Bram Moolenaar
964b3746b9
patch 8.1.1384: using "int" for alloc() often results in compiler warnings
...
Problem: Using "int" for alloc() often results in compiler warnings.
Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim
only works with 32 bit ints anyway.
2019-05-24 18:54:09 +02:00
Bram Moolenaar
45e18cbdc4
patch 8.1.1228: not possible to process tags with a function
...
Problem: Not possible to process tags with a function.
Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010 )
2019-04-28 18:05:35 +02:00
Bram Moolenaar
d7f246c68c
patch 8.1.1138: plugins don't get notified when the popup menu changes
...
Problem: Plugins don't get notified when the popup menu changes.
Solution: Add the CompleteChanged event. (Andy Massimino. closes #4176 )
2019-04-08 18:15:41 +02:00
Bram Moolenaar
05c00c038b
patch 8.1.0897: can modify a:000 when using a reference
...
Problem: Can modify a:000 when using a reference.
Solution: Make check for locked variable stricter. (Ozaki Kiichi,
closes #3930 )
2019-02-11 22:00:11 +01:00
Bram Moolenaar
f9e3e09fdc
patch 8.1.0743: giving error messages is not flexible
...
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
#3302 ) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
2019-01-13 23:38:42 +01:00
Bram Moolenaar
e6fdf79980
patch 8.1.0642: swapinfo() leaks memory
...
Problem: swapinfo() leaks memory.
Solution: Avoid allocating the strings twice.
2018-12-26 22:57:42 +01:00
Bram Moolenaar
d155d7a851
patch 8.1.0615: get_tv function names are not consistent
...
Problem: Get_tv function names are not consistent.
Solution: Rename to tv_get.
2018-12-21 16:04:21 +01:00
Bram Moolenaar
8f66717a1f
patch 8.1.0583: using illogical name for get_dict_number()/get_dict_string()
...
Problem: Using illogical name for get_dict_number()/get_dict_string().
Solution: Rename to start with dict_.
2018-12-14 15:38:31 +01:00
Bram Moolenaar
f49cc60aa8
patch 8.1.0519: cannot save and restore the tag stack
...
Problem: Cannot save and restore the tag stack.
Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan,
closes #3604 )
2018-11-11 15:21:05 +01:00
Bram Moolenaar
c89d4b3530
patch 8.1.0167: lock flag in new dictitem is reset in many places
...
Problem: Lock flag in new dictitem is reset in many places.
Solution: Always reset the lock flag.
2018-07-08 17:19:02 +02:00
Bram Moolenaar
e0be167a80
patch 8.1.0166: using dict_add_nr_str() is clumsy
...
Problem: Using dict_add_nr_str() is clumsy.
Solution: Split into two functions. (Ozaki Kiichi, closes #3154 )
2018-07-08 16:50:37 +02:00
Bram Moolenaar
7e1652c63c
patch 8.0.1394: cannot intercept a yank command
...
Problem: Cannot intercept a yank command.
Solution: Add the TextYankPost autocommand event. (Philippe Vaucher et al.,
closes #2333 )
2017-12-16 18:27:02 +01:00
Bram Moolenaar
45cf6e910c
patch 8.0.0593: duplication of code for adding a list or dict return value
...
Problem: Duplication of code for adding a list or dict return value.
Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
2017-04-30 20:25:19 +02:00
Bram Moolenaar
42f45b850d
patch 8.0.0458: potential crash if adding list or dict to dict fails
...
Problem: Potential crash if adding list or dict to dict fails.
Solution: Make sure the reference count is correct. (Nikolai Pavlov, closes
#1555 )
2017-03-14 22:17:14 +01:00