aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2008-12-09 19:35:06 +0000
committerChong Yidong2008-12-09 19:35:06 +0000
commit397b4cd0fde88987d8c03752fa365e6cf6630f59 (patch)
treead741c11c2dfb5546df0e7b29f364850479f543f
parent5b681764fe0493ada0437029f454bd80268e0742 (diff)
downloademacs-397b4cd0fde88987d8c03752fa365e6cf6630f59.tar.gz
emacs-397b4cd0fde88987d8c03752fa365e6cf6630f59.zip
(pmail-only-expunge): Swap buffers at the beginning.
-rw-r--r--lisp/mail/pmail.el14
1 files changed, 6 insertions, 8 deletions
diff --git a/lisp/mail/pmail.el b/lisp/mail/pmail.el
index 1549d98ac08..a863acc6573 100644
--- a/lisp/mail/pmail.el
+++ b/lisp/mail/pmail.el
@@ -3491,6 +3491,7 @@ See also user-option `pmail-confirm-expunge'."
3491(defun pmail-only-expunge (&optional dont-show) 3491(defun pmail-only-expunge (&optional dont-show)
3492 "Actually erase all deleted messages in the file." 3492 "Actually erase all deleted messages in the file."
3493 (interactive) 3493 (interactive)
3494 (pmail-swap-buffers-maybe)
3494 (set-buffer pmail-buffer) 3495 (set-buffer pmail-buffer)
3495 (message "Expunging deleted messages...") 3496 (message "Expunging deleted messages...")
3496 ;; Discard all undo records for this buffer. 3497 ;; Discard all undo records for this buffer.
@@ -3517,12 +3518,11 @@ See also user-option `pmail-confirm-expunge'."
3517 (goto-char (point-min)) 3518 (goto-char (point-min))
3518 (let ((counter 0) 3519 (let ((counter 0)
3519 (number 1) 3520 (number 1)
3520 (total pmail-total-messages) 3521 new-summary
3521 (new-message-number pmail-current-message)
3522 (new-summary nil)
3523 (new-msgref (list (list 0))) 3522 (new-msgref (list (list 0)))
3524 (pmailbuf (current-buffer))
3525 (buffer-read-only nil) 3523 (buffer-read-only nil)
3524 (total pmail-total-messages)
3525 (new-message-number pmail-current-message)
3526 (messages pmail-message-vector) 3526 (messages pmail-message-vector)
3527 (deleted pmail-deleted-vector) 3527 (deleted pmail-deleted-vector)
3528 (summary pmail-summary-vector)) 3528 (summary pmail-summary-vector))
@@ -3535,9 +3535,8 @@ See also user-option `pmail-confirm-expunge'."
3535 (while (<= number total) 3535 (while (<= number total)
3536 (if (= (aref deleted number) ?D) 3536 (if (= (aref deleted number) ?D)
3537 (progn 3537 (progn
3538 (delete-region 3538 (delete-region (aref messages number)
3539 (marker-position (aref messages number)) 3539 (aref messages (1+ number)))
3540 (marker-position (aref messages (1+ number))))
3541 (move-marker (aref messages number) nil) 3540 (move-marker (aref messages number) nil)
3542 (if (> new-message-number counter) 3541 (if (> new-message-number counter)
3543 (setq new-message-number (1- new-message-number)))) 3542 (setq new-message-number (1- new-message-number))))
@@ -3569,7 +3568,6 @@ See also user-option `pmail-confirm-expunge'."
3569 (narrow-to-region (- (buffer-size) omin) (- (buffer-size) omax))) 3568 (narrow-to-region (- (buffer-size) omin) (- (buffer-size) omax)))
3570 (if (not dont-show) 3569 (if (not dont-show)
3571 (pmail-show-message-maybe (min pmail-current-message pmail-total-messages))) 3570 (pmail-show-message-maybe (min pmail-current-message pmail-total-messages)))
3572 (pmail-swap-buffers-maybe)
3573 (if pmail-enable-mime 3571 (if pmail-enable-mime
3574 (goto-char (+ (point-min) opoint)) 3572 (goto-char (+ (point-min) opoint))
3575 (goto-char (+ (point) opoint)))))) 3573 (goto-char (+ (point) opoint))))))