Issue #14863 has been updated by duerst (Martin Drst).


nobu (Nobuyoshi Nakada) wrote:
> May I close this?

Yes, please do.

I agree that US-ASCII is the greatest common denominator for source encodings, and there isn't any program that would fail (except if somebody checks for UTF-8 or so explicitly).

On the other hand, if we change it to the source encoding, then the implementation gets more difficult (it has to somehow get the source encoding). Also, some programs that use this functionality in a setup where the encoding of the data and the source encoding isn't the same, and where occasionally an array is empty, may stop to work.

----------------------------------------
Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
https://bugs.ruby-lang.org/issues/14863#change-72796

* Author: xsimov (Xavier Sim)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.4.2
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Calling
~~~
irb(main):001:0> [].join.encoding
=> #<Encoding:US-ASCII>
~~~ 
returns an empty string and that empty string is always in US-ASCII encoding.

The expected result is that the returned empty string would be in UTF-8 since it seems to be the default for Ruby strings since 2.0.





-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>