[mew-dist 21189] Re: question about smtp/pop and auto hangup at dialup connection
INOUE Hiroyuki
dombly at example.com
2002年 7月 15日 (月) 17:43:24 JST
dombly です。
とりあえず,一時変数は let で束縛すればいいのでは?
(let ((VAR1 VAL1) ...) BODY) は,変数群 VARn (n=1,...) を束縛して
BODY を実行します。つまり VARn は BODY の中でだけ VAL1 という値で
評価され,外側に戻るときには自動的に元の値に戻ります。setq
しちゃうとタイミングによってはグローバルに影響が残るかも
しれません。let ではそんなことはありません。
ひとまずそのまま置き換えてみたものを載せますね。let を閉じる括弧
の位置によって動作が変わるかもしれません。
rascon などは使っていないのでテストしていません。ご自分で
検討してください。悪しからず。
(defun send-and-receive-mail ()
(interactive)
; 'i': 受信 (+送信 mew-auto-flush-queue==t)
; mew-summary-retrieve
; 'C-cC-c': 送信
; mew-summary-send-message
(mew)
(rascon-get-entry)
(rascon-dialup) ; ダイアルアップ
(let ((mew-smtp-flush-hook ; smtp 終了時用 hook
(function
(lambda ()
(message "... mails are sent.")
(let ((mew-auto-flush-queue nil)
(mew-pop-sentinel-hook ; pop 終了時用 hook
(function
(lambda ()
(message "... mails are received.")
(rascon-hangup) ; 通信切断
))))
; サーバによる送信メイルの処理時間のためのタイムラグ 5 秒
; (マジックナンバー)
(sleep-for 5)
; 受信のみ (送信もやると,また smtp 終了時の hook が評価
; されてしまう (?))
(mew-summary-retrieve))))))
; 受信後 mew-pop-sentinel-hook が実行される
; 送信
(mew-summary-send-message))
; 送信後 mew-smtp-flush-hook が実行される
)
--
井上 博之 / INOUE Hiroyuki
E-Mail: dombly at example.com
PGP Fingerprint: CAF3 05AB B2C6 0869 2876 1F68 3C49 F871 BC66 3D8D
...................................................................
:Europol White Water ARPA NWO Sears Tower Qaddafi radar gamma
:USCODE Delta Force argus AFSPC quarter Mena secure
:(Cf. http://www.gnu.org/manual/emacs/html_chapter/emacs_29.html#SEC372)
Mew-dist メーリングリストの案内