aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2009-03-05 03:43:01 +0000
committerGlenn Morris <[email protected]>2009-03-05 03:43:01 +0000
commit7184dd77fb8a6fd85d92f81d782b29a697cf3f1e (patch)
treec8fbb9d23609c9c8d944258009c54c0042010a5b
parentf4ce6150a217bd258abf5514bf992664cbca0211 (diff)
(rmail-output-as-mbox): Use rmail-ensure-blank-line.
(rmail-output-to-rmail-buffer): Add the new message at the end of the existing messages, ensuring there is a blank line between them. (Bug#2521)
-rw-r--r--lisp/mail/rmailout.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/mail/rmailout.el b/lisp/mail/rmailout.el
index 0d44ae3a6f..4f753f1e0f 100644
--- a/lisp/mail/rmailout.el
+++ b/lisp/mail/rmailout.el
@@ -33,6 +33,7 @@
:type 'boolean
:group 'rmail-output)
+;; FIXME risky?
(defcustom rmail-output-file-alist nil
"Alist matching regexps to suggested output Rmail files.
This is a list of elements of the form (REGEXP . NAME-EXP).
@@ -335,15 +336,13 @@ AS-SEEN is non-nil if we are copying the message \"as seen\"."
(widen)
;; Make sure message ends with blank line.
(goto-char (point-max))
- (unless (bolp)
- (insert "\n"))
- (unless (looking-back "\n\n")
- (insert "\n"))
+ (rmail-ensure-blank-line)
(goto-char (point-min))
(let ((buf (find-buffer-visiting file-name))
(tembuf (current-buffer)))
(if (null buf)
(let ((coding-system-for-write 'raw-text-unix))
+ ;; FIXME should ensure existing file ends with a blank line.
(write-region (point-min) (point-max) file-name t nomsg))
(if (eq buf (current-buffer))
(error "Can't output message to same file it's already in"))
@@ -367,15 +366,22 @@ Do what is necessary to make Rmail know about the new message. then
display message number MSG."
(save-excursion
(rmail-swap-buffers-maybe)
- ;; Turn on Auto Save mode, if it's off in this
- ;; buffer but enabled by default.
+ ;; Turn on Auto Save mode, if it's off in this buffer but enabled
+ ;; by default.
(and (not buffer-auto-save-file-name)
auto-save-default
(auto-save-mode t))
(rmail-maybe-set-message-counters)
+ ;; Insert the new message after the last old message.
+ (widen)
+ ;; Make sure the last old message ends with a blank line.
+ (goto-char (point-max))
+ (rmail-ensure-blank-line)
+ ;; Insert the new message at the end.
(narrow-to-region (point-max) (point-max))
(insert-buffer-substring tembuf)
(rmail-count-new-messages t)
+ ;; FIXME should re-use existing windows.
(if (rmail-summary-exists)
(rmail-select-summary (rmail-update-summary)))
(rmail-show-message-1 msg)))