こんばんは、sheepman です。

trunk の callcc に関してです。
Array#each のブロックの中で callcc を呼んだ時の、ローカル変数の
参照がおかしいです。

$ cat t.rb
vv = 0
$c = 0
[1, 2, 3].each{|i|
  callcc {|k| $k = k}
  $c += 1
  vv += 1
}
p [vv, $c]
$k.call if vv < 10 and $c < 10

$ ruby-1.8 -v t.rb
ruby 1.8.6 (2007-04-20 patchlevel 5000) [i686-linux]
[3, 3]
[4, 4]
[5, 5]
[6, 6]
[7, 7]
[8, 8]
[9, 9]
[10, 10]

$ ruby-1.9 -v t.rb
ruby 1.9.0 (2007-05-29 patchlevel 0) [i686-linux]
[3, 3]
[3, 4]
[3, 5]
[3, 6]
[3, 7]
[3, 8]
[3, 9]
[3, 10]

-- 
sheepman / TAMURA Takashi
sheepman / sheepman.sakura.ne.jp