diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b7896be..a47f472 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 01
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1474,6 +1474,8 @@
 char2nr( {expr})		Number	ASCII value of first char in {expr}
 cindent( {lnum})		Number	C indent for line {lnum}
 col( {expr})			Number	column nr of cursor or mark
+complete_add( {expr})		Number	add completion match
+complete_check()		Number  check for key typed during completion
 confirm( {msg} [, {choices} [, {default} [, {type}]]])
 				Number	number of choice picked by user
 copy( {expr})			any	make a shallow copy of {expr}
@@ -1886,6 +1888,22 @@
 				\<C-O>:echo col(".") . "\n" <Bar>
 				\let &ve = save_ve<CR>
 <
+
+complete_add({expr})				*complete_add()*
+		Add {expr} to the list of matches.  Only to be used by the
+		function specified with the 'completefunc' option.
+		Returns 0 for failure (empty string or out of memory),
+		1 when the match was added, 2 when the match was already in
+		the list.
+
+complete_check()				*complete_check()*
+		Check for a key typed while looking for completion matches.
+		This is to be used when looking for matches takes some time.
+		Returns non-zero when searching for matches is to be aborted,
+		zero otherwise.
+		Only to be used by the function specified with the
+		'completefunc' option.
+
 						*confirm()*
 confirm({msg} [, {choices} [, {default} [, {type}]]])
 		Confirm() offers the user a dialog, from which a choice can be
@@ -5233,8 +5251,8 @@
 			value of each item.
 			When an error is detected for a command inside the
 			loop, execution continues after the "endfor".
-			Changing {list} affects what items are used.  Make a
-			copy if this is unwanted: >
+			Changing {list} inside the loop affects what items are
+			used.  Make a copy if this is unwanted: >
 				:for item in copy(mylist)
 <			When not making a copy, Vim stores a reference to the
 			next item in the list, before executing the commands
@@ -5252,12 +5270,6 @@
 			changing.  Unlet the variable at the end of the loop
 			to allow multiple item types.
 
-:for {var} in {string}
-:endfo[r]		Like ":for" above, but use each character in {string}
-			as a list item.
-			Composing characters are used as separate characters.
-			A Number is first converted to a String.
-
 :for [{var1}, {var2}, ...] in {listlist}
 :endfo[r]
 			Like ":for" above, but each item in {listlist} must be
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 3ad65d1..f17cf65 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 01
+*options.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1607,7 +1607,15 @@
 	with the matching words.  These matches should include the "a:base"
 	text.  When there are no matches return an empty List.
 
+	When searching for matches takes some time call |complete_add()| to
+	add each match to the total list.  These matches should then not
+	appear in the returned list!  Call |complete_check()| now and then to
+	allow the user to press a key while still searching for matches.  Stop
+	searching when it returns non-zero.
+
 	The function must not move the cursor!
+	This option cannot be set from a |modeline| or in the |sandbox|, for
+	security reasons.
 
 	An example that completes the names of the months: >
 		fun! CompleteMonths(findstart, col, base)
@@ -1632,6 +1640,32 @@
 		endfun
 		set completefunc=CompleteMonths
 <
+	The same, but now pretending searching for matches is slow: >
+		fun! CompleteMonths(findstart, col, base)
+		  if a:findstart
+		    " locate the start of the word
+		    let line = getline('.')
+		    let start = a:col
+		    while start > 0 && line[start - 1] =~ '\a'
+		      let start -= 1
+		    endwhile
+		    return start
+		  else
+		    " find months matching with "a:base"
+		    for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
+		      if m =~ '^' . a:base
+			call complete_add(m)
+		      endif
+		      sleep 300m	" simulate searching for next match
+		      if complete_check()
+			break
+		      endif
+		    endfor
+		    return []
+		  endif
+		endfun
+		set completefunc=CompleteMonths
+<
 
 				*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
 'confirm' 'cf'		boolean (default off)
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index ab152de..4a04f72 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0.  Last change: Aug 01, 2005
+*pi_netrw.txt*  For Vim version 7.0.  Last change: Aug 04, 2005
 
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
@@ -584,6 +584,8 @@
      :Sexplore[!] [dir].Split & Explore directory of current file|netrw-explore|
      :Hexplore[!] [dir].Horizontal Split & Explore...............|netrw-explore|
      :Vexplore[!] [dir].Vertical Split & Explore.................|netrw-explore|
+     :Pexplore[!] [dir].Vertical Split & Explore.................|netrw-explore|
+     :Nexplore[!] [dir].Vertical Split & Explore.................|netrw-explore|
 
 QUICK REFERENCE COMMANDS TABLE     			*netrw-browse-cmds*
 >
@@ -606,6 +608,7 @@
 	 <c-l>	Causes Netrw to refresh the directory listing
 	   o	Enter the file/directory under the cursor in a new browser
 	   	window.  A horizontal split is used.
+	   p	Preview the file
 	   r	Reverse sorting order
 	   s	Select sorting style: by name, time, or file size
 	   v	Enter the file/directory under the cursor in a new browser
@@ -741,10 +744,12 @@
 
 DIRECTORY EXPLORING COMMANDS						*netrw-explore*
 
