--- Page.py.orig	2005-09-04 16:01:44.000000000 -0300
+++ Page.py	2005-09-05 21:19:40.000000000 -0300
@@ -301,6 +301,21 @@
         @rtype: unicode
         @return: pagename of this page, splitted into space separated words
         """
+        if hasattr(self, "pi_title"):
+            if self.pi_title:
+                return self.pi_title
+        else:
+            header = self.getPageHeader()
+            if header and "#title " in header:
+                for line in header.splitlines():
+                    verb, args = (line[1:]+' ').split(' ', 1)
+                    verb = verb.lower()
+                    args = args.strip()
+                    if verb == "title":
+                        self.pi_title = args
+                return self.pi_title
+            else:
+                self.pi_title = None
         if not force and not request.user.wikiname_add_spaces:
             return self.page_name
 
@@ -933,6 +948,7 @@
         # default is wiki markup
         pi_format = self.cfg.default_markup or "wiki"
         pi_formatargs = ''
+        pi_title = None
         pi_redirect = None
         pi_refresh = None
         pi_formtext = []
@@ -971,6 +987,9 @@
                 pi_format, pi_formatargs = (args+' ').split(' ',1)
                 pi_format = pi_format.lower()
                 pi_formatargs = pi_formatargs.strip()
+            elif verb == "title":
+                # page title
+                pi_title = args
             elif verb == "refresh":
                 if self.cfg.refresh:
                     try:
@@ -1054,6 +1073,7 @@
 
         # Save values for later use
         self.pi_format = pi_format
+        self.pi_title = pi_title
 
         # start document output
         doc_leader = self.formatter.startDocument(self.page_name)
