I maintain that a separate constructor (e.g. textfile) would be a much cleaner solution.
it's a completely different kind of file object, after all.
Unclear. If files opened in regular text mode and binary mode, in read mode, write mode, append mode, and update mode, are all the same text object, I think Universal newlines are just another minor variation.
Also, changing the mode is a morelocalized change (it's all in fileobject.c).
other than that, I see no problems with concept and implementation (you should have done it this way from the start ;-)
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)