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 -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui