[mew-dist 28128] Re: hook 追加のお願い (mew-nmz)

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2008年 2月 25日 (月) 23:15:14 JST


白井です。

From: Tatsuya Kinoshita <tats at example.com> さん曰く
Subject: [mew-dist 28125] Re: hook 追加のお願い (mew-nmz)
Message-ID: <20080225.220141.24134545.tats%nobody at example.com>
Date: Mon, 25 Feb 2008 22:01:41 +0900 (JST)

> mew-imap-folder-alistが使われていますが、mew-imap-trash-folder
> がnilの場合のことが考慮されていないのではないでしょうか。

ほとんど考えていません ^^;; 、以前、同様の指摘を受けて別の部分は
対応したことがあります。

> `k/'で検索してみると、下記のようなエラーになります。
> 
> Debugger entered--Lisp error: (args-out-of-range "" 1 0)
>   mew-folder-string("")
>   mew-expand-folder2("gmail:")
>   mew-expand-folder("gmail:")
> [...]
>   mew-nmz-gather-indexed-folder("gmail" (("%inbox") (nil) ("%queue")) imap)

エラーになっている mew-nmz-gather-indexed-folder の引数って、

(mew-imap-folder-alist "gmail") => '(("%inbox") (nil) ("%queue"))

ということでして、確かに imap-trash-folder => nil で
mew-imap-folder-alist() の最後の部分が帰ってくると、
'(("%inbox") (nil) ("%queue")) となるようです。

だけど、mew-imap.el で

(defun mew-imap-folder-alist (&optional case no-load)
  (unless case (setq case mew-case-default))
....
      (if alist
	  alist
	(delete nil
		(list
		 (mew-folder-func mew-imap-inbox-folder)
		 (mew-folder-func (mew-imap-trash-folder case))
		 (mew-folder-func (mew-imap-queue-folder case))))))))

というコードを見る限りは、trash の (nil) はもともと消すのが正解
の様な感じです。ちょっとかっこ悪いけど、こういうことかしら?

  (delete '(nil)
	  (list
	   (mew-folder-func mew-imap-inbox-folder)
	   (mew-folder-func (mew-imap-trash-folder case))
	   (mew-folder-func (mew-imap-queue-folder case)))))

 => '(("%inbox") ("%queue"))

-- 
白井秀行 (mailto:shirai at example.com)



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