On 5/30/06, Guido van Rossum <[EMAIL PROTECTED]> wrote: > Please be specific. Which places are affected? This shouldn't be > answered generically but on a case-by-case basis.
My final report: All in all, the tuple->list change was minimally invasive. The two most prevalent issues were 1) converting *args to a tuple for hashing purposes, 2) appending/prepending items to *args, then trying to hash/do-something-else with it. In both cases, the code changes were minor. The most striking cases were logging.LogRecord.__init__() and cgi.dolog() (broadly, "msg % args"), both of which are fed by numerous other functions like def warning(self, msg, *args): self._log(msg, args, ....) There are also other places that feed the logging.* and cgi.* functions with dicts, meaning that a simple call to tuple() breaks things sometimes. This means that extra logic has to be added to check for the presence of a dict, slightly complicating this uncommon usecase. Overall, I've chosen to keep the external interfaces of the changed modules/packages the same; if there's a desire to change them later, this SVN commit can be used to figure out where adjustments should be made. Most of the changes involve the test suite, primarily where higher-order functions are concerned. I've submitted a patch to implement this change as SF #1498441 (http://python.orf/sf/1498441); it's assigned to Guido. Collin Winter _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com