> Date: Sun, 23 Oct 2022 10:39:57 +0300
> From: Eli Zaretskii <[email protected]>
> Cc: [email protected], [email protected]
>
> $ ./run_parser_all.sh -dir contents
> sed: can't read input_file_names_recoded_stamp.txt: No such file or
> directory
> D: contents//diffs/contents_at_begin.diff (printed below)
> diff --strip-trailing-cr -a -u -r
> ./contents//res_parser/contents_at_begin/contents_at_begin.2
> contents//out_parser/contents_at_begin/contents_at_begin.2
> --- ./contents//res_parser/contents_at_begin/contents_at_begin.2
> 2022-10-19 16:04:28 +0300
> +++ contents//out_parser/contents_at_begin/contents_at_begin.2 2022-10-23
> 10:20:23 +0300
> @@ -0,0 +1,2 @@
> +'locale' is not recognized as an internal or external command,
> +operable program or batch file.
> D: contents//diffs/contents_at_begin.diff (printed above)
>
> There are two problems here:
>
> . input_file_names_recoded_stamp.txt doesn't exist, because it is
> generated by a Makefile rule (which fails due to non-ASCII
> characters);
> . the 'locale' command (where is that called?) is not available on
> MS-Windows.
On a hunch, I did two things:
. created a file tp/tests/input_file_names_recoded_stamp.txt with
the text FAILED in it;
. made the change below in tp/Texinfo/Translations.pm.
Then running a single test with
$ ./run_parser_all.sh -dir contents contents_at_begin
succeeded. Will now try running more tests with these tricks.
Here's the diff to Translations.pm, it is AFAIU needed because the
Windows locale names don't follow the Posix patterns. Instead, they
are 3-letter names, like "ENU" for en_US, "FRA" for fr_FR, etc. The
diff below should be obviously conditioned by this being MS-Windows.
--- ./tp/Texinfo/Translations.pm~0 2022-10-19 18:30:05.000000000 +0300
+++ ./tp/Texinfo/Translations.pm 2022-10-23 13:28:19.459500000 +0300
@@ -96,6 +96,9 @@ sub gdt($$;$$$)
if (!$locale) {
$locale = POSIX::setlocale(LC_ALL, "en_US")
}
+ if (!$locale) {
+ $locale = POSIX::setlocale(LC_ALL, "ENU")
+ }
our $locale_command;
if (!$locale and !$locale_command) {
$locale_command = "locale -a";