Karsten Hopp 744b1b
To: vim-dev@vim.org
Karsten Hopp 744b1b
Subject: Patch 7.2.068
Karsten Hopp 744b1b
Fcc: outbox
Karsten Hopp 744b1b
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 744b1b
Mime-Version: 1.0
Karsten Hopp 744b1b
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp 744b1b
Content-Transfer-Encoding: 8bit
Karsten Hopp 744b1b
------------
Karsten Hopp 744b1b
Karsten Hopp 744b1b
Patch 7.2.068
Karsten Hopp 744b1b
Problem:    Emacs tags file lines can be too long, resulting in an error
Karsten Hopp 744b1b
	    message. (James Vega)
Karsten Hopp 744b1b
Solution:   Ignore lines with errors if they are too long.
Karsten Hopp 744b1b
Files:	    src/tag.c
Karsten Hopp 744b1b
Karsten Hopp 744b1b
Karsten Hopp 744b1b
*** ../vim-7.2.067/src/tag.c	Fri Jul 18 11:26:12 2008
Karsten Hopp 744b1b
--- src/tag.c	Sat Dec  6 13:54:33 2008
Karsten Hopp 744b1b
***************
Karsten Hopp 744b1b
*** 2725,2731 ****
Karsten Hopp 744b1b
--- 2725,2748 ----
Karsten Hopp 744b1b
  	 */
Karsten Hopp 744b1b
  	p_7f = vim_strchr(lbuf, 0x7f);
Karsten Hopp 744b1b
  	if (p_7f == NULL)
Karsten Hopp 744b1b
+ 	{
Karsten Hopp 744b1b
+ etag_fail:
Karsten Hopp 744b1b
+ 	    if (vim_strchr(lbuf, '\n') == NULL)
Karsten Hopp 744b1b
+ 	    {
Karsten Hopp 744b1b
+ 		/* Truncated line.  Ignore it. */
Karsten Hopp 744b1b
+ 		if (p_verbose >= 5)
Karsten Hopp 744b1b
+ 		{
Karsten Hopp 744b1b
+ 		    verbose_enter();
Karsten Hopp 744b1b
+ 		    MSG(_("Ignoring long line in tags file"));
Karsten Hopp 744b1b
+ 		    verbose_leave();
Karsten Hopp 744b1b
+ 		}
Karsten Hopp 744b1b
+ 		tagp->command = lbuf;
Karsten Hopp 744b1b
+ 		tagp->tagname = lbuf;
Karsten Hopp 744b1b
+ 		tagp->tagname_end = lbuf;
Karsten Hopp 744b1b
+ 		return OK;
Karsten Hopp 744b1b
+ 	    }
Karsten Hopp 744b1b
  	    return FAIL;
Karsten Hopp 744b1b
+ 	}
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
  	/* Find ^A.  If not found the line number is after the 0x7f */
Karsten Hopp 744b1b
  	p = vim_strchr(p_7f, Ctrl_A);
Karsten Hopp 744b1b
***************
Karsten Hopp 744b1b
*** 2735,2741 ****
Karsten Hopp 744b1b
  	    ++p;
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
  	if (!VIM_ISDIGIT(*p))	    /* check for start of line number */
Karsten Hopp 744b1b
! 	    return FAIL;
Karsten Hopp 744b1b
  	tagp->command = p;
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
--- 2752,2758 ----
Karsten Hopp 744b1b
  	    ++p;
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
  	if (!VIM_ISDIGIT(*p))	    /* check for start of line number */
Karsten Hopp 744b1b
! 	    goto etag_fail;
Karsten Hopp 744b1b
  	tagp->command = p;
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
  
Karsten Hopp 744b1b
***************
Karsten Hopp 744b1b
*** 2749,2755 ****
Karsten Hopp 744b1b
  	    /* find end of tagname */
Karsten Hopp 744b1b
  	    for (p = p_7f - 1; !vim_iswordc(*p); --p)
Karsten Hopp 744b1b
  		if (p == lbuf)
Karsten Hopp 744b1b
! 		    return FAIL;
Karsten Hopp 744b1b
  	    tagp->tagname_end = p + 1;
Karsten Hopp 744b1b
  	    while (p >= lbuf && vim_iswordc(*p))
Karsten Hopp 744b1b
  		--p;
Karsten Hopp 744b1b
--- 2766,2772 ----
Karsten Hopp 744b1b
  	    /* find end of tagname */
Karsten Hopp 744b1b
  	    for (p = p_7f - 1; !vim_iswordc(*p); --p)
Karsten Hopp 744b1b
  		if (p == lbuf)
Karsten Hopp 744b1b
! 		    goto etag_fail;
Karsten Hopp 744b1b
  	    tagp->tagname_end = p + 1;
Karsten Hopp 744b1b
  	    while (p >= lbuf && vim_iswordc(*p))
Karsten Hopp 744b1b
  		--p;
Karsten Hopp 744b1b
*** ../vim-7.2.067/src/version.c	Tue Dec  9 11:17:23 2008
Karsten Hopp 744b1b
--- src/version.c	Tue Dec  9 12:05:41 2008
Karsten Hopp 744b1b
***************
Karsten Hopp 744b1b
*** 678,679 ****
Karsten Hopp 744b1b
--- 678,681 ----
Karsten Hopp 744b1b
  {   /* Add new patch number below this line */
Karsten Hopp 744b1b
+ /**/
Karsten Hopp 744b1b
+     68,
Karsten Hopp 744b1b
  /**/
Karsten Hopp 744b1b
Karsten Hopp 744b1b
-- 
Karsten Hopp 744b1b
Q: What do you call a fish without an eye?
Karsten Hopp 744b1b
A: fsh!
Karsten Hopp 744b1b
Q: What do you call a deer with no eyes?
Karsten Hopp 744b1b
A: no eye deer.
Karsten Hopp 744b1b
Q: What do you call a deer with no eyes and no legs?
Karsten Hopp 744b1b
A: still no eye deer.
Karsten Hopp 744b1b
Karsten Hopp 744b1b
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 744b1b
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 744b1b
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 744b1b
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///