diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0b74708..2114ff4 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2013 May 06
+*eval.txt*	For Vim version 7.3.  Last change: 2013 May 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1171,7 +1171,7 @@
 A variable name that is preceded with "w:" is local to the current window.  It
 is deleted when the window is closed.
 
-						*tabpage-variable* *t:var*
+						*tabpage-variable* *t:var* *t:*
 A variable name that is preceded with "t:" is local to the current tab page,
 It is deleted when the tab page is closed. {not available when compiled
 without the |+windows| feature}
diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt
index b4ea5fd..9aa711b 100644
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -1,4 +1,4 @@
-*ft_sql.txt*	For Vim version 7.3.  Last change: 2013 Apr 05
+*ft_sql.txt*	For Vim version 7.3.  Last change: 2013 May 15
 
 by David Fishburn
 
@@ -349,6 +349,7 @@
 The static maps (which are based on the syntax highlight groups) follow this
 format: >
     imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
+    imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
 
 This command breaks down as: >
     imap		   - Create an insert map
@@ -369,6 +370,9 @@
 			     command while editing a SQL file.
     'sqlKeyword'	   - Display the items for the sqlKeyword highlight
 			     group
+    'sqlKeyword\w*'	   - A second option available with Vim 7.4 which
+                             uses a regular expression to determine which
+			     syntax groups to use
     )<CR>		   - Execute the :let command
     <C-X><C-O>		   - Trigger the standard omni completion key stroke.
 			     Passing in 'sqlKeyword' instructs the SQL
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index a2c949e..a94183f 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: 2013 May 06
+*if_pyth.txt*   For Vim version 7.3.  Last change: 2013 May 17
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 5456611..6b8d445 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.3.  Last change: 2013 May 06
+*index.txt*     For Vim version 7.3.  Last change: 2013 May 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1403,8 +1403,10 @@
 |:pwd|		:pw[d]		print current directory
 |:py3|		:py3		execute Python 3 command
 |:python3|	:python3	same as :py3
+|:py3do|	:py3d[o]	execute Python 3 command for each line
 |:py3file|	:py3f[ile]	execute Python 3 script file
 |:python|	:py[thon]	execute Python command
+|:pydo|		:pyd[o]		execute Python command for each line
 |:pyfile|	:pyf[ile]	execute Python script file
 |:quit|		:q[uit]		quit current window (when one window quit Vim)
 |:quitall|	:quita[ll]	quit Vim
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index dfa2e71..71727aa 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.3.  Last change: 2008 Jun 16
+*pi_paren.txt*  For Vim version 7.3.  Last change: 2013 May 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -46,7 +46,10 @@
   closed folds.
 - 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
   in a long line with syntax highlighting.
-
+- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
+  g:matchparen_timeout and g:matchparen_insert_timeout variables and their
+  buffer-local equivalents b:matchparen_timeout and
+  b:matchparen_insert_timeout.
 
 If you would like the |%| command to work better, the matchit plugin can be
 used, see |matchit-install|.  This plugin also helps to skip matches in
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 842141f..39c7839 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1239,17 +1239,17 @@
 
 ERLANG						*erlang.vim* *ft-erlang-syntax*
 
-The erlang highlighting supports Erlang (ERicsson LANGuage).
-Erlang is case sensitive and default extension is ".erl".
+Erlang is a functional programming language developed by Ericsson.  Files with
+the following extentions are recognized as Erlang files: erl, hrl, yaws.
 
