[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

永井@知能.九工大です.

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30232] [patch] rb_type(): シンボル型に対する型判定が怪しい

From: "Yoshinori Sano" <yoshinori.sano@...>
Date: 2007-02-01 02:24:55 UTC
List: ruby-dev #30232
さの よしのり です。

tool/compile.rbでRubyプログラムの難読化を試そうとしていて、バグを発見しました。
ruby.hで定義されているrb_type()が、シンボル型に対して、型判定がうまくできて
いないようです。

一応、このパッチを適用すると、tool/compile.rbで難読化したRubyプログラムが
動作するようになります。

詳細はブログに書いておきました。
http://d.hatena.ne.jp/ysano2005/20070131/1170264883

よろしくお願いいたします。


Index: ChangeLog
===================================================================
--- ChangeLog   (revision 11607)
+++ ChangeLog   (working copy)
@@ -1,3 +1,7 @@
+Thu Feb  1 11:00:00 2007  Yoshinori Sano  <[email protected]>
+
+   * ruby.h (rb_type): should handle T_SYMBOL properly.
+
 Wed Jan 31 14:52:09 2007  Yukihiro Matsumoto  <[email protected]>

    * test/ruby/test_iterator.rb
(TestIterator::test_block_given_within_iterator):
Index: ruby.h
===================================================================
--- ruby.h  (revision 11607)
+++ ruby.h  (working copy)
@@ -771,6 +771,8 @@
     else if (!RTEST(obj)) {
    if (obj == Qnil) return T_NIL;
    if (obj == Qfalse) return T_FALSE;
+    } else {
+        if (SYMBOL_P(obj)) return T_SYMBOL;
     }
     return BUILTIN_TYPE(obj);
 }


-- 
Yoshinori Sano <[email protected]>

In This Thread

Prev Next