unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4076: 23.1; RMAIL splitting mbox at text starting with 'From ' (patch)
@ 2009-08-07 18:41 ` David J. Biesack
  2009-08-08 10:20   ` bug#4076: marked as done (23.1; RMAIL splitting mbox at text starting with 'From ' (patch)) Emacs bug Tracking System
  0 siblings, 1 reply; 2+ messages in thread
From: David J. Biesack @ 2009-08-07 18:41 UTC (permalink / raw)
  To: bug-gnu-emacs

Content-Transfer-Encoding: 7bit
Send a plain text email with the text between the ==== lines below.

The lines beginning with "From " start at the beginning
of the line; there is no leading whitespace or > there
(which might get added by sending this message)
i.e. the message text contains "\n\nFrom " twice.

=====================
This message contains a new paragraph starting with "From " but nit is not a new message

From the beginning, RMAIL/Babyl did not have a problem with this type of message. Now, RMAIl/mbox format does.

this text will show up as a second message; RMAIL will not show any headers.

From where I sit, this is really annoying.

this text will show up as a third message; RMAIL will not show any headers.
=====================

Using RMAIL where the RMAIL file has been converted to mbox format (23.1),
this mail message gets split up into three separate "messages".
The first has the correct mail headers; the other two have no
header information. The lines beginning with "From " are seen
as new mbox messages.

Attached is a patch to rmail to use rmail-unix-mail-delimiter 
instead of simply searching for or looking-at "From ".

I'm not sure if rmail-unix-mail-delimiter is needed in each place,
but this patch works for me.

David J. Biesack, SAS
SAS Campus Dr. Cary, NC 27513
www.sas.com    (919) 531-7771


In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-30 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  delete-selection-mode: t
  pc-selection-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t
  hs-minor-mode: t

Recent input:
k SPC C-x o C-x C-f r m C-g C-g M-x r m <return> r 
C-g C-g C-x b o r i g <return> M-x r m <return> r m 
a i l . e l . o r SPC <return> M-x r e n a m e - f 
SPC <return> r m SPC . e l SPC . SPC e o <backspace> 
<backspace> o SPC <return> r m a i l . e l . o r g 
<return> C-x p M-p M-b M-b C-b M-b C-b | <return> <down-mouse-1> 
<mouse-1> <backspace> ! <return> <down-mouse-1> <mouse-1> 
<down-mouse-1> <mouse-1> <backspace> <backspace> > 
! <backspace> | <backspace> C-e <return> M-\ M-\ <backspace> 
<return> M-p M-b M-b M-b C-b ! <return> r m SPC <M-wheel-down> 
<M-down-mouse-2> <M-mouse-2> <backspace> <return> M-p 
M-p M-b M-b M-b C-b = <backspace> <backspace> <backspace> 
! <backspace> > <return> <help-echo> <down-mouse-1> 
<mouse-1> C-x C-w r m a i l . e l . o r SPC SPC <return> 
y C-x C-w r m a SPC . e l SPC . o r i SPC <backspace> 
<return> C-x p r m r m <backspace> <backspace> SPC 
r m a i l . e l . o r g <return> M-p <backspace> <backspace> 
* C-a C-d C-d l l <return> r m SPC r m a i l * <M-backspace> 
<M-backspace> C-p C-p C-p C-p C-p C-p C-p C-e <return> 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p <return> C-p 
C-p C-p C-e <return> <down-mouse-3> <mouse-3> C-x k 
SPC C-p C-p <return> C-p C-p C-e M-b M-b M-b M-b C-b 
M-d M-b M-b C-b C-y C-e <return> <down-mouse-3> <mouse-3> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> M-x 
r e p o r t - e m a c s - b u f SPC g <backspace> <backspace> 
g SPC <return>

Recent messages:
rmail.el.patch
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch
Kill buffer rmail.el.patch? (y or n) 
Mark set
rmail.el.patch [2 times]
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch

patch below


