なかだです。

At Fri, 25 May 2007 19:59:48 +0900,
Chikanaga Tomoyuki wrote in [ruby-dev:30820]:
> オンラインマニュアルの例によると Kernel#trap および Signal.trap は
> ハンドラに文字列(スクリプト片)を指定できるとなっていますが、
> やってみるとうまく動いていないようです。
> # マニュアル本文(?)には、スクリプト片を文字列として渡していいと
> # はっきりとは書いてないようですけれど...
> 
> 1.8 と 1.9 でそれぞれ異なるエラー内容になります。

1.9では文字列は"DEFAULT","IGNORE","EXIT"など以外は不可になりま
した。
# 互換性の話かと勘違いしてました。

> $ ruby-1.8.6 -v traptest.rb
> ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]
> true           #   <= Ctrl-C
> traptest.rb:4: unexpected return

こちらではtrueが果てしなく出続けました。


Index: eval.c =================================================================== --- eval.c (revision 12396) +++ eval.c (working copy) @@ -1866,5 +1866,5 @@ rb_eval_cmd(cmd, arg, level) POP_FRAME(); - jump_tag_but_local_jump(state, val); + if (state) jump_tag_but_local_jump(state, val); return val; }
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