2.0.7以降のtuaregでインデントがうへぇ、となったとき

最近、久しぶりにEmacsの環境を再構築しましたが、その際に、色々なelispも一緒に最新になったのですが、いくつか動作が変わったりとかいうのがありました。

その中で一番びっくりしたのが、tuaregが最新になったのを忘れて.mlファイルを開いたときです。まず何が違うって、

  • faceがかなり変わっている
  • インデントがびっくりするくらい変わっている

特に2番目が深刻で、どうやっても直ってくれずに途方に暮れていましたが、よくソースを見たら、一つ変数の値を設定するだけでなんとかなることがわかりました。

(setq tuareg-use-smie nil)

これで今迄通りのインデントになりました。

smie?

SMIEは、Simple Minded Indentation Engineの略で、インデントのための様々なヘルパーやエンジンを提供しているものです。24.3から新しく提供されたらしいです。
詳しくはこちらで。
Emacs の Major Mode におけるインデント計算を楽にする smie.el

tuaregのソースを見たときに、この部分に関連するソースに大量のTODOが貼ってあったので、とりあえず使ってバグを出してくれー、といったところでしょうか。
本当はこっちを利用するようにした方がよさそうなので、機を見てまた有効にしようとは思います。