Hi,
On Tue, Oct 27, 2015 at 1:39 PM, Benjamin Fritz <[email protected]> wrote:
> I have a mapping that executes the :cnext command (or another command based
> on context):
>
> " map <F3> and <S-F3> to jump between locations in a quickfix list, or
> " differences if in window in diff mode
> if v:version >= 700
> nnoremap <expr> <silent> <F3> <SID>NextThingJump()
> nnoremap <expr> <silent> <S-F3> <SID>PrevThingJump()
>
> function! s:NextThingJump()
> let cmd=''
> if &diff
> let cmd.= "]c"
> elseif !empty(getloclist(0))
> let cmd.= ":lnext\<CR>zv"
> elseif !empty(getqflist())
> let cmd.= ":cnext\<CR>zv"
> else
> let cmd.= 'n'
> endif
> return cmd.":.list\<CR>"
> endfun
>
> function! s:PrevThingJump()
> let cmd=''
> if &diff
> let cmd.= "[c"
> elseif !empty(getloclist(0))
> let cmd.= ":lprev\<CR>zv"
> elseif !empty(getqflist())
> let cmd.= ":cprev\<CR>zv"
> else
> let cmd.= 'N'
> endif
> return cmd.":.list\<CR>"
> endfun
>
>
> When using this command, with a quickfix list populated by a :make command,
> I got a crash as follows:
>
Can you reproduce this issue with a sample/simple quickfix list? Is it
possible for
you to reproduce the problem using Vim 7.4.857?
Thanks,
Yegappan
>
>> gvim.exe!qf_jump(qf_info_S * qi, int dir, int errornr, int forceit) Line
>> 1903 + 0x15 bytes C
> gvim.exe!do_one_cmd(unsigned char * * cmdlinep, int sourcing, condstack *
> cstack, unsigned char * (int, void *, int)* fgetline, void * cookie) Line
> 2962 C
> gvim.exe!do_cmdline(unsigned char * cmdline, unsigned char * (int, void *,
> int)* fgetline, void * cookie, int flags) Line 1138 C
> gvim.exe!nv_colon(cmdarg_S * cap) Line 5437 C
> gvim.exe!normal_cmd(oparg_S * oap, int toplevel) Line 1183 C
> gvim.exe!main_loop(int cmdwin, int noexmode) Line 1352 C
> gvim.exe!VimMain() Line 1050 + 0x9 bytes C
> gvim.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInst, char *
> lpszCmdLine, int nCmdShow) Line 131 C
> gvim.exe!__tmainCRTStartup() Line 275 + 0x21 bytes C
>
> Here is the content of the "locals" window in a Visual Studio debugger:
>
> + qi 0x0000000000000000 {qf_refcount=??? qf_listcount=??? qf_curlist=???
> ...} qf_info_S *
> dir 0x00000001 int
> errornr 0x001becd0 int
> forceit 0x00000000 int
> + e_no_more_items 0x000000013f8b0b48 "E553: No more items" unsigned char *
>
> And here is the "Autos" window:
>
> + IObuff 0x0000000001c5bbc0 "(2 of 0) (line deleted) ): " unsigned char *
>
> I know this may not be all that useful, but maybe somebody will see
> something (related to qi being NULL no doubt).
>
> qf_ptr and len can't be found at all by the debugger for some reason.
>
> msg_scrolled is currently set to 1.
>
> I'm not sure why there would be a "no more items" string in the local
> variables, unless that is pre-populated just in case of error. I was
> somewhere in the middle of my quickfix hits, transitioning from one file to
> another, with an ignored line in between the real lines in the quickfix
> list.
>
> I don't have time to try narrowing it down any further, sorry.
>
> My Vim version is a 64-bit 7.4.898, HUGE version with GUI, on 64-bit
> Windows. I do have several plugins active that use the Python interface but
> from the crash location I doubt that's related.
>
--
--
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.