Date:        Mon, 26 Oct 2020 19:18:10 +0100
    From:        Joerg Schilling <joerg.schill...@fokus.fraunhofer.de>
    Message-ID:  <5f9712e2.+zlga0iaqihkovkz%joerg.schill...@fokus.fraunhofer.de>

  | There is a simple rule of thumb: If you like to use %n$ for localization,
  | use a matching number of arguments and %<format> units with printf(1).

This is the problem, in two ways ... it isn't good enough to define
something in a way where to usefully use it you also need to add a
"simple rule of thumb" - much better to simply specify something that
actually works, and only define it to work when used that way.

Getting meaningless output from multiple implementations that copied
each other (one did it first, badly, then the others copied) is not useful.

Can you think of any rational use of a format with %n$ conversions where
you would ever want to process the format string more than once?   If
not, why not just forbid it (and fix the implementations that now exist).

Second, like a lot of localisation issues, all of this is too intertwined
with what is needed to support European languages.   It isn't always possible
to follow that rule of thumb with other languages where additional elements
may need to be added (or not added) to certain sentences.

kre


Reply via email to