changeset 6823:0303182665d5

Updated runtime files.
author Bram Moolenaar <bram@vim.org>
date Tue, 09 Jun 2015 19:44:55 +0200
parents 856ac8b406e6
children 095b538d58a6
files runtime/doc/eval.txt runtime/doc/insert.txt runtime/doc/motion.txt runtime/doc/options.txt runtime/doc/todo.txt runtime/filetype.vim runtime/ftplugin/kconfig.vim runtime/ftplugin/spec.vim runtime/ftplugin/zsh.vim runtime/indent/javascript.vim runtime/indent/zsh.vim runtime/syntax/cpp.vim runtime/syntax/css.vim runtime/syntax/debchangelog.vim runtime/syntax/debcontrol.vim runtime/syntax/debsources.vim runtime/syntax/groovy.vim runtime/syntax/kconfig.vim runtime/syntax/po.vim runtime/syntax/rc.vim runtime/syntax/vhdl.vim runtime/syntax/zsh.vim
diffstat 22 files changed, 508 insertions(+), 179 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Apr 11
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2961,6 +2961,8 @@ extend({expr1}, {expr2} [, {expr3}])			*
 		{expr1} is changed when {expr2} is not empty.  If necessary
 		make a copy of {expr1} first.
 		{expr2} remains unchanged.
+		When {expr1} is locked and {expr2} is not empty the operation
+		fails.
 		Returns {expr1}.
 
 
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.4.  Last change: 2014 Aug 04
+*insert.txt*    For Vim version 7.4.  Last change: 2015 May 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -81,9 +81,11 @@ CTRL-W		Delete the word before the curso
 		joining lines).  See the section "word motions",
 		|word-motions|, for the definition of a word.
 						*i_CTRL-U*
