Recently, there was a lot of discussion about a side-effect
for TIP #389: Full support for Unicode 10.0 and later (part 1),
more specifically:
$ tclsh8.7
% string length 🤝
2
The only option I see which can solve that is defining
TCL_UTF_MAX=4 when building Tcl. But .... that would
mean that sizeof(Tcl_UniChar) = 4 (was: 2), which means
that all extensions need to be recompiled, something which
is not acceptable for a minor release.
However, I have been investigating a way out of this: We
can build Tcl with TCL_UTF_MAX=4, but still keep
TCL_UTF_MAX=3 in tcl.h. A number of functions affected
by this change, can be split in UTF-16 and UTF-32 functions,
where the UTF-16 variant is used when TCL_UTF_MAX=3 and
the UTF-32 variant in TCL_UTF_MAX=4. It's a kind of
UTF-16 compatibility layer restoring binary compatibility
for extensions.
This approach appears to be working now, and a TIP
is written describing this:
<https://core.tcl-lang.org/tips/doc/trunk/tip/622.md>
Implementation is in the "full-utf-for-87" branch.
<https://core.tcl-lang.org/tcl/timeline?r=full-utf-for-87>
So, I would like to start discussing this idea.
Regards,
Jan Nijtmans
_______________________________________________
Tcl-Core mailing list
Tcl-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcl-core
<https://core.tcl-lang.org/tips/doc/trunk/tip/622.md>
Almost one month has passed since I asked people to
look at the branch, I don't think anyone did (at least
no-one reported any feedback). Since the implementation
and TIP are finished, no-one appears to have issues,
let's start the vote.
Implementation is in the "full-utf-for-87" branch.
<https://core.tcl-lang.org/tcl/timeline?r=full-utf-for-87>
Let's try to have votes in about three weeks, to conclude
Monday May 16 noon, UTC, or [clock format 1652702400].
If more time is needed, let me know, then the period
can still be extended.
My vote:
TIP 622: YES
Regards,
Jan Nijtmans
Op di 29 mrt. 2022 om 18:30 schreef Jan Nijtmans:
This is the Call For Votes for TIP #622.