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 vim/vim#3536)
026587b35c
This commit is contained in:
Jan Edmund Lazo
2019-08-17 18:05:18 -04:00
parent e2ccf47b5e
commit 0a1807ea25
2 changed files with 21 additions and 4 deletions

View File

@@ -8432,13 +8432,15 @@ static void 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);

View File

@@ -144,6 +144,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
@@ -519,6 +534,7 @@ func Test_winrestcmd()
endfunc
function! Fun_RenewFile()
" Need to wait a bit for the timestamp to be older.
sleep 2
silent execute '!echo "1" > tmp.txt'
sp
@@ -536,7 +552,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