The answer to this question on splitting strings by newline characters, Split bash string by newline characters, seems to say that newlines are the default delimiter, so we should change the delimiter to null, and split on that instead. Why doesn't splitting on the newline work? What I would expect (and desire, in my use case) is that there be a 1:1 correlation between lines and \n in the input string (so a \n must be added to get the last line), and that blank lines, leading/imbedded whitespace, etc. would be preserved.
Quoting from Mark Gerolimatos, who seems to be asking the same question:
In OS-X/Macland, you have to use bash 3.2 (or at least without updating BASH). Thus the mysterious read -rd ' ' must be used (and works!) the online manual page I found is pretty cryptic about this (ss64.com/bash/read.html)...it's pretty mind-bending...does it mean "turn off \n, and then use emptiness as the delimiter?"