[CLJ-937] cl-format prints ratio arguments with bad format for E, F, G directives Created: 21/Feb/12 Updated: 08/Apr/13
|Affects Version/s:||Release 1.3, Release 1.4|
|Fix Version/s:||Release 1.6|
|Patch:||Code and Test|
user=> (use 'clojure.pprint)
Patch changes cl-format so that when E, F, or G directive is used, the corresponding arg is coerced from a clojure.lang.Ratio to a double before formatting.
|Comment by Tom Faulhaber [ 29/Mar/12 8:48 PM ]|
I have reviewed this patch and recommend that it be applied.
(This one has actually been on my to do list for about 4 years. Thanks, Andy!)
|Comment by Andy Fingerhut [ 08/Apr/13 12:02 PM ]|
Patch clj-937-cl-format-coerces-ratios-patch2.txt dated Apr 8 2013 supersedes the previous patch cl-format-efg-coerce-ratios-to-doubes-patch1.txt dated Feb 21 2013.
The newer patch works with ratios that cannot be represented as a double, using BigDecimal in those cases. The older patch would print garbage from the string "Infinity" if the ratios were larger than Double/MAX_VALUE, or 0 if the ratio was between 0 and Double/MIN_VALUE.