diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 7bd9b37..165131e 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 25
+*if_pyth.txt*   For Vim version 7.3.  Last change: 2013 Jun 02
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -340,7 +340,7 @@
 			|BufFilePost| autocommands are launched.
 	b.number	Buffer number. Can be used as |python-buffers| key.
 			Read-only.
-	b.valid		True or False. Buffer object becames invalid when 
+	b.valid		True or False. Buffer object becomes invalid when 
 			corresponding buffer is wiped out.
 
 The buffer object methods are:
@@ -446,7 +446,7 @@
 	row, col (read-only)	On-screen window position in display cells.
 				First position is zero.
 	tabpage (read-only)	Window tab page.
-	valid (read-write)	True or False. Window object becames invalid 
+	valid (read-write)	True or False. Window object becomes invalid 
 				when corresponding window is closed.
 
 The height attribute is writable only if the screen is split horizontally.
@@ -471,7 +471,7 @@
 	windows		Like |python-windows|, but for current tab page.
 	vars		The tab page |t:| variables.
 	window		Current tabpage window.
-	valid		True or False. Tab page object becames invalid when 
+	valid		True or False. Tab page object becomes invalid when 
 			corresponding tab page is closed.
 
 TabPage object type is available using "TabPage" attribute of vim module.
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 6b8d445..c2b1ca1 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 17
+*index.txt*     For Vim version 7.3.  Last change: 2013 Jun 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1510,6 +1510,7 @@
 |:sview|	:sv[iew]	split window and edit file read-only
 |:swapname|	:sw[apname]	show the name of the current swap file
 |:syntax|	:sy[ntax]	syntax highlighting
+|:syntime|	:synti[me]	measure syntax highlighting speed
 |:syncbind|	:sync[bind]	sync scroll binding
 |:t|		:t		same as ":copy"
 |:tNext|	:tN[ext]	jump to previous matching tag
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 6b01d7c..d7f9db0 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.3.  Last change: 2013 May 23
+*options.txt*	For Vim version 7.3.  Last change: 2013 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5132,7 +5132,18 @@
 	characters are put before the number.
 	See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
 	the number.
-	When setting this option, 'relativenumber' is reset.
+						*number_relativenumber*
+	The 'relativenumber' option changes the displayed number to be
+	relative to the cursor.  Together with 'number' there are these
+	four combinations (cursor in line 3):
+
+              	'nonu'          'nu'            'nonu'          'nu'
+		'nornu'         'nornu'         'rnu'           'rnu'
+
+	    |apple          |  1 apple      |  2 apple      |  2 apple
+	    |pear           |  2 pear       |  1 pear       |  1 pear
+	    |nobody         |  3 nobody     |  0 nobody     |3   nobody
+	    |there          |  4 there      |  1 there      |  1 there
 
 						*'numberwidth'* *'nuw'*
 'numberwidth' 'nuw'	number	(Vim default: 4  Vi default: 8)
@@ -5547,7 +5558,10 @@
 	characters are put before the number.
 	See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
 	the number.
-	When setting this option, 'number' is reset.
+	
+	The number in front of the cursor line also depends on the value of
+	'number', see |number_relativenumber| for all combinations of the two
+	options.
 
 						*'remap'* *'noremap'*
 'remap'			boolean	(default on)
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index e90e388..69b4a9f 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.3.  Last change: 2013 May 29
+*pattern.txt*   For Vim version 7.3.  Last change: 2013 Jun 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1232,7 +1232,7 @@
 	Bxy		Byx		yes (order ignored)
 	Bxy		By		no (x missing)
 	Bxy		Bx		no (y missing)
-	Bx		Bx		yes (perfect mach)
+	Bx		Bx		yes (perfect match)
 	Bx		By		no (x missing)
 	Bx		Bxy		yes (extra y ignored)
 	Bx		Byx		yes (extra y ignored)
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 7f296d1..3779de1 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.3.  Last change: 2013 May 31
+*syntax.txt*	For Vim version 7.3.  Last change: 2013 Jun 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3957,7 +3957,7 @@
 
 These extra regular expression items are available in region patterns:
 
