forked from aniani/vim
patch 9.0.0389: crash when 'tagfunc' closes the window
Problem: Crash when 'tagfunc' closes the window. Solution: Bail out when the window was closed.
This commit is contained in:
10
src/tag.c
10
src/tag.c
@@ -690,6 +690,16 @@ do_tag(
|
||||
max_num_matches = MAXCOL; // If less than max_num_matches
|
||||
// found: all matches found.
|
||||
|
||||
// A tag function may do anything, which may cause various
|
||||
// information to become invalid. At least check for the tagstack
|
||||
// to still be the same.
|
||||
if (tagstack != curwin->w_tagstack)
|
||||
{
|
||||
emsg(_(e_window_unexpectedly_close_while_searching_for_tags));
|
||||
FreeWild(new_num_matches, new_matches);
|
||||
break;
|
||||
}
|
||||
|
||||
// If there already were some matches for the same name, move them
|
||||
// to the start. Avoids that the order changes when using
|
||||
// ":tnext" and jumping to another file.
|
||||
|
Reference in New Issue
Block a user