> 'tk.rb' on CVS already has the method.
OK. Thank you. ( I always behind ...  )

> To do it, we must check all keys of the configure argument,
> and select to call 'wm' command or 'configure' command.
> If you request it strongly, I'll try to implement.
I just feel this would be a nice feature, but not sure how many people
needed,
and I know it is not trivial ( check all commands, make sure they have
getter/setter
behaviour, and wrap them like options ... ). I am not strongly needed,
but if
many people think that would be nice, then maybe give it a try?  ;-)
BTW: if we really do it, then we may need to keep maintenance in the
future for
new version of TK ( maybe new command come out and need to wrap ... etc
)
So, think again those complexity ...

> I thought that is enough because canvas items needs a parent
> canvas widget.
> Don't you think so?
I think so too. :-)
I just try to write a quick demo as short as possible, then that error
came out.
After your explication, I know what I have to rewrite it ...
Here is the classic way:
require 'tk' ; TkCanvas.new { |c| TkcRectangle.new(c, 1, 1, 2, 2)
}.pack; Tk.mainloop
My short version which not works:
require 'tk'; TkcRectangle.new(TkCanvas.new.pack, 1,1,2,2);
Tk.mainloop;
Just rewrite it to become:
require 'tk/canvas.rb'; TkcRectangle.new(TkCanvas.new.pack, 1,1,2,2);
Tk.mainloop;
and it is short and works fine.

Thank you again for your help.