updated for version 7.0050
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index ac689b6..766bcb0 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0aa.  Last change: 2005 Jan 14
+*change.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -52,6 +52,8 @@
 			of the line and [count]-1 more lines [into register
 			x]; synonym for "d$".
 			(not |linewise|)
+			When the '#' flag is in 'cpoptions' the count is
+			ignored.
 
 {Visual}["x]x	or					*v_x* *v_d* *v_<Del>*
 {Visual}["x]d   or
@@ -1017,7 +1019,8 @@
 4. Named registers "a to "z or "A to "Z			*quote_alpha* *quotea*
 Vim fills these registers only when you say so.  Specify them as lowercase
 letters to replace their previous contents or as uppercase letters to append
-to their previous contents.
+to their previous contents.  When the '>' flag is present in 'cpoptions' then
+a line break is inserted before the appended text.
 
 5. Read-only registers ":, "., "% and "#
 These are '%', '#', ':' and '.'.  You can use them only with the "p", "P",
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 450408c..736ab79 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 07
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1899,7 +1899,7 @@
 		If {col} is zero, the cursor will stay in the current column.
 
 
-deepcopy({expr})					*deepcopy()* *E698*
+deepcopy({expr}[, {noref}])				*deepcopy()* *E698*
 		Make a copy of {expr}.  For Numbers and Strings this isn't
 		different from using {expr} directly.
 		When {expr} is a List a full copy is created.  This means
@@ -1907,10 +1907,15 @@
 		copy, and vise versa.  When an item is a List, a copy for it
 		is made, recursively.  Thus changing an item in the copy does
 		not change the contents of the original List.
+		When {noref} is omitted or zero a contained List or Dictionary
+		is only copied once.  All references point to this single
+		copy.  With {noref} set to 1 every occurrence of a List or
+		Dictionary results in a new copy.  This also means that a
+		cyclic reference causes deepcopy() to fail.
 								*E724*
 		Nesting is possible up to 100 levels.  When there is an item
-		that refers back to a higher level making a deep copy will
-		fail.
+		that refers back to a higher level making a deep copy with
+		{noref} set to 1 will fail.
 		Also see |copy()|.
 
 delete({fname})							*delete()*
@@ -4399,8 +4404,9 @@
 The name before the first colon must be at least two characters long,
 otherwise it looks like a scope, such as "s:".
 
-Note that the script will be sourced again and again if a function is called
-that looks like it is defined in the autoload script but it isn't.
+Note that when you make a mistake and call a function that is supposed to be
+defined in an autoload script, but the script doesn't actually define the
+function, the script will be sourced every time you try to call the function.
 
 ==============================================================================
 6. Curly braces names					*curly-braces-names*
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 74b68e1..fad968f 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Jan 26
+*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -922,6 +922,9 @@
 							*I*
 I			Insert text before the first non-blank in the line
 			[count] times.
+			When the 'H' flag is present in 'cpoptions' and the
+			line only contains blanks, insert start just before
+			the last blank.
 
 							*gI*
 gI			Insert text in column 1 [count] times.  {not in Vi}
@@ -941,11 +944,15 @@
 o			Begin a new line below the cursor and insert text,
 			repeat [count] times.  {Vi: blank [count] screen
 			lines}
+			When the '#' flag is in 'cpoptions' the count is
+			ignored.
 
 							*O*
 O			Begin a new line above the cursor and insert text,
 			repeat [count] times.  {Vi: blank [count] screen
 			lines}
+			When the '#' flag is in 'cpoptions' the count is
+			ignored.
 
 These commands are used to start inserting text.  You can end insert mode with
 <Esc>.  See |mode-ins-repl| for the other special characters in Insert mode.
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index daaa602..cfc318b 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 07
+*motion.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -465,9 +465,12 @@
 paragraph macros, specified by the pairs of characters in the 'paragraphs'
 option.  The default is "IPLPPPQPP LIpplpipbp", which corresponds to the
 macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in the
-first column).  A section boundary is also a paragraph boundary.  Note that
-this does not include a '{' or '}' in the first column.  Also note that a
-blank line (only containing white space) is NOT a paragraph boundary.
+first column).  A section boundary is also a paragraph boundary.
+Note that a blank line (only containing white space) is NOT a paragraph
+boundary.
+Also note that this does not include a '{' or '}' in the first column.  When
+the '{' flag is in 'cpoptions' then '{' in the first column is used as a
+paragraph boundary |posix|.
 
 							*section*
 A section begins after a form-feed (<C-L>) in the first column and at each of
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e1c6f5a..25558d6 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 07
+*options.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1640,6 +1640,10 @@
 	"+=" and "-=" feature of ":set" |add-option-flags|.
 	NOTE: This option is set to the Vi default value when 'compatible' is
 	set and to the Vim default value when 'compatible' is reset.
