X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime%2Feword-encode.el;fp=mime%2Feword-encode.el;h=f7111c14718dfea04e400e36a740733726794457;hb=f7f52f6359543fd07c7a7e2ef5b2cb914dab8cab;hp=5735e04e7bb615e7e763523250430fa1711e3210;hpb=6c4344610cf5874221706173f8c7ea43dd938d56;p=elisp%2Flemi.git diff --git a/mime/eword-encode.el b/mime/eword-encode.el index 5735e04..f7111c1 100644 --- a/mime/eword-encode.el +++ b/mime/eword-encode.el @@ -517,17 +517,37 @@ MODE is allows `text', `comment', `phrase' or nil. Default value is ))) dest)) +(defsubst eword-encode-mailboxes-to-rword-list (mboxes) + (let ((dest (eword-encode-mailbox-to-rword-list (car mboxes)))) + (if dest + (while (setq mboxes (cdr mboxes)) + (setq dest + (nconc dest + (list '("," nil nil)) + (eword-encode-mailbox-to-rword-list + (car mboxes)))))) + dest)) + +(defsubst eword-encode-address-to-rword-list (address) + (cond + ((eq (car address) 'mailbox) + (eword-encode-mailbox-to-rword-list address)) + ((eq (car address) 'group) + (nconc + (eword-encode-phrase-to-rword-list (nth 1 address)) + (list (list ":" nil nil)) + (eword-encode-mailboxes-to-rword-list (nth 2 address)) + (list (list ";" nil nil)))))) + (defsubst eword-encode-addresses-to-rword-list (addresses) - (let ((dest (eword-encode-mailbox-to-rword-list (car addresses)))) + (let ((dest (eword-encode-address-to-rword-list (car addresses)))) (if dest (while (setq addresses (cdr addresses)) (setq dest (nconc dest (list '("," nil nil)) ;; (list '(" " nil nil)) - (eword-encode-mailbox-to-rword-list (car addresses)) - )) - )) + (eword-encode-address-to-rword-list (car addresses)))))) dest)) (defsubst eword-encode-msg-id-to-rword-list (msg-id)