diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 25d4527..ad76e6c 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 16
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,25 +30,12 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Dictionary:
-- Define nameless function: ":function dict.key(arg)"
-- ":delfunc dict.key".
-- Set the error message numbers for E999.
-
-Make ":call Funcref()" work?
+Sanity check of eval.c:
+- Go through the code for magic braces.
 
 Mention Rsync command on runtime.php page:
     rsync -avzcP --delete --exclude="dos" --delete-excluded ftp.nluug.nl::Vim/runtime/ vim63-runtime
 
-List type:
-- Make second index in list[i:j] exclusive, like Python?
-    Marcus Aurelius: yes
-- Add List functions to version7.txt.
-- Add List functions to overview of funtions in user manual.
-- Explain Lists in the user manual?
-
-Add +=, -= and .= assignments.
-
 netrw plugin:
 - provide :Explore and :Sexplore like the old file explorer?
 - alignment of long listing isn't very good.
@@ -67,6 +54,8 @@
 - add remark in version7.txt
 - check if it works for pixmap loaded from a file.
 
+Explain Lists, Dicts, |:for| etc. in the user manual |usr_41.txt|.
+
 Awaiting response:
 -   Patch for mch_FullName() also in Vim 6.3?  os_mswin.c
 -   Win32: "gvim -V100" should use dialog with scrollbar.  Using
@@ -93,9 +82,7 @@
     Also: for strings up to 3 bytes don't allocate memory, VAR_STRINGX.
 -   new DATA TYPES:
 	- None?  (or use empty string?)
-	- dictionary
-	    range(start, end, stride) creates a listable dict.
-    Add type checking?  See ~/vim/ideas.txt.
+    See ~/vim/ideas.txt.
 -   Add SPELLCHECKER, with easy to add support for many languages.
     8   Add spell checking.  Use "ispell -a" somehow.
 	~/vim/patches/wm_vim-5_4d.zip  can be used as an example (includes
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 4a6a56a..f2ca967 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 16
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -17,7 +17,7 @@
 
 NEW FEATURES				|new-7|
 
-New data types				|new-data-types|
+Vim script enhancements			|new-vim-script|
 KDE support				|new-KDE|
 Translated manual pages			|new-manpage-trans|
 Internal grep				|new-vimgrep|
@@ -93,8 +93,8 @@
 ==============================================================================
 NEW FEATURES						*new-7*
 
-New data types						*new-data-types*
---------------
+Vim script enhancements					*new-vim-script*
+-----------------------
 
 In Vim scripts the following types have been added:
 
@@ -104,12 +104,13 @@
 
 Many functions and commands have been added to support the new types.
 
-The Dictionary is NOT IMPLEMENTED YET!
-
 The |string()| function can be used to get a string representation of a
 variable.  Works for Numbers, Strings and composites of them.  Then |eval()|
 can be used to turn the string back into the variable value.
 
+The |:let| command can now use ":let var += expr" like using ":let var = var +
+expr".  "-=" and ".=" works in a similar way.
+
 
 KDE support						*new-KDE*
 -----------
@@ -208,22 +209,45 @@
 
 New functions: ~
 
-browsedir(title, init)	|browsedir()|	Dialog to select a directory.
-byteidx(expr, nr)	|byteidx()| 	Index of a character. (Ilya Sher)
-finddir(name)		|finddir()|	Find a directory in 'path'.
-findfile(name)		|findfile()|	Find a file in 'path'. (Johannes
-					Zellner)
-foldtextresult(lnum)	|foldtextresult()|  The text displayed for a closed
-					fold at line "lnum".
-getfperm(fname)		|getfperm()|	Get file permission string. (Nikolai
-					Weibull)
-getftype(fname)		|getftype()|	Get type of file. (Nikolai Weibull)
-repeat(expr, count)	|repeat()| 	Repeat "expr" "count" times.
-					(Christophe Poucet)
-tr(expr, from, to)	|tr()|		Translate characters. (Ron Aaron)
-system(cmd, input)	|system()|	Filters {input} through a shell
-					command.
-getfontname([name])	|getfontname()| Get actual font name being used.
+|add()|			append an item to a List
+|append()|		append List of lines to the buffer
+|browsedir()|		Dialog to select a directory.
+|byteidx()| 		Index of a character. (Ilya Sher)
+|call()|		call a function with List as arguments
+|copy()|		make a shallow copy of a List or Dictionary
+|count()|		count nr of times a value is in a List or Dictionary
+|deepcopy()|		make a full copy of a List or Dictionary
+|empty()|		check if List or Dictionary is empty
+|extend()|		append one List to another or add items from one
+			Dictionary to another
+|filter()|		remove selected items from a List or Dictionary
+|finddir()|		Find a directory in 'path'.
+|findfile()|		Find a file in 'path'. (Johannes Zellner)
+|foldtextresult()|  	The text displayed for a closed fold at line "lnum".
+|function()|		make a Funcref out of a function name
+|get()|			get an item from a List or Dictionary
+|getfontname()| 	Get actual font name being used.
+|getfperm()|		Get file permission string. (Nikolai Weibull)
+|getftype()|		Get type of file. (Nikolai Weibull)
+|getline()|		get List with buffer lines
+|has_key()|		check whether a key appears in a Dictionary
+|insert()|		insert an item somewhere in a List
+|items()|		get List of Dictionary key-value pairs
+|join()|		join List items into a String
+|keys()|		get List of Dictionary keys
+|len()|			number of items in a List or Dictionary
+|map()|			change each List or Dictionary item
+|max()|			maximum value in a List or Dictionary
+|min()|			minimum value in a List or Dictionary
+|remove()|		remove one or more items from a List or Dictionary
+|repeat()| 		Repeat "expr" "count" times.  (Christophe Poucet)
+|reverse()|		reverse the order of a List
+|sort()|		sort a List
+|split()|		split a String into a List
+|string()|		String representation of a List or Dictionary
+|system()|		Filters {input} through a shell command.
+|tr()|			Translate characters. (Ron Aaron)
+|values()|		get List of Dictionary values
 
 
 New autocommand events: ~
