gen.go: support Unicode 10.0.0 version string
Correct ordering for upcoming
Unicode 10 string.
Change-Id: Id239f02f8c5b7cfa64fa9e9ce649a192350e0b39
Reviewed-on: https://go-review.googlesource.com/63173
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/gen.go b/gen.go
index 79af97e..cccdf0c 100644
--- a/gen.go
+++ b/gen.go
@@ -25,7 +25,9 @@
"sync"
"unicode"
+ "golang.org/x/text/collate"
"golang.org/x/text/internal/gen"
+ "golang.org/x/text/language"
)
var (
@@ -72,11 +74,8 @@
fmt.Printf("Requested Unicode version %s; core unicode version is %s.\n",
gen.UnicodeVersion(),
unicode.Version)
- // TODO: use collate to compare. Simple comparison will work, though,
- // until Unicode reaches version 10. To avoid circular dependencies, we
- // could use the NumericWeighter without using package collate using a
- // trivial Weighter implementation.
- if gen.UnicodeVersion() < unicode.Version && !*force {
+ c := collate.New(language.Und, collate.Numeric)
+ if c.CompareString(gen.UnicodeVersion(), unicode.Version) < 0 && !*force {
os.Exit(2)
}
updateCore = true
diff --git a/unicode/rangetable/gen.go b/unicode/rangetable/gen.go
index bea49dd..6a64e42 100644
--- a/unicode/rangetable/gen.go
+++ b/unicode/rangetable/gen.go
@@ -13,12 +13,13 @@
"io"
"log"
"reflect"
- "sort"
"strings"
"unicode"
+ "golang.org/x/text/collate"
"golang.org/x/text/internal/gen"
"golang.org/x/text/internal/ucd"
+ "golang.org/x/text/language"
"golang.org/x/text/unicode/rangetable"
)
@@ -37,8 +38,9 @@
log.Fatal(bootstrapMessage)
}
+ c := collate.New(language.Und, collate.Numeric)
versions := strings.Split(*versionList, ",")
- sort.Strings(versions)
+ c.SortStrings(versions)
// Ensure that at least the current version is included.
for _, v := range versions {
@@ -48,7 +50,7 @@
}
versions = append(versions, gen.UnicodeVersion())
- sort.Strings(versions)
+ c.SortStrings(versions)
return versions
}