Strange. According to Unicode the surrogates are only unassigned
characters but not illegal code points. They are legal code points.
But the release notes say the are illegal code points:
Anyway with the latest version on Windows I get a re-read problem:
?- X = "abc💐def💐ghi".
X = "abc\uD83D\uDC90def\uD83D\uDC90ghi".
?- X = "abc\uD83D\uDC90def\uD83D\uDC90ghi".
ERROR: Syntax error: Illegal character code
ERROR: X = "abc
ERROR: ** here **
ERROR: \uD83D\uDC90def\uD83D\uDC90ghi" .
So what is shown as an answer substition in the Windows
top-level, cannot be repasted and used. You see the
problem here. Strange that I can paste the string using
no escapes in the first query. But then it shows with escapes
in the answer, and subsequent usage fails. The error message
says something else than the release notes, here its character:
P.S.: I got the idea that its a legal code point and an unassigned character
from ISO_IEC_10646_2020, which shows me. But some encodings might
of course forbid it, but inside Unicode they are not really forbidden as code points.