From: nobu.nakada@... Date: 2003-10-08T19:10:33+09:00 Subject: [ruby-dev:21551] backtrace in END{} なかだです。 END{}中でのバックトレースがずれてます。 $ ./ruby -v -e 'END{break}' -e p ruby 1.8.0 (2003-10-06) [i686-linux] -e:2: break from proc-closure (LocalJumpError) from -e:2 * eval.c (call_end_proc, proc_invoke): adjust backtrace in END. Index: eval.c =================================================================== RCS file: /cvs/ruby/src/ruby/eval.c,v retrieving revision 1.551 diff -u -2 -p -r1.551 eval.c --- eval.c 6 Oct 2003 17:59:52 -0000 1.551 +++ eval.c 7 Oct 2003 03:20:07 -0000 @@ -6455,4 +6455,5 @@ call_end_proc(data) PUSH_FRAME(); ruby_frame->self = ruby_frame->prev->self; + ruby_frame->node = 0; ruby_frame->last_func = 0; ruby_frame->last_class = 0; @@ -7046,4 +7047,5 @@ proc_invoke(proc, args, self, klass) PUSH_ITER(ITER_CUR); ruby_frame->iter = ITER_CUR; + ruby_current_node = data->body; PUSH_TAG((pcall || orphan) ? PROT_PCALL : PROT_CALL); state = EXEC_TAG(); -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