From: mathew
Date: 2011-01-22T05:30:13+09:00
Subject: [ruby-core:34771] Re: [Ruby 1.8-Feature#4239] Let's begin a talk for "1.8.8" -- How's needed for surviving 1.8?
On Fri, Jan 21, 2011 at 13:55, Zeno Davatz wrote:
> It seems that what you say, I say as well. I never said that if you write
> something for Ruby 1.9 it should work for Ruby 1.8 as well. I said the
> contrary: If you write something for Ruby 1.8 it should work on Ruby
> 1.9 as well.
Well, I said *ideally*. That word is important. One of the key goals
of 1.9 was to make certain necessary changes that do, unfortunately,
break compatibility with code written for 1.8. The addition of Unicode
support and multiple character encodings was one of the big ones.
> Oniguruma is a nice example that should have been merged into
> mainline ages ago. But instead just some feature where cherry-picked.
The reality is that your favorite features aren't necessarily going to
make it into the core language. Mine aren't either. I'm sure there are
people who would have liked full Perl regexp support too.
If you build your applications to use features from a specific Gem,
and that Gem isn't updated for 1.9.x support, that isn't Ruby's fault,
and Matz is under no obligation to make the Gem's full functionality
available in any version of Ruby.
You have the option of fixing the Oniguruma Gem to build with 1.9.x,
or migrating your code so you don't need the Gem (apparently by naming
your regexp groups).
http://redmine.ruby-lang.org/issues/show/2759
> The core team still has not given me a reason for that decision.
At the time the decision was made, there was no Oniguruma Gem. Using
both named and unnamed capture groups at the same time is an ugly
thing to do, and nobody saw a good reason to enable it.
It seems to me that the problem is that the people who put together
the Oniguruma Gem made it allow more things than Ruby 1.9.x, leading
you to depend on that extra functionality-- but they then failed to
make the Gem work with 1.9.x. Again, not Ruby's fault. If I were in
your position, I'd be peeved at the people who put the Gem together.
> What I am saying is "bridge". Think of a bridge as 1.8.8 to version 1.9.2.
So what are you suggesting for 1.8.8 that isn't new functionality, but
helps bridge to 1.9.2?
mathew
--