[Top][All Lists]

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

I18N::Langinfo on MS-Windows

From: Gavin Smith
Subject: I18N::Langinfo on MS-Windows
Date: Sun, 23 Oct 2022 10:00:39 +0100

On Sun, Oct 23, 2022 at 08:56:13AM +0300, Eli Zaretskii wrote:
> I don't know if any native Windows ports of Perl have Langinfo.  I
> seem to be unable to find specific information about this on the
> Internet, but given that it's a thin wrapper around the nl_langinfo
> libc function, which Windows doesn't have, it makes sense that it is
> unavailable on native Windows.
> > (My very wild guess is that perl on windows in
> > environement emulating GNU/Linux or another Unix, such as cygwin, MinGW
> > or the Windows Subsystem for Linux have langinfo.)

The I118N::Langinfo manpage installed on my system states:

       Starting in Perl 5.28, this module is available even on systems that
       lack a native "nl_langinfo".  On such systems, it uses various methods
       to construct what that function, if present, would return.  But there
       are potential glitches.  These are the items that could be different:


           Unimplemented, except on Windows, due to the vagaries of vendor
           locale names, returning "" on non-Windows.

So it may work for newer Perl on Windows.

> I have two different versions of MSYS Perl here: 5.8.8 and 5.22.1.
> The former doesn't have I18N::Langinfo, the latter does.  But I cannot
> use any of these Perl versions in the native Windows port of Texinfo,
> because MSYS programs are not usually installed on Windows systems,
> except as part of the MinGW/MSYS development environment.  Moreover,
> if MinGW GCC is used to compile the Texinfo's XS modules, the MSYS
> Perl will be unable to load those modules, due to ABI
> incompatibilities (MSYS programs require the MSYS DLL, which is their
> version of libc runtime, and is incompatible with the Windows native
> runtime).
> So I think having a solution for native Windows ports of texi2any that
> doesn't rely on I18N:Langinfo is the way to go.

I've committed the change following your report of success.

reply via email to

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