Update runtime files.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 03c9fce..d47ecca 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Sep 19
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Sep 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,14 +38,19 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Why does Test_invalid_sid() not work in the GUI?
+Popup windows: don't send any keys from ":normal" to popup filter?
+  Can drop ex_normal_busy_done then.
 
-Add matchfuzzy() and matchfuzzypos() Yegappan, #6947
-    should be ready now
+Move Test_let_* from test_vim9_script to test_vim9_assign
 
+Modifiers in GTK: issue #6457.  CTRL-6 should work, like CTRL-@ and CTRL-_.
+
+3 October: remove using :let in Vim9 script.
+
+Go back to not using string/list/dict as falsy/thruthy boolean?
+    or only make "||" and "&&" result in a boolean?
 Making everything work:
-- Fix memory leak in test_vim9_func (through compile_nested_function and
-  get_lambda_tv())
+- Fix memory leaks in test_vim9_assign, remove "if 0"
 - Fix memory leaks in test_vim9_script
 - At the Vim9 script level, keep script variables local to the block they are
   declared in, like in Javascript (using :let).
@@ -78,6 +83,7 @@
 - Make sure that where a callback is expected a function can be used (without
   quotes). E.g. sort() and map().  Also at the script level.
 - assignment to more complex lval: list[1][2][3] = 8
+  Also "list[0] += value".  test in Test_assign_dict_unknown_type().
 - ":put" with ISN_PUT does not handle range correctly, e.g. ":$-2put".
   Add command to parse range at runtime?
 - Make map() give an error if the resulting type is wrong.
@@ -92,9 +98,10 @@
 - ISN_CHECKTYPE could use check_argtype()
 - give error for variable name:
       let p = function('NoSuchFunc')
-- Give runtime error if function argument is wrong.
-	def Increment(nr: number)
-	range(3)->Increment()
+- 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' })
 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
 - Expand `=expr` in :mkspell
@@ -122,6 +129,8 @@
 - When evaluating constants for script variables, some functions could work:
     has('asdf'), len('string')
 - Implement "as Name" in "import Item as Name from ..."
+- 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 closures work:
@@ -332,6 +341,8 @@
 Patch for Template string: #4634
 Have another look at the implementation.
 
+Valgrind warns for uninitialized values in f_term_dumpwrite().
+
 Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
     replace this:
 	let left = GetLeftFunc()
@@ -341,6 +352,8 @@
 	let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
 Patch to make :q work with local arglist. (Christian Brabandt, #6286)
 
+Why does Test_invalid_sid() not work in the GUI?
+
 Lua: updating wrong buffer when using newly created, unloaded buffer.
 (#6539)