is being compiled. (To stop Perl trying to autoload the C<utf8>
pragma...)
+=head2 Create a char *sv_pvprintify(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}. Don't assume ASCII-like, either, get somebody
+on EBCDIC to test the output.
+
+Possible options, controlled by the flags:
+- whitespace (other than ' ' of isPRINT()) 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
+- use \OOO instead of \xHH
+- use the C/Perl-metacharacters like \n, \t
+- have a maximum length for the produced string (read it from *lenp)
+- append a "..." to the produced string if the maximum length is exceeded
+- really fancy: print unicode characters as \N{...}
+
=head2 Autoload byte.pm
When the lexer sees, for instance, C<bytes::length>, it should
=head2 Unicode regular expression character classes
-They have some tricks Perl doesn't yet implement.
+They have some tricks Perl doesn't yet implement like character
+class subtraction.
http://www.unicode.org/unicode/reports/tr18/
Artur Bergman's C<iThreads> module is a start on this, but needs to
be more mature.
+=head2 make perl_clone optionally clone ops
+
+So that pseudoforking, mod_perl, iThreads and nvi will work properly
+(but not as efficiently) until the regex engine is fixed to be threadsafe.
+
=head2 Work out exit/die semantics for threads
=head2 Typed lexicals for compiler
There should be a way of restarting the debugger on demand.
+=head2 Test Suite for the Debugger
+
+The debugger is a complex piece of software and fixing something
+here may inadvertently break something else over there. To tame
+this chaotic behaviour, a test suite is necessary.
+
=head2 my sub foo { }
The basic principle is sound, but there are problems with the semantics
C<goto &whoami> introduces a performance penalty, so maybe there should
be a way to do this after all: C<sub foo {START: ... goto START;> is
better.)
+
+=head2 Make "use utf8" the default
+
+There is a patch available for this, search p5p archives for
+the Subject "[EXPERIMENTAL PATCH] make unicode (utf8) default"
+but this would be unacceptable because of backward compatibility:
+scripts could not contain B<any legacy eight-bit data>. Also would
+introduce a measurable slowdown of at least few percentages since all
+regular expression operations would be done in full UTF-8.
+