Karsten Hopp d17194
To: vim_dev@googlegroups.com
Karsten Hopp d17194
Subject: Patch 7.3.197
Karsten Hopp d17194
Fcc: outbox
Karsten Hopp d17194
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp d17194
Mime-Version: 1.0
Karsten Hopp d17194
Content-Type: text/plain; charset=UTF-8
Karsten Hopp d17194
Content-Transfer-Encoding: 8bit
Karsten Hopp d17194
------------
Karsten Hopp d17194
Karsten Hopp d17194
Patch 7.3.197
Karsten Hopp d17194
Problem:    When a QuickfixCmdPost event removes all errors, Vim still tries
Karsten Hopp d17194
	    to jump to the first error, resulting in E42.
Karsten Hopp d17194
Solution:   Get the number of error after the autocmd event. (Mike Lundy)
Karsten Hopp d17194
Files:	    src/quickfix.c
Karsten Hopp d17194
Karsten Hopp d17194
Karsten Hopp d17194
*** ../mercurial/vim73/src/quickfix.c	2011-05-10 16:41:13.000000000 +0200
Karsten Hopp d17194
--- src/quickfix.c	2011-05-19 17:34:11.000000000 +0200
Karsten Hopp d17194
***************
Karsten Hopp d17194
*** 2813,2829 ****
Karsten Hopp d17194
  					   (eap->cmdidx != CMD_grepadd
Karsten Hopp d17194
  					    && eap->cmdidx != CMD_lgrepadd),
Karsten Hopp d17194
  					   *eap->cmdlinep);
Karsten Hopp d17194
  #ifdef FEAT_AUTOCMD
Karsten Hopp d17194
      if (au_name != NULL)
Karsten Hopp d17194
  	apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
Karsten Hopp d17194
  					       curbuf->b_fname, TRUE, curbuf);
Karsten Hopp d17194
  #endif
Karsten Hopp d17194
      if (res > 0 && !eap->forceit)
Karsten Hopp d17194
-     {
Karsten Hopp d17194
- 	if (wp != NULL)
Karsten Hopp d17194
- 	    qi = GET_LOC_LIST(wp);
Karsten Hopp d17194
  	qf_jump(qi, 0, 0, FALSE);		/* display first error */
Karsten Hopp d17194
-     }
Karsten Hopp d17194
  
Karsten Hopp d17194
      mch_remove(fname);
Karsten Hopp d17194
      vim_free(fname);
Karsten Hopp d17194
--- 2813,2833 ----
Karsten Hopp d17194
  					   (eap->cmdidx != CMD_grepadd
Karsten Hopp d17194
  					    && eap->cmdidx != CMD_lgrepadd),
Karsten Hopp d17194
  					   *eap->cmdlinep);
Karsten Hopp d17194
+     if (wp != NULL)
Karsten Hopp d17194
+ 	qi = GET_LOC_LIST(wp);
Karsten Hopp d17194
  #ifdef FEAT_AUTOCMD
Karsten Hopp d17194
      if (au_name != NULL)
Karsten Hopp d17194
+     {
Karsten Hopp d17194
  	apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
Karsten Hopp d17194
  					       curbuf->b_fname, TRUE, curbuf);
Karsten Hopp d17194
+ 	if (qi->qf_curlist < qi->qf_listcount)
Karsten Hopp d17194
+ 	    res = qi->qf_lists[qi->qf_curlist].qf_count;
Karsten Hopp d17194
+ 	else
Karsten Hopp d17194
+ 	    res = 0;
Karsten Hopp d17194
+     }
Karsten Hopp d17194
  #endif
Karsten Hopp d17194
      if (res > 0 && !eap->forceit)
Karsten Hopp d17194
  	qf_jump(qi, 0, 0, FALSE);		/* display first error */
Karsten Hopp d17194
  
Karsten Hopp d17194
      mch_remove(fname);
Karsten Hopp d17194
      vim_free(fname);
Karsten Hopp d17194
*** ../vim-7.3.196/src/version.c	2011-05-19 17:25:36.000000000 +0200
Karsten Hopp d17194
--- src/version.c	2011-05-19 17:41:50.000000000 +0200
Karsten Hopp d17194
***************
Karsten Hopp d17194
*** 711,712 ****
Karsten Hopp d17194
--- 711,714 ----
Karsten Hopp d17194
  {   /* Add new patch number below this line */
Karsten Hopp d17194
+ /**/
Karsten Hopp d17194
+     197,
Karsten Hopp d17194
  /**/
Karsten Hopp d17194
Karsten Hopp d17194
-- 
Karsten Hopp d17194
I AM THANKFUL...
Karsten Hopp d17194
...for the clothes that fit a little too snug because it
Karsten Hopp d17194
means I have more than enough to eat.
Karsten Hopp d17194
Karsten Hopp d17194
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp d17194
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp d17194
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp d17194
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///