This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge branch 'data-dumper-testing' into blead
authorJames E Keenan <jkeenan@cpan.org>
Fri, 1 Feb 2013 02:43:26 +0000 (21:43 -0500)
committerJames E Keenan <jkeenan@cpan.org>
Fri, 1 Feb 2013 02:43:26 +0000 (21:43 -0500)
pod/perldiag.pod
regcomp.c
sv.c
t/re/reg_mesg.t

index 02c93ce..ed88545 100644 (file)
@@ -536,13 +536,15 @@ check the return value of your socket() call?  See L<perlfunc/bind>.
 (W unopened) You tried binmode() on a filehandle that was never opened.
 Check your control flow and number of arguments.
 
-=item "\b{" is deprecated; use "\b\{" instead in regex; marked by <-- HERE in m/%s/
+=item "\b{" is deprecated; use "\b\{" or "\b[{]" instead in regex; marked by <-- HERE in m/%s/
 
-=item "\B{" is deprecated; use "\B\{" instead in regex; marked by <-- HERE in m/%s/
+=item "\B{" is deprecated; use "\B\{" or "\B[{]" instead in regex; marked by <-- HERE in m/%s/
 
 (W deprecated, regexp) Use of an unescaped "{" immediately following a
 C<\b> or C<\B> is now deprecated so as to reserve its use for Perl
-itself in a future release.
+itself in a future release.  You can either precede the brace with a
+backslash, or enclose it in square brackets; the latter is the way to go
+if the pattern delimiters are C<{}>.
 
 =item Bit vector size > 32 non-portable
 
index 2c7709a..b36b7e4 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -10264,7 +10264,7 @@ tryagain:
            FLAGS(ret) = get_regex_charset(RExC_flags);
            *flagp |= SIMPLE;
            if (! SIZE_ONLY && (U8) *(RExC_parse + 1) == '{') {
-               ckWARNdep(RExC_parse, "\"\\b{\" is deprecated; use \"\\b\\{\" instead");
+               ckWARNdep(RExC_parse, "\"\\b{\" is deprecated; use \"\\b\\{\" or \"\\b[{]\" instead");
            }
            goto finish_meta_pat;
        case 'B':
@@ -10278,7 +10278,7 @@ tryagain:
            FLAGS(ret) = get_regex_charset(RExC_flags);
            *flagp |= SIMPLE;
            if (! SIZE_ONLY && (U8) *(RExC_parse + 1) == '{') {
-               ckWARNdep(RExC_parse, "\"\\B{\" is deprecated; use \"\\B\\{\" instead");
+               ckWARNdep(RExC_parse, "\"\\B{\" is deprecated; use \"\\B\\{\" or \"\\B[{]\" instead");
            }
            goto finish_meta_pat;
 
diff --git a/sv.c b/sv.c
index dde045c..727e283 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -7437,7 +7437,6 @@ Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
     dVAR;
     STRLEN cur1, cur2;
     const char *pv1, *pv2;
-    char *tpv = NULL;
     I32  cmp;
     SV *svrecode = NULL;
 
@@ -7501,8 +7500,6 @@ Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
     }
 
     SvREFCNT_dec(svrecode);
-    if (tpv)
-       Safefree(tpv);
 
     return cmp;
 }
index b514320..9af88d7 100644 (file)
@@ -254,8 +254,8 @@ my @experimental_regex_sets = (
 );
 
 my @deprecated = (
-    '/a\b{cde/' => '"\b{" is deprecated; use "\b\{" instead {#} m/a\{#}b{cde/',
-    '/a\B{cde/' => '"\B{" is deprecated; use "\B\{" instead {#} m/a\{#}B{cde/',
+    '/a\b{cde/' => '"\b{" is deprecated; use "\b\{" or "\b[{]" instead {#} m/a\{#}b{cde/',
+    '/a\B{cde/' => '"\B{" is deprecated; use "\B\{" or "\B[{]" instead {#} m/a\{#}B{cde/',
     'use utf8; /(?x)\\85\85\\85/' => 'Escape literal pattern white space under /x {#} m/(?x)\\85\85{#}\\85/',
 );