Clean up go.mod and vendor

This commit is contained in:
Wim 2020-01-09 18:21:10 +01:00
parent c9d5f4c898
commit b9354de8fd
23 changed files with 1965 additions and 11610 deletions

6
go.mod
View File

@ -55,12 +55,6 @@ require (
github.com/technoweenie/multipartstreamer v1.0.1 // indirect github.com/technoweenie/multipartstreamer v1.0.1 // indirect
github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect
github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447 github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447
gitlab.com/golang-commonmark/html v0.0.0-20180917080848-cfaf75183c4a // indirect
gitlab.com/golang-commonmark/linkify v0.0.0-20180917065525-c22b7bdb1179 // indirect
gitlab.com/golang-commonmark/markdown v0.0.0-20181102083822-772775880e1f
gitlab.com/golang-commonmark/mdurl v0.0.0-20180912090424-e5bce34c34f2 // indirect
gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe // indirect
gitlab.com/opennota/wd v0.0.0-20180912061657-c5d65f63c638 // indirect
golang.org/x/image v0.0.0-20190220214146-31aff87c08e9 golang.org/x/image v0.0.0-20190220214146-31aff87c08e9
gopkg.in/fsnotify.v1 v1.4.7 // indirect gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect

23
go.sum
View File

@ -136,8 +136,6 @@ github.com/matterbridge/gozulipbot v0.0.0-20190212232658-7aa251978a18 h1:fLhwXtW
github.com/matterbridge/gozulipbot v0.0.0-20190212232658-7aa251978a18/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA= github.com/matterbridge/gozulipbot v0.0.0-20190212232658-7aa251978a18/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA=
github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61 h1:R/MgM/eUyRBQx2FiH6JVmXck8PaAuKfe2M1tWIzW7nE= github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61 h1:R/MgM/eUyRBQx2FiH6JVmXck8PaAuKfe2M1tWIzW7nE=
github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU= github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU=
github.com/matterbridge/slack v0.1.1-0.20191207211853-5b5f1326cdab h1:4eNOoF+qvyXTwmlD5PwEwPHEpYAUTh2KpEjmEZOSVyE=
github.com/matterbridge/slack v0.1.1-0.20191207211853-5b5f1326cdab/go.mod h1:2uCJim0Ct2z1Uj+XQq47KCLLC1b/9UTYaZOvDtbZfK4=
github.com/matterbridge/slack v0.1.1-0.20191208194820-95190f11bfb6 h1:UvXXR9tHYqJUXZVEtiK2qkEWBXfFneicate5kOshVFk= github.com/matterbridge/slack v0.1.1-0.20191208194820-95190f11bfb6 h1:UvXXR9tHYqJUXZVEtiK2qkEWBXfFneicate5kOshVFk=
github.com/matterbridge/slack v0.1.1-0.20191208194820-95190f11bfb6/go.mod h1:2uCJim0Ct2z1Uj+XQq47KCLLC1b/9UTYaZOvDtbZfK4= github.com/matterbridge/slack v0.1.1-0.20191208194820-95190f11bfb6/go.mod h1:2uCJim0Ct2z1Uj+XQq47KCLLC1b/9UTYaZOvDtbZfK4=
github.com/mattermost/mattermost-server v5.5.0+incompatible h1:0wcLGgYtd+YImtLDPf2AOfpBHxbU4suATx+6XKw1XbU= github.com/mattermost/mattermost-server v5.5.0+incompatible h1:0wcLGgYtd+YImtLDPf2AOfpBHxbU4suATx+6XKw1XbU=
@ -248,21 +246,11 @@ github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6Ut
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447 h1:CHgPZh8bFkZmislPrr/0gd7MciDAX+JJB70A2/5Lvmo= github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447 h1:CHgPZh8bFkZmislPrr/0gd7MciDAX+JJB70A2/5Lvmo=
github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU= github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU=
github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2 h1:UQwvu7FjUEdVYofx0U6bsc5odNE7wa5TSA0fl559GcA=
github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU=
gitlab.com/golang-commonmark/html v0.0.0-20180917080848-cfaf75183c4a/go.mod h1:JT4uoTz0tfPoyVH88GZoWDNm5NHJI2VbUW+eyPClueI=
gitlab.com/golang-commonmark/linkify v0.0.0-20180917065525-c22b7bdb1179/go.mod h1:Gn+LZmCrhPECMD3SOKlE+BOHwhOYD9j7WT9NUtkCrC8=
gitlab.com/golang-commonmark/markdown v0.0.0-20181102083822-772775880e1f/go.mod h1:SIHlEr9462fpIfTrVWf3GqQDxnA65Vm3BMMsUtuA6W0=
gitlab.com/golang-commonmark/mdurl v0.0.0-20180912090424-e5bce34c34f2/go.mod h1:wQk4rLkWrdOPjUAtqJRJ10hIlseLSVYWP95PLrjDF9s=
gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe/go.mod h1:P9LSM1KVzrIstFgUaveuwiAm8PK5VTB3yJEU8kqlbrU=
gitlab.com/opennota/wd v0.0.0-20180912061657-c5d65f63c638/go.mod h1:EGRJaqe2eO9XGmFtQCvV3Lm9NLico3UhFwUpCG/+mVU=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
@ -274,25 +262,18 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/image v0.0.0-20190220214146-31aff87c08e9 h1:+vH8qNweCrORN49012OX3h0oWEXO3p+rRnpAGQinddk= golang.org/x/image v0.0.0-20190220214146-31aff87c08e9 h1:+vH8qNweCrORN49012OX3h0oWEXO3p+rRnpAGQinddk=
golang.org/x/image v0.0.0-20190220214146-31aff87c08e9/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190220214146-31aff87c08e9/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190902063713-cb417be4ba39 h1:4dQcAORh9oYBwVSBVIkP489LUPC+f1HBkTYXgmqfR+o=
golang.org/x/image v0.0.0-20190902063713-cb417be4ba39/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190110200230-915654e7eabc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 h1:fHDIZ2oxGnUZRN6WgWFCbYBjH9uqVPRCUVUDhs0wnbA=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -305,7 +286,6 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222171317-cd391775e71e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -313,11 +293,8 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=

View File

@ -56,7 +56,7 @@ func (r *Ring) ContentSize() int {
} else { } else {
difference := (r.head - r.tail) difference := (r.head - r.tail)
if difference < 0 { if difference < 0 {
difference += r.capacity() difference = -difference
} }
return difference + 1 return difference + 1
} }

