diff runtime/doc/todo.txt @ 23466:15fa3923cc49

Update runtime files. Commit: https://github.com/vim/vim/commit/7e6a515ed14e204fafb3dd6e98f2fb543e64aedd Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 2 16:39:53 2021 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sat, 02 Jan 2021 16:45:04 +0100
parents fab58304f77d
children e2e2cc5d0856
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 Dec 22
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Jan 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,17 +38,11 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Rewrite the section on "magic".  Say that 'magic' is normally on, then this
-happens...  If 'magic' is off, then this is different..
-
-test_vim9_cmd: uses uninitialized var
+Reload: How to make sure type of script function hasn't changed?
+
+Valgrind: test_vim9_cmd: uses uninitialized var
 
 Vim9 - Make everything work:
-- For an :autocmd and :command argument defined in Vim9 script, if a following
-  line starts with "|" append it.  It's like line continuation. (#6702)
-- The syntax of a range list[a:b] is ambiguous, is this one "a:b" variable or
-  a range from "a" to "b"?  To avoid confusion, require white space before
-  (and after) the colon?  #7409
 - Implement "export {one, two three}".
 - Use "null" for v:null, like true and false?  #7495
 - ISN_CHECKTYPE could use check_argtype()
@@ -59,7 +53,18 @@ Vim9 - Make everything work:
 - If a :def function is called with a function reference, compile it to get
   the function type.
 	def Filter(x: string, Cond: func(string): bool)
-	Filter(x, { v -> v =~ '^b' })
+	Filter(x, (v) => v =~ '^b')
+- Make inline function work, to be used as a funcref:
+       let Ref = (arg: type): type => {
+	    statement
+	    return expr
+	}
+       let Ref = (arg: type) => {
+	    statement
+	    statement
+	}
+- implement { cmd } compiled
+- implement { cmd } at script level
 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
 - Expand `=expr` in :mkspell
@@ -68,8 +73,11 @@ Vim9 - Make everything work:
 	map(list, SomeFunc)
 - For builtin functions using tv_get_string*() use check_for_string() to be
   more strict about the argument type.
+- Implement :lockvar and :unlockvar.  How about local variables?  Perhaps only
+  allow this for global variables.  Use :final or :const otherwise.
 - Allow function names that will be script-local to start with lower case
