[#21058] dRuby failed, ruby 1.8.0 preview7? — Masatoshi SEKI <m_seki@...>
咳といいます。
5 messages
2003/08/01
[#21072] __libc_ia64_register_backing_store_base — akira yamada / やまだあきら <akira@...>
5 messages
2003/08/02
[#21081] conversion from float to string — Yoshiki Wada <ysk@...5.so-net.ne.jp>
和田と申します。
8 messages
2003/08/02
[#21082] Re: conversion from float to string
— matz@... (Yukihiro Matsumoto)
2003/08/02
まつもと ゆきひろです
[#21083] Re: conversion from float to string
— Koji Arai <JCA02266@...>
2003/08/02
新井です。
[#21093] (ary - ary) preserves duplicated values — Koji Arai <JCA02266@...>
新井です。
7 messages
2003/08/03
[#21134] Re: [PATCH] Change configure to use Cygwin net release naming convention (PR#1077) — WATANABE Hirofumi <eban@...>
わたなべです。
4 messages
2003/08/05
[#21137] with-static-linked-ext — nobu.nakada@...
なかだです。
10 messages
2003/08/05
[#21140] Re: with-static-linked-ext
— nobu.nakada@...
2003/08/05
なかだです。
[#21142] Re: with-static-linked-ext
— matz@... (Yukihiro Matsumoto)
2003/08/05
まつもと ゆきひろです
[#21146] Regexp.alt(pat1, pat2, ...) — Tanaka Akira <akr@...17n.org>
提案なのですが、複数の Regexp (や String) を | でつなぐ Regexp.alt
4 messages
2003/08/05
[#21153] ChangeLog — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
12 messages
2003/08/06
[#21154] Re: ChangeLog
— matz@... (Yukihiro Matsumoto)
2003/08/06
まつもと ゆきひろです
[#21159] Re: ChangeLog
— nobu.nakada@...
2003/08/06
なかだです。
[#21160] Re: ChangeLog
— matz@... (Yukihiro Matsumoto)
2003/08/06
まつもと ゆきひろです
[#21170] soap4r to /src/ruby/lib — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
11 messages
2003/08/08
[#21176] marshalling ivtbl of Time — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
10 messages
2003/08/11
[#21475] Re: marshalling ivtbl of Time
— Tanaka Akira <akr@...17n.org>
2003/10/03
In article <1065144546.011594.19001.nullmailer@picachu.netlab.jp>,
[#21179] [BUG]net/httpでBUG — "yamamoto madoka" <dan@...2.so-net.ne.jp>
こんにちは、山本 円と申します。
8 messages
2003/08/11
[#21183] Process::UID.switch, Process::GID.switch — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
5 messages
2003/08/11
[#21216] [PATCH] reducing PUSH/POP/EXEC_TAG() for retry — nobu.nakada@...
なかだです。
4 messages
2003/08/21
[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
14 messages
2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/22
なかだです。
[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/22
まつもと ゆきひろです
[#21229] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/22
なかだです。
[#21231] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/23
まつもと ゆきひろです
[#21232] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/23
なかだです。
[#21233] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/23
まつもと ゆきひろです
[#21234] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— Koji Arai <JCA02266@...>
2003/08/23
新井です。
[#21236] Re: [ruby-cvs] ruby: * enum.c (inject_i): userb_yield_values.
— Koji Arai <JCA02266@...>
2003/08/23
新井です。
[#21237] SEGV — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
12 messages
2003/08/23
[#21259] Regexp#initialize が $SAFE==4 で落ちる — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
9 messages
2003/08/25
[#21262] Re: Regexp#initialize が $SAFE==4 で落ちる
— matz@... (Yukihiro Matsumoto)
2003/08/26
まつもと ゆきひろです
[#21264] Re: Regexp#initializeが $SAFE==4 で落ちる
— nobu.nakada@...
2003/08/26
なかだです。
[#21280] スレッド内の例外でRuby停止 — "yamamoto madoka" <dan@...2.so-net.ne.jp>
こんにちは、山本と申します。
9 messages
2003/08/29
[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
16 messages
2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応
— matz@... (Yukihiro Matsumoto)
2003/08/29
まつもと ゆきひろです
[#21288] Re: 大量メモリ消費攻撃に対する対応
— Hidetoshi NAGAI <nagai@...>
2003/08/29
永井@知能.九工大です.
[#21306] Re: 大量メモリ消費攻撃に対する対応
— matz@... (Yukihiro Matsumoto)
2003/09/03
まつもと ゆきひろです
[#21309] Re: 大量メモリ消費攻撃に対する対応
— Hidetoshi NAGAI <nagai@...>
2003/09/03
永井@知能.九工大です.
[ruby-dev:21071] Re: searching class name
From:
nobu.nakada@...
Date:
2003-08-02 03:54:47 UTC
List:
ruby-dev #21071
なかだです。
At Sat, 2 Aug 2003 12:03:49 +0900,
Masahiro Sakai (酒井政裕) wrote:
> このパッチはまだ適用されていないようですが、
> 1.8.0には入らないのでしょうか?
忘れてました。
その後の変更でこのパッチは当たらなくなってるので、作り直してみ
ました。
Index: variable.c
===================================================================
RCS file: /cvs/ruby/src/ruby/variable.c,v
retrieving revision 1.99
diff -u -2 -p -r1.99 variable.c
--- variable.c 26 Jul 2003 02:25:56 -0000 1.99
+++ variable.c 2 Aug 2003 03:35:22 -0000
@@ -21,5 +21,5 @@
static st_table *rb_global_tbl;
st_table *rb_class_tbl;
-static ID autoload;
+static ID autoload, classpath, tmp_classpath;
void
@@ -29,4 +29,6 @@ Init_var_tables()
rb_class_tbl = st_init_numtable();
autoload = rb_intern("__autoload__");
+ classpath = rb_intern("__classpath__");
+ tmp_classpath = rb_intern("__tmp_classpath__");
}
@@ -50,5 +52,5 @@ fc_path(fc, name)
if (fc->track == rb_cObject) break;
if (ROBJECT(fc->track)->iv_tbl &&
- st_lookup(ROBJECT(fc->track)->iv_tbl, rb_intern("__classpath__"), &tmp)) {
+ st_lookup(ROBJECT(fc->track)->iv_tbl, classpath, &tmp)) {
tmp = rb_str_dup(tmp);
rb_str_cat2(tmp, "::");
@@ -132,5 +134,6 @@ find_class_path(klass)
ROBJECT(klass)->iv_tbl = st_init_numtable();
}
- st_insert(ROBJECT(klass)->iv_tbl,rb_intern("__classpath__"),arg.path);
+ st_insert(ROBJECT(klass)->iv_tbl, classpath, arg.path);
+ st_delete(RCLASS(klass)->iv_tbl, &tmp_classpath, 0);
return arg.path;
}
@@ -143,5 +146,4 @@ classname(klass)
{
VALUE path = Qnil;
- ID classpath = rb_intern("__classpath__");
klass = rb_class_real(klass);
@@ -152,5 +154,5 @@ classname(klass)
if (!st_lookup(ROBJECT(klass)->iv_tbl, classid, &path)) {
- return Qnil;
+ return find_class_path(klass);
}
path = rb_str_new2(rb_id2name(SYM2ID(path)));
@@ -163,5 +165,5 @@ classname(klass)
return path;
}
- return Qnil;
+ return find_class_path(klass);
}
@@ -183,17 +185,11 @@ rb_class_path(klass)
if (!NIL_P(path)) return path;
+ if (RCLASS(klass)->iv_tbl && st_lookup(RCLASS(klass)->iv_tbl,
+ tmp_classpath, &path)) {
+ return path;
+ }
else {
- ID tmppath = rb_intern("__tmp_classpath__");
char *s = "Class";
- path = find_class_path(klass);
- if (!NIL_P(path)) {
- st_delete(RCLASS(klass)->iv_tbl, (st_data_t*)&tmppath, 0);
- return path;
- }
- if (RCLASS(klass)->iv_tbl && st_lookup(RCLASS(klass)->iv_tbl, tmppath, &path)) {
- return path;
- }
-
if (TYPE(klass) == T_MODULE) {
if (rb_obj_class(klass) == rb_cModule) {
@@ -207,5 +203,5 @@ rb_class_path(klass)
sprintf(RSTRING(path)->ptr, "#<%s:0x%lx>", s, klass);
RSTRING(path)->len = strlen(RSTRING(path)->ptr);
- rb_iv_set(klass, "__tmp_classpath__", path);
+ rb_ivar_set(klass, tmp_classpath, path);
return path;
@@ -228,5 +224,5 @@ rb_set_class_path(klass, under, name)
rb_str_cat2(str, name);
}
- rb_iv_set(klass, "__classpath__", str);
+ rb_ivar_set(klass, classpath, str);
}
@@ -256,6 +252,5 @@ rb_path2class(path)
if (!rb_const_defined(c, id)) {
undefined_class:
- rb_raise(rb_eArgError, "undefined class/module %s", rb_id2name(id));
- rb_raise(rb_eArgError, "undefined class/module %s", path);
+ rb_raise(rb_eArgError, "undefined class/module %.*s", p-path, path);
}
c = rb_const_get_at(c, id);
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