+ Christophe Rhodes <[EMAIL PROTECTED]>:

| 
| James Crippen <[EMAIL PROTECTED]> writes:
| 
| >   * (format nil "~19,'0,' ,4:B" 3333)
| >
| >   "000001101 0000 0101"
| >
| > That's not quite right since there's only two of the three spaces. So,
| > is there a bug in the Hyperspec? Or in CMUCL? Both? Or is it all in my
| > head?
| 
| This is well-known as a bug in the Hyperspec.
| <http://www.cliki.net/Issue%20FORMAT-RADIX-COMMACHAR> has a very
| little discussion.

Methinks this answer is a bit too brief.  The missing apostrophe in
the Hyperspec is an obvious and trivial bug, but surely, CMUCL is also
at fault here, in not producing the result "0000 1101 0000 0101"?  Or
is that also considered a bug in the Hyperspec?

I guess the issue is whether the padchar should be considered a digit
or not.  In the extremely unlikely situation that I were asked to
decide, I would say that if the padchar is one of the characters that
might be used as a digit in the requested radix, then commachars
should be inserted within the padding, otherwise not.  I admit I see
no unambiguous support for this in the Hyperspec, but if you read
enough into that final word in the phrase "the commachar is printed
between groups of comma-interval digits" (in the ~D page, 22.3.2.2),
it can perhaps be defended.

Hmm, maybe I shall contribute my view to that cliki page...

- Harald

Reply via email to