From: K.Takata Date: Fri, 12 Jan 2024 16:30:01 +0000 (+0900) Subject: runtime(netrw): Decode multibyte percent-encoding filename correctly (#13842) X-Git-Tag: v9.1.0018~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2357765304e4c55935b5cc853ffb98ae82d64a01;p=thirdparty%2Fvim.git runtime(netrw): Decode multibyte percent-encoding filename correctly (#13842) Use `printf("%c")` instead of `nr2char()` to handle '%xx' as a byte. Close #13787 Signed-off-by: Ken Takata Signed-off-by: Christian Brabandt --- diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index 3af7ba0f1d..bcb1f24751 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -11587,7 +11587,7 @@ endfun " netrw#RFC2396: converts %xx into characters {{{2 fun! netrw#RFC2396(fname) " call Dfunc("netrw#RFC2396(fname<".a:fname.">)") - let fname = escape(substitute(a:fname,'%\(\x\x\)','\=nr2char("0x".submatch(1))','ge')," \t") + let fname = escape(substitute(a:fname,'%\(\x\x\)','\=printf("%c","0x".submatch(1))','ge')," \t") " call Dret("netrw#RFC2396 ".fname) return fname endfun