When you ask a file for its size and it is closed it raises an IOError. This makes the error message the same as it is in ruby 1.9.
String#squeeze should throw an ArgumentError when given a bad range (e.g., 'e-b'). Since String#squeeze and String#squeeze! should both throw an ArgumentError when the range argument is backward, I moved the error into the String#squeeze! method and removed it from the String#squeeze method (which is defined in terms of the banged method).
…array element deletion out of =.