From: Minero Aoki Date: 2002-10-05T23:22:48+09:00 Subject: [ruby-dev:18458] yield from loaded file あおきです。 これって仕様じゃないですよね? たぶん。 ~/s/ruby-devel % cat b.rb yield 'in b.rb' ~/s/ruby-devel % cat a.rb load("b.rb") {|msg| puts msg } ~/s/ruby-devel % ./ruby -v a.rb ruby 1.7.3 (2002-10-04) [i686-linux] in b.rb ------------------------------------------------------------------- 青木峰郎 Index: eval.c =================================================================== RCS file: /home/aamine/cvs/ruby/ruby/eval.c,v retrieving revision 1.340 diff -u -p -r1.340 eval.c --- eval.c 4 Oct 2002 11:32:16 -0000 1.340 +++ eval.c 5 Oct 2002 14:23:58 -0000 @@ -5346,6 +5346,7 @@ rb_load(fname, wrap) rb_extend_object(self, ruby_class); PUSH_CREF(ruby_wrapper); } + PUSH_ITER(ITER_NOT); PUSH_FRAME(); ruby_frame->last_func = 0; ruby_frame->last_class = 0; @@ -5380,6 +5381,7 @@ rb_load(fname, wrap) ruby_cref = saved_cref; POP_SCOPE(); POP_FRAME(); + POP_ITER(); POP_CLASS(); POP_VARS(); ruby_wrapper = wrapper;