diff options
Diffstat (limited to 'lisp/gnus')
-rw-r--r-- | lisp/gnus/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/gnus/gnus-art.el | 2 | ||||
-rw-r--r-- | lisp/gnus/shr.el | 22 |
3 files changed, 21 insertions, 10 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 9c94a2ba2fa..bade634abd6 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,7 +1,14 @@ 2011-02-01 Lars Ingebrigtsen <larsi@gnus.org> + * shr.el (shr-render-td): Only do colours at the final rendering. + Should be slightly faster. + (shr-insert-table): Fix up TD background colours when doing the + vertical padding. + * gnus-art.el (article-date-ut): Protect against articles with no Date header. + (article-update-date-lapsed): Don't use current-column to find the + horizontal position. It's fragile in the presence of \003 characters. * gnus-start.el (gnus-read-active-file-1): Remove dead parameter infos. diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 07eabd98a6d..af47daf970b 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -3645,7 +3645,7 @@ function and want to see what the date was before converting." (set-buffer (window-buffer w)) (when (eq major-mode 'gnus-article-mode) (let ((old-line (count-lines (point-min) (point))) - (old-column (current-column))) + (old-column (- (point) (line-beginning-position)))) (goto-char (point-min)) (while (re-search-forward "^Date:" nil t) (let ((type (get-text-property (match-beginning 0) 'gnus-date-type))) diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index f3c75ccd6a3..10e04a87d93 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el @@ -1055,8 +1055,11 @@ ones, in case fg and bg are nil." ;; possibly. (dotimes (i (- height (length lines))) (end-of-line) - (insert (make-string (string-width (car lines)) ? ) - shr-table-vertical-line) + (let ((start (point))) + (insert (make-string (string-width (car lines)) ? ) + shr-table-vertical-line) + (when (nth 4 column) + (shr-put-color start (1- (point)) :background (nth 4 column)))) (forward-line 1))))) (shr-insert-table-ruler widths))) @@ -1173,17 +1176,18 @@ ones, in case fg and bg are nil." (end-of-line) (when (> (- width (current-column)) 0) (insert (make-string (- width (current-column)) ? ))) - (forward-line 1)))) - (when style - (shr-colorize-region - (point-min) (point-max) - (cdr (assq 'color shr-stylesheet)) - (cdr (assq 'background-color shr-stylesheet)))) + (forward-line 1))) + (when style + (shr-colorize-region + (point-min) (point-max) + (cdr (assq 'color shr-stylesheet)) + (cdr (assq 'background-color shr-stylesheet))))) (if fill (list max (count-lines (point-min) (point-max)) (split-string (buffer-string) "\n") - (shr-collect-overlays)) + (shr-collect-overlays) + (cdr (assq 'background-color shr-stylesheet))) (list max (shr-natural-width))))))) |