I plan to fix this, since I consider it a gross bug:
Gettext.setlocale (Gettext.LC_NUMERIC, "sv_SE.UTF-8");
(1) Result: 1
(string) 3.14;
(2) Result: "3,14"
sprintf ("%O", 3.14);
(3) Result: "3,14"
I.e. casting and %O are locale sensitive and doesn't always produce a decimal point.
Would it conceivably be a compatibility problem to just fix this right away in 7.8? It would not affect %f, %g and all the other floating point formatters.
Possibly, if someone does sprintf/sscanf over between versions, but it's a clear bug so there is no question if it should be fixed.
I don't think a backwards compatibility fix is needed unless you feel like it. It's %O after all.
pike-devel@lists.lysator.liu.se