[gnu.emacs.gnus] Replacement for

sra@lcs.mit.edu (Rob Austein) (08/02/89)

[In GNUS 3.12, gnus.el.]

The routine (gnus-convert-article-to-rmail) does not convert directly
to Babyl format; instead it converts to /bin/mail format and calls an
RMAIL routine to convert that to Babyl format.  Besides being overly
complex, this has the distasteful side effect of converting all
occurances of the string "\nFrom" to "\n>From" in order to be
compatable with the silly format used by /bin/mail.  Since we run MMDF
as our mailer and GNU Emacs RMAIL as our mail reader, our mail never
gets anywhere near /bin/mail.  So this replacement is both unnecessary
and annoying, and there is no way to undo it later (ie, it's not
"quoting", it's mutilation).  RMAIL is careful not to mutilate unless
the user specificly asked RMAIL to write a /bin/mail format file, in
which case RMAIL has no choice.  But GNUS mutilates even when writing
a Babyl format file.  Yukko scuz.

The cure is simply to rewrite (gnus-convert-article-to-rmail) to
convert to Babyl format directly.  As a bonus, it's faster and
simpler.  Here's the rewritten routine.  I would be pleased if this
were to replace the current routine in the next release of GNUS.

(defun gnus-convert-article-to-rmail ()
  "Convert article in current buffer to Rmail message format."
  (let ((buffer-read-only nil))
    (goto-char (point-min))
    (insert "\^L\n0, unseen,,\n*** EOOH ***\n")
    (while (search-forward "\n\^_" nil t) ; single char "\^_"
      (replace-match "\n^_"))		  ; 2 chars: "^" and "_"
    (goto-char (point-max))
    (insert "\^_")))			  ; single char "\^_"

--Rob Austein, MIT