Mercurial > vim
changeset 36143:a15988a70942
runtime(netrw): delete confirmation not strict enough
Commit: https://github.com/vim/vim/commit/0f5effbd1fb58128be677aa577d3d0ab2fc9527a
Author: Christian Brabandt <cb@256bit.org>
Date: Sun Sep 15 19:17:23 2024 +0200
runtime(netrw): delete confirmation not strict enough
fixes: https://github.com/vim/vim/issues/15680
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 15 Sep 2024 19:30:10 +0200 |
parents | a2988ba313f2 |
children | fc89268e5d0d |
files | runtime/autoload/netrw.vim |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -23,6 +23,7 @@ " 2024 Aug 15 by Vim Project: style changes, prevent E121 (#15501) " 2024 Aug 22 by Vim Project: fix mf-selection highlight (#15551) " 2024 Aug 22 by Vim Project: adjust echo output of mx command (#15550) +" 2024 Sep 15 by Vim Project: more strict confirmation dialog (#15680) " }}} " Former Maintainer: Charles E Campbell " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim @@ -11388,7 +11389,7 @@ fun! s:NetrwLocalRm(path) range let ok= s:NetrwLocalRmFile(a:path,fname,all) if ok =~# 'q\%[uit]' || ok == "no" break - elseif ok =~# 'a\%[ll]' + elseif ok =~# '^a\%[ll]$' let all= 1 endif endfor @@ -11417,7 +11418,7 @@ fun! s:NetrwLocalRm(path) range let ok= s:NetrwLocalRmFile(a:path,curword,all) if ok =~# 'q\%[uit]' || ok == "no" break - elseif ok =~# 'a\%[ll]' + elseif ok =~# '^a\%[ll]$' let all= 1 endif let ctr= ctr + 1 @@ -11464,12 +11465,12 @@ fun! s:NetrwLocalRmFile(path,fname,all) " call Decho("response: ok<".ok.">",'~'.expand("<slnum>")) let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e') " call Decho("response: ok<".ok."> (after sub)",'~'.expand("<slnum>")) - if ok =~# 'a\%[ll]' + if ok =~# '^a\%[ll]$' let all= 1 endif endif - if all || ok =~# 'y\%[es]' || ok == "" + if all || ok =~# '^y\%[es]$' || ok == "" let ret= s:NetrwDelete(rmfile) " call Decho("errcode=".v:shell_error." ret=".ret,'~'.expand("<slnum>")) endif @@ -11485,13 +11486,13 @@ fun! s:NetrwLocalRmFile(path,fname,all) if ok == "" let ok="no" endif - if ok =~# 'a\%[ll]' + if ok =~# '^a\%[ll]$' let all= 1 endif endif let rmfile= substitute(rmfile,'[\/]$','','e') - if all || ok =~# 'y\%[es]' || ok == "" + if all || ok =~# '^y\%[es]$' || ok == "" if delete(rmfile,"rf") call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".rmfile.">!",103) endif