diff runtime/doc/todo.txt @ 20856:83cfa1ef1bf2

Update runtime files Commit: https://github.com/vim/vim/commit/65e0d77a66b7e50beb562ad554ace46c32ef8f0f Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 14 17:29:55 2020 +0200 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 14 Jun 2020 17:45:04 +0200
parents 661eb972cb22
children 59f93c2d2551
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 Jun 07
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Jun 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,15 +40,17 @@ browser use: https://github.com/vim/vim/
 
 Include src/po/vim.pot ?
 
-If there are no complaints, remove more typecasts from vim_strnsave() length
-argument.
-
 Vim9 script:
 Making everything work:
+- assignment to script var should check type
+- Compile: let [var, var] = expr
+  share code for :let between compiled and uncompiled?
+- do not allow "let g:var = value", must drop "let"
 - possible memory leak in test_vim9_func through compile_nested_function.
 - memory leaks in test_vim9_expr
 - memory leaks in test_vim9_script
 - Test that a script-local function in Vim9 script cannot be deleted.
+- Check that when sourcing a Vim9 script, only the global items can be used.
 - 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
@@ -56,7 +58,6 @@ Making everything work:
 - 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.
-- Compile: let [var, var] = expr
 - Compile: for [key, value] in items(map)
 - Assignment to dict doesn't work:
       let ret: dict<string> = #{}
