Project

General

Profile

Actions

Bug #5862

closed

Strings not encoded in -E encoding

Added by brixen (Brian Shirai) over 12 years ago. Updated over 12 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
Backport:
[ruby-core:41970]

Description

If I pass the -E option, the Encoding.default_external is set to that encoding, but the string in the -e code is not set to that encoding, nor is the value of ENCODING set to it.

$ ruby -v -E ascii-8bit -e 'p "abc".encoding, Encoding.default_external, Encoding.default_internal, ENCODING'
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
#Encoding:UTF-8
#Encoding:ASCII-8BIT
nil
#Encoding:UTF-8

However, if I pass -Ka, the encodings for all of 1. Encoding.default_external, 2. the -e string literal, and 3. ENCODING in -e code are set to eg ASCII-8BIT.

$ ruby -v -Ka -e 'p "abc".encoding, Encoding.default_external, Encoding.default_internal, ENCODING'
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
#Encoding:ASCII-8BIT
#Encoding:ASCII-8BIT
nil
#Encoding:ASCII-8BIT

If -E {enc} sets Encoding.default_external to {enc} and data read from IO streams is set to encoding Encoding.default_external, and STDIO is an IO stream, shouldn't passing -E {enc} cause the -e string literal to have encoding {enc}? If not, could someone please explain the exact semantics of these two different command line options.

Thanks,
Brian

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0