]> git.eshelyaron.com Git - emacs.git/commitdiff
(pmail-only-expunge): Swap buffers at the beginning.
authorChong Yidong <cyd@stupidchicken.com>
Tue, 9 Dec 2008 19:35:06 +0000 (19:35 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 9 Dec 2008 19:35:06 +0000 (19:35 +0000)
lisp/mail/pmail.el

index 1549d98ac084a4d4d67256fd857d20644ac5b7a6..a863acc65733a06425860fb6500bcb1cd406bf64 100644 (file)
@@ -3491,6 +3491,7 @@ See also user-option `pmail-confirm-expunge'."
 (defun pmail-only-expunge (&optional dont-show)
   "Actually erase all deleted messages in the file."
   (interactive)
+  (pmail-swap-buffers-maybe)
   (set-buffer pmail-buffer)
   (message "Expunging deleted messages...")
   ;; Discard all undo records for this buffer.
@@ -3517,12 +3518,11 @@ See also user-option `pmail-confirm-expunge'."
          (goto-char (point-min))
          (let ((counter 0)
                (number 1)
-               (total pmail-total-messages)
-               (new-message-number pmail-current-message)
-               (new-summary nil)
+               new-summary
                (new-msgref (list (list 0)))
-               (pmailbuf (current-buffer))
                (buffer-read-only nil)
+               (total pmail-total-messages)
+               (new-message-number pmail-current-message)
                (messages pmail-message-vector)
                (deleted pmail-deleted-vector)
                (summary pmail-summary-vector))
@@ -3535,9 +3535,8 @@ See also user-option `pmail-confirm-expunge'."
            (while (<= number total)
              (if (= (aref deleted number) ?D)
                  (progn
-                   (delete-region
-                     (marker-position (aref messages number))
-                     (marker-position (aref messages (1+ number))))
+                   (delete-region (aref messages number)
+                                  (aref messages (1+ number)))
                    (move-marker (aref messages number) nil)
                    (if (> new-message-number counter)
                        (setq new-message-number (1- new-message-number))))
@@ -3569,7 +3568,6 @@ See also user-option `pmail-confirm-expunge'."
          (narrow-to-region (- (buffer-size) omin) (- (buffer-size) omax)))
       (if (not dont-show)
          (pmail-show-message-maybe (min pmail-current-message pmail-total-messages)))
-      (pmail-swap-buffers-maybe)
       (if pmail-enable-mime
          (goto-char (+ (point-min) opoint))
        (goto-char (+ (point) opoint))))))