# New Ticket Created by Patrick R. Michaud # Please include the string: [perl #50092] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=50092 >
This is a placeholder ticket so we can show a dependency on #39930. In the "string_literal" rule of compilers/pct/src/PCT/Grammar.pir, I've just added an explicit transcode step for codepoints outside of the ascii range: ... $S1 = chr codepoint if codepoint < 128 goto literal_xdo_char_end_1 $I0 = find_charset 'unicode' trans_charset $S1, $I0 literal_xdo_char_end_1: concat literal, $S1 ... The reason for the explicit transcode is to allow the above to work even when ICU isn't present. By default, the 'chr' opcode returns an ascii string for codepoints 0-127, an iso-8859-1 string for 128-255, and unicode for everything 256 and above. However, as noted in RT#39930, Parrot is unable to concatenate iso-8859-1 strings to unicode strings when ICU isn't present. So, the above workaround automatically converts any non-ascii strings into unicode so that the resulting concatenation will work properly. When #39930 is resolved, we can eliminate the workaround. Pm