@kyanny's blog

流行はつねに前進していく。そして、精神の偽りの自由が絶えずせり上がっていく - ロマン・ロラン

emacs-23.2 + experimental/hackers-only patch をビルドした (emacsclient がない)

少し前に CocoaEmacs(Emacs23) で fullscreen 機能を利用する - sakito - Emacsがすきすぎる - Emacsグループ を読んで、 kayac bm11 版以外にも Emacs をフルスクリーンにする方法があると知ったので、試してみたかった。

Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア そのままに。一応手順をコピペしとくと、

curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.2.tar.gz
curl -O ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-23.2-mac-1.993.tar.gz
tar xfz emacs-23.2.tar.gz
tar xfz emacs-23.2-mac-1.993.tar.gz
cd emacs-23.2
patch -p 0 < ../emacs-23.2-mac-1.993/patch-mac
cp -r ../emacs-23.2-mac-1.993/mac mac
cp ../emacs-23.2-mac-1.993/src/* src
cp ../emacs-23.2-mac-1.993/lisp/term/mac-win.el lisp/term
cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns
./configure --with-mac --without-x
make
sudo make install
open mac/Emacs.app
sudo cp mac/Emacs.app /Applications

実際やってみたところ、特に問題なくビルドできた。しかし emacsclient が同梱されていない。結局、パッチを当てないで emacs-23.2 をビルドして、そこから bin/ 以下と libexec/ 以下をコピーしてきたらちゃんと動いたのでそのまま使ってる。あと info ファイルなどもコピーしておいたほうが良い。

cd ..
rm -rf emacs-23.2
tar xzf emacs-23.2.tar.gz
cd emacs-23.2
./configure --with-ns
make install
sudo cp -R nextstep/Emacs.app/Contents/MacOS/bin /Applications/Emacs.app/Contents/MacOS/
sudo cp -R nextstep/Emacs.app/Contents/MacOS/libexec /Applications/Emacs.app/Contents/MacOS/
sudo cp -R nextstep/Emacs.app/Contents/Resources/* /Applications/Emacs.app/Contents/Resources/

experimental/hackers-only patch 版でのフルスクリーンと kayac bm11 版のフルスクリーンは関数とかが違うのでどっちもいけるような場当たり的な設定を書いてみた。

;; fullscreen feature
(defun toggle-fullscreen ()
  (interactive)
  (if (frame-parameter nil 'fullscreen)
      (set-frame-parameter nil 'fullscreen nil)
    (set-frame-parameter nil 'fullscreen 'fullboth)
    ))

(cond ((eq (window-system) 'ns)
       (global-set-key [(meta return)] 'ns-toggle-fullscreen)) ; kayac bm11
      ((eq (window-system) 'mac)
       (global-set-key [(meta return)] 'toggle-fullscreen)) ; experimental/hackers-only patch
      )