]> git.eshelyaron.com Git - emacs.git/commitdiff
(unrmail): Use regular expression search to find
authorAlex Schroeder <alex@gnu.org>
Mon, 16 Jan 2006 17:50:30 +0000 (17:50 +0000)
committerAlex Schroeder <alex@gnu.org>
Mon, 16 Jan 2006 17:50:30 +0000 (17:50 +0000)
message separators such that the fake separators inserted by
rmime.el are not matched.  The sections added by rmime.el are
removed.

lisp/mail/ChangeLog
lisp/mail/unrmail.el

index be5652e492e2f072b1840b842929bfa339031020..9ca05486fe6a8e3f2ec7c439a1e2bb62166bfce7 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-16  Alex Schroeder  <alex@gnu.org>
+
+       * unrmail.el (unrmail): Use regular expression search to find
+       message separators such that the fake separators inserted by
+       rmime.el are not matched.  The sections added by rmime.el are
+       removed.
+
 2006-01-16  Henrik Enberg  <enberg@printf.se>
 
        * rmail.el: Don't require `rmailout' and `rmailsum'.
index d1e95a4124429153e0e0526d7aef7585f458207b..a4ba36622eb52dec2dff5f740efcfa1b90c08a32 100644 (file)
@@ -108,11 +108,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