Emacs 23 をインストールしてみる

MacPortsEmacs 23 がインストールできるらしいので、 ここは一つインストールしてみることにした。 今までプレインストールの emacs 22 をターミナルで使っていたのだが、 Undo が C-? じゃなくて C-_ になっているとか、 マウスでカーソル移動できないとか、 キルリングとペーストボードが連携していないとか、 特にことえりとの連携がうまく行かないので少しフラストレーションがたまっていた。

$ port search emacs
とするとずらずらと emacs 関連のパッケージが表示される。 どうやら emacs-app が目的のもののようだ。
$ sudo port install emacs-app
としてインストールを開始するとなぜかエラーになってしまう。 ネットを検索してみるとどうやら既知のものらしく、 emacs-app-devel を使えとあった。

そこでインストールすると無事完了。

$ open -a Emacs
で見事起動した。

いろいろ .emacs.el をいじっているうちに、

(setq default-input-method "MacOSX")
とすると IM の起動に失敗することに気づいた。 これもネットを調べたが特にためになるような記述は何処にもなかった。 これはどうも MacPortsemacs-app には inline パッチがあたってないだけなのではないだろうか。

そこですかさず uninstall し、 MacEmacs JP Project の CocoaEmacs のページを参考にしてソースからビルドすることにした。 これもやはり安定版では Snow Leopard ではコンパイルできないので、 CVS から取ってくる必要がある。

指示された通りにパッチを当てつつ make すると、 ものの 10 分程でコンパイルが完了した。 10 年以上前に make したときは数時間かかったような覚えがあるのだけれど、 Emacs ってもう、 軽い部類のアプリケーションに属してたりして。

さて、 問題はフォントである。 Version 22 の頃とは少し変わっているらしい。 が、 これもやはり MacEmacs JP Project の CocoaEmacs のページに、 フォントの設定方法が書いてあった。 Monaco 14 ポイント + ヒラギノ丸ゴシックPro の組み合わせである。 これを 11 ポイント + 小塚明朝Pro にしたい。 小塚明朝は Adobe CS 3 についてきたもの。 ヒラギノ角ゴシック Pro なども試してみたけれど、 やはりこれが一番しっくり来た。 まあちょっと線が細いのがなんだが。 (ボールドフォントを指定すればいいのかもしれないけれど、 設定の仕方がわからない。)

設定の Emacs Lisp は次のようなものだ。 変更したところに 「;; <== 」 とコメントしておいた。

(when (>= emacs-major-version 23)
  (setq fixed-width-use-QuickDraw-for-ascii t)
  (setq mac-allow-anti-aliasing t)
  (set-face-attribute 'default nil
		      :family "monaco"
		      :height 110)         ;; <== 11ポ
  ;; 日本語文字設定
  (set-fontset-font
   (frame-parameter nil 'font)
   'japanese-jisx0208
   ;;'("Hiragino Maru Gothic Pro" . "iso10646-1")
   '("Kozuka Mincho Pro" . "iso10646-1")    ;; <== 小塚明朝Pro
   )
  (set-fontset-font
   (frame-parameter nil 'font)
   'japanese-jisx0212
   ;;'("Hiragino Maru Gothic Pro" . "iso10646-1")
   '("Kozuka Mincho Pro" . "iso10646-1")    ;; <== 小塚明朝Pro
   )
 ;;; Unicode フォント
  (set-fontset-font
   (frame-parameter nil 'font)
   'mule-unicode-0100-24ff
   '("monaco" . "iso10646-1"))
;;; キリル,ギリシア文字設定
;;; 注意: この設定だけでは古代ギリシア文字、コプト文字は表示できない
;;; http://socrates.berkeley.edu/~pinax/greekkeys/NAUdownload.html が必要
;;; キリル文字
  (set-fontset-font
   (frame-parameter nil 'font)
   'cyrillic-iso8859-5
   '("monaco" . "iso10646-1"))
;;; ギリシア文字
  (set-fontset-font
   (frame-parameter nil 'font)
   'greek-iso8859-7
   '("monaco" . "iso10646-1"))
  (setq face-font-rescale-alist
	'(("^-apple-hiragino.*" . 1.2)
	  ("^-apple-Kozuka.*" . 1.3)	;; <== 小塚明朝、ゴシック
	  (".*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))))

あー後、 window-system 変数に設定されている値が mac から ns に変わっているところが地味に落とし穴かも。