This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldiag: Document ‘internal %<num>p might conflict’
authorFather Chrysostomos <sprout@cpan.org>
Sun, 23 Jun 2013 22:12:17 +0000 (15:12 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 23 Jun 2013 23:12:24 +0000 (16:12 -0700)
pod/perldiag.pod
t/porting/diag.t

index f09875c..17bea47 100644 (file)
@@ -2453,6 +2453,15 @@ L<perlvms/"exec LIST">).  Somehow, this count has become scrambled, so
 Perl is making a guess and treating this C<exec> as a request to
 terminate the Perl script and execute the specified command.
 
+=item internal %<num>p might conflict with future printf extensions
+
+(S internal) Perl's internal routine that handles C<printf> and C<sprintf>
+formatting follows a slightly different set of rules when called from
+C or XS code.  Specifically, formats consisting of digits followed
+by "p" (e.g., "%7p") are reserved for future use.  If you see this
+message, then an XS module tried to call that routine with one such
+reserved format.
+
 =item Internal urp in regex; marked by <-- HERE in m/%s/
 
 (P) Something went badly awry in the regular expression parser.  The
index d8115f5..bafe346 100644 (file)
@@ -501,7 +501,6 @@ Illegal binary digit '%c' ignored
 Illegal character %sin prototype for %s : %s
 Illegal hexadecimal digit '%c' ignored
 Illegal octal digit '%c' ignored
-internal %<num>p might conflict with future printf extensions
 Invalid argument to sv_cat_decode
 Invalid range "%c-%c" in transliteration operator
 Invalid separator character %c%c%c in PerlIO layer specification %s