diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 733fff5..79eb9a6 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	HTML and XHTML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Apr 22
+" Last Change:	2006 Apr 24
 
 function! htmlcomplete#CompleteTags(findstart, base)
   if a:findstart
@@ -485,9 +485,9 @@
 				" alphabetically but sort them. Those beginning with entered
 				" part will be as first choices
 				if m =~ '^'.entered_value
-					call add(res, attrquoteopen . m . attrquote.' ')
+					call add(res, attrquoteopen . m . attrquote)
 				elseif m =~ entered_value
-					call add(res2, attrquoteopen . m . attrquote.' ')
+					call add(res2, attrquoteopen . m . attrquote)
 				endif
 			endfor
 
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index c2c34df..13081c8 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 21, 2006
-" Version:	92
+" Date:		Apr 24, 2006
+" Version:	93
 " 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 = "v92"
+let g:loaded_netrw = "v93"
 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
@@ -3429,7 +3429,11 @@
    let s:netrw_browser_shellcmd= 1
    augroup AuNetrwShellCmd
     au!
-    au ShellCmdPost,FocusGained *	call s:LocalBrowseShellCmdRefresh()
+    if (has("win32") || has("win95") || has("win64") || has("win16"))
+     au ShellCmdPost *	call s:LocalBrowseShellCmdRefresh()
+    else
+     au ShellCmdPost,FocusGained *	call s:LocalBrowseShellCmdRefresh()
+    endif
    augroup END
   endif
 
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 86f0e88..91c57b2 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
 " vimball : construct a file containing both paths and files
 " Author: Charles E. Campbell, Jr.
-" Date:   Mar 31, 2006
-" Version: 6
+" Date:   Apr 24, 2006
+" Version: 7
 " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
 " Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
 "            The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -15,7 +15,7 @@
  finish
 endif
 let s:keepcpo        = &cpo
-let g:loaded_vimball = "v6"
+let g:loaded_vimball = "v7"
 set cpo&vim
 
 " =====================================================================
@@ -125,12 +125,13 @@
   endif
 
   " initialize
+  let fenkeep  = &fen
   let regakeep = @a
   let eikeep   = &ei
   let vekeep   = &ve
   let makeep   = getpos("'a")
   let curtabnr = tabpagenr()
-  set ei=all ve=all
+  set ei=all ve=all nofen
 
   " set up vimball tab
   tabnew
@@ -166,10 +167,11 @@
    else
     echomsg "would extract <".fname.">: ".fsize." lines"
    endif
-"   call Decho(linenr.": will extract file<".fname.">")
-"   call Decho((linenr+1).": fsize=".fsize)
+"   call Decho("using L#".linenr.": will extract file<".fname.">")
+"   call Decho("using L#".(linenr+1).": fsize=".fsize)
 
    " make directories if they don't exist yet
+"   call Decho("making directories if they don't exist yet")
    let fnamebuf= fname
    while fnamebuf =~ '/'
    	let dirname  = substitute(fnamebuf,'/.*$','','e')
@@ -183,24 +185,19 @@
    exe "cd ".home
 
    " grab specified qty of lines and place into "a" buffer
-   exe linenr
-   norm! jjma
-   exe (linenr + fsize + 1)
-   silent norm! "ay'a
-"   call Decho("yanked ".fsize." lines into register-a")
-
-"   call Decho("didhelp<".didhelp."> fname<".fname.">")
-   if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
-   	let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
-"	call Decho("didhelp<".didhelp.">")
-   endif
+   " (skip over path/filename and qty-lines)
+   let linenr   = linenr + 2
+   let lastline = linenr + fsize - 1
+"   call Decho("exe ".linenr.",".lastline."yank a")
+   exe linenr.",".lastline."yank a"
 
    " copy "a" buffer into tab
 "   call Decho('copy "a buffer into tab#'.vbtabnr)
    exe "tabn ".vbtabnr
    silent! %d
-   silent norm! "aPGdd1G
-"   call Decho("rega<".@a.">")
+   put a
+   1
+   d
 
    " write tab to file
    if a:really
@@ -208,11 +205,21 @@
     exe "silent w! ".fname
    endif
 
+   " return to tab with vimball
 "   call Decho("exe tabn ".curtabnr)
    exe "tabn ".curtabnr
+
+   " set up help if its a doc/*.txt file
+"   call Decho("didhelp<".didhelp."> fname<".fname.">")
+   if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
+   	let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
+"	call Decho("didhelp<".didhelp.">")
+   endif
+
+   " update for next file
 "   let oldlinenr = linenr " Decho
-   let linenr    = linenr + fsize + 2
-"   call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] + 2 = ".linenr)
+   let linenr    = linenr + fsize
+"   call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] = ".linenr)
   endwhile
 
   " set up help
@@ -234,8 +241,9 @@
   setlocal nomod bh=wipe
   exe "tabn ".curtabnr
   exe "tabc ".vbtabnr
-  let &ei= eikeep
-  let @a = regakeep
+  let &ei  = eikeep
+  let @a   = regakeep
+  let &fen = fenkeep
   if makeep[0] != 0
    " restore mark a
 "   call Decho("restore mark-a: makeep=".string(makeep))