+	NOTE: This option is set to the POSIX default value at startup when
+	the Vi default value would be used and the $VIM_POSIX environment
+	variable exists |posix|.  This means tries to behave like the POSIX
+	specification.
 
 	    contains	behavior	~
 								*cpo-a*
@@ -1708,6 +1712,10 @@
 			yet.
 								*cpo-g*
 		g	Goto line 1 when using ":edit" without argument.
+								*cpo-H*
+		H	When using "I" on a line with only blanks, insert
+			before the last blank.  Without this flag insert after
+			the last blank.
 								*cpo-i*
 		i	When included, interrupting the reading of a file will
 			leave it modified.
@@ -1768,6 +1776,9 @@
 								*cpo-p*
 		p	Vi compatible Lisp indenting.  When not present, a
 			slightly better algorithm is used.
+								*cpo-q*
+		q	When joining multiple lines leave the cursor at the
+			position where it would be when joining two lines.
 								*cpo-r*
 		r	Redo ("." command) uses "/" to repeat a search
 			command, instead of the actually used search string.
@@ -1816,8 +1827,15 @@
 		x	<Esc> on the command-line executes the command-line.
 			The default in Vim is to abandon the command-line,
 			because <Esc> normally aborts a command.  |c_<Esc>|
+								*cpo-X*
+		X	When using a count with "R" the replaced text is
+			deleted only once.  Also when repeating "R" with "."
+			and a count.
 								*cpo-y*
 		y	A yank command can be redone with ".".
+								*cpo-Z*
+		Z	When using "w!" while the 'readonly' option is set,
+			don't reset 'readonly'.
 								*cpo-!*
 		!	When redoing a filter command, use the last used
 			external command, whatever it was.  Otherwise the last
@@ -1856,7 +1874,7 @@
 		+	When included, a ":write file" command will reset the
 			'modified' flag of the buffer, even though the buffer
 			itself may still be different from its file.
-			 					cpo-star*
+			 					*cpo-star*
 		*	Use ":*" in the same way as ":@".  When not included,
 			":*" is an alias for ":'<,'>", select the Visual area.
 								*cpo-<*
@@ -1867,6 +1885,28 @@
 				'<' included:	"<Tab>"  (5 characters)
 				'<' excluded:	"^I"	 (^I is a real <Tab>)
 			Also see the 'k' flag above.
