> * Bruno Haible <oe...@pyvfc.bet> [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.