* check-modules.el (test-shimbun): Check `shimbun-server'.
[elisp/wanderlust.git] / wl / wl-action.el
index 91bf804..0670d14 100644 (file)
@@ -64,6 +64,8 @@ Return number if put mark succeed"
         (current (wl-summary-message-number))
         (action (assoc set-mark wl-summary-mark-action-list))
         visible mark cur-mark)
+    (when (zerop (elmo-folder-length wl-summary-buffer-elmo-folder))
+      (error "Set mark failed"))
     (prog1
        (save-excursion
          ;; Put mark
@@ -74,6 +76,8 @@ Return number if put mark succeed"
                         (and (null number) current))
                number (or number current)
                cur-mark (nth 1 (wl-summary-registered-temp-mark number)))
+         (unless number
+           (error "No message"))
          (if (wl-summary-reserve-temp-mark-p cur-mark)
              (when interactive
                (error "Already marked as `%s'" cur-mark))
@@ -110,7 +114,8 @@ Return number if put mark succeed"
            (cons number wl-summary-buffer-target-mark-list))))
 
 (defun wl-summary-unregister-target-mark (number)
-  (delq number wl-summary-buffer-target-mark-list))
+  (setq wl-summary-buffer-target-mark-list
+       (delq number wl-summary-buffer-target-mark-list)))
 
 (defun wl-summary-have-target-mark-p (number)
   (memq number wl-summary-buffer-target-mark-list))
@@ -217,7 +222,7 @@ Return number if put mark succeed"
     (let ((buffer-read-only nil)
          visible mark action)
       (if number
-         (setq visible (wl-summary-jump-to-msg number))
+         (setq visible (wl-summary-jump-to-msg number)) ; can be nil
        (setq visible t))
       (setq number (or number (wl-summary-message-number)))
       ;; Delete mark on buffer.