summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2015-10-12 12:31:58 -0600
committerKarl Williamson <khw@cpan.org>2015-10-13 13:09:42 -0600
commit4003ea2907cb4c4494ae771b15039c6c5bd6cb7e (patch)
treec6bd45c956e30d2415c44a5763c453efe7fa2af7 /pod
parent3ba22297ff4a9da653012e79529b56cab9e194f7 (diff)
downloadperl-4003ea2907cb4c4494ae771b15039c6c5bd6cb7e.tar.gz
qr/\p{pkg1::...foo}/ must be a user-defined property
So, if it isn't found and 'foo' doesn't begin with 'In' or 'Is', we know that there would be a run-time error, which we can fail with at compile time instead. We use a different error message than if we don't know if it is a user-defined property. See thread beginning at http://nntp.perl.org/group/perl.perl5.porters/231658 I didn't make a perldelta entry, as I doubt that this has ever come up in the field, as I discovered the issue myself while playing around investigating other bugs.
Diffstat (limited to 'pod')
-rw-r--r--pod/perldelta.pod4
-rw-r--r--pod/perldiag.pod9
2 files changed, 13 insertions, 0 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index ae65866de1..12cf544ea0 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -194,6 +194,10 @@ and New Warnings
L<Character following \p must be '{' or a single-character Unicode property name in regex;|perldiag/"Character following \%c must be '{' or a single-character Unicode property name in regex; marked by <-- HERE in m/%s/">
+=item *
+
+L<perldiag/"Illegal user-defined property name">
+
=back
=head3 New Warnings
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 46df14d83f..db798d7936 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2549,6 +2549,15 @@ L<C<(?I<PARNO>)>|perlre/(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)>.
(X) The PERL5OPT environment variable may only be used to set the
following switches: B<-[CDIMUdmtw]>.
+=item Illegal user-defined property name
+
+(F) You specified a Unicode-like property name in a regular expression
+pattern (using C<\p{}> or C<\P{}>) that Perl knows isn't an official
+Unicode property, and was likely meant to be a user-defined property
+name, but it can't be one of those, as they must begin with either C<In>
+or C<Is>. Check the spelling. See also
+L</Can't find Unicode property definition "%s">.
+
=item Ill-formed CRTL environ value "%s"
(W internal) A warning peculiar to VMS. Perl tried to read the CRTL's