>>>> "APA" == Adrian Aichner
<adrian(a)xemacs.org> writes:
APA> Well, yes, but even
APA>
http://www.opengroup.org/onlinepubs/007904975/functions/printf.html
APA> doesn't specify this requirement clearly.
Sure. There is a widely-respected standard which does, however (C99).
We want to follow the tightest spec that is admissible under other specs.
We _want_ a tight spec for functions we maintain according to the "be
strict in what you produce, permissive in what you accept" principle.
This means that XEmacs can interoperate with the widest variety of 3rd
party software.
For example, it is not righteous to ask the author of "table.el" to do
an extra check for "MSVC" when computing the width of a field to be
specified as "%e". If that author expects that most of the time
exponents will be two digits, even if he is willing to accept breakage
in cases where three digits are needed, he will probably not be
pleased with the flood of reports from MS users that unless a column
consists _only_ of floats the column alignment is _always_ broken. He
will justifiably consider it an XEmacs bug.
I'd like to just deprecate the platform, because I'm getting sick of
seeing XEmacs go bughouse every time the penetration rate of the most
recent MS OS or compiler offering surges, and we get nowhere near the
patch/bitch ratio for MS ports that we do for the Un*x platforms. I
don't mind supporting users, but with both Andy and Ben currently out
of the picture, this is an unfair burden on non-MS-using XEmacs
developers.
Since that's not acceptable to many Windows-based XEmacs users, and
won't prevent the bug reports in any case, I think we should
reimplement the %e spec internally for use by "non-conforming"
platforms. A simple filter that checks for extra leading zeros in the
output of the %e implementation, and strips them, would be fine. We
should also implement the (easy) configure check to enable it in case
another platform follows MS.
APA> What online resources should we be reading for stuff like
APA> this?
All of 'em. ;-) Well, Martin recommended
POSIX
http://www.opengroup.org/onlinepubs/007908799/
C99
http://wwwold.dkuug.dk/jtc1/sc22/open/n2794/
("final committee draft", cf
http://home.tiscalinet.ch/t_wolf/tw/c/c9x_changes.html)
but most important is
http://list-archive.xemacs.org/build-reports/
which has no examples AFAICS of this test failing on any platform
other than Microsoft VC. That means that we're pretty safe in
assuming conformance, except from a platform which has really dismal
historical performance vis-a-vis standards conformance in any case.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.