diff options
author | Gnus developers <ding@gnus.org> | 2010-12-06 22:16:10 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2010-12-06 22:16:10 +0000 |
commit | b31b26b48958fed0162d58c76dc55b2aeca22b66 (patch) | |
tree | 4221b7cc8a36f0be7397ac3866f3241b5256ccf6 /lisp/gnus | |
parent | 67027b49796eec01dccf1e14d7b0497b2d484328 (diff) | |
download | emacs-b31b26b48958fed0162d58c76dc55b2aeca22b66.tar.gz |
Merge changes made in Gnus trunk.
shr.el (shr-render-td): Render td content with shr-descend, so style will be applied to <td> too.
(shr-colorize-region): Colorize region even if we only have a background.
(shr-tag-body): Fix color and background color inheritance.
(shr-tag-body): Do not recolorize after shr-generic.
(shr-tag-font): Let shr-generic colorize via inheritance.
shr.el (shr-descend): Only colorise something if we have a node that sets colors.
gnus-int.el (gnus-request-thread): Rework to take a header instead of a Message-ID to avoid having nnimap depend on gnus-sum.
shr.el (shr-tag-font): Colorize the region.
(shr-tag-body): Ditto.
(shr-tag-font): Actually let the styles be inherited instead of overwriting them.
(shr-tag-font): Get the background color right.
(shr-tag-style): Ignore all <style> tags for the moment.
Diffstat (limited to 'lisp/gnus')
-rw-r--r-- | lisp/gnus/ChangeLog | 24 | ||||
-rw-r--r-- | lisp/gnus/gnus-int.el | 7 | ||||
-rw-r--r-- | lisp/gnus/gnus-sum.el | 2 | ||||
-rw-r--r-- | lisp/gnus/nnimap.el | 10 | ||||
-rw-r--r-- | lisp/gnus/shr.el | 41 |
5 files changed, 56 insertions, 28 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f36598780b4..ef4a7637b6d 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,27 @@ +2010-12-06 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * shr.el (shr-tag-font): Colorize the region. + (shr-tag-body): Ditto. + (shr-tag-font): Actually let the styles be inherited instead of + overwriting them. + (shr-tag-font): Get the background color right. + (shr-tag-style): Ignore all <style> tags for the moment. + + * gnus-int.el (gnus-request-thread): Rework to take a header instead of + a Message-ID to avoid having nnimap depend on gnus-sum. + + * shr.el (shr-descend): Only colorize something if we have a node that + sets colors. + +2010-12-06 Julien Danjou <julien@danjou.info> + + * shr.el (shr-render-td): Render td content with shr-descend, so style + will be applied to <td> too. + (shr-colorize-region): Colorize region even if we only have a background. + (shr-tag-body): Fix color and background color inheritance. + Do not recolorize after shr-generic. + (shr-tag-font): Let shr-generic colorize via inheritance. + 2010-12-06 Katsumi Yamaoka <yamaoka@jpl.org> * shr.el (shr-find-fill-point): Don't regard apostrophe as kinsoku-bol. diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index 767ac2e9fc5..43284540125 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el @@ -503,12 +503,11 @@ If BUFFER, insert the article in that group." article (gnus-group-real-name group) (nth 1 gnus-command-method) buffer))) -(defun gnus-request-thread (id) - "Request the headers in the thread containing the article -specified by Message-ID id." +(defun gnus-request-thread (header) + "Request the headers in the thread containing the article specified by HEADER." (let ((gnus-command-method (gnus-find-method-for-group gnus-newsgroup-name))) (funcall (gnus-get-function gnus-command-method 'request-thread) - id))) + header))) (defun gnus-warp-to-article () "Warps from an article in a virtual group to the article in its diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 2bb39af3fb8..1bb4b4a6895 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -8880,7 +8880,7 @@ variable." 'list gnus-newsgroup-headers (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name) - (gnus-request-thread id) + (gnus-request-thread (gnus-summary-article-header)) (let* ((last (if (numberp limit) (min (+ (mail-header-number (gnus-summary-article-header)) diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 4b4793dcfee..c7d61399dec 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -47,9 +47,6 @@ (require 'nnmail) (require 'proto-stream) -(eval-when-compile - (require 'gnus-sum)) - (autoload 'auth-source-forget-user-or-password "auth-source") (autoload 'auth-source-user-or-password "auth-source") @@ -1426,9 +1423,10 @@ textual parts.") (setq nnimap-status-string "Read-only server") nil) -(deffoo nnimap-request-thread (id) - (let* ((refs (split-string - (or (mail-header-references (gnus-summary-article-header)) +(deffoo nnimap-request-thread (header) + (let* ((id (mail-header-id header)) + (refs (split-string + (or (mail-header-references header) ""))) (cmd (let ((value (format diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index 4c4f47e0225..fafe3d94dea 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el @@ -194,19 +194,19 @@ redirects somewhere else." (style (cdr (assq :style (cdr dom)))) (shr-stylesheet shr-stylesheet) (start (point))) - (when (and style - (string-match "color" style)) - (setq shr-stylesheet (nconc (shr-parse-style style) - shr-stylesheet))) + (when style + (if (string-match "color" style) + (setq shr-stylesheet (nconc (shr-parse-style style) + shr-stylesheet)) + (setq style nil))) (if (fboundp function) (funcall function (cdr dom)) (shr-generic (cdr dom))) - (let ((color (cdr (assq 'color shr-stylesheet))) - (background (cdr (assq 'background-color - shr-stylesheet)))) - (when (and shr-stylesheet - (or color background)) - (shr-colorize-region start (point) color background))))) + ;; If style is set, then this node has set the color. + (when style + (shr-colorize-region start (point) + (cdr (assq 'color shr-stylesheet)) + (cdr (assq 'background-color shr-stylesheet)))))) (defun shr-generic (cont) (dolist (sub cont) @@ -586,7 +586,7 @@ ones, in case fg and bg are nil." (shr-color-visible bg fg))))))) (defun shr-colorize-region (start end fg &optional bg) - (when fg + (when (or fg bg) (let ((new-colors (shr-color-check fg bg))) (when new-colors (shr-put-color start end :foreground (cadr new-colors)) @@ -633,11 +633,14 @@ ones, in case fg and bg are nil." (let* ((start (point)) (fgcolor (cdr (assq :fgcolor cont))) (bgcolor (cdr (assq :bgcolor cont))) - (shr-stylesheet (list (cons :color fgcolor) - (cons :background-color bgcolor)))) + (shr-stylesheet (list (cons 'color fgcolor) + (cons 'background-color bgcolor)))) (shr-generic cont) (shr-colorize-region start (point) fgcolor bgcolor))) +(defun shr-tag-style (cont) + ) + (defun shr-tag-p (cont) (shr-ensure-paragraph) (shr-indent) @@ -837,10 +840,14 @@ ones, in case fg and bg are nil." (shr-heading cont 'bold 'underline)) (defun shr-tag-font (cont) - (let ((start (point)) - (color (cdr (assq :color cont)))) + (let* ((start (point)) + (color (cdr (assq :color cont))) + (shr-stylesheet (nconc (list (cons 'color color)) + shr-stylesheet))) (shr-generic cont) - (shr-colorize-region start (point) color))) + (when color + (shr-colorize-region start (point) color + (cdr (assq 'background-color shr-stylesheet)))))) ;;; Table rendering algorithm. @@ -1040,7 +1047,7 @@ ones, in case fg and bg are nil." (insert cache) (let ((shr-width width) (shr-indentation 0)) - (shr-generic cont)) + (shr-descend (cons 'td cont))) (delete-region (point) (+ (point) |