[#45906] ' failures. — Tanaka Akira <akr@...>
' の扱いが変化したことで、テストが失敗しているようです。
9 messages
2012/07/04
[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>
24 messages
2012/07/04
[#45928] Re: [ruby-cvs:43524] kosaki:r36348 (trunk): * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP complely. It is — SASADA Koichi <ko1@...>
ささだです.
3 messages
2012/07/09
[#45973] [ruby-trunk - Bug #6751][Assigned] remove tempfiles early. — "akr (Akira Tanaka)" <akr@...>
4 messages
2012/07/18
[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
9 messages
2012/07/20
[#45977] [ruby-trunk - Feature #6757][Open] [PATCH] Add Process.getsid — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
6 messages
2012/07/20
[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>
13 messages
2012/07/30
[ruby-dev:45890] [ruby-trunk - Feature #2674] RubyVM::InstructionSequence to accept IOs
From:
"shyouhei (Shyouhei Urabe)" <shyouhei@...>
Date:
2012-07-01 14:09:42 UTC
List:
ruby-dev #45890
Issue #2674 has been updated by shyouhei (Shyouhei Urabe).
あー、時間差でGlass_sagaと同じものを作ってしまった。残念
https://github.com/ruby/ruby/pull/136/files
中身見ても同じなのでどっちを採用しても大差ないです。
----------------------------------------
Feature #2674: RubyVM::InstructionSequence to accept IOs
https://bugs.ruby-lang.org/issues/2674#change-27663
Author: shyouhei (Shyouhei Urabe)
Status: Feedback
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: YARV
Target version: 2.0.0
=begin
RipperはRipper#initializeでIOを受け付けますが、ISeqはそうはなっていません。
非対称なのでISeqもIOを受け付けるようにするのはどうでしょうか。
Signed-off-by: Urabe, Shyuohei <shyouhei@ruby-lang.org>
---
iseq.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/iseq.c b/iseq.c
index 3c957c7..2d86f5d 100644
--- a/iseq.c
+++ b/iseq.c
@@ -538,10 +538,14 @@ rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE line, VALUE opt)
rb_compile_option_t option;
const char *fn = StringValueCStr(file);
int ln = NUM2INT(line);
- NODE *node = parse_string(StringValue(src), fn, ln);
+ NODE *node;
rb_thread_t *th = GET_THREAD();
make_compile_option(&option, opt);
+ if (rb_obj_respond_to(src, rb_intern("gets"), 0))
+ node = rb_compile_file(fn, src, ln);
+ else
+ node = rb_compile_string(fn, StringValue(src), ln);
if (th->base_block && th->base_block->iseq) {
return rb_iseq_new_with_opt(node, th->base_block->iseq->name,
file, line, th->base_block->iseq->self,
-- 1.6.0.4
=end
--
http://bugs.ruby-lang.org/