Dear all,

The situation is trickier than someone might hope.  Aside of the Tcl version dependencies (as Brian pointed out), Tcl before 8.7 do not support TCL_UTF_MAX with longer multi-byte sequences than 4 (see Tcl TIP 389), which are also mostly relevant for some newer emojis. So, for full emoji support, Tcl 8.7 with the proper compilation options is needed.

Anyhow, in the case of Wolfgang's the "Smiling Face with Open Mouth" we have just a 4-byte UTF-8 character, which is supported by out-of-the-box Tcl 8.6. However, this emoji is represented Tcl-internally as a 6-byte sequence. Since NaviServer wrongly assumed that Tcl-internal representations are also accepted as external representations, a conversion step was omitted for utf-8 (which is not always true).

In the tip version of NaviServer on Bitbucket, this optimization is now removed, the examples work as expected, the regression test is extended for this case.

Many thanks to Wolfgang for the good bug report.

-g





_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to