Change fmt to preserve width, flags, and
precision, and change the logic of
fmt[v]print appropriately. That
__fmtdispatch discards the flags of the
Fmt structure it receives, is broken
behaviour. I see no present code in
sources that relies on this behaviour,
and I have been running my Plan 9 boxes
with these changes for a while (having
rebuilt the whole source tree and
kernel). Moreover, the Go compilers
[568]g rely on the preservation of
flags.
|