diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.336')
-rw-r--r-- | source/ap/vim/patches/7.3.336 | 1100 |
1 files changed, 1100 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.336 b/source/ap/vim/patches/7.3.336 new file mode 100644 index 000000000..902f578c3 --- /dev/null +++ b/source/ap/vim/patches/7.3.336 @@ -0,0 +1,1100 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.336 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.336 +Problem: When a tags file specifies an encoding different from 'enc' it + may hang and using a pattern doesn't work. +Solution: Convert the whole line. Continue reading the header after the + SORT tag. Add test83. (Yukihiro Nakadaira) +Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test83-tags2, src/testdir/test83-tags3, + src/testdir/test83.in, src/testdir/test83.ok + + +*** ../vim-7.3.335/src/tag.c 2011-04-11 21:35:03.000000000 +0200 +--- src/tag.c 2011-10-12 19:51:04.000000000 +0200 +*************** +*** 1277,1282 **** +--- 1277,1283 ---- + { + FILE *fp; + char_u *lbuf; /* line buffer */ ++ int lbuf_size = LSIZE; /* length of lbuf */ + char_u *tag_fname; /* name of tag file */ + tagname_T tn; /* info for get_tagfname() */ + int first_file; /* trying first tag file */ +*************** +*** 1291,1296 **** +--- 1292,1298 ---- + char_u *s; + int i; + #ifdef FEAT_TAG_BINS ++ int tag_file_sorted = NUL; /* !_TAG_FILE_SORTED value */ + struct tag_search_info /* Binary search file offsets */ + { + off_t low_offset; /* offset for first char of first line that +*************** +*** 1360,1372 **** + char_u *saved_pat = NULL; /* copy of pat[] */ + #endif + +- /* Use two sets of variables for the pattern: "orgpat" holds the values +- * for the original pattern and "convpat" converted from 'encoding' to +- * encoding of the tags file. "pats" point to either one of these. */ +- pat_T *pats; + pat_T orgpat; /* holds unconverted pattern info */ + #ifdef FEAT_MBYTE +- pat_T convpat; /* holds converted pattern info */ + vimconv_T vimconv; + #endif + +--- 1362,1369 ---- +*************** +*** 1390,1396 **** + + help_save = curbuf->b_help; + orgpat.pat = pat; +- pats = &orgpat; + #ifdef FEAT_MBYTE + vimconv.vc_type = CONV_NONE; + #endif +--- 1387,1392 ---- +*************** +*** 1398,1404 **** + /* + * Allocate memory for the buffers that are used + */ +! lbuf = alloc(LSIZE); + tag_fname = alloc(MAXPATHL + 1); + #ifdef FEAT_EMACS_TAGS + ebuf = alloc(LSIZE); +--- 1394,1400 ---- + /* + * Allocate memory for the buffers that are used + */ +! lbuf = alloc(lbuf_size); + tag_fname = alloc(MAXPATHL + 1); + #ifdef FEAT_EMACS_TAGS + ebuf = alloc(LSIZE); +*************** +*** 1424,1453 **** + if (help_only) /* want tags from help file */ + curbuf->b_help = TRUE; /* will be restored later */ + +! pats->len = (int)STRLEN(pat); + #ifdef FEAT_MULTI_LANG + if (curbuf->b_help) + { + /* When "@ab" is specified use only the "ab" language, otherwise + * search all languages. */ +! if (pats->len > 3 && pat[pats->len - 3] == '@' +! && ASCII_ISALPHA(pat[pats->len - 2]) +! && ASCII_ISALPHA(pat[pats->len - 1])) + { +! saved_pat = vim_strnsave(pat, pats->len - 3); + if (saved_pat != NULL) + { +! help_lang_find = &pat[pats->len - 2]; +! pats->pat = saved_pat; +! pats->len -= 3; + } + } + } + #endif +! if (p_tl != 0 && pats->len > p_tl) /* adjust for 'taglength' */ +! pats->len = p_tl; + +! prepare_pats(pats, has_re); + + #ifdef FEAT_TAG_BINS + /* This is only to avoid a compiler warning for using search_info +--- 1420,1449 ---- + if (help_only) /* want tags from help file */ + curbuf->b_help = TRUE; /* will be restored later */ + +! orgpat.len = (int)STRLEN(pat); + #ifdef FEAT_MULTI_LANG + if (curbuf->b_help) + { + /* When "@ab" is specified use only the "ab" language, otherwise + * search all languages. */ +! if (orgpat.len > 3 && pat[orgpat.len - 3] == '@' +! && ASCII_ISALPHA(pat[orgpat.len - 2]) +! && ASCII_ISALPHA(pat[orgpat.len - 1])) + { +! saved_pat = vim_strnsave(pat, orgpat.len - 3); + if (saved_pat != NULL) + { +! help_lang_find = &pat[orgpat.len - 2]; +! orgpat.pat = saved_pat; +! orgpat.len -= 3; + } + } + } + #endif +! if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */ +! orgpat.len = p_tl; + +! prepare_pats(&orgpat, has_re); + + #ifdef FEAT_TAG_BINS + /* This is only to avoid a compiler warning for using search_info +*************** +*** 1466,1478 **** + * Only ignore case when TAG_NOIC not used or 'ignorecase' set. + */ + #ifdef FEAT_TAG_BINS +! pats->regmatch.rm_ic = ((p_ic || !noic) +! && (findall || pats->headlen == 0 || !p_tbs)); + for (round = 1; round <= 2; ++round) + { +! linear = (pats->headlen == 0 || !p_tbs || round == 2); + #else +! pats->regmatch.rm_ic = (p_ic || !noic); + #endif + + /* +--- 1462,1474 ---- + * Only ignore case when TAG_NOIC not used or 'ignorecase' set. + */ + #ifdef FEAT_TAG_BINS +! orgpat.regmatch.rm_ic = ((p_ic || !noic) +! && (findall || orgpat.headlen == 0 || !p_tbs)); + for (round = 1; round <= 2; ++round) + { +! linear = (orgpat.headlen == 0 || !p_tbs || round == 2); + #else +! orgpat.regmatch.rm_ic = (p_ic || !noic); + #endif + + /* +*************** +*** 1701,1706 **** +--- 1697,1732 ---- + } + line_read_in: + ++ #ifdef FEAT_MBYTE ++ if (vimconv.vc_type != CONV_NONE) ++ { ++ char_u *conv_line; ++ int len; ++ ++ /* Convert every line. Converting the pattern from 'enc' to ++ * the tags file encoding doesn't work, because characters are ++ * not recognized. */ ++ conv_line = string_convert(&vimconv, lbuf, NULL); ++ if (conv_line != NULL) ++ { ++ /* Copy or swap lbuf and conv_line. */ ++ len = (int)STRLEN(conv_line) + 1; ++ if (len > lbuf_size) ++ { ++ vim_free(lbuf); ++ lbuf = conv_line; ++ lbuf_size = len; ++ } ++ else ++ { ++ STRCPY(lbuf, conv_line); ++ vim_free(conv_line); ++ } ++ } ++ } ++ #endif ++ ++ + #ifdef FEAT_EMACS_TAGS + /* + * Emacs tags line with CTRL-L: New file name on next line. +*************** +*** 1770,1775 **** +--- 1796,1828 ---- + */ + if (state == TS_START) + { ++ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0) ++ { ++ /* ++ * Read header line. ++ */ ++ #ifdef FEAT_TAG_BINS ++ if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0) ++ tag_file_sorted = lbuf[18]; ++ #endif ++ #ifdef FEAT_MBYTE ++ if (STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0) ++ { ++ /* Prepare to convert every line from the specified ++ * encoding to 'encoding'. */ ++ for (p = lbuf + 20; *p > ' ' && *p < 127; ++p) ++ ; ++ *p = NUL; ++ convert_setup(&vimconv, lbuf + 20, p_enc); ++ } ++ #endif ++ ++ /* Read the next line. Unrecognized flags are ignored. */ ++ continue; ++ } ++ ++ /* Headers ends. */ ++ + #ifdef FEAT_TAG_BINS + /* + * When there is no tag head, or ignoring case, need to do a +*************** +*** 1786,1809 **** + if (linear) + # endif + state = TS_LINEAR; +! else if (STRNCMP(lbuf, "!_TAG_", 6) > 0) + state = TS_BINARY; +! else if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0) +! { +! /* Check sorted flag */ +! if (lbuf[18] == '1') + state = TS_BINARY; +! else if (lbuf[18] == '2') +! { +! state = TS_BINARY; +! sortic = TRUE; +! pats->regmatch.rm_ic = (p_ic || !noic); +! } +! else +! state = TS_LINEAR; + } + +! if (state == TS_BINARY && pats->regmatch.rm_ic && !sortic) + { + /* binary search won't work for ignoring case, use linear + * search. */ +--- 1839,1858 ---- + if (linear) + # endif + state = TS_LINEAR; +! else if (tag_file_sorted == NUL) + state = TS_BINARY; +! else if (tag_file_sorted == '1') + state = TS_BINARY; +! else if (tag_file_sorted == '2') +! { +! state = TS_BINARY; +! sortic = TRUE; +! orgpat.regmatch.rm_ic = (p_ic || !noic); + } ++ else ++ state = TS_LINEAR; + +! if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic) + { + /* binary search won't work for ignoring case, use linear + * search. */ +*************** +*** 1843,1882 **** + #endif + } + +- #ifdef FEAT_MBYTE +- if (lbuf[0] == '!' && pats == &orgpat +- && STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0) +- { +- /* Convert the search pattern from 'encoding' to the +- * specified encoding. */ +- for (p = lbuf + 20; *p > ' ' && *p < 127; ++p) +- ; +- *p = NUL; +- convert_setup(&vimconv, p_enc, lbuf + 20); +- if (vimconv.vc_type != CONV_NONE) +- { +- convpat.pat = string_convert(&vimconv, pats->pat, NULL); +- if (convpat.pat != NULL) +- { +- pats = &convpat; +- pats->len = (int)STRLEN(pats->pat); +- prepare_pats(pats, has_re); +- pats->regmatch.rm_ic = orgpat.regmatch.rm_ic; +- } +- } +- +- /* Prepare for converting a match the other way around. */ +- convert_setup(&vimconv, lbuf + 20, p_enc); +- continue; +- } +- #endif +- + /* + * Figure out where the different strings are in this line. + * For "normal" tags: Do a quick check if the tag matches. + * This speeds up tag searching a lot! + */ +! if (pats->headlen + #ifdef FEAT_EMACS_TAGS + && !is_etag + #endif +--- 1892,1903 ---- + #endif + } + + /* + * Figure out where the different strings are in this line. + * For "normal" tags: Do a quick check if the tag matches. + * This speeds up tag searching a lot! + */ +! if (orgpat.headlen + #ifdef FEAT_EMACS_TAGS + && !is_etag + #endif +*************** +*** 1933,1941 **** + cmplen = (int)(tagp.tagname_end - tagp.tagname); + if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */ + cmplen = p_tl; +! if (has_re && pats->headlen < cmplen) +! cmplen = pats->headlen; +! else if (state == TS_LINEAR && pats->headlen != cmplen) + continue; + + #ifdef FEAT_TAG_BINS +--- 1954,1962 ---- + cmplen = (int)(tagp.tagname_end - tagp.tagname); + if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */ + cmplen = p_tl; +! if (has_re && orgpat.headlen < cmplen) +! cmplen = orgpat.headlen; +! else if (state == TS_LINEAR && orgpat.headlen != cmplen) + continue; + + #ifdef FEAT_TAG_BINS +*************** +*** 1954,1963 **** + * Compare the current tag with the searched tag. + */ + if (sortic) +! tagcmp = tag_strnicmp(tagp.tagname, pats->head, + (size_t)cmplen); + else +! tagcmp = STRNCMP(tagp.tagname, pats->head, cmplen); + + /* + * A match with a shorter tag means to search forward. +--- 1975,1984 ---- + * Compare the current tag with the searched tag. + */ + if (sortic) +! tagcmp = tag_strnicmp(tagp.tagname, orgpat.head, + (size_t)cmplen); + else +! tagcmp = STRNCMP(tagp.tagname, orgpat.head, cmplen); + + /* + * A match with a shorter tag means to search forward. +*************** +*** 1965,1973 **** + */ + if (tagcmp == 0) + { +! if (cmplen < pats->headlen) + tagcmp = -1; +! else if (cmplen > pats->headlen) + tagcmp = 1; + } + +--- 1986,1994 ---- + */ + if (tagcmp == 0) + { +! if (cmplen < orgpat.headlen) + tagcmp = -1; +! else if (cmplen > orgpat.headlen) + tagcmp = 1; + } + +*************** +*** 2011,2017 **** + } + else if (state == TS_SKIP_BACK) + { +! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0) + state = TS_STEP_FORWARD; + else + /* Have to skip back more. Restore the curr_offset +--- 2032,2038 ---- + } + else if (state == TS_SKIP_BACK) + { +! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0) + state = TS_STEP_FORWARD; + else + /* Have to skip back more. Restore the curr_offset +*************** +*** 2021,2027 **** + } + else if (state == TS_STEP_FORWARD) + { +! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0) + { + if ((off_t)ftell(fp) > search_info.match_offset) + break; /* past last match */ +--- 2042,2048 ---- + } + else if (state == TS_STEP_FORWARD) + { +! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0) + { + if ((off_t)ftell(fp) > search_info.match_offset) + break; /* past last match */ +*************** +*** 2032,2038 **** + else + #endif + /* skip this match if it can't match */ +! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0) + continue; + + /* +--- 2053,2059 ---- + else + #endif + /* skip this match if it can't match */ +! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0) + continue; + + /* +*************** +*** 2083,2123 **** + if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */ + cmplen = p_tl; + /* if tag length does not match, don't try comparing */ +! if (pats->len != cmplen) + match = FALSE; + else + { +! if (pats->regmatch.rm_ic) + { +! match = (MB_STRNICMP(tagp.tagname, pats->pat, cmplen) == 0); + if (match) +! match_no_ic = (STRNCMP(tagp.tagname, pats->pat, + cmplen) == 0); + } + else +! match = (STRNCMP(tagp.tagname, pats->pat, cmplen) == 0); + } + + /* + * Has a regexp: Also find tags matching regexp. + */ + match_re = FALSE; +! if (!match && pats->regmatch.regprog != NULL) + { + int cc; + + cc = *tagp.tagname_end; + *tagp.tagname_end = NUL; +! match = vim_regexec(&pats->regmatch, tagp.tagname, (colnr_T)0); + if (match) + { +! matchoff = (int)(pats->regmatch.startp[0] - tagp.tagname); +! if (pats->regmatch.rm_ic) + { +! pats->regmatch.rm_ic = FALSE; +! match_no_ic = vim_regexec(&pats->regmatch, tagp.tagname, + (colnr_T)0); +! pats->regmatch.rm_ic = TRUE; + } + } + *tagp.tagname_end = cc; +--- 2104,2144 ---- + if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */ + cmplen = p_tl; + /* if tag length does not match, don't try comparing */ +! if (orgpat.len != cmplen) + match = FALSE; + else + { +! if (orgpat.regmatch.rm_ic) + { +! match = (MB_STRNICMP(tagp.tagname, orgpat.pat, cmplen) == 0); + if (match) +! match_no_ic = (STRNCMP(tagp.tagname, orgpat.pat, + cmplen) == 0); + } + else +! match = (STRNCMP(tagp.tagname, orgpat.pat, cmplen) == 0); + } + + /* + * Has a regexp: Also find tags matching regexp. + */ + match_re = FALSE; +! if (!match && orgpat.regmatch.regprog != NULL) + { + int cc; + + cc = *tagp.tagname_end; + *tagp.tagname_end = NUL; +! match = vim_regexec(&orgpat.regmatch, tagp.tagname, (colnr_T)0); + if (match) + { +! matchoff = (int)(orgpat.regmatch.startp[0] - tagp.tagname); +! if (orgpat.regmatch.rm_ic) + { +! orgpat.regmatch.rm_ic = FALSE; +! match_no_ic = vim_regexec(&orgpat.regmatch, tagp.tagname, + (colnr_T)0); +! orgpat.regmatch.rm_ic = TRUE; + } + } + *tagp.tagname_end = cc; +*************** +*** 2174,2180 **** + else + mtt = MT_GL_OTH; + } +! if (pats->regmatch.rm_ic && !match_no_ic) + mtt += MT_IC_OFF; + if (match_re) + mtt += MT_RE_OFF; +--- 2195,2201 ---- + else + mtt = MT_GL_OTH; + } +! if (orgpat.regmatch.rm_ic && !match_no_ic) + mtt += MT_IC_OFF; + if (match_re) + mtt += MT_RE_OFF; +*************** +*** 2187,2221 **** + */ + if (ga_grow(&ga_match[mtt], 1) == OK) + { +- #ifdef FEAT_MBYTE +- char_u *conv_line = NULL; +- char_u *lbuf_line = lbuf; +- +- if (vimconv.vc_type != CONV_NONE) +- { +- /* Convert the tag line from the encoding of the tags +- * file to 'encoding'. Then parse the line again. */ +- conv_line = string_convert(&vimconv, lbuf, NULL); +- if (conv_line != NULL) +- { +- if (parse_tag_line(conv_line, +- #ifdef FEAT_EMACS_TAGS +- is_etag, +- #endif +- &tagp) == OK) +- lbuf_line = conv_line; +- else +- /* doesn't work, go back to unconverted line. */ +- (void)parse_tag_line(lbuf, +- #ifdef FEAT_EMACS_TAGS +- is_etag, +- #endif +- &tagp); +- } +- } +- #else +- # define lbuf_line lbuf +- #endif + if (help_only) + { + #ifdef FEAT_MULTI_LANG +--- 2208,2213 ---- +*************** +*** 2307,2313 **** + * without Emacs tags: <mtt><tag_fname><NUL><lbuf> + */ + len = (int)STRLEN(tag_fname) +! + (int)STRLEN(lbuf_line) + 3; + #ifdef FEAT_EMACS_TAGS + if (is_etag) + len += (int)STRLEN(ebuf) + 1; +--- 2299,2305 ---- + * without Emacs tags: <mtt><tag_fname><NUL><lbuf> + */ + len = (int)STRLEN(tag_fname) +! + (int)STRLEN(lbuf) + 3; + #ifdef FEAT_EMACS_TAGS + if (is_etag) + len += (int)STRLEN(ebuf) + 1; +*************** +*** 2337,2343 **** + else + *s++ = NUL; + #endif +! STRCPY(s, lbuf_line); + } + } + +--- 2329,2335 ---- + else + *s++ = NUL; + #endif +! STRCPY(s, lbuf); + } + } + +*************** +*** 2373,2382 **** + else + vim_free(mfp); + } +- #ifdef FEAT_MBYTE +- /* Note: this makes the values in "tagp" invalid! */ +- vim_free(conv_line); +- #endif + } + else /* Out of memory! Just forget about the rest. */ + { +--- 2365,2370 ---- +*************** +*** 2415,2433 **** + } + #endif + #ifdef FEAT_MBYTE +- if (pats == &convpat) +- { +- /* Go back from converted pattern to original pattern. */ +- vim_free(pats->pat); +- vim_free(pats->regmatch.regprog); +- orgpat.regmatch.rm_ic = pats->regmatch.rm_ic; +- pats = &orgpat; +- } + if (vimconv.vc_type != CONV_NONE) + convert_setup(&vimconv, NULL, NULL); + #endif + + #ifdef FEAT_TAG_BINS + if (sort_error) + { + EMSG2(_("E432: Tags file not sorted: %s"), tag_fname); +--- 2403,2414 ---- + } + #endif + #ifdef FEAT_MBYTE + if (vimconv.vc_type != CONV_NONE) + convert_setup(&vimconv, NULL, NULL); + #endif + + #ifdef FEAT_TAG_BINS ++ tag_file_sorted = NUL; + if (sort_error) + { + EMSG2(_("E432: Tags file not sorted: %s"), tag_fname); +*************** +*** 2461,2473 **** + #ifdef FEAT_TAG_BINS + /* stop searching when already did a linear search, or when TAG_NOIC + * used, and 'ignorecase' not set or already did case-ignore search */ +! if (stop_searching || linear || (!p_ic && noic) || pats->regmatch.rm_ic) + break; + # ifdef FEAT_CSCOPE + if (use_cscope) + break; + # endif +! pats->regmatch.rm_ic = TRUE; /* try another time while ignoring case */ + } + #endif + +--- 2442,2454 ---- + #ifdef FEAT_TAG_BINS + /* stop searching when already did a linear search, or when TAG_NOIC + * used, and 'ignorecase' not set or already did case-ignore search */ +! if (stop_searching || linear || (!p_ic && noic) || orgpat.regmatch.rm_ic) + break; + # ifdef FEAT_CSCOPE + if (use_cscope) + break; + # endif +! orgpat.regmatch.rm_ic = TRUE; /* try another time while ignoring case */ + } + #endif + +*************** +*** 2480,2486 **** + + findtag_end: + vim_free(lbuf); +! vim_free(pats->regmatch.regprog); + vim_free(tag_fname); + #ifdef FEAT_EMACS_TAGS + vim_free(ebuf); +--- 2461,2467 ---- + + findtag_end: + vim_free(lbuf); +! vim_free(orgpat.regmatch.regprog); + vim_free(tag_fname); + #ifdef FEAT_EMACS_TAGS + vim_free(ebuf); +*** ../vim-7.3.335/src/testdir/Make_amiga.mak 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Make_amiga.mak 2011-10-12 19:21:00.000000000 +0200 +*************** +*** 29,35 **** + test66.out test67.out test68.out test69.out test70.out \ + test71.out test72.out test73.out test74.out test75.out \ + test76.out test77.out test78.out test79.out test80.out \ +! test81.out test82.out + + .SUFFIXES: .in .out + +--- 29,35 ---- + test66.out test67.out test68.out test69.out test70.out \ + test71.out test72.out test73.out test74.out test75.out \ + test76.out test77.out test78.out test79.out test80.out \ +! test81.out test82.out test83.out + + .SUFFIXES: .in .out + +*************** +*** 131,133 **** +--- 131,134 ---- + test80.out: test80.in + test81.out: test81.in + test82.out: test82.in ++ test83.out: test83.in +*** ../vim-7.3.335/src/testdir/Make_dos.mak 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Make_dos.mak 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 29,35 **** + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out + + SCRIPTS32 = test50.out test70.out + +--- 29,35 ---- + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out test83.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.335/src/testdir/Make_ming.mak 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Make_ming.mak 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 49,55 **** + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out + + SCRIPTS32 = test50.out test70.out + +--- 49,55 ---- + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out test83.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.335/src/testdir/Make_os2.mak 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Make_os2.mak 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 29,35 **** + test66.out test67.out test68.out test69.out test70.out \ + test71.out test72.out test73.out test74.out test75.out \ + test76.out test77.out test78.out test79.out test80.out \ +! test81.out test82.out + + .SUFFIXES: .in .out + +--- 29,35 ---- + test66.out test67.out test68.out test69.out test70.out \ + test71.out test72.out test73.out test74.out test75.out \ + test76.out test77.out test78.out test79.out test80.out \ +! test81.out test82.out test83.out + + .SUFFIXES: .in .out + +*** ../vim-7.3.335/src/testdir/Make_vms.mms 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Make_vms.mms 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 76,82 **** + test66.out test67.out test68.out test69.out \ + test71.out test72.out test74.out test75.out test76.out \ + test77.out test78.out test79.out test80.out test81.out \ +! test82.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 76,82 ---- + test66.out test67.out test68.out test69.out \ + test71.out test72.out test74.out test75.out test76.out \ + test77.out test78.out test79.out test80.out test81.out \ +! test82.out test83.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.3.335/src/testdir/Makefile 2011-07-15 21:16:54.000000000 +0200 +--- src/testdir/Makefile 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 26,32 **** + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out + + SCRIPTS_GUI = test16.out + +--- 26,32 ---- + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ + test74.out test75.out test76.out test77.out test78.out \ +! test79.out test80.out test81.out test82.out test83.out + + SCRIPTS_GUI = test16.out + +*************** +*** 72,78 **** + fi \ + else echo $* NO OUTPUT >>test.log; \ + fi" +! -rm -rf X* test.ok viminfo + + test49.out: test49.vim + +--- 72,78 ---- + fi \ + else echo $* NO OUTPUT >>test.log; \ + fi" +! # -rm -rf X* test.ok viminfo + + test49.out: test49.vim + +*** ../vim-7.3.335/src/testdir/test83-tags2 2011-10-12 19:49:38.000000000 +0200 +--- src/testdir/test83-tags2 2011-10-12 19:34:15.000000000 +0200 +*************** +*** 0 **** +--- 1,2 ---- ++ !_TAG_FILE_ENCODING cp932 // ++ ‚`‚a‚b Xtags2.txt /‚`‚a‚b +*** ../vim-7.3.335/src/testdir/test83-tags3 2011-10-12 19:49:38.000000000 +0200 +--- src/testdir/test83-tags3 2011-10-12 19:35:42.000000000 +0200 +*************** +*** 0 **** +--- 1,102 ---- ++ !_TAG_FILE_SORTED 1 // ++ !_TAG_FILE_ENCODING cp932 // ++ abc1 Xtags3.txt /‚`‚a‚b ++ abc2 Xtags3.txt /‚`‚a‚b ++ abc3 Xtags3.txt /‚`‚a‚b ++ abc4 Xtags3.txt /‚`‚a‚b ++ abc5 Xtags3.txt /‚`‚a‚b ++ abc6 Xtags3.txt /‚`‚a‚b ++ abc7 Xtags3.txt /‚`‚a‚b ++ abc8 Xtags3.txt /‚`‚a‚b ++ abc9 Xtags3.txt /‚`‚a‚b ++ abc10 Xtags3.txt /‚`‚a‚b ++ abc11 Xtags3.txt /‚`‚a‚b ++ abc12 Xtags3.txt /‚`‚a‚b ++ abc13 Xtags3.txt /‚`‚a‚b ++ abc14 Xtags3.txt /‚`‚a‚b ++ abc15 Xtags3.txt /‚`‚a‚b ++ abc16 Xtags3.txt /‚`‚a‚b ++ abc17 Xtags3.txt /‚`‚a‚b ++ abc18 Xtags3.txt /‚`‚a‚b ++ abc19 Xtags3.txt /‚`‚a‚b ++ abc20 Xtags3.txt /‚`‚a‚b ++ abc21 Xtags3.txt /‚`‚a‚b ++ abc22 Xtags3.txt /‚`‚a‚b ++ abc23 Xtags3.txt /‚`‚a‚b ++ abc24 Xtags3.txt /‚`‚a‚b ++ abc25 Xtags3.txt /‚`‚a‚b ++ abc26 Xtags3.txt /‚`‚a‚b ++ abc27 Xtags3.txt /‚`‚a‚b ++ abc28 Xtags3.txt /‚`‚a‚b ++ abc29 Xtags3.txt /‚`‚a‚b ++ abc30 Xtags3.txt /‚`‚a‚b ++ abc31 Xtags3.txt /‚`‚a‚b ++ abc32 Xtags3.txt /‚`‚a‚b ++ abc33 Xtags3.txt /‚`‚a‚b ++ abc34 Xtags3.txt /‚`‚a‚b ++ abc35 Xtags3.txt /‚`‚a‚b ++ abc36 Xtags3.txt /‚`‚a‚b ++ abc37 Xtags3.txt /‚`‚a‚b ++ abc38 Xtags3.txt /‚`‚a‚b ++ abc39 Xtags3.txt /‚`‚a‚b ++ abc40 Xtags3.txt /‚`‚a‚b ++ abc41 Xtags3.txt /‚`‚a‚b ++ abc42 Xtags3.txt /‚`‚a‚b ++ abc43 Xtags3.txt /‚`‚a‚b ++ abc44 Xtags3.txt /‚`‚a‚b ++ abc45 Xtags3.txt /‚`‚a‚b ++ abc46 Xtags3.txt /‚`‚a‚b ++ abc47 Xtags3.txt /‚`‚a‚b ++ abc48 Xtags3.txt /‚`‚a‚b ++ abc49 Xtags3.txt /‚`‚a‚b ++ abc50 Xtags3.txt /‚`‚a‚b ++ abc51 Xtags3.txt /‚`‚a‚b ++ abc52 Xtags3.txt /‚`‚a‚b ++ abc53 Xtags3.txt /‚`‚a‚b ++ abc54 Xtags3.txt /‚`‚a‚b ++ abc55 Xtags3.txt /‚`‚a‚b ++ abc56 Xtags3.txt /‚`‚a‚b ++ abc57 Xtags3.txt /‚`‚a‚b ++ abc58 Xtags3.txt /‚`‚a‚b ++ abc59 Xtags3.txt /‚`‚a‚b ++ abc60 Xtags3.txt /‚`‚a‚b ++ abc61 Xtags3.txt /‚`‚a‚b ++ abc62 Xtags3.txt /‚`‚a‚b ++ abc63 Xtags3.txt /‚`‚a‚b ++ abc64 Xtags3.txt /‚`‚a‚b ++ abc65 Xtags3.txt /‚`‚a‚b ++ abc66 Xtags3.txt /‚`‚a‚b ++ abc67 Xtags3.txt /‚`‚a‚b ++ abc68 Xtags3.txt /‚`‚a‚b ++ abc69 Xtags3.txt /‚`‚a‚b ++ abc70 Xtags3.txt /‚`‚a‚b ++ abc71 Xtags3.txt /‚`‚a‚b ++ abc72 Xtags3.txt /‚`‚a‚b ++ abc73 Xtags3.txt /‚`‚a‚b ++ abc74 Xtags3.txt /‚`‚a‚b ++ abc75 Xtags3.txt /‚`‚a‚b ++ abc76 Xtags3.txt /‚`‚a‚b ++ abc77 Xtags3.txt /‚`‚a‚b ++ abc78 Xtags3.txt /‚`‚a‚b ++ abc79 Xtags3.txt /‚`‚a‚b ++ abc80 Xtags3.txt /‚`‚a‚b ++ abc81 Xtags3.txt /‚`‚a‚b ++ abc82 Xtags3.txt /‚`‚a‚b ++ abc83 Xtags3.txt /‚`‚a‚b ++ abc84 Xtags3.txt /‚`‚a‚b ++ abc85 Xtags3.txt /‚`‚a‚b ++ abc86 Xtags3.txt /‚`‚a‚b ++ abc87 Xtags3.txt /‚`‚a‚b ++ abc88 Xtags3.txt /‚`‚a‚b ++ abc89 Xtags3.txt /‚`‚a‚b ++ abc90 Xtags3.txt /‚`‚a‚b ++ abc91 Xtags3.txt /‚`‚a‚b ++ abc92 Xtags3.txt /‚`‚a‚b ++ abc93 Xtags3.txt /‚`‚a‚b ++ abc94 Xtags3.txt /‚`‚a‚b ++ abc95 Xtags3.txt /‚`‚a‚b ++ abc96 Xtags3.txt /‚`‚a‚b ++ abc97 Xtags3.txt /‚`‚a‚b ++ abc98 Xtags3.txt /‚`‚a‚b ++ abc99 Xtags3.txt /‚`‚a‚b ++ abc100 Xtags3.txt /‚`‚a‚b +*** ../vim-7.3.335/src/testdir/test83.in 2011-10-12 19:49:38.000000000 +0200 +--- src/testdir/test83.in 2011-10-12 19:40:47.000000000 +0200 +*************** +*** 0 **** +--- 1,76 ---- ++ Tests for tag search with !_TAG_FILE_ENCODING. ++ ++ STARTTEST ++ :so mbyte.vim ++ :if !has('iconv') ++ : e! test.ok ++ : w! test.out ++ : qa! ++ :endif ++ :set enc=utf8 ++ ++ :/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt ++ :/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt ++ :/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt ++ :/^tags1$/+1,/^tags1-end$/-1w! Xtags1 ++ ++ ggdG ++ ++ :call setline('.', 'Results of test83') ++ ++ :" case1: ++ :new ++ :set tags=Xtags1 ++ :let v:errmsg = '' ++ :tag abcdefghijklmnopqrs ++ :if v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs' ++ : close ++ : put ='case1: failed' ++ :else ++ : close ++ : put ='case1: ok' ++ :endif ++ ++ :" case2: ++ :new ++ :set tags=test83-tags2 ++ :let v:errmsg = '' ++ :tag /.BC ++ :if v:errmsg =~ 'E426:' || getline('.') != 'ABC' ++ : close ++ : put ='case2: failed' ++ :else ++ : close ++ : put ='case2: ok' ++ :endif ++ ++ :" case3: ++ :new ++ :set tags=test83-tags3 ++ :let v:errmsg = '' ++ :tag abc50 ++ :if v:errmsg =~ 'E426:' || getline('.') != 'ABC' ++ : close ++ : put ='case3: failed' ++ :else ++ : close ++ : put ='case3: ok' ++ :endif ++ :close ++ ++ :wq! test.out ++ ENDTEST ++ ++ text for tags1 ++ abcdefghijklmnopqrs ++ ++ text for tags2 ++ ABC ++ ++ text for tags3 ++ ABC ++ ++ tags1 ++ !_TAG_FILE_ENCODING utf-8 // ++ abcdefghijklmnopqrs Xtags1.txt /abcdefghijklmnopqrs ++ tags1-end +*** ../vim-7.3.335/src/testdir/test83.ok 2011-10-12 19:49:38.000000000 +0200 +--- src/testdir/test83.ok 2011-10-12 17:39:03.000000000 +0200 +*************** +*** 0 **** +--- 1,4 ---- ++ Results of test83 ++ case1: ok ++ case2: ok ++ case3: ok +*** ../vim-7.3.335/src/version.c 2011-10-12 16:57:07.000000000 +0200 +--- src/version.c 2011-10-12 19:45:46.000000000 +0200 +*************** +*** 711,712 **** +--- 711,714 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 336, + /**/ + + +-- +hundred-and-one symptoms of being an internet addict: +62. If your doorbell rings, you think that new mail has arrived. And then + you're disappointed that it's only someone at the door. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |