mirror of https://github.com/vim/vim.git
patch 8.1.1733: the man ftplugin leaves an empty buffer behind
Problem: The man ftplugin leaves an empty buffer behind. Solution: Don't make new window and edit, use split. (Jason Franklin)
This commit is contained in:
parent
f03e328348
commit
e5e6950193
|
@ -1,7 +1,8 @@
|
||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: man
|
" Language: man
|
||||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||||
" Last Change: 2019 Jan 22
|
" Last Change: 2019 Jul 22
|
||||||
|
" (fix by Jason Franklin)
|
||||||
|
|
||||||
" To make the ":Man" command available before editing a manual page, source
|
" To make the ":Man" command available before editing a manual page, source
|
||||||
" this script from your startup vimrc file.
|
" this script from your startup vimrc file.
|
||||||
|
@ -143,6 +144,8 @@ func <SID>GetPage(cmdmods, ...)
|
||||||
exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".")
|
exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".")
|
||||||
let s:man_tag_depth = s:man_tag_depth + 1
|
let s:man_tag_depth = s:man_tag_depth + 1
|
||||||
|
|
||||||
|
let open_cmd = 'edit'
|
||||||
|
|
||||||
" Use an existing "man" window if it exists, otherwise open a new one.
|
" Use an existing "man" window if it exists, otherwise open a new one.
|
||||||
if &filetype != "man"
|
if &filetype != "man"
|
||||||
let thiswin = winnr()
|
let thiswin = winnr()
|
||||||
|
@ -161,24 +164,22 @@ func <SID>GetPage(cmdmods, ...)
|
||||||
endif
|
endif
|
||||||
if &filetype != "man"
|
if &filetype != "man"
|
||||||
if exists("g:ft_man_open_mode")
|
if exists("g:ft_man_open_mode")
|
||||||
if g:ft_man_open_mode == "vert"
|
if g:ft_man_open_mode == 'vert'
|
||||||
vnew
|
let open_cmd = 'vsplit'
|
||||||
elseif g:ft_man_open_mode == "tab"
|
elseif g:ft_man_open_mode == 'tab'
|
||||||
tabnew
|
let open_cmd = 'tabedit'
|
||||||
else
|
else
|
||||||
new
|
let open_cmd = 'split'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if a:cmdmods != ''
|
let open_cmd = a:cmdmods . ' split'
|
||||||
exe a:cmdmods . ' new'
|
|
||||||
else
|
|
||||||
new
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
setl nonu fdc=0
|
setl nonu fdc=0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
silent exec "edit $HOME/".page.".".sect."~"
|
|
||||||
|
silent execute open_cmd . " $HOME/" . page . '.' . sect . '~'
|
||||||
|
|
||||||
" Avoid warning for editing the dummy file twice
|
" Avoid warning for editing the dummy file twice
|
||||||
setl buftype=nofile noswapfile
|
setl buftype=nofile noswapfile
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,8 @@ function Test_g_ft_man_open_mode()
|
||||||
call assert_equal(2, tabpagenr('$'))
|
call assert_equal(2, tabpagenr('$'))
|
||||||
call assert_equal(2, tabpagenr())
|
call assert_equal(2, tabpagenr())
|
||||||
q
|
q
|
||||||
|
|
||||||
|
unlet g:ft_man_open_mode
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function Test_nomodifiable()
|
function Test_nomodifiable()
|
||||||
|
@ -58,3 +60,29 @@ function Test_nomodifiable()
|
||||||
call assert_false(&l:modifiable)
|
call assert_false(&l:modifiable)
|
||||||
q
|
q
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function Test_buffer_count_hidden()
|
||||||
|
%bw!
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
call assert_equal(1, len(getbufinfo()))
|
||||||
|
|
||||||
|
let wincnt = winnr('$')
|
||||||
|
Man vim
|
||||||
|
if wincnt == winnr('$')
|
||||||
|
" Vim manual page cannot be found.
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
call assert_equal(1, len(getbufinfo({'buflisted':1})))
|
||||||
|
call assert_equal(2, len(getbufinfo()))
|
||||||
|
q
|
||||||
|
|
||||||
|
Man vim
|
||||||
|
|
||||||
|
call assert_equal(1, len(getbufinfo({'buflisted':1})))
|
||||||
|
call assert_equal(2, len(getbufinfo()))
|
||||||
|
q
|
||||||
|
|
||||||
|
set hidden&
|
||||||
|
endfunction
|
||||||
|
|
|
@ -777,6 +777,8 @@ static char *(features[]) =
|
||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1733,
|
||||||
/**/
|
/**/
|
||||||
1732,
|
1732,
|
||||||
/**/
|
/**/
|
||||||
|
|
Loading…
Reference in New Issue