diff --git a/msys2-runtime/0029-Cygwin-pty-Prevent-garbled-output-when-pseudo-consol.patch b/msys2-runtime/0029-Cygwin-pty-Prevent-garbled-output-when-pseudo-consol.patch new file mode 100644 index 00000000..3d4c0634 --- /dev/null +++ b/msys2-runtime/0029-Cygwin-pty-Prevent-garbled-output-when-pseudo-consol.patch @@ -0,0 +1,32 @@ +From cfe1db3994b9c466b4bc1fc83d21d98e81a835a0 Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Fri, 4 Sep 2020 18:31:35 +0900 +Subject: [PATCH 29/N] Cygwin: pty: Prevent garbled output when pseudo console + is disabled. + +- If pseudo console is disabled, non-cygwin apps do not detect + console device. In this case, the some apps may output messages + based on the locale. In addition, some apps output UTF-8 string + regardless of the locale setting. At least git-for-windows and + node.js do that. Even in this case, garbled output is prevented + with this patch in most cases because mintty uses UTF-8 by default. +--- + winsup/cygwin/fhandler_tty.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc +index 43eebc1..b9cb45b 100644 +--- a/winsup/cygwin/fhandler_tty.cc ++++ b/winsup/cygwin/fhandler_tty.cc +@@ -2905,6 +2905,8 @@ fhandler_pty_slave::setup_locale (void) + get_ttyp ()->term_code_page = cs_names[i].cp; + break; + } ++ SetConsoleCP (get_ttyp ()->term_code_page); ++ SetConsoleOutputCP (get_ttyp ()->term_code_page); + } + + void +-- +2.27.0 + diff --git a/msys2-runtime/PKGBUILD b/msys2-runtime/PKGBUILD index 7ff85a63..8aad6ee3 100644 --- a/msys2-runtime/PKGBUILD +++ b/msys2-runtime/PKGBUILD @@ -5,7 +5,7 @@ PKGEXT='.pkg.tar.xz' pkgbase=msys2-runtime pkgname=('msys2-runtime' 'msys2-runtime-devel') pkgver=3.1.7 -pkgrel=1 +pkgrel=2 pkgdesc="Cygwin POSIX emulation engine" arch=('i686' 'x86_64') url="https://www.cygwin.com/" @@ -51,7 +51,8 @@ source=('msys2-runtime'::git://sourceware.org/git/newlib-cygwin.git#tag=cygwin-$ 0025-Set-up-a-GitHub-Action-to-keep-in-sync-with-Cygwin.patch 0026-recursiveCopy-Always-close-the-used-handle-with-Find.patch 0027-fixup-Add-functionality-for-converting-UNIX-paths-in.patch - 0028-Expose-full-command-lines-to-other-Win32-processes-b.patch) + 0028-Expose-full-command-lines-to-other-Win32-processes-b.patch + 0029-Cygwin-pty-Prevent-garbled-output-when-pseudo-consol.patch) sha256sums=('SKIP' '05d43b352507d4677f7fa5ce8aef767989fd01420cf6c51e2ee89404a4e5e0b5' 'e02a8cd70a1dea961c98861186b1eee61c946f13ba161edb4917f621304ca688' @@ -80,7 +81,8 @@ sha256sums=('SKIP' '7eda58471b242c0cce4bf621b991ee24a55c993d8076a2c5ddba96b2fa8021bc' 'efbb68f4ede3fd6e10d0646d57c3ce4ab73e0b1d7638fc7da2a72f2c3105a6ad' 'aa59267ad0a646d66a6dc5da9b50ad3d567ba7742f91f5ff10c7a8dba494fc3a' - '0dde7b9bea4cc8008afb62448eabab477b2b2eebdad8a97defc9bf59fc195b29') + '0dde7b9bea4cc8008afb62448eabab477b2b2eebdad8a97defc9bf59fc195b29' + '2304a85c93d9c530d02848c697d0ff0d824889c7c51ba85ce1d18fd630ceefb4') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -145,7 +147,8 @@ prepare() { 0025-Set-up-a-GitHub-Action-to-keep-in-sync-with-Cygwin.patch \ 0026-recursiveCopy-Always-close-the-used-handle-with-Find.patch \ 0027-fixup-Add-functionality-for-converting-UNIX-paths-in.patch \ - 0028-Expose-full-command-lines-to-other-Win32-processes-b.patch + 0028-Expose-full-command-lines-to-other-Win32-processes-b.patch \ + 0029-Cygwin-pty-Prevent-garbled-output-when-pseudo-consol.patch } build() {