[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
timer doesn't work in XEmacs
- From: Katsumi Yamaoka <yamaoka@xxxxxxx>
- Date: Tue, 09 Dec 2003 09:57:13 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 06200
現在 w3m.el の一箇所に、XEmacs でも使われる run-at-time がありま
す。が、これ、少なくともぼくの環境では、たぶんまともに動作してい
ません。run-at-time の第一引数に与えた秒数よりも、極めて短い時間
でタイマーが作動してしまいます。さっき XEmacs-beta に出したテス
トプログラム、Emacs では正しく動作します:
(defun test-timer (second)
(interactive "nSecond: ")
(let ((start (current-time)))
(run-at-time
second nil
(lambda (start)
(let ((end (current-time)))
(message "Lapsed: %f"
(+ (* (- (car end) (car start)) 65536)
(- (nth 1 end) (nth 1 start))
(/ (- (nth 2 end) (nth 2 start)) 1000000.0)))))
start)))
;; 何となく refresh の動作が変だと思ったことはあるんですが、気に
;; していませんでした。:)
ぼくの仕事場の環境では、Gnus の起動時に shimbun の新着記事を調べ
る段階で、サーバーの反応が遅いと proxy が timeout してしまいます。
しかしその場合、w3m のプロセスはしっかり proxy につかまったまま
なので、いつまで待っても Gnus が起動しないことがよくあります。そ
こで C-g をたたくと大抵は Gnus の起動そのものも止めてしまうので、
しかたなく今までずっと端末で w3m のプロセスを kill していました。
でも、そういう場合にタイマーで w3m-process-start-and-wait に
quit シグナルを送ってやれば timeout を設定できそうだと思って作業
をはじめたのですが、上記の理由により頓挫してしまったのでした。
;; ぼくもいい加減に XEmacs から足を洗いたい。でもぼくがやめると
;; Gnus や emacs-w3m に XEmacs では動かないコードが入れられてし
;; まったときに対処する人がいなくなってしまうかもしれないし。
;; Wanderlust は大丈夫? :-p
--
Katsumi Yamaoka <yamaoka@jpl.org>