diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-07-28 15:28:45 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-07-28 15:28:45 +0200 |
commit | bca9c301936c9ba4ee67528f81393debf83844b9 (patch) | |
tree | 3c6be342bfa4aabe95f7fd88f920de8b996a618c | |
parent | f96ae0b5a2e9e097c38cec04ec35364565d42271 (diff) | |
download | vim-git-bca9c301936c9ba4ee67528f81393debf83844b9.tar.gz |
patch 8.1.1768: man plugin changes setting in current windowv8.1.1768
Problem: Man plugin changes setting in current window.
Solution: Set options later. (Jason Franklin)
-rw-r--r-- | runtime/ftplugin/man.vim | 3 | ||||
-rw-r--r-- | src/testdir/test_man.vim | 37 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 34 insertions, 8 deletions
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim index fb3f7f90a..4591c478d 100644 --- a/runtime/ftplugin/man.vim +++ b/runtime/ftplugin/man.vim @@ -174,7 +174,6 @@ func <SID>GetPage(cmdmods, ...) else let open_cmd = a:cmdmods . ' split' endif - setl nonu fdc=0 endif endif @@ -183,7 +182,7 @@ func <SID>GetPage(cmdmods, ...) " Avoid warning for editing the dummy file twice setl buftype=nofile noswapfile - setl ma nonu nornu nofen + setl fdc=0 ma nofen nonu nornu silent exec "norm! 1GdG" let unsetwidth = 0 if empty($MANWIDTH) diff --git a/src/testdir/test_man.vim b/src/testdir/test_man.vim index b1cb982a1..9de8cb474 100644 --- a/src/testdir/test_man.vim +++ b/src/testdir/test_man.vim @@ -1,6 +1,6 @@ runtime ftplugin/man.vim -function Test_g_ft_man_open_mode() +func Test_g_ft_man_open_mode() vnew let l:h = winheight(1) q @@ -48,9 +48,9 @@ function Test_g_ft_man_open_mode() q unlet g:ft_man_open_mode -endfunction +endfunc -function Test_nomodifiable() +func Test_nomodifiable() let wincnt = winnr('$') Man vim if wincnt == winnr('$') @@ -59,9 +59,9 @@ function Test_nomodifiable() endif call assert_false(&l:modifiable) q -endfunction +endfunc -function Test_buffer_count_hidden() +func Test_buffer_count_hidden() %bw! set hidden @@ -85,4 +85,29 @@ function Test_buffer_count_hidden() q set hidden& -endfunction +endfunc + +" Check that we do not alter the settings in the initial window. +func Test_local_options() + %bw! + set foldcolumn=1 number + + let wincnt = winnr('$') + Man vim + if wincnt == winnr('$') + " Vim manual page cannot be found. + return + endif + + " man page + call assert_false(&nu) + call assert_equal(0, &fdc) + + " initial window + wincmd p + call assert_true(&nu) + call assert_equal(1, &fdc) + + %bw! + set foldcolumn& number& +endfunc diff --git a/src/version.c b/src/version.c index 496a2eea9..166b17c96 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 */ /**/ + 1768, +/**/ 1767, /**/ 1766, |