(article-transform-date): Fix infinite recursion.
[gnus] / lisp / shr.el
index aa05a06..f3c75cc 100644 (file)
@@ -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)