2016-04-09 20:10 GMT+03:00 h_east <[email protected]>:
> Hi Mr.Emotionless precise machine!
>
> 2016-4-10(Sun) 1:16:31 UTC+9 ZyX:
>> 2015-02-05 17:46 GMT+03:00 h_east:
>> > Hi Enno,
>> >
>> > 2015/2/5(Thu) 18:25:49 UTC+9 Enno:
>> >> Le jeudi 5 février 2015 05:12:19 UTC+1, h_east a écrit :
>> >> > Hi Enno,
>> >> >
>> >> > 2015/2/4(Wed) 20:42:57 UTC+9 Enno:
>> >> > > How about
>> >> > >
>> >> > > let b:isLoc = len(getloclist(0)) > 0 ? 1 : 0
>> >> > >
>> >> > > inside of a qf filetype window. See :h getloclist() that explains
>> >> > >
>> >> > > For a location list window, the displayed location list is returned.
>> >> > >
>> >> > > All credit to romainl at
>> >> > > https://github.com/romainl/dotvim/blob/44e87b3fbb829145a23bd5b2be1807cc958308e5/bundle/qf/after/ftplugin/qf.vim
>> >> >
>> >> > A location list can be associated with a quickfix window.
>> >> > In this case, it can not be determined correctly in this work-around.
>> >> >
>> >> > Try this:
>> >> > - move Vim source-code directory.
>> >> > $ cd vim/src
>> >> > - run vim (no vimrc, no plugin)
>> >> > $ vim -N -u NONE screen.c
>> >> >
>> >> > :vimgrep screen *.c
>> >> > :copen
>> >> > :echo len(getloclist(0)) " on quickfix window
>> >> > 0 " Correct
>> >> > :lvimgrep update_screen *.c
>> >> > :wincmd w
>> >> > :lopen
>> >> > :echo len(getloclist(0)) " on location list window
>> >> > 75 " Correct
>> >> > :wincmd k
>> >> > :echo len(getloclist(0)) " on quickfix window
>> >> > 75 " Not correct!
>> >> >
>> >> >
>> >> > Our patch always returns correct value.
>> >> > Thanks for the response.
>> >> >
>> >> > Best regards,
>> >> > Hirohito Higashi (a.k.a h_east)
>> >>
>> >> Hello Hirohito,
>> >>
>> >> Yep, this check has several issues. Yours stands, as well as that it
>> >> fails when the qflist is empty.
>> >>
>> >> More stable seems the following workaround attachched below, originally
>> >> from
>> >>
>> >> https://groups.google.com/forum/#!msg/vim_use/sfRlnrOwN2M/JAdzwHe51qYJ
>> >>
>> >> but at the same time, it shows that this patch is called for.
>> >>
>> >> --
>> >>
>> >> In ~/.vim/ftplugin/qf.vim:
>> >>
>> >> if exists('s:processing')
>> >> finish
>> >> endif
>> >> let listbufnr = bufnr("%")
>> >> let numwindows = winnr('$')
>> >> let altwin = winnr('#')
>> >> let curwin = winnr()
>> >> let s:processing = 1
>> >> copen
>> >> if curwin == winnr()
>> >> call setbufvar(listbufnr, 'isQuickfix', '1')
>> >> endif
>> >> " close the quickfix list if it was closed when we began
>> >> if numwindows != winnr('$')
>> >> cclose
>> >> endif
>> >> " return to quickfix/location list
>> >> exe altwin 'wincmd w'
>> >> exe curwin 'wincmd w'
>> >> unlet s:processing
>> >>
>> >> Then a buffer of file type qf is a quickfix list if b:isQuickfix exists.
>> >
>> > I like simple way.
>> > I dislike work-around.
>> > I dislike complex way.
>> >
>> > Our patch is very simple.
>> > In fact, This patch is only two line.
>>
>> You forgot documentation. I guess this will add at least five lines
>> (empty line, tag, description (two lines), empty line).
>
> Huh? Is this your humor?
> It's not so much fun.
It is not only a humor. Your “two-line patch” is missing tests and
documentation and thus can be included in neither Vim nor Neovim. And
with them it will no longer be two-line.
>
> Thanks.
>
>> More with
>> examples. See `:h b:current_syntax-variable`, but this should be put
>> somewhere in quickfix.c: e.g. somewhere under `:h w:quickfix_title`,
>> but please attach tag to the paragraph with description, *not* to the
>> :copen command like w:quickfix_title (e.g. I would suggest using
>> b:current_syntax as a reference, but place it where w:quickfix_title
>> is placed).
>>
>> >
>> >> set_internal_string_var("b:qflisttype", (curwin->w_llist_ref
>>
>> And also tests. I am not familiar with that part of Vim, but
>> `curwin->w_llist_ref == NULL` looks suspicious: what if you *first*
>> create a location list and then from the same window create a location
>> list? This and the opposite (first quickfix) should be tested.
>>
>> >> == NULL) ? "quickfix" :
>> >> "location");
>> >
>> > What's dislike you this patch?
>> >
>> > Let's go the simple way :-)
>>
>> There is also a question whether this shoud be `b:qflisttype` or
>> `w:qflisttype`. w:quickfix_title is attached to the window.
>>
>> >
>> > Best regards,
>> > Hirohito Higashi (a.k.a h_east)
>> >
>> > --
>> > --
>> > 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.
>
> --
> --
> 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.
--
--
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.