Python-mode(2.6系対応)インストールのメモ

Emacsには標準でPythonモードが入ってるんけど,2.6の構文を認識しないので書きづらい.

というわけで2.6に対応したモードをインストールする.

インストール

どこにPython-modeの2.6対応版があるかと思ったんだけど,

とりあえず標準パッケージに含まれてる事を期待してみる.

まず標準ソースコードを落として展開する.

$ cd src
$ curl -O http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tar.bz2
$ tar xvf Python-2.6.2.tar.gz2
$ cd Python-2.6.2

でelファイルを漁ってみる.

$ find . | grep .el$
./Misc/python-mode.el

ビンゴ!

で,これをいつものようにsite-lispに移す.

$ cp ./Misc/python-mode.el /to/site/lisp/

あとは.emacsファイルにこれを追加.

(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons '("python" . python-mode)
				   interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)

以上で勝手に呼び出される.

インデント問題

自分のCarbonEmacsだけなのかわかりませんが,新しいPython-modeを呼び出したら,

インデントがスペースからタブに変わってた!しかもwidthが8....fuck!!!

あり得ないので以下の設定を追加.

(add-hook 'python-mode-hook
          (function (lambda ()
		      (setq py-indent-offset 4)
                      (setq indent-tabs-mode nil))))

これでおk

参考文献