runtime(netrw): fix s:NetrwHome() regression

Commit: 
https://github.com/vim/vim/commit/ee1a24b21d10903ee4369d1df514af9eb4c400a6
Author: Luca Saccarola <github.e4...@aleeas.com>
Date:   Tue Feb 18 20:11:51 2025 +0100

    runtime(netrw): fix s:NetrwHome() regression
    
    If $MYVIMDIR is unset netrw creates a directory called '$MYVIMDIR' in
    the current directory
    
    fixes: #16609
    
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/pack/dist/opt/netrw/autoload/netrw.vim 
b/runtime/pack/dist/opt/netrw/autoload/netrw.vim
index 215ab618f..71310028f 100644
--- a/runtime/pack/dist/opt/netrw/autoload/netrw.vim
+++ b/runtime/pack/dist/opt/netrw/autoload/netrw.vim
@@ -5297,30 +5297,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
 
 " ---------------------------------------------------------------------

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tkT3l-00Gehg-8j%40256bit.org.

Raspunde prin e-mail lui