*** rmail.el.orig       Fri Aug  7 14:26:34 2009
--- rmail.el    Fri Aug  7 14:24:07 2009
***************
*** 772,777 ****
--- 772,784 ----
  this expression, you must change the code in `rmail-nuke-pinhead-header'
  that knows the exact ordering of the \\( \\) subexpressions.")
  
+ ; fix broken rmail-add-mbox-headers in rmail.el 
+ ; which originally breaks messages at any text starting with "^From " instead of rmail-unix-mail-delimiter
+ ; David.Biesack@sas.com 07Aug09
+ (defvar rmail-unix-mail-delimiter-nn (concat "\n\n" rmail-unix-mail-delimiter)
+       "Like rmail-unix-mail-delimiter but with \n\n prepended.")
+ 
+ 
  ;; FIXME the rmail-header-name headers ought to be customizable.
  ;; It seems a bit arbitrary, for example, that all of the Date: line
  ;; gets highlighted.
***************
*** 2059,2064 ****
--- 2066,2072 ----
    (unless (looking-back "\n\n")
      (insert "\n")))
  
+ ;; patched to use rmail-unix-mail-delimiter instead of "From " David.Biesack@sas.com 07Aug09
  (defun rmail-add-mbox-headers ()
    "Validate the RFC2822 format for the new messages.
  Point should be at the first new message.
***************
*** 2077,2083 ****
        (unless (= start (point-max))
          ;; Scan the new messages to establish a count and to ensure that
          ;; an attribute header is present.
!         (while (looking-at "From ")
            ;; Determine if a new attribute header needs to be added to
            ;; the message.
            (if (search-forward "\n\n" nil t)
--- 2085,2091 ----
        (unless (= start (point-max))
          ;; Scan the new messages to establish a count and to ensure that
          ;; an attribute header is present.
!         (while (looking-at rmail-unix-mail-delimiter) ;; was : (looking-at "From ") sasdjb 07Aug09
            ;; Determine if a new attribute header needs to be added to
            ;; the message.
            (if (search-forward "\n\n" nil t)
***************
*** 2090,2099 ****
                  (widen))
              (rmail-error-bad-format))
            ;; Move to the next message.
!           (if (search-forward "\n\nFrom " nil 'move)
                (forward-char -5))
            (setq start (point))))
        count))))
  \f
  (defun rmail-get-header-1 (name)
    "Subroutine of `rmail-get-header'.
--- 2098,2109 ----
                  (widen))
              (rmail-error-bad-format))
            ;; Move to the next message.
!           (if (search-forward rmail-unix-mail-delimiter-nn nil 'move)
                (forward-char -5))
            (setq start (point))))
        count))))
+ 
+ 
  \f
  (defun rmail-get-header-1 (name)
    "Subroutine of `rmail-get-header'.
***************
*** 2475,2497 ****
                    ?D
                  ?\s) deleted-head))))
  
  (defun rmail-set-message-counters-counter (&optional stop)
    ;; Collect the start position for each message into 'messages-head.
    (let ((start (point)))
      (while (search-backward "\n\nFrom " stop t)
        (forward-char 2)
!       (rmail-collect-deleted start)
!       (setq messages-head (cons (point-marker) messages-head)
!           total-messages (1+ total-messages)
!           start (point))
!       ;; Show progress after every 20 messages or so.
!       (if (zerop (% total-messages 20))
!         (message "Counting messages...%d" total-messages)))
      ;; Handle the first message, maybe.
      (if stop
        (goto-char stop)
        (goto-char (point-min)))
!     (unless (not (looking-at "From "))
        (rmail-collect-deleted start)
        (setq messages-head (cons (point-marker) messages-head)
            total-messages (1+ total-messages)))))
--- 2485,2510 ----
                    ?D
                  ?\s) deleted-head))))
  
