diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 23267a6..59bc24e 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 10
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,19 +30,48 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Support WINDOW TABS.  Works like several pages, each with their own split
+windows.  Let's call them "tab pages".
+
+    todo:
+    - ":qa"?
+    - "2gt" doesn't restore syntax HL.  GUI: scrollbars are wrong.
+    - line at top of frame with tabs.  'tabline' option 0/1/2 like 'laststatus'
+	Use the name of the first buffer in the tab (ignoring the help window,
+	unless it's the only one).  Add a number for the window count.
+	Add 'tabtext' option, like 'statusline'.
+	Select tab with mouse.
+    - When deleting a buffer also close windows in other tab pages.
+    - check all places where (firstwin == lastwin) is used (and vise versa)
+    - check all places wheren only_one_window() is used.
+    - When Vim window is resized all tabs must be resized.
+    - E999
+    - ":tabclose N" close tab N
+    docs:
+	:tabedit
+	:tabfind
+	:tab N
+	:tabs
+	{count}gt
+	:tabclose
+	:close and :quit (last window in tab)
+	"gt": Use "1gt" - "99gt" to switch to another tab.  "gt" goes to the
+	     next one.  Hint in docs: To mess with another buffer, without
+	     changing the window layout, do this in another tab.
+
+    add GUI Tabs for some systems.
+    Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
+    Simple patch for GTK by Luis M (nov 7).
+
+    Don't forget to provide an "X" to close the current tab.
+
+    Need to be able to search the windows in inactive tabs, e.g. for the
+    quickfix window.
+
+
 Crash with X command server (Ciaran McCreesh).
 
-ccomplete / omnicomplete:
-- For C add tag "kind" field to each match?
-- Flickering because of syntax highlighting redrawing further lines.
-- Finding out if an item has members (to add '.' or '->') requires a grep in
-  the tags files, that is very slow.  Is there another solution?  At least
-  stop at the first match.
-  Could build the list of items for each structure in memory.  Is that faster?
-  Not using too much memory?
-- When a typedef or struct is local to a file only use it in that file?
-- Special mappings for when the popup menu is visible?  Would allow for making
-  a specific selection (e.g, methods vs variables).
+Ctags still hasn't included the patch...
 
 spelling:
 - Also use the spelling dictionary for dictionary completion.
@@ -87,13 +116,6 @@
   adding a bad word like "zw" would.  Use "zuw" to undo "zw"?  (Antonio
   Colombo)
 
-7   Add plugins for formatting.  Should be able to make a choice depending on
-    the language of a file (English/Korean/Japanese/etc.).
-    Setting the 'langformat' option to "chinese" would load the
-    "format/chinese.vim" plugin.
-Edward L. Fox explains how it should be done for most Asian languages. (2005
-Nov 24)
-
 An error in a function uses a line number that doesn't take line continuation
 into account. (Mikolaj Machowski)  Store line count in an extra array?
 
@@ -113,7 +135,6 @@
   (Alan Schmitt)
 
 Patch to add a few flags to search(). (Benji Fisher, Nov 29, doc update Dec 1)
-Also add search???() function that returns list with lnum and col.
 
 Win32: Use the free downloadable compiler 7.1 (2003).  Figure out how to do
 debugging (with Agide?) and describe it. (George Reilly)
@@ -125,9 +146,6 @@
 Win32: Check that installer puts menu items in "all users" dir when possible,
 not administrator dir.
 
-CTRL-X CTRL-L only completes from loaded buffers.  Make it work for unloaded
-buffers too?
-
 Autoload:
 - Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
   script names and a help file and produces a script that can be sourced to
@@ -158,48 +176,30 @@
 
 CONSIDERED FOR VERSION 7.0:
 
--   Omni completion: Understands the programming language and finds matches
-    that make sense.  Esp. members of classes/structs.
-
-    It's not much different from other Insert-mode completion, use the same
-    mechanism.  Use CTRL-X CTRL-O and 'omnifunc'.  Set 'omnifunc' in the
-    filetype plugin, define the function in the autoload directory.
-    
-    Separately develop the completion logic and the UI.  When adding UI stuff
-    make it work for all completion methods.
+Omni completion:
+    ccomplete:
+    - Finding out if an item has members (to add '.' or '->') requires a grep
+      in the tags files, that is very slow.  Is there another solution?  At
+      least stop at the first match.
+      Could build the list of items for each structure in memory.  Is that
+      faster?  Not using too much memory?
+    - For C add tag "kind" field to each match?
+    - Flickering because of syntax highlighting redrawing further lines.
+    - When a typedef or struct is local to a file only use it in that file?
 
     UI:
-    - Complete longest common string first, like 'wildmode' "longest:full".
     - Add an "auto" mode: after typing a character (or string) completion is
       done for the longest common string.  plugin defines the possible
       characters/strings. (Martin Stubenschrott)
+      And/or: Provide a function to popup the menu, so that an insert mode
+      mapping can start it (with a specific selection).
     - GUI implementation of the popup menu.
-    - When using tags, show match in preview window (function prototype,
-      struct member, etc.).
+    - Show "info" from a match in preview window.
       Or use one window for matches, another for context/info (Doug Kearns,
       2005 Sep 13)
     - Ideas on: http://www.wholetomato.com/
 
-
     Completion logic:
-	Use runtime/autoload/{filetype}complete.vim files.
-
-	In function arguments suggest variables of expected type.
-	Tags file has "signature" field.
-
-	List of completions is a Dictionary with items:
-	    complist[0]['text'] = completion text
-	    complist[0]['type'] = type of completion (e.g. function, var, arg)
-	    complist[0]['help'] = help text (e.g. function declaration)
-	    complist[0]['helpfunc'] = function that shows help text
-	    etc.
-
-	Can CTRL-] (jump to tag) include the "." and "->" to restrict the
-	number of possible matches? (Flemming Madsen)
-
-	In general: Besides completion, figure out the type of a variable
-	and use it for information.
-
 	Ideas from others:
 	http://www.vim.org/scripts/script.php?script_id=747
 	    http://sourceforge.net/projects/insenvim
@@ -212,10 +212,6 @@
 	    Uses ctags to find the info:
 		ctags -f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux -u $files
 
-	    UI: popup menu with list of alternatives, icon to indicate type
-		optional popup window with info about selected alternative
-	    Unrelated settings are changed (e.g. 'mousemodel').
-
 	www.vim.org script 1213 (Java Development Environment) (Fuchuan Wang)
 	IComplete: http://www.vim.org/scripts/script.php?script_id=1265
 	    and http://stud4.tuwien.ac.at/~e0125672/icomplete/
@@ -223,21 +219,15 @@
 	Ivan Villanueva has something for Java.
 	Emads: http://www.xref-tech.com/xrefactory/more_c_completion.html
 	Ideas from the Vim 7 BOF at SANE:
-	- It's not possible to have one solution for all languages.  Design an
-	  interface for completion plugins.  The matches can be done in a
-	  Vim-script list.
 	- For interpreted languages, use the interpreter to obtain information.
 	  Should work for Java (Eclipse does this), Python, Tcl, etc.
 	  Richard Emberson mentioned working on an interface to Java.
 	- Check Readline for its completion interface.
 	- Use ctags for other languages.  Writing a file could trigger running
 	  ctags, merging the tags of the changed file.
-	"Visual Assist" http://www.wholetomato.com/products:
 	Completion in .NET framework SharpDevelop: http://www.icsharpcode.net
 
         - Pre-expand abbreviations, show which abbrevs would match?
-    - Provide a function to popup the menu, so that an insert mode mapping can
-      start it (with a specific selection).
 
 -   UNDO TREE: keep all states of the text, don't delete undo info.
     When making a change, instead of clearing any future undo (thus redo)
@@ -259,24 +249,6 @@
     before some time/date can be flushed. 'undopersist' gives maximum time to
     keep undo: "3h", "1d", "2w", "1y", etc.  For the file use dot and
     extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
-7   Support WINDOW TABS.  Works like several pages, each with their own
-    split windows.
-    In Emacs these are called frames.  Could also call them "pages".
-    Use the name of the first buffer in the tab (ignoring the help window,
-    unless it's the only one).  Add a number for the window count.
-    First make it work on the console.  Use a line of text with highlighting.
-    Then add GUI Tabs for some systems.
-    Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
-    Simple patch for GTK by Luis M (nov 7).
-    Don't forget to provide an "X" to close the current tab.
-    Implementation: keep the list of windows as-is.  When switching to another
-    tab make the buffers in the current windows hidden, save the window
-    layout, buildup the other window layout and fill with buffers.
-    Need to be able to search the windows in inactive tabs, e.g. for the
-    quickfix window.
-    Use "1gt" - "99gt" to switch to a tab?
-    Also hidden tabs? Useful for messing with a temp buffer without changing
-    the window layout.
 -   EMBEDDING: Make it possible to run Vim inside a window of another program.
     For Xwindows this can be done with XReparentWindow().
     For GTK Neil Bird has a patch to use Vim like a widget.
@@ -431,7 +403,7 @@
     7   Completion of network shares, patch by Yasuhiro Matsumoto.
 	Update 2004 Sep 6.
 	How does this work?  Missing comments.
-	gettext()	Translate a message.  (Patch from Yasuhiro Matsumoto)
+    -	gettext()	Translate a message.  (Patch from Yasuhiro Matsumoto)
 			Update 2004 Sep 10
 			Another patch from Edward L. Fox (2005 Nov 24)
 			Search in 'runtimepath'?
@@ -2085,6 +2057,9 @@
 
 
 Tags:
+7   Can CTRL-] (jump to tag) include a following "." and "->" to restrict the
+    number of possible matches? Check tags file for an item that has members.
+    (Flemming Madsen)
 7   Count before CTRL-]: jump to N'th match
 8   Scope arguments for ":tag", e.g.: ":tag class:cPage open", like Elvis.
 8   When output of ":tselect" is long, getting the more-prompt, should be able
@@ -3288,6 +3263,13 @@
 
 
 Various improvements:
+7   Add plugins for formatting?  Should be able to make a choice depending on
+    the language of a file (English/Korean/Japanese/etc.).
+    Setting the 'langformat' option to "chinese" would load the
+    "format/chinese.vim" plugin.
+    The plugin would set 'formatexpr' and define the function being called.
+    Edward L. Fox explains how it should be done for most Asian languages.
+    (2005 Nov 24)
 7   [t to move to previous xml/html tag (like "vatov"), ]t to move to next
     ("vatv").
 7   [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to
@@ -3419,9 +3401,6 @@
     paragraph.	Both start a new paragraph on any indent change.
 7   Add a way to define an item list with a pattern in 'formatoptions'.  The
     'n' flag doesn't work for "6.3" or "6a.".
-8   Add 'formatexpr' option: Used for formatting operator "gq" instead of the
-    builtin formatting or 'formatprg'.  Or use a string that starts with "="
-    in 'formatprg': "=MyFormat()".
 8   Allow using a trailing space to signal a paragraph that continues on the
     next line (MIME text/plain; format=flowed, RFC 2646).  Can be used for
     continuous formatting.  Could use 'autoformat' option, which specifies a
