Update runtime files.
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 0ed5cb3..c3627d4 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.3.  Last change: 2012 Oct 11
+*cmdline.txt*   For Vim version 7.3.  Last change: 2013 Jan 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -714,10 +714,15 @@
 Visual Mode and Range					*v_:*
 
 {Visual}:	Starts a command-line with the Visual selected lines as a
-		range.  The code ":'<,'>" is used for this range, which makes
+		range.  The code `:'<,'>` is used for this range, which makes
 		it possible to select a similar line from the command-line
 		history for repeating a command on different Visually selected
 		lines.
+		When Visual mode was already ended, a short way to use the
+		Visual area for a range is `:*`.  This requires that "*" does
+		not appear in 'cpo', see |cpo-star|.  Otherwise you will have
+		to type `:'<,'>`
+
 
 ==============================================================================
 5. Ex command-line flags				*ex-flags*
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 7594ea9..9819d9b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2012 Dec 05
+*eval.txt*	For Vim version 7.3.  Last change: 2013 Jan 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5943,8 +5943,9 @@
 		If there are no matching tags, then an empty list is returned.
 
 		To get an exact tag match, the anchors '^' and '$' should be
-		used in {expr}.  Refer to |tag-regexp| for more information
-		about the tag search regular expression pattern.
+		used in {expr}.  This also make the function work faster.
+		Refer to |tag-regexp| for more information about the tag
+		search regular expression pattern.
 
 		Refer to |'tags'| for information about how the tags file is
 		located by Vim. Refer to |tags-file-format| for the format of
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 4860eb2..bca3364 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.3.  Last change: 2010 Jul 20
+*help.txt*	For Vim version 7.3.  Last change: 2012 Dec 06
 
 			VIM - main help file
 									 k
@@ -195,12 +195,12 @@
 						*standard-plugin-list*
 Standard plugins ~
 |pi_getscript.txt| Downloading latest version of Vim scripts
-|pi_gzip.txt|	   Reading and writing compressed files
-|pi_netrw.txt|	   Reading and writing files over a network
-|pi_paren.txt|	   Highlight matching parens
-|pi_tar.txt|	   Tar file explorer
+|pi_gzip.txt|      Reading and writing compressed files
+|pi_netrw.txt|     Reading and writing files over a network
+|pi_paren.txt|     Highlight matching parens
+|pi_tar.txt|       Tar file explorer
 |pi_vimball.txt|   Create a self-installing Vim script
-|pi_zip.txt|	   Zip archive explorer
+|pi_zip.txt|       Zip archive explorer
 
 LOCAL ADDITIONS:				*local-additions*
 
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index ec7d239..23b6b38 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.3.  Last change: 2012 Sep 23
+*if_pyth.txt*   For Vim version 7.3.  Last change: 2013 Jan 30
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -54,8 +54,8 @@
 	EOF
 	endfunction
 <
-Note: Python is very sensitive to the indenting.  Also make sure the "class"
-line and "EOF" do not have any indent.
+Note: Python is very sensitive to the indenting.  Make sure the "class" line
+and "EOF" do not have any indent.
 
 							*:pyfile* *:pyf*
 :[range]pyf[ile] {file}
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index bf020fd..4db4341 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.3.  Last change: 2012 Jul 10
+*insert.txt*    For Vim version 7.3.  Last change: 2013 Jan 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -380,7 +380,9 @@
 end of the line, it will be put on the last character in the line.  In
 mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
 will then always put the cursor on it).  Or use CTRL-\ CTRL-O, but then
-beware of the cursor possibly being beyond the end of the line.
+beware of the cursor possibly being beyond the end of the line.  Note that the
+command following CTRL-\ CTRL-O can still move the cursor, it is not restored
+to its original position.
 
 The CTRL-O command takes you to Normal mode.  If you then use a command enter
 Insert mode again it normally doesn't nest.  Thus when typing "a<C-O>a" and
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c3cc087..3beb2b0 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.3.  Last change: 2012 Oct 21
+*options.txt*	For Vim version 7.3.  Last change: 2013 Jan 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3562,7 +3562,7 @@
 
 	Windows +multibyte only:		*guifontwide_win_mbyte*
 
