On Monday, April 18, 2016 at 1:43:19 AM UTC+3, yega...@gmail.com wrote:
> Hi,
> 
> On Sun, Apr 17, 2016 at 11:38 AM, Yegappan Lakshmanan
> <yegapp...@gmail.com> wrote:
> > Hi,
> >
> > On Sun, Apr 17, 2016 at 3:35 AM, Ramel Eshed <rame...@gmail.com> wrote:
> >> On Sunday, April 17, 2016 at 3:12:55 AM UTC+3, yega...@gmail.com wrote:
> >>> Hi,
> >>>
> >>> On Sat, Apr 16, 2016 at 3:43 PM, Yegappan Lakshmanan
> >>> <yegapp...@gmail.com> wrote:
> >>> > Hi,
> >>> >
> >>> > On Sat, Apr 16, 2016 at 12:52 PM, Ramel Eshed <rame...@gmail.com> wrote:
> >>> >> Adding an item to the current quickfix list causes a jump to the first 
> >>> >> item rather than keeping the current context:
> >>> >>
> >>> >> Download the attached file;
> >>> >> vim -u NONE -N
> >>> >> :source qf_test.vim
> >>> >>
> >>> >> -After adding 2 items, :cn, adding one more item and another :cn we 
> >>> >> are in (2 of 3) instead of (3 of 3).
> >>> >>
> >>> >
> >>> > The setqflist() function resets the index of the quickfix list so that 
> >>> > it
> >>> > points to the first entry (even if entries are appended to the list).
> >>> >
> >>> > Due to a bug in the set_errorlist() function, the index is set to 1 
> >>> > instead
> >>> > of zero. That is why, you saw 2 of 3 instead of 1 of 3.
> >>> >
> >>>
> >>> The quickfix index is 1 based and not zero based. The current code 
> >>> correctly
> >>> sets the index to 1. So there is no bug in the current code.
> >>>
> >>> The documentation for the setqflist() function needs to be updated to
> >>> state that it will reset to the first valid entry.
> >>>
> >>> - Yegappan
> >>
> >> Is there any reason to reset the pointer each time? I think that it is
> >> more reasonable to leave the pointer as it when adding to the list so
> >> it’d be possible to work with the list and adding new items to it when
> >> they’re available without losing the context.
> >>
> >
> > Agreed. I will send out a patch later today for this.
> >
> 
> A patch with tests is attached.
> 
> - Yegappan
> 
> >
> >>
> >> What I’m trying to do is to start a job that will search in a large
> >> code base and to be able to work with the available results as they
> >> appear. I don’t want to wait for the entire search to complete. Now,
> >> when trying to call setqflist(…, ‘a’) from the job’s callback I can’t
> >> really work with the results that already arrived.
> >>
> >
> > Makes sense.
> >

Great! Thanks Yegappan, this is a really nice feature I've been waiting to see 
for years.

There is one more minor issue though, with the quickfix window. Each addition 
puts the cursor at the line of the current item so it is not possible to 
navigate inside the quickfix window while the results are being added (with 
hjkl, for example. only :cn is working). Could you please fix that as well?

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to