changeset 3224:8b8ef1fed009

Update runtime files.
author Bram Moolenaar <bram@vim.org>
date Wed, 14 Dec 2011 21:17:39 +0100
parents 576648218cb5
children 2260435283f2
files runtime/autoload/phpcomplete.vim runtime/autoload/syntaxcomplete.vim runtime/doc/autocmd.txt runtime/doc/change.txt runtime/doc/eval.txt runtime/doc/map.txt runtime/doc/options.txt runtime/doc/pattern.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/tagsrch.txt runtime/doc/todo.txt runtime/doc/various.txt runtime/filetype.vim runtime/ftplugin/falcon.vim runtime/ftplugin/lua.vim runtime/ftplugin/markdown.vim runtime/ftplugin/ocaml.vim runtime/ftplugin/vhdl.vim runtime/indent/falcon.vim runtime/indent/gitolite.vim runtime/indent/tcsh.vim runtime/indent/tex.vim runtime/indent/verilog.vim runtime/syntax/css.vim runtime/syntax/dirpager.vim runtime/syntax/dnsmasq.vim runtime/syntax/dosini.vim runtime/syntax/gitolite.vim runtime/syntax/gnash.vim runtime/syntax/help.vim runtime/syntax/lpc.vim runtime/syntax/mail.vim runtime/syntax/sqlanywhere.vim runtime/syntax/sshconfig.vim runtime/syntax/sshdconfig.vim
diffstat 36 files changed, 913 insertions(+), 242 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/phpcomplete.vim
+++ b/runtime/autoload/phpcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	PHP
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 May 9
+" Last Change:	2011 Dec 08
 "
 "   TODO:
 "   - Class aware completion:
@@ -650,6 +650,7 @@ function! phpcomplete#GetClassContents(f
 	" this is the most efficient way. The other way
 	" is to go through the looong string looking for
 	" matching {}
+	let original_window = winnr()
 	below 1new
 	0put =cfile
 	call search('class\s\+'.a:name)
@@ -667,6 +668,9 @@ function! phpcomplete#GetClassContents(f
 	let classcontent = join(classc, "\n")
 
 	bw! %
+	" go back to where we started
+	exe original_window.'wincmd w'
+
 	if extends_class != ''
 		let classlocation = phpcomplete#GetClassLocation(extends_class)
 		if filereadable(classlocation)
--- a/runtime/autoload/syntaxcomplete.vim
+++ b/runtime/autoload/syntaxcomplete.vim
@@ -1,12 +1,18 @@
 " Vim completion script
 " Language:    All languages, uses existing syntax highlighting rules
 " Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>
-" Version:     7.0
-" Last Change: 2010 Jul 29
+" Version:     8.0
+" Last Change: 2011 Nov 02
 " Usage:       For detailed help, ":help ft-syntax-omni" 
 
 " History
 "
+" Version 8.0
+"     Updated SyntaxCSyntaxGroupItems()
+"         - Some additional syntax items were also allowed
+"           on nextgroup= lines which were ignored by default.
+"           Now these lines are processed independently.
+"
 " Version 7.0
 "     Updated syntaxcomplete#OmniSyntaxList()
 "         - Looking up the syntax groups defined from a syntax file
@@ -44,7 +50,7 @@ endif
 if exists('g:loaded_syntax_completion')
     finish 
 endif
-let g:loaded_syntax_completion = 70
+let g:loaded_syntax_completion = 80
 
 " Set ignorecase to the ftplugin standard
 " This is the default setting, but if you define a buffer local
@@ -72,7 +78,8 @@ endif
 " This script will build a completion list based on the syntax
 " elements defined by the files in $VIMRUNTIME/syntax.
 let s:syn_remove_words = 'match,matchgroup=,contains,'.
-            \ 'links to,start=,end=,nextgroup='
+            \ 'links to,start=,end='
+            " \ 'links to,start=,end=,nextgroup='
 
 let s:cache_name = []
 let s:cache_list = []
@@ -411,9 +418,25 @@ function! s:SyntaxCSyntaxGroupItems( gro
                     \    , "\n", 'g' 
                     \  )
 
-        " Now strip off the newline + blank space + contained
+        " Now strip off the newline + blank space + contained.
+        " Also include lines with nextgroup=@someName skip_key_words syntax_element
         let syn_list = substitute( 
-                    \    syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\)'
+                    \    syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
+                    \    , "", 'g' 
+                    \ )
+
+        " This can leave lines like this
+        "     =@vimMenuList  skipwhite onoremenu
+        " Strip the special option keywords first
+        "     :h :syn-skipwhite*
+        let syn_list = substitute( 
+                    \    syn_list, '\<\(skipwhite\|skipnl\|skipempty\)\>'
+                    \    , "", 'g' 
+                    \ )
+
+        " Now remove the remainder of the nextgroup=@someName lines
+        let syn_list = substitute( 
+                    \    syn_list, '\%(^\|\n\)\@<=\s*\(@\w\+\)'
                     \    , "", 'g' 
                     \ )
 
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.3.  Last change: 2011 Aug 29
+*autocmd.txt*   For Vim version 7.3.  Last change: 2011 Oct 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1061,8 +1061,8 @@ option will not cause any commands to be
 			It's possible to use this inside an autocommand too,
 			so you can base the autocommands for one extension on
 			another extension.  Example: >
-				:au Bufenter *.cpp so ~/.vimrc_cpp
-				:au Bufenter *.cpp doau BufEnter x.c
+				:au BufEnter *.cpp so ~/.vimrc_cpp
+				:au BufEnter *.cpp doau BufEnter x.c
 <			Be careful to avoid endless loops.  See
 			|autocmd-nested|.
 
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.3.  Last change: 2011 Jun 19
+*change.txt*    For Vim version 7.3.  Last change: 2011 Oct 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -71,7 +71,7 @@ 1. Deleting text					*deleting* *E470*
 			"D" deletes the highlighted text plus all text until
 			the end of the line.  {not in Vi}
 
-						*:d* *:de* *:del* *:delete*
+					*:d* *:de* *:del* *:delete* *:dl*
 :[range]d[elete] [x]	Delete [range] lines (default: current line) [into
 			register x].
 
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2011 Sep 30
+*eval.txt*	For Vim version 7.3.  Last change: 2011 Dec 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -615,7 +615,6 @@ Expression syntax summary, from least to
 	- expr7			unary minus
 	+ expr7			unary plus
 
-
 |expr8|	expr8[expr1]		byte of a String or item of a |List|
 	expr8[expr1 : expr1]	substring of a String or sublist of a |List|
 	expr8.name		entry in a |Dictionary|
@@ -946,7 +945,8 @@ When expr8 is a |Funcref| type variable,
 							*expr9*
 number
 ------
-number			number constant		*expr-number*
+number			number constant			*expr-number* 
+						*hex-number* *octal-number*
 
 Decimal, Hexadecimal (starting with 0x or 0X), or Octal (starting with 0).
 
@@ -1768,7 +1768,7 @@ foldtext( )			String	line displayed for 
 foldtextresult( {lnum})		String	text for closed fold at {lnum}
 foreground( )			Number	bring the Vim window to the foreground
 function( {name})		Funcref reference to function {name}
-garbagecollect( [at_exit])	none	free memory, breaking cyclic references
+garbagecollect( [{atexit}])	none	free memory, breaking cyclic references
 get( {list}, {idx} [, {def}])	any	get item {idx} from {list} or {def}
 get( {dict}, {key} [, {def}])	any	get item {key} from {dict} or {def}
 getbufline( {expr}, {lnum} [, {end}])
@@ -1844,7 +1844,8 @@ log( {expr})			Float	natural logarithm (
 log10( {expr})			Float	logarithm of Float {expr} to base 10
 map( {expr}, {string})		List/Dict  change each item in {expr} to {expr}
 maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
-				String	rhs of mapping {name} in mode {mode}
+				String or Dict
+					rhs of mapping {name} in mode {mode}
 mapcheck( {name}[, {mode} [, {abbr}]])
 				String	check for mappings matching {name}
 match( {expr}, {pat}[, {start}[, {count}]])
@@ -3077,7 +3078,7 @@ function({name})					*function()* *E700*
 		{name} can be a user defined function or an internal function.
 
 
-garbagecollect([at_exit])				*garbagecollect()*
+garbagecollect([{atexit}])				*garbagecollect()*
 		Cleanup unused |Lists| and |Dictionaries| that have circular
 		references.  There is hardly ever a need to invoke this
 		function, as it is automatically done when Vim runs out of
@@ -3087,7 +3088,7 @@ garbagecollect([at_exit])				*garbagecol
 		This is useful if you have deleted a very big |List| and/or
 		|Dictionary| with circular references in a script that runs
 		for a long time.
-		When the optional "at_exit" argument is one, garbage
+		When the optional {atexit} argument is one, garbage
 		collection will also be done when exiting Vim, if it wasn't
 		done before.  This is useful when checking for memory leaks.
 
@@ -3163,6 +3164,8 @@ getchar([expr])						*getchar()*
 		one-byte character it is the character itself as a number.
 		Use nr2char() to convert it to a String.
 
+		Use getcharmod() to obtain any additional modifiers.
+
 		When the user clicks a mouse button, the mouse event will be
 		returned.  The position can then be found in |v:mouse_col|,
 		|v:mouse_lnum| and |v:mouse_win|.  This example positions the
@@ -3201,10 +3204,11 @@ getcharmod()						*getcharmod()*
 			2	shift
 			4	control
 			8	alt (meta)
-			16	mouse double click
-			32	mouse triple click
-			64	mouse quadruple click
-			128	Macintosh only: command
+			16	meta (when it's different from ALT)
+			32	mouse double click
+			64	mouse triple click
+			96	mouse quadruple click (== 32 + 64)
+			128	command (Macintosh only)
 		Only the modifiers that have not been included in the
 		character itself are obtained.	Thus Shift-a results in "A"
 		without a modifier.
@@ -6258,6 +6262,7 @@ mouse_gpm		Compiled with support for gpm
 mouse_netterm		Compiled with support for netterm mouse.
 mouse_pterm		Compiled with support for qnx pterm mouse.
 mouse_sysmouse		Compiled with support for sysmouse (*BSD console mouse)
+mouse_urxvt		Compiled with support for urxvt mouse.
 mouse_xterm		Compiled with support for xterm mouse.
 mouseshape		Compiled with support for 'mouseshape'.
 multi_byte		Compiled with support for 'encoding'
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.3.  Last change: 2011 Oct 12
+*map.txt*       For Vim version 7.3.  Last change: 2011 Oct 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -246,8 +246,8 @@ have these mappings: >
   inoremap <expr> <C-L>x "foo"
 If you now type CTRL-L nothing happens yet, Vim needs the next character to
 decide what mapping to use.  If you type 'x' the second mapping is used and
-"foo" is inserted.  If you type 'a' the first mapping is used, getchar() gets
-the 'a' and returns it.
+"foo" is inserted.  If you type any other key the first mapping is used,
+getchar() gets the typed key and returns it.
 
 Here is an example that inserts a list number that increases: >
 	let counter = 0
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.3.  Last change: 2011 Sep 30
+*options.txt*	For Vim version 7.3.  Last change: 2011 Dec 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -401,6 +401,9 @@ On Unix systems the form "${HOME}" can b
 contain non-id characters then.  Note that if you want to use this for the
 "gf" command, you need to add the '{' and '}' characters to 'isfname'.
 
+On MS-Windows, if $HOME is not defined as an environment variable, then
+at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
+
 NOTE: expanding environment variables and "~/" is only done with the ":set"
 command, not when assigning a value to an option with ":let".
 
@@ -1217,7 +1220,8 @@ A jump table for the options with a shor
 			|:bwipeout|
 
 	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
-	are lost without a warning.
+	are lost without a warning.  Also, these values may break autocommands
+	that switch between buffers temporarily.
 	This option is used together with 'buftype' and 'swapfile' to specify
 	special kinds of buffers.   See |special-buffers|.
 
@@ -3554,8 +3558,8 @@ A jump table for the options with a shor
 	screen.
 
 						*'guioptions'* *'go'*
-'guioptions' 'go'	string	(default "gmrLtT"   (MS-Windows),
-					 "agimrLtT" (GTK, Motif and Athena))
+'guioptions' 'go'	string	(default "egmrLtT"   (MS-Windows),
+					 "aegimrLtT" (GTK, Motif and Athena))
 			global
 			{not in Vi}
 			{only available when compiled with GUI enabled}
@@ -3858,14 +3862,16 @@ A jump table for the options with a shor
 	are not applied.
 	See also: 'incsearch' and |:match|.
 	When you get bored looking at the highlighted matches, you can turn it
-	off with |:nohlsearch|.  As soon as you use a search command, the
-	highlighting comes back.
+	off with |:nohlsearch|.  This does not change the option value, as
+	soon as you use a search command, the highlighting comes back.
 	'redrawtime' specifies the maximum time spent on finding matches.
 	When the search pattern can match an end-of-line, Vim will try to
 	highlight all of the matched text.  However, this depends on where the
 	search starts.  This will be the first line in the window or the first
 	line below a closed fold.  A match in a previous line which is not
 	drawn may not continue in a newly drawn line.
+	You can specify whether the highlight status is restored on startup
+	with the 'h' flag in 'viminfo' |viminfo-h|.
 	NOTE: This option is reset when 'compatible' is set.
 
 						*'history'* *'hi'*
@@ -5241,7 +5247,7 @@ A jump table for the options with a shor
 	recognized as a compressed file.
 	Only normal file name characters can be used, "/\*?[|<>" are illegal.
 
-					*'path'* *'pa'* *E343* *E345* *E347*
+				*'path'* *'pa'* *E343* *E345* *E347* *E854*
 'path' 'pa'		string	(default on Unix: ".,/usr/include,,"
 				   on OS/2:	  ".,/emx/include,,"
 				   other systems: ".,,")
@@ -7368,6 +7374,8 @@ A jump table for the options with a shor
 	   jsbterm	JSB term mouse handling.
 							*pterm-mouse*
 	   pterm	QNX pterm mouse handling.
+							*urxvt-mouse*
+	   urxvt	Mouse handling for the urxvt (rxvt-unicode) terminal.
 
 	The mouse handling must be enabled at compile time |+mouse_xterm|
 	|+mouse_dec| |+mouse_netterm|.
@@ -7584,15 +7592,18 @@ A jump table for the options with a shor
 	parameter.  The following is a list of the identifying characters and
 	the effect of their value.
 	CHAR	VALUE	~
+							*viminfo-!*
 	!	When included, save and restore global variables that start
 		with an uppercase letter, and don't contain a lowercase
 		letter.  Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
 		and "_K_L_M" are not.  Nested List and Dict items may not be
 		read back correctly, you end up with an empty item.
+							*viminfo-quote*
 	"	Maximum number of lines saved for each register.  Old name of
 		the '<' item, with the disadvantage that you need to put a
 		backslash before the ", otherwise it will be recognized as the
 		start of a comment!
+							*viminfo-%*
 	%	When included, save and restore the buffer list.  If Vim is
 		started with a file name argument, the buffer list is not
 		restored.  If Vim is started without a file name argument, the
@@ -7602,38 +7613,48 @@ A jump table for the options with a shor
 		When followed by a number, the number specifies the maximum
 		number of buffers that are stored.  Without a number all
 		buffers are stored.
+							*viminfo-'*
 	'	Maximum number of previously edited files for which the marks
 		are remembered.  This parameter must always be included when
 		'viminfo' is non-empty.
 		Including this item also means that the |jumplist| and the
 		|changelist| are stored in the viminfo file.
+							*viminfo-/*
 	/	Maximum number of items in the search pattern history to be
 		saved.  If non-zero, then the previous search and substitute
 		patterns are also saved.  When not included, the value of
 		'history' is used.
+							*viminfo-:*
 	:	Maximum number of items in the command-line history to be
 		saved.  When not included, the value of 'history' is used.
+							*viminfo-<*
 	<	Maximum number of lines saved for each register.  If zero then
 		registers are not saved.  When not included, all lines are
 		saved.  '"' is the old name for this item.
 		Also see the 's' item below: limit specified in Kbyte.
+							*viminfo-@*
 	@	Maximum number of items in the input-line history to be
 		saved.  When not included, the value of 'history' is used.
+							*viminfo-c*
 	c	When included, convert the text in the viminfo file from the
 		'encoding' used when writing the file to the current
 		'encoding'.  See |viminfo-encoding|.
+							*viminfo-f*
 	f	Whether file marks need to be stored.  If zero, file marks ('0
 		to '9, 'A to 'Z) are not stored.  When not present or when
 		non-zero, they are all stored.  '0 is used for the current
 		cursor position (when exiting or when doing ":wviminfo").
+							*viminfo-h*
 	h	Disable the effect of 'hlsearch' when loading the viminfo
 		file.  When not included, it depends on whether ":nohlsearch"
 		has been used since the last search command.
+							*viminfo-n*
 	n	Name of the viminfo file.  The name must immediately follow
 		the 'n'.  Must be the last one!  If the "-i" argument was
 		given when starting Vim, that file name overrides the one
 		given here with 'viminfo'.  Environment variables are expanded
 		when opening the file, not when setting the option.
+							*viminfo-r*
 	r	Removable media.  The argument is a string (up to the next
 		',').  This parameter can be given several times.  Each
 		specifies the start of a path for which no marks will be
@@ -7642,6 +7663,7 @@ A jump table for the options with a shor
 		also use it for temp files, e.g., for Unix: "r/tmp".  Case is
 		ignored.  Maximum length of each 'r' argument is 50
 		characters.
+							*viminfo-s*
 	s	Maximum size of an item in Kbyte.  If zero then registers are
 		not saved.  Currently only applies to registers.  The default
 		"s10" will exclude registers with more than 10 Kbyte of text.
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.3.  Last change: 2011 Sep 28
+*pattern.txt*   For Vim version 7.3.  Last change: 2011 Nov 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -937,7 +937,7 @@ match ASCII characters, as indicated by 
 \l	lowercase character:		[a-z]		*/\l*
 \L	non-lowercase character:	[^a-z]		*/\L*
 \u	uppercase character:		[A-Z]		*/\u*
-\U	non-uppercase character		[^A-Z]		*/\U*
+\U	non-uppercase character:	[^A-Z]		*/\U*
 
 	NOTE: Using the atom is faster than the [] form.
 
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.3.  Last change: 2011 Sep 30
+*syntax.txt*	For Vim version 7.3.  Last change: 2011 Nov 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3919,7 +3919,7 @@ First syncing method:			*:syn-sync-first
 The file will be parsed from the start.  This makes syntax highlighting
 accurate, but can be slow for long files.  Vim caches previously parsed text,
 so that it's only slow when parsing the text for the first time.  However,
-when making changes some part of the next needs to be parsed again (worst
+when making changes some part of the text needs to be parsed again (worst
 case: to the end of the file).
 
 Using "fromstart" is equivalent to using "minlines" with a very large number.
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1184,6 +1184,7 @@
 +mouse_netterm	various.txt	/*+mouse_netterm*
 +mouse_pterm	various.txt	/*+mouse_pterm*
 +mouse_sysmouse	various.txt	/*+mouse_sysmouse*
++mouse_urxvt	various.txt	/*+mouse_urxvt*
 +mouse_xterm	various.txt	/*+mouse_xterm*
 +mouseshape	various.txt	/*+mouseshape*
 +multi_byte	various.txt	/*+multi_byte*
@@ -2092,6 +2093,7 @@ 90.5	usr_90.txt	/*90.5*
 :display	change.txt	/*:display*
 :dj	tagsrch.txt	/*:dj*
 :djump	tagsrch.txt	/*:djump*
+:dl	change.txt	/*:dl*
 :dli	tagsrch.txt	/*:dli*
 :dlist	tagsrch.txt	/*:dlist*
 :do	autocmd.txt	/*:do*
@@ -4236,6 +4238,7 @@ E850	change.txt	/*E850*
 E851	gui_x11.txt	/*E851*
 E852	gui_x11.txt	/*E852*
 E853	eval.txt	/*E853*
+E854	options.txt	/*E854*
 E86	windows.txt	/*E86*
 E87	windows.txt	/*E87*
 E88	windows.txt	/*E88*
@@ -4685,6 +4688,7 @@ alt	intro.txt	/*alt*
 alt-input	debugger.txt	/*alt-input*
 alternate-file	editing.txt	/*alternate-file*
 amiga-window	starting.txt	/*amiga-window*
+and()	eval.txt	/*and()*
 anonymous-function	eval.txt	/*anonymous-function*
 ant.vim	syntax.txt	/*ant.vim*
 ap	motion.txt	/*ap*
@@ -6130,6 +6134,7 @@ helpfile_name.txt	helphelp.txt	/*helpfil
 helphelp	helphelp.txt	/*helphelp*
 helphelp.txt	helphelp.txt	/*helphelp.txt*
 hex-editing	tips.txt	/*hex-editing*
+hex-number	eval.txt	/*hex-number*
 hidden-buffer	windows.txt	/*hidden-buffer*
 hidden-changed	version5.txt	/*hidden-changed*
 hidden-menus	gui.txt	/*hidden-menus*
@@ -6436,6 +6441,7 @@ internet	intro.txt	/*internet*
 intro	intro.txt	/*intro*
 intro.txt	intro.txt	/*intro.txt*
 inverse	syntax.txt	/*inverse*
+invert()	eval.txt	/*invert()*
 ip	motion.txt	/*ip*
 iquote	motion.txt	/*iquote*
 is	motion.txt	/*is*
@@ -7035,6 +7041,7 @@ objects	index.txt	/*objects*
 obtaining-exted	netbeans.txt	/*obtaining-exted*
 ocaml.vim	syntax.txt	/*ocaml.vim*
 octal	eval.txt	/*octal*
+octal-number	eval.txt	/*octal-number*
 octal-number	options.txt	/*octal-number*
 oldfiles-variable	eval.txt	/*oldfiles-variable*
 ole-activation	if_ole.txt	/*ole-activation*
@@ -7060,6 +7067,7 @@ options	options.txt	/*options*
 options-changed	version5.txt	/*options-changed*
 options.txt	options.txt	/*options.txt*
 optwin	options.txt	/*optwin*
+or()	eval.txt	/*or()*
 oracle	ft_sql.txt	/*oracle*
 os2	os_os2.txt	/*os2*
 os2ansi	os_os2.txt	/*os2ansi*
@@ -8066,6 +8074,7 @@ unix	os_unix.txt	/*unix*
 unlisted-buffer	windows.txt	/*unlisted-buffer*
 up-down-motions	motion.txt	/*up-down-motions*
 uppercase	change.txt	/*uppercase*
+urxvt-mouse	options.txt	/*urxvt-mouse*
 use-cpo-save	usr_41.txt	/*use-cpo-save*
 use-visual-cmds	version4.txt	/*use-visual-cmds*
 useful-mappings	tips.txt	/*useful-mappings*
@@ -8504,6 +8513,7 @@ xiterm	syntax.txt	/*xiterm*
 xml-folding	syntax.txt	/*xml-folding*
 xml-omni-datafile	insert.txt	/*xml-omni-datafile*
 xml.vim	syntax.txt	/*xml.vim*
+xor()	eval.txt	/*xor()*
 xpm.vim	syntax.txt	/*xpm.vim*
 xterm-8-bit	term.txt	/*xterm-8-bit*
 xterm-8bit	term.txt	/*xterm-8bit*
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 7.3.  Last change: 2009 Feb 18
+*tagsrch.txt*   For Vim version 7.3.  Last change: 2011 Oct 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -770,12 +770,12 @@ CTRL-W i		Open a new window, with the cu
 			{not in Vi}
 
 							*:dli* *:dlist*
-:[range]dl[ist][!] [/]string[/]
+:[range]dli[st][!] [/]string[/]
 			Like "[D"  and "]D", but search in [range] lines
 			(default: whole file).
 			See |:search-args| for [/] and [!].  {not in Vi}
 			Note that ":dl" works like ":delete" with the "l"
-			flag.
+			register.
 
 							*[_CTRL-D*
 [ CTRL-D		Jump to the first macro definition that contains the
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2011 Oct 20
+*todo.txt*      For Vim version 7.3.  Last change: 2011 Dec 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,58 +34,44 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Patch for 'transparency' option. (Ben Boeckel, 2011 Sep 14)
-Do we want this?  Also Sergiu Dotenco, 2011 Sep 17.
+Go through more coverity reports.
+
+Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
+
+Patch to fix "Console prompts fail to reset the console pager".
+Issue 14 on googlecode
+
+Issue 33 on googlecode: feedkeys() leaks memory.
+
+Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
+Needs more work.
 
 Once syntax and other runtime files have been fixed: add "set cp" to
 check.vim.  Use a function to run both with 'cp' and 'nocp'.
 
-Windows stuff:
-- Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17)
-- Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17)
-  Addition Sep 16.
-- Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep
-  15, 17)
-- Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch.  Another
-  on Sep 15?  Can't reproduce it.  Only with vim.exe, compiled with Mingw?
-
-Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer?
-
-Something weird with text formatting when 'compatible' is set.
-Only formats from Insert starting point, even when using "gqj"?
-(Peter Wagenaar, 2011 Oct 20)
-
-FocusGained event received event though it's in 'eventignore'?
-(Ben Fritz, 2011 Sep 25)
-
-Add voting item: modern plugin management (automatic updates, handle
-dependencies).
-Add links to http://vimcasts.org/ and http://vimgolf.com/
-Read http://www.charlietanksley.net/philtex/sane-vim-plugin-management/
-
-Go through more coverity reports.
-
-Better D/Dtrace detection. (Jesse Phillips, 2011 Oct 18)
-
-Patch for not showing dict methods in completion. (Yasuhiro Matsumoto, 2011
-Oct 7)  Move "<" methods to the end.  Fix for compiler warnings, Oct 13.
-
-FPE exception in mbyte.c.  Stack trace: (Lomy, 2011 Sep 26)
-Can't reproduce it.
-
-Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
-
-Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
-
-Patch to fail if configure can't find an interface, such as Python.
-(Shlomi Fish, 2011 Jul 11)
-
-Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
-Needs more work.
+Patch to make ":helpgrep" work with non-UTF-8 encoding. (Yasuhiro Matsumoto,
+2011 Nov 28, update later that day)
+
+":doau" says it triggers modeline.  Should this only happen for events used
+when loading a buffer?  (Kana Natsuno, 2011 Nov 7)
+
+Patch to fix "it" and "at" when there is a dash in the tag name.
+(Christian Brabandt, 2011 Nov 20)
+
+Patch to make 'shcf' default work better. (Benjamin Fritz, 2011 Nov 18)
+    Win32: When 'shell' is cmd.exe this command fails:
+	    echo system('"c:/path/echo.exe" "foo bar"')
+    Should we set the default for 'shellxquote' to a double quote, when 'shell'
+    contains "cmd" in the tail?  (Benjamin Fritz, 2008 Oct 13)
+    Also set 'shellcmdflag' to include /s.
 
 Other way to start Mzscheme. Tim Brown, 2011 Oct 5: change main call.
 Later patch by Sergey Khorev, 2011 Oct 9.
 
+Patch to make InsertCharPre work better. (Yasuhiro Matsumoto, 2011 Oct 21)
+
+Patch to fix closed folds with "loadview". (Xavier de Gaye, 2011 Nov 25)
+
 Patch to add getsid(). (Tyru, 2011 Oct 2)  Do we want this?  Update Oct 4.
 Or use expand('<sid>')?
 
@@ -94,6 +80,17 @@ one)
 
 Patch to highlight cursor line number. (Howard Buchholz (lhb), 2011 Oct 18)
 
+Patch for urxvt mouse support after shell command. (Issue 31)
+
+7   Setting an option always sets "w_set_curswant", while this is only
+    required for a few options.  Only do it for those options to avoid the
+    side effect.
+Patch by Kana Natsuno, 2011 Nov 12.
+
+Patch for option in 'cino' to specify more indent for continued conditions.
+(Lech Lorens, 2011 Nov 27)
+Isn't this already possible?
+
 Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
 v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
 
@@ -107,6 +104,9 @@ 8   ":sign unplace * file={filename}" sh
 
 Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
 
+":tab drop buffer.c" always opens a new tab, also if buffer.c is already in an
+open window. (Herb Sitz, 2011 Nov 17)
+
 Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
 Patch Sep 18.
 
@@ -118,12 +118,23 @@ Problem with l: dictionary being locked 
 Patch to sort functions starting with '<' after others.  Omit dict functions,
 they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
 
+Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011
+Nov 20)
+
+`[ moves to character after insert, instead of the last inserted character.
+(Yukihiro Nakadaira, 2011 Dec 9)
+
+Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
+
 Updated syntax file for ssh_config, maintainer doesn't respond.
 (Leonard Ehrenfried, 2011 Sep 26)
 
 "fC" doesn't position the cursor correctly when there are concealed
 characters.  Patch by Christian Brabandt, 2011 Oct 11)
 
+Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17)
+Only for MS-Windows.  No documentation.  Do we want this?
+
 'cursorline' is displayed too short when there are concealed characters and
 'list' is set.  (Dennis Preiser)
 Patch 7.3.116 was the wrong solution.
@@ -137,8 +148,17 @@ Syntax region with 'concealends' and a '
 only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
 21, Ben Fritz, 2010 Sep 14)
 
+Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
+New feature, requires testing.  Made some remarks.
+
+Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011
+Sep 17)  Asked for feedback from others.
+
 Need to escape $HOME on Windows?  (ZyX, 2011 Jul 21)
 
+"2" in 'formatopions' not working in comments. (Christian Corneliussen, 2011
+Oct 26)
+
 Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
 
 With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
@@ -170,6 +190,9 @@ call append(line, "INFO  ....12....18...
 When using a Vim server, a # in the path causes an error message.
 (Jeff Lanzarotta, 2011 Feb 17)
 
+Setting $HOME on MS-Windows is not very well documented.  Suggestion by Ben
+Fritz (2011 Oct 27).
+
 Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
 
 Bug: Windows 7 64 bit system freezes  when 'clipboard' set to "unnamed" and
@@ -1085,12 +1108,6 @@ pointer in long and seek offset in 64 bi
 
 Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
 
-Win32: When 'shell' is cmd.exe this command fails:
-	echo system('"c:/path/echo.exe" "foo bar"')
-Should we set the default for 'shellxquote' to a double quote, when 'shell'
-contains "cmd" in the tail?  (Benjamin Fritz, 2008 Oct 13)
-Also set 'shellcmdflag' to include /s.
-
 Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
 Unfinished patch by Jelle Geerts, 2008 Aug 24.
 Let mch_avail_mem() return Kbyte instead?
@@ -1478,6 +1495,8 @@ 2010 Jun 30)
 At next release:
 -   Rename src/Makefile and create a new one like toplevel Makefile that
     creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
+-   Improve plugin handling: Automatic updates, handle dependencies?
+    E.g. Vundle: https://github.com/gmarik/vundle
 
 
 More patches:
@@ -1544,6 +1563,7 @@ 7   Completion of network shares, patch 
     Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
     Version for latest MacVim: Tobia Conforto, 2009 Nov 23
     More recent version: https://retracile.net/wiki/VimBreakIndent
+    Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
 8   Add a few more command names to the menus.  Patch from Jiri Brezina
     (28 feb 2002).  Will mess the translations...
 7   ATTENTION dialog choices are more logical when "Delete it' appears
@@ -4433,9 +4453,6 @@ 7   Persistent variables: "p:var"; store
 Options:
 7   ":with option=value | command": temporarily set an option value and
     restore it after the command has executed.
-7   Setting an option always sets "w_set_curswant", while this is only
-    required for a few options.  Only do it for those options to avoid the
-    side effect.
 8   Make "old" number options that really give a number of effects into string
     options that are a comma separated list.  The old number values should
     also be supported.
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.3.  Last change: 2011 Oct 1st
+*various.txt*   For Vim version 7.3.  Last change: 2011 Nov 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -350,12 +350,13 @@ N  *+mouseshape*	|'mouseshape'|
 B  *+mouse_dec*		Unix only: Dec terminal mouse handling |dec-mouse|
 N  *+mouse_gpm*		Unix only: Linux console mouse handling |gpm-mouse|
 B  *+mouse_netterm*	Unix only: netterm mouse handling |netterm-mouse|
-N  *+mouse_pterm*	QNX only: pterm mouse handling |qnx-terminal|
+N  *+mouse_pterm*		QNX only: pterm mouse handling |qnx-terminal|
 N  *+mouse_sysmouse*	Unix only: *BSD console mouse handling |sysmouse|
-N  *+mouse_xterm*	Unix only: xterm mouse handling |xterm-mouse|
-B  *+multi_byte*	16 and 32 bit characters |multibyte|
+N  *+mouse_urxvt*		Unix only: urxvt mouse handling |urxvt-mouse|
+N  *+mouse_xterm*		Unix only: xterm mouse handling |xterm-mouse|
+B  *+multi_byte*		16 and 32 bit characters |multibyte|
    *+multi_byte_ime*	Win32 input method for multibyte chars |multibyte-ime|
-N  *+multi_lang*	non-English language support |multi-lang|
+N  *+multi_lang*		non-English language support |multi-lang|
 m  *+mzscheme*		Mzscheme interface |mzscheme|
 m  *+mzscheme/dyn*	Mzscheme interface |mzscheme-dynamic| |/dyn|
 m  *+netbeans_intg*	|netbeans|
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2011 Oct 08
+" Last Change:	2011 Oct 26
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -566,7 +566,10 @@ au BufNewFile,BufRead *.d			call s:Dtrac
 
 func! s:DtraceCheck()
   let lines = getline(1, min([line("$"), 100]))
-  if match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
+  if match(lines, '^module\>\|^import\>') > -1
+    " D files often start with a module and/or import statement.
+    setf d
+  elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
     setf dtrace
   else
     setf d
--- a/runtime/ftplugin/falcon.vim
+++ b/runtime/ftplugin/falcon.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:     Falcon
 " Author:       Steven Oliver <oliver.steven@gmail.com>
-" Copyright:    Copyright (c) 2009, 2010 Steven Oliver
+" Copyright:    Copyright (c) 2009, 2010, 2011 Steven Oliver
 " License:      You may redistribute this under the same terms as Vim itself
 " --------------------------------------------------------------------------
 " GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
@@ -16,7 +16,7 @@ let s:cpo_save = &cpo
 set cpo&vim
 
 setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
-setlocal suffixesadd=.fal
+setlocal suffixesadd=.fal,.ftd
 
 " Matchit support
 if exists("loaded_matchit") && !exists("b:match_words")
@@ -36,8 +36,11 @@ setlocal comments=sO:*\ -,mO:*\ \ ,exO:*
 
 " Windows allows you to filter the open file dialog
 if has("gui_win32") && !exists("b:browsefilter")
-  let b:browsefilter = "Falcon Source Files (*.fal)\t*.fal\n" .
+  let b:browsefilter = "Falcon Source Files (*.fal *.ftd)\t*.fal;*.ftd\n" .
                      \ "All Files (*.*)\t*.*\n"
 endif
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim: set sw=4 sts=4 et tw=80 :
--- a/runtime/ftplugin/lua.vim
+++ b/runtime/ftplugin/lua.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file.
 " Language:	Lua 4.0+
 " Maintainer:	Max Ischenko <mfi@ukr.net>
-" Last Change:	2008 Mar 25
+" Last Change:	2011 Dec 10 by Thilo Six
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -11,6 +11,9 @@ endif
 " Don't load another plugin for this buffer
 let b:did_ftplugin = 1
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Set 'formatoptions' to break comment lines but not other lines, and insert
 " the comment leader when hitting <CR> or using "o".
 setlocal fo-=t fo+=croql
@@ -22,8 +25,6 @@ setlocal suffixesadd=.lua
 
 " The following lines enable the macros/matchit.vim plugin for
 " extended matching with the % key.
-
-set cpo-=C
 if exists("loaded_matchit")
 
   let b:match_ignorecase = 0
@@ -34,3 +35,6 @@ if exists("loaded_matchit")
     \ '\<repeat\>:\<until\>'
 
 endif " exists("loaded_matchit")
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/ftplugin/markdown.vim
+++ b/runtime/ftplugin/markdown.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:		Markdown
 " Maintainer:		Tim Pope <vimNOSPAM@tpope.org>
-" Last Change:		2010 May 21
+" Last Change:		2011 Dec 14
 
 if exists("b:did_ftplugin")
   finish
@@ -14,6 +14,10 @@ setlocal comments=fb:*,fb:-,fb:+,n:> com
 setlocal formatoptions+=tcqln
 setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
 
-let b:undo_ftplugin .= "|setl cms< com< fo<"
+if exists('b:undo_ftplugin')
+  let b:undo_ftplugin .= "|setl cms< com< fo< flp<"
+else
+  let b:undo_ftplugin = "setl cms< com< fo< flp<"
+endif
 
 " vim:set sw=2:
--- a/runtime/ftplugin/ocaml.vim
+++ b/runtime/ftplugin/ocaml.vim
@@ -7,7 +7,7 @@
 " URL:         http://www.ocaml.info/vim/ftplugin/ocaml.vim
 " Last Change: 2010 Jul 10 - Bugfix, thanks to Pat Rondon
 "              2008 Jul 17 - Bugfix related to fnameescape (VA)
-"              2007 Sep 09 - Added .annot support for ocamlbuild, python not 
+"              2007 Sep 09 - Added .annot support for ocamlbuild, python not
 "                            needed anymore (VA)
 "              2006 May 01 - Added .annot support for file.whateverext (SZ)
 "	             2006 Apr 11 - Fixed an initialization bug; fixed ASS abbrev (MM)
@@ -31,7 +31,7 @@ endif
 
 " Error handling -- helps moving where the compiler wants you to go
 let s:cposet=&cpoptions
-set cpo-=C
+set cpo&vim
 setlocal efm=
       \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
       \%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
@@ -211,7 +211,7 @@ endfunction
 " cursor position.
 "
 " Typing '<LocalLeader>t' (LocalLeader defaults to '\', see :h LocalLeader)
-" will cause " Ocaml_print_type function to be invoked with the right 
+" will cause " Ocaml_print_type function to be invoked with the right
 " argument depending on the current mode (visual or not).
 " >>
 "
@@ -221,9 +221,9 @@ endfunction
 "   - no need for python support
 "     + plus : more portable
 "     + minus: no more lazy parsing, it looks very fast however
-"     
+"
 "   - ocamlbuild support, ie.
-"     + the plugin finds the _build directory and looks for the 
+"     + the plugin finds the _build directory and looks for the
 "       corresponding file inside;
 "     + if the user decides to change the name of the _build directory thanks
 "       to the '-build-dir' option of ocamlbuild, the plugin will manage in
@@ -232,7 +232,7 @@ endfunction
 "     + if ocamlbuild is not used, the usual behaviour holds; ie. the .annot
 "       file should be in the same directory as the source file;
 "     + for vim plugin programmers:
-"       the variable 'b:_build_dir' contains the inferred path to the build 
+"       the variable 'b:_build_dir' contains the inferred path to the build
 "       directory, even if this one is not named '_build'.
 "
 " Bonus :
@@ -287,10 +287,10 @@ endfunction
   endfun
 
     " After call:
-    " - b:annot_file_path : 
+    " - b:annot_file_path :
     "                       path to the .annot file corresponding to the
     "                       source file (dealing with ocamlbuild stuff)
-    " - b:_build_path: 
+    " - b:_build_path:
     "                       path to the build directory even if this one is
     "                       not named '_build'
   function! s:Locate_annotation()
@@ -320,7 +320,7 @@ endfunction
             let b:annot_file_path = getcwd().'/'.b:annot_file_path
           endif
         else
-          " 3rd case : the _build directory is in a directory higher in the file hierarchy 
+          " 3rd case : the _build directory is in a directory higher in the file hierarchy
           "            (it can't be deeper by ocamlbuild requirements)
           "      ..
           "     /  \
@@ -372,7 +372,7 @@ endfunction
   let b:annotation_file_located = 0
 
 " 2. Finding the type information in the annotation file
-  
+
   " a. The annotation file is opened in vim as a buffer that
   " should be (almost) invisible to the user.
 
@@ -401,7 +401,7 @@ endfunction
 
       " After call:
       "   The annot file is loaded and assigned to a buffer.
-      "   This also handles the modification date of the .annot file, eg. after a 
+      "   This also handles the modification date of the .annot file, eg. after a
       "   compilation.
     function! s:Load_annotation()
       if bufloaded(b:annot_file_path) && b:annot_file_last_mod < getftime(b:annot_file_path)
@@ -419,9 +419,9 @@ endfunction
         let b:annot_file_last_mod = getftime(b:annot_file_path)
       endif
     endfun
-  
+
   "b. 'search' and 'match' work to find the type information
-   
+
       "In:  - lin1,col1: postion of expression first char
       "     - lin2,col2: postion of expression last char
       "Out: - the pattern to be looked for to find the block
@@ -462,7 +462,7 @@ endfunction
       let end = line(".") - 1
       return join(getline(begin,end),"\n")
     endfun
-        
+
       "In:  the pattern to look for in order to match the block
       "Out: the type information (calls s:Match_data)
       " Should be called in the annotation buffer
@@ -479,10 +479,10 @@ endfunction
       endtry
       return annotation
     endfun
-  
+
   "c. link this stuff with what the user wants
   " ie. get the expression selected/under the cursor
-    
+
     let s:ocaml_word_char = '\w|[À-ÿ]|'''
 
       "In:  the current mode (eg. "visual", "normal", etc.)
@@ -531,7 +531,7 @@ endfunction
       let [lin1,lin2,col1,col2] = s:Match_borders(a:mode)
       return s:Extract_type_data(s:Block_pattern(lin1,lin2,col1,col2))
     endfun
-  
+
   "d. main
       "In:         the current mode (eg. "visual", "normal", etc.)
       "After call: the type information is displayed
--- a/runtime/ftplugin/vhdl.vim
+++ b/runtime/ftplugin/vhdl.vim
@@ -1,8 +1,8 @@
 " VHDL filetype plugin
 " Language:    VHDL
-" Maintainer:  R.Shankar <shankar.r?freescale.com>
+" Maintainer:  R.Shankar <shankar.pec?gmail.com>
 " Modified By: Gerald Lai <laigera+vim?gmail.com>
-" Last Change: 2006 Feb 16
+" Last Change: 2011 Dec 11
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -12,6 +12,9 @@ endif
 " Don't load another plugin for this buffer
 let b:did_ftplugin = 1
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Set 'formatoptions' to break comment lines but not other lines,
 " and insert the comment leader when hitting <CR> or using "o".
 "setlocal fo-=t fo+=croqlm1
@@ -22,8 +25,6 @@ let b:did_ftplugin = 1
 " Format comments to be up to 78 characters long
 "setlocal tw=75
 
-set cpo-=C
-
 " Win32 can filter files in the browse dialog
 "if has("gui_win32") && !exists("b:browsefilter")
 "  let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" .
@@ -82,3 +83,6 @@ vnoremap <buffer><silent>[[ :<C-u>cal <S
 vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
 vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
 vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/indent/falcon.vim
+++ b/runtime/indent/falcon.vim
@@ -153,4 +153,7 @@ function FalconGetIndent()
     return ind + chg
 endfunction
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim: set sw=4 sts=4 et tw=80 :
new file mode 100644
--- /dev/null
+++ b/runtime/indent/gitolite.vim
@@ -0,0 +1,39 @@
+" Vim indent file
+" Language:	gitolite configuration
+" URL:		https://github.com/tmatilai/gitolite.vim
+" Maintainer:	Teemu Matilainen <teemu.matilainen@iki.fi>
+" Last Change:	2011-11-01
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal autoindent
+setlocal indentexpr=GetGitoliteIndent()
+setlocal indentkeys=o,O,*<Return>,!^F,=repo,\",=
+
+" Only define the function once.
+if exists("*GetGitoliteIndent")
+  finish
+endif
+
+function! GetGitoliteIndent()
+  let prevln = prevnonblank(v:lnum-1)
+  let pline = getline(prevln)
+  let cline = getline(v:lnum)
+
+  if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
+    return &sw
+  elseif cline =~ '^\s*config\s'
+    return &sw
+  elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
+    return &sw
+  elseif cline =~ '^\s*#'
+    return indent(prevln)
+  elseif cline =~ '^\s*$'
+    return -1
+  else
+    return 0
+  endif
+endfunction
--- a/runtime/indent/tcsh.vim
+++ b/runtime/indent/tcsh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:		C-shell (tcsh)
-" Maintainer:		Gautam Iyer <gautam@math.uchicago.edu>
-" Last Modified:	Sat 16 Jun 2007 04:27:45 PM PDT
+" Maintainer:		GI <a@b.c>, where a='gi1242+vim', b='gmail', c='com'
+" Last Modified:	Sat 10 Dec 2011 09:23:00 AM EST
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -18,8 +18,6 @@ if exists("*TcshGetIndent")
     finish
 endif
 
-set cpoptions-=C
-
 function TcshGetIndent()
     " Find a non-blank line above the current line.
     let lnum = prevnonblank(v:lnum - 1)
new file mode 100644
--- /dev/null
+++ b/runtime/indent/tex.vim
@@ -0,0 +1,250 @@
+" Vim indent file
+" Language:     LaTeX
+" Maintainer:   Zhou YiChao <broken.zhou@gmail.com>
+" Created:      Sat, 16 Feb 2002 16:50:19 +0100
+" Last Change:	Tue, 25 Sep 2011
+" Last Update:  25th Sep 2002, by LH :
+"               (*) better support for the option
+"               (*) use some regex instead of several '||'.
+"               Oct 9th, 2003, by JT:
+"               (*) don't change indentation of lines starting with '%'
+"               2005/06/15, Moshe Kaminsky <kaminsky@math.huji.ac.il>
+"               (*) New variables:
+"                   g:tex_items, g:tex_itemize_env, g:tex_noindent_env
+"               2011/3/6, by Zhou YiChao <broken.zhou@gmail.com>
+"               (*) Don't change indentation of lines starting with '%'
+"                   I don't see any code with '%' and it doesn't work properly
+"                   so I add some code.
+"               (*) New features: Add smartindent-like indent for "{}" and  "[]".
+"               (*) New variables: g:tex_indent_brace
+"               2011/9/25, by Zhou Yichao <broken.zhou@gmail.com>
+"               (*) Bug fix: smartindent-like indent for "[]"
+"               (*) New features: Align with "&".
+"               (*) New variable: g:tex_indent_and
+"               2011/10/23 by Zhou Yichao <broken.zhou@gmail.com>
+"               (*) Bug fix: improve the smartindent-like indent for "{}" and
+"               "[]".
+"
+" Version: 0.62
+
+" Options: {{{
+"
+" To set the following options (ok, currently it's just one), add a line like
+"   let g:tex_indent_items = 1
+" to your ~/.vimrc.
+"
+" * g:tex_indent_brace
+"
+"   If this variable is unset or non-zero, it will use smartindent-like style
+"   for "{}" and "[]"
+"   
+" * g:tex_indent_items
+"
+"   If this variable is set, item-environments are indented like Emacs does
+"   it, i.e., continuation lines are indented with a shiftwidth.
+"   
+"   NOTE: I've already set the variable below; delete the corresponding line
+"   if you don't like this behaviour.
+"
+"   Per default, it is unset.
+"   
+"              set                                unset
+"   ----------------------------------------------------------------
+"       \begin{itemize}                      \begin{itemize}  
+"         \item blablabla                      \item blablabla
+"           bla bla bla                        bla bla bla  
+"         \item blablabla                      \item blablabla
+"           bla bla bla                        bla bla bla  
+"       \end{itemize}                        \end{itemize}    
+"
+"
+" * g:tex_items
+"
+"   A list of tokens to be considered as commands for the beginning of an item 
+"   command. The tokens should be separated with '\|'. The initial '\' should 
+"   be escaped. The default is '\\bibitem\|\\item'.
+"
+" * g:tex_itemize_env
+" 
+"   A list of environment names, separated with '\|', where the items (item 
+"   commands matching g:tex_items) may appear. The default is 
+"   'itemize\|description\|enumerate\|thebibliography'.
+"
+" * g:tex_noindent_env
+"
+"   A list of environment names. separated with '\|', where no indentation is 
+"   required. The default is 'document\|verbatim'.
+"
+" * g:tex_indent_and
+"
+"   If this variable is unset or zero, vim will try to align the line with first
+"   "&". This is pretty useful when you use environment like table or align.
+"   Note that this feature need to search back some line, so vim may become
+"   a little slow.
+"
+" }}} 
+
+if exists("b:did_indent")
+    finish
+endif
+let b:did_indent = 1
+
+" Delete the next line to avoid the special indention of items
+if !exists("g:tex_indent_items")
+    let g:tex_indent_items = 1
+endif
+if !exists("g:tex_indent_brace")
+    let g:tex_indent_brace = 1
+endif
+if !exists("g:tex_indent_and")
+    let g:tex_indent_and = 1
+endif
+if g:tex_indent_items
+    if !exists("g:tex_itemize_env")
+        let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
+    endif
+    if !exists('g:tex_items')
+        let g:tex_items = '\\bibitem\|\\item' 
+    endif
+else
+    let g:tex_items = ''
+endif
+
+if !exists("g:tex_noindent_env")
+    let g:tex_noindent_env = 'document\|verbatim\|lstlisting'
+endif
+
+setlocal autoindent
+setlocal nosmartindent
+setlocal indentexpr=GetTeXIndent()
+exec 'setlocal indentkeys+=},],\&' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g')
+let g:tex_items = '^\s*' . g:tex_items
+
+
+" Only define the function once
+if exists("*GetTeXIndent") | finish
+endif
+
+
+function GetTeXIndent()
+    " Find a non-blank line above the current line.
+    let lnum = prevnonblank(v:lnum - 1)
+
+    " Comment line is not what we need.
+    while lnum != 0 && getline(lnum) =~ '^\s*%'
+        let lnum = prevnonblank(lnum - 1)
+    endwhile
+
+    " At the start of the file use zero indent.
+    if lnum == 0
+        return 0 
+    endif
+
+    let line = getline(lnum)             " last line
+    let cline = getline(v:lnum)          " current line
+
+    " You want to align with "&"
+    if g:tex_indent_and
+        " Align with last line if last line has a "&"
+        if stridx(cline, "&") != -1 && stridx(line, "&") != -1
+            return indent(v:lnum) + stridx(line, "&") - stridx(cline, "&")
+        endif
+
+        " set line & lnum to the line which doesn't contain "&"
+        while lnum != 0 && (stridx(line, "&") != -1 || line =~ '^\s*%')
+            let lnum = prevnonblank(lnum - 1)
+            let line = getline(lnum)
+        endwhile
+    endif
+
+
+    if lnum == 0
+        return 0 
+    endif
+
+    let ind = indent(lnum)
+
+    " New code for comment: retain the indent of current line
+    if cline =~ '^\s*%'
+        return indent(v:lnum)
+    endif
+
+    " Add a 'shiftwidth' after beginning of environments.
+    " Don't add it for \begin{document} and \begin{verbatim}
+    ""if line =~ '^\s*\\begin{\(.*\)}'  && line !~ 'verbatim' 
+    " LH modification : \begin does not always start a line
+    " ZYC modification : \end after \begin won't cause wrong indent anymore
+    if line =~ '\\begin{.*}' && line !~ g:tex_noindent_env
+                \ && line !~ '\\begin{.\{-}}.*\\end{.*}'
+
+        let ind = ind + &sw
+
+        if g:tex_indent_items
+            " Add another sw for item-environments
+            if line =~ g:tex_itemize_env
+                let ind = ind + &sw
+            endif
+        endif
+    endif
+
+
+    " Subtract a 'shiftwidth' when an environment ends
+    if cline =~ '^\s*\\end' && cline !~ g:tex_noindent_env
+
+        if g:tex_indent_items
+            " Remove another sw for item-environments
+            if cline =~ g:tex_itemize_env
+                let ind = ind - &sw
+            endif
+        endif
+
+        let ind = ind - &sw
+    endif
+
+    if g:tex_indent_brace
+        " Add a 'shiftwidth' after a "{" or "[".
+        let sum1 = 0
+        for i in range(0, strlen(line)-1)
+            if line[i] == "}" || line[i] == "]"
+                let sum1 = max([0, sum1-1])
+            endif
+            if line[i] == "{" || line[i] == "["
+                let sum1 += 1
+            endif
+        endfor
+
+        let sum2 = 0
+        for i in reverse(range(0, strlen(cline)-1))
+            if cline[i] == "{" || cline[i] == "["
+                let sum2 = max([0, sum2-1])
+            endif
+            if cline[i] == "}" || cline[i] == "]"
+                let sum2 += 1
+            endif
+        endfor
+
+        let ind += (sum1 - sum2) * &sw
+    endif
+
+
+    " Special treatment for 'item'
+    " ----------------------------
+
+    if g:tex_indent_items
+
+        " '\item' or '\bibitem' itself:
+        if cline =~ g:tex_items
+            let ind = ind - &sw
+        endif
+
+        " lines following to '\item' are intented once again:
+        if line =~ g:tex_items
+            let ind = ind + &sw
+        endif
+
+    endif
+
+    return ind
+endfunction
+
+" vim: set sw=4 textwidth=80:
--- a/runtime/indent/verilog.vim
+++ b/runtime/indent/verilog.vim
@@ -1,6 +1,6 @@
 " Language:     Verilog HDL
 " Maintainer:	Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
-" Last Change:	Wed Oct 31 16:13:11 CST 2001
+" Last Change:	2011 Dec 10 by Thilo Six
 " URL:		http://larc.ee.nthu.edu.tw/~cthuang/vim/indent/verilog.vim
 "
 " Credits:
@@ -30,7 +30,8 @@ if exists("*GetVerilogIndent")
   finish
 endif
 
-set cpo-=C
+let s:cpo_save = &cpo
+set cpo&vim
 
 function GetVerilogIndent()
 
@@ -216,4 +217,7 @@ function GetVerilogIndent()
   return ind
 endfunction
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim:sw=2
--- a/runtime/syntax/css.vim
+++ b/runtime/syntax/css.vim
@@ -2,7 +2,7 @@
 " Language:	Cascading Style Sheets
 " Maintainer:	Claudio Fleiner <claudio@fleiner.com>
 " URL:		http://www.fleiner.com/vim/syntax/css.vim
-" Last Change:	2010 Jul 28
+" Last Change:	2011 Dec 14
 " CSS2 by Nikolai Weibull
 " Full CSS2, HTML4 support by Yeti
 
@@ -182,7 +182,7 @@ syn match cssError contained "{@<>"
 syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape
 syn match cssBraceError "}"
 
-syn match cssPseudoClass ":\S*" contains=cssPseudoClassId,cssUnicodeEscape
+syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape
 syn keyword cssPseudoClassId contained link visited active hover focus before after left right
 syn match cssPseudoClassId contained "\<first\(-\(line\|letter\|child\)\)\=\>"
 syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":lang(" end=")" oneline
--- a/runtime/syntax/dirpager.vim
+++ b/runtime/syntax/dirpager.vim
@@ -1,18 +1,31 @@
 " Vim syntax file
-" Language:         directory pager
-" Maintainer:       Thilo Six <T.Six@gmx.de>
-" Derived From:	    Nikolai Weibull's dircolors.vim
-" Latest Revision:  2011-04-09
+" Language:	  directory pager
+" Maintainer:	  Thilo Six <T.Six@gmx.de>
+" Derived From:	  Nikolai Weibulls dircolors.vim
+" Last Change:	  2011 Dec 11
+" Modeline:	  vim: ts=8:sw=2:sts=2:
 "
 " usage: $ ls -la | view -c "set ft=dirpager" -
 "
+"
+",----[ ls(1posix) ]--------------------------------------------------
+"
+" The  <entry type> character shall describe the type of file, as
+"       follows:
+"
+"       d	Directory.
+"       b	Block special file.
+"       c	Character special file.
+"       l (ell)	Symbolic link.
+"       p	FIFO.
+"       -	Regular file.
+"`--------------------------------------------------------------------
+"
 
-if exists("b:current_syntax")
+if exists("b:current_syntax") || &compatible
   finish
 endif
 
-let s:cpo_save = &cpo
-set cpo&vim
 setlocal nowrap
 
 syn keyword  DirPagerTodo	contained FIXME TODO XXX NOTE
@@ -20,14 +33,16 @@ syn keyword  DirPagerTodo	contained FIXM
 syn region   DirPagerExe	start='^...x\|^......x\|^.........x' end='$'	contains=DirPagerTodo,@Spell
 syn region   DirPagerDir	start='^d' end='$'	contains=DirPagerTodo,@Spell
 syn region   DirPagerLink	start='^l' end='$'	contains=DirPagerTodo,@Spell
+syn region   DirPagerSpecial	start='^b' end='$'	contains=DirPagerTodo,@Spell
+syn region   DirPagerSpecial	start='^c' end='$'	contains=DirPagerTodo,@Spell
+syn region   DirPagerFifo	start='^p' end='$'	contains=DirPagerTodo,@Spell
 
 hi def link  DirPagerTodo	Todo
 hi def	     DirPagerExe	ctermfg=Green	    guifg=Green
 hi def	     DirPagerDir	ctermfg=Blue	    guifg=Blue
 hi def	     DirPagerLink	ctermfg=Cyan	    guifg=Cyan
+hi def	     DirPagerSpecial	ctermfg=Yellow	    guifg=Yellow
+hi def	     DirPagerFifo	ctermfg=Brown	    guifg=Brown
 
 let b:current_syntax = "dirpager"
 
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
--- a/runtime/syntax/dnsmasq.vim
+++ b/runtime/syntax/dnsmasq.vim
@@ -1,9 +1,11 @@
 " Vim syntax file
-" Language:	dnsmasq(8) configuration file
+" Language:	dnsmasq configuration file
 " Maintainer:	Thilo Six <T.Six@gmx.de>
-" Last Change:	2011 Jul 14
-" Credits:	This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
-"		Igor N. Prischepoff
+" Version:	2.59-1
+" Last Change:	2011 Dec 11
+" Modeline:	vim: ts=8:sw=2:sts=2:
+"
+" Credits:	Igor N. Prischepoff
 "		Doug Kearns
 "		David Ne\v{c}as
 "
@@ -16,15 +18,20 @@
 "		    let dnsmasq_backrgound_light = 1
 "		endif
 "
+"
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
     syntax clear
-elseif exists ("b:current_syntax")
+elseif exists("b:current_syntax") || &compatible
     finish
 endif
 
+" predictable environment:
+let s:keepcpo = &cpo
+set cpo&vim
+
 
 if !exists("b:dnsmasq_backrgound_light")
 	if exists("dnsmasq_backrgound_light")
@@ -60,13 +67,20 @@ syn match   DnsmasqComment  "\s#.*$"  co
 
 syn keyword DnsmasqTodo	    FIXME TODO XXX NOTE contained
 
+" highlight trailing spaces
+syn match   DnsmasqTrailSpace	   "[ \t]\+$"
+syn match   DnsmasqTrailSpace	   "[ \t]\+$" containedin=ALL
+
 syn match DnsmasqKeywordSpecial    "\<set\>:"me=e-1
 syn match DnsmasqKeywordSpecial    "\<tag\>:"me=e-1
 syn match DnsmasqKeywordSpecial    ",\<static\>"hs=s+1	  contains=DnsmasqSpecial
 syn match DnsmasqKeywordSpecial    ",\<infinite\>"hs=s+1  contains=DnsmasqSpecial
 syn match DnsmasqKeywordSpecial    "\<encap\>:"me=e-1
+syn match DnsmasqKeywordSpecial    "\<interface\>:"me=e-1
+syn match DnsmasqKeywordSpecial    "\<vi-encap\>:"me=e-1
 syn match DnsmasqKeywordSpecial    "\<net\>:"me=e-1
 syn match DnsmasqKeywordSpecial    "\<vendor\>:"me=e-1
+syn match DnsmasqKeywordSpecial    "\<opt\>:"me=e-1
 syn match DnsmasqKeywordSpecial    "\<option\>:"me=e-1
 syn match DnsmasqKeywordSpecial    ",\<ignore\>"hs=s+1	  contains=DnsmasqSpecial
 syn match DnsmasqKeywordSpecial    "\<id\>:"me=e-1
@@ -79,30 +93,46 @@ syn match DnsmasqKeyword    "^\s*all-ser
 syn match DnsmasqKeyword    "^\s*bind-interfaces\>"
 syn match DnsmasqKeyword    "^\s*bogus-nxdomain\>"
 syn match DnsmasqKeyword    "^\s*bogus-priv\>"
+syn match DnsmasqKeyword    "^\s*bootp-dynamic\>"
+syn match DnsmasqKeyword    "^\s*bridge-interface\>"
 syn match DnsmasqKeyword    "^\s*cache-size\>"
 syn match DnsmasqKeyword    "^\s*clear-on-reload\>"
 syn match DnsmasqKeyword    "^\s*cname\>"
 syn match DnsmasqKeyword    "^\s*conf-dir\>"
 syn match DnsmasqKeyword    "^\s*conf-file\>"
+syn match DnsmasqKeyword    "^\s*conntrack\>"
+syn match DnsmasqKeyword    "^\s*dhcp-alternate-port\>"
 syn match DnsmasqKeyword    "^\s*dhcp-authoritative\>"
 syn match DnsmasqKeyword    "^\s*dhcp-boot\>"
+syn match DnsmasqKeyword    "^\s*dhcp-broadcast\>"
+syn match DnsmasqKeyword    "^\s*dhcp-circuitid\>"
 syn match DnsmasqKeyword    "^\s*dhcp-fqdn\>"
+syn match DnsmasqKeyword    "^\s*dhcp-generate-names\>"
 syn match DnsmasqKeyword    "^\s*dhcp-host\>"
+syn match DnsmasqKeyword    "^\s*dhcp-hostsfile\>"
 syn match DnsmasqKeyword    "^\s*dhcp-ignore\>"
+syn match DnsmasqKeyword    "^\s*dhcp-ignore-names\>"
 syn match DnsmasqKeyword    "^\s*dhcp-lease-max\>"
 syn match DnsmasqKeyword    "^\s*dhcp-leasefile\>"
 syn match DnsmasqKeyword    "^\s*dhcp-mac\>"
 syn match DnsmasqKeyword    "^\s*dhcp-match\>"
 syn match DnsmasqKeyword    "^\s*dhcp-no-override\>"
+syn match DnsmasqKeyword    "^\s*dhcp-option\>"
 syn match DnsmasqKeyword    "^\s*dhcp-option-force\>"
-syn match DnsmasqKeyword    "^\s*dhcp-option\>"
+syn match DnsmasqKeyword    "^\s*dhcp-optsfile\>"
+syn match DnsmasqKeyword    "^\s*dhcp-proxy\>"
 syn match DnsmasqKeyword    "^\s*dhcp-range\>"
+syn match DnsmasqKeyword    "^\s*dhcp-remoteid\>"
 syn match DnsmasqKeyword    "^\s*dhcp-script\>"
 syn match DnsmasqKeyword    "^\s*dhcp-scriptuser\>"
+syn match DnsmasqKeyword    "^\s*dhcp-sequential-ip\>"
+syn match DnsmasqKeyword    "^\s*dhcp-subscrid\>"
 syn match DnsmasqKeyword    "^\s*dhcp-userclass\>"
 syn match DnsmasqKeyword    "^\s*dhcp-vendorclass\>"
+syn match DnsmasqKeyword    "^\s*dns-forward-max\>"
+syn match DnsmasqKeyword    "^\s*domain\>"
 syn match DnsmasqKeyword    "^\s*domain-needed\>"
-syn match DnsmasqKeyword    "^\s*domain\>"
+syn match DnsmasqKeyword    "^\s*edns-packet-max\>"
 syn match DnsmasqKeyword    "^\s*enable-dbus\>"
 syn match DnsmasqKeyword    "^\s*enable-tftp\>"
 syn match DnsmasqKeyword    "^\s*except-interface\>"
@@ -110,17 +140,24 @@ syn match DnsmasqKeyword    "^\s*expand-
 syn match DnsmasqKeyword    "^\s*filterwin2k\>"
 syn match DnsmasqKeyword    "^\s*group\>"
 syn match DnsmasqKeyword    "^\s*interface\>"
+syn match DnsmasqKeyword    "^\s*interface-name\>"
 syn match DnsmasqKeyword    "^\s*keep-in-foreground\>"
 syn match DnsmasqKeyword    "^\s*leasefile-ro\>"
 syn match DnsmasqKeyword    "^\s*listen-address\>"
+syn match DnsmasqKeyword    "^\s*local\>"
 syn match DnsmasqKeyword    "^\s*local-ttl\>"
-syn match DnsmasqKeyword    "^\s*local\>"
 syn match DnsmasqKeyword    "^\s*localise-queries\>"
 syn match DnsmasqKeyword    "^\s*localmx\>"
+syn match DnsmasqKeyword    "^\s*log-async\>"
 syn match DnsmasqKeyword    "^\s*log-dhcp\>"
+syn match DnsmasqKeyword    "^\s*log-facility\>"
 syn match DnsmasqKeyword    "^\s*log-queries\>"
+syn match DnsmasqKeyword    "^\s*max-ttl\>"
+syn match DnsmasqKeyword    "^\s*min-port\>"
 syn match DnsmasqKeyword    "^\s*mx-host\>"
 syn match DnsmasqKeyword    "^\s*mx-target\>"
+syn match DnsmasqKeyword    "^\s*naptr-record\>"
+syn match DnsmasqKeyword    "^\s*neg-ttl\>"
 syn match DnsmasqKeyword    "^\s*no-daemon\>"
 syn match DnsmasqKeyword    "^\s*no-dhcp-interface\>"
 syn match DnsmasqKeyword    "^\s*no-hosts\>"
@@ -128,11 +165,15 @@ syn match DnsmasqKeyword    "^\s*no-negc
 syn match DnsmasqKeyword    "^\s*no-ping\>"
 syn match DnsmasqKeyword    "^\s*no-poll\>"
 syn match DnsmasqKeyword    "^\s*no-resolv\>"
+syn match DnsmasqKeyword    "^\s*pid-file\>"
+syn match DnsmasqKeyword    "^\s*port\>"
 syn match DnsmasqKeyword    "^\s*proxy-dnssec\>"
 syn match DnsmasqKeyword    "^\s*ptr-record\>"
 syn match DnsmasqKeyword    "^\s*pxe-prompt\>"
 syn match DnsmasqKeyword    "^\s*pxe-service\>"
+syn match DnsmasqKeyword    "^\s*query-port\>"
 syn match DnsmasqKeyword    "^\s*read-ethers\>"
+syn match DnsmasqKeyword    "^\s*rebind-domain-ok\>"
 syn match DnsmasqKeyword    "^\s*rebind-localhost-ok\>"
 syn match DnsmasqKeyword    "^\s*resolv-file\>"
 syn match DnsmasqKeyword    "^\s*selfmx\>"
@@ -140,12 +181,17 @@ syn match DnsmasqKeyword    "^\s*server\
 syn match DnsmasqKeyword    "^\s*srv-host\>"
 syn match DnsmasqKeyword    "^\s*stop-dns-rebind\>"
 syn match DnsmasqKeyword    "^\s*strict-order\>"
+syn match DnsmasqKeyword    "^\s*tag-if\>"
+syn match DnsmasqKeyword    "^\s*test\>"
+syn match DnsmasqKeyword    "^\s*tftp-max\>"
 syn match DnsmasqKeyword    "^\s*tftp-no-blocksize\>"
+syn match DnsmasqKeyword    "^\s*tftp-port-range\>"
 syn match DnsmasqKeyword    "^\s*tftp-root\>"
 syn match DnsmasqKeyword    "^\s*tftp-secure\>"
 syn match DnsmasqKeyword    "^\s*tftp-unique-root\>"
 syn match DnsmasqKeyword    "^\s*txt-record\>"
 syn match DnsmasqKeyword    "^\s*user\>"
+syn match DnsmasqKeyword    "^\s*version\>"
 
 
 if b:dnsmasq_backrgound_light == 1
@@ -165,9 +211,12 @@ hi def link DnsmasqRange	DnsmasqMac
 hi def link DnsmasqMac		Preproc
 hi def link DnsmasqTime		Preproc
 hi def link DnsmasqComment	Comment
+hi def link DnsmasqTrailSpace	DiffDelete
 hi def link DnsmasqString	Constant
 hi def link DnsmasqValues	Normal
 
-
 let b:current_syntax = "dnsmasq"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
--- a/runtime/syntax/dosini.vim
+++ b/runtime/syntax/dosini.vim
@@ -1,10 +1,12 @@
 " Vim syntax file
 " Language:               Configuration File (ini file) for MSDOS/MS Windows
-" Version:                2.0
+" Version:                2.1
 " Original Author:        Sean M. McKee <mckee@misslink.net>
 " Previous Maintainer:    Nima Talebi <nima@it.net.au>
 " Current Maintainer:     Hong Xu <xuhdev@gmail.com>
-" Last Change:            2011 Jul 21
+" Homepage:               http://www.vim.org/scripts/script.php?script_id=3747
+"                         https://bitbucket.org/xuhdev/syntax-dosini.vim
+" Last Change:            2011 Nov 8
 
 
 " For version 5.x: Clear all syntax items
@@ -18,7 +20,6 @@ endif
 " shut case off
 syn case ignore
 
-syn match  dosiniBool     "\<\(yes\|no\|y\|n\|true\|false\)\>"
 syn match  dosiniNumber   "\<\d\+\>"
 syn match  dosiniNumber   "\<\d*\.\d\+\>"
 syn match  dosiniNumber   "\<\d\+e[+-]\=\d\+\>"
@@ -37,7 +38,6 @@ if version >= 508 || !exists("did_dosini
     command -nargs=+ HiLink hi def link <args>
   endif
 
-  HiLink dosiniBool     Boolean
   HiLink dosiniNumber   Number
   HiLink dosiniHeader   Special
   HiLink dosiniComment  Comment
--- a/runtime/syntax/gitolite.vim
+++ b/runtime/syntax/gitolite.vim
@@ -2,7 +2,7 @@
 " Language:	gitolite configuration
 " URL:		https://github.com/tmatilai/gitolite.vim
 " Maintainer:	Teemu Matilainen <teemu.matilainen@iki.fi>
-" Last Change:	2011-10-05
+" Last Change:	2011-10-18
 
 if exists("b:current_syntax")
   finish
@@ -20,7 +20,7 @@ syn match	gitoliteRepoDef		"^\s*repo\s" 
 syn match	gitoliteRepoLine	".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
 syn match	gitoliteUserLine	".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
 
-syn match	gitoliteWildRepo	"[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{}][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
+syn match	gitoliteWildRepo	"[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{},][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
 syn match	gitoliteGroup		"[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
 
 syn keyword	gitoliteCreator		CREATER CREATOR contained
@@ -30,7 +30,7 @@ syn match	gitoliteExtCmdHelper	"[ \t=]\@
 syn match	gitoliteExtCmd		"rsync\(\s\|$\)" contained
 
 " Illegal characters
-syn match	gitoliteRepoError	"[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{}-]\+" contained
+syn match	gitoliteRepoError	"[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{},-]\+" contained
 syn match	gitoliteUserError	"[^ \t0-9a-zA-Z._@+-]\+" contained
 syn match	gitoliteSpaceError	"\s\+" contained
 
--- a/runtime/syntax/gnash.vim
+++ b/runtime/syntax/gnash.vim
@@ -2,7 +2,8 @@
 " Language: 	gnash(1) configuration files
 "		http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
 " Maintainer: 	Thilo Six <T.Six@gmx.de>
-" Last Change: 	2011 Jul 02
+" Last Change: 	2011 Dec 11
+" Modeline:	vim: ts=8:sw=2:sts=2:
 " Credidts:	derived from readline.vim
 "		Nikolai Weibull
 "
@@ -11,7 +12,7 @@
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
     syntax clear
-elseif exists ("b:current_syntax")
+elseif exists("b:current_syntax") || &compatible
     finish
 endif
 
@@ -27,12 +28,10 @@ syn match   GnashNumber	    display '\<\
 syn case ignore
 syn keyword GnashOn	    ON YES TRUE
 syn keyword GnashOff	    OFF NO FALSE
-syn case match
 
 syn match GnashSet	    '^\s*set\>'
 syn match GnashSet	    '^\s*append\>'
 
-syn case ignore
 syn match GnashKeyword	    '\<CertDir\>'
 syn match GnashKeyword      '\<ASCodingErrorsVerbosity\>'
 syn match GnashKeyword      '\<CertFile\>'
@@ -91,3 +90,4 @@ hi def link GnashSet	    String
 hi def link GnashKeyword    Keyword
 
 let b:current_syntax = "gnash"
+
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2011 Jul 11
+" Last Change:	2011 Dec 03
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -29,6 +29,7 @@ else
   syn match helpStar		contained "\*"
 endif
 syn match helpNormal		"|.*====*|"
+syn match helpNormal		"|||"
 syn match helpNormal		":|vim:|"	" for :help modeline
 syn match helpVim		"Vim version [0-9.a-z]\+"
 syn match helpVim		"VIM REFERENCE.*"
--- a/runtime/syntax/lpc.vim
+++ b/runtime/syntax/lpc.vim
@@ -2,7 +2,7 @@
 " Language:	LPC
 " Maintainer:	Shizhu Pan <poet@mudbuilder.net>
 " URL:		http://poet.tomud.com/pub/lpc.vim.bz2
-" Last Change:	2003 May 11
+" Last Change:	2011 Dec 10 by Thilo Six
 " Comments:	If you are using Vim 6.2 or later, see :h lpc.vim for
 "		file type recognizing, if not, you had to use modeline.
 
@@ -17,6 +17,9 @@ elseif exists("b:current_syntax")
   finish
 endif
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Nodule: Keywords {{{1
 
 " LPC keywords
@@ -345,7 +348,6 @@ exec "syn sync ccomment lpcComment minli
 setlocal cindent
 setlocal fo-=t fo+=croql
 setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
-set cpo-=C
 
 " Win32 can filter files in the browse dialog
 if has("gui_win32") && !exists("b:browsefilter")
@@ -451,5 +453,8 @@ endif
 
 let b:current_syntax = "lpc"
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim:ts=8:nosta:sw=2:ai:si:
 " vim600:set fdm=marker: }}}1
--- a/runtime/syntax/mail.vim
+++ b/runtime/syntax/mail.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:		Mail file
 " Previous Maintainer:	Felix von Leitner <leitner@math.fu-berlin.de>
-" Maintainer:		Gautam Iyer <gi1242@users.sourceforge.net>
-" Last Change:		Thu 06 Nov 2008 10:10:55 PM PST
+" Maintainer:		GI <a@b.c>, where a='gi1242+vim', b='gmail', c='com'
+" Last Change:		Sat 03 Dec 2011 10:34:27 PM EST
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -89,7 +89,7 @@ hi def link mailSignature	PreProc
 hi def link mailHeaderEmail	mailEmail
 hi def link mailEmail		Special
 hi def link mailURL		String
-hi def link mailSubject		LineNR
+hi def link mailSubject		Title
 hi def link mailQuoted1		Comment
 hi def link mailQuoted3		mailQuoted1
 hi def link mailQuoted5		mailQuoted1
--- a/runtime/syntax/sqlanywhere.vim
+++ b/runtime/syntax/sqlanywhere.vim
@@ -1,4 +1,3 @@
-
 " Vim syntax file
 " Language:    SQL, Adaptive Server Anywhere
 " Maintainer:  David Fishburn <fishburn at ianywhere dot com>
--- a/runtime/syntax/sshconfig.vim
+++ b/runtime/syntax/sshconfig.vim
@@ -1,7 +1,12 @@
 " Vim syntax file
-" Language: OpenSSH client configuration file (ssh_config)
-" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2009-07-09
+" Language:	OpenSSH client configuration file (ssh_config)
+" Author:	David Necas (Yeti)
+" Maintainer:   Leonard Ehrenfried <leonard.ehrenfried@web.de>	
+" Modified By:	Thilo Six
+" Originally:	2009-07-09
+" Last Change:	2011 Oct 31
+" SSH Version:	5.9p1
+"
 
 " Setup
 if version >= 600
@@ -18,70 +23,161 @@ else
   set iskeyword=_,-,a-z,A-Z,48-57
 endif
 
-syn case ignore
+
+" case on
+syn case match
+
 
 " Comments
-syn match sshconfigComment "#.*$" contains=sshconfigTodo
-syn keyword sshconfigTodo TODO FIXME NOT contained
+syn match sshconfigComment "^#.*$" contains=sshconfigTodo
+syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
+
+syn keyword sshconfigTodo TODO FIXME NOTE contained
+
 
 " Constants
 syn keyword sshconfigYesNo yes no ask
 syn keyword sshconfigYesNo any auto
-syn keyword sshconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
-syn keyword sshconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
-syn keyword sshconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
+syn keyword sshconfigYesNo force autoask none
+
+syn keyword sshconfigCipher  3des blowfish
+syn keyword sshconfigCiphers aes128-cbc 3des-cbc blowfish blowfish-cbc cast128-cbc
+syn keyword sshconfigCiphers aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
+syn keyword sshconfigCiphers arcfour arcfour128 arcfour256 cast128-cbc
+
 syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
 syn keyword sshconfigMAC hmac-md5-96
-syn match sshconfigMAC "\<umac-64@openssh\.com\>"
+syn keyword sshconfigMAC hmac-sha2-256 hmac-sha2-256-96 hmac-sha2-512
+syn keyword sshconfigMAC hmac-sha2-512-96
+syn match   sshconfigMAC "\<umac-64@openssh\.com\>"
+
 syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
-syn keyword sshconfigPreferredAuth hostbased publickey password
+syn match   sshconfigHostKeyAlg "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ssh-rsa-cert-v01@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ssh-dss-cert-v01@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ssh-rsa-cert-v00@openssh\.com\>"
+syn match   sshconfigHostKeyAlg "\<ssh-dss-cert-v00@openssh\.com\>"
+syn keyword sshconfigHostKeyAlg ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521
+
+syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
 syn keyword sshconfigPreferredAuth keyboard-interactive
+
 syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
 syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
 syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
 syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
-syn match sshconfigVar "%[rhpldun]\>"
+syn keyword sshconfigAddressFamily  inet inet6
+
+syn match   sshconfigIPQoS	"af1[1234]"
+syn match   sshconfigIPQoS	"af2[23]"
+syn match   sshconfigIPQoS	"af3[123]"
+syn match   sshconfigIPQoS	"af4[123]"
+syn match   sshconfigIPQoS	"cs[0-7]"
+syn keyword sshconfigIPQoS	ef lowdelay throughput reliability
+syn keyword sshconfigKbdInteractive bsdauth pam skey
+
+syn keyword sshconfigKexAlgo	ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
+syn keyword sshconfigKexAlgo	diffie-hellman-group-exchange-sha256
+syn keyword sshconfigKexAlgo	diffie-hellman-group-exchange-sha1
+syn keyword sshconfigKexAlgo	diffie-hellman-group14-sha1
+syn keyword sshconfigKexAlgo	diffie-hellman-group1-sha1
+
+syn keyword sshconfigTunnel	point-to-point ethernet
+
+syn match sshconfigVar "%[rhplLdun]\>"
 syn match sshconfigSpecial "[*?]"
 syn match sshconfigNumber "\d\+"
 syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
 syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
 syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
 
+
+" case off
+syn case ignore
+
+
 " Keywords
 syn keyword sshconfigHostSect Host
+
 syn keyword sshconfigKeyword AddressFamily
-syn keyword sshconfigKeyword BatchMode BindAddress
-syn keyword sshconfigKeyword ChallengeResponseAuthentication CheckHostIP
-syn keyword sshconfigKeyword Cipher Ciphers ClearAllForwardings
-syn keyword sshconfigKeyword Compression CompressionLevel ConnectTimeout
-syn keyword sshconfigKeyword ConnectionAttempts ControlMaster
-syn keyword sshconfigKeyword ControlPath DynamicForward
-syn keyword sshconfigKeyword EnableSSHKeysign EscapeChar ExitOnForwardFailure
-syn keyword sshconfigKeyword ForwardAgent ForwardX11
+syn keyword sshconfigKeyword BatchMode
+syn keyword sshconfigKeyword BindAddress
+syn keyword sshconfigKeyword ChallengeResponseAuthentication
+syn keyword sshconfigKeyword CheckHostIP
+syn keyword sshconfigKeyword Cipher
+syn keyword sshconfigKeyword Ciphers
+syn keyword sshconfigKeyword ClearAllForwardings
+syn keyword sshconfigKeyword Compression
+syn keyword sshconfigKeyword CompressionLevel
+syn keyword sshconfigKeyword ConnectTimeout
+syn keyword sshconfigKeyword ConnectionAttempts
+syn keyword sshconfigKeyword ControlMaster
+syn keyword sshconfigKeyword ControlPath
+syn keyword sshconfigKeyword ControlPersist
+syn keyword sshconfigKeyword DynamicForward
+syn keyword sshconfigKeyword EnableSSHKeysign
+syn keyword sshconfigKeyword EscapeChar
+syn keyword sshconfigKeyword ExitOnForwardFailure
+syn keyword sshconfigKeyword ForwardAgent
+syn keyword sshconfigKeyword ForwardX11
+syn keyword sshconfigKeyword ForwardX11Timeout
 syn keyword sshconfigKeyword ForwardX11Trusted
 syn keyword sshconfigKeyword GSSAPIAuthentication
-syn keyword sshconfigKeyword GSSAPIDelegateCredentials GatewayPorts
+syn keyword sshconfigKeyword GSSAPIClientIdentity
+syn keyword sshconfigKeyword GSSAPIDelegateCredentials
+syn keyword sshconfigKeyword GSSAPIKeyExchange
+syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
+syn keyword sshconfigKeyword GSSAPIServerIdentity
+syn keyword sshconfigKeyword GSSAPITrustDNS
+syn keyword sshconfigKeyword GSSAPITrustDns
+syn keyword sshconfigKeyword GatewayPorts
 syn keyword sshconfigKeyword GlobalKnownHostsFile
-syn keyword sshconfigKeyword HostKeyAlgorithms HashKnownHosts
-syn keyword sshconfigKeyword HostKeyAlias HostName HostbasedAuthentication
-syn keyword sshconfigKeyword IdentitiesOnly IdentityFile
-syn keyword sshconfigKeyword KbdInteractiveAuthentication KbdInteractiveDevices
-syn keyword sshconfigKeyword LocalCommand LocalForward LogLevel
+syn keyword sshconfigKeyword HashKnownHosts
+syn keyword sshconfigKeyword HostKeyAlgorithms
+syn keyword sshconfigKeyword HostKeyAlias
+syn keyword sshconfigKeyword HostName
+syn keyword sshconfigKeyword HostbasedAuthentication
+syn keyword sshconfigKeyword IPQoS
+syn keyword sshconfigKeyword IdentitiesOnly
+syn keyword sshconfigKeyword IdentityFile
+syn keyword sshconfigKeyword KbdInteractiveAuthentication
+syn keyword sshconfigKeyword KbdInteractiveDevices
+syn keyword sshconfigKeyword KexAlgorithms
+syn keyword sshconfigKeyword LocalCommand
+syn keyword sshconfigKeyword LocalForward
+syn keyword sshconfigKeyword LogLevel
 syn keyword sshconfigKeyword MACs
 syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
 syn keyword sshconfigKeyword NumberOfPasswordPrompts
-syn keyword sshconfigKeyword PasswordAuthentication PermitLocalCommand
-syn keyword sshconfigKeyword Port PreferredAuthentications Protocol
-syn keyword sshconfigKeyword ProxyCommand PubkeyAuthentication
+syn keyword sshconfigKeyword PKCS11Provider
+syn keyword sshconfigKeyword PasswordAuthentication
 syn keyword sshconfigKeyword PermitLocalCommand
-syn keyword sshconfigKeyword RSAAuthentication RemoteForward RekeyLimit
+syn keyword sshconfigKeyword Port
+syn keyword sshconfigKeyword PreferredAuthentications
+syn keyword sshconfigKeyword Protocol
+syn keyword sshconfigKeyword ProxyCommand
+syn keyword sshconfigKeyword PubkeyAuthentication
+syn keyword sshconfigKeyword RSAAuthentication
+syn keyword sshconfigKeyword RekeyLimit
+syn keyword sshconfigKeyword RemoteForward
+syn keyword sshconfigKeyword RequestTTY
 syn keyword sshconfigKeyword RhostsRSAAuthentication
-syn keyword sshconfigKeyword SendEnv ServerAliveCountMax ServerAliveInterval
-syn keyword sshconfigKeyword SmartcardDevice StrictHostKeyChecking
-syn keyword sshconfigKeyword Tunnel TunnelDevice
-syn keyword sshconfigKeyword TCPKeepAlive UsePrivilegedPort User
+syn keyword sshconfigKeyword SendEnv
+syn keyword sshconfigKeyword ServerAliveCountMax
+syn keyword sshconfigKeyword ServerAliveInterval
+syn keyword sshconfigKeyword SmartcardDevice
+syn keyword sshconfigKeyword StrictHostKeyChecking
+syn keyword sshconfigKeyword TCPKeepAlive
+syn keyword sshconfigKeyword Tunnel
+syn keyword sshconfigKeyword TunnelDevice
+syn keyword sshconfigKeyword UseBlacklistedKeys
+syn keyword sshconfigKeyword UsePrivilegedPort
+syn keyword sshconfigKeyword User
 syn keyword sshconfigKeyword UserKnownHostsFile
-syn keyword sshconfigKeyword VerifyHostKeyDNS VisualHostKey
+syn keyword sshconfigKeyword VerifyHostKeyDNS
+syn keyword sshconfigKeyword VisualHostKey
 syn keyword sshconfigKeyword XAuthLocation
 
 " Define the default highlighting
@@ -100,10 +196,16 @@ if version >= 508 || !exists("did_sshcon
   HiLink sshconfigConstant       Constant
   HiLink sshconfigYesNo          sshconfigEnum
   HiLink sshconfigCipher         sshconfigEnum
+  HiLink sshconfigCiphers	 sshconfigEnum
   HiLink sshconfigMAC            sshconfigEnum
   HiLink sshconfigHostKeyAlg     sshconfigEnum
   HiLink sshconfigLogLevel       sshconfigEnum
   HiLink sshconfigSysLogFacility sshconfigEnum
+  HiLink sshconfigAddressFamily  sshconfigEnum
+  HiLink sshconfigIPQoS		 sshconfigEnum
+  HiLink sshconfigKbdInteractive sshconfigEnum
+  HiLink sshconfigKexAlgo	 sshconfigEnum
+  HiLink sshconfigTunnel	 sshconfigEnum
   HiLink sshconfigPreferredAuth  sshconfigEnum
   HiLink sshconfigVar            sshconfigEnum
   HiLink sshconfigEnum           Identifier
@@ -114,3 +216,5 @@ if version >= 508 || !exists("did_sshcon
 endif
 
 let b:current_syntax = "sshconfig"
+
+" vim:set ts=8 sw=2 sts=2:
--- a/runtime/syntax/sshdconfig.vim
+++ b/runtime/syntax/sshdconfig.vim
@@ -1,7 +1,12 @@
 " Vim syntax file
-" Language: OpenSSH server configuration file (sshd_config)
-" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2009-07-09
+" Language:	OpenSSH server configuration file (sshd_config)
+" Maintainer:	David Necas (Yeti)
+" Maintainer:   Leonard Ehrenfried <leonard.ehrenfried@web.de>	
+" Modified By:	Thilo Six
+" Originally:	2009-07-09
+" Last Change:	2011 Oct 31 
+" SSH Version:	5.9p1
+"
 
 " Setup
 if version >= 600
@@ -18,27 +23,63 @@ else
   set iskeyword=_,-,a-z,A-Z,48-57
 endif
 
-syn case ignore
+
+" case on
+syn case match
+
 
 " Comments
-syn match sshdconfigComment "#.*$" contains=sshdconfigTodo
-syn keyword sshdconfigTodo TODO FIXME NOT contained
+syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo
+syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo
+
+syn keyword sshdconfigTodo TODO FIXME NOTE contained
 
 " Constants
 syn keyword sshdconfigYesNo yes no none
+
 syn keyword sshdconfigAddressFamily any inet inet6
+
 syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
-syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
+syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
 syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
+
 syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
 syn keyword sshdconfigMAC hmac-md5-96
-syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
+syn keyword sshdconfigMAC hmac-sha2-256 hmac-sha256-96 hmac-sha2-512
+syn keyword sshdconfigMAC hmac-sha2-512-96
+syn match   sshdconfigMAC "\<umac-64@openssh\.com\>"
+
 syn keyword sshdconfigRootLogin without-password forced-commands-only
+
 syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
 syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
 syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
 syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+
+syn keyword sshdconfigCompression    delayed
+
+syn match   sshdconfigIPQoS	"af1[1234]"
+syn match   sshdconfigIPQoS	"af2[23]"
+syn match   sshdconfigIPQoS	"af3[123]"
+syn match   sshdconfigIPQoS	"af4[123]"
+syn match   sshdconfigIPQoS	"cs[0-7]"
+syn keyword sshdconfigIPQoS	ef lowdelay throughput reliability
+
+syn keyword sshdconfigKexAlgo	ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
+syn keyword sshdconfigKexAlgo	diffie-hellman-group-exchange-sha256
+syn keyword sshdconfigKexAlgo	diffie-hellman-group-exchange-sha1
+syn keyword sshdconfigKexAlgo	diffie-hellman-group14-sha1
+syn keyword sshdconfigKexAlgo	diffie-hellman-group1-sha1
+
+syn keyword sshdconfigTunnel	point-to-point ethernet
+
+syn keyword sshdconfigSubsystem internal-sftp
+
+syn match sshdconfigVar	    "%[hu]\>"
+syn match sshdconfigVar	    "%%"
+
 syn match sshdconfigSpecial "[*?]"
+
 syn match sshdconfigNumber "\d\+"
 syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
 syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
@@ -46,38 +87,93 @@ syn match sshdconfigHostPort "\<\([-a-zA
 syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
 syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
 
+
+" case off
+syn case ignore
+
+
 " Keywords
 syn keyword sshdconfigMatch Host User Group Address
-syn keyword sshdconfigKeyword AcceptEnv AddressFamily AllowAgentForwarding
-syn keyword sshdconfigKeyword AllowGroups AllowTcpForwarding
-syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile
+
+syn keyword sshdconfigKeyword AcceptEnv
+syn keyword sshdconfigKeyword AddressFamily
+syn keyword sshdconfigKeyword AllowAgentForwarding
+syn keyword sshdconfigKeyword AllowGroups
+syn keyword sshdconfigKeyword AllowTcpForwarding
+syn keyword sshdconfigKeyword AllowUsers
+syn keyword sshdconfigKeyword AuthorizedKeysFile
+syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
 syn keyword sshdconfigKeyword Banner
-syn keyword sshdconfigKeyword ChallengeResponseAuthentication ChrootDirectory
-syn keyword sshdconfigKeyword Ciphers ClientAliveCountMax
-syn keyword sshdconfigKeyword ClientAliveInterval Compression
-syn keyword sshdconfigKeyword DenyGroups DenyUsers
+syn keyword sshdconfigKeyword ChallengeResponseAuthentication
+syn keyword sshdconfigKeyword ChrootDirectory
+syn keyword sshdconfigKeyword Ciphers
+syn keyword sshdconfigKeyword ClientAliveCountMax
+syn keyword sshdconfigKeyword ClientAliveInterval
+syn keyword sshdconfigKeyword Compression
+syn keyword sshdconfigKeyword DebianBanner
+syn keyword sshdconfigKeyword DenyGroups
+syn keyword sshdconfigKeyword DenyUsers
 syn keyword sshdconfigKeyword ForceCommand
-syn keyword sshdconfigKeyword GatewayPorts GSSAPIAuthentication
+syn keyword sshdconfigKeyword GSSAPIAuthentication
 syn keyword sshdconfigKeyword GSSAPICleanupCredentials
-syn keyword sshdconfigKeyword HostbasedAuthentication HostKey
-syn keyword sshdconfigKeyword IgnoreRhosts IgnoreUserKnownHosts
-syn keyword sshdconfigKeyword KerberosAuthentication KerberosGetAFSToken
-syn keyword sshdconfigKeyword KerberosOrLocalPasswd KerberosTicketCleanup
+syn keyword sshdconfigKeyword GSSAPIKeyExchange
+syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
+syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
+syn keyword sshdconfigKeyword GatewayPorts
+syn keyword sshdconfigKeyword HostCertificate
+syn keyword sshdconfigKeyword HostKey
+syn keyword sshdconfigKeyword HostbasedAuthentication
+syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
+syn keyword sshdconfigKeyword IPQoS
+syn keyword sshdconfigKeyword IgnoreRhosts
+syn keyword sshdconfigKeyword IgnoreUserKnownHosts
+syn keyword sshdconfigKeyword KbdInteractiveAuthentication
+syn keyword sshdconfigKeyword KerberosAuthentication
+syn keyword sshdconfigKeyword KerberosGetAFSToken
+syn keyword sshdconfigKeyword KerberosOrLocalPasswd
+syn keyword sshdconfigKeyword KerberosTicketCleanup
+syn keyword sshdconfigKeyword KexAlgorithms
 syn keyword sshdconfigKeyword KeyRegenerationInterval
-syn keyword sshdconfigKeyword ListenAddress LoginGraceTime LogLevel
-syn keyword sshdconfigKeyword MACs Match MaxAuthTries MaxSessions MaxStartups
-syn keyword sshdconfigKeyword PasswordAuthentication PermitEmptyPasswords
-syn keyword sshdconfigKeyword PermitRootLogin PermitOpen PermitTunnel
-syn keyword sshdconfigKeyword PermitUserEnvironment PidFile Port
-syn keyword sshdconfigKeyword PrintLastLog PrintMotd Protocol
+syn keyword sshdconfigKeyword ListenAddress
+syn keyword sshdconfigKeyword LogLevel
+syn keyword sshdconfigKeyword LoginGraceTime
+syn keyword sshdconfigKeyword MACs
+syn keyword sshdconfigKeyword Match
+syn keyword sshdconfigKeyword MaxAuthTries
+syn keyword sshdconfigKeyword MaxSessions
+syn keyword sshdconfigKeyword MaxStartups
+syn keyword sshdconfigKeyword PasswordAuthentication
+syn keyword sshdconfigKeyword PermitBlacklistedKeys
+syn keyword sshdconfigKeyword PermitEmptyPasswords
+syn keyword sshdconfigKeyword PermitOpen
+syn keyword sshdconfigKeyword PermitRootLogin
+syn keyword sshdconfigKeyword PermitTunnel
+syn keyword sshdconfigKeyword PermitUserEnvironment
+syn keyword sshdconfigKeyword PidFile
+syn keyword sshdconfigKeyword Port
+syn keyword sshdconfigKeyword PrintLastLog
+syn keyword sshdconfigKeyword PrintMotd
+syn keyword sshdconfigKeyword Protocol
 syn keyword sshdconfigKeyword PubkeyAuthentication
-syn keyword sshdconfigKeyword RhostsRSAAuthentication RSAAuthentication
-syn keyword sshdconfigKeyword ServerKeyBits ShowPatchLevel StrictModes
-syn keyword sshdconfigKeyword Subsystem SyslogFacility
+syn keyword sshdconfigKeyword RSAAuthentication
+syn keyword sshdconfigKeyword RevokedKeys
+syn keyword sshdconfigKeyword RhostsRSAAuthentication
+syn keyword sshdconfigKeyword ServerKeyBits
+syn keyword sshdconfigKeyword ShowPatchLevel
+syn keyword sshdconfigKeyword StrictModes
+syn keyword sshdconfigKeyword Subsystem
+syn keyword sshdconfigKeyword SyslogFacility
 syn keyword sshdconfigKeyword TCPKeepAlive
-syn keyword sshdconfigKeyword UseDNS UseLogin UsePAM UsePrivilegeSeparation
-syn keyword sshdconfigKeyword X11DisplayOffset X11Forwarding
-syn keyword sshdconfigKeyword X11UseLocalhost XAuthLocation
+syn keyword sshdconfigKeyword TrustedUserCAKeys
+syn keyword sshdconfigKeyword UseDNS
+syn keyword sshdconfigKeyword UseLogin
+syn keyword sshdconfigKeyword UsePAM
+syn keyword sshdconfigKeyword UsePrivilegeSeparation
+syn keyword sshdconfigKeyword X11DisplayOffset
+syn keyword sshdconfigKeyword X11Forwarding
+syn keyword sshdconfigKeyword X11UseLocalhost
+syn keyword sshdconfigKeyword XAuthLocation
+
 
 " Define the default highlighting
 if version >= 508 || !exists("did_sshdconfig_syntax_inits")
@@ -101,6 +197,12 @@ if version >= 508 || !exists("did_sshdco
   HiLink sshdconfigRootLogin      sshdconfigEnum
   HiLink sshdconfigLogLevel       sshdconfigEnum
   HiLink sshdconfigSysLogFacility sshdconfigEnum
+  HiLink sshdconfigVar		  sshdconfigEnum
+  HiLink sshdconfigCompression    sshdconfigEnum
+  HiLink sshdconfigIPQoS	  sshdconfigEnum
+  HiLink sshdconfigKexAlgo	  sshdconfigEnum
+  HiLink sshdconfigTunnel	  sshdconfigEnum
+  HiLink sshdconfigSubsystem	  sshdconfigEnum
   HiLink sshdconfigEnum           Function
   HiLink sshdconfigSpecial        Special
   HiLink sshdconfigKeyword        Keyword
@@ -109,3 +211,5 @@ if version >= 508 || !exists("did_sshdco
 endif
 
 let b:current_syntax = "sshdconfig"
+
+" vim:set ts=8 sw=2 sts=2: