summaryrefslogtreecommitdiff
path: root/pod/perltodo.pod
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2007-12-04 05:28:47 +0200
committerSteve Peters <steve@fisharerojo.org>2007-12-04 02:45:42 +0000
commitd6c1e11f74e0b1934c07d387ac61f44161f0b1d2 (patch)
treec2107a5d602cb67ae158817727dfa3df65a573bd /pod/perltodo.pod
parent9ef113e19c4c8bf65a3dffa40ccddd65e45b30d6 (diff)
downloadperl-d6c1e11f74e0b1934c07d387ac61f44161f0b1d2.tar.gz
perltodo.pod: error message todo
Message-Id: <200712040128.lB41SlT9445784@kosh.hut.fi> p4raw-id: //depot/perl@32564
Diffstat (limited to 'pod/perltodo.pod')
-rw-r--r--pod/perltodo.pod25
1 files changed, 25 insertions, 0 deletions
diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 63da3f961a..d3084784ad 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -628,6 +628,31 @@ pass in at least the method name length, if not also pre-computed hash values
when known. (I'm contemplating a plan to pre-compute hash values for common
fixed strings such as C<ISA> and pass them in to functions.)
+=head2 Organize error messages
+
+Perl's diagnostics (error messages, see L<perldiag>) could use
+reorganizing so that each error message has its
+stable-for-all-eternity unique id, categorized by severity, type, and
+subsystem. (The error messages would be listed in a datafile outside
+of the Perl source code, and the source code would only refer the
+messages by the is.) This clean-up and regularizing should apply
+for all croak() messages.
+
+This would enable all sorts of things: easier translation/localization
+of the messages (though please do keep in mind the caveats of
+L<Locale::Maketext> about too straightforward approaches to
+translation), filtering by severity, and instead of grepping for a
+particular error message one could look for a stable error id. (Of
+course, changing the error messages by default would break all the
+existing software depending on some particular error message...)
+
+This kind of functionality is known as I<message catalogs>. Look for
+inspiration for example in the catgets() system, possibly even use it
+if available-- but B<only> if available, all platforms will B<not>
+catgets().
+
+For the really pure at heart, consider extending this item to cover
+also the warning messages (see L<perllexwarn>, C<warnings.pl>).
=head1 Tasks that need a knowledge of the interpreter