1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-04 08:47:11 +00:00

message.el (message-generate-hashcash): Change default to 'opportunistic if hashcash is installed; gnus-html.el (gnus-html-put-image): Only call image-size once, since it's somewhat time-consuming on remote X servers.

This commit is contained in:
Lars Magne Ingebrigtsen 2010-09-03 00:55:58 +00:00 committed by Katsumi Yamaoka
parent b13ebb5ce9
commit 5d97d03205
3 changed files with 20 additions and 11 deletions

View 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>

View 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)

View 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)