¿Por qué split ('') está tratando de ser (también) inteligente?

Acabo de descubrir el siguiente comportamiento extraño conString#split:

"a\tb c\nd".split
=> ["a", "b", "c", "d"]

"a\tb c\nd".split(' ')
=> ["a", "b", "c", "d"]

"a\tb c\nd".split(/ /)
=> ["a\tb", "c\nd"]

La fuente (string.c de 2.0.0) tiene más de 200 líneas y contiene un pasaje como este:

/* L 5909 */
else if (rb_enc_asciicompat(enc2) == 1) {
    if (RSTRING_LEN(spat) == 1 && RSTRING_PTR(spat)[0] == ' '){
        split_type = awk;
    }
}

Más tarde, en el código para elawk tipo dividido, el argumento real ya no se usa más y hace lo mismo que un simplesplit.

¿Alguien más siente que esto está roto de alguna manera?¿Hay buenas razones para esto?¿Ocurre eso de "magia" con más frecuencia de lo que la mayoría de la gente podría pensar en Ruby?

Respuestas a la pregunta(2)

Su respuesta a la pregunta