Updated runtime files.
diff --git a/runtime/autoload/getscript.vim b/runtime/autoload/getscript.vim
index 6e01976..9e2a196 100644
--- a/runtime/autoload/getscript.vim
+++ b/runtime/autoload/getscript.vim
@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
-" Date: Dec 28, 2009
-" Version: 32
+" Date: May 31, 2011
+" Version: 33
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
-let g:loaded_getscript= "v32"
+let g:loaded_getscript= "v33"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@@ -519,6 +519,7 @@
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
+" call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall)
if doautoinstall
" call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
@@ -526,7 +527,7 @@
" call Decho("<".sname."> is readable")
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
- let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
+ let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
let installdir= curdir."/Installed"
if !isdirectory(installdir)
call mkdir(installdir)
@@ -557,6 +558,11 @@
exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
+ elseif sname =~ '\.xz$'
+" call Decho("decompress: attempt to unxz ".sname)
+ exe "silent !unxz ".shellescape(sname)
+ let sname= substitute(sname,'\.xz$','','')
+" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 8476022..ab6370a 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
" AUTOLOAD SECTION
-" Date: Apr 01, 2011
-" Version: 141
+" Date: May 31, 2011
+" Version: 142
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2010 Charles E. Campbell, Jr. {{{1
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v141"
+let g:loaded_netrw = "v142"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrw needs vim 7.2"
@@ -291,7 +291,7 @@
call s:NetrwInit("g:netrw_xstrlen",0)
call s:NetrwInit("g:NetrwTopLvlMenu","Netrw.")
call s:NetrwInit("g:netrw_win95ftp",1)
-call s:NetrwInit("g:netrw_winsize",25)
+call s:NetrwInit("g:netrw_winsize",50)
" ---------------------------------------------------------------------
" Default values for netrw's script variables: {{{2
call s:NetrwInit("g:netrw_fname_escape",' ?&;%')
@@ -1518,6 +1518,14 @@
fun! s:NetrwMethod(choice)
" call Dfunc("NetrwMethod(a:choice<".a:choice.">)")
+ " sanity check: choice should have at least three slashes in it
+ if strlen(substitute(a:choice,'[^/]','','g')) < 3
+ call netrw#ErrorMsg(s:ERROR,"not a netrw-style url; netrw uses protocol://[user@]hostname[:port]/[path])",78)
+ let b:netrw_method = -1
+" call Dret("NetrwMethod : incorrect url format<".a:choice.">")
+ return
+ endif
+
" record current g:netrw_machine, if any
" curmachine used if protocol == ftp and no .netrc
if exists("g:netrw_machine")
@@ -1813,6 +1821,25 @@
" s:NetrwMaps: {{{2
fun! s:NetrwMaps(islocal)
" call Dfunc("s:NetrwMaps(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
+
+ " set up Rexplore and [ 2-leftmouse-click -or- c-leftmouse ]
+" call Decho("set up Rexplore command")
+ com! Rexplore call s:NetrwRexplore(w:netrw_rexlocal,exists("w:netrw_rexdir")? w:netrw_rexdir : ".")
+ if g:netrw_mousemaps && g:netrw_retmap
+" call Decho("set up Rexplore 2-leftmouse")
+ if !hasmapto("<Plug>NetrwReturn")
+ if maparg("<2-leftmouse>","n") == "" || maparg("<2-leftmouse>","n") =~ '^-$'
+" call Decho("making map for 2-leftmouse")
+ nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
+ elseif maparg("<c-leftmouse>","n") == ""
+" call Decho("making map for c-leftmouse")
+ nmap <unique> <silent> <c-leftmouse> <Plug>NetrwReturn
+ endif
+ endif
+ nno <silent> <Plug>NetrwReturn :Rexplore<cr>
+" call Decho("made <Plug>NetrwReturn map")
+ endif
+
if a:islocal
" call Decho("make local maps")
inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr>
@@ -1925,15 +1952,22 @@
endif
let mapsafecurdir = escape(b:netrw_curdir, s:netrw_map_escape)
if g:netrw_mousemaps == 1
- nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
- nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
- nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
- nmap <buffer> <silent> <2-leftmouse> -
+ nmap <buffer> <leftmouse> <Plug>NetrwLeftmouse
+ nno <buffer> <silent> <Plug>NetrwLeftmouse <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
+ nmap <buffer> <middlemouse> <Plug>NetrwMiddlemouse
+ nno <buffer> <silent> <Plug>NetrwMiddlemouse <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
+ nmap <buffer> <s-leftmouse> <Plug>NetrwSLeftmouse
+ nno <buffer> <silent> <Plug>NetrwSLeftmouse <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
+ nmap <buffer> <2-leftmouse> <Plug>Netrw2Leftmouse
+ nmap <buffer> <silent> <Plug>Netrw2Leftmouse -
+ imap <buffer> <leftmouse> <Plug>ILeftmouse
+ ino <buffer> <silent> <Plug>ILeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(1)<cr>
+ imap <buffer> <middlemouse> <Plug>IMiddlemouse
+ ino <buffer> <silent> <Plug>IMiddlemouse <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
+ imap <buffer> <s-leftmouse> <Plug>ISLeftmouse
+ ino <buffer> <silent> <Plug>ISLeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
- inoremap <buffer> <silent> <leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(1)<cr>
- inoremap <buffer> <silent> <middlemouse> <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
- inoremap <buffer> <silent> <s-leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
exe 'inoremap <buffer> <silent> <rightmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
endif
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
@@ -2053,17 +2087,24 @@
let mapsafepath = escape(s:path, s:netrw_map_escape)
let mapsafeusermach = escape(s:user.s:machine, s:netrw_map_escape)
- nnoremap <buffer> <silent> <Plug>NetrwRefresh :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
+ nnoremap <buffer> <silent> <Plug>NetrwRefresh :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
if g:netrw_mousemaps == 1
- nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
- nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
- nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
- nmap <buffer> <silent> <2-leftmouse> -
+ nmap <leftmouse> <Plug>NetrwLeftmouse
+ nno <buffer> <silent> <Plug>NetrwLeftmouse <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
+ nmap <middlemouse> <Plug>NetrwMiddlemouse
+ nno <buffer> <silent> <middlemouse> <Plug>NetrwMiddlemouse <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
+ nmap <buffer> <s-leftmouse> <Plug>NetrwSLeftmouse
+ nno <buffer> <silent> <Plug>NetrwSLeftmouse <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
+ nmap <buffer> <2-leftmouse> <Plug>Netrw2Leftmouse
+ nmap <buffer> <silent> <Plug>Netrw2Leftmouse -
+ imap <buffer> <leftmouse> <Plug>ILeftmouse
+ ino <buffer> <silent> <Plug>ILeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(0)<cr>
+ imap <buffer> <middlemouse> <Plug>IMiddlemouse
+ ino <buffer> <silent> <Plug>IMiddlemouse <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(0)<cr>
+ imap <buffer> <s-leftmouse> <Plug>ISLeftmouse
+ ino <buffer> <silent> <Plug>ISLeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
- inoremap <buffer> <silent> <leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(0)<cr>
- inoremap <buffer> <silent> <middlemouse> <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(0)<cr>
- inoremap <buffer> <silent> <s-leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
exe 'inoremap <buffer> <silent> <rightmouse> <c-o><leftmouse><c-o>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
endif
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
@@ -2081,23 +2122,8 @@
inoremap <buffer> <F1> <c-o>:he netrw-quickhelp<cr>
endif
- " set up Rexplore and leftmouse-double-click
- com! Rexplore call s:NetrwRexplore(w:netrw_rexlocal,exists("w:netrw_rexdir")? w:netrw_rexdir : ".")
- if g:netrw_mousemaps && g:netrw_retmap
- if !hasmapto("<Plug>NetrwReturn")
- if maparg("<2-leftmouse>","n") == "" || maparg("<2-leftmouse>","n") =~ '^-$'
-" call Decho("making map for 2-leftmouse")
- nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
- elseif maparg("<c-leftmouse>","n") == ""
-" call Decho("making map for c-leftmouse")
- nmap <unique> <silent> <c-leftmouse> <Plug>NetrwReturn
- endif
- endif
- exe 'nnoremap <silent> <Plug>NetrwReturn :Rexplore<cr>'
-" call Decho("made <Plug>NetrwReturn map")
- endif
-
keepj call s:SetRexDir(a:islocal,b:netrw_curdir)
+
" call Dret("s:NetrwMaps")
endfun
@@ -3647,34 +3673,40 @@
if a:dosplit || &modified || a:style == 6
" call Decho("case dosplit=".a:dosplit." modified=".&modified." a:style=".a:style.": dosplit or file has been modified")
call s:SaveWinVars()
- let winsize= g:netrw_winsize
+ let winsz= g:netrw_winsize
if a:indx > 0
- let winsize= a:indx
+ let winsz= a:indx
endif
if a:style == 0 " Explore, Sexplore
" call Decho("style=0: Explore or Sexplore")
- exe winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe winsz."wincmd s"
elseif a:style == 1 "Explore!, Sexplore!
" call Decho("style=1: Explore! or Sexplore!")
- exe winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe winsz."wincmd v"
elseif a:style == 2 " Hexplore
" call Decho("style=2: Hexplore")
- exe "bel ".winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe "bel ".winsz."wincmd s"
elseif a:style == 3 " Hexplore!
" call Decho("style=3: Hexplore!")
- exe "abo ".winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe "abo ".winsz."wincmd s"
elseif a:style == 4 " Vexplore
" call Decho("style=4: Vexplore")
- exe "lefta ".winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe "lefta ".winsz."wincmd v"
elseif a:style == 5 " Vexplore!
" call Decho("style=5: Vexplore!")
- exe "rightb ".winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe "rightb ".winsz."wincmd v"
elseif a:style == 6 " Texplore
call s:SaveBufVars()
@@ -4618,13 +4650,13 @@
" sanity checks
if !exists("s:netrwmarkfilelist_{bufnr('%')}") || empty(s:netrwmarkfilelist_{bufnr('%')})
- keepj call netrw#ErrorMsg(2,"there are no marked files in this window (:help netrw-mf)",66)
+ keepj call netrw#ErrorMsg(s:ERROR,"there are no marked files in this window (:help netrw-mf)",66)
" call Dret("s:NetrwMarkFileCopy 0")
return 0
endif
" call Decho("sanity chk passed: s:netrwmarkfilelist_".bufnr('%')."<".string(s:netrwmarkfilelist_{bufnr('%')}))
if !exists("s:netrwmftgt")
- keepj call netrw#ErrorMsg(2,"your marked file target is empty! (:help netrw-mt)",67)
+ keepj call netrw#ErrorMsg(s:ERROR,"your marked file target is empty! (:help netrw-mt)",67)
" call Dret("s:NetrwMarkFileCopy 0")
return 0
endif
@@ -6143,7 +6175,8 @@
if a:mode == 0
" remote and o
" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
- exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize*winheight(0))/100
+ exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
@@ -6162,7 +6195,8 @@
elseif a:mode == 2
" remote and v
" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
- exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+ let winsz= (g:netrw_winsize*winwidth(0))/100
+ exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
@@ -6171,7 +6205,8 @@
elseif a:mode == 3
" local and o
" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
- exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize*winheight(0))/100
+ exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
@@ -6192,7 +6227,8 @@
elseif a:mode == 5
" local and v
" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
- exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+ let winsz= (g:netrw_winsize*winwidth(0))/100
+ exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
@@ -6826,8 +6862,8 @@
" call Decho("2: exe sil r! ".listcmd)
exe "sil! keepalt r! ".listcmd
else
-" call Decho("3: exe sil r! ".listcmd.' '.shellescape(s:path,1))
- exe "sil! keepalt r! ".listcmd.' '.shellescape(s:path,1)
+" call Decho("3: exe sil r! ".listcmd.' '.shellescape(fnameescape(s:path),1))
+ exe "sil! keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1)
" call Decho("listcmd<".listcmd."> path<".s:path.">")
endif
endif
@@ -7278,12 +7314,12 @@
" get the list of files contained in the current directory
let dirname = b:netrw_curdir
let dirnamelen = s:Strlen(b:netrw_curdir)
- let filelist = glob(s:ComposePath(dirname,"*"))
+ let filelist = glob(s:ComposePath(fnameescape(dirname),"*"))
" call Decho("glob(dirname<".dirname."/*>)=".filelist)
if filelist != ""
let filelist= filelist."\n"
endif
- let filelist= filelist.glob(s:ComposePath(dirname,".*"))
+ let filelist= filelist.glob(s:ComposePath(fnameescape(dirname),".*"))
" call Decho("glob(dirname<".dirname."/.*>)=".filelist)
" Coding choice: either elide ./ if present
@@ -7797,7 +7833,7 @@
" 0=note = s:NOTE
" 1=warning = s:WARNING
" 2=error = s:ERROR
-" Dec 03, 2009 : max errnum currently is 77
+" Apr 18, 2011 : max errnum currently is 78
fun! netrw#ErrorMsg(level,msg,errnum)
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
@@ -8326,7 +8362,7 @@
" ---------------------------------------------------------------------
" s:RemotePathAnalysis: {{{2
fun! s:RemotePathAnalysis(dirname)
-" call Dfunc("s:RemotePathAnalysis()")
+" call Dfunc("s:RemotePathAnalysis(a:dirname<".a:dirname.">)")
let dirpat = '^\(\w\{-}\)://\(\w\+@\)\=\([^/:#]\+\)\%([:#]\(\d\+\)\)\=/\(.*\)$'
let s:method = substitute(a:dirname,dirpat,'\1','')
diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim
index becb790..6355b71 100644
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
-" Date: Aug 09, 2010
-" Version: 26
+" Date: May 31, 2011
+" Version: 27
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
-" Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1
+" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
-let g:loaded_tar= "v26"
+let g:loaded_tar= "v27"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -47,6 +47,17 @@
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
+if !exists("g:netrw_cygwin")
+ if has("win32") || has("win95") || has("win64") || has("win16")
+ if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
+ let g:netrw_cygwin= 1
+ else
+ let g:netrw_cygwin= 0
+ endif
+ else
+ let g:netrw_cygwin= 0
+ endif
+endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
@@ -63,17 +74,6 @@
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
-if !exists("g:netrw_cygwin")
- if has("win32") || has("win95") || has("win64") || has("win16")
- if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
- let g:netrw_cygwin= 1
- else
- let g:netrw_cygwin= 0
- endif
- else
- let g:netrw_cygwin= 0
- endif
-endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
@@ -142,9 +142,9 @@
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
- $put =''
- 0d
- $
+ keepj $put =''
+ keepj 0d
+ keepj $
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
@@ -154,26 +154,26 @@
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
- exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
+ exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif
if v:shell_error != 0
redraw!
@@ -184,12 +184,12 @@
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
- silent %d
+ keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".fnameescape(a:tarfile)
let &ei= eikeep
- 1d
+ keepj sil! 1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
@@ -286,19 +286,19 @@
endif
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
- exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
@@ -317,7 +317,7 @@
exe "file tarfile::".fnameescape(fname)
" cleanup
- 0d
+ keepj sil! 0d
set nomod
let &report= repkeep
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 13e82ac..0e3a4fc 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Apr 12, 2010
-" Version: 31
+" Date: Apr 02, 2011
+" Version: 33
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
-" Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
+" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
-let g:loaded_vimball = "v31"
+let g:loaded_vimball = "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -67,10 +67,10 @@
" vimball#MkVimball: creates a vimball given a list of paths to files {{{2
" Input:
" line1,line2: a range of lines containing paths to files to be included in the vimball
-" writelevel : if true, force a write to filename.vba, even if it exists
+" writelevel : if true, force a write to filename.vmb, even if it exists
" (usually accomplished with :MkVimball! ...
-" filename : base name of file to be created (ie. filename.vba)
-" Output: a filename.vba using vimball format:
+" filename : base name of file to be created (ie. filename.vmb)
+" Output: a filename.vmb using vimball format:
" path
" filesize
" [file]
@@ -80,12 +80,12 @@
fun! vimball#MkVimball(line1,line2,writelevel,...) range
" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:1.">) a:0=".a:0)
if a:1 =~ '\.vim$' || a:1 =~ '\.txt$'
- let vbname= substitute(a:1,'\.\a\{3}$','.vba','')
+ let vbname= substitute(a:1,'\.\a\{3}$','.vmb','')
else
let vbname= a:1
endif
- if vbname !~ '\.vba$'
- let vbname= vbname.'.vba'
+ if vbname !~ '\.vmb$'
+ let vbname= vbname.'.vmb'
endif
" call Decho("vbname<".vbname.">")
if !a:writelevel && a:1 =~ '[\/]'
@@ -134,7 +134,7 @@
" create/switch to mkvimball tab
if !exists("vbtabnr")
tabnew
- silent! file Vimball
+ sil! file Vimball
let vbtabnr= tabpagenr()
else
exe "tabn ".vbtabnr
@@ -195,8 +195,8 @@
" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
if v:version < 701 || (v:version == 701 && !exists('*fnameescape'))
- echoerr "your vim is missing the fnameescape() function"
-" call Dret("vimball#Vimball : needs 7.1 with patch 299")
+ echoerr "your vim is missing the fnameescape() function (pls upgrade to vim 7.2 or later)"
+" call Dret("vimball#Vimball : needs 7.1 with patch 299 or later")
return
endif
@@ -214,7 +214,7 @@
" set up vimball tab
" call Decho("setting up vimball tab")
tabnew
- silent! file Vimball
+ sil! file Vimball
let vbtabnr= tabpagenr()
let didhelp= ""
@@ -254,11 +254,10 @@
while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g')
-" let fsize = getline(linenr+1)+0
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
- let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\+\)$','\1','')
+ let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
let filecnt = filecnt + 1
-" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
+" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt. " fenc=".fenc)
if a:really
echomsg "extracted <".fname.">: ".fsize." lines"
@@ -306,20 +305,22 @@
let linenr = linenr + 2
let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a")
- exe "silent ".linenr.",".lastline."yank a"
+ " no point in handling a zero-length file
+ if lastline >= linenr
+ exe "silent ".linenr.",".lastline."yank a"
- " copy "a" buffer into tab
+ " copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
- exe "tabn ".vbtabnr
- setlocal ma
- silent! %d
- silent put a
- 1
- silent d
+ exe "tabn ".vbtabnr
+ setlocal ma
+ sil! %d
+ silent put a
+ 1
+ sil! d
- " write tab to file
- if a:really
- let fnamepath= home."/".fname
+ " write tab to file
+ if a:really
+ let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath))
if fenc != ""
exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
@@ -328,17 +329,18 @@
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
- endif
+ endif
- " return to tab with vimball
+ " return to tab with vimball
" call Decho("exe tabn ".curtabnr)
- exe "tabn ".curtabnr
+ exe "tabn ".curtabnr
- " set up help if its a doc/*.txt file
+ " set up help if its a doc/*.txt file
" call Decho("didhelp<".didhelp."> fname<".fname.">")
- if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
- let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
+ if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
+ let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
" call Decho("didhelp<".didhelp.">")
+ endif
endif
" update for next file
@@ -400,7 +402,9 @@
let curfile= a:1
" call Decho("case a:0=".a:0.": curfile<".curfile.">")
endif
- if curfile =~ '\.vba$'
+ if curfile =~ '\.vmb$'
+ let curfile= substitute(curfile,'\.vmb','','')
+ elseif curfile =~ '\.vba$'
let curfile= substitute(curfile,'\.vba','','')
endif
if a:0 >= 2
@@ -418,13 +422,17 @@
" call Decho(".VimballRecord is readable")
" call Decho("curfile<".curfile.">")
keepalt keepjumps 1split
- silent! keepalt keepjumps e .VimballRecord
+ sil! keepalt keepjumps e .VimballRecord
let keepsrch= @/
" call Decho('search for ^\M'.curfile.'.\m: ')
-" call Decho('search for ^\M'.curfile.'.\mvba: ')
-" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.vba: ')
+" call Decho('search for ^\M'.curfile.'.\m{vba|vmb}: ')
+" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.{vba|vmb}: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1
+ elseif search('^\M'.curfile.".\mvmb: ",'cw')
+ let foundit= 2
+ elseif search('^\M'.curfile.'\m[-0-9.]*\.vmb: ','cw')
+ let foundit= 2
elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1
elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
@@ -433,25 +441,29 @@
let foundit = 0
endif
if foundit
- let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
+ if foundit == 1
+ let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
+ else
+ let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vmb: ','','')
+ endif
let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring)
- silent! keepalt keepjumps exe exestring
- silent! keepalt keepjumps d
+ sil! keepalt keepjumps exe exestring
+ sil! keepalt keepjumps d
let exestring= strlen(substitute(exestring,'call delete(.\{-})|\=',"D","g"))
" call Decho("exestring<".exestring.">")
echomsg "removed ".exestring." files"
else
let s:VBRstring= ''
- let curfile = substitute(curfile,'\.vba','','')
+ let curfile = substitute(curfile,'\.vmb','','')
" call Decho("unable to find <".curfile."> in .VimballRecord")
if !exists("s:ok_unablefind")
call vimball#ShowMesg(s:WARNING,"(RmVimball) unable to find <".curfile."> in .VimballRecord")
endif
endif
- silent! keepalt keepjumps g/^\s*$/d
- silent! keepalt keepjumps wq!
+ sil! keepalt keepjumps g/^\s*$/d
+ sil! keepalt keepjumps wq!
let @/= keepsrch
endif
call s:ChgDir(curdir)
@@ -599,7 +611,7 @@
let cmd= expand("%:tr").": "
" call Decho("cmd<".cmd.">")
- silent! keepalt keepjumps e .VimballRecord
+ sil! keepalt keepjumps e .VimballRecord
setlocal ma
$
if exists("s:recordfile") && exists("s:recorddir")
@@ -616,8 +628,8 @@
" put command into buffer, write .VimballRecord `file
keepalt keepjumps put=cmd
- silent! keepalt keepjumps g/^\s*$/d
- silent! keepalt keepjumps wq!
+ sil! keepalt keepjumps g/^\s*$/d
+ sil! keepalt keepjumps wq!
call s:ChgDir(curdir)
if exists("s:recorddir")
@@ -693,10 +705,11 @@
let s:repkeep = &report
let s:vekeep = &ve
let s:ffkeep = &l:ff
+ let s:swfkeep = &l:swf
if exists("&acd")
- setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix
+ setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
else
- setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix
+ setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
endif
" vimballs should be in unix format
setlocal ff=unix
diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim
index a55f1dc..c7b946d 100644
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
-" Date: Apr 12, 2010
-" Version: 23
+" Date: May 24, 2011
+" Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
-" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
+" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -19,7 +19,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
-let g:loaded_zip= "v23"
+let g:loaded_zip= "v24"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
@@ -103,38 +103,26 @@
set ft=tar
" give header
- let lastline= line("$")
- call setline(lastline+1,'" zip.vim version '.g:loaded_zip)
- call setline(lastline+2,'" Browsing zipfile '.a:zipfile)
- call setline(lastline+3,'" Select a file with cursor and press ENTER')
- $put =''
- 0d
- $
+ call append(0, ['" zip.vim version '.g:loaded_zip,
+ \ '" Browsing zipfile '.a:zipfile,
+ \ '" Select a file with cursor and press ENTER'])
+ keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
- exe "silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1)
+ exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
- silent %d
+ keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
- exe "r ".fnameescape(a:zipfile)
+ exe "keepj r ".fnameescape(a:zipfile)
let &ei= eikeep
- 1d
+ keepj 1d
" call Dret("zip#Browse")
return
endif
-" call Decho("line 6: ".getline(6))
- let namecol= stridx(getline(6),'Name') + 1
-" call Decho("namecol=".namecol)
- 4,$g/^\s*----/d
- 4,$g/^\s*\a/d
- $d
- if namecol > 0
- exe 'silent 4,$s/^.*\%'.namecol.'c//'
- endif
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
@@ -205,11 +193,12 @@
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
-" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1))
- exe "silent r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
+" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
+ exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
+ filetype detect
" cleanup
- 0d
+ keepj 0d
set nomod
let &report= repkeep