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