diff options
Diffstat (limited to 'src/tag.c')
-rw-r--r-- | src/tag.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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. |