Ruby 1.8.6 preview2 has been released

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

 1.8.5リリース以降見つかった数多くのバグの修正とライブラリの更新、
一部のパフォーマンスの改善を含みます。

 ソースファイルは以下のURLで取得できます。

ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-preview2.tar.gz

チェックサム:
MD5 (ruby-1.8.6-preview2.tar.gz) = 64504fe5807b9e1779a8a322bba49f63
SHA1 (ruby-1.8.6-preview2.tar.gz) =
177615211c3b4e44b49f0bd257aae740113bfcbb
SHA256 (ruby-1.8.6-preview2.tar.gz) =
62d5c55c0cc157a08bfd3cd94037a44f6e8b689d4386cfdaaa1a68789ef2e136
SHA384 (ruby-1.8.6-preview2.tar.gz) =
a72c127976361389f35c45d02db166a08664198255a39e621f084dadbc8968ff28b787d0c7717d2e2fffb5e4fef26f33
SHA512 (ruby-1.8.6-preview2.tar.gz) =
22bf52382a88d6388973a45abb7d1d9a9073989506f1274da1963b9bf9da0e135cacd1743d685afa764b928a57de8f12a19aed9c520a7dbd0d58e4d4c56a7c3c
RMD160 (ruby-1.8.6-preview2.tar.gz) =
51f7be3198798c8675637fb8a24f4ed8502fffc4
Tiger (ruby-1.8.6-preview2.tar.gz) =
c01ad7e5112677720ce40c78db59b56bf82e75aad047d7e2
Whirlpool (ruby-1.8.6-preview2.tar.gz) =
5f9660b95c3c3d7692807b9058f67b47e36b20e1021edc2fc09e9ec541cc7c1abd3f2104fa66048534aafd0759327208681296702afe84dc6814b7467561762c
SIZE (ruby/ruby-1.8.6-preview2.tar.gz) = 4535884

ã€€ãƒ†ã‚¹ãƒˆã—ã¦ã¿ã¦å•é¡Œã‚’ç™ºè¦‹ã•ã‚ŒãŸã‚‰ã€ãŠæ—©ã‚ã«ã”å ±å‘Šãã ã•ã„ã€‚

 最終リリースは一週間後を予定しています。

 よろしくお願いします。


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

e$B$H$_$?$G$9!#e(B

On Sun, 25 Feb 2007 00:28:34 +0900
“Akinori MUSHA” [email protected] wrote:

