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
|
@ -1,3 +1,12 @@
|
|||
2010-10-05 Julien Danjou <julien@danjou.info>
|
||||
|
||||
* gnus-html.el (gnus-html-wash-images): Rescale image from cid too.
|
||||
(gnus-html-maximum-image-size): Add this function.
|
||||
(gnus-html-put-image): Use gnus-html-maximum-image-size.
|
||||
|
||||
* sieve-manage.el (sieve-manage-capability): Do not bug out when the
|
||||
server-value of the capability is nil.
|
||||
|
||||
2010-10-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* shr.el (shr-tag-em): Add <EM> tag.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -553,13 +553,18 @@ password is remembered in the buffer."
|
|||
(setq sieve-manage-state 'auth)))))
|
||||
|
||||
(defun sieve-manage-capability (&optional name value buffer)
|
||||
"Check if capability NAME of server BUFFER match VALUE.
|
||||
If it does, return the server value of NAME. If not returns nil.
|
||||
If VALUE is nil, do not check VALUE and return server value.
|
||||
If NAME is nil, return the full server list of capabilities."
|
||||
(with-current-buffer (or buffer (current-buffer))
|
||||
(if (null name)
|
||||
sieve-manage-capability
|
||||
(if (null value)
|
||||
(nth 1 (assoc name sieve-manage-capability))
|
||||
(when (string-match value (nth 1 (assoc name sieve-manage-capability)))
|
||||
(nth 1 (assoc name sieve-manage-capability)))))))
|
||||
(let ((server-value (cadr (assoc name sieve-manage-capability))))
|
||||
(when (or (null value)
|
||||
(and server-value
|
||||
(string-match value server-value)))
|
||||
server-value)))))
|
||||
|
||||
(defun sieve-manage-listscripts (&optional buffer)
|
||||
(with-current-buffer (or buffer (current-buffer))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue