comparison runtime/doc/todo.txt @ 24569:e3ec2ec8841a

Update runtime files Commit: https://github.com/vim/vim/commit/4c295027a426986566cd7a76c47a6d3a529727e7 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 2 17:19:11 2021 +0200 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 02 May 2021 17:30:05 +0200
parents 5bda4653aced
children 840665e74421
comparison
equal deleted inserted replaced
24568:3671ff322103 24569:e3ec2ec8841a
1 *todo.txt* For Vim version 8.2. Last change: 2021 Apr 21 1 *todo.txt* For Vim version 8.2. Last change: 2021 Apr 29
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
37 (replace 1234 with the issue/pull number) 37 (replace 1234 with the issue/pull number)
38 *known-bugs* 38 *known-bugs*
39 -------------------- Known bugs and current work ----------------------- 39 -------------------- Known bugs and current work -----------------------
40 40
41 Vim9 - Make everything work: 41 Vim9 - Make everything work:
42 - Compile builtin functions that access local variables:
43 islocked()
44 - When evaluating constants for script variables, some functions could work:
45 has('asdf'), len('string')
46 eval_variable(). Should pass the ".xxx" that follows and return that.
47 - Make "++nr" work. "++g:count" doesn't work, thinks it is a range.
48 - Reload: How to make sure type of script function hasn't changed?
49 - expandcmd() with `=expr` in filename uses legacy expression. 42 - expandcmd() with `=expr` in filename uses legacy expression.
50 - eval_expr() in ex_cexpr() 43 - eval_expr() in ex_cexpr()
51 - eval_expr() call in dbg_parsearg() and debuggy_find() 44 - eval_expr() call in dbg_parsearg() and debuggy_find()
52 - compile_member() guesses the type, should figure out at runtime. 45 - compile_member() guesses the type, should figure out at runtime.
53 - compile "skip" argument of searchpair() 46 - compile "skip" argument of searchpair()
62 - Check many more builtin function arguments at compile time. 55 - Check many more builtin function arguments at compile time.
63 map() could check that the return type of the function argument matches 56 map() could check that the return type of the function argument matches
64 the type of the list or dict member. (#8092) 57 the type of the list or dict member. (#8092)
65 - Allow for using an autoload function name without quotes. It is then loaded 58 - Allow for using an autoload function name without quotes. It is then loaded
66 (and compiled) right away. #8124 59 (and compiled) right away. #8124
60 - Test more expressions in legacy and Vim9 script, using
61 CheckLegacyAndVim9Success()
62 - Test try/catch and throw better, also nested.
63 Test that return inside try/finally jumps to finally and then returns.
64 - Test that a function defined inside a :def function is local to that
65 function, g: functions can be defined and script-local functions cannot be
66 defined.
67 - Make debugging work - at least per function. Need to recompile a function
68 to step through it line-by-line? Evaluate the stack and variables on the
69 stack?
70 - Reserve command for future use: :type, :class, :enum
67 71
68 Once Vim9 is stable: 72 Once Vim9 is stable:
69 - Change the help to prefer Vim9 syntax where appropriate 73 - Change the help to prefer Vim9 syntax where appropriate
70 - Add all the error numbers in a good place in documentation. 74 - Add all the error numbers in a good place in documentation.
71 - In the generic eval docs, point out the Vim9 syntax where it differs. 75 - In the generic eval docs, point out the Vim9 syntax where it differs.
72 - Add the "vim9script" feature, can use has('vim9script') 76 - Add the "vim9script" feature, can use has('vim9script')
73 - Use Vim9 for runtime files. 77 - Use Vim9 for runtime files.
74 PR #7497 for autoload/ccomplete.vim 78 PR #7497 for autoload/ccomplete.vim
75 79
76 Also for Vim9: 80 Further Vim9 improvements, possibly after launch:
77 - better implementation for partial and tests for that. 81 - better implementation for partial and tests for that.
78 - Make "g:imported = Export.exported" work in Vim9 script. 82 - Compile options that are an expression, e.g. "expr:" in 'spellsuggest',
79 - Make Foo.Bar() work to call the dict function. (#5676)
80 - Error in any command in "vim9script" aborts sourcing.
81 - Find a way to test expressions in legacy and Vim9 script without duplication
82 - Test try/catch and throw better, also nested.
83 Test that return inside try/finally jumps to finally and then returns.
84 - Test that a function defined inside a :def function is local to that
85 function, g: functions can be defined and script-local functions cannot be
86 defined.
87 - compile options that are an expression, e.g. "expr:" in 'spellsuggest',
88 'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert', 83 'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
89 'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'. 84 'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
90 Give an error if compilation fails. (#7625) 85 Give an error if compilation fails. (#7625)
91 Use the location where the option was set for deciding whether it's to be 86 Use the location where the option was set for deciding whether it's to be
92 evaluated in Vim9 script context. 87 evaluated in Vim9 script context.
93 - implement :type; import type declaration. 88 - implement :type, import type declaration.
94 - implement enum; import enum. 89 - implement enum, import enum.
95 - Future work: See |vim9-classes| 90 - Future work: See |vim9-classes|
96 Define the keywords and commands to make sure it will be backwards
97 compatible.
98 - Make debugging work - at least per function. Need to recompile a function
99 to step through it line-by-line? Evaluate the stack and variables on the
100 stack?
101 - List commands when 'verbose' is set or :verbose is used.
102
103 Further Vim9 improvements, possibly after launch:
104 - For range: make table of first ASCII character with flag to quickly check if 91 - For range: make table of first ASCII character with flag to quickly check if
105 it can be a Vim9 command. E.g. "+" can, but "." can't. 92 it can be a Vim9 command. E.g. "+" can, but "." can't.
106 - compile get_lambda_tv() in popup_add_timeout() 93 - compile get_lambda_tv() in popup_add_timeout()
107 - inline call to map() and filter() 94 - inline call to map() and filter()
108 - Make accessing varargs faster: arg[expr] 95 - Make accessing varargs faster: arg[expr]
109 EVAL expr 96 EVAL expr
110 LOADVARARG (varargs idx) 97 LOADVARARG (varargs idx)
98 - When evaluating constants for script variables, some functions could work:
99 has(featureName), len(someString)
100 - Implement as part of an expression: ++expr, --expr, expr++, expr--.
111 101
112 102
113 Popup windows: 103 Popup windows:
114 - Add a flag to make a popup window focusable? 104 - Add a flag to make a popup window focusable?
115 CTRL-W P cycle over any preview window or focusable popup, end up back in 105 CTRL-W P cycle over any preview window or focusable popup, end up back in
1401 1391
1402 Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10) 1392 Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
1403 1393
1404 Add ":read :command", to insert the output of an Ex command? 1394 Add ":read :command", to insert the output of an Ex command?
1405 Can already do it with ":$put =execute('command')". 1395 Can already do it with ":$put =execute('command')".
1406
1407 When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
1408 Apr 17) #762
1409 1396
1410 exists(":tearoff") does not tell you if the command is implemented. (Tony 1397 exists(":tearoff") does not tell you if the command is implemented. (Tony
1411 Mechelynck) Perhaps use exists("::tearoff") to check? 1398 Mechelynck) Perhaps use exists("::tearoff") to check?
1412 1399
1413 Use vim.vim syntax highlighting for help file examples, but without ":" in 1400 Use vim.vim syntax highlighting for help file examples, but without ":" in