I’m pretty sure this is a bug, though I can’t figure out where it comes from.
When compiling for the Z-machine, Dialog is fine outputting Unicode characters, but it won’t accept them in input. So it’s fine to have a word like there’s
(with a fancy apostrophe) in output, but it can’t appear in anything that’s used for parsing (i.e. in a (collect words)
).
However, it also complains if they appear in a closure. Here’s a minimal example:
(program entry point)
(query {there’s})
To cause the error, compile like so:
dialogc mwe.dg stdlib.dg -t z5
The result:
Error: Unsupported character U+2019 in dictionary word '@there’s'.
And now here’s the bizarre part. This bug disappears if you don’t include the standard library, even though no code from the standard library ever gets run.
What’s going on here?