2013年4月7日日曜日

[emacs] csharp-modeでrevert-bufferが効かなくなる不具合

emacsと、別ツールで同じファイルを開いていて相互で編集を行うような場合、emacsの外の変更を取り込むときに、'revert-buffer'を利用しているのですが、いつのタイミングからか、以下のメッセージが表示され正常に再読込ができない状態になっていました。
'Symbol's value as variable is void: flymake-mode'
数日間、ガマンして使っていたのですがやっぱり不便。 google先生に問い合わせたところ、以下のページがヒットし復旧することができました。
https://code.google.com/p/csharpmode/issues/detail?id=8 
バグ入りのcsharp-modeを入れてしまったのが原因で、上記のサイトに記載されている修正を反映したところ、revert-bufferが復活しました。
(let ((is-flymake-enabled
     (and (fboundp 'flymake-mode)
        flymake-mode)))
"fboudp"を"boudp"に修正する必要があるそうです。 emacs lispは知識不足で問題解析ができるレベルに達していないので精進が必要です。