--- c:\tracdev\trac\trac\attachment.py	2008-04-30 16:50:48.833972400 -0400
+++ C:\Python25\lib\site-packages\trac\attachment.py	2008-04-30 16:53:08.910304400 -0400
@@ -399,6 +399,9 @@
             data = self._render_form(req, attachment)
         else:
             data = self._render_view(req, attachment)
+            if self.env.config.get('wiki','forward_to_raw_href') and data['preview']['rendered'] is None:
+                req.redirect(data['preview']['raw_href'])
+                return # cancel all template processing
 
         add_stylesheet(req, 'common/css/code.css')
         return 'attachment.html', data, None
--- c:\tracdev\trac\trac\templates\macros.html	2008-04-30 16:50:44.693400400 -0400
+++ C:\Python25\lib\site-packages\trac\templates\macros.html	2008-05-01 17:05:52.052749100 -0400
@@ -172,6 +172,9 @@
       <a href="${url_of(attachment.resource)}" title="View attachment">$attachment.filename</a>
       (${sizeinfo(attachment.size)}) - added by <em>${authorinfo(attachment.author)}</em>
       ${dateinfo(attachment.date)} ago.
+      <py:if test="attachment and 'ATTACHMENT_DELETE' in perm(attachment.resource)">
+          <a href="${url_of(attachment.resource)}?action=delete">${_('Delete')}</a>
+      </py:if>
     </py:def>
     <py:if test="alist.attachments or alist.can_create">
       <py:choose test="">

