Closed sgur closed 12 years ago
よく考えたら !exists('g:cfi_disable')
でよさそうですね。
再現状況を教えてください。
plugin/cfi.vimでlet g:cfi_disable = ...
していて
ftpluginやautoloadよりも先にplugin/cfi.vimが読み込まれることを意図しているのですが、
先にftpluginやautoloadが読み込まれてるみたいですね。
autoload/cfi.vimでplugin/cfi.vimを読み込むようにしました。 どのような順序でロードされてるか自信ないので直ってるか確認お願いします...
おっと...コメント直すつもりがpushしてしまっていたのでgit push -fしました... https://github.com/tyru/current-func-info.vim/commit/5d118c204b87dc597ffc48854048b667327250cc
あ、すみません。タイトルに「vim --nopluginで」って書いてありますねorz うーん正直--nopluginで立ち上げた場合はちょっと想定範囲外なのですが、 どんな理由で--nopluginで立ち上げたのでしょうか。 --nopluginの場合はできれば仕様としたいところですが... ただ理由を聞いて需要がありそうだったら対処します。
使い方としては、statuslineに'%{(exists("g:loaded_cfi") && cfi#supported_filetype(&filetype)) ? cfi#format("[%s()]", "[???]") : ""}'
が混ぜてあります。
--noplugin
の理由にあんまり深い意味はなくて、pathogen(neobundleもしくはVundle)のbundleをcloneしていない状態でエラーなく動作するかを確認したかっただけです。
そういう用途であれば、vim -u NONE -U NONE --noplugin
で問題ないですので、仕様としてもらっても特に問題ないです。
了解です。 ちょっとこの件に関してはサポートするのは骨が折れるので仕様とさせてください。 報告ありがとうございました。
あれ...すでにcloseしていた...orz
コミットメッセージにfix #4
って含めたからか...
ftpluginの挙動をよく理解していないので見当違いなことを言っているかもしれませんが、 ftplugin/vim/cfi.vim#5などで、
if g:cfi_disable || get(g:, 'loaded_cfi_ftplugin_vim')
の判定で!exists('g:loaded_cfi')
の判定をしていないため、 gvim --noplugin などで foo.vim などのファイルを開いたときにエラーが表示されてしまいます。これは~.vimファイルを
:edit
したときのですが、エラーメッセージは以下のようなものです。以下のような修正でエラーが出なくなったことは確認しています。