Mercurial > vim
changeset 35328:409d7108eb2b
runtime(netrw): prevent accidental data loss
Commit: https://github.com/vim/vim/commit/98b73eb645b68b6e197b63bbbae777b388d47612
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Jun 4 18:15:57 2024 +0200
runtime(netrw): prevent accidental data loss
fixes: https://github.com/vim/vim/issues/14915
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 04 Jun 2024 18:30:05 +0200 |
parents | 2e65c5ce6271 |
children | 2a0286c234b8 |
files | runtime/autoload/netrw.vim |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -13,6 +13,7 @@ " 2024 May 09 by Vim Project: remove hard-coded private.ppk " 2024 May 10 by Vim Project: recursively delete directories by default " 2024 May 13 by Vim Project: prefer scp over pscp +" 2024 Jun 04 by Vim Project: set bufhidden if buffer changed, nohidden is set and buffer shall be switched (#14915) " Former Maintainer: Charles E Campbell " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 2016 Charles E. Campbell {{{1 @@ -5724,6 +5725,9 @@ fun! s:NetrwEditFile(cmd,opt,fname) exe "NetrwKeepj keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname) else " call Decho("exe NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname)) + if a:cmd =~# 'e\%[new]!' && !&hidden && getbufvar(bufname('%'), '&modified', 0) + call setbufvar(bufname('%'), '&bufhidden', 'hide') + endif exe "NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname) endif " call Dret("s:NetrwEditFile")