comint erlang-shell を使用してバックグラウンド バッファを開こうとしています。起動したら、emacs で関数呼び出しを実行します (distel を使用してバイナリを erlang ノードに送信します)。
すなわち:
...
(let ((args (append (list "-sname" node-name "-pa") path)))
(get-buffer-create buffer-name)
(apply #'make-comint-in-buffer node-name buffer-name "erl" nil args)
(erl-check-backend (make-node-name node-name))
...
問題は、distel を呼び出すと、ノードがまだ起動していない (epmd に登録された名前がない) ため、失敗することです。これは、下位プロセスがまだ実行されていないためだと思います。comint-buffer のセットアップが完了するまで待つ方法はありますか?
上記の関数の引数として送信されたバッファの buffer-process で accept-process-output を試しましたが、ハングしました。
どんな助けでも感謝します:)
トーマス