diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index acb98bd..366a137 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 12
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,8 +30,12 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-
-Turn spelling into a separate feature?  May require syn-hl.
+-   UNDO TREE:
+    Make proper test for "g+" and "g-"
+    Verify there are no memory leaks.
+    Docs for "g+" and "g-", note in version7.txt
+    Command to jump so many seconds forward/backward?
+    Show the list of changes in a window to be able to select a version?
 
 Win32: Describe how to do debugging. (George Reilly)
 
@@ -51,22 +55,6 @@
 
 CONSIDERED FOR VERSION 7.0:
 
--   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)
-    info, make a new branch.
-    To navigate through the undo tree number the states of the text
-    sequentially and make it possible to go through the tree in that order.
-    Use "g+++" to go forward, "g---" to go backward.  Can mix - and +.
-    Could also use timestamps (to show the time and/or jump to a state five
-    minutes ago). (David Schweikert)
-    To go from one state to another: backtrack to a common state, then forward
-    again.
-    Only difficult thing: When going back in time, how to find the previous
-    text state in the tree?
-    Show the list of changes in a window to be able to select a version?
-    Also: See ":e" as a change operation, find the changes and add them to the
-    undo info.  Needed for when an external tool changes the file.
-
 -   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.
@@ -98,6 +86,8 @@
 
 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)
 
@@ -125,8 +115,6 @@
 
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
-Updated Ruby interface. (Ryan Paul)
-
 'errorformat' docs are a bit unclear.  Suggestions by Charles Campbell (2006
 Jan 6)
 Add a flag to check for a match with the next item first?  Helps for
@@ -2780,6 +2768,8 @@
     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").
+8   See ":e" as a change operation, find the changes and add them to the
+    undo info.  Needed for when an external tool changes the file.
 -   Make it possible to undo all the commands from a mapping, including a
     trailing unfinished command, e.g. for ":map K iX^[r".
 -   When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
@@ -2804,9 +2794,6 @@
     [-99].
 -   With undo with simple line delete/insert: optimize screen updating.
 -   When executing macro's: Save each line for undo only once.
--   Store undo info in a file that survives until the next edit.  Then it's
-    possible to undo to before the current editing session.  Combined with
-    viminfo?
 -   When doing a global substitute, causing almost all lines to be changed,
     undo info becomes very big.  Put undo info in swap file??
 
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index dce13bb..0e74534 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 12
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -257,6 +257,9 @@
 The |:tab| command modifier can be used to have most commands that open a new
 window open a new tab instead.
 
+The |--remote-tab| argument can be used to edit a file in a new tab page in an
+already running Vim server.
+
 More info here: |tabpage|
 
 
