diff runtime/doc/todo.txt @ 20379:7f88f6a3ed4c

Update runtime files Commit: https://github.com/vim/vim/commit/47e13953ffdbb9f163b901196dec8c2100b72edd Author: Bram Moolenaar <Bram@vim.org> Date: Tue May 12 22:49:12 2020 +0200 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Tue, 12 May 2020 23:00:04 +0200
parents 2334bf788e8a
children 74e3316c1d5a
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 May 07
+*todo.txt*      For Vim version 8.2.  Last change: 2020 May 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,23 +38,22 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Patch to test TERM signal. (Dominique, #6055)
+
+Include src/po/vim.pot
+
 Vim9 script:
-Big changes, may need design:
-- Make closures work:
+Make closures work:
   - call closure from not compiled context
   - Create closure in a loop.  Need to make a list of them.
-- Having constant expr evaluation separate does not scale.
-  First parse the expression, then simplify, then generate code.
-- At the vim9 script level: Allow using a function that is defined later.
-  Requires compiling functions only when the whole script has been sourced.
-  Like Javascript "hoisting", but only at the script level:
-  0. If script was sourced before, clear all script-local functions and
-     variables. (variables still to be implemented)
-  1. Discovery phase: Read the file to find all functions, variable
-     declarations and imports If a variable has a constant expression we get
-     the type, otherwise it will be "any".  Follow imports recursively.
-  2. Compilation phase: compile :def function bodies, using declared types
-  3. Execution phase: Execute imports when encountered. (skip over functions)
+Forward declarations:
+  - Cleanup when sourcing a script again: all script-local variables, imports
+    and functions are deleted.
+  - make sure only constants in declarations are executed, no function calls.
+  - Declare a variable at script level without an assignment.
+	let var: string
+    Error without a type or assignment
+	let var  # error!
 Making everything work:
 - Test that a script-local function in Vim9 script cannot be deleted.
 - Test that a function defined inside a :def function is local to that
@@ -62,7 +61,13 @@ Making everything work:
   defined.
 - 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: let [var, var] = expr
+- Compile: for [key, value] in items(map)
+- Assignment to dict doesn't work:
+      let ret: dict<string> = #{}
+      ret[i] = string(i)
+- Appending to dict item doesn't work:
+    let d[i] ..= value
 - Compile replacement of :s command: s/pat/\=expr/
 - Compile redir to local variable: var_redir_start().
 - Compile builtin functions that access local variables:
@@ -79,6 +84,7 @@ Making everything work:
 - expandcmd() with `=expr` in filename uses legacy expression.
 - eval_expr() in ex_cexpr()
 - eval_expr() call in dbg_parsearg() and debuggy_find()
+- Make "true" and "false" work in vim9script
 New syntax and functionality:
 Improve error checking:
 - "echo Func()" is an error if Func() does not return anything.
@@ -254,14 +260,14 @@ Patch for the Haiku port: #5961
 
 Patch to add Turkish manual. (Emir Sarı, #5641)
 
+Patch to add lua sleep function. (Prabir Shrestha, #6057)
+Alternative: use vim.call and vim.fn: #6063
+
 Patch to add getmarklist() (Yegappan, #6032)
 
 Patch to support different color for undercurl in cterm.
 (Timur Celik, #6011)
 
-When SIGTSTP is ignored, don't let CTRL-Z suspend Vim? (Kurtis Rader, #5990)
-Fixed by patch #6026.  Makes tests fail...
-
 Patch to support cindent option to handle pragmas differently.
 (Max Rumpf, #5468)
 
@@ -294,6 +300,10 @@ Patch to delete BeOS code. (#5817)  Anyo
 With bash ":make" does not set v:shell_error.  Possible solution: set
 'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}"  #5994
 
+When changing the crypt key the buffer should be considered modified.
+Like when changing 'fileformat'.  Save the old key in save_file_ff().
+(Ninu-Ciprian Marginean)
+
 Strange sequence of BufWipeout and BufNew events while doing omni-complete.
 (Paul Jolly, #5656)
 Get BufDelete without preceding BufNew. (Paul Jolly, #5694)