Index: turbogears/controllers.py
===================================================================
--- turbogears/controllers.py	(revision 18)
+++ turbogears/controllers.py	(working copy)
@@ -56,7 +56,7 @@
         output = output.encode("utf8")
     return output
         
-def expose(html=None, validators=None):
+def expose(html=None, validators=None, tg_format=None):
     """TurboGears verson of CherryPy's expose.
     
     In addition to exposing the method to the web, this expose function will
@@ -75,12 +75,15 @@
     @type html: string
     @param validators: maps argument names to validator applied to that arg
     @type validators: dict or instance of formencode.Schema
+    @param tg_format: which format for kid to output for by default
+    @type tg_format: string
     """
     import controllers
     
     def decorator(func):
         def newfunc(self, *args, **kw):
-            tg_format = kw.pop("tg_format", None)
+            _tg_format = tg_format
+            _tg_format = kw.pop("tg_format", _tg_format)
             underscore = kw.pop("_", None)
             
             errors = {}
@@ -105,7 +108,7 @@
                     raise turbogearsvalid.Invalid(str(errors))
             else:
                 output = func(self, *args, **kw)
-            return controllers._process_output(tg_format, output, html)
+            return controllers._process_output(_tg_format, output, html)
         newfunc.func_name = func.func_name
         newfunc.exposed = True
         return newfunc
