diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 22eff70..d5f19a6 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.3.  Last change: 2012 Aug 08
+*change.txt*    For Vim version 7.3.  Last change: 2012 Nov 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -598,8 +598,11 @@
 			the flags.
 
 								*g&*
-g&			Synonym for `:%s//~/&` (repeat last substitute on all
-			lines with the same flags).
+g&			Synonym for `:%s//~/&` (repeat last substitute with
+			last search pattern on all lines with the same flags).
+			For exaple, when you first do a substitution with
+			`:s/pattern/repl/flags` and then `/search` for
+			something else, `g&` will do `:%s/search/repl/flags`.
 			Mnemonic: global substitute. {not in Vi}
 
 						*:snomagic* *:sno*
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f105cf1..bf89ee6 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 Oct 21
+*eval.txt*	For Vim version 7.3.  Last change: 2012 Nov 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5483,7 +5483,8 @@
 		empty each white-separated sequence of characters becomes an
 		item.
 		Otherwise the string is split where {pattern} matches,
-		removing the matched characters.
+		removing the matched characters. 'ignorecase' is not used
+		here, add \c to ignore case. |/\c|
 		When the first or last item is empty it is omitted, unless the
 		{keepempty} argument is given and it's non-zero.
 		Other empty items are kept when {pattern} matches at least one
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index a74d880..05b8b4e 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 7.3.  Last change: 2012 Aug 02
+*if_perl.txt*   For Vim version 7.3.  Last change: 2012 Oct 25
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -175,7 +175,8 @@
 VIM::DoCommand({cmd})	Executes Ex command {cmd}.
 
 							*perl-Eval*
-VIM::Eval({expr})	Evaluates {expr} and returns (success, val).
+VIM::Eval({expr})	Evaluates {expr} and returns (success, value) in list 
+			context or just value in scalar context.
 			success=1 indicates that val contains the value of
 			{expr}; success=0 indicates a failure to evaluate
 			the expression.  '@x' returns the contents of register
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 53d4e8a..a439234 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -7496,7 +7496,7 @@
 	For more information about this feature see |undo-persistence|.
 	The undo file is not read when 'undoreload' causes the buffer from
 	before a reload to be saved for undo.
