emacs@Cygwin
Windowsだけど似非UNIX的な使い方がしたくて。
WindowsにCygwinをいれてCygtermから接続してemacsを利用しています。
emacsを起動を制御するスクリプトを自前で用意して
emacs serverが上がっていれば同じ画面につなぎに行くようにしています。
#!/bin/bash ps_result=`ps -ef | grep emacs-w32 | grep -v grep | wc -l` if [ $ps_result == 0 ]; then echo "Stating Emacs..." emacs-w32 $@ & echo "...done" else echo "Connect to Emacs Server..." emacsclient $@ & echo "...done" fi
これだと以下の場合は問題ないのですが
(1)Cygtermからコマンドで新規に起動する場合
(2)Cygtermからコマンドでファイルを追加で開く場合
(3)既に起動したemacs-w32@GUIにファイルをドロップする場合
以下のケースが動きません。
(4)Windows上のファイルを関連付けて ダブルクリックでファイルを開くとき
というのも
(1)~(3)は何れもCygwin上、またはcygpathが裏で動くので
WindowsのPATHでもCygwinのPATH形式に変換してくれます。
(4)の場合にのみWindowsのPATHでもCygwinのPATH形式に変換できず
困ってしまします。
対策は。。。ぱっと思いつかないので暫く放置。
愚直にやるなら WindowsバッチでCygwinのシェルを呼び出す方法でしょうかねぇ。
美しくないなぁ。。。