[#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:13126] Re: instance_eval のバグ

From: nobu.nakada@...
Date: 2001-05-07 09:27:18 UTC
List: ruby-dev #13126
なかだです。

At Mon, 7 May 2001 16:18:13 +0900,
Shugo Maeda <shugo@ruby-lang.org> wrote:
> > volatileを使ってもだめでしょうか。
> 
> すみません、読み違えてました。

  え、私も volatile でいいはずと思ってたんですが、なにか問題あ
るでしょうか。

  それと、無名のクラス/モジュールに対する rb_class2name()も同じ
問題があるような気もしますが。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.174
diff -u -2 -p -r1.174 eval.c
--- eval.c	2001/05/06 15:01:58	1.174
+++ eval.c	2001/05/07 05:26:01
@@ -4866,5 +4866,6 @@ rb_f_eval(argc, argv, self)
     VALUE self;
 {
-    VALUE src, scope, vfile, vline;
+    VALUE src, scope, vline;
+    volatile VALUE vfile;
     char *file = "(eval)";
     int line = 1;
@@ -5024,5 +5025,5 @@ specific_eval(argc, argv, klass, self)
 	char *file = "(eval)";
 	int   line = 1;
-	VALUE src = argv[0];
+	volatile VALUE src;
 
 	if (argc == 0) {
@@ -5030,4 +5031,5 @@ specific_eval(argc, argv, klass, self)
 	}
 	else {
+	    src = argv[0];
 	    if (ruby_safe_level >= 4) {
 		StringValue(src);
@@ -5204,4 +5206,5 @@ rb_feature_p(feature, wait)
 {
     VALUE *p, *pend;
+    volatile VALUE v;
     char *f;
     int len;
@@ -5210,5 +5213,5 @@ rb_feature_p(feature, wait)
     pend = p + RARRAY(rb_features)->len;
     while (p < pend) {
-	VALUE v = *p;
+	v = *p;
 	f = StringValuePtr(v);
 	if (strcmp(f, feature) == 0) {
Index: file.c
===================================================================
RCS file: /cvs/ruby/src/ruby/file.c,v
retrieving revision 1.54
diff -u -2 -p -r1.54 file.c
--- file.c	2001/05/02 04:22:10	1.54
+++ file.c	2001/05/07 08:13:14
@@ -1304,9 +1304,7 @@ rb_file_s_expand_path(argc, argv)
     char *s, *p;
     char buf[MAXPATHLEN+2];
-    int tainted;
 
     rb_scan_args(argc, argv, "11", &fname, &dname);
 
-    tainted = OBJ_TAINTED(fname);
     s = StringValuePtr(fname);
     p = buf;
@@ -1420,7 +1418,7 @@ rb_file_s_expand_path(argc, argv)
     *p = '\0';
 
-    fname = rb_str_new2(buf);
-    if (tainted) OBJ_TAINT(fname);
-    return fname;
+    dname = rb_str_new2(buf);
+    OBJ_INFECT(dname, fname);
+    return dname;
 }
 
@@ -2207,6 +2205,5 @@ rb_find_file(file)
 {
     extern VALUE rb_load_path;
-    volatile VALUE vpath;
-    VALUE fname;
+    volatile VALUE vpath, fname;
     char *path;
     struct stat st;
Index: io.c
===================================================================
RCS file: /cvs/ruby/src/ruby/io.c,v
retrieving revision 1.84
diff -u -2 -p -r1.84 io.c
--- io.c	2001/05/06 15:01:59	1.84
+++ io.c	2001/05/07 09:08:18
@@ -1695,5 +1695,6 @@ rb_io_popen(str, argc, argv, klass)
 {
     char *mode;
-    VALUE pname, pmode, port;
+    VALUE pname, port;
+    volatile VALUE pmode;
 
     if (rb_scan_args(argc, argv, "11", &pname, &pmode) == 1) {
@@ -1742,5 +1743,6 @@ rb_file_s_open(argc, argv, klass)
     VALUE klass;
 {
-    VALUE fname, vmode, file, perm;
+    VALUE file, perm;
+    volatile VALUE fname, vmode;
     char *path, *mode;
 
@@ -1902,5 +1904,5 @@ rb_io_reopen(argc, argv, file)
     VALUE file;
 {
-    VALUE fname, nmode;
+    volatile VALUE fname, nmode;
     char *mode;
     OpenFile *fptr;
@@ -2399,5 +2401,6 @@ rb_file_initialize(argc, argv, io)
     VALUE io;
 {
-    VALUE fname, vmode, file, perm;
+    VALUE file, perm;
+    volatile VALUE fname, vmode;
     char *path, *mode;
 
Index: object.c
===================================================================
RCS file: /cvs/ruby/src/ruby/object.c,v
retrieving revision 1.47
diff -u -2 -p -r1.47 object.c
--- object.c	2001/05/02 04:22:11	1.47
+++ object.c	2001/05/07 08:13:11
@@ -957,6 +957,8 @@ rb_Float(val)
 	    char *q, *p, *end;
 	    double d;
+	    volatile VALUE str;
 
 	    q = p = StringValuePtr(val);
+	    str = val;
 	    while (*p && ISSPACE(*p)) p++;
 	  again:
Index: struct.c
===================================================================
RCS file: /cvs/ruby/src/ruby/struct.c,v
retrieving revision 1.21
diff -u -2 -p -r1.21 struct.c
--- struct.c	2001/05/02 04:22:11	1.21
+++ struct.c	2001/05/07 05:54:24
@@ -159,4 +159,5 @@ make_struct(name, member, klass)
     else {
 	char *cname = StringValuePtr(name);
+	volatile VALUE namestr = name;
 	id = rb_intern(cname);
 	if (!rb_is_const_id(id)) {
Index: variable.c
===================================================================
RCS file: /cvs/ruby/src/ruby/variable.c,v
retrieving revision 1.33
diff -u -2 -p -r1.33 variable.c
--- variable.c	2001/05/02 04:22:11	1.33
+++ variable.c	2001/05/07 05:55:07
@@ -248,5 +248,6 @@ rb_autoload(klass, filename)
 VALUE
 rb_f_autoload(obj, klass, file)
-    VALUE obj, klass, file;
+    VALUE obj, klass;
+    volatile VALUE file;
 {
     rb_autoload_id(rb_to_id(klass), StringValuePtr(file));
Index: ext/socket/socket.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/socket/socket.c,v
retrieving revision 1.42
diff -u -2 -p -r1.42 socket.c
--- ext/socket/socket.c	2001/05/06 15:03:48	1.42
+++ ext/socket/socket.c	2001/05/07 08:13:03
@@ -1802,5 +1802,5 @@ sock_s_getservbyaname(argc, argv)
     VALUE *argv;
 {
-    VALUE service, protocol;
+    volatile VALUE service, protocol;
     char *proto;
     struct servent *sp;
cvs diff: Diffing ext/tcltklib
Index: ext/tcltklib/tcltklib.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/tcltklib/tcltklib.c,v
retrieving revision 1.7
diff -u -2 -p -r1.7 tcltklib.c
--- ext/tcltklib/tcltklib.c	2001/05/06 15:04:02	1.7
+++ ext/tcltklib/tcltklib.c	2001/05/07 08:12:55
@@ -344,5 +344,5 @@ ip_invoke_real(argc, argv, obj)
     VALUE obj;
 {
-    VALUE v;
+    volatile VALUE v;
     struct tcltkip *ptr;	/* tcltkip data struct */
     int i;
@@ -375,5 +375,5 @@ ip_invoke_real(argc, argv, obj)
 	    VALUE v = argv[i];
 	    s = StringValuePtr(v);
-	    ov[i] = Tcl_NewStringObj(s, RSTRING(s)->len);
+	    ov[i] = Tcl_NewStringObj(s, RSTRING(v)->len);
 	    Tcl_IncrRefCount(ov[i]);
 	}


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread