[#1381] bound method — shugo@... (Shugo Maeda)

前田です。

21 messages 1998/02/04
[#1383] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1384] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

けいじゅ@日本ラショナルソフトウェアです.

[#1385] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1387] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

けいじゅ@日本ラショナルソフトウェアです.

[#1388] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1389] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

けいじゅ@日本ラショナルソフトウェアです.

[#1396] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/06

まつもと ゆきひろです

[#1410] GD — Masao Kanemitsu <masao-k@...>

30 messages 1998/02/10
[#1411] Re: GD — matz@... (Yukihiro Matsumoto) 1998/02/10

まつもと ゆきひろです

[#1413] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1417] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100623.PAA03533@eban.ase.ptg.sony.co.jp> の、

[#1420] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1426] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100733.QAA04028@eban.ase.ptg.sony.co.jp> の、

[#1428] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1429] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100757.QAA04212@eban.ase.ptg.sony.co.jp> の、

[#1431] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1434] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/12

<199802100952.SAA04346@eban.ase.ptg.sony.co.jp> の、

[#1435] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/12

わたなべです.

[#1436] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/12

<199802120449.NAA00398@eban.ase.ptg.sony.co.jp> の、

[ruby-dev:1536] return_value patch (Re: Mutex/ConditionVariable/Queue)

From: matz@... (Yukihiro Matsumoto)
Date: 1998-02-25 09:11:16 UTC
List: ruby-dev #1536
まつもと ゆきひろです

ruby-listからもってきました.

In message "[ruby-list:6762] Re: Mutex/ConditionVariable/Queue"
    on 98/02/25, Yukihiro Matsumoto <matz@netlab.co.jp> writes:

|まつもと ゆきひろです

|前田さんに最新のeval.cを送り付けてみましょう.

ええと,送り付けた後分かったことがいくつかあります

  * (私信)前田さんに送ったものには統計用の妙なコードがくっつ
    いてます.実行後変なものが出力されますが,無視して下さい.

  * 公開していないreturn_value(cf.[ruby-list:6701])パッチを
    当てないとこの問題は解決しないようです.

というわけで,このパッチも当ててみて下さい.

diff -u -1 -r1.1.1.2.2.12 eval.c
--- eval.c	1998/02/18 01:56:34	1.1.1.2.2.12
+++ eval.c	1998/02/25 09:04:06
@@ -453,2 +453,4 @@
 #define POP_TAG()			\
+    if (_tag.prev)			\
+        _tag.prev->retval = _tag.retval;\
     prot_tag = _tag.prev;		\
@@ -1396,3 +1398,5 @@
 
-static void return_value _((VALUE val));
+static void return_check _((void));
+#define return_value(v) prot_tag->retval = (v)
+
 static VALUE
@@ -1762,2 +1771,3 @@
 	}
+	return_check();
 	JUMP_TAG(TAG_RETURN);
@@ -5930,10 +5968,8 @@
 static void
-return_value(val)
-    VALUE val;
+return_check()
 {
     struct tag *tt = prot_tag;
-	    
+
     while (tt) {
 	if (tt->tag == PROT_FUNC) {
-	    tt->retval = val;
 	    break;
@@ -5942,3 +5978,3 @@
 	if (tt->tag == PROT_THREAD) {
-	    Raise(eThreadError, "return from within thread 0x%x\n",
+	    Raise(eThreadError, "return from within thread 0x%x",
 		  curr_thread);
@@ -5949,2 +5985 @@
 }
-

In This Thread

Prev Next