Update runtime files.  Make matchparen plugin backwards compatible.
Add json filetype.
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 9b465e8..0b5f69a 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.4.  Last change: 2014 May 02
+*editing.txt*   For Vim version 7.4.  Last change: 2014 Jul 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1362,6 +1362,11 @@
 {only available when compiled with the |+cryptv| feature}  *E833*
 
 The text in the swap file and the undo file is also encrypted.  *E843*
+However, this is done block-by-block and may reduce the time needed to crack a
+password.  You can disable the swap file, but then a crash will cause you to
+lose your work.  The undo file can be disabled without much disadvantage. >
+	:set noundofile
+	:noswapfile edit secrets
 
 Note: The text in memory is not encrypted.  A system administrator may be able
 to see your text while you are editing it.  When filtering text with
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index d75799ab5..cbd995d 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2014 Jul 06
+*eval.txt*	For Vim version 7.4.  Last change: 2014 Jul 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -6512,7 +6512,7 @@
 		buffer and you want to go back to the original view.
 		This does not save fold information.  Use the 'foldenable'
 		option to temporarily switch off folding, so that folds are
-		not opened when moving around.
+		not opened when moving around. This may have side effects.
 		The return value includes:
 			lnum		cursor line number
 			col		cursor column (Note: the first column
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index fc954cf..77d5a63 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2014 Jul 10
+*todo.txt*      For Vim version 7.4.  Last change: 2014 Jul 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,7 +34,7 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Forfeit test_listlbr when encoding is not utf8? (Danek Duvall)
+Completion menu: remove redraw (Hirohito Higashi)
 
 Regexp problems:
 - Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
@@ -49,12 +49,41 @@
 - Does not work with NFA regexp engine:
   \%u, \%x, \%o, \%d followed by a composing character
 
-Patch to set y_width when getting the register from the clipboard.
-(Yukihiro Nakadaira, 2014 Jul 10)
+Crash when splitting the window when the size is tiny.
+(Yukihiro Nakadaira, 2014 Jul 15-16)
+
+Another problem with splitting window. (Yukihiro Nakadaira, 2014 Jul 17)
+Patch Jul 17.
+
+Using freed memory when jumping from a quickfix list. (lcd47, 2014 Jul 17)
+
+Patch to fix valgrind error. (Dominique Pelle, 2014 Jul 9)
+
+Vroom filetype support. (David Barnett, 2014 Jul 10)
+
+u_undo error.  Reproduce with description from Ayberk Ozgur, 2014 Jul 17.
+
+Updated Django files. (Dave Hodder, 2014 Jul 13)
+
+Title of quickfist list is not kept for setqflist(list 'r').
+(Lcd, 2014 Jul 17)  With test Jul 18.
+
+Patch to fix noremap flags not cleared after typing Esc. (Jacob Niehus, 2014
+Jul 9)
 
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
 
+DiffChange highlighting doesn't combine with 'cursurline'. (Benjamin Fritz)
+Patch by Christian (2014 Jul 12)
+
+BufWinLeave autocommand executed in the wrong buffer? (Davit Samvelyan, 2014
+Jul 14)
+
+When 'clipboard' is "unnamed", :g/pat/d is very slow.  Only set the clipboard
+after the last delete? (Praful, 2014 May 28)
+Patch by Christian Brabandt, 2014 Jun 18.  Update Jun 25.
+
 Completion for :buf does not use 'wildignorecase'. (Akshay H, 2014 May 31)
 
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
@@ -93,6 +122,8 @@
 
 PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
 
+Patch for matchparen. (James McCoy, 2014 Jul 11)
+
 Spell files use a latin single quote. Unicode also has another single quote:
 0x2019.  (Ron Aaron, 2014 Apr 4)
 New OpenOffice spell files support this with ICONV.  But they are not
@@ -128,10 +159,6 @@
 Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
 2014 Jun 8)
 
