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>
(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
;; 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)
(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)))))
(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)
(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)