+ ;; patched to use rmail-unix-mail-delimiter instead of "From "; David.Biesack@sas.com 07Aug09
  (defun rmail-set-message-counters-counter (&optional stop)
    ;; Collect the start position for each message into 'messages-head.
    (let ((start (point)))
      (while (search-backward "\n\nFrom " stop t)
        (forward-char 2)
!       (cond ((looking-at rmail-unix-mail-delimiter)
!              (rmail-collect-deleted start)
!              (setq messages-head (cons (point-marker) messages-head)
!                    total-messages (1+ total-messages)
!                    start (point))
!              ;; Show progress after every 20 messages or so.
!              (if (zerop (% total-messages 20))
!                  (message "Counting messages...%d" total-messages))))
!       )
      ;; Handle the first message, maybe.
      (if stop
        (goto-char stop)
        (goto-char (point-min)))
!     (unless (not (looking-at rmail-unix-mail-delimiter))
        (rmail-collect-deleted start)
        (setq messages-head (cons (point-marker) messages-head)
            total-messages (1+ total-messages)))))






^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#4076: marked as done (23.1; RMAIL splitting mbox at text starting with 'From ' (patch))
  2009-08-07 18:41 ` bug#4076: 23.1; RMAIL splitting mbox at text starting with 'From ' (patch) David J. Biesack
@ 2009-08-08 10:20   ` Emacs bug Tracking System
  0 siblings, 0 replies; 2+ messages in thread
From: Emacs bug Tracking System @ 2009-08-08 10:20 UTC (permalink / raw)
  To: Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 920 bytes --]


Your message dated Sat, 08 Aug 2009 13:14:24 +0300
with message-id <83bpmqmx33.fsf@gnu.org>
and subject line Re: bug#4076: 23.1;	RMAIL splitting mbox at text starting with 'From ' (patch)
has caused the Emacs bug report #4076,
regarding 23.1; RMAIL splitting mbox at text starting with 'From ' (patch)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
4076: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4076
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 11190 bytes --]

From: "David J. Biesack" <David.Biesack@sas.com>
To: bug-gnu-emacs@gnu.org
Subject: 23.1; RMAIL splitting mbox at text starting with 'From ' (patch)
Date: Fri, 07 Aug 2009 14:41:45 -0400
Message-ID: <ytb8whvxy8m.fsf@sas.com>

Content-Transfer-Encoding: 7bit
Send a plain text email with the text between the ==== lines below.

The lines beginning with "From " start at the beginning
of the line; there is no leading whitespace or > there
(which might get added by sending this message)
i.e. the message text contains "\n\nFrom " twice.

=====================
This message contains a new paragraph starting with "From " but nit is not a new message

From the beginning, RMAIL/Babyl did not have a problem with this type of message. Now, RMAIl/mbox format does.

this text will show up as a second message; RMAIL will not show any headers.

From where I sit, this is really annoying.

this text will show up as a third message; RMAIL will not show any headers.
=====================

Using RMAIL where the RMAIL file has been converted to mbox format (23.1),
this mail message gets split up into three separate "messages".
The first has the correct mail headers; the other two have no
header information. The lines beginning with "From " are seen
as new mbox messages.

Attached is a patch to rmail to use rmail-unix-mail-delimiter 
instead of simply searching for or looking-at "From ".

I'm not sure if rmail-unix-mail-delimiter is needed in each place,
but this patch works for me.

David J. Biesack, SAS
SAS Campus Dr. Cary, NC 27513
www.sas.com    (919) 531-7771


In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-30 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  delete-selection-mode: t
  pc-selection-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t
  hs-minor-mode: t