-When 'clipboard' is "unnamed", :g/pat/d is very slow.  Only set the clipboard
-after the last delete? (Praful, 2014 May 28)
-Patch by Christian Brabandt, 2014 Jun 18.  Update Jun 25.
-
 Include a plugin manager with Vim? Neobundle seems to be the best currently.
 Long message about this from ZyX, 2014 Mar 23.  And following replies.
 Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
@@ -493,6 +520,9 @@
 When there are no command line arguments ":next" and ":argu" give E163, which
 is confusing.  Should say "the argument list is empty".
 
+xterm supports escape sequences to mark a paste operation.  Need to be
+enabled. (Bruno Sutic, 2014 Jul 11)  How to know the terminal supports this?
+
 URXVT:
 - will get stuck if byte sequence does not contain the expected semicolon.
 - Use urxvt mouse support also in xterm.  Explanations:
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 677e9bb..b9f8b90 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:	2014 Jul 09
+" Last Change:	2014 Jul 16
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -989,7 +989,7 @@
 au BufNewFile,BufRead *.jj,*.jjt		setf javacc
 
 " JavaScript, ECMAScript
-au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json   setf javascript
+au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx   setf javascript
 
 " Java Server Pages
 au BufNewFile,BufRead *.jsp			setf jsp
@@ -1007,6 +1007,9 @@
 " Jovial
 au BufNewFile,BufRead *.jov,*.j73,*.jovial	setf jovial
 
+" JSON
+au BufNewFile,BufRead *.json			setf json
+
 " Kixtart
 au BufNewFile,BufRead *.kix			setf kix
 
diff --git a/runtime/ftplugin/json.vim b/runtime/ftplugin/json.vim
new file mode 100644
index 0000000..c79b13f
--- /dev/null
+++ b/runtime/ftplugin/json.vim
@@ -0,0 +1,17 @@
+" Vim filetype plugin
+" Language:		JSON
+" Maintainer:		David Barnett <daviebdawg+vim@gmail.com>
+" Last Change:		2014 Jul 16
+
+if exists('b:did_ftplugin')
+  finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = 'setlocal formatoptions< comments< commentstring<'
+
+setlocal formatoptions-=t
+
+" JSON has no comments.
+setlocal comments=
+setlocal commentstring=
diff --git a/runtime/indent/json.vim b/runtime/indent/json.vim
new file mode 100644
index 0000000..d50112b
--- /dev/null
+++ b/runtime/indent/json.vim
@@ -0,0 +1,13 @@
+" Vim indent file
+" Language:		JSON
+" Maintainer:		David Barnett <daviebdawg+vim@gmail.com>
+" Last Change:		2014 Jul 16
+
+if exists('b:did_indent')
+   finish
+endif
+
+" JSON is a subset of JavaScript. JavaScript indenting should work fine.
+runtime! indent/javascript.vim
+
+let b:did_indent = 1
diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim
index 23c7938..817ce62 100644
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -1,6 +1,6 @@
 " Vim plugin for showing matching parens
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2014 Jul 09
+" Last Change: 2014 Jul 19
 
 " Exit quickly when:
 " - this plugin was already loaded (or disabled)
@@ -88,7 +88,13 @@
   " Find the match.  When it was just before the cursor move it there for a
   " moment.
   if before > 0
-    let save_cursor = getcurpos()
+    let has_getcurpos = exists("*getcurpos")
+    if has_getcurpos
+      " getcurpos() is more efficient but doesn't exist before 7.4.313.
+      let save_cursor = getcurpos()
+    else
+      let save_cursor = winsaveview()
+    endif
     call cursor(c_lnum, c_col - before)
   endif
 
@@ -148,7 +154,11 @@
   endtry
 
   if before > 0
