[mew-dist 27902] Re: GMail の IMAP
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2007年 11月 27日 (火) 16:38:15 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 27895] Re: GMail の IMAP
Message-ID: <20071122.110804.28698199.kazu at example.com>
Date: Thu, 22 Nov 2007 11:08:04 +0900 (JST)
> コミットしました。
えっと、mew-complete-insert-folder-function() はもうちょっと高機
能(*1)にした方が良いと思われるのでやってみました。ほとんど Emacs
標準の choose-completion-string() と同じ動きになっているかなぁ?
(*1) たとえば、途中まで TAB で保管しておいて、あとはマウス、とか
が出来ないとか、folder1,folder2 の folder2 でマウス使うと全
部消えちゃうとか。
(defun mew-complete-insert-folder-function (choice buffer mini-p base-size)
(let ((start (mew-minibuf-point-min))
(proto (aref choice 0))
(pos (point))
fld)
(while (not (or (= start (point))
(not (char-before))
(char-equal (char-before) ?,)))
(forward-char -1))
(setq fld (mew-buffer-substring (point) pos))
(delete-region (point) pos)
(insert (with-temp-buffer
(insert fld)
(goto-char (point-min))
(if (and (memq proto '(?+ ?$ ?% ?* ?-))
(looking-at (concat "^\\("
(regexp-opt mew-config-cases t)
":\\)"
(regexp-quote (char-to-string proto)))))
(delete-region (match-end 1) (point-max))
(delete-region (point-min) (point-max)))
(goto-char (point-max))
(insert choice)
(mew-buffer-substring (point-min) (point-max))))
(mew-complete-window-delete 'force)
t))
# proto を全部並べた変数 '(?+ ?$ ?% ?* ?-) って無いよね?
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内