View File

@ -77,7 +77,6 @@ func (d DirCache) Put(ctx context.Context, name string, data []byte) error {
if tmp, err = d.writeTempFile(name, data); err != nil { if tmp, err = d.writeTempFile(name, data); err != nil {
return return
} }
defer os.Remove(tmp)
select { select {
case <-ctx.Done(): case <-ctx.Done():
// Don't overwrite the file if the context was canceled. // Don't overwrite the file if the context was canceled.
@ -117,17 +116,12 @@ func (d DirCache) Delete(ctx context.Context, name string) error {
} }
// writeTempFile writes b to a temporary file, closes the file and returns its path. // writeTempFile writes b to a temporary file, closes the file and returns its path.
func (d DirCache) writeTempFile(prefix string, b []byte) (name string, reterr error) { func (d DirCache) writeTempFile(prefix string, b []byte) (string, error) {
// TempFile uses 0600 permissions // TempFile uses 0600 permissions
f, err := ioutil.TempFile(string(d), prefix) f, err := ioutil.TempFile(string(d), prefix)
if err != nil { if err != nil {
return "", err return "", err
} }
defer func() {
if reterr != nil {
os.Remove(f.Name())
}
}()
if _, err := f.Write(b); err != nil { if _, err := f.Write(b); err != nil {
f.Close() f.Close()
return "", err return "", err

View File

@ -124,7 +124,7 @@ func (e *Encoder) Writer(w io.Writer) io.Writer {
} }
// ASCIISub is the ASCII substitute character, as recommended by // ASCIISub is the ASCII substitute character, as recommended by
// https://unicode.org/reports/tr36/#Text_Comparison // http://unicode.org/reports/tr36/#Text_Comparison
const ASCIISub = '\x1a' const ASCIISub = '\x1a'
// Nop is the nop encoding. Its transformed bytes are the same as the source // Nop is the nop encoding. Its transformed bytes are the same as the source

View File

@ -34,7 +34,7 @@ package identifier
// - http://www.iana.org/assignments/character-sets/character-sets.xhtml // - http://www.iana.org/assignments/character-sets/character-sets.xhtml
// - http://www.iana.org/assignments/ianacharset-mib/ianacharset-mib // - http://www.iana.org/assignments/ianacharset-mib/ianacharset-mib
// - http://www.ietf.org/rfc/rfc2978.txt // - http://www.ietf.org/rfc/rfc2978.txt
// - https://www.unicode.org/reports/tr22/ // - http://www.unicode.org/reports/tr22/
// - http://www.w3.org/TR/encoding/ // - http://www.w3.org/TR/encoding/
// - https://encoding.spec.whatwg.org/ // - https://encoding.spec.whatwg.org/
// - https://encoding.spec.whatwg.org/encodings.json // - https://encoding.spec.whatwg.org/encodings.json

View File

@ -538,6 +538,8 @@ const (
// ISO111ECMACyrillic is the MIB identifier with IANA name ECMA-cyrillic. // ISO111ECMACyrillic is the MIB identifier with IANA name ECMA-cyrillic.
// //
// ISO registry // ISO registry
// (formerly ECMA
// registry )
ISO111ECMACyrillic MIB = 77 ISO111ECMACyrillic MIB = 77
// ISO121Canadian1 is the MIB identifier with IANA name CSA_Z243.4-1985-1. // ISO121Canadian1 is the MIB identifier with IANA name CSA_Z243.4-1985-1.
@ -730,18 +732,18 @@ const (
// ISO885913 is the MIB identifier with IANA name ISO-8859-13. // ISO885913 is the MIB identifier with IANA name ISO-8859-13.
// //
// ISO See https://www.iana.org/assignments/charset-reg/ISO-8859-13 https://www.iana.org/assignments/charset-reg/ISO-8859-13 // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-13 http://www.iana.org/assignments/charset-reg/ISO-8859-13
ISO885913 MIB = 109 ISO885913 MIB = 109
// ISO885914 is the MIB identifier with IANA name ISO-8859-14. // ISO885914 is the MIB identifier with IANA name ISO-8859-14.
// //
// ISO See https://www.iana.org/assignments/charset-reg/ISO-8859-14 // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-14
ISO885914 MIB = 110 ISO885914 MIB = 110
// ISO885915 is the MIB identifier with IANA name ISO-8859-15. // ISO885915 is the MIB identifier with IANA name ISO-8859-15.
// //
// ISO // ISO
// Please see: https://www.iana.org/assignments/charset-reg/ISO-8859-15 // Please see: http://www.iana.org/assignments/charset-reg/ISO-8859-15
ISO885915 MIB = 111 ISO885915 MIB = 111
// ISO885916 is the MIB identifier with IANA name ISO-8859-16. // ISO885916 is the MIB identifier with IANA name ISO-8859-16.
@ -752,41 +754,41 @@ const (
// GBK is the MIB identifier with IANA name GBK. // GBK is the MIB identifier with IANA name GBK.
// //
// Chinese IT Standardization Technical Committee // Chinese IT Standardization Technical Committee
// Please see: https://www.iana.org/assignments/charset-reg/GBK // Please see: http://www.iana.org/assignments/charset-reg/GBK
GBK MIB = 113 GBK MIB = 113
// GB18030 is the MIB identifier with IANA name GB18030. // GB18030 is the MIB identifier with IANA name GB18030.
// //
// Chinese IT Standardization Technical Committee // Chinese IT Standardization Technical Committee
// Please see: https://www.iana.org/assignments/charset-reg/GB18030 // Please see: http://www.iana.org/assignments/charset-reg/GB18030
GB18030 MIB = 114 GB18030 MIB = 114
// OSDEBCDICDF0415 is the MIB identifier with IANA name OSD_EBCDIC_DF04_15. // OSDEBCDICDF0415 is the MIB identifier with IANA name OSD_EBCDIC_DF04_15.
// //
// Fujitsu-Siemens standard mainframe EBCDIC encoding // Fujitsu-Siemens standard mainframe EBCDIC encoding
// Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-15 // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-15
OSDEBCDICDF0415 MIB = 115 OSDEBCDICDF0415 MIB = 115
// OSDEBCDICDF03IRV is the MIB identifier with IANA name OSD_EBCDIC_DF03_IRV. // OSDEBCDICDF03IRV is the MIB identifier with IANA name OSD_EBCDIC_DF03_IRV.
// //
// Fujitsu-Siemens standard mainframe EBCDIC encoding // Fujitsu-Siemens standard mainframe EBCDIC encoding
// Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF03-IRV // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF03-IRV
OSDEBCDICDF03IRV MIB = 116 OSDEBCDICDF03IRV MIB = 116
// OSDEBCDICDF041 is the MIB identifier with IANA name OSD_EBCDIC_DF04_1. // OSDEBCDICDF041 is the MIB identifier with IANA name OSD_EBCDIC_DF04_1.
// //
// Fujitsu-Siemens standard mainframe EBCDIC encoding // Fujitsu-Siemens standard mainframe EBCDIC encoding
// Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-1 // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-1
OSDEBCDICDF041 MIB = 117 OSDEBCDICDF041 MIB = 117
// ISO115481 is the MIB identifier with IANA name ISO-11548-1. // ISO115481 is the MIB identifier with IANA name ISO-11548-1.
// //
// See https://www.iana.org/assignments/charset-reg/ISO-11548-1 // See http://www.iana.org/assignments/charset-reg/ISO-11548-1
ISO115481 MIB = 118 ISO115481 MIB = 118
// KZ1048 is the MIB identifier with IANA name KZ-1048. // KZ1048 is the MIB identifier with IANA name KZ-1048.
// //
// See https://www.iana.org/assignments/charset-reg/KZ-1048 // See http://www.iana.org/assignments/charset-reg/KZ-1048
KZ1048 MIB = 119 KZ1048 MIB = 119
// Unicode is the MIB identifier with IANA name ISO-10646-UCS-2. // Unicode is the MIB identifier with IANA name ISO-10646-UCS-2.
@ -853,7 +855,7 @@ const (
// SCSU is the MIB identifier with IANA name SCSU. // SCSU is the MIB identifier with IANA name SCSU.
// //
// SCSU See https://www.iana.org/assignments/charset-reg/SCSU // SCSU See http://www.iana.org/assignments/charset-reg/SCSU
SCSU MIB = 1011 SCSU MIB = 1011
// UTF7 is the MIB identifier with IANA name UTF-7. // UTF7 is the MIB identifier with IANA name UTF-7.
@ -882,27 +884,27 @@ const (
// CESU8 is the MIB identifier with IANA name CESU-8. // CESU8 is the MIB identifier with IANA name CESU-8.
// //
// https://www.unicode.org/reports/tr26 // http://www.unicode.org/unicode/reports/tr26
CESU8 MIB = 1016 CESU8 MIB = 1016
// UTF32 is the MIB identifier with IANA name UTF-32. // UTF32 is the MIB identifier with IANA name UTF-32.
// //
// https://www.unicode.org/reports/tr19/ // http://www.unicode.org/unicode/reports/tr19/
UTF32 MIB = 1017 UTF32 MIB = 1017
// UTF32BE is the MIB identifier with IANA name UTF-32BE. // UTF32BE is the MIB identifier with IANA name UTF-32BE.
// //
// https://www.unicode.org/reports/tr19/ // http://www.unicode.org/unicode/reports/tr19/
UTF32BE MIB = 1018 UTF32BE MIB = 1018
// UTF32LE is the MIB identifier with IANA name UTF-32LE. // UTF32LE is the MIB identifier with IANA name UTF-32LE.
// //
// https://www.unicode.org/reports/tr19/ // http://www.unicode.org/unicode/reports/tr19/
UTF32LE MIB = 1019 UTF32LE MIB = 1019
// BOCU1 is the MIB identifier with IANA name BOCU-1. // BOCU1 is the MIB identifier with IANA name BOCU-1.
// //
// https://www.unicode.org/notes/tn6/ // http://www.unicode.org/notes/tn6/
BOCU1 MIB = 1020 BOCU1 MIB = 1020
// Windows30Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.0-Latin-1. // Windows30Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.0-Latin-1.
@ -1459,152 +1461,152 @@ const (
// IBM00858 is the MIB identifier with IANA name IBM00858. // IBM00858 is the MIB identifier with IANA name IBM00858.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM00858 // IBM See http://www.iana.org/assignments/charset-reg/IBM00858
IBM00858 MIB = 2089 IBM00858 MIB = 2089
// IBM00924 is the MIB identifier with IANA name IBM00924. // IBM00924 is the MIB identifier with IANA name IBM00924.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM00924 // IBM See http://www.iana.org/assignments/charset-reg/IBM00924
IBM00924 MIB = 2090 IBM00924 MIB = 2090
// IBM01140 is the MIB identifier with IANA name IBM01140. // IBM01140 is the MIB identifier with IANA name IBM01140.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01140 // IBM See http://www.iana.org/assignments/charset-reg/IBM01140
IBM01140 MIB = 2091 IBM01140 MIB = 2091
// IBM01141 is the MIB identifier with IANA name IBM01141. // IBM01141 is the MIB identifier with IANA name IBM01141.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01141 // IBM See http://www.iana.org/assignments/charset-reg/IBM01141
IBM01141 MIB = 2092 IBM01141 MIB = 2092
// IBM01142 is the MIB identifier with IANA name IBM01142. // IBM01142 is the MIB identifier with IANA name IBM01142.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01142 // IBM See http://www.iana.org/assignments/charset-reg/IBM01142
IBM01142 MIB = 2093 IBM01142 MIB = 2093
// IBM01143 is the MIB identifier with IANA name IBM01143. // IBM01143 is the MIB identifier with IANA name IBM01143.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01143 // IBM See http://www.iana.org/assignments/charset-reg/IBM01143
IBM01143 MIB = 2094 IBM01143 MIB = 2094
// IBM01144 is the MIB identifier with IANA name IBM01144. // IBM01144 is the MIB identifier with IANA name IBM01144.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01144 // IBM See http://www.iana.org/assignments/charset-reg/IBM01144
IBM01144 MIB = 2095 IBM01144 MIB = 2095
// IBM01145 is the MIB identifier with IANA name IBM01145. // IBM01145 is the MIB identifier with IANA name IBM01145.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01145 // IBM See http://www.iana.org/assignments/charset-reg/IBM01145
IBM01145 MIB = 2096 IBM01145 MIB = 2096
// IBM01146 is the MIB identifier with IANA name IBM01146. // IBM01146 is the MIB identifier with IANA name IBM01146.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01146 // IBM See http://www.iana.org/assignments/charset-reg/IBM01146
IBM01146 MIB = 2097 IBM01146 MIB = 2097
// IBM01147 is the MIB identifier with IANA name IBM01147. // IBM01147 is the MIB identifier with IANA name IBM01147.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01147 // IBM See http://www.iana.org/assignments/charset-reg/IBM01147
IBM01147 MIB = 2098 IBM01147 MIB = 2098
// IBM01148 is the MIB identifier with IANA name IBM01148. // IBM01148 is the MIB identifier with IANA name IBM01148.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01148 // IBM See http://www.iana.org/assignments/charset-reg/IBM01148
IBM01148 MIB = 2099 IBM01148 MIB = 2099
// IBM01149 is the MIB identifier with IANA name IBM01149. // IBM01149 is the MIB identifier with IANA name IBM01149.
// //
// IBM See https://www.iana.org/assignments/charset-reg/IBM01149 // IBM See http://www.iana.org/assignments/charset-reg/IBM01149
IBM01149 MIB = 2100 IBM01149 MIB = 2100
// Big5HKSCS is the MIB identifier with IANA name Big5-HKSCS. // Big5HKSCS is the MIB identifier with IANA name Big5-HKSCS.
// //
// See https://www.iana.org/assignments/charset-reg/Big5-HKSCS // See http://www.iana.org/assignments/charset-reg/Big5-HKSCS
Big5HKSCS MIB = 2101 Big5HKSCS MIB = 2101
// IBM1047 is the MIB identifier with IANA name IBM1047. // IBM1047 is the MIB identifier with IANA name IBM1047.
// //
// IBM1047 (EBCDIC Latin 1/Open Systems) https://www-1.ibm.com/servers/eserver/iseries/software/globalization/pdf/cp01047z.pdf // IBM1047 (EBCDIC Latin 1/Open Systems) http://www-1.ibm.com/servers/eserver/iseries/software/globalization/pdf/cp01047z.pdf
IBM1047 MIB = 2102 IBM1047 MIB = 2102
// PTCP154 is the MIB identifier with IANA name PTCP154. // PTCP154 is the MIB identifier with IANA name PTCP154.
// //
// See https://www.iana.org/assignments/charset-reg/PTCP154 // See http://www.iana.org/assignments/charset-reg/PTCP154
PTCP154 MIB = 2103 PTCP154 MIB = 2103
// Amiga1251 is the MIB identifier with IANA name Amiga-1251. // Amiga1251 is the MIB identifier with IANA name Amiga-1251.
// //
// See https://www.amiga.ultranet.ru/Amiga-1251.html // See http://www.amiga.ultranet.ru/Amiga-1251.html
Amiga1251 MIB = 2104 Amiga1251 MIB = 2104
// KOI7switched is the MIB identifier with IANA name KOI7-switched. // KOI7switched is the MIB identifier with IANA name KOI7-switched.
// //
// See https://www.iana.org/assignments/charset-reg/KOI7-switched // See http://www.iana.org/assignments/charset-reg/KOI7-switched
KOI7switched MIB = 2105 KOI7switched MIB = 2105
// BRF is the MIB identifier with IANA name BRF. // BRF is the MIB identifier with IANA name BRF.
// //
// See https://www.iana.org/assignments/charset-reg/BRF // See http://www.iana.org/assignments/charset-reg/BRF
BRF MIB = 2106 BRF MIB = 2106
// TSCII is the MIB identifier with IANA name TSCII. // TSCII is the MIB identifier with IANA name TSCII.
// //
// See https://www.iana.org/assignments/charset-reg/TSCII // See http://www.iana.org/assignments/charset-reg/TSCII
TSCII MIB = 2107 TSCII MIB = 2107
// CP51932 is the MIB identifier with IANA name CP51932. // CP51932 is the MIB identifier with IANA name CP51932.
// //
// See https://www.iana.org/assignments/charset-reg/CP51932 // See http://www.iana.org/assignments/charset-reg/CP51932
CP51932 MIB = 2108 CP51932 MIB = 2108
// Windows874 is the MIB identifier with IANA name windows-874. // Windows874 is the MIB identifier with IANA name windows-874.
// //
// See https://www.iana.org/assignments/charset-reg/windows-874 // See http://www.iana.org/assignments/charset-reg/windows-874
Windows874 MIB = 2109 Windows874 MIB = 2109
// Windows1250 is the MIB identifier with IANA name windows-1250. // Windows1250 is the MIB identifier with IANA name windows-1250.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1250 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1250
Windows1250 MIB = 2250 Windows1250 MIB = 2250
// Windows1251 is the MIB identifier with IANA name windows-1251. // Windows1251 is the MIB identifier with IANA name windows-1251.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1251 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1251
Windows1251 MIB = 2251 Windows1251 MIB = 2251
// Windows1252 is the MIB identifier with IANA name windows-1252. // Windows1252 is the MIB identifier with IANA name windows-1252.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1252 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1252
Windows1252 MIB = 2252 Windows1252 MIB = 2252
// Windows1253 is the MIB identifier with IANA name windows-1253. // Windows1253 is the MIB identifier with IANA name windows-1253.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1253 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1253
Windows1253 MIB = 2253 Windows1253 MIB = 2253
// Windows1254 is the MIB identifier with IANA name windows-1254. // Windows1254 is the MIB identifier with IANA name windows-1254.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1254 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1254
Windows1254 MIB = 2254 Windows1254 MIB = 2254
// Windows1255 is the MIB identifier with IANA name windows-1255. // Windows1255 is the MIB identifier with IANA name windows-1255.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1255 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1255
Windows1255 MIB = 2255 Windows1255 MIB = 2255
// Windows1256 is the MIB identifier with IANA name windows-1256. // Windows1256 is the MIB identifier with IANA name windows-1256.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1256 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1256
Windows1256 MIB = 2256 Windows1256 MIB = 2256
// Windows1257 is the MIB identifier with IANA name windows-1257. // Windows1257 is the MIB identifier with IANA name windows-1257.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1257 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1257
Windows1257 MIB = 2257 Windows1257 MIB = 2257
// Windows1258 is the MIB identifier with IANA name windows-1258. // Windows1258 is the MIB identifier with IANA name windows-1258.
// //
// Microsoft https://www.iana.org/assignments/charset-reg/windows-1258 // Microsoft http://www.iana.org/assignments/charset-reg/windows-1258
Windows1258 MIB = 2258 Windows1258 MIB = 2258
// TIS620 is the MIB identifier with IANA name TIS-620. // TIS620 is the MIB identifier with IANA name TIS-620.
@ -1614,6 +1616,6 @@ const (
// CP50220 is the MIB identifier with IANA name CP50220. // CP50220 is the MIB identifier with IANA name CP50220.
// //
// See https://www.iana.org/assignments/charset-reg/CP50220 // See http://www.iana.org/assignments/charset-reg/CP50220
CP50220 MIB = 2260 CP50220 MIB = 2260
) )

View File

@ -78,8 +78,8 @@ type SpanningTransformer interface {
// considering the error err. // considering the error err.
// //
// A nil error means that all input bytes are known to be identical to the // A nil error means that all input bytes are known to be identical to the
// output produced by the Transformer. A nil error can be returned // output produced by the Transformer. A nil error can be be returned
// regardless of whether atEOF is true. If err is nil, then n must // regardless of whether atEOF is true. If err is nil, then then n must
// equal len(src); the converse is not necessarily true. // equal len(src); the converse is not necessarily true.
// //
// ErrEndOfSpan means that the Transformer output may differ from the // ErrEndOfSpan means that the Transformer output may differ from the
@ -493,7 +493,7 @@ func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err erro
return dstL.n, srcL.p, err return dstL.n, srcL.p, err
} }
// Deprecated: Use runes.Remove instead. // Deprecated: use runes.Remove instead.
func RemoveFunc(f func(r rune) bool) Transformer { func RemoveFunc(f func(r rune) bool) Transformer {
return removeF(f) return removeF(f)
} }

View File

@ -6,7 +6,7 @@
// Package bidi contains functionality for bidirectional text support. // Package bidi contains functionality for bidirectional text support.
// //
// See https://www.unicode.org/reports/tr9. // See http://www.unicode.org/reports/tr9.
// //
// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways // NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways
// and without notice. // and without notice.

View File

@ -12,7 +12,7 @@ import (
// This file contains a port of the reference implementation of the // This file contains a port of the reference implementation of the
// Bidi Parentheses Algorithm: // Bidi Parentheses Algorithm:
// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java // http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java
// //
// The implementation in this file covers definitions BD14-BD16 and rule N0 // The implementation in this file covers definitions BD14-BD16 and rule N0
// of UAX#9. // of UAX#9.
@ -246,7 +246,7 @@ func (p *bracketPairer) getStrongTypeN0(index int) Class {
// assuming the given embedding direction. // assuming the given embedding direction.
// //
// It returns ON if no strong type is found. If a single strong type is found, // It returns ON if no strong type is found. If a single strong type is found,
// it returns this type. Otherwise it returns the embedding direction. // it returns this this type. Otherwise it returns the embedding direction.
// //
// TODO: use separate type for "strong" directionality. // TODO: use separate type for "strong" directionality.
func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class { func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {

View File

@ -7,7 +7,7 @@ package bidi
import "log" import "log"
// This implementation is a port based on the reference implementation found at: // This implementation is a port based on the reference implementation found at:
// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ // http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
// //
// described in Unicode Bidirectional Algorithm (UAX #9). // described in Unicode Bidirectional Algorithm (UAX #9).
// //

View File

@ -1,6 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
// +build go1.10,!go1.13 // +build go1.10
package bidi package bidi

File diff suppressed because it is too large Load Diff

View File

@ -407,7 +407,7 @@ func decomposeHangul(buf []byte, r rune) int {
// decomposeHangul algorithmically decomposes a Hangul rune into // decomposeHangul algorithmically decomposes a Hangul rune into
// its Jamo components. // its Jamo components.
// See https://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul. // See http://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul.
func (rb *reorderBuffer) decomposeHangul(r rune) { func (rb *reorderBuffer) decomposeHangul(r rune) {
r -= hangulBase r -= hangulBase
x := r % jamoTCount x := r % jamoTCount
@ -420,7 +420,7 @@ func (rb *reorderBuffer) decomposeHangul(r rune) {
} }
// combineHangul algorithmically combines Jamo character components into Hangul. // combineHangul algorithmically combines Jamo character components into Hangul.
// See https://unicode.org/reports/tr15/#Hangul for details on combining Hangul. // See http://unicode.org/reports/tr15/#Hangul for details on combining Hangul.
func (rb *reorderBuffer) combineHangul(s, i, k int) { func (rb *reorderBuffer) combineHangul(s, i, k int) {
b := rb.rune[:] b := rb.rune[:]
bn := rb.nrune bn := rb.nrune
@ -461,10 +461,6 @@ func (rb *reorderBuffer) combineHangul(s, i, k int) {
// It should only be used to recompose a single segment, as it will not // It should only be used to recompose a single segment, as it will not
// handle alternations between Hangul and non-Hangul characters correctly. // handle alternations between Hangul and non-Hangul characters correctly.
func (rb *reorderBuffer) compose() { func (rb *reorderBuffer) compose() {
// Lazily load the map used by the combine func below, but do
// it outside of the loop.
recompMapOnce.Do(buildRecompMap)
// UAX #15, section X5 , including Corrigendum #5 // UAX #15, section X5 , including Corrigendum #5
// "In any character sequence beginning with starter S, a character C is // "In any character sequence beginning with starter S, a character C is
// blocked from S if and only if there is some character B between S // blocked from S if and only if there is some character B between S

View File

@ -4,8 +4,6 @@
package norm package norm
import "encoding/binary"
// This file contains Form-specific logic and wrappers for data in tables.go. // This file contains Form-specific logic and wrappers for data in tables.go.
// Rune info is stored in a separate trie per composing form. A composing form // Rune info is stored in a separate trie per composing form. A composing form
@ -180,17 +178,6 @@ func (p Properties) TrailCCC() uint8 {
return ccc[p.tccc] return ccc[p.tccc]
} }
func buildRecompMap() {
recompMap = make(map[uint32]rune, len(recompMapPacked)/8)
var buf [8]byte
for i := 0; i < len(recompMapPacked); i += 8 {
copy(buf[:], recompMapPacked[i:i+8])
key := binary.BigEndian.Uint32(buf[:4])
val := binary.BigEndian.Uint32(buf[4:])
recompMap[key] = rune(val)
}
}
// Recomposition // Recomposition
// We use 32-bit keys instead of 64-bit for the two codepoint keys. // We use 32-bit keys instead of 64-bit for the two codepoint keys.
// This clips off the bits of three entries, but we know this will not // This clips off the bits of three entries, but we know this will not
@ -199,14 +186,8 @@ func buildRecompMap() {
// Note that the recomposition map for NFC and NFKC are identical. // Note that the recomposition map for NFC and NFKC are identical.
// combine returns the combined rune or 0 if it doesn't exist. // combine returns the combined rune or 0 if it doesn't exist.
//
// The caller is responsible for calling
// recompMapOnce.Do(buildRecompMap) sometime before this is called.
func combine(a, b rune) rune { func combine(a, b rune) rune {
key := uint32(uint16(a))<<16 + uint32(uint16(b)) key := uint32(uint16(a))<<16 + uint32(uint16(b))
if recompMap == nil {
panic("caller error") // see func comment
}
return recompMap[key] return recompMap[key]
} }

View File

@ -128,9 +128,8 @@ func (i *Iter) Next() []byte {
func nextASCIIBytes(i *Iter) []byte { func nextASCIIBytes(i *Iter) []byte {
p := i.p + 1 p := i.p + 1
if p >= i.rb.nsrc { if p >= i.rb.nsrc {
p0 := i.p
i.setDone() i.setDone()
return i.rb.src.bytes[p0:p] return i.rb.src.bytes[i.p:p]
} }
if i.rb.src.bytes[p] < utf8.RuneSelf { if i.rb.src.bytes[p] < utf8.RuneSelf {
p0 := i.p p0 := i.p

View File

@ -29,8 +29,8 @@ import (
// proceed independently on both sides: // proceed independently on both sides:
// f(x) == append(f(x[0:n]), f(x[n:])...) // f(x) == append(f(x[0:n]), f(x[n:])...)
// //
// References: https://unicode.org/reports/tr15/ and // References: http://unicode.org/reports/tr15/ and
// https://unicode.org/notes/tn5/. // http://unicode.org/notes/tn5/.
type Form int type Form int
const ( const (

View File

@ -61,7 +61,7 @@ func (w *normWriter) Close() error {
// Writer returns a new writer that implements Write(b) // Writer returns a new writer that implements Write(b)
// by writing f(b) to w. The returned writer may use an // by writing f(b) to w. The returned writer may use an
// internal buffer to maintain state across Write calls. // an internal buffer to maintain state across Write calls.
// Calling its Close method writes any buffered data to w. // Calling its Close method writes any buffered data to w.
func (f Form) Writer(w io.Writer) io.WriteCloser { func (f Form) Writer(w io.Writer) io.WriteCloser {
wr := &normWriter{rb: reorderBuffer{}, w: w} wr := &normWriter{rb: reorderBuffer{}, w: w}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,7 @@ func (Form) Reset() {}
// Users should either catch ErrShortDst and allow dst to grow or have dst be at // Users should either catch ErrShortDst and allow dst to grow or have dst be at
// least of size MaxTransformChunkSize to be guaranteed of progress. // least of size MaxTransformChunkSize to be guaranteed of progress.
func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
n := 0
// Cap the maximum number of src bytes to check. // Cap the maximum number of src bytes to check.
b := src b := src
eof := atEOF eof := atEOF
@ -26,14 +27,13 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
eof = false eof = false
b = b[:ns] b = b[:ns]
} }
i, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), eof) i, ok := formTable[f].quickSpan(inputBytes(b), n, len(b), eof)
n := copy(dst, b[:i]) n += copy(dst[n:], b[n:i])
if !ok { if !ok {
nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF) nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF)
return nDst + n, nSrc + n, err return nDst + n, nSrc + n, err
} }
if n < len(src) && !atEOF {
if err == nil && n < len(src) && !atEOF {
err = transform.ErrShortSrc err = transform.ErrShortSrc
} }
return n, n, err return n, n, err
@ -79,7 +79,7 @@ func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
nSrc += n nSrc += n
nDst += n nDst += n
if ok { if ok {
if err == nil && n < rb.nsrc && !atEOF { if n < rb.nsrc && !atEOF {
err = transform.ErrShortSrc err = transform.ErrShortSrc
} }
return nDst, nSrc, err return nDst, nSrc, err

10
vendor/modules.txt vendored
View File

@ -193,7 +193,7 @@ github.com/technoweenie/multipartstreamer
github.com/valyala/bytebufferpool github.com/valyala/bytebufferpool
# github.com/valyala/fasttemplate v1.0.1 # github.com/valyala/fasttemplate v1.0.1
github.com/valyala/fasttemplate github.com/valyala/fasttemplate
# github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2 # github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447
github.com/zfjagann/golang-ring github.com/zfjagann/golang-ring
# go.uber.org/atomic v1.4.0 # go.uber.org/atomic v1.4.0
go.uber.org/atomic go.uber.org/atomic
@ -206,7 +206,7 @@ go.uber.org/zap/internal/bufferpool
go.uber.org/zap/internal/color go.uber.org/zap/internal/color
go.uber.org/zap/internal/exit go.uber.org/zap/internal/exit
go.uber.org/zap/zapcore go.uber.org/zap/zapcore
# golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 # golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4
golang.org/x/crypto/acme golang.org/x/crypto/acme
golang.org/x/crypto/acme/autocert golang.org/x/crypto/acme/autocert
golang.org/x/crypto/bcrypt golang.org/x/crypto/bcrypt
@ -222,19 +222,19 @@ golang.org/x/crypto/poly1305
golang.org/x/crypto/salsa20/salsa golang.org/x/crypto/salsa20/salsa
golang.org/x/crypto/ssh golang.org/x/crypto/ssh
golang.org/x/crypto/ssh/terminal golang.org/x/crypto/ssh/terminal
# golang.org/x/image v0.0.0-20190902063713-cb417be4ba39 # golang.org/x/image v0.0.0-20190220214146-31aff87c08e9
golang.org/x/image/riff golang.org/x/image/riff
golang.org/x/image/vp8 golang.org/x/image/vp8
golang.org/x/image/vp8l golang.org/x/image/vp8l
golang.org/x/image/webp golang.org/x/image/webp
# golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 # golang.org/x/net v0.0.0-20190522155817-f3200d17e092
golang.org/x/net/idna golang.org/x/net/idna
golang.org/x/net/websocket golang.org/x/net/websocket
# golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a # golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
golang.org/x/sys/cpu golang.org/x/sys/cpu
golang.org/x/sys/unix golang.org/x/sys/unix
golang.org/x/sys/windows golang.org/x/sys/windows
# golang.org/x/text v0.3.2 # golang.org/x/text v0.3.0
golang.org/x/text/encoding golang.org/x/text/encoding
golang.org/x/text/encoding/internal golang.org/x/text/encoding/internal
golang.org/x/text/encoding/internal/identifier golang.org/x/text/encoding/internal/identifier