Indent to keep width under 80 columns.
[gnus] / lisp / gnus-html.el
index 587c28e..a6a243a 100644 (file)
@@ -37,6 +37,7 @@
 (require 'url-cache)
 (require 'xml)
 (require 'browse-url)
+(require 'help-fns)
 
 (defcustom gnus-html-image-cache-ttl (days-to-time 7)
   "Time used to determine if we should use images from the cache."
@@ -368,10 +369,12 @@ Use ALT-TEXT for the image string."
   "Retrieve IMAGE, and place it into BUFFER on arrival."
   (gnus-message 8 "gnus-html-schedule-image-fetching: buffer %s, image %s"
                 buffer image)
-  (ignore-errors
-    (url-retrieve (car image)
-                  'gnus-html-image-fetched
-                  (list buffer image))))
+  (let ((args (list (car image)
+                   'gnus-html-image-fetched
+                   (list buffer image))))
+    (when (> (length (help-function-arglist 'url-retrieve)) 4)
+      (setq args (nconc args (list t))))
+    (apply #'url-retrieve args)))
 
 (defun gnus-html-image-fetched (status buffer image)
   "Callback function called when image has been fetched."
@@ -399,7 +402,8 @@ Return a string with image data."
 
 (defun gnus-html-put-image (data url &optional alt-text)
   (when (gnus-graphic-display-p)
-    (let* ((start (text-property-any (point-min) (point-max) 'gnus-image-url url))
+    (let* ((start (text-property-any (point-min) (point-max)
+                                    'gnus-image-url url))
            (end (when start
                   (next-single-property-change start 'gnus-image-url))))
       ;; Image found?
@@ -413,7 +417,8 @@ Return a string with image data."
                             (image-size image t)))))
           (save-excursion
             (goto-char start)
-            (let ((alt-text (or alt-text (buffer-substring-no-properties start end))))
+            (let ((alt-text (or alt-text
+                               (buffer-substring-no-properties start end))))
               (if (and image
                        ;; Kludge to avoid displaying 30x30 gif images, which
                        ;; seems to be a signal of a broken image.
@@ -421,8 +426,9 @@ Return a string with image data."
                                      (glyphp image)
                                    (listp image))
                                  (eq (if (featurep 'xemacs)
-                                         (let ((d (cdadar (specifier-spec-list
-                                                           (glyph-image image)))))
+                                         (let ((d (cdadar
+                                                  (specifier-spec-list
+                                                   (glyph-image image)))))
                                            (and (vectorp d)
                                                 (aref d 0)))
                                        (plist-get (cdr image) :type))
@@ -434,17 +440,21 @@ Return a string with image data."
                     (delete-region start end)
                     (gnus-put-image image alt-text 'external)
                     (gnus-put-text-property start (point) 'help-echo alt-text)
-                    (gnus-overlay-put (gnus-make-overlay start (point)) 'local-map
-                                      gnus-html-displayed-image-map)
-                    (gnus-put-text-property start (point) 'gnus-alt-text alt-text)
+                    (gnus-overlay-put
+                    (gnus-make-overlay start (point)) 'local-map
+                    gnus-html-displayed-image-map)
+                    (gnus-put-text-property start (point)
+                                           'gnus-alt-text alt-text)
                     (when url
-                      (gnus-put-text-property start (point) 'gnus-image-url url))
+                      (gnus-put-text-property start (point)
+                                             'gnus-image-url url))
                     (gnus-add-image 'external image)
                     t)
                 ;; Bad image, try to show something else
                 (when (fboundp 'find-image)
                   (delete-region start end)
-                  (setq image (find-image '((:type xpm :file "lock-broken.xpm"))))
+                  (setq image (find-image
+                              '((:type xpm :file "lock-broken.xpm"))))
                   (gnus-put-image image alt-text 'internal)
                   (gnus-add-image 'internal image))
                 nil))))))))
@@ -455,7 +465,8 @@ Return a string with image data."
       image
     (let* ((width (car size))
           (height (cdr size))
-          (edges (gnus-window-inside-pixel-edges (get-buffer-window (current-buffer))))
+          (edges (gnus-window-inside-pixel-edges
+                  (get-buffer-window (current-buffer))))
           (window-width (truncate (* gnus-max-image-proportion
                                      (- (nth 2 edges) (nth 0 edges)))))
           (window-height (truncate (* gnus-max-image-proportion
@@ -500,7 +511,7 @@ This only works if the article in question is HTML."
     (let ((blocked-images (with-current-buffer summary
                             gnus-blocked-images)))
       (save-match-data
-       (while (re-search-forward "<img.*src=[\"']\\([^\"']+\\)" nil t)
+       (while (re-search-forward "<img[^>]+src=[\"']\\([^\"']+\\)" nil t)
          (let ((url (gnus-html-encode-url (match-string 1))))
            (unless (gnus-html-image-url-blocked-p url blocked-images)
               (when (gnus-html-cache-expired url gnus-html-image-cache-ttl)