forked from aniani/vim
patch 9.1.0216: Error on exit with EXITFREE and 'winfixbuf'
Problem: Error on exit with EXITFREE and 'winfixbuf'. Solution: Handle DT_FREE before checking for 'winfixbuf'. (zeertzjq) closes: #14314 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
5a2e3ec9ac
commit
620e85265c
22
src/tag.c
22
src/tag.c
@@ -289,17 +289,6 @@ do_tag(
|
||||
static char_u **matches = NULL;
|
||||
static int flags;
|
||||
|
||||
if (postponed_split == 0 && !check_can_set_curbuf_forceit(forceit))
|
||||
return FALSE;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (tfu_in_use)
|
||||
{
|
||||
emsg(_(e_cannot_modify_tag_stack_within_tagfunc));
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef EXITFREE
|
||||
if (type == DT_FREE)
|
||||
{
|
||||
@@ -313,6 +302,17 @@ do_tag(
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (tfu_in_use)
|
||||
{
|
||||
emsg(_(e_cannot_modify_tag_stack_within_tagfunc));
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (postponed_split == 0 && !check_can_set_curbuf_forceit(forceit))
|
||||
return FALSE;
|
||||
|
||||
if (type == DT_HELP)
|
||||
{
|
||||
type = DT_TAG;
|
||||
|
@@ -1,6 +1,7 @@
|
||||
" Test 'winfixbuf'
|
||||
|
||||
source check.vim
|
||||
source shared.vim
|
||||
|
||||
" Find the number of open windows in the current tab
|
||||
func s:get_windows_count()
|
||||
@@ -3427,4 +3428,15 @@ func Test_bufdo_cnext_splitwin_fails()
|
||||
set winminheight&vim winheight&vim
|
||||
endfunc
|
||||
|
||||
" Test that exiting with 'winfixbuf' and EXITFREE doesn't cause an error.
|
||||
func Test_exitfree_no_error()
|
||||
let lines =<< trim END
|
||||
set winfixbuf
|
||||
qall!
|
||||
END
|
||||
call writefile(lines, 'Xwfb_exitfree', 'D')
|
||||
call assert_notmatch('E1513:',
|
||||
\ system(GetVimCommandClean() .. ' -X -S Xwfb_exitfree'))
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
216,
|
||||
/**/
|
||||
215,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user