updated for version 7.0124
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