+								*cpo->*
+		>	When appending to a register, put a line break before
+			the appended text.
+
+	POSIX flags.  These are not included in the Vi default value, except
+	when $VIM_POSIX was set on startup. |posix|
+
+	    contains	behavior	~
+			 					*cpo-#*
+		#	A count before "D", "o" and "O" has no effect.
+								*cpo-{*
+		{	The |{| and |}| commands also stop at a "{" character
+			at the start of a line.
+								*cpo-bar*
+		|	The value of the $LINES and $COLUMNS environment
+			variables overrule the terminal size values obtained
+			with system specific functions.
+								*cpo-&*
+		&	When ":preserve" was used keep the swap file when
+			exiting normally while this buffer is still loaded.
+			This flag is tested when exiting.
+
 
 						*'cscopepathcomp'* *'cspc'*
 'cscopepathcomp' 'cspc'	number	(default 0)
@@ -4684,9 +4724,10 @@
 	If on, writes fail unless you use a '!'.  Protects you from
 	accidentally overwriting a file.  Default on when Vim is started
 	in read-only mode ("vim -R") or when the executable is called "view".
+	When using ":w!" the 'readonly' option is reset for the current
+	buffer, unless the 'Z' flag is in 'cpoptions'.
 	{not in Vi:}  When using the ":view" command the 'readonly' option is
-	set for the newly edited buffer.  When using ":w!" the 'readonly'
-	option is reset for the current buffer.
+	set for the newly edited buffer.
 
 						*'remap'* *'noremap'*
 'remap'			boolean	(default on)
@@ -4835,6 +4876,7 @@
 	files:
 	  filetype.vim	filetypes by file name |new-filetype|
 	  scripts.vim	filetypes by file contents |new-filetype-scripts|
+	  autoload/	automatically loaded scripts |autoload-functions|
 	  colors/	color scheme files |:colorscheme|
 	  compiler/	compiler files |:compiler|
 	  doc/		documentation |write-local-help|
@@ -6741,6 +6783,20 @@
 	This option is not used for <F10>; on Win32 and with GTK <F10> will
 	select the menu, unless it has been mapped.
 
+						*'window'* *'wi'*
+'window' 'wi'		number  (default screen height - 1)
+			global
+	Window height.  Do not confuse this with the height of the Vim window,
+	use 'lines' for that.
+	Used for |CTRL-F| and |CTRL-B| when the value is smaller than 'lines'
+	minus one.  The screen will scroll 'window' minus two lines, with a
+	minimum of one.
+	When 'window' is equal to 'lines' minus one CTRL-F and CTRL-B scroll
+	in a much smarter way, taking care of wrapping lines.
+	When resizing the Vim window, the value is smaller than 1 or more than
+	or equal to 'lines' it will be set to 'lines' minus 1.
+	{Vi also uses the option to specify the number of displayed lines}
+
 						*'winheight'* *'wh'* *E591*
 'winheight' 'wh'	number	(default 1)
 			global
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 6913be2..ffd1509 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt*   For Vim version 7.0aa.  Last change: 2004 Jun 16
+*recover.txt*   For Vim version 7.0aa.  Last change: 2005 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -116,8 +116,12 @@
 
 					*:pre* *:preserve* *E313* *E314*
 :pre[serve]		Write all text for all buffers into swap file.  The
-			original file is no longer needed for recovery.  {Vi:
-			emergency exit}
+			original file is no longer needed for recovery.
+			This sets a flag in the current buffer.  When the '&'
+			flag is present in 'cpoptions' the swap file will not
+			be deleted for this buffer when Vim exits and the
+			buffer is still loaded |cpo-&|.
+			{Vi: might also exit}
 
 A Vim swap file can be recognized by the first six characters: "b0VIM ".
 After that comes the version number, e.g., "3.0".
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index 288552d..2627533 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 7.0aa.  Last change: 2004 Jun 08
+*scroll.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -52,6 +52,8 @@
 <PageDown>	or				*<PageDown>* *CTRL-F*
 CTRL-F			Scroll window [count] pages Forwards (downwards) in
 			the buffer.  See also 'startofline' option.
+			When there is only one window the 'window' option
+			might be used.
 
 							*z+*
 z+			Without [count]: Redraw with the line just below the
@@ -89,6 +91,8 @@
 <PageUp>	or					*<PageUp>* *CTRL-B*
 CTRL-B			Scroll window [count] pages Backwards (upwards) in the
 			buffer.  See also 'startofline' option.
+			When there is only one window the 'window' option
+			might be used.
 
 							*z^*
 z^			Without [count]: Redraw with the line just above the
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 49b424a..46a5e0b 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 25
+*starting.txt*  For Vim version 7.0aa.  Last change: 2005 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -469,22 +469,23 @@
 		started in Ex mode, see |-s-ex|.  See also |complex-repeat|.
 		{not in Vi}
 
+							*-w_nr*
+-w {number}
+-w{number}	Set the 'window' option to {number}.
+
 							*-w*
 -w {scriptout}	All the characters that you type are recorded in the file
 		"scriptout", until you exit Vim.  This is useful if you want
 		to create a script file to be used with "vim -s" or
 		":source!".  When the "scriptout" file already exists, new
 		characters are appended.  See also |complex-repeat|.
+		{scriptout} cannot start with a digit.
 		{not in Vi}
 
 							*-W*
 -W {scriptout}	Like -w, but do not append, overwrite an existing file.
 		{not in Vi}
 
-							*-w_nr*
--w{number}	Does nothing.  This was included for Vi-compatibility.  In Vi
-		it sets the 'window' option, which is not implemented in Vim.
-
 --remote [+{cmd}] {file} ...
 		Open the {file} in another Vim that functions as a server.
 		Any non-file arguments must come before this.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 30611f8..bc1e9ef 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -943,7 +943,7 @@
 'wfh'	options.txt	/*'wfh'*
 'wh'	options.txt	/*'wh'*
 'whichwrap'	options.txt	/*'whichwrap'*
-'wi'	vi_diff.txt	/*'wi'*
+'wi'	options.txt	/*'wi'*
 'wig'	options.txt	/*'wig'*
 'wildchar'	options.txt	/*'wildchar'*
 'wildcharm'	options.txt	/*'wildcharm'*
@@ -953,7 +953,7 @@
 'wildoptions'	options.txt	/*'wildoptions'*
 'wim'	options.txt	/*'wim'*
 'winaltkeys'	options.txt	/*'winaltkeys'*
-'window'	vi_diff.txt	/*'window'*
+'window'	options.txt	/*'window'*
 'winfixheight'	options.txt	/*'winfixheight'*
 'winheight'	options.txt	/*'winheight'*
 'winminheight'	options.txt	/*'winminheight'*
@@ -4379,17 +4379,21 @@
 count1-variable	eval.txt	/*count1-variable*
 cp-default	version5.txt	/*cp-default*
 cpo-!	options.txt	/*cpo-!*
+cpo-#	options.txt	/*cpo-#*
 cpo-$	options.txt	/*cpo-$*
 cpo-%	options.txt	/*cpo-%*
+cpo-&	options.txt	/*cpo-&*
 cpo-+	options.txt	/*cpo-+*
 cpo--	options.txt	/*cpo--*
 cpo-<	options.txt	/*cpo-<*
+cpo->	options.txt	/*cpo->*
 cpo-A	options.txt	/*cpo-A*
 cpo-B	options.txt	/*cpo-B*
 cpo-C	options.txt	/*cpo-C*
 cpo-D	options.txt	/*cpo-D*
 cpo-E	options.txt	/*cpo-E*
 cpo-F	options.txt	/*cpo-F*
+cpo-H	options.txt	/*cpo-H*
 cpo-I	options.txt	/*cpo-I*
 cpo-J	options.txt	/*cpo-J*
 cpo-K	options.txt	/*cpo-K*
@@ -4399,8 +4403,10 @@
 cpo-R	options.txt	/*cpo-R*
 cpo-S	options.txt	/*cpo-S*
 cpo-W	options.txt	/*cpo-W*
+cpo-X	options.txt	/*cpo-X*
 cpo-a	options.txt	/*cpo-a*
 cpo-b	options.txt	/*cpo-b*
+cpo-bar	options.txt	/*cpo-bar*
 cpo-c	options.txt	/*cpo-c*
 cpo-d	options.txt	/*cpo-d*
 cpo-e	options.txt	/*cpo-e*
@@ -4414,14 +4420,17 @@
 cpo-n	options.txt	/*cpo-n*
 cpo-o	options.txt	/*cpo-o*
 cpo-p	options.txt	/*cpo-p*
+cpo-q	options.txt	/*cpo-q*
 cpo-r	options.txt	/*cpo-r*
 cpo-s	options.txt	/*cpo-s*
+cpo-star	options.txt	/*cpo-star*
 cpo-t	options.txt	/*cpo-t*
 cpo-u	options.txt	/*cpo-u*
 cpo-v	options.txt	/*cpo-v*
 cpo-w	options.txt	/*cpo-w*
 cpo-x	options.txt	/*cpo-x*
 cpo-y	options.txt	/*cpo-y*
+cpo-{	options.txt	/*cpo-{*
 crash-recovery	recover.txt	/*crash-recovery*
 creating-menus	gui.txt	/*creating-menus*
 credits	intro.txt	/*credits*
@@ -5693,6 +5702,7 @@
 new-options-5.4	version5.txt	/*new-options-5.4*
 new-perl-python	version5.txt	/*new-perl-python*
 new-plugins	version6.txt	/*new-plugins*
+new-posix	version7.txt	/*new-posix*
 new-print-multi-byte	version7.txt	/*new-print-multi-byte*
 new-printing	version6.txt	/*new-printing*
 new-runtime-dir	version5.txt	/*new-runtime-dir*
@@ -5837,6 +5847,7 @@
 popup-menu-added	version5.txt	/*popup-menu-added*
 ports-5.2	version5.txt	/*ports-5.2*
 ports-6	version6.txt	/*ports-6*
+posix	vi_diff.txt	/*posix*
 posix-compliance	vi_diff.txt	/*posix-compliance*
 posix-screen-size	vi_diff.txt	/*posix-screen-size*
 postscr-syntax	syntax.txt	/*postscr-syntax*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9497b67..85f2de6 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 Feb 07
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,15 +30,34 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Make list of user functions a hashtable.
+"norm! gQ" hangs.  Fixes in ex_getln.c and ex_docmd.c also in Vim 6.3?
+
+autoload:
+- Rename directory to from "autoload" to "library"?
+- Also autoload when reading a variable with a long:name that doesn't exist.
+- Example using short script with user command that triggers loading script
+  with functionality.
+- Remark about one script depending on another, recursively.
+- Catch recursive autoloading.
+- Add note in docs about HelpExtractor wrapper script.  Think about a good way
+  that the user doesn't need to run ":helptags" manually.
 
 POSIX compliance:
-- See ~/src/posix/TET//vsc/results/0015e/journal  test 130
-- "-w#" and "-w #" argument doesn't work.
+- vi test 310 fails; exit code non-zero when any error occurred?
+- vi test 33 fails for unknown reasons
+- ex test 24 fails because test is wrong?
+- ex test 29 fails because exit value is always 0.
+- ex tests 47, 48, 49 fail because .exrc file isn't read in silent mode and
+  $EXINIT isn't used.
+- ex test 57 fails, need to look into this.
+- check ex test output
+- report use of $LINES and $COLUMNS to austin maillist.
 
-Announce autoload functionality.
+Make list of user functions a hashtable.
 
-"norm! gQ" hangs.  Fixes in ex_getln.c and ex_docmd.c also in Vim 6.3?
+Docs for using "syntax/{filetype}/*.vim" syntax files.
+
+Include Mac unicode patch (Da Woon Jung).
 
 New Motif toolbar button from Marcin Dalecki:
 - When the mouse pointer is over an Agide button the red becomes black.
@@ -51,6 +70,13 @@
 -   Win32: tearoff menu window should have a scrollbar when it's taller than
     the screen.
 
+Patch from Yegappan Lakshmanan for redirecting of Ex commands (Feb 9 10:58):
+Look into how lval struct is kept for a long time.
+	:redir =>  variable
+	:redir =>> variable  (append)
+
+Improvements for Python indent script: Peter Wilson.
+
 
 PLANNED FOR VERSION 7.0:
 
@@ -229,6 +255,14 @@
     reltime(start) current time relative to [start]
 	echo timestring(reltime(start), 3)  (3 is nr of digits after dot)
     reltime(start, end) difference between start and end
+Real Profiling:
+    - :profile start /tmp/somefile  (append if exists)
+    - :profile pause
+    - :profile resume
+    - :profile stop
+    - per function line
+    - self, Vim and total time (incl system time)
+    - dump results in file on exit or when stopped.
 
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
@@ -2405,6 +2439,8 @@
 
 Text objects:
 8   Add test script for text object commands "aw", "iW", etc.
+8   Add text object for part of a CamelHumedWord and under_scored_word.
+    (Scott Graham)  "ac" and "au"?
 7   Add text object for current search pattern: "a/" and "i/".  Makes it
     possible to turn text highlighted for 'hlsearch' into a Visual area.
 8   Add "gp" and "gP" commands: insert text and make sure there is a single
@@ -3208,8 +3244,6 @@
 	:redir @r> register  (append)
 	:redir #>  bufname
 	:redir #>> bufname   (append)
-	:redir =>  variable
-	:redir =>> variable  (append)
 -   Give error message when starting :redir: twice or using END when no
     redirection was active.
 -   Setting of options, specifically for a buffer or window, with
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index f2ef2af..8ff6c39 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 7.0aa.  Last change: 2004 Jan 17
+*usr_03.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -13,7 +13,7 @@
 |03.1|	Word movement
 |03.2|	Moving to the start or end of a line
 |03.3|	Moving to a character
-|03.4|	Matching a paren
+|03.4|	Matching a parenthesis
 |03.5|	Moving to a specific line
 |03.6|	Telling where you are
 |03.7|	Scrolling around
@@ -145,7 +145,7 @@
 operations, not just searches.
 
 ==============================================================================
-*03.4*	Matching a paren
+*03.4*	Matching a parenthesis
 
 When writing a program you often end up with nested () constructs.  Then the
 "%" command is very handy: It moves to the matching paren.  If the cursor is
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index 2aa2b92..4659863 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 7.0aa.  Last change: 2004 Dec 29
+*usr_05.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -7,7 +7,7 @@
 
 Vim can be tuned to work like you want it to.  This chapter shows you how to
 make Vim start with options set to different values.  Add plugins to extend
-Vims capabilities.  Or define your own macros.
+Vim's capabilities.  Or define your own macros.
 
 |05.1|	The vimrc file
 |05.2|	The example vimrc file explained
@@ -251,8 +251,8 @@
 You better avoid that.
    One key that can be used with mappings is the backslash.  Since you
 probably want to define more than one mapping, add another character.  You
-could map "\p" to add parens around a word, and "\c" to add curly braces, for
-example: >
+could map "\p" to add parentheses around a word, and "\c" to add curly braces,
+for example: >
 
 	:map \p i(<Esc>ea)<Esc>
 	:map \c i{<Esc>ea}<Esc>
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 82d17b2..b7836ef 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt*	For Vim version 7.0aa.  Last change: 2004 Jun 26
+*usr_27.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -304,9 +304,9 @@
 because there is no reason to match more.  It requires something else to force
 it to match more than the lower limit.
    The same rules apply to removing "n" and "m".  It's even possible to remove
-both of the numbes, resulting in "\{-}".  This matches the item before it zero
-or more times, as few as possible.  The item by itself always matches zero
-times.  It is useful when combined with something else.  Example: >
+both of the numbers, resulting in "\{-}".  This matches the item before it
+zero or more times, as few as possible.  The item by itself always matches
+zero times.  It is useful when combined with something else.  Example: >
 
 	/a.\{-}b
 
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 74c74fd..638a158 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 07
+*usr_41.txt*	For Vim version 7.0aa.  Last change: 2005 Feb 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -1087,7 +1087,7 @@
    	
 	:let uk2nl = {'one': 'een', 'two': 'twee', 'three': 'drie'}
 
-Now you can lookup words by putting the key in square brakets: >
+Now you can lookup words by putting the key in square brackets: >
 
 	:echo uk2nl['two']
 <	twee ~
@@ -1185,7 +1185,7 @@
 
 The get() function checks if a key is present in a Dictionary.  If it is, then
 the value is retrieved.  If it isn't, then the default value is returned, in
-the example it's '???'.  This is a covenient way to handle situations where a
+the example it's '???'.  This is a convenient way to handle situations where a
 key may not be present and you don't want an error message.
 
 The join() function does the opposite of split(): it joins together a list of
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 0f79470..b940802 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.0aa.  Last change: 2005 Feb 07
+*various.txt*   For Vim version 7.0aa.  Last change: 2005 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -98,8 +98,9 @@
 :{range}z[+-^.=]{count}	Display several lines of text surrounding the line
 			specified with {range}, or around the current line
 			if there is no {range}.  If there is a {count}, that's
-			how many lines you'll see; otherwise, the current
-			window size is used.
+			how many lines you'll see; if there is only one window
+			then the 'window' option is used, otherwise the
+			current window size is used.
 
 			:z can be used either alone or followed by any of
 			several punctuation marks.  These have the following
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 49fae24..203204e 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 Feb 07
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -22,6 +22,7 @@
 KDE support				|new-KDE|
 Translated manual pages			|new-manpage-trans|
 Internal grep				|new-vimgrep|
+POSIX compatibility			|new-posix|
 Various new items			|new-items-7|
 
 IMPROVEMENTS				|improvements-7|
@@ -94,6 +95,9 @@
 Previously Vim would exit when there are two windows, both of them displaying
 a help file, and using ":quit".  Now only the window is closed.
 
+"-w {scriptout}" only works when {scriptout} doesn't start with a digit.
+Otherwise it's used to set the 'window' option.
+
 ==============================================================================
 NEW FEATURES						*new-7*
 
@@ -158,6 +162,31 @@
 |:vimgrep|.
 
 
+POSIX compatibility					*new-posix*
+-------------------
+
+The POSIX test suite was used to verify POSIX compatibility.  A number of
+problems have been fixed to make Vim more POSIX compatible.  Some of them
+conflict with traditional Vi or expected behavior.  The $VIM_POSIX environment
+variable can be set to get POSIX compatibility.  See |posix|.
+
+Items that were fixed for both Vi and POSIX compatibilty:
+- repeating "R" with a count only overwrites text once; added the 'X' flag to
+  'cpoptions' |cpo-X|
+- a vertical movement command that moves to a non-existing line fails; added
+  the '-' flag to 'cpoptions' |cpo--|
+- when preserving a file and doing ":q!" the file can be recovered; added the
+  '&' flag to 'cpoptions' |cpo-&|
+- The 'window' option is partly implemented.  It specifies how much CTRL-F and
+  CTRL-B scroll when there is one window.  The "-w {number}" argument is now
+  accepted.  "-w {scriptout}" only works when {scriptout} doesn't start with a
+  digit.
+- Allow "-c{command}" argument, no space between "-c" and {command}.
+- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in
+  'cpoptions'.
+
+
+
 Various new items					*new-items-7*
 -----------------
 
@@ -761,4 +790,27 @@
 the cursor in the last column, put the cursor in the last column again.  This
 is Vi compatible.
 
+Vim is not fully POSIX compliant but sticks with traditional Vi behavior.
+Added a few flags in 'cpoptions' to behave the POSIX way when wanted.  The
+$VIM_POSIX environment variable is checked to set the default.
+
+Appending to a register didn't insert a line break like Vi.  Added the '>'
+flag to 'cpoptions' for this.
+
+Using "I" in a line with only blanks appended to the line.  This is not Vi
+compatible.  Added the 'H' flag in 'coptions' for this.
+
+When joining multiple lines the cursor would be at the last joint, but Vi
+leaves it at the position where "J" would put it.  Added the 'q' flag in
+'cpoptions' for this.
+
+Autoindent didn't work for ":insert" and ":append".
+
+Using ":append" in an empty buffer kept the dummy line.  Now it's deleted to
+be Vi compatible.
+
+When reading commands from a file and stdout goes to a terminal, would still
+request the xterm version.  Vim can't read it, thus the output went to the
+shell and caused trouble there.
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index 3745b59..78993f0 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 7.0aa.  Last change: 2005 Feb 07
+*vi_diff.txt*   For Vim version 7.0aa.  Last change: 2005 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -50,7 +50,6 @@
 redraw			boolean	(default off)		*'redraw'*
 slowopen (slow)		boolean	(default off)		*'slowopen'* *'slow'*
 sourceany		boolean	(default off)		*'sourceany'*
-window (wi)		number	(default 23)		*'window'* *'wi'*
 w300			number	(default 23)		*'w300'*
 w1200			number	(default 23)		*'w1200'*
 w9600			number	(default 23)		*'w9600'*
@@ -883,19 +882,32 @@
 @{cmdfile}	Vile: use {cmdfile} as startup file.
 
 ==============================================================================
-7. POSIX compliance					*posix-compliance*
+7. POSIX compliance				*posix* *posix-compliance*
 
 In 2005 the POSIX test suite was run to check the compatiblity of Vim.  Most
-of the test was executed properly.  Here are the few things where Vim differs:
+of the test was executed properly.  There are the few things where Vim
+is not POSIX compliant.
 
-The -w{number} and -w {number} command line arguments are not supported by
-Vim.
+Set the $VIM_POSIX environment variable to have 'cpoptions' include the POSIX
+flags when Vim starts up.  This makes Vim run as POSIX as it can.  That's
+different from being Vi compatible.
+
+This is where Vim does not behave as POSIX specifies and why:
+
+	The -w{number} and -w {number} command line arguments are not
+	supported by Vim.
 							*posix-screen-size*
-The $COLUMNS and $LINES environment variables are ignored by Vim if the size
-can be obtained from the terminal in a more reliable way.  Set the $VIM_POSIX
-environment variable to have $COLUMNS and $LINES overrule sizes obtained in
-another way.
+	The $COLUMNS and $LINES environment variables are ignored by Vim if
+	the size can be obtained from the terminal in a more reliable way.
+	Add the '|' flag to 'cpoptions' to have $COLUMNS and $LINES overrule
+	sizes obtained in another way.
 
+	The "{" and "}" commands don't stop at a "{" in the original Vi, but
+	POSIX specifies it does.  Add the '{' flag to 'cpoptions' if you want
+	it the POSIX way.
+
+	The "D", "o" and "O" commands accept a count.  Also when repeated.
+	Add the '#' flag to 'cpoptions' if you want to ignore the count.
 
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/indent/python.vim b/runtime/indent/python.vim
index b5a0849..e0e8e71 100644
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -1,8 +1,8 @@
 " Vim indent file
-" Language:	Python
-" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Language:		Python
+" Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:	2004 Jul 25
+" Last Change:		2005 Feb 08
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
diff --git a/runtime/syntax/mail.vim b/runtime/syntax/mail.vim
index 6fc0afb..98034df 100644
--- a/runtime/syntax/mail.vim
+++ b/runtime/syntax/mail.vim
@@ -2,7 +2,7 @@
 " Language:		Mail file
 " Previous Maintainer:	Felix von Leitner <leitner@math.fu-berlin.de>
 " Maintainer:		Gautam Iyer <gautam@math.uchicago.edu>
-" Last Change:		Mon 23 Feb 2004 02:26:16 PM CST
+" Last Change:		Thu 10 Feb 2005 09:46:26 AM CST
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -38,8 +38,8 @@
 " Anything in the header between < and > is an email address
 syn match	mailHeaderEmail	contained "<.\{-}>"
 
-" Mail Signatures. (Begin with "--", end with change in quote level)
-syn region	mailSignature	keepend contains=@mailLinks,@mailQuoteExps start="^\z(\(> \?\)*\)-- *$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1
+" Mail Signatures. (Begin with "-- ", end with change in quote level)
+syn region	mailSignature	keepend contains=@mailLinks,@mailQuoteExps start="^\z(\(> \?\)*\)-- $" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1
 
 " URLs start with a known protocol or www,web,w3.
 syn match mailURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' 	<>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' 	<>"]+)[a-z0-9/]`
diff --git a/runtime/syntax/synload.vim b/runtime/syntax/synload.vim
index 652cdba..3e54b69 100644
--- a/runtime/syntax/synload.vim
+++ b/runtime/syntax/synload.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2004 Aug 28
+" Last Change:	2005 Feb 08
 
 " This file sets up for syntax highlighting.
 " It is loaded from "syntax.vim" and "manual.vim".
@@ -50,7 +50,7 @@
 
   if s != ""
     " Load the syntax file(s)
-    exe "runtime! syntax/" . s . ".vim"
+    exe "runtime! syntax/" . s . ".vim syntax/" . s . "/*.vim"
   endif
 endfun
 
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 60373bf..e09b21b 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	January 31, 2005
-" Version:	7.0-03
+" Last Change:	February 09, 2005
+" Version:	7.0-04
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -16,7 +16,7 @@
 syn cluster vimCommentGroup	contains=vimTodo
 
 " regular vim commands {{{2
-syn keyword vimCommand contained	ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] sandbox sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] sf[ind] sfir[st sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] so[urce] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] winpos* win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] y[ank] 
+syn keyword vimCommand contained	ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] lockv[ar] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] sandbox sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] sf[ind] sfir[st sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] so[urce] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] winpos* win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] y[ank] 
 syn match   vimCommand contained	"\<z[-+^.=]"
 
 " vimOptions are caught only when contained in a vimSet {{{2
@@ -44,7 +44,7 @@
 
 " AutoBuf Events {{{2
 syn case ignore
-syn keyword vimAutoEvent contained	BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold E135 E143 E200 E201 E203 E204 EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter InsertChange InsertEnter InsertLeave QuickFixCmdPre QuickFixCmdPost RemoteReply StdinReadPost StdinReadPre Syntax TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre WinEnter WinLeave 
+syn keyword vimAutoEvent contained	BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold E135 E143 E200 E201 E203 E204 EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter InsertChange InsertEnter InsertLeave QuickFixCmdPost QuickFixCmdPre RemoteReply StdinReadPost StdinReadPre Syntax TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre WinEnter WinLeave 
 
 " Highlight commonly used Groupnames {{{2
 syn keyword vimGroup contained	Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo 
@@ -55,7 +55,7 @@
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function get getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchstr max min mode nextnonblank nr2char prevnonblank range remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify sort split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth 
+syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function get getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mode nextnonblank nr2char prevnonblank range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify sort split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile 
 
 "--- syntax above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1