Emacs 23.3aをHomebrewを使って自分でインスコした

読了まで:約3分


概要: Emacs 23.3a を Homebrew を使ってインストール


こんにちま!

最近技術系記事をさっぱり書いてなかったにゃるらこと岡村直樹(23)です。 皆さん開発してますか? 僕は最近個人事業主になるべく、色々と作ってます。

さて、プログラミングをする上で重要な要素なのが編集環境、 ぶっちゃけていうとエディタな訳ですが、僕は Linux Mint やらを使いだした頃から、 Emacs を使ってきました。

で、8 月に Macbook Air 13" mid 2011 を買ってからも Emacs を使ってきたんですが、 今まで Mac OS X 上で使ってきた Emacs は、コンパイル済みのもので、 あんまり気にせずに使ってきたんですが、せっかく Homebrew も使ってることだし、 Homebrew を使って Emacs をインスコしよう! ということで、 今日稲刈りの合間を縫って試行錯誤してました。

ということで今日はその辺りのことを書きたいと思います。

2011-09-08 現在、公式の Formula ではコンパイルできない

そのうち直るとは思うんですが、2011-09-08 現在、 Homebrew の公式 Formula を使ったコンパイルは、OSX Lion 上だとうまく行きません。

なんで色々と修正する必要があり、色々と面倒なんですが、 今現在では ColinHebit という方が、 修正済みの Formula を公開していたりします。

で、英語圏のユーザーさんならこれを使えば問題ナッシング! なんですが、 この Formula では、日本語入力モードの時に、Shift + 記号を入力した際に、 入力が半角になる問題を修正するための typester さん謹製パッチが取り込まれてないため、 それを修正する必要があります。

で、僕の場合、まず Emacs 用 Formula であるemacs.rbを一旦ダウンロードしてきて、

if ARGV.include? "--cocoa"
# Fullscreen patch, works against 23.3 and HEAD.
p << "https://raw.github.com/gist/1012927"
end

のあたりに、

p << "https://github.com/downloads/typester/emacs/fix-shiftmodifier-with-ime.patch"

を追加しました。

で、あとは端末から、

$ sudo brew install /path/to/emacs.rb --cocoa --srgb

すれば、Emacs がコンパイルできます。

で、コンパイルが終わると、/usr/local/Cellar/emacs/23.3a/Emacs.appが出来上がるので、 これを/Applicationsにコピーしてきます。

これで、Emacs のインスコは終わりです。

emacs -nwでクラッシュする場合の修正

これは僕の環境での話なんですが、~/.emacsに GUI 環境固有の設定を書いていたせいで、 emacs -nwがクラッシュする、という状況に遭遇しました。

実を言うと最初これに気がつかなくて、Emacs が cli で起動しない! 何故だ! とかなってました。

で、これは一応、~/.emacsに、

(defvar run-cocoa
(equal window-system 'ns))

とか書いて、GUI 固有の設定をする際に、

(if run-cocoa
;; GUI時の設定
)

という感じにして直りました。

この辺り、typester さんの公開している Emacs の設定をパクリました。 typester さんありがとうございます。

という感じです

という感じで以上が Cocoa Emacs を Homebrew でコンパイルしてインスコする話でした。

最初色々と試行錯誤してて、設定が原因で Emacs がクラッシュ!とかなってたものの、 稲刈り終わってから試してたらかなりすんなり行って、ちょっと拍子抜けした感じです。 快適になったんでよかったですけどね。

まあ Cocoa Emacs をコンパイルする話は他の方の Blog にも書いてあったりしますが、 僕も一応まとめてみた感じです。まあ一回でも書くと忘れないからね。

ざっと今日の作業はこんな感じでしたが、まあ何かの役に立てば幸いです。

ということで、以上で終わります。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。