mquinson / po4a

Maintain the translations of your documentation with ease (PO for anything)
http://po4a.org/
GNU General Public License v2.0
127 stars 62 forks source link

PO validity check for 0.52 breaks on Windows #65

Closed Elberet closed 6 years ago

Elberet commented 6 years ago

During my evaluation of po4a 0.52 I've encountered a regression over 0.51, possibly introduced in 1107d64 in lib/Locale/Po4a/Po.pm:258. When running e.g. po4a-translate through Strawberry Perl on Windows, the command in $cmd is eventually passed to cmd.exe which doesn't understand the POSIX-style environment variable declaration. The result is a message such as this:

Invalid po file doc/src/some/file.po:
'LC_ALL' is not recognized as an internal or external command,
operable program or batch file.
mquinson commented 6 years ago

Hello, sorry for my crude hack here. We should use the standard perl way of adding a variable to the environment, without relying on a shell to execute our commands.

Elberet commented 6 years ago

Thanks for taking the time to fix this... but see https://github.com/mquinson/po4a/commit/1529c55c901fca705ea65d2a374dd03ea7eb3931#r29919692 - as it is now, the child process is run without an adjusted LC_ALL.

mquinson commented 6 years ago

Thanks for noticing. I hope it's OK now...

Elberet commented 6 years ago

Looks fine to me. 👍