# HG changeset patch # User Pierre-Yves David # Date 1489615634 25200 # Node ID da83f12d7a88c82f4468b588c22efe02c0c11ea7 # Parent 0e7a6279ff6eb4b8d19ded7672c49b35039235ae util: explicitly tests for None Changeset 8b6927eb7efd removed the mutable default value, but did not explicitly tested for None. Such implicit checking can introduce semantic and performance issue. We move to an explicit check for None as recommended by PEP8: https://www.python.org/dev/peps/pep-0008/#programming-recommendations diff -r 0e7a6279ff6e -r da83f12d7a88 mercurial/util.py --- a/mercurial/util.py Wed Mar 15 15:38:02 2017 -0700 +++ b/mercurial/util.py Wed Mar 15 15:07:14 2017 -0700 @@ -1831,7 +1831,8 @@ def strdate(string, format, defaults=None): """parse a localized time string and return a (unixtime, offset) tuple. if the string cannot be parsed, ValueError is raised.""" - defaults = defaults or {} + if defaults is None: + defaults = {} # NOTE: unixtime = localunixtime + offset offset, date = parsetimezone(string)