Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.2.068
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.2.068
Problem:    Emacs tags file lines can be too long, resulting in an error
	    message. (James Vega)
Solution:   Ignore lines with errors if they are too long.
Files:	    src/tag.c


*** ../vim-7.2.067/src/tag.c	Fri Jul 18 11:26:12 2008
--- src/tag.c	Sat Dec  6 13:54:33 2008
***************
*** 2725,2731 ****
--- 2725,2748 ----
  	 */
  	p_7f = vim_strchr(lbuf, 0x7f);
  	if (p_7f == NULL)
+ 	{
+ etag_fail:
+ 	    if (vim_strchr(lbuf, '\n') == NULL)
+ 	    {
+ 		/* Truncated line.  Ignore it. */
+ 		if (p_verbose >= 5)
+ 		{
+ 		    verbose_enter();
+ 		    MSG(_("Ignoring long line in tags file"));
+ 		    verbose_leave();
+ 		}
+ 		tagp->command = lbuf;
+ 		tagp->tagname = lbuf;
+ 		tagp->tagname_end = lbuf;
+ 		return OK;
+ 	    }
  	    return FAIL;
+ 	}
  
  	/* Find ^A.  If not found the line number is after the 0x7f */
  	p = vim_strchr(p_7f, Ctrl_A);
***************
*** 2735,2741 ****
  	    ++p;
  
  	if (!VIM_ISDIGIT(*p))	    /* check for start of line number */
! 	    return FAIL;
  	tagp->command = p;
  
  
--- 2752,2758 ----
  	    ++p;
  
  	if (!VIM_ISDIGIT(*p))	    /* check for start of line number */
! 	    goto etag_fail;
  	tagp->command = p;
  
  
***************
*** 2749,2755 ****
  	    /* find end of tagname */
  	    for (p = p_7f - 1; !vim_iswordc(*p); --p)
  		if (p == lbuf)
! 		    return FAIL;
  	    tagp->tagname_end = p + 1;
  	    while (p >= lbuf && vim_iswordc(*p))
  		--p;
--- 2766,2772 ----
  	    /* find end of tagname */
  	    for (p = p_7f - 1; !vim_iswordc(*p); --p)
  		if (p == lbuf)
! 		    goto etag_fail;
  	    tagp->tagname_end = p + 1;
  	    while (p >= lbuf && vim_iswordc(*p))
  		--p;
*** ../vim-7.2.067/src/version.c	Tue Dec  9 11:17:23 2008
--- src/version.c	Tue Dec  9 12:05:41 2008
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     68,
  /**/

-- 
Q: What do you call a fish without an eye?
A: fsh!
Q: What do you call a deer with no eyes?
A: no eye deer.
Q: What do you call a deer with no eyes and no legs?
A: still no eye deer.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///