Mercurial > vim
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 |