From: Lars Magne Ingebrigtsen Date: Sun, 26 Jun 2011 22:21:48 +0000 (+0000) Subject: Merge changes made in Gnus trunk. X-Git-Tag: emacs-pretest-24.0.90~104^2~152^2~381 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c146ad850532fa48b932be9c025f8b1b68f116a9;p=emacs.git Merge changes made in Gnus trunk. gnus-art.el (gnus-article-stop-animations): New function to stop any animations going on at article exit time. gnus-registry.el (gnus-registry-user-format-function-M): Reinstate, since removing it breaks people upgrading. shr.el (shr-put-image): Use the new interface for animating images. (shr-put-image): Animate for 60 seconds. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 03420c87a7b..839bd519d49 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,7 +1,13 @@ 2011-06-26 Lars Magne Ingebrigtsen - * dgnushack.el: Bind `gnutls-available-p' to `ignore' on XEmacs to - avoid compiler warnings. + * gnus-art.el (gnus-article-stop-animations): New function to stop any + animations going on at article exit time. + + * gnus-registry.el (gnus-registry-user-format-function-M): Reinstate, + since removing it breaks people upgrading. + + * shr.el (shr-put-image): Use the new interface for animating images. + (shr-put-image): Animate for 60 seconds. * auth-source.el (with-auth-source-epa-overrides): Fix compilation error with `find-file-hooks' on Emacs 22. @@ -554,12 +560,6 @@ * Makefile.in (fail-on-warning): New rule to compile with warnings as errors. - * dgnushack.el (dgnushack-compile-error-on-warn): New function to call - dgnushack-compile with error-on-warn enabled, and to signal an error if - clean compilation failed. - (dgnushack-compile): New argument 'error-on-warn'. If non-nil, compile - with `byte-compile-error-on-warn'. Return nil if errors occured. - 2011-04-06 Teodor Zlatanov * gnus-registry.el: Don't use ERT if it's not available. Load it diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 3ebb5cc719b..6c3ad01eabf 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -4509,6 +4509,7 @@ commands: t))) (with-current-buffer name (set (make-local-variable 'gnus-article-edit-mode) nil) + (gnus-article-stop-animations) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handles nil)) @@ -4533,6 +4534,12 @@ commands: (gnus-start-date-timer gnus-article-update-date-headers)) (current-buffer))))) +(defun gnus-article-stop-animations () + (dolist (timer (and (boundp 'timer-list) + timer-list)) + (when (eq (aref timer 5) 'image-animate-timeout) + (cancel-timer timer)))) + ;; Set article window start at LINE, where LINE is the number of lines ;; from the head of the article. (defun gnus-article-set-window-start (&optional line) diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index a44986e2499..f8ff52f128f 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -914,6 +914,9 @@ Uses `gnus-registry-marks' to find what shortcuts to install." (make-obsolete 'gnus-registry-user-format-function-M 'gnus-registry-article-marks-to-chars "24.1") ? +(defalias 'gnus-registry-user-format-function-M + 'gnus-registry-article-marks-to-chars) + ;; use like this: ;; (defalias 'gnus-user-format-function-M 'gnus-registry-article-marks-to-chars) (defun gnus-registry-article-marks-to-chars (headers) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index f974d386acb..4c059e9332a 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -7298,6 +7298,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (run-hooks 'gnus-summary-prepare-exit-hook) (when (gnus-buffer-live-p gnus-article-buffer) (with-current-buffer gnus-article-buffer + (gnus-article-stop-animations) (mm-destroy-parts gnus-article-mime-handles) ;; Set it to nil for safety reason. (setq gnus-article-mime-handle-alist nil) @@ -9579,6 +9580,7 @@ C-u g', show the raw article." ;; Destroy any MIME parts. (when (gnus-buffer-live-p gnus-article-buffer) (with-current-buffer gnus-article-buffer + (gnus-article-stop-animations) (mm-destroy-parts gnus-article-mime-handles) ;; Set it to nil for safety reason. (setq gnus-article-mime-handle-alist nil) diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index 67effc07ee2..f8a85579b4f 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el @@ -526,7 +526,9 @@ the URL of the image to the kill buffer instead." (when (and (> (current-column) 0) (> (car (image-size image t)) 400)) (insert "\n")) - (insert-image image (or alt "*"))) + (insert-image image (or alt "*")) + (when (image-animated-p image) + (image-animate image nil 60))) image) (insert alt))) @@ -557,10 +559,6 @@ the URL of the image to the kill buffer instead." :width window-width :ascent 100) image))) - (when (and (fboundp 'create-animated-image) - (eq (image-type data nil t) 'gif)) - (setq image (create-animated-image data 'gif t - :ascent 100))) image))) ;; url-cache-extract autoloads url-cache.