[Top][All Lists]

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

Re: texinfo-6.8.90 pretest

From: Eli Zaretskii
Subject: Re: texinfo-6.8.90 pretest
Date: Sat, 22 Oct 2022 20:03:50 +0300

> Date: Sat, 22 Oct 2022 13:06:15 +0200
> From: Patrice Dumas <pertusus@free.fr>
> On Sat, Oct 22, 2022 at 11:54:47AM +0100, Gavin Smith wrote:
> > >      Can't locate I18N/Langinfo.pm in @INC (you may need to install the 
> > > I18N::Langinfo module) (@INC contains: d:/usr/Perl/site/lib 
> > > d:/usr/Perl/lib .) at ../tp/texi2any line 29.
> > >      BEGIN failed--compilation aborted at ../tp/texi2any line 29.
> > >      Makefile:1547: recipe for target `texinfo.info' failed
> > >      make[3]: *** [texinfo.info] Error 2
> > 
> > I'm optimistic that this can be fixed - we can check for the module
> > when texi2any is run and make accommodations if it can't be loaded.
> We could do our own xs code that calls nl_langinfo with the appropriate
> argument.

Doing this in a XS module has a disadvantage that if texi2any is run
with XS disabled, that code will not be available, though.

However, I can get at the system codepage by using the Win32::API
module to import the Win32 API I need.  The below prints my system
codepage number:

use Win32::API;
Win32::API::More->Import("kernel32", "int GetACP()");
$CP = GetACP();
print "ANSI codepage: $CP\n";

So perhaps something like this can be included in texi2any for
MS-Windows, instead of calling the I18N::Langinfo module, or when that
module is unavailable.

Note that the above program yields a codepage _number_; to convert
that to locale's codeset identifier, you will probably need to produce
a string like "CPnnnn" or "windows-nnnn" (where nnnn is the number the
GetACP call returns), depending on how the code which consumes the
return value of Langinfo wants the result.

reply via email to

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