diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index adf21f1..b75d6a8 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Mar 05
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Mar 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1836,6 +1836,7 @@
 				any	variable {varname} in window {nr}
 glob( {expr} [, {nosuf} [, {list} [, {alllinks}]]])
 				any	expand file wildcards in {expr}
+glob2regpat( {expr})		String  convert a glob pat into a search pat
 globpath( {path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
 				String	do glob({expr}) for all dirs in {path}
 has( {feature})			Number	TRUE if feature {feature} supported
@@ -3671,6 +3672,14 @@
 		See |expand()| for expanding special Vim variables.  See
 		|system()| for getting the raw output of an external command.
 
+glob2regpat({expr})					 *glob2regpat()*
+		Convert a file pattern, as used by glob(), into a search
+		pattern.  The result can be used to match with a string that
+		is a file name.  E.g. >
+			if filename =~ glob2regpat('Make*.mak')
+<		This is equivalent to: >
+			if filename =~ '^Make.*\.mak$'
+<
 								*globpath()*
 globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
 		Perform glob() on all directories in {path} and concatenate
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 82db022..19fe1a0 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt*  For Vim version 7.4.  Last change: 2012 Jan 26
+*netbeans.txt*  For Vim version 7.4.  Last change: 2015 Mar 14
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur et al.
@@ -306,7 +306,12 @@
 		or generic.  Generic messages use a bufID of zero.  NOTE: this
 		buffer ID is assigned by the IDE, it is not Vim's buffer
 		number.  The bufID must be a sequentially rising number,
-		starting at one.
+		starting at one.  When the 'switchbuf' option is set to
+		"usetab" and the "bufID" buffer is not found in the current
+		tab page, the netbeans commands and functions that set this
+		buffer as the current buffer will jump to the first open
+		window that contains this buffer in other tab pages instead of
+		replacing the buffer in the current window.
 
 seqno		The IDE uses a sequence number for Commands and Functions.  A
 		Reply must use the sequence number of the Function that it is
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 323f167..300262d 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.4.  Last change: 2015 Feb 17
+*pattern.txt*   For Vim version 7.4.  Last change: 2015 Mar 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1060,7 +1060,10 @@
 								*E769*
 	When the ']' is not there Vim will not give an error message but
 	assume no collection is used.  Useful to search for '['.  However, you
-	do get E769 for internal searching.
+	do get E769 for internal searching.  And be aware that in a
+	`:substitute` command the whole command becomes the pattern.  E.g.
+	":s/[/x/" searches for "[/x" and replaces it with nothing.  It does
+	not search for "[" and replaces it with "x"!
 
 	If the sequence begins with "^", it matches any single character NOT
 	in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 5587edc..b97eb16 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2015 Feb 22
+*syntax.txt*	For Vim version 7.4.  Last change: 2015 Mar 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4648,6 +4648,8 @@
 	Note that for some color terminals these names may result in the wrong
 	colors!
 
+	You can also use "NONE" to remove the color.
+
 							*:hi-normal-cterm*
 	When setting the "ctermfg" or "ctermbg" colors for the Normal group,
 	these will become the colors used for the non-highlighted text.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index c08344d..2ac1900 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6202,6 +6202,7 @@
 gj	motion.txt	/*gj*
 gk	motion.txt	/*gk*
 glob()	eval.txt	/*glob()*
+glob2regpat()	eval.txt	/*glob2regpat()*
 global-ime	mbyte.txt	/*global-ime*
 global-local	options.txt	/*global-local*
 global-variable	eval.txt	/*global-variable*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 08157be..cbc0e8d 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Mar 05
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Mar 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -74,10 +74,14 @@
 https://github.com/neovim/neovim/commit/cf8e175cf54281bcad5e704308e92ebb3e6381d3
 https://github.com/neovim/neovim/commit/d7038127ca6b356ad33fdec08aa3b23ac6a817af
 https://github.com/neovim/neovim/commit/77ace65bdce379f2d9b13ee81ab3fc01951f92dc
+And also:
+https://github.com/neovim/neovim/pull/2157/commits
 
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
+Updated Irish translation. (Kevin Scannell, 2015 Mar 13)
+
 Better .ico file for Windows. (Pat Suwalski, 2015 Feb 13)
 Waiting for response on remark from Edward Fox.
 
@@ -94,8 +98,17 @@
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
 C indent: should recognize C11 raw strings. (Mark Lodato, 2015 Mar 1)
+Need to recognize R"string".
 
-Intel Hex syntax file update, Markus Heidelberg 2015 Mar 2
+Suggested patch to MingW makefiles. (Michael Soyka, 2015 Mar 11)
+Feedback from others?
+
+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.
+
+Crash when changing the 'tags' option from a remote command.
+(Benjamin Fritz, 2015 Mar 18)
 
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
@@ -118,6 +131,9 @@
 Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
 Goes away when disabling the swap file. (might1, Feb 16)
 
+Problem caused by patch 7.3.638: window->open does not update window
+correctly. Issue 91.  With patch.
+
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
@@ -142,6 +158,10 @@
 
 Patch on Issue 166, popup drawing with '$' in 'cpo'.
 
+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.
 
@@ -168,9 +188,6 @@
 
 Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
 
-Problem caused by patch 7.3.638: window->open does not update window
-correctly. Issue 91.  With patch.
-
 Patch to add 'belloff' option. (Christian Brabandt, 2015 Jan 31)
 Update Feb 6.
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 5ad76cc..5155488 100644
--- 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 Jan 14
+" Last Change:	2015 Mar 13
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1267,8 +1267,8 @@
 " Mplayer config
 au BufNewFile,BufRead mplayer.conf,*/.mplayer/config	setf mplayerconf
 
-" Moterola S record
-au BufNewFile,BufRead *.s19,*.s28,*.s37		setf srec
+" Motorola S record
+au BufNewFile,BufRead *.s19,*.s28,*.s37,*.mot,*.srec	setf srec
 
 " Mrxvtrc
 au BufNewFile,BufRead mrxvtrc,.mrxvtrc		setf mrxvtrc
diff --git a/runtime/syntax/hex.vim b/runtime/syntax/hex.vim
index 40c6553..40f7f0d 100644
--- a/runtime/syntax/hex.vim
+++ b/runtime/syntax/hex.vim
@@ -1,7 +1,29 @@
 " Vim syntax file
-" Language:	Intel hex MCS51
-" Maintainer:	Sams Ricahrd <sams@ping.at>
-" Last Change:	2003 Apr 25
+" Language:	Intel HEX
+" Maintainer:	Markus Heidelberg <markus.heidelberg@web.de>
+" Previous version:	Sams Ricahrd <sams@ping.at>
+" Last Change:	2015 Feb 24
+
+" Each record (line) is built as follows:
+"
+"    field       digits          states
+"
+"  +----------+
+"  | start    |  1 (':')         hexRecStart
+"  +----------+
+"  | count    |  2               hexDataByteCount
+"  +----------+
+"  | address  |  4               hexNoAddress, hexDataAddress, (hexAddressFieldUnknown)
+"  +----------+
+"  | type     |  2               hexRecType, (hexRecTypeUnknown)
+"  +----------+
+"  | data     |  0..510          hexDataOdd, hexDataEven, hexExtendedAddress, hexStartAddress, (hexDataFieldUnknown, hexDataUnexpected)
+"  +----------+
+"  | checksum |  2               hexChecksum
+"  +----------+
+"
+" States in parentheses in the upper format description indicate that they
+" should not appear in a valid file.
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -11,21 +33,39 @@
   finish
 endif
 
-syn case ignore
+syn match hexRecStart "^:"
 
-" storage types
+syn match hexDataByteCount "^:[0-9a-fA-F]\{2}" contains=hexRecStart nextgroup=hexAddress
 
-syn match hexChecksum	"[0-9a-fA-F]\{2}$"
-syn match hexAdress  "^:[0-9a-fA-F]\{6}" contains=hexDataByteCount
-syn match hexRecType  "^:[0-9a-fA-F]\{8}" contains=hexAdress
-syn match hexDataByteCount  contained "^:[0-9a-fA-F]\{2}" contains=hexStart
-syn match hexStart contained "^:"
-syn match hexExtAdrRec "^:02000002[0-9a-fA-F]\{4}" contains=hexSpecRec
-syn match hexExtLinAdrRec "^:02000004[0-9a-fA-F]\{4}" contains=hexSpecRec
-syn match hexSpecRec contained "^:0[02]00000[124]" contains=hexStart
-syn match hexEOF "^:00000001" contains=hexStart
+syn match hexAddress "[0-9a-fA-F]\{4}" transparent contained nextgroup=hexRecTypeUnknown,hexRecType
+" The address field groups include the record type field in the last 2
+" characters, the proper match for highlighting follows below.
+syn match hexAddressFieldUnknown "^:[0-9a-fA-F]\{8}"      contains=hexDataByteCount nextgroup=hexDataFieldUnknown,hexChecksum
+syn match hexDataAddress         "^:[0-9a-fA-F]\{6}00"    contains=hexDataByteCount nextgroup=hexDataOdd,hexChecksum
+syn match hexNoAddress           "^:[0-9a-fA-F]\{6}01"    contains=hexDataByteCount nextgroup=hexDataUnexpected,hexChecksum
+syn match hexNoAddress           "^:[0-9a-fA-F]\{6}0[24]" contains=hexDataByteCount nextgroup=hexExtendedAddress
+syn match hexNoAddress           "^:[0-9a-fA-F]\{6}0[35]" contains=hexDataByteCount nextgroup=hexStartAddress
 
-syn case match
+syn match hexRecTypeUnknown "[0-9a-fA-F]\{2}" contained
+syn match hexRecType        "0[0-5]"          contained
+
+syn match hexDataFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=hexDataFieldUnknown,hexChecksum
+" alternating highlight per byte for easier reading
+syn match hexDataOdd          "[0-9a-fA-F]\{2}" contained nextgroup=hexDataEven,hexChecksum
+syn match hexDataEven         "[0-9a-fA-F]\{2}" contained nextgroup=hexDataOdd,hexChecksum
+" data bytes which should not exist
+syn match hexDataUnexpected   "[0-9a-fA-F]\{2}" contained nextgroup=hexDataUnexpected,hexChecksum
+" Data digit pair regex usage also results in only highlighting the checksum
+" if the number of data characters is even.
+
+" special data fields
+syn match hexExtendedAddress "[0-9a-fA-F]\{4}" contained nextgroup=hexDataUnexpected,hexChecksum
+syn match hexStartAddress    "[0-9a-fA-F]\{8}" contained nextgroup=hexDataUnexpected,hexChecksum
+
+syn match hexChecksum "[0-9a-fA-F]\{2}$" contained
+
+" Folding Data Records below an Extended Segment/Linear Address Record
+syn region hexExtAdrBlock start="^:[0-9a-fA-F]\{7}[24]" skip="^:[0-9a-fA-F]\{7}0" end="^:"me=s-1 fold transparent
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
@@ -38,16 +78,21 @@
     command -nargs=+ HiLink hi def link <args>
   endif
 
-  " The default methods for highlighting.  Can be overridden later
-  HiLink hexStart		SpecialKey
-  HiLink hexDataByteCount	Constant
-  HiLink hexAdress		Comment
-  HiLink hexRecType		WarningMsg
-  HiLink hexChecksum		Search
-  HiLink hexExtAdrRec		hexAdress
-  HiLink hexEOF			hexSpecRec
-  HiLink hexExtLinAdrRec	hexAdress
-  HiLink hexSpecRec		DiffAdd
+  " The default methods for highlighting. Can be overridden later
+  HiLink hexRecStart            hexRecType
+  HiLink hexDataByteCount       Constant
+  hi def hexAddressFieldUnknown term=italic cterm=italic gui=italic
+  HiLink hexDataAddress         Comment
+  HiLink hexNoAddress           DiffAdd
+  HiLink hexRecTypeUnknown      hexRecType
+  HiLink hexRecType             WarningMsg
+  hi def hexDataFieldUnknown    term=italic cterm=italic gui=italic
+  hi def hexDataOdd             term=bold cterm=bold gui=bold
+  hi def hexDataEven            term=NONE cterm=NONE gui=NONE
+  HiLink hexDataUnexpected      Error
+  HiLink hexExtendedAddress     hexDataAddress
+  HiLink hexStartAddress        hexDataAddress
+  HiLink hexChecksum            DiffChange
 
   delcommand HiLink
 endif
diff --git a/runtime/syntax/srec.vim b/runtime/syntax/srec.vim
new file mode 100644
index 0000000..19b6d97
--- /dev/null
+++ b/runtime/syntax/srec.vim
@@ -0,0 +1,96 @@
+" Vim syntax file
+" Language:	Motorola S-Record
+" Maintainer:	Markus Heidelberg <markus.heidelberg@web.de>
+" Last Change:	2015 Feb 24
+
+" Each record (line) is built as follows:
+"
+"    field       digits          states
+"
+"  +----------+
+"  | start    |  1 ('S')         srecRecStart
+"  +----------+
+"  | type     |  1               srecRecType, (srecRecTypeUnknown)
+"  +----------+
+"  | count    |  2               srecByteCount
+"  +----------+
+"  | address  |  4/6/8           srecNoAddress, srecDataAddress, srecRecCount, srecStartAddress, (srecAddressFieldUnknown)
+"  +----------+
+"  | data     |  0..504/502/500  srecDataOdd, srecDataEven, (srecDataUnexpected)
+"  +----------+
+"  | checksum |  2               srecChecksum
+"  +----------+
+"
+" States in parentheses in the upper format description indicate that they
+" should not appear in a valid file.
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn match srecRecStart "^S"
+
+syn match srecRecTypeUnknown "^S."        contains=srecRecStart
+syn match srecRecType        "^S[0-35-9]" contains=srecRecStart
+
+syn match srecByteCount "^S.[0-9a-fA-F]\{2}"        contains=srecRecTypeUnknown nextgroup=srecAddressFieldUnknown,srecChecksum
+syn match srecByteCount "^S[0-35-9][0-9a-fA-F]\{2}" contains=srecRecType
+
+syn match srecAddressFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=srecAddressFieldUnknown,srecChecksum
+
+syn match srecNoAddress    "^S0[0-9a-fA-F]\{6}"  contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
+syn match srecDataAddress  "^S1[0-9a-fA-F]\{6}"  contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
+syn match srecDataAddress  "^S2[0-9a-fA-F]\{8}"  contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
+syn match srecDataAddress  "^S3[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
+syn match srecRecCount     "^S5[0-9a-fA-F]\{6}"  contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
+syn match srecRecCount     "^S6[0-9a-fA-F]\{8}"  contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
+syn match srecStartAddress "^S7[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
+syn match srecStartAddress "^S8[0-9a-fA-F]\{8}"  contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
+syn match srecStartAddress "^S9[0-9a-fA-F]\{6}"  contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
+
+" alternating highlight per byte for easier reading
+syn match srecDataOdd        "[0-9a-fA-F]\{2}" contained nextgroup=srecDataEven,srecChecksum
+syn match srecDataEven       "[0-9a-fA-F]\{2}" contained nextgroup=srecDataOdd,srecChecksum
+" data bytes which should not exist
+syn match srecDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=srecDataUnexpected,srecChecksum
+" Data digit pair regex usage also results in only highlighting the checksum
+" if the number of data characters is even.
+
+syn match srecChecksum "[0-9a-fA-F]\{2}$" contained
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_srec_syntax_inits")
+  if version < 508
+    let did_srec_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default methods for highlighting. Can be overridden later
+  HiLink srecRecStart            srecRecType
+  HiLink srecRecTypeUnknown      srecRecType
+  HiLink srecRecType             WarningMsg
+  HiLink srecByteCount           Constant
+  hi def srecAddressFieldUnknown term=italic cterm=italic gui=italic
+  HiLink srecNoAddress           DiffAdd
+  HiLink srecDataAddress         Comment
+  HiLink srecRecCount            srecNoAddress
+  HiLink srecStartAddress        srecDataAddress
+  hi def srecDataOdd             term=bold cterm=bold gui=bold
+  hi def srecDataEven            term=NONE cterm=NONE gui=NONE
+  HiLink srecDataUnexpected      Error
+  HiLink srecChecksum            DiffChange
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "srec"
+
+" vim: ts=8
