updated for version 7.0f04
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index bd581b6..98f6c8b 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
 " netrw.vim: Handles file transfer and remote directory listing across a network
 "            AUTOLOAD PORTION
-" Date:		Apr 26, 2006
-" Version:	94
+" Date:		Apr 28, 2006
+" Version:	95
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
 if &cp || exists("g:loaded_netrw")
   finish
 endif
-let g:loaded_netrw = "v94"
+let g:loaded_netrw = "v95"
 if v:version < 700
  echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
  finish
@@ -322,7 +322,9 @@
 
   " get name of a temporary file and set up shell-quoting character {{{3
   let tmpfile= tempname()
+"  call Decho("tmpfile<".tmpfile.">")
   let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape)
+"  call Decho("tmpfile<".tmpfile.">")
   if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
    echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!" | echohl None
    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -806,9 +808,12 @@
   call s:NetOptionSave()
 
   " Get Temporary Filename {{{3
-  let tmpfile= escape(tempname(),g:netrw_tmpfile_escape)
+  let tmpfile= tempname()
+"  call Decho("tmpfile<".tmpfile."> (raw)")
+  let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape)
+"  call Decho("tmpfile<".tmpfile."> (escaped)")
   if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
-   echohl Error | echo "***netrw*** your ".substitute(tmpfile,'[^/]\+$','','e')." directory is missing!"
+   echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!"
    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
 "   call Dret("NetWrite")
    return
@@ -2023,7 +2028,12 @@
 fun! s:NetrwListHide()
 "  call Dfunc("NetrwListHide() hide=".g:netrw_hide." listhide<".g:netrw_list_hide.">")
 
+  " find a character not in the "hide" string to used as a separator
+  " for :g and :v commands
   let listhide= g:netrw_list_hide
+  let sep     = strpart(substitute('~!@#$%^&*{};:,<.>/?|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
+"  call Decho("sep=".sep)
+
   while listhide != ""
    if listhide =~ ','
     let hide     = substitute(listhide,',.*$','','e')
@@ -2036,14 +2046,16 @@
    " Prune the list by hiding any files which match
    if g:netrw_hide == 1
 "    call Decho("hiding<".hide."> listhide<".listhide.">")
-"    call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$g~'.hide.'~d')
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$g~'.hide.'~d'
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
    elseif g:netrw_hide == 2
 "    call Decho("showing<".hide."> listhide<".listhide.">")
-"    call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$v~'.hide.'~d')
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$v~'.hide.'~d'
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @'
    endif
   endwhile
+  if g:netrw_hide == 2
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d'
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e'
+  endif
 
 "  call Dret("NetrwListHide")
 endfun
@@ -2759,7 +2771,7 @@
 " DirBrowse: supports local file/directory browsing {{{2
 fun! netrw#DirBrowse(dirname)
   if !exists("w:netrw_longlist")|let w:netrw_longlist= g:netrw_longlist|endif
-"  call Dfunc("DirBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by)
+"  call Dfunc("DirBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by." hide=".g:netrw_hide)
 "  call Dredir("ls!")
 
   if exists("s:netrw_skipbrowse")
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index fa69b9e..5b05d12 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
+*motion.txt*    For Vim version 7.0f.  Last change: 2006 Apr 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -629,8 +629,9 @@
 a'							*v_a'* *a'*
 a`							*v_a`* *a`*
 			"a quoted string".  Selects the text from the previous
-			quote until the next quote.  The 'quoteescape' is used
-			to skip escaped quotes.
+			quote until the next quote.  The 'quoteescape' option
+			is used to skip escaped quotes.
+			Only works within one line.
 			When the cursor starts on a quote, Vim will figure out
 			which quote pairs form a string by searching from the
 			start of the line.
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 4c74a5d..a83caaf 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0f.  Last change: 2006 Apr 26
+*pi_netrw.txt*  For Vim version 7.0f.  Last change: 2006 Apr 28
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -1473,6 +1473,12 @@
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v95: * bugfix - Hiding mode worked correctly (don't show any file
+	       matching any of the g:netrw_hide patterns), but
+	       but showing mode was showing only those files that didn't
+	       match any of the g:netrw_hide patterns.  Instead, it now
+	       shows all files that match any of the g:netrw_hide patterns
+	       (the difference between a logical and and logical or).
 	v94: * bugfix - a Decho() had a missing quote; only affects things
 	       when debugging was enabled.
 	v93: * bugfix - removed FocusGained event from causing a slow-browser