To: vim_dev@googlegroups.com
Subject: Patch 7.3.468
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.468
Problem:    For some compilers the error file is not easily readable.
Solution:   Use QuickFixCmdPre for more commands. (Marcin Szamotulski)
Files:	    runtime/doc/autocmd.txt, src/quickfix.c


*** ../vim-7.3.467/runtime/doc/autocmd.txt	2012-02-12 20:13:55.000000000 +0100
--- runtime/doc/autocmd.txt	2012-03-07 20:07:23.000000000 +0100
***************
*** 695,701 ****
  QuickFixCmdPre			Before a quickfix command is run (|:make|,
  				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
  				|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
! 				|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
  				The pattern is matched against the command
  				being run.  When |:grep| is used but 'grepprg'
  				is set to "internal" it still matches "grep".
--- 699,708 ----
  QuickFixCmdPre			Before a quickfix command is run (|:make|,
  				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
  				|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
! 				|:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
! 				|:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
! 				|:lgetfile|, |:laddfile|, |:helpgrep|,
! 				|:lhelpgrep|).
  				The pattern is matched against the command
  				being run.  When |:grep| is used but 'grepprg'
  				is set to "internal" it still matches "grep".
***************
*** 706,712 ****
  							*QuickFixCmdPost*
  QuickFixCmdPost			Like QuickFixCmdPre, but after a quickfix
  				command is run, before jumping to the first
! 				location.  See |QuickFixCmdPost-example|.
  							*RemoteReply*
  RemoteReply			When a reply from a Vim that functions as
  				server was received |server2client()|.  The
--- 713,722 ----
  							*QuickFixCmdPost*
  QuickFixCmdPost			Like QuickFixCmdPre, but after a quickfix
  				command is run, before jumping to the first
! 				location. For |:cfile| and |:lfile| commands
! 				it is run after error file is read and before
! 				moving to the first error. 
! 				See |QuickFixCmdPost-example|.
  							*RemoteReply*
  RemoteReply			When a reply from a Vim that functions as
  				server was received |server2client()|.  The
*** ../vim-7.3.467/src/quickfix.c	2012-02-22 14:58:24.000000000 +0100
--- src/quickfix.c	2012-03-07 20:10:07.000000000 +0100
***************
*** 2995,3005 ****
  {
      win_T	*wp = NULL;
      qf_info_T	*qi = &ql_info;
  
      if (eap->cmdidx == CMD_lfile || eap->cmdidx == CMD_lgetfile
! 	|| eap->cmdidx == CMD_laddfile)
  	wp = curwin;
  
  #ifdef FEAT_BROWSE
      if (cmdmod.browse)
      {
--- 2995,3022 ----
  {
      win_T	*wp = NULL;
      qf_info_T	*qi = &ql_info;
+ #ifdef FEAT_AUTOCMD
+     char_u	*au_name = NULL;
+ #endif
  
      if (eap->cmdidx == CMD_lfile || eap->cmdidx == CMD_lgetfile
! 					       || eap->cmdidx == CMD_laddfile)
  	wp = curwin;
  
+ #ifdef FEAT_AUTOCMD
+     switch (eap->cmdidx)
+     {
+ 	case CMD_cfile:	    au_name = (char_u *)"cfile"; break;
+ 	case CMD_cgetfile:  au_name = (char_u *)"cgetfile"; break;
+ 	case CMD_caddfile:  au_name = (char_u *)"caddfile"; break;
+ 	case CMD_lfile:	    au_name = (char_u *)"lfile"; break;
+ 	case CMD_lgetfile:  au_name = (char_u *)"lgetfile"; break;
+ 	case CMD_laddfile:  au_name = (char_u *)"laddfile"; break;
+ 	default: break;
+     }
+     if (au_name != NULL)
+ 	apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name, NULL, FALSE, curbuf);
+ #endif
  #ifdef FEAT_BROWSE
      if (cmdmod.browse)
      {
***************
*** 3031,3040 ****
--- 3048,3069 ----
  				  && (eap->cmdidx == CMD_cfile
  					     || eap->cmdidx == CMD_lfile))
      {
+ #ifdef FEAT_AUTOCMD
+ 	if (au_name != NULL)
+ 	    apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, NULL, FALSE, curbuf);
+ #endif
  	if (wp != NULL)
  	    qi = GET_LOC_LIST(wp);
  	qf_jump(qi, 0, 0, eap->forceit);	/* display first error */
      }
+ 
+     else
+     {
+ #ifdef FEAT_AUTOCMD
+ 	if (au_name != NULL)
+ 	    apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, NULL, FALSE, curbuf);
+ #endif
+     }
  }
  
  /*
*** ../vim-7.3.467/src/version.c	2012-03-07 19:38:52.000000000 +0100
--- src/version.c	2012-03-07 20:11:54.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     468,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
155. You forget to eat because you're too busy surfing the net.

 /// 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    ///