-	If set and vaild, 'guifontwide' is used for IME instead of 'guifont'.
+	If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
 
 						*'guiheadroom'* *'ghr'*
 'guiheadroom' 'ghr'	number	(default 50)
@@ -3824,7 +3824,8 @@
 	|hl-ModeMsg|	 M  Mode (e.g., "-- INSERT --")
 	|hl-LineNr|	 n  line number for ":number" and ":#" commands, and
 			    when 'number' or 'relativenumber' option is set.
-	|hl-CursorLineNr|  N like n for when 'cursorline' is set.
+	|hl-CursorLineNr|  N like n for when 'cursorline' or 'relativenumber' is
+			    set.
 	|hl-Question|	 r  |hit-enter| prompt and yes/no questions
 	|hl-StatusLine|	 s  status line of current window |status-line|
 	|hl-StatusLineNC| S  status lines of not-current windows
@@ -4717,8 +4718,10 @@
 			local to buffer
 			{not in Vi}
 	Characters that form pairs.  The |%| command jumps from one to the
-	other.  Currently only single byte character pairs are allowed, and
-	they must be different.  The characters must be separated by a colon.
+	other.
+	Only character pairs are allowed that are different, thus you cannot
+	jump between two double quotes.
+	The characters must be separated by a colon.
 	The pairs must be separated by a comma.  Example for including '<' and
 	'>' (HTML): >
 		:set mps+=<:>
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 5c4a790..6040ba8 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.3.  Last change: 2012 May 18
+*pattern.txt*   For Vim version 7.3.  Last change: 2013 Jan 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -993,6 +993,8 @@
 	[xyz]		any 'x', 'y' or 'z'
 	[a-zA-Z]$	any alphabetic character at the end of a line
 	\c[a-z]$	same
+	[А-яЁё]		Russian alphabet (with utf-8 and cp1251)
+
 								*/[\n]*
 	With "\_" prepended the collection also includes the end-of-line.
 	The same can be done by including "\n" in the collection.  The
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 5b56585..b48307d 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.3.  Last change: 2012 Nov 28
+*syntax.txt*	For Vim version 7.3.  Last change: 2013 Jan 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3903,9 +3903,9 @@
 These extra regular expression items are available in region patterns:
 
 						*/\z(* */\z(\)* *E50* *E52*
-    \z(\)	Marks the sub-expression as "external", meaning that it is can
-		be accessed from another pattern match.  Currently only usable
-		in defining a syntax region start pattern.
+    \z(\)	Marks the sub-expression as "external", meaning that it can be
+		accessed from another pattern match.  Currently only usable in
+		defining a syntax region start pattern.
 
 					*/\z1* */\z2* */\z3* */\z4* */\z5*
     \z1  ...  \z9			*/\z6* */\z7* */\z8* */\z9* *E66* *E67*
@@ -4592,7 +4592,8 @@
 LineNr		Line number for ":number" and ":#" commands, and when 'number'
 		or 'relativenumber' option is set.
 							*hl-CursorLineNr*
-CursorLineNr	Like LineNr when 'cursorline' is set for the cursor line.
+CursorLineNr	Like LineNr when 'cursorline' or 'relativenumber' is set for
+		the cursor line.
 							*hl-MatchParen*
 MatchParen	The character under the cursor or just before it, if it
 		is a paired bracket, and its match. |pi_paren.txt|
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 47dbce6..a4737ac 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2012 Dec 05
+*todo.txt*      For Vim version 7.3.  Last change: 2013 Jan 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,9 +34,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-On external command get the message: 
-     SIGCHLD handler called (some thread has SIGCHLD unblocked)
-From MzScheme
+Several syntax file match "^\s*" which may get underlined if that's in the
+highlight group.  Add a "\zs" after it?
 
 Go through more coverity reports.
 
@@ -53,30 +52,8 @@
 - The word that was selected (empty if abandoned complete)
 - Type of completion: tag, omnifunc, user func.
 
-Patch for matchit.vim. (Mike Morearty, 2012 Nov 28)
-
-Patch to fix that the QuitPre autocommand clears the quitmore flag. (Techlive
-Zheng, 2012 Nov 28)
-
-":gundo" command: global undo.  Undoes changes spread over multiple files in
-the order they were made.  Also ":gredo".  Both with a count.  Useful when
-tests fail after making changes and you forgot in which files.
-
-Patch to make updating tabline faster. (Arseny Kapoulkine, 2012 Oct 3)
-Also remove the "rc" variable.
-
-Patch to make "- register not always used. (Christian Brabandt, 2012 Nov 28)
-
-Crash with vimdiff. (Don Cruickshank, 2012 Sep 23)
-
-Patch to support subdirectories for help files. (Charles Campbell, 2012 Nov
-21)
-
 Patch for mzscheme.  (Sergey Khorev, 2012 Nov 19)
-What about ignoring SEGV?
-
-Win32: use 'guifontwide' for IME composition. (Taro Muraoka, 2012 Sep 30)
-Update Oct 2.
+Updated patch 2013 Jan 28.
 
 Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
 Oct 28)
