From: Chong Yidong Date: Tue, 9 Dec 2008 19:35:06 +0000 (+0000) Subject: (pmail-only-expunge): Swap buffers at the beginning. X-Git-Tag: emacs-pretest-23.0.90~1212 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=397b4cd0fde88987d8c03752fa365e6cf6630f59;p=emacs.git (pmail-only-expunge): Swap buffers at the beginning. --- 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'." (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))))))