diff --git a/runtime/syntax/wsml.vim b/runtime/syntax/wsml.vim
new file mode 100644
index 0000000..9dc7f95
--- /dev/null
+++ b/runtime/syntax/wsml.vim
@@ -0,0 +1,125 @@
+" Vim syntax file
+" Language:     WSML
+" Maintainer:   Thomas Haselwanter <thomas.haselwanter@deri.org>
+" URL:		none
+" Last Change:  2006 Mar 13
+
+" Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" WSML
+syn keyword wsmlHeader		wsmlVariant
+syn keyword wsmlNamespace	namespace 
+syn keyword wsmlTopLevel	concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology 
+syn keyword wsmlOntology	hasValue memberOf ofType impliesType subConceptOf 
+syn keyword wsmlAxiom		axiom definedBy
+syn keyword wsmlService		assumption effect postcondition precondition capability interface
+syn keyword wsmlTopLevel	ooMediator wwMediator wgMediator ggMediator
+syn keyword wsmlMediation	usesService source target
+syn match wsmlDataTypes	        "\( _string\| _decimal\| _integer\| _float\| _double\| _iri\| _sqname\| _boolean\| _duration\| _dateTime\| _time\| _date\| _gyearmonth\| _gyear\| _gmonthday\| _gday\| _gmonth\| _hexbinary\| _base64binary\)\((\S*)\)\?" contains=wsmlString,wsmlNumber,wsmlCharacter
+syn keyword wsmlTopLevel	goal webService ontology
+syn keyword wsmlKeywordsInsideLEs	true false memberOf hasValue subConceptOf ofType impliesType and or implies impliedBy equivalent neg naf forall exists
+syn keyword wsmlNFP		nfp endnfp nonFunctionalProperties endNonFunctionalProperties
+syn region wsmlNFPregion	start="nfp\|nonFunctionalProperties" end="endnfp\|endNonFunctionalProperties" contains=ALL
+syn region wsmlNamespace	start="namespace" end="}" contains=wsmlIdentifier
+syn match wsmlOperator		"!=\|:=:\|=<\|>=\|=\|+\|\*\|/\|<->\|->\|<-\|:-\|!-\|-\|<\|>"
+syn match wsmlBrace		"(\|)\|\[\|\]\|{\|}"
+syn match wsmlIdentifier	+_"\S*"+
+syn match wsmlIdentifier	"_#\d*"
+syn match wsmlSqName		"[0-9A-Za-z]\+#[0-9A-Za-z]\+"
+syn match wsmlVariable		"?[0-9A-Za-z]\+"
+
+" ASM-specific code
+syn keyword wsmlBehavioral	choreography orchestration transitionRules
+syn keyword wsmlChoreographyPri	stateSignature in out shared static controlled 
+syn keyword wsmlChoreographySec with do withGrounding forall endForall choose if then endIf
+syn match wsmlChoreographyTer   "\(\s\|\_^\)\(add\|delete\|update\)\s*(.*)" contains=wsmlKeywordsInsideLEs,wsmlIdentifier,wsmlSqName,wsmlString,wsmlNumber,wsmlDataTypes,wsmlVariable
+
+" Comments
+syn keyword wsmlTodo		 contained TODO
+syn keyword wsmlFixMe		 contained FIXME
+if exists("wsml_comment_strings")
+  syn region  wsmlCommentString    contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=wsmlSpecial,wsmlCommentStar,wsmlSpecialChar,@Spell
+  syn region  wsmlComment2String   contained start=+"+  end=+$\|"+  contains=wsmlSpecial,wsmlSpecialChar,@Spell
+  syn match   wsmlCommentCharacter contained "'\\[^']\{1,6\}'" contains=wsmlSpecialChar
+  syn match   wsmlCommentCharacter contained "'\\''" contains=wsmlSpecialChar
+  syn match   wsmlCommentCharacter contained "'[^\\]'"
+  syn cluster wsmlCommentSpecial add=wsmlCommentString,wsmlCommentCharacter,wsmlNumber
+  syn cluster wsmlCommentSpecial2 add=wsmlComment2String,wsmlCommentCharacter,wsmlNumber
+endif
+
+syn region  wsmlComment		 start="/\*"  end="\*/" contains=@wsmlCommentSpecial,wsmlTodo,wsmlFixMe,@Spell
+syn match   wsmlCommentStar      contained "^\s*\*[^/]"me=e-1
+syn match   wsmlCommentStar      contained "^\s*\*$"
+syn match   wsmlLineComment      "//.*" contains=@wsmlCommentSpecial2,wsmlTodo,@Spell
+
+syn cluster wsmlTop add=wsmlComment,wsmlLineComment
+
+"match the special comment /**/
+syn match   wsmlComment		 "/\*\*/"
+
+" Strings
+syn region  wsmlString		start=+"+ end=+"+ contains=wsmlSpecialChar,wsmlSpecialError,@Spell
+syn match   wsmlCharacter	 "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
+syn match   wsmlCharacter	 "'\\''" contains=javaSpecialChar
+syn match   wsmlCharacter	 "'[^\\]'"
+syn match   wsmlNumber		 "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match   wsmlNumber		 "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match   wsmlNumber		 "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match   wsmlNumber		 "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" unicode characters
+syn match   wsmlSpecial "\\u\d\{4\}"
+
+syn cluster wsmlTop add=wsmlString,wsmlCharacter,wsmlNumber,wsmlSpecial,wsmlStringError
+
+" Define the default highlighting.
+" " For version 5.7 and earlier: only when not done already
+" " For version 5.8 and later: only when an item doesn't have highlighting yet
+ if version >= 508 || !exists("did_wsml_syn_inits")
+   if version < 508
+       let did_wsml_syn_inits = 1
+       command -nargs=+ HiLink hi link <args>
+   else
+       command -nargs=+ HiLink hi def link <args>
+   endif              
+   HiLink wsmlHeader			TypeDef
+   HiLink wsmlNamespace			TypeDef
+   HiLink wsmlOntology			Statement
+   HiLink wsmlAxiom			TypeDef
+   HiLink wsmlService			TypeDef
+   HiLink wsmlNFP			TypeDef
+   HiLink wsmlTopLevel			TypeDef
+   HiLink wsmlMediation			TypeDef 
+   HiLink wsmlBehavioral		TypeDef
+   HiLink wsmlChoreographyPri		TypeDef
+   HiLink wsmlChoreographySec		Operator
+   HiLink wsmlChoreographyTer		Special
+   HiLink wsmlString			String
+   HiLink wsmlIdentifier		Normal 
+   HiLink wsmlSqName                     Normal
+   HiLink wsmlVariable			Define
+   HiLink wsmlKeywordsInsideLEs		Operator
+   HiLink wsmlOperator			Operator
+   HiLink wsmlBrace			Operator
+   HiLink wsmlCharacter			Character
+   HiLink wsmlNumber			Number
+   HiLink wsmlDataTypes			Special
+   HiLink wsmlComment			Comment
+   HiLink wsmlDocComment		Comment
+   HiLink wsmlLineComment		Comment
+   HiLink wsmlTodo			Todo
+   HiLink wsmlFixMe			Error
+   HiLink wsmlCommentTitle		SpecialComment
+   HiLink wsmlCommentStar		wsmlComment
+ endif
+
+delcommand HiLink
+
+let b:current_syntax = "wsml"
+let b:spell_options="contained"
+
diff --git a/src/main.c b/src/main.c
index 50901ce..ca8de17 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2920,6 +2920,9 @@
     main_msg(_("--remote-silent <files>  Same, don't complain if there is no server"));
     main_msg(_("--remote-wait <files>  As --remote but wait for files to have been edited"));
     main_msg(_("--remote-wait-silent <files>  Same, don't complain if there is no server"));
+# ifdef FEAT_WINDOWS
+    main_msg(_("--remote-tab <files>  As --remote but open tab page for each file"));
+# endif
     main_msg(_("--remote-send <keys>\tSend <keys> to a Vim server and exit"));
     main_msg(_("--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"));
     main_msg(_("--serverlist\t\tList available Vim server names and exit"));
