diff options
author | Bram Moolenaar <bram@vim.org> | 2013-11-28 14:36:33 +0100 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2013-11-28 14:36:33 +0100 |
commit | f7bd79dc255a2a62f2e491c5d8ab2911c5629abc (patch) | |
tree | 4bc0e53bff461fc0e725bce72e1a62b787dd8346 | |
parent | 281c26e8cf56e05ea07b7942e3736a32247d5f52 (diff) | |
download | vim-f7bd79dc255a2a62f2e491c5d8ab2911c5629abc.tar.gz |
Problem: Completing a tag pattern may give an error for invalid pattern.
Solution: Suppress the error, just return no matches.
-rw-r--r-- | src/tag.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -1326,6 +1326,7 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname) int match_no_ic = 0;/* matches with rm_ic == FALSE */ int match_re; /* match with regexp */ int matchoff = 0; + int save_emsg_off; #ifdef FEAT_EMACS_TAGS /* @@ -1442,7 +1443,10 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname) if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */ orgpat.len = p_tl; + save_emsg_off = emsg_off; + emsg_off = TRUE; /* don't want error for invalid RE here */ prepare_pats(&orgpat, has_re); + emsg_off = save_emsg_off; if (has_re && orgpat.regmatch.regprog == NULL) goto findtag_end; diff --git a/src/version.c b/src/version.c index 02c659e7..c5c7fd45 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 105, +/**/ 104, /**/ 103, |