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