Refactor out the image bit, and don't restrict end-tag searches to the end of the...
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Thu, 9 Sep 2010 13:20:53 +0000 (15:20 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Thu, 9 Sep 2010 13:20:53 +0000 (15:20 +0200)
lisp/ChangeLog
lisp/gnus-html.el

index b74f4e4..844a220 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-html.el (gnus-html-wash-tags): Refactor out the image bit, and
+       don't restrict end-tag searches to the end of the line.
+
 2010-09-09  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-start.el (gnus-get-unread-articles): Set the number of unread
index 0308941..8bfbaaa 100644 (file)
@@ -128,11 +128,9 @@ fit these criteria."
   (while (re-search-forward "<a name[^\n>]+>" nil t)
     (replace-match "" t t)))
 
-(defun gnus-html-wash-tags ()
+(defun gnus-html-wash-images ()
   (let (tag parameters string start end images url)
-    (gnus-html-pre-wash)
     (goto-char (point-min))
-
     ;; Search for all the images first.
     (while (re-search-forward "<img_alt \\([^>]*\\)>" nil t)
       (setq parameters (match-string 1)
@@ -210,6 +208,13 @@ fit these criteria."
                              (set-marker (make-marker) start)
                              (point-marker))
                        images))))))))
+    (when images
+      (gnus-html-schedule-image-fetching (current-buffer) (nreverse images)))))
+
+(defun gnus-html-wash-tags ()
+  (let (tag parameters string start end images url)
+    (gnus-html-pre-wash)
+    (gnus-html-wash-images)
 
     (goto-char (point-min))
     ;; Then do the other tags.
@@ -220,7 +225,7 @@ fit these criteria."
       (when (plusp (length parameters))
        (set-text-properties 0 (1- (length parameters)) nil parameters))
       (delete-region start (point))
-      (when (search-forward (concat "</" tag ">") (line-end-position) t)
+      (when (search-forward (concat "</" tag ">") nil t)
        (delete-region (match-beginning 0) (match-end 0)))
       (setq end (point))
       (cond
@@ -254,8 +259,6 @@ fit these criteria."
     ;; off any </pre_int>s that were left over.
     (while (re-search-forward "</pre_int>\\|</internal>" nil t)
       (replace-match "" t t))
-    (when images
-      (gnus-html-schedule-image-fetching (current-buffer) (nreverse images)))
     (mm-url-decode-entities)))
 
 (defun gnus-html-insert-image ()