diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index c28b90e..47039e1 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 7.4.  Last change: 2016 May 29
+*channel.txt*      For Vim version 7.4.  Last change: 2016 Jun 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -573,7 +573,7 @@
 			"err_cb" wasn't set the channel callback is used.
 						*job-close_cb*
 "close_cb": handler	Callback for when the channel is closed.  Same as
-			"close_cb" on ch_open().
+			"close_cb" on |ch_open()|, see |close_cb|.
 						*job-exit_cb*
 "exit_cb": handler	Callback for when the job ends.  The arguments are the
 			job and the exit status.
@@ -659,10 +659,14 @@
 ID will be added to the buffer, after decoding + encoding.  Messages with a
 positive number will be handled by a callback, commands are handled as usual.
 
-The name of the buffer is compared the full name of existing buffers.  If
-there is a match that buffer is used.  Otherwise a new buffer is created.
-Use an empty name to always create a new buffer.  |ch_getbufnr()| can then be
-used to get the buffer number.
+The name of the buffer from "out_name" or "err_name" is compared the full name
+of existing buffers, also after expanding the name for the current directory.
+E.g., when a buffer was created with ":edit somename" and the buffer name is
+"somename" it will use that buffer.
+
+If there is no matching buffer a new buffer is created.  Use an empty name to
+always create a new buffer.  |ch_getbufnr()| can then be used to get the
+buffer number.
 
 For a new buffer 'buftype' is set to "nofile" and 'bufhidden' to "hide".  If
 you prefer other settings, create the buffer first and pass the buffer number.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index a836e53..fbeeb9e 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2016 May 24
+*options.txt*	For Vim version 7.4.  Last change: 2016 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1103,6 +1103,7 @@
 
 	v:beval_bufnr	number of the buffer in which balloon is going to show
 	v:beval_winnr	number of the window
+	v:beval_winid	ID of the window
 	v:beval_lnum	line number
 	v:beval_col	column number (byte index)
 	v:beval_text	word under or after the mouse pointer
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index a4c1208..649eb1d 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.4.  Last change: 2016 Mar 23
+*quickfix.txt*  For Vim version 7.4.  Last change: 2016 Jun 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -457,6 +457,9 @@
 The BufWinEnter event is also triggered, again using "quickfix" for the buffer
 name.
 
+Note: When adding to an existing quickfix list the autocommand are not
+triggered.
+
 Note: Making changes in the quickfix window has no effect on the list of
 errors.  'modifiable' is off to avoid making changes.  If you delete or insert
 lines anyway, the relation between the text and the error number is messed up.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ab5c083..03b8aaa 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2016 Apr 10
+*syntax.txt*	For Vim version 7.4.  Last change: 2016 May 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4779,6 +4779,10 @@
 	All fonts used, except for Menu and Tooltip, should be of the same
 	character size as the default font!  Otherwise redrawing problems will
 	occur.
