[#11073] segfault printing instruction sequence for iterator — <noreply@...>

Bugs item #10527, was opened at 2007-05-02 14:42

14 messages 2007/05/02
[#11142] Re: [ ruby-Bugs-10527 ] segfault printing instruction sequence for iterator — Nobuyoshi Nakada <nobu@...> 2007/05/10

Hi,

[#11188] Re: [ ruby-Bugs-10527 ] segfault printing instruction sequence for iterator — Paul Brannan <pbrannan@...> 2007/05/16

On Thu, May 10, 2007 at 04:51:18PM +0900, Nobuyoshi Nakada wrote:

[#11234] Planning to release 1.8.6 errata — Urabe Shyouhei <shyouhei@...>

Hi all.

17 messages 2007/05/25

Re: [patch] gsub with backslash characters in replacement string

From: "Jano Svitok" <jan.svitok@...>
Date: 2007-05-02 14:19:28 UTC
List: ruby-core #11072
On 4/27/07, Roel Harbers <rubycore@roelharbers.com> wrote:
> Adam Bozanich wrote:
> > Thanks, now I understand the problem.
> >
> > for the record, this still works after the patch:
> >
> > "abc".gsub(/(.)/,'\1,') # => "a,b,c,"
> >
> > It is difficult (impossible?), however, to produce a \1 in the output
> >
> > irb(main):003:0> "abc".gsub(/(.)/,"\\\\1,")
> > => "\\\\1,\\\\1,\\\\1,"
> >
> > and similarly a '\' before a register replacement.
> >
> > irb(main):016:0> "a".gsub(/(.)/,"\\\\\\1,")
> > => "\\\\a,"
> >
> > I guess I just like having the "regex identity" property :)
> >
> > str = "\\" * 2
> > str == str.gsub(str,str)  # => true
> >
> > str = "a"
> > str == str.gsub(str,str)  # => true
> >
> > Sorry for the false bug.
> >
> > -Adam
>
> It may not be a bug, although it's definitly unexpected, but shouldn't
> the documentation at least mention the double-escaping?

Right. Especially when this is pretty frequent question. Longtime ago
I submitted the respective part from PickAxe2 as a rdoc patch (#5296,
http://rubyforge.org/tracker/?func=detail&aid=5297&group_id=426&atid=1700)

Now this is not the most fortunate approach, so one of the following
should be done:

- either ask Dave for permission to commit the patch
- or delete the patch, and create a new one by reading the source of
String#gsub.

(I would remove the patch myself but I haven't the permission to do this)

In conclusion, I think this bit of information is one of the most
missing and should be fixed.

Jano

In This Thread

Prev Next