web/contrib/template.py has this logic:
if self._type == "text":
cls = None
type = None ##
On the line where I put the ##, it should say type=self._type. Currently, calling render_genshi(type='html') and render_genshi(type='xhtml') do the exact same thing, which seems like a mistake. (For the record, the current code is always picking xhtml.)
Do you want to submit a pull request?