Recent input:
k SPC C-x o C-x C-f r m C-g C-g M-x r m <return> r 
C-g C-g C-x b o r i g <return> M-x r m <return> r m 
a i l . e l . o r SPC <return> M-x r e n a m e - f 
SPC <return> r m SPC . e l SPC . SPC e o <backspace> 
<backspace> o SPC <return> r m a i l . e l . o r g 
<return> C-x p M-p M-b M-b C-b M-b C-b | <return> <down-mouse-1> 
<mouse-1> <backspace> ! <return> <down-mouse-1> <mouse-1> 
<down-mouse-1> <mouse-1> <backspace> <backspace> > 
! <backspace> | <backspace> C-e <return> M-\ M-\ <backspace> 
<return> M-p M-b M-b M-b C-b ! <return> r m SPC <M-wheel-down> 
<M-down-mouse-2> <M-mouse-2> <backspace> <return> M-p 
M-p M-b M-b M-b C-b = <backspace> <backspace> <backspace> 
! <backspace> > <return> <help-echo> <down-mouse-1> 
<mouse-1> C-x C-w r m a i l . e l . o r SPC SPC <return> 
y C-x C-w r m a SPC . e l SPC . o r i SPC <backspace> 
<return> C-x p r m r m <backspace> <backspace> SPC 
r m a i l . e l . o r g <return> M-p <backspace> <backspace> 
* C-a C-d C-d l l <return> r m SPC r m a i l * <M-backspace> 
<M-backspace> C-p C-p C-p C-p C-p C-p C-p C-e <return> 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p <return> C-p 
C-p C-p C-e <return> <down-mouse-3> <mouse-3> C-x k 
SPC C-p C-p <return> C-p C-p C-e M-b M-b M-b M-b C-b 
M-d M-b M-b C-b C-y C-e <return> <down-mouse-3> <mouse-3> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> M-x 
r e p o r t - e m a c s - b u f SPC g <backspace> <backspace> 
g SPC <return>

Recent messages:
rmail.el.patch
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch
Kill buffer rmail.el.patch? (y or n) 
Mark set
rmail.el.patch [2 times]
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch
Fontifying rmail.el.patch... (regexps................)
rmail.el.patch

patch below


*** rmail.el.orig       Fri Aug  7 14:26:34 2009
--- rmail.el    Fri Aug  7 14:24:07 2009
***************
*** 772,777 ****
--- 772,784 ----
  this expression, you must change the code in `rmail-nuke-pinhead-header'
  that knows the exact ordering of the \\( \\) subexpressions.")
  
+ ; fix broken rmail-add-mbox-headers in rmail.el 
+ ; which originally breaks messages at any text starting with "^From " instead of rmail-unix-mail-delimiter
+ ; David.Biesack@sas.com 07Aug09
+ (defvar rmail-unix-mail-delimiter-nn (concat "\n\n" rmail-unix-mail-delimiter)
+       "Like rmail-unix-mail-delimiter but with \n\n prepended.")
+ 
+ 
  ;; FIXME the rmail-header-name headers ought to be customizable.
  ;; It seems a bit arbitrary, for example, that all of the Date: line
  ;; gets highlighted.
***************
*** 2059,2064 ****
--- 2066,2072 ----
    (unless (looking-back "\n\n")
      (insert "\n")))
  
+ ;; patched to use rmail-unix-mail-delimiter instead of "From " David.Biesack@sas.com 07Aug09
  (defun rmail-add-mbox-headers ()
    "Validate the RFC2822 format for the new messages.
  Point should be at the first new message.
***************
*** 2077,2083 ****
        (unless (= start (point-max))
          ;; Scan the new messages to establish a count and to ensure that
          ;; an attribute header is present.
!         (while (looking-at "From ")
            ;; Determine if a new attribute header needs to be added to
            ;; the message.
            (if (search-forward "\n\n" nil t)
--- 2085,2091 ----
        (unless (= start (point-max))
          ;; Scan the new messages to establish a count and to ensure that
          ;; an attribute header is present.
!         (while (looking-at rmail-unix-mail-delimiter) ;; was : (looking-at "From ") sasdjb 07Aug09
            ;; Determine if a new attribute header needs to be added to
            ;; the message.
            (if (search-forward "\n\n" nil t)
***************
*** 2090,2099 ****
                  (widen))
              (rmail-error-bad-format))
            ;; Move to the next message.
!           (if (search-forward "\n\nFrom " nil 'move)
                (forward-char -5))
            (setq start (point))))
        count))))
  \f
  (defun rmail-get-header-1 (name)
    "Subroutine of `rmail-get-header'.
