Robert Marshall reports (viewmail-bugs, 2011-12-23):
A few hours ago I got an email tried to pull it into vm (visiting an
imap folder) vm-get-new-mail and got a wrong-type-argument error. Now
I'm getting this error when ever I visit my inbox
I'm now not sure which the message was which caused the problem I
think vm was only part way through updating the summary at the point it
crashed. I'm including part of the traceback:
Debugger entered--Lisp error: (wrong-type-argument markerp 111160)
marker-buffer(111160)
vm-update-message-summary([[#<marker in no buffer> #<marker in no buffer> nil #<marker in no buffer> #<marker in no buffer> #<marker in no buffer>] ["1148" "1148" nil 111160 nil <<>> <-- From_ "2390" #<killed buffer> nil nil nil nil nil nil nil nil nil imap (#0 [[#<marker in no buffer> #<marker in no buffer> nil #<marker in no buffer> #<marker in no buffer> #<marker in no buffer>] ["1149" "1149" nil nil nil <<>> <-- From_ "2391" #<killed buffer> nil nil nil nil nil nil nil nil nil imap (#3) <<>> nil] [nil t nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil nil nil nil nil nil nil nil nil "<email address hidden>" nil "Re: [h-e-w] Emacs Clipboard crash" nil nil nil nil "2011122316:40:59" "[h-e-w] Emacs Clipboard crash" nil "<email address hidden>" ("<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>") nil nil nil nil nil] [nil <v> t nil nil t]]) <<>> nil] [nil t nil nil nil nil nil nil nil nil nil nil nil nil nil nil] ["1715" "Friday" "23" "December" "2011" "10:38:58" "-0600" "Matthew Fidler" "<email address hidden>" "<email address hidden>" "49" "Re: [h-e-w] Emacs Clipboard crash" nil nil nil "12" "2011122316:38:58" "[h-e-w] Emacs Clipboard crash" (number " " mark "U Matthew Fidler Dec 23 49/1715 " thread-indent "\"Re: [h-e-w] Emacs Clipboard crash\"\n") "<email address hidden>" ("<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>") nil nil nil nil nil] [nil <v> t nil nil t]])
(if (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) nil (vm-update-message-summary (car ms)))
(unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms)))
(while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms)))
(let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil))
(progn (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil)))
(if vm-messages-needing-summary-update (progn (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil))))
(when vm-messages-needing-summary-update (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil)))
vm-update-summary-and-mode-line()
Can summary markers be reinstated if there is an error in the middle of summary generation?