diff options
author | Norbert Preining <preining@logic.at> | 2021-03-23 03:34:22 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2021-03-23 03:34:22 +0000 |
commit | 909dfc060a5f0f5e1ca8bd16ef551a6ccd9cdd2d (patch) | |
tree | a482d975788749002f3980771ded1a365b96b7d5 /Master | |
parent | b8ae22a07f6691b825debf68356839edf93f7bc0 (diff) |
installer@windows: make sure that output is not scrambled on non-utf8 setups
Patch by Masamichi Hosoda
git-svn-id: svn://tug.org/texlive/trunk@58646 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-x | Master/install-tl | 9 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLWinGoo.pm | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Master/install-tl b/Master/install-tl index 7f40c7a8d25..a56dd3ac56b 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -158,6 +158,12 @@ use TeXLive::TLDownload; use TeXLive::TLPaper; if (win32) { + require Encode::Locale; + Encode::Locale->import (); + binmode (STDIN, ':encoding(console_in)'); + binmode (STDOUT, ':encoding(console_out)'); + binmode (STDERR, ':encoding(console_out)'); + require TeXLive::TLWinGoo; TeXLive::TLWinGoo->import( qw( &is_vista @@ -2492,6 +2498,9 @@ sub do_cleanup { $::LOGFILENAME = "$vars{'TEXDIR'}/install-tl.log"; if (open(LOGF,">$::LOGFILENAME")) { $::LOGFILE = \*LOGF; + if (win32) { + binmode (LOGF, ':utf8'); + } foreach my $line(@::LOGLINES) { print $::LOGFILE "$line"; } diff --git a/Master/tlpkg/TeXLive/TLWinGoo.pm b/Master/tlpkg/TeXLive/TLWinGoo.pm index f5ccd83217a..8465eca6d3d 100644 --- a/Master/tlpkg/TeXLive/TLWinGoo.pm +++ b/Master/tlpkg/TeXLive/TLWinGoo.pm @@ -1426,7 +1426,7 @@ sub maybe_make_ro { my $cmd = 'cmd /c "icacls . /reset && icacls . /inheritance:r'. ' /grant:r *S-1-5-32-544:(OI)(CI)F'. ' /grant:r *S-1-5-11:(OI)(CI)RX /grant:r *S-1-5-32-545:(OI)(CI)RX"'; - log "Making read-only\n".`$cmd`."\n"; + log "Making read-only\n".Encode::decode(console_out,`$cmd`)."\n"; # go back to original directory chdir $curdir; |