Mercurial > vim
comparison runtime/doc/todo.txt @ 20552:74e3316c1d5a
Update runtime files
Commit: https://github.com/vim/vim/commit/388a5d4f20b4b64341d1604aa238cab85827b892
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue May 26 21:20:45 2020 +0200
Update runtime files
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 26 May 2020 21:30:04 +0200 |
parents | 7f88f6a3ed4c |
children | 661eb972cb22 |
comparison
equal
deleted
inserted
replaced
20551:f1b23a9643fe | 20552:74e3316c1d5a |
---|---|
1 *todo.txt* For Vim version 8.2. Last change: 2020 May 11 | 1 *todo.txt* For Vim version 8.2. Last change: 2020 May 26 |
2 | 2 |
3 | 3 |
4 VIM REFERENCE MANUAL by Bram Moolenaar | 4 VIM REFERENCE MANUAL by Bram Moolenaar |
5 | 5 |
6 | 6 |
36 browser use: https://github.com/vim/vim/issues/1234 | 36 browser use: https://github.com/vim/vim/issues/1234 |
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 Patch to test TERM signal. (Dominique, #6055) | 41 Include src/po/vim.pot ? |
42 | |
43 Include src/po/vim.pot | |
44 | 42 |
45 Vim9 script: | 43 Vim9 script: |
46 Make closures work: | |
47 - call closure from not compiled context | |
48 - Create closure in a loop. Need to make a list of them. | |
49 Forward declarations: | |
50 - Cleanup when sourcing a script again: all script-local variables, imports | |
51 and functions are deleted. | |
52 - make sure only constants in declarations are executed, no function calls. | |
53 - Declare a variable at script level without an assignment. | |
54 let var: string | |
55 Error without a type or assignment | |
56 let var # error! | |
57 Making everything work: | 44 Making everything work: |
45 - possible memory leak in test_vim9_func through compile_nested_function. | |
46 - memory leaks in test_vim9_expr | |
47 - memory leaks in test_vim9_script | |
58 - Test that a script-local function in Vim9 script cannot be deleted. | 48 - Test that a script-local function in Vim9 script cannot be deleted. |
49 - Make "true" and "false" work in vim9script | |
59 - Test that a function defined inside a :def function is local to that | 50 - Test that a function defined inside a :def function is local to that |
60 function, g: functions can be defined and script-local functions cannot be | 51 function, g: functions can be defined and script-local functions cannot be |
61 defined. | 52 defined. |
53 - make 0 == 'string' fail on the script level, like inside :def. | |
62 - Check that when using a user function name without prefix, it does not find | 54 - Check that when using a user function name without prefix, it does not find |
63 a global function. Prefixing g: is required. | 55 a global function. Prefixing g: is required. |
64 - Compile: let [var, var] = expr | 56 - Compile: let [var, var] = expr |
65 - Compile: for [key, value] in items(map) | 57 - Compile: for [key, value] in items(map) |
66 - Assignment to dict doesn't work: | 58 - Assignment to dict doesn't work: |
73 - Compile builtin functions that access local variables: | 65 - Compile builtin functions that access local variables: |
74 islocked() | 66 islocked() |
75 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop | 67 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop |
76 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd | 68 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd |
77 - Expand `=expr` in :mkspell | 69 - Expand `=expr` in :mkspell |
70 - When evaluating constants for script variables, some functions could work: | |
71 has('asdf'), len('string') | |
78 - Support type for ":let"/":const" at script level for Vim9 script. | 72 - Support type for ":let"/":const" at script level for Vim9 script. |
79 (Ben Jackson, #5671) | 73 (Ben Jackson, #5671) |
80 Can we share the code from ex_let_const() between direct execution and | 74 Can we share the code from ex_let_const() between direct execution and |
81 compiling? | 75 compiling? |
82 - Disallow unlet for local/script/imported vars | 76 - Disallow unlet for local/script/imported vars |
83 - Make "++nr" work. | 77 - Make "++nr" work. |
78 - Make closures work: | |
79 - Create closure in a loop. Need to make a list of them. | |
84 - expandcmd() with `=expr` in filename uses legacy expression. | 80 - expandcmd() with `=expr` in filename uses legacy expression. |
85 - eval_expr() in ex_cexpr() | 81 - eval_expr() in ex_cexpr() |
86 - eval_expr() call in dbg_parsearg() and debuggy_find() | 82 - eval_expr() call in dbg_parsearg() and debuggy_find() |
87 - Make "true" and "false" work in vim9script | 83 - has() is compiled as a constant, but some checks are dynamic. |
84 Check for dynamic values, such as "gui_running". | |
88 New syntax and functionality: | 85 New syntax and functionality: |
89 Improve error checking: | 86 Improve error checking: |
90 - "echo Func()" is an error if Func() does not return anything. | 87 - "echo Func()" is an error if Func() does not return anything. |
91 Also: | 88 Also: |
92 - For range: make table of first ASCII character with flag to quickly check if | 89 - For range: make table of first ASCII character with flag to quickly check if |
111 - implement :type | 108 - implement :type |
112 - import type declaration? | 109 - import type declaration? |
113 - implement class | 110 - implement class |
114 - implement interface | 111 - implement interface |
115 - predefined class: Promise<T> | 112 - predefined class: Promise<T> |
113 - implement enum | |
116 - Make accessing varargs faster: arg[expr] | 114 - Make accessing varargs faster: arg[expr] |
117 EVAL expr | 115 EVAL expr |
118 LOADVARARG (varags idx) | 116 LOADVARARG (varags idx) |
119 Further improvements: | 117 Further improvements: |
120 - compile options that are an expression, e.g. "expr:" in 'spellsuggest', | 118 - compile options that are an expression, e.g. "expr:" in 'spellsuggest', |
123 - Make inline function work, to be used as a funcref: | 121 - Make inline function work, to be used as a funcref: |
124 let ref = def(arg: type): rettype | 122 let ref = def(arg: type): rettype |
125 body | 123 body |
126 enddef | 124 enddef |
127 - compile get_lambda_tv() in popup_add_timeout() | 125 - compile get_lambda_tv() in popup_add_timeout() |
126 - inline call to map() and filter() | |
128 - compile "skip" argument of searchpair() | 127 - compile "skip" argument of searchpair() |
129 - compile "expr" and "call" expression of a channel in channel_exe_cmd()? | 128 - compile "expr" and "call" expression of a channel in channel_exe_cmd()? |
130 | 129 |
131 Popup windows: | 130 Popup windows: |
131 - Can put focus in another window using API and "drop". (#6077) | |
132 - With some sequence get get hidden finished terminal buffer. (#5768) | 132 - With some sequence get get hidden finished terminal buffer. (#5768) |
133 Cannot close popup terminal (#5744) | 133 Cannot close popup terminal (#5744) |
134 Buffer can't be wiped, gets status "aF". (#5764) | 134 Buffer can't be wiped, gets status "aF". (#5764) |
135 Is buf->nwindows incorrect? | 135 Is buf->nwindows incorrect? |
136 - popup_clear() and popup_close() should close the terminal popup, and | 136 - popup_clear() and popup_close() should close the terminal popup, and |
199 Terminal emulator window: | 199 Terminal emulator window: |
200 - When started with ":terminal ++close" and the shell exits but there is a | 200 - When started with ":terminal ++close" and the shell exits but there is a |
201 background process, the window remains open, because the channel still | 201 background process, the window remains open, because the channel still |
202 exists (and output still shows). Perhaps close the window when an explicit | 202 exists (and output still shows). Perhaps close the window when an explicit |
203 ++close was used? (#5931) | 203 ++close was used? (#5931) |
204 - Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!". | |
205 (Harm te Hennepe, #6129) | |
204 - When the job in the terminal doesn't use mouse events, let the scroll wheel | 206 - When the job in the terminal doesn't use mouse events, let the scroll wheel |
205 scroll the scrollback, like a terminal does at the shell prompt. #2490 | 207 scroll the scrollback, like a terminal does at the shell prompt. #2490 |
208 A bit like using CTRL-W N first. | |
209 Jump back like with "a" when any key is typed. | |
206 And use modeless selection. #2962 | 210 And use modeless selection. #2962 |
207 - Use CTRL-W CTRL-K to enter a digraph? #5371 | 211 - Use CTRL-W CTRL-K to enter a digraph? #5371 |
208 - When Vim runs in the terminal and changes the title, the statusline needs to | 212 - When Vim runs in the terminal and changes the title, the statusline needs to |
209 be redrawn. | 213 be redrawn. |
210 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt. | 214 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt. |
230 http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134 | 234 http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134 |
231 - When 'encoding' is not utf-8, or the job is using another encoding, setup | 235 - When 'encoding' is not utf-8, or the job is using another encoding, setup |
232 conversions. | 236 conversions. |
233 | 237 |
234 Error numbers available: | 238 Error numbers available: |
235 E453, E454, E460, E489, E491, E610, E611, E653, | 239 E453, E454, E489, E610, E611, E653, E856, E857, E861, E900 |
236 E856, E857, E861, E900 | 240 |
241 Patch to fix that typval related code is spread out. (Yegappan Lakshmanan, | |
242 #6093) | |
237 | 243 |
238 Buffer autocommands are a bit inconsistent. Add a separate set of | 244 Buffer autocommands are a bit inconsistent. Add a separate set of |
239 autocommands for the buffer lifecycle: | 245 autocommands for the buffer lifecycle: |
240 BufIsCreated (after buffer ID exists) | 246 BufIsCreated (after buffer ID exists) |
241 BufIsLoaded (after buffer ID has content) | 247 BufIsLoaded (after buffer ID has content) |
252 Patch to explain use of "%" in :!. (David Briscoe, #5591) | 258 Patch to explain use of "%" in :!. (David Briscoe, #5591) |
253 | 259 |
254 Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546) | 260 Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546) |
255 Ready to include. | 261 Ready to include. |
256 | 262 |
263 Patch to improve use of Lua path. (Prabir Shrestha, #6098) | |
264 | |
265 Patch to make exepath() work better on MS-Windows. (#6115) | |
266 | |
257 Patch to add "-d" to xxd. (#5616) | 267 Patch to add "-d" to xxd. (#5616) |
258 | 268 |
259 Patch for the Haiku port: #5961 | 269 Patch for the Haiku port: #5961 |
260 | 270 |
261 Patch to add Turkish manual. (Emir Sarı, #5641) | 271 Patch to add Turkish manual. (Emir Sarı, #5641) |
269 (Timur Celik, #6011) | 279 (Timur Celik, #6011) |
270 | 280 |
271 Patch to support cindent option to handle pragmas differently. | 281 Patch to support cindent option to handle pragmas differently. |
272 (Max Rumpf, #5468) | 282 (Max Rumpf, #5468) |
273 | 283 |
284 Patch to add ":syn foldlevel" to use fold level further down the line. | |
285 (Brad King, 2016 Oct 19, update 2017 Jan 30, now in #6087) | |
286 | |
274 File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733) | 287 File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733) |
275 | 288 |
276 Running test_gui and test_gui_init with Motif sometimes kills the window | 289 "make test_gui" crashed in submenu_change(). Fix and remove workaround in |
277 manager. Problem with Motif? Now test_gui crashes in submenu_change(). | 290 add_pixmap_args(). |
278 Athena is OK. | 291 Athena is OK. |
279 Motif: Build on Ubuntu can't enter any text in dialog text fields. | 292 Motif: Build on Ubuntu can't enter any text in dialog text fields. |
293 Running test_gui and test_gui_init with Motif sometimes kills the window | |
294 manager. Problem with Motif? | |
280 | 295 |
281 :map output does not clear the reset of the command line. | 296 :map output does not clear the reset of the command line. |
282 (#5623, also see #5962) | 297 (#5623, also see #5962) |
283 | 298 |
284 Patch to properly break CJK lines: Anton Kochkov, #3875 | 299 Patch to properly break CJK lines: Anton Kochkov, #3875 |
285 Flag in 'formatoptions' is not used in the tests. | 300 Flag in 'formatoptions' is not used in the tests. |
286 | 301 |
287 Patch to add 'vtp' option. (#5344) | 302 Patch to add 'vtp' option. (#5344) |
288 Needs better docs. Is there a better name? | 303 Needs better docs. Is there a better name? |
289 | 304 |
305 Patch to add argument to trim() to only trim start or end of a string. | |
306 (Yegappan, #6126) | |
307 | |
290 undo result wrong: Masato Nishihata, #4798 | 308 undo result wrong: Masato Nishihata, #4798 |
291 | 309 |
292 Patch for Template string: #4491. New pull: #4634 | 310 Patch for Template string: #4491. New pull: #4634 |
293 Ready to include? Review the code. | 311 Ready to include? Review the code. |
294 | 312 |
297 | 315 |
298 Patch to delete BeOS code. (#5817) Anyone who wants to keep it? | 316 Patch to delete BeOS code. (#5817) Anyone who wants to keep it? |
299 | 317 |
300 With bash ":make" does not set v:shell_error. Possible solution: set | 318 With bash ":make" does not set v:shell_error. Possible solution: set |
301 'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994 | 319 'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994 |
320 | |
321 Using mode() when "/pat" is used in Visual mode returns "v" instead of "c", | |
322 which is not useful. Return "c/v" instead. And "c/o" when using "d/pat". | |
323 #6127 | |
324 | |
325 When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but | |
326 ":find testfile.c" does not ignore case. | |
327 Might be related to #6088. | |
302 | 328 |
303 When changing the crypt key the buffer should be considered modified. | 329 When changing the crypt key the buffer should be considered modified. |
304 Like when changing 'fileformat'. Save the old key in save_file_ff(). | 330 Like when changing 'fileformat'. Save the old key in save_file_ff(). |
305 (Ninu-Ciprian Marginean) | 331 (Ninu-Ciprian Marginean) |
306 | 332 |
317 Patch to add function to return the text used in the quickfix window. | 343 Patch to add function to return the text used in the quickfix window. |
318 (Yegappan, #5465) | 344 (Yegappan, #5465) |
319 | 345 |
320 Patch to add readdirex() (Ken Takata, #5619) | 346 Patch to add readdirex() (Ken Takata, #5619) |
321 | 347 |
348 Wrong error when using local arglist. (Harm te Hennepe, #6133) | |
349 | |
322 Request to support <Cmd> in mappings, similar to how Neovim does this. | 350 Request to support <Cmd> in mappings, similar to how Neovim does this. |
323 (Daniel Hahler, #4784) | 351 (Daniel Hahler, #4784) |
324 | 352 |
325 Undo puts cursor in wrong line after "cG<Esc>" undo. | 353 Undo puts cursor in wrong line after "cG<Esc>" undo. |
326 | 354 |
386 support combining characters. (Charles Campbell) Also #4687 | 414 support combining characters. (Charles Campbell) Also #4687 |
387 | 415 |
388 "--cleanFOO" does not result in an error. (#5537) | 416 "--cleanFOO" does not result in an error. (#5537) |
389 | 417 |
390 Add "t" action to settagstack(): truncate and add new entries. (#5405) | 418 Add "t" action to settagstack(): truncate and add new entries. (#5405) |
419 | |
420 When 'relativenumber' is set the line just below a diff change doesn't get | |
421 updated. (#6138) | |
391 | 422 |
392 Result of synID() sometimes wrong in help files. (#5252) | 423 Result of synID() sometimes wrong in help files. (#5252) |
393 | 424 |
394 Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496) | 425 Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496) |
395 | 426 |
1327 +channel: | 1358 +channel: |
1328 - Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi) | 1359 - Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi) |
1329 - Add ch_readlines(): for a channel in NL mode, reads as many lines as are | 1360 - Add ch_readlines(): for a channel in NL mode, reads as many lines as are |
1330 available. Should be more efficient than looping over ch_read() with | 1361 available. Should be more efficient than looping over ch_read() with |
1331 ch_status() to check for more. | 1362 ch_status() to check for more. |
1363 - If buffer contents is changed in a callback, set w_redr_status so that it | |
1364 gets redrawn in redraw_after_callback(). #6120 | |
1332 - Add a separate timeout for opening a socket. Currently it's fixed at 50 | 1365 - Add a separate timeout for opening a socket. Currently it's fixed at 50 |
1333 msec, which is too small for a remote connection. (tverniquet, #2130) | 1366 msec, which is too small for a remote connection. (tverniquet, #2130) |
1334 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026) | 1367 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026) |
1335 - Writing raw mode to a buffer should still handle NL characters as line | 1368 - Writing raw mode to a buffer should still handle NL characters as line |
1336 breaks. (Dmitry Zotikov, 2017 Aug 16) | 1369 breaks. (Dmitry Zotikov, 2017 Aug 16) |
1449 | 1482 |
1450 ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19) | 1483 ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19) |
1451 Also with latest version. | 1484 Also with latest version. |
1452 | 1485 |
1453 Cannot delete a file with square brackets with delete(). (#696) | 1486 Cannot delete a file with square brackets with delete(). (#696) |
1454 | |
1455 Patch to add ":syn foldlevel" to use fold level further down the line. | |
1456 (Brad King, 2016 Oct 19, update 2017 Jan 30) | |
1457 | 1487 |
1458 Completion for input() does not expand environment variables. (chdiza, 2016 | 1488 Completion for input() does not expand environment variables. (chdiza, 2016 |
1459 Jul 25, #948) | 1489 Jul 25, #948) |
1460 | 1490 |
1461 Patch to add 'systemencoding', convert between 'encoding' and this for file | 1491 Patch to add 'systemencoding', convert between 'encoding' and this for file |