changeset 17746:a4e488a6655c v8.1.1870

patch 8.1.1870: using :pedit from a help file sets help filetype commit https://github.com/vim/vim/commit/026587b35c42301bcc2214207346b62ef2efed41 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 17 15:08:00 2019 +0200 patch 8.1.1870: using :pedit from a help file sets help filetype Problem: Using :pedit from a help file sets the preview window to help filetype. (Wang Shidong) Solution: Do not set "keep_help_flag". (closes #3536)
author Bram Moolenaar <Bram@vim.org>
date Sat, 17 Aug 2019 15:15:03 +0200
parents de48c18b7d1b
children 9786645b20c0
files src/ex_docmd.c src/testdir/test_window_cmd.vim src/version.c
diffstat 3 files changed, 21 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8612,16 +8612,16 @@ ex_pedit(exarg_T *eap)
 {
     win_T	*curwin_save = curwin;
 
+    // Open the preview window or popup and make it the current window.
     g_do_tagpreview = p_pvh;
     prepare_tagpreview(TRUE);
 
-    keep_help_flag = bt_help(curwin_save->w_buffer);
+    // Edit the file.
     do_exedit(eap, NULL);
-    keep_help_flag = FALSE;
 
     if (curwin != curwin_save && win_valid(curwin_save))
     {
-	/* Return cursor to where we were */
+	// Return cursor to where we were
 	validate_cursor();
 	redraw_later(VALID);
 	win_enter(curwin_save, TRUE);
--- a/src/testdir/test_window_cmd.vim
+++ b/src/testdir/test_window_cmd.vim
@@ -190,6 +190,21 @@ func Test_window_preview()
   call assert_fails('wincmd P', 'E441:')
 endfunc
 
+func Test_window_preview_from_help()
+  filetype on
+  call writefile(['/* some C code */'], 'Xpreview.c')
+  help
+  pedit Xpreview.c
+  wincmd P
+  call assert_equal(1, &previewwindow)
+  call assert_equal('c', &filetype)
+  wincmd z
+
+  filetype off
+  close
+  call delete('Xpreview.c')
+endfunc
+
 func Test_window_exchange()
   e Xa
 
@@ -582,6 +597,7 @@ func Test_winrestcmd()
 endfunc
 
 func Fun_RenewFile()
+  " Need to wait a bit for the timestamp to be older.
   sleep 2
   silent execute '!echo "1" > tmp.txt'
   sp
@@ -599,7 +615,6 @@ func Test_window_prevwin()
   call writefile(['2'], 'tmp.txt')
   new tmp.txt
   q
-  " Need to wait a bit for the timestamp to be older.
   call Fun_RenewFile()
   call assert_equal(2, winnr())
   wincmd p
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1870,
+/**/
     1869,
 /**/
     1868,