Remove <a name...> tags, which confuses the rest of the function.
[gnus] / lisp / gnus-html.el
index 1e6cdc5..eaa0e99 100644 (file)
@@ -73,8 +73,10 @@ fit these criteria."
     map))
 
 ;;;###autoload
-(defun gnus-article-html (handle)
+(defun gnus-article-html (&optional handle)
   (let ((article-buffer (current-buffer)))
+    (unless handle
+      (setq handle (mm-dissect-buffer t)))
     (save-restriction
       (narrow-to-region (point) (point))
       (save-excursion
@@ -111,9 +113,11 @@ fit these criteria."
 
 (defun gnus-html-wash-tags ()
   (let (tag parameters string start end images url)
-    (mm-url-decode-entities)
     (goto-char (point-min))
-    (while (re-search-forward " *<pre_int> *</pre_int>\n" nil t)
+    (while (re-search-forward " *<pre_int> *</pre_int> *\n" nil t)
+      (replace-match "" t t))
+    (goto-char (point-min))
+    (while (re-search-forward "<a name[^>]+>" nil t)
       (replace-match "" t t))
     (goto-char (point-min))
     (while (re-search-forward "<\\([^ />]+\\)\\([^>]*\\)>" nil t)
@@ -223,7 +227,8 @@ fit these criteria."
     (while (re-search-forward "</pre_int>" nil t)
       (replace-match "" t t))
     (when images
-      (gnus-html-schedule-image-fetching (current-buffer) (nreverse images)))))
+      (gnus-html-schedule-image-fetching (current-buffer) (nreverse images)))
+    (mm-url-decode-entities)))
 
 (defun gnus-html-insert-image ()
   "Fetch and insert the image under point."
@@ -372,7 +377,9 @@ This only works if the article in question is HTML."
       (while (setq overlay (pop overlays))
        (when (overlay-get overlay 'gnus-image)
          (push (overlay-get overlay 'gnus-image) images)))
-      (gnus-html-schedule-image-fetching (current-buffer) images))))
+      (if (not images)
+         (message "No images to show")
+       (gnus-html-schedule-image-fetching (current-buffer) images)))))
 
 ;;;###autoload
 (defun gnus-html-prefetch-images (summary)