www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/06/12/06:15:46

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 65CAFknK3691085
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 65CAFknK3691085
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=IxxMxlgh
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3425F4BA2E1A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1781259344;
bh=mTtTXzWOTr0LNMME9pzjHfkbtiSuXcgTvoNqBxkLhm4=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=IxxMxlghF71W5OqF3KcyDKhFBOs21Hk70dZPVXldntNfj/duwI7AZop0XEpq79Qyk
GDt7I6xmBd1pMSbTqvRyrk8RHfgaL4HT8tm8oYd1U4wtjawrLLLlfJ/2OytOJgtIEH
HGVnnGRko7tIvzdkLFu+1I4SMvyMsLySeN3EsoXk=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D4054BA2E16
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7D4054BA2E16
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1781259323; cv=none;
b=M6BjqZPwi4LTE+G1lajLbMKT+StLizTMP4VFmzGRpdRO3D4ZcnP/v5Cierqg/P5IijrDxNrJ6EJPCqyQXjz4XiQl1HgEGsCbRCUsX8TcLk8ymUVWXvpINVkZEHbRgBoiBXVWaESyhBuqIo3vQAn+5dM+cvOLD7W8PHSQvI1PX3M=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1781259323; c=relaxed/simple;
bh=YDLXLfvLG4gG1ZcIcZvrvP6CZgeOKO9gIA+7Fbmw41E=;
h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From;
b=bsV+62YurNvDlxrMBphzQG/4LMalps6LU+gKjDVu2aHoDlXjvnPQqPyEEmU/h5ED9JZy34cc+65ULPAd0a8tF48RQkKwWrwO8GhThWcGOgQiOtT03WXUflUHSrS+cHzypdktCZ3ihLXHZBhDhcoonTPezrEOmEtgVm0PUediZss=
ARC-Authentication-Results: i=1; sourceware.org;
dkim=pass (2048-bit key, unprotected)
header.d=towo.net header.i=towo AT towo DOT net header.a=rsa-sha256
header.s=s1-ionos header.b=0FIk5zzL
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D4054BA2E16
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Message-ID: <fe9d86bc-fdaf-4942-ba50-d3defb31d2b1@towo.net>
Date: Fri, 12 Jun 2026 12:15:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: wcwidth broken with gcc 16
To: cygwin AT cygwin DOT com
References: <a9676834-0368-4a8a-88b0-da5e9483b536 AT towo DOT net>
<874ikpawdk DOT fsf AT Gerda DOT invalid>
<8ff2ab8d-dfdc-459c-96f3-ed4a4f451440 AT towo DOT net>
<0140C1F4-CA22-46DE-AE21-69C5427C59B5 AT unified-streaming DOT com>
<e94174b7-ea9b-45ca-bfd3-7979ce988920 AT towo DOT net>
<e362b49c-521c-4cd5-8963-c17d5770619b AT SystematicSW DOT ab DOT ca>
<fbbeb91a-4c5a-dbe6-1bb3-206cf14a73bc AT wisemo DOT com>
<4f885156-7772-43d7-ab72-c88f0a7d1e52 AT towo DOT net>
<112594ad-3c25-4dad-b1bc-071b4951ed98 AT towo DOT net>
<97f0f3c6-9f2c-429c-aa8e-875b7806b275 AT towo DOT net>
<8733z9jpfj DOT fsf AT Gerda DOT invalid>
<b70d8366-8970-4cdc-a693-6d826fe76277 AT towo DOT net>
<b8c1571a-1956-4316-a6a9-32176b6c7c80 AT towo DOT net>
<87pl2bab08 DOT fsf AT Gerda DOT invalid>
<2a39e204-bd8b-4511-bd34-703899600e9e AT towo DOT net>
<87ldcza133 DOT fsf AT Gerda DOT invalid>
<21ca1d38-7b82-49af-b954-b83141237843 AT towo DOT net>
<5c46f199-128c-4409-a354-9d3e1deb29bb AT towo DOT net>
<87y0gyyqm2 DOT fsf AT Gerda DOT invalid>
<bd3062e4-47c4-45f3-b44c-004dc7e889f3 AT towo DOT net>
<CAJ1FpuNwd4TcJFv+3z2tsDWMADfSC=+1v9m1p9a3vK9xs4bZ_Q AT mail DOT gmail DOT com>
Autocrypt: addr=towo AT towo DOT net; keydata=
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 kQ==
In-Reply-To: <CAJ1FpuNwd4TcJFv+3z2tsDWMADfSC=+1v9m1p9a3vK9xs4bZ_Q@mail.gmail.com>
X-Provags-ID: V03:K1:EC4UJKVbHXH9pN8c4xPct5HZoU5xui4Bj92/3hZ5iOHzeVcsxd0
8//xRSSlAwJ4F7haH8DHO3z2fwBqZyWVuIK7+GVLkk2O4GWEQLgcPsEErEwUNmCLGy1GxFf
ppLI2eLT3HZr+7NedEDi9ZFABOAfVBMWDSq+AoQsiWE0qY4dcVnEsEPSgAonOuVs6UBdO/2
1XSHpYZtU/9XvdU8P3B5Q==
UI-OutboundReport: notjunk:1;M01:P0:v0v+cJJ7710=;baF+CzDynTz7huTfo+xIY5nFG1P
QzQWVZyQOVdcri+dC+FusK+JKb7XOKnQSbqLxzEruYTy7kUTXYhiP9IHKFtwNbR15szrZdtnr
YjRiZ5OGpgsflNgITDg9et5hE/EeQkgw0WfzqfzErp+jJXhb8aaoZHLSvFmKR4rPgs7c8b3OE
Yr58NsbXJeutsmMSJuVIuD482Vhw9qt2fg4bwNYi+RnT+obPPctbiM25JHju9ZI4Ofy+r4+MO
TECJ4p37aytW5o0hWuJdcUjX0ZFz8lJ/wUs6P59E3sr75XbTevoKNQ1AYaaIt4D1C9zFUubeg
ySEi5ozm6zHC4H0E7S2oaS2BSkCf33HGl8CCeXnq39vHq+p60YaBEnj4Pvj0icHWIsC0xW71t
xoimW9mPN+Ko+Qfzl5A6MNDBa96+JpWxNfAHfMe3hlcL+2OyBd/cOlMH+/vtElrfOimOIywOa
hyBjQjPgzEX9zLcnfExAZbAaLpq6S5v0AeMpsAWdnpqKG+4o8BXqxdSpQb42bishHVnhRPPoz
vlDRkj4CSM97I7ZEChFYBoW8zB/TO82A/bo1SbxMDzbJRFGbt40ZMYltPZxMZ/HJWynGjksXo
JkuApZuzS6KcQe3UAEsJssqm2gWAaUVnYnriTzATkY9K0RkR/RwMTs/GVKBPzW9J1+32wIrZC
MGM3Uf4SE2I1zryKI6KOMr49vH9WGA5uPTEhIAToo2O40FC4QOJzR+tjE1DPYV/G59wwErZw/
5vTbH1pURmvvDB/hidbagOJ6txcL7mQK+y1JXqhyTayq4qRrx5zEktCDg18qFkD9VkhH6X2IH
NqOC7wb8jrsWc5ul+bWVMppqhTekZbqBEMHtJB4i+Q/rxho2IE8uxOULT/A1KD2ZZuNlCbHjz
SsK53hrxhoLBkXdf0Pp6yBoVO4Oht3c2ZnxH+jlJMoZBpcqtqfb73rBG0Rx4PuazOdEIV7hSI
DufilV9iCutwUP2VVHe8EEGgWBSmwPnyy7wSsZAUdYHmhlZ0QkUo8fSDMR+kndKi7uN+ZjRdI
MIr7IaCKipLYt9Dd61U/mBR8u253rRpZF26Q2XT60CydCeAd5+s/R2qeyzo/qMqadLXvH/dbJ
UyQTzIRlbY2wPczKkQO/k+ek9gm/Db6BDdiotZBwV8r7Q1+WP2JvUFsIJ1SaMFbR7nLv4ljYi
jLNFTFMY1CftgN04nDjDuUAfXVCbJdnuXktHMtVmKsvtM4vd/shBYktfjU9IFH1WyDFf/8fYn
s/td5gmdn9z4ECVijQ3a1gmV/Qg0j5Rrx0ctXL5Hq2S3NeR3N7mi5aYFSKKdtN9joVhRvqIru
KC+Umt9TGBykvsvGtS/LeMOqUfjnrsY7wk4dvdy9wDd910tSgdTHwYFMieWbs/UkSyx7UgMz3
BxCDWI4VdA5yf5mhG2G+JmcXekKcnSG1aCUu3X6w+EZ9EwSvvpvS9sza9gmPKFcX0F8VQkeLb
DayZC0z5fZiBjalW0voyS5H1M9hsQtMLpm5GAmFrQaanG87dpXgm89dVARtjpgSLwziQ5D8C/
pWhx5XFwPhiKSjNzlWVpHEe9ZQg0C1WrdbtNQGFDvw4AXSnmXHvDi1u6kIDl/1S4IQxQ/xqa+
p90ISXI2R0/KGCwaXmqlDVLdsffOufXest661lIH9MZU0qhBeJ8DBTkZYv+cQqSRs7QMiCvPG
ZANBMBvSuBKbr7MjKbq+SlhbFyUg04cBarCimcnRosvlWEoeJ43jqrdTm3LhKp1zEHhVuA6AY
VLYcSdb7czHC0RsmOqr1GWQ3hCx1Ne0hFUC0JsuT98KoQT56jVczhVETNFGS86Z8R0p4rRP2I
+D58Nd6qOMcCktlccyvrOAr1c/DGpqdV5bt20jqqEKxooh33cuzo8LXHTmOMX05VcpPpDp2rM
B4FoRjfmQC6TfhsmtP7D3g6LIHyZFcYQoCENlw=
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Thomas Wolff via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Thomas Wolff <towo AT towo DOT net>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 65CAFknK3691085

