On So, 16 Feb 2014, Gary Johnson wrote:

> I have a plugin that needs to track the line number of the cursor in
> order to display some information in the status line.  The
> CursorHold event works fine for this except when a buffer is first
> opened, as when opening a quickfix error file with -q.  I thought
> that I could use the BufWinEnter event to grab the initial line
> number in this case, but it appears to be triggered before the
> quickfix procedure moves the cursor.
> 
> This behavior can be demonstrated as follows.  The source file
> main.c contains an error at line 5.
> 
>     #include <stdio.h>
> 
>     main(int argc, char *argv[])
>     {
>         exit(0);
>     }
> 
> When an error file is generated and opened with Vim's -q option, the
> line number at the time of the BufWinEnter event is 1.  I would
> think it would be 5, the line number that the cursor is on when the
> buffer is displayed.
> 
>     $ make main > make.out 2>&1
>     $ vim -N -u NONE -i NONE --cmd 'au BufWinEnter * let a=line(".")' -c 'let 
> b=line(".")' -q make.out
>     :echo a b
>     1 5
> 
> Is this a bug?  ":help BufWinEnter" says it is triggered "After a
> buffer is displayed in a window."  It appears to be triggered before
> the buffer is displayed.

I think, what you are seeing is the effect of --cmd which means its 
arguments will be executed early. In your case when the first empty 
buffer is entered and before the errorfile is read in.

Best,
Christian
-- 
Now I am depressed ...

-- 
-- 
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/groups/opt_out.

Raspunde prin e-mail lui