[#10830] New kill_thread function in eval.c conflict with a BeOS system function — <noreply@...>
Bugs item #9736, was opened at 01/04/2007 16:20
[#10834] Hefty patch for mkmf.rb — <noreply@...>
Patches item #9762, was opened at 2007-04-02 09:55
[#10853] Why limit class def to a constant or colon node? — Charles Oliver Nutter <charles.nutter@...>
Is there a historical reason why I can't do something like these:
Hi,
On 4/3/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#10867] defined? operator changed in ruby 1.9: bug or feature? — David Flanagan <david@...>
The behavior of the defined? operator is different in current ruby 1.9
Hi,
[#10875] Ruby shouldn't process shebang! — "Kirill A. Shutemov" <k.shutemov@...>
> echo -e '#!test\nputs "test passed"' | ruby=20
On 4/5/07, Kirill A. Shutemov <k.shutemov@gmail.com> wrote:
[#10884] Ruby 1.9/1.8 compatibility: String#lines — murphy <murphy@...>
It seems the most important change in 1.9, in terms of compatibility, is
[#10907] install (/bin/install) path hardcoded at build — <noreply@...>
Bugs item #10004, was opened at 2007-04-10 13:21
[#10909] Turning off verbose output for mkmf — Daniel Berger <Daniel.Berger@...>
Hi all,
[#10923] block_given? => true in main(). — "Adam Bozanich" <adam.boz@...>
Hi all.
[#10933] Cannot build with extra library path if previous version already installed — <noreply@...>
Bugs item #10140, was opened at 2007-04-16 17:32
Hi,
On 4/16/07, nobu@ruby-lang.org <nobu@ruby-lang.org> wrote:
Hi,
On 4/19/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:> Hi,>> At Wed, 18 Apr 2007 20:21:44 +0900,> Michal Suchanek wrote in [ruby-core:10960]:> > Yes. And this should also apply to extensions. The mkmf tests are now> > fine but the extension is linked with -L/sw/lib before -L../..>> Indeed.>>> Index: configure.in> ===================================================================> --- configure.in (revision 12191)> +++ configure.in (working copy)> @@ -1385,5 +1385,4 @@ if test "$enable_rpath" = yes; then> fi>> -LDFLAGS="-L. $LDFLAGS"> AC_SUBST(ARCHFILE)>This would break the previous fix so I did not even try to apply this ^
Hi,
[#10944] IRHG - "Three Stuffing" — Charles Thornton <ceo@...>
Can a japanese speaker give a translation
[#10947] backwards compatibility for 'raise Interrupt' — Ryan Davis <ryand-ruby@...>
** BEFORE:
Hi,
Hi,
[#10968] IRHG - Manuscript Hunt — Charles Thornton <ceo@...>
Does anyone know of a Text Copy (Not PDF) of this manuscript:
[#10981] ruby 1.9 crash on cygwin — "Anton Ivanov" <Anton.Ivanov@...>
Hi,
[#11003] miniruby loads extensions from already installed ruby — <noreply@...>
Bugs item #10303, was opened at 2007-04-23 10:44
Hi,
On 23/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On 26/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
[#11012] Ruby 1.9: multiple splats on rvalues in parallel assignment — David Flanagan <david@...>
This has got to be a bug...
[#11025] gsub with backslash characters in replacement string — "Adam Bozanich" <adam.boz@...>
Hello, spotted this one the other day:
Hi,
On 4/26/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
On 4/26/07, Adam Bozanich <adam.boz@gmail.com> wrote:
On 4/26/07, Marte Raphael Y. Soliza <myrtactle@gmail.com > wrote:
[#11029] Proc#arity regression or bug in RDoc — Mauricio Fernandez <mfp@...>
On Thu, Apr 26, 2007 at 06:55:46PM +0900, Mauricio Fernandez wrote:
Re: [patch] gsub with backslash characters in replacement string
On 4/26/07, Marte Raphael Y. Soliza <myrtactle@gmail.com > wrote:
>
> On 4/26/07, Adam Bozanich <adam.boz@gmail.com > wrote:
> >
> > On 4/26/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> > >
> > > Hi,
> > >
> > > In message "Re: [patch] gsub with backslash characters in replacement
> > > string"
> > > on Thu, 26 Apr 2007 17:09:42 +0900, "Adam Bozanich" <adam.boz@gmail.com >
> > > writes:
> > >
> > > |Hello, spotted this one the other day:
> > > |
> > > |irb(main):001:0> '\\'.gsub('\\','\\\\')
> > > |=> "\\"
> > > |irb(main):002:0> '\\'.gsub('\\','\\\\\\')
> > > |=> "\\\\"
> > > |
> > > |The following patch seems to fix things on my system
> > >
> > > It was intentional to escape backslashes in replacement string.
> > > If it were a bug, how do we escape backslashes? Any idea?
> > >
> > > matz.
> > >
> > >
> > Not sure that I'm understanding you here.
> >
> > let's try again.
> >
> > test.rb:
> >
> > 1.upto(6) do |x|
> > print "a".gsub("a","\\"*x).size , " "
> > end
> >
> > print "a".gsub("a","\n")
> >
> > before patch output is:
> > 1 1 2 2 3 3
> >
> > after patch output is:
> > 1 2 3 4 5 6
> >
> > Note that the newline works in both cases.
> >
> > -Adam
> >
>
> It has something to do with replacing groups in regular expressions. For
> example, you can do:
> >> "abc".gsub(/(.)/, "\\1,")
> => "a,b,c,"
>
> So, to escape literal backslashes in replacements, we need four
> backslashes:
> \\\\ # actual code
> \\ # actual string
> \ # actual replacement
> Now if we have an odd number of actual backslash characters, then the last
> one will be treated as a literal:
> \\\\\\ # actual code
> \\\ # actual string
> \\ # actual replacement
>
> What we can do is to not double-escape the backslashes if the first
> argument is non-regex. Though that maybe a little confusing especially if
> you expect your first argument to be both string and regex.
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