--- 2098,2109 ----
                  (widen))
              (rmail-error-bad-format))
            ;; Move to the next message.
!           (if (search-forward rmail-unix-mail-delimiter-nn nil 'move)
                (forward-char -5))
            (setq start (point))))
        count))))
+ 
+ 
  \f
  (defun rmail-get-header-1 (name)
    "Subroutine of `rmail-get-header'.
***************
*** 2475,2497 ****
                    ?D
                  ?\s) deleted-head))))
  
  (defun rmail-set-message-counters-counter (&optional stop)
    ;; Collect the start position for each message into 'messages-head.
    (let ((start (point)))
      (while (search-backward "\n\nFrom " stop t)
        (forward-char 2)
!       (rmail-collect-deleted start)
!       (setq messages-head (cons (point-marker) messages-head)
!           total-messages (1+ total-messages)
!           start (point))
!       ;; Show progress after every 20 messages or so.
!       (if (zerop (% total-messages 20))
!         (message "Counting messages...%d" total-messages)))
      ;; Handle the first message, maybe.
      (if stop
        (goto-char stop)
        (goto-char (point-min)))
!     (unless (not (looking-at "From "))
        (rmail-collect-deleted start)
        (setq messages-head (cons (point-marker) messages-head)
            total-messages (1+ total-messages)))))
--- 2485,2510 ----
                    ?D
                  ?\s) deleted-head))))
  
+ ;; patched to use rmail-unix-mail-delimiter instead of "From "; David.Biesack@sas.com 07Aug09
  (defun rmail-set-message-counters-counter (&optional stop)
    ;; Collect the start position for each message into 'messages-head.
    (let ((start (point)))
      (while (search-backward "\n\nFrom " stop t)
        (forward-char 2)
!       (cond ((looking-at rmail-unix-mail-delimiter)
!              (rmail-collect-deleted start)
!              (setq messages-head (cons (point-marker) messages-head)
!                    total-messages (1+ total-messages)
!                    start (point))
!              ;; Show progress after every 20 messages or so.
!              (if (zerop (% total-messages 20))
!                  (message "Counting messages...%d" total-messages))))
!       )
      ;; Handle the first message, maybe.
      (if stop
        (goto-char stop)
        (goto-char (point-min)))
!     (unless (not (looking-at rmail-unix-mail-delimiter))
        (rmail-collect-deleted start)
        (setq messages-head (cons (point-marker) messages-head)
            total-messages (1+ total-messages)))))



[-- Attachment #3: Type: message/rfc822, Size: 5445 bytes --]

From: Eli Zaretskii <eliz@gnu.org>
To: "David J. Biesack" <David.Biesack@sas.com>, 4076-done@emacsbugs.donarmstrong.com
Subject: Re: bug#4076: 23.1;	RMAIL splitting mbox at text starting with 'From ' (patch)
Date: Sat, 08 Aug 2009 13:14:24 +0300
Message-ID: <83bpmqmx33.fsf@gnu.org>

> Date: Fri, 07 Aug 2009 14:41:45 -0400
> From: "David J. Biesack" <David.Biesack@sas.com>
> Cc: 
> 
> Using RMAIL where the RMAIL file has been converted to mbox format (23.1),
> this mail message gets split up into three separate "messages".
> The first has the correct mail headers; the other two have no
> header information. The lines beginning with "From " are seen
> as new mbox messages.
> 
> Attached is a patch to rmail to use rmail-unix-mail-delimiter 
> instead of simply searching for or looking-at "From ".

Thanks.  I installed a slightly different version of your patch (see
below for what I actually installed).

2009-08-08  Eli Zaretskii  <eliz@gnu.org>

	* mail/rmail.el (rmail-add-mbox-headers)
	(rmail-set-message-counters-counter): Search for
	rmail-unix-mail-delimiter instead of just "From ".  (Bug#4076)

Index: lisp/mail/rmail.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/mail/rmail.el,v
retrieving revision 1.538
retrieving revision 1.539
diff -u -r1.538 -r1.539
--- lisp/mail/rmail.el	21 Jul 2009 23:34:37 -0000	1.538
+++ lisp/mail/rmail.el	8 Aug 2009 10:05:30 -0000	1.539
@@ -2072,27 +2072,31 @@
 	    (start (point))
 	    (value "------U-")
 	    (case-fold-search nil)
-	    limit)
+	    (delim (concat "\n\n" rmail-unix-mail-delimiter))
+	    limit stop)
 	;; Detect an empty inbox file.
 	(unless (= start (point-max))
 	  ;; Scan the new messages to establish a count and to ensure that
 	  ;; an attribute header is present.
-	  (while (looking-at "From ")
-	    ;; Determine if a new attribute header needs to be added to
-	    ;; the message.
-	    (if (search-forward "\n\n" nil t)
-		(progn
-		  (setq count (1+ count))
-		  (narrow-to-region start (point))
-		  (unless (mail-fetch-field rmail-attribute-header)
-		    (backward-char 1)
-		    (insert rmail-attribute-header ": " value "\n"))
-		  (widen))
-	      (rmail-error-bad-format))
-	    ;; Move to the next message.
-	    (if (search-forward "\n\nFrom " nil 'move)
-		(forward-char -5))
-	    (setq start (point))))
+	  (if (looking-at rmail-unix-mail-delimiter)
+	      (while (not stop)
+		;; Determine if a new attribute header needs to be
+		;; added to the message.
+		(if (search-forward "\n\n" nil t)
+		    (progn
+		      (setq count (1+ count))
+		      (narrow-to-region start (point))
+		      (unless (mail-fetch-field rmail-attribute-header)
+			(backward-char 1)
+			(insert rmail-attribute-header ": " value "\n"))
+		      (widen))
+		  (rmail-error-bad-format))
+		;; Move to the next message.
+		(if (not (re-search-forward delim nil 'move))
+		    (setq stop t)
+		  (goto-char (match-beginning 0))
+		  (forward-char 2))
+		(setq start (point)))))
 	count))))
 \f
 (defun rmail-get-header-1 (name)
@@ -2480,18 +2484,19 @@
   (let ((start (point)))
     (while (search-backward "\n\nFrom " stop t)
       (forward-char 2)
-      (rmail-collect-deleted start)
-      (setq messages-head (cons (point-marker) messages-head)
-	    total-messages (1+ total-messages)
-	    start (point))
-      ;; Show progress after every 20 messages or so.
-      (if (zerop (% total-messages 20))
-	  (message "Counting messages...%d" total-messages)))
+      (when (looking-at rmail-unix-mail-delimiter)
+	(rmail-collect-deleted start)
+	(setq messages-head (cons (point-marker) messages-head)
+	      total-messages (1+ total-messages)
+	      start (point))
+	;; Show progress after every 20 messages or so.
+	(if (zerop (% total-messages 20))
+	    (message "Counting messages...%d" total-messages))))
     ;; Handle the first message, maybe.
     (if stop
 	(goto-char stop)
       (goto-char (point-min)))
-    (unless (not (looking-at "From "))
+    (unless (not (looking-at rmail-unix-mail-delimiter))
       (rmail-collect-deleted start)
       (setq messages-head (cons (point-marker) messages-head)
 	    total-messages (1+ total-messages)))))

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-08 10:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <83bpmqmx33.fsf@gnu.org>
2009-08-07 18:41 ` bug#4076: 23.1; RMAIL splitting mbox at text starting with 'From ' (patch) David J. Biesack
2009-08-08 10:20   ` bug#4076: marked as done (23.1; RMAIL splitting mbox at text starting with 'From ' (patch)) Emacs bug Tracking System

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).