# HG changeset patch
# User Gregory Szorc <gregory.sz...@gmail.com>
# Date 1489380872 25200
#      Sun Mar 12 21:54:32 2017 -0700
# Node ID e379f89d119b7b1cd40c313693912b5fdc4a3360
# Parent  f72bef9154d773c05fa8b2ae30d7db55861fa639
util: don't use mutable default argument value

I don't think this is any tight loops and we'd need to worry about
PyObject creation overhead. Also, I'm pretty sure strptime()
will be much slower than PyObject creation (date parsing is
surprisingly slow).

diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1827,9 +1827,11 @@ def parsetimezone(s):
 
     return None, s
 
-def strdate(string, format, defaults=[]):
+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 []
+
     # NOTE: unixtime = localunixtime + offset
     offset, date = parsetimezone(string)
 
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to