summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-22 09:47:05 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-22 09:47:05 +0000
commit9a62ed5603148293d1bcbda38b49425a5a3c098f (patch)
treedd4651a6f617e4154ab283c192253650e684a85b /ruby.c
parent898d31362a4370fb277902d813607c622b94274f (diff)
gets rid of ^D^D to quit script from stdin.
merges r22017 from trunk into ruby_1_9_1. * ruby.c (load_file_internal): resets EOF flag after parse. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ruby.c b/ruby.c
index 328912549b..cfefc04fa4 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1552,7 +1552,6 @@ load_file_internal(VALUE arg)
rb_io_ungetbyte(f, c);
}
require_libraries(opt); /* Why here? unnatural */
- rb_io_ungetbyte(f, Qnil);
}
if (opt->src.enc.index >= 0) {
enc = rb_enc_from_index(opt->src.enc.index);
@@ -1572,6 +1571,9 @@ load_file_internal(VALUE arg)
else if (f != rb_stdin) {
rb_io_close(f);
}
+ else {
+ rb_io_ungetbyte(f, Qnil);
+ }
return (VALUE)tree;
}