-  letter?
+  letter?  Or also require names with s: prefix to use upper case?
+  Also apply this function references "var ref = SomeFunc"
 - Support passing v:none to use the default argument value. (#6504)
 - Make map() give an error if the resulting type of the first argument is
   wrong.  Only works if the type is known?  Is this slow (need to go over all
@@ -98,7 +106,7 @@ Vim9 - Make everything work:
 - Implement using imported items at script level from "import * as X" in
   eval_variable().  Should pass the ".xxx" that follows and return that.
 - Disallow unlet for local/script/imported vars
-- Make "++nr" work.
+- Make "++nr" work.  "++g:count" doesn't work, thinks it is a range.
 - Make closures work:
   - Create closure in a loop.  Need to make a list of them.
   - nested closure only uses one context, not all (#7150)
@@ -144,10 +152,6 @@ Further improvements:
 - compile options that are an expression, e.g. "expr:" in 'spellsuggest',
   'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
   'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
-- Make inline function work, to be used as a funcref:
-	let ref = def(arg: type): rettype
-	    body
-	enddef
 - compile get_lambda_tv() in popup_add_timeout()
 - inline call to map() and filter()
 - compile "skip" argument of searchpair()
@@ -224,6 +228,7 @@ Terminal debugger:
   with another Vim instance.
 
 Terminal emulator window:
+- Can escape a terminal popup with win_gotoid(), should be an error
 - 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".
@@ -276,6 +281,8 @@ Have another look at the implementation.
 Patch to implement the vimtutor with a plugin: #6414
 Was originally written by Felipe Morales.
 
+Patch to find Python dll using registry key. (#7540)
+
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
 Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
@@ -663,6 +670,38 @@ Session file contains absolute paths whe
 'sessionoptions', making it impossible to have a session with a relative path.
 (#4450)
 
+Session file only contains local option values for buffers that are in a
+window, not other buffers. (#7532)
+
+Script generated by :mksession does not work well if there are windows with
+modified buffers
+  change "silent only" into "silent only!"
+  change "edit fname" of first buffer to "hide edit fname"
+  skip "badd fname" if "fname" is already in the buffer list
+  remove remark about unloading buffers from documentation
+
+When session file has name in argument list but the buffer was deleted, the
+buffer is not deleted when using the session file. (#1393)
+Should add the buffer in hidden state.
+
+When a session file is created and there are "nofile" buffers, these are not
+filled.  Need to trigger BufReadCmd autocommands.  Also handle deleting the
+initial empty buffer better. (ZyX, 2015 March 8)
+
+Setting the spell file in a session only reads the local additions, not the
+normal spell file. (Enno Nagel, 2014 Mar 29)
+
+Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
+(Felix Kater, 2009 Mar 3)
+
+Something wrong with session that has "cd" commands and "badd", in such a way
+that Vim doesn't find the edited file in the buffer list, causing the
+ATTENTION message?  (Tony Mechelynck, 2008 Dec 1)
+Also: swap files are in ~/tmp/  One has relative file name ".mozilla/...".
+
+'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
+Likonen, March 19)
+
 When using a timer callback vgetc_busy is reset, allowing for using input().
 But in a channel callback this does not happen.  We need to do something
 similar to check_due_timer().  Also see #3809.
@@ -852,13 +891,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?
 
-Script generated by :mksession does not work well if there are windows with
-modified buffers
-  change "silent only" into "silent only!"
-  change "edit fname" of first buffer to "hide edit fname"
-  skip "badd fname" if "fname" is already in the buffer list
-  remove remark about unloading buffers from documentation
-
 Compiler warnings (geeknik, 2017 Oct 26):
 - signed integer overflow in do_sub() (#2249)
 - signed integer overflow in get_address() (#2248)
@@ -1120,7 +1152,7 @@ Overlong utf-8 sequence is displayed wro
 #2089)  Patch with possible solution by Björn Linse.
 
 The change list index is local to a buffer, but it doesn't make sense using it
-for another buffer.  (lacygoll) Copy w_changelistidx to wininfo_S and back.
+for another buffer.  (lacygolil) Copy w_changelistidx to wininfo_S and back.
 
 X11: Putting more than about 262040 characters of text on the clipboard and
 pasting it in another Vim doesn't work.  (Dominique Pelle, 2008 Aug 21-23)
@@ -1227,10 +1259,6 @@ Json string with trailing \u should be a
 import can't be used in define option when include matches too.
 (Romain Lafourcade, 2017 Jun 18, #1519)
 
-When session file has name in argument list but the buffer was deleted, the
-buffer is not deleted when using the session file. (#1393)
-Should add the buffer in hidden state.
-
 Wrong diff highlighting with three files. (2016 Oct 20, #1186)
 Also get E749 on exit.
 Another example in #1309
@@ -1689,10 +1717,6 @@ Doesn't work completely (Dominique Orban
 
 Patch to add a "literal" argument to bufnr().  (Olaf Dabrunz, 2015 Aug 4)
 
-When a session file is created and there are "nofile" buffers, these are not
-filled.  Need to trigger BufReadCmd autocommands.  Also handle deleting the
-initial empty buffer better. (ZyX, 2015 March 8)
-
 Extended file attributes lost on write (backupcopy=no).  Issue 306.
 
 Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
@@ -1821,9 +1845,6 @@ Out of scope:
 - Development work on plugins (although diff with distributed version would be
   useful).
 
-Setting the spell file in a session only reads the local additions, not the
-normal spell file. (Enno Nagel, 2014 Mar 29)
-
 When typing the first character of a command, e.g. "f", then using a menu, the
 menu item doesn't work.  Clear typeahead when using a menu?
 
@@ -2472,9 +2493,6 @@ opening/closing window causes other wind
 height.  Also happens when there is another window in the frame, if it's not
 very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
 
-Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
-(Felix Kater, 2009 Mar 3)
-
 Session file generates error upon loading, cause by --remote-silent-tab.
 (7tommm (ytommm) 2010 Nov 24)
 
@@ -2534,11 +2552,6 @@ still delete them.  Also convert all buf
 "gqip" in Insert mode has an off-by-one error, causing it to reflow text.
 (Raul Coronado, 2009 Nov 2)
 
-Something wrong with session that has "cd" commands and "badd", in such a way
-that Vim doesn't find the edited file in the buffer list, causing the
-ATTENTION message?  (Tony Mechelynck, 2008 Dec 1)
-Also: swap files are in ~/tmp/  One has relative file name ".mozilla/...".
-
 MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
 doesn't set 'ff' to "unix".  (Ben Fritz, 2008 Dec 5) Reusing the old buffer
 probably causes this.
@@ -2735,9 +2748,6 @@ New PHP syntax file, use it? (Peter Hodg
 ":echoe" in catch block stops processing, while this doesn't happen outside of
 a catch block. (ZyX, 2011 Jun 2)
 
-'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
-Likonen, March 19)
-
 Test 54 uses shell commands, that doesn't work on non-Unix systems.  Use some
 other way to test buffer-local autocommands.