-     :Explore[!]   [dir].Explore directory of current file
-     :Sexplore[!]  [dir].Split & Explore directory of current file
-     :Hexplore[!]  [dir].Horizontal Split & Explore
-     :Vexplore[!]  [dir].Vertical Split & Explore
+     :Explore[!]   [dir]... Explore directory of current file
+     :Sexplore[!]  [dir]... Split & Explore directory of current file
+     :Hexplore[!]  [dir]... Horizontal Split & Explore
+     :Vexplore[!]  [dir]... Vertical Split & Explore
+     :Nexplore............. used with **/patterns; go to next matching file
+     :Pexplore............. used with **/patterns; go to previous matching file
 
 The Explore command will open the local-directory browser on the current
 file's directory (or on directory [dir] if specified).  The window
@@ -762,6 +767,23 @@
 Vexplore does an Explore with |leftabove| vertical splitting; the optiona
 ! does an Explore with |topleft| vertical splitting.
 
+(Following needs v7.0 or later)
+When Explore, Sexplore, Hexplore, or Vexplore are used with
+**/filename-patterns, netrw will attempt to find a (sub)directory which
+matches the filename pattern.  The Nexplore and Pexplore commands enable
+one to proceed to the next/previous matching file, respectively.  If your
+console or gui produce recognizable shift-up or shift-down sequences, then
+
+	<s-down>  == Nexplore, and
+	<s-up>    == Pexplore.
+
+As an example, consider >
+
+	:Explore **/*.c
+	:Nexplore
+	:Nexplore
+	:Pexplore
+<
 
 REFRESHING THE LISTING					*netrw-ctrl-l*
 
@@ -993,10 +1015,10 @@
 
 BOOKMARKING A DIRECTORY		*netrw-b* *netrw-bookmark* *netrw-bookmarks*
 
-One may easily "bookmark" a directory by using
+One may easily "bookmark" a directory by using >
 
 	{cnt}b
-
+<
 Any count may be used.  One may use viminfo's "!" option to retain bookmarks
 between vim sessions.  See |netrw-B| for how to return to a bookmark and
 |netrw-q| for how to list them.
@@ -1143,6 +1165,21 @@
 ==============================================================================
 10. History						*netrw-history*
 
+	v58: * Explore and relatives can now handle **/somefilepattern (v7)
+	     * Nexplore and Pexplore introduced (v7).  shift-down and shift-up
+	       cursor keys will invoke Nexplore and Pexplore, respectively.
+	     * bug fixed with o and v
+	     * autochdir only worked around for vim when it has been
+	       compiled with either |+netbeans_intg| or |+sun_workshop|
+	     * Under Windows, all directories and files were being preceded
+	       with a "/" when local browsing.  Fixed.
+	     * When: syntax highlighting is off, laststatus=2, and remote
+	       browsing is used, sometimes the laststatus highlighting
+	       bleeds into the entire display.  Work around - do an extra
+	       redraw in that case.
+	     * Bugfix: when g:netrw_keepdir=0, due to re-use of buffers,
+	       netrw didn't change the directory when it should've
+	     * Bugfix: D and R commands work again
 	v57: * Explore and relatives can now handle RO files
 	     * reverse sort restored with vim7's sort command
 	     * g:netrw_keepdir now being used to keep the current directory
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 0918481..e5eb5d3 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4456,6 +4456,8 @@
 compl-tag	insert.txt	/*compl-tag*
 compl-vim	insert.txt	/*compl-vim*
 compl-whole-line	insert.txt	/*compl-whole-line*
+complete_add()	eval.txt	/*complete_add()*
+complete_check()	eval.txt	/*complete_check()*
 complex-change	change.txt	/*complex-change*
 complex-repeat	repeat.txt	/*complex-repeat*
 compress	pi_gzip.txt	/*compress*
@@ -5163,6 +5165,7 @@
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index ba45f26..c1a02fc 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 02
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -66,8 +66,6 @@
     make it work for all completion methods.
 
     First cleanup the Insert-mode completion.
-    - check security of 'completefunc'.
-    - use callback to interrupt searching for matches.
 
     UI:
     - At first: use 'wildmenu' kind of thing.
@@ -76,7 +74,8 @@
       alternatives).
 
     Completion logic:
-	Use 'coupler' option to list items that connect words.  For C: ".,->".
+	Use something like 'completefunc'?
+	runtime/complete/{filetype}.vim files?
 	In function arguments suggest variables of expected type.
 
 	Ideas from others:
@@ -102,7 +101,7 @@
 	"Visual Assist" http://www.wholetomato.com/products:
 	Completion in .NET framework SharpDevelop: http://www.icsharpcode.net
 
-    - Pre-expand abbreviations, show which abbrevs would match?
+        - Pre-expand abbreviations, show which abbrevs would match?
 
 -   UNDO TREE: keep all states of the text, don't delete undo info.
     When making a change, instead of clearing any future undo (thus redo)
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 9ca05fc..7119129 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 04
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -399,6 +399,8 @@
 |browsedir()|		dialog to select a directory
 |byteidx()| 		index of a character (Ilya Sher)
 |call()|		call a function with List as arguments
+|complete_add()|	add match for 'completefunc'
+|complete_check()|	check for key pressed, for 'completefunc'
 |copy()|		make a shallow copy of a List or Dictionary
 |count()|		count nr of times a value is in a List or Dictionary
 |deepcopy()|		make a full copy of a List or Dictionary
