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が貼ってあったので、とりあえず使ってバグを出してくれー、といったところでしょうか。
本当はこっちを利用するようにした方がよさそうなので、機を見てまた有効にしようとは思います。