runtime(netrw): only check first arg of netrw_browsex_viewer for being executable

fixes: #16185

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 9650f6d..b90a8d6 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -39,6 +39,7 @@
 "   2024 Nov 23 by Vim Project: update decompress defaults (#16104)
 "   2024 Nov 23 by Vim Project: fix powershell escaping issues (#16094)
 "   2024 Dec 04 by Vim Project: do not detach for gvim (#16168)
+"   2024 Dec 08 by Vim Project: check the first arg of netrw_browsex_viewer for being executable (#16185)
 "   }}}
 " Former Maintainer:	Charles E Campbell
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
@@ -5076,7 +5077,9 @@
 endif
 
 fun! s:viewer()
-  if exists('g:netrw_browsex_viewer') && executable(g:netrw_browsex_viewer)
+  " g:netrw_browsex_viewer could be a string of program + its arguments,
+  " test if first argument is executable
+  if exists('g:netrw_browsex_viewer') && executable(split(g:netrw_browsex_viewer)[0])
     " extract any viewing options.  Assumes that they're set apart by spaces.
     "   call Decho("extract any viewing options from g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
     if g:netrw_browsex_viewer =~ '\s'