[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 メーリングリストの案内