Branch: refs/heads/master
  Home:   https://github.com/perl6/specs

  Commit: 8ef142f7f49fc62be17dd0569d34e7e17e02bc7b
      
https://github.com/perl6/specs/commit/8ef142f7f49fc62be17dd0569d34e7e17e02bc7b
  Author: Carl Masak <cma...@gmail.com>
  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.


Reply via email to