OS Xでの$CVSEDITOR

OS Xでコマンドラインのcvsを使っていると、環境変数CVSEDITORに設定するいいものがない。
まあviとかemacs -nwでいいわけだけど、端末に日本語とか打ちたくない。

そりゃOS XにはGUIな各種エディタがあるのだけれど、Cocoaなアプリというのは起動するや否やさくっとfork(といっていいのかわからないが)してしまうので、CVSEDITORの終了を待って、渡されたテンポラリファイルの中身を…という流れの処理には使えない。

Foo.appをforkせずforegroundで待って結果を取るとか、うまいことwaitするというような方法をいろいろ調べてみたが、どうもヒントがない。gnustepのopen.appのソースとか見てみたけど、そもそもそういうものじゃないようだ。
BBEditにはCVSEDITORサポートというのがあるらしいが、これはBBEditから外部コマンド的にcvsを呼び出した際に、commit messageの要求を拾ってよしなに処理する、というものであって、僕のニーズとは違う。

あっと思いついて、TextEdit.app (テキストエディット) の中身の実行バイナリである/Applications/TextEdit.app/Contents/MacOS/TextEdit(Mach-O universal binary) を直に実行してみるようにしてみた。

export CVSEDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit
cvs commit foo.c

ずばりこれだ。

しかし「こんな方法で起動しちゃダメ」みたいなエラーがいろいろ出るし、なんか道にはずれたことをやっている気もする。うまい解決方法を知っている人はいませんか。