We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4a8801c commit e538efaCopy full SHA for e538efa
lib/truffle/stringio.rb
@@ -280,8 +280,12 @@ def write(str)
280
str = String(str)
281
return 0 if str.empty?
282
283
- unless str.encoding == Encoding::BINARY # difference to IO
284
- str = Truffle::IOOperations.write_transcoding(str, external_encoding)
+ # difference to IO, see https://github.com/ruby/stringio/blob/009896b973/ext/stringio/stringio.c#L1498-L1506
+ enc = external_encoding
285
+ unless enc == Encoding::BINARY or enc == Encoding::US_ASCII
286
+ unless !str.ascii_only? && (str.encoding == Encoding::BINARY || str.encoding == Encoding::US_ASCII)
287
+ str = Truffle::IOOperations.write_transcoding(str, enc)
288
+ end
289
end
290
291
d = @__data__
0 commit comments