Lcd wrote:

> > > On 1 September 2016, Bram Moolenaar <[email protected]> wrote:
> > > >
> > > > Patch 7.4.2299 Problem:  QuickFixCmdPre and QuickFixCmdPost
> > > > autocommands are not always triggered.  Solution:  Also trigger
> > > > on ":expr", ":cbuffer", etc. (Yegappan Lakshmanan) Files:
> > > > src/quickfix.c, src/testdir/test_quickfix.vim
> > > [...]
> > >
> > >     Sadly, this breaks the interaction of "syntastic" with all
> > > plugins that hook to QuickFixCmdPre or QuickFixCmdPost.  An example
> > > of such plugin is "ferret".  These plugins now have to be fixed to
> > > be aware that they may be called from things like :lgetexpr.  I'd
> > > argue that running QuickFixCmd* for :lgetexpr makes little sense,
> > > since :lgetexpr is almost never called run interactively.  So, was
> > > there an actual reason for this change, right before the release of
> > > Vim 8?
> >
> > Can you give more details about what breaks?  The autocommands are
> > there to allow plugins to deal with changes in the Quickfix list.  I
> > hope it's not actually being used for something else.
> 
>     As I said in another message, people do thinge like this:
> 
>         if has('autocmd')
>         augroup Ferret
>             autocmd!
>             autocmd QuickFixCmdPost [^l]* nested cwindow
>             autocmd QuickFixCmdPost l* nested lwindow
>         augroup END
>         endif
> 
>     This is fine for opening grep windows automatically and what not,
> but the loclists created by things like lgetexpr are typically parsing
> in progress, and are never meant to be displayed at that stage.  Plugins
> calling lgetexpr are now all of a sudden calling autocmds from unrelated
> plugins.
> 
>     As Christian Brabandt points out, this can be prevented by doing
> something like "noautocmd lgetexpr ...", and thus fixing something that
> was never broken.  Or it can be prevented by adding a more restrictive
> pattern in autocmd QuickFixCmd<mumble>, and thus avoiding a pitfall that
> didn't exist before 7.4.2299. _shrug_

I would say that you have just been lucky that the way the quickfix list
was created didn't trigger an autocommand.  These Ferret autocommands
just do what they are supposed to do: open a quickfix window when there
is a quickfix list.  And syntastic creates a quickfix list, thus it
works as intended.

Why is it that the quickfix list that syntastic creates must not be in a
quickfix window?

-- 
hundred-and-one symptoms of being an internet addict:
147. You finally give up smoking...because it made the monitor dirty.

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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui