From: shugo@... Date: 2017-07-13T03:17:19+00:00 Subject: [ruby-core:82019] [Ruby trunk Bug#13741] A documentation bug of IO#putc Issue #13741 has been reported by shugo (Shugo Maeda). ---------------------------------------- Bug #13741: A documentation bug of IO#putc https://bugs.ruby-lang.org/issues/13741 * Author: shugo (Shugo Maeda) * Status: Open * Priority: Normal * Assignee: naruse (Yui NARUSE) * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- The documentation of IO#putc says: ``` * call-seq: * ios.putc(obj) -> obj * * If obj is Numeric, write the character whose code is * the least-significant byte of obj, otherwise write the first byte * of the string representation of obj to ios. Note: This * method is not safe for use with multi-byte characters as it will truncate * them. ``` However, it supports multi-byte characters in the string argument form since r29447: ``` $ ruby -e 'putc "���������������"' ��� ``` How about to change the documentation? ``` * If obj is Numeric, write the character whose code is * the least-significant byte of obj. * If obj is String, write the first character * of obj to ios. * Otherwise, raise TypeError. ``` It may be better to change the behavior of the numeric argument form to support multi-byte characters if ios has encoding information, but it's a different issue. -- https://bugs.ruby-lang.org/ Unsubscribe: