Mercurial > vim
diff runtime/doc/todo.txt @ 24911:fd37be6dc258
Update runtime files
Commit: https://github.com/vim/vim/commit/2346a6378483c9871016f9fc821ec5cbea638f13
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 13 19:02:49 2021 +0200
Update runtime files
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 13 Jun 2021 19:15:03 +0200 |
parents | e69e7133c9cf |
children | 43593a5d873f |
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: 2021 May 28 +*todo.txt* For Vim version 8.2. Last change: 2021 Jun 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,57 +38,30 @@ browser use: https://github.com/vim/vim/ *known-bugs* -------------------- Known bugs and current work ----------------------- -Geen memory leak? - -Crash using outer var from nested lambda: - vim9script - def F(text: string): func(string): func(string): string - return (arg: string): func(string): string => ((sep: string): string => { - return text .. ' ' .. arg - }) - enddef - - echo F('hello')(' ')('there') - - - Vim9 - Make everything work: -- function returning nothing should return void instead of zero -- compile "expr" and "call" expression of a channel in channel_exe_cmd()? -- Need some solution for dict function. Can we implement part of classes? -- A lambda without {} does not require a return type, using { return x } does. - That's unexpected, since the arguments are not required to have a type. - alt 1: not require a return type, figure it out from the common type of all - the return statements found - alt 2: also require argument types -- Using "windo echo expr" does not accept a line break inside "expr" (in a - :def function and at script level in a not executed block). #7681 -- use CheckLegacyAndVim9Success(lines) in many more places +- Make debugging work - at least per function. + - How to evaluate the stack and variables on the stack? + - FIXME in test_debugger.vim - For builtin functions using tv_get_string*() use check_for_string() to be more strict about the argument type (not a bool). done: balloon_() - Check many more builtin function arguments at compile time. map() could check that the return type of the function argument matches the type of the list or dict member. (#8092) -- Allow for using an autoload function name without quotes. It is then loaded - (and compiled) right away. #8124 -- Test more expressions in legacy and Vim9 script, using - CheckLegacyAndVim9Success() + Same for other functions, such as searchpair(). +- use CheckLegacyAndVim9Success(lines) in many more places - Test try/catch and throw better, also nested. Test that return inside try/finally jumps to finally and then returns. - 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. -- Make debugging work - at least per function. Need to recompile a function - to step through it line-by-line? Evaluate the stack and variables on the - stack? -- Reserve command for future use: :type, :class, :enum +- compile get_lambda_tv() in popup_add_timeout() Once Vim9 is stable: +- Add the "vim9script" feature, can use has('vim9script') - Change the help to prefer Vim9 syntax where appropriate - Add all the error numbers in a good place in documentation. - In the generic eval docs, point out the Vim9 syntax where it differs. -- Add the "vim9script" feature, can use has('vim9script') - Use Vim9 for runtime files. PR #7497 for autoload/ccomplete.vim @@ -100,13 +73,12 @@ Further Vim9 improvements, possibly afte Give an error if compilation fails. (#7625) Use the location where the option was set for deciding whether it's to be evaluated in Vim9 script context. -- implement :type, import type declaration. -- implement enum, import enum. -- Future work: See |vim9-classes| +- implement :type, "import type" +- implement enum, "import enum". +- implement class and interface: See |vim9-classes| - For range: make table of first ASCII character with flag to quickly check if it can be a Vim9 command. E.g. "+" can, but "." can't. -- compile get_lambda_tv() in popup_add_timeout() -- inline call to map() and filter() +- Inline call to map() and filter(), better type checking. - Make accessing varargs faster: arg[expr] EVAL expr LOADVARARG (varargs idx) @@ -300,6 +272,9 @@ inconsistent with the documentation. Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) Scroll doesn't work correctly, why? +glob() and globfile() do not always honor 'wildignorecase'. #8350 +globpath() does not use 'wildignorecase' at all? + Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work with 'termguicolors'. #1740 @@ -344,6 +319,9 @@ Should also work without any group: :echo matchstr('aaa bbb', '.\{-1,}\>\|.*') aaa bbb (should be aaa) +Should add a match/str/list/pos method that also returns the test and position +of submatches. #8355 + Check out PR #543 (Roland Puntaier). Patch for multibyte characters in langmap and applying a mapping on them. (Christian Brabandt, 2015 Jun 12, update July 25) @@ -380,6 +358,10 @@ work. Using "au!" after "filetype on" is a bit slow. Can the matching of autocommands be made faster? (#7056) +Append in Visual block mode inserts the wrong character. +Test_visual_block_mode() already has the proper check, which is commented out. +(#8288) + Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr" replace this: let left = GetLeftFunc() @@ -2263,9 +2245,6 @@ Win32: Improved Makefile for MSVC. (Leon Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15) -Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010 -Sep 1) - Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5) Putting a Visual block while 'visualedit' is "all" does not leave the cursor