-If you want to disable keywords highlighting, put in your .vimrc: >
-	:let erlang_keywords = 1
-If you want to disable built-in-functions highlighting, put in your
-.vimrc file: >
-	:let erlang_functions = 1
-If you want to disable special characters highlighting, put in
-your .vimrc: >
-	:let erlang_characters = 1
+The BIFs (built-in functions) are highlighted by default. To disable this,
+put the following line in your vimrc: >
+
+      :let g:erlang_highlight_bifs = 0
+
+To enable highlighting some special atoms, put this in your vimrc: >
+
+      :let g:erlang_highlight_special_atoms = 1
 
 
 FLEXWIKI				*flexwiki.vim* *ft-flexwiki-syntax*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 2775e88..9af196a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2590,7 +2590,9 @@
 :pwd	editing.txt	/*:pwd*
 :py	if_pyth.txt	/*:py*
 :py3	if_pyth.txt	/*:py3*
+:py3do	if_pyth.txt	/*:py3do*
 :py3file	if_pyth.txt	/*:py3file*
+:pydo	if_pyth.txt	/*:pydo*
 :pyf	if_pyth.txt	/*:pyf*
 :pyfile	if_pyth.txt	/*:pyfile*
 :python	if_pyth.txt	/*:python*
@@ -4258,6 +4260,7 @@
 E860	eval.txt	/*E860*
 E861	eval.txt	/*E861*
 E862	eval.txt	/*E862*
+E863	if_pyth.txt	/*E863*
 E87	windows.txt	/*E87*
 E88	windows.txt	/*E88*
 E89	message.txt	/*E89*
@@ -7336,6 +7339,8 @@
 python-output	if_pyth.txt	/*python-output*
 python-pyeval	if_pyth.txt	/*python-pyeval*
 python-range	if_pyth.txt	/*python-range*
+python-tabpage	if_pyth.txt	/*python-tabpage*
+python-tabpages	if_pyth.txt	/*python-tabpages*
 python-vars	if_pyth.txt	/*python-vars*
 python-vim	if_pyth.txt	/*python-vim*
 python-vvars	if_pyth.txt	/*python-vvars*
@@ -7851,6 +7856,7 @@
 system-vimrc	starting.txt	/*system-vimrc*
 s~	change.txt	/*s~*
 t	motion.txt	/*t*
+t:	eval.txt	/*t:*
 t:var	eval.txt	/*t:var*
 t_#2	term.txt	/*t_#2*
 t_#4	term.txt	/*t_#4*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index de0313c..efeb0ff 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -328,7 +328,7 @@
 	t_k8	<F8>		function key 8		*<F8>*	*t_k8* *'t_k8'*
 	t_k9	<F9>		function key 9		*<F9>*	*t_k9* *'t_k9'*
 	t_k;	<F10>		function key 10		*<F10>*	*t_k;* *'t_k;'*
-	t_F1	<F11>		function key 11		*<F11>* *t_F1* *'t_F1'*
+	t_F1	<F11>		function key 11		*<F11>*	*t_F1* *'t_F1'*
 	t_F2	<F12>		function key 12		*<F12>*	*t_F2* *'t_F2'*
 	t_F3	<F13>		function key 13		*<F13>*	*t_F3* *'t_F3'*
 	t_F4	<F14>		function key 14		*<F14>*	*t_F4* *'t_F4'*
@@ -358,9 +358,9 @@
 	t_kI	<Insert>	insert key			*t_kI* *'t_kI'*
 	t_kD	<Del>		delete key			*t_kD* *'t_kD'*
 	t_kb	<BS>		backspace key			*t_kb* *'t_kb'*
-	t_kB	<S-Tab>		back-tab (shift-tab)  *<S-Tab>* *t_kB* *'t_kB'*
+	t_kB	<S-Tab>		back-tab (shift-tab)  *<S-Tab>*	*t_kB* *'t_kB'*
 	t_kh	<Home>		home key			*t_kh* *'t_kh'*
-	t_#2	<S-Home>	shifted home key     *<S-Home>* *t_#2* *'t_#2'*
+	t_#2	<S-Home>	shifted home key     *<S-Home>*	*t_#2* *'t_#2'*
 		<xHome>		alternate home key		*<xHome>*
 	t_@7	<End>		end key				*t_@7* *'t_@7'*
 	t_*7	<S-End>		shifted end key	*<S-End>* *t_star7* *'t_star7'*
@@ -373,8 +373,8 @@
 	t_K5	<kPageDown>	keypad page-down key		*t_K5* *'t_K5'*
 	t_K6	<kPlus>		keypad plus key	      *<kPlus>*	*t_K6* *'t_K6'*
 	t_K7	<kMinus>	keypad minus key     *<kMinus>*	*t_K7* *'t_K7'*
-	t_K8	<kDivide>	keypad divide	    *<kDivide>* *t_K8* *'t_K8'*
-	t_K9	<kMultiply>	keypad multiply   *<kMultiply>* *t_K9* *'t_K9'*
+	t_K8	<kDivide>	keypad divide	    *<kDivide>*	*t_K8* *'t_K8'*
+	t_K9	<kMultiply>	keypad multiply   *<kMultiply>*	*t_K9* *'t_K9'*
 	t_KA	<kEnter>	keypad enter key     *<kEnter>*	*t_KA* *'t_KA'*
 	t_KB	<kPoint>	keypad decimal point *<kPoint>*	*t_KB* *'t_KB'*
 	t_KC	<k0>		keypad 0		 *<k0>*	*t_KC* *'t_KC'*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 2cfe63c..8b417de 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2013 May 06
+*todo.txt*      For Vim version 7.3.  Last change: 2013 May 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,6 +34,134 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+--- Python interface
+
+Python SystemExit exception is not handled properly.  Patch to catch the
+exception and give an error. (Yasuhiro Matsumoto)
+Does not work, tests fail.
+
+Patch to print the result of a :python command. (Maxim Philippov
+<philippovmi@gmail.com>, 2012 Aug 16)  Update Aug 17.
+Patch no longer applies.
+
+":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
+Check directory and call shorten_fnames()?  Better: make os.chdir()
+invoke the interal :cd implementation, that takes care of all side
+effects.
+
+Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
+that breaks the build. (Brian Victor, 2008 Sep 1)
+
+Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
+
+Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
+
+Win32: The Python interface only works with one version of Python, selected at
+compile time.  Can this be made to work with version 2.1 and 2.2 dynamically?
+
+Python: Be able to define a Python function that can be called directly from
+Vim script.  Requires converting the arguments and return value.
+
+--- runtime files
+
+Syntax file for protocol buffers. (Feng Xiao, 2013 May 9)
+Has an ugly copyright notice.  No conflict with Vim license?
+
+Patch for JavaScript syntax. (Kevin Locke, 2013 May 9)
+Claudio didn't respond yet.
+
+--- Fast regexp engine
+
+Including NFA regexp code.  Latest version probably is:
+https://code.google.com/p/vim-soc2008-regexp/source/browse/trunk/vim72-re/src/regexp_nfa.c
+Patch updated by Ken Takata. (May 13)
+
+To be able to run tests:
+- set defaultre=old / nfa / auto
+- In pattern use "\%#= to set the engine: 0 = automatic, 1 = old 2 = nfa
+
+Get example files for many languages. Compare syntax highlighting with old and
+new regexp, find regexp constructs where NFA does not work correctly.
+Idea for comparing output: use format.vim (ZyX, 2013 May 12)
+MakeSynChk from Charles Campbell. (May 14)
+
+Performance tests:
+- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
+- ~/vim/test/slowsearch
+- ~/vim/test/rgb.vim
+- ~/vim/text/FeiqCfg.xml (file from Netjune)
+- ~/vim/text/edl.svg  (also XML)
+- search for  a.*e*exn  in the vim executable.  Go to last line to use
+  'hlsearch'.
+
+--- bug fixes
+
+Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
+1)
+
+Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
+then Sep 1, reminder Oct 14)
+
+Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
+
+Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
+2012 Mar 21, update Mar 31)
+With fix for memory leak: Ken Takata, 2012 Aug 24
+Another update Sep 24.
+Also patch from Joerg Bornemann, 2013 Apr 30.
+
+Undo problem: line not removed as expected when using setline() from Insert
+mode. (Israel Chauca, 2010 May 13, more in second msg)
+Break undo when CTRL-R = changes the text?  Or save more lines?
+Patch by Christian Brabandt, 2012 Nov 16.
+
+Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
+
+Matches might be highlighted correctly. Inefficient patch by Christian
+Brabandt, 2013 Feb 26.
+
+Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
+Mar 31)
+
+Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
+Patch Sep 18.
+
+Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
+2012 Jul 20)
+
+Patch to fix finding toolbar bitmaps.  Issue 129.
+
+Combining characters are not used when executing a register with :@w.
+(William Fugh, 2013 Apr 5, more info from Ben Fritz)
+Patch by Christian Brabandt, 2013 Apr 6.  Second one.
+
+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.
+
+Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
+Patch by Christian Brabandt, Feb 16.
+
+'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
+2012 Apr 2.
+
+--- slightly incompatible changes
+
+Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
+13)
+
+It's probably a good idea to make a negative value for 'sts' use the value of
+'sw'.  Patch by So8res, Oct 3 2012
+
+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)
+Patch by Michael Henry, 2013 Jan 30, update Feb 15.
+
+
+---- Fixes to be included before 7.4 above, less important stuff below ----
+
 Several syntax file match "^\s*" which may get underlined if that's in the
 highlight group.  Add a "\zs" after it?
 
@@ -48,8 +176,6 @@
 
 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
 
-Nederlandse vertaling tutor. (Rob Bishoff, 2013 Apr 24)
-
 The CompleteDone autocommand needs some info passed to it:
 - The word that was selected (empty if abandoned complete)
 - Type of completion: tag, omnifunc, user func.
@@ -65,9 +191,6 @@
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
-Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
-13)
-
 Problem caused by patch 7.3.638: window->open does not update window
 correctly. Issue 91.
 
@@ -76,90 +199,41 @@
 
 Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)
 
-Patch to make vim.bindeval() in Python work. (Yukihiro Nakadaira, 2013 Mar 25)
-
-Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
-1)
-
 Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May
 5)
 
-Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
-2012 Mar 21, update Mar 31)
-With fix for memory leak: Ken Takata, 2012 Aug 24
-Another update Sep 24.
-Also patch from Joerg Bornemann, 2013 Apr 30.
-
-Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
-
 Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
 
+Patch to allow setting w:quickfix_title via setqflist() and setloclist()
+functions. (Christian Brabandt, 2013 May 8, update May 11)
+
 Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
 28)  With tests: Oct 9.
 
+Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
+Second one.
+
 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)
 
-Undo problem: line not removed as expected when using setline() from Insert
-mode. (Israel Chauca, 2010 May 13, more in second msg)
-Break undo when CTRL-R = changes the text?  Or save more lines?
-Patch by Christian Brabandt, 2012 Nov 16.
-
 Issue 54: document behavior of -complete, also expands arg.
 
-Python patch 7: move more to if_py_boty. (ZyX 2013 Apr 26)
-Python patch 8: add vim.window.number. (ZyX 2013 Apr 26)
-Python patch 9: remove useless calls.. (ZyX 2013 Apr 26)
-Python patch 10: window position. (ZyX 2013 Apr 26)
-Python patch 11: reorder code in if_py_both (ZyX 2013 Apr 28)
-Python patch 12: fix SEGVs (ZyX 2013 Apr 28)
-Python patch 13: negative indices were failing (ZyX 2013 Apr 28)
-Python patch 14: tests for previous fixes (ZyX 2013 Apr 28)
-Python patch 15: make buflist a bufmap (ZyX 2013 Apr 28)  incompatible?
-Python patch 16: fix name of FunctionType (ZyX 2013 Apr 28)
-Python patch 17: add iterators (ZyX 2013 Apr 28)
-Python patch 18: Python 2.2 support (ZyX 2013 Apr 28)
-Python patch 19: drop support for old Pythons (ZyX 2013 Apr 28)
-Python patch 20: tests for vim.buffers (ZyX 2013 Apr 28, second one)
-Python patch 20a: tests for vim.bufferlist (ZyX 2013 May 1)
-Python patch 21: add vim.tabpages and vim.current.tabpage (ZyX 2013 May 1)
-Python patch 22: make KeyErrors use PyErr_SetObject (ZyX 2013 May 1)
-Python patch 23: transform and clean python exceptions (ZyX 2013 May 1)
-Python patch 24: add ability to assign to more vim.current attributes (ZyX
-		2013 May 1)
-Python patch 25: make vim.error Exception subclass (ZyX 2013 May 1)
-Python patch 26: check whether PyObject_IsTrue failed (ZyX 2013 May 1)
-Python patch 27: add tests for various python interfaces (ZyX 2013 May 1)
-
-Matches might be highlighted correctly. Inefficient patch by Christian
-Brabandt, 2013 Feb 26.
-
 -   Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'.  Combine
     the two into a regex for searching. (Ned Konz)
 Patch by Christian Brabandt, 2013 Apr 20, unfinished.
 
-Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
-Mar 31)
-
-Patch to fix finding toolbar bitmaps.  Issue 129.
-
-Patch to handle Python SystemExit. (Yasuhiro Matsumoto, 2013 Apr 15)
+Bug: findfile("any", "http://;") returns http://any. (Andrew Pimlott, 2013 May
+7)  Not sure if that can be fixed, but when using "file://" it should be
+possible to check if the file exists.
 
 v:register is not directly reset to " after a delete command that specifies a
 register.  It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
 
 'ff' is wrong for one-line file without EOL. (Issue 77)
 
-Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
-then Sep 1, reminder Oct 14)
-
-Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
-
-No completion for :xmap and :smap. (Yukihiro Nakadaira, 2013 May 5)
-
 Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
 Needs a different check for CLEARTYPE_QUALITY.
 
@@ -172,21 +246,8 @@
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
-It's probably a good idea to make a negative value for 'sts' use the value of
-'sw'.  Patch by So8res, Oct 3 2012
-
-Test 79 fails on Windows only. (Michael Soyka, 2013 Apr 11).
-What makes the test script mapping continue after an error?
-
 patch to add "combine" flag to  syntax commands. (so8res, 2012 Dec 6)
 
-Combining characters are not used when executing a register with :@w.
-(William Fugh, 2013 Apr 5, more info from Ben Fritz)
-Patch by Christian Brabandt, 2013 Apr 6.  Second one.
-
-Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
-Patch by Christian Brabandt, Feb 16.
-
 Syntax update problem in one buffer opened in two windows, bottom window is
 not correctly updated. (Paul Harris, 2012 Feb 27)
 
@@ -201,7 +262,7 @@
 Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
 
 Patch to use directX to draw text on Windows.  Adds the 'renderoptions'
-option.  (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3)
+option.  (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
 
 Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
 
@@ -227,10 +288,6 @@
 Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
 2012 Aug 11)  Disallow :new when BufUnload is being handled?
 
-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
   20.  Uses getWindowRect() instead of GetWindowPlacement()
@@ -240,7 +297,7 @@
 
 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
 
-Patch to append regesp to tag commands to make it possible to select one out
+Patch to append regexp to tag commands to make it possible to select one out
 of many matches. (Cody Cutler, 2013 Mar 28)
 
 Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
@@ -281,18 +338,9 @@
 
 Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
 
-Patch to print the result of a :python command. (Maxim Philippov
-<philippovmi@gmail.com>, 2012 Aug 16)  Update Aug 17.
-
 Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
 Apr 18)
 
-Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
-Patch Sep 18.
-
-Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
-2012 Jul 20)
-
 Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
 And one for gui_x11.txt.
 
@@ -325,16 +373,11 @@
 Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
 Update Jun 2.
 
-Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
-
 `] moves to character after insert, instead of the last inserted character.
 (Yukihiro Nakadaira, 2011 Dec 9)
 
 Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
 
-Updated syntax file for ssh_config, maintainer doesn't respond.
-(Leonard Ehrenfried, 2011 Sep 26)
-
 BufWinLeave triggers too late when quitting last window in a tab page. (Lech
 Lorens, 2012 Feb 21)
 
@@ -364,15 +407,9 @@
 only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
 21, Ben Fritz, 2010 Sep 14)
 
-'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
-2012 Apr 2.
-
 'cursorline' works on a text line only.  Add 'cursorscreenline' for
 highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
 
-Win32: Does building a 64 bit version with VC9 give warnings for int
-conversions? (Mike Williams)
-
 Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
 New feature, requires testing.  Made some remarks.
 
@@ -452,12 +489,6 @@
 
 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)
-Patch by Michael Henry, 2013 Jan 30, update Feb 15.
-
 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.
 
@@ -584,9 +615,6 @@
 Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
 crash? (Raiwil, 2010 Nov 17)
 
-Python: Adding line to buffer other than the current one doesn't work
-correctly. (Rozbujnik, 2010 Dec 19)
-
 Patch to add 'systemencoding', convert between 'encoding' and this for file
 names, shell commands and the like.  (Kikuchan, 2010 Oct 14)
 Assume the system converts between the actual encoding of the filesystem to
@@ -946,9 +974,6 @@
 Use a different option or let it depend on whether 'shell' looks like a
 unix-like shell?
 
-Allow patches to add something to version.c, like with an official patch, so
-that :version output shows which patches have been applied.
-
 Bug: in Ex mode (after "Q") backslash before line break, when yanked into a
 register and executed, results in <Nul>: instead of line break.
 (Konrad Schwarz, 2010 Apr 16)
@@ -1163,18 +1188,6 @@
 
 Add ":nofold".  Range will apply without expanding to closed fold.
 
-Including NFA regexp code:
-Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
-Useful in tests.
-Performance tests:
-- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
-- ~/vim/test/slowsearch
-- ~/vim/test/rgb.vim
-- ~/vim/text/FeiqCfg.xml (file from Netjune)
-- ~/vim/text/edl.svg  (also XML)
-- search for  a.*e*exn  in the vim executable.  Go to last line to use
-  'hlsearch'.
-
 Using Aap to build Vim: add remarks about how to set personal preferences.
 Example on http://www.calmar.ws/tmp/aap.html
 
@@ -1407,9 +1420,6 @@
 
 ":helpgrep" should use the directory from 'helpfile'.
 
-Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
-Needs more work.
-
 The need_fileinfo flag is messy.  Instead make the message right away and put
 it in keep_msg?
 
@@ -1451,9 +1461,6 @@
 2008 Nov 10)  call netbeans_file_closed() at the end of buf_freeall(), or in
 all places where buf_freeall() is called?
 
-":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
-Check directory and call shorten_fnames()?
-
 aucmd_prepbuf() should also use a window in another tab page.
 
 When unloading a buffer in a BufHidden autocommand the hidden flag is reset?
@@ -1489,9 +1496,6 @@
 
 Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
 
-Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
-that breaks the build. (Brian Victor, 2008 Sep 1)
-
 Add an option to specify the character to use when a double-width character is
 moved to the next line.  Default '>', set to a space to blank it out.  Check
 that char is single width when it's set (compare with 'listchars').
@@ -1778,7 +1782,6 @@
     more friendly for the Vim distribution.
     New version received 2008 Jan 6.
     No maintenance in two years...
--   Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
 -   Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)
 
 Awaiting updated patches:
@@ -2357,7 +2360,6 @@
 8   When doing Insert mode completion a mapping cannot recursively call
     edit(), because the completion information is global.  Put everything in
     an allocated structure?
-6   Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 8   Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
     ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
 7   mb_off2cells() doesn't work correctly on the tail byte of a double-byte
@@ -3654,9 +3656,6 @@
 Win32 GUI:
 8   Make debug mode work while starting up (vim -D).  Open console window for
     the message and input?
-7   The Python interface only works with one version of Python, selected at
-    compile time.  Can this be made to work with version 2.1 and 2.2
-    dynamically?
 7   GvimExt: when there are several existing Vims, move the list to a submenu.
     (Mike McCollister)
 8   When using "Edit with Vim" for one file it changes directory, when several
@@ -4871,8 +4870,6 @@
 
 
 Various improvements:
-9   Python: be able to define a Python function that can be called directly
-    from Vim script.  Requires converting the arguments and return value.
 7   Add plugins for formatting?  Should be able to make a choice depending on
     the language of a file (English/Korean/Japanese/etc.).
     Setting the 'langformat' option to "chinese" would load the
@@ -4897,7 +4894,6 @@
 7   Allow a window not to have a statusline.  Makes it possible to use a
     window as a buffer-tab selection.
 8   Allow non-active windows to have a different statusline. (Yakov Lerner)
-6   Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
 7   Support using ":vert" with User commands.  Add expandable items <vert>.
     Do the same for ":browse" and ":confirm"?
     For ":silent" and ":debug" apply to the whole user command.
