New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unicode: U+0000 is not in Cc #10153
Comments
CC @mpvl@golang.org |
This is probably due to unicode/maketables.go saying:
Not clear how much we care. That's up to Rob and Marcel, but we should probably close this one way or the other. |
Nice find. My opinion is that U+0000 should be in Cc, but it's only a weak and uninformed opinion. Mostly I'm curious about why it's regarded as uninteresting. |
Sorry, missed this earlier. I agree that U+0000 should be in Cc. Not doing so will lead to bugs in certain Unicode algorithms. OTOH, fixing it may expose bugs in faulty code quite easily. Unless people object and want it earlier, I can fix this after the 1.5 freeze. Ideally there is a long period before a freeze changing this. |
Let's do it in 1.6. A freeze is a freeze. Arguably this is a bug but it's also a behavior change. |
CL https://golang.org/cl/13667 mentions this issue. |
This because U+0000 is now part of unicode.C (cf. golang/go#10153), but is not allowed in path names.
The first line of UnicodeData.txt defines U+0000 as being in category Cc. But package unicode seems to disagree, as confirmed by this program:
Given the provenance of this package and the fact that tables.go is auto-generated, I'm sure I've missed something. What's the reason for rune zero not being in
Cc
?The text was updated successfully, but these errors were encountered: