[#1582] [BUG] Regexp — sinara@...

原です。あけましておめでとうございます。

16 messages 1997/01/06

[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>

出沢です

14 messages 1997/01/15

[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>

18 messages 1997/01/19

[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>

28 messages 1997/01/20
[#1800] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/21

まつもと ゆきひろです.

[#1802] Re: Text of TkCanvas — Noritugu Nakamura <nnakamur@...> 1997/01/21

[#1806] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/22

まつもと ゆきひろです.

[#1816] Re: Text of TkCanvas — Noritugu Nakamura <nnakamur@...> 1997/01/22

[#1819] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/22

まつもと ゆきひろです.

[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1997/01/24
[#1878] Re: ruby-1.0-960124 available — WATANABE Hirofumi <watanabe@...> 1997/01/27

わたなべです.

[#1879] Re: ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto) 1997/01/27

まつもと ゆきひろです.

[#1880] Re: ruby-1.0-960124 available — WATANABE Hirofumi <watanabe@...> 1997/01/27

わたなべです.

[#1890] Re: ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto) 1997/01/27

まつもと ゆきひろです.

[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

81 messages 1997/01/28
[#1929] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1934] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1935] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1938] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1940] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1944] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1947] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1960] Re: [Dist] Mutex module — sinara@... 1997/01/30

原です。

[#1969] Re: [Dist] Mutex module 1997/01/30

けいじゅ@SHLジャパンです.

[#1978] Re: [Dist] Mutex module — sinara@... 1997/01/30

原です。

[#1986] Re: [Dist] Mutex module 1997/01/30

けいじゅ@SHLジャパンです.

[#1989] Array as list/tupple (Re: [Dist] Mutex module) — matz@... (Yukihiro Matsumoto) 1997/01/31

まつもと ゆきひろです.

[#2008] [Request] static var? (Re: Array as list/tupple) — sinara@... 1997/01/31

原です。

[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)

黒田です.

16 messages 1997/01/29

[ruby-list:1775] Re: variable and value (TkRadioButton)

From: matz@... (Yukihiro Matsumoto)
Date: 1997-01-20 01:36:32 UTC
List: ruby-list #1775
まつもと ゆきひろです

In message "[ruby-list:1770] variable and value (TkRadioButton)"
    on 97/01/19, Noritugu Nakamura <nnakamur@tamaru.kuee.kyoto-u.ac.jp> writes:

|中村です。
|
|↓と同じのを ruby/Tk で書いたつもりなのですが、
|同じ動作をしません。どうしてでしょうか?

例によってバグです.以下のパッチで直っているようです.
# rubyのソースがあるディレクトリで patch -pしてください

--- lib/tk.rb~	Sat Jan 18 01:06:00 1997
+++ lib/tk.rb	Mon Jan 20 10:33:50 1997
@@ -358,6 +358,32 @@
   def bind(context, cmd=Proc.new, args=nil)
     _bind path, context, cmd, args
   end
+
+
+  def tk_trace_variable(v)
+    v = v.id2name unless v.kind_of? String
+    if v !~ /^\$/
+      fail ArgumentError, "variable must be global(%s)", v
+    end
+    vn = 'tk_trace_v_' + v
+    vset = format("global {%s}; set {%s} %%s", vn, vn)
+    tk_write vset, eval(v).inspect
+    trace_var v, proc{|val|
+      tk_write vset, val.inspect
+    }
+    tk_call 'trace vdelete', vn, 'w', @var_id if @var_id
+    @var_id = install_cmd(proc{|name1,|
+      val = tk_call(format('global %s; set', name1), name1)
+      eval(format("%s = '%s'", v.id2name, val))
+    })
+    tk_call 'trace', 'variable', vn, 'w', @var_id
+    vn
+  end
+  private :tk_trace_variable
+
+  def destroy
+    tk_call 'trace vdelete', vn, 'w', @var_id if @var_id
+  end
 end
 
 class TkWindow<TkObject
@@ -473,6 +499,7 @@
       end
     end
     $tk_window_list[path] = nil
+    super
   end
 end
 
@@ -516,14 +543,7 @@
     tk_call 'label', @path
   end
   def textvariable(v)
-    v = v.id2name unless v.kind_of? String
-    vn = @path + v
-    vset = format("global {%s}; set {%s} %%s", vn, vn)
-    tk_write vset, eval(v).inspect
-    trace_var v, proc{|val|
-      tk_write vset, val.inspect
-    }
-    configure 'textvariable', vn
+    configure 'textvariable', tk_trace_variable(v)
   end
 end
 
@@ -550,24 +570,7 @@
     tk_send 'select'
   end
   def variable(v)
-    v = v.id2name unless v.kind_of? String
-    if v !~ /^\$/
-      fail ArgumentError, "variable must be global(%s)", v
-    end
-    vn = 'btns_selected_' + v
-    trace_var v, proc{|val|
-      tk_write 'global %s; set %s %s', vn, val
-    }
-    @var_id = install_cmd(proc{|name1,|
-      val = tk_call(format('global %s; set', name1), name1)
-      eval(format("%s = '%s'", v.id2name, val))
-    })
-    tk_call 'trace', 'variable', vn, 'w', @var_id
-    configure 'variable', vn
-  end
-  def destroy
-    tk_call 'trace vdelete', vn, 'w', @var_id
-    super
+    configure 'variable', tk_trace_variable(v)
   end
 end
 

In This Thread