[Mew-dist 10328] Re: imap環境でimmvできない
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
1999年 8月 23日 (月) 10:21:43 JST
白井です。
From: Motonori Nakamura <motonori at example.com> さん曰く
Subject: [Mew-dist 10315] Re: imap環境でimmvできない
Message-ID: <19990821170443Y.motonori at example.com>
Date: Sat, 21 Aug 1999 17:04:44 +0900
shirai> [shirai at example.com:~/]% immv --verbose=on --src=%#mh/tmp --dst=+inbox 1
shirai> immv: unknown authentication protocol: tmp
shirai> immv: unknown authentication protocol: tmp
shirai> immv: invalid imap spec: %/:
motonori> 根本的に、文字 / が folder 名に使われないものとして実装していたので、
motonori> そこが引っ掛かっています。さーて、どうしましょうね。
motonori> 例えば、//auth のように // で区切れば folder 名と衝突することは
motonori> ないでしょうか?
う〜ん、私はもともと IMAP4 の知識が全く無いためわかりません。識
者の方々に判断をお任せします。(__)
これだけでは申し訳ないので、パッチを少し。
1. mew-use-immv => nil で、destination folder に remote な
folder が入っていて、local な folder から refile すると elisp
で refile してしまいます。
2. IMAP4(nntp) で ',' がおかしいという件で debug してたら、一か
所 coding-system の設定で良くない場所を見つけました。だけど、こ
れだけでは動きませんです。(今週の課題……かぁ)
-------------- next part --------------
--- mew-mark.el.orig Mon Aug 23 09:51:04 1999
+++ mew-mark.el Mon Aug 23 10:07:44 1999
@@ -626,8 +626,14 @@
(let* ((dsts (car dsts-msgs)) ;; (+foo +bar)
(msgs (cdr dsts-msgs)) ;; (1 2 3)
(myselfp (mew-folder-member src dsts))
+ (dsts-tmp dsts)
msgs- msg srcfile dstfile dst num)
- (if (or mew-use-immv (mew-folder-remotep src))
+ (if (or mew-use-immv (mew-folder-remotep src)
+ (catch 'remote
+ (while dsts-tmp
+ (if (mew-folder-remotep (car dsts-tmp))
+ (throw 'remote t))
+ (setq dsts-tmp (cdr dsts-tmp)))))
(mew-summary-im-start mew-prog-immv src dsts msgs t)
(if myselfp
;; msg stays in the src folder with the same number
-------------- next part --------------
--- mew-func.el.orig Fri Aug 20 14:15:44 1999
+++ mew-func.el Mon Aug 23 09:50:31 1999
@@ -249,7 +249,7 @@
(defmacro mew-insert-message (fld msg rcs size)
(` (if (or (mew-folder-newsp (, fld)) (mew-folder-imapp (, fld)))
(mew-piolet (, rcs) mew-cs-dummy
- (mew-summary-im-start mew-prog-imcat (, fld) nil (, msg) nil))
+ (mew-summary-im-start mew-prog-imcat (, fld) nil (, msg) nil nil (, rcs)))
(mew-frwlet (, rcs) mew-cs-dummy
(insert-file-contents (mew-expand-folder (, fld) (, msg))
nil 0 (, size))))))
@@ -674,7 +674,7 @@
(defconst mew-im-boundary-begin "^---BEGIN-IMGET-MESSAGE---\n")
-(defun mew-summary-im-start (imprg src dsts msgs discard &optional arg)
+(defun mew-summary-im-start (imprg src dsts msgs discard &optional arg rcs)
(let ((process-connection-type mew-connection-type2)
(imarg (if arg (cons arg mew-prog-im-arg) mew-prog-im-arg)))
;; dsts can be nil. disappears thanks to append
@@ -688,8 +688,11 @@
imprg (current-buffer) imprg
(format "--src=%s" src)
(append imarg dsts msgs)))
- (mew-set-process-cs mew-summary-buffer-process
- mew-cs-text-for-read mew-cs-dummy)
+ (if rcs
+ (mew-set-process-cs mew-summary-buffer-process
+ rcs mew-cs-dummy)
+ (mew-set-process-cs mew-summary-buffer-process
+ mew-cs-text-for-read mew-cs-dummy))
(if discard
(set-process-filter mew-summary-buffer-process 'mew-summary-im-filter1)
(set-process-filter mew-summary-buffer-process 'mew-summary-im-filter2))
Mew-dist メーリングリストの案内