Carbon Emacsからの卒業
特に不満はないのだけれど,前から移行したいなと思っていたので,思いきって移行する.
ソースからコンパイル
ちょっと調べてみると,一応バイナリの配布もあるみたいだけど,ソースからコンパイルしている人が多数.せっかくなのでソースからのコンパイルをやってみる.要Xcode.
Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア
インストール手順だけじゃなくて,使い方までまとまってる.
いろんなサイトでの実行例が23.3aだったので,そのまま23.3aのファイルをダウンロードしてみたけど,なぜかサイズが319Bのファイル... そんな小さいわけないだろう,と思って調べてみたら23.3bがつい最近出てたみたいなので23.3bにしてみる.
しかし,↑のサイトの通りにコンパイルしようと思ったら途中でコケる.Lionだとダメっぽい.そこで,さらに調べてみるといろいろパッチが出てるみたいなので,当てる.ついでなのでLionのフルスクリーン対応パッチも当てる.IMEパッチは当てない (SKK使うのでいらない).
MacBook Air with Lionセットアップ - 日々の報告書
Emacs on OSX 10.7(Lion)
PDFです.
# 作業ディレクトリ作成 mkdir emacs-23.3-build cd emacs-23.3-build # ソースダウンロード curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3b.tar.gz # 各種パッチダウンロード curl -O https://trac.macports.org/raw-attachment/ticket/30268/patch-no-pie.diff curl -O https://trac.macports.org/raw-attachment/ticket/30268/patch-fix-title-bar.diff curl -O https://trac.macports.org/export/77151/trunk/dports/editors/emacs/files/patch-src_unexmacosx.c.diff # Lionのフルスクリーン対応 curl -O http://cloud.github.com/downloads/typester/emacs/emacs-23-lion-fullscreen-test.patch # 展開 tar xvfz emacs-23.3b.tar.gz cd emacs-23.3 # パッチを当てる patch -p0 < ../patch-no-pie.diff patch -p0 < ../patch-fix-title-bar.diff patch -p1 < ../patch-src_unexmacosx.c.diff # can't find file to patch at input line 3 # Perhaps you used the wrong -p or --strip option? # The text leading up to this was: # -------------------------- # |--- src/unexmacosx.c.orig 2011-01-08 12:45:14.000000000 -0500 # |+++ src/unexmacosx.c 2011-03-21 04:44:57.000000000 -0400 # -------------------------- # File to patch: src/unexmacosx.c patch -p1 < ../emacs-23-lion-fullscreen-test.patch # configure, make, install ./configure --with-ns --without-x make bootstrap make installnextstepの中にEmacs.appができるので,/Applications に移動して使う.ちゃんとフルスクリーンも対応してる.
.emacsの修正
Carbon Emacsの設定そのままだとエラーが出たのでいくつか修正.
; これがあるとエラーが出る ;(utf-translate-cjk-mode t) ; window-system が mac から ns になったので関連するところを修正 ;(if (eq window-system 'mac) (if (eq window-system 'ns) ; carbon-font でのフォント設定はできない ; (require 'carbon-font) ; (fixed-width-set-fontset "hiramaru" 16) ; フォントの設定 ; http://leadproject.web.fc2.com/FC2/Unix_App_on_Lion_files/emacs.pdf (when (>= emacs-major-version 23) (set-face-attribute 'default nil :family "monaco" :height 140) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("Hiragino Maru Gothic Pro" . "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 '("Hiragino Maru Gothic Pro" . "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'mule-unicode-0100-24ff '("monaco" . "iso10646-1")) (setq face-font-rescale-alist '(("^-apple-hiragino.*" . 1.2) (".*osaka-bold.*" . 1.2) (".*osaka-medium.*" . 1.2) (".*courier-bold-.*-mac-roman" . 1.0) (".*monaco cy-bold-.*-mac-cyrillic" . 0.9) (".*monaco-bold-.*-mac-roman" . 0.9) ("-cdac$" . 1.3)))) ; 透明度が%表示だと反映されない ; (add-to-list 'default-frame-alist '(alpha . (80 70))) (add-to-list 'default-frame-alist '(alpha . (0.8 0.7)))まだ修正が必要かもしれないけど,とりあえずエラーはなくなった.
SKKのインストール
Mac Book Airの方にはSKKを入れてなかったのでインストール (AquaSKKは入れてたけど).
curl -O http://openlab.ring.gr.jp/skk/maintrunk/ddskk-14.3.tar.gz tar xvzf ddskk-14.3-tar.gz cd ddskk-14.3SKK-CFG のコメントを外す.
;;; Apple Mac OS X における self-contained な Carbon/Cocoa Emacs の設定例: (setq SKK_DATADIR "/Applications/Emacs.app/Contents/Resources/etc/skk") (setq SKK_INFODIR "/Applications/Emacs.app/Contents/Resources/info") (setq SKK_LISPDIR "/Applications/Emacs.app/Contents/Resources/site-lisp/skk") (setq SKK_SET_JISYO t)make&installで完了.
make install EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs
(2011.12.6 追記) EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs が必要.
ddskk 14.2 をインストールする際の注意点 - My Emaps
;; AquaSKK 対策 (setq mac-pass-control-to-system nil) ;; AquaSKK と辞書を共用 ; skkserv (setq skk-server-host "localhost") (setq skk-server-portnum 1178)AquaSKK側もskkservの設定をしておく.
ちゃんと比較はしてないけど,明らかにCarbon Emacsより起動が速い.たぶん,プログラムそのものの実行が速くなったというよりも,余分なelispを読まなくなったんだと思う.