re2 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/mudge/re2.svg?branch=master)](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.
|