[mew-dist 27871] GMail の IMAP (was: imap summary の sort)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2007年 10月 26日 (金) 23:59:07 JST
白井です。
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 27869] Re: imap summary の sort
Message-ID: <20071026.183616.05487500.kazu at example.com>
Date: Fri, 26 Oct 2007 18:36:16 +0900 (JST)
> # たとえば、はてブに一瞬ランクインした以下のページとかも、何がしたいの
> # か伝わってきませんでした。
> # http://d.hatena.ne.jp/stanaka/20071025/1193286440
ぼくの GMail のアカウントも IMAP OK になったので、さっそく Mew
から使って見ました。
mew-config-alist は
("imap-server" . "imap.gmail.com")
("imap-user" . "xxxx.xxxxx at example.com")
("imap-auth" . t)
("imap-ssl" . t)
("imap-ssl-port" . "993")
程度で大丈夫です。あとは、imap-trash-folder, imap-queue-folder
の調整が必要でしょう。
....で、以下本題
GMail が返す folder list ですが、GMail の設定が日本語のときは、
<LIST>
* LIST () "/" "INBOX"
* LIST () "/" "Unread"
* LIST (\Noselect) "/" "[Gmail]"
* LIST () "/" "[Gmail]/&MFkweTBmMG4w4TD8MOs-"
* LIST () "/" "[Gmail]/&MLQw33ux-"
* LIST () "/" "[Gmail]/&MLkwvzD8MEIwig-"
* LIST () "/" "[Gmail]/&Tgtm+DBN-"
* LIST () "/" "[Gmail]/&j,dg0TDhMPww6w-"
* LIST () "/" "[Gmail]/&kAFP4W4IMH8w4TD8MOs-"
* LIST () "/" "shirai"
* LIST () "/" "trash"
fhqe6842 OK Success
Mew の folder だと
=> %inbox, %Unread, %[Gmail]/すべてのメール, %[Gmail]/ゴミ箱,
%[Gmail]/スターあり, %[Gmail]/下書き, %[Gmail]/送信済みメール,
%[Gmail]/迷惑メール, %queue, %shirai, %trash
GMail の設定が English (US) の時は、
<LIST>
* LIST () "/" "INBOX"
* LIST () "/" "Unread"
* LIST (\Noselect) "/" "[Gmail]"
* LIST () "/" "[Gmail]/All Mail"
* LIST () "/" "[Gmail]/Drafts"
* LIST () "/" "[Gmail]/Sent Mail"
* LIST () "/" "[Gmail]/Spam"
* LIST () "/" "[Gmail]/Starred"
* LIST () "/" "[Gmail]/Trash"
* LIST () "/" "shirai"
* LIST () "/" "trash"
などとなります。
ここで、Mew の仕様で GMail と合わないところ(およびバグ)を見つけ
ました。
(1) mew-input-folder-check(), mew-input-refile-folder-check() で
(when (string-match " " folder)
(mew-warn "SPC is not allowed!")
をしているので、"All Mail" や "Sent Mail" を扱えない。これは、
IMAP folder だったらスペースを許すのが良いのかな?
(2) 日本語環境で "%[Gmail]/迷惑メール" などと打っていられないの
で、補完候補ウインドウで表示されている候補をマウスクリックやリ
ターンで決定しようとしたとき、デフォルト以外の case をすでに
minibuffer に入力しておいても、その case が消えてしまう。
ちょっと見にくくなるけど、補完候補ウインドウに表示する候補を
case 付きにするのが一番解決が楽かな。
というパッチです。
Index: mew-complete.el
===================================================================
RCS file: /cvsmew/mew/mew-complete.el,v
retrieving revision 1.73
diff -u -r1.73 mew-complete.el
--- mew-complete.el 4 Jan 2007 06:49:08 -0000 1.73
+++ mew-complete.el 26 Oct 2007 14:57:02 -0000
@@ -603,6 +603,9 @@
(mew-complete-window-delete))
;; two or more candidates
((stringp cmp) ;; (length all) > 1
+ (when (and (stringp case)
+ (not (string= case mew-case-default)))
+ (setq all (mapcar (lambda (x) (concat case ":" x)) all)))
(mew-complete2-insert case cmp)
(mew-complete-window-show all))
;; no candidate
Index: mew-minibuf.el
===================================================================
RCS file: /cvsmew/mew/mew-minibuf.el,v
retrieving revision 1.136
diff -u -r1.136 mew-minibuf.el
--- mew-minibuf.el 4 Jan 2007 06:49:11 -0000 1.136
+++ mew-minibuf.el 26 Oct 2007 14:57:02 -0000
@@ -495,7 +495,8 @@
(if (and (mew-folder-popp folder) ;; not $inbox
(not (string= mew-pop-inbox-folder folder)))
(throw 'continue nil))
- (when (string-match " " folder)
+ (when (and (string-match " " folder)
+ (not (mew-folder-imapp folder)))
(mew-warn "SPC is not allowed!")
(throw 'continue nil))
(setq case:folder (mew-canonicalize-case-folder case:folder))
@@ -573,7 +574,8 @@
(if (and (= (length folder) 1)
(member folder mew-folder-prefixes)) ;; "prefix" only
(throw 'continue nil))
- (when (string-match " " folder)
+ (when (and (string-match " " folder)
+ (not (mew-folder-imapp folder)))
(mew-warn "SPC is not allowed!")
(throw 'continue nil))
(setq folder (mew-canonicalize-case-folder folder))
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内