X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fshr.el;h=f3c75ccd6a31c5db06e40a4c4bef2092c74accb4;hb=c85ff27626350a909ee39474fecac012fec8cd26;hp=aa05a061868bac82b6fc69bb02ba8210e3ed1d8f;hpb=4c2a7a1c25d5b10316f35f28c972ef3e70225f25;p=gnus diff --git a/lisp/shr.el b/lisp/shr.el index aa05a0618..f3c75ccd6 100644 --- a/lisp/shr.el +++ b/lisp/shr.el @@ -82,30 +82,6 @@ used." (const :tag "Use the width of the window" nil)) :group 'shr) -(defface shr-tag-h1 '((t (:bold t :height 2.2))) - "Face used for H1 tags." - :group 'shr) - -(defface shr-tag-h2 '((t (:bold t :height 2.0))) - "Face used for H2 tags." - :group 'shr) - -(defface shr-tag-h3 '((t (:bold t :height 1.8))) - "Face used for H3 tags." - :group 'shr) - -(defface shr-tag-h4 '((t (:bold t :height 1.6))) - "Face used for H4 tags." - :group 'shr) - -(defface shr-tag-h5 '((t (:bold t :height 1.4))) - "Face used for H5 tags." - :group 'shr) - -(defface shr-tag-h6 '((t (:bold t :height 1.2))) - "Face used for H6 tags." - :group 'shr) - (defvar shr-content-function nil "If bound, this should be a function that will return the content. This is used for cid: URLs, and the function is called with the @@ -636,14 +612,16 @@ ones, in case fg and bg are nil." (save-excursion (goto-char start) (while (< (point) end) - (when (bolp) + (when (and (bolp) + (not (eq type :background))) (skip-chars-forward " ")) (when (> (line-end-position) (point)) (shr-put-color-1 (point) (min (line-end-position) end) type color)) (if (< (line-end-position) end) (forward-line 1) (goto-char end))) - (when (eq type :background) + (when (and (eq type :background) + (= shr-table-depth 0)) (shr-expand-newlines start end color)))) (defun shr-expand-newlines (start end color) @@ -663,23 +641,24 @@ ones, in case fg and bg are nil." (goto-char (point-min)) (while (not (eobp)) (end-of-line) - (when (and (< (setq current-column (current-column)) width) - (< (setq current-column (shr-previous-newline-padding-width - current-column)) + (when (and (< (setq column (current-column)) width) + (< (setq column (shr-previous-newline-padding-width column)) width)) (let ((overlay (make-overlay (point) (1+ (point))))) (overlay-put overlay 'before-string (concat (mapconcat (lambda (overlay) - (let ((string (getf (overlay-properties overlay) 'before-string))) + (let ((string (plist-get + (overlay-properties overlay) + 'before-string))) (if (not string) "" (overlay-put overlay 'before-string "") string))) (overlays-at (point)) "") - (propertize (make-string (- width current-column) ? ) + (propertize (make-string (- width column) ? ) 'face (list :background color)))))) (forward-line 1))))) @@ -691,7 +670,8 @@ ones, in case fg and bg are nil." (dolist (overlay overlays) (setq previous-width (+ previous-width - (length (getf (overlay-properties overlay) 'before-string))))) + (length (plist-get (overlay-properties overlay) + 'before-string))))) (+ width previous-width)))) (defun shr-put-color-1 (start end type color) @@ -906,22 +886,22 @@ ones, in case fg and bg are nil." (shr-generic cont)) (defun shr-tag-h1 (cont) - (shr-heading cont 'shr-tag-h1)) + (shr-heading cont 'bold 'underline)) (defun shr-tag-h2 (cont) - (shr-heading cont 'shr-tag-h2)) + (shr-heading cont 'bold)) (defun shr-tag-h3 (cont) - (shr-heading cont 'shr-tag-h3)) + (shr-heading cont 'italic)) (defun shr-tag-h4 (cont) - (shr-heading cont 'shr-tag-h4)) + (shr-heading cont)) (defun shr-tag-h5 (cont) - (shr-heading cont 'shr-tag-h5)) + (shr-heading cont)) (defun shr-tag-h6 (cont) - (shr-heading cont 'shr-tag-h6)) + (shr-heading cont)) (defun shr-tag-hr (cont) (shr-ensure-newline)