Mercurial > vim
annotate runtime/autoload/netrwSettings.vim @ 26841:48d6f187e9c0 v8.2.3949
patch 8.2.3949: using freed memory with /%V
Commit: https://github.com/vim/vim/commit/4c13e5e6763c6eb36a343a2b8235ea227202e952
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 30 14:49:43 2021 +0000
patch 8.2.3949: using freed memory with /\%V
Problem: Using freed memory with /\%V.
Solution: Get the line again after getvvcol().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 30 Dec 2021 16:00:05 +0100 |
parents | d4faa2c5211b |
children | b2e8663e6dcc |
rev | line source |
---|---|
557 | 1 " netrwSettings.vim: makes netrw settings simpler |
25700 | 2 " Date: Aug 12, 2021 |
19099 | 3 " Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> |
25700 | 4 " Version: 17 ASTRO-ONLY |
4339 | 5 " Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1 |
557 | 6 " Permission is hereby granted to use and distribute this code, |
7 " with or without modifications, provided that this copyright | |
8 " notice is copied with it. Like anything else that's free, | |
9 " netrwSettings.vim is provided *as is* and comes with no | |
10 " warranty of any kind, either expressed or implied. By using | |
11 " this plugin, you agree that in no event will the copyright | |
12 " holder be liable for any damages resulting from the use | |
13 " of this software. | |
14 " | |
15 " Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1 | |
16 " synagogues, preaching the gospel of the kingdom, and healing | |
17 " every disease and every sickness among the people. | |
18 " Load Once: {{{1 | |
19 if exists("g:loaded_netrwSettings") || &cp | |
20 finish | |
21 endif | |
25700 | 22 let g:loaded_netrwSettings = "v17" |
2034 | 23 if v:version < 700 |
24 echohl WarningMsg | |
25 echo "***warning*** this version of netrwSettings needs vim 7.0" | |
26 echohl Normal | |
27 finish | |
28 endif | |
557 | 29 |
30 " --------------------------------------------------------------------- | |
31 " NetrwSettings: {{{1 | |
32 fun! netrwSettings#NetrwSettings() | |
33 " this call is here largely just to insure that netrw has been loaded | |
25700 | 34 call netrw#WinPath("") |
557 | 35 if !exists("g:loaded_netrw") |
36 echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None | |
37 return | |
38 endif | |
39 | |
40 above wincmd s | |
41 enew | |
42 setlocal noswapfile bh=wipe | |
43 set ft=vim | |
44 file Netrw\ Settings | |
45 | |
46 " these variables have the following default effects when they don't | |
47 " exist (ie. have not been set by the user in his/her .vimrc) | |
1122 | 48 if !exists("g:netrw_liststyle") |
49 let g:netrw_liststyle= 0 | |
557 | 50 let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa" |
51 endif | |
52 if !exists("g:netrw_silent") | |
53 let g:netrw_silent= 0 | |
54 endif | |
55 if !exists("g:netrw_use_nt_rcp") | |
56 let g:netrw_use_nt_rcp= 0 | |
57 endif | |
58 if !exists("g:netrw_ftp") | |
59 let g:netrw_ftp= 0 | |
60 endif | |
61 if !exists("g:netrw_ignorenetrc") | |
62 let g:netrw_ignorenetrc= 0 | |
63 endif | |
64 | |
798 | 65 put ='+ ---------------------------------------------' |
4339 | 66 put ='+ NetrwSettings: by Charles E. Campbell' |
798 | 67 put ='+ Press <F1> with cursor atop any line for help' |
68 put ='+ ---------------------------------------------' | |
557 | 69 let s:netrw_settings_stop= line(".") |
70 | |
71 put ='' | |
72 put ='+ Netrw Protocol Commands' | |
73 put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd | |
74 put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd | |
75 put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd | |
76 put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd | |
77 put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd | |
78 put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd | |
79 put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd | |
80 put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd | |
81 put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd | |
82 let s:netrw_protocol_stop= line(".") | |
83 put = '' | |
84 | |
85 put ='+Netrw Transfer Control' | |
86 put = 'let g:netrw_cygwin = '.g:netrw_cygwin | |
87 put = 'let g:netrw_ftp = '.g:netrw_ftp | |
88 put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode | |
89 put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc | |
1214 | 90 put = 'let g:netrw_sshport = '.g:netrw_sshport |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
91 put = 'let g:netrw_silent = '.g:netrw_silent |
557 | 92 put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp |
93 put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp | |
94 let s:netrw_xfer_stop= line(".") | |
1214 | 95 put ='' |
96 put ='+ Netrw Messages' | |
97 put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow | |
557 | 98 |
99 put = '' | |
100 put ='+ Netrw Browser Control' | |
5618 | 101 if exists("g:netrw_altfile") |
102 put = 'let g:netrw_altfile = '.g:netrw_altfile | |
103 else | |
104 put = 'let g:netrw_altfile = 0' | |
105 endif | |
557 | 106 put = 'let g:netrw_alto = '.g:netrw_alto |
107 put = 'let g:netrw_altv = '.g:netrw_altv | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
108 put = 'let g:netrw_banner = '.g:netrw_banner |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
109 if exists("g:netrw_bannerbackslash") |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
110 put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
111 else |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
112 put = '\" let g:netrw_bannerbackslash = (not defined)' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
113 endif |
650 | 114 put = 'let g:netrw_browse_split = '.g:netrw_browse_split |
115 if exists("g:netrw_browsex_viewer") | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
116 put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer |
650 | 117 else |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
118 put = '\" let g:netrw_browsex_viewer = (not defined)' |
650 | 119 endif |
1621 | 120 put = 'let g:netrw_compress = '.g:netrw_compress |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
121 if exists("g:Netrw_corehandler") |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
122 put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
123 else |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
124 put = '\" let g:Netrw_corehandler = (not defined)' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
125 endif |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
126 put = 'let g:netrw_ctags = '.g:netrw_ctags |
3920 | 127 put = 'let g:netrw_cursor = '.g:netrw_cursor |
1621 | 128 let decompressline= line("$") |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
129 put = 'let g:netrw_decompress = '.string(g:netrw_decompress) |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
130 if exists("g:netrw_dynamic_maxfilenamelen") |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
131 put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
132 else |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
133 put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
134 endif |
557 | 135 put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
136 put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl |
719 | 137 put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse |
1621 | 138 let fnameescline= line("$") |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
139 put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape) |
557 | 140 put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject |
141 put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd | |
1122 | 142 put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd |
143 put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd | |
1621 | 144 let globescline= line("$") |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
145 put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape) |
557 | 146 put = 'let g:netrw_hide = '.g:netrw_hide |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
147 if exists("g:netrw_home") |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
148 put = 'let g:netrw_home = '.g:netrw_home |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
149 else |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
150 put = '\" let g:netrw_home = (not defined)' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
151 endif |
557 | 152 put = 'let g:netrw_keepdir = '.g:netrw_keepdir |
153 put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd | |
154 put = 'let g:netrw_list_hide = '.g:netrw_list_hide | |
1621 | 155 put = 'let g:netrw_liststyle = '.g:netrw_liststyle |
156 put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd | |
17433 | 157 put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt |
3920 | 158 put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir |
17433 | 159 put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt |
1621 | 160 put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd |
17433 | 161 put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
162 put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir |
17433 | 163 put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt |
557 | 164 put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen |
1122 | 165 put = 'let g:netrw_menu = '.g:netrw_menu |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
166 put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps |
557 | 167 put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
168 if exists("g:netrw_nobeval") |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
169 put = 'let g:netrw_nobeval = '.g:netrw_nobeval |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
170 else |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
171 put = '\" let g:netrw_nobeval = (not defined)' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
172 endif |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
173 put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir |
1621 | 174 put = 'let g:netrw_preview = '.g:netrw_preview |
557 | 175 put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd |
1621 | 176 put = 'let g:netrw_retmap = '.g:netrw_retmap |
557 | 177 put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd |
178 put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd | |
179 put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd | |
180 put = 'let g:netrw_sort_by = '.g:netrw_sort_by | |
181 put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction | |
1668 | 182 put = 'let g:netrw_sort_options = '.g:netrw_sort_options |
557 | 183 put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence |
6476 | 184 put = 'let g:netrw_servername = '.g:netrw_servername |
1621 | 185 put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax |
557 | 186 put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
187 put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd |
1214 | 188 put = 'let g:netrw_scpport = '.g:netrw_scpport |
2034 | 189 put = 'let g:netrw_sepchr = '.g:netrw_sepchr |
1214 | 190 put = 'let g:netrw_sshport = '.g:netrw_sshport |
557 | 191 put = 'let g:netrw_timefmt = '.g:netrw_timefmt |
1621 | 192 let tmpfileescline= line("$") |
193 put ='let g:netrw_tmpfile_escape...' | |
1122 | 194 put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf |
1621 | 195 put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen |
557 | 196 put = 'let g:netrw_winsize = '.g:netrw_winsize |
197 | |
198 put ='' | |
1214 | 199 put ='+ For help, place cursor on line and press <F1>' |
557 | 200 |
201 1d | |
202 silent %s/^+/"/e | |
203 res 99 | |
204 silent %s/= \([^0-9].*\)$/= '\1'/e | |
205 silent %s/= $/= ''/e | |
206 1 | |
207 | |
1621 | 208 call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1','')) |
209 call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'") | |
210 call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'") | |
211 call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'") | |
1122 | 212 |
557 | 213 set nomod |
214 | |
1122 | 215 nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr> |
216 nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr> | |
557 | 217 let tmpfile= tempname() |
218 exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod' | |
219 endfun | |
220 | |
221 " --------------------------------------------------------------------- | |
222 " NetrwSettingHelp: {{{2 | |
223 fun! NetrwSettingHelp() | |
224 " call Dfunc("NetrwSettingHelp()") | |
225 let curline = getline(".") | |
226 if curline =~ '=' | |
227 let varhelp = substitute(curline,'^\s*let ','','e') | |
228 let varhelp = substitute(varhelp,'\s*=.*$','','e') | |
229 " call Decho("trying help ".varhelp) | |
230 try | |
231 exe "he ".varhelp | |
232 catch /^Vim\%((\a\+)\)\=:E149/ | |
233 echo "***sorry*** no help available for <".varhelp.">" | |
234 endtry | |
235 elseif line(".") < s:netrw_settings_stop | |
236 he netrw-settings | |
237 elseif line(".") < s:netrw_protocol_stop | |
238 he netrw-externapp | |
239 elseif line(".") < s:netrw_xfer_stop | |
240 he netrw-variables | |
241 else | |
242 he netrw-browse-var | |
243 endif | |
244 " call Dret("NetrwSettingHelp") | |
245 endfun | |
246 | |
247 " --------------------------------------------------------------------- | |
248 " Modelines: {{{1 | |
249 " vim:ts=8 fdm=marker |