[pypy-commit] pypy default: Tweak for the common case of no **keyword arguments.
arigo
noreply at buildbot.pypy.org
Thu Sep 22 09:54:57 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r47384:655453fd0333
Date: 2011-09-22 09:21 +0200
http://bitbucket.org/pypy/pypy/changeset/655453fd0333/
Log: Tweak for the common case of no **keyword arguments.
diff --git a/lib_pypy/_functools.py b/lib_pypy/_functools.py
--- a/lib_pypy/_functools.py
+++ b/lib_pypy/_functools.py
@@ -14,10 +14,9 @@
raise TypeError("the first argument must be callable")
self.func = func
self.args = args
- self.keywords = keywords
+ self.keywords = keywords or None
def __call__(self, *fargs, **fkeywords):
- newkeywords = self.keywords.copy()
- newkeywords.update(fkeywords)
- return self.func(*(self.args + fargs), **newkeywords)
-
+ if self.keywords is not None:
+ fkeywords.update(self.keywords)
+ return self.func(*(self.args + fargs), **fkeywords)
More information about the pypy-commit
mailing list