Mike Gran <[email protected]> writes:
> Yeah. I know it is a poor solution. I just wanted to throw something
> out there to explain the problem.
In the meantime, we can still extend ‘scm_t_locale’ in the
‘USE_GNU_LOCALE_API’ case:
typedef struct
{
locale_t locale;
const char language[3];
} scm_t_locale;
Then ‘make-locale’ can somehow determine the locale name associated with
‘LC_CTYPE’; the language two-letter code can be extracted from the
locale name using the same algorithm as ‘uc_locale_language ()’, and
stored in ‘c_locale->language’.
In the ‘!USE_GNU_LOCALE_API’ there’s no problem because we already have
to acquire ‘scm_i_locale_mutex’ and setlocale(3).
I suggest that we wait for Bruno’s feedback on this and eventually take
this route (before 1.9.4!) if there’s no easy fix for libunistring.
Thanks,
Ludo’.