[plt-scheme] Why do MzScheme ports not respect the locale's encoding by default?
Jim Blandy wrote:
> Alex Shinn <foof at synthcode.com> writes:
>>At 17 Feb 2005 17:17:37 -0500, Jim Blandy wrote:
>>>You're right that locale-sensitivity leads to all sorts of
>>>unpredictability and hidden portability issues.
> The locale controls a bunch of different things, including sorting and
> collation rules, membership in <ctype.h> character classes (making
> those functions basically useless for parsing programs, argh), message
> catalogs (what you mentioned), and a bunch of other things.
This reminds me of a bug I once discovered in a Windows program.
The program could save data to be used later. That worked like a charm.
The program were supposed to load the saved data. That didn't work.
Even trivial data would provoke an error when saved.
Curious I loaded the saved data with notepad. It all looked normal
the data consisted mostly of commma separated floating point values.
On a hunch I changed the language setting (in Windows - not in the program)
from Danish to American. Suddenly everything worked.
The problem were that we use comma to separate the integer part of a
number from the fractional part. The program probably used a normal
C routine to print the numbers getting output as 3.14 but the
reader was aware of the locale and were expecting 3,14 as input.
Since then I have been somewhat sceptically about automatic locale.
--
Jens Axel Søgaard