Commit 3c6702ef authored by Mark Lillibridge's avatar Mark Lillibridge Committed by Chong Yidong
Browse files

Fix rmail-mbox handling of terminating newlines.

* lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text):
Ensure that mbox format messages end in two newlines.

Fixes: debbugs:9974
parent 0d92c7bf
2011-11-07 Mark Lillibridge <> (tiny change)
* mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text):
Ensure that mbox format messages end in two newlines (Bug#9974).
2011-11-06 Chong Yidong <>
* window.el (window-combination-p): Function deleted; its
......@@ -1721,10 +1721,12 @@ not be a new one). It returns non-nil if it got any new messages."
(setq all-files (cdr all-files)))
;; Put them back in their original order.
(setq files (nreverse files))
;; In case of brain damage caused by require-final-newline.
(goto-char (point-max))
(skip-chars-backward " \t\n")
(delete-region (point) (point-max))
;; Make sure we end with a blank line unless there are
;; no messages, as required by mbox format (Bug#9974).
(unless (bobp)
(while (not (looking-back "\n\n"))
(insert "\n")))
(setq found (or
(rmail-get-new-mail-1 file-name files delete-files)
......@@ -2024,22 +2026,12 @@ Value is the size of the newly read mail after conversion."
(nth 1 (insert-file-contents tofile))))
;; Determine if a pair of newline message separators need
;; to be added to the new collection of messages. This is
;; the case for all new message collections added to a
;; non-empty mail file.
(unless (zerop size)
(let ((start (point-min)))
(unless (eq start (point-min))
(goto-char start)
(insert "\n\n")
(setq size (+ 2 size))))))
(goto-char (point-max))
(or (= (preceding-char) ?\n)
(zerop size)
(insert ?\n))
;; Make sure the read-in mbox data properly ends with a
;; blank line unless it is of size 0.
(unless (zerop size)
(while (not (looking-back "\n\n"))
(insert "\n")))
(if (not (and rmail-preserve-inbox (string= file tofile)))
(setq delete-files (cons tofile delete-files)))))
(message "")
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment