re2 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +6 -4
- data/ext/re2/re2.cc +15 -15
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 63b9158e45d56ed6977fe6eb9b897039291faeaeeb310dd980a2e88e5e05778d
|
4
|
+
data.tar.gz: ddb04bf5ee1b4e2f4335d816a967c2cc46ae1c39c96d97c6e25c80e4579f8ea4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9537a2f75f3e36fd71967ca23a4b2e5bf54847407a6a55b87474403ca2bf3ca5adb93695d445e10d34ba37339eee0d4bbf94914835b6a05b5463a42ae255fde7
|
7
|
+
data.tar.gz: 3c3bf9b84398ea8803377fb3224cedb36a185038c74fecb60165a731766a3bffc15893012fe812ebb719c5133d7217f1ec7cbed364dd6281be281b72db3466be
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ re2 [](http://
|
|
4
4
|
A Ruby binding to [re2][], an "efficient, principled regular expression
|
5
5
|
library".
|
6
6
|
|
7
|
-
**Current version:** 1.
|
7
|
+
**Current version:** 1.2.0
|
8
8
|
**Supported Ruby versions:** 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.0, 2.2, 2.3, Rubinius 3.8
|
9
9
|
|
10
10
|
Installation
|
@@ -166,14 +166,16 @@ Contributions
|
|
166
166
|
-------------
|
167
167
|
|
168
168
|
* Thanks to [Jason Woods](https://github.com/driskell) who contributed the
|
169
|
-
original implementations of `RE2::MatchData#begin` and `RE2::MatchData#end`;
|
169
|
+
original implementations of `RE2::MatchData#begin` and `RE2::MatchData#end`;
|
170
170
|
* Thanks to [Stefano Rivera](https://github.com/stefanor) who first contributed C++11 support;
|
171
|
-
* Thanks to [Stan Hu](https://github.com/stanhu) for reporting a bug with empty patterns and `RE2::Regexp#scan
|
171
|
+
* Thanks to [Stan Hu](https://github.com/stanhu) for reporting a bug with empty patterns and `RE2::Regexp#scan`;
|
172
|
+
* Thanks to [Sebastian Reitenbach](https://github.com/buzzdeee) for reporting
|
173
|
+
the deprecation and removal of the `utf8` encoding option in re2.
|
172
174
|
|
173
175
|
Contact
|
174
176
|
-------
|
175
177
|
|
176
|
-
All
|
178
|
+
All issues and suggestions should go to [GitHub Issues](https://github.com/mudge/re2/issues).
|
177
179
|
|
178
180
|
[re2]: https://github.com/google/re2
|
179
181
|
[gcc]: http://gcc.gnu.org/
|
data/ext/re2/re2.cc
CHANGED
@@ -258,7 +258,7 @@ static VALUE re2_scanner_scan(VALUE self) {
|
|
258
258
|
} else {
|
259
259
|
rb_ary_push(result, ENCODED_STR_NEW(matches[i].data(),
|
260
260
|
matches[i].size(),
|
261
|
-
p->pattern->options().
|
261
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1"));
|
262
262
|
}
|
263
263
|
}
|
264
264
|
|
@@ -361,7 +361,7 @@ static VALUE re2_matchdata_begin(VALUE self, VALUE n) {
|
|
361
361
|
offset = reinterpret_cast<uintptr_t>(match->data()) - reinterpret_cast<uintptr_t>(StringValuePtr(m->text));
|
362
362
|
|
363
363
|
return ENCODED_STR_SUBLEN(StringValue(m->text), offset,
|
364
|
-
p->pattern->options().
|
364
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
365
365
|
}
|
366
366
|
}
|
367
367
|
|
@@ -392,7 +392,7 @@ static VALUE re2_matchdata_end(VALUE self, VALUE n) {
|
|
392
392
|
offset = reinterpret_cast<uintptr_t>(match->data()) - reinterpret_cast<uintptr_t>(StringValuePtr(m->text)) + match->size();
|
393
393
|
|
394
394
|
return ENCODED_STR_SUBLEN(StringValue(m->text), offset,
|
395
|
-
p->pattern->options().
|
395
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
396
396
|
}
|
397
397
|
}
|
398
398
|
|
@@ -456,7 +456,7 @@ static VALUE re2_matchdata_to_a(VALUE self) {
|
|
456
456
|
rb_ary_push(array, Qnil);
|
457
457
|
} else {
|
458
458
|
rb_ary_push(array, ENCODED_STR_NEW(match->data(), match->size(),
|
459
|
-
p->pattern->options().
|
459
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1"));
|
460
460
|
}
|
461
461
|
}
|
462
462
|
|
@@ -480,7 +480,7 @@ static VALUE re2_matchdata_nth_match(int nth, VALUE self) {
|
|
480
480
|
return Qnil;
|
481
481
|
} else {
|
482
482
|
return ENCODED_STR_NEW(match->data(), match->size(),
|
483
|
-
p->pattern->options().
|
483
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
484
484
|
}
|
485
485
|
}
|
486
486
|
}
|
@@ -611,7 +611,7 @@ static VALUE re2_matchdata_inspect(VALUE self) {
|
|
611
611
|
output << ">";
|
612
612
|
|
613
613
|
result = ENCODED_STR_NEW(output.str().data(), output.str().length(),
|
614
|
-
p->pattern->options().
|
614
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
615
615
|
|
616
616
|
return result;
|
617
617
|
}
|
@@ -684,7 +684,7 @@ static VALUE re2_regexp_initialize(int argc, VALUE *argv, VALUE self) {
|
|
684
684
|
|
685
685
|
utf8 = rb_hash_aref(options, ID2SYM(id_utf8));
|
686
686
|
if (!NIL_P(utf8)) {
|
687
|
-
re2_options.
|
687
|
+
re2_options.set_encoding(RTEST(utf8) ? RE2::Options::EncodingUTF8 : RE2::Options::EncodingLatin1);
|
688
688
|
}
|
689
689
|
|
690
690
|
posix_syntax = rb_hash_aref(options, ID2SYM(id_posix_syntax));
|
@@ -767,7 +767,7 @@ static VALUE re2_regexp_inspect(VALUE self) {
|
|
767
767
|
output << "#<RE2::Regexp /" << p->pattern->pattern() << "/>";
|
768
768
|
|
769
769
|
result = ENCODED_STR_NEW(output.str().data(), output.str().length(),
|
770
|
-
p->pattern->options().
|
770
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
771
771
|
|
772
772
|
return result;
|
773
773
|
}
|
@@ -785,7 +785,7 @@ static VALUE re2_regexp_to_s(VALUE self) {
|
|
785
785
|
Data_Get_Struct(self, re2_pattern, p);
|
786
786
|
return ENCODED_STR_NEW(p->pattern->pattern().data(),
|
787
787
|
p->pattern->pattern().size(),
|
788
|
-
p->pattern->options().
|
788
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
789
789
|
}
|
790
790
|
|
791
791
|
/*
|
@@ -815,7 +815,7 @@ static VALUE re2_regexp_ok(VALUE self) {
|
|
815
815
|
static VALUE re2_regexp_utf8(VALUE self) {
|
816
816
|
re2_pattern *p;
|
817
817
|
Data_Get_Struct(self, re2_pattern, p);
|
818
|
-
return BOOL2RUBY(p->pattern->options().
|
818
|
+
return BOOL2RUBY(p->pattern->options().encoding() == RE2::Options::EncodingUTF8);
|
819
819
|
}
|
820
820
|
|
821
821
|
/*
|
@@ -1012,7 +1012,7 @@ static VALUE re2_regexp_error_arg(VALUE self) {
|
|
1012
1012
|
} else {
|
1013
1013
|
return ENCODED_STR_NEW(p->pattern->error_arg().data(),
|
1014
1014
|
p->pattern->error_arg().size(),
|
1015
|
-
p->pattern->options().
|
1015
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
1016
1016
|
}
|
1017
1017
|
}
|
1018
1018
|
|
@@ -1043,7 +1043,7 @@ static VALUE re2_regexp_options(VALUE self) {
|
|
1043
1043
|
options = rb_hash_new();
|
1044
1044
|
|
1045
1045
|
rb_hash_aset(options, ID2SYM(id_utf8),
|
1046
|
-
BOOL2RUBY(p->pattern->options().
|
1046
|
+
BOOL2RUBY(p->pattern->options().encoding() == RE2::Options::EncodingUTF8));
|
1047
1047
|
|
1048
1048
|
rb_hash_aset(options, ID2SYM(id_posix_syntax),
|
1049
1049
|
BOOL2RUBY(p->pattern->options().posix_syntax()));
|
@@ -1113,7 +1113,7 @@ static VALUE re2_regexp_named_capturing_groups(VALUE self) {
|
|
1113
1113
|
for (iterator = groups.begin(); iterator != groups.end(); iterator++) {
|
1114
1114
|
rb_hash_aset(capturing_groups,
|
1115
1115
|
ENCODED_STR_NEW(iterator->first.data(), iterator->first.size(),
|
1116
|
-
p->pattern->options().
|
1116
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1"),
|
1117
1117
|
INT2FIX(iterator->second));
|
1118
1118
|
}
|
1119
1119
|
|
@@ -1284,7 +1284,7 @@ static VALUE re2_Replace(VALUE self, VALUE str, VALUE pattern,
|
|
1284
1284
|
RE2::Replace(&str_as_string, *p->pattern, StringValuePtr(rewrite));
|
1285
1285
|
|
1286
1286
|
return ENCODED_STR_NEW(str_as_string.data(), str_as_string.size(),
|
1287
|
-
p->pattern->options().
|
1287
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
1288
1288
|
} else {
|
1289
1289
|
RE2::Replace(&str_as_string, StringValuePtr(pattern),
|
1290
1290
|
StringValuePtr(rewrite));
|
@@ -1321,7 +1321,7 @@ static VALUE re2_GlobalReplace(VALUE self, VALUE str, VALUE pattern,
|
|
1321
1321
|
RE2::GlobalReplace(&str_as_string, *p->pattern, StringValuePtr(rewrite));
|
1322
1322
|
|
1323
1323
|
return ENCODED_STR_NEW(str_as_string.data(), str_as_string.size(),
|
1324
|
-
p->pattern->options().
|
1324
|
+
p->pattern->options().encoding() == RE2::Options::EncodingUTF8 ? "UTF-8" : "ISO-8859-1");
|
1325
1325
|
} else {
|
1326
1326
|
RE2::GlobalReplace(&str_as_string, StringValuePtr(pattern),
|
1327
1327
|
StringValuePtr(rewrite));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: re2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Mucur
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.2'
|
41
41
|
description: Ruby bindings to re2, "an efficient, principled regular expression library".
|
42
|
-
email:
|
42
|
+
email:
|
43
43
|
executables: []
|
44
44
|
extensions:
|
45
45
|
- ext/re2/extconf.rb
|
@@ -79,8 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
|
-
|
83
|
-
rubygems_version: 2.6.11
|
82
|
+
rubygems_version: 3.1.2
|
84
83
|
signing_key:
|
85
84
|
specification_version: 4
|
86
85
|
summary: Ruby bindings to re2.
|