The comment on IsOneOf regarding Latin-1 was an implementation detail:
when the function is called internally, that condition is true. It used to matter,
but now the comment is a dreg. The function works fine if the character is
Latin-1, so we just delete the comment.
Fixes #2966.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/
5655047
}
// IsOneOf reports whether the rune is a member of one of the ranges.
-// The rune is known to be above Latin-1.
func IsOneOf(set []*RangeTable, r rune) bool {
for _, inside := range set {
if Is(inside, r) {
// IsControl reports whether the rune is a control character.
// The C (Other) Unicode category includes more code points
-// such as surrogates; use Is(C, rune) to test for them.
+// such as surrogates; use Is(C, r) to test for them.
func IsControl(r rune) bool {
if uint32(r) <= MaxLatin1 {
return properties[uint8(r)]&pC != 0
// Methods of SpecialCase customize (by overriding) the standard mappings.
type SpecialCase []CaseRange
-//BUG(r): Provide a mechanism for full case folding (those that involve
-// multiple runes in the input or output).
+// BUG(r): There is no mechanism for full case folding, that is, for
+// characters that involve multiple runes in the input or output.
// Indices into the Delta arrays inside CaseRanges for case mapping.
const (
// SimpleFold iterates over Unicode code points equivalent under
// the Unicode-defined simple case folding. Among the code points
// equivalent to rune (including rune itself), SimpleFold returns the
-// smallest r >= rune if one exists, or else the smallest r >= 0.
+// smallest rune >= r if one exists, or else the smallest rune >= 0.
//
// For example:
// SimpleFold('A') = 'a'
fmt.Printf("const Version = %q\n\n", version())
if *tablelist == "all" {
- fmt.Println("// Categories is the set of Unicode data tables.")
+ fmt.Println("// Categories is the set of Unicode category tables.")
fmt.Println("var Categories = map[string] *RangeTable {")
for _, k := range allCategories() {
fmt.Printf("\t%q: %s,\n", k, k)
// Version is the Unicode edition from which the tables are derived.
const Version = "6.0.0"
-// Categories is the set of Unicode data tables.
+// Categories is the set of Unicode category tables.
var Categories = map[string]*RangeTable{
"C": C,
"Cc": Cc,