]> git.eshelyaron.com Git - emacs.git/commitdiff
message.el (message-generate-hashcash): Change default to 'opportunistic if hashcash...
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Fri, 3 Sep 2010 00:55:58 +0000 (00:55 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 3 Sep 2010 00:55:58 +0000 (00:55 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-html.el
lisp/gnus/message.el

index 18c5d55afe07da1563126bf51c4f481c023bed6c..00c723444fe01ab7377dc2307179e3f5de28f9fa 100644 (file)
@@ -1,6 +1,11 @@
 2010-09-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * message.el (message-generate-hashcash): Change default to
+       'opportunistic if hashcash is installed.
+
        * gnus-html.el (gnus-html-rescale-image): Fix up typo in rescaling.
+       (gnus-html-put-image): Only call image-size once, since it's somewhat
+       time-consuming on remote X servers.
 
 2010-09-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 
index a503859aa213c6275c78cdb3b6d11e013399527e..711cd3810d4bd4694c4bc3b3c40c5201162d2ab6 100644 (file)
@@ -243,8 +243,10 @@ fit these criteria."
 
 (defun gnus-html-put-image (file point string)
   (when (display-graphic-p)
-    (let ((image (ignore-errors
-                  (gnus-create-image file))))
+    (let* ((image (ignore-errors
+                  (gnus-create-image file)))
+         (size (and image
+                    (image-size image t))))
       (save-excursion
        (goto-char point)
        (if (and image
@@ -252,10 +254,10 @@ fit these criteria."
                 ;; seems to be a signal of a broken image.
                 (not (and (listp image)
                           (eq (plist-get (cdr image) :type) 'gif)
-                          (= (car (image-size image t)) 30)
-                          (= (cdr (image-size image t)) 30))))
+                          (= (car size) 30)
+                          (= (cdr size) 30))))
            (progn
-             (gnus-put-image (gnus-html-rescale-image image file)
+             (gnus-put-image (gnus-html-rescale-image image file size)
                              (gnus-string-or string "*"))
              t)
          (insert string)
@@ -265,12 +267,12 @@ fit these criteria."
                            (gnus-string-or string "*")))
          nil)))))
 
-(defun gnus-html-rescale-image (image file)
+(defun gnus-html-rescale-image (image file size)
   (if (or (not (fboundp 'imagemagick-types))
          (not (get-buffer-window (current-buffer))))
       image
-    (let* ((width (car (image-size image t)))
-          (height (cdr (image-size image t)))
+    (let* ((width (car size))
+          (height (cdr size))
           (edges (window-pixel-edges (get-buffer-window (current-buffer))))
           (window-width (truncate (* gnus-max-image-proportion
                                      (- (nth 2 edges) (nth 0 edges)))))
@@ -280,8 +282,9 @@ fit these criteria."
       (when (> height window-height)
        (setq image (or (create-image file 'imagemagick nil
                                      :height window-height)
-                       image)))
-      (when (> (car (image-size image t)) window-width)
+                       image))
+       (setq size (image-size image t)))
+      (when (> (car size) window-width)
        (setq image (or
                     (create-image file 'imagemagick nil
                                   :width window-width)
index 96fa7c574d5a79e85e46a32657dec9a138c45431..13706ae55f84a3576c71ac80f92fc55dc027c3d7 100644 (file)
@@ -1726,13 +1726,14 @@ functionality to work."
                 (const :tag "Never" nil)
                 (const :tag "Always" t)))
 
-(defcustom message-generate-hashcash (if (executable-find "hashcash") t)
+(defcustom message-generate-hashcash (if (executable-find "hashcash") 'opportunistic)
   "*Whether to generate X-Hashcash: headers.
 If t, always generate hashcash headers.  If `opportunistic',
 only generate hashcash headers if it can be done without the user
 waiting (i.e., only asynchronously).
 
 You must have the \"hashcash\" binary installed, see `hashcash-path'."
+  :version "24.1"
   :group 'message-headers
   :link '(custom-manual "(message)Mail Headers")
   :type '(choice (const :tag "Always" t)