updated for version 7.0226
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6d2aed0..1948927 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 Mar 15
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -41,40 +41,25 @@
 - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
   (Alan Schmitt)
 
-
-CONSIDERED FOR VERSION 7.0:
-
--   EMBEDDING: Make it possible to run Vim inside a window of another program.
-    For GTK Neil Bird has a patch to use Vim like a widget.
-
-7   Make ":startinsert" command work directly for functions and scripts?
-
--   When using 'incsearch" CTRL-R CTRL-W gets the word under the cursor, but
-    the part that already matched is doubled then.  Remove the part of the
-    word that would be doubled.  Make it work line CTRL-N in Insert mode.
--   "onemore" flag in 'virtualedit': move cursor past end of line.  Patch by
-    Mattias Flodin (2004 Jul 30)
--   In a :s command multi-byte characters should also be upper/lower cased
-    with \u, \U, etc.
-
--   Adjust src/main.aap for installing manpages like in Makefile.
-    And for generating Vim.app for the Mac.
-    Install spell files with src/main.aap.
-
--   Add command to search for illegal utf-8 byte sequence.
-
-Add strtol() to avoid the problems with leading zero causing octal conversion.
-
-Updated Ruby interface. (Ryan Paul)
-
-Add a 'tool' window: behaves like a preview window but there can be several.
-Don't count it in only_one_window(). (Alexei Alexandrov)
+EMBEDDING: Make it possible to run Vim inside a window of another program.
+For GTK Neil Bird has a patch to use Vim like a widget.
 
 Win32: Patch for Korean IME. (Yusung, 2005 March 21)
 
 Support ":set syntax=cpp.doxygen"?  Suggested patch by Michael Geddes (9 Aug
 2004).  Should also work for 'filetype'.
 
+Add command to search for illegal utf-8 byte sequence.
+
+Add strtol() to avoid the problems with leading zero causing octal conversion.
+
+Add a 'tool' window: behaves like a preview window but there can be several.
+Don't count it in only_one_window(). (Alexei Alexandrov)
+
+Adjust src/main.aap for installing manpages like in Makefile.
+    And for generating Vim.app for the Mac.
+    Install spell files with src/main.aap.
+
 Win32: In the generated batch files, use $VIMRUNTIME if it's set.  Examples by
 Mathias Michaelis (2004 Sep 6)
 Also place vimtutor.bat in %windir%?
@@ -105,8 +90,12 @@
 
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
+Add text in user manual for using the undo tree.  Example with finding the
+text of a previous change.
+
 
 Awaiting updated patches:
+7   Updated Ruby interface. (Ryan Paul)
 8   Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
     Aric Blumer has a patch for this.
     He will update the patch for 6.3.
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index a22e821..9a36fc6 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 15
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -30,6 +30,7 @@
 Translated manual pages			|new-manpage-trans|
 Internal grep				|new-vimgrep|
 Scroll back in messages			|new-scroll-back|
+Cursor past end of the line		|new-onemore|
 POSIX compatibility			|new-posix|
 Debugger support			|new-debug-support|
 Remote file explorer			|new-netrw-explore|
@@ -269,11 +270,11 @@
 
 Previously there was only one line of undo-redo.  If, after undoing a number
 of changes, a new change was made all the undone changes were lost.  This
-could lead to accidentally losing text.
+could lead to accidentally losing work.
 
 Vim now makes an undo branch in this situation.  Thus you can go back to the
 text after any change, even if they were undone.  So long as you do not run
-into 'undolevels', undo information is freed up to limit the memory use.
+into 'undolevels', undo information is freed up to limit the memory used.
 
 To be able to navigate the undo branches each change is numbered sequentially.
 The commands |g-| and |:earlier| go back in time, to older changes.  The
@@ -282,6 +283,10 @@
 The changes are also timestamped.  Use ":earlier 10m" to go to the text as it
 was about ten minutes earlier.
 
+The |:undolist| command can be used to get an idea of which undo branches
+exist.  The |:undo| command now takes an argument to directly jump to a
+specific position in this list.
+
 There is no graphical display of the tree with changes, navigation can be
 quite confusing.
 
@@ -378,6 +383,19 @@
 hit <Enter> at the |hit-enter-prompt|.  Then you can scroll further back.
 
 
+Cursor past end of the line				*new-onemore*
+---------------------------
+
+When the 'virtualedit' option contains "onemore" the cursor can move just past
+the end of the line.  As if it's on top of the line break.
+
+This makes some commands more consistent.  Previously the cursor was always
+past the end of the line if the line was empty.  But it is far from Vi
+compatible.  It may also break some plugins or Vim scripts.  Use with care!
+
+The patch was provided by Mattias Flodin.
+
+
 POSIX compatibility					*new-posix*
 -------------------
 
@@ -874,6 +892,10 @@
 Undo now also restores the '< and '> marks.  "gv" selects the same area as
 before the change and undo.
 
+When editing a search pattern for a "/" or "?" command and 'incsearch' is set
+CTRL-L can be used to add a character from the current match.  CTRL-R CTRL-W
+will add a word, but exclude the part of the word that was already typed.
+
 ==============================================================================
 IMPROVEMENTS						*improvements-7*
 
@@ -1051,6 +1073,9 @@
 To count items (pattern matches) without changing the buffer the 'n' flag has
 been added to |:substitute|.  See |count-items|.
 
+In a |:substitute| command the \u, \U, \l and \L items now also work for
+multi-byte characters.
+
 The "screen.linux" $TERM name is recognized to set the default for
 'background' to "dark". (Ciaran McCreesh)  Also for "cygwin" and "putty".
 
@@ -1189,8 +1214,8 @@
 
 When 'statusline' is set to something that causes an error message then it is
 made empty to avoid an endless redraw loop.  Also for other options, such at
-'tabline'.  ":verbose set statusline" will mention that it was set in an error
-handler.
+'tabline' and 'titlestring'.  ":verbose set statusline" will mention that it
+was set in an error handler.
 
 When there are several matching tags, the ":tag <name>" and CTRL-] commands
 jump to the [count] matching tag. (Yegappan Lakshmanan)
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index a8d8a64..df183a3 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -948,9 +948,11 @@
 EX(CMD_tunmenu,		"tunmenu",	ex_menu,
 			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
 EX(CMD_undo,		"undo",		ex_undo,
-			TRLBAR|CMDWIN),
+			RANGE|NOTADR|COUNT|TRLBAR|CMDWIN),
 EX(CMD_undojoin,	"undojoin",	ex_undojoin,
 			TRLBAR|CMDWIN),
+EX(CMD_undolist,	"undolist",	ex_undolist,
+			TRLBAR|CMDWIN),
 EX(CMD_unabbreviate,	"unabbreviate",	ex_abbreviate,
 			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
 EX(CMD_unhide,		"unhide",	ex_buffer_all,