@@ -88,24 +65,45 @@
 Patch to make multibyte input work on Win32 console when codepage differs from
 'encoding'. (Ken Takata, 2012 Sep 29)
 
-It's possible to defined an input() function that overrides the built-in one.
+Patch for building with Ruby and Cygwin. (Ken Takata, 2013 Jan 9)
+
+Patch to make 'relativenumber' show the current lnum instead of zero.
+(Nazri Ramliy, 2013 Jan 29)
+
+It's possible to define an input() function that overrides the built-in one.
 (ZyX, 2012 Sep 28)
 
+Patch to add sha256() function. (Tyru, 2013 Jan 8)
+
+Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12)
+
 Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
+Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
+    Sutcliffe says it works well.
+    Update 2007 May 22 for Vim 7.1
+    Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
+    Update by Ken Takata (2012 Dec 31, 2013 Jan 4, 2013 Jan 26)
+
 Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
 Patch by Christian Brabandt, Nov 22.  Tests in another patch, Nov 23.
 
+Patch to add default value to getbufvar() et al. (Hirohito Higashi, 2013 Jan 1)
+
 Problem caused by patch 7.3.638: window->open does not update window
 correctly. Issue 91.
 
+Patch to fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26)
+
 Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
 
 Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
 28)  With tests: Oct 9.
 
+Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
+
 Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
 (Yukihiro Nakadaira, 2012 Aug 16)
 Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
@@ -136,6 +134,8 @@
 It's probably a good idea to make a negative value for 'sts' use the value of
 'sw'.  Patch by So8res, Oct 3 2012
 
+patch to add "combine" flag to  syntax commands. (so8res, 2012 Dec 6)
+
 Syntax update problem in one buffer opened in two windows, bottom window is
 not correctly updated. (Paul Harris, 2012 Feb 27)
 
@@ -145,9 +145,22 @@
 Patch to add getsid(). (Tyru, 2011 Oct 2)  Do we want this?  Update Oct 4.
 Or use expand('<sid>')?
 
+Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
+
+Patch to add functions for signs. (Christian Brabandt,, 2013 Jan 27)
+
+Patch to use directX to draw text on Windows.  Adds the 'directx' option.
+(Taro Muraoka, 2013 Jan 25)
+
+b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
+7)
+
 Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
 2012 Aug 4)
 
+Patch to improve equivalence classes in regexp patterns.
+(Christian Brabandt, 2013 Jan 16, update Jan 17)
+
 Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
 But use Gnome instead of GTK?
 
@@ -160,6 +173,7 @@
 
 MS-Windows ACL support doesn't work well.  Patch from Ken Takata, 2012 Aug 29.
 Update Aug 31.
+Another patch for MingW, 2012 Dec 29.
 
 MS-Windows resizing problems:
 - Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
@@ -260,7 +274,7 @@
 
 Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
 
-`[ moves to character after insert, instead of the last inserted character.
+`] moves to character after insert, instead of the last inserted character.
 (Yukihiro Nakadaira, 2011 Dec 9)
 
 Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
@@ -388,6 +402,11 @@
 
 Make 'formatprg' global-local. (Sung Pae)
 
+When a buffer-local mapping is used, but a global mapping starts with the same
+characters, Vim currently waits for the next typed character to find out if
+the global mapping matches.  It is probably better to let the local mapping
+win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
+
 When doing "redir => s:foo" in a script and then "redir END" somewhere else
 (e.g. in a function) it can't find s:foo.
 
