neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 66c81010fd3469378305e1a702c8d9251c7c4300
parent dcb5e7c88f7dc8c02cf6e55208a0cc709fe9960d
Author: Jaehwang Jung <tomtomjhj@gmail.com>
Date:   Sat, 13 Sep 2025 01:08:05 +0900

vim-patch:ee1a24b: runtime(netrw): fix s:NetrwHome() regression

If $MYVIMDIR is unset netrw creates a directory called '$MYVIMDIR' in
the current directory

fixes: vim/vim#16609

https://github.com/vim/vim/commit/ee1a24b21d10903ee4369d1df514af9eb4c400a6

Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>

Diffstat:
Mruntime/pack/dist/opt/netrw/autoload/netrw.vim | 42++++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/runtime/pack/dist/opt/netrw/autoload/netrw.vim b/runtime/pack/dist/opt/netrw/autoload/netrw.vim @@ -5296,30 +5296,32 @@ endfun " --------------------------------------------------------------------- " s:NetrwHome: this function determines a "home" for saving bookmarks and history {{{2 function! s:NetrwHome() - if has('nvim') - let home = netrw#own#PathJoin(stdpath('state'), 'netrw') - elseif exists("g:netrw_home") - let home = expand(g:netrw_home) - else - let home = expand("$MYVIMDIR")->substitute("/$", "", "") - endif - - " insure that the home directory exists - if g:netrw_dirhistmax > 0 && !isdirectory(s:NetrwFile(home)) - if exists("g:netrw_mkdir") - call system(g:netrw_mkdir." ".s:ShellEscape(s:NetrwFile(home))) + if has('nvim') + let home = netrw#own#PathJoin(stdpath('state'), 'netrw') + elseif exists('g:netrw_home') + let home = expand(g:netrw_home) + elseif exists('$MYVIMDIR') + let home = expand('$MYVIMDIR')->substitute('/$', '', '') else - call mkdir(home) + let home = netrw#own#PathJoin(expand('~'), '.vim') endif - endif - " Normalize directory if on Windows - if has("win32") - let home = substitute(home, '/', '\\', 'g') - endif + " insure that the home directory exists + if g:netrw_dirhistmax > 0 && !isdirectory(s:NetrwFile(home)) + if exists("g:netrw_mkdir") + call system(g:netrw_mkdir." ".s:ShellEscape(s:NetrwFile(home))) + else + call mkdir(home) + endif + endif + + " Normalize directory if on Windows + if has("win32") + let home = substitute(home, '/', '\\', 'g') + endif - let g:netrw_home = home - return home + let g:netrw_home = home + return home endfunction " ---------------------------------------------------------------------