Support reordered precision arguments in (s)printf
The printf builtins gained support for argument reordering in October 2000,
in
eb3fce905f8436bbc374998ec8c7c34ce2b73e4e, as part of the 5.7.x blead
release cycle. However, a simple typo meant that it never worked: the
initial implementation stored the argument index in the variable "ewix"
(explicit width-argument index) instead of "epix" (for "precision").
The bug was noticed in July 2002, two days before the 5.8.0 release, so
fixing it at that stage was deemed riskier than documenting it. The commit in
question is
7b8dd722af72d0ca45650fb784c09763c0732e34, which was originally
posted as http://marc.info/?l=perl5-porters&m=
102683138220786&w=2 .
For whatever reason, the obvious fix was never subsequently applied. This
commit remedies that, and extends it to also skip all redundant-argument
warnings when the precision is supplied with via an explicit index.