> 1.
> ruby/ext/tk/lib/tk/canvas.rb contains the same bug as canvas.rb shown below:

sorry, it was ruby/ext/tk/lib/tk/menu.rb !

>   def __item_val2ruby_optkeys(id)  # { key=>proc, ... }
>     super(id).update('menu'=>proc{|i, v| window(v)})
>   end
>   private :__val2ruby_optkeys

> There should probably be __item_val2ruby_optkeys.
> This bug makes the demo in ruby/ext/tk/sample/demos-en/widget crash.