[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HAVE_LC_MESSAGES
From: |
Bruno Haible |
Subject: |
Re: HAVE_LC_MESSAGES |
Date: |
Thu, 14 Jul 2011 23:18:41 +0200 |
User-agent: |
KMail/1.9.9 |
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).
I think you can remove the #if because all Unix platforms nowadays have
LC_MESSAGES.
Bruno
--
In memoriam The men and boys of Srebenica
<http://en.wikipedia.org/wiki/Srebrenica_massacre>
- HAVE_LC_MESSAGES, Sam Steingold, 2011/07/13
- Re: HAVE_LC_MESSAGES, Bruno Haible, 2011/07/13
- Re: HAVE_LC_MESSAGES, Sam Steingold, 2011/07/13
- Re: HAVE_LC_MESSAGES, Bruno Haible, 2011/07/13
- Re: HAVE_LC_MESSAGES, Sam Steingold, 2011/07/13
- Re: HAVE_LC_MESSAGES,
Bruno Haible <=
- Re: HAVE_LC_MESSAGES, Sam Steingold, 2011/07/14
- Re: HAVE_LC_MESSAGES, Sam Steingold, 2011/07/19
- Re: HAVE_LC_MESSAGES, Bruno Haible, 2011/07/19