On Fri, Feb 26, 2010 at 3:41 PM, winterTTr <winterttr....@gmail.com> wrote:

> Actually, i meet a problem like below.
> I tried to update a specific "unlisted" buffer every time the BufEnter
> event happens.
>
> the Code like below( just an example, not the real code ):
> I am trying to use the "set eventignore+=BufEnter" and "set
> eventignore-=BufEnter" to prevent the
> process from running recursively.
>
> --------------------------begin-----------------------------------
> function! TestFunc()
>     set eventignore+=BufEnter
>
>     let bufname = bufname("%")
>     " move to specific window
>     2wincmd w
>     " update buffer
>     call append( 0 , bufname )
>     " move back
>     1wincmd w
>
>     set eventignore-=BufEnter
> endfunction
>
> autocmd BufEnter * call TestFunc()
> --------------------------end--------------------------------------
>
> Everything is OK until i do the bufdo command. such as "bufdo s/^/1/"
> "E474: Invalid argument: eventignore+=BufEnter" message is shown.
>
> I can NOT find any information in the documentation showing any limitation
> during the bufdo command.
> And I hope anyone could give the answer to the following question:
> 1. Is there a limitation that you can NOT set the variable "eventignore"
> during the bufdo process?
> 2. If so, is the "eventignore" the only one or are there any other variable
> that have the same limitation?
> 3. Someone told me that the ""set eventignore+=BufEnter" is unnecessary,
> cause the "bufdo" itself would
>     prevent the recursive running ? Is this the truth ?
>

Anyone can give some idea ? :-)


>
>
> If you really want to reproduce the error, i attach the file to do this.
> Please follow the next step:
> 1. source the test.vim
> 2. run a bufdo command, such as ""bufdo s/^/1/"
> And , the error would be shown.
>

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

Raspunde prin e-mail lui