May I suggest a possible better solution for this
unusual circumstance?

When a literal string is output -- one not expected
to have control characters -- convert those to some
slash form:

   ./oops.rb:9005:in `open': No such file or directory - '/w/x/y/z\n'
   (Errno::ENOENT)

Then you can single-quote the string and the exception id
will still correctly appear on the next line.

Hal

> Hi,
> 
> In message "[ruby-talk:02229] Re: Misleading IO error message"
>     on 00/03/28, schneik / us.ibm.com <schneik / us.ibm.com> writes:
> 
> |I got an error message of the following form:
> |
> |    ./oops.rb:9005:in `open': No such file or directory - /w/x/y/z 
> (Errno::ENOENT)
> |    
> |
> |But there was such a directory!
> 
> Ok, wrap the filename by `'.  But current implementaion puts exception
> names right after the first newline, then it would be:
> 
>   ./oops.rb:9005:in `open': No such file or directory - '/w/x/y/z 
> (Errno::ENOENT)
>   '
> 
> It's still misleading in some degree.  Maybe little bit better though.
> 
> 							matz.