Hi Doug,

Am 02.06.2026 um 20:43 schrieb Doug Henderson via Cygwin:
>   On Tue, Jun 2, 2026 at 1:46 AM Thomas Wolff via Cygwin <cygwin AT cygwin DOT com>
> wrote:
>
> Thomas Wolff, et. al.,
>
> I have been carefully following this discussion of technical issues, API
> conformance, and related issues,.
>
> There has been no significant discussion of the user experience that
> depends on the resolution of this problem.
>
> Will non-BMP Unicode code points display correctly in terminal windows
> (that use an appropriate font), e.g. mintty?
I noticed the problem when I compiled mintty on a system where I had 
installed the test release of gcc 16 and various display widths were 
wrong, actually also within the BMP. So a fix was needed and it turned 
out that the issue was raised by, as I still think, wrong sign-extension 
of a 16-bit value to a 32-bit parameter by gcc 16 where previous gcc 
versions had only applied unsigned bit extension. Well, for subtle 
reasons, this was not accepted as a bug in gcc, so the cygwin API had to 
be adjusted.
About non-BMP characters, requesting their width with the wcwidth 
function never used to work (my first plan was to make it work but this 
was rejected as not standard-conformant and in fact would not have been 
portable so actually useless in the first place). If a program wants to 
determine the locale width of a non-BMP character on a UTF-16-based 
system, it needs to split it into its Unicode surrogates and use the 
wcswidth function. This was also done by mintty already, so there was no 
non-BMP-specific problem.
This will be handled under-the-hood by mintty, applications can use 
UTF-8 4-byte sequences towards the terminal of course.

