comparison runtime/autoload/gzip.vim @ 1592:e06e177de52a v7.1.305

updated for version 7.1-305
author vimboss
date Thu, 29 May 2008 20:41:57 +0000
parents 4e90dc161511
children 0b796e045c42
comparison
equal deleted inserted replaced
1591:c19f6b8d0393 1592:e06e177de52a
1 " Vim autoload file for editing compressed files. 1 " Vim autoload file for editing compressed files.
2 " Maintainer: Bram Moolenaar <Bram@vim.org> 2 " Maintainer: Bram Moolenaar <Bram@vim.org>
3 " Last Change: 2007 May 10 3 " Last Change: 2008 May 29
4 4
5 " These functions are used by the gzip plugin. 5 " These functions are used by the gzip plugin.
6 6
7 " Function to check that executing "cmd [-f]" works. 7 " Function to check that executing "cmd [-f]" works.
8 " The result is cached in s:have_"cmd" for speed. 8 " The result is cached in s:have_"cmd" for speed.
71 71
72 " when filtering the whole buffer, it will become empty 72 " when filtering the whole buffer, it will become empty
73 let empty = line("'[") == 1 && line("']") == line("$") 73 let empty = line("'[") == 1 && line("']") == line("$")
74 let tmp = tempname() 74 let tmp = tempname()
75 let tmpe = tmp . "." . expand("<afile>:e") 75 let tmpe = tmp . "." . expand("<afile>:e")
76 if exists('*fnameescape')
77 let tmp_esc = fnameescape(tmp)
78 let tmpe_esc = fnameescape(tmpe)
79 else
80 let tmp_esc = escape(tmp, ' ')
81 let tmpe_esc = escape(tmpe, ' ')
82 endif
76 " write the just read lines to a temp file "'[,']w tmp.gz" 83 " write the just read lines to a temp file "'[,']w tmp.gz"
77 execute "silent '[,']w " . escape(tmpe, ' ') 84 execute "silent '[,']w " . tmpe_esc
78 " uncompress the temp file: call system("gzip -dn tmp.gz") 85 " uncompress the temp file: call system("gzip -dn tmp.gz")
79 call system(a:cmd . " " . s:escape(tmpe)) 86 call system(a:cmd . " " . s:escape(tmpe))
80 if !filereadable(tmp) 87 if !filereadable(tmp)
81 " uncompress didn't work! Keep the compressed file then. 88 " uncompress didn't work! Keep the compressed file then.
82 echoerr "Error: Could not read uncompressed file" 89 echoerr "Error: Could not read uncompressed file"
93 " read in the uncompressed lines "'[-1r tmp" 100 " read in the uncompressed lines "'[-1r tmp"
94 " Use ++edit if the buffer was empty, keep the 'ff' and 'fenc' options. 101 " Use ++edit if the buffer was empty, keep the 'ff' and 'fenc' options.
95 setlocal nobin 102 setlocal nobin
96 if exists(":lockmarks") 103 if exists(":lockmarks")
97 if empty 104 if empty
98 execute "silent lockmarks " . l . "r ++edit " . tmp 105 execute "silent lockmarks " . l . "r ++edit " . tmp_esc
99 else 106 else
100 execute "silent lockmarks " . l . "r " . tmp 107 execute "silent lockmarks " . l . "r " . tmp_esc
101 endif 108 endif
102 else 109 else
103 execute "silent " . l . "r " . tmp 110 execute "silent " . l . "r " . tmp_esc
104 endif 111 endif
105 112
106 " if buffer became empty, delete trailing blank line 113 " if buffer became empty, delete trailing blank line
107 if empty 114 if empty
108 silent $delete _ 115 silent $delete _
109 1 116 1
110 endif 117 endif
111 " delete the temp file and the used buffers 118 " delete the temp file and the used buffers
112 call delete(tmp) 119 call delete(tmp)
113 silent! exe "bwipe " . tmp 120 silent! exe "bwipe " . tmp_esc
114 silent! exe "bwipe " . tmpe 121 silent! exe "bwipe " . tmpe_esc
115 endif 122 endif
116 123
117 " Restore saved option values. 124 " Restore saved option values.
118 let &pm = pm_save 125 let &pm = pm_save
119 let &cpo = cpo_save 126 let &cpo = cpo_save
122 let &l:fen = fen_save 129 let &l:fen = fen_save
123 endif 130 endif
124 131
125 " When uncompressed the whole buffer, do autocommands 132 " When uncompressed the whole buffer, do autocommands
126 if ok && empty 133 if ok && empty
134 if exists('*fnameescape')
135 let fname = fnameescape(expand("%:r"))
136 else
137 let fname = escape(expand("%:r"), " \t\n*?[{`$\\%#'\"|!<")
138 endif
127 if &verbose >= 8 139 if &verbose >= 8
128 execute "doau BufReadPost " . expand("%:r") 140 execute "doau BufReadPost " . fname
129 else 141 else
130 execute "silent! doau BufReadPost " . expand("%:r") 142 execute "silent! doau BufReadPost " . fname
131 endif 143 endif
132 endif 144 endif
133 endfun 145 endfun
134 146
135 " After writing compressed file: Compress written file with "cmd" 147 " After writing compressed file: Compress written file with "cmd"