From: Tomi Ollila Date: Thu, 9 Jun 2016 19:35:12 +0000 (+0300) Subject: devel/man-to-mdwn.pl: portable locale environment variable setting X-Git-Tag: 0.23_rc0~92 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=1e96445cb5dc333e22b9ce01245902ba23fdb437 devel/man-to-mdwn.pl: portable locale environment variable setting Setting locale environment variables (LC_* and LANG) to e.g. en_US.utf8 works fine on Linux, and that is what locale -a returns (in Linux). However this does not work e.g. in some *BSD systems. In these systems, en_US.UTF-8 works. This also works in Linux systems (which may look like a surprising thing on the first sight(*)). But that *UTF-8 format seems to be widely used in the Linux system: Grep it through the files in /etc/, for example. Easy way to test: Run the following command lines. First should complain about setting locale failed, and second should not. $ LC_ALL=en_US.UTF-1 perl -e '' $ LC_ALL=en_US.UTF-8 perl -e '' (*) and who knows what the "standard" is... --- diff --git a/devel/man-to-mdwn.pl b/devel/man-to-mdwn.pl index f9d31b73..a3c40695 100755 --- a/devel/man-to-mdwn.pl +++ b/devel/man-to-mdwn.pl @@ -66,7 +66,7 @@ while (my ($k, $v) = each %fhash) my @lines; open I, '-|', qw/env -i/, "PATH=$ENV{PATH}", - qw/TERM=vt100 LANG=en_US.utf8 LC_ALL=en_US.utf8/, + qw/TERM=vt100 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8/, qw/GROFF_NO_SGR=1 MAN_KEEP_FORMATTING=1 MANWIDTH=80/, qw/man/, $v or die "$!"; binmode I, ':utf8';