Subject: bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not.

From: Stefan Monnier <[email-masked]>
Date: Sun, 21 Nov 2010 15:34:33 -0500

>>> Invalid hash table rehash size: 1\,5
>> Where does this "1,5" come from?
> src/lisp.h:#define DEFAULT_REHASH_SIZE 1.5
> Apparently this code in fns.c, Fmake_hash_table somehow turns it into 1,5.

>   /* Look for `:rehash-size SIZE'.  */
>   i = get_key_arg (QCrehash_size, nargs, args, used);
>   rehash_size = i < 0 ? make_float (DEFAULT_REHASH_SIZE) : args[i];
>   if (!NUMBERP (rehash_size)
>       || (INTEGERP (rehash_size) && XINT (rehash_size) <= 0)
>       || XFLOATINT (rehash_size) <= 1.0)
>     signal_error ("Invalid hash table rehash size", rehash_size);

Hmm... I can't think of any way this code could turn the 1.5 float into
a "1,5" symbol.

>>> , is not a decimal point in my locale.
> Correction, I meant to say . is not a decimal point in my locale.  , is.

So apparently some code somewhere prints the 1.5 float in a locale-aware
way and then reads it back in with the Lisp reader.

        Stefan