diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim
index 9d8f138..41a006e 100644
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -1,7 +1,7 @@
 " tar.vim: Handles browsing tarfiles
 "            AUTOLOAD PORTION
-" Date:			Nov 28, 2005
-" Version:		5
+" Date:			Dec 24, 2005
+" Version:		7
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " License:		Vim License  (see vim's :help license)
 "
@@ -24,7 +24,7 @@
 if exists("g:loaded_tar")
  finish
 endif
-let g:loaded_tar= "v5"
+let g:loaded_tar= "v7"
 
 " ---------------------------------------------------------------------
 "  Default Settings: {{{1
@@ -93,7 +93,7 @@
   else
    exe "silent r! tar -".g:tar_browseoptions." '".a:tarfile."'"
   endif
-  %g@/$@d
+  silent %g@/$@d
 
   setlocal noma nomod ro
   noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
@@ -146,7 +146,7 @@
   if tarfile =~# '\.\(gz\|tgz\)$'
 "   call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -OPxf - '".fname."'")
    exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
-  elseif a:fname =~# '\.bz2$'
+  elseif tarfile =~# '\.bz2$'
 "   call Decho("exe silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'")
    exe "silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
   else
@@ -242,16 +242,20 @@
 
 "   call Decho("tarfile<".tarfile."> fname<".fname.">")
  
-   let dirpath = substitute(fname,'/[^/]\+$','','e')
+   if fname =~ '/'
+    let dirpath = substitute(fname,'/[^/]\+$','','e')
+    if executable("cygpath")
+     let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
+    endif
+    call mkdir(dirpath,"p")
+   endif
    if tarfile !~ '/'
     let tarfile= curdir.'/'.tarfile
    endif
 "   call Decho("tarfile<".tarfile."> fname<".fname.">")
  
-   call mkdir(dirpath,"p")
    exe "w! ".fname
    if executable("cygpath")
-    let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
     let tarfile = substitute(system("cygpath ".tarfile),'\n','','e')
    endif
  
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index d5193a5..101e9b5 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Dec 09
+*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Dec 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -680,8 +680,8 @@
 	ALS		ALS			als Als ALs AlS aLs aLS
 	AlS		AlS ALS			als Als ALs aLs aLS
 
-The KEP affix ID can be used to specifically match a word with identical case
-only, see below |spell-KEP|.
+The KEEPCASE affix ID can be used to specifically match a word with identical
+case only, see below |spell-KEEPCASE|.
 
 Note in line 5 to 7 that non-word characters are used.  You can include
 any character in a word.  When checking the text a word still only matches
@@ -694,10 +694,10 @@
 word will be "TCP,IP".
 
 							*spell-affix-vim*
-A flag that Vim adds and is not in Myspell is the flag defined with KEP in the
-affix file.  This has the meaning that case matters.  This can be used if the
-word does not have the first letter in upper case at the start of a sentence.
-Example (assuming that = was used for KEP):
+A flag that Vim adds and is not in Myspell is the flag defined with KEEPCASE
+in the affix file.  This has the meaning that case matters.  This can be used
+if the word does not have the first letter in upper case at the start of a
+sentence.  Example (assuming that = was used for KEEPCASE):
 
     word list	    matches		    does not match ~
     's morgens/=    's morgens		    'S morgens 's Morgens 'S MORGENS
@@ -884,22 +884,22 @@
 must be ASCII, thus a single byte.
 
 
-KEEP-CASE WORDS						*spell-KEP*
+KEEP-CASE WORDS						*spell-KEEPCASE*
 
-In the affix file a KEP line can be used to define the affix name used for
-keep-case words.  Example:
+In the affix file a KEEPCASE line can be used to define the affix name used
+for keep-case words.  Example:
 
-	KEP = ~
+	KEEPCASE = ~
 
 See above for an example |spell-affix-vim|.
 
 
-RARE WORDS						*spell-RAR*
+RARE WORDS						*spell-RARE*
 
-In the affix file a RAR line can be used to define the affix name used for
+In the affix file a RARE line can be used to define the affix name used for
 rare words.  Example:
 
-	RAR ? ~
+	RARE ? ~
 
 Rare words are highlighted differently from bad words.  This is to be used for
 words that are correct for the language, but are hardly ever used and could be
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 740fe93..745e4b7 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 Dec 28
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Dec 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,24 +30,20 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Win32: test52 fails.
-
 ccomplete:
 - When an option is set: In completion mode and the user types (identifier)
   characters, advance to the first match instead of removing the popup menu.
   If there is no match remove the selection. (Yegappan Lakshmanan)
 - Complete the longest common match instead of the first match?
     For all kinds of completions?  Configurable?
-- !_TAG_FILE_FORMAT and it's ilk are listed in the global completions
-    Can't reproduce it right now...
 - Window resize when poup is displayed
 - When completing something that is a structure, add the "." or "->" right
   away.  How to figure out if it's a pointer or not?
 - When a typedef or struct is local to a file only use it in that file?
+- !_TAG_FILE_FORMAT and it's ilk are listed in the global completions
+    Can't reproduce it right now...
 
 spelling:
-- Use KEEPCASE instead of "KEP".  It applies to the word including affixes
-  Hunspell also uses it.
 - Hunspell has NOSUGGEST flag (use for obscene words?)
 - Check out Hunspell 1.1.2.
 - Look into hungarian dictionary:
