[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: start-process
>> On Tue, 03 Apr 2001 11:26:30 +0900 (JST)
>> 「白井」== shirai@rdmg.mgcs.mei.co.jp (Hideyuki SHIRAI (白井秀行)) said as follows:
白井> この秒数の差で問題が出るなら、sentinel を使った方が良いんじゃ無
白井> いでしょうか?
うーん。秒数の問題だけじゃないようなんですけど。例えば、私の環境では以
下のようなコードは、無限ループしてしまいます。
(with-temp-buffer
(let* ((process-connection-type t)
(proc (start-process "*w3m*"
(current-buffer)
"w3m" "-dump_source" "http://namazu.org/"))
(w3m-process-running t))
(set-process-sentinel proc
(lambda (proc event)
(and (string-match "^\\(finished\\|exited\\)" event)
(buffer-name (process-buffer proc))
(save-excursion
(set-buffer (process-buffer proc))
(setq w3m-process-running nil)))))
(while w3m-process-running
(sleep-for 0.1))
(process-exit-status proc)))
この場合は C-g 連打で抜けること自体はできるので、これまでに出てきた固
まってしまうコードよりはましですけど。
白井> # しかし、私の XEmacs だと process-connection-type を nil にしな
白井> # いと終りがわからない。。。
ああ、此の問題は私だけじゃなかったんですか。私も、XEmacs の場合は
w3m-process-connection-type => nil にして使ってます。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/