diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index cc6abf6..61e65a1 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 29
+*starting.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1264,7 +1264,7 @@
 - The command line history.
 - The search string history.
 - The input-line history.
-- Contents of registers.
+- Contents of non-empty registers.
 - Marks for several files.
 - File marks, pointing to locations in files.
 - Last search/substitute pattern (for 'n' and '&').
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index e148bff..326ec3e 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 7.0aa.  Last change: 2004 Jul 23
+*tagsrch.txt*   For Vim version 7.0aa.  Last change: 2005 Jan 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -60,7 +60,7 @@
 changing or disabling the default escape key.  See the telnet man page.  You
 can 'telnet -E {Hostname}' to disable the escape character, or 'telnet -e
 {EscapeCharacter} {Hostname}' to specify another escape character.  If
-possible, try to use "rsh" instead of "telnet" to avoid this problem.
+possible, try to use "ssh" instead of "telnet" to avoid this problem.
 
 							*tag-priority*
 When there are multiple matches for a tag, this priority is used:
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9e1116a..6f83a5a 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 01
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,10 +30,34 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+List data type:
+- ":let list[expr] = expr"
+- ":let [a, b] = [1, 2]"
+- ":let [a, b; rest] = [1, 2, 3, 4]"
+- "for a in list"
+- "for [a, b] in [[1, 2], [3, 4]]"
+- == (same value) and "is" (same list)
+- add many functions:
+    call(func, list)		call function
+    keys(list)			list of all indexes 0 - len(list)
+    repeat(list, count)		return list concatenated count times
+    concat(list1, list2)	return list1 and list2 concatenated
+    extend(list1, list2)	concatenate list2 to list 1
+    extend(list1, list2, idx)	prepend list2 before idx in list1
+    count(list, item)		nr of times item appears in list
+    index(list, item)		lowest index of item in list
+    pop(list[, idx])		removes item at idx (default: last)
+    pop(list, idx1, idx2)	removes items idx1 to idx2, returns them
+    reverse(list)		reverses order
+    sort(list[, func])		sort; func compares items
+    getval(list, idx[, default])	get value at idx or default
+    file2lines()
+    file2words()
+
 patch for QuickFixCmdPre and QuickFixCmdPost autocommands. (Ciaran McCreesh,
 2005 Jan 1)
 
-New toolbar button from Martin Dalecki:
+New Motif toolbar button from Martin Dalecki:
 - add remark in version7.txt
 - check if it works for pixmap loaded from a file.
 
@@ -60,11 +84,10 @@
 	+ can include NUL characters
 	- setline() will have problems with NL vs NUL.
     Can use list of numbers instead (inefficient though).
+    Also: for strings up to 3 bytes don't allocate memory, VAR_STRINGX.
 -   new DATA TYPES:
 	- None?  (or use empty string?)
-	- list
 	- dictionary
-	- function reference
 	Check old patch from Robert Webb for array support.
     Add type checking?  See ~/vim/ideas.txt.
 -   Add SPELLCHECKER, with easy to add support for many languages.
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 79a35e1..fd8d33b 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 01
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -381,6 +381,8 @@
 contents ourselves to make them handle fonts in a way configurable by Vim and
 a bit less dependent on the X11 font management.
 
+When a register is empty it is not stored in the viminfo file.
+
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-7*
 
@@ -627,6 +629,9 @@
 
 Motif: fonts were not used for dialog components. (Martin Dalecki)
 
+Motif: After using a toolbar button the keyboard focus would be on the toolbar
+(Lesstif problem). (Martin Dalecki)
+
 When using "y<C-V>`x" where mark x is in the first column, the last line was
 not included.
 
