diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | io.c | 13 |
2 files changed, 9 insertions, 11 deletions
@@ -1,6 +1,11 @@ +Sun Sep 24 06:55:36 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_print): no special handling for nil as well as puts. + fixed: [ruby-dev:29586] + Sun Sep 24 06:25:53 2006 why the lucky stiff <why@ruby-lang.org> - * eval.c (rb_thread_save_context, rb_thread_restore_context): + * eval.c (rb_thread_save_context, rb_thread_restore_context): sandbox hook to save and restore sandbox state. * eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag. @@ -3689,19 +3689,12 @@ rb_io_print(int argc, VALUE *argv, VALUE out) argv = &line; } for (i=0; i<argc; i++) { - if (!NIL_P(rb_output_fs) && i>0) { + rb_io_write(out, argv[i]); + if (!NIL_P(rb_output_fs)) { rb_io_write(out, rb_output_fs); } - switch (TYPE(argv[i])) { - case T_NIL: - rb_io_write(out, rb_str_new2("nil")); - break; - default: - rb_io_write(out, argv[i]); - break; - } } - if (!NIL_P(rb_output_rs)) { + if (argc > 0 && !NIL_P(rb_output_rs)) { rb_io_write(out, rb_output_rs); } |