以前書いた「PythonプログラミングのためのEmacs設定(動画あり)」だが、情報が古くなり、いつのバージョンからかうまく動かなくなってしまった。
(以前のブログは最新情報に合わせて書き換えた)
問題なのはpy-autopep8の設定なのだが、
(add-hook 'before-save-hook 'py-autopep8-before-save)
を
(add-hook 'python-mode-hook 'py-autopep8-enable-on-save)
に変えなければいけない。
ここで面白いのは、以前はbefore-save-hookへの設定だったものが、python-mode-hookに変わったこと。つまりファイル保存時の起動をそとから明示的にキックしてもらうのではなく、自発的にやるようになった。
最新版ではpy-autopep8-before-saveは消えてしまったので、旧設定のままpy-autopep8のアップグレードをして、pythonファイルを開くとエラーで保存ができなくなってしまいハマった。ということを再現しようと思ったら、いまは再現せず保存できるようになった。Emacs本体側で対応したのかかもしれない。問題に気づいてからしばらく経っているうちに状況が変わってしまったようだ。
ところで、Windowsでpy-autopep8を使うと保存するたびに一番左上にカーソルが動いてすごく不便なんだけど、なんとかならないだろうか。