diff -u --recursive genshi.old/core.py genshi/core.py
--- genshi.old/core.py	2008-12-07 18:40:17.688869762 +0100
+++ genshi/core.py	2008-12-07 18:44:53.511375696 +0100
@@ -16,6 +16,11 @@
 from itertools import chain
 import operator
 
+try:
+    from functools import reduce
+except ImportError:
+    pass # builtin in Python <= 2.5
+
 from genshi.util import plaintext, stripentities, striptags
 
 __all__ = ['Stream', 'Markup', 'escape', 'unescape', 'Attrs', 'Namespace',
diff -u --recursive genshi.old/path.py genshi/path.py
--- genshi.old/path.py	2008-12-07 18:40:17.688869762 +0100
+++ genshi/path.py	2008-12-07 18:44:44.916865106 +0100
@@ -42,6 +42,11 @@
 import operator
 import re
 
+try:
+    from functools import reduce
+except ImportError:
+    pass # builtin in Python <= 2.5
+
 from genshi.core import Stream, Attrs, Namespace, QName
 from genshi.core import START, END, TEXT, START_NS, END_NS, COMMENT, PI, \
                         START_CDATA, END_CDATA
