メモの日々


2014年01月07日(火) [長年日記]

[vim] Vim 7.4.135がmakeのディレクトリ変更を検出しない

Vimの最新のソースをMercurialから取ってきてコンパイルしてみたのだけれど、:make したときにエラー箇所にジャンプしなくなっていることに気づいた。

Vimにはmakeコマンドが出力する「Enter directory」といった文字列を解釈してよきに計らってくれる機能があるんだけど、これが機能していないのが原因みたい。古いバージョンの7.2.411だとちゃんとジャンプするのでerrorformatオプションの内容を比べてみたところ、古いバージョンだと

%D%*\a: Entering directory `%f'

という設定だった所が

%D%*\a: Entering directory [`']%f'

に変わっていた。試しにerrorformatオプションの該当箇所を古いバージョンの設定に変更してみると正しくジャンプするようになった。

Vimの最近の変更を調べてみたら、issueに

というのがあって、

でそれへの対応が入っている感じだった。この変更でerrorformatオプションの設定が変わっていて、手元の環境だとこのせいで正しく動かなくなってしまうみたい。「[`']」という正規表現(なんだと思う)が正しく解釈できていないのかな?

ひとまず、件の変更を元に戻す修正を手元のVimのソースに対して行ってコンパイルし直したら、エラー箇所にちゃんとジャンプするようになった。