[#44925] [Backport93 - Backport #5702][Open] backport r33935 — Yusuke Endoh <mame@...>

19 messages 2011/12/03
[#44929] [Backport93 - Backport #5702] backport r33935 — Tomoyuki Chikanaga <nagachika00@...> 2011/12/05

[#44931] Re: [Backport93 - Backport #5702] backport r33935 — Yusuke Endoh <mame@...> 2011/12/05

遠藤です。

[#44940] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — Tanaka Akira <akr@...>

2011/12/6 <naruse@ruby-lang.org>:

9 messages 2011/12/05
[#44941] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — KOSAKI Motohiro <kosaki.motohiro@...> 2011/12/05

2011年12月5日16:56 Tanaka Akira <akr@fsij.org>:

[#44942] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — KOSAKI Motohiro <kosaki.motohiro@...> 2011/12/05

> おかしいな。gdbmは勝手にcreateフラグを立ててしまうので当該2つの

[#44985] [ruby-trunk - Bug #5757][Open] main threadがreadやselectで待っていると、^C でなかなか死なない — Yui NARUSE <naruse@...>

12 messages 2011/12/13

[#45021] [ruby-trunk - Bug #5786][Open] LoadError: cannot load such file -- openssl — Kazuhiro NISHIYAMA <redmine@...>

11 messages 2011/12/21

[#45057] [ruby-trunk - Feature #5820][Assigned] Merge Onigmo to Ruby 2.0 — Yui NARUSE <naruse@...>

21 messages 2011/12/28

[ruby-dev:45054] Re: [ruby-trunk - Bug #5786] LoadError: cannot load such file -- openssl

From: Hiroshi Nakamura <nahi@...>
Date: 2011-12-27 10:39:33 UTC
List: ruby-dev #45054
(2011/12/22 10:18), Nobuyoshi Nakada wrote:
> これは、1.9からautoloadされる定数がdefined?でnilになるというバグがあっ
> たので1.9.3で直したのですが、そのときに定数のdefined?で例外が起きないと
> いう(1.9.0で導入された誤った)仮定にそぐわなくなったためです。おそらく最
> 右辺以外の定数参照にISEQ_TYPE_DEFINED_GUARDを付ける必要があるのではない
> かと思います。

いまひとつ中田さんが書かれていることを理解しきれていませんが、
defined?(A::B) は、普通にAの定数参照をして、Aがautoloadだったらそれも解
決しちゃう、ということでいいですよね?

= 2.0.0dev

% cat autoload_defined.rb
autoload :OpenSSL, 'openssl'
p defined?(OpenSSL)
p $LOADED_FEATURES.grep(/openssl/).empty?
p defined?(OpenSSL::Random)
p $LOADED_FEATURES.grep(/openssl/).empty?
% ruby -v autoload_defined.rb
ruby 2.0.0dev (2011-12-26 trunk 34138) [x86_64-linux]
"constant"
true
"constant"
false

= 1.9.3

% ruby -v autoload_defined.rb
ruby 1.9.3p6 (2011-12-15 revision 34049) [x86_64-linux]
"constant"
true
"constant"
false

= 1.9.2

% ruby -v autoload_defined.rb
ruby 1.9.2p312 (2011-08-11 revision 32926) [x86_64-linux]
nil
true
nil
true

= 1.8.7

% ruby187 -v autoload_defined.rb
ruby 1.8.7 (2011-12-10 patchlevel 356) [x86_64-linux]
"constant"
true
"constant"
false

1.9.3で、1.8と同じ挙動になった、と。

Attachments (1)

signature.asc (486 Bytes, application/pgp-signature)

In This Thread