Mercurial > vim
diff runtime/doc/todo.txt @ 21499:3a1ed539ae2a
Update runtime files.
Commit: https://github.com/vim/vim/commit/2547aa930b59f5e2bcb70e81d5a57ed461e59b4f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 26 17:00:44 2020 +0200
Update runtime files.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 26 Jul 2020 17:15:05 +0200 |
parents | 21fb2a3ad3ca |
children | 1b345fb68ae3 |
line wrap: on
line diff
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2020 Jul 10 +*todo.txt* For Vim version 8.2. Last change: 2020 Jul 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,25 +39,36 @@ browser use: https://github.com/vim/vim/ -------------------- Known bugs and current work ----------------------- Making everything work: -- in Vim9 script expressions are evaluated differently, not using a type. - e.g. "'' == 0" does not give an error and evaluates to true. -- cannot put # comment after assert() in :def function -- more return types depending on the first argument, like sort(). +- more items in https://github.com/vim/vim/issues/6507 +- More "goto failed" with check for trylevel. +- memory leak in test_vim9_script - Check that when sourcing a Vim9 script, only the global items can be used. - :put with a "=" register argument doesn't work, need to find the expression and compile it. (#6397) -- should "'text'->method()" work? 't is a range, but 'text isn't. +- At the script level, keep script variables local to the block they are + declared in? Need to remember what variables were declared and delete them + when leaving the block. +- Implement { } block at the script level. +- need to check type when a declaration specifies a type: #6507 + let nr: number = 'asdf' +- Make map() give an error if the resulting type is wrong. + Add mapnew() to create a new List/Dict for the result, which can have a + different value type. +- Implement "export {one, two three}". +- ISN_CHECKTYPE could use check_argtype() - Slice of list: [1, 2, 3][1:2]. +- give error for variable name: + let p = function('NoSuchFunc') - Give runtime error if function argument is wrong. def Increment(nr: number) range(3)->Increment() - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd - Expand `=expr` in :mkspell -- Make "true" and "false" work in vim9script - Test that a function defined inside a :def function is local to that function, g: functions can be defined and script-local functions cannot be defined. +- Support passing v:none to use the default argument value. (#6504) - make 0 == 'string' fail on the script level, like inside :def. - Check that when using a user function name without prefix, it does not find a global function. Prefixing g: is required. @@ -77,10 +88,6 @@ Making everything work: - memory leaks in test_vim9_cmd - When evaluating constants for script variables, some functions could work: has('asdf'), len('string') -- Support type for ":let"/":const" at script level for Vim9 script. - (Ben Jackson, #5671) - Can we share the code from ex_let_const() between direct execution and - compiling? - Implement "as Name" in "import Item as Name from ..." - Disallow unlet for local/script/imported vars - Make "++nr" work. @@ -91,6 +98,7 @@ Making everything work: - eval_expr() call in dbg_parsearg() and debuggy_find() - has() is compiled as a constant, but some checks are dynamic. Check for dynamic values, such as "gui_running". +- Implement command modifiers, such as "silent". (#6530) New syntax and functionality: Improve error checking: - "echo Func()" is an error if Func() does not return anything. @@ -139,11 +147,15 @@ Further improvements: Popup windows: - Cursor not updated before a redraw, making it jump. (#5943) +- Add a termcap entry for changing the cursor when it goes under the popup and + back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?) - With terminal in popup, allow for popup_hide() to temporarily hide it.? - Fire some autocommand event after a new popup window was created and positioned? PopupNew? Could be used to set some options or move it out of the way. (#5737) However, it may also cause trouble, changing the popup of another plugin. +- Add a way to use popup_menu() synchronously: instead of invoking the + callback, return the choice. (Ben Jackson, #6534) - Use popup (or popup menu) for command line completion - When using a popup for the info of a completion menu, and there is not enough space, let the popup overlap with the menu. (#4544) @@ -199,6 +211,9 @@ Terminal debugger: Terminal emulator window: - No support for underline color, t_8u. +- When in terminal-Normal mode when the job finishes, the cursor jumps to the + end but the window is not updated. This only happens when typing "a". + :term bash -c "for V in {0..5}; do echo $V; sleep 1; done" - When started with ":terminal ++close" and the shell exits but there is a background process, the window remains open, because the channel still exists (and output still shows). Perhaps close the window when an explicit @@ -238,7 +253,7 @@ Terminal emulator window: conversions. Error numbers available: -E489, E610, E611, E653, E856 +E610, E611, E653 Remove SPACE_IN_FILENAME ? It is only used for completion. @@ -269,8 +284,15 @@ autocommands for the buffer lifecycle: BufIsRenamed (after buffer ID gets another name) The buffer list and windows are locked, no changes possible -How about removing Atari MiNT support? - src/Make_mint.mak, src/os_mint.h, matches with __MINT__ +Make it possible to map (console and GUI): #6457 + <C-[> 0x27 or is this <Esc> ? + <C-\> 0x28 + <C-]> 0x29 + <C-^> 0x30 + <C-_> 0x31 + +Patch for Template string: #4634 +Have another look at the implementation. Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr" replace this: @@ -281,6 +303,13 @@ Add the <=> (spaceship) operator and "co let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper Patch to make :q work with local arglist. (Christian Brabandt, #6286) +Lua: updating wrong buffer when using newly created, unloaded buffer. +(#6539) + +When "+ register is set then "" points to it. If another Vim grabs the "+ +register, then "" doesn't contain anything. Make it still follow "+. +(#6435) + Patch to fix drawing error with DirectX. (James Grant, #5688) Causes flicker on resizing. Workaround from Ken Takata. How about only setting the attribute when part of the Vim window is offscreen? @@ -347,6 +376,10 @@ Test loose_clipboard() by selecting text Undo puts cursor in wrong line after "cG<Esc>" undo. +Implement completion for "breakadd". Should expand the second argument, e.g. +"func", and then function names after ":breakadd func". Including +script-local functions. + :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019 Dec 19) @@ -386,10 +419,6 @@ behavior of i_CTRl-R_CTRL-R differs from goes to any buffer, and then :bnext skips help buffers, since they are unlisted. (#4478) -Patch for Template string: #4634 -Copies the text twice, not very efficient. Requires a separate implementation -for Vim9 script, compiling the string parts and expressions. - Statusline highlighting error, off by one. (#5599) ":find" with 'path' set to "data*" does not find files, while completion does @@ -1928,13 +1957,6 @@ Szamotulski, 2012 Nov 8) Session file creation: 'autochdir' causes trouble. Keep it off until after loading all files. -MS-Windows resizing problems: -- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun - 20. Uses getWindowRect() instead of GetWindowPlacement() -- Win32: When the taskbar is at the top of the screen creating the tabbar - causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan - 12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2) - 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23) Patch to append regexp to tag commands to make it possible to select one out