Commit cb51ba08 authored by Lars Ingebrigtsen's avatar Lars Ingebrigtsen Committed by Katsumi Yamaoka

gnus-html.el (gnus-html-image-fetched): Don't kill the temporary buffer after...

gnus-html.el (gnus-html-image-fetched): Don't kill the temporary buffer after being called.  It's apparently being killed by url.el, and killing it made point move to end-of-buffer in a random buffer.
shr.el (shr-image-fetched): Ditto.
shr.el (shr-image-fetched): Avoid having point move in the article buffer.
gnus-html.el (gnus-html-image-fetched): Kill the buffer anyway, and fix the bug in url-http.el instead.
shr.el (shr-image-fetched): Ditto.
gravatar.el (gravatar-retrieve): Be silent when retrieving.
gnus-gravatar.el (gnus-gravatar-insert): Don't move point around in the article buffer.
 (gnus-gravatar-insert): Use blank space from the current buffer to avoid breaking text properties.  This makes X-Sent updating work again.
gnus-art.el (gnus-article-read-summary-keys): Don't call disabled commands.
parent b711096a
2011-01-24 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-art.el (gnus-article-read-summary-keys): Don't call disabled
commands.
* gnus-gravatar.el (gnus-gravatar-insert): Don't move point around
in the article buffer.
(gnus-gravatar-insert): Use blank space from the current buffer to
avoid breaking text properties. This makes X-Sent updating work again.
* gravatar.el (gravatar-retrieve): Be silent when retrieving.
2011-01-23 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-html.el (gnus-html-image-fetched): Kill the buffer anyway, and
fix the bug in url-http.el instead.
* shr.el (shr-image-fetched): Ditto.
* shr.el (shr-image-fetched): Avoid having point move in the article
buffer.
* gnus-html.el (gnus-html-image-fetched): Don't kill the temporary
buffer after being called. It's apparently being killed by url.el, and
killing it made point move to end-of-buffer in a random buffer.
* shr.el (shr-image-fetched): Ditto.
2011-01-23 Julien Danjou <julien@danjou.info>
* mm-decode.el (mm-inline-media-tests): Change text/org to text/x-org.
......
......@@ -6432,6 +6432,8 @@ not have a face in `gnus-article-boring-faces'."
(ding)
(unless (member keys nosave-in-article)
(set-buffer gnus-article-current-summary))
(when (get func 'disabled)
(error "Function %s disabled" func))
(call-interactively func)
(setq new-sum-point (point)))
(when (member keys nosave-but-article)
......@@ -6460,8 +6462,11 @@ not have a face in `gnus-article-boring-faces'."
(select-window win))))
(setq in-buffer (current-buffer))
;; We disable the pick minor mode commands.
(if (and (setq func (let (gnus-pick-mode)
(key-binding keys t)))
(setq func (let (gnus-pick-mode)
(key-binding keys t)))
(when (get func 'disabled)
(error "Function %s disabled" func))
(if (and func
(functionp func)
(condition-case code
(progn
......
......@@ -80,37 +80,44 @@ If nil, default to `gravatar-size'."
"Insert GRAVATAR for ADDRESS in HEADER in current article buffer.
Set image category to CATEGORY."
(unless (eq gravatar 'error)
(gnus-with-article-headers
;; The buffer can be gone at this time
(when (buffer-live-p (current-buffer))
(gnus-article-goto-header header)
(mail-header-narrow-to-field)
(let ((real-name (car address))
(mail-address (cadr address)))
(when (if real-name
(re-search-forward
(concat (gnus-replace-in-string
(regexp-quote real-name) "[\t ]+" "[\t\n ]+")
"\\|"
(regexp-quote mail-address))
nil t)
(search-forward mail-address nil t))
(goto-char (1- (match-beginning 0)))
;; If we're on the " quoting the name, go backward
(when (looking-at "[\"<]")
(goto-char (1- (point))))
;; Do not do anything if there's already a gravatar. This can
;; happens if the buffer has been regenerated in the mean time, for
;; example we were fetching someaddress, and then we change to
;; another mail with the same someaddress.
(unless (memq 'gnus-gravatar (text-properties-at (point)))
(let ((point (point)))
(unless (featurep 'xemacs)
(setq gravatar (append gravatar gnus-gravatar-properties)))
(gnus-put-image gravatar nil category)
(put-text-property point (point) 'gnus-gravatar address)
(gnus-add-wash-type category)
(gnus-add-image category gravatar)))))))))
(with-current-buffer gnus-article-buffer
(let ((mark (point-marker))
(inhibit-read-only t)
(inhibit-point-motion-hooks t)
(case-fold-search t))
(save-restriction
(article-narrow-to-head)
;; The buffer can be gone at this time
(when (buffer-live-p (current-buffer))
(gnus-article-goto-header header)
(mail-header-narrow-to-field)
(let ((real-name (car address))
(mail-address (cadr address)))
(when (if real-name
(re-search-forward
(concat (gnus-replace-in-string
(regexp-quote real-name) "[\t ]+" "[\t\n ]+")
"\\|"
(regexp-quote mail-address))
nil t)
(search-forward mail-address nil t))
(goto-char (1- (match-beginning 0)))
;; If we're on the " quoting the name, go backward
(when (looking-at "[\"<]")
(goto-char (1- (point))))
;; Do not do anything if there's already a gravatar. This can
;; happens if the buffer has been regenerated in the mean time, for
;; example we were fetching someaddress, and then we change to
;; another mail with the same someaddress.
(unless (memq 'gnus-gravatar (text-properties-at (point)))
(let ((point (point)))
(unless (featurep 'xemacs)
(setq gravatar (append gravatar gnus-gravatar-properties)))
(gnus-put-image gravatar (buffer-substring (point) (1+ point)) category)
(put-text-property point (point) 'gnus-gravatar address)
(gnus-add-wash-type category)
(gnus-add-image category gravatar)))))))
(goto-char (marker-position mark))))))
;;;###autoload
(defun gnus-treat-from-gravatar (&optional force)
......
......@@ -108,9 +108,15 @@ If no image available, return 'error."
You can provide a list of argument to pass to CB in CBARGS."
(let ((url (gravatar-build-url mail-address)))
(if (gravatar-cache-expired url)
(url-retrieve url
'gravatar-retrieved
(list cb (when cbargs cbargs)))
(let ((args (list url
'gravatar-retrieved
(list cb (when cbargs cbargs)))))
(when (> (length (if (featurep 'xemacs)
(cdr (split-string (function-arglist 'url-retrieve)))
(help-function-arglist 'url-retrieve)))
4)
(setq args (nconc args (list t))))
(apply #'url-retrieve args))
(apply cb
(with-temp-buffer
(mm-disable-multibyte)
......
......@@ -462,11 +462,12 @@ redirects somewhere else."
(search-forward "\r\n\r\n" nil t))
(let ((data (buffer-substring (point) (point-max))))
(with-current-buffer buffer
(let ((alt (buffer-substring start end))
(inhibit-read-only t))
(delete-region start end)
(goto-char start)
(shr-put-image data alt))))))
(save-excursion
(let ((alt (buffer-substring start end))
(inhibit-read-only t))
(delete-region start end)
(goto-char start)
(shr-put-image data alt)))))))
(kill-buffer (current-buffer)))
(defun shr-put-image (data alt)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment