From: Jarkko Hietaniemi Date: Sun, 24 Jun 2001 16:33:59 +0000 (+0000) Subject: Spec the sv_pvprintify() a bit more. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f35392ae6417fec0cce48333103123d63f364254;p=p5sagit%2Fp5-mst-13.2.git Spec the sv_pvprintify() a bit more. p4raw-id: //depot/perl@10895 --- diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 5d280e6..7625aa6 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -28,12 +28,26 @@ always be set to true, but it needs to be set to false when F is being compiled. (To stop Perl trying to autoload the C pragma...) -=head2 Create a char *sv_printify(sv, STRLEN *lenp, UV flags) function +=head2 Create a char *sv_printify(sv, STRLEN *lenp, UV flags) For displaying PVs with control characters, embedded nulls, and Unicode. This would be useful for printing warnings, or data and regex dumping, not_a_number(), and so on. +Requirements: should handle both byte and UTF8 strings. isPRINT() +characters printed as-is, character less than 256 as \xHH, Unicode +characters as \x{HHH}. + +Possible options, controlled by the flags: +- whitespace (other than ' ' of isPRINTF()) printed as-is +- use isPRINT_LC() instead of isPRINT() +- print control characters like this: "\cA" +- print control characters like this: "^A" +- non-printables printed as '.' instead of \xHH +- print the \OOO instead of \xHH +- have a maximum length for the produced string (read it from *lenp) +- append a "..." to the produced string if the maximum length is exceeded + =head2 Autoload byte.pm When the lexer sees, for instance, C, it should