e$B!!e(BRuby 1.8.6 preview2 e$B$r%j%j!<%9$7$^$7$?!#e(B
e$B!A!Ae(B
e$B!!%F%9%H$7$F$_$FLdBj$rH/8+$5$l$?$i!"$*Aa$a$K$4Js9p$/[email protected]$5$$!#e(B

[ruby-dev:30400] e$B$r$*4j$$$7$^$9!#e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “Akinori MUSHA” [email protected]
Subject: [ruby-dev:30408] Ruby 1.8.6 preview2 has been released
Date: Sun, 25 Feb 2007 00:28:34 +0900
Message-ID: [email protected]

e$B!!e(BRuby 1.8.6 preview2 e$B$r%j%j!<%9$7$^$7$?!#e(B
(snip)
e$B!!%F%9%H$7$F$_$FLdBj$rH/8+$5$l$?$i!"$*Aa$a$K$4Js9p$/[email protected]$5$$!#e(B

$SAFE==0 e$B$J$I$Ge(B autoload e$B$,E,@[email protected]_Dj$5$l$F$$$k>l9g!$e(B
$SAFE e$B$NCM$KL54X78$K$-$A$s$He(B load e$B$5$l$k$Y$-$H;W$$$^$9$7!$e(B
e$B;v<B!$$3$l$^$G$O$=$N$h$&$KF/$$$F$$$?$N$G$9$,!$e(B
20070219 e$B$Ne(B commit
e$B$N7k2L!$$&$^$/5!G=$7$J$$$h$&$K$J$C$F$$$^$9!%e(B

e$BNc$($Pe(B $SAFE==0 e$B$Ge(B require ‘tk’
(e$BF1;~$K3F%&%#%8%’%C%H%/%i%9$K$D$$$F$Oe(B
autoload e$B$,@_Dj$5$l$^$9e(B) e$B$7$?8e!$e(B$SAFE==4
e$B$G$$$:$l$+$N%&%#%8%’%C%H$re(B
e$B;HMQ$7$h$&$H$7$Fe(B autoload e$B$,F/$/$He(B SecurityError
e$B$K$J$j$^$9!%e(B
e$B$3$N$^$^e(B Ruby 1.8.6 e$B$H$7$F%j%j!<%9$5$l$F$7$^$&$H!$e(B
e$BI,MW$J%&%#%8%’%C%H%/%i%[email protected]$1$re(B load
e$B$9$k$?$a$K%U%!%$%k$rJ,3d$7$F$$$ke(B
Ruby/Tk e$B$K$H$C$F$O!$6K$a$F:$$C$?;EMMJQ99$H$J$C$F$7$^$$$^$9!%e(B

e$B<h$j5^$.$NJs9p$N$$G$9$$^$;$s$,!$$h$m$7$/$*4j$$$7$^$9!%e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

e$BJdB->pJs$G$9!%e(B

From: Hidetoshi NAGAI [email protected]
Subject: [ruby-dev:30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6
preview2 has been released)
Date: Sun, 25 Feb 2007 18:41:16 +0900
Message-ID: [email protected]

e$BNc$($Pe(B $SAFE==0 e$B$Ge(B require ‘tk’ (e$BF1;~$K3F%&%#%8%’%C%H%/%i%9$K$D$$$F$Oe(B
autoload e$B$,@_Dj$5$l$^$9e(B) e$B$7$?8e!$e(B$SAFE==4 e$B$G$$$:$l$+$N%&%#%8%’%C%H$re(B
e$B;HMQ$7$h$&$H$7$Fe(B autoload e$B$,F/$/$He(B SecurityError e$B$K$J$j$^$9!%e(B

$ ruby -r tk -e ‘Thread.new{$SAFE=4; TkButton.new}.value’
e$B$GMF0W$K:F8=$G$-$k$H;W$$$^$9!%e(B

rb_autoload_load() e$B$Ne(B if [email protected]$N>r7oH=CGIt$Ge(B rb_provided()
e$B$re(B
e$B8F$s$G$$$^$9$,!$$3$N;[email protected]$G$Oe(B $SAFE=4 e$B$N$^$^$G$9!%e(B
rb_provided() e$B$NJQ99$Ge(B search_required()
e$B$r8F$V$h$&$K$J$C$?7k2L!$e(B
$SAFE=4 e$B$Ge(B search_required() e$B$r8F$s$G$7$^$&$?$a!$e(B
SecurityError e$B$GMn$A$k$H$$$&$3$H$N$h$&$G$9$M!%e(B

e$B$G$9$N$G!$e(Brb_autoload_load() e$B$NLdBjItJ,$re(B

if (!load || !(file = load->nd_lit)) {
  int saved_safe = ruby_safe_level;
  int st;
  ruby_safe_level = load->nd_nth;
  st = rb_provided(RSTRING(file)->ptr);
  ruby_safe_level = saved_safe;
  if (st) return Qfalse;
}

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Nobuyoshi N. [email protected]
Subject: [ruby-dev:30418] Re: fail to autoload at $SAFE==4 (Re: Ruby
1.8.6 preview2 has been released)
Date: Mon, 26 Feb 2007 00:35:52 +0900
Message-ID:
[email protected]

At Sun, 25 Feb 2007 18:41:16 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30414]:

$SAFE==0 e$B$J$I$Ge(B autoload e$B$,E,@[email protected]_Dj$5$l$F$$$k>l9g!$e(B
$SAFE e$B$NCM$KL54X78$K$-$A$s$He(B load e$B$5$l$k$Y$-$H;W$$$^$9$7!$e(B
e$B;v<B!$$3$l$^$G$O$=$N$h$&$KF/$$$F$$$?$N$G$9$,!$e(B
20070219 e$B$Ne(B commit e$B$N7k2L!$$&$^$/5!G=$7$J$$$h$&$K$J$C$F$$$^$9!%e(B

e$B$9$$$^$;$s!#$3$l$G$I$&$G$7$g$&!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!%F0$/$h$&$K$J$j$^$7$?!%e(B
ruby_1_8 e$B$*$h$Se(B ruby_1_8_6 e$B$X$Ne(B commit
e$B$r$h$m$7$/$*4j$$$$$?$7$^$9!%e(B

[email protected]$G$9!#e(B

At Sun, 25 Feb 2007 18:41:16 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30414]:

$SAFE==0 e$B$J$I$Ge(B autoload e$B$,E,@[email protected]_Dj$5$l$F$$$k>l9g!$e(B
$SAFE e$B$NCM$KL54X78$K$-$A$s$He(B load e$B$5$l$k$Y$-$H;W$$$^$9$7!$e(B
e$B;v<B!$$3$l$^$G$O$=$N$h$&$KF/$$$F$$$?$N$G$9$,!$e(B
20070219 e$B$Ne(B commit e$B$N7k2L!$$&$^$/5!G=$7$J$$$h$&$K$J$C$F$$$^$9!%e(B

e$B$9$$$^$;$s!#$3$l$G$I$&$G$7$g$&!#e(B

Index: eval.c

— eval.c (revision 11791)
+++ eval.c (working copy)
@@ -6938,4 +6938,7 @@ static const char *const loadable_ext[]
};

+static int rb_feature_p _((const char *, const char *, int));
+static int search_required _((VALUE, VALUE *, VALUE *));
+
static int
rb_feature_p(feature, ext, rb)
@@ -6974,5 +6977,5 @@ rb_feature_p(feature, ext, rb)
if (loading_tbl) {
if (st_lookup(loading_tbl, (st_data_t)feature, 0)) {

  •  if (ext) return 'u';
    
  •  if (!ext) return 'u';
     return strcmp(ext, ".rb") ? 's' : 'r';
    
    }
    @@ -6994,6 +6997,4 @@ rb_feature_p(feature, ext, rb)
    }

-static int search_required(VALUE, VALUE *, VALUE *);

int
rb_provided(feature)
@@ -7004,9 +7005,4 @@ rb_provided(feature)
if (rb_feature_p(feature, 0, Qfalse))
return Qtrue;

  • if (search_required(rb_str_new2(feature), &fname, &path) != 0) {
  • feature = RSTRING_PTR(fname);
  • if (rb_feature_p(feature, strrchr(feature, ‘.’), Qfalse))
  •  return Qtrue;
    
  • }
    return Qfalse;
    }

At Mon, 26 Feb 2007 00:35:52 +0900,
Nobuyoshi N. wrote:

At Sun, 25 Feb 2007 18:41:16 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30414]:

$SAFE==0 e$B$J$I$Ge(B autoload e$B$,E,@[email protected]_Dj$5$l$F$$$k>l9g!$e(B
$SAFE e$B$NCM$KL54X78$K$-$A$s$He(B load e$B$5$l$k$Y$-$H;W$$$^$9$7!$e(B
e$B;v<B!$$3$l$^$G$O$=$N$h$&$KF/$$$F$$$?$N$G$9$,!$e(B
20070219 e$B$Ne(B commit e$B$N7k2L!$$&$^$/5!G=$7$J$$$h$&$K$J$C$F$$$^$9!%e(B

e$B$9$$$^$;$s!#$3$l$G$I$&$G$7$g$&!#e(B

e$B!!$"$j$,$H$&$4$6$$$^$9!#e(Bruby_1_8
e$B$K%3%_%C%[email protected]$1$^$9$+!#e(B


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

At Sun, 25 Feb 2007 11:08:31 +0900,
e$B$H$_$?$^$5$R$me(B wrote:

[ruby-dev:30400] e$B$r$*4j$$$7$^$9!#e(B

e$B!!<h$j$3$$7$9$_$^$;$s!#e(Bruby_1_8 e$B$KE,MQ$7$^$7$?!#e(B

e$B!!8e$[$Ie(B ruby_1_8_6 e$B$K$bF~$l$^$9!#e(B


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Nobuyoshi N. [email protected]
Subject: [ruby-dev:30434] Re: fail to autoload at $SAFE==4
Date: Tue, 27 Feb 2007 11:00:40 +0900
Message-ID:
[email protected]

e$B$H$$$&$3$H$G9M$($?$N$,!“0J2<$NFs$D$N0F$G$9!#e(B
(1) safe_levele$B$r;XDj$7$FC5$7$F$/$l$ke(Brb_provided()e$B$rDI2C$9$ke(B
(2) rb_provided()e$B$O3HD%%i%$%V%i%j$K$D$$$F$O$”$-$i$a$ke(B

rb_provided()e$B$Oe(Bautoloade$B4XO"$G$7$+;H$o$l$F$$$J$$$N$G!"$H$j$"$($:e(B
e$B$Oe(B(2)e$B$G$$$$$N$G$O$J$$$+$H;W$$$^$9!#3HD%%i%$%V%i%[email protected]$1%m!<%I$5$le(B
e$B$?;[email protected]$G$OL$Dj5A$NDj?t$,e(Bdefined?e$B$de(Bautoload?e$B$G??$rJV$9$h$&$K$J$je(B
e$B$^$9$,!"<B:]$K;2>H$5$l$l$Pe(Bconst_missinge$B$K$J$k$N$G!"5vMFHO0O$G$Oe(B
e$B$J$+$m$&$+$H!#e(B

e$B!Ve(B(1) e$B$G$"$l$Pe(B autoload e$BDj5A;~$Ne(B $SAFE
e$B$G8F$Y$k$N$GM}A[E*$G$O$"$k$,!$e(B
e$B<BAu$N8z2L$H<j4V$H$r9M$($k$H!%!%!%!W$H$$$&M}2r$G$$$$$G$7$g$&$+!)e(B
e$B$h$/J,$+$C$F$J$$$N$G$9$,!$e(B(2)
e$B$N;EMM$G!V%.%c%C!W$H$$$&%1!<%9$Oe(B
e$B$J$$$N$G$7$g$&$+!)e(B

e$B;d$,8=:_D>LL$7$F$$$k%1!<%9$G$OLdBj$J$$$h$&$G$9$7!$e(B

e$B;d<+?H$Oe(B (2) e$B$G$+$^$o$J$$$N$G$9$,!%!%!%e(B

[email protected]$G$9!#e(B

At Mon, 26 Feb 2007 00:50:48 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30419]:

$SAFE==0 e$B$J$I$Ge(B autoload e$B$,E,@[email protected]_Dj$5$l$F$$$k>l9g!$e(B
$SAFE e$B$NCM$KL54X78$K$-$A$s$He(B load e$B$5$l$k$Y$-$H;W$$$^$9$7!$e(B
e$B;v<B!$$3$l$^$G$O$=$N$h$&$KF/$$$F$$$?$N$G$9$,!$e(B
20070219 e$B$Ne(B commit e$B$N7k2L!$$&$^$/5!G=$7$J$$$h$&$K$J$C$F$$$^$9!%e(B

e$B$9$$$^$;$s!#$3$l$G$I$&$G$7$g$&!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!%F0$/$h$&$K$J$j$^$7$?!%e(B
ruby_1_8 e$B$*$h$Se(B ruby_1_8_6 e$B$X$Ne(B commit e$B$r$h$m$7$/$*4j$$$$$?$7$^$9!%e(B

e$B8=:_$N%3!<%I$,e(Bsearch_required()e$B$r8F$V$h$&$K$J$C$F$$$kM}M3$O!“e(B
requiree$B$O3HD%;R$,;XDj$5$l$F$$$J$1$l$Pe(B.rb,
.soe$B$J$I$rC5$9$H$$$&;Ee(B
[email protected]$+$i$G$9!#$D$^$j!”$b$7$9$G$K3HD%%i%$%V%i%j$,%m!<%I$5$l$F$$e(B
e$B$?$H$7$F$b!“e(B$LOAD_PATHe$BCf$K$*$J$8e(Bfeaturee$BL>$Ne(B.
rbe$B%U%!%$%k$,$”$le(B
e$B$P!"$=$A$i$,M%@h$5$l$k$?$a$Ke(Brb_provided()e$B$Oe(Bfalsee$B$rJV$5$J$1$l$Pe(B
e$B$J$j$^$;$s$,!“A02s$N%Q%C%A$G$O3HD%%i%$%V%i%j$H%9%/%j%W%H%i%$%Ve(B
e$B%i%j$NN>J}$,$”$k>l9g$K$OBP1~$G$-$^$;$s!#e(B

e$B$H$$$&$3$H$G9M$($?$N$,!“0J2<$NFs$D$N0F$G$9!#e(B
(1) safe_levele$B$r;XDj$7$FC5$7$F$/$l$ke(Brb_provided()e$B$rDI2C$9$ke(B
(2) rb_provided()e$B$O3HD%%i%$%V%i%j$K$D$$$F$O$”$-$i$a$ke(B

rb_provided()e$B$Oe(Bautoloade$B4XO"$G$7$+;H$o$l$F$$$J$$$N$G!"$H$j$"$($:e(B
e$B$Oe(B(2)e$B$G$$$$$N$G$O$J$$$+$H;W$$$^$9!#3HD%%i%$%V%i%[email protected]$1%m!<%I$5$le(B
e$B$?;[email protected]$G$OL$Dj5A$NDj?t$,e(Bdefined?e$B$de(Bautoload?e$B$G??$rJV$9$h$&$K$J$je(B
e$B$^$9$,!"<B:]$K;2>H$5$l$l$Pe(Bconst_missinge$B$K$J$k$N$G!"5vMFHO0O$G$Oe(B
e$B$J$+$m$&$+$H!#e(B

Index: eval.c

— eval.c (revision 11898)
+++ eval.c (working copy)
@@ -6938,4 +6938,7 @@ static const char *const loadable_ext[]
};

+static int rb_feature_p _((const char *, const char *, int));
+static int search_required _((VALUE, VALUE *, VALUE *));
+
static int
rb_feature_p(feature, ext, rb)
@@ -6974,5 +6977,5 @@ rb_feature_p(feature, ext, rb)
if (loading_tbl) {
if (st_lookup(loading_tbl, (st_data_t)feature, 0)) {

  •  if (ext) return 'u';
    
  •  if (!ext) return 'u';
     return strcmp(ext, ".rb") ? 's' : 'r';
    
    }
    @@ -6994,19 +6997,22 @@ rb_feature_p(feature, ext, rb)
    }

-static int search_required(VALUE, VALUE *, VALUE *);

int
rb_provided(feature)
const char *feature;
{

  • VALUE fname, path;
  • const char *ext = strrchr(feature, ‘.’);
  • if (rb_feature_p(feature, 0, Qfalse))
  • return Qtrue;
  • if (search_required(rb_str_new2(feature), &fname, &path) != 0) {
  • feature = RSTRING_PTR(fname);
  • if (rb_feature_p(feature, strrchr(feature, ‘.’), Qfalse))
  •  return Qtrue;
    
  • if (ext && !strchr(ext, ‘/’)) {
  • if (strcmp(".rb", ext) == 0) {
  •  if (rb_feature_p(feature, ext, Qtrue)) return Qtrue;
    
  •  return Qfalse;
    
  • }
  • else if (IS_SOEXT(ext) || IS_DLEXT(ext)) {
  •  return Qfalse;  /* may be overriden by .rb file */
    
  • }
    }
  • if (rb_feature_p(feature, 0, Qfalse) == ‘r’)
  • return Qtrue;
  • return Qfalse;
    }

[email protected]$G$9!#e(B

At Tue, 27 Feb 2007 11:45:40 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30435]:

e$B$H$$$&$3$H$G9M$($?$N$,!“0J2<$NFs$D$N0F$G$9!#e(B
(1) safe_levele$B$r;XDj$7$FC5$7$F$/$l$ke(Brb_provided()e$B$rDI2C$9$ke(B
(2) rb_provided()e$B$O3HD%%i%$%V%i%j$K$D$$$F$O$”$-$i$a$ke(B

e$B$b$&0l$D9M$($^$7$?!#e(B

(3) autoloade$B$r;XDj$7$?$H$-$K<B:]$K%m!<%I$5$l$k$O$:$N%i%$%V%i%j$re(B
e$BC5$7!"e(B.rbe$B$+e(B.soe$B$+3NDj$7$F$7$^$&e(B

rb_provided()e$B$Oe(Bautoloade$B4XO"$G$7$+;H$o$l$F$$$J$$$N$G!"$H$j$"$($:e(B
e$B$Oe(B(2)e$B$G$$$$$N$G$O$J$$$+$H;W$$$^$9!#3HD%%i%$%V%i%[email protected]$1%m!<%I$5$le(B
e$B$?;[email protected]$G$OL$Dj5A$NDj?t$,e(Bdefined?e$B$de(Bautoload?e$B$G??$rJV$9$h$&$K$J$je(B
e$B$^$9$,!"<B:]$K;2>H$5$l$l$Pe(Bconst_missinge$B$K$J$k$N$G!"5vMFHO0O$G$Oe(B
e$B$J$+$m$&$+$H!#e(B

e$B!Ve(B(1) e$B$G$"$l$Pe(B autoload e$BDj5A;~$Ne(B $SAFE e$B$G8F$Y$k$N$GM}A[E*$G$O$"$k$,!$e(B
e$B<BAu$N8z2L$H<j4V$H$r9M$($k$H!%!%!%!W$H$$$&M}2r$G$$$$$G$7$g$&$+!)e(B
e$B$h$/J,$+$C$F$J$$$N$G$9$,!$e(B(2) e$B$N;EMM$G!V%.%c%C!W$H$$$&%1!<%9$Oe(B
e$B$J$$$N$G$7$g$&$+!)e(B

e$B$?$H$($P!“e(Bfoo.rbe$B$O$J$$$,e([email protected]$1$rDj5A$9$k3HD%%i%$%V%i%je(Bfoo.soe$B$Oe(B
e$B$”$k$H$9$k$H!"0J2<$N%3!<%I$Oe(BNameErrore$B$K$J$j$^$9!#e(B

autoload :Bar, “foo”
require “foo”
Bar if defined?(Bar)

e$BK\Mh$J$i!"$b$&e(B"foo"e$B$H$7$F%m!<%I$G$-$k$b$N$,[email protected]$+$i!":G8e$Ne(B
defined?(Bar)e$B$Oe(Bnile$B$K$J$k$O$:$G$9!#$b$C$H$b!“e(Bdefined?e$B$He(BBare$B$N;2>He(B
e$B$N4V$Ke(Bfoo.rbe$B$,:n$i$l$J$$$H$$$&J]>Z$O$J$$!”$H9M$([email protected]$7$$F0:n$+e(B
e$B$b$7$l$^$;$s$,!#e(B

e$B:#5$$E$-$^$7$?$,!“F0E*$K%9%/%j%W%H$re(B$LOAD_PATHe$B$K:n$k$H$$$&[email protected](B
e$B$r9M$($k$J$i!”%m!<%I:Q$_$Ne(B.soe$B$NM-L5$r%m!<%ICf$Ne(B.rbe$B$NM-L5$h$j$bM%e(B
[email protected]$5$;$F$O$^$:$$$N$G!":G8e$Ne(Bife$BJ8$O$3$&$G$9$M!#e(B

if (rb_feature_p(feature, feature + strlen(feature), Qtrue))

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “Nobuyoshi N.” [email protected]
Subject: [ruby-dev:30437] Re: fail to autoload at $SAFE==4
Date: Tue, 27 Feb 2007 15:02:33 +0900
Message-ID:
[email protected]

At Tue, 27 Feb 2007 11:45:40 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30435]:

e$B$H$$$&$3$H$G9M$($?$N$,!“0J2<$NFs$D$N0F$G$9!#e(B
(1) safe_levele$B$r;XDj$7$FC5$7$F$/$l$ke(Brb_provided()e$B$rDI2C$9$ke(B
(2) rb_provided()e$B$O3HD%%i%$%V%i%j$K$D$$$F$O$”$-$i$a$ke(B

e$B$b$&0l$D9M$($^$7$?!#e(B

(3) autoloade$B$r;XDj$7$?$H$-$K<B:]$K%m!<%I$5$l$k$O$:$N%i%$%V%i%j$re(B
e$BC5$7!"e(B.rbe$B$+e(B.soe$B$+3NDj$7$F$7$^$&e(B
^^^^^^^^^^^^^^e$B%U%k%Q%9$G!)e(B

autoload e$B$rDj5A$9$k;[email protected]$G!$$-$C$H$I$N%U%!%$%k$+$Oe(B
e$BA[Dj$7$F$$$k$H;W$($k$N$G!$8D?ME*$K$O$3$l$G$b==J,$J5$$O$7$^$9!%e(B
e$B$G$9$,!$3N$+$KF0E*$JJQ99e(B ($LOAD_PATH e$BJQ99$r4^$`e(B) e$B$re(B
e$BA[[email protected]$be(B 0 e$B$G$O$J$$$G$9$h$M!%e(B(^_^;

autoload e$B$N;EMM$H$7$F!$e(B

  • autoload e$B8F$S=P$7;~$K%m!<%I$5$l$k%U%!%$%k$r3NDj$5$;$k!%e(B
  • e$B<B:]$K%m!<%I$9$k;[email protected]$G%U%!%$%k$N%?%$%`%9%?%s%W$,JQ2=$7$F$$$?$ie(B
    e$BNc30e(B (SecurityError ?) e$B$H$9$k!%e(B
    e$B$H$$$&$N$O!V$"$j!W$G$7$g$&$+!)e(B

e$B!V$"[email protected]$H$7$F$b!$e(B1.8 e$B$G$NJQ99$O%@%a$G$9$M!%e(B

e$B$=$l$O$=$l$H$7$F!$:n6H%3%9%[email protected]$H$r9M$($k$H!$e(B
1.8 e$B$G$O$d$O$je(B (2) e$B$rA*Br$9$k$N$,BEEv$H$J$k$N$G$7$g$&$+!)e(B

At Wed, 28 Feb 2007 06:28:30 +0900,
Hidetoshi NAGAI wrote:

e$B$3$NLdBj$rJ|CV$7$?$^$^$Ke(B 1.8.6 e$B$r%j%j!<%9$H$$$&$o$1$K$Oe(B
e$B$$$+$J$$$G$7$g$&$7!$8=;[email protected]$G$NMn$7$I$3$m$H$7$F$Oe(B
e$BE,@Z$J$N$+$b$7$l$^$;$s!%e(B

e$BFC$KH?BP$,$J$1$l$P!$e(Bruby_1_8, ruby_1_8_6 e$B$K$Oe(B
(2) e$B$rE,MQ$7$F$7$^$&$H$$$&$3$H$G$$$+$,$G$7$g$&$+!)e(B

e$B!!e(Bruby_1_8 e$B$X$NE,MQ$r$*4j$$$7$^$9!#e(B


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Nobuyoshi N. [email protected]
Subject: [ruby-dev:30442] Re: fail to autoload at $SAFE==4
Date: Wed, 28 Feb 2007 00:12:02 +0900
Message-ID:
[email protected]

At Tue, 27 Feb 2007 16:28:51 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30438]:

(3) autoloade$B$r;XDj$7$?$H$-$K<B:]$K%m!<%I$5$l$k$O$:$N%i%$%V%i%j$re(B
e$BC5$7!"e(B.rbe$B$+e(B.soe$B$+3NDj$7$F$7$^$&e(B
^^^^^^^^^^^^^^e$B%U%k%Q%9$G!)e(B

e$B:G=i$O$I$A$i$r;H$&[email protected]$1$r9M$($F$$$^$7$?$,!"<B:]$N%U%!%$%k$rC5e(B
e$B$7$K9T$/0J>e!"%U%k%Q%9$G$J$$$H0UL#$,$J$$$G$7$g$&$M!#e(B

e$B8f0U!%e(B

autoload e$B$N;EMM$H$7$F!$e(B

  • autoload e$B8F$S=P$7;~$K%m!<%I$5$l$k%U%!%$%k$r3NDj$5$;$k!%e(B
  • e$B<B:]$K%m!<%I$9$k;[email protected]$G%U%!%$%k$N%?%$%`%9%?%s%W$,JQ2=$7$F$$$?$ie(B
    e$BNc30e(B (SecurityError ?) e$B$H$9$k!%e(B
    e$B$H$$$&$N$O!V$"$j!W$G$7$g$&$+!)e(B

e$B!V$"$j!W$+$b$7$l$^$;$s$,!"$=$3$^$GI,MW$J$N$+$H$+%?%$%`%9%?%s%We(B
[email protected]$1$G$$$$$N$+$H$+!"$b$&[email protected]$OI,MW$G$7$g$&!#e(B

e$B8F$S=P$7BP>]$H$7$F3NDj$5$;$?$O$:$N%U%!%$%k$,JQ99$5$l$F$$$k$H$$$&$N$Oe(B
e$BHs>o$K4m81$J9a$j$,$9$k$N$G!$%A%’%C%/$,I,MW$+$J$H;W$C$?$^$G$G$9!%e(B

e$B0U?^$7$FJQ99$7$?$J$i!$$=$N;[email protected]$Ge(B autoload

e$B$r8F$SD>$;$P$$$$$o$1$G$9$7!%e(B

e$B$G!$%U%!%$%[email protected]:::$J$I$O$d$C$F$$$i$l$J$$$N$G!$e(B
e$B$G$-$k$N$Oe(B stat e$B%A%’%C%/$/$i$$$+$J$H!%e(B

e$B$=$l$O$=$l$H$7$F!$:n6H%3%9%[email protected]$H$r9M$($k$H!$e(B
1.8 e$B$G$O$d$O$je(B (2) e$B$rA*Br$9$k$N$,BEEv$H$J$k$N$G$7$g$&$+!)e(B

e$B:n6H%3%9%H$OLdBj$8$c$"$j$^$;$s$,!";~4|E*$K$A$g$C$HBg$-$JJQ99$+e(B
e$B$H!#e(B

e$B$=$&$G$9$M!%e(B
e$B$3$NLdBj$rJ|CV$7$?$^$^$Ke(B 1.8.6 e$B$r%j%j!<%9$H$$$&$o$1$K$Oe(B
e$B$$$+$J$$$G$7$g$&$7!$8=;[email protected]$G$NMn$7$I$3$m$H$7$F$Oe(B
e$BE,@Z$J$N$+$b$7$l$^$;$s!%e(B

e$BFC$KH?BP$,$J$1$l$P!$e(Bruby_1_8, ruby_1_8_6 e$B$K$Oe(B
(2) e$B$rE,MQ$7$F$7$^$&$H$$$&$3$H$G$$$+$,$G$7$g$&$+!)e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “Nobuyoshi N.” [email protected]
Subject: [ruby-dev:30437] Re: fail to autoload at $SAFE==4
Date: Tue, 27 Feb 2007 15:02:33 +0900
Message-ID:
[email protected]

e$B:#5$$E$-$^$7$?$,!“F0E*$K%9%/%j%W%H$re(B$LOAD_PATHe$B$K:n$k$H$$$&[email protected](B
e$B$r9M$($k$J$i!”%m!<%I:Q$_$Ne(B.soe$B$NM-L5$r%m!<%ICf$Ne(B.rbe$B$NM-L5$h$j$bM%e(B
[email protected]$5$;$F$O$^$:$$$N$G!":G8e$Ne(Bife$BJ8$O$3$&$G$9$M!#e(B

if (rb_feature_p(feature, feature + strlen(feature), Qtrue))

e$B$9$$^$;$s!%$-$A$s$H%A%’%C%/$7$F$$$^$;$s$G$7$?!%e(B
e$B$3$Ne(B if e$BJ8$N7A$Ge(B commit e$B$5$l$F$7$^$$$^$7$?$,!$e(B
[email protected]$H99$K$^$:$$$
$?$$$G!$e(B

ruby -r tk -e ‘TkButton.new’
/usr/local/lib/ruby/1.8/tk/label.rb:6: uninitialized constant TkLabel
(NameError)
from /usr/local/lib/ruby/1.8/tk/button.rb:5:in `require’
from /usr/local/lib/ruby/1.8/tk/button.rb:5
from -e:1

e$B$J$s$F$3$H$K$J$C$F$7$^$$$^$9!%e(B

TkButton e$B$KBP$9$ke(B autoload e$B$Ge(B tk/button.rb e$B$re(B load
e$B$7$?:]$Ke(B
“require ‘tk/label’” e$B$,<B9T$5$l!$e(Btk/label.rb e$B$N>e$Ne(B
“class TkLabel<TkWindow” e$B$Ge(B NameError e$BH/@8!$$H$$$&N.$l$G$9!%e(B

e$B>e5-$Ne(B if e$BJ8$NItJ,$,e(B “if (rb_feature_p(feature, 0, Qfalse)
== ‘r’)”
e$B$G$"$l$P!$$3$N$h$&$K$O$J$j$^$;$s!%e(B

At Thu, 1 Mar 2007 00:57:53 +0900,
Hidetoshi NAGAI wrote:

すみません.きちんとチェックしていませんでした.
なんてことになってしまいます.

TkButton に対する autoload で tk/button.rb を load した際に
“require ‘tk/label’” が実行され,tk/label.rb の上の
“class TkLabel<TkWindow” で NameError 発生,という流れです.

上記の if 文の部分が “if (rb_feature_p(feature, 0, Qfalse) == ‘r’)”
であれば,このようにはなりません.

 この件はどうしましょうか。


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

[email protected]$G$9!#e(B

At Tue, 27 Feb 2007 16:28:51 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:30438]:

(3) autoloade$B$r;XDj$7$?$H$-$K<B:]$K%m!<%I$5$l$k$O$:$N%i%$%V%i%j$re(B
e$BC5$7!"e(B.rbe$B$+e(B.soe$B$+3NDj$7$F$7$^$&e(B
^^^^^^^^^^^^^^e$B%U%k%Q%9$G!)e(B

e$B:G=i$O$I$A$i$r;H$&[email protected]$1$r9M$($F$$$^$7$?$,!"<B:]$N%U%!%$%k$rC5e(B
e$B$7$K9T$/0J>e!"%U%k%Q%9$G$J$$$H0UL#$,$J$$$G$7$g$&$M!#e(B

autoload e$B$rDj5A$9$k;[email protected]$G!$$-$C$H$I$N%U%!%$%k$+$Oe(B
e$BA[Dj$7$F$$$k$H;W$($k$N$G!$8D?ME*$K$O$3$l$G$b==J,$J5$$O$7$^$9!%e(B
e$B$G$9$,!$3N$+$KF0E*$JJQ99e(B ($LOAD_PATH e$BJQ99$r4^$`e(B) e$B$re(B
e$BA[[email protected]$be(B 0 e$B$G$O$J$$$G$9$h$M!%e(B(^_^;

e$B$"$k$$$O>C$5$l$F$$$?$j$H$+!#e(B

autoload e$B$N;EMM$H$7$F!$e(B

  • autoload e$B8F$S=P$7;~$K%m!<%I$5$l$k%U%!%$%k$r3NDj$5$;$k!%e(B
  • e$B<B:]$K%m!<%I$9$k;[email protected]$G%U%!%$%k$N%?%$%`%9%?%s%W$,JQ2=$7$F$$$?$ie(B
    e$BNc30e(B (SecurityError ?) e$B$H$9$k!%e(B
    e$B$H$$$&$N$O!V$"$j!W$G$7$g$&$+!)e(B

e$B!V$"$j!W$+$b$7$l$^$;$s$,!"$=$3$^$GI,MW$J$N$+$H$+%?%$%`%9%?%s%We(B
[email protected]$1$G$$$$$N$+$H$+!"$b$&[email protected]$OI,MW$G$7$g$&!#e(B

e$B$=$l$O$=$l$H$7$F!$:n6H%3%9%[email protected]$H$r9M$($k$H!$e(B
1.8 e$B$G$O$d$O$je(B (2) e$B$rA*Br$9$k$N$,BEEv$H$J$k$N$G$7$g$&$+!)e(B

e$B:n6H%3%9%H$OLdBj$8$c$"$j$^$;$s$,!";~4|E*$K$A$g$C$HBg$-$JJQ99$+e(B
e$B$H!#e(B

At Sat, 3 Mar 2007 15:32:09 +0900,
I wrote:

if (rb_feature_p(feature, feature + strlen(feature), Qtrue))
    from -e:1

 この件はどうしましょうか。
 その後の中田さんのコミットで修正されたようです。
ruby_1_8_6 にも入れました。


/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp

“Different eyes see different things,
Different hearts beat on different strings –
But there are times for you and me when all such things agree”

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs