# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID 0936388f00d80f0ac9c3e71cddf3ffb8c73cf593
# Parent  0f95d353d15dd56a300b66ea09d68ac061f12eac
terminate all generated <input> tags with />

diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/Page.py
--- a/MoinMoin/Page.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/Page.py	Fri Jun 16 11:40:48 2006 +0200
@@ -1226,7 +1226,7 @@ class Page:
                 # user-defined form preview?
                 # TODO: check if this is also an RTL form - then add ui_lang_attr
                 if pi_formtext:
-                    pi_formtext.append('<input type="hidden" name="fieldlist" value="%s">\n' %
+                    pi_formtext.append('<input type="hidden" name="fieldlist" value="%s" />\n' %
                         "|".join(pi_formfields))
                     pi_formtext.append('</form></table>\n')
                     pi_formtext.append(_(
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/PageEditor.py
--- a/MoinMoin/PageEditor.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/PageEditor.py	Fri Jun 16 11:40:48 2006 +0200
@@ -299,7 +299,7 @@ Please review the page and save then. Do
         self.request.write(unicode(html.INPUT(type="hidden", name="action", value="edit")))
 
         # Send revision of the page our edit is based on
-        self.request.write('<input type="hidden" name="rev" value="%d">' % (rev,))
+        self.request.write('<input type="hidden" name="rev" value="%d" />' % (rev,))
 
         # Save backto in a hidden input
         backto = form.get('backto', [None])[0]
@@ -308,7 +308,7 @@ Please review the page and save then. Do
 
         # button bar
         button_spellcheck = (SpellCheck and
-            '<input class="button" type="submit" name="button_spellcheck" value="%s" onClick="flgChange = false;">'
+            '<input class="button" type="submit" name="button_spellcheck" value="%s" onClick="flgChange = false;" />'
                 % _('Check Spelling')) or ''
 
         save_button_text = _('Save Changes')
@@ -325,19 +325,19 @@ If you don't want that, hit '''%(cancel_
 
 
         self.request.write('''
-<input class="button" type="submit" name="button_save" value="%s" onClick="flgChange = false;">
-<input class="button" type="submit" name="button_preview" value="%s" onClick="flgChange = false;">
+<input class="button" type="submit" name="button_save" value="%s" onClick="flgChange = false;" />
+<input class="button" type="submit" name="button_preview" value="%s" onClick="flgChange = false;" />
 ''' % (save_button_text, _('Preview'),))
         
         if not (self.request.cfg.editor_force and self.request.cfg.editor_default == 'text'):
             self.request.write('''
-<input id="switch2gui" style="display: none;" class="button" type="submit" name="button_switch" value="%s">
+<input id="switch2gui" style="display: none;" class="button" type="submit" name="button_switch" value="%s" />
 ''' % (_('GUI Mode'),))
             
         self.request.write('''
 %s
-<input class="button" type="submit" name="button_cancel" value="%s">
-<input type="hidden" name="editor" value="text">
+<input class="button" type="submit" name="button_cancel" value="%s" />
+<input type="hidden" name="editor" value="text" />
 ''' % (button_spellcheck, cancel_button_text,))
 
         # Add textarea with page text
@@ -364,7 +364,7 @@ If you don't want that, hit '''%(cancel_
         self.request.write("<p>")
         self.request.write(_("Comment:"),
             ' <input id="editor-comment" type="text" name="comment" value="%s" maxlength="80"'
-            ' onChange="flgChange = true;" onKeyPress="flgChange = true;">' % (
+            ' onChange="flgChange = true;" onKeyPress="flgChange = true;" />' % (
                 wikiutil.escape(kw.get('comment', ''), 1), ))
         self.request.write("</p>")
 
@@ -382,7 +382,7 @@ If you don't want that, hit '''%(cancel_
         if self.cfg.mail_enabled:
             self.request.write('''
 &nbsp;
-<input type="checkbox" name="trivial" id="chktrivial" value="1" %(checked)s>
+<input type="checkbox" name="trivial" id="chktrivial" value="1" %(checked)s />
 <label for="chktrivial">%(label)s</label> ''' % {
                 'checked': ('', 'checked')[form.get('trivial',['0'])[0] == '1'],
                 'label': _("Trivial change"),
@@ -390,7 +390,7 @@ If you don't want that, hit '''%(cancel_
 
         self.request.write('''
 &nbsp;
-<input type="checkbox" name="rstrip" id="chkrstrip" value="1" %(checked)s>
+<input type="checkbox" name="rstrip" id="chkrstrip" value="1" %(checked)s />
 <label for="chkrstrip">%(label)s</label>
 ''' % {
             'checked': ('', 'checked')[form.get('rstrip',['0'])[0] == '1'],
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/PageGraphicalEditor.py
--- a/MoinMoin/PageGraphicalEditor.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/PageGraphicalEditor.py	Fri Jun 16 11:40:48 2006 +0200
@@ -206,7 +206,7 @@ Please review the page and save then. Do
         self.request.write(unicode(html.INPUT(type="hidden", name="action", value="edit")))
 
         # Send revision of the page our edit is based on
-        self.request.write('<input type="hidden" name="rev" value="%d">' % (rev,))
+        self.request.write('<input type="hidden" name="rev" value="%d" />' % (rev,))
 
         # Save backto in a hidden input
         backto = form.get('backto', [None])[0]
@@ -215,7 +215,7 @@ Please review the page and save then. Do
 
         # button bar
         button_spellcheck = (SpellCheck and
-            '<input class="button" type="submit" name="button_spellcheck" value="%s">'
+            '<input class="button" type="submit" name="button_spellcheck" value="%s" />'
                 % _('Check Spelling')) or ''
 
         save_button_text = _('Save Changes')
@@ -231,12 +231,12 @@ If you don't want that, hit '''%(cancel_
             }, '</em></p>')
 
         self.request.write('''
-<input class="button" type="submit" name="button_save" value="%s">
-<input class="button" type="submit" name="button_preview" value="%s">
-<input class="button" type="submit" name="button_switch" value="%s">
+<input class="button" type="submit" name="button_save" value="%s" />
+<input class="button" type="submit" name="button_preview" value="%s" />
+<input class="button" type="submit" name="button_switch" value="%s" />
 %s
-<input class="button" type="submit" name="button_cancel" value="%s">
-<input type="hidden" name="editor" value="gui">
+<input class="button" type="submit" name="button_cancel" value="%s" />
+<input type="hidden" name="editor" value="gui" />
 ''' % (save_button_text, _('Preview'), _('Text mode'), button_spellcheck, cancel_button_text,))
 
         self.sendconfirmleaving() # TODO update state of flgChange to make this work, see PageEditor
@@ -295,7 +295,7 @@ If you don't want that, hit '''%(cancel_
 """)
         self.request.write("<p>")
         self.request.write(_("Comment:"),
-            ' <input id="editor-comment" type="text" name="comment" value="%s" maxlength="80">' % (
+            ' <input id="editor-comment" type="text" name="comment" value="%s" maxlength="80" />' % (
                 wikiutil.escape(kw.get('comment', ''), 1), ))
         self.request.write("</p>")
 
@@ -312,7 +312,7 @@ If you don't want that, hit '''%(cancel_
         if self.cfg.mail_enabled:
             self.request.write('''
 &nbsp;
-<input type="checkbox" name="trivial" id="chktrivial" value="1" %(checked)s>
+<input type="checkbox" name="trivial" id="chktrivial" value="1" %(checked)s />
 <label for="chktrivial">%(label)s</label> ''' % {
                 'checked': ('', 'checked')[form.get('trivial',['0'])[0] == '1'],
                 'label': _("Trivial change"),
@@ -320,7 +320,7 @@ If you don't want that, hit '''%(cancel_
 
         self.request.write('''
 &nbsp;
-<input type="checkbox" name="rstrip" id="chkrstrip" value="1" %(checked)s>
+<input type="checkbox" name="rstrip" id="chkrstrip" value="1" %(checked)s />
 <label for="chkrstrip">%(label)s</label>
 </p> ''' % {
             'checked': ('', 'checked')[form.get('rstrip',['0'])[0] == '1'],
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/AttachFile.py
--- a/MoinMoin/action/AttachFile.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/AttachFile.py	Fri Jun 16 11:40:48 2006 +0200
@@ -450,14 +450,14 @@ Otherwise, if "Rename to" is left blank,
 <form action="%(baseurl)s/%(pagename)s" method="POST" enctype="multipart/form-data">
 <dl>
 <dt>%(upload_label_file)s</dt>
-<dd><input type="file" name="file" size="50"></dd>
+<dd><input type="file" name="file" size="50" /></dd>
 <dt>%(upload_label_rename)s</dt>
-<dd><input type="text" name="rename" size="50" value="%(rename)s"></dd>
+<dd><input type="text" name="rename" size="50" value="%(rename)s" /></dd>
 </dl>
 <p>
-<input type="hidden" name="action" value="%(action_name)s">
-<input type="hidden" name="do" value="upload">
-<input type="submit" value="%(upload_button)s">
+<input type="hidden" name="action" value="%(action_name)s" />
+<input type="hidden" name="do" value="upload" />
+<input type="submit" value="%(upload_button)s" />
 </p>
 </form>
 """ % {
@@ -471,7 +471,7 @@ Otherwise, if "Rename to" is left blank,
 })
 
 #<dt>%(upload_label_mime)s</dt>
-#<dd><input type="text" name="mime" size="50"></dd>
+#<dd><input type="text" name="mime" size="50" /></dd>
 #    'upload_label_mime': _('MIME Type (optional)'),
 
 
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/DeletePage.py
--- a/MoinMoin/action/DeletePage.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/DeletePage.py	Fri Jun 16 11:40:48 2006 +0200
@@ -61,7 +61,7 @@ class DeletePage(ActionBase):
     <tr>
         <td class="label"><label>%(comment_label)s</label></td>
         <td class="content">
-            <input type="text" name="comment" maxlength="80">
+            <input type="text" name="comment" maxlength="80" />
         </td>
     </tr>
     <tr>
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/Despam.py
--- a/MoinMoin/action/Despam.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/Despam.py	Fri Jun 16 11:40:48 2006 +0200
@@ -84,9 +84,9 @@ def show_pages(request, pagename, editor
 </table>
 <p>
 <form method="post" action="%s/%s">
-<input type="hidden" name="action" value="Despam">
-<input type="hidden" name="editor" value="%s">
-<input type="submit" name="ok" value="%s">
+<input type="hidden" name="action" value="Despam" />
+<input type="hidden" name="editor" value="%s" />
+<input type="submit" name="ok" value="%s" />
 </form>
 </p>
 ''' % (request.getScriptname(), wikiutil.quoteWikinameURL(pagename),
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/PackagePages.py
--- a/MoinMoin/action/PackagePages.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/PackagePages.py	Fri Jun 16 11:40:48 2006 +0200
@@ -141,25 +141,25 @@ class PackagePages:
         form = '''
 %(error)s
 <form method="post" action="">
-<input type="hidden" name="action" value="%(action)s">
+<input type="hidden" name="action" value="%(action)s" />
 <table>
     <tr>
         <td class="label"><label>%(newname_label)s</label></td>
         <td class="content">
-            <input type="text" name="packagename" value="package.zip">
+            <input type="text" name="packagename" value="package.zip" />
         </td>
     </tr>
     <tr>
         <td class="label"><label>%(list_label)s</label></td>
         <td class="content">
-            <input type="text" name="pagelist" maxlength="80">
+            <input type="text" name="pagelist" maxlength="80" />
         </td>
     </tr>
     <tr>
         <td></td>
         <td class="buttons">
-            <input type="submit" name="submit" value="%(package)s">
-            <input type="submit" name="cancel" value="%(cancel)s">
+            <input type="submit" name="submit" value="%(package)s" />
+            <input type="submit" name="cancel" value="%(cancel)s" />
         </td>
     </tr>
 </table>
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/RenamePage.py
--- a/MoinMoin/action/RenamePage.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/RenamePage.py	Fri Jun 16 11:40:48 2006 +0200
@@ -73,13 +73,13 @@ class RenamePage(ActionBase):
     <tr>
         <td class="label"><label>%(newname_label)s</label></td>
         <td class="content">
-            <input type="text" name="newpagename" value="%(pagename)s">
+            <input type="text" name="newpagename" value="%(pagename)s" />
         </td>
     </tr>
     <tr>
         <td class="label"><label>%(comment_label)s</label></td>
         <td class="content">
-            <input type="text" name="comment" maxlength="80">
+            <input type="text" name="comment" maxlength="80" />
         </td>
     </tr>
     <tr>
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/SpellCheck.py
--- a/MoinMoin/action/SpellCheck.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/SpellCheck.py	Fri Jun 16 11:40:48 2006 +0200
@@ -191,12 +191,12 @@ def checkSpelling(page, request, own_for
         # add a form containing the bad words
         if own_form:
             msg = msg + ('<form method="post" action="">\n'
-                         '<input type="hidden" name="action" value="%s">\n') % action_name
+                         '<input type="hidden" name="action" value="%s" />\n') % action_name
         
-        checkbox = '<input type="checkbox" name="newwords" value="%(word)s">%(word)s&nbsp;&nbsp;'
+        checkbox = '<input type="checkbox" name="newwords" value="%(word)s" />%(word)s&nbsp;&nbsp;'
         msg = msg + (
             " ".join(map(lambda w, cb=checkbox: cb % {'word': wikiutil.escape(w),}, badwords)) +
-            '<p><input type="submit" name="button_newwords" value="%s"></p>' %
+            '<p><input type="submit" name="button_newwords" value="%s" /></p>' %
                 _('Add checked words to dictionary')
         )
         if own_form:
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/SubscribeUser.py
--- a/MoinMoin/action/SubscribeUser.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/SubscribeUser.py	Fri Jun 16 11:40:48 2006 +0200
@@ -22,9 +22,9 @@ def show_form(pagename, request):
 
     request.write("""
 <form action="" method="POST" enctype="multipart/form-data">
-<input type="hidden" name="action" value="SubscribeUser">
-Enter user names (comma separated): <input type="text" name="users" size="50">
-<input type="submit" value="Subscribe">
+<input type="hidden" name="action" value="SubscribeUser" />
+Enter user names (comma separated): <input type="text" name="users" size="50" />
+<input type="submit" value="Subscribe" />
 </form>
 """)
     request.theme.send_footer(pagename)
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/__init__.py
--- a/MoinMoin/action/__init__.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/__init__.py	Fri Jun 16 11:40:48 2006 +0200
@@ -115,11 +115,11 @@ class ActionBase:
         buttons = self.make_buttons()
         buttons_html = []
         for button in buttons:
-            buttons_html.append('<input type="submit" name="%s" value="%s">' % button)
+            buttons_html.append('<input type="submit" name="%s" value="%s" />' % button)
         buttons_html = "".join(buttons_html)
         
         if self.use_ticket:
-            ticket_html = '<input type="hidden" name="ticket" value="%s">' % wikiutil.createTicket()
+            ticket_html = '<input type="hidden" name="ticket" value="%s" />' % wikiutil.createTicket()
         else:
             ticket_html = ''
             
@@ -134,7 +134,7 @@ class ActionBase:
         form_html = '''
 %(error_html)s
 <form method="post" action="">
-<input type="hidden" name="action" value="%(actionname)s">
+<input type="hidden" name="action" value="%(actionname)s" />
 %(ticket_html)s
 %(user_html)s
 </form>''' % d
@@ -669,7 +669,7 @@ def do_info(pagename, request):
             Column('rev', label='#', align='right'),
             Column('mtime', label=_('Date'), align='right'),
             Column('size',  label=_('Size'), align='right'),
-            Column('diff', label='<input type="submit" value="%s">' % (_("Diff"))),
+            Column('diff', label='<input type="submit" value="%s" />' % (_("Diff"))),
             Column('editor', label=_('Editor'), hidden=not request.cfg.show_names),
             Column('comment', label=_('Comment')),
             Column('action', label=_('Action')),
@@ -721,7 +721,7 @@ def do_info(pagename, request):
                     rchecked = ''
                 else:
                     lchecked = rchecked = ''
-                diff = '<input type="radio" name="rev1" value="%d"%s><input type="radio" name="rev2" value="%d"%s>' % (rev,lchecked,rev,rchecked)
+                diff = '<input type="radio" name="rev1" value="%d"%s /><input type="radio" name="rev2" value="%d"%s />' % (rev,lchecked,rev,rchecked)
                 comment = line.comment
                 if not comment and line.action.find('/REVERT') != -1:
                         comment = _("Revert to revision %(rev)d.") % {'rev': int(line.extra)}
@@ -785,7 +785,7 @@ def do_info(pagename, request):
         # into the page view itself, and not in this form.
         request.write('<form method="GET" action="">\n')
         request.write('<div id="page-history">\n')
-        request.write('<input type="hidden" name="action" value="diff">\n')
+        request.write('<input type="hidden" name="action" value="diff" />\n')
 
         history_table = DataBrowserWidget(request)
         history_table.setData(history)
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/backup.py
--- a/MoinMoin/action/backup.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/backup.py	Fri Jun 16 11:40:48 2006 +0200
@@ -92,15 +92,15 @@ Please make sure your wiki configuration
 
     request.write("""
 <form action="%(baseurl)s/%(pagename)s" method="POST" enctype="multipart/form-data">
-<input type="hidden" name="action" value="backup">
-<input type="hidden" name="do" value="backup">
-<input type="submit" value="%(backup_button)s">
+<input type="hidden" name="action" value="backup" />
+<input type="hidden" name="do" value="backup" />
+<input type="submit" value="%(backup_button)s" />
 </form>
 
 <form action="%(baseurl)s/%(pagename)s" method="POST" enctype="multipart/form-data">
-<input type="hidden" name="action" value="backup">
-<input type="hidden" name="do" value="restore">
-<input type="submit" value="%(restore_button)s">
+<input type="hidden" name="action" value="backup" />
+<input type="hidden" name="do" value="restore" />
+<input type="submit" value="%(restore_button)s" />
 </form>
 """ % {
     'baseurl': request.getScriptname(),
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/action/fckdialog.py
--- a/MoinMoin/action/fckdialog.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/action/fckdialog.py	Fri Jun 16 11:40:48 2006 +0200
@@ -299,17 +299,17 @@ def link_dialog(request):
      <tr>
       <td>
        <form action=%(action)s method="GET">
-       <input type="hidden" name="action" value="fckdialog">
-       <input type="hidden" name="dialog" value="link">
-       <input type="hidden" id="basepage" name="basepage" value="%(basepage)s">
+       <input type="hidden" name="action" value="fckdialog" />
+       <input type="hidden" name="dialog" value="link" />
+       <input type="hidden" id="basepage" name="basepage" value="%(basepage)s" />
        <table cellSpacing="0" cellPadding="0" align="center" border="0">
         <tr>
          <td>
           <span fckLang="PageDlgName">Page Name</span><br>
-          <input id="txtPagename" name="pagename" size="30" value="%(name)s">
+          <input id="txtPagename" name="pagename" size="30" value="%(name)s" />
          </td>
          <td valign="bottom">
-           <input id=btnSearchpage type="submit" value="Search">
+           <input id=btnSearchpage type="submit" value="Search" />
          </td>
         </tr>
         %(page_list)s
@@ -330,7 +330,7 @@ def link_dialog(request):
           <select id="sctInterwiki" size="1">
           %(interwiki)s
           </select>:
-          <input id="txtInterwikipagename"></input>
+          <input id="txtInterwikipagename" />
          </td>
         </tr>
        </table>
@@ -444,13 +444,13 @@ def attachment_dialog(request):
      <tr>
       <td>
        <form action=%(action)s method="GET">
-       <input type="hidden" name="action" value="fckdialog">
-       <input type="hidden" name="dialog" value="attachment">
+       <input type="hidden" name="action" value="fckdialog" />
+       <input type="hidden" name="dialog" value="attachment" />
        <table cellSpacing="0" cellPadding="0" align="center" border="0">
         <tr>
          <td>
           <span fckLang="AttachmentDlgName">Attachment Name</span><br>
-          <input id="txtAttachmentname" name="pagename" size="30" value="%(name)s">
+          <input id="txtAttachmentname" name="pagename" size="30" value="%(name)s" />
          </td>
         </tr>
        </table>
@@ -518,7 +518,7 @@ def image_dialog(request):
      <tr>
       <td colspan=2>
        <div id="divChkLink">
-        <input id="chkLink" type="checkbox"> Link to
+        <input id="chkLink" type="checkbox" /> Link to
        </div>
       </td>
     </table>
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/macro/NewPage.py
--- a/MoinMoin/macro/NewPage.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/macro/NewPage.py	Fri Jun 16 11:40:48 2006 +0200
@@ -87,18 +87,18 @@ class NewPage:
         # TODO: better abstract this using the formatter
         html = [
             u'<form class="macro" method="get" action=""><div>',
-            u'<input type="hidden" name="action" value="newpage">',
-            u'<input type="hidden" name="parent" value="%s">' % wikiutil.escape(parent, 1),
-            u'<input type="hidden" name="template" value="%s">' % wikiutil.escape(template, 1),
-            u'<input type="hidden" name="nametemplate" value="%s">' % wikiutil.escape(nametemplate,1),
+            u'<input type="hidden" name="action" value="newpage" />',
+            u'<input type="hidden" name="parent" value="%s" />' % wikiutil.escape(parent, 1),
+            u'<input type="hidden" name="template" value="%s" />' % wikiutil.escape(template, 1),
+            u'<input type="hidden" name="nametemplate" value="%s" />' % wikiutil.escape(nametemplate,1),
         ]
         
         if requires_input:
             html += [
-                u'<input type="text" name="pagename" size="30">',
+                u'<input type="text" name="pagename" size="30" />',
             ]
         html += [
-            u'<input type="submit" value="%s">' % wikiutil.escape(label, 1),
+            u'<input type="submit" value="%s" />' % wikiutil.escape(label, 1),
             u'</div></form>',
             ]
         return self.formatter.rawHTML('\n'.join(html))
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/macro/__init__.py
--- a/MoinMoin/macro/__init__.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/macro/__init__.py	Fri Jun 16 11:40:48 2006 +0200
@@ -170,10 +170,10 @@ class Macro:
         if type == "fullsearch":
             boxes = [
                 u'<br>',
-                u'<input type="checkbox" name="context" value="160" checked="checked">',
+                u'<input type="checkbox" name="context" value="160" checked="checked" />',
                 _('Display context of search results'),
                 u'<br>',
-                u'<input type="checkbox" name="case" value="1">',
+                u'<input type="checkbox" name="case" value="1" />',
                 _('Case-sensitive searching'),
                 ]
             boxes = u'\n'.join(boxes)
@@ -184,10 +184,10 @@ class Macro:
         html = [
             u'<form method="get" action="">',
             u'<div>',
-            u'<input type="hidden" name="action" value="fullsearch">',
-            u'<input type="hidden" name="titlesearch" value="%i">' % type,
-            u'<input type="text" name="value" size="30" value="%s">' % default,
-            u'<input type="submit" value="%s">' % button,
+            u'<input type="hidden" name="action" value="fullsearch" />',
+            u'<input type="hidden" name="titlesearch" value="%i" />' % type,
+            u'<input type="text" name="value" size="30" value="%s" />' % default,
+            u'<input type="submit" value="%s" />' % button,
             boxes,
             u'</div>',
             u'</form>',    
@@ -206,9 +206,9 @@ class Macro:
         html = [
             u'<form method="get" action="">',
             u'<div>',
-            u'<input type="hidden" name="action" value="goto">',
-            u'<input type="text" name="target" size="30">',
-            u'<input type="submit" value="%s">' % _("Go To Page"),
+            u'<input type="hidden" name="action" value="goto" />',
+            u'<input type="text" name="target" size="30" />',
+            u'<input type="submit" value="%s" />' % _("Go To Page"),
             u'</div>',
             u'</form>',
             ]
diff -r 0f95d353d15d -r 0936388f00d8 MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 11:39:39 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 11:40:48 2006 +0200
@@ -695,16 +695,16 @@ class ThemeBase:
         html = u'''
 <form id="searchform" method="get" action="">
 <div>
-<input type="hidden" name="action" value="fullsearch">
-<input type="hidden" name="context" value="180">
+<input type="hidden" name="action" value="fullsearch" />
+<input type="hidden" name="context" value="180" />
 <label for="searchinput">%(search_label)s</label>
 <input id="searchinput" type="text" name="value" value="%(search_value)s" size="20"
     onfocus="searchFocus(this)" onblur="searchBlur(this)"
-    onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
+    onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search" />
 <input id="titlesearch" name="titlesearch" type="submit"
-    value="%(search_title_label)s" alt="Search Titles">
+    value="%(search_title_label)s" alt="Search Titles" />
 <input id="fullsearch" name="fullsearch" type="submit"
-    value="%(search_full_label)s" alt="Search Full Text">
+    value="%(search_full_label)s" alt="Search Full Text" />
 </div>
 </form>
 <script type="text/javascript">
@@ -1025,7 +1025,7 @@ function actionsMenuInit(title) {
             this.selectedIndex = 0;">
         %(options)s
     </select>
-    <input type="submit" value="%(do_button)s">
+    <input type="submit" value="%(do_button)s" />
 </div>
 <script type="text/javascript">
 <!--// Init menu
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID bba612b81758f13209851fb8368813ede8bf39a7
# Parent  0936388f00d80f0ac9c3e71cddf3ffb8c73cf593
terminate all generated <meta> tags with />

diff -r 0936388f00d8 -r bba612b81758 MoinMoin/action/fckdialog.py
--- a/MoinMoin/action/fckdialog.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/MoinMoin/action/fckdialog.py	Fri Jun 16 11:55:47 2006 +0200
@@ -21,8 +21,8 @@ def macro_dialog(request):
 <html>
  <head>
   <title>Insert Macro</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <meta content="noindex,nofollow" name="robots">
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta content="noindex,nofollow" name="robots" />
   <script src="%s/applets/FCKeditor/editor/dialog/common/fck_dialog_common.js" type="text/javascript"></script>  
   <script language="javascript">
 
@@ -178,8 +178,8 @@ def page_list(request):
 <html>
  <head>
   <title>Insert Page Link</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <meta content="noindex,nofollow" name="robots">
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta content="noindex,nofollow" name="robots" />
  </head>
  <body scroll="no" style="OVERFLOW: hidden">
   <table height="100%%" cellSpacing="0" cellPadding="0" width="100%%" border="0">
@@ -273,8 +273,8 @@ def link_dialog(request):
  *   Frederico Caldeira Knabben (fredck@fckeditor.net)
 -->
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="robots" content="index,nofollow">
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="robots" content="index,nofollow" />
 <html>
  <head>
   <title>Link Properties</title>
@@ -426,8 +426,8 @@ def attachment_dialog(request):
  *   Frederico Caldeira Knabben (fredck@fckeditor.net)
 -->
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="robots" content="index,nofollow">
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="robots" content="index,nofollow" />
 <html>
  <head>
   <title>Attachment Properties</title>
diff -r 0936388f00d8 -r bba612b81758 MoinMoin/multiconfig.py
--- a/MoinMoin/multiconfig.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/MoinMoin/multiconfig.py	Fri Jun 16 11:55:47 2006 +0200
@@ -260,10 +260,10 @@ reStructuredText Quick Reference
     hosts_deny = []
     
     html_head = ''
-    html_head_queries = '''<meta name="robots" content="noindex,nofollow">\n'''
-    html_head_posts   = '''<meta name="robots" content="noindex,nofollow">\n'''
-    html_head_index   = '''<meta name="robots" content="index,follow">\n'''
-    html_head_normal  = '''<meta name="robots" content="index,nofollow">\n'''
+    html_head_queries = '''<meta name="robots" content="noindex,nofollow" />\n'''
+    html_head_posts   = '''<meta name="robots" content="noindex,nofollow" />\n'''
+    html_head_index   = '''<meta name="robots" content="index,follow" />\n'''
+    html_head_normal  = '''<meta name="robots" content="index,nofollow" />\n'''
     html_pagetitle = None
 
     interwiki_preferred = [] # list of wiki names to show at top of interwiki list
diff -r 0936388f00d8 -r bba612b81758 MoinMoin/script/export/dump.py
--- a/MoinMoin/script/export/dump.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/MoinMoin/script/export/dump.py	Fri Jun 16 11:55:47 2006 +0200
@@ -24,7 +24,7 @@ page_template = u'''<!DOCTYPE HTML PUBLI
 page_template = u'''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
-<meta http-equiv="content-type" content="text/html; charset=%(charset)s">
+<meta http-equiv="content-type" content="text/html; charset=%(charset)s" />
 <title>%(pagename)s</title>
 <link rel="stylesheet" type="text/css" media="all" charset="utf-8" href="%(theme)s/css/common.css">
 <link rel="stylesheet" type="text/css" media="screen" charset="utf-8" href="%(theme)s/css/screen.css">
diff -r 0936388f00d8 -r bba612b81758 MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 11:55:47 2006 +0200
@@ -1466,14 +1466,14 @@ var gui_editor_link_text = "%(text)s";
 
         # include charset information - needed for moin_dump or any other case
         # when reading the html without a web server
-        user_head.append('''<meta http-equiv="Content-Type" content="%s;charset=%s">\n''' % (page.output_mimetype, page.output_charset))
+        user_head.append('''<meta http-equiv="Content-Type" content="%s;charset=%s" />\n''' % (page.output_mimetype, page.output_charset))
 
         meta_keywords = request.getPragma('keywords')
         meta_desc = request.getPragma('description')
         if meta_keywords:
-            user_head.append('<meta name="keywords" content="%s">\n' % escape(meta_keywords, 1))
+            user_head.append('<meta name="keywords" content="%s" />\n' % escape(meta_keywords, 1))
         if meta_desc:
-            user_head.append('<meta name="description" content="%s">\n' % escape(meta_desc, 1))
+            user_head.append('<meta name="description" content="%s" />\n' % escape(meta_desc, 1))
 
         # search engine precautions / optimization:
         # if it is an action or edit/search, send query headers (noindex,nofollow):
@@ -1496,7 +1496,7 @@ var gui_editor_link_text = "%(text)s";
             user_head.append(request.cfg.html_head_normal)
 
         if keywords.has_key('pi_refresh') and keywords['pi_refresh']:
-            user_head.append('<meta http-equiv="refresh" content="%(delay)d;URL=%(url)s">' % keywords['pi_refresh'])
+            user_head.append('<meta http-equiv="refresh" content="%(delay)d;URL=%(url)s" />' % keywords['pi_refresh'])
         
         # output buffering increases latency but increases throughput as well
         output = []
diff -r 0936388f00d8 -r bba612b81758 wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py
--- a/wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py	Fri Jun 16 11:55:47 2006 +0200
@@ -34,8 +34,8 @@ print """<!DOCTYPE HTML PUBLIC "-//W3C//
 <html>
 	<head>
 		<title>FCKeditor - Sample</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<meta name="robots" content="noindex, nofollow">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
 		<link href="../sample.css" rel="stylesheet" type="text/css" />
 	</head>
 	<body>
diff -r 0936388f00d8 -r bba612b81758 wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py
--- a/wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py	Fri Jun 16 11:40:48 2006 +0200
+++ b/wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py	Fri Jun 16 11:55:47 2006 +0200
@@ -37,8 +37,8 @@ print """<!DOCTYPE HTML PUBLIC "-//W3C//
 <html>
 	<head>
 		<title>FCKeditor - Samples - Posted Data</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<meta name="robots" content="noindex, nofollow">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
 		<link href="../sample.css" rel="stylesheet" type="text/css" />
 	</head>
 	<body>
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID 397b515c602e977d817f7b3fe55f80b00481c113
# Parent  bba612b81758f13209851fb8368813ede8bf39a7
termine all generated <link> tags with />

diff -r bba612b81758 -r 397b515c602e MoinMoin/action/AttachFile.py
--- a/MoinMoin/action/AttachFile.py	Fri Jun 16 11:55:47 2006 +0200
+++ b/MoinMoin/action/AttachFile.py	Fri Jun 16 13:09:40 2006 +0200
@@ -371,7 +371,7 @@ def send_link_rel(request, pagename):
                 scriptName, pagename_quoted,
                 action_name, wikiutil.url_quote_plus(file))
 
-            request.write(u'<link rel="Appendix" title="%s" href="%s">\n' % (
+            request.write(u'<link rel="Appendix" title="%s" href="%s" />\n' % (
                 wikiutil.escape(file), wikiutil.escape(url)))
 
 
diff -r bba612b81758 -r 397b515c602e MoinMoin/script/export/dump.py
--- a/MoinMoin/script/export/dump.py	Fri Jun 16 11:55:47 2006 +0200
+++ b/MoinMoin/script/export/dump.py	Fri Jun 16 13:09:40 2006 +0200
@@ -26,9 +26,9 @@ page_template = u'''<!DOCTYPE HTML PUBLI
 <head>
 <meta http-equiv="content-type" content="text/html; charset=%(charset)s" />
 <title>%(pagename)s</title>
-<link rel="stylesheet" type="text/css" media="all" charset="utf-8" href="%(theme)s/css/common.css">
-<link rel="stylesheet" type="text/css" media="screen" charset="utf-8" href="%(theme)s/css/screen.css">
-<link rel="stylesheet" type="text/css" media="print" charset="utf-8" href="%(theme)s/css/print.css">
+<link rel="stylesheet" type="text/css" media="all" charset="utf-8" href="%(theme)s/css/common.css" />
+<link rel="stylesheet" type="text/css" media="screen" charset="utf-8" href="%(theme)s/css/screen.css" />
+<link rel="stylesheet" type="text/css" media="print" charset="utf-8" href="%(theme)s/css/print.css" />
 </head>
 <body>
 <table>
diff -r bba612b81758 -r 397b515c602e MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 11:55:47 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 13:09:40 2006 +0200
@@ -580,7 +580,7 @@ class ThemeBase:
         @rtype: string
         @return: stylesheets links
         """
-        link = '<link rel="stylesheet" type="text/css" charset="%s" media="%s" href="%s">'
+        link = '<link rel="stylesheet" type="text/css" charset="%s" media="%s" href="%s" />'
 
         # Check mode
         if d.get('print_mode'):
@@ -859,7 +859,7 @@ function actionsMenuInit(title) {
         link = u''
         if self.shouldUseRSS():
             link = (u'<link rel="alternate" title="%s Recent Changes" '
-                    u'href="%s" type="application/rss+xml">') % (
+                    u'href="%s" type="application/rss+xml" />') % (
                         self.cfg.sitename,
                         self.rsshref() )
         return link
@@ -1521,11 +1521,11 @@ var gui_editor_link_text = "%(text)s";
         ))
 
         # Links
-        output.append('<link rel="Start" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_front_page)))
+        output.append('<link rel="Start" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_front_page)))
         if pagename:
-            output.append('<link rel="Alternate" title="%s" href="%s/%s?action=raw">\n' % (
+            output.append('<link rel="Alternate" title="%s" href="%s/%s?action=raw" />\n' % (
                 _('Wiki Markup'), scriptname, pagename_quoted,))
-            output.append('<link rel="Alternate" media="print" title="%s" href="%s/%s?action=print">\n' % (
+            output.append('<link rel="Alternate" media="print" title="%s" href="%s/%s?action=print" />\n' % (
                 _('Print View'), scriptname, pagename_quoted,))
 
             # !!! currently disabled due to Mozilla link prefetching, see
@@ -1538,15 +1538,15 @@ var gui_editor_link_text = "%(text)s";
             #~         # this shopuld never happend in theory, but let's be sure
             #~         pass
             #~     else:
-            #~         request.write('<link rel="First" href="%s/%s">\n' % (request.getScriptname(), quoteWikinameURL(all_pages[0]))
+            #~         request.write('<link rel="First" href="%s/%s" />\n' % (request.getScriptname(), quoteWikinameURL(all_pages[0]))
             #~         if pos > 0:
-            #~             request.write('<link rel="Previous" href="%s/%s">\n' % (request.getScriptname(), quoteWikinameURL(all_pages[pos-1])))
+            #~             request.write('<link rel="Previous" href="%s/%s" />\n' % (request.getScriptname(), quoteWikinameURL(all_pages[pos-1])))
             #~         if pos+1 < len(all_pages):
-            #~             request.write('<link rel="Next" href="%s/%s">\n' % (request.getScriptname(), quoteWikinameURL(all_pages[pos+1])))
-            #~         request.write('<link rel="Last" href="%s/%s">\n' % (request.getScriptname(), quoteWikinameURL(all_pages[-1])))
+            #~             request.write('<link rel="Next" href="%s/%s" />\n' % (request.getScriptname(), quoteWikinameURL(all_pages[pos+1])))
+            #~         request.write('<link rel="Last" href="%s/%s" />\n' % (request.getScriptname(), quoteWikinameURL(all_pages[-1])))
 
             if page_parent_page:
-                output.append('<link rel="Up" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_parent_page)))
+                output.append('<link rel="Up" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_parent_page)))
 
         # write buffer because we call AttachFile
         request.write(''.join(output))
@@ -1557,10 +1557,10 @@ var gui_editor_link_text = "%(text)s";
             AttachFile.send_link_rel(request, pagename)
 
         output.extend([
-            '<link rel="Search" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_find_page)),
-            '<link rel="Index" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_title_index)),
-            '<link rel="Glossary" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_word_index)),
-            '<link rel="Help" href="%s/%s">\n' % (scriptname, wikiutil.quoteWikinameURL(page_help_formatting)),
+            '<link rel="Search" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_find_page)),
+            '<link rel="Index" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_title_index)),
+            '<link rel="Glossary" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_word_index)),
+            '<link rel="Help" href="%s/%s" />\n' % (scriptname, wikiutil.quoteWikinameURL(page_help_formatting)),
                       ])
         
         output.append("</head>\n")
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID 9d744af3f93e828863faceeb47cda64de5e1fa3c
# Parent  397b515c602e977d817f7b3fe55f80b00481c113
terminate all generated <input>, <meta>, <link>, <hr>, <img>, <param> element with trailing />

diff -r 397b515c602e -r 9d744af3f93e MoinMoin/_tests/broken/test_converter_text_html_text_moin_wiki.py
--- a/MoinMoin/_tests/broken/test_converter_text_html_text_moin_wiki.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/_tests/broken/test_converter_text_html_text_moin_wiki.py	Fri Jun 16 13:28:55 2006 +0200
@@ -1050,7 +1050,7 @@ class ConvertInlineItemRepeatableTests(B
 
     def testSmiley01(self):
         test = ur":-)"
-        output = ur"""<img src="/wiki/modern/img/smile.png" alt=":-)" height="15" width="15">"""
+        output = ur"""<img src="/wiki/modern/img/smile.png" alt=":-)" height="15" width="15" />"""
         self.do(test, output)
 
 class StripTests(unittest.TestCase):
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/action/AttachFile.py
--- a/MoinMoin/action/AttachFile.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/action/AttachFile.py	Fri Jun 16 13:28:55 2006 +0200
@@ -402,15 +402,15 @@ def send_hotdraw(pagename, request):
     request.write('<h2>' + _("Edit drawing") + '</h2>')
     request.write("""
 <p>
-<img src="%(pngpath)s%(timestamp)s">
+<img src="%(pngpath)s%(timestamp)s" />
 <applet code="CH.ifa.draw.twiki.TWikiDraw.class"
-        archive="%(pubpath)s/twikidraw.jar" width="640" height="480">
-<param name="drawpath" value="%(drawpath)s">
-<param name="pngpath"  value="%(pngpath)s">
-<param name="savepath" value="%(savelink)s">
-<param name="basename" value="%(basename)s">
-<param name="viewpath" value="%(pagelink)s">
-<param name="helppath" value="%(helplink)s">
+        archive="%(pubpath)s/twikidraw.jar" width="640" height="480" />
+<param name="drawpath" value="%(drawpath)s" />
+<param name="pngpath"  value="%(pngpath)s" />
+<param name="savepath" value="%(savelink)s" />
+<param name="basename" value="%(basename)s" />
+<param name="viewpath" value="%(pagelink)s" />
+<param name="helppath" value="%(helplink)s" />
 <strong>NOTE:</strong> You need a Java enabled browser to edit the drawing example.
 </applet>
 </p>""" % {
@@ -780,7 +780,7 @@ def send_viewfile(pagename, request):
     mt = wikiutil.MimeType(filename=filename)
     if mt.major == 'image':
         timestamp = htdocs_access(request) and "?%s" % time.time() or ''
-        request.write('<img src="%s%s" alt="%s">' % (
+        request.write('<img src="%s%s" alt="%s" />' % (
             getAttachUrl(pagename, filename, request, escaped=1), timestamp, wikiutil.escape(filename, 1)))
         return
     elif mt.major == 'text':
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/action/__init__.py
--- a/MoinMoin/action/__init__.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/action/__init__.py	Fri Jun 16 13:28:55 2006 +0200
@@ -599,7 +599,7 @@ def do_diff(pagename, request):
             request.write('<pre>')
             for line in lines:
                 if line[0] == "@":
-                    request.write('<hr>')
+                    request.write('<hr />')
                 request.write(wikiutil.escape(line)+'\n')
             request.write('</pre>')
 
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/macro/TeudView.py
--- a/MoinMoin/macro/TeudView.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/macro/TeudView.py	Fri Jun 16 13:28:55 2006 +0200
@@ -53,7 +53,7 @@ def execute(macro, args):
                     pagename, path, modparts[pathidx])
                 if pathidx < pathlen:
                     navigation = navigation + '.'
-        navigation = navigation + '<hr size="1">'
+        navigation = navigation + '<hr size="1" />'
     else:
         # generate index
         xmlstr = xmldoc.xml.document(None, encoding=config.charset)
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/script/export/dump.py
--- a/MoinMoin/script/export/dump.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/script/export/dump.py	Fri Jun 16 13:28:55 2006 +0200
@@ -18,7 +18,7 @@ from MoinMoin.action import AttachFile
 from MoinMoin.action import AttachFile
 
 url_prefix = "."
-logo_html = '<img src="logo.png">'
+logo_html = '<img src="logo.png" />'
 HTML_SUFFIX = ".html"
 
 page_template = u'''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
@@ -41,12 +41,12 @@ page_template = u'''<!DOCTYPE HTML PUBLI
 </td>
 </tr>
 </table>
-<hr>
+<hr />
 <div id="page">
 <h1 id="title">%(pagename)s</h1>
 %(pagehtml)s
 </div>
-<hr>
+<hr />
 %(timestamp)s
 </body>
 </html>
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/stats/hitcounts.py
--- a/MoinMoin/stats/hitcounts.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/stats/hitcounts.py	Fri Jun 16 13:28:55 2006 +0200
@@ -41,7 +41,7 @@ def linkto(pagename, request, params='')
     data = {'url': page.url(request, querystr, escape=0)}
     data.update(request.cfg.chart_options)
     result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
-              ' alt="hitcounts chart">') % data
+              ' alt="hitcounts chart" />') % data
 
     return result
 
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/stats/pagesize.py
--- a/MoinMoin/stats/pagesize.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/stats/pagesize.py	Fri Jun 16 13:28:55 2006 +0200
@@ -38,7 +38,7 @@ def linkto(pagename, request, params='')
     data = {'url': page.url(request, querystr, escape=0)}
     data.update(request.cfg.chart_options)
     result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
-              ' alt="pagesize chart">') % data
+              ' alt="pagesize chart" />') % data
     return result
 
 
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/stats/useragents.py
--- a/MoinMoin/stats/useragents.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/stats/useragents.py	Fri Jun 16 13:28:55 2006 +0200
@@ -39,7 +39,7 @@ def linkto(pagename, request, params='')
     data = {'url': page.url(request, querystr, escape=0)}
     data.update(request.cfg.chart_options)
     result = ('<img src="%(url)s" width="%(width)d" height="%(height)d"'
-              ' alt="useragents chart">') % data
+              ' alt="useragents chart" />') % data
 
     return result
 
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 13:28:55 2006 +0200
@@ -487,7 +487,7 @@ class ThemeBase:
         try:
             tag = self.request.formatter.image(src=img, alt=alt, width=w, height=h)
         except AttributeError: # XXX FIXME if we have no formatter or no request 
-            tag = '<img src="%s" alt="%s" width="%s" height="%s">' % (
+            tag = '<img src="%s" alt="%s" width="%s" height="%s" />' % (
                 img, alt, w, h)
             import warnings
             warnings.warn("calling themes without correct request", DeprecationWarning)
diff -r 397b515c602e -r 9d744af3f93e MoinMoin/theme/modern.py
--- a/MoinMoin/theme/modern.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/MoinMoin/theme/modern.py	Fri Jun 16 13:28:55 2006 +0200
@@ -35,7 +35,7 @@ class Theme(ThemeBase):
             self.trail(d),
             self.navibar(d),
             #u'<hr id="pageline">',
-            u'<div id="pageline"><hr style="display:none;"></div>',
+            u'<div id="pageline"><hr style="display:none;" /></div>',
             self.msg(d),
             self.editbar(d),
             u'</div>',
diff -r 397b515c602e -r 9d744af3f93e wiki/config/wikiconfig.py
--- a/wiki/config/wikiconfig.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/wiki/config/wikiconfig.py	Fri Jun 16 13:28:55 2006 +0200
@@ -38,7 +38,7 @@ class Config(DefaultConfig):
     # Wiki logo. You can use an image, text or both. [Unicode]
     # For no logo or text, use '' - the default is to show the sitename.
     # See also url_prefix setting below!
-    logo_string = u'<img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo">'
+    logo_string = u'<img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo" />'
 
     # name of entry page / front page [Unicode], choose one of those:
 
diff -r 397b515c602e -r 9d744af3f93e wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py
--- a/wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/wiki/htdocs/applets/FCKeditor/_samples/py/sample01.py	Fri Jun 16 13:28:55 2006 +0200
@@ -42,7 +42,7 @@ print """<!DOCTYPE HTML PUBLIC "-//W3C//
 		<h1>FCKeditor - Python - Sample 1</h1>
 		This sample displays a normal HTML form with an FCKeditor with full features 
 		enabled.
-		<hr>
+		<hr />
 		<form action="sampleposteddata.py" method="post" target="_blank">
 """
 
@@ -64,10 +64,10 @@ print """
 """
 
 # For testing your environments
-print "<hr>"
+print "<hr />"
 for key in os.environ.keys():
 	print "%s: %s<br>" % (key, os.environ.get(key, ""))
-print "<hr>"
+print "<hr />"
 
 # Document footer
 print """
diff -r 397b515c602e -r 9d744af3f93e wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py
--- a/wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/wiki/htdocs/applets/FCKeditor/_samples/py/sampleposteddata.py	Fri Jun 16 13:28:55 2006 +0200
@@ -48,7 +48,7 @@ print """
 print """
 		<h1>FCKeditor - Samples - Posted Data</h1>
 		This page lists all data posted by the form.
-		<hr>
+		<hr />
 		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
 			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
 				<td nowrap>Field Name&nbsp;&nbsp;</td>
@@ -69,10 +69,10 @@ print "</table>"
 print "</table>"
 
 # For testing your environments
-print "<hr>"
+print "<hr />"
 for key in os.environ.keys():
 	print "%s: %s<br>" % (key, os.environ.get(key, ""))
-print "<hr>"
+print "<hr />"
 
 # Document footer
 print """
diff -r 397b515c602e -r 9d744af3f93e wikiconfig.py
--- a/wikiconfig.py	Fri Jun 16 13:09:40 2006 +0200
+++ b/wikiconfig.py	Fri Jun 16 13:28:55 2006 +0200
@@ -38,7 +38,7 @@ class Config(DefaultConfig):
     # Wiki logo. You can use an image, text or both. [Unicode]
     # For no logo or text, use '' - the default is to show the sitename.
     # See also url_prefix setting below!
-    logo_string = u'<img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo">'
+    logo_string = u'<img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo" />'
 
     # name of entry page / front page [Unicode], choose one of those:
 
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID bb0ee6f0ced251701cc559fd491faeafaf9c312c
# Parent  9d744af3f93e828863faceeb47cda64de5e1fa3c
output correct form of the disabled attribute (i.e. disabled="disabled")

diff -r 9d744af3f93e -r bb0ee6f0ced2 MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 13:28:55 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 13:39:36 2006 +0200
@@ -963,7 +963,7 @@ function actionsMenuInit(title) {
         # class="disabled" is a workaround for browsers that ignore
         # "disabled", e.g IE, Safari
         # for XHTML: data['disabled'] = ' disabled="disabled"'
-        disabled = ' disabled class="disabled"'
+        disabled = ' disabled="disabled" class="disabled"'
         
         # Format standard actions
         available = request.getAvailableActions(page)
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID 0c1b63b9e92d2030cbf775596c7a861fc79c35a8
# Parent  bb0ee6f0ced251701cc559fd491faeafaf9c312c
escaped '&' characters in script and hyperlink endpoints

diff -r bb0ee6f0ced2 -r 0c1b63b9e92d MoinMoin/formatter/text_html.py
--- a/MoinMoin/formatter/text_html.py	Fri Jun 16 13:39:36 2006 +0200
+++ b/MoinMoin/formatter/text_html.py	Fri Jun 16 14:59:09 2006 +0200
@@ -633,7 +633,7 @@ class Formatter(FormatterBase):
             linktext = _('Upload new attachment "%(filename)s"')
             return wikiutil.link_tag(
                 self.request,
-                ('%s?action=AttachFile&rename=%s' %
+                ('%s?action=AttachFile&amp;rename=%s' %
                  (wikiutil.quoteWikinameURL(pagename),
                   wikiutil.url_quote_plus(fname))),
                 linktext % {'filename': self.text(fname)})
@@ -651,7 +651,7 @@ class Formatter(FormatterBase):
             linktext = _('Upload new attachment "%(filename)s"')
             return wikiutil.link_tag(
                 self.request,
-                ('%s?action=AttachFile&rename=%s' %
+                ('%s?action=AttachFile&amp;rename=%s' %
                  (wikiutil.quoteWikinameURL(pagename),
                   wikiutil.url_quote_plus(fname))),
                 linktext % {'filename': self.text(fname)})
@@ -681,14 +681,14 @@ class Formatter(FormatterBase):
             linktext = _('Create new drawing "%(filename)s"')
             return wikiutil.link_tag(
                 self.request,
-                ('%s?action=AttachFile&rename=%s%s' %
+                ('%s?action=AttachFile&amp;rename=%s%s' %
                  (wikiutil.quoteWikinameURL(pagename),
                   wikiutil.url_quote_plus(fname),
-                  drawing and ('&drawing=%s' % wikiutil.url_quote(drawing)) or '')),
+                  drawing and ('&amp;drawing=%s' % wikiutil.url_quote(drawing)) or '')),
                 linktext % {'filename': self.text(fname)})
 
         mappath = AttachFile.getFilename(self.request, pagename, drawing + u'.map')
-        edit_link = ('%s?action=AttachFile&rename=%s&drawing=%s' % (
+        edit_link = ('%s?action=AttachFile&amp;rename=%s&amp;drawing=%s' % (
             wikiutil.quoteWikinameURL(pagename),
             wikiutil.url_quote_plus(fname),
             wikiutil.url_quote(drawing)))
@@ -872,7 +872,7 @@ class Formatter(FormatterBase):
     _toggleLineNumbersScript = """
 <script type="text/javascript">
 function isnumbered(obj) {
-  return obj.childNodes.length && obj.firstChild.childNodes.length && obj.firstChild.firstChild.className == 'LineNumber';
+  return obj.childNodes.length &amp;&amp; obj.firstChild.childNodes.length &amp;&amp; obj.firstChild.firstChild.className == 'LineNumber';
 }
 function nformat(num,chrs,add) {
   var nlen = Math.max(0,chrs-(''+num).length), res = '';
@@ -904,7 +904,7 @@ function remnumber(did) {
   var c = document.getElementById(did), l = c.firstChild;
   if (isnumbered(c))
     while (l != null) {
-      if (l.tagName == 'SPAN' && l.firstChild.className == 'LineNumber') l.removeChild(l.firstChild);
+      if (l.tagName == 'SPAN' &amp;&amp; l.firstChild.className == 'LineNumber') l.removeChild(l.firstChild);
       l = l.nextSibling;
     }
   return false;
diff -r bb0ee6f0ced2 -r 0c1b63b9e92d MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Jun 16 13:39:36 2006 +0200
+++ b/MoinMoin/theme/__init__.py	Fri Jun 16 14:59:09 2006 +0200
@@ -1018,7 +1018,7 @@ function actionsMenuInit(title) {
 <div>
     <label>%(label)s</label>
     <select name="action"
-        onchange="if ((this.selectedIndex != 0) &&
+        onchange="if ((this.selectedIndex != 0) &amp;&amp;
                       (this.options[this.selectedIndex].disabled == false)) {
                 this.form.submit();
             }
@@ -1160,7 +1160,7 @@ actionsMenuInit('%(label)s');
         _ = self.request.getText
         return """\
 <script type="text/javascript">
-var gui_editor_link_href = "%(url)s?action=edit&editor=gui";
+var gui_editor_link_href = "%(url)s?action=edit&amp;editor=gui";
 var gui_editor_link_text = "%(text)s";
 </script>        
 """ % {'url': page.url(self.request),
# HG changeset patch
# User Stefano Zacchiroli <zack@bononia.it>
# Node ID a6b99e72057bdfd2268891cefd0fec429ea0f8c1
# Parent  0c1b63b9e92d2030cbf775596c7a861fc79c35a8
explicitely close opened <p> tags instead of letting the browser do that

diff -r 0c1b63b9e92d -r a6b99e72057b MoinMoin/formatter/text_html.py
--- a/MoinMoin/formatter/text_html.py	Fri Jun 16 14:59:09 2006 +0200
+++ b/MoinMoin/formatter/text_html.py	Fri Jun 16 14:59:55 2006 +0200
@@ -28,9 +28,6 @@ _blocks = Set(['dd', 'div', 'dl', 'dt', 
 
 _self_closing_tags = Set(['area', 'base', 'br', 'col', 'frame', 'hr', 'img', 'input',
                           'isindex', 'link', 'meta', 'param'])
-
-# We only open those tags and let the browser auto-close them:
-_auto_closing_tags = Set(['p'])
 
 # These are the elements which generally should cause an increase in the
 # indention level in the html souce code.
@@ -372,7 +369,7 @@ class Formatter(FormatterBase):
         @rtype: string
         @return: closing tag as a string
         """
-        if tag in _self_closing_tags or tag in _auto_closing_tags:
+        if tag in _self_closing_tags:
             # This tag was already closed
             tagstr = ''
         elif tag in _blocks:
