[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

こんにちは、なかむら(う)です。

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44126] Re: ruby-tk with tcltk8.5b1

From: Hidetoshi NAGAI <nagai@...>
Date: 2007-10-19 03:17:02 UTC
List: ruby-list #44126
永井@知能.九工大です.

From: Ryutaro Amano <wn9r-amn@asahi-net.or.jp>
Subject: [ruby-list:44125] ruby-tk with tcltk8.5b1
Date: Fri, 19 Oct 2007 11:25:20 +0900
Message-ID: <7367DF69-9A97-449E-92B3-4D6388640E4C@asahi-net.or.jp>
> 天野竜太郎と申します。

報告をありがとうございます.

> $ ruby -v
> ruby 1.8.6 (2007-09-24 patchlevel 111) [powerpc-darwin8.10.0]
> 
> tcltkの本家から8.5b1をとってきて、ビルドして、rubyを 
> ビルドしたところ以下のようになりました。

うぅ...
ここ暫く忙しくて,放置していたつけが出てしまってますね.
ごめんなさい.

応急処置ですが,
tcltklib.c の中の ip_make_menu_embeddable() という関数の頭で
-------------------------------------------------------------
static VALUE
ip_make_menu_embeddable(interp, menu_path)
    VALUE interp;
    VALUE menu_path;
{
#if TCL_MAJOR_VERSION >= 8
------------------------------------------------------------
となっている部分の
------------------------------------------------------------
#if TCL_MAJOR_VERSION >= 8
------------------------------------------------------------
を
------------------------------------------------------------
#if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION < 5
------------------------------------------------------------
としてコンパイルしてください.
Tk8.5 以降ではこの機能が無効化されることになりますが,
一般的なユーザには,この機能はなくても全く困らないはずです.

> この結果をtcl-macに投げたところ以下のようなRESが付き 
> ました。
> ------------------------------------------------------
> This is a bug in ruby-tk (possibly not specific to the mac version).
> 
> TkEventuallyRecomputeMenu is an internal Tk function not in any of  
> the stubs tables. In 8.5 such functions are no longer exported from  
> the Tk shared library (on all platforms where the compiler has  
> support for marking symbols as unexported).
> 
> You should raise this issue with the ruby-tk developers, they should  
> not be using this function; if there is no way around it, they should  
> ask for it to be added to the internal stubs table (via a Tk bug  
> report).
> --------------------------------------------------------
> 
> 理解できていないのですが、とりあえず報告しておきます。

この関数は以前の Tcl/Tk では EXPORT されていたので使っていたのですが,
それを使って何がやりたかったかと言うと,
tearoff メニューを Tk のコンテナ (toplevel または frame) に
埋め込むことができるようにしたかったんです.

通常でしたら,tearoff されたメニューは
そのままウィンドウマネージャの管理下に置かれます.
しかし,Tcl/Tk のマスターインタープリタから
スレーブインタープリタを管理下に置いているケースにおいて,
tearoff によってマスターインタープリタから手を届かせづらい場所に
行ってしまうのは嬉しくない場合があります.

# まぁ,この時点で極めて特殊なケースというわけです.

で,tearoff メニュー生成ステップに割り込んで,
埋め込み可能な形 (ウィンドウマネージャには渡さない形) での
tearoff メニュー *もどき* を互換性を維持した上で作る必要があって,
TkEventuallyRecomputeMenu と TkEventuallyRedrawMenu という関数を
使うようにしていたというわけです.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread