[#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: 1.8.4 and respond_to

From: Caleb Tennis <caleb@...>
Date: 2005-12-07 11:52:20 UTC
List: ruby-core #6859
>
> How broken?
>

Object initialization was done like this:

     if (rb_respond_to(result, rb_intern("initialize")) != 0) {
	rb_obj_call_init(result, argc, argv);
     }

So, suddenly, objects in Ruby 1.8.4 weren't being initialized.


>> So, I guess what I'm asking is if there's a good reason for  
>> altering this
>> behavior between minor releases?  It seems much more suited for  
>> breaking
>> between a larger release, in my humble opinion.
>
> The reason was:
> 1) it returned true even if a global method was matched,
> 2) it didn't conform to the default behavior of Object#respond_to?.

Right, I agree that it deserved to be fixed.  I think, though, that  
there is some general expectation of people who are familiar with  
open source software that when a program goes from version X.Y.Z to  
X.Y.(Z+1) that it's "binary compatible" with other releases.  This  
seems like too big of change of behavior.

My opinion is that it would be better to change rb_respond_to back to  
the way it was previously, and add a warning about it being  
deprecated in favor of rb_obj_respond_to.

Thanks,
Caleb

In This Thread