[前][次][番号順一覧][スレッド一覧]

ruby-changes:4061

From: ko1@a...
Date: Wed, 20 Feb 2008 10:09:47 +0900 (JST)
Subject: [ruby-changes:4061] usa - Ruby:r15551 (trunk): * io.c (open_key_args): set arg->io even if no options passed.

usa	2008-02-20 10:09:21 +0900 (Wed, 20 Feb 2008)

  New Revision: 15551

  Modified files:
    trunk/ChangeLog
    trunk/bootstraptest/test_knownbug.rb
    trunk/io.c
    trunk/test/ruby/test_io.rb
    trunk/version.h

  Log:
    * io.c (open_key_args): set arg->io even if no options passed.
      [ruby-dev:33072]
    


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/version.h?r1=15551&r2=15550&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_io.rb?r1=15551&r2=15550&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15551&r2=15550&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/io.c?r1=15551&r2=15550&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_knownbug.rb?r1=15551&r2=15550&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15550)
+++ ChangeLog	(revision 15551)
@@ -1,3 +1,8 @@
+Wed Feb 20 10:04:22 2008  NAKAMURA Usaku  <usa@r...>
+
+	* io.c (open_key_args): set arg->io even if no options passed.
+	  [ruby-dev:33072]
+
 Tue Feb 19 21:11:49 2008  NARUSE, Yui  <naruse@r...>
 
 	* string.c (rb_enc_strlen_cr): get length with coderange scan.
Index: bootstraptest/test_knownbug.rb
===================================================================
--- bootstraptest/test_knownbug.rb	(revision 15550)
+++ bootstraptest/test_knownbug.rb	(revision 15551)
@@ -47,10 +47,6 @@
 assert_valid_syntax('1.times {|i|print (42),1;}', '[ruby-list:44479]')
 
 assert_normal_exit %q{
-  File.read("empty", nil, nil, {})
-}, '[ruby-dev:33072]'
-
-assert_normal_exit %q{
   "abc".gsub(/./, "a" => "z")
 }
 
Index: io.c
===================================================================
--- io.c	(revision 15550)
+++ io.c	(revision 15551)
@@ -5851,7 +5851,7 @@
 	rb_ary_push(args, argv[0]);
 	rb_ary_concat(args, v);
 	MEMCPY(RARRAY_PTR(args)+1, RARRAY_PTR(v), VALUE, RARRAY_LEN(v));
-	
+
 	arg->io = rb_f_open(RARRAY_LEN(args), RARRAY_PTR(args));
 	return;
     }
@@ -5863,13 +5863,14 @@
 	args[1] = v;
 	arg->io = rb_f_open(2, args);
     }
+
+    if (!arg->io) {
+	arg->io = rb_io_open(RSTRING_PTR(argv[0]), "r");
+    }
+
     v = rb_hash_aref(opt, encoding);
     if (!NIL_P(v)) {
 	rb_io_t *fptr;
-
-	if (!arg->io) {
-	    arg->io = rb_io_open(RSTRING_PTR(argv[0]), "r");
-	}
 	GetOpenFile(arg->io, fptr);
         mode_enc(fptr, StringValueCStr(v));
     }
Index: version.h
===================================================================
--- version.h	(revision 15550)
+++ version.h	(revision 15551)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-02-19"
+#define RUBY_RELEASE_DATE "2008-02-20"
 #define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080219
+#define RUBY_RELEASE_CODE 20080220
 #define RUBY_PATCHLEVEL 0
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 0
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 2
-#define RUBY_RELEASE_DAY 19
+#define RUBY_RELEASE_DAY 20
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: test/ruby/test_io.rb
===================================================================
--- test/ruby/test_io.rb	(revision 15550)
+++ test/ruby/test_io.rb	(revision 15551)
@@ -55,4 +55,10 @@
   ensure
     r.close
   end
+
+  def test_rubydev33072
+    assert_raise(Errno::ENOENT, "[ruby-dev:33072]") do
+      File.read("empty", nil, nil, {})
+    end
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]