neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit cad62f5ec6f9cd94590cfe9ebd1310246d9adb46
parent 68c957751975f3443982cb228eadcbac5cd40ef5
Author: Jaehwang Jung <tomtomjhj@gmail.com>
Date:   Sat, 13 Sep 2025 01:54:35 +0900

vim-patch:0bda783: runtime(netrw): upstream snapshot v184

This change includes the following upstream commits:

- fix: remove black lines in directory listing
- fix: correctly create new file when using Lexplore
- refactor: remove print functionality

The main highlight is removing print functionality that was broken both
in neovim and vim.

closes: vim/vim#17847

https://github.com/vim/vim/commit/0bda7830ac140d2a347fe81edc95314b020b7ca6

Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>

Diffstat:
Mruntime/pack/dist/opt/netrw/autoload/netrw.vim | 73++++++++++---------------------------------------------------------------
Mruntime/pack/dist/opt/netrw/plugin/netrwPlugin.vim | 2+-
2 files changed, 11 insertions(+), 64 deletions(-)

diff --git a/runtime/pack/dist/opt/netrw/autoload/netrw.vim b/runtime/pack/dist/opt/netrw/autoload/netrw.vim @@ -19,7 +19,7 @@ if &cp || exists("g:loaded_netrw") finish endif -let g:loaded_netrw = "v181" +let g:loaded_netrw = "v184" if !has("patch-9.1.1054") && !has('nvim') echoerr 'netrw needs Vim v9.1.1054' @@ -4865,7 +4865,6 @@ function s:NetrwMaps(islocal) nnoremap <buffer> <silent> <nowait> mg :<c-u>call <SID>NetrwMarkFileGrep(1)<cr> nnoremap <buffer> <silent> <nowait> mh :<c-u>call <SID>NetrwMarkHideSfx(1)<cr> nnoremap <buffer> <silent> <nowait> mm :<c-u>call <SID>NetrwMarkFileMove(1)<cr> - " nnoremap <buffer> <silent> <nowait> mp :<c-u>call <SID>NetrwMarkFilePrint(1)<cr> nnoremap <buffer> <silent> <nowait> mr :<c-u>call <SID>NetrwMarkFileRegexp(1)<cr> nnoremap <buffer> <silent> <nowait> ms :<c-u>call <SID>NetrwMarkFileSource(1)<cr> nnoremap <buffer> <silent> <nowait> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr> @@ -4977,7 +4976,6 @@ function s:NetrwMaps(islocal) nnoremap <buffer> <silent> <nowait> mg :<c-u>call <SID>NetrwMarkFileGrep(0)<cr> nnoremap <buffer> <silent> <nowait> mh :<c-u>call <SID>NetrwMarkHideSfx(0)<cr> nnoremap <buffer> <silent> <nowait> mm :<c-u>call <SID>NetrwMarkFileMove(0)<cr> - " nnoremap <buffer> <silent> <nowait> mp :<c-u>call <SID>NetrwMarkFilePrint(0)<cr> nnoremap <buffer> <silent> <nowait> mr :<c-u>call <SID>NetrwMarkFileRegexp(0)<cr> nnoremap <buffer> <silent> <nowait> ms :<c-u>call <SID>NetrwMarkFileSource(0)<cr> nnoremap <buffer> <silent> <nowait> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr> @@ -5936,39 +5934,6 @@ function s:NetrwMarkFileMove(islocal) endfunction -" s:NetrwMarkFilePrint: (invoked by mp) This function prints marked files {{{2 -" using the hardcopy command. Local marked-file list only. -function s:NetrwMarkFilePrint(islocal) - let curbufnr= bufnr("%") - - " sanity check - if !exists("s:netrwmarkfilelist_{curbufnr}") || empty(s:netrwmarkfilelist_{curbufnr}) - call netrw#msg#Notify('ERROR', 'there are no marked files in this window (:help netrw-mf)') - return - endif - let curdir= s:NetrwGetCurdir(a:islocal) - - if exists("s:netrwmarkfilelist_{curbufnr}") - let netrwmarkfilelist = s:netrwmarkfilelist_{curbufnr} - call s:NetrwUnmarkList(curbufnr,curdir) - for fname in netrwmarkfilelist - if a:islocal - if g:netrw_keepdir - let fname= netrw#fs#ComposePath(curdir,fname) - endif - else - let fname= curdir.fname - endif - 1split - " the autocmds will handle both local and remote files - exe "sil NetrwKeepj e ".fnameescape(fname) - hardcopy - q - endfor - 2match none - endif -endfunction - " s:NetrwMarkFileRegexp: (invoked by mr) This function is used to mark {{{2 " files when given a regexp (for which a prompt is " issued) (matches to name of files). @@ -6199,37 +6164,20 @@ endfunction " s:NetrwOpenFile: query user for a filename and open it {{{2 function s:NetrwOpenFile(islocal) - let ykeep= @@ call inputsave() - let fname= input("Enter filename: ") + let fname = input("Enter filename: ") call inputrestore() - " determine if Lexplore is in use - if exists("t:netrw_lexbufnr") - " check if t:netrw_lexbufnr refers to a netrw window - let lexwinnr = bufwinnr(t:netrw_lexbufnr) - if lexwinnr != -1 && exists("g:netrw_chgwin") && g:netrw_chgwin != -1 - exe "NetrwKeepj keepalt ".g:netrw_chgwin."wincmd w" - exe "NetrwKeepj e ".fnameescape(fname) - let @@= ykeep - endif + if empty(fname) + return endif - " Does the filename contain a path? - if fname !~ '[/\\]' - if exists("b:netrw_curdir") - " save position for benefit of Rexplore - let s:rexposn_{bufnr("%")}= winsaveview() - if b:netrw_curdir =~ '/$' - exe "NetrwKeepj e ".fnameescape(b:netrw_curdir.fname) - else - exe "e ".fnameescape(b:netrw_curdir."/".fname) - endif - endif - else - exe "NetrwKeepj e ".fnameescape(fname) - endif - let @@= ykeep + " save position for benefit of Rexplore + let s:rexposn_{bufnr("%")}= winsaveview() + + execute "NetrwKeepj e " . fnameescape(!isabsolutepath(fname) + \ ? netrw#fs#ComposePath(b:netrw_curdir, fname) + \ : fname) endfunction " netrw#Shrink: shrinks/expands a netrw or Lexplorer window {{{2 @@ -6429,7 +6377,6 @@ function s:NetrwMenu(domenu) exe 'sil! menu '.g:NetrwMenuPriority.'.14.8 '.g:NetrwTopLvlMenu.'Marked\ Files.Exe\ Cmd<tab>mx mx' exe 'sil! menu '.g:NetrwMenuPriority.'.14.9 '.g:NetrwTopLvlMenu.'Marked\ Files.Move\ To\ Target<tab>mm mm' exe 'sil! menu '.g:NetrwMenuPriority.'.14.10 '.g:NetrwTopLvlMenu.'Marked\ Files.Obtain<tab>O O' - exe 'sil! menu '.g:NetrwMenuPriority.'.14.11 '.g:NetrwTopLvlMenu.'Marked\ Files.Print<tab>mp mp' exe 'sil! menu '.g:NetrwMenuPriority.'.14.12 '.g:NetrwTopLvlMenu.'Marked\ Files.Replace<tab>R R' exe 'sil! menu '.g:NetrwMenuPriority.'.14.13 '.g:NetrwTopLvlMenu.'Marked\ Files.Set\ Target<tab>mt mt' exe 'sil! menu '.g:NetrwMenuPriority.'.14.14 '.g:NetrwTopLvlMenu.'Marked\ Files.Tag<tab>mT mT' diff --git a/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim b/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim @@ -15,7 +15,7 @@ if &cp || exists("g:loaded_netrwPlugin") finish endif -let g:loaded_netrwPlugin = "v181" +let g:loaded_netrwPlugin = "v184" let s:keepcpo = &cpo set cpo&vim