updated for version 7.0223
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"));