* wl-draft.el (wl-draft-send): Continue even if setting parent
[elisp/wanderlust.git] / wl / wl-draft.el
index ec9e29b..14c4414 100644 (file)
@@ -1344,8 +1344,11 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed"
            ;; It causes a huge loss in the IMAP folder.
            (when (and parent-flag parent-number
                       (not (eq (length parent-folder) 0)))
-             (wl-folder-set-persistent-mark
-              parent-folder parent-number parent-flag))
+             (condition-case nil
+                 (wl-folder-set-persistent-mark
+                  parent-folder parent-number parent-flag)
+               (error
+                (message "Set mark (%s) failed" (symbol-name parent-flag)))))
            (funcall wl-draft-send-function editing-buffer kill-when-done)
            ;; Now perform actions on successful sending.
            (while mail-send-actions
@@ -1671,8 +1674,6 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed"
 
 (defun wl-draft-create-buffer (&optional parent-folder parent-number)
   (let* ((draft-folder (wl-draft-get-folder))
-        (parent-folder (or parent-folder (wl-summary-buffer-folder-name)))
-        (summary-buf (wl-summary-get-buffer parent-folder))
         (reply-or-forward
          (or (eq this-command 'wl-summary-reply)
              (eq this-command 'wl-summary-reply-with-citation)
@@ -1727,7 +1728,8 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed"
     (setq wl-draft-parent-folder (or parent-folder ""))
     (setq wl-draft-parent-number parent-number)
     (or (eq this-command 'wl-folder-write-current-folder)
-       (setq wl-draft-buffer-cur-summary-buffer summary-buf))
+       (setq wl-draft-buffer-cur-summary-buffer
+             (wl-summary-get-buffer parent-folder)))
     buffer))
 
 (defun wl-draft-create-contents (header-alist)