patch 9.2.0553: runtime(netrw): netrw rejects hostnames containing _
Commit:
https://github.com/vim/vim/commit/93d177cd2b69bac58fc51a5a514d7bc71e264b11
Author: Christian Brabandt <
c...@256bit.org>
Date: Thu May 28 20:53:53 2026 +0000
patch 9.2.0553: runtime(netrw): netrw rejects hostnames containing _
Problem: runtime(netrw): netrw rejects hostnames containing _
(lilydjwg)
Solution: Relax the restriction and allow the underscore
fixes: #20344
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 89db6e3ca..f555d6631 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 May 17
+" Last Change: 2026 May 28
" 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
@@ -2581,8 +2581,8 @@ function s:NetrwValidateHostname(hostname)
" Username:
let user_pat = '\%([a-zA-Z0-9._-]\+@\)\?'
" Hostname: 1-64 chars, alphanumeric/dots/hyphens.
- " No underscores. No leading/trailing dots/hyphens.
- let host_pat = '[a-zA-Z0-9]\%([-a-zA-Z0-9.]\{0,62}[a-zA-Z0-9]\)\?'
+ " No leading/trailing dots/hyphens.
+ let host_pat = '[a-zA-Z0-9_]\%([-a-zA-Z0-9._]\{0,62}[a-zA-Z0-9_]\)\?'
" Port: 16 bit unsigned integer
let port_pat = '\%(:\d\{1,5\}\)\?$'
diff --git a/src/testdir/test_plugin_netrw.vim b/src/testdir/test_plugin_netrw.vim
index 76fa41092..22477c68a 100644
--- a/src/testdir/test_plugin_netrw.vim
+++ b/src/testdir/test_plugin_netrw.vim
@@ -610,6 +610,7 @@ endfunc
func Test_netrw_hostname()
let valid_hostnames = [
\ 'localhost',
+ \ '_gateway',
\ '127.0.0.1',
\ '::1',
\ '0:0:0:0:0:0:0:1',
diff --git a/src/version.c b/src/version.c
index 6b91843f9..b7f9b8ed3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 553,
/**/
552,
/**/