From: Bram Moolenaar Date: Sat, 17 Aug 2019 13:08:00 +0000 (+0200) Subject: patch 8.1.1870: using :pedit from a help file sets help filetype X-Git-Tag: v8.1.1870 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=026587b35c42301bcc2214207346b62ef2efed41;p=vim 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) --- diff --git a/src/ex_docmd.c b/src/ex_docmd.c index cea3936a5..941ad840b 100644 --- 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); diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim index 7af7d0722..9927e2757 100644 --- 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 diff --git a/src/version.c b/src/version.c index cb59ef034..8e2ac300c 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1870, /**/ 1869, /**/