Sync final change from rmail-mox-branch, rev 1.13.2.4, 2006-01-16.
authorGlenn Morris <rgm@gnu.org>
Sat, 7 Feb 2009 03:01:59 +0000 (03:01 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 7 Feb 2009 03:01:59 +0000 (03:01 +0000)
Alex Schroeder <alex at gnu.org>

(unrmail): Use regexps to find message separators so as not to match
any fake rmime.el separators.  Remove any sections added by rmime.el.

lisp/mail/unrmail.el

index 395e7d2..ecf4bde 100644 (file)
@@ -107,11 +107,12 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'."
          (from-buffer (current-buffer)))
 
       ;; Process the messages one by one.
-      (while (search-forward "\^_\^l" nil t)
+      (while (re-search-forward "^\^_\^l" nil t)
        (let ((beg (point))
              (end (save-excursion
-                    (if (search-forward "\^_" nil t)
-                        (1- (point)) (point-max))))
+                    (if (re-search-forward "^\^_\\(\^l\\|\\'\\)" nil t)
+                        (match-beginning 0)
+                      (point-max))))
              (coding 'raw-text)
              label-line attrs keywords
              mail-from reformatted)
@@ -173,6 +174,12 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'."
              (re-search-forward "^[*][*][*] EOOH [*][*][*]\n")
              (delete-region (point-min) (point)))
 
+           ;; Handle rmime formatting.
+           (when (require 'rmime nil t)
+             (let ((start (point)))
+               (while (search-forward rmime-magic-string nil t))
+               (delete-region start (point))))
+
            ;; Some operations on the message header itself.
            (goto-char (point-min))
            (save-restriction