Updated runtime files.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 5fe89eb..1ae8510 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.4.  Last change: 2013 Nov 05
+*change.txt*    For Vim version 7.4.  Last change: 2014 Jan 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -824,7 +824,7 @@
 <
 
 Substitute with an expression			*sub-replace-expression*
-						*sub-replace-\=*
+						*sub-replace-\=* *:s/\=*
 When the substitute string starts with "\=" the remainder is interpreted as an
 expression.  This does not work recursively: a |substitute()| function inside
 the expression cannot use "\=" for the substitute string.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f8f3b99..f580d39 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2013 Dec 08
+*eval.txt*	For Vim version 7.4.  Last change: 2014 Jan 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1519,6 +1519,7 @@
 		startup.  These are the files that Vim remembers marks for.
 		The length of the List is limited by the ' argument of the
 		'viminfo' option (default is 100).
+		When the |viminfo| file is not used the List is empty.
 		Also see |:oldfiles| and |c_#<|.
 		The List can be modified, but this has no effect on what is
 		stored in the |viminfo| file later.  If you use values other
@@ -6639,7 +6640,7 @@
 
 			For the {arguments} see |function-argument|.
 
-						*a:firstline* *a:lastline*
+					*:func-range* *a:firstline* *a:lastline*
 			When the [range] argument is added, the function is
 			expected to take care of a range itself.  The range is
 			passed as "a:firstline" and "a:lastline".  If [range]
@@ -6648,10 +6649,10 @@
 			of each line.  See |function-range-example|.
 			The cursor is still moved to the first line of the
 			range, as is the case with all Ex commands.
-
+								*:func-abort*
 			When the [abort] argument is added, the function will
 			abort as soon as an error is detected.
-
+								*:func-dict*
 			When the [dict] argument is added, the function must
 			be invoked through an entry in a |Dictionary|.	The
 			local variable "self" will then be set to the
diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt
index 6fed274..628d9b7 100644
--- a/runtime/doc/pi_getscript.txt
+++ b/runtime/doc/pi_getscript.txt
@@ -1,4 +1,4 @@
-*pi_getscript.txt*  For Vim version 7.4.  Last change: 2012 Apr 07
+*pi_getscript.txt*  For Vim version 7.0.  Last change: 2013 Nov 29
 >
 		GETSCRIPT REFERENCE MANUAL  by Charles E. Campbell
 <
