This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correct a perldelta entry
authorFather Chrysostomos <sprout@cpan.org>
Sat, 20 Aug 2016 05:08:14 +0000 (22:08 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 20 Aug 2016 05:08:16 +0000 (22:08 -0700)
The termcode variable in scan_const, which was an I32 and susceptible
to truncation, is not used to find the closing delimiter, but only to
check for special uses of delimiters such as in qr'...' and m?...? and
‘<’ which is used internally as the ‘closing delimiter’ for here-docs,
it being one that can never occur for other pyoq operators.

Hence, such strings already worked before, but now they work consis-
tently; \x{100000027} no longer suppresses regexep interpolation,
for instance.

pod/perldelta.pod

index c182040..22b066f 100644 (file)
@@ -424,8 +424,11 @@ fixed. [perl #128686].
 
 =item *
 
-Use of a string delimiter whose code point is above 2**32 is now
-supported on platforms that allow this.  Note that this is non-portable,
+Use of a string delimiter whose code point is above 2**31 now works
+correctly on platforms that allow this.  Previously, certain characters,
+due to truncation, would be confused with other delimiter characters
+with special meaning (such as C<?> in C<m?...?>), resulting
+in inconsistent behaviour.  Note that this is non-portable,
 and is based on Perl's extension to UTF-8, and is probably not
 displayable nor enterable by any editor. [perl #128738]