summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--io.c2
-rw-r--r--test/ruby/test_argf.rb8
-rw-r--r--version.h2
4 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index d8423f9c68..f0580ad862 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat Jul 25 17:49:03 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * io.c (argf_eof): should not have reached EOF before trying to
+ read. based on a patch by Heesob Park <phasis AT gmail.com> a
+ [ruby-core:24559]. [ruby-core:24557]
+
Thu Jul 23 17:31:02 2009 Keiju Ishitsuka <keiju@ruby-lang.org>
* lib/irb/ruby-lex.rb: make irb be able to parse
diff --git a/io.c b/io.c
index 48a6392128..9ed0977772 100644
--- a/io.c
+++ b/io.c
@@ -8041,7 +8041,7 @@ argf_to_io(VALUE argf)
static VALUE
argf_eof(VALUE argf)
{
- if (ARGF.current_file) {
+ if (RTEST(ARGF.current_file)) {
if (ARGF.init_p == 0) return Qtrue;
ARGF_FORWARD(0, 0);
if (rb_io_eof(ARGF.current_file)) {
diff --git a/test/ruby/test_argf.rb b/test/ruby/test_argf.rb
index a6c224ba41..c00db99bf9 100644
--- a/test/ruby/test_argf.rb
+++ b/test/ruby/test_argf.rb
@@ -72,7 +72,7 @@ class TestArgf < Test::Unit::TestCase
p [a.gets.chomp, a.lineno, b.gets.chomp, b.lineno] #=> ["5", 5, "5", 8]
p [a.gets.chomp, a.lineno, b.gets.chomp, b.lineno] #=> ["6", 6, "6", 9]
SRC
- expected = src.scan(/\#=> *(.*+)/).flatten
+ expected = src.scan(/\#=> *(.+)/).flatten
ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
f.each_with_index do |a, i|
assert_equal(expected.shift, a.chomp, "[ruby-dev:34445]: line #{i}")
@@ -102,7 +102,7 @@ class TestArgf < Test::Unit::TestCase
a.gets; p $. #=> 2001
a.gets; p $. #=> 2001
SRC
- expected = src.scan(/\#=> *(.*+)/).join(",")
+ expected = src.scan(/\#=> *(.+)/).join(",")
ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
assert_equal(expected, f.read.chomp.gsub("\n", ","))
end
@@ -125,7 +125,7 @@ class TestArgf < Test::Unit::TestCase
a.gets; p $. #=> 2000
a.gets; p $. #=> 2000
SRC
- expected = src.scan(/\#=> *(.*+)/).join(",")
+ expected = src.scan(/\#=> *(.+)/).join(",")
ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
assert_equal(expected, f.read.chomp.gsub("\n", ","))
end
@@ -433,7 +433,7 @@ class TestArgf < Test::Unit::TestCase
end
SRC
a = f.read.split("\n")
- ((%w(true false) * 4).take(7) + %w(end)).each do |x|
+ (%w(false) + (%w(false true) * 3) + %w(end)).each do |x|
assert_equal(x, a.shift)
end
end
diff --git a/version.h b/version.h
index 722037af29..593339a4d9 100644
--- a/version.h
+++ b/version.h
@@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.1"
-#define RUBY_PATCHLEVEL 254
+#define RUBY_PATCHLEVEL 255
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1