-CTRL-U		Delete all entered characters in the current line (see
-		|i_backspacing| about joining lines).
-
+CTRL-U		Delete all entered characters before the cursor in the current
+		line.  If there are no newly entereed characters and
+		'backspace'is not empty, delete all characters before the
+		cursor in the current line.
+		See |i_backspacing| about joining lines.
 						*i_CTRL-I* *i_<Tab>* *i_Tab*
 <Tab> or CTRL-I Insert a tab.  If the 'expandtab' option is on, the
 		equivalent number of spaces is inserted (use CTRL-V <Tab> to
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.4.  Last change: 2014 Feb 11
+*motion.txt*    For Vim version 7.4.  Last change: 2015 Jun 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -172,6 +172,8 @@ CTRL-H		or					*CTRL-H* *<BS>*
 l		or					*l*
 <Right>		or					*<Right>* *<Space>*
 <Space>			[count] characters to the right.  |exclusive| motion.
+			See the 'whichwrap' option for adjusting the behavior
+			at end of line
 
 							*0*
 0			To the first character of the line.  |exclusive|
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2015 Feb 17
+*options.txt*	For Vim version 7.4.  Last change: 2015 May 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Apr 15
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Jun 09
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -78,45 +78,94 @@ Patch to make getregtype() return the ri
 (Yasuhiro Matsumoto, 2014 Jul 8)
 Breaks test_eval.  Inefficient, can we only compute y_width when needed?
 
-Show Vim icon in Windows context menu. Issue 249.  (Mario Weber, 2015 Apr 11)
+Patch to fix test (Christian, 2015 May 5)
+
+Patch to fix ml_get error. (Yukihiro Nakadaira, 2015 May 22)
+
+Patch for neovim. (Christian, 2015 May 5)
 
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
 
 Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
 
+Regression for v_b_A. (Ingo Karkat, 2015 May 18)
+
+Patch for memory access problem. (Dominique Pelle, 2015 May 5)
+
 R indent files update. (Jakson Alves de Aquino, Mar 31)
 
 Updated Python syntax file. (Dmitry Vasiliev, Mar 30)
+Discucussion about what version to use, Petkovic, 2015 May 19.
+Patch for existing syntax file, Zvezdan Petkovic, 2015 May 17)
 
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
+Patch on issue 361 by James McCoy.
+
+Patch on issue 365.
+
+Patch to add "vsplit" to 'switchbuf'. (Brook Hong, 2015 Jun 4)
+
+patch to fix that "p" in Visual mode does not break line in expected place.
+(Yukihiro Nakadaira, 2015 May 23)
+
+Patch to fix that wide characters do not work properly after exiting.
+(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
+
+Patch to add grepfile(). (Scott Prager, 2015 May 26)
+
+keymap for Russian typewriter layout. (Danwerspb, 2015 May 15)
+
+Patch for man.vim. (SungHyun Nam, 2015 May 20)
+Doesn't work completely (Dominique Orban)
+
+Invalid memory access in regexp.c. (Dominique Pelle, 2015 May 23)
+
 Using ":windo" to set options in all windows has the side effect that it
 changes the window layout and the current window.  Make a variant that saves
 and restores.  Use in the matchparen plugin.
 Perhaps we can use ":silent window"?
 
-Patch to make Ruby 2.2 work. (Andrei Olsen)
-
-Window drawn wrong with 'laststatus' zero and a command-line window.
-(Yclept Nemo, 2015 Apr 7)
-Patch by Christian, Apr 8.
-
-Patch to make undo files not executable. (Mikael Berthe, 2015 Apr 5)
+Patch for :[count]tag" not always working. (Hirohito Higashi, 2015 May 19)
+
+Include the LogiPat plugin in the distribution?
+
+Patch to fix that ":cnext" jumps to the wrong column. (Hirohito Higashi, 2015
+May 17, second patch)
+
+Pull request for jcukenwintype.vim. (Denis Proskurin, 2015 May 15)
+
+Patch for appending in Visual mode with 'linebreak' set.
+(Christian Brabandt, 2015 Jun 1)
+
+Patch to make CTRL-A in Visual mode increment all Visually selected numbers.
+Same for decrement with CTRL-X. (Christian Brabandt, 2015 Jun 8)
 
 C indent: should recognize C11 raw strings. (Mark Lodato, 2015 Mar 1)
-Need to recognize R"string".
-
-Patch for :tabmove not working as documented. (Hirohito Higashi, 2015 Mar 10)
-https://gist.github.com/h-east/ffabb0cdd589a5f9acd2
-Updated patch emailed. (Mar 17)  Awaiting comments.
+Need to recognize R"string" for 'cindent'.
+
+Updated phpcomplete. (Mikolaj Machowski, 2015 May 6)
+
+Patch to detect background terminal color in xterm. (Lubomir Rintel, 2015 Jun
+1)
+
+Patch to fix that in command-line window first character is erased
+when conceallevel is set. (Hirohito Higashi, 2015 May 12)
 
 Crash when changing the 'tags' option from a remote command.
-(Benjamin Fritz, 2015 Mar 18)
+(Benjamin Fritz, 2015 Mar 18, stack trace Mar 20)
+
+Patch on issue 361.
+
+Patch on issue 362.
 
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
+Can src/GvimExt/Make_cyg.mak be removed?
+Same for src/xxd/Make_cyg.mak
+
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
 MS-Windows: When editing a file with a leading space, writing it uses the
@@ -125,14 +174,22 @@ wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
 Can't recognize the $ProgramFiles(x86) environment variable.  Recognize it
 specifically?  First try with the parens, then without.
 
+Patch to force redraw after ":syn spell" command. (Christian, 2015 May 8)
+
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
 Better greek spell checking.  Issue 299.
 
+Patch to add 'completeselect' option.  Specifies how to select a candidate in
+insert completion. (Shougo, 2013 May 29)
+Update to add to existing 'completeopt'. 2013 May 30
+
 When complete() first argument is before where insert started and 'backspace'
 is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
 
+Patch to fix equivalence classes in regexp. (Dominique Pelle, 2015 Jun 2)
+
 Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
 Goes away when disabling the swap file. (might1, Feb 16)
 
@@ -148,16 +205,13 @@ Build with Python on Mac does not always
 ml_updatechunk() is slow when retrying for another encoding. (John Little,
 2014 Sep 11)
 
-Patch to add 'space' argument to 'listchars'. (Issue 350)
-Author: David Bürgin
+Patch to use different terminal mode settings for system(). (Hayaki Saito)
+Does this work for everybody?
 
 When a session file is created and there are "nofile" buffers, these are not
 filled.  Need to trigger BufReadCmd autocommands.  Also handle deleting the
 initial empty buffer better. (ZyX, 2015 March 8)
 
-Calling setreg() with an empty list doesn't work.
-Patch by Yasuhiro Matsumoto, 2014 Dec 14.
-
 Extended file attributes lost on write (backupcopy=no).  Issue 306.
 
 Patch to add an argument to ":ls" for specific kinds of buffers.
@@ -170,8 +224,16 @@ from two windows?  Stopped happening (Fe
 Patch for an extra argument to matchadd() for conceal. (Christian Brabandt,
 2015 Feb 17, update Feb 19)
 
+Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
+Update 2015 May 30.
+
+Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
+OK to not block marks?
+
 Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
 
+Patch on issue 79: use 'path' option for filename completion.
+
 Patch to add 'belloff' option. (Christian Brabandt, 2015 Jan 31)
 Update Feb 6.
 
@@ -217,11 +279,24 @@ With test, Nov 23.
 Wrong scrolling when using incsearch.  Patch by Christian Brabandt, 2014 Dec 4.
 Is this a good solution?
 
+Patch to allow setting w:quickfix_title via setqflist() and setloclist()
+functions. (Christian Brabandt, 2013 May 8, update May 21)
+Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
+Second one. Update May 22.
+Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
+
+Patch: Let rare word highlighting overrule good word highlighting.
+(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
+
+Patch to add digits argument to round(). (Yasuhiro Matsumoto, 2015 Apr 26)
+
 Can assign to s:type when a function s:type has been defined.
 Also the other way around: define a function while a variable with that name
 was already defined.
 (Yasuhiro Matsumoto, 2014 Nov 3)
 
+Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)
+
 Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
 Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
 Updated patch by Roland Eggner, Dec 16
@@ -264,6 +339,11 @@ No error for missing endwhile. (ZyX, 201
 The entries added by matchaddpos() are returned by getmatches() but can't be
 set with setmatches(). (lcd47, 2014 Jun 29)
 
+Patch to make extend() fail early when it might fail at some point.
+(Olaf Dabrunz, 2015 May 2)  Makes extend() slower, do we still want it?
+Perhaps only the checks that can be done without looping over the dict or
+arguments.
+
 Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
 
 PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
@@ -382,8 +462,6 @@ Remark on the docs.  Should not be a com
 Completion of ":e" is ":earlier", should be ":edit".  Complete to the matching
 command instead of doing this alphabetically. (Mikel Jorgensen)
 
-Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
-
 Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24)
 
 Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
@@ -518,12 +596,6 @@ Dialog is too big on Linux too. (David F
 Patch to check whether a buffer is quickfix or a location list.
 (Yasuhiro Matsumoto, 2014 Dec 9)
 
-Patch to allow setting w:quickfix_title via setqflist() and setloclist()
-functions. (Christian Brabandt, 2013 May 8, update May 21)
-Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
-Second one. Update May 22.
-Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
-
 Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
 
 Issue 54: document behavior of -complete, also expands arg.
@@ -572,10 +644,6 @@ signs?  Patch by Christian Brabandt, 201
 
 Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
 
-Patch to add 'completeselect' option.  Specifies how to select a candidate in
-insert completion. (Shougo, 2013 May 29)
-Update to add to existing 'completeopt'. 2013 May 30
-
 Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
 
 b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
@@ -1002,9 +1070,6 @@ Patch for GVimExt to show an icon. (Domi
 When writing a file > 2Gbyte, the reported number of bytes is negative.
 (Antonio Colombo, 2010 Dec 18)
 
-Patch: Let rare word highlighting overrule good word highlighting.
-(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
-
 When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
 instead of one. (Constantin Pan, 2010 Sep 10)
 
--- 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:	2015 Apr 06
+" Last Change:	2015 Jun 06
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -499,7 +499,7 @@ au BufNewFile,BufRead *.prg
 	\ endif
 
 " Clojure
-au BufNewFile,BufRead *.clj,*.cljs		setf clojure
+au BufNewFile,BufRead *.clj,*.cljs,*.cljx,*.cljc		setf clojure
 
 " Cmake
 au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in		setf cmake
@@ -776,10 +776,9 @@ au BufNewFile,BufRead *.mo,*.gdmo		setf 
 au BufNewFile,BufRead *.ged,lltxxxxx.txt	setf gedcom
 
 " Git
-au BufNewFile,BufRead *.git/COMMIT_EDITMSG	setf gitcommit
-au BufNewFile,BufRead *.git/MERGE_MSG		setf gitcommit
+au BufNewFile,BufRead COMMIT_EDITMSG		setf gitcommit
+au BufNewFile,BufRead MERGE_MSG			setf gitcommit
 au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
-au BufNewFile,BufRead *.git/modules/*/COMMIT_EDITMSG setf gitcommit
 au BufNewFile,BufRead *.git/modules/*/config	setf gitconfig
 au BufNewFile,BufRead */.config/git/config	setf gitconfig
 if !empty($XDG_CONFIG_HOME)
--- a/runtime/ftplugin/kconfig.vim
+++ b/runtime/ftplugin/kconfig.vim
@@ -1,6 +1,10 @@
 " Vim filetype plugin file
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2008-07-09
+" Vim syntax file
+" Maintainer:           Christian Brabandt <cb@256bit.org>
+" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
+" Latest Revision:      2015-05-29
+" License:              Vim (see :h license)
+" Repository:		https://github.com/chrisbra/vim-kconfig
 
 if exists("b:did_ftplugin")
   finish
@@ -14,5 +18,10 @@ let b:undo_ftplugin = "setl com< cms< fo
 
 setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
 
+" For matchit.vim
+if exists("loaded_matchit")
+  let b:match_words = '^\<menu\>:\<endmenu\>,^\<if\>:\<endif\>,^\<choice\>:\<endchoice\>'
+endif
+
 let &cpo = s:cpo_save
 unlet s:cpo_save
--- a/runtime/ftplugin/spec.vim
+++ b/runtime/ftplugin/spec.vim
@@ -2,7 +2,7 @@
 " Filename: spec.vim
 " Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
 " Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
-" Last Change: Fri Feb 20 16:01 MSK 2014 Igor Gnatenko
+" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko
 
 if exists("b:did_ftplugin")
 	finish
@@ -22,11 +22,36 @@ if !hasmapto("call <SID>SpecChangelog(\"
        noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
 endif
 
+if !exists("*s:GetRelVer")
+	function! s:GetRelVer()
+		if has('python')
+python << PYEND
+import sys, datetime, shutil, tempfile
+import vim
+
+try:
+    import rpm
+except ImportError:
+    pass
+else:
+    specfile = vim.current.buffer.name
+    if specfile:
+        spec = rpm.spec(specfile)
+        headers = spec.packages[0].header
+        version = headers['Version']
+        release = ".".join(headers['Release'].split(".")[:-1])
+        vim.command("let ver = " + version)
+        vim.command("let rel = " + release)
+PYEND
+		endif
+	endfunction
+endif
+
 if !exists("*s:SpecChangelog")
 	function s:SpecChangelog(format)
 		if strlen(a:format) == 0
 			if !exists("g:spec_chglog_format")
-				let email = input("Email address: ")
+				let email = input("Name <email address>: ")
 				let g:spec_chglog_format = "%a %b %d %Y " . l:email
 				echo "\r"
 			endif
@@ -71,6 +96,9 @@ if !exists("*s:SpecChangelog")
 		else
 			let include_release_info = 0
 		endif
+
+		call s:GetRelVer()
+
 		if (chgline == -1)
 			let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3)
 			if (option == 1)
@@ -85,7 +113,7 @@ if !exists("*s:SpecChangelog")
 			endif
 		endif
 		if (chgline != -1)
-			let parsed_format = "* ".strftime(format)
+			let parsed_format = "* ".strftime(format)." - ".ver."-".rel
 			let release_info = "+ ".name."-".ver."-".rel
 			let wrong_format = 0
 			let wrong_release = 0
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -1,7 +1,10 @@
 " Vim filetype plugin file
-" Language:         Zsh shell script
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2011-01-23
+" Language:		Zsh shell script
+" Maintainer:		Christian Brabandt <cb@256bit.org>
+" Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
+" Latest Revision:	2015-05-29
+" License:		Vim (see :h license)
+" Repository:		https://github.com/chrisbra/vim-zsh
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/indent/javascript.vim
+++ b/runtime/indent/javascript.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Javascript
-" Maintainer:	None!  Wanna improve this?
-" Last Change:	2007 Jan 22
+" Maintainer:	Going to be Darrick Wiebe
+" Last Change:	2015 Jun 09
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -12,5 +12,7 @@ let b:did_indent = 1
 " C indenting is not too bad.
 setlocal cindent
 setlocal cinoptions+=j1,J1
+setlocal cinkeys-=0#
+setlocal cinkeys+=0]
 
 let b:undo_indent = "setl cin<"
--- a/runtime/indent/zsh.vim
+++ b/runtime/indent/zsh.vim
@@ -1,7 +1,10 @@
 " Vim indent file
-" Language:	    Zsh Shell Script
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Language:             Zsh shell script
+" Maintainer:           Christian Brabandt <cb@256bit.org>
+" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
+" Latest Revision:      2015-05-29
+" License:              Vim (see :h license)
+" Repository:           https://github.com/chrisbra/vim-zsh
 
 if exists("b:did_indent")
   finish
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -2,7 +2,7 @@
 " Language:	C++
 " Current Maintainer:	vim-jp (https://github.com/vim-jp/vim-cpp)
 " Previous Maintainer:	Ken Shan <ccshan@post.harvard.edu>
-" Last Change:	2015 Mar 1
+" Last Change:	2015 May 04
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -46,7 +46,7 @@ if !exists("cpp_no_cpp11")
   syn keyword cppConstant	ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
   syn keyword cppConstant	ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
   syn keyword cppConstant	ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
-  syn region cppRawString	matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
+  syn region cppRawString	matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
 endif
 
 " The minimum and maximum operators in GNU C++
@@ -70,7 +70,7 @@ if version >= 508 || !exists("did_cpp_sy
   HiLink cppStructure		Structure
   HiLink cppBoolean		Boolean
   HiLink cppConstant		Constant
-  HiLink cppRawDelimiter	Delimiter
+  HiLink cppRawStringDelimiter	Delimiter
   HiLink cppRawString		String
   delcommand HiLink
 endif
--- a/runtime/syntax/css.vim
+++ b/runtime/syntax/css.vim
@@ -6,7 +6,7 @@
 "               Nikolai Weibull (Add CSS2 support)
 " Maintainer:   Jules Wang      <w.jq0722@gmail.com>
 " URL:          https://github.com/JulesWang/css.vim
-" Last Change:  2013 Nov.27
+" Last Change:  2015 Apr.17
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -26,18 +26,19 @@ set cpo&vim
 
 syn case ignore
 
-" All HTML4 tags
-syn keyword cssTagName abbr acronym address applet area a b base
-syn keyword cssTagName basefont bdo big blockquote body br button
-syn keyword cssTagName caption center cite code col colgroup dd del
-syn keyword cssTagName dfn dir div dl dt em fieldset font form frame
-syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i
-syn keyword cssTagName iframe img input ins isindex kbd label legend li
-syn keyword cssTagName link map menu meta noframes noscript ol optgroup
-syn keyword cssTagName option p param pre q s samp script select small
-syn keyword cssTagName span strike strong style sub sup table tbody td
-syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
+" HTML4 tags
+syn keyword cssTagName abbr address area a b base
+syn keyword cssTagName bdo blockquote body br button
+syn keyword cssTagName caption cite code col colgroup dd del
+syn keyword cssTagName dfn div dl dt em fieldset form
+syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i
+syn keyword cssTagName iframe input ins isindex kbd label legend li
+syn keyword cssTagName link map menu meta noscript ol optgroup
+syn keyword cssTagName option p param pre q s samp script small
+syn keyword cssTagName span strong sub sup tbody td
+syn keyword cssTagName textarea tfoot th thead title tr ul u var
 syn keyword cssTagName object svg
+syn match   cssTagName /\<select\>\|\<style\>\|\<table\>/
 
 " 34 HTML5 tags
 syn keyword cssTagName article aside audio bdi canvas command data
@@ -47,8 +48,8 @@ syn keyword cssTagName output progress r
 syn keyword cssTagName source summary time track video wbr
 
 " Tags not supported in HTML5
-syn keyword cssDeprecated acronym applet basefont big center dir
-syn keyword cssDeprecated font frame frameset noframes strike tt
+" acronym applet basefont big center dir
+" font frame frameset noframes strike tt
 
 syn match cssTagName "\*"
 
@@ -70,13 +71,13 @@ endtry
 " digits
 syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
 syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
-syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators
-syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators
-syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
-syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
+syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
+syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
+syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
+syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators
 
 
-syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
+syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
 " @media
 syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock
 syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
@@ -86,7 +87,7 @@ syn match cssMediaComma "," skipwhite sk
 
 " Reference: http://www.w3.org/TR/css3-mediaqueries/
 syn keyword cssMediaProp contained width height orientation scan grid
-syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
+syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
 syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
 syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
 syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
@@ -104,7 +105,7 @@ syn keyword cssPageProp contained orphan
 
 " @keyframe
 " http://www.w3.org/TR/css3-animations/#keyframes
-syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
+syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
 syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
 syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/  contained skipwhite skipnl nextgroup=cssDefinition
 
@@ -116,15 +117,27 @@ syn region cssInclude start=/@namespace\
 " @font-face
 " http://www.w3.org/TR/css3-fonts/#at-font-face-rule
 syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
-syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
-"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
-"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
+syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise
+
+syn match cssFontDescriptorProp contained "\<font-family\>"
 syn keyword cssFontDescriptorProp contained src
+syn match cssFontDescriptorProp contained "\<font-\(style\|weight\|stretch\)\>"
 syn match cssFontDescriptorProp contained "\<unicode-range\>"
-syn keyword cssFontDescriptorAttr contained all
+syn match cssFontDescriptorProp contained "\<font-\(variant\|feature-settings\)\>"
+
+" src functions
 syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
-syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
-syn match cssUnicodeRange contained "U+\x\+-\x\+"
+" font-sytle and font-weight attributes
+syn keyword cssFontDescriptorAttr contained normal italic oblique bold
+" font-stretch attributes
+syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
+" unicode-range attributes
+syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+"
+syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
+" font-feature-settings attributes
+syn keyword cssFontDescriptorAttr contained on off
+
+
 
 " The 16 basic color names
 syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
@@ -133,23 +146,23 @@ syn keyword cssColor contained aqua blac
 syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
 syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
 syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
-syn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/
-syn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/
-syn match cssColor contained /darkslate\(blue\|gray\|grey\)/
-syn match cssColor contained /dark\(turquoise\|violet\)/
+syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/
+syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/
+syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/
+syn match cssColor contained /\<dark\(turquoise\|violet\)\>/
 syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
 syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
 syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
 syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
 syn keyword cssColor contained lemonchiffon limegreen linen magenta
-syn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/
-syn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/
-syn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/
-syn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/
-syn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/
+syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/
+syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/
+syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/
+syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/
+syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/
 syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
 syn keyword cssColor contained oldlace olivedrab orange orangered orchid
-syn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/
+syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/
 syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
 syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
 syn keyword cssColor contained seagreen seashell sienna skyblue slateblue
@@ -167,11 +180,12 @@ syn case ignore
 syn match cssImportant contained "!\s*important\>"
 
 syn match cssColor contained "\<transparent\>"
+syn match cssColor contained "\<currentColor\>"
 syn match cssColor contained "\<white\>"
 syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
 syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
 
-syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline extend
+syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline  contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
@@ -196,6 +210,9 @@ syn keyword cssAnimationAttr contained f
 
 " animation-play-state attributes
 syn keyword cssAnimationAttr contained running paused
+
+" animation-iteration-count attributes
+syn keyword cssAnimationAttr contained infinite
 "------------------------------------------------
 "  CSS Backgrounds and Borders Module Level 3
 "  http://www.w3.org/TR/css3-background/
@@ -253,7 +270,7 @@ syn keyword cssDimensionProp contained w
 syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
 syn keyword cssFlexibleBoxAttr contained start end baseline
 syn keyword cssFlexibleBoxAttr contained reverse
-syn keyword cssFlexibleBoxAttr contained single mulitple
+syn keyword cssFlexibleBoxAttr contained single multiple
 syn keyword cssFlexibleBoxAttr contained horizontal
 syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
 syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
@@ -261,6 +278,7 @@ syn match cssFlexibleBoxAttr contained "
 " CSS Fonts Module Level 3
 " http://www.w3.org/TR/css-fonts-3/
 syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
+
 " font attributes
 syn keyword cssFontAttr contained icon menu caption
 syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
@@ -268,27 +286,21 @@ syn match cssFontAttr contained "\<messa
 syn match cssFontAttr contained "\<status-bar\>"
 syn keyword cssFontAttr contained larger smaller
 syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
-
 " font-family attributes
 syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
-syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf
+syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf
 syn keyword cssFontAttr contained cursive fantasy monospace
-
 " font-feature-settings attributes
 syn keyword cssFontAttr contained on off
-
 " font-stretch attributes
 syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
-
 " font-style attributes
 syn keyword cssFontAttr contained italic oblique
-
-" font-variant-caps attributes
-syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>"
-syn keyword cssFontAttr contained unicase
-
+" font-synthesis attributes
+syn keyword cssFontAttr contained weight style
 " font-weight attributes
 syn keyword cssFontAttr contained bold bolder lighter
+" TODO: font-variant-* attributes
 "------------------------------------------------
 
 " Webkit specific property/attributes
@@ -448,7 +460,7 @@ syn match cssMobileTextProp contained "\
 
 syn match cssBraces contained "[{}]"
 syn match cssError contained "{@<>"
-syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold
+syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
 syn match cssBraceError "}"
 syn match cssAttrComma ","
 
@@ -466,6 +478,9 @@ syn match cssPseudoClassId contained  "\
 syn match cssPseudoClassId contained  "\<focus\(-inner\)\=\>"
 syn match cssPseudoClassId contained  "\<\(input-\)\=placeholder\>"
 
+" Misc highlight groups
+syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
+syntax match cssNoise contained /\(:\|;\|\/\)/
 
 " Comment
 syn region cssComment start="/\*" end="\*/" contains=@Spell fold
@@ -487,17 +502,13 @@ syn match cssVendor contained "\(-\(webk
 " http://www.paulirish.com/2009/browser-specific-css-hacks/
 syn match cssHacks contained /\(_\|*\)/
 
-" Misc highlight groups
-syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
-syntax match cssNoise contained /\(:\|;\|\/\)/
-
 " Attr Enhance
 " Some keywords are both Prop and Attr, so we have to handle them
-syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
+syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
 
 " Hack for transition
-" The 'transition' Prop has Props after ':'.
-syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
+" 'transition' has Props after ':'.
+syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
 
 
 if main_syntax == "css"
@@ -635,7 +646,7 @@ if version >= 508 || !exists("did_css_sy
   HiLink cssAttr Constant
   HiLink cssUnitDecorators Number
   HiLink cssNoise Noise
-  HiLink atKeyword Comment
+  HiLink atKeyword PreProc
   delcommand HiLink
 endif
 
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2014 Jul 11
+" Last Change: 2015 Apr 30
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -16,10 +16,14 @@ endif
 " Case doesn't matter for us
 syn case ignore
 
+let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
+let binNMU='binary-only=yes'
+
 " Define some common expressions we can use later on
 syn match debchangelogName	contained "^[[:alnum:]][[:alnum:].+-]\+ "
-syn match debchangelogUrgency	contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget	contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+exe 'syn match debchangelogFirstKV	contained "; \('.urgency.'\|'.binNMU.'\)"'
+exe 'syn match debchangelogOtherKV	contained ", \('.urgency.'\|'.binNMU.'\)"'
+syn match debchangelogTarget	contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
 syn match debchangelogVersion	contained "(.\{-})"
 syn match debchangelogCloses	contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 syn match debchangelogLP	contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
@@ -27,7 +31,7 @@ syn match debchangelogEmail	contained "[
 syn match debchangelogEmail	contained "<.\{-}>"
 
 " Define the entries that make up the changelog
-syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogUrgency,debchangelogTarget,debchangelogVersion oneline
+syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogVersion,debchangelogBinNMU oneline
 syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
 syn region debchangelogEntry start="^  " end="$" contains=debchangelogCloses,debchangelogLP oneline
 
@@ -45,7 +49,8 @@ if version >= 508 || !exists("did_debcha
   HiLink debchangelogEntry		Normal
   HiLink debchangelogCloses		Statement
   HiLink debchangelogLP			Statement
-  HiLink debchangelogUrgency		Identifier
+  HiLink debchangelogFirstKV		Identifier
+  HiLink debchangelogOtherKV		Identifier
   HiLink debchangelogName		Comment
   HiLink debchangelogVersion		Identifier
   HiLink debchangelogTarget		Identifier
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2014 May 01
+" Last Change: 2014 Oct 08
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -50,7 +50,7 @@ syn match debcontrolDmUpload contained "
 syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
 syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
 syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
-syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
+syn match debcontrolVcsGit contained "\v%(git|https?)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
 
 " An email address
 syn match	debcontrolEmail	"[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2014 Jul 11
+" Last Change: 2015 May 25
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -21,15 +21,35 @@ syn match debsourcesKeyword        /\(de
 " Match comments
 syn match debsourcesComment        /#.*/  contains=@Spell
 
+let s:cpo = &cpo
+set cpo-=C
+let s:supported = [
+      \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
+      \ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
+      \
+      \ 'precise', 'trusty', 'utopic', 'vivid', 'wily', 'devel'
+      \ ]
+let s:unsupported = [
+      \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
+      \ 'woody', 'sarge', 'etch', 'lenny',
+      \
+      \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
+      \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
+      \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy'
+      \ ]
+let &cpo=s:cpo
+
 " Match uri's
 syn match debsourcesUri            +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\++
-syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|jessie\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|devel\|lucid\|precise\|trusty\|utopic\)\([-[:alnum:]_./]*\)+
+exe 'syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
+exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
 
 " Associate our matches and regions with pretty colours
-hi def link debsourcesLine            Error
-hi def link debsourcesKeyword         Statement
-hi def link debsourcesDistrKeyword    Type
-hi def link debsourcesComment         Comment
-hi def link debsourcesUri             Constant
+hi def link debsourcesLine                    Error
+hi def link debsourcesKeyword                 Statement
+hi def link debsourcesDistrKeyword            Type
+hi def link debsourcesUnsupportedDistrKeyword WarningMsg
+hi def link debsourcesComment                 Comment
+hi def link debsourcesUri                     Constant
 
 let b:current_syntax = "debsources"
--- a/runtime/syntax/groovy.vim
+++ b/runtime/syntax/groovy.vim
@@ -2,9 +2,9 @@
 " Language:	Groovy
 " Original Author:	Alessio Pace <billy.corgan@tiscali.it>
 " Maintainer:	Tobias Rapp <yahuxo@gmx.de>
-" Version: 	0.1.13
+" Version: 	0.1.14
 " URL:	  http://www.vim.org/scripts/script.php?script_id=945
-" Last Change:	2015 Apr 13
+" Last Change:	2015 Apr 21
 
 " THE ORIGINAL AUTHOR'S NOTES:
 "
@@ -157,7 +157,7 @@ syn match groovyOperator "\.\."
 syn match groovyOperator "<\{2,3}"
 syn match groovyOperator ">\{2,3}"
 syn match groovyOperator "->"
-syn match groovyExternal		'^#!.*[/\\]groovy\>'
+syn match groovyLineComment       '^\%1l#!.*'  " Shebang line
 syn match groovyExceptions        "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
 
 " Groovy JDK stuff
--- a/runtime/syntax/kconfig.vim
+++ b/runtime/syntax/kconfig.vim
@@ -1,6 +1,9 @@
 " Vim syntax file
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2009-05-25
+" Maintainer:           Christian Brabandt <cb@256bit.org>
+" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
+" Latest Revision:      2015-05-29
+" License:              Vim (see :h license)
+" Repository:		https://github.com/chrisbra/vim-kconfig
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/po.vim
+++ b/runtime/syntax/po.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	po (gettext)
 " Maintainer:	Dwayne Bailey <dwayne@translate.org.za>
-" Last Change:	2012 Apr 30
+" Last Change:	2015 Jun 07
 " Contributors: Dwayne Bailey (Most advanced syntax highlighting)
 "               Leonardo Fontenelle (Spell checking)
 "               Nam SungHyun <namsh@kldp.org> (Original maintainer)
@@ -52,6 +52,9 @@ syn match     poCommentTranslator "^# .*
 syn match     poCommentAutomatic "^#\..*$" 
 syn match     poCommentSources	"^#:.*$"
 syn match     poCommentFlags "^#,.*$" contains=poFlagFuzzy
+syn match     poDiffOld '\(^#| "[^{]*+}\|{+[^}]*+}\|{+[^}]*\|"$\)' contained
+syn match     poDiffNew '\(^#| "[^{]*-}\|{-[^}]*-}\|{-[^}]*\|"$\)' contained
+syn match     poCommentDiff "^#|.*$" contains=poDiffOld,poDiffNew
 
 " Translations (also includes header fields as they appear in a translation msgstr)
 syn region poCommentKDE	  start=+"_: +ms=s+1 end="\\n" end="\"\n^msgstr"me=s-1 contained
@@ -94,8 +97,11 @@ if version >= 508 || !exists("did_po_syn
   HiLink poCommentAutomatic  Comment
   HiLink poCommentTranslator Comment
   HiLink poCommentFlags      Special
+  HiLink poCommentDiff       Comment
   HiLink poCopyrightUnset    Todo
   HiLink poFlagFuzzy         Todo
+  HiLink poDiffOld           Todo
+  HiLink poDiffNew          Special
   HiLink poObsolete         Comment
 
   HiLink poStatementMsgid   Statement
--- a/runtime/syntax/rc.vim
+++ b/runtime/syntax/rc.vim
@@ -1,7 +1,10 @@
 " Vim syntax file
 " Language:	M$ Resource files (*.rc)
-" Maintainer:	Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
-" Last Change:	2001 May 09
+" Maintainer:	Christian Brabandt
+" Last Change:	2015-05-29
+" Repository:   https://github.com/chrisbra/vim-rc-syntax
+" License:	Vim (see :h license)
+" Previous Maintainer:	Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
 
 " This file is based on the c.vim
 
@@ -21,7 +24,7 @@ syn keyword rcMainObject MENU ACCELERATO
 syn keyword rcMainObject STRINGTABLE MESSAGETABLE RCDATA DLGINIT DESIGNINFO
 
 syn keyword rcSubObject POPUP MENUITEM SEPARATOR
-syn keyword rcSubObject CONTROL LTEXT CTEXT EDITTEXT
+syn keyword rcSubObject CONTROL LTEXT CTEXT RTEXT EDITTEXT
 syn keyword rcSubObject BUTTON PUSHBUTTON DEFPUSHBUTTON GROUPBOX LISTBOX COMBOBOX
 syn keyword rcSubObject FILEVERSION PRODUCTVERSION FILEFLAGSMASK FILEFLAGS FILEOS
 syn keyword rcSubObject FILETYPE FILESUBTYPE
--- a/runtime/syntax/vhdl.vim
+++ b/runtime/syntax/vhdl.vim
@@ -3,7 +3,7 @@
 " Maintainer:	Daniel Kho <daniel.kho@tauhop.com>
 " Previous Maintainer:	Czo <Olivier.Sirol@lip6.fr>
 " Credits:	Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
-" Last Changed:	2012 Feb 03 by Thilo Six
+" Last Changed:	2015 Apr 25 by Daniel Kho
 " $Id: vhdl.vim,v 1.1 2004/06/13 15:34:56 vimboss Exp $
 
 " VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
@@ -160,10 +160,20 @@ syn match   vhdlSpecial  "[().,;]"
 syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
 syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
 
-syn keyword vhdlTodo contained TODO FIXME
+syn keyword vhdlTodo	contained TODO NOTE
+syn keyword vhdlFixme	contained FIXME
 
-syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,@Spell
-syn match vhdlComment "--.*" contains=vhdlTodo,@Spell
+" Regex for space is '\s'
+"   Any number of spaces: \s*
+"   At least one space:	  \s+
+syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,vhdlFixme,@Spell
+syn match vhdlComment "--.*" contains=vhdlTodo,vhdlFixme,@Spell
+syn match vhdlPreProc "/\* synthesis .* \*/"
+syn match vhdlPreProc "/\* pragma .* \*/"
+syn match vhdlPreProc "/\* synopsys .* \*/"
+syn match vhdlPreProc "--\s*synthesis .*"
+syn match vhdlPreProc "--\s*pragma .*"
+syn match vhdlPreProc "--\s*synopsys .*"
 " syn match vhdlGlobal "[\'$#~!%@?\^\[\]{}\\]"
 
 "Modify the following as needed.  The trade-off is performance versus functionality.
@@ -180,21 +190,22 @@ if version >= 508 || !exists("did_vhdl_s
     command -nargs=+ HiLink hi def link <args>
   endif
 
-"  HiLink cDefine       PreProc
-  HiLink vhdlSpecial   Special
-  HiLink vhdlStatement Statement
-  HiLink vhdlCharacter Character
-  HiLink vhdlString    String
-  HiLink vhdlVector    Number
-  HiLink vhdlBoolean   Number
-  HiLink vhdlTodo      Todo
-  HiLink vhdlComment   Comment
-  HiLink vhdlNumber    Number
-  HiLink vhdlTime      Number
-  HiLink vhdlType      Type
-  HiLink vhdlOperator  Special
+  HiLink vhdlSpecial	Special
+  HiLink vhdlStatement	Statement
+  HiLink vhdlCharacter	Character
+  HiLink vhdlString	String
+  HiLink vhdlVector	Number
+  HiLink vhdlBoolean  	Number
+  HiLink vhdlTodo	Todo
+  HiLink vhdlFixme	Fixme
+  HiLink vhdlComment	Comment
+  HiLink vhdlNumber	Number
+  HiLink vhdlTime	Number
+  HiLink vhdlType	Type
+  HiLink vhdlOperator	Operator
 "  HiLink vhdlGlobal    Error
-  HiLink vhdlAttribute Type
+  HiLink vhdlAttribute	Special
+  HiLink vhdlPreProc	PreProc
 
   delcommand HiLink
 endif
--- a/runtime/syntax/zsh.vim
+++ b/runtime/syntax/zsh.vim
@@ -1,7 +1,10 @@
 " Vim syntax file
-" Language:         Zsh shell script
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2010-01-23
+" Language:             Zsh shell script
+" Maintainer:           Christian Brabandt <cb@256bit.org>
+" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
+" Latest Revision:      2015-05-29
+" License:              Vim (see :h license)
+" Repository:		https://github.com/chrisbra/vim-zsh
 
 if exists("b:current_syntax")
   finish
@@ -14,7 +17,7 @@ setlocal iskeyword+=-
 
 syn keyword zshTodo             contained TODO FIXME XXX NOTE
 
-syn region  zshComment          oneline start='\%(^\|\s\)#' end='$'
+syn region  zshComment          oneline start='\%(^\|\s*\)#' end='$'
                                 \ contains=zshTodo,@Spell
 
 syn match   zshPreProc          '^\%1l#\%(!\|compdef\|autoload\).*$'
@@ -30,7 +33,7 @@ syn match   zshJobSpec          '%\(\d\+
 
 syn keyword zshPrecommand       noglob nocorrect exec command builtin - time
 
-syn keyword zshDelimiter        do done
+syn keyword zshDelimiter        do done end
 
 syn keyword zshConditional      if then elif else fi case in esac select
 
@@ -64,7 +67,7 @@ syn region  zshHereDoc          matchgro
                                 \ end='^\s*\z1\>'
                                 \ contains=@zshSubst
 syn region  zshHereDoc          matchgroup=zshRedir
-                                \ start=+<\@<!<<\s*\(["']\)\z(\S\+\)\1+ 
+                                \ start=+<\@<!<<\s*\(["']\)\z(\S\+\)\1+
                                 \ end='^\z1\>'
 syn region  zshHereDoc          matchgroup=zshRedir
                                 \ start=+<\@<!<<-\s*\(["']\)\z(\S\+\)\1+
@@ -121,6 +124,165 @@ syn keyword zshCommands         alias au
                                 \ zmodload zparseopts zprof zpty zregexparse
                                 \ zsocket zstyle ztcp
 
+" Options, generated by: echo ${(j:\n:)options[(I)*]} | sort
+syn case ignore
+syn keyword zshOptions          aliases allexport all_export alwayslastprompt
+                                \ always_lastprompt alwaystoend always_to_end
+                                \ appendhistory append_history autocd autocontinue
+                                \ auto_continue autolist auto_list
+                                \ automenu auto_menu autonamedirs auto_name_dirs
+                                \ autoparamkeys auto_param_keys autoparamslash
+                                \ auto_param_slash autopushd auto_pushd autoremoveslash
+                                \ auto_remove_slash autoresume auto_resume badpattern
+                                \ banghist bang_hist bareglobqual bare_glob_qual
+                                \ bashautolist bash_auto_list bashrematch bash_rematch
+                                \ beep bgnice braceccl brace_ccl braceexpand brace_expand
+                                \ bsdecho bsd_echo caseglob case_glob casematch case_match
+                                \ cbases cdablevars cd_able_vars chasedots chase_dots
+                                \ chaselinks chase_links checkjobs check_jobs
+                                \ clobber combiningchars combining_chars completealiases
+                                \ complete_aliases completeinword complete_in_word
+                                \ continueonerror continue_on_error correct
+                                \ correctall correct_all cprecedences c_precedences
+                                \ cshjunkiehistory csh_junkie_history cshjunkieloops
+                                \ csh_junkie_loops cshjunkiequotes csh_junkie_quotes
+                                \ cshnullcmd csh_null_cmd cshnullglob csh_null_glob
+                                \ debugbeforecmd debug_before_cmd dotglob dot_glob dvorak
+                                \ emacs equals errexit err_exit errreturn err_return evallineno
+                                \ eval_lineno exec extendedglob extended_glob extendedhistory
+                                \ extended_history flowcontrol flow_control forcefloat
+                                \ force_float functionargzero function_arg_zero glob globalexport
+                                \ global_export globalrcs global_rcs globassign glob_assign
+                                \ globcomplete glob_complete globdots glob_dots glob_subst
+                                \ globsubst hashall hash_all hashcmds hash_cmds hashdirs
+                                \ hash_dirs hashexecutablesonly hash_executables_only hashlistall
+                                \ hash_list_all histallowclobber hist_allow_clobber histappend
+                                \ hist_append histbeep hist_beep hist_expand hist_expire_dups_first
+                                \ histexpand histexpiredupsfirst histfcntllock hist_fcntl_lock
+                                \ histfindnodups hist_find_no_dups histignorealldups
+                                \ hist_ignore_all_dups histignoredups hist_ignore_dups
+                                \ histignorespace hist_ignore_space histlexwords hist_lex_words
+                                \ histnofunctions hist_no_functions histnostore hist_no_store
+                                \ histreduceblanks hist_reduce_blanks histsavebycopy
+                                \ hist_save_by_copy histsavenodups hist_save_no_dups
+                                \ histsubstpattern hist_subst_pattern histverify hist_verify
+                                \ hup ignorebraces ignore_braces ignoreclosebraces ignore_close_braces
+                                \ ignoreeof ignore_eof incappendhistory inc_append_history
+                                \ incappendhistorytime inc_append_history_time interactive
+                                \ interactivecomments interactive_comments ksharrays ksh_arrays
+                                \ kshautoload ksh_autoload kshglob ksh_glob kshoptionprint
+                                \ ksh_option_print kshtypeset ksh_typeset kshzerosubscript
+                                \ ksh_zero_subscript listambiguous list_ambiguous listbeep
+                                \ list_beep listpacked list_packed listrowsfirst list_rows_first
+                                \ listtypes list_types localloops local_loops localoptions
+                                \ local_options localpatterns local_patterns localtraps
+                                \ local_traps log login longlistjobs long_list_jobs magicequalsubst
+                                \ magic_equal_subst mailwarn mail_warn mail_warning mark_dirs
+                                \ mailwarning markdirs menucomplete menu_complete monitor
+                                \ multibyte multi_byte multifuncdef multi_func_def multios
+                                \ multi_os nomatch no_match notify nullglob null_glob numericglobsort
+                                \ numeric_glob_sort octalzeroes octal_zeroes onecmd one_cmd
+                                \ overstrike over_strike pathdirs path_dirs pathscript
+                                \ path_script physical pipefail pipe_fail posixaliases
+                                \ posix_aliases posixargzero posix_arg_zero posixbuiltins 
+                                \ posix_builtins posixcd posix_cd posixidentifiers posix_identifiers
+                                \ posixjobs posix_jobs posixstrings posix_strings posixtraps
+                                \ posix_traps printeightbit print_eight_bit printexitvalue
+                                \ print_exit_value privileged promptbang prompt_bang promptcr
+                                \ prompt_cr promptpercent prompt_percent promptsp prompt_sp
+                                \ promptsubst prompt_subst promptvars prompt_vars pushdignoredups
+                                \ pushd_ignore_dups pushdminus pushd_minus pushdsilent pushd_silent
+                                \ pushdtohome pushd_to_home rcexpandparam rc_expandparam rcquotes
+                                \ rc_quotes rcs recexact rec_exact rematchpcre re_match_pcre
+                                \ restricted rmstarsilent rm_star_silent rmstarwait rm_star_wait
+                                \ sharehistory share_history shfileexpansion sh_file_expansion
+                                \ shglob sh_glob shinstdin shin_stdin shnullcmd sh_nullcmd
+                                \ shoptionletters sh_option_letters shortloops short_loops shwordsplit
+                                \ sh_word_split singlecommand single_command singlelinezle single_line_zle
+                                \ sourcetrace source_trace stdin sunkeyboardhack sun_keyboard_hack
+                                \ trackall track_all transientrprompt transient_rprompt
+                                \ trapsasync trapasync typesetsilent type_set_silent unset verbose vi
+                                \ warncreateglobal warn_create_global xtrace zle
+
+syn keyword zshOptions          noaliases no_aliases noallexport no_allexport noall_export no_all_export noalwayslastprompt no_alwayslastprompt
+                                \ noalways_lastprompt no_always_lastprompt noalwaystoend no_alwaystoend noalways_to_end no_always_to_end
+                                \ noappendhistory no_appendhistory noappend_history no_append_history noautocd no_autocd noautocontinue no_autocontinue
+                                \ noauto_continue no_auto_continue noautolist no_autolist noauto_list no_auto_list
+                                \ noautomenu no_automenu noauto_menu no_auto_menu noautonamedirs no_autonamedirs noauto_name_dirs no_auto_name_dirs
+                                \ noautoparamkeys no_autoparamkeys noauto_param_keys no_auto_param_keys noautoparamslash no_autoparamslash
+                                \ noauto_param_slash no_auto_param_slash noautopushd no_autopushd noauto_pushd no_auto_pushd noautoremoveslash no_autoremoveslash
+                                \ noauto_remove_slash no_auto_remove_slash noautoresume no_autoresume noauto_resume no_auto_resume nobadpattern no_badpattern
+                                \ nobanghist no_banghist nobang_hist no_bang_hist nobareglobqual no_bareglobqual nobare_glob_qual no_bare_glob_qual
+                                \ nobashautolist no_bashautolist nobash_auto_list no_bash_auto_list nobashrematch no_bashrematch nobash_rematch no_bash_rematch
+                                \ nobeep no_beep nobgnice no_bgnice nobraceccl no_braceccl nobrace_ccl no_brace_ccl nobraceexpand no_braceexpand nobrace_expand no_brace_expand
+                                \ nobsdecho no_bsdecho nobsd_echo no_bsd_echo nocaseglob no_caseglob nocase_glob no_case_glob nocasematch no_casematch nocase_match no_case_match
+                                \ nocbases no_cbases nocdablevars no_cdablevars nocd_able_vars no_cd_able_vars nochasedots no_chasedots nochase_dots no_chase_dots
+                                \ nochaselinks no_chaselinks nochase_links no_chase_links nocheckjobs no_checkjobs nocheck_jobs no_check_jobs
+                                \ noclobber no_clobber nocombiningchars no_combiningchars nocombining_chars no_combining_chars nocompletealiases no_completealiases
+                                \ nocomplete_aliases no_complete_aliases nocompleteinword no_completeinword nocomplete_in_word no_complete_in_word
+                                \ nocontinueonerror no_continueonerror nocontinue_on_error no_continue_on_error nocorrect no_correct
+                                \ nocorrectall no_correctall nocorrect_all no_correct_all nocprecedences no_cprecedences noc_precedences no_c_precedences
+                                \ nocshjunkiehistory no_cshjunkiehistory nocsh_junkie_history no_csh_junkie_history nocshjunkieloops no_cshjunkieloops
+                                \ nocsh_junkie_loops no_csh_junkie_loops nocshjunkiequotes no_cshjunkiequotes nocsh_junkie_quotes no_csh_junkie_quotes
+                                \ nocshnullcmd no_cshnullcmd nocsh_null_cmd no_csh_null_cmd nocshnullglob no_cshnullglob nocsh_null_glob no_csh_null_glob
+                                \ nodebugbeforecmd no_debugbeforecmd nodebug_before_cmd no_debug_before_cmd nodotglob no_dotglob nodot_glob no_dot_glob nodvorak no_dvorak
+                                \ noemacs no_emacs noequals no_equals noerrexit no_errexit noerr_exit no_err_exit noerrreturn no_errreturn noerr_return no_err_return noevallineno no_evallineno
+                                \ noeval_lineno no_eval_lineno noexec no_exec noextendedglob no_extendedglob noextended_glob no_extended_glob noextendedhistory no_extendedhistory
+                                \ noextended_history no_extended_history noflowcontrol no_flowcontrol noflow_control no_flow_control noforcefloat no_forcefloat
+                                \ noforce_float no_force_float nofunctionargzero no_functionargzero nofunction_arg_zero no_function_arg_zero noglob no_glob noglobalexport no_globalexport
+                                \ noglobal_export no_global_export noglobalrcs no_globalrcs noglobal_rcs no_global_rcs noglobassign no_globassign noglob_assign no_glob_assign
+                                \ noglobcomplete no_globcomplete noglob_complete no_glob_complete noglobdots no_globdots noglob_dots no_glob_dots noglob_subst no_glob_subst
+                                \ noglobsubst no_globsubst nohashall no_hashall nohash_all no_hash_all nohashcmds no_hashcmds nohash_cmds no_hash_cmds nohashdirs no_hashdirs
+                                \ nohash_dirs no_hash_dirs nohashexecutablesonly no_hashexecutablesonly nohash_executables_only no_hash_executables_only nohashlistall no_hashlistall
+                                \ nohash_list_all no_hash_list_all nohistallowclobber no_histallowclobber nohist_allow_clobber no_hist_allow_clobber nohistappend no_histappend
+                                \ nohist_append no_hist_append nohistbeep no_histbeep nohist_beep no_hist_beep nohist_expand no_hist_expand nohist_expire_dups_first no_hist_expire_dups_first
+                                \ nohistexpand no_histexpand nohistexpiredupsfirst no_histexpiredupsfirst nohistfcntllock no_histfcntllock nohist_fcntl_lock no_hist_fcntl_lock
+                                \ nohistfindnodups no_histfindnodups nohist_find_no_dups no_hist_find_no_dups nohistignorealldups no_histignorealldups
+                                \ nohist_ignore_all_dups no_hist_ignore_all_dups nohistignoredups no_histignoredups nohist_ignore_dups no_hist_ignore_dups
+                                \ nohistignorespace no_histignorespace nohist_ignore_space no_hist_ignore_space nohistlexwords no_histlexwords nohist_lex_words no_hist_lex_words
+                                \ nohistnofunctions no_histnofunctions nohist_no_functions no_hist_no_functions nohistnostore no_histnostore nohist_no_store no_hist_no_store
+                                \ nohistreduceblanks no_histreduceblanks nohist_reduce_blanks no_hist_reduce_blanks nohistsavebycopy no_histsavebycopy
+                                \ nohist_save_by_copy no_hist_save_by_copy nohistsavenodups no_histsavenodups nohist_save_no_dups no_hist_save_no_dups
+                                \ nohistsubstpattern no_histsubstpattern nohist_subst_pattern no_hist_subst_pattern nohistverify no_histverify nohist_verify no_hist_verify
+                                \ nohup no_hup noignorebraces no_ignorebraces noignore_braces no_ignore_braces noignoreclosebraces no_ignoreclosebraces noignore_close_braces no_ignore_close_braces
+                                \ noignoreeof no_ignoreeof noignore_eof no_ignore_eof noincappendhistory no_incappendhistory noinc_append_history no_inc_append_history
+                                \ noincappendhistorytime no_incappendhistorytime noinc_append_history_time no_inc_append_history_time nointeractive no_interactive
+                                \ nointeractivecomments no_interactivecomments nointeractive_comments no_interactive_comments noksharrays no_ksharrays noksh_arrays no_ksh_arrays
+                                \ nokshautoload no_kshautoload noksh_autoload no_ksh_autoload nokshglob no_kshglob noksh_glob no_ksh_glob nokshoptionprint no_kshoptionprint
+                                \ noksh_option_print no_ksh_option_print nokshtypeset no_kshtypeset noksh_typeset no_ksh_typeset nokshzerosubscript no_kshzerosubscript
+                                \ noksh_zero_subscript no_ksh_zero_subscript nolistambiguous no_listambiguous nolist_ambiguous no_list_ambiguous nolistbeep no_listbeep
+                                \ nolist_beep no_list_beep nolistpacked no_listpacked nolist_packed no_list_packed nolistrowsfirst no_listrowsfirst nolist_rows_first no_list_rows_first
+                                \ nolisttypes no_listtypes nolist_types no_list_types nolocalloops no_localloops nolocal_loops no_local_loops nolocaloptions no_localoptions
+                                \ nolocal_options no_local_options nolocalpatterns no_localpatterns nolocal_patterns no_local_patterns nolocaltraps no_localtraps
+                                \ nolocal_traps no_local_traps nolog no_log nologin no_login nolonglistjobs no_longlistjobs nolong_list_jobs no_long_list_jobs nomagicequalsubst no_magicequalsubst
+                                \ nomagic_equal_subst no_magic_equal_subst nomailwarn no_mailwarn nomail_warn no_mail_warn nomail_warning no_mail_warning nomark_dirs no_mark_dirs
+                                \ nomailwarning no_mailwarning nomarkdirs no_markdirs nomenucomplete no_menucomplete nomenu_complete no_menu_complete nomonitor no_monitor
+                                \ nomultibyte no_multibyte nomulti_byte no_multi_byte nomultifuncdef no_multifuncdef nomulti_func_def no_multi_func_def nomultios no_multios
+                                \ nomulti_os no_multi_os nonomatch no_nomatch nono_match no_no_match nonotify no_notify nonullglob no_nullglob nonull_glob no_null_glob nonumericglobsort no_numericglobsort
+                                \ nonumeric_glob_sort no_numeric_glob_sort nooctalzeroes no_octalzeroes nooctal_zeroes no_octal_zeroes noonecmd no_onecmd noone_cmd no_one_cmd
+                                \ nooverstrike no_overstrike noover_strike no_over_strike nopathdirs no_pathdirs nopath_dirs no_path_dirs nopathscript no_pathscript
+                                \ nopath_script no_path_script nophysical no_physical nopipefail no_pipefail nopipe_fail no_pipe_fail noposixaliases no_posixaliases
+                                \ noposix_aliases no_posix_aliases noposixargzero no_posixargzero noposix_arg_zero no_posix_arg_zero noposixbuiltins no_posixbuiltins 
+                                \ noposix_builtins no_posix_builtins noposixcd no_posixcd noposix_cd no_posix_cd noposixidentifiers no_posixidentifiers noposix_identifiers no_posix_identifiers
+                                \ noposixjobs no_posixjobs noposix_jobs no_posix_jobs noposixstrings no_posixstrings noposix_strings no_posix_strings noposixtraps no_posixtraps
+                                \ noposix_traps no_posix_traps noprinteightbit no_printeightbit noprint_eight_bit no_print_eight_bit noprintexitvalue no_printexitvalue
+                                \ noprint_exit_value no_print_exit_value noprivileged no_privileged nopromptbang no_promptbang noprompt_bang no_prompt_bang nopromptcr no_promptcr
+                                \ noprompt_cr no_prompt_cr nopromptpercent no_promptpercent noprompt_percent no_prompt_percent nopromptsp no_promptsp noprompt_sp no_prompt_sp
+                                \ nopromptsubst no_promptsubst noprompt_subst no_prompt_subst nopromptvars no_promptvars noprompt_vars no_prompt_vars nopushdignoredups no_pushdignoredups
+                                \ nopushd_ignore_dups no_pushd_ignore_dups nopushdminus no_pushdminus nopushd_minus no_pushd_minus nopushdsilent no_pushdsilent nopushd_silent no_pushd_silent
+                                \ nopushdtohome no_pushdtohome nopushd_to_home no_pushd_to_home norcexpandparam no_rcexpandparam norc_expandparam no_rc_expandparam norcquotes no_rcquotes
+                                \ norc_quotes no_rc_quotes norcs no_rcs norecexact no_recexact norec_exact no_rec_exact norematchpcre no_rematchpcre nore_match_pcre no_re_match_pcre
+                                \ norestricted no_restricted normstarsilent no_rmstarsilent norm_star_silent no_rm_star_silent normstarwait no_rmstarwait norm_star_wait no_rm_star_wait
+                                \ nosharehistory no_sharehistory noshare_history no_share_history noshfileexpansion no_shfileexpansion nosh_file_expansion no_sh_file_expansion
+                                \ noshglob no_shglob nosh_glob no_sh_glob noshinstdin no_shinstdin noshin_stdin no_shin_stdin noshnullcmd no_shnullcmd nosh_nullcmd no_sh_nullcmd
+                                \ noshoptionletters no_shoptionletters nosh_option_letters no_sh_option_letters noshortloops no_shortloops noshort_loops no_short_loops noshwordsplit no_shwordsplit
+                                \ nosh_word_split no_sh_word_split nosinglecommand no_singlecommand nosingle_command no_single_command nosinglelinezle no_singlelinezle nosingle_line_zle no_single_line_zle
+                                \ nosourcetrace no_sourcetrace nosource_trace no_source_trace nostdin no_stdin nosunkeyboardhack no_sunkeyboardhack nosun_keyboard_hack no_sun_keyboard_hack
+                                \ notrackall no_trackall notrack_all no_track_all notransientrprompt no_transientrprompt notransient_rprompt no_transient_rprompt
+                                \ notrapsasync no_trapsasync notrapasync no_trapasync notypesetsilent no_typesetsilent notype_set_silent no_type_set_silent nounset no_unset noverbose no_verbose novi no_vi
+                                \ nowarncreateglobal no_warncreateglobal nowarn_create_global no_warn_create_global noxtrace no_xtrace nozle no_zle
+syn case match
+
 syn keyword zshTypes            float integer local typeset declare
 
 " XXX: this may be too much
@@ -149,7 +311,7 @@ syn region  zshSubst            matchgro
 syn region  zshOldSubst         matchgroup=zshSubstDelim start=+`+ skip=+\\`+
                                 \ end=+`+ contains=TOP,zshOldSubst
 
-syn sync    minlines=50
+syn sync    minlines=50 maxlines=90
 syn sync    match zshHereDocSync    grouphere   NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
 syn sync    match zshHereDocEndSync groupthere  NONE '^\s*EO\a\+\>'
 
@@ -170,16 +332,8 @@ hi def link zshKeyword          Keyword
 hi def link zshFunction         None
 hi def link zshKSHFunction      zshFunction
 hi def link zshHereDoc          String
-if 0
-  hi def link zshOperator         Operator
-else
-  hi def link zshOperator         None
-endif
-if 1
-  hi def link zshRedir            Operator
-else
-  hi def link zshRedir            None
-endif
+hi def link zshOperator         None
+hi def link zshRedir            Operator
 hi def link zshVariable         None
 hi def link zshVariableDef      zshVariable
 hi def link zshDereferencing    PreProc
@@ -199,6 +353,7 @@ else
   hi def link zshDeref          None
 endif
 hi def link zshCommands         Keyword
+hi def link zshOptions          Constant
 hi def link zshTypes            Type
 hi def link zshSwitches         Special
 hi def link zshNumber           Number