-    call setpos('.', save_cursor)
+    if has_getcurpos
+      call setpos('.', save_cursor)
+    else
+      call winrestview(save_cursor)
+    endif
   endif
 
   " If a match is found setup match highlighting.
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index 4b3cbc7..6206fa3 100644
--- 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 Jan 20
+" Last Change: 2014 Jul 11
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -19,7 +19,7 @@
 " 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|%(lucid|precise|quantal|saucy|trusty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+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))=)+"
 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\+\)*"
diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim
index 2a14b67..5d9d45d 100644
--- 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: 2013 Oct 28
+" Last Change: 2014 May 01
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -13,6 +13,9 @@
   finish
 endif
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Should match case except for the keys of each field
 syn case match
 
@@ -23,8 +26,17 @@
 syn match debControlComma ", *"
 syn match debControlSpace " "
 
+let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)'
+let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386'
+      \ . '\|ia64\|lpia\|m32r\|m68k\|mipsel\|mips\|powerpcspe\|powerpc\|ppc64el'
+      \ . '\|ppc64\|s390x\|s390\|sh3eb\|sh3\|sh4eb\|sh4\|sh\|sparc64\|sparc\|x32\)'
+let s:pairs = 'hurd-i386\|kfreebsd-i386\|kfreebsd-amd64\|knetbsd-i386\|kopensolaris-i386\|netbsd-alpha\|netbsd-i386'
+
 " Define some common expressions we can use later on
-syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\|hf\|64\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\%(spe\)\=\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|x32\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\|any\)"
+exe 'syn match debcontrolArchitecture contained "\%(all\|'. s:kernels .'-any\|\%(any-\)\='. s:archs .'\|'. s:pairs .'\|any\)"'
+
+unlet s:kernels s:archs s:pairs
+
 syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
 syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
 syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
@@ -108,4 +120,7 @@
 
 let b:current_syntax = "debcontrol"
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim: ts=8 sw=2
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 0146d3d..e877b06 100644
--- 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 Jan 20
+" Last Change: 2014 Jul 11
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -23,7 +23,7 @@
 
 " Match uri's
 syn match debsourcesUri            +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\++
-syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|saucy\|trusty\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|jessie\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|devel\|lucid\|precise\|trusty\|utopic\)\([-[:alnum:]_./]*\)+
 
 " Associate our matches and regions with pretty colours
 hi def link debsourcesLine            Error
diff --git a/runtime/syntax/json.vim b/runtime/syntax/json.vim
new file mode 100644
index 0000000..f2d880b
--- /dev/null
+++ b/runtime/syntax/json.vim
@@ -0,0 +1,16 @@
+" Vim syntax file
+" Language:		JSON
+" Maintainer:		David Barnett <daviebdawg+vim@gmail.com>
+" Last Change:		2014 Jul 16
+
+" For version 5.x: Clear all syntax items.
+" For version 6.x and later: Quit when a syntax file was already loaded.
+if exists('b:current_syntax')
+  finish
+endif
+
+" Use JavaScript syntax. JSON is a subset of JavaScript.
+runtime! syntax/javascript.vim
+unlet b:current_syntax
+
+let b:current_syntax = 'json'
diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index 71b4405..a4ffcd4 100644
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Python
 " Maintainer:	Neil Schemenauer <nas@python.ca>
-" Last Change:	2013 Feb 26
+" Last Change:	2014 Jul 16
 " Credits:	Zvezdan Petkovic <zpetkovic@acm.org>
 "		Neil Schemenauer <nas@python.ca>
 "		Dmitry Vasiliev
@@ -113,7 +113,7 @@
 syn match   pythonEscape	"\\x\x\{2}" contained
 syn match   pythonEscape	"\%(\\u\x\{4}\|\\U\x\{8}\)" contained
 " Python allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
-syn match   pythonEscape	"\\N{\a\+\%(\s\a\+\)*}" contained
+syn match   pythonEscape	"\\N{.\{-}}" contained
 syn match   pythonEscape	"\\$"
 
 if exists("python_highlight_all")