$SAFE$B$N:#8e(B

e$B!A$3$l$^$G$N$"$i$9$8!Ae(B

[ruby-dev:35241]e$B$N8e!";38}$5$s$K$O<B:]$KJ#?t$N%;!<%U%l%Y%k4XO"$NLdBjE@$re(B
e$B;XE&$7$F$$$?$@$-!"$$$/$D$+$O=$@5$5$l$^$7$?!#$"$j$,$H$&$4$6$$$^$9!#e(B
e$B$7$+$7$=$l$i$N=$@5$r5DO@$9$k$&$A$K!"$d$O$j%;!<%U%l%Y%ke(B(e$BFC$Ke(B4)e$B$O5!G=$H$7e(B
e$B$FL$40@.$G$"$k$H$$$&G’<1$r$$$C$=$&6/$/$9$k$3$H$K$b$J$j$^$7$?!#%;!<%U%l%Ye(B
e$B%k4XO"$N%;%-%e%j%F%#%[!<%k$O:#8e$b7QB3$7$F8+$D$+$k$G$"$m$&$H6/$/M=A[$5$le(B
e$B$^$9!#$=$3$G!";38}$5$s$K$4Js9p$$$?$@$$$?E@$K4X$7$F$O0z$-B3$-6cL#$7$F$*$je(B
e$B$^$9$,!“A4HL$K%;!<%U%l%Y%ke(B4e$B$O$b$&$A$g$C$H$I$&$K$+$J$k$Y$-$J$N$O4V0c$$$Je(B
e$B$/!”%;!<%U%l%Y%ke(B4e$B<+BN$r<h$j4,$/5DO@$O9-$/8x3+$9$Y$-$G$"$k$H$N9g0U$K$J$Ce(B
e$B$?$N$G!"e(Bruby-deve$B$K5DO@$N>l$r0$7$^$9!#e(B

e$B!A$"$i$9$8!!$*$o$j!Ae(B

e$BKNIt$N0U8+$H$7$F$O!":#$N$H$3$m0J2<$NFsE@$K=8Ls$5$l$F$$$^$9!#e(B

(1).
e$B%;!<%U%l%Y%ke(B4e$B$OL$40@.$G$"$k$+$i$3$=LdBj$N1F6AEY$,L$CN$G$"$j!“L50G$Ke(B
e$B8xI=$9$k$N$O4m81$@$H9M$($^$9!#%;!<%U%l%Y%ke(B4e$B$K$Oe(B
tDiarye$B$H$+e(BHikie$B$H$+$N$o$je(B
e$B$H9-$/;H$o$l$F$$$k%”%W%j%1!<%7%g%s$,$"$j$^$9!#%;!<%U%l%Y%k$rFMGK$9$k967be(B
e$B$,H/8+$5$l$?>l9g!"$=$l$i$r;H$C$F$$$k%5%$%H>e$G?SBg$JHo32$,=P$k$3$H$bA[Dje(B
e$B$7$J$$$H$$$1$^$;$s!#L$40@.$@$m$&$,eLdBj$,$"$m$&$,;H$C$F$k?M$O;H$C$Fe(B
e$B$k8=>u$,$"$k$N$G!"%f!<%6!<$NL@~$G8+$l$P%d%P$$$b$s$O%d%P$$$KJQ$o$j$^$;$s!#e(B

(2).
e$BD94|E*$J;kE@$+$i%;!<%U%l%Y%ke(B4e$B$N5!G=$r0lC6e(Btrunke$B$+$i30$7!"JL%V%i%s%Ae(B
e$B$G3+H/$9$k$3$H$rDs0F$7$^$9!#H>J,>iCL$@$1$IH>J,$/$i$$K\5$$G$9!#$h$&$9$k$Ke(B
e$B8=>ue(B$SAFEe$B$Oe(B

  • e$B%a%$%s%9%H%j!<%`$K%^!<%8$5$l$F$Fe(B
  • e$B%j%j!<%9$K$b4^$^$l$F$$$k>e$Ke(B
  • e$B$7$+$b$J$s$+%5%]!<%H$5$l$F$ke(B
    e$B$H$$$&>uBV$J$o$1$G!"$3$l$J$i%"%W%j%1!<%7%g%s3+H/<T$,40c$$$7$F;H$C$A$c$Ce(B
    e$B$F$b$7$g$&$,$J$$5$$,$7$^$9!#4m$J$$$h4m$J$$$h!"$C$F$$$&%3%s%;%s%5%9$,$J$$e(B
    e$B$s$G$9!#5U$+$i8@$($P!"4m$J$$$3$H$,$_$s$JJ,$+$C$F$FC/$b;H$C$F$J$$;^$G=<J,e(B
    e$B3+H/$7$F$+$i%^!<%8$9$l$P$$$$$s$@$H$
    $b$$$^$9!#e(B
    e$B$9$G$K%j%j!<%9$5$l$F$ke(B1.8.6e$B$de(B1.8.7e$B$+$i5!G=$r<h$j=|$/$3$H$O$7$^$;$s!#$I$&e(B
    e$B$7$h$&$b$J$$$G$9!#2f!9$,GXIi$C$?6H$N$h$&$J$b$N$J$N$G!“IU$-9g$$B3$1$k$7$+e(B
    e$B$”$j$^$;$s!#e(B
    e$B$7$+$7$b$C$HD94|E*$K8+$F!“e(B1.8e$B$,e(B(1.6e$B$de(B1.4e$B$N$h$&$Ke(B)e$B40A4$K;H$o$l$J$/$J$C$?e(B
    e$B$3$m$N1sL$Mh$G%;!<%U%l%Y%k$,9,$;$K;H$($k$?$a$K!”:#$+$ie(B trunk
    e$B$G:n6H$7=Pe(B
    e$B$9$N$O$=$s$J$K0-$$;~4|$G$O$J$$$H;W$$$^$9!#e(B

e$B$3$l$KBP$7$F$^$D$b$H$5$s$+$i$9$G$KH?O@$$$?$@$$$F$$$k$N$G$9$,!"$=$NFbMF$re(B
e$B26$,>R2p$9$k$N$O%U%’%"$G$O$J$$$N$G!"$<j?t$G$9$,$3$N%a!<%k$K:FEYH?O@$7$Fe(B
e$B$$$?$/$H$3$m$+$i:F3+$9$k$N$,$$$$$s$8$c$J$$$+$H;W$$$^$9!#$h$m$7$/$
$M$,$$e(B
e$B$7$^$9!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35273] $SAFEe$B$N:#8ee(B”
on Mon, 30 Jun 2008 21:32:27 +0900, Urabe S.
[email protected] writes:

|(1). e$B%;!<%U%l%Y%ke(B4e$B$OL$40@.$G$“$k$+$i$3$=LdBj$N1F6AEY$,L$CN$G$”$j!“L50G$Ke(B
|e$B8xI=$9$k$N$O4m81$@$H9M$($^$9!#%;!<%U%l%Y%ke(B4e$B$K$Oe(B tDiarye$B$H$+e(BHikie$B$H$+$N$o$je(B
|e$B$H9-$/;H$o$l$F$$$k%”%W%j%1!<%7%g%s$,$“$j$^$9!#%;!<%U%l%Y%k$rFMGK$9$k967be(B
|e$B$,H/8+$5$l$?>l9g!”$=$l$i$r;H$C$F$$$k%5%$%H>e$G?SBg$JHo32$,=P$k$3$H$bA[Dje(B
|e$B$7$J$$$H$$$1$^$;$s!#L$40@.$@$m$&$,eLdBj$,$“$m$&$,;H$C$F$k?M$O;H$C$Fe(B
|e$B$k8=>u$,$”$k$N$G!"%f!<%6!<$NL@~$G8+$l$P%d%P$$$b$s$O%d%P$$$KJQ$o$j$^$;$s!#e(B
|
|(2). e$BD94|E*$J;kE@$+$i%;!<%U%l%Y%ke(B4e$B$N5!G=$r0lC6e(Btrunke$B$+$i30$7!"JL%V%i%s%Ae(B
|e$B$G3+H/$9$k$3$H$rDs0F$7$^$9!#e(B

e$B$^$"!“0BA4@-$r:GM%@h$5$;$k$H$*$C$7$c$k$3$H$O$h$/$o$+$k$N$G$9e(B
e$B$,!”<B:]LdBj$H$7$Fe(B

  • e$B%;!<%U%l%Y%ke(B4e$B$O$[$H$s$I;H$o$l$F$$$J$$e(B

e$B;H$o$l$F$$$ke(BtDiarye$B$G$b!VBh;0<T$+$i$NG$0U$N%3!<%I$r<B9T$9$k!We(B
e$B$H$$$&$o$1$G$O$J$$e(B(e$B$^$@e(BHikie$B$OL$3NG’$@$1$I!"$*$=$i$/>u67$Oe(B
e$BN`;we(B)

e$B$H$$$&$3$H$r9M$($k$H!"1F6AEY$O8BDjE*$@$H9M$($^$9!#e(B

|e$B$H$$$&>uBV$J$o$1$G!“$3$l$J$i%”%W%j%1!<%7%g%s3+H/<T$,40c$$$7$F;H$C$A$c$Ce(B
|e$B$F$b$7$g$&$,$J$$5$$,$7$^$9!#4m$J$$$h4m$J$$$h!"$C$F$$$&%3%s%;%s%5%9$,$J$$e(B
|e$B$s$G$9!#5U$+$i8@$($P!"4m$J$$$3$H$,$_$s$JJ,$+$C$F$FC/$b;H$C$F$J$$;^$G=<J,e(B
|e$B3+H/$7$F$+$i%^!<%8$9$l$P$$$$$s$@$H$
$b$$$^$9!#e(B
|e$B$9$G$K%j%j!<%9$5$l$F$ke(B1.8.6e$B$de(B1.8.7e$B$+$i5!G=$r<h$j=|$/$3$H$O$7$^$;$s!#$I$&e(B
|e$B$7$h$&$b$J$$$G$9!#2f!9$,GXIi$C$?6H$N$h$&$J$b$N$J$N$G!“IU$-9g$$B3$1$k$7$+e(B
|e$B$”$j$^$;$s!#e(B
|e$B$7$+$7$b$C$HD94|E*$K8+$F!“e(B1.8e$B$,e(B(1.6e$B$de(B1.4e$B$N$h$&$Ke(B)e$B40A4$K;H$o$l$J$/$J$C$?e(B
|e$B$3$m$N1sL$Mh$G%;!<%U%l%Y%k$,9,$;$K;H$($k$?$a$K!”:#$+$ie(B trunk e$B$G:n6H$7=Pe(B
|e$B$9$N$O$=$s$J$K0-$$;~4|$G$O$J$$$H;W$$$^$9!#e(B

e$B$^$:!"=EMW$J$N$Oe(B

  • 1.8e$B$+$i%;!<%U%l%Y%ke(B4e$B$O:o$i$J$$e(B(e$B:o$l$J$$e(B)
  • e$B8=:_$N%;!<%U%l%Y%ke(B4e$B$K$Oe(B(e$B;DG0$J$,$ie(B)e$B7j$,$"$ke(B
  • e$B3+H/$r9T$o$J$1$l$P7j$O$U$5$,$l$J$$e(B

e$B2f!9$+$i$N>pJs$KMj$i$J$/$F$b7j$rH/8+$9$k$3$H$Oe(B(e$B<B$Oe(B)e$BHf3SE*e(B
e$BMF0We(B

e$B$H$$$&$3$H$G$9!#$3$N$3$H$+$i!“e(B1.8e$B$K$*$1$k%;!<%U%l%Y%ke(B4e$B$N7j$re(B
e$B:I$$$G0BA4@-$r3NN)$9$k$?$a$K$O!”$J$s$i$+$N2~A1$r9T$&I,MW$,$“e(B
e$B$j$^$9!#$=$N$?$a$N:n6H$N>l=j$G$9$,!“e(Btrunke$B$dJL%P!<%8%g%s$G:n6He(B
e$B$7$F$b%;!<%U%l%Y%k$NK<A$,JQ$o$k$o$1$G$O$J$$$N$G!”$=$N:n6H$Ke(B
e$B4X$9$k>pJs$=$N$b$N$,e(B1.8e$B$KBP$9$ke(B0-daye$B%”%?%C%/$N0z$-6b$K$J$k2De(B
e$BG=@-$rH]Dj$G$-$^$;$s!#e(B

e$B7k6I!“$”$j$($kA*Br;h$O!"%;!<%U%l%Y%ke(B4e$B$N4m81@-$r$I$l$@$1$H8+e(B
e$B@Q$b$k$+$K$h$C$F1~$8$Fe(B

e$B4m81@-$r=E;k$9$k%1!<%9e(B(e$B%;!<%U%l%Y%ke(B4e$B$OMW$i$J$$GIe(B)

  • e$B;H$&$J$H87L?$9$k!#;H$C$F$$$k?M$K$O!V$b$&$9$0>C$($k$+$i;H$oe(B
    e$B$J$$$h$&$K=q$-49$($m!W$H6<$9e(B
  • e$B$b$C$H2a7c$Ke(B1.8e$B$+$i$b:o$C$A$c$&e(B
  • e$B%G%a%j%C%He(B:
    tDiarye$B$de(BHikie$B$N3+H/<T$K$H$C$F$O@DE7$NpHpN!#LBOGe(B
    e$B$3$N>e$J$$!#e(B
  • e$B%G%a%j%C%He(B:
    e$B:#$"$k5!G=$r:o$k$N$Oe(B1.8e$B$N%a%s%F%]%j%7!<$K$bH?e(B
    e$B$9$k!#e(B

e$B4m81@-$r$=$l$J$j$K=E;k$9$k%1!<%9e(B(e$B%;!<%U%l%Y%ke(B4e$B$O;D$9GIe(B)

  • e$B3+H/<T$r$D$N$C$FHs8x3+$G3+H/!#$"[email protected]$,9b$^$C$?$i0le(B
    e$B5$$K%3%_%C%H!#e(B
  • e$B%G%a%j%C%He(B: e$BHs8x3+$G$N3+H/$,$&$^$/$$$C$?$?$a$7$,$J$$e(B
  • e$B%G%a%j%C%He(B:
    e$B$3$A$i$+$Oe(B0-daye$B%“%?%C%/$N>pJs$r$b$i$9?4G[$O$Je(B
    e$B$$$,!”<+NO$G7j$rH/8+$9$k967b$KBP$7$F$OL5NOe(B

e$B$"$s$^$j;H$C$F$J$$$+$i4m81$O$=$s$J$K5$$K$7$J$$%1!<%9e(B

  • e$B$H$K$+$/%;!<%U%l%Y%ke(B4e$B$r$b$&$A$g$C$H%^%7$K$J$k$h$&$Ke(B
    (ruby-deve$B$Ge(B)e$B3+H/$r7QB3$9$ke(B
  • e$B%G%a%j%C%He(B:
    e$B%;!<%U%l%Y%ke(B4e$B$N@H<e@->pJs$,3+H/2aDx$G8x3+$5$le(B
    e$B$k$3$H$K$J$ke(B

e$B$/$i$$$8$c$J$$$+$H!#;d$O:G8e$N!V8x3+$G3+H/!WGI$G$9!#$=$NGX7Je(B
e$B$O!">e$G=R$Y$?$h$&$Ke(B

  • e$B$"$^$j;H$o$l$F$$$J$$$N$G?<9oEY$ODc$$e(B
  • e$BHs8x3+$G$N3+H/$OFH$jA1$,$j$K$J$j$,$A$G$`$7$m%H%i%V%k$r8F$Ve(B

e$B$H$$$&$b$N$G$9!#$?$@!“%I%-%e%a%s%H$G8x<0$K!V%;!<%U%l%Y%ke(B4e$B$Ne(B
[email protected]$ODc$/!”?.Mj$9$k$N$O$$$+$,$J$b$N$+!W$H$$$&$3$H$OL@5-$7e(B
e$B$?J}$,$h$$$H;W$$$^$9!#$5$C$-3NG’$7$?$ie(BFlanagane$BK$K$O$=$&=q$$e(B
e$B$F$"$j$^$7$?!#$5$9$,e(BDavide$B!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$BKNIt$G$9!#e(B

Yukihiro M. e$B$5$s$O=q$-$^$7$?e(B:

  • e$B%;!<%U%l%Y%ke(B4e$B$O$[$H$s$I;H$o$l$F$$$J$$e(B

e$B7k6I$3$3$,0lHV0U<1$,0c$&$H$3$m$G$9!#$[$H$s$I;H$o$l$F$J$$$H$+8@$&$K$O$"$^e(B
e$B$j$K;H$o$l$F$$$^$9!#e(B
http://www.google.com/codesearch?q=“%24SAFE+%3D+4”+lang%3Aruby

  • e$B;H$o$l$F$$$ke(BtDiarye$B$G$b!VBh;0<T$+$i$NG$0U$N%3!<%I$r<B9T$9$k!We(B
    e$B$H$$$&$o$1$G$O$J$$e(B(e$B$^$@e(BHikie$B$OL$3NG’$@$1$I!"$*$=$i$/>u67$Oe(B
    e$BN`;we(B)

e$B%[%9%F%#%s%0$7$F$l$PBh;0<T$J2DG=@-$,$"$j$^$9!#e(B
e$B$^$?!“4V0c$$$J$/G$0U$N%3!<%I$G$O$”$j$^$9!#e(B

e$B$H$$$&$3$H$r9M$($k$H!"1F6AEY$O8BDjE*$@$H9M$($^$9!#e(B

e$B$H$$$&$3$H$r9M$($l$P1F6AEY$O8BDjE*$G$O$"$j$^$;$s!#e(B

e$B$^$:!"=EMW$J$N$Oe(B

  • 1.8e$B$+$i%;!<%U%l%Y%ke(B4e$B$O:o$i$J$$e(B(e$B:o$l$J$$e(B)
  • e$B8=:_$N%;!<%U%l%Y%ke(B4e$B$K$Oe(B(e$B;DG0$J$,$ie(B)e$B7j$,$"$ke(B
  • e$B3+H/$r9T$o$J$1$l$P7j$O$U$5$,$l$J$$e(B
  • e$B2f!9$+$i$N>pJs$KMj$i$J$/$F$b7j$rH/8+$9$k$3$H$Oe(B(e$B<B$Oe(B)e$BHf3SE*e(B
    e$BMF0We(B

e$B3NG’$7$?$$$N$G$9$,$^$D$b$H$5$s$NCf$G$O3+H/$HJ]<i$C$F$N$O^UA30lBN$J$N$G$9$Me(B?
e$B26e(B(e$B$d!"$*$=$i$/B?$/$N?&6H%W%m%0%i%^$O$=$&$@$H;W$$$^$9$,e(B)e$B$O$=$NFs$D$O0l1~e(B
e$B@~$r0z$$$F9M$($F$$$k$N$G!#e(B

e$B$H$$$&$3$H$G$9!#$3$N$3$H$+$i!“e(B1.8e$B$K$*$1$k%;!<%U%l%Y%ke(B4e$B$N7j$re(B
e$B:I$$$G0BA4@-$r3NN)$9$k$?$a$K$O!”$J$s$i$+$N2~A1$r9T$&I,MW$,$“e(B
e$B$j$^$9!#$=$N$?$a$N:n6H$N>l=j$G$9$,!“e(Btrunke$B$dJL%P!<%8%g%s$G:n6He(B
e$B$7$F$b%;!<%U%l%Y%k$NK<A$,JQ$o$k$o$1$G$O$J$$$N$G!”$=$N:n6H$Ke(B
e$B4X$9$k>pJs$=$N$b$N$,e(B1.8e$B$KBP$9$ke(B0-daye$B%”%?%C%/$N0z$-6b$K$J$k2De(B
e$BG=@-$rH]Dj$G$-$^$;$s!#e(B

trunke$B$G%;!<%U%l%Y%k$r9M$(D>$9$H$+8@$C$F$?$N$O$b$C$H$,$i$C$HJQ$($k$s$@$He(B
e$B;W$C$F$?$s$G$9$,!“%;!<%U%l%Y%k$NK<A$KF’$_9~$s$@2~A1$O$J$5$l$J$$$D$b$j$Je(B
e$B$s$G$9$+!#$@$H$7$?$i$”$s$^$j0UL#$J$$$J$"!#e(B

e$B$3$N>e$J$$!#e(B

  • e$B%G%a%j%C%He(B: e$B:#$"$k5!G=$r:o$k$N$Oe(B1.8e$B$N%a%s%F%]%j%7!<$K$bH?e(B
    e$B$9$k!#e(B

e$B$J$<!"26$NDs0F$7$?!Ve(Btrunke$B$+$i$O:o$ke(B/1.8.7e$B$^$G$O;D$9!W$C$F$N$OA*Br;h$K$9e(B
e$B$iEP$C$F$J$$$s$G$9$+e(B?

  • e$BHs8x3+$G$N3+H/$OFH$jA1$,$j$K$J$j$,$A$G$`$7$m%H%i%V%k$r8F$Ve(B

e$B$H$$$&$b$N$G$9!#$?$@!“%I%-%e%a%s%H$G8x<0$K!V%;!<%U%l%Y%ke(B4e$B$Ne(B
[email protected]$ODc$/!”?.Mj$9$k$N$O$$$+$,$J$b$N$+!W$H$$$&$3$H$OL@5-$7e(B
e$B$?J}$,$h$$$H;W$$$^$9!#$5$C$-3NG’$7$?$ie(BFlanagane$BK$K$O$=$&=q$$e(B
e$B$F$"$j$^$7$?!#$5$9$,e(BDavide$B!#e(B

e$B$^$:!“$”$^$j;H$o$l$F$J$$$C$F$N$O;v<B$HH?$9$k$N$G!"A4It8x3+$7$FJ]<i$9$k$Ne(B
e$B$@$1$O@dBPH?BP$G$9!#$=$3$O0z$1$^$;$s!#e(B

e$B?75,3+H/ItJ,$K4X$7$F$O$P$C$5$j:o$C$F$$$A$+$i:n$jD>$9$N$@$H;W$C$F$$$^$7$?e(B
e$B$+$i!“8=:_$N<BAu$H$O0[$J$k;EAH$e(B(e$B$?$H$($Pe(Btryrubye$B$N$h$&$J$b$C$H%^%7$J%5%se(B
e$B%I%%C%/%9$rDs6!$9$k$H$+e(B)e$B$NB$$j9~$
$OJL$K8x3+$G$d$C$F$b$$$$$H;W$&$o$1$Ge(B
e$B$9$,!”$^$D$b$H$5$s$K$=$N5$$,$J$/$F!"$A$g$C$H%;!<%U%l%Y%ke(B4e$B$rO.$C$F$*Cc$re(B
e$BBy$9DxEY$NOC$J$i!"3N$+$K8x3+$9$k$N$,4m81$J$N$Opw$1$^$9!#e(B

e$B$7$?$,$C$F$"$s$^$j$d$k5$$,$J$$$J$iA4ItHs8x3+$N0F$,0lHV%^%7$@$H;W$o$6$k$re(B
e$BF@$^$;$s!#e(B

e$B$+$:$R$3$G$9!#e(B

Yukihiro M. wrote:

  • e$B%;!<%U%l%Y%ke(B4e$B$O$[$H$s$I;H$o$l$F$$$J$$e(B
  • e$B;H$o$l$F$$$ke(BtDiarye$B$G$b!VBh;0<T$+$i$NG$0U$N%3!<%I$r<B9T$9$k!We(B
    e$B$H$$$&$o$1$G$O$J$$e(B(e$B$^$@e(BHikie$B$OL$3NG’$@$1$I!"$*$=$i$/>u67$Oe(B
    e$BN`;we(B)

tDiarye$B$O!“F|5-$N1\Mw<T$,G$0U$N%3!<%I$r<B9T$G$-$k$o$1$G$O$”$j$^$;$s$,!“KNe(B
e$BIt$5$s$,=q$$$F$$$k$h$&$K!”!V%[%9%F%#%s%04D6-$G$OF|5-$r5-=R$G$-$kBh;0<Te(B
e$B!J%5!<%P4IM}<T$G$O$J$$?M!K$,G$0U$N%3!<%I$r=q$1$^$9!W!#e(B

e$B$^$?!"e(BHikie$B$O!"e(B$SAFE=4e$B$O!“e(BCGIe$B$K$h$C$FJ]B8$5$l$?@_Dj%U%!%$%k!Je(Brubye$B%9%/%j%We(B
e$B%H!K$re(Bevale$B$9$k:]$@$1$K;H$C$F$$$^$9!#$3$l$O!“J]81E*$J0UL#9g$$$,6/$/!”%[%9e(B
e$B%F%#%s%04D6-$G$b!Ve(BHikie$B$N4IM}8"8B$r;}$C$F$$$k?M$,G$0U$N%3!<%I$re(B$SAFE=4e$B$Ge(B
e$B<B9T$9$k$3$H$,$G$-$k$o$1$G$O$”$j$^$;$s!W!#e(B

e$B$+$:$R$3e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35298] Re: $SAFEe$B$N:#8ee(B”
on Wed, 2 Jul 2008 00:03:51 +0900, Urabe S.
[email protected] writes:

|e$B3NG’$7$?$$$N$G$9$,$^$D$b$H$5$s$NCf$G$O3+H/$HJ]<i$C$F$N$O^UA30lBN$J$N$G$9$Me(B?
|e$B26e(B(e$B$d!"$*$=$i$/B?$/$N?&6H%W%m%0%i%^$O$=$&$@$H;W$$$^$9$,e(B)e$B$O$=$NFs$D$O0l1~e(B
|e$B@~$r0z$$$F9M$($F$$$k$N$G!#e(B

e$B$o$j$H$=$&$$$&798~$O$“$j$^$9!#$G!”!V@~$r0z$$$F9M$($k?M!W$K$H$Ce(B
e$B$F!“$3$&$$$&>l9g$NJ]<i$C$F$N$O$I$&$$$&%”%/%7%g%s$r0UL#$9$k$se(B
e$B$G$7$g$&$M!#e(B

|trunke$B$G%;!<%U%l%Y%k$r9M$(D>$9$H$+8@$C$F$?$N$O$b$C$H$,$i$C$HJQ$($k$s$@$He(B
|e$B;W$C$F$?$s$G$9$,!“%;!<%U%l%Y%k$NK<A$KF’$_9~$s$@2~A1$O$J$5$l$J$$$D$b$j$Je(B
|e$B$s$G$9$+!#$@$H$7$?$i$”$s$^$j0UL#$J$$$J$"!#e(B

e$BA02s$N%a!<%ke(B[ruby-dev:35293]e$B$G$Oe(Btrunke$B$K$D$$$F$J$K$b8l$C$F$$$^e(B
e$B$;$s!#G0F,$K$“$C$?$N$Oe(B1.8e$B$K:#$”$k$b$N$K$I$&BP=h$9$k$+!"$G$9!#e(B

|e$B$J$<!"26$NDs0F$7$?!Ve(Btrunke$B$+$i$O:o$ke(B/1.8.7e$B$^$G$O;D$9!W$C$F$N$OA*Br;h$K$9e(B
|e$B$iEP$C$F$J$$$s$G$9$+e(B?

e$BA0=R$N$h$&$Ke(Btrunke$B$K$D$$$F8l$C$F$$$J$$$N$G!"!Ve(Btrunke$B$+$i:o$k!We(B
e$B$3$H$K$D$$$F$OCfN)$G$9!#H?BP$b$7$^$;$s!#e(B(e$B$^$@e(B)e$B@Q6KE*$K;?@.$He(B
e$B$$$&$o$1$G$O$J$$$G$9$1$I!#!Ve(B1.8.7e$B$^$G$O;D$9!W$H$$$&$N$Oe(B
e$B!Ve(B1.8.8e$B$G$O:o$k!W$H$$$&0UL#$G$9$+$i!Ve(B1.8e$B$+$i$b:o$C$A$c$&!W$Ke(B
e$B4^$^$l$k$H;W$$$^$9!#%?%$%_%s%0$O$H$b$+$/!#e(B

e$B$G!“$3$N7o$K$D$$$F0BA4@-$r=E;k$9$ke(B(e$B$N$G!”>pJs$r8x3+$9$k$3$H$5e(B
e$B$($7$?$/$J$$e(B)e$B?M$K$H$C$F!"e(B1.8.8e$B$,Ia5Z$9$k$^$G$Ne(B(e$B7k9=D9$$e(B)e$B4V!"e(B
e$B%;!<%U%l%Y%ke(B4e$B$rJ|CV$9$k$H8@$&$N$O!V2f!9$,GXIi$C$?6H$N$h$&$J$be(B
e$B$N$J$N$G!“IU$-9g$$B3$1$k$7$+$”$j$^$;$s!W$N%R%H%3%H$GG<F@$G$-e(B
e$B$A$c$&DxEY$N4m81@-$J$s$G$9$+$M!#$=$NDxEY$J$i!V@dBPHs8x3+$K$9e(B
e$B$Y$-!W$H$+2a>jH?1~$9$kI,MW$b$J$5$=$&$J5$$,$9$k$N$G$9$,!#e(B

e$B$$$:$l$K$7$F$b!“2DG=$J%”%/%7%g%s$O!"A0$K?J$`e(B(e$B7j$r:I$$$G%^%7$Ke(B
e$B$9$ke(B)e$B$+!"8e$m$K2<$,$ke(B(e$B%;!<%U%l%Y%ke(B4e$B$r:o$ke(B)e$B$N$I$A$i$+$G$O$J$$e(B
e$B$+$H;W$$$^$9!#3+H/$GBP1~$9$k$+!"1?MQ$GBP1~$9$k$+$H8@$$49$($Fe(B
e$B$b$$$$$G$9!#e(B

e$BA0$K?J$`$J$i!“$J$s$i$+$N3+H/$,I,MW$G$9!#<j=g$H$7$F$O!“Hs8x3+e(B
e$B$G3+H/$9$k$+!”$$$D$bDL$j8x3+$G3+H/$9$k$+$I$A$i$+$G!”;d$Oe(BRuby
e$B$N3+H/$GHs8x3+$G$&$^$/$$$C$?7P83$,$J$$$N$G8x3+$G5DO@e(B/e$B3+H/$7$?e(B
e$B$$$H;W$C$F$$$^$9!#e(B

e$B8e$m$K2<$,$k$J$i!"$=$l$O$$$D$^$G$K$I$N$h$&$J<j=g$G:o$k$+$H$$e(B
e$B$&LdBj$K$J$k$H;W$$$^$9!#5!G=$,$J$/$J$k$3$H$N:.Mp$H0BA4@-$rE7e(B
e$BGi$K$+$1$k$3$H$K$J$k$G$7$g$&!#e(B

e$B$G!“e(Btrunke$B$G%;!<%U%l%Y%ke(B4e$B$H$OJL$N%5%s%I%%C%/%95!G=$r3+H/$9$ke(B
e$B$+$I$&$+$O$3$l$i$H$OFHN)$NOC$G$9!#:#$N%;!<%U%l%Y%ke(B4e$B$r%^%7$K$Ge(B
e$B$-$k$J$i$=$l$G$b$h$$$G$9$7!”$=$l$OL5M}$@$H$$$&$3$H$G$"$l$P!“e(B
e$BJL$N;EAH$$r9M$($kI,MW$,$“$k$+$b$7$l$^$;$s$7!”$=$b$=$b$=$N$he(B
e$B$&$J;EAH$
$r:#8eF3F~$7$J$$$H8@$&H=CG$b$”$j$($k$G$7$g$&!#e(B

e$B$G!“%f!<%6$NET9g$H$+IiC4$H$+$^$C$?$/9MN8$7$J$$$G!“0BA4@-$r:Ge(B
e$B=E;k$9$k$J$i$P!”%”%/%7%g%s$O!V$?$@$A$K:o$k!W$7$+$"$j$($J$$$Ge(B
e$B$7$g$&!#e(B

e$B$J$s$i$+$NH=CG$G!V$=$3$^$G6[5^@-$O$J$$!W$H$$$&$3$H$G$"$l$P!“e(B
e$B>/!9;~4V$,$+$1$i$l$k$N$G!”%f!<%6$NMxJX@-$b9M$($?<j$K$D$$$F8!e(B
e$BF$$G$-$k$H;W$$$^$9!#e(B

e$B:o$k$C$F$3$H$O!V$[$H$s$I;H$o$l$F$J$$$H$+8@$&$K$O$“$^$j$K;H$oe(B
e$B$l$F$$$k!W%3!<%I$9$Y$F$K=q$-D>$7$,I,MW$K$J$k$3$H$r0UL#$9$k$Ne(B
e$B$G!”%f!<%6$NMxJX@-$r9M$($k$H!“2DG=$G$”$k$J$i$P!":o$i$J$$$G%;!<e(B
e$B%U%l%Y%ke(B4e$B$r;D$9$N$,NI$$$H;W$$$^$9!#e(B

e$B$,!“$b$C$H5DO@$r?<$a$J$$$H!”$I$NDxEY$^$G0BA4@-$,<B8=$G$-$k$Ne(B
e$B$+$H$$$&$3$H$OL@$i$+$K$J$i$J$$$H;W$$$^$9!#$G!“!V$=$3$^$G6[5^e(B
e$B@-$O$J$$!W$N$G$”$l$P5DO@$O8x3+$G9T$$$?$$!#8B$i$l$?;22C<T$G$Oe(B
e$B5DO@$,?<$^$i$J$$$H;W$&$+$i$G$9!#5DO@$,?<$^$C$?7k2L!“%;!<%U%le(B
e$B%Y%ke(B4e$B$H$$$&;EAH$_$=$N$b$N$,:,8;E*$J7g4Y$,$”$j!“$^$C$?$/;HMQe(B
e$B$KBQ$($J$$$N$G:o$i$6$k$r$($J$$!”$H$$$&7kO@$,=P$k$+$b$7$l$^$;e(B
e$B$s!#$“$k$$$O8B3&$rCN$l$PLr$KN)$D$3$H$b$”$k$H$$$&7kO@$+$b$7$le(B
e$B$^$;$s!#e(B

e$BKNIt$5$s$NDs0F!Ve(B1.8.8e$B$G:o$k!W$H$$$&$N$O!“EvLLJ|CV$9$k$3$H$+$ie(B
e$B!V$=$3$^$G6[5^@-$,$J$$!W$H$$$&$3$H$G$”$j!"$=$N3d$K>-Mh%3!<%Ie(B
e$B=q$-49$($r6/@)$9$k$N$G%f!<%6$KBP$7$FM%$7$/$J$$$H$$$&$3$H$G!“e(B
e$B2DG=$G$”$l$PHr$1$?$$<j$J$s$8$c$J$$$+$H;W$$$^$9!#e(B

|e$B$^$:!“$”$^$j;H$o$l$F$J$$$C$F$N$O;v<B$HH?$9$k$N$G!"A4It8x3+$7$FJ]<i$9$k$Ne(B
|e$B$@$1$O@dBPH?BP$G$9!#$=$3$O0z$1$^$;$s!#e(B

OKe$B!#KNIt$5$s$O!“e(B1.8e$B$K$”$k%;!<%U%l%Y%ke(B4e$B$N5!G=$rA4It8x3+$7$FJ]e(B
e$B<i$9$k$3$H$K$O@dBPH?BP$H!#$=$N<gD%$OG’<1$7$^$7$?!#e(B

e$B$G!“$=$&$@$H$9$k$H!”$=$l$K$h$C$FC#@.$7$?$$0BA4@-$C$F$N$O$I$Ne(B
e$B$h$&$J$b$s$J$s$G$9$+$M!#$?$@$A$K%;!<%U%l%Y%ke(B4e$B$r:o$k$o$1$G$J$$e(B
e$B0J>e!“7j$Oe(B(e$B$-$C$He(B)e$B$”$k$o$1$G!"$3$NItJ,$r;H$C$F967b$7$?$$$H;We(B
e$B$&?M$,$$$k$J$i!"JL$Ke(Bruby-deve$B$de(BChangeLoge$B$+$i>pJs$rF@$J$/$F$b!“e(B
e$B%=!<%9%3!<%I$r8&5f$7$F967b<jCJ$rF~<j$9$k$N$Oe(B(e$B5;=QNO$5$($”$le(B
e$B$Pe(B)e$B$5$[$I:$Fq$G$O$J$$$h$&$K;W$$$^$9!#5U$K3+H/$,8x3+$5$l$F$$$Fe(B
e$B$b!“e(B(e$B5DO@$KCm0U$9$l$Pe(B)
e$B5;=QNO$N$J$$%+%8%e%”%k$J967b<T$K967b%D!<e(B
e$B%k$rEO$5$J$$DxEY$N$3$H$O==J,$G$-$k$G$7$g$&!#%;!<%U%l%Y%ke(B4e$B$,e(B
1.8e$B$K;D$C$F$$$k0J>e!“3+H/$,8x3+$5$l$F$$$F$b$$$J$/$F$b!“5;=Qe(B
e$BNO$N$”$k?M$K$H$C$F$O967b$O2DG=$G$”$j!"5;=QNO$N$J$$?M$K$O967be(B
e$B$OFq$7$$!#$3$l$O$5$[$IJQ$o$j$^$;$s!#e(B

e$B$G$9$+$i!"HkL)$K$9$k$H$$$&$3$H$K$h$C$FF@$i$l$k!V0BA4$NA}2C!We(B
e$B$H$$$&$N$O$o$:$+$G!"3+H/$,LLE]$K$J$ke(B/e$B7k2L$NIJ<A$,Dc$/$J$k%G%ae(B
e$B%j%C%H$NJ}$,Bg$-$$$h$&$K;W$($k$N$G$9$,!#e(B

e$B$“!”$"$/$^$G$b$3$N7o$K4X$7$F$M!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35304] Re: $SAFEe$B$N:#8ee(B”
on Wed, 2 Jul 2008 02:57:19 +0900, Urabe S.
[email protected] writes:

|> e$B$o$j$H$=$&$$$&798~$O$“$j$^$9!#$G!”!V@~$r0z$$$F9M$($k?M!W$K$H$Ce(B
|> e$B$F!“$3$&$$$&>l9g$NJ]<i$C$F$N$O$I$&$$$&%”%/%7%g%s$r0UL#$9$k$se(B
|> e$B$G$7$g$&$M!#e(B
|
|e$B:GNI$N7k2L$r5a$a$k$3$H$G$O$J$/$F:G0-$N7k2L$r2sHr$9$k$3$H$@$H;W$$$^$9!#e(B
|e$B$D$^$j%;%-%e%j%F%#0U<1$N<e$$%W%m%0%i%^e(B/e$B%f!<%6$+$i=g$K@Z$j<N$F$F$$$/$h$&e(B
|e$B$J$N$O:G0-$G$9!#e(B

e$B$U$`!#e(B

|> |e$B$J$<!"26$NDs0F$7$?!Ve(Btrunke$B$+$i$O:o$ke(B/1.8.7e$B$^$G$O;D$9!W$C$F$N$OABr;h$K$9e(B
|> |e$B$iEP$C$F$J$$$s$G$9$+e(B?
|>
|> e$BA0=R$N$h$&$Ke(Btrunke$B$K$D$$$F8l$C$F$$$J$$$N$G!"!Ve(Btrunke$B$+$i:o$k!We(B
|> e$B$3$H$K$D$$$F$OCfN)$G$9!#H?BP$b$7$^$;$s!#e(B(e$B$^$@e(B)e$B@Q6KE
$K;?@.$He(B
|> e$B$$$&$o$1$G$O$J$$$G$9$1$I!#!Ve(B1.8.7e$B$^$G$O;D$9!W$H$$$&$N$Oe(B
|> e$B!Ve(B1.8.8e$B$G$O:o$k!W$H$$$&0UL#$G$9$+$i!Ve(B1.8e$B$+$i$b:o$C$A$c$&!W$Ke(B
|> e$B4^$^$l$k$H;W$$$^$9!#%?%$%_%s%0$O$H$b$+$/!#e(B
|>
|
|e$B5U$K;d$Oe(Btrunke$B$+$i:o$k$3$H$ODs0F$7$^$7$?$,e(B1.8e$B$+$i$N:o=|$K$O%K%e!<%H%i%k$Ge(B
|e$B$7$?!#e(B

e$B$=$&$$$&$3$H$G$9$+!#$H$$$&$3$H$O!"!Ve(B1.8.7e$B$K$O;D$9!“e(B1.8.8e$B0J9_e(B
e$B$O7h$a$F$$$J$$!W$H$$$&$3$H$G$9$+!#$@$H$9$k$H$3$A$i$K$b8m2r$,e(B
e$B$”$C$?$h$&$G$9!#$9$_$^$;$s!#e(B

|e$B$@$l$bJ|CV$9$k$H$O8@$C$F$J$$$s$G$9$,!#e(B
|1.8.6e$B$de(B1.8.7e$B$K4^$^$l$F$$$k%;!<%U%l%Y%k$N5!G=$O7j$,8+$D$+$l$PEvA3:I$.$^$9!#e(B
|e$B6H$rGXIi$C$F$k$N$Oe(BMRIe$B$N3+H/<T$G$“$k2f!9e(B(=e$B%3%_%C%?e(B)e$B$G$”$C$F!“e(BRubye$B$N%f!<e(B
|e$B%6!<e(B(=e$B%”%W%j%1!<%7%g%s%W%m%0%i%^e(B)e$B$G$O$J$$$G$9!#e(B

e$BJ|CV$O$7$J$$$s$G$9$M!#$3$l$b8m2r$N$"$C$?E@$G$9!#e(B

|e$B:#$=$3$K$“$ke(B1.8.xe$B$K4X$7$F$O$3$l$^$GDL$j7j$,8+$D$+$j<!Bh:I$$$G$$$/$7$+$“e(B
|e$B$j$^$;$s!#$=$l$i$KBP$9$k=$@5$r8x3+$G9T$&$N$O!“MW$9$k$K4m5!0U<1$NDc$$E[$+e(B
|e$B$i;`$M$HDL9p$7$F$$$k$h$&$J$b$N$G$9!#$=$&$$$&$N$OJ]<i$H$O8F$S$?$/$J$$$Ge(B
|e$B$9!#8@$&$H$7$?$i!V>FH*G@6H!W$H$+$,E,@Z$8$c$J$$$G$7$g$&$+!#e(B
|
|e$B$G$b@5D>!”$$$/$i6H$@$+$i$H$$$C$FL$Mh1J9eB3$1$k$N$,$7$s$I$$$N$OJ,$+$j$^e(B
|e$B$9!#8yFA$r@Q$s$@$i$d$,$FNX2v$N6l$rCG$C$F8g$j$N6-CO$K;j$j$?$$$N$OJ,$+$k!#e(B
|e$B$=$N$?$a$Ne(Btrunke$B$+$i:o=|Ds0F$G$b$”$j$^$9!#@5D>!”:#$7$s$I$$$N$O$b$&!"<u$1e(B
|e$BF~$l$F@8$-$F$$$/$7$+$J$$$G$9!#$G$be(B56e$B2/e(B7e$B@iK|G/$/$i$$=$9T$7$?@h$K8g$j$r3+e(B
|e$B$/F;$,;D$5$l$F$F$b$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$(!<$H!“J)65E*AGM$,Gv$/$F$?$H$($,$h$/$o$+$i$J$$$s$G$9$,!”$9e(B
e$B$/$J$/$H$b$3$N7o$K4X$7$F;d$O!VL$Mh1J9eB3$1$k$N$,$7$s$I$$!W$He(B
e$B$+!VNX2v$N6l$rCG$C$F8g$j$N6-CO$K;j$j$?$$!W$H$+;W$C$F$^$;$s!#e(B
e$B$N$G!"$=$NJU$K$D$$$F!VJ,$+$C$F!W$b$i$C$F$b!#e(B

e$B$?$@!“e(Bsecuritye$B$X$N%l%]!<%H$KBP$9$k>lEv$?$jE*$JBP=h$G$OBP1~$7e(B
e$B$-$l$J$$!“Bg6I$r8+?x$($F$A$c$s$H5DO@$7$J$$$H2r7h$G$-$J$$!”$He(B
e$B$O;W$C$F$^$9”(!#$G!"$=$N5DO@$r$I$3$G$9$k$+e(B(e$B8x3+$G9T$&$+!"Hs8xe(B
e$B3+$G9T$&$+e(B)e$B$H$$$&OC$@$HG’<1$7$F$^$9!#e(B

e$B"(e(B
e$B@5D>!“$-$A$s$H5DO@$7$F$b2r7h$G$-$J$$2DG=@-$b$”$k$H;W$C$F$^e(B
e$B$9$1$I!#e(B

e$B$G!“$3$N$^$^J?9T@~$r$?$I$k$N$OK\0U$G$O$J$$$N$G!“BE6(E@$rC5$ke(B
e$B$H!”%;%-%e%j%F%#LdBj$N%l%]!<%H$N<u$1IU$1$K4X$7$F$O%;!<%U%l%Ye(B
e$B%ke(B4e$B$b4^$a$Fe(Bsecuritye$B$K0lK\2=$7!”$=$l$H$OJL$Ke(B(1.8e$B$K$*$1$ke(B)e$B%;!<e(B
e$B%U%l%Y%ke(B4e$B$N@_7W$K4X$9$k5DO@$re(Bruby-deve$B$G9T$&$H$$$&$N$G$I$&$G$7$ge(B
e$B$&!#e(B

e$B$3$3$G!V8x3+$N5DO@$K$O@H<e@-$NK=O*$K$D$J$,$k>pJs$r4^$_$&$k!We(B
e$B$H$+8@$o$l$A$c$&$H:$$C$A$c$&$s$G$9$,!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$BKNIt$G$9!#e(B

Yukihiro M. e$B$5$s$O=q$-$^$7$?e(B:

|e$B3NG’$7$?$$$N$G$9$,$^$D$b$H$5$s$NCf$G$O3+H/$HJ]<i$C$F$N$O^UA30lBN$J$N$G$9$Me(B?
|e$B26e(B(e$B$d!"$*$=$i$/B?$/$N?&6H%W%m%0%i%^$O$=$&$@$H;W$$$^$9$,e(B)e$B$O$=$NFs$D$O0l1~e(B
|e$B@~$r0z$$$F9M$($F$$$k$N$G!#e(B

e$B$o$j$H$=$&$$$&798~$O$"$j$^$9!#$G!"!V@~$r0z$$$F9M$($k?M!W$K$H$Ce(B
e$B$F!"$3$&$$$&>l9g$NJ]<i$C$F$N$O$I$&$$$&%"%/%7%g%s$r0UL#$9$k$se(B
e$B$G$7$g$&$M!#e(B

e$B:GNI$N7k2L$r5a$a$k$3$H$G$O$J$/$F:G0-$N7k2L$r2sHr$9$k$3$H$@$H;W$$$^$9!#e(B
e$B$D$^$j%;%-%e%j%F%#0U<1$N<e$$%W%m%0%i%^e(B/e$B%f!<%6$+$i=g$K@Z$j<N$F$F$$$/$h$&e(B
e$B$J$N$O:G0-$G$9!#e(B

|trunke$B$G%;!<%U%l%Y%k$r9M$(D>$9$H$+8@$C$F$?$N$O$b$C$H$,$i$C$HJQ$($k$s$@$He(B
|e$B;W$C$F$?$s$G$9$,!"%;!<%U%l%Y%k$NK<A$KF’$_9~$s$@2~A1$O$J$5$l$J$$$D$b$j$Je(B
|e$B$s$G$9$+!#$@$H$7$?$i$"$s$^$j0UL#$J$$$J$"!#e(B

e$BA02s$N%a!<%ke(B[ruby-dev:35293]e$B$G$Oe(Btrunke$B$K$D$$$F$J$K$b8l$C$F$$$^e(B
e$B$;$s!#G0F,$K$"$C$?$N$Oe(B1.8e$B$K:#$"$k$b$N$K$I$&BP=h$9$k$+!"$G$9!#e(B

e$B$"$"!"$=$N$X$s$,5b$a$F$J$+$C$?!#$9$$$^$;$s!#e(B

|e$B$J$<!"26$NDs0F$7$?!Ve(Btrunke$B$+$i$O:o$ke(B/1.8.7e$B$^$G$O;D$9!W$C$F$N$OA*Br;h$K$9e(B
|e$B$iEP$C$F$J$$$s$G$9$+e(B?

e$BA0=R$N$h$&$Ke(Btrunke$B$K$D$$$F8l$C$F$$$J$$$N$G!"!Ve(Btrunke$B$+$i:o$k!We(B
e$B$3$H$K$D$$$F$OCfN)$G$9!#H?BP$b$7$^$;$s!#e(B(e$B$^$@e(B)e$B@Q6KE*$K;?@.$He(B
e$B$$$&$o$1$G$O$J$$$G$9$1$I!#!Ve(B1.8.7e$B$^$G$O;D$9!W$H$$$&$N$Oe(B
e$B!Ve(B1.8.8e$B$G$O:o$k!W$H$$$&0UL#$G$9$+$i!Ve(B1.8e$B$+$i$b:o$C$A$c$&!W$Ke(B
e$B4^$^$l$k$H;W$$$^$9!#%?%$%_%s%0$O$H$b$+$/!#e(B

e$B5U$K;d$Oe(Btrunke$B$+$i:o$k$3$H$ODs0F$7$^$7$?$,e(B1.8e$B$+$i$N:o=|$K$O%K%e!<%H%i%k$Ge(B
e$B$7$?!#e(B

e$B$G!"$3$N7o$K$D$$$F0BA4@-$r=E;k$9$ke(B(e$B$N$G!">pJs$r8x3+$9$k$3$H$5e(B
e$B$($7$?$/$J$$e(B)e$B?M$K$H$C$F!"e(B1.8.8e$B$,Ia5Z$9$k$^$G$Ne(B(e$B7k9=D9$$e(B)e$B4V!"e(B
e$B%;!<%U%l%Y%ke(B4e$B$rJ|CV$9$k$H8@$&$N$O!V2f!9$,GXIi$C$?6H$N$h$&$J$be(B
e$B$N$J$N$G!“IU$-9g$$B3$1$k$7$+$”$j$^$;$s!W$N%R%H%3%H$GG<F@$G$-e(B
e$B$A$c$&DxEY$N4m81@-$J$s$G$9$+$M!#$=$NDxEY$J$i!V@dBPHs8x3+$K$9e(B
e$B$Y$-!W$H$+2a>jH?1~$9$kI,MW$b$J$5$=$&$J5$$,$9$k$N$G$9$,!#e(B

e$B$@$l$bJ|CV$9$k$H$O8@$C$F$J$$$s$G$9$,!#e(B
1.8.6e$B$de(B1.8.7e$B$K4^$^$l$F$$$k%;!<%U%l%Y%k$N5!G=$O7j$,8+$D$+$l$PEvA3:I$.$^$9!#e(B
e$B6H$rGXIi$C$F$k$N$Oe(BMRIe$B$N3+H/<T$G$"$k2f!9e(B(=e$B%3%_%C%?e(B)e$B$G$"$C$F!“e(BRubye$B$N%f!<e(B
e$B%6!<e(B(=e$B%”%W%j%1!<%7%g%s%W%m%0%i%^e(B)e$B$G$O$J$$$G$9!#e(B

e$B:#$=$3$K$"$ke(B1.8.xe$B$K4X$7$F$O$3$l$^$GDL$j7j$,8+$D$+$j<!Bh:I$$$G$$$/$7$+$"e(B
e$B$j$^$;$s!#$=$l$i$KBP$9$k=$@5$r8x3+$G9T$&$N$O!"MW$9$k$K4m5!0U<1$NDc$$E[$+e(B
e$B$i;`$M$HDL9p$7$F$$$k$h$&$J$b$N$G$9!#$=$&$$$&$N$OJ]<i$H$O8F$S$?$/$J$$$Ge(B
e$B$9!#8@$&$H$7$?$i!V>FH*G@6H!W$H$+$,E,@Z$8$c$J$$$G$7$g$&$+!#e(B

e$B$G$b@5D>!"$$$/$i6H$@$+$i$H$$$C$FL$Mh1J9eB3$1$k$N$,$7$s$I$$$N$OJ,$+$j$^e(B
e$B$9!#8yFA$r@Q$s$@$i$d$,$FNX2v$N6l$rCG$C$F8g$j$N6-CO$K;j$j$?$$$N$OJ,$+$k!#e(B
e$B$=$N$?$a$Ne(Btrunke$B$+$i:o=|Ds0F$G$b$"$j$^$9!#@5D>!":#$7$s$I$$$N$O$b$&!"<u$1e(B
e$BF~$l$F@8$-$F$$$/$7$+$J$$$G$9!#$G$be(B56e$B2/e(B7e$B@iK|G/$/$i$$=$9T$7$?@h$K8g$j$r3+e(B
e$B$/F;$,;D$5$l$F$F$b$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B%=!<%9%3!<%I$r8&5f$7$F967b<jCJ$rF~<j$9$k$N$Oe(B(e$B5;=QNO$5$($"$le(B

e$B$"!"$"$/$^$G$b$3$N7o$K4X$7$F$M!#e(B

e$B7+$jJV$7$^$9$,!":GNI$N7k2L$r5a$a$k$N$G$O$J$/!":G0-$N7k2L$r2sHr$9$k$3$H$3e(B
e$B$=$,5a$a$i$l$F$$$k$N$G$9!#4{$KF0$$$F$$$k%W%m%0%i%`$r4m81$K;/$9$3$H$r$G$-e(B
e$B$k$@$1>/$J$/$9$Y$-$G$9!#$?$H$($4$/$o$:$+$@$m$&$,2?$@$m$&$,!#e(B

e$BA0ED$G$9!#e(B

2008/07/02 5:28 Yukihiro M. [email protected]:

e$B$G!“$3$N$^$^J?9T@~$r$?$I$k$N$OK\0U$G$O$J$$$N$G!“BE6(E@$rC5$ke(B
e$B$H!”%;%-%e%j%F%#LdBj$N%l%]!<%H$N<u$1IU$1$K4X$7$F$O%;!<%U%l%Ye(B
e$B%ke(B4e$B$b4^$a$Fe(Bsecuritye$B$K0lK\2=$7!”$=$l$H$OJL$Ke(B(1.8e$B$K$*$1$ke(B)e$B%;!<e(B
e$B%U%l%Y%ke(B4e$B$N@_7W$K4X$9$k5DO@$re(Bruby-deve$B$G9T$&$H$$$&$N$G$I$&$G$7$ge(B
e$B$&!#e(B

e$B;?@.$G$9!#e(B
e$B8DJL$NLdBj$KBP$9$k%"%I%[%C%/$JBP1~$@$1$7$F$$$F$b@Z$j$,$J$$$N$G!"e(B
e$B:,K\E*$JBP1~$re(Bruby-deve$B$G5DO@$9$k$Y$-$@$H;W$$$^$9!#e(B

e$B2a5n$N5DO@$K$b5s$,$C$F$$$k$H;W$$$^$9$,!"e(B

(1)
e$B30It$+$i$NF~NO$KBP$9$k1x@w%U%i%0$H!“%;!<%U%l%Y%ke(B4e$B$G@8@.$5$l$?e(B
e$B%*%V%8%'%/%H$KBP$9$k%U%i%0$rJ,N%$9$k!#e(B
(2)
Ce$B$GDj5A$5$l$?%a%=%C%I$KBP$7$F!”%G%U%)%k%H$G%;!<%U%l%Y%ke(B4e$B$G$N<B9Te(B
e$B$r6X;_$9$k!#e(B

e$B$“$?$j$G!”$=$l$J$j$N8_49@-$r3NJ]$7$?>e$G!“$+$J$j>u67$O2~A1$5$l$k$h$&$Ke(B
e$B;W$$$^$9$,!”$I$&$G$7$g$&$+!#e(B

e$B$“$H!”%9%?%C%/%*!<%P!<%U%m!<$N8!=P$H$+!#e(B

e$B;38}$H?=$7$^$9!#e(B

2008/7/2 Shugo M. [email protected]:

e$B2a5n$N5DO@$K$b5s$,$C$F$$$k$H;W$$$^$9$,!"e(B

(1) e$B30It$+$i$NF~NO$KBP$9$k1x@w%U%i%0$H!“%;!<%U%l%Y%ke(B4e$B$G@8@.$5$l$?e(B
e$B%*%V%8%'%/%H$KBP$9$k%U%i%0$rJ,N%$9$k!#e(B
(2) Ce$B$GDj5A$5$l$?%a%=%C%I$KBP$7$F!”%G%U%)%k%H$G%;!<%U%l%Y%ke(B4e$B$G$N<B9Te(B
e$B$r6X;_$9$k!#e(B

e$B$“$?$j$G!”$=$l$J$j$N8_49@-$r3NJ]$7$?>e$G!“$+$J$j>u67$O2~A1$5$l$k$h$&$Ke(B
e$B;W$$$^$9$,!”$I$&$G$7$g$&$+!#e(B

(1)e$B$K4X$7$F$h$j6qBNE*$K$Oe(B

e$B%;!<%U%l%Y%ke(B 0,1,2 e$B$K$$$$F@8$8$k1x@w%U%i%0$He(B
e$B%;!<%U%l%Y%ke(B 3,4 e$B$K$
$$$F@8$8$k1x@w%U%i%0$r6hJL2DG=$K$9$ke(B

e$B$H$$$&$3$H$G$“$k$H;W$$$^$9$,!”>:Y$rJdB-$7$F$*$-$^$9$He(B

e$B%;!<%U%l%Y%ke(B3,4e$B$K$$$$F@8$8$?1x@w$5$l$?%%V%8%‘%/%H$b$^$?e(B
e$B%;!<%U%l%Y%ke(B1,2e$B$K$$$$F1x@w$5$l$?%%V%8%’%/%H$H$7$F07$($ke(B

e$B$b$N$G$"$k$HNI$$$+$H9M$($^$9!#e(B

e$B$3$N>e$G%;!<%U%l%Y%ke(B3,4e$B$K$$$$F1x@w$5$l$?%%V%8%'%/%H$N$_$re(B
e$B%;!<%U%l%Y%ke(B4e$B$+$i>uBVJQ992DG=$H$9$l$P!"e(B
e$B?.MQ$G$-$k%W%m%0%i%`B&$NITCm0U$K$h$k4m81$J>u67$N$[$H$s$I$Oe(B
e$B2r>C$5$l$k$N$G$O$J$$$+$H;W$$$^$9!#e(B

e$B$^$?$3$&$7$?JQ99$O%;!<%U%l%Y%ke(B3e$B$KL@3N$JLr3d$rM?$($k$3$H$K$J$j$^$9$N$Ge(B
e$B%;%-%e%j%F%#%b%G%k$H$7$F$b$h$jJ,$+$j0W$$$b$N$K$J$k$N$G$O$J$$$G$7$g$&$+!#e(B

(2)e$B$K4X$7$F$O!“8=:_$N4m81$JA:n$N6X;_@)$+$ie(B e$B0BA4$JA:n$N5v2D@)$KJQ99$9$k$H$$$&$3$H$G$7$g$&$+!#e(B
e$B$3$l$K4X$7$F$OFsE@<ALd$,$”$j$^$9!#e(B

e$B!&$3$&$7$?JQ99$O8zN($N4QE@$J$I$+$iLdBj$O5/$-$J$$$N$G$7$g$&$+e(B
e$B!&$^$?3HD%%i%$%V%i%j$K$^$G$o$?$C$F<B8=2DG=$J$b$N$J$N$G$7$g$&$+e(B

e$B$3$&$$$&E@$K4X$7$F$OA4$/CN<1$,$J$/$F?=$7Lu$J$$$N$G$9$,!“e(B
e$BLdBj$J$/<B8=2DG=$G$”$k$N$J$i$P$3$N$h$&$KJQ99$5$l$k$He(B
e$BBgJQ$"$j$,$?$/;W$$$^$9!#e(B

e$B8=:$NJ}?K$K$*$$$F$Oe(B
e$B!V$3$l$O6X;
$5$l$k$Y$-$@$H;W$&!We(B
e$B$H$$$&$3$H$rJs9p$9$k$?$a$K$Oe(B
e$B%;%-%e%j%F%#LdBjAk8}$KJs9p$7$J$1$l$P$J$j$^$;$s!#e(B
e$B$?$@;~$H$7$F$=$l$,K\Ev$K6X;_$5$l$k$Y$-$+$I$&$+e(B
e$B<+?.$N;}$F$J$$>l9g$,$"$j$^$9!#e(B

e$B8D?ME*$J<B46$H$7$F$=$&$$$C$?$b$N$r%;%-%e%j%F%#LdBjAk8}$KJs9p$9$k$N$Oe(B
e$B$I$&$7$F$b?4M}E*$J>cJI$H$J$C$F$$$^$9!#e(B

e$B$b$7e(B(2)e$B$N$h$&$KI8=`$G<B9T6X;_$H$J$C$F$$$l$P!"e(B
e$B$3$&$7$?OC$O!V$3$l$O5v2D$5$l$k$Y$-$@$H;W$&!W$KJQ$o$k$o$1$G$9$+$i!"e(B
e$B%;%-%e%j%F%#>e$NLdBj$b$J$/8x3+$N5DO@$,2DG=$K$J$j$^$9$N$Ge(B
e$B?4M}E*$K?oJ,3Z$K$J$j$^$9!#e(B

e$B0J>e$NM}M3$+$i!";d$OA0ED$5$s$N$40U8+$K;[email protected]$7$^$9!#e(B
e$B%;!<%U%l%Y%ke(B4e$B$N40A4@-$OL$Mh1J9eJ]>Z$G$-$J$$$K$;$he(B
e$B$=$NB8:_<+BN$OM-1W$G$9$7!"e(B
e$B$^$?8=:_0J>e$N0BA4@-$O3NJ]$G$-$k$@$m$&$H9M$($^$9$N$G!“e(B
e$B$=$&$7$?JQ99$,2C$o$k$N$OBgJQAG@2$i$7$$;v$G$”$k$H;W$$$^$9!#e(B


e$B;38}7DB@e(B
[email protected]

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35310] Re: $SAFEe$B$N:#8ee(B”
on Wed, 2 Jul 2008 16:21:04 +0900, “Shugo M.”
[email protected] writes:

|2008/07/02 15:22 Keita Y. [email protected]:
|> e$B%;!<%U%l%Y%ke(B3,4e$B$K$$$$F@8$8$?1x@w$5$l$?%%V%8%‘%/%H$b$^$?e(B
|> e$B%;!<%U%l%Y%ke(B1,2e$B$K$$$$F1x@w$5$l$?%%V%8%’%/%H$H$7$F07$($ke(B
|>
|> e$B$b$N$G$“$k$HNI$$$+$H9M$($^$9!#e(B
|
|e$B2?$+%j%9%/$,$J$$$+9M$($?$N$G$9$,!”$H$/$K;W$$IU$-$^$;$s$G$7$?!#e(B

taint(e$B1x@we(B)e$B$,Fs<oN$K$J$k$N$GL>A0$r9M$($J$$$H$$$1$^$;$s!#$^e(B e$B$?!"$=$l$>$l$N%l%Y%k$N1x@w$rA:n$9$k%a%=%C%I$K$D$$$F$b9M$($Je(B
e$B$$$H$$$1$^$;$s!#$^$“!”$$$:$l$b5;=QE*$JLdBj$G$O$"$j$^$;$s$,!#e(B

|> e$B!&$^$?3HD%%i%$%V%i%j$K$^$G$o$?$C$F<B8=2DG=$J$b$N$J$N$G$7$g$&$+e(B
|
|rb_define_method()e$B$J$I$G%U%i%0$rN)$F$k$h$&$K$9$l$P2DG=$G$O$J$$$+$He(B
|e$B;W$$$^$9!#e(B

e$B$-$l$$$Je(BAPIe$B$,;W$$$D$+$J$$$N$G!“$b$&>/$79M$($kI,MW$,$”$j$^$9e(B
e$B$M!#e(Brb_define_method()e$B$K0z?t$rDI2C$9$k$N$b!"I8=`%/%i%9$Ne(B
rb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$BA0ED$G$9!#e(B

2008/07/02 15:22 Keita Y. [email protected]:

e$B%;!<%U%l%Y%ke(B3,4e$B$K$$$$F@8$8$?1x@w$5$l$?%%V%8%‘%/%H$b$^$?e(B
e$B%;!<%U%l%Y%ke(B1,2e$B$K$$$$F1x@w$5$l$?%%V%8%’%/%H$H$7$F07$($ke(B

e$B$b$N$G$"$k$HNI$$$+$H9M$($^$9!#e(B

e$B2?$+%j%9%/$,$J$$$+9M$($?$N$G$9$,!"$H$/$K;W$$IU$-$^$;$s$G$7$?!#e(B

(2)e$B$K4X$7$F$O!“8=:_$N4m81$JA:n$N6X;_@)$+$ie(B e$B0BA4$JA:n$N5v2D@)$KJQ99$9$k$H$$$&$3$H$G$7$g$&$+!#e(B
e$B$3$l$K4X$7$F$OFsE@<ALd$,$”$j$^$9!#e(B

e$B!&$3$&$7$?JQ99$O8zN($N4QE@$J$I$+$iLdBj$O5/$-$J$$$N$G$7$g$&$+e(B

e$B%a%=%C%I8F$S=P$7;~$K%U%i%0$N%A%'%C%/$,A}$($k$/$i$$$J$N$G!"$5$[$I1F6A$J$$e(B
e$B$N$G$O$J$$$G$7$g$&$+!#e(B

e$B!&$^$?3HD%%i%$%V%i%j$K$^$G$o$?$C$F<B8=2DG=$J$b$N$J$N$G$7$g$&$+e(B

rb_define_method()e$B$J$I$G%U%i%0$rN)$F$k$h$&$K$9$l$P2DG=$G$O$J$$$+$He(B
e$B;W$$$^$9!#e(B

e$BA0ED$G$9!#e(B

2008/07/02 16:49 Yukihiro M. [email protected]:

|e$B2?$+%j%9%/$,$J$$$+9M$($?$N$G$9$,!"$H$/$K;W$$IU$-$^$;$s$G$7$?!#e(B

taint(e$B1x@we(B)e$B$,Fs<oN$K$J$k$N$GL>A0$r9M$($J$$$H$$$1$^$;$s!#$^e(B e$B$?!"$=$l$>$l$N%l%Y%k$N1x@w$rA:n$9$k%a%=%C%I$K$D$$$F$b9M$($Je(B
e$B$$$H$$$1$^$;$s!#$^$“!”$$$:$l$b5;=QE*$JLdBj$G$O$"$j$^$;$s$,!#e(B

untrusted?e$B$O$I$&$G$7$g$&!#e(B

untrust/truste$B$,e(Btaint/untainte$BAjEv!#e(B

|rb_define_method()e$B$J$I$G%U%i%0$rN)$F$k$h$&$K$9$l$P2DG=$G$O$J$$$+$He(B
|e$B;W$$$^$9!#e(B

e$B$-$l$$$Je(BAPIe$B$,;W$$$D$+$J$$$N$G!“$b$&>/$79M$($kI,MW$,$”$j$^$9e(B
e$B$M!#e(Brb_define_method()e$B$K0z?t$rDI2C$9$k$N$b!"I8=`%/%i%9$Ne(B
rb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!#e(B

rb_define_method()e$B$r%^%/%m$K$7$F:9$7BX$($k$/$i$$$7$+;W$$IU$-$^$;$s$G$7$?!#e(B

e$BKNIt$G$9!#e(B

e$B$I$3$K$V$i2<$2$k$+LB$C$?e(B

Shugo M. e$B$5$s$O=q$-$^$7$?e(B:

(2) Ce$B$GDj5A$5$l$?%a%=%C%I$KBP$7$F!"%G%U%)%k%H$G%;!<%U%l%Y%ke(B4e$B$G$N<B9Te(B
e$B$r6X;_$9$k!#e(B

e$B:#%V%i%C%/%j%9%HJ}<0$K$J$C$F$k$H$3$m$r%[%o%$%H%j%9%HJ}<0$KJQ99$9$k$H$$$&e(B
e$B$3$H$G$9$h$M!#J}8~$O;?@.$G$9!#e(B
e$BIaDL$Ke(Brb_define_methode$B$7$F$"$k$d$D$O4pK\E*$K<B9T6X;$J$s$@$+$i!"$Y$D$K$oe(B
e$B$6$o$6%^%/%m$K$9$kI,MW$O$J$$$H$*$b$$$^$9!#e(B
rb_whitelist()e$B$N$h$&$Je(BAPIe$B$r?7@
$9$l$P$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$"$H!"%9%?%C%/%*!<%P!<%U%m!<$N8!=P$H$+e(B

e$B$3$l$O$3$l$G5DO@$,$"$k$H;W$$$^$9$,!"JL$N%9%l%C%I$G$d$C$?$[$&$,$$$$$+$b!#e(B

e$BA0ED$G$9!#e(B

2008/07/04 14:44 Urabe S. [email protected]:

(2) Ce$B$GDj5A$5$l$?%a%=%C%I$KBP$7$F!"%G%U%)%k%H$G%;!<%U%l%Y%ke(B4e$B$G$N<B9Te(B
e$B$r6X;_$9$k!#e(B

e$B:#%V%i%C%/%j%9%HJ}<0$K$J$C$F$k$H$3$m$r%[%o%$%H%j%9%HJ}<0$KJQ99$9$k$H$$$&e(B
e$B$3$H$G$9$h$M!#J}8~$O;?@.$G$9!#e(B
e$BIaDL$Ke(Brb_define_methode$B$7$F$“$k$d$D$O4pK\E*$K<B9T6X;_$J$s$@$+$i!”$Y$D$K$oe(B
e$B$6$o$6%^%/%m$K$9$kI,MW$O$J$$$H$*$b$$$^$9!#e(B

e$B$^$D$b$H$5$s$,!VI8=%/%i%9$Ne(Brb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!We(B e$B$H=q$+$l$F$$$?$N$G!"I8=%/%i%9$K$D$$$F$O%^%/%m$G:9$7BX$($k$h$&$J$b$N$r%$%a!<%8$7$F$$$^$7$?!#e(B
e$B$,!“$=$l$,$$$$$H;W$C$F$$$k$o$1$G$O$”$j$^$;$s!#e(B

e$B$“$H!”%9%?%C%/%*!<%P!<%U%m!<$N8!=P$H$+e(B

e$B$3$l$O$3$l$G5DO@$,$"$k$H;W$$$^$9$,!"JL$N%9%l%C%I$G$d$C$?$[$&$,$$$$$+$b!#e(B

e$B$J$+$@$5$s$,:n6H$5$l$F$^$7$?$C$1!#e(B

e$B$H$+?6$k$H$5$5$@$5$s$KE$i$l$ke(B?

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35353] Re: $SAFEe$B$N:#8ee(B”
on Fri, 4 Jul 2008 15:50:32 +0900, Urabe S.
[email protected] writes:

|> e$B$^$D$b$H$5$s$,!VI8=%/%i%9$Ne(Brb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!We(B |> e$B$H=q$+$l$F$$$?$N$G!"I8=%/%i%9$K$D$$$F$O%^%/%m$G:9$7BX$($k$h$&$J$b$N$r%$%a!<%8$7$F$$$^$7$?!#e(B
|> e$B$,!“$=$l$,$$$$$H;W$C$F$$$k$o$1$G$O$”$j$^$;$s!#e(B
|
|e$B$=$NHr$1$?$$M}M3$,$o$+$l$PBP:v$,2?$+$"$k$+$b$7$l$^$;$s$M$(!#e(B

e$BI8=`%/%i%9e(B(e$B;d$,0lHV<j$rF~$l$k>l=je(B)e$B$G%[%o%$%H%j%9%H4IM}$r$9$ke(B
e$B$N$OJ]<i$,HK;($K$J$C$F4V0c$$$N85$@$+$iHr$1$?$$$H$$$&$N$,:GBge(B
e$B$NF05!$J$N$G!“%^%/%m$GBLL$H$$$&$o$1$G$O$J$$$s$G$9$h!#$^$”!“e(B
e$B%^%/%m$O%G%P%C%,$G8+$($J$$$s$G$A$g$C$H$@$1?I$$$G$9$,!”$=$l$/e(B
e$B$i$$$J$i2fK}$G$-$J$$$3$H$O$J$$$G$9!#e(B

e$BKNIt$G$9!#e(B

Shugo M. e$B$5$s$O=q$-$^$7$?e(B:

e$B$^$D$b$H$5$s$,!VI8=%/%i%9$Ne(Brb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!We(B e$B$H=q$+$l$F$$$?$N$G!"I8=%/%i%9$K$D$$$F$O%^%/%m$G:9$7BX$($k$h$&$J$b$N$r%$%a!<%8$7$F$$$^$7$?!#e(B
e$B$,!"$=$l$,$$$$$H;W$C$F$$$k$o$1$G$O$"$j$^$;$s!#e(B

e$B$=$NHr$1$?$$M}M3$,$o$+$l$PBP:v$,2?$+$"$k$+$b$7$l$^$;$s$M$(!#e(B

e$BKNIt$G$9!#e(B

Yukihiro M. e$B$5$s$O=q$-$^$7$?e(B:|

|e$B$=$NHr$1$?$$M}M3$,$o$+$l$PBP:v$,2?$+$"$k$+$b$7$l$^$;$s$M$(!#e(B

e$BI8=`%/%i%9e(B(e$B;d$,0lHV<j$rF~$l$k>l=je(B)e$B$G%[%o%$%H%j%9%H4IM}$r$9$ke(B
e$B$N$OJ]<i$,HK;($K$J$C$F4V0c$$$N85$@$+$iHr$1$?$$$H$$$&$N$,:GBge(B
e$B$NF05!$J$N$G!"%^%/%m$GBLL$H$$$&$o$1$G$O$J$$$s$G$9$h!#$^$"!“e(B
e$B%^%/%m$O%G%P%C%,$G8+$($J$$$s$G$A$g$C$H$@$1?I$$$G$9$,!”$=$l$/e(B
e$B$i$$$J$i2fK}$G$-$J$$$3$H$O$J$$$G$9!#e(B

e$B:#!"%V%i%C%/%j%9%H$rJ]<i$9$k$N$,HQ;($G4V0c$$$b<B:]$K5/$-$F$$$^$9$h$M$(!#e(B
e$B$=$l$HHf$Y$F$I$&$G$9$+$M$(!#e(B
e$B%V%i%C%/%j%9%H$KO3$l$,$"$k$H!"$=$3$GB(%;%-%e%j%F%#!<%[!<%k$K$J$C$A$c$$$^e(B
e$B$9$1$I!"%[%o%$%H%j%9%H$KO3$l$,$"$C$F$b$Y$D$K%;%-%e%j%F%#!<$,FMGK$5$l$O$7e(B
e$B$J$$$N$G!":#$h$jLLE]$K$J$i$J$$$N$G$"$l$P$$$$$s$8$c$J$$$+$H;W$$$^$9$1$Ie(B
e$B$b!"$I$&$J$s$G$7$g$&!#e(B

e$B!!$5$5$@$G$9!%e(B

Shugo M. wrote:

e$B$J$N$G!"I8=`%/%i%9$b?7$7$$e(BAPIe$B$K9g$o$;$?J}$,$$$$$s$8$c$J$$$+$H!#e(B

e$B!!JX>h$J$N$G$9$,!$$b$7e(B rb_define_method
e$B$K%U%i%0$N$h$&$J$b$N$rIU$1$ke(B
e$B>l9g$O!$e(B$SAFE
e$B4XO"0J30$N>pJs$bEO$;$k$h$&$K$J$C$F$$$k$HBgJQ4r$7$$$G$9!%e(B

e$B!!!V$3$N%a%=%C%I$r<BAu$7$F$$$ke(B C
e$B4X?t$O%9%l%C%I%;!<%U$@$h!W$H$+!%e(B
e$B!VI{:nMQL5$$$h!W$H$+!%e(B

e$BA0ED$G$9!#e(B

2008/07/04 15:50 Urabe S. [email protected]:

e$B$^$D$b$H$5$s$,!VI8=%/%i%9$Ne(Brb_define_method()e$B$r$9$Y$F=q$-49$($k$N$b$G$-$l$PHr$1$?$$!We(B e$B$H=q$+$l$F$$$?$N$G!"I8=%/%i%9$K$D$$$F$O%^%/%m$G:9$7BX$($k$h$&$J$b$N$r%$%a!<%8$7$F$$$^$7$?!#e(B
e$B$,!“$=$l$,$$$$$H;W$C$F$$$k$o$1$G$O$”$j$^$;$s!#e(B

e$B$=$NHr$1$?$$M}M3$,$o$+$l$PBP:v$,2?$+$"$k$+$b$7$l$^$;$s$M$(!#e(B

e$BF1$8L>A0$G%3%s%F%-%9%H$K$h$C$F5sF0$,0c$&$N$O!"4V0c$$$N85$G$O$J$$$+$He(B
e$B;W$$$^$9!#e(B
e$B$J$N$G!"I8=`%/%i%9$b?7$7$$e(BAPIe$B$K9g$o$;$?J}$,$$$$$s$8$c$J$$$+$H!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35356] Re: $SAFEe$B$N:#8ee(B”
on Fri, 4 Jul 2008 16:26:10 +0900, Urabe S.
[email protected] writes:

|e$B:#!“%V%i%C%/%j%9%H$rJ]<i$9$k$N$,HQ;($G4V0c$$$b<B:]$K5/$-$F$$$^$9$h$M$(!#e(B
|e$B$=$l$HHf$Y$F$I$&$G$9$+$M$(!#e(B
|e$B%V%i%C%/%j%9%H$KO3$l$,$”$k$H!“$=$3$GB(%;%-%e%j%F%#!<%[!<%k$K$J$C$A$c$$$^e(B
|e$B$9$1$I!”%[%o%$%H%j%9%H$KO3$l$,$"$C$F$b$Y$D$K%;%-%e%j%F%#!<$,FMGK$5$l$O$7e(B
|e$B$J$$$N$G!"e(B

e$B$*$C$7$c$k$3$H$O$=$NDL$j$J$N$G!"e(BCe$B$G<BAu$5$l$?%a%=%C%I$K4X$7e(B
e$B$F%[%o%$%H%j%9%HJ}<0$K0\9T$9$k$3$H$KH?BP$O$7$^$;$s!#8=:_J,$+$Ce(B
e$B$F$$$J$$ITET9g$,$J$1$l$P!#e(B

|e$B:#$h$jLLE]$K$J$i$J$$$N$G$“$l$P$$$$$s$8$c$J$$$+$H;W$$$^$9$1$Ie(B
|e$B$b!”$I$&$J$s$G$7$g$&!#e(B

e$B$G!"!V:#$h$jLLE]$K$J$i$J$$!W$d$jJ}$rLO:w$7$?$$$H$$$&$@$1$N$3e(B
e$B$H$G$9!#e(B