changeset 110168:1feebeccf097

gnus-html.el: Fix up the logic that marks resized images for buffer deletion; Have the image insertion work even if the missing image is in an <a>.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 04 Sep 2010 00:26:18 +0000
parents b8559a372ac8
children 49b2e6d8b396
files lisp/gnus/gnus-html.el
diffstat 1 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/gnus-html.el	Sat Sep 04 00:21:34 2010 +0000
+++ b/lisp/gnus/gnus-html.el	Sat Sep 04 00:26:18 2010 +0000
@@ -161,11 +161,15 @@
 		   :help-echo url
 		   :keymap gnus-html-image-map
 		   :button-keymap gnus-html-image-map)
-		  (gnus-put-text-property
-		   start end
-		   'gnus-image (list url
-				     (set-marker (make-marker) start)
-				     (set-marker (make-marker) end))))
+		  (let ((overlay (gnus-make-overlay start end))
+			(spec (list url
+				    (set-marker (make-marker) start)
+				    (set-marker (make-marker) end))))
+		    (gnus-overlay-put overlay 'local-map gnus-html-image-map)
+		    (gnus-overlay-put overlay 'gnus-image spec)
+		    (gnus-put-text-property
+		     start end
+		     'gnus-image spec)))
 	      (let ((file (gnus-html-image-id url))
 		    width height)
 		(when (string-match "height=\"?\\([0-9]+\\)" parameters)
@@ -292,7 +296,8 @@
 			   (= (car size) 30)
 			   (= (cdr size) 30))))
 	    (progn
-	      (gnus-put-image (gnus-html-rescale-image image file size)
+	      (setq image (gnus-html-rescale-image image file size))
+	      (gnus-put-image image
 			      (gnus-string-or string "*")
 			      'external)
 	      (gnus-add-image 'external image)