On Wed, Sep 23, 2026 at 08:24:39PM -0400, D wrote:
> Hopefully there should be no significant differences between mine and
> Jakob's patchset.
> 
> Assuming that Jakob's will be upstreamed over mine, I at least should
> be given co-credit, since I worked on this before Jakob submitted his
> on the mailing list...

My patch has been committed already, see https://gcc.gnu.org/r17-4409
and the commit log can't be amended anymore.
>From what I can see, there are some differences between the patches,
so where it is intentional please mail separate incremental patches instead.

>From what I can see, you've non-trivially changed
libstdc++-v3/include/bits/unicode.h, that change should be posted separately
to Jonathan and both [email protected] and [email protected]
mailing list with rationale, explaining what if anything has changed in the
Unicode algorithm and likely needs to be covered by a testcase.
Patches should have a ChangeLog entry in the commit message,
see https://gcc.gnu.org/codingconventions.html

The libcpp/makeuname2c.cc changes in your patch are incorrect, the idx needs
to be unique for every unique prefix, all ranges with say
"CJK UNIFIED IDEOGRAPH-" have the same idx but "JURCHEN CHARACTER-"
and "NUSHU CHARACTER-" need each a different one.  For each new range some
test coverage is needed (included in my commit) and that wouldn't pass with
your version.

I see you've regenerated libcpp/printable-chars.inc and
libcpp/combining-chars.inc, I didn't.  The reason is simple,
contrib/unicode/README doesn't document those.  So, the README should
be patched first to say to also run those.  Or maybe better not, because
unlike the other scripts it actually uses python3-libs unicodedata instead
of parsing the updated contrib/unicode/*.txt files.  That means
it actually doesn't update the files to the new Unicode standard, but
usually a few years old one (both my python3-libs and what you've posted
seems to be Unicode 16, so 2 years old now).  I think it would be best
to change those scripts to actually parse the files, e.g. for
combinindg-chars.inc I think all it cares is about parsing the first
(codepoint) and 4th ; separated column of UnicodeData.txt, if the 4th is
0, it is not combining, if it is something else, it is combining.
I fail to see the point of the is_combining array, it is always 0, 1
repeated many times, why do we need it?
printable-chars.inc similarly, why do we need is_printable and
it is 1st and 3rd column, if 3rd column starts with C, it is non-printable,
if it doesn't, it is printable.

contrib/unicode/gen-box-drawing-chars.py likely doesn't need to be ever
rerun because it only looks up the codepoints for a few chars with names
and the names and codepoints should be immutable.

        Jakub

Reply via email to