@@ -385,6 +385,10 @@
 ==============================================================================
 9. GetLatestVimScripts History		*getscript-history* *glvs-hist* {{{1
 
+v36 Apr 22, 2013 : * (glts) suggested use of plugin/**/*.vim instead of
+		     plugin/*.vim in globpath() call.
+		   * (Andy Wokula) got warning message when setting
+		     g:loaded_getscriptPlugin
 v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
 		     changed (somewhat).  However, it doesn't work, and
 		     the original one does (under Linux). I'll make it
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index c9d8752..786933a 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.4.  Last change: 2013 May 18
+*pi_netrw.txt*  For Vim version 7.4.  Last change: 2014 Jan 21
 
 	    ------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell
@@ -6,7 +6,7 @@
 Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
 
-Copyright: Copyright (C) 1999-2013 Charles E Campbell    *netrw-copyright*
+Copyright: Copyright (C) 1999-2014 Charles E Campbell    *netrw-copyright*
 	The VIM LICENSE applies to the files in this package, including
 	netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
 	syntax/netrw.vim.  Like anything else that's free, netrw.vim and its
@@ -192,21 +192,22 @@
 
 EXTERNAL APPLICATIONS AND PROTOCOLS			*netrw-externapp* {{{2
 
-	Protocol  Variable	    Default Value
-	--------  ----------------  -------------
-	   dav:   *g:netrw_dav_cmd*    = "cadaver"    if cadaver is executable
-	   dav:   g:netrw_dav_cmd    = "curl -o"    elseif curl is available
-	 fetch:   *g:netrw_fetch_cmd*  = "fetch -o"   if fetch is available
-	   ftp:   *g:netrw_ftp_cmd*    = "ftp"
-	  http:   *g:netrw_http_cmd*   = "elinks"     if   elinks  is available
-	  http:   g:netrw_http_cmd   = "links"      elseif links is available
-	  http:   g:netrw_http_cmd   = "curl"       elseif curl  is available
-	  http:   g:netrw_http_cmd   = "wget"       elseif wget  is available
-          http:   g:netrw_http_cmd   = "fetch"      elseif fetch is available
-	   rcp:   *g:netrw_rcp_cmd*    = "rcp"
-	 rsync:   *g:netrw_rsync_cmd*  = "rsync -a"
-	   scp:   *g:netrw_scp_cmd*    = "scp -q"
-	  sftp:   *g:netrw_sftp_cmd*   = "sftp"
+	Protocol  Variable	       Default Value
+	--------  ----------------     -------------
+	   dav:   *g:netrw_dav_cmd*      = "cadaver"    if cadaver is executable
+	   dav:   g:netrw_dav_cmd      = "curl -o"    elseif curl is available
+	 fetch:   *g:netrw_fetch_cmd*    = "fetch -o"   if fetch is available
+	   ftp:   *g:netrw_ftp_cmd*      = "ftp"
+	  http:   *g:netrw_http_cmd*     = "elinks"     if   elinks  is available
+	  http:   g:netrw_http_cmd     = "links"      elseif links is available
+	  http:   g:netrw_http_cmd     = "curl"       elseif curl  is available
+	  http:   g:netrw_http_cmd     = "wget"       elseif wget  is available
+          http:   g:netrw_http_cmd     = "fetch"      elseif fetch is available
+	  http:   *g:netrw_http_put_cmd* = "curl -T"
+	   rcp:   *g:netrw_rcp_cmd*      = "rcp"
+	 rsync:   *g:netrw_rsync_cmd*    = "rsync -a"
+	   scp:   *g:netrw_scp_cmd*      = "scp -q"
+	  sftp:   *g:netrw_sftp_cmd*     = "sftp"
 
 	*g:netrw_http_xcmd* : the option string for http://... protocols are
 	specified via this variable and may be independently overridden.  By
@@ -223,6 +224,9 @@
 		let g:netrw_http_xcmd= "-dump >"
 <	in your .vimrc.
 
+	g:netrw_http_put_cmd: this option specifies both the executable and
+	any needed options.  This command does a PUT operation to the url.
+
 
 READING						*netrw-read* *netrw-nread* {{{2
 
@@ -816,8 +820,7 @@
 			   ------------------------
     Option            Type        Setting         Meaning
     ---------         --------    --------------  ---------------------------
-<
-    netrw_ftp         variable    =doesn't exist  userid set by "user userid"
+<    netrw_ftp         variable    =doesn't exist  userid set by "user userid"
                                   =0              userid set by "user userid"
                                   =1              userid set by "userid"
     NetReadFixup      function    =doesn't exist  no change
@@ -825,17 +828,18 @@
                                                   read via ftp automatically
                                                   transformed however they wish
                                                   by NetReadFixup()
-    g:netrw_dav_cmd    variable   ="cadaver"      if cadaver  is executable
-    g:netrw_dav_cmd    variable   ="curl -o"      elseif curl is executable
-    g:netrw_fetch_cmd  variable   ="fetch -o"     if fetch is available
-    g:netrw_ftp_cmd    variable   ="ftp"
-    g:netrw_http_cmd   variable   ="fetch -o"     if      fetch is available
-    g:netrw_http_cmd   variable   ="wget -O"      else if wget  is available
-    g:netrw_list_cmd   variable   ="ssh USEPORT HOSTNAME ls -Fa"
-    g:netrw_rcp_cmd    variable   ="rcp"
-    g:netrw_rsync_cmd  variable   ="rsync -a"
-    g:netrw_scp_cmd    variable   ="scp -q"
-    g:netrw_sftp_cmd   variable   ="sftp" >
+    g:netrw_dav_cmd      var   ="cadaver"      if cadaver  is executable
+    g:netrw_dav_cmd      var   ="curl -o"      elseif curl is executable
+    g:netrw_fetch_cmd    var   ="fetch -o"     if fetch is available
+    g:netrw_ftp_cmd      var   ="ftp"
+    g:netrw_http_cmd     var   ="fetch -o"     if      fetch is available
+    g:netrw_http_cmd     var   ="wget -O"      else if wget  is available
+    g:netrw_http_put_cmd var   ="curl -T"
+    g:netrw_list_cmd     var   ="ssh USEPORT HOSTNAME ls -Fa"
+    g:netrw_rcp_cmd      var   ="rcp"
+    g:netrw_rsync_cmd    var   ="rsync -a"
+    g:netrw_scp_cmd      var   ="scp -q"
+    g:netrw_sftp_cmd     var   ="sftp" >
     -------------------------------------------------------------------------
 <
 								*netrw-ftp*
@@ -1097,16 +1101,20 @@
 			   mapping defined before netrw is autoloaded,
 			then a double clicked leftmouse button will return
 			to the netrw browser window.  See |g:netrw_retmap|.
-	<s-leftmouse>	(gvim only) like mf, will mark files
+	<s-leftmouse>	(gvim only) like mf, will mark files.  Dragging
+			the shifted leftmouse will mark multiple files.
+			(see |netrw-mf|)
 
 	(to disable mouse buttons while browsing: |g:netrw_mousemaps|)
 
 				*netrw-quickcom* *netrw-quickcoms*
 QUICK REFERENCE: COMMANDS	*netrw-explore-cmds* *netrw-browse-cmds* {{{2
-     :NetrwClean[!] ...........................................|netrw-clean|
-     :NetrwSettings ...........................................|netrw-settings|
+     :NetrwClean[!]............................................|netrw-clean|
+     :NetrwSettings............................................|netrw-settings|
+     :Ntree....................................................|netrw-ntree|
      :Explore[!]  [dir] Explore directory of current file......|netrw-explore|
      :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
+     :Lexplore    [dir] Left Explorer Toggle...................|netrw-explore|
      :Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
      :Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
      :Rexplore          Return to Explorer.....................|netrw-explore|
@@ -1321,6 +1329,17 @@
 slots.
 
 
+CHANGING TREE TOP				*netrw-ntree* *:Ntree*
+
+One may specify a new tree top for tree listings using >
+
+	:Ntree [dirname]
+
+Without a "dirname", the current line is used (and any leading depth
+information is elided).
+With a "dirname", the specified directory name is used.
+
+
 NETRW CLEAN					*netrw-clean* *:NetrwClean*
 
 With :NetrwClean one may easily remove netrw from one's home directory;
@@ -1458,7 +1477,7 @@
 
 
 *netrw-explore*  *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
-*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
+*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore* *netrw-lexplore*
 DIRECTORY EXPLORATION COMMANDS  {{{2
 
      :[N]Explore[!]  [dir]... Explore directory of current file      *:Explore*
@@ -1467,6 +1486,7 @@
      :[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore*
      :Texplore       [dir]... Tab              & Explore             *:Texplore*
      :[N]Vexplore[!] [dir]... Vertical   Split & Explore             *:Vexplore*
+     :Lexplore       [dir]... Left Explorer Toggle                   *:Lexplore*
 
      Used with :Explore **/pattern : (also see |netrw-starstar|)
      :Nexplore............. go to next matching file                *:Nexplore*
@@ -1478,6 +1498,9 @@
 	  window will take over that window.  Normally the splitting is taken
 	  horizontally.
 :Explore! is like :Explore, but will use vertical splitting.
+:Lexplore [dir] toggles an Explorer window on the left hand side
+          of the current tab  It will open a netrw window on the current
+	  directory if [dir] is omitted.
 :Sexplore will always split the window before invoking the local-directory
           browser.  As with Explore, the splitting is normally done
 	  horizontally.
@@ -1486,7 +1509,7 @@
 :Hexplore! [dir] does an :Explore with |:aboveleft|  horizontal splitting.
 :Vexplore  [dir] does an :Explore with |:leftabove|  vertical splitting.
 :Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
-:Texplore  [dir] does a tabnew before generating the browser window
+:Texplore  [dir] does a |:tabnew| before generating the browser window
 
 By default, these commands use the current file's directory.  However, one may
 explicitly provide a directory (path) to use.
@@ -1505,6 +1528,8 @@
 	   of the <2-leftmouse> map (which is only available under gvim and
 	   cooperative terms).
 
+Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
+
 
 *netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
 EXPLORING WITH STARS AND PATTERNS
@@ -1696,9 +1721,36 @@
 to toggle between hiding files which begin with a period (dot) and not hiding
 them.
 
-Associated setting variable: |g:netrw_list_hide|  |g:netrw_hide|
+Associated setting variables: |g:netrw_list_hide|  |g:netrw_hide|
 Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
 
+					*netrw-gitignore*
+Netrw provides a helper function 'netrw_gitignore#Hide()' that, when used with
+|g:netrw_list_hide| automatically hides all git-ignored files.
+
+'netrw_gitignore#Hide' searches for patterns in the following files:
+	'./.gitignore'
+	'./.git/info/exclude'
+	global gitignore file: `git config --global core.excludesfile`
+	system gitignore file: `git config --system core.excludesfile`
+
+Files that do not exist, are ignored.
+Git-ignore patterns are taken from existing files, and converted to patterns for
+hiding files. For example, if you had '*.log' in your '.gitignore' file, it
+would be converted to '.*\.log'.
+
+To use this function, simply assign it's output to |g:netrw_list_hide| option.
+
+	Example: let g:netrw_list_hide= netrw_gitignore#Hide()
+		Git-ignored files are hidden in Netrw.
+
+	Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file')
+		Function can take additional files with git-ignore patterns.
+
+	Example: g:netrw_list_hide= netrw_gitignore#Hide() . '.*\.swp$'
+		Combining 'netrw_gitignore#Hide' with custom patterns.
+
+
 IMPROVING BROWSING			*netrw-listhack* *netrw-ssh-hack* {{{2
 
 Especially with the remote directory browser, constantly entering the password
@@ -1778,6 +1830,15 @@
     http://sial.org/howto/openssh/publickey-auth/
 
 
+    Ssh hints:
+
+	Thomer Gil has provided a hint on how to speed up netrw+ssh:
+	    http://thomer.com/howtos/netrw_ssh.html
+
+	Alex Young has several hints on speeding ssh up:
+	    http://usevim.com/2012/03/16/editing-remote-files/
+
+
 LISTING BOOKMARKS AND HISTORY		*netrw-qb* *netrw-listbookmark* {{{2
 
 Pressing "qb" (query bookmarks) will list both the bookmarked directories and
@@ -1800,8 +1861,8 @@
 a file or a directory) will be detected, reported on, and ignored.
 
 Related topics: |netrw-D|
-Associated setting variables:	|g:netrw_localmkdir|  |g:netrw_mkdir_cmd|
-				|g:netrw_remote_mkdir|
+Associated setting variables:	|g:netrw_localmkdir|   |g:netrw_mkdir_cmd|
+				|g:netrw_remote_mkdir| |netrw-%|
 
 
 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* {{{2
@@ -1860,6 +1921,10 @@
 <
 into $HOME/.vim/after/syntax/netrw.vim .
 
+If the mouse is enabled and works with your vim, you may use <s-leftmouse> to
+mark one or more files.  You may mark multiple files by dragging the shifted
+leftmouse.  (see |netrw-mouse|)
+
 *markfilelist* *global_markfilelist* *local_markfilelist*
 All marked files are entered onto the global marked file list; there is only
 one such list.  In addition, every netrw buffer also has its own local marked
@@ -2114,7 +2179,15 @@
    ---				-----------
    Var				Explanation
    ---				-----------
-< *g:netrw_alto*		change from above splitting to below splitting
+<  *g:netrw_altfile*		some like |CTRL-^| to return to the last
+				edited file.  Choose that by setting this
+				parameter to 1.
+				Others like |CTRL-^| to return to the
+				netrw browsing buffer.  Choose that by setting
+				this parameter to 0.
+				 default: =0
+
+  *g:netrw_alto*		change from above splitting to below splitting
 				by setting this variable (see |netrw-o|)
 				 default: =&sb           (see |'sb'|)
 
@@ -2142,6 +2215,10 @@
 				    to get vertical splitting instead of
 				    horizontal splitting.
 
+				Related topics:
+					|netrw-cr|	|netrw-C|
+					|g:netrw_alto|	|g:netrw_altv|
+
   *g:netrw_browsex_viewer*	specify user's preference for a viewer: >
 					"kfmclient exec"
 					"gnome-open"
@@ -2303,10 +2380,19 @@
 				     stamp information and file size)
 				= 2: wide listing (multiple files in columns)
 				= 3: tree style listing
+
   *g:netrw_list_hide*		comma separated pattern list for hiding files
 				Patterns are regular expressions (see |regexp|)
-				Example: let g:netrw_list_hide= '.*\.swp$'
-				 default: ""
+				There's some special support for git-ignore
+				files: you may add the output from the helper
+				function 'netrw_gitignore#Hide() automatically
+				hiding all gitignored files.
+				For more details see |netrw-gitignore|.
+
+				Examples:
+				 let g:netrw_list_hide= '.*\.swp$'
+         			 let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
+				default: ""
 
   *g:netrw_localcopycmd*	="cp" Linux/Unix/MacOS/Cygwin
 				="copy" Windows
@@ -2551,6 +2637,8 @@
 query the user for a new filename; an empty file by that name will be
 placed in the netrw's current directory (ie. b:netrw_curdir).
 
+Related topics:               |netrw-d|
+
 
 PREVIEW WINDOW				*netrw-p* *netrw-preview* {{{2
 
@@ -2655,7 +2743,7 @@
 g:netrw_chgwin to the selected window number.  Subsequent selection of a file
 to edit (|netrw-cr|) will use that window.
 
-Related topics:			|netrw-cr|
+Related topics:			|netrw-cr| |g:netrw_browse_split|
 Associated setting variables:	|g:netrw_chgwin|
 
 
@@ -2988,15 +3076,78 @@
 	   read/write your file over the network in a separate tab.
 
 	   To save the file, use >
+
 		:tabnext
 		:set bt=
 		:w! DBG
-<	   Please send that information to <netrw.vim>'s maintainer, >
+
+<	   Furthermore, it'd be helpful if you would type >
+		:Dsep
+<	   after each command you issue, thereby making it easier to
+	   associate which part of the debugging trace is due to which
+	   command.
+
+	   Please send that information to <netrw.vim>'s maintainer, >
 		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
 <
 ==============================================================================
 12. History						*netrw-history* {{{1
 
+	v150:	Jul 12, 2013	* removed a "keepalt" to allow ":e #" to
+				  return to the netrw directory listing
+		Jul 13, 2013	* (Jonas Diemer) suggested changing
+				  a <cWORD> to <cfile>.
+		Jul 21, 2013	* (Yuri Kanivetsky) reported that netrw's
+				  use of mkdir did not produce directories
+				  following umask.
+		Aug 27, 2013	* introduced |g:netrw_altfile| option
+		Sep 05, 2013	* s:Strlen() now uses |strdisplaywidth()|
+				  when available, by default
+		Sep 12, 2013	* (Selyano Baldo) reported that netrw wasn't
+				  opening some directories properly from the
+				  command line.
+		Nov 09, 2013	* |:Lexplore| introduced
+				* (Ondrej Platek) reported an issue with
+				  netrw's trees (P15).  Fixed.
+				* (Jorge Solis) reported that "t" in
+				  tree mode caused netrw to forget its
+				  line position.
+		Dec 05, 2013	* Added <s-leftmouse> file marking
+				  (see |netrw-mf|)
+		Dec 05, 2013	* (Yasuhiro Matsumoto) Explore should use
+				  strlen() instead s:Strlen() when handling
+				  multibyte chars with strpart()
+				  (ie. strpart() is byte oriented, not
+				  display-width oriented).
+		Dec 09, 2013	* (Ken Takata) Provided a patch; File sizes
+				  and a portion of timestamps were wrongly
+				  highlighted with the directory color when
+				  setting `:let g:netrw_liststyle=1` on Windows.
+				* (Paul Domaskis) noted that sometimes
+				  cursorline was activating in non-netrw
+				  windows.  All but one setting of cursorline
+				  was done via setl; there was one that was
+				  overlooked.  Fixed.
+		Dec 24, 2013	* (esquifit) asked that netrw allow the
+				  /cygdrive prefix be a user-alterable
+				  parameter.
+		Jan 02, 2014	* Fixed a problem with netrw-based ballon
+				  evaluation (ie. netrw#NetrwBaloonHelp()
+				  not having been loaded error messages)
+		Jan 03, 2014	* Fixed a problem with tree listings
+				* New command installed: |:Ntree|
+		Jan 06, 2014	* (Ivan Brennan) reported a problem with
+				  |netrw-P|.  Fixed.
+		Jan 06, 2014	* Fixed a problem with |netrw-P| when the
+				  modified file was to be abandoned.
+		Jan 15, 2014	* (Matteo Cavalleri) reported that when the
+				  banner is suppressed and tree listing is
+				  used, a blank line was left at the top of
+				  the display.  Fixed.
+		Jan 20, 2014	* (Gideon Go) reported that, in tree listing
+				  style, with a previous window open, that
+				  the wrong directory was being used to open
+				  a file.  Fixed. (P21)
 	v149:	Apr 18, 2013	* in wide listing format, now have maps for
 				  w and b to move to next/previous file
 		Apr 26, 2013	* one may now copy files in the same
@@ -3009,7 +3160,8 @@
 		May 01, 2013	* :Explore ftp://... wasn't working.  Fixed.
 		May 02, 2013	* introduced |g:netrw_bannerbackslash| as
 				  requested by Paul Domaskis.
-		May 18, 2013	* More fixes for windows (not cygwin)
+		Jul 03, 2013	* Explore now avoids splitting when a buffer
+				  will be hidden.
 	v148:	Apr 16, 2013	* changed Netrw's Style menu to allow direct
 				  choice of listing style, hiding style, and
 				  sorting style
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 180ddea..dce548f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1827,6 +1827,7 @@
 :GnatPretty	ft_ada.txt	/*:GnatPretty*
 :GnatTags	ft_ada.txt	/*:GnatTags*
 :Hexplore	pi_netrw.txt	/*:Hexplore*
+:Lexplore	pi_netrw.txt	/*:Lexplore*
 :Man	filetype.txt	/*:Man*
 :MkVimball	pi_vimball.txt	/*:MkVimball*
 :N	editing.txt	/*:N*
@@ -1838,6 +1839,7 @@
 :Nread	pi_netrw.txt	/*:Nread*
 :Ns	pi_netrw.txt	/*:Ns*
 :Nsource	pi_netrw.txt	/*:Nsource*
+:Ntree	pi_netrw.txt	/*:Ntree*
 :Nw	pi_netrw.txt	/*:Nw*
 :Nwrite	pi_netrw.txt	/*:Nwrite*
 :P	various.txt	/*:P*
@@ -2214,6 +2216,9 @@
 :foldopen	fold.txt	/*:foldopen*
 :for	eval.txt	/*:for*
 :fu	eval.txt	/*:fu*
+:func-abort	eval.txt	/*:func-abort*
+:func-dict	eval.txt	/*:func-dict*
+:func-range	eval.txt	/*:func-range*
 :function	eval.txt	/*:function*
 :function-verbose	eval.txt	/*:function-verbose*
 :g	repeat.txt	/*:g*
@@ -2668,6 +2673,7 @@
 :rviminfo	starting.txt	/*:rviminfo*
 :s	change.txt	/*:s*
 :s%	change.txt	/*:s%*
+:s/\=	change.txt	/*:s\/\\=*
 :sN	windows.txt	/*:sN*
 :sNext	windows.txt	/*:sNext*
 :s\=	change.txt	/*:s\\=*
@@ -5882,6 +5888,7 @@
 g:ada_with_gnat_project_files	ft_ada.txt	/*g:ada_with_gnat_project_files*
 g:ada_withuse_ordinary	ft_ada.txt	/*g:ada_withuse_ordinary*
 g:clojure_align_multiline_strings	indent.txt	/*g:clojure_align_multiline_strings*
+g:clojure_align_subforms	indent.txt	/*g:clojure_align_subforms*
 g:clojure_fuzzy_indent	indent.txt	/*g:clojure_fuzzy_indent*
 g:clojure_fuzzy_indent_blacklist	indent.txt	/*g:clojure_fuzzy_indent_blacklist*
 g:clojure_fuzzy_indent_patterns	indent.txt	/*g:clojure_fuzzy_indent_patterns*
@@ -5930,6 +5937,7 @@
 g:html_use_encoding	syntax.txt	/*g:html_use_encoding*
 g:html_use_xhtml	syntax.txt	/*g:html_use_xhtml*
 g:html_whole_filler	syntax.txt	/*g:html_whole_filler*
+g:netrw_altfile	pi_netrw.txt	/*g:netrw_altfile*
 g:netrw_alto	pi_netrw.txt	/*g:netrw_alto*
 g:netrw_altv	pi_netrw.txt	/*g:netrw_altv*
 g:netrw_banner	pi_netrw.txt	/*g:netrw_banner*
@@ -5964,6 +5972,7 @@
 g:netrw_hide	pi_netrw.txt	/*g:netrw_hide*
 g:netrw_home	pi_netrw.txt	/*g:netrw_home*
 g:netrw_http_cmd	pi_netrw.txt	/*g:netrw_http_cmd*
+g:netrw_http_put_cmd	pi_netrw.txt	/*g:netrw_http_put_cmd*
 g:netrw_http_xcmd	pi_netrw.txt	/*g:netrw_http_xcmd*
 g:netrw_ignorenetrc	pi_netrw.txt	/*g:netrw_ignorenetrc*
 g:netrw_keepdir	pi_netrw.txt	/*g:netrw_keepdir*
@@ -6985,6 +6994,7 @@
 netrw-getftype	pi_netrw.txt	/*netrw-getftype*
 netrw-gf	pi_netrw.txt	/*netrw-gf*
 netrw-gh	pi_netrw.txt	/*netrw-gh*
+netrw-gitignore	pi_netrw.txt	/*netrw-gitignore*
 netrw-gp	pi_netrw.txt	/*netrw-gp*
 netrw-gx	pi_netrw.txt	/*netrw-gx*
 netrw-handler	pi_netrw.txt	/*netrw-handler*
@@ -6999,6 +7009,7 @@
 netrw-internal-variables	pi_netrw.txt	/*netrw-internal-variables*
 netrw-intro-browse	pi_netrw.txt	/*netrw-intro-browse*
 netrw-leftmouse	pi_netrw.txt	/*netrw-leftmouse*
+netrw-lexplore	pi_netrw.txt	/*netrw-lexplore*
 netrw-list	pi_netrw.txt	/*netrw-list*
 netrw-listbookmark	pi_netrw.txt	/*netrw-listbookmark*
 netrw-listhack	pi_netrw.txt	/*netrw-listhack*
@@ -7029,6 +7040,7 @@
 netrw-nexplore	pi_netrw.txt	/*netrw-nexplore*
 netrw-noload	pi_netrw.txt	/*netrw-noload*
 netrw-nread	pi_netrw.txt	/*netrw-nread*
+netrw-ntree	pi_netrw.txt	/*netrw-ntree*
 netrw-nwrite	pi_netrw.txt	/*netrw-nwrite*
 netrw-o	pi_netrw.txt	/*netrw-o*
 netrw-options	pi_netrw.txt	/*netrw-options*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index d95f21d..1ca994d 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 Jan 07
+*todo.txt*      For Vim version 7.4.  Last change: 2014 Jan 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,20 +34,9 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Article for Vim website. (Pritesh Ugrankar, 2013 Dec 13)
-
-Patch for Perl 5.18. (2013 Dec 13, Ken Takata)
-
-Patch 7.4.114 breaks "Entering directory" message parsing.
-patch by Lech Lorens, 2013 Dec 30.
-
-Patch to possibly fix crash usng w_localdir. (Dominique Pelle, 2013 Dec 27)
-
-Patch to fix crash when using :bwipeout in autocmd. (Hirohito Higashi, 2014 Jan 6)
-
 Regexp problems:
 - After patch 7.4.045 pattern with \zs isn't handled correctly. (Yukihiro
-  Nakadaira, 2013 Dec 23)
+  Nakadaira, 2013 Dec 23)  Patch 2014 Jan 15, update Jan 16.
 - NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
   Shallon, 2013 Nov 18)
 - After patch 7.4.100 there is still a difference between NFA and old engine.
@@ -60,6 +49,14 @@
 - Ignorecase not handled properly for multi-byte characters. (Axel Bender,
   2013 Dec 11)
 - Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
+  Remark from Brett 2014 Jan 6 and 7.
+
+Patch to fix endless loop in completion. (Christian Brabandt, 2014 Jan 15)
+
+Patch after 7.4.154: no autoload when not evaluating. (Yasuhiro Matsumoto,
+2014 Jan 14)
+
+Test for patch 7.4.149. (Yukihiro Nakadaira, 2014 Jan 15)
 
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
@@ -67,25 +64,15 @@
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
-Patch for problems with Borland compiler. (Ken Takata, 2013 Dec 14)
+Blowfish is actually using CFB instead of OFB.  Adjust names in blowfish.c.
 
-Patch to make getregtype() work as documented. (Yukihiro Nakadaira, 2013 Dec
-26)
+More compiler warnings for Python. (Tony Mechelynck, 2014 Jan 14)
 
-Patch to initialize v:oldfiles. (Yasuhiro Matsumoto, 2013 Dec 15)
+Patch to fix that when wide functions fail the non-wide function may do
+something wrong. (Ken Takata, 2014 Jan 18)
 
-Patch to fix cursor movement. (Hirohito Higashi, 2013 Dec 21)
-
-Patch to add more help tags. (glts, 2014 Jan 4)
-
-Patch to avoid E685 internal error. (Yukihiro Nakadaira, 2014 Jan 1)
-Restore no_autoload?
-Alternative: Avoid no_autoload. (ZyX, 2014 Jan 6)
-
-Patch to avoid that :keeppatterns s/foo/bar sets @/. (Yasuhiro Matsumoto, 2013
-Dec 17)
-
-Patch for typo in makefile. ZyX, (2013 Dec 15)
+Patch 7.4.085 breaks Visual insert in some situations. (Issue 193)
+Patch by Christian Brabandt, 2014 Jan 16.
 
 Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
 
@@ -94,18 +81,9 @@
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
-Patch to support slices in Python vim.List. (ZyX, 2013 Oct 20)
-
-Patch to support iterator on Python vim.options. (ZyX, 2013 Nov 2)
-
 Patch to make Dictionary.update() work without arguments.
 (ZyX, 2013 Oct 19)
 
-Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
-
-Patch for Cobol ftplugin. (ZyX, 2013 Oct 20)
-Await response from maintainer.
-
 Include systemverilog file?  Two votes yes.
 
 Patch to make "J" set '[ and '] marks. (Christian Brabandt, 2013 Dec 11)
@@ -126,22 +104,37 @@
 
 Adding "~" to 'cdpath' doesn't work for completion?  (Davido, 2013 Aug 19)
 
+Error number E834 is used twice. (Yukihiro Nakadaira. 2014 Jan 18)
+
+Crash with ":%s/\n//g" on long file. (Aidan Marlin, 2014 Jan 15)
+Christian Brabandt: patch to run this into a join. (2014 Jan 18)
+
 Add digraph for Rouble: =P.  What's the Unicode?
 
 Issue 174: Detect Mason files.
 
+Phpcomplete.vim update. (Complex, 2014 Jan 15)
+
+PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
+
 Patch to make has() check for Vim version and patch at the same time.
 (Marc Weber, 2013 Jun 7)
 
 Regression on pach 7.4.034. (Ingo Karkat, 2013 Nov 20)
 
+Patch to include smack support (Linux security library). (Jose Bollo, 2014 Jan
+14) Update Jan 15.
+
+Tag list, as used for :tjump, does not unescape regexp. (Gary Johnson, 2014 Jan
+6) With patch in another message.
+
 VMS: Select() doesn't work properly, typing ESC may hang Vim.  Use sys$qiow
 instead. (Samuel Ferencik, 2013 Sep 28)
 
 Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)
 
 Patch to add flag to shortmess to avoid giving completion messages.
-(Shougo Matsu, 2014 Jan 6)
+(Shougo Matsu, 2014 Jan 6, update Jan 11)
 
 Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
 
@@ -224,6 +217,10 @@
 Patch to add option that tells whether small deletes go into the numbered
 registers. (Aryeh Leib Taurog, 2013 Nov 18)
 
+Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
+Also fixes wrong result from executable().
+Update from Ken Takata, 2014 Jan 10.
+
 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
 
 The BufUnload event is triggered when re-using the empty buffer.
@@ -234,6 +231,10 @@
 - The word that was selected (empty if abandoned complete)
 - Type of completion: tag, omnifunc, user func.
 
+Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
+Doesn't work for string in list.  Other way to pass all types of variables
+reliably?
+
 Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
 That is, calling a dictionary function on an autoloaded dict.
 Works OK for echo, just not for  ":call" and ":call call()". (Ted, 2011 Mar
@@ -1023,8 +1024,6 @@
 Win32 GUI: last message from startup doesn't show up when there is an echoerr
 command. (Cyril Slobin, 2009 Mar 13)
 
-Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
-
 Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
 does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
 
@@ -1648,6 +1647,9 @@
 tree stops unexpectedly when using ":cd " and entering a directory that
 doesn't contain other directories.
 
+Default for 'background' is wrong when using xterm with 256 colors.
+Table with estimates from Matteo Cavalleri, 2014 Jan 10.
+
 Setting 'background' resets the Normal background color:
    highlight Normal ctermbg=DarkGray
    set background=dark
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 8db127f..736adf2 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.4.  Last change: 2013 Feb 20
+*usr_41.txt*	For Vim version 7.4.  Last change: 2014 Jan 10
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -595,13 +595,17 @@
 	matchlist()		like matchstr() and also return submatches
 	stridx()		first index of a short string in a long string
 	strridx()		last index of a short string in a long string
-	strlen()		length of a string
+	strlen()		length of a string in bytes
+	strchars()		length of a string in characters
+	strwidth()		size of string when displayed
+	strdisplaywidth()	size of string when displayed, deals with tabs
 	substitute()		substitute a pattern match with a string
 	submatch()		get a specific match in ":s" and substitute()
 	strpart()		get part of a string
 	expand()		expand special keywords
 	iconv()			convert text from one encoding to another
 	byteidx()		byte index of a character in a string
+	byteidxcomp()		like byteidx() but count composing characters
 	repeat()		repeat a string multiple times
 	eval()			evaluate a string expression
 
@@ -656,6 +660,9 @@
 	ceil()			round up
 	floor()			round down
 	trunc()			remove value after decimal point
+	fmod()			remainder of division
+	exp()			exponential
+	log()			natural logarithm (logarithm to base e)
 	log10()			logarithm to base 10
 	pow()			value of x to the exponent y
 	sqrt()			square root
@@ -675,6 +682,7 @@
 	invert()		bitwise invert
 	or()			bitwise OR
 	xor()			bitwise XOR
+	sha256()		SHA-256 hash
 
 Variables:						*var-functions*
 	type()			type of a variable
@@ -697,11 +705,15 @@
 	wincol()		window column number of the cursor
 	winline()		window line number of the cursor
 	cursor()		position the cursor at a line/column
+	screencol()		get screen column of the cursor
+	screenrow()		get screen row of the cursor
 	getpos()		get position of cursor, mark, etc.
 	setpos()		set position of cursor, mark, etc.
 	byte2line()		get line number at a specific byte count
 	line2byte()		byte count at a specific line
 	diff_filler()		get the number of filler lines above a line
+	screenattr()		get attribute at a screen line/row
+	screenchar()		get character code at a screen line/row
 
 Working with text in the current buffer:		*text-functions*
 	getline()		get a line or list of lines from the buffer
@@ -883,14 +895,22 @@
 	libcall()		call a function in an external library
 	libcallnr()		idem, returning a number
 
+	undofile()		get the name of the undo file
+	undotree()		return the state of the undo tree
+
 	getreg()		get contents of a register
 	getregtype()		get type of a register
 	setreg()		set contents and type of a register
 
+	shiftwidth()		effective value of 'shiftwidth'
+
 	taglist()		get list of matching tags
 	tagfiles()		get a list of tags files
 
+	luaeval()		evaluate Lua expression
 	mzeval()		evaluate |MzScheme| expression
+	py3eval()		evaluate Python expression (|+python3|)
+	pyeval()		evaluate Python expression (|+python|)
 
 ==============================================================================
 *41.7*	Defining a function