"Returns a copy of str with the first occurrence of pattern substituted for the second argument." should be "Returns a copy of str with the first occurrence of pattern replaced by the second argument."
This issue was solved with changeset r36506.
Tyler, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
string.c (rb_str_sub): Fixed wording of documentation to match the
replacement operation. Minor cleanup of markup. [Bug #6719]
string.c (rb_str_sub_bang): Minor wording change for clarity, minor
cleanup of markup.