On Wed, Mar 19, 2008 at 10:27 PM, David Wolever <[EMAIL PROTECTED]> wrote: > On 19-Mar-08, at 6:44 PM, Collin Winter wrote: > > You can pass -p to refactor.py to fix this on a per-run basis. See > > r58002 (and the revisions it mentions) for a failed attempt to do this > > automatically. > > So, correct me if I'm wrong, but the relevant code is this: > - try: > - tree = self.driver.parse_string(data) > - except parse.ParseError, e: > - if e.type == token.EQUAL: > - tree = self.printless_driver.parse_string(data) > - else: > - raise > > Why not, instead of trying both parsers, scan for a __future__ > import, then do the Right Thing based on that?
Different use cases. Auto-detection based on __future__ would be a good thing to have (assuming that __future__ statement has actually been implemented :-). But the -p lag is for code that has already been converted to 3.0 (as far as print statements are concerned anyway) and hence doesn't have __future__ statements. This is mostly used in the standard library, where sometimes it is useful to run selected fixers again after a merge. :-) -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com