Hi,

On Mon, Jun 25, 2018 at 12:56 AM, Christian Brabandt <[email protected]> wrote:
>
> On So, 24 Jun 2018, Yegappan Lakshmanan wrote:
>
>> Hi,
>>
>> On Sun, Jun 24, 2018 at 8:59 PM, David le Blanc
>> <[email protected]> wrote:
>> > Hi, I've now tested with 8.1.26, and the problem doesn't appear.
>> >
>> > I put together the following contrived example to test;
>> >
>> > vim -u NONE '+cexpr system("grep -nH : *.yml")'
>> >
>> > With 8.1.26, VIM opens with the first YML file displayed, and the cursor on
>> > the first line matching ':'
>> >
>> > With 8.1.115, VIM opens with an empty buffer. Typing :cfirst jumps to the
>> > first file as expected because the quickfix list is valid.
>> >
>>
>> I am able to reproduce the problem with 8.1.115. I narrowed it down
>> to the patch 8.1.0073 which introduced this regression.
>
> I suppose that patch should actually be:
> diff --git a/src/quickfix.c b/src/quickfix.c
> index d541aba54..8de9986f1 100644
> --- a/src/quickfix.c
> +++ b/src/quickfix.c
> @@ -6348,9 +6348,8 @@ ex_cexpr(exarg_T *eap)
>             if (au_name != NULL)
>                 apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
>                                                 curbuf->b_fname, TRUE, 
> curbuf);
> -           if (res > 0 && (eap->cmdidx == CMD_cexpr
> -                                                  || eap->cmdidx == 
> CMD_lexpr)
> -                   && qi == GET_LOC_LIST(curwin))
> +           if (res > 0 && ((eap->cmdidx == CMD_cexpr && qi == &ql_info) ||
> +                       (eap->cmdidx == CMD_lexpr && qi == 
> GET_LOC_LIST(curwin))))
>                 // Jump to the first error if autocmds didn't free the list.
>                 qf_jump(qi, 0, 0, eap->forceit);
>         }
>

I am attaching a patch that uses the quickfix list identifier to address
this problem with the make, cfile, vimgrep, cbuffer and cexpr commands.
I have also added a few tests to test this. Also included fix for two static
analysis warnings.

- Yegappan

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

Attachment: cexpr.diff
Description: Binary data

Raspunde prin e-mail lui