bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HAVE_LC_MESSAGES


From: Sam Steingold
Subject: Re: HAVE_LC_MESSAGES
Date: Thu, 14 Jul 2011 17:57:10 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

> * Bruno Haible <address@hidden> [2011-07-14 23:18:41 +0200]:
>
> Sam Steingold asked:
>> Does clisp need to know whether LC_MESSAGES is supported by the system,
>> or is a fake one defined by libintl or gnulib.
>> ...
>> > No, this is not needed: gettext's libintl.h already defines LC_MESSAGES 
>> > when
>> > needed, and clisp uses libintl.h.
>> 
>> CLISP includes libintl.h only if ENABLE_NLS is defined (i.e., when
>> gettext is present).
>> It uses HAVE_LC_MESSAGES in spvw_ctype.d:init_ctype which is called
>> unconditionally in spvw.d.
>> I.e., on platforms without gettext where LC_MESSAGES is not defined
>> init_ctype is still called and its call
>> 
>>   setlocale(LC_MESSAGES,"");
>> 
>> must be guarded by either "#if HAVE_LC_MESSAGES" or "#ifdef LC_MESSAGES".
>
> By looking at the clisp code history:
>   $ hg annotate -r 11858 spvw_ctype.d
>   $ hg diff -r 3562 -r 3563
> I think the point was to allow the setlocale() call to be enabled even on
> platforms where <locale.h> does not have LC_MESSAGES (namely, native Windows).
> The macro HAVE_LC_MESSAGES means
>   - on Unix platforms, that LC_MESSAGES was found in <locale.h>,
>   - on Windows platforms, that gettext is in use (always).

what are the benefits of this very complex approach (autoconf, win32 &c &c)
over a simple "ifdef LC_MESSAGES"?

> I think you can remove the #if because all Unix platforms nowadays have
> LC_MESSAGES.

what about windows without gettext?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://honestreporting.com http://openvotingconsortium.org http://memri.org
http://jihadwatch.org http://truepeace.org http://palestinefacts.org
Oral sex was invented by mermaids.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]