+	To use a font name with an embedded space or other special character,
+	put it in single quotes.  The single quote cannot be used then.
+	Example: >
+	    :hi comment font='Monospace 10'
 
 guifg={color-name}					*highlight-guifg*
 guibg={color-name}					*highlight-guibg*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f181b50..83d63db 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4916,7 +4916,6 @@
 aff-dic-format	spell.txt	/*aff-dic-format*
 after-directory	options.txt	/*after-directory*
 aleph	options.txt	/*aleph*
-alloc_fail()	eval.txt	/*alloc_fail()*
 alt	intro.txt	/*alt*
 alt-input	debugger.txt	/*alt-input*
 alternate-file	editing.txt	/*alternate-file*
@@ -5037,6 +5036,7 @@
 beval_col-variable	eval.txt	/*beval_col-variable*
 beval_lnum-variable	eval.txt	/*beval_lnum-variable*
 beval_text-variable	eval.txt	/*beval_text-variable*
+beval_winid-variable	eval.txt	/*beval_winid-variable*
 beval_winnr-variable	eval.txt	/*beval_winnr-variable*
 bitwise-function	usr_41.txt	/*bitwise-function*
 blockwise-examples	visual.txt	/*blockwise-examples*
@@ -5069,6 +5069,7 @@
 bufloaded()	eval.txt	/*bufloaded()*
 bufname()	eval.txt	/*bufname()*
 bufnr()	eval.txt	/*bufnr()*
+bufwinid()	eval.txt	/*bufwinid()*
 bufwinnr()	eval.txt	/*bufwinnr()*
 bug-fixes-5	version5.txt	/*bug-fixes-5*
 bug-fixes-6	version6.txt	/*bug-fixes-6*
@@ -5619,7 +5620,6 @@
 dircolors.vim	syntax.txt	/*dircolors.vim*
 dis	motion.txt	/*dis*
 disable-menus	gui.txt	/*disable-menus*
-disable_char_avail_for_testing()	eval.txt	/*disable_char_avail_for_testing()*
 discard	editing.txt	/*discard*
 distribute-script	usr_41.txt	/*distribute-script*
 distribution	intro.txt	/*distribution*
@@ -7187,6 +7187,7 @@
 mouse_col-variable	eval.txt	/*mouse_col-variable*
 mouse_lnum-variable	eval.txt	/*mouse_lnum-variable*
 mouse_win-variable	eval.txt	/*mouse_win-variable*
+mouse_winid-variable	eval.txt	/*mouse_winid-variable*
 movement	intro.txt	/*movement*
 ms-dos	os_msdos.txt	/*ms-dos*
 msdos	os_msdos.txt	/*msdos*
@@ -8612,6 +8613,8 @@
 terminfo	term.txt	/*terminfo*
 termresponse-variable	eval.txt	/*termresponse-variable*
 test-functions	usr_41.txt	/*test-functions*
+test_alloc_fail()	eval.txt	/*test_alloc_fail()*
+test_disable_char_avail()	eval.txt	/*test_disable_char_avail()*
 test_garbagecollect_now()	eval.txt	/*test_garbagecollect_now()*
 test_null_channel()	eval.txt	/*test_null_channel()*
 test_null_dict()	eval.txt	/*test_null_dict()*
@@ -8761,6 +8764,7 @@
 v:beval_col	eval.txt	/*v:beval_col*
 v:beval_lnum	eval.txt	/*v:beval_lnum*
 v:beval_text	eval.txt	/*v:beval_text*
+v:beval_winid	eval.txt	/*v:beval_winid*
 v:beval_winnr	eval.txt	/*v:beval_winnr*
 v:char	eval.txt	/*v:char*
 v:charconvert_from	eval.txt	/*v:charconvert_from*
@@ -8795,6 +8799,7 @@
 v:mouse_col	eval.txt	/*v:mouse_col*
 v:mouse_lnum	eval.txt	/*v:mouse_lnum*
 v:mouse_win	eval.txt	/*v:mouse_win*
+v:mouse_winid	eval.txt	/*v:mouse_winid*
 v:none	eval.txt	/*v:none*
 v:null	eval.txt	/*v:null*
 v:oldfiles	eval.txt	/*v:oldfiles*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 1a118a1..792b194 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 May 24
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,49 +34,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Close_cb crash. (Luc Hermitte, 2016 May 10)
-Stack trace by Dominique, May 10.
-Reference count in partial dict wrong?
-
-Any other callbacks that could be invoked at the wrong moment?
-
-If removing buffer that's being read from, close channel?
-
-Problem with "Ignore" after adding 'guicolors'. (Charles Campbell, 2016 Apr
-27)
-
-In test_partial when start_job() has a non-existing command memory (a dict
-item) leaks.
-
-Memory leak in test49
-Memory leak in test_alot, with matchstrpos()
-
-Packages:
-- Add the "after" directory to 'runtimepath', only if it exists.
-  (Greg Hurrell, May 1)
-- Also keep a list of loaded plugins, skip when encountered again?
-
-Vim.org: when a user already has a homepage, do show the field so that it can
-be deleted.
-
-Comparing partials doesn't work well. (Nikolai Pavlov, 2016 May 17, #813)
-Examples in the form of a test (May 19)
-
 +channel:
-- Feedback from Ramel Eshed, May 7.  Occasional crashes.
-- Close_cb isn't invoked when output goes to a buffer. (Luc Hermitte)
-- close_cb and exit_cb not invoked when using jo_stop() on Windows.
-  (Linwei, 2016 May 18, #817)
-  Similar problem, related to keeping reference to job. (Skywind, May 18)
-- Recursive callback call?  (Luc Hermitte, 2016 May 17)
-- GUI:cursor blinking is irregular when invoking callbacks. (Ramel Eshed, 2016
-  Apr 16) somehow remember the previous state?
 - When a message in the queue but there is no callback, drop it after a while?
   Add timestamp to queued messages and callbacks with ID, remove after a
   minute.  Option to set the droptime.
-- Inefficiency in ch_read() with very long lines.  Reallocating buffer with
-  small increments in channel_collapse().  Avoid calling strlen() too often.
-  Add an option to drop text of very long lines?  Default to 1 Mbyte.
+- Add an option to drop text of very long lines?  Default to 1 Mbyte.
 - Add remark about undo sync, is there a way to force it?
 - When starting a job, have an option to open the server socket, so we know
   the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
@@ -87,8 +49,6 @@
 - job_start(): run job in a newly opened terminal.
     With xterm could use -S{pty}.
 
-Make it so that the window ID can be used where currently a window nr is used
-
 Regexp problems:
 - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
   (Manuel Ortega, 2016 Apr 24)
@@ -136,9 +96,11 @@
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
 - Search for \\~ causes error E874.
 
-Using freed memory in quickfix code. (Dominique, 2016 Mar 21)
+Patch to reduce number of memory allocations for quickfix lines.
+(Yegappan Lakshmanan, 2016 May 22, #831)
 
 User commands: add a <> item to pass on command modifiers, such as ":tab".
+Patch by Yegappan Lakshmanan, 2016 May 22, #829.
 
 jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
 What if there is an invalid character?
@@ -146,6 +108,13 @@
 Once .exe with updated installer is available: Add remark to download page
 about /S and /D options (Ken Takata, 2016 Apr 13)
 
+Cursor positioned in the wrong place when editing src/testdir/test_viml.vim.
+
+When using "k" at the hit-enter prompt only get the hit-enter prompt, not
+scrolling up. (Ramel Eshed, 2016 May 25)
+Related patches: Patch 7.4.1603, Patch 7.4.1594 
+Patch by Hirohito Higashi, 2016 May 26.
+
 Patch to make cursor blinking work better with GTK3. (Kazunobu Kuriyama, 2016
 Apr 19)  Need to check this works on Linux.
 Alternative:
@@ -164,8 +133,8 @@
 Patch to fix using CTRL-] on "{address}." in help. (Hirohito Higashi, 2016 May
 18, #814)
 
-Patch to reduce number of memory allocations for quickfix lines.
-(Yegappan Lakshmanan, 2016 May 22, #831)
+Can we add a function to parse one line for 'errorformat'?  Like ":caddexpr"
+for one line.
 
 Patch to fix greying popup menu items. (Shane Harper, 2016 May 23, #834)
 
@@ -175,8 +144,17 @@
 For current Windows build .pdb file is missing. (Gabriele Fava, 2016 May 11)
 5)
 
+Patch to support expression argument to sort() instead of a function name.
+Yasuhiro Matsumoto, 2013 May 31.
+Or should we add a more general mechanism, like a lambda() function?
+Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
+Correction for test, Ken Takata, 2016 May 27.
+
 Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
 
+Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
+13, last version)  Update May 22, #830.
+
 When 'autochdir' is set, writing  new file does not change the current dir.
 (Dan Church, issue #777)
 Patch to fix this. (mister fish (Allen Haim), 2016 May 14, #803)
@@ -237,6 +215,8 @@
 Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
 Update 2016 Apr 24.
 
+Patch to improve cscope. (Adrian Kocis, #843)
+
 Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May
 20 #644)
 
@@ -284,11 +264,6 @@
 When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
 Apr 17)  #762
 
-Patch to support expression argument to sort() instead of a function name.
-Yasuhiro Matsumoto, 2013 May 31.
-Or should we add a more general mechanism, like a lambda() function?
-Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
-
 Should jsonencode()/jsondecode() restrict recursiveness?
 Or avoid recursiveness.
 
@@ -411,9 +386,6 @@
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
-Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
-13, last version)  Update May 22, #830.
-
 Can we cache the syntax attributes, so that updates for 'relativenumber' and
 'cursorline'/'cursorcolumn' are a lot faster?
 
@@ -459,8 +431,6 @@
 Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
 Update Aug 14.
 
-Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
-
 When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
 the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
 
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 8bbc29d..69298e5 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.4.  Last change: 2016 Apr 12
+*usr_41.txt*	For Vim version 7.4.  Last change: 2016 Jun 04
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -786,6 +786,7 @@
 	tabpagenr()		get the number of a tab page
 	tabpagewinnr()		like winnr() for a specified tab page
 	winnr()			get the window number for the current window
+	bufwinid()		get the window ID of a specific buffer
 	bufwinnr()		get the window number of a specific buffer
 	winbufnr()		get the buffer number of a specific window
 	getbufline()		get a list of lines from the specified buffer
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 0b38263..2be5cbd 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.4.  Last change: 2016 Apr 03
+*version7.txt*  For Vim version 7.4.  Last change: 2016 Jun 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index eb42053..bb8d62d 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 May 20
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Jun 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -102,7 +102,8 @@
 
 This is for Vim developers.  So far writing tests for Vim has not been easy.
 Vim 8 adds assert functions and a framework to run tests.  This makes it a lot
-simpler to write tests and keep them updated.
+simpler to write tests and keep them updated.  Also new are several functions
+that are added specifically for testing.
 
 These functions have been added:
 	|assert_equal()|
@@ -113,15 +114,22 @@
 	|assert_match()|
 	|assert_notmatch()|
 	|assert_true()|
-	|alloc_fail()|
-	|disable_char_avail_for_testing()|
+	|test_alloc_fail()|
+	|test_disable_char_avail()|
+	|test_garbagecollect_now()|
+	|test_null_channel()|
+	|test_null_dict()|
+	|test_null_job()|
+	|test_null_list()|
+	|test_null_partial()|
+	|test_null_string()|
 
 
 Window IDs ~
 
 Previously windows could only be accessed by their number. And every time a
 window would open, close or move that number changes.  Each window now has a
-unique ID, so that they are easy to find.
+unique ID, so that they are easy to find.  See |win_getid()| and |win_id2win()|.
 
 
 Wrapping lines with indent ~
diff --git a/runtime/ftplugin/spec.vim b/runtime/ftplugin/spec.vim
index 6d5bf4b..2a961f8 100644
--- a/runtime/ftplugin/spec.vim
+++ b/runtime/ftplugin/spec.vim
@@ -36,10 +36,11 @@
 else:
     specfile = vim.current.buffer.name
     if specfile:
+        rpm.delMacro("dist")
         spec = rpm.spec(specfile)
-        headers = spec.packages[0].header
-        version = headers['Version']
-        release = ".".join(headers['Release'].split(".")[:-1])
+        headers = spec.sourceHeader
+        version = headers["Version"]
+        release = headers["Release"]
         vim.command("let ver = " + version)
         vim.command("let rel = " + release)
 PYEND
@@ -113,7 +114,10 @@
 			endif
 		endif
 		if (chgline != -1)
+			let tmptime = v:lc_time
+			language time C
 			let parsed_format = "* ".strftime(format)." - ".ver."-".rel
+			execute "language time" tmptime
 			let release_info = "+ ".name."-".ver."-".rel
 			let wrong_format = 0
 			let wrong_release = 0
@@ -179,12 +183,8 @@
 		endif
 		let varname = strpart(a:str, start+2, end-(start+2))
 		execute a:strline
-		let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
+		let definestr = "^[ \t]*%(?:global|define)[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
 		let linenum = search(definestr, "bW")
-		if (linenum == 0)
-			let definestr = substitute(definestr, "%define", "%global", "")
-			let linenum = search(definestr, "bW")
-		endif
 		if (linenum != -1)
 			let ret = ret .  substitute(getline(linenum), definestr, "\\1", "")
 		else
@@ -201,7 +201,7 @@
 
 let b:match_ignorecase = 0
 let b:match_words =
-  \ '^Name:^%description:^%clean:^%setup:^%build:^%install:^%files:' .
+  \ '^Name:^%description:^%clean:^%(?:auto)?setup:^%build:^%install:^%files:' .
   \ '^%package:^%preun:^%postun:^%changelog'
 
 let &cpo = s:cpo_save
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 3e847b9..6982859 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -1,8 +1,8 @@
 " VHDL indent ('93 syntax)
 " Language:    VHDL
 " Maintainer:  Gerald Lai <laigera+vim?gmail.com>
-" Version:     1.58
-" Last Change: 2011 Sep 27
+" Version:     1.60
+" Last Change: 2016 Feb 26
 " URL:         http://www.vim.org/scripts/script.php?script_id=1450
 
 " only load this indent file when no other was loaded
@@ -104,7 +104,7 @@
     let pn = prevnonblank(pn - 1)
     let ps = getline(pn)
   endwhile
-  if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
+  if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\((.*)\)*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\s\+\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
     " align closing ")" with opening "("
     if curs =~ '^\s*)'
       return ind2 + stridx(prevs_noi, '(')
@@ -412,11 +412,22 @@
 
   " ****************************************************************************************
   " indent:   maintain indent of previous opening statement
-  " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
+  " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
   " where:    start of current line
-  if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
+  if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
     return ind2
   endif
+  " ****************************************************************************************
+  " indent:     maintain indent of previous opening statement, corner case which
+  "             does not end in ;, but is part of a mapping
+  " keywords:   without "procedure", "generic", "map", "port" + ":" but not ":=", never + ;$ and
+  "             prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
+  " where:      start of current line
+  if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
+      if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
+         return ind2
+     endif
+ endif
 
   " return leftover filtered indent
   return ind
diff --git a/runtime/syntax/bib.vim b/runtime/syntax/bib.vim
index f84d5ca..8bd0528 100644
--- a/runtime/syntax/bib.vim
+++ b/runtime/syntax/bib.vim
@@ -2,7 +2,7 @@
 " Language:	BibTeX (bibliographic database format for (La)TeX)
 " Maintainer:	Bernd Feige <Bernd.Feige@gmx.net>
 " Filenames:	*.bib
-" Last Change:	2014 Mar 26
+" Last Change:	2016 May 31
 
 " Thanks to those who pointed out problems with this file or supplied fixes!
 
@@ -35,8 +35,40 @@
 syn keyword bibEntryKw contained	institution journal key month note
 syn keyword bibEntryKw contained	number organization pages publisher
 syn keyword bibEntryKw contained	school series title type volume year
+
+" biblatex keywords, cf. http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf
+syn keyword bibType contained	mvbook bookinbook suppbook collection mvcollection suppcollection
+syn keyword bibType contained	online patent periodical suppperiodical mvproceedings reference
+syn keyword bibType contained	mvreference inreference report set thesis xdata customa customb
+syn keyword bibType contained	customc customd custome customf electronic www artwork audio bibnote
+syn keyword bibType contained	commentary image jurisdiction legislation legal letter movie music
+syn keyword bibType contained	performance review software standard video
+
+syn keyword bibEntryKw contained	abstract isbn issn keywords url
+syn keyword bibEntryKw contained	addendum afterwordannotation annotation annotator authortype
+syn keyword bibEntryKw contained	bookauthor bookpagination booksubtitle booktitleaddon
+syn keyword bibEntryKw contained	commentator date doi editora editorb editorc editortype
+syn keyword bibEntryKw contained	editoratype editorbtype editorctype eid entrysubtype
+syn keyword bibEntryKw contained	eprint eprintclass eprinttype eventdate eventtitle
+syn keyword bibEntryKw contained	eventtitleaddon file foreword holder indextitle
+syn keyword bibEntryKw contained	introduction isan ismn isrn issue issuesubtitle
+syn keyword bibEntryKw contained	issuetitle iswc journalsubtitle journaltitle label
+syn keyword bibEntryKw contained	language library location mainsubtitle maintitle
+syn keyword bibEntryKw contained	maintitleaddon nameaddon origdate origlanguage
+syn keyword bibEntryKw contained	origlocation origpublisher origtitle pagetotal
+syn keyword bibEntryKw contained	pagination part pubstate reprinttitle shortauthor
+syn keyword bibEntryKw contained	shorteditor shorthand shorthandintro shortjournal
+syn keyword bibEntryKw contained	shortseries shorttitle subtitle titleaddon translator
+syn keyword bibEntryKw contained	urldate venue version volumes entryset execute gender
+syn keyword bibEntryKw contained	langid langidopts ids indexsorttitle options presort
+syn keyword bibEntryKw contained	related relatedoptions relatedtype relatedstring
+syn keyword bibEntryKw contained	sortkey sortname sortshorthand sorttitle sortyear xdata
+syn keyword bibEntryKw contained	xref namea nameb namec nameatype namebtype namectype
+syn keyword bibEntryKw contained	lista listb listc listd liste listf usera userb userc
+syn keyword bibEntryKw contained	userd usere userf verba verbb verbc archiveprefix pdf
+syn keyword bibEntryKw contained	primaryclass
+
 " Non-standard:
-syn keyword bibNSEntryKw contained	abstract isbn issn keywords url
 " AMS mref http://www.ams.org/mref
 syn keyword bibNSEntryKw contained	mrclass mrnumber mrreviewer fjournal coden
 
diff --git a/runtime/syntax/spec.vim b/runtime/syntax/spec.vim
index 5d96b57..9952bd2 100644
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -3,7 +3,7 @@
 " Language:    SPEC: Build/install scripts for Linux RPM packages
 " Maintainer:  Igor Gnatenko i.gnatenko.brain@gmail.com
 " Former Maintainer:  Donovan Rebbechi elflord@panix.com (until March 2014)
-" Last Change: Sun Mar 2 10:33 MSK 2014 Igor Gnatenko
+" Last Change: Sat Apr 9 15:30 2016 Filip Szymański
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -83,8 +83,8 @@
 
 "One line macros - valid in all ScriptAreas
 "tip: remember do include new items on specScriptArea's skip section
-syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
-syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
+syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|autosetup\|autopatch\|configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
+syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
 
 "%% Files Section %%
 "TODO %config valid parameters: missingok\|noreplace
@@ -105,7 +105,7 @@
 "%% PreAmble Section %%
 "Copyright and Serial were deprecated by License and Epoch
 syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
-syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
+syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
 
 "%% Description Section %%
 syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
@@ -114,7 +114,7 @@
 syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
 
 "%% Scripts Section %%
-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
+syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
 
 "%% Changelog Section %%
 syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