-						*/\z(* */\z(\)* *E50* *E52*
+					*/\z(* */\z(\)* *E50* *E52* *E879*
     \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.
@@ -5097,6 +5097,9 @@
 faster.  To see slowness switch on some features that usually interfere, such
 as 'relativenumber' and |folding|.
 
+Note: this is only available when compiled with the |+profile| feature.
+You many need to build Vim with "huge" features.
+
 To find out what patterns are consuming most time, get an overview with this
 sequence: >
 	:syntime on
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f02c4c2..69ed533 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2876,6 +2876,7 @@
 :syntax-enable	syntax.txt	/*:syntax-enable*
 :syntax-on	syntax.txt	/*:syntax-on*
 :syntax-reset	syntax.txt	/*:syntax-reset*
+:syntime	syntax.txt	/*:syntime*
 :t	change.txt	/*:t*
 :tN	tagsrch.txt	/*:tN*
 :tNext	tagsrch.txt	/*:tNext*
@@ -4281,6 +4282,7 @@
 E876	pattern.txt	/*E876*
 E877	pattern.txt	/*E877*
 E878	pattern.txt	/*E878*
+E879	syntax.txt	/*E879*
 E88	windows.txt	/*E88*
 E89	message.txt	/*E89*
 E90	message.txt	/*E90*
@@ -7159,6 +7161,7 @@
 notepad	gui_w32.txt	/*notepad*
 nr2char()	eval.txt	/*nr2char()*
 nroff.vim	syntax.txt	/*nroff.vim*
+number_relativenumber	options.txt	/*number_relativenumber*
 numbered-function	eval.txt	/*numbered-function*
 o	insert.txt	/*o*
 o_CTRL-V	motion.txt	/*o_CTRL-V*
@@ -7353,6 +7356,7 @@
 python-bindeval-objects	if_pyth.txt	/*python-bindeval-objects*
 python-buffer	if_pyth.txt	/*python-buffer*
 python-buffers	if_pyth.txt	/*python-buffers*
+python-chdir	if_pyth.txt	/*python-chdir*
 python-command	if_pyth.txt	/*python-command*
 python-commands	if_pyth.txt	/*python-commands*
 python-current	if_pyth.txt	/*python-current*
@@ -7360,11 +7364,13 @@
 python-error	if_pyth.txt	/*python-error*
 python-eval	if_pyth.txt	/*python-eval*
 python-examples	if_pyth.txt	/*python-examples*
+python-fchdir	if_pyth.txt	/*python-fchdir*
 python-input	if_pyth.txt	/*python-input*
 python-options	if_pyth.txt	/*python-options*
 python-output	if_pyth.txt	/*python-output*
 python-pyeval	if_pyth.txt	/*python-pyeval*
 python-range	if_pyth.txt	/*python-range*
+python-strwidth	if_pyth.txt	/*python-strwidth*
 python-tabpage	if_pyth.txt	/*python-tabpage*
 python-tabpages	if_pyth.txt	/*python-tabpages*
 python-vars	if_pyth.txt	/*python-vars*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index e77fb55..5f01603 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 Jun 01
+*todo.txt*      For Vim version 7.3.  Last change: 2013 Jun 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,34 +34,18 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Make it possible to test the status line: add screenchar(col, row).
+Use screen_getbytes().
+Could also add screenattr(col, row), but value is unpredictable.
+Functions to read the actual contents of the screen, so that things like
+conceal can be tested. (Nazri Ramliy, 2013 Feb 18)
+
+function() does not work like before. (lilydjwg, 2013 Jun 4)
+I guess this is caused by patch 7.3.1058:
+"Call of funcref does not succeed in other script."
+
 --- Python interface
 
-Patch from ZyX, May 30: Fix some possible memory problems
-
-Check: docs for .valid  patch by ZyX, May 30
-Correction by Roland Eggner, May 31.
-
-Tests are disabled because they fail.
-
-Configure doesn't find Python 3 on Ubuntu 13.04. (Ken Takata, Apr 13)
-
-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 complete after :py3. (Taro Muraoka, 2013 May 31)
-
-":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
-Patch to make os.chdir() handle side effects. (Xavier de Gaye, 2013 May 17)
-Update May 19, also for os.fchdir().
-Adds a $VIMRUNTIME/python directory.
-ZyX: OK to add python and python3 directory.
-
-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
@@ -71,8 +55,19 @@
 Vim script.  Requires converting the arguments and return value, like with
 vim.bindeval().
 
+Python SystemExit exception is not handled properly.  Patch to catch the
+exception and give an error. (Yasuhiro Matsumoto)
+Does not work, tests fail.
+
+Python: crash in test 86 because of int/size_t mixup? (Jun Takimoto, 2013 Jun
+6)
+
+Add a $VIMRUNTIME/python and $VIMRUNTIME/python3 directories?
+
 --- runtime files
 
+Alternate html indent file by Andy Wokula, script 2075.
+
 Syntax file for protocol buffers. (Feng Xiao, 2013 May 9)
 Has an ugly copyright notice.
 Add statement that it does not conflict with Vim license.
@@ -80,32 +75,22 @@
 Patch for JavaScript syntax. (Kevin Locke, 2013 May 9)
 Claudio didn't respond yet.
 
---- Fast regexp engine
+upstream_dat, usserver_log et al. syntax files. (Rob Owens, 2013 Jun 5)
 
-Error in HTML highlighting. (Hiroshi Shirosaki)
+--- New regexp engine
 
-Tests for \{-} : Requires trying to start at every position?
-If so, rename nfa_has_backref to nfa_dup_states and re-use it for this.
+Does not work (yet) with NFA:
+- \%u, \%x, \%o, \%d followed by a composing character
 
-Allow "^*" as a literal "*".
-
-Need more testing for \1 back references.
+Don't call nfa_regmatch() recursively if the "out" state is not going to be
+added anyway.  In run log:
+    > Not adding state 6 to list 4. char -971: NFA_SKIP
 
 Profiling:
+    ./vim -s ~/vim/test/alsa.vim
+    ./vim -s ~/vim/test/todo.vim
     ./vim -s ~/vim/test/loop.vim
-    ./vim -s ~/vim/test/xml.vim  (Fix: Uses the old engine, see
-				bt_regexp_debug.log)
-	Need \@<=
-	NFA engine could not handle "[<]\@<=[^ /!?<>"']\+"
-	NFA engine could not handle "<!--\_.\{-}-->"
-
-setting cpo_lit and cpo_bsl can be slow.  Make them global.
-
-Get example files for many languages. Compare syntax highlighting with old and
-new regexp, find regexp constructs where NFA does not work correctly.
-source ~/vim/regexp/runold.vim  to update the "old" files.
-source ~/vim/regexp/runnew.vim  to update the "new" files
-source ~/vim/regexp/diff.vim    to find differences
+    ./vim -s ~/vim/test/xml.vim
 
 More test files from the src/pkg/regexp/testdata directory in the Go repo.
 
@@ -127,18 +112,14 @@
 - When lists are empty in nfa_regmatch() and match is true, it keeps looping
   without doing anything.
 
-Does not work (yet) with NFA:
-- \z() \z1 .. "\z9": Previously matched text in syn HL.
-- ~: previous substitute pattern. Requires recursive compilation?
-- \%u, \%x, \%o, \%d followed by a composing character
-- \%V Visual
-- \%[abc]
-- \%'  mark
-- \@<  match before zero-width
-- \@>  match whole pattern
+BT engine: After \@> match and failing submatches are not cleared.
+See test64.
 
 --- bug fixes
 
+:wviminfo does not write old history entries. (Roland Eggner, 2013 Jun 5)
+Another message Jun 6.
+
 Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
 1)
 
@@ -190,6 +171,9 @@
 Issue 134: pasting in visual selection in empty buffer.
 Patch by Christian Brabandt, 2013 May 22.
 
+Patch to fix "gn" on single character matches. (Christian Brabandt, 2013 Jun
+2)
+
 'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
 2012 Apr 2.
 
@@ -202,6 +186,12 @@
 ":diffoff" does not restore options from before starting diff mode.
 Patch by Christian Brabandt, 2013 May 26.
 
+Can't use multi-byte fill character in custom status line.
+Patch by Christian Wellenbrock, 2013 Jun 2.  Update Jun 3 (second one).
+
+Patch to fix glob() and globpath() with escaped special characters.
+(Adnan Zafar, 2013 Jun 2, tests Jun 3)
+
 --- slightly incompatible changes
 
 Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
@@ -264,6 +254,9 @@
 Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May
 5)
 
+Bug with 'cursorline' in diff mode.  Line being scrolled into view gets
+highlighted as the cursor line.  (Alessandro Ivaldi, 2013 Jun 4)
+
 Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
 May 17: with winlist() and tabpagelist().
 May 19: with local variables.
@@ -356,6 +349,9 @@
 Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
 2012 Aug 11)  Disallow :new when BufUnload is being handled?
 
+Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
+location list. (Yegappan Lakshmanan, 2013 Jun 2)
+
 MS-Windows resizing problems:
 - Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
   20.  Uses getWindowRect() instead of GetWindowPlacement()
@@ -549,6 +545,8 @@
 effects?  (Christian Brabandt, 2012 Aug 5)
 Would also need to do this for spellbadword() and spellsuggest().
 
+Patch for variable tabstops.
+
 On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
 64 bits value.  Change all number options to use nropt_T and define it to the
 right type.
@@ -657,9 +655,6 @@
 "L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
 2011 Feb 27)
 
-Functions to read the actual contents of the screen, so that things like
-conceal can be tested. (Nazri Ramliy, 2013 Feb 18)
-
 Copy/paste between Vim and Google chrome doesn't work well for multi-byte
 characters. (Ben Haskell, 2010 Sep 17)
 When putting text in the cut buffer (when exiting) and conversion doesn't work
@@ -4336,7 +4331,7 @@
 -   Add "." command for visual mode: redo last visual command (e.g. ":fmt").
 7   Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher)  Somehow remember
     the command line so that it can be repeated?
--   Add "gn": repeat last movement command.  Including count.
+-   Add command to repeat last movement.  Including count.
 -   Add "." command after operator: repeat last command of same operator.  E.g.
     "c." will repeat last change, also when "x" used since then (Webb).
     "y." will repeat last yank.