> Non-BMP Unicode code points include emojis, mathematical script glyphs, and many others.
>
> For me, I care if a small Python script like:
>
> $ type main.py
> print("U+01D49E ‹ð’žâ€º  GC=Lu    MATHEMATICAL SCRIPT CAPITAL C")
>
> outputs:
> U+01D49E ‹ð’žâ€º  GC=Lu    MATHEMATICAL SCRIPT CAPITAL C
Your test case does not cover the problem. Plain output will always 
appear properly as long as you don't reach the end of the line.
The question is whether for example python has an idea of current cursor 
position and whether it is consistent with output.
Maybe you can try to evaluate that too.

> on Windows Terminal, as expected
>
> and when running cygwin in a mintty window:
>
> $ uname -a
> CYGWIN_NT-10.0-26200 mercury 3.6.9-1.x86_64 2026-04-21 15:46 UTC x86_64
> Cygwin
> $ mintty --version
> mintty 3.8.2 (Cygwin-x86_64)
> $ date
> Jun  2, 2026 11:36:33
> $ python3 -V
> Python 3.12.12
> $ cat main.py
> print("U+01D49E ‹ð’žâ€º  GC=Lu    MATHEMATICAL SCRIPT CAPITAL C")
> $ python3 main.py
> U+01D49E ‹ð’žâ€º  GC=Lu    MATHEMATICAL SCRIPT CAPITAL C
>
> correctly displays the Mathematical Script Capital C glyph as seen in the
> attached screen capture.
>
> If the resolution of this problem changes "our" user experience, that will
> be another problem.
>
> As an after thought, I may be seeing success due to the byte stream
> containing UTF-8 4-byte sequences all the way through Windows 11 APIs,
> without any conversions to UTF-16 or UTF-32.
>
> I am not so up-to-date with C as to rattle off a demo in seconds, as I can
> in Python. I would like to see such a minimal C demo program that I can try
> with cmd in WT, with MINGW64 in mintty, and with cygwin in mintty. The demo
> should send UTF-8 4-byte, UTF-16 2-short, and UTF-32 1-long characters, if
> possible. TIA.
>
> Just my take,
> Doug
>
> -- Doug Henderson, Calgary, Alberta, Canada - from gmail.com
>


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019