I can finish this work.
The MRI 1.9 behavior for :binmode and :textmode:
If either (or both) of these keys are present, with a truthy value, they are equivalent to the 'b' or 't' characters in the mode string, respectively, except for the error raised. Setting both 'b' and 't' in the mode string raises an argument error for "invalid access mode %s" (where %s is the mode string). If both binmode and textmode are requested through the hash keys, possibly in combination with the mode string, the argument error message text is "both textmode and binmode specified".
The mode string is parsed first, so if you set 'b' and 't' there you get the "invalid access mode" message text in the exception, and the values in the hash do not matter.
Except for the message in the exception, :binmode is exactly equivalent to mode 'b' and :textmode is exactly equivalent to mode 't'.