[#13087] importing forwardable — "Akinori MUSHA" <knu@...>

 石塚さんの forwardable.rb を標準添付ライブラリにするべく、

11 messages 2001/05/02

[#13169] SizedQueue#pop causes deadlock — "Okada Jun" <yun@...>

岡田です。

18 messages 2001/05/13
[#13171] Re: SizedQueue#pop causes deadlock — "Akinori MUSHA" <knu@...> 2001/05/13

At Sun, 13 May 2001 14:11:18 +0900,

[#13176] Re: SizedQueue#pop causes deadlock — matz@... (Yukihiro Matsumoto) 2001/05/13

まつもと ゆきひろです

[#13177] Re: SizedQueue#pop causes deadlock — "Akinori MUSHA" <knu@...> 2001/05/13

At Mon, 14 May 2001 00:24:45 +0900,

[#13187] Re: SizedQueue#pop causes deadlock — matz@... (Yukihiro Matsumoto) 2001/05/13

まつもと ゆきひろです

[#13202] Re: [ruby-list:29672] Re: Enumerator — "Akinori MUSHA" <knu@...>

 ruby-dev に移ります。

26 messages 2001/05/15
[#13208] Re: [ruby-list:29672] Re: Enumerator — matz@... (Yukihiro Matsumoto) 2001/05/15

まつもと ゆきひろです

[#13259] Enumerator -- Round 2 — "Akinori MUSHA" <knu@...>

 もう一度、 Enumerable/Enumerator についてみなさんのご意見を

29 messages 2001/05/20
[#13260] Re: Enumerator -- Round 2 — matz@... (Yukihiro Matsumoto) 2001/05/20

まつもと ゆきひろです

[#13265] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/21

At Mon, 21 May 2001 06:04:32 +0900,

[#13268] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/21

原です。

[#13270] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/21

At Mon, 21 May 2001 15:00:11 +0900,

[#13289] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/22

原です。

[#13290] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/22

At Tue, 22 May 2001 19:02:10 +0900,

[#13291] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/22

原です。

[#13293] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/22

At Tue, 22 May 2001 20:57:02 +0900,

[#13305] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/24

原です。

[#13322] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/24

At Thu, 24 May 2001 15:44:14 +0900,

[#13277] ext/dbm in ruby 1.7 — Kazuhiro NISHIYAMA <zn@...>

ruby 1.7のext/dbmですが、

16 messages 2001/05/21
[#13280] Re: ext/dbm in ruby 1.7 — matz@... (Yukihiro Matsumoto) 2001/05/21

まつもと ゆきひろです

[#13292] Integer("X") rescue -1 が parse error — YASUI Kentarow <kenyasui@...>

安井です。

18 messages 2001/05/22
[#13294] Re: Integer("X") rescue -1 が parse error — matz@... (Yukihiro Matsumoto) 2001/05/22

まつもと ゆきひろです

[#13295] Re: Integer("X") rescue -1 が parse error — "Akinori MUSHA" <knu@...> 2001/05/23

At Wed, 23 May 2001 08:59:50 +0900,

[#13300] 1.6.4 preview3 (Re: Re: Integer("X") rescue -1 が parse error) — matz@... (Yukihiro Matsumoto) 2001/05/24

[#13304] Re: 1.6.4 preview3 (Re: Re: Integer("X") rescue -1 が parse error) — "Akinori MUSHA" <knu@...> 2001/05/24

At Thu, 24 May 2001 14:15:04 +0900,

[#13428] mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...>

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

19 messages 2001/05/31
[#13435] Re: mswin32/ming32 system patch (experimental) — nobu.nakada@... 2001/06/01

なかだです。

[#13442] Re: mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...> 2001/06/01

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

[#13446] Re: mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...> 2001/06/02

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

[#13450] Re: mswin32/ming32 system patch (experimental) — nobu.nakada@... 2001/06/04

なかだです。

[ruby-dev:13397] Re: TCL_PACKAGE_PATH

From: nagai@...
Date: 2001-05-29 06:52:46 UTC
List: ruby-dev #13397
永井@知能.九工大です.

From: WATANABE Hirofumi <eban@os.rim.or.jp>
Subject: [ruby-dev:13391] TCL_PACKAGE_PATH
Date: Tue, 29 May 2001 13:52:32 +0900
Message-ID: <3716-Tue29May2001135230+0900-eban@os.rim.or.jp>
eban> Windows版Tcl/Tkにはtcl_pkgPathがないらしく、
eban> % ruby tkhello.rb
eban> /usr/local/lib/ruby/1.6/tk.rb:729:in `_invoke': can't read "tcl_pkgPath": no such variable (RuntimeError)
eban>         from /usr/local/lib/ruby/1.6/tk.rb:729
eban>         from tkhello.rb:1:in `require'
eban>         from tkhello.rb:1
eban> となってしまいます。

すみません.不注意でした.

eban> これってwindowsの環境だったら
eban>   1. とりあえずそれらしい値でTCL_PACKAGE_PATH = '/usr/local/lib'とする
eban>   2. それも変だからTCL_PACKAGE_PATH = ''とする
eban>   3. rescueしてなかったことにする
eban> のどれがいいでしょう?
eban> 
eban> 該当する行は
eban>   TCL_PACKAGE_PATH = INTERP._invoke("set", "tcl_pkgPath")
eban> です。

AUTO_PATH と TCL_PACKAGE_PATH とは変更が許されるべきですから,
この形ではまずかったです.
共に TkVariable (TkVarAccess) として扱うように変更しました.
結果,TCL_PACKAGE_PATH を value メソッドなどで参照しない限り,
例外は発生しなくなるはずです.
新たにパスを加えようとする場合,そのパスは一般に環境依存であるため,
環境に依存した例外が発生するのはやむを得ないと考えようと思いますが,
いかがでしょうか?

なお,AUTO_PATH については,ルールとして

  (1) auto_path 変数が存在するならその値
  (2) 存在しなければ env(TCLLIBPATH) の値
  (3) それも存在しなければ,info library の値

ということになっていますから,
パッチのような形でいいだろうと思います.

--
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

--- tk.rb.old	Fri Apr  6 01:27:54 2001
+++ tk.rb	Tue May 29 15:38:16 2001
@@ -665,6 +665,10 @@
   include TkCore
   extend TkPackage
 
+  def add_path(path)
+    Tk::AUTO_PATH.value = Tk::AUTO_PATH.to_a << path
+  end
+
   def forget(package)
     tk_call('package', 'forget', package)
     nil
@@ -726,9 +730,6 @@
   TK_LIBRARY  = INTERP._invoke("set", "tk_library")
   LIBRARY     = INTERP._invoke("info", "library")
 
-  TCL_PACKAGE_PATH = INTERP._invoke("set", "tcl_pkgPath")
-  AUTO_PATH = tk_split_simplelist(INTERP._invoke("set", "auto_path"))
-
   PLATFORM = Hash[*tk_split_simplelist(INTERP._eval('array get tcl_platform'))]
 
   JAPANIZED_TK = (INTERP._invoke("info", "commands", "kanji") != "")
@@ -1377,6 +1378,21 @@
       INTERP._eval(format('global %s; set %s %s', @id, @id, s))
     end
   end
+end
+
+module Tk
+  begin
+    auto_path = INTERP._invoke('set', 'auto_path')
+  rescue
+    begin
+      auto_path = INTERP._invoke('set', 'env(TCLLIBPATH)')
+    rescue
+      auto_path = Tk::LIBRARY
+    end
+  end
+  AUTO_PATH = TkVarAccess.new('auto_path', auto_path)
+
+  TCL_PACKAGE_PATH = TkVarAccess.new('tcl_pkgPath')
 end
 
 module TkSelection

In This Thread