# New Ticket Created by  Aleks-Daniel Jakimenko-Aleksejev 
# Please include the string:  [perl #131924]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131924 >


The issue happens in Email::Simple (one of its tests is now failing, but it was 
ok in 2017.07).

Here's the code:

use v6;
use Test;
use Email::Simple;
my $nr = "\x0a\x0d";
my $nasty = "Subject: test{$nr}To: foo{$nr}{$nr}foo{$nr}";
my $mail = Email::Simple.new($nasty);
is $mail.crlf, "{$nr}", "got correct line terminator";
is $mail.body, "foo{$nr}", "got correct body";
is ~$mail, $nasty, "Round trip nasty";


Result:
ok 1 - got correct line terminator
ok 2 - got correct body
not ok 3 - Round trip nasty

# Failed test 'Round trip nasty'
# at t/basic.t line 9
# expected: "Subject: test\n\rTo: foo\n\r\n\rfoo\n\r"
#      got: "Subject: test\n\rTo: foo\n\r\n\rfoo\n\r"


Yes, it displays two strings that look identical, but (~$mail eq $nasty) is 
actually False.


Bisected:

<AlexDaniel> bisect: old=2017.07 
https://gist.githubusercontent.com/AlexDaniel/64032cb24876d9a1cfac44a752921d20/raw/2d242fa49eef2b74da1b6626e337631463471182/basic.t
<bisectable6> AlexDaniel, Successfully fetched the code from the provided URL.
<bisectable6> AlexDaniel, Bisecting by exit code (old=2017.07 new=1599873). Old 
exit code: 0
<bisectable6> AlexDaniel, bisect log: 
https://gist.github.com/d16b49e55a1102e25b95be5df7bbf902
<bisectable6> AlexDaniel, (2017-07-20) 
https://github.com/rakudo/rakudo/commit/b81597bd867a0072cea6453529da89a13ede808c


So it is due to “String concatenation improvements”, or so it seems.

Reply via email to