困ったこと
何故かラップトップのEmacsのcargo-process-modeでだけカラーシーケンスが解釈されなくなった。
しかも同じ環境のデスクトップなんかでは再現されないので非常に困ってしまった。
応急処置
cargo-modeやcomintあたりをdiffで比較したりして原因を探してみたけど違いがなかったので原因の特定はできなかった。
でも、カラーシーケンスを解釈していい感じにしてくれるプラグイン自体は既にbuiltinで入っているのでとりあえず改めて解釈するように設定することにした。
(add-hook 'compilation-filter-hook (lambda ()
(ansi-color-apply-on-region (point-min) (point-max))
cargo-process-modeはcompilation-modeの上で動作しているっぽいので、compilation-modeの出力に対して動作するフックにカラーシーケンスを解釈する関数を追加してやればいい。
正常に動作している方の挙動も変わらなかったので、応急処置としては十分だと思う。
これでいちいちシェルに戻る必要がなくなった。