Ответ на сообщение «Re: [BUG] SourcePre autocommand is not toggled on filetype 
plugins, SourceCmd behaves strange in this case», 
присланное в 12:40:41 26 сентября 2010, Воскресенье,
отправитель Andy Wokula:

Yes, adding keyword `nested' after pattern in runtime/ftplugin.vim solved this 
problem. Why is not this the default? If I am not mistaking, `runtime' is the 
only command that generates autocommands in the s:LoadFTPlugin function.

Текст сообщения:
> Am 25.09.2010 21:42, schrieb ZyX:
> > Consider the following command:
> > 
> > vim -u NONE --cmd 'set nocompatible' \
> > 
> >              --cmd 'au SourcePre *  echom "Sourcing ".expand("<afile>")'
> >              \ -c 'syntax on' \
> >              -c 'set ft=vim' \
> >              -c 'redir!>  messages' \
> >              -c 'messages' \
> >              -c 'scriptnames' \
> >              -c 'redir END'
> > 
> > You will get the following in messages:
> > ===== messages =====
> > Перевод сообщений на русский язык: Василий
> > Рагозин<[email protected]> Sourcing
> > /usr/share/vim/vim73/syntax/syntax.vim
> > Sourcing /usr/share/vim/vim73/syntax/synload.vim
> > Sourcing /usr/share/vim/vim73/syntax/syncolor.vim
> > Sourcing /usr/share/vim/vim73/filetype.vim
> > Sourcing /usr/share/vim/vimfiles/ftdetect/asciidoc_filetype.vim
> > <Skipping lots of ftdetect>
> > Sourcing /usr/share/vim/vimfiles/ftdetect/xquery.vim
> > 
> >    1: /usr/share/vim/vim73/syntax/syntax.vim
> >    2: /usr/share/vim/vim73/syntax/synload.vim
> >    3: /usr/share/vim/vim73/syntax/syncolor.vim
> >    4: /usr/share/vim/vim73/filetype.vim
> >    5: /usr/share/vim/vimfiles/ftdetect/asciidoc_filetype.vim
> > 
> > <Skipping lots of ftdetect>
> > 
> >   26: /usr/share/vim/vimfiles/ftdetect/xquery.vim
> >   27: /usr/share/vim/vim73/scripts.vim
> >   28: /usr/share/vim/vim73/syntax/vim.vim
> >   29: /usr/share/vim/vim73/syntax/perl.vim
> >   30: /usr/share/vim/vim73/syntax/ruby.vim
> >   31: /usr/share/vim/vim73/syntax/python.vim
> > 
> > ====================
> > while expected:
> > ===== messages =====
> > Перевод сообщений на русский язык: Василий
> > Рагозин<[email protected]> Sourcing
> > /usr/share/vim/vim73/syntax/syntax.vim
> > Sourcing /usr/share/vim/vim73/syntax/synload.vim
> > Sourcing /usr/share/vim/vim73/syntax/syncolor.vim
> > Sourcing /usr/share/vim/vim73/filetype.vim
> > Sourcing /usr/share/vim/vimfiles/ftdetect/asciidoc_filetype.vim
> > <Skipping lots of ftdetect>
> > Sourcing /usr/share/vim/vimfiles/ftdetect/xquery.vim
> > Sourcing /usr/share/vim/vim73/syntax/vim.vim
> > Sourcing /usr/share/vim/vim73/syntax/perl.vim
> > Sourcing /usr/share/vim/vim73/syntax/ruby.vim
> > Sourcing /usr/share/vim/vim73/syntax/python.vim
> > 
> >    1: /usr/share/vim/vim73/syntax/syntax.vim
> >    2: /usr/share/vim/vim73/syntax/synload.vim
> >    3: /usr/share/vim/vim73/syntax/syncolor.vim
> >    4: /usr/share/vim/vim73/filetype.vim
> >    5: /usr/share/vim/vimfiles/ftdetect/asciidoc_filetype.vim
> > 
> > <Skipping lots of ftdetect>
> > 
> >   26: /usr/share/vim/vimfiles/ftdetect/xquery.vim
> >   27: /usr/share/vim/vim73/scripts.vim
> >   28: /usr/share/vim/vim73/syntax/vim.vim
> >   29: /usr/share/vim/vim73/syntax/perl.vim
> >   30: /usr/share/vim/vim73/syntax/ruby.vim
> >   31: /usr/share/vim/vim73/syntax/python.vim
> > 
> > ====================
> > 
> > The most strange here is that if you change SourcePre to SourceCmd, you
> > will get the same output in messages, but nothing will be sourced. If
> > you prepend to SourceCmd `` | execute "source ".expand('<afile>')'' you
> > will still have the same stuff in messages, but all files will be
> > sourced (and the most strange that I cannot get the last version work
> > without removing ``-u NONE''). Can someone explain this weird behavior?
> > I can see it on vim-7.2.303 (mercurial), vim-7.3 (Gentoo repositories)
> > and vim-7.3 revision d0049ff5969e --with-features=huge.
> 
> Filetype plugins are sourced (actually :runtime'd) from
>      au FileType * call s:LoadFTPlugin()
> 
> I think the "problem" is the SourcePre autocmd being nested within
> another autocommand.  (:h autocmd-nested)

Attachment: signature.asc
Description: This is a digitally signed message part.

Raspunde prin e-mail lui