Update runtime files.
diff --git a/runtime/syntax/diff.vim b/runtime/syntax/diff.vim
index ff69c58..885feae 100644
--- a/runtime/syntax/diff.vim
+++ b/runtime/syntax/diff.vim
@@ -2,7 +2,7 @@
 " Language:	Diff (context or unified)
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
 "               Translations by Jakson Alves de Aquino.
-" Last Change:	2015 Jan 07
+" Last Change:	2015 Feb 03
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -123,13 +123,17 @@
 syn match diffCommon	"^Subdirectorios comúns: .* e .*"
 
 " he
-syn match diffOnly	"^.*-ב קר אצמנ .*"
-syn match diffIdentical	"^םיהז םניה .*-ו .* םיצבקה$"
-syn match diffDiffer	"^הזמ הז םינוש `.*'-ו `.*' םיצבקה$"
-syn match diffBDiffer	"^הזמ הז םינוש `.*'-ו `.*' םיירניב םיצבק$"
-syn match diffIsA	"^.* .*-ל .* .* תוושהל ןתינ אל$"
-syn match diffNoEOL	"^\\ ץבוקה ףוסב השד.-הרוש ות רס."
-syn match diffCommon	"^.*-ו .* :תוהז תויקית-תת$"
+" ^.* are expansive patterns for long lines, so disabled unless we can match
+" some specific hebrew chars
+if search('\%u05d5\|\%u05d1', 'nw', '', 100)
+  syn match diffOnly	"^.*-ב קר אצמנ .*"
+  syn match diffIdentical	"^םיהז םניה .*-ו .* םיצבקה$"
+  syn match diffDiffer	"^הזמ הז םינוש `.*'-ו `.*' םיצבקה$"
+  syn match diffBDiffer	"^הזמ הז םינוש `.*'-ו `.*' םיירניב םיצבק$"
+  syn match diffIsA	"^.* .*-ל .* .* תוושהל ןתינ אל$"
+  syn match diffNoEOL	"^\\ ץבוקה ףוסב השד.-הרוש ות רס."
+  syn match diffCommon	"^.*-ו .* :תוהז תויקית-תת$"
+endif
 
 " hr
 syn match diffOnly	"^Samo u .*"
diff --git a/runtime/syntax/valgrind.vim b/runtime/syntax/valgrind.vim
index c247927..d099971 100644
--- a/runtime/syntax/valgrind.vim
+++ b/runtime/syntax/valgrind.vim
@@ -2,7 +2,8 @@
 " Language: Valgrind Memory Debugger Output
 " Maintainer: Roger Luethi <rl@hellgate.ch>
 " Program URL: http://devel-home.kde.org/~sewardj/
-" Last Change: 2014 Oct 02
+" Last Change: 2015 Jan 27
+" 		Included improvement by Dominique Pelle
 "
 " Notes: mostly based on strace.vim and xml.vim
 "
@@ -15,6 +16,9 @@
 let s:keepcpo= &cpo
 set cpo&vim
 
+" Lines can be long with demangled c++ functions.
+setlocal synmaxcol=8000
+
 syn case match
 syn sync minlines=50
 
@@ -29,8 +33,8 @@
 	\ contains=valgrindPidChunk,valgrindLine
 
 syn region valgrindPidChunk
-	\ start=+\(^==\)\@<=+
-	\ end=+\(==\)\@=+
+	\ start=+^==\zs+
+	\ end=+\ze==+
 	\ contained
 	\ contains=valgrindPid0,valgrindPid1,valgrindPid2,valgrindPid3,valgrindPid4,valgrindPid5,valgrindPid6,valgrindPid7,valgrindPid8,valgrindPid9
 	\ keepend
@@ -64,10 +68,11 @@
 syn match valgrindLoc "\s\+\(by\|at\|Address\).*$" contained
 	\ contains=valgrindAt,valgrindAddr,valgrindFunc,valgrindBin,valgrindSrc
 syn match valgrindAt "at\s\@=" contained
-syn match valgrindAddr "\(\W\)\@<=0x\x\+" contained
-syn match valgrindFunc "\(: \)\@<=\w\+" contained
-syn match valgrindBin "\((\(with\|\)in \)\@<=\S\+\()\)\@=" contained
-syn match valgrindSrc "\((\)\@<=[^)]*:\d\+\()\)\@=" contained
+syn match valgrindAddr "\W\zs0x\x\+" contained
+
+syn match valgrindFunc ": \zs\h[a-zA-Z0-9_:\[\]()<>&*+\-,=%!|^ ]*\ze([^)]*)$" contained
+syn match valgrindBin "(\(with\)\=in \zs\S\+)\@=" contained
+syn match valgrindSrc "(\zs[^)]*:\d\+)\@=" contained
 
 " Define the default highlighting