Commit: patch 9.2.0761: runtime(netrw): Unix: unable to open '\' file

0 views
Skip to first unread message

Christian Brabandt

unread,
4:00 PM (5 hours ago) 4:00 PM
to vim...@googlegroups.com
patch 9.2.0761: runtime(netrw): Unix: unable to open '' file

Commit: https://github.com/vim/vim/commit/86d8af37ba90ced2236afcb3572c6cb2a1594788
Author: Manoj Panda <manojpa...@gmail.com>
Date: Wed Jul 1 19:46:47 2026 +0000

patch 9.2.0761: runtime(netrw): Unix: unable to open '\' file

Problem: runtime(netrw): Unix: unable to open '\' file
Solution: Adjust directory pattern (Manoj Panda)

closes: #20685

Signed-off-by: Manoj Panda <manojpa...@gmail.com>
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 1535644d2..4dc60eefa 100644
--- a/runtime/pack/dist/opt/netrw/autoload/netrw.vim
+++ b/runtime/pack/dist/opt/netrw/autoload/netrw.vim
@@ -1,7 +1,7 @@
" Creator: Charles E Campbell
" Previous Maintainer: Luca Saccarola <github...@aleeas.com>
" Maintainer: This runtime file is looking for a new maintainer.
-" Last Change: 2026 Jun 28
+" Last Change: 2026 Jul 01
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -3862,7 +3862,7 @@ function s:NetrwBrowseChgDir(islocal, newdir, cursor, ...)
endif

" set up o/s-dependent directory recognition pattern
- let dirpat = has("amiga") ? '[\/:]$' : '[\/]$'
+ let dirpat = has("amiga") || has('win32') ? '[\/:]$' : '/$'

if newdir !~ dirpat && !(a:islocal && isdirectory(s:NetrwFile(netrw#fs#ComposePath(dirname, newdir))))
" ------------------------------
diff --git a/src/testdir/test_plugin_netrw.vim b/src/testdir/test_plugin_netrw.vim
index ea3f33cec..896e83ec4 100644
--- a/src/testdir/test_plugin_netrw.vim
+++ b/src/testdir/test_plugin_netrw.vim
@@ -878,4 +878,27 @@ func Test_netrw_forward_slashes()
bw!
endfunc

+" Selecting a file whose name is a single backslash
+func Test_netrw_open_backslash_file()
+ CheckUnix
+
+ let dir = getcwd() . '/Xbslash'
+ let fname = dir . '/\'
+ call mkdir(dir, 'p')
+ call writefile(['backslash file content'], fname)
+ call assert_true(filereadable(fname))
+
+ " list the directory and move onto the '\' entry
+ exe 'Explore ' .. dir
+ call assert_true(search('^\$', 'w') > 0)
+
+ " open it
+ exe "normal \<CR>"
+
+ call assert_equal('\', expand('%:t'))
+ call assert_equal(['backslash file content'], getline(1, '$'))
+
+ bw!
+endfunc
+
" vim:ts=8 sts=2 sw=2 et
diff --git a/src/version.c b/src/version.c
index 724eda425..7546d0319 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 761,
/**/
760,
/**/
Reply all
Reply to author
Forward
0 new messages