Errata for SRFI 48: Intermediate Format Strings
Arthur A. Gleckler 25 Oct 2017 21:32 UTC
I've just published fixes and tests for errata for SRFI 48.
They were contributed by Mr. Hamayama. I have not been able
to reach Ken Dickey, author of this SRFI, for this or
earlier issues. However, these are changes to the
implementation, which is in a non-normative section of the
document, so I've applied them directly.
Here are Mr. Hamayama's comments on these changes:
Hello.
I tried to fix the problems of format ~F.
I made test-Gauche.scm and got following errors.
discrepancies found. Errors are:
test : (format "~1,1F" -123.95): expects "-124.0" => got "-122.0"
test : (format "~1,2F" -999.995): expects "-1000.00" => got "-998.00"
test : (format "~1,12F" 1/7): expects "0.142857142857" => got "0.1.4285714285"
test : (format "~1,2F" 5.015): expects "5.02" => got "5.2."
test : (format "~1f" 1): expects "1" => got #<<error> "FORMAT: ~w.dF directive ill-formed in \"~1f\"">
test : (format "~7,2F" 18.0000000000008): expects " 18.00" => got " 18.0."
test : (format "~8,0F" -14.99995999999362): expects " -15." => got " -13."
test : (format "~10,3F" 1.0256): expects " 1.026" => got " 1.26."
test : (format "~10,3F" 1.0025): expects " 1.002" => got " 1.2.0"
test : (format "~10,3F" 1.00256): expects " 1.003" => got " 1.3.0"
test : (format "~8,6F" 1.00001234): expects "1.000012" => got #<<error> "end argument out of range: 6">
I fixed them and made all tests passed.
OS: Windows 8.1 (64bit)
DevTool: MSYS2/MinGW-w64 (64bit) (gcc version 7.1.0 (Rev2, Built by MSYS2 project))
Scheme: Gauche v0.9.6_pre4
Here's the diff:
<https://github.com/scheme-requests-for-implementation/srfi-48/compare/488831ad3b4e9869c254245e6668a1edf6d4bd6d...7e46cca39a43a14ef72923aff3a2b57a114af503>
Thank you very much, Mr. Hamayama, for the fixes and tests!
Regards,
SRFI Editor