This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Note illegality of some former deprecations
authorKarl Williamson <khw@cpan.org>
Tue, 17 Jul 2018 22:04:07 +0000 (16:04 -0600)
committerKarl Williamson <khw@cpan.org>
Tue, 17 Jul 2018 22:10:41 +0000 (16:10 -0600)
pod/perldelta.pod
pod/perldeprecation.pod

index adf0128..261c76b 100644 (file)
@@ -45,6 +45,18 @@ XXX For a release on a stable branch, this section aspires to be:
 
 [ List each incompatible change as a =head2 entry ]
 
+=head2 Delimiters must now be graphemes
+
+See L<perldeprecation/Use of unassigned code point or non-standalone grapheme for a delimiter.>
+
+=head2 Some formerly deprecated uses of an unescaped left brace C<"{">
+in regular expression patterns are now illegal
+
+But to avoid breaking code unnecessarily, most instances that issued a
+deprecation warning, remain legal and now have a non-deprecation warning
+raised.  See L<perldeprecation/Unescaped left braces in regular
+expressions>.
+
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
index 5efcbe9..211fb3c 100644 (file)
@@ -100,7 +100,9 @@ Forcing literal C<{> characters to be escaped will enable the Perl
 language to be extended in various ways in future releases.  To avoid
 needlessly breaking existing code, the restriction is is not enforced in
 contexts where there are unlikely to ever be extensions that could
-conflict with the use there of C<{> as a literal.
+conflict with the use there of C<{> as a literal.  A non-deprecation
+warning that the left brace is being taken literally is raised in
+contexts where there could be confusion about it.
 
 Literal uses of C<{> were deprecated in Perl 5.20, and some uses of it
 started to give deprecation warnings since. These cases were made fatal