On 05/07/2021 23:09, Gavin Smith wrote:
> On Mon, Jul 05, 2021 at 06:09:37PM +0200, Patrice Dumas wrote:
>> On Mon, Jul 05, 2021 at 11:36:55AM +0100, Gavin Smith wrote:
>>>
>>> Yes I agree, if we can't make the test pass in the case that no locales
>>> are installed.
>>>
>>> It's a frustrating problem as we aren't using the locale information for
>>> the user, we are using it for a document that is being produced that could
>>> be in a different language. Whatever locales the user has installed should
>>> be irrelevant. Some time I will look over the gettext documentation again
>>> and try to see if there is a better way of doing this.
>>
>> I had a look at gettext_pp.pm in libintl-perl/lib/Locale, and I can't
>> see an easy way to avoid the call to POSIX::setlocale. There is
>> actually a possibility, we could set a specific locale in
>> Texinfo/Report.pm instead of having list and use the undocumented last
>> argument of dcnpgettext, like:
>>
>> my $translation_result = Locale::Messages::dcnpgettext('', undef,
>> $message, undef, undef, LC_MESSAGES, $locale)
>>
>> instead of
>>
>> my $translation_result = Locale::Messages::gettext($message);
>>
>> But I think that it is not a good idea, as this last argument is
>> undocumented for good reasons and it could be removed from
>> libintl-perl future implementations.
>
> In commit 8e53ffed59 I added code to run "locale -a" as a backup; hopefully
> this will mostly resolve this issue.
>
> Apparently selecting the language via the LANGUAGE variable is the best way
> as this doesn't require a locale for the language to be installed.
>
I've built and installed texinfo-6.8 with 8e53ffed59 applied. The test suite
now runs to a successful completion.
Thanks, Gavin.
Tested-by: Chris Clayton <[email protected]>