ujihisa/vital.vim — Issue #20: vital.vimのバージョンファイルの読み取り方がおかしい
Author: Shougo
Created: 2012-03-08 03:21:56+00:00
State: open

https://github.com/ujihisa/vital.vim/issues/8

これは上記の一度closeされた問題の派生です。
Windows環境でのgitは初期設定にてLFをCRLFに変換するらしく、vital.vimのバージョンファイルもCRLFに変換されます。

そして、vital#of()では

function! vital#of(name)
let files = globpath(&runtimepath, 'autoload/vital/' . a:name . '.vital')
let file = split(files, "\n")
if empty(file)
throw 'vital: version file not found: ' . a:name
endif
let ver = readfile(file[0], 'b')
if empty(ver)
throw 'vital: invalid version file: ' . a:name
endif
return vital#_{ver[0]}#new()
endfunction

上記のようにreadfile('b')を用いているので、CRLFの改行コードが変換されずCRがついてしまいます。そしてその関数を`vital#_{ver[0]}#new()`で読み込もうとするので当然エラーとなります。

gitの自動変換をやめて、バージョンファイルをLFのまま保存するようにすれば問題は無いです。

vital#of()は歴史的事情で変えられなかったのだと思いますが、これは修正するべきでしょう。