Branch: refs/heads/master
Home: https://github.com/perl6/specs
Commit: 8ef142f7f49fc62be17dd0569d34e7e17e02bc7b
https://github.com/perl6/specs/commit/8ef142f7f49fc62be17dd0569d34e7e17e02bc7b
Author: Carl Masak <[email protected]>
Date: 2011-12-30 (Fri, 30 Dec 2011)
Changed paths:
M S32-setting-library/Str.pod
Log Message:
-----------
[S32/Str] removed '%C' directive from sprintf
The '%C' directive allows you to go in and change the arguments
to &sprintf during the &sprintf call itself, using callbacks
with rw parameters.
I'm removing this feature, for the following reasons:
- There's no use case for this feature.
- The Parrot people got distressed just thinking about refactoring
the sprintf code enough to make this addition at the Parrot
level.
- TimToady got a large number of furrows on his brow just thinking
about the implementation specifics of this feature, its security
aspects, and its Unicode abstraction level.
- A far simpler idea than changing the &sprintf arguments
mid-flight would be to change them *before* the call. This
requires no extra syntax, and no additional features. It would
probably result in much simpler code, too.
I challenge the world to come up with a use case for '%C'.
Until then, it's an ex-feature.