@@ -76,6 +77,7 @@ Making everything work:
     (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.
 - Make closures work:
@@ -88,13 +90,14 @@ Making everything work:
 New syntax and functionality:
 Improve error checking:
 - "echo Func()" is an error if Func() does not return anything.
+Test:
+- Using a Vim9 autoload script (functions must be global).
 Also:
 - 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.
 - better implementation for partial and tests for that.
 - Make "g:imported = Export.exported" work in Vim9 script.
 - Make Foo.Bar() work to call the dict function. (#5676)
-- Check that import in legacy script works and puts item in s:
 - Error in any command in "vim9script" aborts sourcing.
 - Find a way to test expressions in legacy and Vim9 script without duplication
 - Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
@@ -237,7 +240,25 @@ Terminal emulator window:
   conversions.
 
 Error numbers available:
-E489, E610, E611, E653, E856, E857, E861, E900
+E489, E610, E611, E653, E856, E857, E861
+
+Remove SPACE_IN_FILENAME ? It is only used for completion.
+
+Can we detect true color support?  https://gist.github.com/XVilka/8346728
+Try setting a color then request the current color, like using t_u7.
+
+Check out PR #543 (Roland Puntaier).
+Patch for multi-byte characters in langmap and applying a mapping on them.
+(Christian Brabandt, 2015 Jun 12, update July 25)
+Is this the right solution?  Need to cleanup langmap behavior:
+- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
+  a copy-buffer, only when langmap is appropriate for the current mode. Then
+  check for mapping and let gotchars() work on the copy-buffer.
+- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the mode is
+  covered by the above change.
+So that replaying the register doesn't use keymap/langmap and still does the
+same thing.
+Also see #737: langmap not applied to replaying recording.
 
 Buffer autocommands are a bit inconsistent.  Add a separate set of
 autocommands for the buffer lifecycle:
@@ -275,6 +296,9 @@ undo result wrong: Masato Nishihata, #47
 When 'lazyredraw' is set sometimes the title is not updated.
 (Jason Franklin, 2020 Feb 3)  Looks like a race condition.
 
+Regexp to search for duplicate lines does not work correctly:
+/\(^.*\n\)\1  (Chris Morgan, #6239)
+
 With bash ":make" does not set v:shell_error.  Possible solution: set
 'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}"  #5994
 
@@ -305,6 +329,8 @@ Wrong error when using local arglist. (H
 Request to support <Cmd> in mappings, similar to how Neovim does this.
 (Daniel Hahler, #4784)
 
+Test loose_clipboard() by selecting text before suspending.
+
 Undo puts cursor in wrong line after "cG<Esc>" undo.
 
 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
@@ -391,7 +417,7 @@ When using :packadd files under "later" 
 with packages under "start". (xtal8, #1994)
 
 Patch to add new motion ]( and ]{.  (Yasuhiro Matsumoto, #5320)
-Better: use the "z" prefix.
+Better: use the "z" prefix.  or ]t) and [t(.
 
 Modeless selection doesn't work in gvim. (#4783)
 Caused by patch 8.1.1534.
@@ -439,18 +465,12 @@ Can be used to update highlighting. #312
 Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
 
 Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
-Updated 2016 Jun 10, #858  Update 2017 Mar 28: use <buffer>
+Updated 2016 Jun 10, #858  Update 2017 Mar 28: use <buffer>.
+Better use ":bufgrep" ?
 
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Patch to support CamelCase for spell checking: See a lower-to-upper case
-change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
-patch for 'spellcamelcase' option: spellcheck each CamelCased word.
-(Ben Tucker, 2016 Dec 2)
-
-Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
-
 Improve fallback for menu translations, to avoid having to create lots of
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
@@ -466,18 +486,6 @@ Added tests (James McCoy, 2016 Aug 3, #9
 window 2.  User expects 10 to be added to size of window 2. (Daniel Steinberg,
 #5443)
 
-Patch for multi-byte characters in langmap and applying a mapping on them.
-(Christian Brabandt, 2015 Jun 12, update July 25)
-Is this the right solution?  Need to cleanup langmap behavior:
-- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
-  a copy-buffer, only when langmap is appropriate for the current mode. Then
-  check for mapping and let gotchars() work on the copy-buffer.
-- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the mode is
-  covered by the above change.
-So that replaying the register doesn't use keymap/langmap and still does the
-same thing.  Remarks on PR #543 (Roland Puntaier).
-Also see #737: langmap not applied to replaying recording.
-
 Would be nice to set tab-local values for 'diffexpr' and 'diffopt'.  Use
 t:diffexpr_option t:diffopt_option? (#4782)
 
@@ -507,10 +515,10 @@ Give a few examples. (#4288)
 Opening a file with --remote-tab-silent that matches 'wildignore' does not
 work, results in (E479: No match". (#4610)
 
-Patch for this (Tristan Konolige, #1011, only adds the option, no implem.):
 7   Add an option to add one pixel column to the character width?  Lucida
     Console italic is wider than the normal font ("d" overlaps with next char).
     Opposite of 'linespace': 'columnspace'.
+Patch for this (Tristan Konolige, #1011, only added the option, no implem.)
 
 Bug: script written with "-W scriptout" contains Key codes, while the script
 read with "-s scriptin" expects escape codes.  Probably "scriptout" needs to
@@ -583,9 +591,6 @@ C syntax: {} inside () causes following 
 Check: __attribute__((format(printf, on semsg() and siemsg().  Where was this
 added?
 
-Patch to add a flatten() function.  #3676.  Check that the doc explains the
-maxdepth argument (applies to the input "recursiveness").
-
 Add test for urxvt mouse codes.  Also test that mouse coordinates can be
 negative. (see #4326)
 
@@ -656,11 +661,6 @@ punctuation is repeated. (Smylers, 2018 
 
 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
 
-Patch to add more info to OptionSet.  Should mention what triggered the change
-":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
-#4118.  Proposed implementation: 2019 Mar 27.
-Updated 2019 May 25.
-
 Using single wide base character with double wide composing character gives
 drawing errors.  Fill up the base character?  (Dominique, #4328)
 
@@ -711,23 +711,13 @@ Neovim uses "eob:X" in 'fillchars'.
 Sourceforge Vim pages still have content, redirect from empty page.
 Check for PHP errors. (Wayne Davison, 2018 Oct 26)
 
-Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
-Use something like ":tag {kind}/{tagname}".
-Not ready to include.
-
 Problem with Visual yank when 'linebreak' and 'showbreak' are set.
 Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
 Nov 17)  Asked about this, Dec 22. Christian will have a look.
 
-Patch for larger icons in installer. (#978)  Still not good.
-
 Patch to fix that using "5gj" starting inside a closed fold does not work on
 screen lines but on text lines. (Julius Hulsmann, #4095)  Lacks a test.
 
-Patch to implement 'diffref' option. (#3535)
-  Easier to use a 'diffmaster' option, is the extra complexity needed?
-  Not ready to include.
-
 home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
 
 When the status line uses term_gettitle(), it does not get updated when the
@@ -755,7 +745,7 @@ Further xdiff changes:
 Difference between two regexp engines: #3373
 
 Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
-What is the practical use for this?
+What is the practical use for this?  Need an example.
 
 When the last line wraps, selecting with the mouse below that line only
 includes the first screen line. (2018 Aug 23, #3368)
@@ -779,8 +769,6 @@ when adding a sign for every quickfix en
 Win32 key codes are messy.  Mike Williams tried to fix that, but now old
 mappings no longer work.  Create a new terminal for the better solution?
 
-Patch to "fix" 'visualbell'. Add option to set delay?  (#1789)
-
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -870,9 +858,6 @@ deleting autocmds, not when adding them.
 
 Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
 
-Delete all the specific stuff for the Borland compiler? (#3374)
-Patch in #3377 (Thomas Dziedzic)
-
 With 'foldmethod' "indent" and appending an empty line, what follows isn't
 included in the existing fold.  Deleting the empty line and undo fixes it.
 (Oleg Koshovetc, 2018 Jul 15, #3214)
@@ -1037,6 +1022,7 @@ The ":move" command does not honor close
 
 Patch to fix increment/decrement not working properly when 'virtualedit' is
 set. (Hirohito Higashi, 2016 Aug 1, #923)
+Was this fixed?
 
 Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
 
@@ -1106,8 +1092,6 @@ Or is this not an actual problem?
 
 Better TeX indent file. (Christian Brabandt, 2017 May 3)
 
-Patch to use a separate code for BS on Windows. (Linwei, #1823)
-
 Use gvimext.dll from the nightly build? (Issue #249)
 
 'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
@@ -1216,13 +1200,6 @@ Implement named arguments for functions:
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
 
-Patch to fix that empty first tab is not in session.
-(Hirohito Higashi, 2016 Nov 25, #1282)
-
-Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
-Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
-Update Aug 2017: #1954
-
 The TermResponse event is not triggered when a plugin has set 'eventignore' to
 "all".  Netrw does this. (Gary Johnson, 2017 Jan 24)
 Postpone the event until 'eventignore' is reset.
@@ -1386,11 +1363,6 @@ Undo message is not always properly disp
 3.  Doesn't work properly according to Yukihiro Nakadaira.
 Also see #1635.
 
-Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)
-Add an argument to choose binary or non-binary (like readfile()), when omitted
-use the current behavior.
-Include the test.
-
 When 'keywordprg' starts with ":" the argument is still escaped as a shell
 command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
 
@@ -1412,9 +1384,6 @@ synced.  (Ryan Carney, 2016 Sep 14)
 Syntax highlighting for messages with RFC3339 timestamp (#946)
 Did maintainer reply?
 
-Patch to avoid problem with special characters in file name.
-(Shougo, 2016 Sept 19, #1099)  Not finished?
-
 ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
 Also with latest version.
 
@@ -1450,8 +1419,6 @@ Filetype plugin for awk. (Doug Kearns, 2
 
 Patch to improve map documentation. Issue #799.
 
-Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
-
 We can use '. to go to the last change in the current buffer, but how about
 the last change in any buffer?  Can we use ', (, is next to .)?
 
@@ -1508,11 +1475,6 @@ Mechelynck)  Perhaps use exists("::tearo
 Use vim.vim syntax highlighting for help file examples, but without ":" in
 'iskeyword' for syntax.
 
-Patch to make "%:h:h" return "." instead of the full path.
-(Coot, 2016 Jan 24, #592)
-
-Remove SPACE_IN_FILENAME ? What could possibly go wrong?
-
 When command names are very long :command output is difficult to read.  Use a
 maximum for the column width?  (#871)
 Patcy by varmanishant, 2016 Jun 18, #876
@@ -2107,11 +2069,6 @@ Vim using lots of memory when joining li
 BT regexp engine: After trying a \@> match and failing, submatches are not
 cleared.  See test64.
 
-Patch to make "z=" work when 'spell' is off.  Does this have nasty side
-effects?  (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
-Would also need to do this for spellbadword() and spellsuggest().
-https://github.com/chrisbra/vim-mq-patches/blob/master/enable_spellchecking
-
 On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
 64 bits value.  Change all number options to use nropt_T and define it to the
 right type.