[#21482] begin/rescue/else syntax is broken — akira yamada <akira@...>
[#21498] test/ChangeLog ? lib/ChangeLog — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21499] File#path on closed file. — Tanaka Akira <akr@...17n.org>
ふと、
そういえば、
まつもと ゆきひろです
[#21508] eval BEGIN/END at runtime — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
なひです。
新井です。
[#21511] return value of freeze — Tanaka Akira <akr@...17n.org>
ふと、freeze を使って思ったのですが、これの返値は何なんでしょうか?
[#21531] O_ACCMODE — Tanaka Akira <akr@...17n.org>
POSIX において fcntl.h に定義されている、O_ACCMODE が欲しくなったので
西山和広です。
In article <20031007220838.CC51.ZN@mbf.nifty.com>,
[#21543] Enumerator — "Akinori MUSHA" <knu@...>
1.8.0 のtきは標準ライブラリ入りについて異論はなかったものの
新井です。
[#21556] rewinding for Thread — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#21557] at_exist and safe level — Tanaka Akira <akr@...17n.org>
% ruby -ve '$SAFE = x = 1; at_exit { p $SAFE; p x }'
[#21572] core dump in rb_thread_schedule — Tanaka Akira <akr@...17n.org>
今日、cvs update したら、rb_thread_schedule で core を吐くようになったのですが、
まつもと ゆきひろです
なかだです。
In article <200310090901.h9991gfA004660@sharui.nakada.kanuma.tochigi.jp>,
In article <87ekxmojwc.fsf@serein.a02.aist.go.jp>,
[#21590] extend with marshal_dump/marshal_load — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21607] autoload の patch は取り込まれないんでしょうか? — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#21616] access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
まつもと ゆきひろです
[#21632] SEGV (test_drb.rb) — Masatoshi Seki <m_seki@...>
咳といいます。
[#21639] load() blocks thread scheduling — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
まつもと ゆきひろです
[#21641] SOAP::StreamError: Illegal media type. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです。
[#21679] Proposal: string literal concatenation — mput <root@...>
mput です。
[#21682] ruby-tk hangs when exception is raised — akira yamada <akira@...>
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
[#21707] drb Hash#each — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#21730] exit in $SAFE = 4 with -d — Tanaka Akira <akr@...17n.org>
% ruby -de 'lambda { $SAFE = 4; exit }.call; p 1'
[#21747] ruby 1.8.1 preview1 schedule — matz@... (Yukihiro Matsumoto)
関係者各位、
Siena. です。
なかだです。
Siena. です。
なかだです。
[#21778] IOError while building on Solaris with Sun cc — 桑村慎哉 <kuwa@...>
桑村です。
まつもと ゆきひろです
[#21790] ruby 1.8.1 preview1 — matz@... (Yukihiro Matsumoto)
It's out.
取り敢えず、NetBSD currentでの状況です。pkgsrc的なことは特にせず、ある
[#21794] ruby-1.8.1-preview2 での rb_iter_break — Kenta MURATA <muraken2@...>
むらけんです.
[ruby-dev:21665] Re: access ENV on $SAFE==4
永井@知能.九工大です.
From: Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
Subject: [ruby-dev:21660] Re: access ENV on $SAFE==4
Date: Tue, 21 Oct 2003 10:28:18 +0900
Message-ID: <20031021.102817.41651656.nagai@ai.kyutech.ac.jp>
> From: matz@ruby-lang.org (Yukihiro Matsumoto)
> Subject: [ruby-dev:21658] Re: access ENV on $SAFE==4
> Date: Tue, 21 Oct 2003 08:04:29 +0900
> Message-ID: <1066691066.285006.16960.nullmailer@picachu.netlab.jp>
> > このリストを見て、どこまでをどう潰すかってのは意外に難しいの
> > だなあと感じました。$LOAD_PATHはglobal variableですからhook
> > をかけるだけで対応できそうですが、RUBY_PLATFORMを$SAFE>=4で
> > だけ見せないようにする方法とかすぐには思いつきません。
> Ruby/Tk でこの問題に気付いたときに,互換性を維持しつつ
> Tk::PLATFORM などを safe-Tk からアクセスできなくするのを
> どうすべきかで少し悩みました.
> で,結局は const_missing を使うことで回避したわけですが,
> RUBY_PLATFORM の場合はそうもいかないのでしょうね.
同じ方法を RUBY_PLATFORM に適用するなら,
patch に示したような感じです.
# 見ての通り,効果を確認するだけのいいかげんなものです.
で,この patch の場合,次のようになります.
$ /usr/local/bin/irb
irb(main):001:0> p RUBY_PLATFORM
"i686-linux"
=> nil
irb(main):002:0> p Thread.new{$SAFE=4;RUBY_PLATFORM}.value
SecurityError: Insecure operation `irb_binding' at level 4
from (irb):2
from (irb):2:in `value'
from (irb):2
irb(main):003:0> p Thread.new{$SAFE=3;RUBY_PLATFORM}.value
"i686-linux"
=> nil
Index: variable.c
===================================================================
RCS file: /src/ruby/variable.c,v
retrieving revision 1.107
diff -u -r1.107 variable.c
--- variable.c 13 Oct 2003 14:57:36 -0000 1.107
+++ variable.c 21 Oct 2003 08:41:41 -0000
@@ -1298,6 +1298,13 @@
goto retry;
}
+ /*############*/
+ if (id == rb_intern("RUBY_PLATFORM") || id == rb_intern("PLATFORM")) {
+ rb_secure(4);
+ return rb_obj_freeze(rb_str_new2(RUBY_PLATFORM));
+ }
+ /*############*/
+
return const_missing(klass, id);
}
Index: version.c
===================================================================
RCS file: /src/ruby/version.c,v
retrieving revision 1.8
diff -u -r1.8 version.c
--- version.c 16 Jan 2003 07:34:03 -0000 1.8
+++ version.c 21 Oct 2003 08:41:41 -0000
@@ -19,16 +19,16 @@
{
VALUE v = rb_obj_freeze(rb_str_new2(RUBY_VERSION));
VALUE d = rb_obj_freeze(rb_str_new2(RUBY_RELEASE_DATE));
- VALUE p = rb_obj_freeze(rb_str_new2(RUBY_PLATFORM));
+ /* VALUE p = rb_obj_freeze(rb_str_new2(RUBY_PLATFORM)); */
rb_define_global_const("RUBY_VERSION", v);
rb_define_global_const("RUBY_RELEASE_DATE", d);
- rb_define_global_const("RUBY_PLATFORM", p);
+ /* rb_define_global_const("RUBY_PLATFORM", p); */
/* obsolete constants */
rb_define_global_const("VERSION", v);
rb_define_global_const("RELEASE_DATE", d);
- rb_define_global_const("PLATFORM", p);
+ /* rb_define_global_const("PLATFORM", p); */
}
void
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp