[#31928] securerandom.rb for 1.8 — Tanaka Akira <akr@...>

securerandom.rb を 1.8 に追加し、cgi/session.rb に使わせたい

18 messages 2007/10/03
[#31990] Re: securerandom.rb for 1.8 — "Akinori MUSHA" <knu@...> 2007/10/09

At Wed, 3 Oct 2007 12:49:20 +0900,

[#31992] Re: securerandom.rb for 1.8 — Tanaka Akira <akr@...> 2007/10/09

In article <86k5pwinco.knu@iDaemons.org>,

[#31993] Re: securerandom.rb for 1.8 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/09

-----BEGIN PGP SIGNED MESSAGE-----

[#31936] Rake添付 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

21 messages 2007/10/04
[#31937] Re: Rake添付 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/04

-----BEGIN PGP SIGNED MESSAGE-----

[#31938] Re: Rake添付 — Yukihiro Matsumoto <matz@...> 2007/10/04

まつもと ゆきひろです

[#31941] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...>

前田です。

20 messages 2007/10/04
[#31943] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/05

-----BEGIN PGP SIGNED MESSAGE-----

[#31945] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/05

前田です。

[#31948] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/05

-----BEGIN PGP SIGNED MESSAGE-----

[#31952] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/05

前田です。

[#31956] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — GOTOU Yuuzou <gotoyuzo@...> 2007/10/06

In message <47063403.3070402@ruby-lang.org>,

[#31960] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — GOTOU Yuuzou <gotoyuzo@...> 2007/10/07

In message <20071006.101915.596518898.gotoyuzo@sawara.priv.tokyo.netlab.jp>,

[#31980] multibyte string/regex literal with escape sequence — "U.Nakamura" <usa@...>

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

24 messages 2007/10/09
[#31981] Re: multibyte string/regex literal with escape sequence — Yukihiro Matsumoto <matz@...> 2007/10/09

まつもと ゆきひろです

[#31983] Re: multibyte string/regex literal with escape sequence — "U.Nakamura" <usa@...> 2007/10/09

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

[#31984] Re: multibyte string/regex literal with escape sequence — Yukihiro Matsumoto <matz@...> 2007/10/09

まつもと ゆきひろです

[#31986] Re: multibyte string/regex literal with escape sequence — "U.Nakamura" <usa@...> 2007/10/09

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

[#31987] Re: multibyte string/regex literal with escape sequence — Yukihiro Matsumoto <matz@...> 2007/10/09

まつもと ゆきひろです

[#32003] Re: multibyte string/regex literal with escape sequence — "U.Nakamura" <usa@...> 2007/10/10

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

[#32133] undefined method `now' for DateTime:Class (NoMethodError) — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

12 messages 2007/10/23
[#32135] Re: undefined method `now' for DateTime:Class (NoMethodError) — tadf@... 2007/10/23

どういう状況かよくわかってないのですが、いっそ必ず date 丸ごと読むようにするか、

[#32136] Re: undefined method `now' for DateTime:Class (NoMethodError) — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

-----BEGIN PGP SIGNED MESSAGE-----

[ruby-dev:32111] Re: unsupported: th_call0 in 1.9

From: "KUBO Takehiro" <kubo@...>
Date: 2007-10-20 15:45:46 UTC
List: ruby-dev #32111
久保です。

> > KUBO Takehiro wrote in [ruby-dev:30396]:
> > > ruby 1.9 で以下の条件のとき、[BUG] unsupported: th_call0 となりました。
> > >
> > > 1. private なメソッドをサブクラスで public にする。
> > > 2. 拡張ライブラリからサブクラスで public にしたメソッドを rb_funcall
> > >    で呼び出す。

8ヶ月前のメールですが、この件、ずっと困っていたので proc.c の mnew()
を参考にパッチを作りました。 [ruby-dev:30396]の試験プログラムは動くよ
うになりました。

scope  の扱いの部分が自信ないのですが、NODE_ZSUPER のときは、親
クラスのメソッドの scope ではなく、NODE_ZSUPER 自身の scope で
もってチェックしたほうが良いのではと思い、最初に見付かったメソッド
の noex を使用するようにしました。

以下、パッチです。
===================================================================
--- eval.c	(revision 13745)
+++ eval.c	(working copy)
@@ -1358,6 +1358,7 @@
 rb_call(VALUE klass, VALUE recv, ID mid, int argc, const VALUE *argv,
int scope)
 {
     NODE *body, *method;
+    int noex_is_set = 0;
     int noex;
     ID id = mid;
     struct cache_entry *ent;
@@ -1368,6 +1369,7 @@
 		 "method `%s' called on terminated object (%p)",
 		 rb_id2name(mid), (void *)recv);
     }
+  again:
     /* is it in the method cache? */
     ent = cache + EXPR1(klass, mid);

@@ -1376,12 +1378,18 @@
 	    return method_missing(recv, mid, argc, argv,
 				  scope == 2 ? NOEX_VCALL : 0);
 	id = ent->mid0;
-	noex = ent->method->nd_noex;
+	if (!noex_is_set) {
+	    noex = ent->method->nd_noex;
+	    noex_is_set = 1;
+	}
 	klass = ent->method->nd_clss;
 	body = ent->method->nd_body;
     }
-    else if ((method = rb_get_method_body(klass, id, &id)) != 0) {
-	noex = method->nd_noex;
+    else if ((method = rb_get_method_body(klass, mid, &id)) != 0) {
+	if (!noex_is_set) {
+	    noex = method->nd_noex;
+	    noex_is_set = 1;
+	}
 	klass = method->nd_clss;
 	body = method->nd_body;
     }
@@ -1392,7 +1400,10 @@
 	return method_missing(recv, mid, argc, argv,
 			      scope == 2 ? NOEX_VCALL : 0);
     }
-
+    if (nd_type(body) == NODE_ZSUPER) {
+	klass = RCLASS_SUPER(klass);
+	goto again;
+    }

     if (mid != missing) {
 	/* receiver specified form for private method */

In This Thread