diff --git a/doc/language/character_selectors.rdoc b/doc/language/character_selectors.rdoc
index 20685b8392b655..8bfc9b719b75bf 100644
--- a/doc/language/character_selectors.rdoc
+++ b/doc/language/character_selectors.rdoc
@@ -31,7 +31,6 @@ contained in the selector itself:
'abracadabra'.delete('abc') # => "rdr"
'0123456789'.delete('258') # => "0134679"
'!@#$%&*()_+'.delete('+') # => "!@$%*()_"
- 'тест'.delete('т') # => "ес"
'こんにちは'.delete('に') # => "こんちは"
Note that order and repetitions do not matter:
diff --git a/doc/matchdata/begin.rdoc b/doc/matchdata/begin.rdoc
index 8046dd9d55840c..6100617e19cf0c 100644
--- a/doc/matchdata/begin.rdoc
+++ b/doc/matchdata/begin.rdoc
@@ -10,12 +10,12 @@ returns the offset of the beginning of the nth match:
m[3] # => "113"
m.begin(3) # => 3
- m = /(т)(е)(с)/.match('тест')
- # => #
- m[0] # => "тес"
- m.begin(0) # => 0
- m[3] # => "с"
- m.begin(3) # => 2
+ m = /(ん)(に)(ち)/.match('こんにちは')
+ # => #
+ m[0] # => "んにち"
+ m.begin(0) # => 1
+ m[3] # => "ち"
+ m.begin(3) # => 3
When string or symbol argument +name+ is given,
returns the offset of the beginning for the named match:
diff --git a/doc/matchdata/bytebegin.rdoc b/doc/matchdata/bytebegin.rdoc
index 5b40a7ef73ce4a..54e417a7fca510 100644
--- a/doc/matchdata/bytebegin.rdoc
+++ b/doc/matchdata/bytebegin.rdoc
@@ -10,12 +10,12 @@ returns the offset of the beginning of the nth match:
m[3] # => "113"
m.bytebegin(3) # => 3
- m = /(т)(е)(с)/.match('тест')
- # => #
- m[0] # => "тес"
- m.bytebegin(0) # => 0
- m[3] # => "с"
- m.bytebegin(3) # => 4
+ m = /(ん)(に)(ち)/.match('こんにちは')
+ # => #
+ m[0] # => "んにち"
+ m.bytebegin(0) # => 3
+ m[3] # => "ち"
+ m.bytebegin(3) # => 9
When string or symbol argument +name+ is given,
returns the offset of the beginning for the named match:
diff --git a/doc/matchdata/byteend.rdoc b/doc/matchdata/byteend.rdoc
index eb576640220b05..0a03f762088d22 100644
--- a/doc/matchdata/byteend.rdoc
+++ b/doc/matchdata/byteend.rdoc
@@ -10,12 +10,12 @@ returns the offset of the end of the nth match:
m[3] # => "113"
m.byteend(3) # => 6
- m = /(т)(е)(с)/.match('тест')
- # => #
- m[0] # => "тес"
- m.byteend(0) # => 6
- m[3] # => "с"
- m.byteend(3) # => 6
+ m = /(ん)(に)(ち)/.match('こんにちは')
+ # => #
+ m[0] # => "んにち"
+ m.byteend(0) # => 12
+ m[3] # => "ち"
+ m.byteend(3) # => 12
When string or symbol argument +name+ is given,
returns the offset of the end for the named match:
diff --git a/doc/matchdata/end.rdoc b/doc/matchdata/end.rdoc
index 0209b2d2fc097f..c43a5428f3d1ad 100644
--- a/doc/matchdata/end.rdoc
+++ b/doc/matchdata/end.rdoc
@@ -10,12 +10,12 @@ returns the offset of the end of the nth match:
m[3] # => "113"
m.end(3) # => 6
- m = /(т)(е)(с)/.match('тест')
- # => #
- m[0] # => "тес"
- m.end(0) # => 3
- m[3] # => "с"
- m.end(3) # => 3
+ m = /(ん)(に)(ち)/.match('こんにちは')
+ # => #
+ m[0] # => "んにち"
+ m.end(0) # => 4
+ m[3] # => "ち"
+ m.end(3) # => 4
When string or symbol argument +name+ is given,
returns the offset of the end for the named match:
diff --git a/doc/matchdata/offset.rdoc b/doc/matchdata/offset.rdoc
index 0985316d763de2..4194ef7ef9e13a 100644
--- a/doc/matchdata/offset.rdoc
+++ b/doc/matchdata/offset.rdoc
@@ -11,12 +11,12 @@ returns the starting and ending offsets of the nth match:
m[3] # => "113"
m.offset(3) # => [3, 6]
- m = /(т)(е)(с)/.match('тест')
- # => #
- m[0] # => "тес"
- m.offset(0) # => [0, 3]
- m[3] # => "с"
- m.offset(3) # => [2, 3]
+ m = /(ん)(に)(ち)/.match('こんにちは')
+ # => #
+ m[0] # => "んにち"
+ m.offset(0) # => [1, 4]
+ m[3] # => "ち"
+ m.offset(3) # => [3, 4]
When string or symbol argument +name+ is given,
returns the starting and ending offsets for the named match:
diff --git a/random.c b/random.c
index d902603e98345a..ad7cbca426361c 100644
--- a/random.c
+++ b/random.c
@@ -405,7 +405,7 @@ rand_init(const rb_random_interface_t *rng, rb_random_t *rnd, VALUE seed)
static VALUE
random_init(int argc, VALUE *argv, VALUE obj)
{
- const rb_random_interface_t *rng;
+ const rb_random_interface_t *rng = NULL;
rb_random_t *rnd = try_get_rnd(obj, &rng);
if (!rng) {
@@ -1296,7 +1296,7 @@ rand_bytes(const rb_random_interface_t *rng, rb_random_t *rnd, long n)
static VALUE
random_bytes(VALUE obj, VALUE len)
{
- const rb_random_interface_t *rng;
+ const rb_random_interface_t *rng = NULL;
rb_random_t *rnd = try_get_rnd(obj, &rng);
return rand_bytes(rng, rnd, NUM2LONG(rb_to_int(len)));
}
@@ -1570,7 +1570,7 @@ static VALUE rand_random(int argc, VALUE *argv, VALUE obj, const rb_random_inter
static VALUE
random_rand(int argc, VALUE *argv, VALUE obj)
{
- const rb_random_interface_t *rng;
+ const rb_random_interface_t *rng = NULL;
rb_random_t *rnd = try_get_rnd(obj, &rng);
VALUE v = rand_random(argc, argv, obj, rng, rnd);
check_random_number(v, argv);
@@ -1621,7 +1621,7 @@ rand_random(int argc, VALUE *argv, VALUE obj, const rb_random_interface_t *rng,
static VALUE
rand_random_number(int argc, VALUE *argv, VALUE obj)
{
- const rb_random_interface_t *rng;
+ const rb_random_interface_t *rng = NULL;
rb_random_t *rnd = try_get_rnd(obj, &rng);
VALUE v = rand_random(argc, argv, obj, rng, rnd);
if (NIL_P(v)) v = rand_random(0, 0, obj, rng, rnd);