summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-08 01:55:14 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-08 01:55:14 +0000
commit965e9df38045594d126991e6a109c5746242d2ba (patch)
tree76c724d0f0e184d007e4326693775cb652a75318
parentbaddc0cbf9a4c8d0f3b52a9e78e0824a14c46357 (diff)
io.c: [DOC] IO#gets [skip ci]
* io.c (rb_io_gets_m): Update IO#gets doc for characters more than 1 byte. [Fix GH-1085] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--io.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index dd5cad2..f280506 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Nov 8 10:55:10 2015 Anton Davydov <antondavydov.o@gmail.com>
+
+ * io.c (rb_io_gets_m): Update IO#gets doc for characters more than
+ 1 byte. [Fix GH-1085]
+
Sun Nov 8 10:37:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/uri/ftp.rb: fix a typo.
diff --git a/io.c b/io.c
index 7932a68..0305386 100644
--- a/io.c
+++ b/io.c
@@ -3291,6 +3291,16 @@ rb_io_gets(VALUE io)
*
* File.new("testfile").gets #=> "This is line one\n"
* $_ #=> "This is line one\n"
+ *
+ * If StringIO contains characters more than 1 byte
+ * then <code>gets(1)</code> returns character entirely:
+ *
+ * # russian characters take 2 bytes
+ * File.write("testfile", "\u{442 435 441 442}")
+ * File.open("testfile") {|f|f.gets(1)} #=> "\u0442"
+ * File.open("testfile") {|f|f.gets(2)} #=> "\u0442"
+ * File.open("testfile") {|f|f.gets(3)} #=> "\u0442\u0435"
+ * File.open("testfile") {|f|f.gets(4)} #=> "\u0442\u0435"
*/
static VALUE