[#40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...>

成瀬です。

29 messages 2010/02/03
[#40307] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — KOSAKI Motohiro <kosaki.motohiro@...> 2010/02/03

小崎です

[#40339] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — Tanaka Akira <akr@...> 2010/02/07

2010年2月3日21:07 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#40345] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...> 2010/02/07

成瀬です。

[#40490] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...> 2010/02/25

成瀬です。

[#40511] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — Aaron Patterson <aaron.patterson@...> 2010/02/27

2010/2/25 NARUSE, Yui <naruse@airemix.jp>:

[#40513] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "U.Nakamura" <usa@...> 2010/02/27

アーロン宛

[#40317] [Bug:trunk] TCPServer#gets gets stuck — Yusuke ENDOH <mame@...>

遠藤です。

19 messages 2010/02/04
[#40371] Re: [Bug:trunk] TCPServer#gets gets stuck — Yusuke ENDOH <mame@...> 2010/02/09

遠藤です。

[#40382] [Bug:trunk] rubyspec: ObjectSpace.define_finalizer doesn't call self-referencing finalizers FAILED — Yusuke ENDOH <mame@...>

なかださんかまつもとさん

9 messages 2010/02/10

[#40418] [Feature #2746] ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション — Kenta Murata <redmine@...>

Feature #2746: ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション

11 messages 2010/02/15

[#40461] respond_to?(<protected method name>) returns true — "Akinori MUSHA" <knu@...>

 今さらかもしれませんが、 respond_to? で protected メソッドを

14 messages 2010/02/22
[#40462] Re: respond_to?(<protected method name>) returns true — Yukihiro Matsumoto <matz@...> 2010/02/23

まつもと ゆきひろです

[#40463] Re: respond_to?(<protected method name>) returns true — "Akinori MUSHA" <knu@...> 2010/02/23

At Tue, 23 Feb 2010 14:09:52 +0900,

[#40464] Re: respond_to?(<protected method name>) returns true — Yukihiro Matsumoto <matz@...> 2010/02/23

まつもと ゆきひろです

[#40467] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...>

成瀬です。

27 messages 2010/02/23
[#40468] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 01:28:24 +0900,

[#40469] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...> 2010/02/23

(2010/02/24 1:57), Akinori MUSHA wrote:

[#40470] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 02:07:00 +0900,

[#40472] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/02/23

2010/2/24 Akinori MUSHA <knu@idaemons.org>:

[#40473] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 06:06:13 +0900,

[#40486] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/02/25

MjAxMC8yLzI0IEFraW5vcmkgTVVTSEEgPGtudUBpZGFlbW9ucy5vcmc+Ogo+PiAbJEIwRTlmPWhN

[#41367] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/05/20

2010/2/25 NAKAMURA, Hiroshi <nakahiro@gmail.com>:

[#41373] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/05/20

 長いことほとんど Ruby に時間が割けておらずすみません。

[#41518] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/06/03

2010/5/20 Akinori MUSHA <knu@idaemons.org>:

[#41520] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...> 2010/06/03

成瀬です。

[#40492] [Bug #2794] Aborted (core dumped) BUG on Ruby/DL — Takao NISHI <redmine@...>

Bug #2794: Aborted (core dumped) BUG on Ruby/DL

10 messages 2010/02/26

[ruby-dev:40292] Re: Array#flatten の仕様変更?

From: Hidetoshi NAGAI <nagai@...>
Date: 2010-02-01 23:23:40 UTC
List: ruby-dev #40292
永井@知能.九工大です.

From: Yukihiro Matsumoto <matz@ruby-lang.org>
Subject: [ruby-dev:40285] Re: Array#flatten の仕様変更?
Date: Mon, 1 Feb 2010 17:03:05 +0900
Message-ID: <E1NbrFQ-00073x-HO@x61.netlab.jp>
> |1.9 の Array#flatten において,配列内のオブジェクトの 
> |to_ary メソッド呼び出しに対する挙動が原因でエラーとなる条件が
> |NameError から NoMethodError に変更になったようですが,
> |これは仕様変更でしょうか?
> すみません、正直なところ「flattenにおいて、配列内のオブジェク
> トの to_ary メソッド呼び出しに対する挙動が原因でエラーとなる
> 条件」というのが、なにを意味するのかよくわからないのですが。

説明が悪くてすみません.

> 1.8以前はto_aryを持っているかどうかをrespond_to?で判定してい
> たのを、1.9では直接呼び出すようにしたことと関係していると思い
> ますが。

次の例を 1.8 と 1.9 とで実行すると,結果が異なります.
to_str でも同様のことが生じるので,ついでに含めています.
--------------------------------------------------------------------------
obj1 = Object.new
p [1,obj1].flatten #=> no error

obj2 = Object.new
def obj2.method_missing(id,*args)
  raise NoMethodError, "2 unknown '#{id}'"
end
begin
  p [2,obj2].flatten #=> error!
rescue => e
  p e
end

obj3 = Object.new
def obj3.method_missing(id,*args)
  raise NameError, "3 unknown '#{id}'"
end
begin
  p [3,obj3].flatten #=> [1.8] [3,obj3] ; [1.9] error!
rescue => e
  p e
end

[obj1, obj2, obj3].each{|obj|
  begin
    case obj
    when /^xxx/
      p ["xxx", obj]
    else
      p ["else", obj]
    end
  rescue => e
    p e
  end
}
--------------------------------------------------------------------------

--<< 1.8 >>-------------------------
[1, #<Object:0xb7dddf6c>]
[2, #<Object:0xb7dddeb8>]
[3, #<Object:0xb7ddddf0>]
["else", #<Object:0xb7dddf6c>]
["else", #<Object:0xb7dddeb8>]
["else", #<Object:0xb7ddddf0>]
------------------------------------

--<< 1.9 >>-------------------------
[1, #<Object:0x8201dd8>]
[2, #<Object:0x8201d10>]
#<NameError: 3 unknown 'to_ary'>
["else", #<Object:0x8201dd8>]
["else", #<Object:0x8201d10>]
#<NameError: 3 unknown 'to_str'>
------------------------------------

> |これが原因で Ruby/Tk が動かなくなっているのですが,
> |問題の箇所を NameError から NoMethodError に変更すると 
> |仕様変更になるのでどうしようかと迷っています.
> 
> NameErrorとNoMethodErrorは継承関係にあるので、あまり問題は起
> きないと思っていたのですが。具体的にどう動かなくなっているか、
> どのように変更しようと思っているか、など、聞かせていただける
> とアドバイスしようがあると思います。

動かなくなっていたのは,flatten が呼ばれる配列の中に
widget object が含まれている場合で,NameError で止まってました.

# widget object では,知らないメソッドに対しては
# 所有しない属性の参照/操作メソッドを呼ぼうとしていると解釈して,
# 名前の響きで NameError を返すようにしていたのだと思います.

変更については,widget object の method_missing において
to_ary と to_str の場合は NoMethodError となるように変更しました.
仕様変更にはなるのですが,この程度であれば,
おっしゃる通り問題にはならないだろうと思いますので,
ext/tk/lib/tk.rb の commit を済ませてしまいました.

お騒がせしてすみませんでした.
-- 
永井 秀利  (nagai@ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門

In This Thread