1- *todo.txt* For Vim version 8.2. Last change: 2021 Jan 17
1+ *todo.txt* For Vim version 8.2. Last change: 2021 Jan 25
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41,6 +41,7 @@ browser use: https://github.com/vim/vim/issues/1234
4141test_autocmd failure in Windows: Something wrong with system()?
4242
4343Vim9 - Make everything work:
44+ - Add a test for profiling with nested function calls and lambda.
4445- Expand `= expr ` in :next, :argedit, :argadd, :argdelete, :drop
4546- Expand `= expr ` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
4647- Expand `= expr ` in :mkspell
@@ -50,28 +51,24 @@ Vim9 - Make everything work:
5051- Using a script variable inside a :def function doesn't work if the variable
5152 is inside a block, see Test_nested_function(). Should it work?
5253- give error for variable name:
53- let p = function('NoSuchFunc')
54+ var p = function('NoSuchFunc')
5455- Make closures work better:
5556 - Create closure in a loop. Need to make a list of them.
5657- If a :def function is called with a function reference, compile it to get
5758 the function type.
5859 def Filter(x: string, Cond: func(string): bool)
5960 Filter(x, (v) => v =~ '^b')
6061- Make inline function work, to be used as a funcref:
61- let Ref = (arg: type): type => {
62+ var Ref = (arg: type): type => {
6263 statement
6364 return expr
6465 }
65- let Ref = (arg: type) => {
66+ var Ref = (arg: type) => {
6667 statement
6768 statement
6869 }
69- - Does this work already: can use func as reference:
70- def SomeFunc() ...
71- map(list, SomeFunc)
7270- For builtin functions using tv_get_string*() use check_for_string() to be
7371 more strict about the argument type.
74- - Possible memory leaks in test_vim9_func
7572- Implement :lockvar and :unlockvar. How about local variables? Perhaps only
7673 allow this for global variables. Use :final or :const otherwise.
7774- Allow function names that will be script-local to start with lower case
@@ -86,10 +83,10 @@ Vim9 - Make everything work:
8683- Need the equivalent of get_lval() and set_var_lval() to implement assignment
8784 to nested list and dict members.
8885 - Assignment to dict doesn't work:
89- let ret: dict<string> = #{}
86+ var ret: dict<string> = #{}
9087 ret[i] = string(i)
9188 - Appending to dict item doesn't work:
92- let d[i] ..= value
89+ var d[i] ..= value
9390- Using ".." at script level doesn't convert arguments to a string.
9491- Compile replacement of :s command: s/pat/\=expr/
9592- Compile redir to local variable: var_redir_start().
@@ -144,7 +141,6 @@ Also for Vim9:
144141- Make debugging work - at least per function. Need to recompile a function
145142 to step through it line-by-line? Evaluate the stack and variables on the
146143 stack?
147- - Make profiling work - Add ISN_PROFILE instructions after every line?
148144- List commands when 'verbose' is set or :verbose is used.
149145
150146Further Vim9 improvements, possibly after launch:
@@ -187,6 +183,10 @@ Popup windows:
187183- Figure out the size and position better if wrapping inserts indent
188184
189185Text properties:
186+ - Popup attached to text property stays visible when text is no longer
187+ visible. (#7736)
188+ - Popup attached to text property stays visible when text is deleted with
189+ "cc". (#7737) "C" works OK.
190190- :goto does not go to the right place when text properties are present.
191191 (#5930)
192192- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
@@ -282,7 +282,7 @@ Patch to implement the vimtutor with a plugin: #6414
282282Was originally written by Felipe Morales.
283283
284284Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
285- (#4087)
285+ (#4087) Did patch 8.2.2379 help?
286286
287287Patch to find Python dll using registry key. (#7540)
288288
0 commit comments