[mew-dist 19362] Re: draft buffer の選択

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2001年 10月 16日 (火) 19:50:49 JST


早く帰ろう、って思っていたから説明が足りなかったみたい。

From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 19358] Re: draft buffer の選択
Message-ID: <20011016.193244.63221262.kazu at example.com>
Date: Tue, 16 Oct 2001 19:32:44 +0900 (JST)

kazu> > mew-max-draft-buffer() でも "+draft" を入れるか入れないかコント
kazu> > ロールしないと破綻しますね。ごめんなさい。
kazu> 
kazu> ちょっと意味が分りません。C-cC-o のときは、+draft が候補に含まれない方
kazu> がいいと思います。

"+draft" だけが存在すると、

mew-max-draft-buffer() => "+draft"
(mew-input-draft-buffer "+draft") <= だけど folder は有効にしない。

となって、mew-input-draft-buffer() 内部の comp は nil だけど
"+draft" が返ってくるから、整合性がわるいなぁという感じの意味で
す。

kazu> > (mew-draft-p)
kazu> > あるいは
kazu> > (mew-folder-regex (file-name-as-directory mew-draft-folder))
kazu> > で判定した方が良いと思うのです。
kazu> 
kazu> ここもどういう意味か分りません。mewinput-draft-buffer は、Summary モー
kazu> ドから呼び出されることが前提ですよね?

はい、summary から呼ばれます。で、さっきのメールで
mew-input-draft-buffer() は (mew-draft-p) を使って draft-mode か
どうか判定したけど、mew-max-draft-buffer() は regex で判定してい
たので、統一感が無いなぁ。という意味でした。

# というわけで、ともに対した意味じゃありませんでした。

かずさんの意見も

kazu> C-cC-o のときは、+draft が候補に含まれない方がいいと思いま
kazu> す。

とのことなので、regex を使って書き直しました。

(defun mew-max-draft-buffer ()
  (let ((bufs (buffer-list))
	(regex (mew-folder-regex (file-name-as-directory mew-draft-folder)))
	buf draft)
    (while bufs
      (setq buf (car bufs))
      (setq bufs (cdr bufs))
      (if (string-match regex (buffer-name buf))
	  (if (or (null draft) (string< draft (buffer-name buf)))
	      (setq draft (buffer-name buf)))))
    draft))

(defun mew-input-draft-buffer (default)
  (let ((regex (mew-folder-regex (file-name-as-directory mew-draft-folder)))
	comp buf)
    (setq comp (delq nil (mapcar
			  (lambda (x)
			    (when (string-match regex (buffer-name x))
			      (list (buffer-name x))))
			  (buffer-list))))
    (if (and (= (length comp) 1)
	     (string= default (car (car comp))))
	default
      (setq buf (completing-read (format "Buffer (%s): " default) comp))
      (if (string= buf "")
	  default
	buf))))

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



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