summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/ftplugin/man.vim25
-rw-r--r--src/testdir/test_man.vim28
-rw-r--r--src/version.c2
3 files changed, 43 insertions, 12 deletions
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim
index 87773ed279..fb3f7f90a1 100644
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: man
" 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
" 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(".")
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.
if &filetype != "man"
let thiswin = winnr()
@@ -161,24 +164,22 @@ func <SID>GetPage(cmdmods, ...)
endif
if &filetype != "man"
if exists("g:ft_man_open_mode")
- if g:ft_man_open_mode == "vert"
- vnew
- elseif g:ft_man_open_mode == "tab"
- tabnew
+ if g:ft_man_open_mode == 'vert'
+ let open_cmd = 'vsplit'
+ elseif g:ft_man_open_mode == 'tab'
+ let open_cmd = 'tabedit'
else
- new
+ let open_cmd = 'split'
endif
else
- if a:cmdmods != ''
- exe a:cmdmods . ' new'
- else
- new
- endif
+ let open_cmd = a:cmdmods . ' split'
endif
setl nonu fdc=0
endif
endif
- silent exec "edit $HOME/".page.".".sect."~"
+
+ silent execute open_cmd . " $HOME/" . page . '.' . sect . '~'
+
" Avoid warning for editing the dummy file twice
setl buftype=nofile noswapfile
diff --git a/src/testdir/test_man.vim b/src/testdir/test_man.vim
index 1485ec3219..b1cb982a17 100644
--- a/src/testdir/test_man.vim
+++ b/src/testdir/test_man.vim
@@ -46,6 +46,8 @@ function Test_g_ft_man_open_mode()
call assert_equal(2, tabpagenr('$'))
call assert_equal(2, tabpagenr())
q
+
+ unlet g:ft_man_open_mode
endfunction
function Test_nomodifiable()
@@ -58,3 +60,29 @@ function Test_nomodifiable()
call assert_false(&l:modifiable)
q
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
diff --git a/src/version.c b/src/version.c
index cdff0d349b..e544975d18 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1733,
+/**/
1732,
/**/
1731,