mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
sieve-manage.el (sieve-manage-capability): Do not bug out when the server-value of the capability is nil.
gnus-html.el (gnus-html-wash-images): Rescale image from cid too.
This commit is contained in:
parent
562f5ce55c
commit
6f7e2ffd5e
3 changed files with 41 additions and 25 deletions
|
|
@ -191,17 +191,16 @@ CHARS is a regexp-like character alternative (e.g., \"[)$]\")."
|
|||
;; URLs with cid: have their content stashed in other
|
||||
;; parts of the MIME structure, so just insert them
|
||||
;; immediately.
|
||||
(let ((handle (mm-get-content-id
|
||||
(setq url (match-string 1 url))))
|
||||
image)
|
||||
(when handle
|
||||
(mm-with-part handle
|
||||
(setq image (gnus-create-image (buffer-string)
|
||||
nil t))))
|
||||
(let* ((handle (mm-get-content-id
|
||||
(setq url (match-string 1 url))))
|
||||
(image (when handle
|
||||
(gnus-create-image (mm-with-part handle (buffer-string))
|
||||
nil t))))
|
||||
(when image
|
||||
(let ((string (buffer-substring start end)))
|
||||
(delete-region start end)
|
||||
(gnus-put-image image (gnus-string-or string "*") 'cid)
|
||||
(gnus-put-image (gnus-rescale-image image (gnus-html-maximum-image-size))
|
||||
(gnus-string-or string "*") 'cid)
|
||||
(gnus-add-image 'cid image))))
|
||||
;; Normal, external URL.
|
||||
(let ((alt-text (when (string-match "\\(alt\\|title\\)=\"\\([^\"]+\\)"
|
||||
|
|
@ -398,7 +397,22 @@ Return a string with image data."
|
|||
(search-forward "\r\n\r\n" nil t))
|
||||
(buffer-substring (point) (point-max)))))
|
||||
|
||||
(defun gnus-html-maximum-image-size ()
|
||||
"Return the maximum size of an image according to `gnus-max-image-proportion'."
|
||||
(let ((edges (gnus-window-inside-pixel-edges
|
||||
(get-buffer-window (current-buffer)))))
|
||||
;; (width . height)
|
||||
(cons
|
||||
;; Aimed width
|
||||
(truncate
|
||||
(* gnus-max-image-proportion
|
||||
(- (nth 2 edges) (nth 0 edges))))
|
||||
;; Aimed height
|
||||
(truncate (* gnus-max-image-proportion
|
||||
(- (nth 3 edges) (nth 1 edges)))))))
|
||||
|
||||
(defun gnus-html-put-image (data url &optional alt-text)
|
||||
"Put an image with DATA from URL and optional ALT-TEXT."
|
||||
(when (gnus-graphic-display-p)
|
||||
(let* ((start (text-property-any (point-min) (point-max)
|
||||
'gnus-image-url url))
|
||||
|
|
@ -434,19 +448,7 @@ Return a string with image data."
|
|||
(= (car size) 30)
|
||||
(= (cdr size) 30))))
|
||||
;; Good image, add it!
|
||||
(let ((image (gnus-rescale-image
|
||||
image
|
||||
(let ((edges (gnus-window-inside-pixel-edges
|
||||
(get-buffer-window (current-buffer)))))
|
||||
;; (width . height)
|
||||
(cons
|
||||
;; Aimed width
|
||||
(truncate
|
||||
(* gnus-max-image-proportion
|
||||
(- (nth 2 edges) (nth 0 edges))))
|
||||
;; Aimed height
|
||||
(truncate (* gnus-max-image-proportion
|
||||
(- (nth 3 edges) (nth 1 edges)))))))))
|
||||
(let ((image (gnus-rescale-image image (gnus-html-maximum-image-size))))
|
||||
(delete-region start end)
|
||||
(gnus-put-image image alt-text 'external)
|
||||
(gnus-put-text-property start (point) 'help-echo alt-text)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue