* wl-thread.el (wl-thread-insert-message, wl-thread-insert-entity-sub,
[elisp/wanderlust.git] / wl / wl-draft.el
index 9ccf8dd..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)
@@ -1994,8 +1996,9 @@ If KILL-WHEN-DONE is non-nil, current draft buffer is killed"
                                "\\1"))
                  auto-save-file-name-transforms)))
     (setq buffer-file-name (buffer-name)
-         wl-draft-parent-folder ""
          wl-draft-buffer-message-number number)
+    (unless wl-draft-parent-folder
+      (setq wl-draft-parent-folder ""))
     (when wl-draft-write-file-function
       (add-hook 'local-write-file-hooks wl-draft-write-file-function))
     (wl-highlight-headers 'for-draft)