-	WARNING: this is a very new feature.  Use at your own risk!
+	When 'undofile' is turned off the undo file is NOT deleted.
 
 						*'undolevels'* *'ul'*
 'undolevels' 'ul'	number	(default 100, 1000 for Unix, VMS,
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 142f08f..c17ca5f 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.3.  Last change: 2012 Apr 05
+*pi_netrw.txt*  For Vim version 7.3.  Last change: 2012 Oct 25
 
 	    -----------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell, Jr.
@@ -143,7 +143,7 @@
 Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc:  >
 
 	let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
-<	
+<
 Netrw will substitute the host's machine name for MACHINE from the url it is
 attempting to open, and so one may specify >
 	userid
@@ -209,7 +209,7 @@
 	default, the option arguments for the http-handling commands are: >
 
 		    elinks : "-source >"
-		    links  : "-source >"
+		    links  : "-dump >"
 		    curl   : "-o"
 		    wget   : "-q -O"
 		    fetch  : "-o"
@@ -1072,6 +1072,7 @@
 	   v	Enter the file/directory under the cursor in a new   |netrw-v|
 		browser window.  A vertical split is used.
 	   x	View file with an associated program                 |netrw-x|
+	   X	Execute filename under cursor via |system()|           |netrw-X|
 
 	   %	Open a new file in netrw's current directory         |netrw-%|
 
@@ -1589,6 +1590,15 @@
 Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options|
 
 
+EXECUTING FILE UNDER CURSOR VIA SYSTEM()			*netrw-X*
+
+Pressing X while the cursor is atop an executable file will yield a prompt
+using the filename asking for any arguments.  Upon pressing a [return], netrw
+will then call |system()| with that command and arguments.  The result will
+be displayed by |:echomsg|, and so |:messages| will repeat display of the
+result.  Ansi escape sequences will be stripped out.
+
+
 FORCING TREATMENT AS A FILE OR DIRECTORY	*netrw-gd* *netrw-gf* {{{2
 
 Remote symbolic links (ie. those listed via ssh or ftp) are problematic
@@ -1596,10 +1606,10 @@
 directory.
 
 To force treatment as a file: use >
-	gd
+	gf
 <
 To force treatment as a directory: use >
-	gf
+	gd
 <
 
 GOING UP							*netrw--* {{{2
@@ -1957,7 +1967,7 @@
 netrw will use ssh (see |g:netrw_ssh_cmd|), and so ssh must be available for
 this to work on remote systems.  For your local system, see |ctags| on how to
 get a version.  I myself use hdrtags, currently available at
-http://mysite.verizon.net/astronaut/src/index.html , and have >
+http://www.drchip.org/astronaut/src/index.html , and have >
 
 	let g:netrw_ctags= "hdrtag"
 <
@@ -2093,6 +2103,9 @@
 				     history.
 				     (related: |netrw-qb| |netrw-u| |netrw-U|)
 
+  *g:netrw_dynamic_maxfilenamelen* =32: enables dynamic determination of
+				    |g:netrw_maxfilenamelen|, which affects
+				    local file long listing.
   *g:netrw_errorlvl*		=0: error levels greater than or equal to
 				    this are permitted to be displayed
 				    0: notes
@@ -2843,13 +2856,13 @@
 
 	1. Get the <Decho.vim> script, available as:
 
-	     http://mysite.verizon.net/astronaut/vim/index.html#DECHO
+	     http://www.drchip.org/astronaut/vim/index.html#DECHO
 	   or
 	     http://vim.sourceforge.net/scripts/script.php?script_id=120
 
 	  It now comes as a "vimball"; if you're using vim 7.0 or earlier,
 	  you'll need to update vimball, too.  See
-	     http://mysite.verizon.net/astronaut/vim/index.html#VIMBALL
+	     http://www.drchip.org/astronaut/vim/index.html#VIMBALL
 
 	2. Edit the <netrw.vim> file by typing: >
 
@@ -2882,57 +2895,77 @@
 ==============================================================================
 12. History						*netrw-history* {{{1
 
-	v145: Apr 05, 2012 * moved some command from a g:netrw_local_...
-			     format to g:netwr_local... format
-			   * included some NOTE level messages about
-			     commands that aren't executable
-			   * |g:netrw_errorlvl| (default: NOTE=0)
-			     option introduced
-	v144: Mar 12, 2012 * when |CTRL-W_s| or |CTRL-W_v| are used,
-			     or their wincmd equivalents, on a netrw
-			     buffer, the netrw's w: variables were
-			     not copied over.  Fixed.
-	      Mar 13, 2012 * nbcd_curpos_{bufnr('%')} was commented
-			     out, and was mistakenly used during
-			     RestorePosn.  Unfortunately, I'm not
-			     sure why it was commented out, so this
-			     "fix" may re-introduce an earlier problem.
-	      Mar 21, 2012 * included s:rexposn internally to make
-			     :Rex return the cursor to the same pos'n
-			     upon restoration of netrw buffer
-	      Mar 27, 2012 * (sjbesse) s:NetrwGetFile() needs to remove
-			     "/" from the netrw buffer's usual |'isk'|
-			     in order to allow "filetype detect" to work
-			     properly for scripts.
-	v143: Jun 01, 2011 * |g:netrw_winsize| will accept a negative
-			     number; the absolute value of it will then
-			     be used to specify lines/columns instead of
-			     a percentage.
-	      Jul 05, 2011 * the "d" map now supports mkdir via ftp
-			     See |netrw-d| and |g:netrw_remote_mkdir|
-	      Jul 11, 2011 * Changed Explore!, Sexplore!, and Vexplore
-			     to use a percentage of |winwidth()| instead
-			     of a percentage of |winheight()|.
-	      Jul 11, 2011 * included support for https://... I'm just
-			     beginning to test this, however.
-	      Aug 01, 2011 * changed RestoreOptions to also restore
-			     cursor position in netrw buffers.
-	      Aug 12, 2011 * added a note about "%" to the balloon
-	      Aug 30, 2011 * if |g:netrw_nobeval| exists, then balloon
-			     evaluation is suppressed.
-	      Aug 31, 2011 * (Benjamin R Haskell) provided a patch that
-			     implements non-standard port handling for
-			     files opened via the remote browser.
-	      Aug 31, 2011 * Fixed a **//pattern  Explorer bug
-	      Sep 15, 2011 * (reported by Francesco Campana) netrw
-			     now permits the "@" to be part of the
-			     user id (if there's an @ that appears
-			     to the right).
-	      Nov 21, 2011 * New option: |g:netrw_ftp_options|
-	      Dec 07, 2011 * (James Sinclair) provided a fix handling
-	      		     attempts to use a uid and password when
-			     they weren't defined.  This affected
-			     NetWrite (NetRead already had that fix).
+	v146:	Oct 20, 2012	* (David Kotchan) reported that under Windows,
+				  directories named with unusual characters
+				  such as "#" or "$" were not being listed
+				  properly.
+				* (Kenny Lee) reported that the buffer list
+				  was being populated by netrw buffers.
+				  Netrw will now |:bwipe| netrw buffers
+				  upon editing a file if g:netrw_fastbrowse
+				  is zero and its not in tree listing style.
+	v145:	Apr 05, 2012	* moved some command from a g:netrw_local_...
+				  format to g:netwr_local... format
+				* included some NOTE level messages about
+				  commands that aren't executable
+				* |g:netrw_errorlvl| (default: NOTE=0)
+				  option introduced
+		May 18, 2012	* (Ilya Dogolazky) a scenario where a
+				  |g:netrw_fastbrowse| of zero did not
+				  have a local directory refreshed fixed.
+		Jul 10, 2012	* (Donatas) |netrw-gb| wasn't working due
+				  to an incorrectly used variable.
+		Aug 09, 2012	* (Bart Baker) netrw was doubling
+				  of entries after a split.
+				* (code by Takahiro Yoshihara) implemented
+				  |g:netrw_dynamic_maxfilenamelen|
+		Aug 31, 2012	* (Andrew Wong) netrw refresh overwriting
+				  the yank buffer.
+	v144: Mar 12, 2012	* when |CTRL-W_s| or |CTRL-W_v| are used,
+				  or their wincmd equivalents, on a netrw
+				  buffer, the netrw's w: variables were
+				  not copied over.  Fixed.
+		Mar 13, 2012	* nbcd_curpos_{bufnr('%')} was commented
+				  out, and was mistakenly used during
+				  RestorePosn.  Unfortunately, I'm not
+				  sure why it was commented out, so this
+				  "fix" may re-introduce an earlier problem.
+		Mar 21, 2012	* included s:rexposn internally to make
+				  :Rex return the cursor to the same pos'n
+				  upon restoration of netrw buffer
+		Mar 27, 2012	* (sjbesse) s:NetrwGetFile() needs to remove
+				  "/" from the netrw buffer's usual |'isk'|
+				  in order to allow "filetype detect" to work
+				  properly for scripts.
+	v143: Jun 01, 2011	* |g:netrw_winsize| will accept a negative
+				  number; the absolute value of it will then
+				  be used to specify lines/columns instead of
+				  a percentage.
+		Jul 05, 2011	* the "d" map now supports mkdir via ftp
+				  See |netrw-d| and |g:netrw_remote_mkdir|
+		Jul 11, 2011	* Changed Explore!, Sexplore!, and Vexplore
+				  to use a percentage of |winwidth()| instead
+				  of a percentage of |winheight()|.
+		Jul 11, 2011	* included support for https://... I'm just
+				  beginning to test this, however.
+		Aug 01, 2011	* changed RestoreOptions to also restore
+				  cursor position in netrw buffers.
+		Aug 12, 2011	* added a note about "%" to the balloon
+		Aug 30, 2011	* if |g:netrw_nobeval| exists, then balloon
+				  evaluation is suppressed.
+		Aug 31, 2011	* (Benjamin R Haskell) provided a patch that
+				  implements non-standard port handling for
+				  files opened via the remote browser.
+		Aug 31, 2011	* Fixed a **//pattern  Explorer bug
+		Sep 15, 2011	* (reported by Francesco Campana) netrw
+				  now permits the "@" to be part of the
+				  user id (if there's an @ that appears
+				  to the right).
+		Nov 21, 2011	* New option: |g:netrw_ftp_options|
+		Dec 07, 2011	* (James Sinclair) provided a fix handling
+				  attempts to use a uid and password when
+				  they weren't defined.  This affected
+				  NetWrite (NetRead already had that fix).
 
 
 ==============================================================================
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index d3ab0ab..3e15868 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 Jul 16
+*syntax.txt*	For Vim version 7.3.  Last change: 2012 Nov 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2489,6 +2489,12 @@
 later, and part earlier) adds.
 
 
+RESTRUCTURED TEXT			*rst.vim* *ft-rst-syntax*
+
+You may set what syntax definitions should be used for code blocks via
+	let rst_syntax_code_list = ['vim', 'lisp', ...]
+
+
 REXX						*rexx.vim* *ft-rexx-syntax*
 
 If you notice highlighting errors while scrolling backwards, which are fixed
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8567310..4a221e8 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 Oct 21
+*todo.txt*      For Vim version 7.3.  Last change: 2012 Nov 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -43,20 +43,9 @@
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
-Patch to fix undofile hash computed when not necessary. (Christian Brabandt,
-2012 Oct 16, update Oct 18)
-
-Patch to fix repeating "cgn". (Christian Brabandt, 2012 Oct 16)
-Update Oct 17.
-
 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
 
-Updated French and Esperanto files. (Dominique Pelle, 2012 Aug 19)
-
-When showing diffs filler lines may be hidden at first.
-Patch by Christian Brabandt, 2012 Sep 6.  Update Oct 11.
-
-Patch for memory leaks on exception. (ZyX, 2012 Sep 9)
+Patches for two problems, with explanations. (Christian Brabandt, 2012 Oct 22)
 
 The CompleteDone autocommand needs some info passed to it:
 - The word that was selected (empty if abandoned complete)
@@ -67,6 +56,19 @@
 23)
 Patch by Christian Brabandt, 2012 Oct 18.  Update Oct 19.
 
+Patch to reset did_endif. (Christian Brabandt,, 2012 Oct 23)
+How about a test?
+
+Patch for Tab behavior with 'conceal'. (Dominique Pelle, 2012 Mar 18)
+Patch to test functionality of 'conceal' with tabs. (Simon Ruderich, 2012 Sep
+5)  Update with screencol() and screenrow() functions: Sep 7.
+
+Patch for integer overflow in move.c. (Dominique Pelle, 2012 Nov 6)
+
+Patch for undefined integer behavior. (Dominique Pelle, 2012 Nov 4, second one)
+
+Patch to have Python interface not depend on multi-byte.
+
 mouse_sgr is not ordered alphabetically in :version output.
 Docs list mouse_urxvt as normal feature, should be big. (Hayaki Saito, 2012
 Aug 16)
@@ -76,12 +78,16 @@
 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.
 
 Crash with vimdiff. (Don Cruickshank, 2012 Sep 23)
 
 Win32: use 'guifontwide' for IME composition. (Taro Muraoka, 2012 Sep 30)
 Update Oct 2.
 
+Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
+Oct 28)
+
 Patch to make multibyte input work on Win32 console when codepage differs from
 'encoding'. (Ken Takata, 2012 Sep 29)
 
@@ -92,6 +98,11 @@
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
+Problem caused by patch 7.3.638: window->open does not update window
+correctly. Issue 91.
+
+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.
 
@@ -103,14 +114,13 @@
 
 New syntax files for apt. (quidame, 2012 Sep 21)
 
+'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)
 
 Issue 72: 'autochdir' causes problems for :vimgrep.
 
-:setlocal does not work in the sandbox, but :set does.  Both should work in a
-similar way (not setting some options). (Michael Henry, 2012 Oct 20)
-
 In the ATTENTION message about an existing swap file, mention the name of the
 process that is running.  It might actually be some other program, e.g. after
 a reboot.
@@ -118,9 +128,6 @@
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
-Win32: patch for current directory, "loading iof conv". (Ken Takata, 2012 Sep
-15)
-
 It's probably a good idea to make a negative value for 'sts' use the value of
 'sw'.  Patch by So8res, Oct 3 2012
 
@@ -136,9 +143,12 @@
 Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
 2012 Aug 4)
 
-Patch for Tab behavior with 'conceal'. (Dominique Pelle, 2012 Mar 18)
-Patch to test functionality of 'conceal' with tabs. (Simon Ruderich, 2012 Sep
-5)  Update with screencol() and screenrow() functions: Sep 7.
+Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
+But use Gnome instead of GTK?
+
+Should be possible to enable/disable matchparen per window or buffer.
+Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
+Szamotulski, 2012 Nov 8)
 
 Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
 2012 Aug 11)  Disallow :new when BufUnload is being handled?
@@ -158,6 +168,9 @@
 Help for b:undo_indent'. (Thilo Six, 2012 May 28)
 Also question if examples are correct.
 
+It should be possible to make globpath() return a list instead of a string,
+like with glob(). (Greg Novack, 2012 Nov 2)
+
 The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
 Suggestion for another map. (Philip Mat, 2012 Jun 18)
 But use "gi" instead of "a".  Or use CTRL-\ CTRL-O.
@@ -169,11 +182,16 @@
 double-width characters as error.  Or perhaps all characters above 256.
 (Bill Sun)  Helps a lot for mixed Asian and latin text.
 
+When there are no command line arguments ":next" and ":argu" give E163, which
+is confusing.  Should say "the argument list is empty".
+
 URXVT:
 - will get stuck if byte sequence does not containe expected semicolon.
 - Use urxvt mouse support also in xterm.  Explanations:
   http://www.midnight-commander.org/ticket/2662
 
+MS-Windows: test 17 fails.  Analysis by Michael Soyka, 2012 Nov 5.
+
 Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)
 New tests Jul 13.   Update Jul 17.  Discussion Jul 18.
 
@@ -817,7 +835,7 @@
 Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
 (Felix Kater, 2009 Mar 3)
 
-Session file generates error upon loading, cause bu --remote-silent-tab.
+Session file generates error upon loading, cause by --remote-silent-tab.
 (7tommm (ytommm) 2010 Nov 24)
 
 Using ~ works OK on 'a' with composing char, but not on 0x0418  with composing
@@ -938,8 +956,6 @@
 Aug 20)  This is in ucs2bytes(), search for 0xBF.  Using the ++bad argument is
 at the other match for 0xBF.
 
-Fix for matchparen HL doesn't work.  beep.
-
 When adding "-complete=file" to a user command this also changes how the
 argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19)
 
@@ -1589,6 +1605,9 @@
 name is something like "c:\path\foo.txt:bar", includes a colon.  (Alex
 Jakushev, 2008 Feb 1)
 
+printf() uses the field width in bytes. Can it be made character width,
+perhaps with a modifier?  What does Posix say?
+
 Small problem displaying diff filler line when opening windows with a script.
 (David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
 
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index a49c98c..ce7d494 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt*	For Vim version 7.3.  Last change: 2008 Nov 09
+*usr_21.txt*	For Vim version 7.3.  Last change: 2012 Nov 02
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -282,7 +282,7 @@
 SESSION HERE, SESSION THERE
 
 The obvious way to use sessions is when working on different projects.
-Suppose you store you session files in the directory "~/.vim".  You are
+Suppose you store your session files in the directory "~/.vim".  You are
 currently working on the "secret" project and have to switch to the "boring"
 project: >
 
@@ -295,7 +295,7 @@
 next time you load the secret session you can continue where you were at this
 point.  And finally you load the new "boring" session.
 
-If you open help windows, split and close various window, and generally mess
+If you open help windows, split and close various windows, and generally mess
 up the window layout, you can go back to the last saved session: >
 
 	:source ~/.vim/boring.vim
@@ -423,10 +423,10 @@
 A VIEW WITH A NAME
 
 The second basic way to use views is by storing the view in a file with a name
-you chose.  This view can be loaded while editing another file.  Vim will then
-switch to editing the file specified in the view.  Thus you can use this to
-quickly switch to editing another file, with all its options set as you saved
-them.
+you choose.  This view can be loaded while editing another file.  Vim will
+then switch to editing the file specified in the view.  Thus you can use this
+to quickly switch to editing another file, with all its options set as you
+saved them.
    For example, to save the view of the current file: >
 
 	:mkview ~/.vim/main.vim
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 8ca034e..3c527a6 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt*	For Vim version 7.3.  Last change: 2010 Feb 21
+*usr_22.txt*	For Vim version 7.3.  Last change: 2012 Nov 15
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -326,9 +326,9 @@
 
 The output could look like this:
 
-  1 #h	"help.txt"			line 62 ~
-  2 %a+	"usr_21.txt"			line 1 ~
-  3	"usr_toc.txt"			line 1 ~
+  1 #h   "help.txt"			line 62 ~
+  2 %a + "usr_21.txt"			line 1 ~
+  3      "usr_toc.txt"			line 1 ~
 
 The first column contains the buffer number.  You can use this to edit the
 buffer without having to type the name, see below.
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index b9f771d..b529ee5 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.3.  Last change: 2012 Apr 13
+*windows.txt*   For Vim version 7.3.  Last change: 2012 Nov 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -939,9 +939,9 @@
 :buffers[!]					*:buffers* *:ls*
 :ls[!]		Show all buffers.  Example:
 
-			1 #h  "/test/text"		line 1 ~
-			2u    "asdf"			line 0 ~
-			3 %a+ "version.c"		line 1 ~
+			1 #h   "/test/text"		line 1 ~
+			2u     "asdf"			line 0 ~
+			3 %a + "version.c"		line 1 ~
 
 		When the [!] is included the list will show unlisted buffers
 		(the term "unlisted" is a bit confusing then...).
