X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-draft.el;h=a2dd943ded34a7c360a2ac2bc1045b56ba07944a;hb=4dee2f09b7c63b19e24942f13b2917addb2a6501;hp=345ad6c3ae5833fd9f6599c89bfd1d35fa2ae7f9;hpb=a70923a1b0db639061c4256d54116845f4e08b2b;p=elisp%2Fwanderlust.git diff --git a/wl/wl-draft.el b/wl/wl-draft.el index 345ad6c..a2dd943 100644 --- a/wl/wl-draft.el +++ b/wl/wl-draft.el @@ -30,7 +30,7 @@ ;;; Code: ;; - +(require 'elmo) (require 'sendmail) (require 'wl-template) (require 'emu) @@ -152,15 +152,10 @@ e.g. "\n" smtp-end-of-line)) smtp-sasl-user-name smtp-sasl-properties sasl-read-passphrase) - (if (and (string= (car smtp-sasl-mechanisms) "DIGEST-MD5") - ;; sendmail bug? - (string-match "^\\([^@]*\\)@\\([^@]*\\)" - wl-smtp-posting-user)) - (setq smtp-sasl-user-name (match-string 1 wl-smtp-posting-user) - smtp-sasl-properties (list 'realm - (match-string 2 wl-smtp-posting-user))) - (setq smtp-sasl-user-name wl-smtp-posting-user - smtp-sasl-properties nil)) + (setq smtp-sasl-user-name wl-smtp-posting-user + smtp-sasl-properties (when wl-smtp-authenticate-realm + (list 'realm + wl-smtp-authenticate-realm))) (setq sasl-read-passphrase (function (lambda (prompt) @@ -679,11 +674,12 @@ Reply to author if WITH-ARG is non-nil." wl-draft-cite-function) (unwind-protect (progn - (elmo-message-fetch (wl-folder-get-elmo-folder fld) - number - ;; No cache. - (elmo-make-fetch-strategy 'entire) - nil mail-reply-buffer) + (with-current-buffer mail-reply-buffer + (erase-buffer) + (elmo-message-fetch (wl-folder-get-elmo-folder fld) + number + ;; No cache. + (elmo-make-fetch-strategy 'entire))) (wl-draft-yank-from-mail-reply-buffer nil)) (kill-buffer mail-reply-buffer)))) @@ -1367,7 +1363,8 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed" ;; If flag is set after send-function, the current mailbox ;; might changed by Fcc. ;; It causes a huge loss in the IMAP folder. - (when (and parent-flag parent-number parent-folder) + (when (and parent-flag parent-number + (not (eq (length parent-folder) 0))) (wl-folder-set-persistent-mark parent-folder parent-number parent-flag)) (funcall wl-draft-send-function editing-buffer kill-when-done) @@ -1987,8 +1984,7 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed" (switch-to-buffer-other-frame buffer) (switch-to-buffer buffer)) (set-buffer buffer) - (elmo-message-fetch draft-folder number (elmo-make-fetch-strategy 'entire) - nil (current-buffer)) + (elmo-message-fetch draft-folder number (elmo-make-fetch-strategy 'entire)) (elmo-delete-cr-buffer) (let ((mime-edit-again-ignored-field-regexp "^\\(Content-.*\\|Mime-Version\\):")) @@ -2366,8 +2362,7 @@ Automatically applied in draft sending time." (wl-draft-queue-info-operation (car msgs) 'load) (elmo-message-fetch queue-folder (car msgs) - (elmo-make-fetch-strategy 'entire) - nil (current-buffer)) + (elmo-make-fetch-strategy 'entire)) (condition-case err (setq failure (funcall wl-draft-queue-flush-send-function