From 279d0ae06b909d067ce7f4a756a7872087adf667 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Sat, 2 Oct 2010 18:32:32 +0200 Subject: [PATCH] Add newlines between pictures and text. --- lisp/ChangeLog | 1 + lisp/shr.el | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d8381e8a3..b860885ed 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,7 @@ * shr.el (shr-insert-document): Autoload. (shr-img): Be silent. + (shr-insert): Add a newline after every picture before text. * mm-decode.el (mm-text-html-renderer): Default to shr.el rendering, if possible. diff --git a/lisp/shr.el b/lisp/shr.el index f7f9205e0..f1dbfefee 100644 --- a/lisp/shr.el +++ b/lisp/shr.el @@ -51,6 +51,7 @@ fit these criteria." :type 'regexp) (defvar shr-folding-mode nil) +(defvar shr-state nil) (defvar shr-width 70) @@ -68,7 +69,8 @@ fit these criteria." ;;;###autoload (defun shr-insert-document (dom) - (shr-descend (shr-transform-dom dom))) + (let ((shr-state nil)) + (shr-descend (shr-transform-dom dom)))) (defun shr-descend (dom) (let ((function (intern (concat "shr-" (symbol-name (car dom))) obarray))) @@ -134,14 +136,15 @@ fit these criteria." ((and shr-blocked-images (string-match shr-blocked-images url)) (insert alt)) - ((url-is-cached url) + ((url-is-cached (browse-url-url-encode-chars url "[&)$ ]")) (shr-put-image (shr-get-image-data url) (point) alt)) (t (insert alt) (url-retrieve url 'shr-image-fetched (list (current-buffer) start (point-marker)) t))) - (insert " ")))) + (insert " ") + (setq shr-state 'image)))) (defun shr-image-fetched (status buffer start end) (when (and (buffer-name buffer) @@ -204,6 +207,9 @@ fit these criteria." (insert "\n"))) (defun shr-insert (text) + (when (eq shr-state 'image) + (insert "\n") + (setq shr-state nil)) (cond ((eq shr-folding-mode 'none) (insert t)) -- 2.34.1