comintが処理を開始した後にバッファの出力を読みたい。結果をcomint-redirect-send-commandから返す
(comint-redirect-send-command-to-process
command-string ;; tested to work in the commint buffer
output-buffer-name ;; random text
buffer-process ;; (get-buffer-process (current-buffer))
nil ;; don't echo input back
t) ;; don't show output buffer immediatly
このsexpは、comintプロセスを実行しているバッファで評価されます。プロセスが終了したら、output-buffer-name
というテキストをすべて読んでみたい。処理開始コマンドの下にこれを追加することにより、sleep in emacs lisp::私はこの質問に投稿された溶液を塗布しようとしている
は
このメッセージが*Messages*
に表示されません。
出力バッファのテキストにはプロンプトはありませんが、フル出力テキストに基づいて出力が終了すると、t
を返す関数を記述できます。
どのように私はバッファの仕上げ/変更に反応することができますか、またはどのようにコミントがこの機能を同期的に実行するようにすることができます。誰にも同様の問題がある場合は
comint-redirect-send-command-to-process
のソースはhere on line 3717
comint-redi ....関数が 't'を返します – Karl
あなたは、コミントプロセス上にセンチネルを設定しています。そのプロセスにコマンドを送信した場合、そのプロセスに送信された下位コマンドの完了時に、コミントプロセスのセンチネルのステータス変更を取得することは期待できません。コミントプロセスはまだ実行中です。 – phils