On 2 September 2016, Bram Moolenaar <[email protected]> wrote:
>
> 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_
/lcd
--
--
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.