[#26664] refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

22 messages 2005/08/01
[#26665] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26668] Re: refactoring tcltklib.c (deleted ip check) — Hidetoshi NAGAI <nagai@...> 2005/08/01

永井@知能.九工大です.

[#26678] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26684] Re: refactoring tcltklib.c (deleted ip check) — Hidetoshi NAGAI <nagai@...> 2005/08/01

永井@知能.九工大です.

[#26686] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26817] test/socket/test_tcp.rb freeze on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

12 messages 2005/08/18

[#26829] cannot check EOF of pipe on windows — "U.Nakamura" <usa@...>

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

19 messages 2005/08/19
[#26830] Re: cannot check EOF of pipe on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/19

山本です。

[#26831] Re: cannot check EOF of pipe on windows — "U.Nakamura" <usa@...> 2005/08/19

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

[#26832] Re: cannot check EOF of pipe on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/19

山本です。

[#26836] Re: cannot check EOF of pipe on windows — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/19

なかだです。

[#26872] irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...>

Debianユーザからruby -Iとirb -Iで

17 messages 2005/08/24
[#26873] Re: irb -I/ruby -Iと$LOAD_PATH — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/24

なかだです。

[#26875] Re: irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...> 2005/08/24

nobuyoshi nakada wrote:

[#26885] Re: irb -I/ruby -Iと$LOAD_PATH — keiju@... (石塚圭樹) 2005/08/26

けいじゅ@いしつかです.

[#26897] fail on make install — KIMURA Koichi <kimura.koichi@...>

木村です。

28 messages 2005/08/29
[#26898] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/29

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

[#26903] Re: fail on make install — KIMURA Koichi <kbk@...> 2005/08/29

木村です。

[#26922] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/30

木村です。

[#26926] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/31

木村です。

[#26927] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/31

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

[#26928] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/31

木村です。

[#26929] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/31

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

[#26930] Re: fail on make install — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/31

なかだです。

[#26931] Re: fail on make install — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/31

山本です。

[#26933] Re: fail on make install — nobu@... 2005/08/31

なかだです。

[#26938] Re: fail on make install — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/09/01

なかだです。

[#26939] Re: fail on make install — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/01

山本です。

[#26900] multiplying empty string — nobuyoshi nakada <nobuyoshi.nakada@...>

19 messages 2005/08/29
[#26904] Re: multiplying empty string — Yukihiro Matsumoto <matz@...> 2005/08/29

まつもと ゆきひろです

[#26907] Re: multiplying empty string — Tanaka Akira <akr@...17n.org> 2005/08/29

In article <1125327516.070646.12845.nullmailer@x31.priv.netlab.jp>,

[#26909] Re: multiplying empty string — Yukihiro Matsumoto <matz@...> 2005/08/29

まつもと ゆきひろです

[ruby-dev:26781] Re: some questions about tcltklib.c

From: Hidetoshi NAGAI <nagai@...>
Date: 2005-08-10 01:35:34 UTC
List: ruby-dev #26781
永井@知能.九工大です.

From: H.Yamamoto <ocean@m2.ccsnet.ne.jp>
Subject: [ruby-dev:26769] Re: some questions about tcltklib.c
Date: Tue, 9 Aug 2005 16:38:00 +0900
Message-ID: <20050809163759.7CAC2900.ocean@m2.ccsnet.ne.jp>
> treectrl のデモが動くようになりました。rb_jump_tag の件ですが、
    (snip)
> の error: の部分に来るようなサンプルを作って確かめようと思ったのですが、
    (snip)
> のいずれも TAG_RAISE として返ってくるようで、うまくいきませんでした。
> error: の部分に来るようなサンプルを提示していただけると助かります。

TAG_RETURN, TAG_BREAK, TAG_NEXT のすべての例は示せません.
実は私もすべてのケースは発生できてはいません.
ただし TAG_NEXT だけは,例えば次の例で error: の部分を通り,
その位置で Tcl の continue を実行したのと同様に働きます. 

TkCore::INTERP._eval('foreach i {1 2 3} {puts $i; ruby {puts :fuga; next; puts :hoge}; puts $i}')

これの next を break に変更した場合は,期待した通り(?)に
その位置で Tcl の break を実行したかのように動くのですが,
ここの error: の部分は通りません.

また,next を return にした場合は別の例外発生です.

なお,
module A
  def A.hoge
    puts :hoge; next; puts :fuga
  end
end
などとして
TkCore::INTERP._eval('foreach i {1 2 3} {puts $i; ruby_cmd A hoge; puts $i}')
とした場合も,error: の部分は通りませんが
その位置で Tcl の continue を実行したのと同様に働きます.

真面目に調べればこの部分すべてがうまく働くようにする方法や例も
あるのかもしれません.
また,考えてみるに pending_exception_check1 に

            if (ptr->return_value == TCL_RETURN) {
                rb_jump_tag(TAG_RETURN);
            } else if (ptr->return_value == TCL_BREAK) {
                rb_jump_tag(TAG_BREAK);
            } else if (ptr->return_value == TCL_CONTINUE) {
                rb_jump_tag(TAG_NEXT);
            }

を追加しておくというのも「あり」という気がします.
# ...というか,これは加えておく方が安全策かも.

ですが要求されるケースは,例のようにかなり特殊であり,
他の部分との絡みもあって TAG_RETURN を除いては
それなりに期待されたようには働いているので,
まぁ,あまり追求する必要もないかなと思ってます.

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

In This Thread