runtime(netrw): delete confirmation not strict enough
Commit:
https://github.com/vim/vim/commit/0f5effbd1fb58128be677aa577d3d0ab2fc9527a
Author: Christian Brabandt <[email protected]>
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 <[email protected]>
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index e747ce217..fef151a64 100644
--- 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
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1spt4c-0016VN-WD%40256bit.org.