$LOADED_FEATURES.map(&:encoding)

e$B@>;3OB9-$G$9!#e(B

$LOADED_FEATURES e$B$KF~$C$F$$$kJ8;zNs$Ne(B encoding e$B$Ke(B
ASCII-8BIT e$B$He(B US-ASCII e$B$He(B locale encoding(?) e$B$,e(B
e$B:.$6$C$F$$$k$N$O0U?^$7$?5sF0$G$7$g$&$+e(B?

% ruby-trunk -v -r pp -e ‘pp $LOADED_FEATURES.map{|x|[x,x.encoding]}’
ruby 1.9.2dev (2009-04-17 trunk 23198) [i686-linux]
[[“enumerator.so”, #Encoding:ASCII-8BIT],
["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/i686-linux/enc/encdb.so",
#Encoding:US-ASCII],
["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/i686-linux/enc/trans/transdb.so",
#Encoding:US-ASCII],
["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/rubygems.rb",
#Encoding:UTF-8],
["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/prettyprint.rb",
#Encoding:US-ASCII],
["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/pp.rb",
#Encoding:US-ASCII]]
%

e$B$J$+$@$G$9!#e(B

At Fri, 17 Apr 2009 20:29:45 +0900,
Kazuhiro NISHIYAMA wrote in [ruby-dev:38312]:

$LOADED_FEATURES e$B$KF~$C$F$$$kJ8;zNs$Ne(B encoding e$B$Ke(B
ASCII-8BIT e$B$He(B US-ASCII e$B$He(B locale encoding(?) e$B$,e(B
e$B:.$6$C$F$$$k$N$O0U?^$7$?5sF0$G$7$g$&$+e(B?

e$B$H$/$K0U?^$7$?$b$N$G$O$J$$$H;W$$$^$9$,!De(B

[[“enumerator.so”, #Encoding:ASCII-8BIT],

e$B$3$l$Oe(Benumerator.ce$BFbIt$Ge(Brb_provide()e$B$GEPO?$7$F$$$k$N$G$9$,!"e(B
rb_provide()e$B$O%(%s%3!<%G%#%s%0$r9MN8$7$F$$$J$$$?$a$G$9!#e(B

["/home/kazu/opt/ruby-trunk/lib/ruby-trunk/1.9.1/rubygems.rb",
#Encoding:UTF-8],

e$B$3$A$i$Oe(Bgem_prelude.rbe$B$GDI2C$7$F$$$k$N$G!"Kd$a9~$^$l$?%=!<%9$N%(e(B
e$B%s%3!<%G%#%s%0$r0z$-7Q$$$G$$$^$9!#e(B

US-ASCIIe$B$KE}0l$9$k$N$J$i$3$s$J46$8$G!#e(B

Index: load.c

— load.c (revision 23198)
+++ load.c (working copy)
@@ -248,5 +248,5 @@ void
rb_provide(const char *feature)
{

  • rb_provide_feature(rb_str_new2(feature));
  • rb_provide_feature(rb_usascii_str_new2(feature));
    }

Index: tool/compile_prelude.rb

— tool/compile_prelude.rb (revision 23198)
+++ tool/compile_prelude.rb (working copy)
@@ -78,6 +78,6 @@ Init_<%=init_name%>(void)
% lines_list.each_with_index {|(setup_lines, lines), i|
rb_iseq_eval(rb_iseq_compile(

  • rb_str_new(prelude_code<%=i%>, sizeof(prelude_code<%=i%>) - 1),
  • rb_str_new(prelude_name<%=i%>, sizeof(prelude_name<%=i%>) - 1),
  • rb_usascii_str_new(prelude_code<%=i%>, sizeof(prelude_code<%=i%>) -
    1),
  • rb_usascii_str_new(prelude_name<%=i%>, sizeof(prelude_name<%=i%>) -
    1),
    INT2FIX(<%=1-setup_lines.length%>)));