diff --git a/io.c b/io.c
index 716bc6d506b040..9c3cb3c25b2656 100644
--- a/io.c
+++ b/io.c
@@ -6971,15 +6971,16 @@ rb_f_printf(int argc, VALUE *argv)
* ios.print() -> nil
* ios.print(obj, ...) -> nil
*
- * Writes the given object(s) to ios. The stream must be
- * opened for writing. If the output field separator ($,
)
- * is not nil
, it will be inserted between each object.
- * If the output record separator ($\\
)
- * is not nil
, it will be appended to the output. If no
- * arguments are given, prints $_
. Objects that aren't
- * strings will be converted by calling their to_s
method.
- * With no argument, prints the contents of the variable $_
.
- * Returns nil
.
+ * Writes the given object(s) to ios. The stream must be opened for writing.
+ *
+ * Each given object that isn't a string will be converted to one by calling
+ * its to_s
method. It always returns nil
.
+ *
+ * When called without arguments it prints out the contents of $_
.
+ * If the output field separator ($,
) is not nil
,
+ * and is a string, it is inserted between objects.
+ * If the output record separator ($\\
) is not nil
,
+ * and is a string, it is appended to the output.
*
* $stdout.print("This is ", 100, " percent.\n")
*