ファイルタイプをアプリケーションと関連づけてあると便利だ。ファイルをクリックすると、そのアプリケーションで開いてくれる。以上、同義反復。
しかし、Emacsをアプリケーションに割り当てると、二重に起動してしまう。そんなときのために、emacsclientがある(たぶん)。
ところが、Macだとそのemacsclientがアプリケーションとして割り当てることができない。emacsclient.appではないからだろう。しかたなく、Emacsを割り当てていたのだが、やはりふたつ開く。フルスクリーンで使っているのでわずらわしい——ただ、そのEmacsを終了させると元々、立ち上がっていたEmacsも終了してしまったのであれ、とは思っていたのだが(伏線)。
方法は
・emacsclientのapp化
・強引に裏からemacsclientを関連づける
・あきらめる
で、app化は好みではないので——ググってできるらしいことはわかったのだが——、やめにして裏からの方法を探してみた。SetFileでできそうだった。が、弾かれた。
bash-3.2$ SetFile -c emacsclient tmp.el Invalid type or creator value: 'emacsclient' bash-3.2$
あかーん。
このレベルでappであることを求められてはたぶん手はねー。
あきらめかけたのだが、要件を考えると、Emacsが二重起動しなければ、いいわけで、何か手はないか、とググってみた。=>emacs23で新しいファイルを開いた時にemacsを複数起動させない
;;複数ウィンドウを開かないようにする (setq ns-pop-up-frames nil)
というのを見てあっ、と気づいた。そもそもEmacs.appは二重起動してなかったってことに。だから二つ目を終了させると、一つ目のEmacsも終了したように見えていたのだ(伏線回収)。
だいたい、ns-* ってことはMac用の設定じゃないか。
これでEmacsからopenコマンドを使って開いてもEmacsで開くようになる(同義反復?)。