@@ -516,6 +535,9 @@
 Assume the system converts between the actual encoding of the filesystem to
 the system encoding (usually utf-8).
 
+Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
+26)
+
 Problem producing tags file when hebrew.frx is present.  It has a BOM.
 Results in E670. (Tony Mechelynck, 2010 May 2)
 
@@ -714,7 +736,7 @@
 Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
 Probably needs a bit of work.
 
-List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
+List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
 Are they all OK?  Update Jul 22.
 
 Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
@@ -744,7 +766,7 @@
 When starting Vim with "gvim -f -u non_existent_file > foo.txt" there are a
 few control characters in the output. (Dale Wiles, 2009 May 28)
 
-'cmdwinheight is only used in last window when 'winheight' is a large value.
+'cmdwinheight' is only used in last window when 'winheight' is a large value.
 (Tony Mechelynck, 2009 Apr 15)
 
 Status line containing winnr() isn't updated when splitting the window (Clark
@@ -1245,11 +1267,6 @@
 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
 2007 Feb 8)
 
-Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
-    Sutcliffe says it works well.
-    Update 2007 May 22 for Vim 7.1
-    Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
-
 Win32: Can't complete shell command names.  Why is setting xp_context in
 set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?
 
@@ -1664,7 +1681,8 @@
 2010 Jun 30)
 
 
-At next release:
+At next release 7.4:
+-   Build a huge version by default.
 -   Rename src/Makefile and create a new one like toplevel Makefile that
     creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
 -   Improve plugin handling: Automatic updates, handle dependencies?
@@ -4297,6 +4315,7 @@
 
 
 Searching:
+9   Should have an option for :vimgrep to find lines without a match.
 8   Add "g/" and "gb" to search for a pattern in the Visually selected text?
     "g?" is already used for rot13.
     The vis.vim script has a ":S" command that does something like this.
@@ -4428,6 +4447,9 @@
 
 
 Undo:
+9   ":gundo" command: global undo.  Undoes changes spread over multiple files
+    in the order they were made.  Also ":gredo".  Both with a count.  Useful
+    when tests fail after making changes and you forgot in which files.
 9   After undo/redo, in the message show whether the buffer is modified or
     not.
 8   Use timestamps for undo, so that a version a certain time ago can be found
@@ -4612,6 +4634,7 @@
 7   There is 'titleold', why is there no 'iconold'? (Chazelas)
 7   Make 'scrolloff' a global-local option, so that it can be different in the
     quickfix window, for example. (Gary Holloway)
+    Also do 'sidescrolloff'.
 
 
 External commands:
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index d339adc..d602af6 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.3.  Last change: 2012 Dec 05
+*various.txt*   For Vim version 7.3.  Last change: 2012 Dec 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -174,27 +174,37 @@
 			the command-line.  {commands} are executed like they
 			are typed.  For undo all commands are undone together.
 			Execution stops when an error is encountered.
+
 			If the [!] is given, mappings will not be used.
+			Without it, when this command is called from a
+			non-remappable mapping (|:noremap|), the argument can
+			be mapped anyway.
+
 			{commands} should be a complete command.  If
 			{commands} does not finish a command, the last one
 			will be aborted as if <Esc> or <C-C> was typed.
-			The display isn't updated while ":normal" is busy.
 			This implies that an insert command must be completed
 			(to start Insert mode, see |:startinsert|).  A ":"
 			command must be completed as well.  And you can't use
 			"Q" or "gQ" to start Ex mode.
+
+			The display is not updated while ":normal" is busy.
+
 			{commands} cannot start with a space.  Put a count of
 			1 (one) before it, "1 " is one space.
+
 			The 'insertmode' option is ignored for {commands}.
+
 			This command cannot be followed by another command,
 			since any '|' is considered part of the command.
+
 			This command can be used recursively, but the depth is
 			limited by 'maxmapdepth'.
-			When this command is called from a non-remappable
-			mapping |:noremap|, the argument can be mapped anyway.
+
 			An alternative is to use |:execute|, which uses an
 			expression as argument.  This allows the use of
 			printable characters to represent special characters.
+
 			Example: >
 				:exe "normal \<c-w>\<c-w>"
 <			{not in Vi, of course}
diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim
index edc9650..d11c54b 100644
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:    SQL
 " Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2012 Dec 05
