changeset 17541:d9aa921b7198 v8.1.1768

patch 8.1.1768: man plugin changes setting in current window commit https://github.com/vim/vim/commit/bca9c301936c9ba4ee67528f81393debf83844b9 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 28 15:28:45 2019 +0200 patch 8.1.1768: man plugin changes setting in current window Problem: Man plugin changes setting in current window. Solution: Set options later. (Jason Franklin)
author Bram Moolenaar <Bram@vim.org>
date Sun, 28 Jul 2019 15:30:05 +0200
parents 63ae37bd4cfd
children 8ff04f492f46
files runtime/ftplugin/man.vim src/testdir/test_man.vim src/version.c
diffstat 3 files changed, 34 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- 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
--- 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,