Issue #11729 has been updated by Kaneko Yuichiro.


I think it is better to fix the document of `String#split`

```diff
--- a/string.c
+++ b/string.c
@@ -6701,7 +6701,7 @@ static const char isspacetable[256] = {

 /*
  *  call-seq:
- *     str.split(pattern=$;, [limit])   -> anArray
+ *     str.split(pattern=nil, [limit])   -> anArray
  *
  *  Divides <i>str</i> into substrings based on a delimiter, returning an array
  *  of these substrings.
@@ -6716,8 +6716,8 @@ static const char isspacetable[256] = {
  *  <i>str</i> is split into individual characters. If <i>pattern</i> contains
  *  groups, the respective matches will be returned in the array as well.
  *
- *  If <i>pattern</i> is omitted, the value of <code>$;</code> is used.  If
- *  <code>$;</code> is <code>nil</code> (which is the default), <i>str</i>is
+ *  If <i>pattern</i> is <code>nil</code>, the value of <code>$;</code> isused.
+ *  If <code>$;</code> is <code>nil</code> (which is the default), <i>str</i> is
  *  split on whitespace as if ` ' were specified.
  *
  *  If the <i>limit</i> parameter is omitted, trailing null fields are
```

should I create another issue to discuss about the documentation change?
If no need I will commit it.

----------------------------------------
Bug #11729: String#split(nil) incorrectly uses $;
https://bugs.ruby-lang.org/issues/11729#change-55533

* Author: Tatsuya Otsuka
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-11-21 trunk 52698) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Hi,

Is this intentional?

```
$; = "@"
"a@b".split(nil) # => ["a", "b"]
```

I expect `["a@b"]` because I found the following sentence in the Japanese documentation.

```
1 バイトの空白文字 ' ' か nil
先頭と末尾の空白を除いたうえで、空白文字列で分割する。
```

http://docs.ruby-lang.org/ja/2.2.0/method/String/i/split.html



-- 
https://bugs.ruby-lang.org/