comp.lang.ruby nagai / ai.kyutech.ac.jp On Jan 9, 6:12 am, Hidetoshi NAGAI <na... / ai.kyutech.ac.jp> wrote: > From: Hidetoshi NAGAI <na... / ai.kyutech.ac.jp> > Subject: Re: Bug with Ruby/Tk encoding (ruby-1.9.1-rc1) > Date: Thu, 8 Jan 2009 17:32:56 +0900 > Message-ID: <20090108.173314.104043405.nagai / ai.kyutech.ac.jp> > > > It means that "Encoding.locale_charmap" returns an empty string. > > It may be abnormal. However, Ruby/Tk will rescue it. > Please try the following patch. > ... I've done the following (manually): # loc_enc_obj = ::Encoding.find(::Encoding.locale_charmap) loc_enc_obj = (::Encoding.find(::Encoding.locale_charmap) rescue Tk::Encoding::UNKNOWN) Now, the require "tk" works: the Tk main window appears and is start to resize (like the expected button size). So the encoding problem seems solved: *** thank you very much Hidetoshi!! *** ... ...but I don't see any button and the Tk windows blocks. Perhaps, it's a problem with bad version of tk, or a bad compil options: irb require "tk" => true irb(main):007:0* Tk.info :lib => "/System/Library/Frameworks/Tcl.framework/Versions/8.4/Resources/ Scripts" But I remember I tried to compile ruby with a personnal tcl/tk version (8.5.5 with x11) in a specific location, which don't seems used at runtime. So, is there a mean to tell Ruby (at runtime) to use a particular tcl/ tk version (something witch could be name "RUBY_TCLTK_LIB")? Or better question: This problem arise because ruby doesn't integrate tk in itself. So is there a mean to tell ruby at compile time: "I want to use **that** tcl/tk sources, and compile it as a special tcltklib version with all specific options you need for it to work with ruby!" I know this will make a "big" ruby distribution, but it will be much (MUCH) easier to install and to maintain ! I think that such a compil option would help people make a robust ruby/ tk comparable to (ideally) the tcl/tk version -- Maurice