[#21296] test and sample directory — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
5 messages
2003/09/01
[#21325] illegal member in %w array — kkosako@...
%w配列で、継続行の先頭が空白のときに
5 messages
2003/09/04
[#21337] Re: illegal member in %w array — kkosako@...
> From: matz@ruby-lang.org [mailto:matz@ruby-lang.org]
12 messages
2003/09/04
[#21339] Re: illegal member in %w array
— matz@... (Yukihiro Matsumoto)
2003/09/04
まつもと ゆきひろです
[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
21 messages
2003/09/04
[#21346] Re: $SAFE=4 での autoload
— nobu.nakada@...
2003/09/04
なかだです。
[#21359] Re: $SAFE=4 での autoload
— Hidetoshi NAGAI <nagai@...>
2003/09/05
永井@知能.九工大です.
[#21361] Re: $SAFE=4 での autoload
— matz@... (Yukihiro Matsumoto)
2003/09/06
まつもと ゆきひろです
[#21363] Re: $SAFE=4 でのautoload
— nobu.nakada@...
2003/09/08
なかだです。
[#21364] Re: $SAFE=4 でのautoload
— matz@... (Yukihiro Matsumoto)
2003/09/08
まつもと ゆきひろです
[#21369] ext/openssl on mswin32 — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
4 messages
2003/09/10
[#21384] LocalJumpError -> ThreadError — Masatoshi Seki <m_seki@...>
12 messages
2003/09/16
[#21385] Re: LocalJumpError -> ThreadError
— matz@... (Yukihiro Matsumoto)
2003/09/16
まつもと ゆきひろです
[#21386] Re: LocalJumpError -> ThreadError
— Masatoshi Seki <m_seki@...>
2003/09/16
咳といいます。
[#21388] Re: LocalJumpError -> ThreadError
— matz@... (Yukihiro Matsumoto)
2003/09/17
まつもと ゆきひろです
[#21389] Re: LocalJumpError -> ThreadError
— m_seki@...
2003/09/17
[#21403] Building 1.8.0 on Solaris with Sun CC — Masahiro TANAKA <masa@...>
9 messages
2003/09/22
[#21405] Re: Building 1.8.0 on Solaris with Sun CC
— 桑村慎哉 <kuwa@...>
2003/09/25
桑村です。
[#21414] deferred finalizers — nobu.nakada@...
なかだです。
5 messages
2003/09/26
[#21415] 定数のスコープ — akira yamada <akira@...>
8 messages
2003/09/26
[#21416] warnの戻り値 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
8 messages
2003/09/26
[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
15 messages
2003/09/28
[#21422] Re: Makefile.inのlex.c
— matz@... (Yukihiro Matsumoto)
2003/09/28
まつもと ゆきひろです
[#21434] break from block yielded in until — Minero Aoki <aamine@...>
青木です。
13 messages
2003/09/29
[#21439] Re: break from block yielded in until
— Tietew <tietew-ml-ruby-dev@...>
2003/09/30
[#21442] Re: break from block yielded in until
— matz@... (Yukihiro Matsumoto)
2003/09/30
まつもと ゆきひろです
[ruby-dev:21359] Re: $SAFE=4 での autoload
From:
Hidetoshi NAGAI <nagai@...>
Date:
2003-09-05 16:22:02 UTC
List:
ruby-dev #21359
永井@知能.九工大です.
From: nobu.nakada@nifty.ne.jp
Subject: [ruby-dev:21346] Re: $SAFE=4 での autoload
Date: Thu, 4 Sep 2003 23:34:31 +0900
Message-ID: <200309041434.h84EYVRG018001@sharui.nakada.kanuma.tochigi.jp>
> そうすると、requireはautoloadを呼び出したときの$SAFEで実行すべ
> きでしょうか。もしそうだとすれば、今はすでにautoloadされている
> 定数をさらにautoloadしようとしても何も変わりませんが、違う$SAFE
> で呼ばれたときにはどっちを優先すべきなんでしょう。
autoload を呼んで対応付けをしたときの $SAFE とすべきではないかと
思うのですが,何かまずいでしょうか.
autoload は「ここで require してもいいんだけど,それに含まれる機能を
使わないのならば読み込まなくても問題がないので,資源節約のためにも
必要だと言われるときまで読み込みは保留しましょう」というものだと
解釈しています.
ですので,最後に autoload の対応付けがなされた時点での $SAFE で良いと
考えます.
また,別メールの件になりますが,
From: matz@ruby-lang.org (Yukihiro Matsumoto)
Subject: [ruby-dev:21347] Re: $SAFE=4 での autoload
Date: Fri, 5 Sep 2003 00:16:41 +0900
Message-ID: <1062688599.143258.32475.nullmailer@picachu.netlab.jp>
> 以前、requireは$SAFE=1で実行すれば良いのだと思ったことを記憶
> しています。で、実際にそうしてたつもりなんですが、autoloadで
> は動いてなかったということなんでしょうか。
については,
---< hoge.rb >-----------
p $SAFE
-------------------------
としたとき,
-------------------------
require 'hoge.rb'
-------------------------
も
-------------------------
$SAFE = 2
require 'hoge.rb'
-------------------------
も
-------------------------
file = 'hoge.rb'
$SAFE = 3
require file
-------------------------
も,すべて 0 が出力されますから,
$SAFE=0 で実行されているように見えます.
# ruby 1.8.0 (2003-09-05) [i686-linux] での結果です.
で,話は変わりますが,
> @@ -6068,4 +6081,16 @@ rb_require(fname)
> }
>
> +VALUE
> +rb_require_autoload(file, klass, id)
> + VALUE file, klass;
> + ID id;
> +{
> + PUSH_FRAME();
> + ruby_frame->last_class = klass;
> + ruby_frame->last_func = id;
> + rb_f_require(Qnil, file);
> + POP_FRAME();
> +}
> +
> static void
> secure_visibility(self)
これの
---------------------------------------
> + ruby_frame->last_func = id;
---------------------------------------
の部分ですが,
---------------------------------------
ruby_frame->last_func = rb_to_id(rb_str_plus(rb_str_new2("(autoload):"),
rb_str_new2(rb_id2name(id))));
---------------------------------------
とするのはどうでしょうか.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp