[#6864] ruby 1.8.4 rc breaks alias_method/rails in bad ways — "Ara.T.Howard" <ara.t.howard@...>

20 messages 2005/12/09
[#6870] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — =?ISO-8859-15?Q?Florian_Gro=DF?= <florgro@...> 2005/12/12

Ara.T.Howard wrote:

[#6872] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — ara.t.howard@... 2005/12/12

On Tue, 13 Dec 2005, [ISO-8859-15] Florian Growrote:

[#6873] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — James Edward Gray II <james@...> 2005/12/12

On Dec 12, 2005, at 1:19 PM, ara.t.howard@noaa.gov wrote:

[#6874] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — ara.t.howard@... 2005/12/12

On Tue, 13 Dec 2005, James Edward Gray II wrote:

[#6891] Time.utc! and Time.localtime! — Daniel Hobe <hobe@...>

Writing a script yesterday I found out, much to my surprise, that the

16 messages 2005/12/14

[#6918] change to yaml in 1.8.4 — ara.t.howard@...

14 messages 2005/12/16

[#6934] 1.8.x, YAML, and release management — Ryan Davis <ryand-ruby@...>

I'm concerned that 1.8.3's acceptance of non-backwards-compatible

28 messages 2005/12/18

[#6996] Problems building 1.8.4 with VS8 C++ Express Edition (cl 14.00) — Austin Ziegler <halostatue@...>

Visual Studio C++ 2005 Express Edition (VS 8.0)

20 messages 2005/12/27

Re: bug in mailread.rb, and: proposal for Mail#to_s

From: Wybo Dekker <wybo@...>
Date: 2005-12-05 10:19:31 UTC
List: ruby-core #6834
On Mon, 5 Dec 2005, daz wrote:

> Wybo Dekker wrote:
> 
> > mailread separates mail messages looking for /^From /.
> > This is incorrect, because message bodies may contain lines beginning with
> >
> > From like this mail does.
> 
> I agree.  It has puzzled me why it's there at all.

According to the mbox(5) manpage, it's the so-called "postmark line". That 
manpage also recognizes the problem of body-lines starting wit /From /

> > So the regexp should be, I think, something
> > like: /^From .*? \w{3} \w{3} [\d ]{2} \d\d:\d\d:\d\d \d{4}/
> 
> If it's necessary, that would be better but is this related to
> mail messages or to some intermediate mail software which adds
> a 'From ' line.

mbox(5) says: A postmark line consists of the four characters "From", 
followed by a space character, followed by the message's envelope sender 
address, followed by whitespace, and followed by a time stamp. The sender 
address is expected to be an addrspec as defined in appendix D of RFC 822.

So maybe the the expression should be less specific than proposed. Or, 
perhaps, it should be configurable.

> I notice that (e.g.) http://blade.nagaokaut.ac.jp/ruby/ruby-talk/168809
> have 'From ' lines but I'm unsure whose convenience they serve.
> 
> mailread reads to EoF, apart from this anomaly, and doesn't have
> a mechanism for creating multiple objects from a stream, so
> reading from a stream of 3 messages would collect the first
> message only.  Granted, the file position would be set at the
> line following the 'From ' line which caused the break (ready for
> the next message) but that seems crude, IMHO.
> 
> Reading from a stream of arbitrarily combined messages should, I think,
> be handled by the mailread user (that's us) who should be familiar
> with their particular stream format.  Perhaps those messages should
> not have been collated into a stream in the first place?
> (I'm suspecting that discrete messages are being piped through?
>  If that's the case, it's not mailread's problem.)
> 
> - I load individual messages from a stream into StringIOs.
> 
> So I vote to /remove/ that split altogether regardless of how
> commonly it occurs unless it's an accepted standard.
> That also fixes the bug.
> 
> 
> > I also propose a to_s method, which converts the Mail object to a
> > (possibly edited) copy of the original mail message.
> >
> 
> With respect, Wybo, 5 different people might produce 5 unique
> #to_s methods.  So do that :)

yes, that's true. On the other hand it took me quite some time to figure 
out how to re-contruct the mail message. Maybe other people have a better 
idea here...
 
> In your version, you're adding this mystery 'From ' line as if it's
> some kind of standard.  Maybe someone will educate me?
> 
> ./mailread.rb:59:in `to_s': uninitialized constant Mail::DateTime (NameError)

ah, I forgot require 'date'	
-- 
Wybo

In This Thread