X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fshr.el;h=bfcb91e08c58e1973530dda5fcb29e71d4c38b39;hb=4fa25440c535e7696a12461aaeee85cb8044ce8a;hp=e5294ed5e825164a39c107f550a824b7b87949e3;hpb=e44f0590c1c1663e783b0f7b9db81263b31495cb;p=gnus diff --git a/lisp/shr.el b/lisp/shr.el index e5294ed5e..bfcb91e08 100644 --- a/lisp/shr.el +++ b/lisp/shr.el @@ -92,15 +92,18 @@ fit these criteria." (defun shr-tag-p (cont) (shr-ensure-paragraph) (shr-generic cont) - (unless (bobp) - (insert "\n"))) + (shr-ensure-paragraph)) (defun shr-ensure-paragraph () (unless (bobp) (if (bolp) (unless (eql (char-after (- (point) 2)) ?\n) (insert "\n")) - (insert "\n\n")))) + (if (save-excursion + (beginning-of-line) + (looking-at " *$")) + (insert "\n") + (insert "\n\n"))))) (defun shr-tag-b (cont) (shr-fontize-cont cont 'bold)) @@ -111,8 +114,8 @@ fit these criteria." (defun shr-tag-u (cont) (shr-fontize-cont cont 'underline)) -(defun shr-s (cont) - (shr-fontize-cont cont 'strikethru)) +(defun shr-tag-s (cont) + (shr-fontize-cont cont 'strike-through)) (defun shr-fontize-cont (cont &rest types) (let (shr-start) @@ -139,7 +142,7 @@ fit these criteria." (browse-url (widget-get widget :url))) (defun shr-tag-img (cont) - (when (and (plusp (current-column)) + (when (and (> (current-column) 0) (not (eq shr-state 'image))) (insert "\n")) (let ((start (point-marker))) @@ -234,12 +237,12 @@ fit these criteria." (t (let ((first t) column) - (when (and (string-match "^[ \n]" text) + (when (and (string-match "\\`[ \t\n]" text) (not (bolp))) (insert " ")) (dolist (elem (split-string text)) (setq column (current-column)) - (when (plusp column) + (when (> column 0) (cond ((> (+ column (length elem) 1) shr-width) (insert "\n")) @@ -247,7 +250,7 @@ fit these criteria." (insert " ")))) (setq first nil) (when (and (bolp) - (plusp shr-indentation)) + (> shr-indentation 0)) (insert (make-string shr-indentation ? ))) ;; The shr-start is a special variable that is used to pass ;; upwards the first point in the buffer where the text really @@ -255,7 +258,7 @@ fit these criteria." (unless shr-start (setq shr-start (point))) (insert elem)) - (when (and (string-match "[ \n]$" text) + (when (and (string-match "[ \t\n]\\'" text) (not (bolp))) (insert " ")))))) @@ -286,7 +289,7 @@ Return a string with image data." (progn (insert (format "%d " shr-list-mode)) (setq shr-list-mode (1+ shr-list-mode))) - (insert "*")) + (insert "* ")) (shr-generic cont)) (defun shr-tag-br (cont) @@ -308,6 +311,9 @@ Return a string with image data." (defun shr-tag-h5 (cont) (shr-heading cont)) +(defun shr-tag-h6 (cont) + (shr-heading cont)) + (defun shr-heading (cont &rest types) (shr-ensure-paragraph) (apply #'shr-fontize-cont cont types)