2929" 2024 Oct 21 by Vim Project: remove netrwFileHandlers (#15895)
3030" 2024 Oct 27 by Vim Project: clean up gx mapping (#15721)
3131" 2024 Oct 30 by Vim Project: fix filetype detection for remote files (#15961)
32+ " 2024 Oct 30 by Vim Project: fix x mapping on cygwin (#13687)
3233" }}}
3334" Former Maintainer: Charles E Campbell
3435" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
@@ -5270,27 +5271,13 @@ endfun
52705271" given filename; typically this means given their extension.
52715272" 0=local, 1=remote
52725273fun! netrw#BrowseX(fname,remote)
5273- let use_ctrlo= 1
5274- " call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.") implements x and gx maps")
5275-
52765274 if a:remote == 0 && isdirectory(a:fname)
52775275 " if its really just a local directory, then do a "gf" instead
5278- " call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("<slnum>"))
5279- " call Decho("..appears to be a local directory; using e ".a:fname." instead",'~'.expand("<slnum>"))
52805276 exe "e ".a:fname
5281- " call Dret("netrw#BrowseX")
5282- return
52835277 elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
52845278 " remote directory, not a webpage access, looks like an attempt to do a directory listing
5285- " call Decho("remote≡1 and a:fname<".a:fname.">",'~'.expand("<slnum>"))
5286- " call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("<slnum>"))
5287- " call Decho("..and fname ".((a:fname =~ '/$')? 'matches' : 'does not match').' /$','~'.expand("<slnum>"))
5288- " call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("<slnum>"))
52895279 norm! gf
5290- " call Dret("netrw#BrowseX")
5291- return
52925280 endif
5293- " call Decho("not a local file nor a webpage request",'~'.expand("<slnum>"))
52945281
52955282 if exists("g:netrw_browsex_viewer") && exists("g:netrw_browsex_support_remote") && !g:netrw_browsex_support_remote
52965283 let remote = a:remote
@@ -5300,7 +5287,6 @@ fun! netrw#BrowseX(fname,remote)
53005287
53015288 let ykeep = @@
53025289 let screenposn = winsaveview()
5303- " call Decho("saving posn to screenposn<".string(screenposn).">",'~'.expand("<slnum>"))
53045290
53055291 " need to save and restore aw setting as gx can invoke this function from non-netrw buffers
53065292 let awkeep = &aw
@@ -5311,22 +5297,18 @@ fun! netrw#BrowseX(fname,remote)
53115297 if exists("g:Netrw_corehandler")
53125298 if type(g:Netrw_corehandler) == 2
53135299 " g:Netrw_corehandler is a function reference (see :help Funcref)
5314- " call Decho("g:Netrw_corehandler is a funcref",'~'.expand("<slnum>"))
53155300 call g:Netrw_corehandler(s:NetrwFile(a:fname))
53165301 elseif type(g:Netrw_corehandler) == 3
53175302 " g:Netrw_corehandler is a List of function references (see :help Funcref)
5318- " call Decho("g:Netrw_corehandler is a List",'~'.expand("<slnum>"))
53195303 for Fncref in g:Netrw_corehandler
53205304 if type(Fncref) == 2
53215305 call Fncref(a:fname)
53225306 endif
53235307 endfor
53245308 endif
5325- " call Decho("restoring posn: screenposn<".string(screenposn).">,'~'.expand("<slnum>"))"
53265309 call winrestview(screenposn)
53275310 let @@= ykeep
53285311 let &aw= awkeep
5329- " call Dret("netrw#BrowseX : coredump handler invoked")
53305312 return
53315313 endif
53325314 endif
@@ -5340,46 +5322,35 @@ fun! netrw#BrowseX(fname,remote)
53405322 if exten =~ "[\\/]"
53415323 let exten= ""
53425324 endif
5343- " call Decho("exten<".exten.">",'~'.expand("<slnum>"))
53445325
53455326 if remote == 1
53465327 " create a local copy
5347- " call Decho("remote: remote=".remote.": create a local copy of <".a:fname.">",'~'.expand("<slnum>"))
53485328 setl bh=delete
53495329 call netrw#NetRead(3,a:fname)
53505330 " attempt to rename tempfile
53515331 let basename= substitute(a:fname,'^\(.*\)/\(.*\)\.\([^.]*\)$','\2','')
53525332 let newname = substitute(s:netrw_tmpfile,'^\(.*\)/\(.*\)\.\([^.]*\)$','\1/'.basename.'.\3','')
5353- " call Decho("basename<".basename.">",'~'.expand("<slnum>"))
5354- " call Decho("newname <".newname.">",'~'.expand("<slnum>"))
53555333 if s:netrw_tmpfile != newname && newname != ""
53565334 if rename(s:netrw_tmpfile,newname) == 0
53575335 " renaming succeeded
5358- " call Decho("renaming succeeded (tmpfile<".s:netrw_tmpfile."> to <".newname.">)")
53595336 let fname= newname
53605337 else
53615338 " renaming failed
5362- " call Decho("renaming failed (tmpfile<".s:netrw_tmpfile."> to <".newname.">)")
53635339 let fname= s:netrw_tmpfile
53645340 endif
53655341 else
53665342 let fname= s:netrw_tmpfile
53675343 endif
53685344 else
5369- " call Decho("local: remote=".remote.": handling local copy of <".a:fname.">",'~'.expand("<slnum>"))
53705345 let fname= a:fname
53715346 " special ~ handler for local
53725347 if fname =~ '^\~' && expand("$HOME") != ""
5373- " call Decho('invoking special ~ handler','~'.expand("<slnum>"))
53745348 let fname= s:NetrwFile(substitute(fname,'^\~',expand("$HOME"),''))
53755349 endif
53765350 endif
5377- " call Decho("fname<".fname.">",'~'.expand("<slnum>"))
5378- " call Decho("exten<".exten."> "."netrwFileHandlers#NFH_".exten."():exists=".exists("*netrwFileHandlers#NFH_".exten),'~'.expand("<slnum>"))
53795351
53805352 " extract any viewing options. Assumes that they're set apart by spaces.
53815353 if exists("g:netrw_browsex_viewer")
5382- " call Decho("extract any viewing options from g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
53835354 if g:netrw_browsex_viewer =~ '\s'
53845355 let viewer = substitute(g:netrw_browsex_viewer,'\s.*$','','')
53855356 let viewopt = substitute(g:netrw_browsex_viewer,'^\S\+\s*','','')." "
@@ -5390,17 +5361,14 @@ fun! netrw#BrowseX(fname,remote)
53905361 let viewopt = substitute(g:netrw_browsex_viewer,'^\(\(^\S\+\s\+\)\{'.cnt.'}\S\+\)\(.*\)$','\3','')." "
53915362 let cnt = cnt + 1
53925363 let oviewer = viewer
5393- " call Decho("!exe: viewer<".viewer."> viewopt<".viewopt.">",'~'.expand("<slnum>"))
53945364 endwhile
53955365 else
53965366 let viewer = g:netrw_browsex_viewer
53975367 let viewopt = ""
53985368 endif
5399- " call Decho("viewer<".viewer."> viewopt<".viewopt.">",'~'.expand("<slnum>"))
54005369 endif
54015370
54025371 if exists("g:netrw_browsex_viewer") && executable(viewer)
5403- " call Decho("(netrw#BrowseX) g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
54045372 exe 'Launch' viewer viewopt shellescape(fname, 1)
54055373 else
54065374 " though shellescape(..., 1) is used in Open, it's insufficient
@@ -5413,7 +5381,6 @@ fun! netrw#BrowseX(fname,remote)
54135381 " Feb 12, 2008: had to de-activate removal of
54145382 " temporary file because it wasn't getting seen.
54155383" if remote == 1 && fname != a:fname
5416- "" call Decho("deleting temporary file<".fname.">",'~'.expand("<slnum>"))
54175384" call s:NetrwDelete(fname)
54185385" endif
54195386
@@ -5422,16 +5389,11 @@ fun! netrw#BrowseX(fname,remote)
54225389 if g:netrw_use_noswf
54235390 setl noswf
54245391 endif
5425- if use_ctrlo
5426- exe "sil! NetrwKeepj norm! \<c-o>"
5427- endif
5392+ exe "sil! NetrwKeepj norm! \<c-o>"
54285393 endif
5429- " call Decho("restoring posn to screenposn<".string(screenposn).">",'~'.expand("<slnum>"))
54305394 call winrestview(screenposn)
54315395 let @@ = ykeep
54325396 let &aw= awkeep
5433-
5434- " call Dret("netrw#BrowseX")
54355397endfun
54365398
54375399" ---------------------------------------------------------------------
0 commit comments