+" Last Change: 2012 Dec 06
 " Version:     3.0
 " Download:    http://vim.sourceforge.net/script.php?script_id=495
 
@@ -36,8 +36,6 @@
 endif
 let b:did_indent     = 1
 let b:current_indent = "sqlanywhere"
-let s:keepcpo= &cpo
-set cpo&vim
 
 setlocal indentkeys-=0{
 setlocal indentkeys-=0}
@@ -57,6 +55,13 @@
 " in the indentkeys is typed
 setlocal indentexpr=GetSQLIndent()
 
+" Only define the functions once.
+if exists("*GetSQLIndent")
+    finish
+endif
+let s:keepcpo= &cpo
+set cpo&vim
+
 " List of all the statements that start a new block.
 " These are typically words that start a line.
 " IS is excluded, since it is difficult to determine when the
diff --git a/runtime/menu.vim b/runtime/menu.vim
index 2b5acb9..656212e 100644
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -2,7 +2,7 @@
 " You can also use this as a start for your own set of menus.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 Oct 21
+" Last Change:	2012 Dec 06
 
 " Note that ":an" (short for ":anoremenu") is often used to make a menu work
 " in all modes and avoid side effects from mappings defined by the user.
@@ -132,7 +132,7 @@
 an 10.620 &File.E&xit<Tab>:qa			:confirm qa<CR>
 
 func! <SID>SelectAll()
-  exe "norm gg" . (&slm == "" ? "VG" : "gH\<C-O>G")
+  exe "norm! gg" . (&slm == "" ? "VG" : "gH\<C-O>G")
 endfunc
 
 func! s:FnameEscape(fname)
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 6f99004..501c91a 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 May 03
+" Last Change:	2012 Dec 14
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -93,16 +93,16 @@
 
 " This should be before cErrInParen to avoid problems with #define ({ xxx })
 if exists("c_curly_error")
-  syntax match cCurlyError "}"
-  syntax region	cBlock		start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
+  syn match cCurlyError "}"
+  syn region	cBlock		start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
 else
-  syntax region	cBlock		start="{" end="}" transparent fold
+  syn region	cBlock		start="{" end="}" transparent fold
 endif
 
 "catch errors caused by wrong parenthesis and brackets
 " also accept <% for {, %> for }, <: for [ and :> for ] (C99)
 " But avoid matching <::.
-syn cluster	cParenGroup	contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
+syn cluster	cParenGroup	contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
 if exists("c_no_curly_error")
   syn region	cParen		transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
   " cCppParen: same as cParen but ends at end-of-line; used in cDefine
diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim
index 956197d..ac3b20c 100644
--- a/runtime/syntax/php.vim
+++ b/runtime/syntax/php.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language: php PHP 3/4/5
 " Maintainer: Jason Woofenden <jason@jasonwoof.com>
-" Last Change: Oct 20, 2011
+" Last Change: Dec 11, 2012
 " URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
 " Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
 "         Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@@ -182,6 +182,7 @@
 syn keyword phpFunctions  ingres_autocommit ingres_close ingres_commit ingres_connect ingres_fetch_array ingres_fetch_object ingres_fetch_row ingres_field_length ingres_field_name ingres_field_nullable ingres_field_precision ingres_field_scale ingres_field_type ingres_num_fields ingres_num_rows ingres_pconnect ingres_query ingres_rollback  contained
 syn keyword phpFunctions  ircg_channel_mode ircg_disconnect ircg_fetch_error_msg ircg_get_username ircg_html_encode ircg_ignore_add ircg_ignore_del ircg_is_conn_alive ircg_join ircg_kick ircg_lookup_format_messages ircg_msg ircg_nick ircg_nickname_escape ircg_nickname_unescape ircg_notice ircg_part ircg_pconnect ircg_register_format_messages ircg_set_current ircg_set_file ircg_set_on_die ircg_topic ircg_whois  contained
 syn keyword phpFunctions  java_last_exception_clear java_last_exception_get contained
+syn keyword phpFunctions  json_decode json_encode json_last_error contained
 syn keyword phpFunctions  ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind  contained
 syn keyword phpFunctions  lzf_compress lzf_decompress lzf_optimized_for contained
 syn keyword phpFunctions  ezmlm_hash mail contained