[mew-dist 18430] Re: Mew 1.94 -> Mew 2.0

Takashi P.KATOH p-katoh at example.com
2001年 8月 9日 (木) 15:02:52 JST


From: NINOMIYA Hideyuki <nin at example.com>
Subject: [mew-dist 18429] Re: Mew 1.94 -> Mew 2.0
Date: Thu, 09 Aug 2001 13:53:54 +0900 (JST)
> こんにちは	二宮@お四国 です
...
> hook が在るのでそこに引っかければ良いと思います。
> mew-pop-sentinel-non-biff-hook が使えるでしょう

なるほど。

ということで、作ってみましたが、う〜ん、temporal な変数が 2
つもあって美しくない...
ともかく、最後につけます。


一応使い方の説明をしておくと、
  (setq mew-retrieve-cases 'all)
とすると、mew-config-alist の全てのケースを使います (nil な
ら普通に mew-summary-retrieve します)。

"case1" "case2" "default" が設定されていて、そのうち
"case1" と "case2" だけを使うには
  (setq mew-retrieve-cases '("case1" "case2"))
のようにして下さい。


たぶん問題はいろいろあります。
(途中で中断されちゃうと mew-pop-sentinel-non-biff-hook が元
に戻らない気がする...)


(もしマージされるとしたら or 同等の機能が追加されるとしたら)
key bind は

[第一希望]
  I     -> (現在の) C-u i
  C-u i -> mew-summary-circular-retrieve

[第二希望]
  I     -> mew-summary-circular-retrieve
 (C-u i は現在のまま)

かな?

-- 
かとぺ / 加藤 貴司
いつもイイカゲンなコードでごめんなさい (_o_)


(defvar mew-retrieve-cases nil
  "*A list of cases for mew-summary-circular-retrieve.
If you want to use all cases in mew-config-alist, set this variable
to 'all as follows:
(setq mew-retrieve-cases 'all)")

(defun mew-summary-circular-retrieve-next ()
  (interactive)
  (if (null mew-circular-tmp)
      (progn
	(setq mew-pop-sentinel-non-biff-hook mew-circular-hook-tmp)
	(run-hooks 'mew-pop-sentinel-non-biff-hook))
    (let ((mew-case-input (car mew-circular-tmp)))
      (message (concat "Retrieving for " (car mew-circular-tmp)))
      (setq mew-circular-tmp (cdr mew-circular-tmp))
      (mew-summary-retrieve))))

(defun mew-summary-circular-retrieve ()
  "Retrieve received messages circularly."
  (interactive)
  (if (null mew-retrieve-cases)
      (mew-summary-retrieve)      
    (setq mew-circular-tmp
	  (if (eq mew-retrieve-cases 'all)
	      mew-config-cases
	    mew-retrieve-cases))
    (setq mew-circular-hook-tmp mew-pop-sentinel-non-biff-hook)
    (setq mew-pop-sentinel-non-biff-hook 'mew-summary-circular-retrieve-next)
    (mew-summary-circular-retrieve-next)))


;; temporal variables
(defvar mew-circular-tmp nil
  "Temporal variable for mew-summary-circular-retrieve")
(defvar mew-circular-hook-tmp nil
  "Temporal variable for mew-summary-circular-retrieve")



Mew-dist メーリングリストの案内